+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  SMB3 Workshop object data
Pages: [1]
Author Topic: SMB3 Workshop object data  (Read 2 times)
ElBlocko
Guest
« on: April 11, 2008, 12:41:39 pm »

I'm making a pretty standard hack of Super Mario Bros. 3, and I need a bit of help with object data. How can I allow the program to use objects that are not part of the standard object set? For example, let's say I wanted to use lava in hilly levels. Is this possible, and would it crash the game if I tried?
DanteRules
Guest
« Reply #1 on: May 12, 2008, 02:50:06 pm »

I don't know if you are still looking for an answer, but no one else seems to be helping so I guess I'll try.  I'm no expert, but maybe I can clear things up.

Each level type has it's own set and is distributed through banks.  Assuming your using Workshop, then I'm sure you're familiar with the banks at the bottom-right of the program.  Bank 1 is used mostly for universal 3-byte objects, and bank 2 is used mostly for universal 4-byte objects with a few 3-byte objects as well.  By "universal", I mean that these objects are available to you regardless of what type of level you are building.  The other banks are used for level specific data based on the type of level.

Lava is on bank 3 at #64.  If you were to go to a hilly level like Level 1-2 and try out that bank and number, it would be something like "Weird 30 degree hill" instead.  I would think it is theoretically possible to switch out the weird 30 degree hill with the lava using pointers to determine which item is called from that address.  However, this would require knowing where both of those items are stored and how the banks work.  I'm afraid that I don't know this myself, and I would expect that it would take someone with experience of the game's code to ever hope to find a needle in a haystack like this.

My best advice is to forget about it, which either you probably have by now or someone that is more experienced than me has helped you.  Good luck with your hack.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC