|
Super Mario 64 (N64) Exposed Behaviour Values
By James S.
Behaviour/Graphic ID
(Update: 2/11/9)
The behaviour and graphic ID (a.k.a. GFX ID and GID) values are used for spawning objects and are universal values because they are the same for all versions of the game. The behaviour value determines how the object moves and reacts to other objects and the graphic ID selects how the object looks. However, some graphics are only available in certain levels and some graphic ID values are reused so they will use different graphics dependent on the level. Another complication is that although the behaviours are available in all levels, some behaviours rely on data that is loaded only in some levels or area within a level.
These values are those that are to be used with any of my spawn codes. For the Spawn any object wherever you want [ver2.1] code you do not need the 1300 at the start of the behaviour value. For e.g., to spawn a 1-up that homes in on Mario set the behaviour (BHV/BHR) to 4148 and the graphic ID (GID) to D4. Using the same example but for the Spawn object version 3.0 code:
Behaviour segment value=1300
Behaviour offset value=4148
GFX ID=00D4
Extra value=0000
It is possible to use different behaviours with some graphic IDs that aren't normally but may not look right if they use 3D animation.
An object with a ? for the behaviour means it is unknown and might not exist. The extra value is used by some behaviours to alter how the object behaves.
There are three main ways that the game uses these behaviour and graphic ID values:
(1) Level commands. (2) Game instructions. (3) Preset look-up table. Note: 0x indicates a hexadecimal value (e.g. 0x1C).
1-up mushroom that homes in on Mario 0x13004148/0xD4
Ampere 0x13003388/0xC2 Baby penguin (Cool, cool mountain-can also spawn in Snowman's land) 0x130020E8/0x57 Extra value (determines if it is the lost penguin): 0x00=Lost penguin 0x01=Not lost penguin Big (race) penguin (Cool, cool mountain) 0x13005380/0x57 Note: should only spawn in the hut. Big ice bully (Snowman's land) 0x13003700/0x65 Black smoke (when Mario gets burnt) 0x13001214/0x94 Blarrg ?/0x54 Blue coin 0x1300091C/0x76 Blue coin (from big Goomba) 0x13000830/0x76 Bob-omb (re-spawns with no yellow coin) 0x13003174/0xBC Bob-omb buddy 0x130031DC/0xC3 Extra value is what message to say. Boo with yellow coin 0x13002804/0x65 Boo key ?/0x55 Bowser 0x13001850/0x64 Bowser red flame 0x13001AA4/0x90 Bowser shockwave 0x130011D0/0x68 Breakable box (can't pick up) 0x130014E0/0x81 Breakable box with three coins (can be picked up) 0x13004218/0x82 Brown door (warp) 0x13000AFC/0x1C Brown door with Star on one side (just walk through) 0x13000B0C/0x22 Bullet Bill 0x1300179C/0x54 Bullet Bill blaster 0x13000600/0x09 Cannon base 0x130004A8/0x80 Cannon balls that roll 0x13003A58/0xB4 Cap switch 0x130001CC/0x55 Extra value selects the type: 0x00=Wing cap (red) 0x01=Metal cap (green) 0x02=Vanish cap (blue) 0x03=Yellow (not normally used) Chain-chomp 0x1300478C/0x66 Chuk-ya 0x13000528/0xDF Dark brown door (warp) 0x13000AFC/0x1D Dorrie 0x13004F90/0x68 Explosion (e.g., from Bob-omb) 0x13003510/0xCD Flame thrower 0x13001108/0x00 Goomba 0x1300472C/0xC0 Green tree 0x13002AA4/0x17 Heave ho 0x13001548/0x59 Item box 0x13002250/0x89 Extra value (what you get from the item box): 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=Star 1 0x09=1-up mushroom (moves fast) 0x0A=Star 2 0x0B=Star 3 0x0C=Star 4 0x0D=Star 5 0x0E=Star 6 Killer fish 0x130055DC/0x59 King Bob-omb 0x130001F4/0x56 King Whomp 0x13002BB8/0x67 Koopa 0x13004580/0x68 Extra value: 0x00=Run around as if lost shell. 0x01=Small Koopa. 0x02=Koopa the Quick (Bob-omb Battlefield) 0x03=Koopa the Quick (Tiny-huge Island) 0x04=Tiny Koopa Koopa flag 0x130045D0/0xA3 Koopa shell 0x13001F3C/0xBE Long water float (Wet-dry world) 0x130042B4/0x3B Mario 0x13002EC0/0x01 Mario cap 0x13003DF8/0x88 Mine (used in Bowser fights) 0x130037EC/0xB3 (Can also use 0x65 for GFX ID instead for any of the 3 Bowser fight levels.) Mother penguin (Cool, cool mountain-can also spawn in Snowman's land) 0x13002088/0x57 Penguin (Snowman's land, can also spawn in Cool, cool mountain) 0x13002E58/0x57 Pirahna plant 0x13001FBC/0x64 Red coin 0x13003EAC/0xD7 Red coin number 0x13004348/0xDB Red fire 0x13001184/0x90 Red fire 'slug' spawner 0x13001168/0x00 Red flame (in castle) 0x13000C84/0x90 Red flame from Bowser 'flame thrower' 0x13001A74/0x90 Rusty door 0x13000AFC/0x29 Shy guy 0x130046DC/0xDC Signpost 0x130032E0/0x7C Skeeter 0x13005468/0x69 Small ice bully (not normally used) 0x130036C8/0x64 Small water float (Wet-dry world) 0x13004284/0x36 Spindrift 0x130012B4/0x54 Star 0x130007F8/0x7A Star (100 coin star type although can also be used as course star) 0x1300080C/0X7A Star sparkle (e.g., from coin) 0x13000A14/0x95 Star sparkle (random, e.g. from 1-up mushroom) 0x13002AF0/0x00 Star sparkle (single sparkle placed in front at set distance) 0x13002AD0/0x8F Starman door (sliding door) 0x13000000/0xD5 Ten yellow coins 0x13000984/0x00 Thwomp 0x13000B8C/0x58 Toad 0x13002EF8/0xDD Water bomb (Bob-omb battlefield) 0x13004BA8/0x0054 Water bomb shadow (Bob-omb battlefield) 0x13004BD4/0x0055 Water switch (Wet-dry world) 0x130025F8/0x38 Water up splash 0x13002C14/0xA7 Wing cap 0x13003DB8/0x87 Whomp 0x13002BCC/0x67 Wind-up baddy 0x13001548/0x59 Yellow coin (in Boo) 0x13000888/0x74 Yellow coin type 1 0x1300091C/0x74 Yellow coin (from Bob-omb) 0x13003068/0x74 Yellow star (when Mario hits something) 0x13000A78/0x8B Yellow star from final Bowser fight 0x13001714/0x7A Yellow triangle from hitting/kicking wall 0x13000ABC/0x8A Yoshi 0x13004538/0x55 Yoshi egg ?/0x57 Behaviour Pointer values (as they appear in the RAM) The behaviour pointer values point to a behaviour script that controls what behaviour coding is to be used and also sets up the values of certain variables in every object structure that uses that behaviour. These values can be used in any course and stay at the same position in memory; these behaviour pointer values determine how the object behaves regardless or how it looks or is animated. PAL address values will be listed, for NTSC add 0xA940. For example, the Koopa shell behaviour for the PAL game is 0x800E277C, so for NTSC add 0xA940 which equals 800ED0BC. Known behaviour script commands: 0X00000000 Functions like a NOP (i.e. do nothing) 0x0C000000 0x1101???? ???? sets the value of the variable at offset 0x8E in the object structure that controls how much the object reacts to Mario. 0x1103???? ???? puts the value ???? at offset 0x96 in the object structure. 0x27260000 ???????? sets the value of the variable at offset 0x120 in the object structure. Behaviour pointer values for the PAL game: By object: Ampere 0x800E3BF0 0x800E3BC8 |