News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: [Graphics/Compression] Flashback The Quest for Identity (Jaguar, other versions)  (Read 381 times)


  • Full Member
  • ***
  • Posts: 159
    • View Profile
    • Blunt Bit
Hello. Over the past year, I've started working on a translation project for Flashback: The Quest for Identity.

I should mention upfront that I'm working on the Atari Jaguar version of the game and not the most common version other people have worked on. The reason for this is personal; however, during this period, I've been looking into as many versions of the game as possible, to find commonalities between the file formats on each.

While the Jaguar's architecture is pretty alien to me, so far I have managed to:

  • Insert a new font with diacritics;
  • Slightly edit the menu to accept more characters;
  • Map out text pointers for dialogue and items;
  • Map out cutscenes (start, end, vector code);
  • Fixed a developer oversight regarding the first level intro (every version uses the same intro tune except the Jaguar version, but I've managed to locate the code and fix it, as shown in the video below).

Also here's an example of the font:

The cutscene vectors follow a somewhat standardized format of [polygon] followed by [x pos], [y pos], and [palette value], although some are hardcoded to their positions.

I'm currently in the process of reworking the text and vectors in order to translate the game but the hardest aspect remains the graphics compression. I have contacted Gregory Montoir, the author of the Flashback engine reimplementation, who currently does not have the time to write the tools necessary to read the Jaguar file compression, but kindly went through technical information with me.

Surprisingly (or not) the Jaguar version sports some similarities with the 3DO, Sega Genesis and Sega CD version, with portions of the original code present on all of them, at least insofar as graphics are concerned (other parts of the code, like animations and cutscenes, are present but vary in structure; menu and animation code being obvious examples).

With that laid out, the files (again, present in other versions of the game, give or take some differences depending on platform) are laid out as such:

.CT    - Level grid, compressed with Bytekiller
.LEV   - Room tiles attributes, compressed with Bytekiller
.PAL   - Amiga 16 colors palettes (RGB444)
.MBK   - Graphic tiles
.PGE   - Triggers
.SGD   - Graphic tiles for Level 1 (Jungle); only one .SGD file exists per version

.LEV files would need to be recompressed for each room unless the tile layout is the same; and both .MBK and .SGD will also need recompression after edited.

Gregory was kind enough to provide the backgrounds for the DOS version, so that serves as guidance. I have no problems with editing graphics; the issue is really decompressing them, and not knowing if they can be decompressed into a static, editable format that can be recompressed back.

In theory, at least, doing so could pave the way for future romhacks of Flashback on the Genesis, Sega CD, and 3DO as well as they share the same graphics files.

Right now I'm looking for some help in this. I can handle the translation and cutscene editing, but I'm not qualified at all to write utilities that would handle the graphics. If someone is interested in helping me with this, let me know. I can provide all the needed pointers and offsets - or even the extracted .MBK and .LEV files - for the platforms mentioned above.

Thanks in advance.