User Tools

Site Tools


super_mario_64:behavior_commands

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
super_mario_64:behavior_commands [2018/03/16 06:41]
arthurtilly [0D: Update Object]
super_mario_64:behavior_commands [2019/11/03 09:13]
jesusyoshi54 [2B: Set Collision Sphere]
Line 12: Line 12:
 | <color darkgrey>​T</​color>​ | Type of object. ​ Used to determine which linked list placed in. | | <color darkgrey>​T</​color>​ | Type of object. ​ Used to determine which linked list placed in. |
 | <color purple>​A</​color>​ | Might be a bit-field, but Behavior00 ignores them | | <color purple>​A</​color>​ | Might be a bit-field, but Behavior00 ignores them |
 +
 +^ List ^ Description ^
 +| 00 | Mario |
 +| 01 | Unused |
 +| 02 | Objects that can be used to destroy other objects, like bob-ombs and corkboxes. |
 +| 03 | Unused |
 +| 04 | Most normal '​enemies'​ or actors are on this list. |
 +| 05 | This is a group of objects which can push each other around as well as their parent objects. |
 +| 06 | General level objects such as heart, star. |
 +| 07 | Unused |
 +| 08 | Default list. |
 +| 09 | Objects that use a collision model. |
 +| 0A | Objects that attract or otherwise "​cling"​ mario similar to a pole action. |
 +| 0B | Spawners |
 +| 0C | Objects that will not load if there are not enough object slots. |
  
 Length: 4 Length: 4
Line 124: Line 139:
 ---- ----
 ==== 0C: Call Function ==== ==== 0C: Call Function ====
-Calls ASM function.  Usually used to call object init routine or looping routine between 0x08/0x09 commands.+Calls an ASM function ​in RAM.
  
 ''​0C 00 00 00 [<color purple>​AA AA AA AA</​color>​]''​ ''​0C 00 00 00 [<color purple>​AA AA AA AA</​color>​]''​
  
-| <color purple>​A</​color>​ | ASM routine ​to call |+| <color purple>​A</​color>​ | RAM address of ASM function ​to call |
  
 Length: 8 Length: 8
Line 134: Line 149:
 ---- ----
  
-==== 0D: Update Object ​====+==== 0D: Offset by Float ====
 Used to offset the value of an address by a float. Used to offset the value of an address by a float.
  
Line 140: Line 155:
  
 | <color purple>​A</​color>​ | Address = <color purple>​A</​color>​*4+88 | | <color purple>​A</​color>​ | Address = <color purple>​A</​color>​*4+88 |
-| <color brown>​B</​color>​ | float +| <color brown>​B</​color>​ | s16 
-| obj->​address += B (floating point addition) ||+| obj->​address += B(float) ||
  
 Length: 4 Length: 4
Line 147: Line 162:
 ---- ----
  
-==== 0E: Sight Distance ​==== +==== 0E: Set to Float ==== 
-Mostly used for sight distance, does nearly ​the same as 0x0D.+Used to set the value of an address to a float.
  
 ''​0E [<color purple>​AA</​color>​] [<color brown>BB BB</​color>​]''​ ''​0E [<color purple>​AA</​color>​] [<color brown>BB BB</​color>​]''​
  
 | <color purple>​A</​color>​ | Address = <color purple>​A</​color>​*4+88 | | <color purple>​A</​color>​ | Address = <color purple>​A</​color>​*4+88 |
-| <color brown>​B</​color>​ | float +| <color brown>​B</​color>​ | s16 
-| obj->​address = (float)B (special case is 45 for sight distance) ||+| obj->​address = B(float) ||
  
 Length: 4 Length: 4
Line 160: Line 175:
 ---- ----
  
-==== 0F: Texture Animate ​==== +==== 0F: Offset by Integer ​==== 
-Mostly used as texture animation rate. Same as 0x0D, but without float.+Used to offset the value of an address by an integer.
  
 ''​0F [<color purple>​AA</​color>​] [<color brown>BB BB</​color>​]''​ ''​0F [<color purple>​AA</​color>​] [<color brown>BB BB</​color>​]''​
Line 167: Line 182:
 | <color purple>​A</​color>​ | Address = <color purple>​A</​color>​*4+88 | | <color purple>​A</​color>​ | Address = <color purple>​A</​color>​*4+88 |
 | <color brown>​B</​color>​ | u16 | | <color brown>​B</​color>​ | u16 |
-| obj->​address = B (special case is 1A for texture animation rate) ||+| obj->​address ​+= B ||
  
 Length: 4 Length: 4
Line 173: Line 188:
 ---- ----
  
-==== 10: Special Parameter ​==== + 
-Special Parameter.+==== 10: Set to Integer ​==== 
 +Used to set the value of an address to an integer.
  
 ''​10 [<color purple>​AA</​color>​] [<color brown>BB BB</​color>​]''​ ''​10 [<color purple>​AA</​color>​] [<color brown>BB BB</​color>​]''​
Line 180: Line 196:
 | <color purple>​A</​color>​ | Address = <color purple>​A</​color>​*4+88 | | <color purple>​A</​color>​ | Address = <color purple>​A</​color>​*4+88 |
 | <color brown>​B</​color>​ | u16 | | <color brown>​B</​color>​ | u16 |
-| obj->​address ​+= B (special case is 2A for interaction or 2F for Bparam2 rate) ||+| obj->​address = B ||
  
 Length: 4 Length: 4
  
 ---- ----
- 
 ==== 11: Bit-set ==== ==== 11: Bit-set ====
 Sets bits designated by mask <color brown>​B</​color>​ at object offset <color purple>​A</​color>​*4+88. Sets bits designated by mask <color brown>​B</​color>​ at object offset <color purple>​A</​color>​*4+88.
Line 399: Line 414:
 ---- ----
  
-==== 23: Collision ​sphere ​size ==== +==== 23: Collision ​cylinder ​size ==== 
-Define the collision ​sphere ​size.+Define the collision ​cylinder ​size.
  
-''​23 00 00 00 [<color darkred>XZ XZ</​color>​] [<color darkgreen>​YY YY</​color>​]''​+''​23 00 00 00 [<color darkred>RR RR</​color>​] [<color darkgreen>​HH HH</​color>​]''​
  
-| <color darkred>XZ</​color>​ | X and Z sphere+| <color darkred>R</​color>​ | Radius of collision cylinder
-| <color darkgreen>​Y</​color>​ | Y sphere ​|+| <color darkgreen>​H</​color>​ | Height of collision cylinder|
  
 Length: 8 Length: 8
Line 502: Line 517:
 Set collision data. Set collision data.
  
-''​2B 00 00 00 [<color darkred>​AA AA</​color>​] [<color darkgreen>​BB BB</​color>​] [<color darkblue>​CC CC</​color>​]''​+''​2B 00 00 00 [<color darkred>​AA AA</​color>​] [<color darkgreen>​BB BB</​color>​] [<color darkblue>​CC CC</​color>​] ​00 00''​
  
 | <color darkred>​A</​color>​ | X/Z sphere as int | | <color darkred>​A</​color>​ | X/Z sphere as int |
 | <color darkgreen>​B</​color>​ | Y sphere as int | | <color darkgreen>​B</​color>​ | Y sphere as int |
-| <color darkblue>​C</​color>​ | obj->​0x208 = (float)<​color darkblue>​C</​color>​ |+| <color darkblue>​C</​color>​ | obj->-Y offset(0x208= (float)<​color darkblue>​C</​color>​ |
  
 Length: C Length: C
Line 515: Line 530:
 Spawns object. Same as 0x1C, but stores child obj pointer to parent->​0x6C. Spawns object. Same as 0x1C, but stores child obj pointer to parent->​0x6C.
  
-''​2C 00 00 00 [<color darkred>​AA AA AA AA</​color>​] [<color darkgreen>​BB BB BB BB</​color>​] [<color darkblue>​CC CC</​color>​]''​+''​2C 00 00 00 [<color darkred>​AA AA AA AA</​color>​] [<color darkgreen>​BB BB BB BB</​color>​]''​
  
 | <color darkred>​A</​color>​ | model ID | | <color darkred>​A</​color>​ | model ID |
Line 533: Line 548:
 ---- ----
  
-==== 2E: Sight Distance ​==== +==== 2E: Set Hurtbox ​==== 
-Uselessly long version of 0E?+Sets object hurtbox radius and height
  
 ''​2E 00 00 00 [<color darkred>​AA AA</​color>​] [<color darkgreen>​BB BB</​color>​]''​ ''​2E 00 00 00 [<color darkred>​AA AA</​color>​] [<color darkgreen>​BB BB</​color>​]''​
  
-| <color darkred>​A</​color>​ | obj->​0x200 = (float) <color darkred>​A</​color>​ | +| <color darkred>​A</​color>​ | obj->Hurtbox Radius (0x200= (float) <color darkred>​A</​color>​ | 
-| <color darkgreen>​B</​color>​ | obj->​0x204 = (float) <color darkgreen>​B</​color>​ |+| <color darkgreen>​B</​color>​ | obj->Hurtbox Height (0x204= (float) <color darkgreen>​B</​color>​ |
  
 Length: 8 Length: 8
Line 558: Line 573:
 | 00000008 | Damages Mario (normal) | | 00000008 | Damages Mario (normal) |
 | 00000010 | Coin | | 00000010 | Coin |
-| 00000020 | Nothing? ​|+| 00000020 | Cap |
 | 00000040 | Pole | | 00000040 | Pole |
 | 00000080 | Damages Mario (can be punched, bounced on) | | 00000080 | Damages Mario (can be punched, bounced on) |
Line 594: Line 609:
 ''​30 00 00 00 [<color darkred>​AA AA</​color>​] [<color darkgreen>​BB BB</​color>​] [<color darkblue>​CC CC</​color>​] [<color red>DD DD</​color>​] [<color green>EE EE</​color>​] [<color blue>FF FF</​color>​] [<color purple>​GG GG</​color>​] [<color darkgrey>​HH HH</​color>​]''​ ''​30 00 00 00 [<color darkred>​AA AA</​color>​] [<color darkgreen>​BB BB</​color>​] [<color darkblue>​CC CC</​color>​] [<color red>DD DD</​color>​] [<color green>EE EE</​color>​] [<color blue>FF FF</​color>​] [<color purple>​GG GG</​color>​] [<color darkgrey>​HH HH</​color>​]''​
  
-| <color darkred>​A</​color>​ | obj->0x128 = (float)<​color darkred>​A</​color>​ | +| <color darkred>​A</​color>​ | obj->oWallHitboxRadius ​= (float)<​color darkred>​A</​color>​ | 
-| <color darkgreen>​B</​color>​ | obj->0xE8 = (float)<​color darkgreen>​B</​color>/​100 | +| <color darkgreen>​B</​color>​ | obj->oGravity ​= (float)<​color darkgreen>​B</​color>/​100 | 
-| <color darkblue>​C</​color>​ | obj->0x158 = (float)<​color darkblue>​C</​color>/​100 | +| <color darkblue>​C</​color>​ | obj->oBounce ​= (float)<​color darkblue>​C</​color>/​100 | 
-| <color red>​D</​color>​ | obj->0x12C = (float)<​color red>​D</​color>/​100 | +| <color red>​D</​color>​ | obj->oDragStrength ​= (float)<​color red>​D</​color>/​100 | 
-| <color green>​E</​color>​ | obj->0x170 = (float)<​color green>​E</​color>/​100 | +| <color green>​E</​color>​ | obj->oFriction ​= (float)<​color green>​E</​color>/​100 | 
-| <color blue>​F</​color>​ | obj->0x174 = (float)<​color blue>​F</​color>/​100 |+| <color blue>​F</​color>​ | obj->oBuoyancy ​= (float)<​color blue>​F</​color>/​100 |
 | <color purple>​G</​color>​ | Ignored | | <color purple>​G</​color>​ | Ignored |
 | <color darkgrey>​H</​color>​ | Ignored | | <color darkgrey>​H</​color>​ | Ignored |
Line 607: Line 622:
 ---- ----
  
-==== 31: ?? ==== +==== 31: Set Interaction Sub-Type ​==== 
-Sets obj->​0x190. Unused.+Sets obj->​0x190
  
 ''​31 00 00 00 [<color darkred>​AA AA AA AA</​color>​]''​ ''​31 00 00 00 [<color darkred>​AA AA AA AA</​color>​]''​
  
-| <color darkred>​A</​color>​ | obj->​0x190 = <color darkred>​A</​color>​ |+| <color darkred>​A</​color>​ | obj->Interaction SubType (0x190= <color darkred>​A</​color>​ |
  
 Length: 8 Length: 8
super_mario_64/behavior_commands.txt · Last modified: 2019/11/03 09:17 by jesusyoshi54