diff options
Diffstat (limited to 'constants/map_object_constants.asm')
-rw-r--r-- | constants/map_object_constants.asm | 67 |
1 files changed, 56 insertions, 11 deletions
diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm index 73685d4ec..55a3f358b 100644 --- a/constants/map_object_constants.asm +++ b/constants/map_object_constants.asm @@ -44,16 +44,54 @@ OW_LEFT EQU LEFT << 2 OW_RIGHT EQU RIGHT << 2 ; object_struct OBJECT_FLAGS1 bit flags -INVISIBLE EQU 0 -FIXED_FACING EQU 2 -SLIDING EQU 3 -EMOTE_OBJECT EQU 7 + const_def + const INVISIBLE_F ; 0 + const WONT_DELETE_F ; 1 + const FIXED_FACING_F ; 2 + const SLIDING_F ; 3 + const NOCLIP_TILES_F ; 4 + const MOVE_ANYWHERE_F ; 5 + const NOCLIP_OBJS_F ; 6 + const EMOTE_OBJECT_F ; 7 + +INVISIBLE EQU 1 << INVISIBLE_F +WONT_DELETE EQU 1 << WONT_DELETE_F +FIXED_FACING EQU 1 << FIXED_FACING_F +SLIDING EQU 1 << SLIDING_F +NOCLIP_TILES EQU 1 << NOCLIP_TILES_F +MOVE_ANYWHERE EQU 1 << MOVE_ANYWHERE_F +NOCLIP_OBJS EQU 1 << NOCLIP_OBJS_F +EMOTE_OBJECT EQU 1 << EMOTE_OBJECT_F ; object_struct OBJECT_FLAGS2 bit flags -LOW_PRIORITY EQU 0 -HIGH_PRIORITY EQU 1 -OVERHEAD EQU 3 + const_def + const LOW_PRIORITY_F ; 0 + const HIGH_PRIORITY_F ; 1 + const OBJ_FLAGS2_2 ; 2 + const OVERHEAD_F ; 3 + const USE_OBP1_F ; 4 + +LOW_PRIORITY EQU 1 << LOW_PRIORITY_F +HIGH_PRIORITY EQU 1 << HIGH_PRIORITY_F +OVERHEAD EQU 1 << OVERHEAD_F +USE_OBP1 EQU 1 << USE_OBP1_F + +; object_struct OBJECT_PALETTE bit flags + const_def 5 + const SWIMMING_F ; 5 + const STRENGTH_BOULDER_F ; 6 + const BIG_OBJECT_F ; 7 +SWIMMING EQU 1 << SWIMMING_F +STRENGTH_BOULDER EQU 1 << STRENGTH_BOULDER_F +BIG_OBJECT EQU 1 << BIG_OBJECT_F + +; facing attribute bit flags +RELATIVE_ATTRIBUTES_F EQU 1 +ABSOLUTE_TILE_ID_F EQU 2 + +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 @@ -75,9 +113,18 @@ OVERHEAD EQU 3 const MAPOBJECT_F ; unused OBJECT_LENGTH EQU const_value -MAPOBJECT_SCREEN_HEIGHT EQU 11 -MAPOBJECT_SCREEN_WIDTH EQU 12 +; 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 +MAPOBJECT_SCREEN_WIDTH EQU (SCREEN_WIDTH / 2) + 2 +MAPOBJECT_SCREEN_HEIGHT EQU (SCREEN_HEIGHT / 2) + 2 ; SpriteMovementData indexes (see data/sprites/map_objects.asm) const_def @@ -119,7 +166,6 @@ MAPOBJECT_SCREEN_WIDTH EQU 12 const SPRITEMOVEDATA_GRASS ; 23 const SPRITEMOVEDATA_SWIM_WANDER ; 24 NUM_SPRITEMOVEDATA EQU const_value -SPRITEMOVEDATA_FIELDS EQU 6 ; MapObjectMovementPattern.Pointers indexes (see engine/overworld/map_objects.asm) const_def @@ -236,7 +282,6 @@ SPRITEMOVEDATA_FIELDS EQU 6 const FACING_GRASS_1 ; 1e const FACING_GRASS_2 ; 1f - ; DoPlayerMovement.DoStep arguments (see engine/overworld/player_movement.asm) const_def const STEP_SLOW ; 0 |