summaryrefslogtreecommitdiff
path: root/engine/sprites.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/sprites.asm')
-rwxr-xr-xengine/sprites.asm179
1 files changed, 91 insertions, 88 deletions
diff --git a/engine/sprites.asm b/engine/sprites.asm
index 77e3b68b7..5c9ea69b8 100755
--- a/engine/sprites.asm
+++ b/engine/sprites.asm
@@ -25,7 +25,7 @@ PlaySpriteAnimations: ; 8cf69
ld a, $0
ld [wc3b5], a
- call Function8cf7a
+ call DoNextFrameForAllSprites
pop af
pop bc
@@ -34,7 +34,7 @@ PlaySpriteAnimations: ; 8cf69
ret
; 8cf7a
-Function8cf7a: ; 8cf7a
+DoNextFrameForAllSprites: ; 8cf7a
ld hl, wSpriteAnimationStructs
ld e, 10 ; There are 10 structs here.
@@ -241,7 +241,7 @@ Function8d04c: ; 8d04c
jr z, .done
cp -4
jr z, .almost
- call Function8d1a2 ; read from a pointer table
+ call Function8d1a2 ; OAM?
ld a, [wc3ba]
add [hl]
ld [wc3ba], a
@@ -416,40 +416,40 @@ Function8d120:: ; 8d120
Function8d132: ; 8d132
.loop
- ld hl, $8
+ ld hl, SPRITEANIMSTRUCT_DURATION
add hl, bc
ld a, [hl]
and a
- jr z, .ok
+ jr z, .done ; finished the current sequence
dec [hl]
- call Function8d189
+ call Function8d189 ; load pointer from Unknown_8d6e6
ld a, [hli]
push af
- jr .skip
+ jr .okay
-.ok
- ld hl, $a
+.done
+ ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
inc [hl]
- call Function8d189
+ call Function8d189 ; load pointer from Unknown_8d6e6
ld a, [hli]
cp $fe
jr z, .minus_2
cp $ff
jr z, .minus_1
+
push af
ld a, [hl]
push hl
and $3f
- ld hl, $9
+ ld hl, SPRITEANIMSTRUCT_09
add hl, bc
add [hl]
- ld hl, $8
+ ld hl, SPRITEANIMSTRUCT_DURATION
add hl, bc
ld [hl], a
pop hl
-
-.skip
+.okay
ld a, [hl]
and $c0
srl a
@@ -459,10 +459,11 @@ Function8d132: ; 8d132
.minus_1
xor a
- ld hl, $8
+ ld hl, SPRITEANIMSTRUCT_DURATION
add hl, bc
ld [hl], a
- ld hl, $a
+
+ ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
rept 2
dec [hl]
@@ -471,20 +472,22 @@ endr
.minus_2
xor a
- ld hl, $8
+ ld hl, SPRITEANIMSTRUCT_DURATION
add hl, bc
ld [hl], a
+
dec a
- ld hl, $a
+ ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
ld [hl], a
jr .loop
; 8d189
Function8d189: ; 8d189
- ; Get the [bc+10]th entry in the data table
- ; indexed at [bc+1] in Unknown_8d6e6
- ld hl, $1
+ ; Get the data for the current frame for the current animation sequence
+
+ ; Unknown_8d6e6 + 2 * SpriteAnim[SPRITEANIMSTRUCT_01] + 3 * SpriteAnim[SPRITEANIMSTRUCT_FRAME]
+ ld hl, SPRITEANIMSTRUCT_01
add hl, bc
ld e, [hl]
ld d, 0
@@ -495,7 +498,7 @@ endr
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, $a
+ ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
ld l, [hl]
ld h, 0
@@ -1406,72 +1409,72 @@ endr
; 8d6e6 (23:56e6)
Unknown_8d6e6: ; 8d6e6
- dw Unknown_8d76a
- dw Unknown_8d76d
- dw Unknown_8d772
- dw Unknown_8d777
- dw Unknown_8d77c
- dw Unknown_8d781
- dw Unknown_8d786
- dw Unknown_8d7a6
- dw Unknown_8d7ab
- dw Unknown_8d7b0
- dw Unknown_8d7b5
- dw Unknown_8d7d4
- dw Unknown_8d7d9
- dw Unknown_8d7e2
- dw Unknown_8d7eb
- dw Unknown_8d7f4
- dw Unknown_8d7ff
- dw Unknown_8d78b
- dw Unknown_8d802
- dw Unknown_8d805
- dw Unknown_8d808
- dw Unknown_8d811
- dw Unknown_8d818
- dw Unknown_8d81d
- dw Unknown_8d822
- dw Unknown_8d825
- dw Unknown_8d82c
- dw Unknown_8d82f
- dw Unknown_8d861
- dw Unknown_8d864
- dw Unknown_8d867
- dw Unknown_8d874
- dw Unknown_8d877
- dw Unknown_8d87a
- dw Unknown_8d87d
- dw Unknown_8d880
- dw Unknown_8d883
- dw Unknown_8d890
- dw Unknown_8d899
- dw Unknown_8d89c
- dw Unknown_8d89f
- dw Unknown_8d8a2
- dw Unknown_8d8a5
- dw Unknown_8d8a8
- dw Unknown_8d8ab
- dw Unknown_8d794
- dw Unknown_8d79d
- dw Unknown_8d8ae
- dw Unknown_8d8cd
- dw Unknown_8d8ec
- dw Unknown_8d8f1
- dw Unknown_8d8f4
- dw Unknown_8d8f7
- dw Unknown_8d8fe
- dw Unknown_8d907
- dw Unknown_8d90c
- dw Unknown_8d913
- dw Unknown_8d916
- dw Unknown_8d91d
- dw Unknown_8d924
- dw Unknown_8d92b
- dw Unknown_8d932
- dw Unknown_8d93d
- dw Unknown_8d940
- dw Unknown_8d943
- dw Unknown_8d948
+ dw Unknown_8d76a ; 00
+ dw Unknown_8d76d ; 01
+ dw Unknown_8d772 ; 02
+ dw Unknown_8d777 ; 03
+ dw Unknown_8d77c ; 04
+ dw Unknown_8d781 ; 05
+ dw Unknown_8d786 ; 06
+ dw Unknown_8d7a6 ; 07
+ dw Unknown_8d7ab ; 08
+ dw Unknown_8d7b0 ; 09
+ dw Unknown_8d7b5 ; 0a
+ dw Unknown_8d7d4 ; 0b
+ dw Unknown_8d7d9 ; 0c
+ dw Unknown_8d7e2 ; 0d
+ dw Unknown_8d7eb ; 0e
+ dw Unknown_8d7f4 ; 0f
+ dw Unknown_8d7ff ; 10
+ dw Unknown_8d78b ; 11
+ dw Unknown_8d802 ; 12
+ dw Unknown_8d805 ; 13
+ dw Unknown_8d808 ; 14
+ dw Unknown_8d811 ; 15
+ dw Unknown_8d818 ; 16
+ dw Unknown_8d81d ; 17
+ dw Unknown_8d822 ; 18
+ dw Unknown_8d825 ; 19
+ dw Unknown_8d82c ; 1a
+ dw Unknown_8d82f ; 1b
+ dw Unknown_8d861 ; 1c
+ dw Unknown_8d864 ; 1d
+ dw Unknown_8d867 ; 1e
+ dw Unknown_8d874 ; 1f
+ dw Unknown_8d877 ; 20
+ dw Unknown_8d87a ; 21
+ dw Unknown_8d87d ; 22
+ dw Unknown_8d880 ; 23
+ dw Unknown_8d883 ; 24
+ dw Unknown_8d890 ; 25
+ dw Unknown_8d899 ; 26
+ dw Unknown_8d89c ; 27
+ dw Unknown_8d89f ; 28
+ dw Unknown_8d8a2 ; 29
+ dw Unknown_8d8a5 ; 2a
+ dw Unknown_8d8a8 ; 2b
+ dw Unknown_8d8ab ; 2c
+ dw Unknown_8d794 ; 2d
+ dw Unknown_8d79d ; 2e
+ dw Unknown_8d8ae ; 2f
+ dw Unknown_8d8cd ; 30
+ dw Unknown_8d8ec ; 31
+ dw Unknown_8d8f1 ; 32
+ dw Unknown_8d8f4 ; 33
+ dw Unknown_8d8f7 ; 34
+ dw Unknown_8d8fe ; 35
+ dw Unknown_8d907 ; 36
+ dw Unknown_8d90c ; 37
+ dw Unknown_8d913 ; 38
+ dw Unknown_8d916 ; 39
+ dw Unknown_8d91d ; 3a
+ dw Unknown_8d924 ; 3b
+ dw Unknown_8d92b ; 3c
+ dw Unknown_8d932 ; 3d
+ dw Unknown_8d93d ; 3e
+ dw Unknown_8d940 ; 3f
+ dw Unknown_8d943 ; 40
+ dw Unknown_8d948 ; 41
; 8d76a
Unknown_8d76a: dw $2000