====== 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