Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
ff3:ff3us:doc:asm:fmt:warp [2016/03/03 11:24] hatzen08 created |
ff3:ff3us:doc:asm:fmt:warp [2019/02/12 10:29] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
+ | aka. Warp Triggers, Entrance Triggers | ||
===== Overview ===== | ===== Overview ===== | ||
- | When the player steps in a specific coordinate | + | When the player steps in a specific coordinate |
===== Offsets ===== | ===== Offsets ===== | ||
- | ^ Description | + | ^ Exits (short) |
- | | Base offset | + | ^ Description |
- | | Block size | $02 | + | | Pointers |
- | | Number | + | | Nr of Pointers (bytes) | $0201 ($0402) |
- | | Total size | $0340 | + | | Data Address |
+ | | Block size | $06 | | ||
+ | |||
+ | ^ Exits (long) | ||
+ | ^ Description | ||
+ | | Pointers (16-bit) | ||
+ | | Nr of Pointers (bytes) | ||
+ | | Data Address | ||
+ | | Block size | $07 | | ||
The structure is a sequence of two-byte pointers. The index of the pointer is relative to the map number. | The structure is a sequence of two-byte pointers. The index of the pointer is relative to the map number. | ||
- | The actual offset of the appointed data is the pointer value plus the base offset. | + | The actual offset of the appointed data is the pointer value plus the pointer |
The game system checks the actual pointer and the next pointer to determinate the amount of data to read. It can include multiple data blocks. | The game system checks the actual pointer and the next pointer to determinate the amount of data to read. It can include multiple data blocks. | ||
Line 21: | Line 30: | ||
===== Data ===== | ===== Data ===== | ||
- | ^ Offset | + | ^ Exits (short) |
- | | $00 | | + | ^ Offset |
- | | $01 | | + | | $00 | X position, actual map || |
- | | $02 | + | | $01 | Y position, actual map || |
+ | | $02 | new map, low byte || | ||
| $03 | $01 | new map, high bit | | | $03 | $01 | new map, high bit | | ||
- | | ::: | $02 | ? | | + | | ::: | $02 | refresh parent map (from world map) | |
- | | ::: | $04 | ? | | + | | ::: | $04 | enter on low Z-level? | |
| ::: | $08 | display location name | | | ::: | $08 | display location name | | ||
| ::: | $30 | direction facing | | ::: | $30 | direction facing | ||
| ::: | $40 | ? | | | ::: | $40 | ? | | ||
| ::: | $80 | ? | | | ::: | $80 | ? | | ||
- | | $04 | $FF | + | | $04 |
- | | $05 | $FF | + | | $05 |
+ | |||
+ | ^ Exits (long) | ||
+ | ^ Offset | ||
+ | | $00 | X position, actual map || | ||
+ | | $01 | Y position, actual map || | ||
+ | | $02 | $7F | Spread Size | | ||
+ | | ::: | $80 | Horizontal/ | ||
+ | | $03 | new map, low byte || | ||
+ | | $04 | $01 | new map, high bit | | ||
+ | | ::: | $02 | refresh parent map (from world map) | | ||
+ | | ::: | $04 | enter on low Z-level? | ||
+ | | ::: | $08 | display location name | | ||
+ | | ::: | $30 | direction facing | ||
+ | | ::: | $40 | ? | | ||
+ | | ::: | $80 | ? | | ||
+ | | $05 | ||
+ | | $06 | ||
===== Notes ===== | ===== Notes ===== |