Use known sprite movement data flag constants

This commit is contained in:
Rangi
2018-05-23 13:15:07 -04:00
parent 32b92ca51c
commit c5d18de8ff
6 changed files with 59 additions and 51 deletions

View File

@@ -44,16 +44,24 @@ OW_LEFT EQU LEFT << 2
OW_RIGHT EQU RIGHT << 2 OW_RIGHT EQU RIGHT << 2
; object_struct OBJECT_FLAGS1 bit flags ; object_struct OBJECT_FLAGS1 bit flags
INVISIBLE EQU 0 INVISIBLE_F EQU 0
FIXED_FACING EQU 2 FIXED_FACING_F EQU 2
SLIDING EQU 3 SLIDING_F EQU 3
EMOTE_OBJECT EQU 7 EMOTE_OBJECT_F EQU 7
INVISIBLE EQU 1 << INVISIBLE_F
FIXED_FACING EQU 1 << FIXED_FACING_F
SLIDING EQU 1 << SLIDING_F
EMOTE_OBJECT EQU 1 << EMOTE_OBJECT_F
; object_struct OBJECT_FLAGS2 bit flags ; object_struct OBJECT_FLAGS2 bit flags
LOW_PRIORITY EQU 0 LOW_PRIORITY_F EQU 0
HIGH_PRIORITY EQU 1 HIGH_PRIORITY_F EQU 1
OVERHEAD EQU 3 OVERHEAD_F EQU 3
LOW_PRIORITY EQU 1 << LOW_PRIORITY_F
HIGH_PRIORITY EQU 1 << HIGH_PRIORITY_F
OVERHEAD EQU 1 << OVERHEAD_F
; map_object struct members (see macros/wram.asm) ; map_object struct members (see macros/wram.asm)
const_def const_def

View File

@@ -13,7 +13,7 @@ SpriteMovementData:: ; 4273
db SPRITEMOVEFN_STANDING ; movement function db SPRITEMOVEFN_STANDING ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_STAND ; action db OBJECT_ACTION_STAND ; action
db 1 << 2 | 1 << 3 ; flags1 db FIXED_FACING | SLIDING ; flags1
db 0 ; flags2 db 0 ; flags2
db 0 ; palette flags db 0 ; palette flags
@@ -173,15 +173,15 @@ SpriteMovementData:: ; 4273
db SPRITEMOVEFN_BIG_SNORLAX ; movement function db SPRITEMOVEFN_BIG_SNORLAX ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_BIG_DOLL_SYM ; action db OBJECT_ACTION_BIG_DOLL_SYM ; action
db 1 << 1 | 1 << 2 | 1 << 3 | 1 << 5 ; flags1 db 1 << 1 | FIXED_FACING | SLIDING | 1 << 5 ; flags1
db 1 << 0 ; flags2 db LOW_PRIORITY ; flags2
db 1 << 6 | 1 << 7 ; palette flags db 1 << 6 | 1 << 7 ; palette flags
; SPRITEMOVEDATA_POKEMON ; SPRITEMOVEDATA_POKEMON
db SPRITEMOVEFN_BOUNCE ; movement function db SPRITEMOVEFN_BOUNCE ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_BOUNCE ; action db OBJECT_ACTION_BOUNCE ; action
db 1 << 1 | 1 << 2 | 1 << 3 | 1 << 5 ; flags1 db 1 << 1 | FIXED_FACING | SLIDING | 1 << 5 ; flags1
db 0 ; flags2 db 0 ; flags2
db 0 ; palette flags db 0 ; palette flags
@@ -189,7 +189,7 @@ SpriteMovementData:: ; 4273
db SPRITEMOVEFN_STANDING ; movement function db SPRITEMOVEFN_STANDING ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_STAND ; action db OBJECT_ACTION_STAND ; action
db 1 << 2 | 1 << 3 ; flags1 db FIXED_FACING | SLIDING ; flags1
db 0 ; flags2 db 0 ; flags2
db 0 ; palette flags db 0 ; palette flags
@@ -197,7 +197,7 @@ SpriteMovementData:: ; 4273
db SPRITEMOVEFN_STANDING ; movement function db SPRITEMOVEFN_STANDING ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_STAND ; action db OBJECT_ACTION_STAND ; action
db 1 << 1 | 1 << 2 | 1 << 3 | 1 << 5 ; flags1 db 1 << 1 | FIXED_FACING | SLIDING | 1 << 5 ; flags1
db 1 << 4 ; flags2 db 1 << 4 ; flags2
db 0 ; palette flags db 0 ; palette flags
@@ -205,7 +205,7 @@ SpriteMovementData:: ; 4273
db SPRITEMOVEFN_STRENGTH ; movement function db SPRITEMOVEFN_STRENGTH ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_STAND ; action db OBJECT_ACTION_STAND ; action
db 1 << 1 | 1 << 2 | 1 << 3 | 1 << 5 ; flags1 db 1 << 1 | FIXED_FACING | SLIDING | 1 << 5 ; flags1
db 0 ; flags2 db 0 ; flags2
db 1 << 6 ; palette flags db 1 << 6 ; palette flags
@@ -221,23 +221,23 @@ SpriteMovementData:: ; 4273
db SPRITEMOVEFN_SHADOW ; movement function db SPRITEMOVEFN_SHADOW ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_00 ; action db OBJECT_ACTION_00 ; action
db 1 << 1 | 1 << 2 | 1 << 3 | 1 << 7 ; flags1 db 1 << 1 | FIXED_FACING | SLIDING | EMOTE_OBJECT ; flags1
db 1 << 0 ; flags2 db LOW_PRIORITY ; flags2
db 0 ; palette flags db 0 ; palette flags
; SPRITEMOVEDATA_EMOTE ; SPRITEMOVEDATA_EMOTE
db SPRITEMOVEFN_EMOTE ; movement function db SPRITEMOVEFN_EMOTE ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_EMOTE ; action db OBJECT_ACTION_EMOTE ; action
db 1 << 1 | 1 << 2 | 1 << 3 | 1 << 7 ; flags1 db 1 << 1 | FIXED_FACING | SLIDING | EMOTE_OBJECT ; flags1
db 1 << 1 ; flags2 db HIGH_PRIORITY ; flags2
db 0 ; palette flags db 0 ; palette flags
; SPRITEMOVEDATA_SCREENSHAKE ; SPRITEMOVEDATA_SCREENSHAKE
db SPRITEMOVEFN_SCREENSHAKE ; movement function db SPRITEMOVEFN_SCREENSHAKE ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_00 ; action db OBJECT_ACTION_00 ; action
db 1 << 1 | 1 << 7 ; flags1 db 1 << 1 | EMOTE_OBJECT ; flags1
db 0 ; flags2 db 0 ; flags2
db 0 ; palette flags db 0 ; palette flags
@@ -261,32 +261,32 @@ SpriteMovementData:: ; 4273
db SPRITEMOVEFN_STRENGTH ; movement function db SPRITEMOVEFN_STRENGTH ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_BIG_DOLL_ASYM ; action db OBJECT_ACTION_BIG_DOLL_ASYM ; action
db 1 << 1 | 1 << 2 | 1 << 3 | 1 << 5 ; flags1 db 1 << 1 | FIXED_FACING | SLIDING | 1 << 5 ; flags1
db 1 << 0 ; flags2 db LOW_PRIORITY ; flags2
db 1 << 6 | 1 << 7 ; palette flags db 1 << 6 | 1 << 7 ; palette flags
; SPRITEMOVEDATA_BIGDOLL ; SPRITEMOVEDATA_BIGDOLL
db SPRITEMOVEFN_STRENGTH ; movement function db SPRITEMOVEFN_STRENGTH ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_BIG_DOLL ; action db OBJECT_ACTION_BIG_DOLL ; action
db 1 << 1 | 1 << 2 | 1 << 3 | 1 << 5 ; flags1 db 1 << 1 | FIXED_FACING | SLIDING | 1 << 5 ; flags1
db 1 << 0 ; flags2 db LOW_PRIORITY ; flags2
db 1 << 6 | 1 << 7 ; palette flags db 1 << 6 | 1 << 7 ; palette flags
; SPRITEMOVEDATA_BOULDERDUST ; SPRITEMOVEDATA_BOULDERDUST
db SPRITEMOVEFN_BOULDERDUST ; movement function db SPRITEMOVEFN_BOULDERDUST ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_BOULDER_DUST ; action db OBJECT_ACTION_BOULDER_DUST ; action
db 1 << 1 | 1 << 2 | 1 << 3 | 1 << 7 ; flags1 db 1 << 1 | FIXED_FACING | SLIDING | EMOTE_OBJECT ; flags1
db 1 << 0 ; flags2 db LOW_PRIORITY ; flags2
db 0 ; palette flags db 0 ; palette flags
; SPRITEMOVEDATA_GRASS ; SPRITEMOVEDATA_GRASS
db SPRITEMOVEFN_GRASS ; movement function db SPRITEMOVEFN_GRASS ; movement function
db DOWN ; facing db DOWN ; facing
db OBJECT_ACTION_GRASS_SHAKE ; action db OBJECT_ACTION_GRASS_SHAKE ; action
db 1 << 1 | 1 << 2 | 1 << 3 | 1 << 7 ; flags1 db 1 << 1 | FIXED_FACING | SLIDING | EMOTE_OBJECT ; flags1
db 1 << 1 ; flags2 db HIGH_PRIORITY ; flags2
db 0 ; palette flags db 0 ; palette flags
; SPRITEMOVEDATA_SWIM_WANDER ; SPRITEMOVEDATA_SWIM_WANDER

View File

@@ -47,7 +47,7 @@ SetFacingStandAction: ; 44b5
SetFacingStepAction: ; 44c1 SetFacingStepAction: ; 44c1
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
bit SLIDING, [hl] bit SLIDING_F, [hl]
jp nz, SetFacingCurrent jp nz, SetFacingCurrent
ld hl, OBJECT_STEP_FRAME ld hl, OBJECT_STEP_FRAME
@@ -59,7 +59,7 @@ SetFacingStepAction: ; 44c1
rrca rrca
rrca rrca
and %00000011 maskbits NUM_DIRECTIONS
ld d, a ld d, a
call GetSpriteDirection call GetSpriteDirection
@@ -74,7 +74,7 @@ SetFacingStepAction: ; 44c1
SetFacingSkyfall: ; 44e4 SetFacingSkyfall: ; 44e4
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
bit SLIDING, [hl] bit SLIDING_F, [hl]
jp nz, SetFacingCurrent jp nz, SetFacingCurrent
ld hl, OBJECT_STEP_FRAME ld hl, OBJECT_STEP_FRAME
@@ -86,7 +86,7 @@ SetFacingSkyfall: ; 44e4
rrca rrca
rrca rrca
and %00000011 maskbits NUM_DIRECTIONS
ld d, a ld d, a
call GetSpriteDirection call GetSpriteDirection
@@ -101,7 +101,7 @@ SetFacingSkyfall: ; 44e4
SetFacingBumpAction: ; 4508 SetFacingBumpAction: ; 4508
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
bit SLIDING, [hl] bit SLIDING_F, [hl]
jp nz, SetFacingCurrent jp nz, SetFacingCurrent
ld hl, OBJECT_STEP_FRAME ld hl, OBJECT_STEP_FRAME
@@ -112,7 +112,7 @@ SetFacingBumpAction: ; 4508
rrca rrca
rrca rrca
rrca rrca
and %00000011 maskbits NUM_DIRECTIONS
ld d, a ld d, a
call GetSpriteDirection call GetSpriteDirection
@@ -245,7 +245,7 @@ SetFacingWeirdTree: ; 45ab
ld a, [hl] ld a, [hl]
inc a inc a
ld [hl], a ld [hl], a
and %00001100 maskbits NUM_DIRECTIONS, 2
rrca rrca
rrca rrca
add FACING_WEIRD_TREE_0 add FACING_WEIRD_TREE_0

View File

@@ -146,7 +146,7 @@ Function437b: ; 437b
.HandleObjectAction: .HandleObjectAction:
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
bit INVISIBLE, [hl] bit INVISIBLE_F, [hl]
jr nz, SetFacingStanding jr nz, SetFacingStanding
ld hl, OBJECT_FLAGS2 ld hl, OBJECT_FLAGS2
add hl, bc add hl, bc
@@ -161,7 +161,7 @@ Function437b: ; 437b
Function4440: ; 4440 Function4440: ; 4440
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
bit INVISIBLE, [hl] bit INVISIBLE_F, [hl]
jr nz, SetFacingStanding jr nz, SetFacingStanding
asm_4448: asm_4448:
ld de, ObjectActionPairPointers + 2 ; use second column ld de, ObjectActionPairPointers + 2 ; use second column
@@ -233,7 +233,7 @@ Function462a: ; 462a
UpdateTallGrassFlags: ; 463f UpdateTallGrassFlags: ; 463f
ld hl, OBJECT_FLAGS2 ld hl, OBJECT_FLAGS2
add hl, bc add hl, bc
bit OVERHEAD, [hl] bit OVERHEAD_F, [hl]
jr z, .ok jr z, .ok
ld hl, OBJECT_NEXT_TILE ld hl, OBJECT_NEXT_TILE
add hl, bc add hl, bc
@@ -260,13 +260,13 @@ SetTallGrassFlags: ; 4661
.set .set
ld hl, OBJECT_FLAGS2 ld hl, OBJECT_FLAGS2
add hl, bc add hl, bc
set OVERHEAD, [hl] set OVERHEAD_F, [hl]
ret ret
.reset .reset
ld hl, OBJECT_FLAGS2 ld hl, OBJECT_FLAGS2
add hl, bc add hl, bc
res OVERHEAD, [hl] res OVERHEAD_F, [hl]
ret ret
; 4679 ; 4679
@@ -298,7 +298,7 @@ InitStep: ; 4690
ld [hl], a ld [hl], a
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
bit FIXED_FACING, [hl] bit FIXED_FACING_F, [hl]
jr nz, GetNextTile jr nz, GetNextTile
add a add a
add a add a
@@ -2155,7 +2155,7 @@ DespawnEmote: ; 5579
push af push af
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, de add hl, de
bit EMOTE_OBJECT, [hl] bit EMOTE_OBJECT_F, [hl]
jr z, .next jr z, .next
ld hl, OBJECT_SPRITE ld hl, OBJECT_SPRITE
add hl, de add hl, de
@@ -2918,10 +2918,10 @@ InitSprites: ; 5991
ld e, PRIORITY_LOW ld e, PRIORITY_LOW
ld hl, OBJECT_FLAGS2 ld hl, OBJECT_FLAGS2
add hl, bc add hl, bc
bit LOW_PRIORITY, [hl] bit LOW_PRIORITY_F, [hl]
jr nz, .add jr nz, .add
ld e, PRIORITY_NORM ld e, PRIORITY_NORM
bit HIGH_PRIORITY, [hl] bit HIGH_PRIORITY_F, [hl]
jr z, .add jr z, .add
ld e, PRIORITY_HIGH ld e, PRIORITY_HIGH
jr .add jr .add

View File

@@ -377,42 +377,42 @@ Movement_tree_shake: ; 5279
Movement_remove_sliding: ; 5293 Movement_remove_sliding: ; 5293
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
res SLIDING, [hl] res SLIDING_F, [hl]
jp ContinueReadingMovement jp ContinueReadingMovement
; 529c ; 529c
Movement_set_sliding: ; 529c Movement_set_sliding: ; 529c
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
set SLIDING, [hl] set SLIDING_F, [hl]
jp ContinueReadingMovement jp ContinueReadingMovement
; 52a5 ; 52a5
Movement_remove_fixed_facing: ; 52a5 Movement_remove_fixed_facing: ; 52a5
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
res FIXED_FACING, [hl] res FIXED_FACING_F, [hl]
jp ContinueReadingMovement jp ContinueReadingMovement
; 52ae ; 52ae
Movement_fix_facing: ; 52ae Movement_fix_facing: ; 52ae
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
set FIXED_FACING, [hl] set FIXED_FACING_F, [hl]
jp ContinueReadingMovement jp ContinueReadingMovement
; 52b7 ; 52b7
Movement_show_object: ; 52b7 Movement_show_object: ; 52b7
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
res INVISIBLE, [hl] res INVISIBLE_F, [hl]
jp ContinueReadingMovement jp ContinueReadingMovement
; 52c0 ; 52c0
Movement_hide_object: ; 52c0 Movement_hide_object: ; 52c0
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
set INVISIBLE, [hl] set INVISIBLE_F, [hl]
jp ContinueReadingMovement jp ContinueReadingMovement
; 52c9 ; 52c9
@@ -838,7 +838,7 @@ JumpStep: ; 548a
ld hl, OBJECT_FLAGS2 ld hl, OBJECT_FLAGS2
add hl, bc add hl, bc
res OVERHEAD, [hl] res OVERHEAD_F, [hl]
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
add hl, bc add hl, bc

View File

@@ -1071,7 +1071,7 @@ ApplyObjectFacing:
jr c, .not_visible ; STILL_SPRITE jr c, .not_visible ; STILL_SPRITE
ld hl, OBJECT_FLAGS1 ld hl, OBJECT_FLAGS1
add hl, bc add hl, bc
bit FIXED_FACING, [hl] bit FIXED_FACING_F, [hl]
jr nz, .not_visible jr nz, .not_visible
pop de pop de
ld a, e ld a, e