Jump to content

Collection of things I discovered last week


mzxrules
 Share

Recommended Posts

Had no internet, so I did what I usually do... just without help.

I found a few things not covered/wrong with the 0x11 scene/room command in http://wiki.spinout182.com/w/Scenes_and_Rooms#Header_Commands.
 

0x11 Skybox settings 11000000 xx0y0z00

x = Skybox number (see the skybox list)
y = Cast. 0 = Sunny, 1 = Cloudy. Affects the sun's lens flare, and skybox 1 will load sky/clouds
z = Fog. 0 = minimal fog, 1+ = significant fog

 

I made some changes to my scene viewer that allow stats from cutscenes to be printed out, and I ended up discovering two more cutscene commands that either I overlooked or were previously unknown... the 0005/0006 commands. They appear to be similar to camera commands, but I was more focused on getting the cutscene parser to not crash rather than figure out what their purpose is.

http://wiki.spinout182.com/w/Cutscenes#Cutscene_Commands

 

With the aid of my program Spectrum, I believe I discovered an "ultimate" memory constraint on object files, as well as a pattern as to how they're allocated. Gameplay_keep, (the object file that's always loaded first) is positioned exactly 0xFA000 before the start of the scene file in memory when in unpaused play state (I found this to be true for the two roms I checked, NTSC 1.0, Debug MQ). Object files are allocated without gaps in-between, thus I believe this means that the sum of the file sizes can't exceed 0xFA000 bytes (i'm not 100% sure that this is the maximum, it might be less. Someone test this). 

 

Another thing with objects that I believe will work but haven't tested (but maybe someone else knows this?) is that the ordering of objects within the 0x0E command (Object Listing) does not necessarily matter as long as two conditions are met

  • Object files that need to exist in all rooms must be listed first
  • The order of the objects must be consistent across all rooms for the objects that must exist in all rooms
Petrie's Challenge is a modification of the PAL Master Quest, not NTSC. My bad.
 
I wrote my own text dump program for the (language*)_message_static files for every language. There were a number of things spinout's wiki didn't mention
  • NTSC and PAL text bank pointers within code use different formats
    • With NTSC, Japanese text boxes are referenced the same as English, but use bank 08 rather than 07
    • With Pal, for English you have 1 word for textbox id/settings, 1 for bank offset, but for German, French you only have 1 word for the bank offset, relying on order to find the appropriate textbox id/settings
  • English, German, French use the same character set which I think is an 8 bit char set, and so the textbox codes seem to be the same across languages, but Japanese uses jis-shift? which I believe is 8/16 bits, meaning different textbox codes. 
 
 
I've been trying to figure out how the game determines where to put room files in memory. I thought I had a pattern but didn't, but at the very least I found that the skybox files are snuggled in between the room and object files.
  • Like 2
Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.