User Tools

Site Tools


super:technical_information:data_structures

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
super:technical_information:data_structures [2019/03/21 23:49] – Clarity on event headers p.jboysuper:technical_information:data_structures [2019/07/07 14:25] – [Enemy population] p.jboy
Line 131: Line 131:
 Door headers define doors, they exist in bank $83 and have a fixed length of 12 bytes. Door headers define doors, they exist in bank $83 and have a fixed length of 12 bytes.
 The **door ASM** can execute any arbitrary ASM and is often used to set scroll values for the new room where the door would normally be hidden inside a red scroll. The **door ASM** can execute any arbitrary ASM and is often used to set scroll values for the new room where the door would normally be hidden inside a red scroll.
 +If the **distance from door to spawn Samus** is negative (8000h..FFFFh), the standard value of 0x00C8 is used for horizontal doors or 0x0180 for vertical doors.
  
 The **elevator properties** are as follows: The **elevator properties** are as follows:
Line 136: Line 137:
 | 0x80 | Door is an elevator | | 0x80 | Door is an elevator |
 | 0x40 | Switch map to new area | | 0x40 | Switch map to new area |
-| 0x0i | Marks elevator i as used |+| 0x0i | Marks elevator index i as used |
  
 The **orientation** values are as follows: The **orientation** values are as follows:
Line 482: Line 483:
   [...]                                   ; Other enemies   [...]                                   ; Other enemies
   FFFF                                    ; Terminator   FFFF                                    ; Terminator
-  nnnn                                    ; Number of enemy deaths needed to clear current room+  nn                                      ; Number of enemy deaths needed to clear current room
  
 Enemy population defines the placement of enemies, as well as some generic and enemy specific properties. Enemy population defines the placement of enemies, as well as some generic and enemy specific properties.
-They're stored in bank $A1 with each enemy being 16 bytes, plus a byte overhead.+They're stored in bank $A1 with each enemy being 16 bytes, plus a byte overhead.
 The **initialisation parameter** is overwritten by generic enemy routines and so is often only used during enemy initialisation, the other two **general purpose parameters** do not have this restriction. The **initialisation parameter** is overwritten by generic enemy routines and so is often only used during enemy initialisation, the other two **general purpose parameters** do not have this restriction.
  
super/technical_information/data_structures.txt · Last modified: 2024/03/22 16:09 by p.jboy