[SOLVED] DUNE .VOC Files (Lips Data)

Codecs, formats, encoding/decoding of game audio, video and music
Tgames
Posts: 81
Joined: Mon Apr 01, 2019 10:49 am

[SOLVED] DUNE .VOC Files (Lips Data)

Post by Tgames »

Hi everyone !

I just would like to know exactly what properties have this sample .VOC file (english voice) ?
It’s a speech audio for the game Dune (PC)

If i try to convert it to WAV then back to .VOC i lose the lips movement on the game.
If i reimport the .VOC untouched i keep the lips movements.

If i import another .VOC untouched i keep also the lips movements.

It’s seems this .VOC is a bit « special ».
We already have every WAV (french voices) ready to be converted to .VOC. (Thanks to the hard work of aLuigi with the Mega CD version)
It’s works perfectly on the PC game, at only one details = No lips movements anymore.

Can someone look into it ? And maybe add a modification on the script to extract the lips data and reinject it in new files ?

VOC Sample File :

https://we.tl/t-74fun7s8NY

This is the original DUNE.DAT (PC version) extractor scripts :

and the DUNE.DAT = https://we.tl/t-FTaOBaXBhS

Note: The DUNE.DAT of the PC version is completely different from the Mega CD.
This one on the PC version has a header for easy extraction.


Code: Select all

idstring \x3D\x0A

get FOLDER basename
get FSIZE asize
goto 2

do
    savepos START
   goto 16 0 SEEK_CUR
    get SIZE long
    get OFFSET long
   goto START
   getdstring NAME1 12
   goto 12 0 SEEK_CUR
   get TEST long
   
   if NAME1 == "xxxxxxxx.xxx"
       string NAME p "%08x" OFFSET
   else if TEST == 0   
      CleanExit
   else
       goto START
       get NAME string
   endif 
   
   string NAME2 p "OUTPUT%s\%s" FOLDER NAME
   
   log NAME2 OFFSET SIZE      
   math START + 25
   goto START
while OFFSET <= FSIZE | BREAK_0 == 1


Best Regards !
Last edited by Tgames on Fri Apr 12, 2019 8:12 pm, edited 1 time in total.
Tgames
Posts: 81
Joined: Mon Apr 01, 2019 10:49 am

Re: DUNE .VOC Files (Lips Data)

Post by Tgames »

I found the lips data !

It's start at adress 1A with "05" and finish when you encounter "FF".

Then after the VOC data start.

I was extract/reinjected the lips data it's works fine.
It was easy to do this myself.

So i have coded myself a tool to extract/reinject all lips data to all .VOC files ;)

Code: Select all

Unofficial DUNE CD (PC VERSION) LipsExtractor and LipsInjector V1.0
Coded by Tgames (c) 2019

LipsExtractor Instructions
--------------------------

Usage: LipsExtractor.exe path_folderVOCFiles

It will extract every LIP files (lips movements file) from each .VOC
Note: Some .VOC doesn't have any LIP file.
It will also make a log file of each actions.


LipsInjector Instructions
--------------------------

Usage: LipsInjector.exe path_folderVOCFiles path_folderLIPSFiles

It will inject every LIP files (lips movements file) into each .VOC
Note: It will only inject LIP data if a .LIP data is already present.
It also prevent the possibility to inject a LIP data twice.
All files will be sorted in corresponding folders after the injection.
It will also make a log file of each actions.


DOWNLOAD:

http://tgames.fr/tgames/PC/Tgames_LipsManagerV1.0.zip