mario_kart_64:level_rendering_pointers
Table of Contents
Level Rendering Pointers
There is a lot of hardcoded dynamic F3DEX being generated for each level each frame. This page will serve as a document to keep track of everything that's going on during the level rendering.
0x80295A38 - The big function for level loading (not sure yet what everything does, but the big table that holds the pointers to level-specific render code is in it at 80295AAC)
0x80290DAC - This function appears to use the current level's surface information & rendering tables to determine which render group to use. This draws the level data around the current player.
Course Render Table
| Course Name | Render Pointer |
|---|---|
| Mario Raceway | 0x80292464 |
| Choco Mountain | 0x80292920 |
| Bowser's Castle | 0x80292d98 |
| Banshee Boardwalk | 0x80292f80 |
| Yoshi Valley | 0x802933d8 |
| Frappe Snowland | 0x802934a0 |
| Koopa Troopa Beach | 0x802935f8 |
| Royal Raceway | 0x80293840 |
| Luigi Raceway | 0x80293a90 |
| Moo Moo Farm | 0x80293f3c |
| Toad's Turnpike | 0x80294410 |
| Kalimari Desert | 0x80294730 |
| Sherbet Land | 0x802949b0 |
| Rainbow Road | 0x80294a7c |
| Wario Stadium | 0x80294b2c |
| Block Fort | 0x80294fdc |
| Skyscraper | 0x80295094 |
| Double Deck | 0x8029522c |
| DK's Jungle Parkway | 0x80295310 |
| Big Donut | 0x802954e8 |
Course Hardcoded Rendering
Here I'll list a few of the hardcoded F3DEX commands that are written into the functions above:
Block Fort:
- [call 0x802b5d64]
- BB000001 FFFFFFFF
- B7000000 00000200
- B6000000 00020000
- 06000000 070015C0
Skyscraper:
- [call 0x802b5d64]
- BB000001 FFFFFFFF
- B7000000 00000200
- B6000000 00020000
- 06000000 07000C60
- 06000000 07000B70
- 06000000 070006B8
- 06000000 07000570
- B6000000 00002000
- 06000000 070010C8
- B7000000 00002000
- 06000000 07000258
Double Deck:
- [call 0x802b5d64]
- BB000001 FFFFFFFF
- B7000000 00000200
- B6000000 00020000
- B6000000 00002000
- 06000000 07000738
- B6000000 00020000
Big Donut:
- B7000000 00000200
- B6000000 00020000
- [call 0x802b5d64]
- BB000001 FFFFFFFF
- B7000000 00000200
- [call 0x80290c20, prep for if statement, related to 0x80290DAC?]
- | [if statement, not sure what it is]
- | FCFFFFFF FFFE793C
- | B900031D 00552078
- | 06000000 07000DE8
- | [end if statment]
- 06000000 07000450
- 06000000 07000AC0
- 06000000 07000D20
- 06000000 07000230
mario_kart_64/level_rendering_pointers.txt · Last modified: by trenavix