| VL-Tone Member Super Mario 64 forum moderator Level: 53 Posts: 8/621 EXP: 1135503 For next: 21616 Since: 07-27-07 From: Montreal, Canada Since last post: 4.7 years Last activity: 1.2 years |
|
||
|
TT64 doesn't actually edit water elements, mainly because I didn't look into it until now. I just spent some time trying to find the water command and here's what I've found: The actual water level, what determines where Mario starts to swim, and the water polygons are two separate things. There are two water polygon areas in Castle Grounds: The first one is found at 0xFD8EFF in an extended ROM and is 26 bytes long. It's located after some small collision data chunks used for the moat and cannon grills. 0xFD8EFF: [00 01] 00 00 00 [14] 00 [0F] [E4 27] [E3 CA] [E4 27] [FF C6] [20 3D] [FF C6] [20 3D] [E3 CA] 00 [01] [0,1]: Command number, 0x0001 seems to be the water polygon command number in this particular command set. [5]: (0x14) Water texture scrolling speed, doesn't affect the real current, which is defined in the floor's collision data. [7]: (0x0F) Water texture scaling. [8,9],[10,11],[12,13],[14,15],[16,17],[18,19],[20,21],[22,23]: Coordinates defining the water polygon area. I'm not sure which is which (x,y and z?), and why there are 8 of them. [24,25]: Water texture scrolling direction, doesn't affect the current direction, which is also defined in the floor's collision data. There's the 00 96 00 00 00 00 command found just after, which I assume means "return". The other water polygon area is for the lake, and it's found just after the first one, at FD8F1F. 00 01 00 00 00 0F 00 0A 04 00 FF C6 04 00 1F C9 20 26 1F C9 20 26 FF C6 00 00 00 96 00 00 00 00 Just after those two commands is this: 00 00 00 00 00 00 00 07 01 16 F8 00 01 00 00 07 01 17 18 FF FF 07 0116F8 is actually a pointer to the first 0x0001 water polygon command I just defined, found at 0xFD8EFF. 07 is the bank/segment number, and 07 is the default bank number for the current level main MIO0 bank. In Castle Grounds, the (decompressed) MIO0 data loaded in bank 07 is starting at 0xFC7807 in an Extended ROM. 0xFC7807+0x0116F8 = 0xFD8EFF 07 011718 is the pointer to the second 0x0001 water polygon command found just before the pointer. I haven't found anything that points to these pointers, so I don't really know what is the entry point for the water commands. I also didn't investigate the data found after these pointers, but I know that the BF commands at the end of the bank are connecting the waterfall triangles. Maybe that's the vertices data just before, but it doesn't look like the standard vertices list normally used in GBI commands, and I can't find the 0x04 GBI command that loads these vertices. Edit: This is a pretty technical thread about discovering how the water works in SM64. If you don't understand much of it, please restrain yourself from asking newbie questions. ____________________ ![]() The Super Mario Level Editor |










Good find with the water, VL-Tone






Whoa, The Game Makes him Go Back To The Water level.... 



