diff options
Diffstat (limited to 'engine/gfx/sprites.asm')
-rw-r--r-- | engine/gfx/sprites.asm | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/engine/gfx/sprites.asm b/engine/gfx/sprites.asm index f5ae26ba8..76519eb62 100644 --- a/engine/gfx/sprites.asm +++ b/engine/gfx/sprites.asm @@ -22,7 +22,7 @@ PlaySpriteAnimations: push af ld a, LOW(wVirtualOAM) - ld [wCurrSpriteOAMAddr], a + ld [wCurSpriteOAMAddr], a call DoNextFrameForAllSprites pop af @@ -55,11 +55,11 @@ DoNextFrameForAllSprites: dec e jr nz, .loop - ld a, [wCurrSpriteOAMAddr] + ld a, [wCurSpriteOAMAddr] ld l, a ld h, HIGH(wVirtualOAM) -.loop2 ; Clear (wVirtualOAM + [wCurrSpriteOAMAddr] --> wVirtualOAMEnd) +.loop2 ; Clear (wVirtualOAM + [wCurSpriteOAMAddr] --> wVirtualOAMEnd) ld a, l cp LOW(wVirtualOAMEnd) jr nc, .done @@ -94,11 +94,11 @@ DoNextFrameForFirst16Sprites: dec e jr nz, .loop - ld a, [wCurrSpriteOAMAddr] + ld a, [wCurSpriteOAMAddr] ld l, a ld h, HIGH(wVirtualOAMSprite16) -.loop2 ; Clear (wVirtualOAM + [wCurrSpriteOAMAddr] --> Sprites + $40) +.loop2 ; Clear (wVirtualOAM + [wCurSpriteOAMAddr] --> Sprites + $40) ld a, l cp LOW(wVirtualOAMSprite16) jr nc, .done @@ -233,27 +233,27 @@ UpdateAnimFrame: cp -4 jr z, .delete call GetFrameOAMPointer - ; add byte to [wCurrAnimVTile] - ld a, [wCurrAnimVTile] + ; add byte to [wCurAnimVTile] + ld a, [wCurAnimVTile] add [hl] - ld [wCurrAnimVTile], a + ld [wCurAnimVTile], a inc hl ; load pointer into hl ld a, [hli] ld h, [hl] ld l, a push bc - ld a, [wCurrSpriteOAMAddr] + ld a, [wCurSpriteOAMAddr] ld e, a ld d, HIGH(wVirtualOAM) ld a, [hli] ld c, a ; number of objects .loop ; first byte: y (px) - ; [de] = [wCurrAnimYCoord] + [wCurrAnimYOffset] + [wGlobalAnimYOffset] + AddOrSubtractY([hl]) - ld a, [wCurrAnimYCoord] + ; [de] = [wCurAnimYCoord] + [wCurAnimYOffset] + [wGlobalAnimYOffset] + AddOrSubtractY([hl]) + ld a, [wCurAnimYCoord] ld b, a - ld a, [wCurrAnimYOffset] + ld a, [wCurAnimYOffset] add b ld b, a ld a, [wGlobalAnimYOffset] @@ -265,10 +265,10 @@ UpdateAnimFrame: inc hl inc de ; second byte: x (px) - ; [de] = [wCurrAnimXCoord] + [wCurrAnimXOffset] + [wGlobalAnimXOffset] + AddOrSubtractX([hl]) - ld a, [wCurrAnimXCoord] + ; [de] = [wCurAnimXCoord] + [wCurAnimXOffset] + [wGlobalAnimXOffset] + AddOrSubtractX([hl]) + ld a, [wCurAnimXCoord] ld b, a - ld a, [wCurrAnimXOffset] + ld a, [wCurAnimXOffset] add b ld b, a ld a, [wGlobalAnimXOffset] @@ -280,8 +280,8 @@ UpdateAnimFrame: inc hl inc de ; third byte: vtile - ; [de] = [wCurrAnimVTile] + [hl] - ld a, [wCurrAnimVTile] + ; [de] = [wCurAnimVTile] + [hl] + ld a, [wCurAnimVTile] add [hl] ld [de], a inc hl @@ -293,7 +293,7 @@ UpdateAnimFrame: inc hl inc de ld a, e - ld [wCurrSpriteOAMAddr], a + ld [wCurSpriteOAMAddr], a cp LOW(wVirtualOAMEnd) jr nc, .reached_the_end dec c @@ -315,7 +315,7 @@ UpdateAnimFrame: AddOrSubtractY: push hl ld a, [hl] - ld hl, wCurrSpriteAddSubFlags + ld hl, wCurSpriteAddSubFlags bit 6, [hl] jr z, .ok ; 8 - a @@ -330,7 +330,7 @@ AddOrSubtractY: AddOrSubtractX: push hl ld a, [hl] - ld hl, wCurrSpriteAddSubFlags + ld hl, wCurSpriteAddSubFlags bit 5, [hl] ; x flip jr z, .ok ; 8 - a @@ -343,7 +343,7 @@ AddOrSubtractX: ret GetSpriteOAMAttr: - ld a, [wCurrSpriteAddSubFlags] + ld a, [wCurSpriteAddSubFlags] ld b, a ld a, [hl] xor b @@ -356,19 +356,19 @@ GetSpriteOAMAttr: InitSpriteAnimBuffer: xor a - ld [wCurrSpriteAddSubFlags], a + ld [wCurSpriteAddSubFlags], a ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc ld a, [hli] - ld [wCurrAnimVTile], a + ld [wCurAnimVTile], a ld a, [hli] - ld [wCurrAnimXCoord], a + ld [wCurAnimXCoord], a ld a, [hli] - ld [wCurrAnimYCoord], a + ld [wCurAnimYCoord], a ld a, [hli] - ld [wCurrAnimXOffset], a + ld [wCurAnimXOffset], a ld a, [hli] - ld [wCurrAnimYOffset], a + ld [wCurAnimYOffset], a ret GetSpriteAnimVTile: @@ -448,7 +448,7 @@ GetSpriteAnimFrame: ld a, [hl] and $c0 srl a - ld [wCurrSpriteAddSubFlags], a + ld [wCurSpriteAddSubFlags], a pop af ret |