don't click here

Star Fox Adventures/Dinosaur Planet - advice on file formats

Discussion in 'Technical Discussion' started by Vlcice, Mar 28, 2008.

  1. Vlcice


    After seeing a relatively ancient forum topic on it elsewhere, I've been poking around inside Star Fox Adventures's files to see if there's anything interesting. I came across some things that I haven't seen mentioned anywhere else, but ran up against the brick wall of the game's custom packed data format. I thought I'd post about what I've found and ask for advice on figuring it out. (I'm crossposting this to another message board I visit.)

    Most of the game's data is stored in separate .zlb files. Some data files appear to contain multiple ZLBs together, for instance the MODELS.bin file. I assume they're compresse data (the name suggests zlib, but I'm not sure). I've found this older thread where people began picking apart at the format, but it looks like they didn't finish and I'm not quite sure where to go from here.

    Here's what I've found so far. Please excuse the giant block of text:

    - This was previously known, but the disc contains a file called GAMETEXT.bin which appears to be unused in the final game. (SFA stores its text in separate files for dialogue sequences and individual areas within the gametext/ directory.) GAMETEXT.bin contains very little SFA text, and to my surprise has a very substantial portion of Dinosaur Planet scripting (!). Lots of dialogue involving Sabre and Krystal, huge swaths of subplot that were simplified or removed for SFA, and the like. It looks like this format of script was abandoned early into the conversion to Star Fox, but the file was never deleted. It shows their relatively lazy process of converting the story too - there are a couple places where they did a find/replace of Sabre/Krystal-->Fox, with some great results like "I am Fox McCloud, Royal Knight of the Lylat System." Unfortunately, the Dinosaur Planet script here is incomplete, and though there's a lot it's not the majority of the game's text.

    - A backup copy of the header file for the sound system was not deleted. It has a lot of defines for all of the game's sound effects, music, and voices. The music lists include several unused areas and sequences like the Test of Sacrifice, the "Galleon Credits" (the title of the Dinosaur Planet credits music released as a promo MP3 in 2000) along with numerous other galleon songs and several Drakor songs (he seemed to be an important character in the N64-era script). I wonder if any of these are still in the game data? There are also a few sound effects for Sabre.

    - OBJECT.bin includes the names of all objects in the game along with other data I don't understand yet. This includes Sabre, his sword, and the boss version of General Scales.

    - The game's maps are contained in directories with most of their associated data, including all of their models and animation data. Each directory name is associated with a directoryname.romlist.zlb file; I'm not sure what this is yet. There are a large number of romlist.zlbs with no associated directories, many of which appear to belong to cut areas. There's also an animtest/ directory and romlist, whose data is uncharacteristically still present. Most interestingly, two areas apparently associated with the scrapped Discovery Falls still have data - "dfptop" (probably the top of "dfpodium") and "dfshrine," which may or may not have been associated to another area.

    - MAPINFO.bin contains a list of all of the maps used in the game (at one point), possibly used to populate a debug menu. A number of maps are prefaced with "Not Used," and some test maps are also listed. There's a lot of interesting things in here, including many references to apparently unused areas. Since I don't yet completely understand the game's mapping system, it's possible that some of these refer to extant areas without their own directories. The most interesting ones:
    >> "Front End2," listed as Not Used - possibly an old menu? The game contains two front end file listings, but neither has any data - they have "romlist.zlb" files only. What is probably the final game's front end is stored in gamefront/.
    >> "Krazoa Palace," listed as Not Used - maybe an extra part of that area?
    >> "Rolling Demo - Just in Case" - no idea what this is. I don't see any data for this map.
    >> "MazeTest" - no idea. There doesn't seem to be any data for it.
    >> "CloudRunner - T" - listed as Not Used. For some reason this is listed twice, with "CloudRunner - Dungeon" in between. Parts of a sequence where Scales and his henchmen steal treasure from the CloudRunner fortress is in the Dinosaur Planet-era script. cloudtreasure has a directory and a romlist.zlb file, but no data. There are a few other CloudRunner romlist.zlbs without data as well, but those aren't mentioned in the map list.
    >> "Krazoa Shrine" - also marked as Not Used.
    >> "Ice Mountain 2" and 3 - both listed as Not Used. There are romlist.zlbs for newicemount2 and 3, neither with any data.
    >> "Inside Galleon" - marked as Not Used. Possibly for the extended meeting with General Scales in the Dinosaur Planet script.
    >> "Diamond Bay" - Not Used. Has a romlist.zlb. There is a dbay/, but it's empty. There's also a dbshrine/, which suggests that after Diamond Bay was scrapped its shrine was reassigned to Cape Claw.
    >> "Earthwalker Tem" - Not Used. romlist.zlb but no data.
    >> "Willow Grove" - Not Used. romlist.zlb but no data.
    >> "BOSS Scales" - not marked as unused. There's no data for this, not even a romlist.zlb. The fact that this was cut roughly is really obvious to anyone who's played the game.
    >> "WGShrine" - Not Used. Probably a shrine made to go along with Willow Grove. romlist.zlb but no data.
    >> "MikesLava" - Not Used. Not sure what this would be. There is a mikelava.romlist.zlb but no data.
    >> "BOSS Kamerian D" - Not Used. Probably the Kamerian Dragon who is mentioned in several places in the Dinosaur Planet script; it appears to have been very important to the plot. No data for this, not even a romlist.zlb.
    >> "Duster Cave" - Not Used. Duster is the Dinosaur Planet-era script's name for the Bafomdad. There's a duster.romlist.zlb but no directory or data.
    >> "CloudRunner2Rac" - Not Used. Judging from the listing before it, probably the linking transition area between the CloudRunner fortress and another area. There's a later "LinkI - CloudRunner2Race" entry, suggesting this is an older abandoned revision. I don't know if this has data, even a romlist.
    >> "LinkK - Nik Test" I'm not sure what this is beyond one of the linking transitional areas. There is no linkk directory/data or romlist.zlb.
    >> "dfpodium" -not listed as unused. Appears to be one of the areas belonging to Discovery Falls, a scrapped section which was shown in N64 promotional material.
    >> "dfcradle" - not listed as unused. Probably more Discovery Falls. No data for this one aside from the usual romlist.zlb.
    >> "dfcavehatch1" and 2 - not listed as unused. Yet more Discovery Falls. No data for either of these beyond romlist.zlb files.
    >> "scstatue" - not listed as unused. Not sure what this is (the "sc" preface isn't used elsewhere), but it hasn't got any data beyond a romlist.zlb.
    >> "galleonship" along with "cfgalleon" and "cfgangplank" - not listed as unused. All of these appear to be from the extended galleon sequence that was cut from the game. This may have been a part of the longer CloudRunner Fortress sequence, judging from the "cf" names. There are a lot of other "cf" romlists with no associated data, possibly from the same area.
    >> "nwtreebridge" and, a bit later, "nwtreebridge2", "nwboulder" and "nwshcolpush" - not listed as unused. Probably Northern Wastes areas. These have romlist.zlb files but no associated data.
    >> "cloudrunnermap" - not listed as unused. Yet another CloudRunner file. Has a romlist.zlb, has no data. May actually be used.
    >> "kamericancolumn" - not listed as unused. Like the other Kamerian files, no associated directories.
  2. Ice God

    Ice God

    Earthbound Fanboy Misfit
    Interesting finds; however, having no played much Starfox Adventures, I can't confirm anything relating to game scripts. It would however, have been nice if they kept some of these dropped elements.

    You said a lot of subplot was found. I'm particularly interested in that. Maybe it'll explain what the hell Krystal was doing not only in a planet without a single other mammal, but why she had an accent.

    It probably wouldn't, but I seriously want an answer.

    Edit: Also, forgot to check the date. Sorry if dead thread is dead.
  3. Overlord


    Now playable in Smash Bros Ultimate Moderator
    Long-term happiness
    That's like asking why every alien race on almost every scifi program has an American accent =P
  4. Ice God

    Ice God

    Earthbound Fanboy Misfit
    Well hey, yeah, why do they?

    But seriously, this could bring up some interesting findings if we could get further into it.
    Unfortunately, I'm aware not much is known about SFA's file formats.
  5. BlazeHedgehog


    A "Community Enigma"? Oldbie
    I am super-interested in seeing where this thread goes. I was a big fan of that old Starfox-online thread and detailed most of what they found over at the Hardcore Gamer Wiki.