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