diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2018-05-23 12:48:14 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2018-05-23 12:48:14 -0400 |
commit | 32b92ca51c73f1ad9be169bef476b9c93687e2a4 (patch) | |
tree | 310cbf0ee30c832941a1afc0da5ff35e1089c292 /home/map_objects.asm | |
parent | 4e776d4fa6bb0510fa06416ad7a6dd9ffe0ff724 (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.asm | 20 |
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 |