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
super_mario_64:level_commands [2018/09/03 12:00]
miles
super_mario_64:level_commands [2020/11/21 15:10] (current)
jesusyoshi54 text formating
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 503: Line 505:
 | ? | Unknown | | ? | Unknown |
  
-Note: ?? is usually 01. ?? being 02 was only used once, in the Act Select level script.+Note: ?? is usually 01. ?? being 02 was only used once in the original game, in the Act Select level script.
 ---- ----
  
Line 512: Line 514:
  
 ==== 0x2B: Set Mario'​s default position in the level ==== ==== 0x2B: Set Mario'​s default position in the level ====
- 2B 0C [AA] 00 [RY RY] [XX XX] [YY YY] [ZZ ZZ]+'' ​2B 0C [AA] 00 [RY RY] [XX XX] [YY YY] [ZZ ZZ]''​
    
  
Line 543: 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 648: 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.1535976048.txt.gz · Last modified: 2018/09/03 12:00 by miles