Define more struct offset constants with rsreset instead of const_def

This was discussed in #739
This commit is contained in:
Rangi
2021-03-04 18:13:33 -05:00
parent ef20126fe5
commit 98da09b3e9
9 changed files with 148 additions and 136 deletions

View File

@@ -1,40 +1,40 @@
; object_struct members (see macros/wram.asm)
const_def
const OBJECT_SPRITE ; 00
const OBJECT_MAP_OBJECT_INDEX ; 01
const OBJECT_SPRITE_TILE ; 02
const OBJECT_MOVEMENTTYPE ; 03
const OBJECT_FLAGS1 ; 04
const OBJECT_FLAGS2 ; 05
const OBJECT_PALETTE ; 06
const OBJECT_DIRECTION_WALKING ; 07
const OBJECT_FACING ; 08
const OBJECT_STEP_TYPE ; 09
const OBJECT_STEP_DURATION ; 0a
const OBJECT_ACTION ; 0b
const OBJECT_STEP_FRAME ; 0c
const OBJECT_FACING_STEP ; 0d
const OBJECT_NEXT_TILE ; 0e
const OBJECT_STANDING_TILE ; 0f
const OBJECT_NEXT_MAP_X ; 10
const OBJECT_NEXT_MAP_Y ; 11
const OBJECT_MAP_X ; 12
const OBJECT_MAP_Y ; 13
const OBJECT_INIT_X ; 14
const OBJECT_INIT_Y ; 15
const OBJECT_RADIUS ; 16
const OBJECT_SPRITE_X ; 17
const OBJECT_SPRITE_Y ; 18
const OBJECT_SPRITE_X_OFFSET ; 19
const OBJECT_SPRITE_Y_OFFSET ; 1a
const OBJECT_MOVEMENT_BYTE_INDEX ; 1b
const OBJECT_1C ; 1c
const OBJECT_1D ; 1d
const OBJECT_1E ; 1e
const OBJECT_1F ; 1f
const OBJECT_RANGE ; 20
const_skip 7
OBJECT_LENGTH EQU const_value
rsreset
OBJECT_SPRITE rb ; 00
OBJECT_MAP_OBJECT_INDEX rb ; 01
OBJECT_SPRITE_TILE rb ; 02
OBJECT_MOVEMENTTYPE rb ; 03
OBJECT_FLAGS1 rb ; 04
OBJECT_FLAGS2 rb ; 05
OBJECT_PALETTE rb ; 06
OBJECT_DIRECTION_WALKING rb ; 07
OBJECT_FACING rb ; 08
OBJECT_STEP_TYPE rb ; 09
OBJECT_STEP_DURATION rb ; 0a
OBJECT_ACTION rb ; 0b
OBJECT_STEP_FRAME rb ; 0c
OBJECT_FACING_STEP rb ; 0d
OBJECT_NEXT_TILE rb ; 0e
OBJECT_STANDING_TILE rb ; 0f
OBJECT_NEXT_MAP_X rb ; 10
OBJECT_NEXT_MAP_Y rb ; 11
OBJECT_MAP_X rb ; 12
OBJECT_MAP_Y rb ; 13
OBJECT_INIT_X rb ; 14
OBJECT_INIT_Y rb ; 15
OBJECT_RADIUS rb ; 16
OBJECT_SPRITE_X rb ; 17
OBJECT_SPRITE_Y rb ; 18
OBJECT_SPRITE_X_OFFSET rb ; 19
OBJECT_SPRITE_Y_OFFSET rb ; 1a
OBJECT_MOVEMENT_BYTE_INDEX rb ; 1b
OBJECT_1C rb ; 1c
OBJECT_1D rb ; 1d
OBJECT_1E rb ; 1e
OBJECT_1F rb ; 1f
OBJECT_RANGE rb ; 20
rb_skip 7
OBJECT_LENGTH EQU _RS
NUM_OBJECT_STRUCTS EQU 13 ; see wObjectStructs
; object_struct OBJECT_FACING values
@@ -97,33 +97,31 @@ RELATIVE_ATTRIBUTES EQU 1 << RELATIVE_ATTRIBUTES_F
ABSOLUTE_TILE_ID EQU 1 << ABSOLUTE_TILE_ID_F
; map_object struct members (see macros/wram.asm)
const_def
const MAPOBJECT_OBJECT_STRUCT_ID ; 0
const MAPOBJECT_SPRITE ; 1
const MAPOBJECT_Y_COORD ; 2
const MAPOBJECT_X_COORD ; 3
const MAPOBJECT_MOVEMENT ; 4
const MAPOBJECT_RADIUS ; 5
const MAPOBJECT_HOUR ; 6
const MAPOBJECT_TIMEOFDAY ; 7
const MAPOBJECT_COLOR ; 8
const MAPOBJECT_RANGE ; 9
const MAPOBJECT_SCRIPT_POINTER ; a
const_skip ; high MAPOBJECT_SCRIPT_POINTER byte
const MAPOBJECT_EVENT_FLAG ; c
const_skip ; high MAPOBJECT_EVENT_FLAG byte
const_skip 2 ; unused
MAPOBJECT_LENGTH EQU const_value
rsreset
MAPOBJECT_OBJECT_STRUCT_ID rb ; 0
MAPOBJECT_SPRITE rb ; 1
MAPOBJECT_Y_COORD rb ; 2
MAPOBJECT_X_COORD rb ; 3
MAPOBJECT_MOVEMENT rb ; 4
MAPOBJECT_RADIUS rb ; 5
MAPOBJECT_HOUR rb ; 6
MAPOBJECT_TIMEOFDAY rb ; 7
MAPOBJECT_COLOR rb ; 8
MAPOBJECT_RANGE rb ; 9
MAPOBJECT_SCRIPT_POINTER rw ; a
MAPOBJECT_EVENT_FLAG rw ; c
rb_skip 2
MAPOBJECT_LENGTH EQU _RS
; SpriteMovementData struct members (see data/sprites/map_objects.asm)
const_def
const SPRITEMOVEATTR_MOVEMENT ; 0
const SPRITEMOVEATTR_FACING ; 1
const SPRITEMOVEATTR_ACTION ; 2
const SPRITEMOVEATTR_FLAGS1 ; 3
const SPRITEMOVEATTR_FLAGS2 ; 4
const SPRITEMOVEATTR_PALFLAGS ; 5
NUM_SPRITEMOVEDATA_FIELDS EQU const_value
rsreset
SPRITEMOVEATTR_MOVEMENT rb ; 0
SPRITEMOVEATTR_FACING rb ; 1
SPRITEMOVEATTR_ACTION rb ; 2
SPRITEMOVEATTR_FLAGS1 rb ; 3
SPRITEMOVEATTR_FLAGS2 rb ; 4
SPRITEMOVEATTR_PALFLAGS rb ; 5
NUM_SPRITEMOVEDATA_FIELDS EQU _RS
MAPOBJECT_SCREEN_WIDTH EQU (SCREEN_WIDTH / 2) + 2
MAPOBJECT_SCREEN_HEIGHT EQU (SCREEN_HEIGHT / 2) + 2