SM64 Exposed Object Variables

By James S.

This is my attempt to represent the object structures as a C/C++ style structure as to better understand and make it easier

to use the objects. Please note that it will be updated and corrected as often as possible and should only be used as a

guide.

Following the structure is what I know about each object variable.

int16=16-bit integer (half word)

int32=32-bit integer (word)

float=32-bit floating-point value

structure object {

int16 header; //(0x0000) Always 0x0018

int16 cameraBits; //(0x0002) Affects how the object behaves according to the camera (billboarding, hide object, etc).

int32* pPreviousObj; //(0x0004) Pointer to previous object (if first object, pointer to last object).

int32* pNextObj; //(0x0008) Pointer to next object (if last object, pointer to first object).

int32* pObjData; //(0x000C) Pointer to variables that affect all objects. (Always 0x80386A20 in PAL version).

int32(?) ? //(0x0010) ?

int32* pObjGraphics; //(0x0014) Pointer to the object's graphics data. If zero, object has no graphics.

int16 useGraphics; //(0x0018) Use graphics flag?

int16 ? //(0x001A) ?

int32(?) ? //(0x001C) ?

float ? //(0x0020) ?

float ? //(0x0024) ?

float ? //(0x0028) ?

float scaleX; //(0x002C) Scale object on X axis.

float scaleY; //(0x0030) Scale object on Y axis.

float scaleZ; //(0x0034) Scale object on Z axis.

int16 currentAction; //(0x0038) Object's current action (Mario only?)

int16 vertOffset; //(0x003A) Higher object above or lower below ground (Mario only?)

int32* pObjAnim; //(0x003C) Pointer to the object's animation data. If zero, object is not animated.

int16 currentAnimFrame; //(0x0040) For animated objects, current animation frame.

int16 ? //(0x0042) ?

int32(?) ? //(0x0044) ?

int32(?) ? //(0x0048) ?

int32(?) ? //(0x004C) ?

int32(?) ? //(0x0050) ?

float ? //(0x0054) ?

float ? //(0x0058) ?

float ? //(0x005C) ?

int32* ? //(0x0060) Pointer to object?

int32* ? //(0x0064) Pointer to object?

int32* pTargetObj; //(0x0068) For objects that follow another this is a pointer to the object to follow.

int32(?) ? //(0x006C) ?

int32(?) ? //(0x0070) ?

int16 objIsActive; //(0x0074) Determines if the object is being used.

int16 collision; //(0x0076) Collision flag?

int32* pCollisionObj; //(0x0078) Pointer to object this object collided with?

int32(?) ? //(0x007C) ?

int32(?) ? //(0x0080) ?

int32(?) ? //(0x0084) ?

int32(?) ? //(0x0088) ?

int16 ? //(0x008C) ?

int16 reactToMario; //(0x008E) How much object reacts to Mario (use depends on behaviour).

int32(?) ? //(0x0090) ?

int16(?) ? //(0x0094) ?

int16(?) ? //(0x0096) ?

int32(?) ? //(0x0098) ?

int32(?) ? //(0x009C) ?

float xPosition; //(0x00A0) X position in level.

float yPosition; //(0x00A4) Y position in level.

float zPosition; //(0x00A8) Z position in level.

int32(?) ? //(0x00AC) ?

int32(?) ? //(0x00B0) ?

int32(?) ? //(0x00B4) ?

int32(?) ? //(0x00B8) ?

int32(?) ? //(0x00BC) ?

int32(?) ? //(0x00C0) ?

int32 xCollisionRot; //(0x00C4) X collision rotation?

int32 yCollisionRot; //(0x00C8) Y collision rotation?

int32 zCollisionRot; //(0x00CC) Z collision rotation?

float xRotation; //(0x00D0) X rotation.

float yRotation; //(0x00D4) Y rotation.

float zRotation; //(0x00D8) Z rotation.

int32(?) ? //(0x00DC) ?

int32(?) ? //(0x00E0) ?

int32(?) ? //(0x00E4) ?

float ? //(0x00E8) ?

int32(?) ? //(0x00EC) ?

int32 gfxVariation; //(0x00F0) Changes the appearance of the object (used by some object graphics).

int32 objType; //(0x00F4) Type of object (used by some behaviours to allow for behaviour variations).

float scaleXYZ; //(0x00F8) Used by some behaviours as single scaling size. Other behaviours have different use.

int32 extraTimer; //(0x00FC) Fuse timer used by Bob-omb behaviour.

float ? //(0x0100) ?

float ? //(0x0104) ?

float altScaleXYZ; //(0x0108) Single scaling size for file select buttons.

int32(?) ? //(0x010C) ?

int32(?) ? //(0x0110) ?

int32(?) ? //(0x0114) ?

int32(?) ? //(0x0118) ?

int32(?) ? //(0x011C) ?

int32 segOffAnimStart; //(0x0120) Segment/offset value indicating start of animation data.

int32 action1; //(0x0124) What the object is doing, exact use depends on behaviour.

int32(?) ? //(0x0128) ?

int32(?) ? //(0x012C) ?

int32 simpleAbility; //(0x0130) Simple behaviour select such as climbing it like a tree or to act like a door.

int32 specialAction; //(0x0134) Certain actions performed only by Mario? For other behaviours, to do with collisions.

int32(?) ? //(0x0138) ?

int32(?) ? //(0x013C) ?

int32(?) ? //(0x0140) ?

int32 action2; //(0x0144) Used by some behaviours to remember what it's doing. Other behaviours have different use.

int32(?) ? //(0x0148) ?

int32 currentAction; //(0x014C) Used by most behaviours to remember what it's doing

int32 action3; //(0x0150) Used by some behaviours to remember what it's doing.

int32 timer; //(0x0154) Timer used by and updated by some behaviours.

int32(?) ? //(0x0158) ?

float ? //(0x015C) ?

int32(?) ? //(0x0160) ?

int32(?) ? //(0x0164) ?

int32(?) ? //(0x0168) ?

int32(?) ? //(0x016C) ?

int32(?) ? //(0x0170) ?

int32(?) ? //(0x0174) ?

int32(?) ? //(0x0178) ?

int32 transparency; //(0x017C) Level of transparency for object's graphics (used by some object graphics).

int32 damage; //(0x0180) How many segments of damage to do to Mario for objects that cause him harm.

int32 health; //(0x0184) Used by some behaviours to remember its health. Other behaviours have similar use.

int32(?) ? //(0x0188) ?

int32(?) ? //(0x018C) ?

int32(?) ? //(0x0190) ?

float ? //(0x0194) ?

int32 payoutCoins; //(0x0198) How many coins to give, how you get the coins depends on the behaviour.

float activeDistance; //(0x019C) Controls what distance from the camera the object becomes active?

int32(?) ? //(0x01A0) ?

int32(?) ? //(0x01A4) ?

int32(?) ? //(0x01A8) ?

int32* pExternalData1; //(0x01AC) Pointer to external data used by some behaviours.

int32 dataIndex; //(0x01B0) Used by some behaviours as an index into the external data.

int32(?) ? //(0x01B4) ?

int16 externalData; //(0x01B8) For some behaviours, this is the value copied from the external data (pExternalData2).

int16(?) ? //(0x01BA) ?

int32* pExternalData2; //(0x01C0) Pointer to external data used by some behaviours.

int32(?) ? //(0x01C4) ?

int32(?) ? //(0x01C8) ?

int32* pBhvScript1; //(0x01CC) Pointer to part of behaviour script to be executed.

int32(?) ? //(0x01D0) ?

int32* pBhvScript2; //(0x01D4) Pointer to part of behaviour script to be executed.

int32(?) ? //(0x01D8) ?

int32* pBhvScript3;? //(0x01DC) Pointer to part of behaviour script to be executed?

int32(?) ? //(0x01E0) ?

int32(?) ? //(0x01E4) ?

int32(?) ? //(0x01E8) ?

int32(?) ? //(0x01EC) ?

int32(?) ? //(0x01F0) ?

int16 ? //(0x01F4) ?

int16 ? //(0x01F6) ?

float vBotCollision; //(0x01F8) For trees, sets start of tree where Mario can grab at before climbing.

float vTopCollision; //(0x01FC) For trees, determines height of tree and thus, when Mario can do a handstand.

float ? //(0x0200) ?

float ? //(0x0204) ?

int32(?) ? //(0x0208) ?

int32* pBhvScriptStart; //(0x020C) Pointer to start of behaviour script (of the behaviour this object uses).

int32(?) ? //(0x0210) ?

int32* pCollisionObj; //(0x0214) Pointer to the object this object is standing on (used only by Mario?)

int32* pCollisionData; //(0x0218) Pointer to collision data (as set by behaviour script command 0x2A).

float ? //(0x021C) ?

int32(?) ? //(0x0220) ?

int32(?) ? //(0x0224) ?

int32(?) ? //(0x0228) ?

int32(?) ? //(0x022C) ?

float ? //(0x0230) ?

int32(?) ? //(0x0234) ?

int32(?) ? //(0x0238) ?

int32(?) ? //(0x023C) ?

int32(?) ? //(0x0240) ?

float ? //(0x0244) ?

int32(?) ? //(0x0248) ?

int32(?) ? //(0x024C) ?

int32(?) ? //(0x0250) ?

int32(?) ? //(0x0254) ?

float ? //(0x0258) ?

int32*(?) ? //(0x025C) ?

};

The number in square brackets [] is the offset from the start of the object structure. Following that is an example value and then a description of how various values affect the object. Some values given as examples are specific to the PAL version.

(f/p) is a floating-point (32-bit) value.

0x before a value is hexadecimal integer (whole number).

Notes: Offset 0x18 is sometimes treated as a byte, other times as 16-bit (PAL version only?)

[0x00] 0x0018 Always that value, should not be changed as it marks the start of an object structure.

[0x02] 0x0025 Collection of bits that alters how the object behaves in relation to the camera. 0x25 causes the object to always face the camera as is the case of the 2D objects like trees and other objects so that it appears 3D (billboarding), however it can be used with 3D objects. 0x21 is used for true 3D objects so the object isn't forced to always face the camera since rotating the camera will show other parts of the object.

Bit meanings:

0x0010 =0 show object's graphics? =1 Hide object's graphics?

[0x04] 0x8030B0B8 Usually pointer to the previous object. If this is the first object, it will point to the last object.

[0x08] 0x8030B578 Usually pointer to the next object. If this is the last object, it will point to the first object.

[0x0C] 0x80386A20 Always equals this value, points to a structure that contains variables which affect all the objects.

[0x10] 0x00000000 ?

[0x14] 0x80195084 Pointer to the object's graphics (i.e. what the object looks like). If zero, the object has no graphics.

[0x18] 0x01 Use graphics flag: =0x00 don't display object's graphics, =0x01 do display object's graphics.

[0x19] 0x01 Appears to have no effect on the object; usually equals 0x01 if [0x18]=0x01, sometimes is 0xFF.

[0x1A] 0x0000 Something to do with X rotation?

[0x1C] 0x0000 Something to do with Y rotation?

[0x1E] 0x0000 Something to do with Z rotation?

[0x20] 0xC4A6A000 (f/p) Some form of coordinate?

[0x24] 0x4431C000 (f/p) Some form of coordinate?

[0x28] 0x44EB2000 (f/p) Some form of coordinate?

[0x2C] 0x3F800000 (f/p) X size modifier (scaling value).

[0x30] 0x3F800000 (f/p) Y size modifier (scaling value).

[0x34] 0x3F800000 (f/p) Z size modifier (scaling value).

[0x38] 0x00C3 For Mario, this is his current animation/action (jumping, running, etc).

[0x3A] 0x00BD Highers Mario above or lowers him below the ground.

[0x3C] 0x80060030 Pointer to the object's animation structure; if zero, object is not animated.

[0x40] 0x0049 Current frame of animation (for objects that have animation pointer at offset 0x3C).

[0x42] 0x0000 ?

[0x44] 0x00000000 ?

[0x48] 0x00010000 ?

[0x4C] 0x00000000 ?

[0x50] 0x00000000 ?

[0x54] 0x3F751000 (f/p) ?

[0x58] 0xC2D2C670 (f/p) Some form of coordinate?

[0x5C] 0xC444B1C0 (f/p) Some form of coordinate?

[0x60] 0x8030FA58 Pointer to object ?

[0x64] 0x8030F598 Pointer to object ?

[0x68] 0x8030F7F8 For objects that follow another (e.g., coin in a Boo) this is a pointer to the object to follow.

[0x6C] 0x00000000 ?

[0x70] 0x00000000 ?

[0x74] 0x0101 Determines if the object is active: 0x0000=remove the object (the structure remains), 0x0101=this object is active and being used.

[0x76] 0x0001 Collision flag? Is qual to 0x0001 when collision with certain objects.

[0x78] 0x803194B8 Pointer to object collided with (usually pointer to Mario's object structure even before collision has occurred)?

[0x7C] 0x00000000 ?

[0x80] 0x00000000 ?

[0x84] 0x00000000 ?

[0x88] 0x00000000 ?

[0x8C] 0x0000 ?

[0x8E] 0x0001 How much object reacts to Mario (not used by some behaviours)

0x0001=Do not react to Mario?

0x0009=?

0x0449=Follow Mario?

0x2041=?

0x2049=Respond to Mario?

0x20C9=?

0x2449=Rotate to face Mario?

[0x90] 0x00000000 ?

[0x94] 0x0000 ?

[0x96] 0x0001 ?

[0x98] 0x00000000 ?

[0x9C] 0x00000000 ?

[0xA0] 0x45A54000 (f/p) X position in level.

[0xA4] 0x43C4FD52 (f/p) Y position in level.

[0xA8] 0xC4480000 (f/p) Z position in level.

[0xAC] 0x00000000 ?

[0xB0] 0x00000000 ?

[0xB4] 0x00000000 ?

[0xB8] 0x00000000 ?

[0xBC] 0x00000000 ?

[0xC0] 0x00000000 ?

[0xC4] 0x00000000 X collision rotation?

[0xC8] 0xFFFFBA00 Y collision rotation?

[0xCC] 0x00000000 Z collision rotation?

[0xD0] 0x00000000 (f/p) X object rotation.

[0xD4] 0xFFFFBA00 (f/p) Y object rotation.

[0xD8] 0x00000000 (f/p) Z object rotation.

[0xDC] 0x00000000 ?

[0xE0] 0x00000000 ?

[0xE4] 0xC0800000 ?

[0xE8] 0x450CD000 (f/p) ?

[0xEC] 0x00000002 ?

[0xF0] 0x00000000 For ! boxes, controls its colour (does not change what it gives out; use [0x147]):

0x00000000=red (wing cap).

0x00000001=green (metal cap).

0x00000002=blue(vanish cap).

0x00000003=yellow (other item such as coins).

For ordinary boxes changes the texture of its graphics:

0x00000000=Shifting Sands box texture.

0x00000001=Bob-omb Battlefield box texture.

For coins selects texture to use to animate its spinning; ranges from 0x00000000 to 0x00000007.

For Klepto it determines what it is holding:

0x00000000=Nothing.

0x00000001=Mario's cap.

0x00000002=Yellow star.

0x00000003=Blue star.

[0xF4] 0x00000000 For Goombas, this is the type (affects how it reacts to Mario, what you can get from it and how much damage it does, but not its size):

0x00000000=normal

0x00000001=big.

0x00000002=tiny.

For 1-up mushrooms that are triggered by climbing a tree:

0x00000000=idle?

0x00000001=An activator has detected Mario.

0x00000002=A second activator has detected Mario; activate the 1-up mushroom.

[0xF8] 0x3FC00000 (f/p) For Goombas and Boos, single value to be used for the three size modifies at [0x2C], [0x30] and [0x34]. This allows you to alter an object's size qually along the 3 axis; the game will use this value for the three individual size modifiers.

For Koopa, 0x00000000=run around as if lost his shell.

0x00000001=act like small Koopa (walk around, pause; run away if Mario nears).

0x00000002=behave like Koopa the Quick.

For Bob-omb, 0x00000000=Fuse is not lit

0x00000001=Fuse is lit

[0xFC] 0x0000009E For Bob-ombs, this is a timer that continually increases while its fuse is lit; when it reaches a set value the Bob-omb explodes.

[0x100] 0x41500000 (f/p) ?

[0x104] 0xC6947000 (f/p) ?

[0x108] 0x3F800000 (f/p) For file select buttons this is single size to use for its 3 size modifiers at offsets 0x2C, 0x30 and 0x34.

[0x10C] 0x00005883 ?

[0x110] 0x00000000 ?

[0x114] 0x00000000 ?

[0x118] 0x00000000 ?

[0x11C] 0x00000000 ?

[0X120] 0X0801DA4C Segment/offset value indicating start of animation data.

[0x124] 0x00000001 For small box that you can pick up:

0x00000000=Not moving or being carried

0x00000001=Being carried by Mario

0x00000002=Throw box?

0x00000003=?

For Bob-omb:

0x00000000=Not being carried by Mario.

0x00000001=Being carried by Mario.

0x00000002=Thrown.

[0x128] 0x00000000 ?

[0x12C] 0x00000000 ?

[0x130] 0x00008000 Various values give an object basic (fixed) capabilities such as allowing Mario to climb the object like a tree. To make things clearer I've split the variable into bytes as to better understand what different values do:

[0x130] 0x20 0x20=Do electric shock to Mario ([0x183] determines how much damage).

[0x131] 0x80 0x00=Solid object; can be punched, kicked and climbed onto its top.

0x01=Nothing?

0x02=Nothing?

0x04=Nothing?

0x08=Nothing?

0x10=Similiar to 0x40.

0x20=Cause Mario damage upon contact ([0x180] determines how much damage); can't jump on top or bounce off.

0x40=Cause Mario damage upon contact ([0x180] determines how much damage); can jump onto top and bounce off.

0x80=Can be read like a signpost and climbed onto its top.

[0x132] 0x80 0x00=Cannot be broken but can climb onto and stand on its top.

0x02=Can be broken like a box

0x08=?

0x40=Act like a cannon?

0x80=Cause Mario damage upon contact ([0x180] determines how much damage); can jump onto top and bounce off.

[0x133] 0x40 0x00=Solid object.

0x01=Act like quicksand?

0x02=Object can be picked up and carried.

0x04=Act like a door.

0x08=Cause Mario damage upon contact ([0x180] determines how much damage).

0x10=(used for red coin)?

0x20=Nothing (used by wing cap item so you can pick it up)?

0x40=Object can be climbed like a tree.

0x80=Nothing ?

[0x134] 0x00000001 For Mario: 0x00000001=Make Mario bounce several times with his arms pointing down diagonally

0x00000002=Fall down onto bottom and loose 3 segments of health

0x00000010=Attacked with electric shock and loose one segment of health

Other objects: 0x00000000=[0x131] or [0x133] specify what should happen when Mario collides with this object.

0x000000A0=Ignore [0x131] and [0x133]. Sometimes set to 0xA0 by game after collision.

[0x138] 0x00000000 ?

[0x13C] 0x00000000 ?

[0x140] 0x00000000 ?

[0x144] 0x00000001 Used by the work elevator direction switches in Hazy maze cave to tell the elevator which direction to move:

0x00000001 Move backward

0x00000002 Move forward

0x00000003 Move right

0x00000004 Move left

For Bob-ombs:

0x00000000=Move (patrol).

0x00000001=Don't move.

[0x146] 0x0032 Message to use for signposts, Bob-omb buddies and other objects (0x0000 is the first message). Note: in USA NTSC version the message number is 32-bit (offset 0x144), in PAL version it is 16-bit (offset 0x146).

[0x147] 0x01 For item boxes it controls what object you get from it (has no direct affect on the colour?)

0x00=Wing cap.

0x01=Metal cap.

0x02=Vanish cap.

0x03=Koopa shell.

0x04=x1 yellow coin.

0x05=x3 yellow coins.

0x06=x10 yellow coins.

0x07=1-up mushroom (moves slowly).

0x08=Level star 1.

0x09=1-up mushroom (moves fast).

0x0A=Level star 2.

0x0B=Level star 3.

0x0C=Level star 4.

0x0D=Level star 5.

0x0E=Level star 6.

0x0F=nothing.

In NTSC version, this variable is treated as if 32-bit (offset 0x144).

[0x148] 0x00000000 ?

[0x14C] 0x00000001 Current action.

Blue coin switch: 0x00000000=Idle.

0x00000001=Destroyed by Mario's ground pound; produce dust effect and activate blue coins.

0x00000002=Waiting for blue coins to be collected/disappear?

Koopa shell: 0x00000000=Mario is not on Koopa shell (don't follow Mario).

0x00000001=Mario is on Koopa shell (do follow Mario).

Peach (intro sequence): 0x00000000 ?

0x00000001 ?

0x00000002 ?

0x00000003 Fade away.

Bob-omb: 0x00000000 Patrol.

0x00000001 Explode while not moving.

0x00000002 Chase Mario.

0x00000003 Explode while moving.

Chain-chomp: 0x00000000 Idle (not in view) ?

0x00000001 Trying to attack Mario?

Goomba: 0x00000000 ?

0x00000001 Jump up and land.

0x00000002 Fall (from jump).

Platform lift: 0x00000001=Moving straight upwards.

0x00000002=Turning over.

0x00000003=Moving straight downwards.

0x00000004=Moving horizontally.

Koopa: 0x00000000 Not moving, look around.

0x00000001 Walk around.

0x00000002 Run around as if lost shell.

Koopa the Quick: 0x00000001 Not moving, looking around.

0x00000002 Talking to Mario.

0x00000003 Racing.

Bowser: 0x00000001=Lay down and try to get up.

0x00000002=Jump high and then land.

0x00000003=Swipe attack.

0x00000004=Thrown back and land on shell; defeated.

0x00000006=Walk forward slowly.

0x00000007=Run fast and try to trample Mario.

0x00000008=Breathe fire breath upwards.

0x00000009=Breathe fireballs quickly.

0x0000000A=Standing on tiptoes as if about to fall off edge.

0x0000000B=Turning round.

0x0000000C=Thrown back.

0x0000000D=Jump, land and do shockwave.

0x0000000E=Walk about slowly.

0x0000000F=Breathe fire breath while standing still.

0x00000010=Vanish and reappear near Mario.

0x00000011=Jump high and land causing vibration.

Yoshi: 0x00000000=Stop walking.

0x00000001=Walk.

0x00000002=Talk to Mario.

For water level trigger switch (Wet-dry world): 0x00000002=alter water level.

[0x150] 0x00000001 Chain-chomp: 0x00000000 Not moving?

0x00000001 Lunged forward?

Bad Lakitu: 0x00000000 Idle?

0x00000001 Lakitu has spiny in hand?

0x00000002 Throw spiny

[0x154] 0x00000033 Timer that increases until it reaches a certain value, resets to 0 and counts up again. Used by objects such as the platform lifts to decide when to change its movement type. For ! boxes it is used to delay the 'return' of the box.

[0x158] 0x00000000 ?

[0x15C] 0x447830F3 (f/p) ?

[0x160] 0x00005883 ?

[0x164] 0x00000000 ?

[0x168] 0x00000000 ?

[0x16C] 0x00000000 ?

[0x170] 0x3F800000 ?

[0x174] 0x40000000 ?

[0x178] 0x00000004 ?

[0x17C] 0x000000FF Level of transparency for object's graphics. Examples of objects that use this variable are Peach, Bowser and the Toads. 0x00000000=completely transparent, 0x000000FF=opaque.

[0x180] 0x00000001 How many segments of damage to do to Mario for objects that cause him harm; if zero enemy objects will push Mario away but not do him any harm.

[0x184] 0x00000003 For King Bob-omb, his health which starts at 3 and goes down by 1 each time Mario throws him until the value equals zero.

For Wiggler: 0x00000000=Don't move

0x00000001=Walk very slowly

0x00000002=Run around very fast and try to trample Mario

0x00000003=Run around and try to trample Mario

0x00000004=Walk around

[0x188] 0x00330000 ?

[0x18C] 0x00000000 ?

[0x190] 0x00000004 ?

[0x194] 0x447A0000 (f/p) ?

[0x198] 0x00000001 For a Goomba, pond skater or breakable box, number of yellow coins to give out after its defeated. This is also used by the wooden posts you run around but if the value is too high not all the coins will be paid out at once.

[0x19C] 0x457A0000 (f/p) Controls what distance from the camera (or is it Mario?) the object appears (and becomes active?). Higher values will cause the object to appear further in the distance. Is this also used to determine at what distance the object is initialized?

[0x1A0] 0xFFFFFFFF ?

[0x1A4] 0x00000000 ?

[0x1A8] 0x00000033 ?

[0x1AC] 0x802FCA68 Pointer to external data used by the object. For Tox box, it points to the values in RAM that control its set path.

[0x1B0] 0x00000001 For Tox box, index into path data pointed to by [0x1AC], increases by 1 each time.

[0x1B4] 0x00000000 ?

[0x1B8] 0x0029 For Koopa the Quick, this is the value copied from the RAM pointed to by [0x1C0].

[0x1BA] 0x0000 ?

[0x1C0] 0x801A8280 Pointer. For Koopa the Quick points to data in the RAM it uses.

[0x1C4] 0x5063B081 ?

[0x1C8] 0x00000000 ?

[0x1CC] 0x800E3B50 Pointer to behavoiur script.

[0x1D0] 0x00000001 ?

[0x1D4] 0x800E3B50 Pointer to behaviour script.

[0x1D8] 0x00000000 ?

[0x1DC] 0x800E0BC8 Pointer to behaviour script?

[0x1E0] 0x00000000 ?

[0x1E4] 0x00000000 ?

[0x1E8] 0x00000000 ?

[0x1EC] 0x00000000 ?

[0x1F0] 0x00000000 ?

[0x1F4] 0x0000 ?

[0x1F6] 0x0002 ?

[0x1F8] 0x42A00000 (f/p) For trees (poles as well?), sets start of tree where Mario can grab at before climbing.

[0x1FC] 0x43FA0000 (f/p) For trees (poles as well?), determines height of tree and thus, when Mario can do a handstand.

[0x200] 0x427C0000 (f/p) ?

[0x204] 0x42700000 (f/p) ?

[0x208] 0x00000000 ?

[0x20C] 0x800E3B20 Pointer to start of behaviour script (used for initialization and for identifying the behaviour an object uses).

[0x210] 0x00000000 ?

[0x214] 0x8030F0D8 Pointer to the object this object is standing on (used only by Mario?)

[0x218] 0x800D73F0 Pointer to collision data (as set by behaviour script command 0x2A).

[0x21C] 0x3F800000 (f/p) ?

[0x220] 0x00000000 ?

[0x224] 0x00000000 ?

[0x228] 0x00000000 ?

[0x22C] 0x00000000 ?

[0x230] 0x3F800000 (f/p) ?

[0x234] 0x00000000 ?

[0x238] 0x00000000 ?

[0x23C] 0x00000000 ?

[0x240] 0x00000000 ?

[0x244] 0x3F800000 (f/p) ?

[0x248] 0x00000000 ?

[0x24C] 0x00000000 ?

[0x250] 0x00000000 ?

[0x254] 0x00000000 ?

[0x258] 0x3F800000 (f/p) ?

[0x25C] 0x8010BC46 Pointer to ?

All content of this and related pages is copyright (c) James S. 2007-2009