User Tools

Site Tools


super_mario_64:level_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:level_commands [2018/06/26 18:27]
shygoo [Level Commands]
super_mario_64:level_commands [2019/04/10 15:59]
Andrey Linked to Macro section and explained the bit splitting on that object variable
Line 449: Line 449:
 Connect warps defined by previous [[#24: Place Object]] commands. Connect warps defined by previous [[#24: Place Object]] commands.
  
-''​26 08 [<color red>​AA</​color>​] [<color green>​BB</​color>​] [<color aqua>​CC</​color>​] [<color fuchsia>​DD</​color>​] ​00 00''​+''​26 08 [<color red>​AA</​color>​] [<color green>​BB</​color>​] [<color aqua>​CC</​color>​] [<color fuchsia>​DD</​color>​] ​[<color goldenrod>​EE</​color>​] ​00''​
    
 | <color red>​A</​color>​ | Warp ID to jump from (defined by [[#21: Load Polygon Without Geo]] and [[#22: Load Polygon With Geo]]) | | <color red>​A</​color>​ | Warp ID to jump from (defined by [[#21: Load Polygon Without Geo]] and [[#22: Load Polygon With Geo]]) |
Line 455: Line 455:
 | <color aqua>​C</​color>​ | Course area to jump to | | <color aqua>​C</​color>​ | Course area to jump to |
 | <color fuchsia>​D</​color>​ | Warp ID number in destination level area | | <color fuchsia>​D</​color>​ | Warp ID number in destination level area |
 +| <color goldenrod>​E</​color>​ | If set to 0x80, then the game will create a checkpoint when the warp is triggered. |
  
 ---- ----
Line 461: Line 462:
 Define level warps for paintings inside the Castle. Define level warps for paintings inside the Castle.
  
-''​27 08 [<color red>​AA</​color>​] [<color green>​BB</​color>​] [<color aqua>​CC</​color>​] [<color fuchsia>​DD</​color>​] ​00 00''​+''​27 08 [<color red>​AA</​color>​] [<color green>​BB</​color>​] [<color aqua>​CC</​color>​] [<color fuchsia>​DD</​color>​] ​[<color goldenrod>​EE</​color>​] ​00''​
    
 | <color red>​A</​color>​ | Warp ID to jump from (defined by [[#21: Load Polygon Without Geo]] and [[#22: Load Polygon With Geo]]) | | <color red>​A</​color>​ | Warp ID to jump from (defined by [[#21: Load Polygon Without Geo]] and [[#22: Load Polygon With Geo]]) |
Line 467: Line 468:
 | <color aqua>​C</​color>​ | Course area to jump to | | <color aqua>​C</​color>​ | Course area to jump to |
 | <color fuchsia>​D</​color>​ | Warp ID number in destination level area | | <color fuchsia>​D</​color>​ | Warp ID number in destination level area |
 +| <color goldenrod>​E</​color>​ | If set to 0x80, then the game will create a checkpoint when the warp is triggered. |
  
 ---- ----
Line 499: Line 501:
  
 ==== 29: ?? ==== ==== 29: ?? ====
 +''​29 04 [??] 00''​
  
 +| ? | Unknown |
 +
 +Note: ?? is usually 01. ?? being 02 was only used once in the original game, in the Act Select level script.
 ---- ----
  
Line 539: Line 545:
 ---- ----
  
-==== 2F: Render ​Area?? ​==== +==== 2F: Setup Render ​Room ==== 
-Decides which area of the level geometry to render.  ​Used in BBHHMC, and Inside Castle ​levels.+Used in the levels Big Boo's HauntHazy Maze Cave, and Inside Castle
 + 
 +The segmented pointer in this command points to a byte array, with the same length as number of collision triangles in the level. Each byte in this array will be placed into offset 0x5 in the [[super_mario_64:​structs#​collision_triangle|collision triangle structure]].  
 + 
 +When the ASM function 0x8029DBD4 is used with [[super_mario_64:​geometry_layout_commands#​eswitch_case|geometry layout switch command]], it will use that offset 0x5 byte of the collision triangle that is below Mario as an index to determine which display list to render.
  
 ''​2F 08 00 00 [<color red>XX XX XX XX</​color>​]''​ ''​2F 08 00 00 [<color red>XX XX XX XX</​color>​]''​
  
-| <color red>​X</​color>​ | Segment offset ​pointer ​to ?? |+| <color red>​X</​color>​ | Segment offset to the byte array |
  
 ---- ----
Line 608: Line 618:
  
 ==== 36: Set Music ==== ==== 36: Set Music ====
-Set music. Used only in screen levels, like select file, select star and mario face and demo screen.+Set music. ​
  
 ''​36 08 [??] [??] [??] [<color red>​XX</​color>​] 00 00''​ ''​36 08 [??] [??] [??] [<color red>​XX</​color>​] 00 00''​
Line 618: Line 628:
  
 ==== 37: Set Music ==== ==== 37: Set Music ====
-Set music+Set music. Used only in screen levels, like select file, select star and mario face and demo screen.
  
 ''​37 04 00 [<color red>​XX</​color>​]''​ ''​37 04 00 [<color red>​XX</​color>​]''​
Line 644: Line 654:
 ''​[<​color fuchsia>​BB BB</​color>​] [<color red>XX XX</​color>​] [<color green>YY YY</​color>​] [<color aqua>ZZ ZZ</​color>​] [?? ??​]''​ ''​[<​color fuchsia>​BB BB</​color>​] [<color red>XX XX</​color>​] [<color green>YY YY</​color>​] [<color aqua>ZZ ZZ</​color>​] [?? ??​]''​
  
-| <color fuchsia>​B</​color>​ | Object type ID (behavior, ​model, ​etc) |+| <color fuchsia>​B</​color>​ | Object type ID (references behaviour address and model id) and Y Rotation. First 7 bit are the Y-Rotationthe last 9 bit are the Object type ID. |
 | <color red>​X</​color>,<​color green>​Y</​color>,<​color aqua>​Z</​color>​ | Coordinates | | <color red>​X</​color>,<​color green>​Y</​color>,<​color aqua>​Z</​color>​ | Coordinates |
 | ?? | Always 00 00 ? | | ?? | Always 00 00 ? |
 +
 +[[sm64:​macro_objects|See here for more information]]
  
 ---- ----
super_mario_64/level_commands.txt · Last modified: 2020/11/21 15:10 by jesusyoshi54