Jump to content

Filesystem management


spinout
 Share

Recommended Posts

I am putting this up so early in development so I can get a sense of weather anybody thinks it is worthwhile to continue. The main issue is that many files have no apparent table other than the DMA table - specifically, files 961 - 1004 (see http://spinout182.com/mqd/f.html). I know very little about sequences and sounds, somebody with more knowledge in that area (DeathBasket ?) would be best for writing the handlers for those tables - see readers.c, writers.c, and tables.c.

 

tl;dr I'm considering halting progress on a tool which is now top priority re: zelda tools because I can't find a pointer to every file.

 

Maybe I should just write a hack for the game itself and re-vamp the whole system. I'd still have the issue of what points to these files, though.

 

Oh, I almost forgot:

https://bitbucket.org/ottehr/z64-fm/src

Link to comment
Share on other sites

I'm not entirely sure about samples but pointers to sequences and instrument banks are all relative to the start of their files and therefore wouldn't need changing. The files themselves though (Audiobank, Audioseq, Audiotable) have their offsets hardcoded in the machine code around 0xB5A4C0, which is a pain.

Also, iirc, the JFIF images' pointers are relative to the start of the map they're stored in and they do not appear in the DMA table.

Link to comment
Share on other sites

I'm not entirely sure about samples but pointers to sequences and instrument banks are all relative to the start of their files and therefore wouldn't need changing. The files themselves though (Audiobank, Audioseq, Audiotable) have their offsets hardcoded in the machine code around 0xB5A4C0, which is a pain.

Also, iirc, the JFIF images' pointers are relative to the start of the map they're stored in and they do not appear in the DMA table.

 

The issue isn't JFIF images, but it is something else which is required to render them. I nulled files 961 - 1004 and it broke maps which had their own JFIF images.
Link to comment
Share on other sites

Ah, those could be the scrolling images from maps with static backgrounds and more than one camera angle then. I noticed that before if I changed, say, the Kokiri shop's background, the second background that appears when buying something would still appear despite not seeming to be in the map file at all.

Link to comment
Share on other sites

Only problem is that nothing I can find points to them ;_;

 

Edit: I tested this out some more, DeathBasket was pretty much right:

- Areas which can be viewed from the top or normally are black when the camera behaves normally and the JFIF render when viewed from the top

- Stores, as DeathBasket said, work fine until you talk to the shop keeper which loads a different background

- Castle town main is completely broken, the rest of (outdoor) castle town works fine.

 

Solutions?

Link to comment
Share on other sites

I've always told myself not to post in a thread where I didn't know what I was talking about but.. today may be an exception?

Let me get this straight: you're creating a new file table?? Wouldn't that help alot with custom maps and make it easier to ADD even more files to the ROM?

Link to comment
Share on other sites

I'm doing much more than creating a new filetable. I am writing an application which reads all the tables and turns pointers into indicies of entries in the filetable, sorts all the files, restores the file pointers via the indicies, then builds a new ROM with correct pointers everywhere. It will resolve any errors or inconsistencies found as well as compress the final ROM with lzo or Yaz0 compression if the user wants.

Link to comment
Share on other sites

  • 1 month later...
  • 9 months later...

I would, except for the fact that my LZO hack makes it completely unnecessary. What should be under development, in my opinion, is porting the LZO hack to other ROM versions - of most importance, probably MM since DeathBasket has figured out how to disable most of the debug features of the debug ROM, and considering it has a more advanced graphics ucode than OoT, I think the Debug ROM should be the ROM of choice for future OoT hacks.

Link to comment
Share on other sites

The way the LZO hack reads the filetable, it doesn't have to be sorted, therefore you can just put files at the end of all the other files. When the ROM goes to be compressed, any files which are no longer needed are ommited.

Link to comment
Share on other sites

So does this mean I can extend files to whatever size I want without problems? (i.e. If Link's file gets too large in the normal game, problems occur with collision and actors and a lot of other things after pausing and unpausing or going through an exit.) If this is true, would I still have to move the files that I enlarge and repoint them? And say I wanted to make custom maps which were previously only "fixed" with JSA's DMA Table fix. Would I no longer need to apply that?

Link to comment
Share on other sites

JSA's DMA "fix" only works with decompressed ROMs. It will miserably fail on compressed ROMs. As far as link's file creating problems, that doesn't have anything to do with the filesystem - the game only reserved so much space for him. My suggestion: remove all the low polygon models and consolidate his object to a smaller size, then add what you desire.

Link to comment
Share on other sites

I would, except for the fact that my LZO hack makes it completely unnecessary. What should be under development, in my opinion, is porting the LZO hack to other ROM versions - of most importance, probably MM since DeathBasket has figured out how to disable most of the debug features of the debug ROM, and considering it has a more advanced graphics ucode than OoT, I think the Debug ROM should be the ROM of choice for future OoT hacks.

 

Are you talking the MM debug rom or OOT one for future hacks?
Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

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