From 802cf616e7adfdf758203e61783764b0d361a19c Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 1 Jan 2018 18:49:53 -0500 Subject: Unused tileset animations stands out amid useful data --- tilesets/animations.asm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'tilesets/animations.asm') diff --git a/tilesets/animations.asm b/tilesets/animations.asm index d500a24b8..d95e26e47 100644 --- a/tilesets/animations.asm +++ b/tilesets/animations.asm @@ -95,7 +95,7 @@ TilesetJohto1Anim: ; 0xfc0a3 dw NULL, DoneTileAnimation ; 0xfc0d7 -TilesetAnimfc0d7: ; 0xfc0d7 +UnusedTilesetAnim_fc0d7: ; 0xfc0d7 dw vTiles2 tile $03, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileRightLeft dw vTiles2 tile $03, WriteTileFromBuffer @@ -109,7 +109,7 @@ TilesetAnimfc0d7: ; 0xfc0d7 dw NULL, DoneTileAnimation ; 0xfc103 -TilesetAnimfc103: ; 0xfc103 +UnusedTilesetAnim_fc103: ; 0xfc103 dw vTiles2 tile $14, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileRightLeft dw vTiles2 tile $14, WriteTileFromBuffer @@ -149,7 +149,7 @@ TilesetGym1Anim: ; 0xfc15f dw NULL, DoneTileAnimation ; 0xfc17f -TilesetAnimfc17f: ; 0xfc17f +UnusedTilesetAnim_fc17f: ; 0xfc17f dw vTiles2 tile $53, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileDown dw wTileAnimBuffer, ScrollTileDown @@ -164,7 +164,7 @@ TilesetAnimfc17f: ; 0xfc17f dw NULL, DoneTileAnimation ; 0xfc1af -TilesetAnimfc1af: ; 0xfc1af +UnusedTilesetAnim_fc1af: ; 0xfc1af dw vTiles2 tile $54, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileDown dw wTileAnimBuffer, ScrollTileDown @@ -245,7 +245,7 @@ TilesetSproutTowerAnim: ; 0xfc27f dw NULL, DoneTileAnimation ; 0xfc2bf -TilesetAnimfc2bf: ; 0xfc2bf +UnusedTilesetAnim_fc2bf: ; 0xfc2bf dw vTiles2 tile $4f, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileRightLeft dw vTiles2 tile $4f, WriteTileFromBuffer -- cgit v1.2.3 From 0b6857b1a9c3e170e78f65695e437150ab1e500f Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Wed, 3 Jan 2018 02:16:25 -0500 Subject: lava in gym_1 > fountain in unused safari zone --- tilesets/animations.asm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'tilesets/animations.asm') diff --git a/tilesets/animations.asm b/tilesets/animations.asm index d95e26e47..3ab8097e1 100644 --- a/tilesets/animations.asm +++ b/tilesets/animations.asm @@ -139,11 +139,11 @@ TilesetPortAnim: ; 0xfc12f ; 0xfc15f TilesetGym1Anim: ; 0xfc15f - dw NULL, SafariFountainAnim2 + dw NULL, LavaBubbleAnim2 dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation - dw NULL, SafariFountainAnim1 + dw NULL, LavaBubbleAnim1 dw NULL, WaitTileAnimation dw NULL, StandingTileFrame8 dw NULL, DoneTileAnimation @@ -704,7 +704,7 @@ FlowerTileFrames: ; fc58c ; fc5cc -SafariFountainAnim1: ; fc5cc +LavaBubbleAnim1: ; fc5cc ; Splash in the bottom-right corner of the fountain. ld hl, sp+0 ld b, h @@ -718,7 +718,7 @@ SafariFountainAnim1: ; fc5cc swap a ld e, a ld d, 0 - ld hl, SafariFountainFrames + ld hl, LavaBubbleFrames add hl, de ld sp, hl ld hl, vTiles2 tile $5b @@ -726,7 +726,7 @@ SafariFountainAnim1: ; fc5cc ; fc5eb -SafariFountainAnim2: ; fc5eb +LavaBubbleAnim2: ; fc5eb ; Splash in the top-left corner of the fountain. ld hl, sp+0 ld b, h @@ -738,7 +738,7 @@ SafariFountainAnim2: ; fc5eb add a ld e, a ld d, 0 - ld hl, SafariFountainFrames + ld hl, LavaBubbleFrames add hl, de ld sp, hl ld hl, vTiles2 tile $38 @@ -746,11 +746,11 @@ SafariFountainAnim2: ; fc5eb ; fc605 -SafariFountainFrames: ; fc605 - INCBIN "gfx/tilesets/safari/1.2bpp" - INCBIN "gfx/tilesets/safari/2.2bpp" - INCBIN "gfx/tilesets/safari/3.2bpp" - INCBIN "gfx/tilesets/safari/4.2bpp" +LavaBubbleFrames: ; fc605 + INCBIN "gfx/tilesets/lava/1.2bpp" + INCBIN "gfx/tilesets/lava/2.2bpp" + INCBIN "gfx/tilesets/lava/3.2bpp" + INCBIN "gfx/tilesets/lava/4.2bpp" ; fc645 -- cgit v1.2.3 From a8cf8979d9acf66d1bdf4ea115ab6a0faa8f9d34 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Tue, 9 Jan 2018 17:20:47 -0500 Subject: Do a little cleanup towards issue #465 --- tilesets/animations.asm | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'tilesets/animations.asm') diff --git a/tilesets/animations.asm b/tilesets/animations.asm index 3ab8097e1..89d38aa94 100644 --- a/tilesets/animations.asm +++ b/tilesets/animations.asm @@ -303,7 +303,7 @@ WaitTileAnimation: ; fc2fe StandingTileFrame8: ; fc2ff ld a, [TileAnimationTimer] inc a - and 7 + and %111 ld [TileAnimationTimer], a ret ; fc309 @@ -313,9 +313,9 @@ ScrollTileRightLeft: ; fc309 ; Scroll right for 4 ticks, then left for 4 ticks. ld a, [TileAnimationTimer] inc a - and 7 + and %111 ld [TileAnimationTimer], a - and 4 + and %100 jr nz, ScrollTileLeft jr ScrollTileRight ; fc318 @@ -324,9 +324,9 @@ ScrollTileUpDown: ; fc318 ; Scroll up for 4 ticks, then down for 4 ticks. ld a, [TileAnimationTimer] inc a - and 7 + and %111 ld [TileAnimationTimer], a - and 4 + and %100 jr nz, ScrollTileDown jr ScrollTileUp ; fc327 @@ -336,11 +336,11 @@ ScrollTileLeft: ; fc327 ld l, e ld c, 4 .loop - rept 4 +rept 4 ld a, [hl] rlca ld [hli], a - endr +endr dec c jr nz, .loop ret @@ -351,11 +351,11 @@ ScrollTileRight: ; fc33b ld l, e ld c, 4 .loop - rept 4 +rept 4 ld a, [hl] rrca ld [hli], a - endr +endr dec c jr nz, .loop ret @@ -424,7 +424,7 @@ AnimateFountain: ; fc387 ld c, l ld hl, .frames ld a, [TileAnimationTimer] - and 7 + and %111 add a add l ld l, a @@ -468,7 +468,7 @@ AnimateWaterTile: ; fc402 ld a, [TileAnimationTimer] ; 4 tile graphics, updated every other frame. - and 3 << 1 + and %110 ; 2 x 8 = 16 bytes per tile add a @@ -676,7 +676,7 @@ AnimateFlowerTile: ; fc56d ; Alternate tile graphic every other frame ld a, [TileAnimationTimer] - and 1 << 1 + and %10 ld e, a ; CGB has different color mappings for flowers. @@ -684,14 +684,14 @@ AnimateFlowerTile: ; fc56d and 1 add e - swap a ; << 4 (16 bytes) + swap a ld e, a ld d, 0 ld hl, FlowerTileFrames add hl, de ld sp, hl - ld hl, vTiles2 + $30 ; tile 4 + ld hl, vTiles2 tile $03 jp WriteTile ; fc58c @@ -710,11 +710,11 @@ LavaBubbleAnim1: ; fc5cc ld b, h ld c, l ld a, [TileAnimationTimer] - and 6 + and %110 srl a inc a inc a - and 3 + and %011 swap a ld e, a ld d, 0 @@ -732,7 +732,7 @@ LavaBubbleAnim2: ; fc5eb ld b, h ld c, l ld a, [TileAnimationTimer] - and 6 + and %110 add a add a add a @@ -764,7 +764,7 @@ AnimateSproutPillarTile: ; fc645 ld c, l ld a, [TileAnimationTimer] - and 7 + and %111 ; Get frame index a ld hl, .frames @@ -948,7 +948,7 @@ TileAnimationPalette: ; fc6d7 ld a, l and %110 ; frames 0 2 4 6 jr z, .color0 - cp 4 + cp %100 ; frame 4 jr z, .color2 .color1 @@ -992,7 +992,7 @@ FlickeringCaveEntrancePalette: ; fc71e ret nz ; We only want to be here if we're in a dark cave. ld a, [wTimeOfDayPalset] - cp $ff ; 3,3,3,3 + cp %11111111 ; 3,3,3,3 ret nz ld a, [rSVBK] @@ -1003,7 +1003,7 @@ FlickeringCaveEntrancePalette: ; fc71e ld a, (1 << rBGPI_AUTO_INCREMENT) palette PAL_BG_YELLOW ld [rBGPI], a ld a, [hVBlankCounter] - and 1 << 1 + and %10 jr nz, .bit1set ld hl, wBGPals1 palette PAL_BG_YELLOW jr .okay -- cgit v1.2.3 From fbc353f206ad457f32493b061b83e9067109e504 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Tue, 9 Jan 2018 18:08:40 -0500 Subject: Replace some hex constants --- tilesets/animations.asm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'tilesets/animations.asm') diff --git a/tilesets/animations.asm b/tilesets/animations.asm index 89d38aa94..74679b1ee 100644 --- a/tilesets/animations.asm +++ b/tilesets/animations.asm @@ -367,9 +367,9 @@ ScrollTileUp: ; fc34f ld d, [hl] inc hl ld e, [hl] - ld bc, $e + ld bc, TILE_WIDTH * 2 - 2 add hl, bc - ld a, 4 + ld a, TILE_WIDTH / 2 .loop ld c, [hl] ld [hl], e @@ -391,14 +391,14 @@ ScrollTileUp: ; fc34f ScrollTileDown: ; fc36a ld h, d ld l, e - ld de, $e + ld de, TILE_WIDTH * 2 - 2 push hl add hl, de ld d, [hl] inc hl ld e, [hl] pop hl - ld a, 4 + ld a, TILE_WIDTH / 2 .loop ld b, [hl] ld [hl], d -- cgit v1.2.3 From 9af6d8d0f1cdfe13d5b6b028b7da2965fddaab67 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Tue, 9 Jan 2018 23:53:58 -0500 Subject: Split tilesets/ into gfx/tilesets and data/tilesets/ --- tilesets/animations.asm | 1060 ----------------------------------------------- 1 file changed, 1060 deletions(-) delete mode 100644 tilesets/animations.asm (limited to 'tilesets/animations.asm') diff --git a/tilesets/animations.asm b/tilesets/animations.asm deleted file mode 100644 index 74679b1ee..000000000 --- a/tilesets/animations.asm +++ /dev/null @@ -1,1060 +0,0 @@ -_AnimateTileset:: ; fc000 -; Iterate over a given pointer array of -; animation functions (one per frame). - -; Typically in wra1, vra0 - - ld a, [TilesetAnim] - ld e, a - ld a, [TilesetAnim + 1] - ld d, a - - ld a, [hTileAnimFrame] - ld l, a - inc a - ld [hTileAnimFrame], a - - ld h, 0 - add hl, hl - add hl, hl - add hl, de - -; 2-byte parameter -; All functions take input de. - ld e, [hl] - inc hl - ld d, [hl] - inc hl - -; Function address - ld a, [hli] - ld h, [hl] - ld l, a - - jp hl -; fc01b - -Tileset0Anim: ; 0xfc01b -TilesetJohto2Anim: ; 0xfc01b -TilesetKantoAnim: ; 0xfc01b - dw vTiles2 tile $14, AnimateWaterTile - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, TileAnimationPalette - dw NULL, WaitTileAnimation - dw NULL, AnimateFlowerTile - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, StandingTileFrame8 - dw NULL, DoneTileAnimation -; 0xfc047 - -TilesetParkAnim: ; 0xfc047 - dw vTiles2 tile $14, AnimateWaterTile - dw NULL, WaitTileAnimation - dw vTiles2 tile $5f, AnimateFountain - dw NULL, WaitTileAnimation - dw NULL, TileAnimationPalette - dw NULL, WaitTileAnimation - dw NULL, AnimateFlowerTile - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, StandingTileFrame8 - dw NULL, DoneTileAnimation -; 0xfc073 - -TilesetIlexForestAnim: ; 0xfc073 - dw NULL, ForestTreeLeftAnimation - dw NULL, ForestTreeRightAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, ForestTreeLeftAnimation2 - dw NULL, ForestTreeRightAnimation2 - dw NULL, AnimateFlowerTile - dw vTiles2 tile $14, AnimateWaterTile - dw NULL, TileAnimationPalette - dw NULL, StandingTileFrame8 - dw NULL, DoneTileAnimation -; 0xfc0a3 - -TilesetJohto1Anim: ; 0xfc0a3 - dw vTiles2 tile $14, AnimateWaterTile - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, TileAnimationPalette - dw NULL, WaitTileAnimation - dw NULL, AnimateFlowerTile - dw WhirlpoolFrames1, AnimateWhirlpoolTile - dw WhirlpoolFrames2, AnimateWhirlpoolTile - dw WhirlpoolFrames3, AnimateWhirlpoolTile - dw WhirlpoolFrames4, AnimateWhirlpoolTile - dw NULL, WaitTileAnimation - dw NULL, StandingTileFrame8 - dw NULL, DoneTileAnimation -; 0xfc0d7 - -UnusedTilesetAnim_fc0d7: ; 0xfc0d7 - dw vTiles2 tile $03, WriteTileToBuffer - dw wTileAnimBuffer, ScrollTileRightLeft - dw vTiles2 tile $03, WriteTileFromBuffer - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, AnimateFlowerTile - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, DoneTileAnimation -; 0xfc103 - -UnusedTilesetAnim_fc103: ; 0xfc103 - dw vTiles2 tile $14, WriteTileToBuffer - dw wTileAnimBuffer, ScrollTileRightLeft - dw vTiles2 tile $14, WriteTileFromBuffer - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, DoneTileAnimation -; 0xfc12f - -TilesetPortAnim: ; 0xfc12f - dw vTiles2 tile $14, AnimateWaterTile - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, TileAnimationPalette - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, StandingTileFrame8 - dw NULL, DoneTileAnimation -; 0xfc15f - -TilesetGym1Anim: ; 0xfc15f - dw NULL, LavaBubbleAnim2 - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, LavaBubbleAnim1 - dw NULL, WaitTileAnimation - dw NULL, StandingTileFrame8 - dw NULL, DoneTileAnimation -; 0xfc17f - -UnusedTilesetAnim_fc17f: ; 0xfc17f - dw vTiles2 tile $53, WriteTileToBuffer - dw wTileAnimBuffer, ScrollTileDown - dw wTileAnimBuffer, ScrollTileDown - dw vTiles2 tile $53, WriteTileFromBuffer - dw vTiles2 tile $03, WriteTileToBuffer - dw wTileAnimBuffer, ScrollTileRightLeft - dw vTiles2 tile $03, WriteTileFromBuffer - dw vTiles2 tile $53, WriteTileToBuffer - dw wTileAnimBuffer, ScrollTileDown - dw wTileAnimBuffer, ScrollTileDown - dw vTiles2 tile $53, WriteTileFromBuffer - dw NULL, DoneTileAnimation -; 0xfc1af - -UnusedTilesetAnim_fc1af: ; 0xfc1af - dw vTiles2 tile $54, WriteTileToBuffer - dw wTileAnimBuffer, ScrollTileDown - dw wTileAnimBuffer, ScrollTileDown - dw vTiles2 tile $54, WriteTileFromBuffer - dw NULL, WaitTileAnimation - dw vTiles2 tile $03, WriteTileToBuffer - dw wTileAnimBuffer, ScrollTileRightLeft - dw vTiles2 tile $03, WriteTileFromBuffer - dw NULL, WaitTileAnimation - dw vTiles2 tile $54, WriteTileToBuffer - dw wTileAnimBuffer, ScrollTileDown - dw wTileAnimBuffer, ScrollTileDown - dw vTiles2 tile $54, WriteTileFromBuffer - dw NULL, DoneTileAnimation -; 0xfc1e7 - -TilesetCaveAnim: ; 0xfc1e7 -TilesetWhirlIslandsAnim: ; 0xfc1e7 - dw vTiles2 tile $14, WriteTileToBuffer - dw NULL, FlickeringCaveEntrancePalette - dw wTileAnimBuffer, ScrollTileRightLeft - dw NULL, FlickeringCaveEntrancePalette - dw vTiles2 tile $14, WriteTileFromBuffer - dw NULL, FlickeringCaveEntrancePalette - dw NULL, TileAnimationPalette - dw NULL, FlickeringCaveEntrancePalette - dw vTiles2 tile $40, WriteTileToBuffer - dw NULL, FlickeringCaveEntrancePalette - dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette - dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette - dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette - dw vTiles2 tile $40, WriteTileFromBuffer - dw NULL, FlickeringCaveEntrancePalette - dw NULL, DoneTileAnimation -; 0xfc233 - -TilesetIcePathAnim: ; 0xfc233 - dw vTiles2 tile $35, WriteTileToBuffer - dw NULL, FlickeringCaveEntrancePalette - dw wTileAnimBuffer, ScrollTileRightLeft - dw NULL, FlickeringCaveEntrancePalette - dw vTiles2 tile $35, WriteTileFromBuffer - dw NULL, FlickeringCaveEntrancePalette - dw NULL, TileAnimationPalette - dw NULL, FlickeringCaveEntrancePalette - dw vTiles2 tile $31, WriteTileToBuffer - dw NULL, FlickeringCaveEntrancePalette - dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette - dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette - dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette - dw vTiles2 tile $31, WriteTileFromBuffer - dw NULL, FlickeringCaveEntrancePalette - dw NULL, DoneTileAnimation -; 0xfc27f - -TilesetSproutTowerAnim: ; 0xfc27f - dw SproutPillarTilePointer9, AnimateSproutPillarTile - dw SproutPillarTilePointer10, AnimateSproutPillarTile - dw SproutPillarTilePointer7, AnimateSproutPillarTile - dw SproutPillarTilePointer8, AnimateSproutPillarTile - dw SproutPillarTilePointer5, AnimateSproutPillarTile - dw SproutPillarTilePointer6, AnimateSproutPillarTile - dw SproutPillarTilePointer3, AnimateSproutPillarTile - dw SproutPillarTilePointer4, AnimateSproutPillarTile - dw SproutPillarTilePointer1, AnimateSproutPillarTile - dw SproutPillarTilePointer2, AnimateSproutPillarTile - dw NULL, StandingTileFrame - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, DoneTileAnimation -; 0xfc2bf - -UnusedTilesetAnim_fc2bf: ; 0xfc2bf - dw vTiles2 tile $4f, WriteTileToBuffer - dw wTileAnimBuffer, ScrollTileRightLeft - dw vTiles2 tile $4f, WriteTileFromBuffer - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, DoneTileAnimation -; 0xfc2e7 - -TilesetBattleTowerOutsideAnim: ; 0xfc2e7 -TilesetHouse1Anim: ; 0xfc2e7 -TilesetPlayersHouseAnim: ; 0xfc2e7 -TilesetPokecenterAnim: ; 0xfc2e7 -TilesetGateAnim: ; 0xfc2e7 -TilesetLabAnim: ; 0xfc2e7 -TilesetPowerPlantAnim: ; 0xfc2e7 -TilesetMartAnim: ; 0xfc2e7 -TilesetCeladonMansionAnim: ; 0xfc2e7 -TilesetGameCornerAnim: ; 0xfc2e7 -TilesetKurtsHouseAnim: ; 0xfc2e7 -TilesetTrainStationAnim: ; 0xfc2e7 -TilesetOlivineGymAnim: ; 0xfc2e7 -TilesetLighthouseAnim: ; 0xfc2e7 -TilesetPlayersHouse2FAnim: ; 0xfc2e7 -TilesetPokeComCenterAnim: ; 0xfc2e7 -TilesetBattleTowerAnim: ; 0xfc2e7 -TilesetRuinsOfAlphAnim: ; 0xfc2e7 -TilesetRadioTowerAnim: ; 0xfc2e7 -TilesetUndergroundAnim: ; 0xfc2e7 -TilesetBetaWordRoomAnim: ; 0xfc2e7 -TilesetHoOhWordRoomAnim: ; 0xfc2e7 -TilesetKabutoWordRoomAnim: ; 0xfc2e7 -TilesetOmanyteWordRoomAnim: ; 0xfc2e7 -TilesetAerodactylWordRoomAnim: ; 0xfc2e7 - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, DoneTileAnimation -; 0xfc2fb - -DoneTileAnimation: ; fc2fb -; Reset the animation command loop. - xor a - ld [hTileAnimFrame], a - -WaitTileAnimation: ; fc2fe -; Do nothing this frame. - ret -; fc2ff - -StandingTileFrame8: ; fc2ff - ld a, [TileAnimationTimer] - inc a - and %111 - ld [TileAnimationTimer], a - ret -; fc309 - - -ScrollTileRightLeft: ; fc309 -; Scroll right for 4 ticks, then left for 4 ticks. - ld a, [TileAnimationTimer] - inc a - and %111 - ld [TileAnimationTimer], a - and %100 - jr nz, ScrollTileLeft - jr ScrollTileRight -; fc318 - -ScrollTileUpDown: ; fc318 -; Scroll up for 4 ticks, then down for 4 ticks. - ld a, [TileAnimationTimer] - inc a - and %111 - ld [TileAnimationTimer], a - and %100 - jr nz, ScrollTileDown - jr ScrollTileUp -; fc327 - -ScrollTileLeft: ; fc327 - ld h, d - ld l, e - ld c, 4 -.loop -rept 4 - ld a, [hl] - rlca - ld [hli], a -endr - dec c - jr nz, .loop - ret -; fc33b - -ScrollTileRight: ; fc33b - ld h, d - ld l, e - ld c, 4 -.loop -rept 4 - ld a, [hl] - rrca - ld [hli], a -endr - dec c - jr nz, .loop - ret -; fc34f - -ScrollTileUp: ; fc34f - ld h, d - ld l, e - ld d, [hl] - inc hl - ld e, [hl] - ld bc, TILE_WIDTH * 2 - 2 - add hl, bc - ld a, TILE_WIDTH / 2 -.loop - ld c, [hl] - ld [hl], e - dec hl - ld b, [hl] - ld [hl], d - dec hl - ld e, [hl] - ld [hl], c - dec hl - ld d, [hl] - ld [hl], b - dec hl - dec a - jr nz, .loop - ret -; fc36a - -ScrollTileDown: ; fc36a - ld h, d - ld l, e - ld de, TILE_WIDTH * 2 - 2 - push hl - add hl, de - ld d, [hl] - inc hl - ld e, [hl] - pop hl - ld a, TILE_WIDTH / 2 -.loop - ld b, [hl] - ld [hl], d - inc hl - ld c, [hl] - ld [hl], e - inc hl - ld d, [hl] - ld [hl], b - inc hl - ld e, [hl] - ld [hl], c - inc hl - dec a - jr nz, .loop - ret -; fc387 - - -AnimateFountain: ; fc387 - ld hl, sp+0 - ld b, h - ld c, l - ld hl, .frames - ld a, [TileAnimationTimer] - and %111 - add a - add l - ld l, a - jr nc, .okay - inc h -.okay - ld a, [hli] - ld h, [hl] - ld l, a - ld sp, hl - ld l, e - ld h, d - jp WriteTile - -.frames - dw .frame1 - dw .frame2 - dw .frame3 - dw .frame4 - dw .frame3 - dw .frame4 - dw .frame5 - dw .frame1 - -.frame1 INCBIN "gfx/tilesets/fountain/1.2bpp" -.frame2 INCBIN "gfx/tilesets/fountain/2.2bpp" -.frame3 INCBIN "gfx/tilesets/fountain/3.2bpp" -.frame4 INCBIN "gfx/tilesets/fountain/4.2bpp" -.frame5 INCBIN "gfx/tilesets/fountain/5.2bpp" -; fc402 - - -AnimateWaterTile: ; fc402 -; Draw a water tile for the current frame in VRAM tile at de. - -; Save sp in bc (see WriteTile). - ld hl, sp+0 - ld b, h - ld c, l - - ld a, [TileAnimationTimer] - -; 4 tile graphics, updated every other frame. - and %110 - -; 2 x 8 = 16 bytes per tile - add a - add a - add a - - add LOW(WaterTileFrames) - ld l, a - ld a, 0 - adc HIGH(WaterTileFrames) - ld h, a - -; Stack now points to the start of the tile for this frame. - ld sp, hl - - ld l, e - ld h, d - - jp WriteTile -; fc41c - -WaterTileFrames: ; fc41c - INCBIN "gfx/tilesets/water/water.2bpp" -; fc45c - - -ForestTreeLeftAnimation: ; fc45c - ld hl, sp+0 - ld b, h - ld c, l - -; Only during the Celebi event. - ld a, [wCelebiEvent] - bit 2, a - jr nz, .asm_fc46c - ld hl, ForestTreeLeftFrames - jr .asm_fc47d - -.asm_fc46c - ld a, [TileAnimationTimer] - call GetForestTreeFrame - add a - add a - add a - add LOW(ForestTreeLeftFrames) - ld l, a - ld a, 0 - adc HIGH(ForestTreeLeftFrames) - ld h, a - -.asm_fc47d - ld sp, hl - ld hl, vTiles2 tile $0c - jp WriteTile -; fc484 - - -ForestTreeLeftFrames: ; fc484 - INCBIN "gfx/tilesets/forest-tree/1.2bpp" - INCBIN "gfx/tilesets/forest-tree/2.2bpp" -; fc4a4 - -ForestTreeRightFrames: ; fc4a4 - INCBIN "gfx/tilesets/forest-tree/3.2bpp" - INCBIN "gfx/tilesets/forest-tree/4.2bpp" -; fc4c4 - - -ForestTreeRightAnimation: ; fc4c4 - ld hl, sp+0 - ld b, h - ld c, l - -; Only during the Celebi event. - ld a, [wCelebiEvent] - bit 2, a - jr nz, .asm_fc4d4 - ld hl, ForestTreeRightFrames - jr .asm_fc4eb - -.asm_fc4d4 - ld a, [TileAnimationTimer] - call GetForestTreeFrame - add a - add a - add a - add LOW(ForestTreeLeftFrames) - ld l, a - ld a, 0 - adc HIGH(ForestTreeLeftFrames) - ld h, a - push bc - ld bc, ForestTreeRightFrames - ForestTreeLeftFrames - add hl, bc - pop bc - -.asm_fc4eb - ld sp, hl - ld hl, vTiles2 tile $0f - jp WriteTile -; fc4f2 - - -ForestTreeLeftAnimation2: ; fc4f2 - ld hl, sp+0 - ld b, h - ld c, l - -; Only during the Celebi event. - ld a, [wCelebiEvent] - bit 2, a - jr nz, .asm_fc502 - ld hl, ForestTreeLeftFrames - jr .asm_fc515 - -.asm_fc502 - ld a, [TileAnimationTimer] - call GetForestTreeFrame - xor 2 - add a - add a - add a - add LOW(ForestTreeLeftFrames) - ld l, a - ld a, 0 - adc HIGH(ForestTreeLeftFrames) - ld h, a - -.asm_fc515 - ld sp, hl - ld hl, vTiles2 tile $0c - jp WriteTile -; fc51c - - -ForestTreeRightAnimation2: ; fc51c - ld hl, sp+0 - ld b, h - ld c, l - -; Only during the Celebi event. - ld a, [wCelebiEvent] - bit 2, a - jr nz, .asm_fc52c - ld hl, ForestTreeRightFrames - jr .asm_fc545 - -.asm_fc52c - ld a, [TileAnimationTimer] - call GetForestTreeFrame - xor 2 - add a - add a - add a - add LOW(ForestTreeLeftFrames) - ld l, a - ld a, 0 - adc HIGH(ForestTreeLeftFrames) - ld h, a - push bc - ld bc, ForestTreeRightFrames - ForestTreeLeftFrames - add hl, bc - pop bc - -.asm_fc545 - ld sp, hl - ld hl, vTiles2 tile $0f - jp WriteTile -; fc54c - - -GetForestTreeFrame: ; fc54c -; Return 0 if a is even, or 2 if odd. - and a - jr z, .even - cp 1 - jr z, .odd - cp 2 - jr z, .even - cp 3 - jr z, .odd - cp 4 - jr z, .even - cp 5 - jr z, .odd - cp 6 - jr z, .even -.odd - ld a, 2 - scf - ret -.even - xor a - ret -; fc56d - - -AnimateFlowerTile: ; fc56d -; No parameters. - -; Save sp in bc (see WriteTile). - ld hl, sp+0 - ld b, h - ld c, l - -; Alternate tile graphic every other frame - ld a, [TileAnimationTimer] - and %10 - ld e, a - -; CGB has different color mappings for flowers. - ld a, [hCGB] - and 1 - - add e - swap a - ld e, a - ld d, 0 - ld hl, FlowerTileFrames - add hl, de - ld sp, hl - - ld hl, vTiles2 tile $03 - - jp WriteTile -; fc58c - -FlowerTileFrames: ; fc58c - INCBIN "gfx/tilesets/flower/dmg_1.2bpp" - INCBIN "gfx/tilesets/flower/cgb_1.2bpp" - INCBIN "gfx/tilesets/flower/dmg_2.2bpp" - INCBIN "gfx/tilesets/flower/cgb_2.2bpp" -; fc5cc - - -LavaBubbleAnim1: ; fc5cc -; Splash in the bottom-right corner of the fountain. - ld hl, sp+0 - ld b, h - ld c, l - ld a, [TileAnimationTimer] - and %110 - srl a - inc a - inc a - and %011 - swap a - ld e, a - ld d, 0 - ld hl, LavaBubbleFrames - add hl, de - ld sp, hl - ld hl, vTiles2 tile $5b - jp WriteTile -; fc5eb - - -LavaBubbleAnim2: ; fc5eb -; Splash in the top-left corner of the fountain. - ld hl, sp+0 - ld b, h - ld c, l - ld a, [TileAnimationTimer] - and %110 - add a - add a - add a - ld e, a - ld d, 0 - ld hl, LavaBubbleFrames - add hl, de - ld sp, hl - ld hl, vTiles2 tile $38 - jp WriteTile -; fc605 - - -LavaBubbleFrames: ; fc605 - INCBIN "gfx/tilesets/lava/1.2bpp" - INCBIN "gfx/tilesets/lava/2.2bpp" - INCBIN "gfx/tilesets/lava/3.2bpp" - INCBIN "gfx/tilesets/lava/4.2bpp" -; fc645 - - -AnimateSproutPillarTile: ; fc645 -; Read from struct at de: -; Destination (VRAM) -; Address of the first tile in the frame array - - ld hl, sp+0 - ld b, h - ld c, l - - ld a, [TileAnimationTimer] - and %111 - -; Get frame index a - ld hl, .frames - add l - ld l, a - ld a, 0 - adc h - ld h, a - ld a, [hl] - -; Destination - ld l, e - ld h, d - ld e, [hl] - inc hl - ld d, [hl] - inc hl - -; Add the frame index to the starting address - add [hl] - inc hl - ld h, [hl] - ld l, a - ld a, 0 - adc h - ld h, a - - ld sp, hl - ld l, e - ld h, d - jr WriteTile - -.frames - db $00, $10, $20, $30, $40, $30, $20, $10 -; fc673 - - -StandingTileFrame: ; fc673 - ld hl, TileAnimationTimer - inc [hl] - ret -; fc678 - - -AnimateWhirlpoolTile: ; fc678 -; Update whirlpool tile using struct at de. - -; Struct: -; VRAM address -; Address of the first tile - -; Only does one of 4 tiles at a time. - -; Save sp in bc (see WriteTile). - ld hl, sp+0 - ld b, h - ld c, l - -; de = VRAM address - ld l, e - ld h, d - ld e, [hl] - inc hl - ld d, [hl] - inc hl -; Tile address is now at hl. - -; Get the tile for this frame. - ld a, [TileAnimationTimer] - and %11 ; 4 frames x2 - swap a ; * 16 bytes per tile - - add [hl] - inc hl - ld h, [hl] - ld l, a - ld a, 0 - adc h - ld h, a - -; Stack now points to the desired frame. - ld sp, hl - - ld l, e - ld h, d - - jr WriteTile -; fc696 - - -WriteTileFromBuffer: ; fc696 -; Write tiledata at wTileAnimBuffer to de. -; wTileAnimBuffer is loaded to sp for WriteTile. - - ld hl, sp+0 - ld b, h - ld c, l - - ld hl, wTileAnimBuffer - ld sp, hl - - ld h, d - ld l, e - jr WriteTile -; fc6a2 - - -WriteTileToBuffer: ; fc6a2 -; Write tiledata de to wTileAnimBuffer. -; de is loaded to sp for WriteTile. - - ld hl, sp+0 - ld b, h - ld c, l - - ld h, d - ld l, e - ld sp, hl - - ld hl, wTileAnimBuffer - - ; fallthrough - -WriteTile: ; fc6ac -; Write one 8x8 tile ($10 bytes) from sp to hl. - -; Warning: sp is saved in bc so we can abuse pop. -; sp is restored to address bc. Save sp in bc before calling. - - pop de - ld [hl], e - inc hl - ld [hl], d - -rept 7 - pop de - inc hl - ld [hl], e - inc hl - ld [hl], d -endr - -; restore sp - ld h, b - ld l, c - ld sp, hl - ret -; fc6d7 - - -TileAnimationPalette: ; fc6d7 -; Transition between color values 0-2 for color 0 in palette 3. - -; No palette changes on DMG. - ld a, [hCGB] - and a - ret z - -; We don't want to mess with non-standard palettes. - ld a, [rBGP] ; BGP - cp %11100100 - ret nz - -; Only update on even frames. - ld a, [TileAnimationTimer] - ld l, a - and 1 ; odd - ret nz - -; Ready for BGPD input... - - ld a, (1 << rBGPI_AUTO_INCREMENT) palette PAL_BG_WATER - ld [rBGPI], a - - ld a, [rSVBK] - push af - ld a, BANK(wBGPals1) - ld [rSVBK], a - -; Update color 0 in order 0 1 2 1 - ld a, l - and %110 ; frames 0 2 4 6 - jr z, .color0 - cp %100 ; frame 4 - jr z, .color2 - -.color1 - ld hl, wBGPals1 palette PAL_BG_WATER + 2 - ld a, [hli] - ld [rBGPD], a - ld a, [hli] - ld [rBGPD], a - jr .end - -.color0 - ld hl, wBGPals1 palette PAL_BG_WATER - ld a, [hli] - ld [rBGPD], a - ld a, [hli] - ld [rBGPD], a - jr .end - -.color2 - ld hl, wBGPals1 palette PAL_BG_WATER + 4 - ld a, [hli] - ld [rBGPD], a - ld a, [hli] - ld [rBGPD], a - -.end - pop af - ld [rSVBK], a - ret -; fc71e - - -FlickeringCaveEntrancePalette: ; fc71e -; No palette changes on DMG. - ld a, [hCGB] - and a - ret z -; We don't want to mess with non-standard palettes. - ld a, [rBGP] - cp %11100100 - ret nz -; We only want to be here if we're in a dark cave. - ld a, [wTimeOfDayPalset] - cp %11111111 ; 3,3,3,3 - ret nz - - ld a, [rSVBK] - push af - ld a, BANK(wBGPals1) - ld [rSVBK], a -; Ready for BGPD input... - ld a, (1 << rBGPI_AUTO_INCREMENT) palette PAL_BG_YELLOW - ld [rBGPI], a - ld a, [hVBlankCounter] - and %10 - jr nz, .bit1set - ld hl, wBGPals1 palette PAL_BG_YELLOW - jr .okay - -.bit1set - ld hl, wBGPals1 palette PAL_BG_YELLOW + 2 - -.okay - ld a, [hli] - ld [rBGPD], a - ld a, [hli] - ld [rBGPD], a - - pop af - ld [rSVBK], a - ret -; fc750 - - -SproutPillarTilePointer1: dw vTiles2 tile $2d, SproutPillarTile1 -SproutPillarTilePointer2: dw vTiles2 tile $2f, SproutPillarTile2 -SproutPillarTilePointer3: dw vTiles2 tile $3d, SproutPillarTile3 -SproutPillarTilePointer4: dw vTiles2 tile $3f, SproutPillarTile4 -SproutPillarTilePointer5: dw vTiles2 tile $3c, SproutPillarTile5 -SproutPillarTilePointer6: dw vTiles2 tile $2c, SproutPillarTile6 -SproutPillarTilePointer7: dw vTiles2 tile $4d, SproutPillarTile7 -SproutPillarTilePointer8: dw vTiles2 tile $4f, SproutPillarTile8 -SproutPillarTilePointer9: dw vTiles2 tile $5d, SproutPillarTile9 -SproutPillarTilePointer10: dw vTiles2 tile $5f, SproutPillarTile10 - -SproutPillarTile1: INCBIN "gfx/tilesets/sprout-pillar/1.2bpp" -SproutPillarTile2: INCBIN "gfx/tilesets/sprout-pillar/2.2bpp" -SproutPillarTile3: INCBIN "gfx/tilesets/sprout-pillar/3.2bpp" -SproutPillarTile4: INCBIN "gfx/tilesets/sprout-pillar/4.2bpp" -SproutPillarTile5: INCBIN "gfx/tilesets/sprout-pillar/5.2bpp" -SproutPillarTile6: INCBIN "gfx/tilesets/sprout-pillar/6.2bpp" -SproutPillarTile7: INCBIN "gfx/tilesets/sprout-pillar/7.2bpp" -SproutPillarTile8: INCBIN "gfx/tilesets/sprout-pillar/8.2bpp" -SproutPillarTile9: INCBIN "gfx/tilesets/sprout-pillar/9.2bpp" -SproutPillarTile10: INCBIN "gfx/tilesets/sprout-pillar/10.2bpp" -; fca98 - - -WhirlpoolFrames1: dw vTiles2 tile $32, WhirlpoolTiles1 -WhirlpoolFrames2: dw vTiles2 tile $33, WhirlpoolTiles2 -WhirlpoolFrames3: dw vTiles2 tile $42, WhirlpoolTiles3 -WhirlpoolFrames4: dw vTiles2 tile $43, WhirlpoolTiles4 -; fcaa8 - -WhirlpoolTiles1: INCBIN "gfx/tilesets/whirlpool/1.2bpp" -WhirlpoolTiles2: INCBIN "gfx/tilesets/whirlpool/2.2bpp" -WhirlpoolTiles3: INCBIN "gfx/tilesets/whirlpool/3.2bpp" -WhirlpoolTiles4: INCBIN "gfx/tilesets/whirlpool/4.2bpp" -; fcba8 -- cgit v1.2.3