READ THE RULES: Click here

Follow us on Facebook: :)

Martian Gothic: Music and Voice Lines (ATF Files)

Get help on any and all audio formats, or chip in and help others!
Post Reply
Posts: 2
Joined: Sat Sep 26, 2015 2:47 pm

Martian Gothic: Music and Voice Lines (ATF Files)

Post by BornVillain » Wed Apr 17, 2019 3:43 am

Hello everyone! :)

I have a bit of a troubling challenge, I've been playing my favorite PC game "Martian Gothic: Unification" recently and I had a project in mind to compile all the audio logs in a series of events, as well as the text documents.

When I looked in the game directory, there was these .ATF files. Most likely archives by the size of them, and they're all supposedly in english. I am not entirely sure what the suffixes at the end are, my first guess was per actor but there's more voice actors on the roster than that.

Has anyone had any experience with this file format? I'll be willing to post a sample of the file if requested. Below is the screenshot of the sound file directory structure.

Posts: 106
Joined: Sat Apr 16, 2016 3:15 am
Has thanked: 5 times
Been thanked: 22 times

Re: Martian Gothic: Music and Voice Lines (ATF Files)

Post by Pingu » Fri Apr 19, 2019 1:46 am

Definitely please upload some samples!

User avatar
Posts: 100
Joined: Mon May 06, 2019 6:07 pm
Has thanked: 1 time
Been thanked: 33 times

Re: Martian Gothic: Music and Voice Lines (ATF Files)

Post by DKDave » Mon May 06, 2019 7:27 pm

If you still looking for info, I looked at this one a while, so here's my information on it:

The .ath files are indexes, and the .atf files are archives that contain dialogue text and audio data, referenced from the relevant .ath file.

The files within these archives don't have filenames, but the audio is stored as .wav files, so you can extract them with any extractor, such as Dragon Unpacker.

For the .ath files:

The index contains a table of 12 bytes per entry (3 DWORDS). The number of entries is stored at offset 4 in the .ath file as a WORD value, and the actual table starts at offset 84.

The format for each entry is as follows:

DWORD - offset to text data block for this entry (a value of $FFFFFFFF seems to indicate an invalid entry ...)
DWORD - offset to audio data for this entry (WAVE file)
DWORD - size of audio data for this entry

For the .atf files:

Text entries have their own structure. Each line of text consists of 8 bytes of data followed by a null-terminated string as follows:

DWORD - not sure what it represents exactly, but a value of $FFFFFFFF means there are no more lines of text in this particular block, otherwise a text string is present.
WORD - unknown
WORD - unknown
Text - null-terminated string

The above repeats until the $FFFFFFFF identifier is reached. Each text block can have as many text entries as required.

Hope that helps. Let me know if you need any more information.

Post Reply