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
; object_struct OBJECT_FLAGS1 bit flags
INVISIBLE EQU 0
FIXED_FACING EQU 2
SLIDING EQU 3
EMOTE_OBJECT EQU 7
INVISIBLE_F EQU 0
FIXED_FACING_F EQU 2
SLIDING_F EQU 3
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
LOW_PRIORITY EQU 0
HIGH_PRIORITY EQU 1
OVERHEAD EQU 3
LOW_PRIORITY_F EQU 0
HIGH_PRIORITY_F EQU 1
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)
const_def

View File

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

View File

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

View File

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

View File

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

View File

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