Skip to content

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 egg
    • A0 = 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 (from 0x8029E118); this causes coconuts to be thrown.
  • 0x8029E380 calls 0x802A84F4 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
Clone this wiki locally