mirror of https://github.com/pret/pokecrystal.git
Use known sprite movement data flag constants
This commit is contained in:
parent
32b92ca51c
commit
c5d18de8ff
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue