diff options
Diffstat (limited to 'battle/bg_effects.asm')
-rw-r--r-- | battle/bg_effects.asm | 1039 |
1 files changed, 522 insertions, 517 deletions
diff --git a/battle/bg_effects.asm b/battle/bg_effects.asm index b8245b7d9..3da11815d 100644 --- a/battle/bg_effects.asm +++ b/battle/bg_effects.asm @@ -1,3 +1,11 @@ + const_def + const BGSQUARE_SIX + const BGSQUARE_FOUR + const BGSQUARE_TWO + const BGSQUARE_SEVEN + const BGSQUARE_FIVE + const BGSQUARE_THREE + ; BG effects for use in battle animations. ExecuteBGEffects: ; c8000 (32:4000) @@ -105,8 +113,8 @@ BattleBGEffects: ; c805a (32:405a) dw BattleBGEffect_1f dw BattleBGEffect_20 dw BattleBGEffect_21 - dw BattleBGEffect_22 - dw BattleBGEffect_23 + dw BattleBGEffect_BounceDown + dw BattleBGEffect_Dig dw BattleBGEffect_Tackle dw BattleBGEffect_25 dw BattleBGEffect_26 @@ -197,7 +205,7 @@ BattleBGEffect_FlashContinue: ; c80fb (32:40fb) ret .init - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] ld hl, BG_EFFECT_STRUCT_JT_INDEX @@ -289,11 +297,11 @@ BattleBGEffect_06: ; c8171 (32:4171) ; c8185 (32:4185) -.PalsCGB: +.PalsCGB db $e4, $90, $fe ; c8188 -.PalsSGB: +.PalsSGB db $f0, $c0, $fe ; c818b @@ -312,11 +320,11 @@ BattleBGEffect_07: ; c818b (32:418b) ; c819f (32:419f) -.PalsCGB: +.PalsCGB db $e4, $d8, $fe ; c81a2 -.PalsSGB: +.PalsSGB db $f0, $cc, $fe ; c81a5 @@ -328,33 +336,33 @@ BattleBGEffect_08: ; c81a5 (32:41a5) ; c81af (32:41af) -.Pals: +.Pals db $1b, $63, $87, $fe ; c81b3 BattleBGEffect_HideMon: ; c81b3 (32:41b3) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc81c0 + dw .zero dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncrementJumptable - dw Functionc81e3 + dw .four -Functionc81c0: ; c81c0 (32:41c0) +.zero call BattleBGEffects_IncrementJumptable push bc - call Functionc9038 - jr nz, .six_by_six + call BGEffect_CheckBattleTurn + jr nz, .player_side hlcoord 12, 0 lb bc, 7, 7 - jr .got_dims + jr .got_pointer -.six_by_six +.player_side hlcoord 2, 6 lb bc, 6, 6 -.got_dims +.got_pointer call ClearBox pop bc xor a @@ -363,82 +371,82 @@ Functionc81c0: ; c81c0 (32:41c0) ld [hBGMapMode], a ret -Functionc81e3: ; c81e3 (32:41e3) +.four xor a ld [hBGMapMode], a call EndBattleBGEffect ret BattleBGEffect_ShowMon: ; c81ea (32:41ea) - call Functionc9042 - jr z, .asm_c81f3 + call BGEffect_CheckFlyDigStatus + jr z, .not_flying call EndBattleBGEffect ret -.asm_c81f3 - call Functionc9038 - jr nz, .six_by_six - ld de, Unknown_c8210 - jr .got_dims +.not_flying + call BGEffect_CheckBattleTurn + jr nz, .player_side + ld de, .EnemyData + jr .got_pointer -.six_by_six - ld de, Unknown_c820c -.got_dims +.player_side + ld de, .PlayerData +.got_pointer ld a, e ld [wBattleAnimTemp1], a ld a, d ld [wBattleAnimTemp2], a - call Functionc83ed + call BattleBGEffect_RunPicResizeScript ret ; c820c (32:420c) -Unknown_c820c: - db $00, $31, $00 - db $ff +.PlayerData + db 0, $31, 0 + db -1 ; c8210 -Unknown_c8210: - db $03, $00, $03 - db $ff +.EnemyData + db 3, $00, 3 + db -1 ; c8214 BattleBGEffect_FeetFollow: ; c8214 (32:4214) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc8223 - dw Functionc825a + dw .zero + dw .one dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncrementJumptable - dw Functionc827a + dw .five -Functionc8223: ; c8223 (32:4223) - call Functionc9042 - jr z, .asm_c8230 +.zero + call BGEffect_CheckFlyDigStatus + jr z, .not_flying_digging ld hl, wNumActiveBattleAnims inc [hl] call EndBattleBGEffect ret -.asm_c8230 +.not_flying_digging call BattleBGEffects_IncrementJumptable push bc - call Functionc9038 - jr nz, .asm_c8242 - ld a, $b8 + call BGEffect_CheckBattleTurn + jr nz, .player_turn + ld a, ANIM_OBJ_B8 ld [wBattleAnimTemp0], a - ld a, $84 - jr .asm_c8249 + ld a, 16 * 8 + 4 + jr .okay -.asm_c8242 - ld a, $b9 +.player_turn + ld a, ANIM_OBJ_B9 ld [wBattleAnimTemp0], a - ld a, $30 -.asm_c8249 + ld a, 6 * 8 +.okay ld [wBattleAnimTemp1], a - ld a, $40 + ld a, 8 * 8 ld [wBattleAnimTemp2], a xor a ld [wBattleAnimTemp3], a @@ -446,26 +454,26 @@ Functionc8223: ; c8223 (32:4223) pop bc ret -Functionc825a: ; c825a (32:425a) +.one call BattleBGEffects_IncrementJumptable push bc - call Functionc9038 - jr nz, .asm_c826b + call BGEffect_CheckBattleTurn + jr nz, .player_turn_2 hlcoord 12, 6 - ld bc, $107 - jr .asm_c8271 + lb bc, 1, 7 + jr .okay2 -.asm_c826b +.player_turn_2 hlcoord 2, 6 lb bc, 1, 6 -.asm_c8271 +.okay2 call ClearBox ld a, $1 ld [hBGMapMode], a pop bc ret -Functionc827a: ; c827a (32:427a) +.five xor a ld [hBGMapMode], a call EndBattleBGEffect @@ -474,39 +482,39 @@ Functionc827a: ; c827a (32:427a) BattleBGEffect_HeadFollow: ; c8281 (32:4281) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc8290 - dw Functionc82c7 + dw .zero + dw .one dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncrementJumptable - dw Functionc82e7 + dw .five -Functionc8290: ; c8290 (32:4290) - call Functionc9042 - jr z, .asm_c829d +.zero + call BGEffect_CheckFlyDigStatus + jr z, .not_flying_digging ld hl, wNumActiveBattleAnims inc [hl] call EndBattleBGEffect ret -.asm_c829d +.not_flying_digging call BattleBGEffects_IncrementJumptable push bc - call Functionc9038 - jr nz, .asm_c82af - ld a, $ba + call BGEffect_CheckBattleTurn + jr nz, .player_turn + ld a, ANIM_OBJ_BA ld [wBattleAnimTemp0], a - ld a, $84 - jr .asm_c82b6 + ld a, 16 * 8 + 4 + jr .okay -.asm_c82af - ld a, $bb +.player_turn + ld a, ANIM_OBJ_BB ld [wBattleAnimTemp0], a - ld a, $30 -.asm_c82b6 + ld a, 6 * 8 +.okay ld [wBattleAnimTemp1], a - ld a, $40 + ld a, 8 * 8 ld [wBattleAnimTemp2], a xor a ld [wBattleAnimTemp3], a @@ -514,26 +522,26 @@ Functionc8290: ; c8290 (32:4290) pop bc ret -Functionc82c7: ; c82c7 (32:42c7) +.one call BattleBGEffects_IncrementJumptable push bc - call Functionc9038 - jr nz, .asm_c82d8 + call BGEffect_CheckBattleTurn + jr nz, .player_turn_2 hlcoord 12, 5 - ld bc, $207 - jr .asm_c82de + lb bc, 2, 7 + jr .okay2 -.asm_c82d8 +.player_turn_2 hlcoord 2, 6 lb bc, 2, 6 -.asm_c82de +.okay2 call ClearBox ld a, $1 ld [hBGMapMode], a pop bc ret -Functionc82e7: ; c82e7 (32:42e7) +.five xor a ld [hBGMapMode], a call EndBattleBGEffect @@ -546,77 +554,77 @@ _QueueBattleAnimation: ; c82ee (32:42ee) BattleBGEffect_27: ; c82f5 (32:42f5) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc8302 - dw Functionc831d + dw .zero + dw .one dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncrementJumptable - dw Functionc8365 + dw .four -Functionc8302: ; c8302 (32:4302) +.zero call BattleBGEffects_IncrementJumptable - call Functionc9038 + call BGEffect_CheckBattleTurn ld [hl], a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] and a - jr z, .asm_c8315 + jr z, .user ld a, $9 - jr .asm_c8317 + jr .okay -.asm_c8315 +.user ld a, $8 -.asm_c8317 +.okay ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld [hl], a ret -Functionc831d: ; c831d (32:431d) - ld hl, BG_EFFECT_STRUCT_02 +.one + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] and a - jr z, .asm_c833e + jr z, .user_2 hlcoord 0, 6 - ld de, $806 -.asm_c832b + lb de, 8, 6 +.row1 push de push hl -.asm_c832d +.col1 inc hl ld a, [hld] ld [hli], a dec d - jr nz, .asm_c832d + jr nz, .col1 pop hl - ld de, $14 + ld de, SCREEN_WIDTH add hl, de pop de dec e - jr nz, .asm_c832b - jr .asm_c8355 + jr nz, .row1 + jr .okay2 -.asm_c833e +.user_2 hlcoord 19, 0 - ld de, $807 -.asm_c8344 + lb de, 8, 7 +.row2 push de push hl -.asm_c8346 +.col2 dec hl ld a, [hli] ld [hld], a dec d - jr nz, .asm_c8346 + jr nz, .col2 pop hl - ld de, $14 + ld de, SCREEN_WIDTH add hl, de pop de dec e - jr nz, .asm_c8344 -.asm_c8355 + jr nz, .row2 +.okay2 xor a ld [hBGMapThird], a ld a, $1 @@ -627,106 +635,106 @@ Functionc831d: ; c831d (32:431d) dec [hl] ret -Functionc8365: ; c8365 (32:4365) +.four xor a ld [hBGMapMode], a ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] and a - jr z, .asm_c8377 + jr z, .done ld hl, BG_EFFECT_STRUCT_JT_INDEX add hl, bc ld [hl], $1 ret -.asm_c8377 +.done call EndBattleBGEffect ret BattleBGEffect_EnterMon: ; c837b (32:437b) - call Functionc9038 - jr nz, .asm_c8385 - ld de, Unknown_c839e - jr .asm_c8388 - -.asm_c8385 - ld de, Unknown_c8394 -.asm_c8388 + call BGEffect_CheckBattleTurn + jr nz, .player_turn + ld de, .EnemyData + jr .okay + +.player_turn + ld de, .PlayerData +.okay ld a, e ld [wBattleAnimTemp1], a ld a, d ld [wBattleAnimTemp2], a - call Functionc83ed + call BattleBGEffect_RunPicResizeScript ret ; c8394 (32:4394) -Unknown_c8394: - db $02, $31, $02 - db $01, $31, $01 - db $00, $31, $00 - db $ff +.PlayerData + db 2, $31, 2 + db 1, $31, 1 + db 0, $31, 0 + db -1 ; c839e -Unknown_c839e: - db $05, $00, $05 - db $04, $00, $04 - db $03, $00, $03 - db $ff +.EnemyData + db 5, $00, 5 + db 4, $00, 4 + db 3, $00, 3 + db -1 ; c83a8 BattleBGEffect_ReturnMon: ; c83a8 (32:43a8) - call Functionc9038 - jr nz, .asm_c83b2 - ld de, Unknown_c83d7 - jr .asm_c83b5 - -.asm_c83b2 - ld de, Unknown_c83c1 -.asm_c83b5 + call BGEffect_CheckBattleTurn + jr nz, .player_turn + ld de, .EnemyData + jr .okay + +.player_turn + ld de, .PlayerData +.okay ld a, e ld [wBattleAnimTemp1], a ld a, d ld [wBattleAnimTemp2], a - call Functionc83ed + call BattleBGEffect_RunPicResizeScript ret ; c83c1 (32:43c1) -Unknown_c83c1: - db $00, $31, $00 - db $fe, $66, $00 - db $01, $31, $01 - db $fe, $44, $01 - db $02, $31, $02 - db $fe, $22, $02 - db $fd, $00, $00 - db $ff +.PlayerData + db 0, $31, 0 + db -2, $66, 0 + db 1, $31, 1 + db -2, $44, 1 + db 2, $31, 2 + db -2, $22, 2 + db -3, $00, 0 + db -1 ; c83d7 -Unknown_c83d7: - db $03, $00, $03 - db $fe, $77, $03 - db $04, $00, $04 - db $fe, $55, $04 - db $05, $00, $05 - db $fe, $33, $05 - db $fd, $00, $00 - db $ff +.EnemyData + db 3, $00, 3 + db -2, $77, 3 + db 4, $00, 4 + db -2, $55, 4 + db 5, $00, 5 + db -2, $33, 5 + db -3, $00, 0 + db -1 ; c83ed -Functionc83ed: ; c83ed (32:43ed) +BattleBGEffect_RunPicResizeScript: ; c83ed (32:43ed) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc83fa + dw .zero dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncrementJumptable - dw Functionc842a - dw Functionc8434 + dw .restart + dw .end -Functionc83fa: ; c83fa (32:43fa) +.zero ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld e, [hl] @@ -740,24 +748,24 @@ rept 3 add hl, de endr ld a, [hl] - cp $ff - jr z, Functionc8434 - cp $fe - jr z, .asm_c8425 - cp $fd - jr z, .asm_c841d - call Functionc8458 -.asm_c841d + cp -1 + jr z, .end + cp -2 + jr z, .clear + cp -3 + jr z, .skip + call .FillBox +.skip call BattleBGEffects_IncrementJumptable ld a, $1 ld [hBGMapMode], a ret -.asm_c8425 - call Functionc843b - jr Functionc83fa +.clear + call .ClearBox + jr .zero -Functionc842a: ; c842a (32:442a) +.restart xor a ld [hBGMapMode], a ld hl, BG_EFFECT_STRUCT_JT_INDEX @@ -765,13 +773,14 @@ Functionc842a: ; c842a (32:442a) ld [hl], $0 ret -Functionc8434: ; c8434 (32:4434) +.end xor a ld [hBGMapMode], a call EndBattleBGEffect ret -Functionc843b: ; c843b (32:443b) +.ClearBox +; get dims push bc inc hl ld a, [hli] @@ -782,9 +791,10 @@ Functionc843b: ; c843b (32:443b) swap a and $f ld b, a +; get coords ld e, [hl] ld d, 0 - ld hl, Unknown_c849c + ld hl, .Coords rept 2 add hl, de endr @@ -795,12 +805,13 @@ endr pop bc ret -Functionc8458: ; c8458 (32:4458) +.FillBox +; get dims push bc push hl ld e, [hl] ld d, 0 - ld hl, Unknown_c84a8 + ld hl, .BGSquares rept 3 add hl, de endr @@ -812,17 +823,20 @@ endr swap a and $f ld b, a +; store pointer ld e, [hl] inc hl ld d, [hl] +; get byte pop hl inc hl ld a, [hli] ld [wBattleAnimTemp0], a +; get coord push de ld e, [hl] ld d, 0 - ld hl, Unknown_c849c + ld hl, .Coords rept 2 add hl, de endr @@ -830,69 +844,68 @@ endr ld h, [hl] ld l, a pop de -.asm_c8484 +; fill box +.row push bc push hl ld a, [wBattleAnimTemp0] ld b, a -.asm_c848a +.col ld a, [de] add b ld [hli], a inc de dec c - jr nz, .asm_c848a + jr nz, .col pop hl - ld bc, $14 + ld bc, SCREEN_WIDTH add hl, bc pop bc dec b - jr nz, .asm_c8484 + jr nz, .row pop bc ret -; c849c (32:449c) - -Unknown_c849c: ; c849c +.Coords dwcoord 2, 6 dwcoord 3, 8 dwcoord 4, 10 dwcoord 12, 0 dwcoord 13, 2 dwcoord 14, 4 -; c84a8 - -Unknown_c84a8: ; c84a8 - dbw $66, Unknown_c84ba - dbw $44, Unknown_c84de - dbw $22, Unknown_c84ee - dbw $77, Unknown_c84f2 - dbw $55, Unknown_c8523 - dbw $33, Unknown_c853c -; c84ba - -Unknown_c84ba: ; c84ba + +.BGSquares +bgsquare: MACRO + dn \1,\2 + dw \3 +endm + + bgsquare 6, 6, .SixBySix + bgsquare 4, 4, .FourByFour + bgsquare 2, 2, .TwoByTwo + bgsquare 7, 7, .SevenBySeven + bgsquare 5, 5, .FiveByFive + bgsquare 3, 3, .ThreeByThree + +.SixBySix db $00, $06, $0c, $12, $18, $1e db $01, $07, $0d, $13, $19, $1f db $02, $08, $0e, $14, $1a, $20 db $03, $09, $0f, $15, $1b, $21 db $04, $0a, $10, $16, $1c, $22 db $05, $0b, $11, $17, $1d, $23 -; c84de -Unknown_c84de: ; c84de +.FourByFour db $00, $0c, $12, $1e db $02, $0e, $14, $20 db $03, $0f, $15, $21 db $05, $11, $17, $23 -; c84ee -Unknown_c84ee: ; c84ee +.TwoByTwo db $00, $1e db $05, $23 -; c84f2 -Unknown_c84f2: ; c84f2 +.SevenBySeven db $00, $07, $0e, $15, $1c, $23, $2a db $01, $08, $0f, $16, $1d, $24, $2b db $02, $09, $10, $17, $1e, $25, $2c @@ -900,17 +913,15 @@ Unknown_c84f2: ; c84f2 db $04, $0b, $12, $19, $20, $27, $2e db $05, $0c, $13, $1a, $21, $28, $2f db $06, $0d, $14, $1b, $22, $29, $30 -; c8523 -Unknown_c8523: ; c8523 +.FiveByFive db $00, $07, $15, $23, $2a db $01, $08, $16, $24, $2b db $03, $0a, $18, $26, $2d db $05, $0c, $1a, $28, $2f db $06, $0d, $1b, $29, $30 -; c853c -Unknown_c853c: ; c853c +.ThreeByThree db $00, $15, $2a db $03, $18, $2d db $06, $1b, $30 @@ -924,12 +935,12 @@ BattleBGEffect_Surf: ; c8545 (32:4545) dw .two -.zero: ; c854e (32:454e) +.zero call BattleBGEffects_IncrementJumptable lb de, 2, 2 call InitSurfWaves -.one: ; c8557 (32:4557) +.one ld a, [hLCDStatCustom] and a ret z @@ -938,11 +949,11 @@ BattleBGEffect_Surf: ; c8545 (32:4545) pop bc ret -.two: ; c8561 (32:4561) +.two call BattleAnim_ResetLCDStatCustom ret -.RotatewSurfWaveBGEffect: ; c8565 (32:4565) +.RotatewSurfWaveBGEffect ld hl, wSurfWaveBGEffect ld de, wSurfWaveBGEffect + 1 ld c, wSurfWaveBGEffectEnd - wSurfWaveBGEffect - 1 @@ -986,34 +997,34 @@ BattleBGEffect_Surf: ; c8545 (32:4545) BattleBGEffect_Whirlpool: ; c8599 (32:4599) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc85a2 - dw Functionc85ba - dw Functionc85be + dw .zero + dw .one + dw .two -Functionc85a2: ; c85a2 (32:45a2) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $42 ld [hLCDStatCustom], a xor a ld [hLCDStatCustom + 1], a ld a, $5e ld [hLCDStatCustom + 2], a - ld de, $202 + lb de, 2, 2 call Functionc8f2e ret -Functionc85ba: ; c85ba (32:45ba) - call Functionc8fef +.one + call BattleBGEffect_WavyScreenFX ret -Functionc85be: ; c85be (32:45be) +.two call BattleAnim_ResetLCDStatCustom ret BattleBGEffect_30: ; c85c2 (32:45c2) - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $42 call Functionc8ede call EndBattleBGEffect @@ -1026,7 +1037,7 @@ BattleBGEffect_31: ; c85ce (32:45ce) ld e, a add $4 ld [hl], a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] and $f0 @@ -1038,19 +1049,19 @@ BattleBGEffect_31: ; c85ce (32:45ce) add hl, bc ld a, [hl] ld [wBattleAnimTemp0], a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] cp $20 - jr nc, .asm_c85fc + jr nc, .done rept 2 inc [hl] endr call Functionc8f9a ret -.asm_c85fc - call Functionc8eca +.done + call BattleBGEffects_ClearLYOverrides call EndBattleBGEffect ret @@ -1061,144 +1072,144 @@ BattleBGEffect_32: ; c8603 (32:4603) BattleBGEffect_Psychic: ; c8607 (32:4607) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc8610 - dw Functionc862e - dw Functionc863b + dw .zero + dw .one + dw .two -Functionc8610: ; c8610 (32:4610) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 ld [hLCDStatCustom], a xor a ld [hLCDStatCustom + 1], a ld a, $5f ld [hLCDStatCustom + 2], a - ld de, $605 + lb de, 6, 5 call Functionc8f2e ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld [hl], $0 ret -Functionc862e: ; c862e (32:462e) +.one ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] inc [hl] and $3 ret nz - call Functionc8fef + call BattleBGEffect_WavyScreenFX ret -Functionc863b: ; c863b (32:463b) +.two call BattleAnim_ResetLCDStatCustom ret BattleBGEffect_Teleport: ; c863f (32:463f) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc8648 - dw Functionc865a - dw Functionc865e + dw .zero + dw .one + dw .two -Functionc8648: ; c8648 (32:4648) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 call Functionc8ede - ld de, $605 + lb de, 6, 5 call Functionc8f2e ret -Functionc865a: ; c865a (32:465a) - call Functionc8fef +.one + call BattleBGEffect_WavyScreenFX ret -Functionc865e: ; c865e (32:465e) +.two call BattleAnim_ResetLCDStatCustom ret BattleBGEffect_NightShade: ; c8662 (32:4662) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc866b - dw Functionc8681 - dw Functionc8685 + dw .zero + dw .one + dw .two -Functionc866b: ; c866b (32:466b) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $42 call Functionc8ede ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld e, [hl] - ld d, $2 + ld d, 2 call Functionc8f2e ret -Functionc8681: ; c8681 (32:4681) - call Functionc8fef +.one + call BattleBGEffect_WavyScreenFX ret -Functionc8685: ; c8685 (32:4685) +.two call BattleAnim_ResetLCDStatCustom ret BattleBGEffect_DoubleTeam: ; c8689 (32:4689) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc8698 - dw Functionc86af - dw Functionc86cf - dw Functionc86bd - dw Functionc86e9 - dw Functionc8705 + dw .zero + dw .one + dw .two + dw .three + dw .four + dw .five -Functionc8698: ; c8698 (32:4698) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 call Functionc8ede ld a, [hLCDStatCustom + 2] inc a ld [hLCDStatCustom + 2], a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld [hl], $0 ret -Functionc86af: ; c86af (32:46af) +.one ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] cp $10 - jr nc, asm_c86cb + jr nc, .next inc [hl] - call Functionc86ea + call .UpdateLYOverrides ret -Functionc86bd: ; c86bd (32:46bd) +.three ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] cp $ff - jr z, asm_c86cb + jr z, .next dec [hl] - call Functionc86ea + call .UpdateLYOverrides ret -asm_c86cb: ; c86cb (32:46cb) +.next call BattleBGEffects_IncrementJumptable ret -Functionc86cf: ; c86cf (32:46cf) - ld hl, BG_EFFECT_STRUCT_02 +.two + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] ld d, $2 @@ -1206,61 +1217,61 @@ Functionc86cf: ; c86cf (32:46cf) ld hl, BG_EFFECT_STRUCT_03 add hl, bc add [hl] - call Functionc86ea - ld hl, BG_EFFECT_STRUCT_02 + call .UpdateLYOverrides + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] add $4 ld [hl], a -Functionc86e9: ; c86e9 (32:46e9) +.four ret -Functionc86ea: ; c86ea (32:46ea) +.UpdateLYOverrides ld e, a xor $ff inc a ld d, a - ld h, $d2 + ld h, LYOverridesBackup / $100 ld a, [hLCDStatCustom + 1] ld l, a ld a, [hLCDStatCustom + 2] sub l srl a push af -.asm_c86fa +.loop ld [hl], e inc hl ld [hl], d inc hl dec a - jr nz, .asm_c86fa + jr nz, .loop pop af ret nc ld [hl], e ret -Functionc8705: ; c8705 (32:4705) +.five call BattleAnim_ResetLCDStatCustom ret BattleBGEffect_AcidArmor: ; c8709 (32:4709) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc8712 - dw Functionc8732 - dw Functionc875d + dw .zero + dw .one + dw .two -Functionc8712: ; c8712 (32:4712) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $42 call Functionc8ede ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld e, [hl] - ld d, $2 + ld d, 2 call Functionc8f2e ld h, $d2 ld a, [hLCDStatCustom + 2] @@ -1270,30 +1281,30 @@ Functionc8712: ; c8712 (32:4712) ld [hl], $0 ret -Functionc8732: ; c8732 (32:4732) +.one ld a, [hLCDStatCustom + 2] ld l, a ld h, $d2 ld e, l ld d, h dec de -.asm_c873a +.loop ld a, [de] dec de ld [hld], a ld a, [hLCDStatCustom + 1] cp l - jr nz, .asm_c873a + jr nz, .loop ld [hl], $90 ld a, [hLCDStatCustom + 2] ld l, a ld a, [hl] cp $1 - jr c, .asm_c8752 + jr c, .okay cp $90 - jr z, .asm_c8752 + jr z, .okay ld [hl], $0 -.asm_c8752 +.okay dec l ld a, [hl] cp $2 @@ -1303,38 +1314,38 @@ Functionc8732: ; c8732 (32:4732) ld [hl], $0 ret -Functionc875d: ; c875d (32:475d) +.two call BattleAnim_ResetLCDStatCustom ret BattleBGEffect_21: ; c8761 (32:4761) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc876a - dw Functionc8781 - dw Functionc87a3 + dw .zero + dw .one + dw .two -Functionc876a: ; c876a (32:476a) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $42 call Functionc8ede ld a, [hLCDStatCustom + 2] inc a ld [hLCDStatCustom + 2], a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld [hl], $1 ret -Functionc8781: ; c8781 (32:4781) +.one ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] and $3f ld d, a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] cp d @@ -1346,34 +1357,34 @@ Functionc8781: ; c8781 (32:4781) rlca rlca and $3 - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc add [hl] ld [hl], a ret -Functionc87a3: ; c87a3 (32:47a3) +.two call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_23: ; c87a7 (32:47a7) +BattleBGEffect_Dig: ; c87a7 (32:47a7) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc87b2 - dw Functionc87cf - dw Functionc87de - dw Functionc8801 + dw .zero + dw .one + dw .two + dw .three -Functionc87b2: ; c87b2 (32:47b2) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $42 call Functionc8ede ld a, [hLCDStatCustom + 2] inc a ld [hLCDStatCustom + 2], a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld [hl], $2 ld hl, BG_EFFECT_STRUCT_03 @@ -1381,62 +1392,61 @@ Functionc87b2: ; c87b2 (32:47b2) ld [hl], $0 ret -Functionc87cf: ; c87cf (32:47cf) +.one ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] and a - jr z, .asm_c87d9 + jr z, .next dec [hl] ret -.asm_c87d9 +.next ld [hl], $10 call BattleBGEffects_IncrementJumptable - -Functionc87de: ; c87de (32:47de) +.two ld a, [hLCDStatCustom + 1] ld l, a ld a, [hLCDStatCustom + 2] sub l dec a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc cp [hl] ret c ld a, [hl] push af and $7 - jr nz, .asm_c87f6 + jr nz, .skip ld hl, BG_EFFECT_STRUCT_JT_INDEX add hl, bc dec [hl] -.asm_c87f6 +.skip pop af call Functionc901b - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc rept 2 inc [hl] endr ret -Functionc8801: ; c8801 (32:4801) +.three call BattleAnim_ResetLCDStatCustom ret BattleBGEffect_Tackle: ; c8805 (32:4805) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc8810 - dw Functionc8869 - dw Functionc8888 - dw Functionc8833 + dw .zero + dw Tackle_BGEffect25_2d_one + dw Tackle_BGEffect25_2d_two + dw .three -Functionc8810: ; c8810 (32:4810) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 call Functionc8ede ld a, [hLCDStatCustom + 2] @@ -1445,33 +1455,33 @@ Functionc8810: ; c8810 (32:4810) ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld [hl], $0 - call Functionc9038 - jr nz, .asm_c882f - ld a, $2 - jr .asm_c8831 - -.asm_c882f - ld a, $fe -.asm_c8831 + call BGEffect_CheckBattleTurn + jr nz, .player_side + ld a, 2 + jr .okay + +.player_side + ld a, -2 +.okay ld [hl], a ret -Functionc8833: ; c8833 (32:4833) +.three call BattleAnim_ResetLCDStatCustom ret BattleBGEffect_25: ; c8837 (32:4837) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc8842 - dw Functionc8869 - dw Functionc8888 - dw Functionc8865 + dw .zero + dw Tackle_BGEffect25_2d_one + dw Tackle_BGEffect25_2d_two + dw .three -Functionc8842: ; c8842 (32:4842) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 call Functionc8ef4 ld a, [hLCDStatCustom + 2] @@ -1480,34 +1490,34 @@ Functionc8842: ; c8842 (32:4842) ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld [hl], $0 - call Functionc9038 - jr nz, .asm_c8861 - ld a, $2 - jr .asm_c8863 - -.asm_c8861 - ld a, $fe -.asm_c8863 + call BGEffect_CheckBattleTurn + jr nz, .player_side + ld a, 2 + jr .okay + +.player_side + ld a, -2 +.okay ld [hl], a ret -Functionc8865: ; c8865 (32:4865) +.three call BattleAnim_ResetLCDStatCustom ret -Functionc8869: ; c8869 (32:4869) +Tackle_BGEffect25_2d_one: ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] - cp $f8 - jr z, .asm_c8876 - cp $8 - jr nz, .asm_c8879 -.asm_c8876 + cp -8 + jr z, .reached_limit + cp 8 + jr nz, .finish +.reached_limit call BattleBGEffects_IncrementJumptable -.asm_c8879 +.finish call Functionc88a5 - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] ld hl, BG_EFFECT_STRUCT_03 @@ -1516,7 +1526,7 @@ Functionc8869: ; c8869 (32:4869) ld [hl], a ret -Functionc8888: ; c8888 (32:4888) +Tackle_BGEffect25_2d_two: ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] @@ -1525,7 +1535,7 @@ Functionc8888: ; c8888 (32:4888) call BattleBGEffects_IncrementJumptable .asm_c8893 call Functionc88a5 - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] xor $ff @@ -1540,15 +1550,15 @@ Functionc88a5: ; c88a5 (32:48a5) push af ld a, [FXAnimIDHi] ; FXAnimIDHi or a - jr nz, .asm_c88b3 + jr nz, .not_rollout ld a, [FXAnimIDLo] ; FXAnimID cp ROLLOUT - jr z, .asm_c88b7 -.asm_c88b3 + jr z, .rollout +.not_rollout pop af jp Functionc900b -.asm_c88b7 +.rollout ld a, [hLCDStatCustom + 1] ld d, a ld a, [hLCDStatCustom + 2] @@ -1557,53 +1567,53 @@ Functionc88a5: ; c88a5 (32:48a5) ld h, LYOverridesBackup / $100 ld a, [hSCY] or a - jr nz, .asm_c88d0 + jr nz, .skip1 ld a, [hLCDStatCustom + 1] or a - jr z, .asm_c88d6 + jr z, .skip2 dec a ld l, a ld [hl], $0 - jr .asm_c88d6 + jr .skip2 -.asm_c88d0 +.skip1 ld a, [hLCDStatCustom + 2] dec a ld l, a ld [hl], $0 -.asm_c88d6 +.skip2 ld a, [hSCY] ld l, a ld a, [hLCDStatCustom + 1] sub l - jr nc, .asm_c88e0 + jr nc, .skip3 xor a dec d -.asm_c88e0 +.skip3 ld l, a pop af -.asm_c88e2 +.loop ld [hli], a dec d - jr nz, .asm_c88e2 + jr nz, .loop ret BattleBGEffect_2d: ; c88e7 (32:48e7) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc88f6 - dw Functionc8869 - dw Functionc8888 - dw Functionc88f2 + dw BGEffect2d_2f_zero + dw Tackle_BGEffect25_2d_one + dw Tackle_BGEffect25_2d_two + dw .three -Functionc88f2: ; c88f2 (32:48f2) +.three call BattleAnim_ResetLCDStatCustom ret -Functionc88f6: ; c88f6 (32:48f6) +BGEffect2d_2f_zero: call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 call Functionc8ede ld a, [hLCDStatCustom + 2] @@ -1612,31 +1622,29 @@ Functionc88f6: ; c88f6 (32:48f6) ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld [hl], $0 - call Functionc9038 - jr nz, .asm_c8915 - ld a, $fe - jr .asm_c8917 - -.asm_c8915 - ld a, $2 -.asm_c8917 + call BGEffect_CheckBattleTurn + jr nz, .player_turn + ld a, -2 + jr .okay + +.player_turn + ld a, 2 +.okay ld [hl], a ret BattleBGEffect_2f: ; c8919 (32:4919) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc88f6 - dw Functionc8869 - dw Functionc8929 - dw Functionc8888 - dw Functionc8926 - + dw BGEffect2d_2f_zero + dw Tackle_BGEffect25_2d_one + dw .two + dw Tackle_BGEffect25_2d_two + dw .four -Functionc8926: ; c8926 (32:4926) +.four call BattleAnim_ResetLCDStatCustom - -Functionc8929: ; c8929 (32:4929) +.two ret BattleBGEffect_26: ; c892a (32:492a) @@ -1649,7 +1657,7 @@ BattleBGEffect_26: ; c892a (32:492a) Functionc8933: ; c8933 (32:4933) call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 call Functionc8ede ld a, [hLCDStatCustom + 2] @@ -1688,14 +1696,14 @@ BattleBGEffect_2c: ; c8964 (32:4964) Functionc896d: ; c896d (32:496d) call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 call Functionc8ede ld a, [hLCDStatCustom + 2] inc a ld [hLCDStatCustom + 2], a xor a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld [hli], a ld [hl], a @@ -1708,7 +1716,7 @@ Functionc8985: ; c8985 (32:4985) ld d, $6 call BattleBGEffects_Sine push af - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] ld d, $2 @@ -1717,7 +1725,7 @@ Functionc8985: ; c8985 (32:4985) pop af add e call Functionc900b - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] add $8 @@ -1743,7 +1751,7 @@ BattleBGEffect_28: ; c89b5 (32:49b5) Functionc89be: ; c89be (32:49be) call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 call Functionc8ede ret @@ -1756,7 +1764,7 @@ Functionc89ca: ; c89ca (32:49ca) ret nc inc [hl] ld d, a - ld e, $4 + ld e, 4 call Functionc8f2e ret @@ -1768,7 +1776,7 @@ Functionc89da: ; c89da (32:49da) jr z, .asm_c89ea dec [hl] ld d, a - ld e, $4 + ld e, 4 call Functionc8f2e ret @@ -1776,23 +1784,23 @@ Functionc89da: ; c89da (32:49da) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_22: ; c89ee (32:49ee) +BattleBGEffect_BounceDown: ; c89ee (32:49ee) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc89f7 - dw Functionc8a14 - dw Functionc8a36 + dw .zero + dw .one + dw .two -Functionc89f7: ; c89f7 (32:49f7) +.zero call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $42 call Functionc8ef4 ld a, [hLCDStatCustom + 2] inc a ld [hLCDStatCustom + 2], a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld [hl], $1 ld hl, BG_EFFECT_STRUCT_03 @@ -1800,8 +1808,8 @@ Functionc89f7: ; c89f7 (32:49f7) ld [hl], $20 ret -Functionc8a14: ; c8a14 (32:4a14) - ld hl, BG_EFFECT_STRUCT_02 +.one + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] cp $38 @@ -1824,25 +1832,24 @@ rept 2 endr ret -Functionc8a36: ; c8a36 (32:4a36) +.two call BattleAnim_ResetLCDStatCustom ret BattleBGEffect_2a: ; c8a3a (32:4a3a) call BattleBGEffects_AnonJumptable .anon_jumptable - dw Functionc8a49 - dw Functionc8a6f - dw Functionc8a70 - dw Functionc8a88 - dw Functionc8a6f - dw Functionc8aac - + dw .zero + dw .one + dw .two + dw .three + dw .four + dw .five -Functionc8a49: ; c8a49 (32:4a49) +.zero call BattleBGEffects_IncrementJumptable ld a, $e4 - call Functionc8ecb + call BattleBGEffects_SetLYOverrides ld a, $47 call Functionc8ede ld a, [hLCDStatCustom + 2] @@ -1851,29 +1858,29 @@ Functionc8a49: ; c8a49 (32:4a49) ld a, [hLCDStatCustom + 1] ld l, a ld h, $d2 -.asm_c8a60 +.loop ld a, [hLCDStatCustom + 2] cp l - jr z, .asm_c8a69 + jr z, .done xor a ld [hli], a - jr .asm_c8a60 + jr .loop -.asm_c8a69 +.done ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld [hl], $0 - -Functionc8a6f: ; c8a6f (32:4a6f) +.one +.four ret -Functionc8a70: ; c8a70 (32:4a70) - call Functionc8ab0 - jr nc, .asm_c8a79 - call Functionc8a9a +.two + call .GetLYOverride + jr nc, .next + call .SetLYOverridesBackup ret -.asm_c8a79 +.next ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld [hl], $0 @@ -1883,42 +1890,42 @@ Functionc8a70: ; c8a70 (32:4a70) call BattleBGEffects_IncrementJumptable ret -Functionc8a88: ; c8a88 (32:4a88) - call Functionc8ab0 - jr nc, .asm_c8a96 - call Functionc8a9a +.three + call .GetLYOverride + jr nc, .finish + call .SetLYOverridesBackup ld a, [hLCDStatCustom + 2] dec a ld l, a ld [hl], e ret -.asm_c8a96 +.finish call BattleBGEffects_IncrementJumptable ret -Functionc8a9a: ; c8a9a (32:4a9a) +.SetLYOverridesBackup ld e, a ld a, [hLCDStatCustom + 1] ld l, a ld a, [hLCDStatCustom + 2] sub l srl a - ld h, $d2 -.asm_c8aa5 + ld h, LYOverridesBackup / $100 +.loop2 ld [hl], e rept 2 inc hl endr dec a - jr nz, .asm_c8aa5 + jr nz, .loop2 ret -Functionc8aac: ; c8aac (32:4aac) +.five call Functionc8f19 ret -Functionc8ab0: ; c8ab0 (32:4ab0) +.GetLYOverride ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] @@ -1928,16 +1935,15 @@ Functionc8ab0: ; c8ab0 (32:4ab0) srl a ld e, a ld d, 0 - ld hl, Unknown_c8ac7 + ld hl, .data add hl, de ld a, [hl] cp $ff ret -; c8ac7 (32:4ac7) - -Unknown_c8ac7: - db $00, $40, $90, $e4, $ff +.data + db $00, $40, $90, $e4 + db -1 ; c8acc BattleBGEffect_2b: ; c8acc (32:4acc) @@ -1949,16 +1955,16 @@ BattleBGEffect_2b: ; c8acc (32:4acc) Functionc8ad3: ; c8ad3 (32:4ad3) call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 call Functionc8ede - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld [hl], $40 ret Functionc8ae5: ; c8ae5 (32:4ae5) - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] and a @@ -1991,7 +1997,7 @@ BattleBGEffect_1c: ; c8b00 (32:4b00) Functionc8b0e: ; c8b0e (32:4b0e) call BattleBGEffects_IncrementJumptable ld a, $e4 - call Functionc8ecb + call BattleBGEffects_SetLYOverrides ld a, $47 ld [hLCDStatCustom], a xor a @@ -2016,7 +2022,7 @@ Functionc8b22: ; c8b22 (32:4b22) ld e, a ld d, $0 push bc - call Functionc9038 + call BGEffect_CheckBattleTurn jr nz, .asm_c8b4d ld hl, Unknown_c8bd8 add hl, de @@ -2099,7 +2105,7 @@ Functionc8b91: ; c8b91 sla a ld e, a ld d, 0 - call Functionc9038 + call BGEffect_CheckBattleTurn jr nz, .asm_c8bbb ld hl, Unknown_c8bd8 add hl, de @@ -2256,13 +2262,13 @@ BattleBGEffect_VibrateMon: ; c8c61 (32:4c61) Functionc8c68: ; c8c68 (32:4c68) call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 call Functionc8ede ld a, [hLCDStatCustom + 2] inc a ld [hLCDStatCustom + 2], a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld [hl], $1 ld hl, BG_EFFECT_STRUCT_03 @@ -2279,7 +2285,7 @@ Functionc8c85: ; c8c85 (32:4c85) dec [hl] and $1 ret nz - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] xor $ff @@ -2302,7 +2308,7 @@ BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2) Functionc8cab: ; c8cab (32:4cab) call BattleBGEffects_IncrementJumptable - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ld a, $43 ld [hLCDStatCustom], a xor a @@ -2385,7 +2391,7 @@ Functionc8d0b: ; c8d0b (32:4d0b) and $f jr z, .asm_c8d2a dec [hl] - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] and a @@ -2396,7 +2402,7 @@ Functionc8d0b: ; c8d0b (32:4d0b) swap a or [hl] ld [hl], a - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] xor $ff @@ -2441,7 +2447,7 @@ Functionc8d57: ; c8d57 (32:4d57) ret .asm_c8d69 - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] ld hl, BG_EFFECT_STRUCT_JT_INDEX @@ -2469,7 +2475,7 @@ Jumptable_c8d85: ; c8d85 (32:4d85) Functionc8d8b: ; c8d8b (32:4d8b) call BattleBGEffects_IncrementJumptable ld a, $e4 - call Functionc8ecb + call BattleBGEffects_SetLYOverrides ld a, $47 call Functionc8ede ld a, [hLCDStatCustom + 2] @@ -2479,13 +2485,13 @@ Functionc8d8b: ; c8d8b (32:4d8b) add hl, bc ld a, [hl] ld [hl], $0 - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld [hl], a ret Functionc8daa: ; c8daa (32:4daa) - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] and $f @@ -2532,7 +2538,7 @@ Jumptable_c8ddd: ; c8ddd (32:4ddd) Functionc8de7: ; c8de7 (32:4de7) - call Functionc9038 + call BGEffect_CheckBattleTurn jr nz, .asm_c8df2 call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncrementJumptable @@ -2542,13 +2548,13 @@ Functionc8de7: ; c8de7 (32:4de7) add hl, bc ld a, [hl] ld [hl], $0 - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld [hl], a ret Functionc8e02: ; c8e02 (32:4e02) - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] and $f @@ -2579,7 +2585,7 @@ Functionc8e21: ; c8e21 (32:4e21) ret Functionc8e2a: ; c8e2a (32:4e2a) - ld hl, BG_EFFECT_STRUCT_02 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] and $f @@ -2690,34 +2696,33 @@ Functionc8eb2: ; c8eb2 (32:4eb2) scf ret -Functionc8eca: ; c8eca (32:4eca) +BattleBGEffects_ClearLYOverrides: ; c8eca (32:4eca) xor a - -Functionc8ecb: ; c8ecb (32:4ecb) +BattleBGEffects_SetLYOverrides: ; c8ecb (32:4ecb) ld hl, LYOverrides ; wd100 ld e, $99 -.asm_c8ed0 +.loop1 ld [hli], a dec e - jr nz, .asm_c8ed0 + jr nz, .loop1 ld hl, LYOverridesBackup ld e, $91 -.asm_c8ed9 +.loop2 ld [hli], a dec e - jr nz, .asm_c8ed9 + jr nz, .loop2 ret Functionc8ede: ; c8ede (32:4ede) ld [hLCDStatCustom], a - call Functionc9038 + call BGEffect_CheckBattleTurn jr nz, .asm_c8eea ld de, $36 - jr .asm_c8eed + jr .okay .asm_c8eea ld de, $2f5e -.asm_c8eed +.okay ld a, d ld [hLCDStatCustom + 1], a ld a, e @@ -2726,7 +2731,7 @@ Functionc8ede: ; c8ede (32:4ede) Functionc8ef4: ; c8ef4 (32:4ef4) ld [hLCDStatCustom], a - call Functionc9038 + call BGEffect_CheckBattleTurn jr nz, .asm_c8f00 ld de, $36 jr .asm_c8f03 @@ -2744,7 +2749,7 @@ BattleAnim_ResetLCDStatCustom: ; c8f0a (32:4f0a) xor a ld [hLCDStatCustom + 1], a ld [hLCDStatCustom + 2], a - call Functionc8eca + call BattleBGEffects_ClearLYOverrides xor a ld [hLCDStatCustom], a call EndBattleBGEffect @@ -2759,7 +2764,7 @@ Functionc8f19: ; c8f19 (32:4f19) ld [wOBP1], a ld [hLCDStatCustom + 1], a ld [hLCDStatCustom + 2], a - call Functionc8eca + call BattleBGEffects_ClearLYOverrides ret Functionc8f2e: ; c8f2e (32:4f2e) @@ -2773,19 +2778,19 @@ Functionc8f2e: ; c8f2e (32:4f2e) ld a, $80 ld [wBattleAnimTemp3], a ld bc, LYOverridesBackup -.asm_c8f43 +.loop ld a, [hLCDStatCustom + 1] cp c - jr nc, .asm_c8f58 + jr nc, .next ld a, [hLCDStatCustom + 2] cp c - jr c, .asm_c8f58 + jr c, .next ld a, [wBattleAnimTemp2] ld d, a ld a, [wBattleAnimTemp0] call BattleBGEffects_Sine ld [bc], a -.asm_c8f58 +.next inc bc ld a, [wBattleAnimTemp1] ld hl, wBattleAnimTemp0 @@ -2793,7 +2798,7 @@ Functionc8f2e: ; c8f2e (32:4f2e) ld [hl], a ld hl, wBattleAnimTemp3 dec [hl] - jr nz, .asm_c8f43 + jr nz, .loop pop bc ret @@ -2832,15 +2837,15 @@ Functionc8f9a: ; c8f9a (32:4f9a) ld [wBattleAnimTemp1], a ld a, d ld [wBattleAnimTemp2], a - call Functionc8fe4 + call .GetLYOverrideBackupAddrOffset ld hl, LYOverridesBackup add hl, de ld c, l ld b, h -.asm_c8faf +.loop ld a, [wBattleAnimTemp3] and a - jr z, .asm_c8fe1 + jr z, .done dec a ld [wBattleAnimTemp3], a push af @@ -2853,29 +2858,29 @@ Functionc8f9a: ; c8f9a (32:4f9a) pop hl ld a, [hLCDStatCustom + 2] cp c - jr c, .asm_c8fcf + jr c, .skip1 ld a, e ld [bc], a inc bc -.asm_c8fcf +.skip1 ld a, [hLCDStatCustom + 1] cp l - jr nc, .asm_c8fd6 + jr nc, .skip2 ld [hl], e dec hl -.asm_c8fd6 +.skip2 ld a, [wBattleAnimTemp1] add $4 ld [wBattleAnimTemp1], a pop af - jr .asm_c8faf + jr .loop -.asm_c8fe1 +.done pop bc and a ret -Functionc8fe4: ; c8fe4 (32:4fe4) +.GetLYOverrideBackupAddrOffset ld a, [hLCDStatCustom + 1] ld e, a ld a, [wBattleAnimTemp0] @@ -2884,7 +2889,7 @@ Functionc8fe4: ; c8fe4 (32:4fe4) ld d, $0 ret -Functionc8fef: ; c8fef (32:4fef) +BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef) push bc ld a, [hLCDStatCustom + 1] ld l, a @@ -2895,19 +2900,19 @@ Functionc8fef: ; c8fef (32:4fef) ld a, [hLCDStatCustom + 2] sub l and a - jr z, .asm_c9009 + jr z, .done ld c, a ld a, [hl] push af -.asm_c9001 +.loop ld a, [de] inc de ld [hli], a dec c - jr nz, .asm_c9001 + jr nz, .loop pop af ld [hl], a -.asm_c9009 +.done pop bc ret @@ -2951,26 +2956,26 @@ Functionc901b: ; c901b (32:501b) jr nz, .asm_c9033 ret -Functionc9038: ; c9038 (32:5038) - ld hl, BG_EFFECT_STRUCT_02 +BGEffect_CheckBattleTurn: ; c9038 (32:5038) + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hBattleTurn] and $1 xor [hl] ret -Functionc9042: ; c9042 (32:5042) - ld hl, BG_EFFECT_STRUCT_02 +BGEffect_CheckFlyDigStatus: ; c9042 (32:5042) + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hBattleTurn] and $1 xor [hl] - jr nz, .asm_c9053 + jr nz, .player ld a, [EnemySubStatus3] ; EnemySubStatus3 and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND ret -.asm_c9053 +.player ld a, [PlayerSubStatus3] ; PlayerSubStatus3 and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND ret |