Death Rally: file formats explanation

Hi all, Due to my last post about the advances in the graphic engine and the lighting system, I have spent some time documenting all the types of files that intervene in the game.

For each of them I have explained in a quick way how to read them. In this way I can say that, except for the texture text of the circuits TRX_SCE.BPK, the rest of the files already understand the information they have, and I also know what and how they are used in the game.

I leave the link to the project wiki where I will be adding more information:


I hope this information will help you.

9 comentarios para “Death Rally: file formats explanation”

  • Guest says:

    It’s nice you have it on Github, but it’s outdated by a few months.

  • Simone says:

    Awesome work Enrique!

  • Simone says:

    Hi Enrique!

    Let me share some considerations about your good documentation.

    – Track zones file (TRX-VAI.BPK) :

    First 778 byte (not used by the game itself but useful for view/edit) are divided in first 10 and following 768, like mas files. So, first ten bytes are RIX3 image format header. In detail, begins with signature “RIX3”, followed by two bytes indicating image width, then two bytes indicating image height, ninth byte is for palette type, usually and also in game files VGA value byte of 175 (hex AF), then a storage type byte, in gmae files linear, equivalent to value 0. As MAS files, 768 following bytes are in fact the palette data. Given this image format, you can open these files (and not only these files) with an image editor such as Grafx2 (or Deluxe Paint Pro or ColorRIX if you have DOS). The rest of the file is for zones, but 0 is for out of bounds, not for first zone, which starts from 1, while highest index value is for tiny start/finish line zone.

    – Track mask file (TRX-MAS.BPK) :

    First 10 bytes not used are RIX3 header (as above and as in IMA files). Again, opening this decoded file as RIX image is extremely useful for understanding terrain values! I don’t know all values, but 0 is for out of bounds, 12 is for track border, and 15 is for track itself. While 0, 12 and 15 are costant among all track mas files, other values vary. In Velodrome and Eidolon 11 is for turbo zones (“arrow zones”). In other tracks 1 and/or 7 is maybe a placeholder for some SCE object, 10 is for track “external” limit or maybe border for SCE object. Given that some values are used in only few tracks if not only one, maybe there is a data file (BLO?SKI?Another?) used to assign meanings to terrain indexes? (at least for indexes values different from 0,12, and 15)

  • admin says:

    thanks for the info, i will add this data to the wiki.

    great job!

    • Simone says:

      Thanks, you are welcome!

      I have some corrections to make on what I have written about terrain values: value 0 is not used in TR4-MAS, in this case instead, out of bounds terrain is written with value 3 (I don’t know why). I can confirm instead that values 12 and 15 are used in all circuits. Value 1 is also used in all tracks but TR4 (oh, you again 😀 ) . TR4 is also only file that uses terrain value 14 (maybe 14 instead of 1? I’m not sure). Quite oddly, values 8 and 9 are never used. Value 10 is used by all circuits but The Arena.

      I wrote you the summary table here (* for terrain byte value present in that track) :

  • admin says:

    thanks, this week i try to recompile the ia module, so it is possible that i will know how the values of the mas file works.
    At this moment, the only things that are difficult to decompile are the sound effects system and the textures. But i hope with this improvements i can try to understand this things in the future.

Deja un comentario

Sorry, there are no polls available at the moment.

Help us to mantain this web and develop DreeRally