-
Notifications
You must be signed in to change notification settings - Fork 2
Objects
RenaKunisaki edited this page Apr 21, 2016
·
6 revisions
Objects that can be moved or destroyed, such as item boxes, trees, and the giant sign in Mario Raceway, are stored in the same format as Course Paths. Like the paths, they are stored at hardcoded offsets in segment 6.
This list lists the location of each track's initialization routine in RAM, and the objects it loads in order:
Object | Offset |
---|---|
0x00 Mario Raceway (0x8029DBBC ) |
|
Item Boxes | 0x9498 |
Piranha Plants | 0x9518 |
Trees | 0x9570 |
0x01 Choco Mountain (0x8029DC88 ) |
|
Item Boxes | 0x7250 |
Falling Rocks | 0x7230 |
Unknown | 0x4480 |
0x02 Bowser's Castle (0x8029DCA8 ) |
|
Trees | 0x9290 |
Item Boxes | 0x9370 |
0x03 Banshee Boardwalk (0x8029DCC8 ) |
|
Item Boxes | 0xB3D0 |
0x04 Yoshi Valley (0x8029DCDC ) |
|
Trees | 0x180A0 |
Item Boxes | 0x18110 |
0x05 Frappe Snowland (0x8029DD40 ) |
|
Trees | 0x7718 |
Item Boxes | 0x7810 |
Unknown | 0x34A0 |
0x06 Koopa Troopa Beach (0x8029DD60 ) |
|
Item Boxes | 0x18E78 |
Palm Trees | 0x18F70 |
Unknown | 0xADE0 |
0x07 Royal Raceway (0x8029DDA8 ) |
|
Trees | 0xDA78 |
Item Boxes | 0xDB80 |
Piranha Plants | 0xD9F0 |
Unknown | 0xB5B8 |
0x08 Luigi Raceway (0x8029DDD4 ) |
|
Trees | 0xFE80 |
Item Boxes | 0xFDE8 |
0x09 Moo Moo Farm (0x8029DDF4 ) |
|
Trees | 0x14330 (not loaded in 4-player mode) |
Item Boxes | 0x143E0 |
0x0A Toad's Turnpike (0x8029DE28 ) |
|
Item Boxes | 0x23AE0 |
0x0B Kalimari Desert (0x8029DE3C ) |
|
Trees | 0x22F08 |
Item Boxes | 0x22E8 |
0x0C Sherbet Land (0x8029DFD4 ) |
|
Trees | 0x9B80 |
Unknown | 0x4BF8 |
0x0D Rainbow Road (0x8029DFE8 ) |
|
Item Boxes | 0x16338 |
0x0E Wario Stadium (0x8029DFFC ) |
|
Item Boxes | 0xCB40 |
0x0F Block Fort (0x8029E0D0 ) |
|
Item Boxes | 0x38 |
0x10 Skyscraper (0x8029E0E4 ) |
|
Item Boxes | 0x80 |
0x11 Double Deck (0x8029E0F8 ) |
|
Item Boxes | 0x28 |
0x12 DK's Jungle Parkway (0x8029E10C ) |
|
Item Boxes | 0x13EC0 |
0x13 Big Donut (0x8029E130 ) |
|
Item Boxes | 0x58 |
The initialization routine calls the following routine to load the objects, with register A0
set to the RSP address of the object positions:
-
0x8029D830
: Item boxes -
0x8029D584
: Trees -
0x8029CC14
: Piranha plants -
0x8029CD80
: Palm trees (Koopa Beach) -
0x8029D018
: Falling rocks (Choco Mountain)
Trees (except palm trees), bushes, and cacti are all the same object with different graphics. Special item boxes (rigged to always give a blue shell) aren't handled here.
The tracks' initialization routines also load some other objects:
- Yoshi Valley calls
0x802B529C
to load the giant eggA0 = SP + 0x40
A1 = X position
A2 = Y position
A3 = Z position
- Removing this call makes the egg invisible and places it at coordinates
0,0,0
- DK's Jungle Parkway calls
0x8029D9F8
(from0x8029E118
); this causes coconuts to be thrown. -
0x8029E380
calls0x802A84F4
when loading Luigi Raceway and maybe some others (XXX):-
A0 = 0x0F035568
(pointing at something in/after segment 7 data?) A1 = 0x0400
A2 = 0x0800
- Looks similar to an object loading routine
- Disabling it seems to have no effect
-