|
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
|
Originally posted by NintendoMasters
Is there a way to jusy make certain things actually Solid for thing like platforms because if not we need one.
Unfortunately, the SM64 engine doesn't makes this as easy. You can't turn things solid just with a simple byte change, unlike when I thought when I started hacking the game. Objects need a collision map to be solid, which is in a different format than the textured polygon model.
Platforms in the Bowser courses and in Lethal Lava Land rely on the main level collision map to be solid, that's the problem we have. Moving the platforms without modifying the main collision map result in platforms that are not solid. Even if I make a collision data editor, it would be complicated to keep track of object movements and match the collision data changes. Furthermore, while some platforms can move individually, some of them are glued together in the collision map, and separating them in the collision map wouldn't be trivial, it would require adding new collision polygons.
You probably noticed that some platforms in other levels are solid by themselves, don't rely on the main collision map, and will remain solid if you move them.
Those have their own collision map, stored somewhere in the level data bank, or in the bank where their textured polygons are found.
I recently figured out that these collision maps are referred by the 0x2A commands found in the behavior scripts. The 0x2A command includes the address where this collision map is found. For example, the rotating grass platforms in Whomp's Fortress rely on their behavior to be solid. If you apply their behavior to another object, you'll notice that it does rotate, but that it has the same round platform collision as the original platform.
What I'm thinking about doing, is generate individual collision maps for each platform in the Bowser courses and LLL, then create new behavior scripts for each of them that will refer to their own collision map.
That would solve a lot of problems at the same time. That way, platforms would be really solid, and you could move them, swap them, duplicate them without having to modify the main collision map each time. I'd probably have to eliminate the original collision map.
If I used the rotating grass platform as a template to create these new behaviors, you could even make all platforms in the level rotate at the speed you want, or if you'd set their rotation to zero, they would be static like they are in the original.
Doing that would require some heavy modification of the original levels and data. The ROM would need to be patched with these modifications before it would be loaded by TT64. Maybe the ROM Extender could do that automatically, or TT64 itself.
____________________
|
  |
|
|