summaryrefslogtreecommitdiff
path: root/home/map_objects.asm
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2018-05-23 12:48:14 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2018-05-23 12:48:14 -0400
commit32b92ca51c73f1ad9be169bef476b9c93687e2a4 (patch)
tree310cbf0ee30c832941a1afc0da5ff35e1089c292 /home/map_objects.asm
parent4e776d4fa6bb0510fa06416ad7a6dd9ffe0ff724 (diff)
Start improving sprite movement engine (to do: identify bit flags)
Introduce maskbits N[, S]: optionally shift the bitmask
Diffstat (limited to 'home/map_objects.asm')
-rw-r--r--home/map_objects.asm20
1 files changed, 10 insertions, 10 deletions
diff --git a/home/map_objects.asm b/home/map_objects.asm
index c99e27088..5acea7822 100644
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -482,10 +482,10 @@ GetSpriteMovementFunction:: ; 1a2f
xor a
.ok
- ld hl, SpriteMovementData
+ ld hl, SpriteMovementData + SPRITEMOVEATTR_MOVEMENT
ld e, a
ld d, 0
-rept SPRITEMOVEDATA_FIELDS
+rept NUM_SPRITEMOVEDATA_FIELDS
add hl, de
endr
ld a, [hl]
@@ -497,15 +497,15 @@ GetInitialFacing:: ; 1a47
push de
ld e, a
ld d, 0
- ld hl, SpriteMovementData + 1 ; init facing
-rept SPRITEMOVEDATA_FIELDS
+ ld hl, SpriteMovementData + SPRITEMOVEATTR_FACING
+rept NUM_SPRITEMOVEDATA_FIELDS
add hl, de
endr
ld a, BANK(SpriteMovementData)
call GetFarByte
add a
add a
- and $c
+ maskbits NUM_DIRECTIONS, 2
pop de
pop bc
ret
@@ -537,8 +537,8 @@ CopySpriteMovementData:: ; 1a61
push de
ld e, a
ld d, 0
- ld hl, SpriteMovementData + 1 ; init facing
-rept SPRITEMOVEDATA_FIELDS
+ ld hl, SpriteMovementData + SPRITEMOVEATTR_FACING
+rept NUM_SPRITEMOVEDATA_FIELDS
add hl, de
endr
ld b, h
@@ -549,7 +549,7 @@ endr
inc bc
rlca
rlca
- and %00001100
+ maskbits NUM_DIRECTIONS, 2
ld hl, OBJECT_FACING
add hl, de
ld [hl], a
@@ -654,7 +654,7 @@ SetSpriteDirection:: ; 1af8
and %11110011
ld e, a
pop af
- and %00001100
+ maskbits NUM_DIRECTIONS, 2
or e
ld [hl], a
ret
@@ -664,6 +664,6 @@ GetSpriteDirection:: ; 1b07
ld hl, OBJECT_FACING
add hl, bc
ld a, [hl]
- and %00001100
+ maskbits NUM_DIRECTIONS, 2
ret
; 1b0f