Wargame *.ess

Codecs, formats, encoding/decoding of game audio, video and music
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Wargame *.ess

Post by AlphaTwentyThree »

Hi! Here's an audio format I've never seen before: http://*USE_ANOTHER_FILEHOSTING*/049b7ec ... ffa/ess.7z
Any ideas? Is this some kind of headerless XWMA? What are the *.sformat files for?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Wargame *.ess

Post by aluigi »

It looks like a sequence of "chunks" or something similar.
The following script tries to dump them... I don't think it's useful but maybe you understand something from them:

Code: Select all

endian big
get DUMMY long
get DUMMY long
get DUMMY long
get DUMMY long
get CHUNKS long
math CHUNKS / 0x200
for i = 0 < CHUNKS
    get OFFSET long
    putarray 0 i OFFSET
next i
savepos BASE_OFF
math OFFSET = 0
for i = 0 < CHUNKS
    getarray NEXT_OFF 0 i
    xmath SIZE "NEXT_OFF - OFFSET"
    math OFFSET + BASE_OFF
    log "" OFFSET SIZE
    math OFFSET = NEXT_OFF
next i
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Wargame *.ess

Post by id-daemon »

Why do you think it may be XWMA?
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Wargame *.ess

Post by AlphaTwentyThree »

id-daemon2 wrote:Why do you think it may be XWMA?

The table at the stream start somewhat reminded me of a similar structure I once saw in XWMA. I could be completely off though. ;)
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Wargame *.ess

Post by AlphaTwentyThree »

aluigi wrote:It looks like a sequence of "chunks" or something similar.
The following script tries to dump them... I don't think it's useful but maybe you understand something from them:

Hm, I can't make anything of the result... :\
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Wargame *.ess

Post by id-daemon »

AlphaTwentyThree wrote:The table at the stream start somewhat reminded me of a similar structure I once saw in XWMA. I could be completely off though. ;)


Can you provide an example of such file? Because it is really strange for a sound to have a list of frames and a list of volumes in a separate file. You see, these frames are variable length, each has some data bytes plus some very small 16-bit numbers. Like 20, 5, -3,...

.sformat files seem to contain the same number of bytes as number of frames in .ess and they correspond to sound amplitude.
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Wargame *.ess

Post by AlphaTwentyThree »

Well, I found an example of a WMA file stream that only has a wave header: http://*USE_ANOTHER_FILEHOSTING*/a2b6cc8 ... nds_21.wav
See what I mean?
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Wargame *.ess

Post by id-daemon »

Yes, some table. But numbers in this one are much bigger.
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Wargame *.ess

Post by AlphaTwentyThree »

I suppose I can't really help with this problem as I'm no expert in audio formats.
Do you happen to know how to decode or play the RIFF wma? I stumble upon these from time to time and always have to file the game under "unrippable"...
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Wargame *.ess

Post by id-daemon »

I don't know.
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Wargame *.ess

Post by AlphaTwentyThree »

Luigi once mentioned FFMpeg but I honestly don't know which command line to use.
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Wargame *.ess

Post by id-daemon »

ffmpeg cannot convert it. I don't think its wma.
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Wargame *.ess

Post by AlphaTwentyThree »

id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Wargame *.ess

Post by id-daemon »

I don't think it will help us. What year is this game from?
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Wargame *.ess

Post by id-daemon »

I've made some research on this. Interesting algorithm. Anyone still need to decode this format?
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Wargame *.ess

Post by AnonBaiter »

id-daemon wrote:I've made some research on this. Interesting algorithm. Anyone still need to decode this format?

You can just go on and do it already! After all, it's been quite a while we've been waiting for new unknown formats to be discovered.
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Wargame *.ess

Post by id-daemon »

During last year I made decoders to some new codecs. Those were not only new formats based on known codecs, but different codecs.

MTA2 - new advanced type of adpcm with a big table
PS Vita - never seen before 4 predictors, and table of 128 elements in compare to standard 5 elements PSX adpcm with 2 predictors
mc3 - really old 3-bit adpcm, but sound alright anyway
codemasters BDL - precise float adpcm type with combined tables

Do you know of any other codecs that can't currently be decoded?
brendan19
Posts: 144
Joined: Fri Aug 08, 2014 11:25 am

Re: Wargame *.ess

Post by brendan19 »

If you'd like, would you be able to take a look at the newer HCA files that are being XOR'ed in sections of the header.

https://mega.nz/#!ItkjyDgb!vdkJR_Sr0vlB ... FZpCU7-Xl8
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Wargame *.ess

Post by id-daemon »

But this is not a new codec. Just some obfuscation attempt with the old ones. Maybe I can look into this later, but as for now, I understand there is nothing really new to be researched. So I can focus on these .ess files.
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Wargame *.ess

Post by id-daemon »

ESS file decoded for the very first time! :)

Its only one channel, and some glitches because of probably some errors in decoding, but they will be eliminated soon.

http://www82.zippyshare.com/v/Pk6fZ7QL/file.html