diff options
Diffstat (limited to 'engine/battle/animations.asm')
-rwxr-xr-x | engine/battle/animations.asm | 314 |
1 files changed, 157 insertions, 157 deletions
diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 74bb0573..31148392 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -1,6 +1,6 @@ ; Draws a "frame block". Frame blocks are blocks of tiles that are put ; together to form frames in battle animations. -DrawFrameBlock: ; 78000 (1e:4000) +DrawFrameBlock: ld l, c ld h, b ld a, [hli] @@ -188,7 +188,7 @@ DrawFrameBlock: ; 78000 (1e:4000) .done ret -PlayAnimation: ; 78124 (1e:4124) +PlayAnimation: xor a ld [$FF8B], a ; it looks like nothing reads this ld [wSubAnimTransform], a @@ -285,7 +285,7 @@ PlayAnimation: ; 78124 (1e:4124) .AnimationOver ; 417B ret -LoadSubanimation: ; 781b5 (1e:41b5) +LoadSubanimation: ld a, [wSubAnimAddrPtr + 1] ld h, a ld a, [wSubAnimAddrPtr] @@ -335,7 +335,7 @@ LoadSubanimation: ; 781b5 (1e:41b5) ; called if the subanimation type is not 5 ; sets the transform to 0 (i.e. no transform) if it's the player's turn ; sets the transform to the subanimation type if it's the enemy's turn -GetSubanimationTransform1: ; 781fb (1e:41fb) +GetSubanimationTransform1: ld b, a ld a, [H_WHOSETURN] and a @@ -347,7 +347,7 @@ GetSubanimationTransform1: ; 781fb (1e:41fb) ; called if the subanimation type is 5 ; sets the transform to 2 (i.e. horizontal and vertical flip) if it's the player's turn ; sets the transform to 0 (i.e. no transform) if it's the enemy's turn -GetSubanimationTransform2: ; 78203 (1e:4203) +GetSubanimationTransform2: ld a, [H_WHOSETURN] and a ld a, 2 << 5 @@ -356,7 +356,7 @@ GetSubanimationTransform2: ; 78203 (1e:4203) ret ; loads tile patterns for battle animations -LoadAnimationTileset: ; 7820b (1e:420b) +LoadAnimationTileset: ld a, [wWhichBattleAnimTileset] add a add a @@ -376,7 +376,7 @@ LoadAnimationTileset: ; 7820b (1e:420b) ld c, a ; number of tiles jp CopyVideoData ; load tileset -AnimationTilesetPointers: ; 7822b (1e:422b) +AnimationTilesetPointers: db 79 ; number of tiles dw AnimationTileset1 db $FF @@ -389,16 +389,16 @@ AnimationTilesetPointers: ; 7822b (1e:422b) dw AnimationTileset1 db $FF -AnimationTileset1: ; 78237 (1e:4237) +AnimationTileset1: INCBIN "gfx/attack_anim_1.2bpp" -AnimationTileset2: ; 78757 (1e:4757) +AnimationTileset2: INCBIN "gfx/attack_anim_2.2bpp" -SlotMachineTiles2: ; 78bde (1e:4c17) +SlotMachineTiles2: INCBIN "gfx/slotmachine2.2bpp" -MoveAnimation: ; 78d97 (1e:4d97) +MoveAnimation: push hl push de push bc @@ -443,7 +443,7 @@ MoveAnimation: ; 78d97 (1e:4d97) pop hl ret -ShareMoveAnimations: ; 78ddf (1e:4ddf) +ShareMoveAnimations: ; some moves just reuse animations from status conditions ld a, [H_WHOSETURN] and a @@ -466,7 +466,7 @@ ShareMoveAnimations: ; 78ddf (1e:4ddf) ld [wAnimationID], a ret -PlayApplyingAttackAnimation: ; 78df6 (1e:4df6) +PlayApplyingAttackAnimation: ; Generic animation that shows after the move's individual animation ; Different animation depending on whether the move has an additional effect and on whose turn it is ld a, [wAnimationType] @@ -483,7 +483,7 @@ PlayApplyingAttackAnimation: ; 78df6 (1e:4df6) ld l, a jp [hl] -AnimationTypePointerTable: ; 78e08 (1e:4e08) +AnimationTypePointerTable: dw ShakeScreenVertically ; enemy mon has used a damaging move without a side effect dw ShakeScreenHorizontallyHeavy ; enemy mon has used a damaging move with a side effect dw ShakeScreenHorizontallySlow ; enemy mon has used a non-damaging move @@ -491,33 +491,33 @@ AnimationTypePointerTable: ; 78e08 (1e:4e08) dw ShakeScreenHorizontallyLight ; player mon has used a damaging move with a side effect dw ShakeScreenHorizontallySlow2 ; player mon has used a non-damaging move -ShakeScreenVertically: ; 78e14 (1e:4e14) +ShakeScreenVertically: call PlayApplyingAttackSound ld b, 8 jp AnimationShakeScreenVertically -ShakeScreenHorizontallyHeavy: ; 78e1c (1e:4e1c) +ShakeScreenHorizontallyHeavy: call PlayApplyingAttackSound ld b, 8 jp AnimationShakeScreenHorizontallyFast -ShakeScreenHorizontallySlow: ; 78e24 (1e:4e24) +ShakeScreenHorizontallySlow: lb bc, 6, 2 jr AnimationShakeScreenHorizontallySlow -BlinkEnemyMonSprite: ; 78e29 (1e:4e29) +BlinkEnemyMonSprite: call PlayApplyingAttackSound jp AnimationBlinkEnemyMon -ShakeScreenHorizontallyLight: ; 78e2f (1e:4e2f) +ShakeScreenHorizontallyLight: call PlayApplyingAttackSound ld b, 2 jp AnimationShakeScreenHorizontallyFast -ShakeScreenHorizontallySlow2: ; 78e37 (1e:4e37) +ShakeScreenHorizontallySlow2: lb bc, 3, 2 -AnimationShakeScreenHorizontallySlow: ; 78e3a (1e:4e3a) +AnimationShakeScreenHorizontallySlow: push bc push bc .loop1 @@ -542,7 +542,7 @@ AnimationShakeScreenHorizontallySlow: ; 78e3a (1e:4e3a) jr nz, AnimationShakeScreenHorizontallySlow ret -SetAnimationPalette: ; 78e5c (1e:4e5c) +SetAnimationPalette: ld a, [wOnSGB] and a ld a, $e4 @@ -574,7 +574,7 @@ SetAnimationPalette: ; 78e5c (1e:4e5c) call UpdateGBCPal_OBP1 ret -Func_78e98: ; 78e98 (1e:4e98) +Func_78e98: call SaveScreenTilesToBuffer2 xor a ld [H_AUTOBGTRANSFERENABLED], a @@ -587,14 +587,14 @@ Func_78e98: ; 78e98 (1e:4e98) call LoadScreenTilesFromBuffer2 ld h, vBGMap1 / $100 -WriteLowerByteOfBGMapAndEnableBGTransfer: ; 78eb1 (1e:4eb1) +WriteLowerByteOfBGMapAndEnableBGTransfer: ld l, vBGMap0 & $ff call BattleAnimCopyTileMapToVRAM ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a ret -PlaySubanimation: ; 78ebb (1e:4ebb) +PlaySubanimation: ld a, [wAnimSoundID] cp a, $FF jr z, .skipPlayingSound @@ -660,7 +660,7 @@ PlaySubanimation: ; 78ebb (1e:4ebb) ld [wSubAnimSubEntryAddr], a jp .loop -AnimationCleanOAM: ; 78f30 (1e:4f30) +AnimationCleanOAM: push hl push de push bc @@ -675,7 +675,7 @@ AnimationCleanOAM: ; 78f30 (1e:4f30) ; this runs after each frame block is drawn in a subanimation ; it runs a particular special effect based on the animation ID -DoSpecialEffectByAnimationId: ; 78f3f (1e:4f3f) +DoSpecialEffectByAnimationId: push hl push de push bc @@ -698,7 +698,7 @@ DoSpecialEffectByAnimationId: ; 78f3f (1e:4f3f) ret ; Format: Animation ID (1 byte), Address (2 bytes) -AnimationIdSpecialEffects: ; 78f5d (1e:4f5d) +AnimationIdSpecialEffects: db MEGA_PUNCH dw AnimationFlashScreen @@ -773,7 +773,7 @@ AnimationIdSpecialEffects: ; 78f5d (1e:4f5d) db $FF ; terminator -DoBallTossSpecialEffects: ; 78fa6 (1e:4fa6) +DoBallTossSpecialEffects: ld a, [wcf91] cp a, 3 ; is it a Master Ball or Ultra Ball? jr nc, .skipFlashingEffect @@ -828,7 +828,7 @@ DoBallTossSpecialEffects: ; 78fa6 (1e:4fa6) ld [wSubAnimCounter], a ret -DoBallShakeSpecialEffects: ; 79001 (1e:5001) +DoBallShakeSpecialEffects: ld a, [wSubAnimCounter] cp a, 4 ; is it the beginning of a shake? jr nz, .skipPlayingSound @@ -862,14 +862,14 @@ DoBallShakeSpecialEffects: ; 79001 (1e:5001) ret ; plays a sound after the second frame of the poof animation -DoPoofSpecialEffects: ; 79039 (1e:5039) +DoPoofSpecialEffects: ld a, [wSubAnimCounter] cp a, 5 ret nz ld a, SFX_BALL_POOF jp PlaySound -DoRockSlideSpecialEffects: ; 79044 (1e:5044) +DoRockSlideSpecialEffects: ld a, [wSubAnimCounter] cp a, 12 ret nc @@ -885,21 +885,21 @@ DoRockSlideSpecialEffects: ; 79044 (1e:5044) ld b, 1 predef_jump PredefShakeScreenVertically ; shake vertically -FlashScreenEveryEightFrameBlocks: ; 79062 (1e:5062) +FlashScreenEveryEightFrameBlocks: ld a, [wSubAnimCounter] and a, 7 ; is the subanimation counter exactly 8? call z, AnimationFlashScreen ; if so, flash the screen ret ; flashes the screen if the subanimation counter is divisible by 4 -FlashScreenEveryFourFrameBlocks: ; 7906b (1e:506b) +FlashScreenEveryFourFrameBlocks: ld a, [wSubAnimCounter] and a, 3 call z, AnimationFlashScreen ret ; used for Explosion and Selfdestruct -DoExplodeSpecialEffects: ; 79074 (1e:5074) +DoExplodeSpecialEffects: ld a, [wSubAnimCounter] cp a, 1 ; is it the end of the subanimation? jr nz, FlashScreenEveryFourFrameBlocks @@ -908,7 +908,7 @@ DoExplodeSpecialEffects: ; 79074 (1e:5074) jp AnimationHideMonPic ; make pokemon disappear ; flashes the screen when subanimation counter is 1 modulo 4 -DoBlizzardSpecialEffects: ; 79081 (1e:5081) +DoBlizzardSpecialEffects: ld a, [wSubAnimCounter] cp a, 13 jp z, AnimationFlashScreen @@ -922,7 +922,7 @@ DoBlizzardSpecialEffects: ; 79081 (1e:5081) ; flashes the screen at 3 points in the subanimation ; unused -FlashScreenUnused: ; 79099 (1e:5099) +FlashScreenUnused: ld a, [wSubAnimCounter] cp a, 14 jp z, AnimationFlashScreen @@ -933,7 +933,7 @@ FlashScreenUnused: ; 79099 (1e:5099) ret ; function to make the pokemon disappear at the beginning of the animation -TradeHidePokemon: ; 790ac (1e:50ac) +TradeHidePokemon: ld a, [wSubAnimCounter] cp a, 6 ret nz @@ -941,7 +941,7 @@ TradeHidePokemon: ; 790ac (1e:50ac) jp ClearMonPicFromTileMap ; make pokemon disappear ; function to make a shaking pokeball jump up at the end of the animation -TradeShakePokeball: ; 790b7 (1e:50b7) +TradeShakePokeball: ld a, [wSubAnimCounter] cp a, 1 ret nz @@ -970,12 +970,12 @@ TradeShakePokeball: ; 790b7 (1e:50b7) ld a, SFX_TRADE_MACHINE jp PlaySound -BallMoveDistances1: ; 790e3 (1e:50e3) +BallMoveDistances1: db -12, -12, -8 db $ff ; terminator ; function to make the pokeball jump up -TradeJumpPokeball: ; 790e7 (1e:50e7) +TradeJumpPokeball: ld de, BallMoveDistances2 .loop ld hl, wOAMBuffer ; OAM buffer @@ -1011,13 +1011,13 @@ TradeJumpPokeball: ; 790e7 (1e:50e7) pop de jr .loop -BallMoveDistances2: ; 7911f (1e:511f) +BallMoveDistances2: db 11, 12, -12, -7, 7, 12, -8, 8 db $ff ; terminator ; this function copies the current musical note graphic ; so that there are two musical notes flying towards the defending pokemon -DoGrowlSpecialEffects: ; 79127 (1e:5127) +DoGrowlSpecialEffects: ld hl, wOAMBuffer ; OAM buffer ld de, wOAMBuffer + $10 ld bc, $10 @@ -1028,13 +1028,13 @@ DoGrowlSpecialEffects: ; 79127 (1e:5127) ret ; this is associated with Tail Whip, but Tail Whip doesn't use any subanimations -TailWhipAnimationUnused: ; 7913b (1e:513b) +TailWhipAnimationUnused: ld a, 1 ld [wSubAnimCounter], a ld c, 20 jp DelayFrames -SpecialEffectPointers: ; 79145 (1e:5145) +SpecialEffectPointers: db SE_DARK_SCREEN_FLASH ; $FE dw AnimationFlashScreen db SE_DARK_SCREEN_PALETTE ; $FD @@ -1115,13 +1115,13 @@ SpecialEffectPointers: ; 79145 (1e:5145) dw AnimationWavyScreen db $FF -AnimationDelay10: ; 791bb (1e:51bb) +AnimationDelay10: ld c, 10 jp DelayFrames ; calls a function with the turn flipped from player to enemy or vice versa ; input - hl - address of function to call -CallWithTurnFlipped: ; 791c0 (1e:51c0) +CallWithTurnFlipped: ld a, [H_WHOSETURN] push af xor a, 1 @@ -1135,7 +1135,7 @@ CallWithTurnFlipped: ; 791c0 (1e:51c0) ret ; flashes the screen for an extended period (48 frames) -AnimationFlashScreenLong: ; 791d0 (1e:51d0) +AnimationFlashScreenLong: ld a, 3 ; cycle through the palettes 3 times ld [wFlashScreenLongCounter], a ld a, [wOnSGB] ; running on SGB? @@ -1162,7 +1162,7 @@ AnimationFlashScreenLong: ; 791d0 (1e:51d0) ret ; BG palettes -FlashScreenLongMonochrome: ; 791fc (1e:51fc) +FlashScreenLongMonochrome: db %11111001 ; 3, 3, 2, 1 db %11111110 ; 3, 3, 3, 2 db %11111111 ; 3, 3, 3, 3 @@ -1178,7 +1178,7 @@ FlashScreenLongMonochrome: ; 791fc (1e:51fc) db $01 ; terminator ; BG palettes -FlashScreenLongSGB: ; 79209 (1e:5209) +FlashScreenLongSGB: db %11111000 ; 3, 3, 2, 0 db %11111100 ; 3, 3, 3, 0 db %11111111 ; 3, 3, 3, 3 @@ -1195,7 +1195,7 @@ FlashScreenLongSGB: ; 79209 (1e:5209) ; causes a delay of 2 frames for the first cycle ; causes a delay of 1 frame for the second and third cycles -FlashScreenLongDelay: ; 79216 (1e:5216) +FlashScreenLongDelay: ld a, [wFlashScreenLongCounter] cp a, 4 ; never true since [wFlashScreenLongCounter] starts at 3 ld c, 4 @@ -1208,7 +1208,7 @@ FlashScreenLongDelay: ; 79216 (1e:5216) .delayFrames jp DelayFrames -AnimationFlashScreen: ; 7922c (1e:522c) +AnimationFlashScreen: ld a, [rBGP] push af ; save initial palette ld a, %00011011 ; 0, 1, 2, 3 (inverted colors) @@ -1226,42 +1226,42 @@ AnimationFlashScreen: ; 7922c (1e:522c) call UpdateGBCPal_BGP ret -AnimationDarkScreenPalette: ; 7924d (1e:524d) +AnimationDarkScreenPalette: ; Changes the screen's palette to a dark palette. lb bc, $6f, $6f jr SetAnimationBGPalette -AnimationDarkenMonPalette: ; 79252 (1e:5252) +AnimationDarkenMonPalette: ; Darkens the mon sprite's palette. lb bc, $f9, $f4 jr SetAnimationBGPalette -AnimationUnusedPalette1: ; 79257 (1e:5257) +AnimationUnusedPalette1: lb bc, $fe, $f8 jr SetAnimationBGPalette -AnimationUnusedPalette2: ; 7925c (1e:525c) +AnimationUnusedPalette2: lb bc, $ff, $ff jr SetAnimationBGPalette -AnimationResetScreenPalette: ; 79261 (1e:5261) +AnimationResetScreenPalette: ; Restores the screen's palette to the normal palette. lb bc, $e4, $e4 jr SetAnimationBGPalette -AnimationUnusedPalette3: ; 79266 (1e:5266) +AnimationUnusedPalette3: lb bc, $00, $00 jr SetAnimationBGPalette -AnimationLightScreenPalette: ; 7926b (1e:526b) +AnimationLightScreenPalette: ; Changes the screen to use a palette with light colors. lb bc, $90, $90 jr SetAnimationBGPalette -AnimationUnusedPalette4: ; 79270 (1e:5270) +AnimationUnusedPalette4: lb bc, $40, $40 -SetAnimationBGPalette: ; 79273 (1e:5273) +SetAnimationBGPalette: ld a, [wOnSGB] and a ld a, b @@ -1274,17 +1274,17 @@ SetAnimationBGPalette: ; 79273 (1e:5273) ld b, $5 -AnimationShakeScreenVertically: ; 79283 (1e:5283) +AnimationShakeScreenVertically: predef_jump PredefShakeScreenVertically -AnimationShakeScreen: ; 79288 (1e:5288) +AnimationShakeScreen: ; Shakes the screen for a while. Used in Earthquake/Fissure/etc. animations. ld b, $8 -AnimationShakeScreenHorizontallyFast: ; 7928a (1e:528a) +AnimationShakeScreenHorizontallyFast: predef_jump PredefShakeScreenHorizontally -AnimationWaterDropletsEverywhere: ; 7928f (1e:528f) +AnimationWaterDropletsEverywhere: ; Draws water droplets all over the screen and makes them ; scroll. It's hard to describe, but it's the main animation ; in Surf/Mist/Toxic. @@ -1311,7 +1311,7 @@ AnimationWaterDropletsEverywhere: ; 7928f (1e:528f) jr nz, .loop ret -_AnimationWaterDroplets: ; 792c0 (1e:52c0) +_AnimationWaterDroplets: ld hl, wOAMBuffer .loop ld a, $1 @@ -1352,7 +1352,7 @@ _AnimationWaterDroplets: ; 792c0 (1e:52c0) call AnimationCleanOAM jp DelayFrame -AnimationSlideMonUp: ; 79314 (1e:5314) +AnimationSlideMonUp: ; Slides the mon's sprite upwards. ld c, 7 ld a, [H_WHOSETURN] @@ -1368,7 +1368,7 @@ AnimationSlideMonUp: ; 79314 (1e:5314) ld [wSlideMonUpBottomRowLeftTile], a jp _AnimationSlideMonUp -AnimationSlideMonDown: ; 79331 (1e:5331) +AnimationSlideMonDown: ; Slides the mon's sprite down out of the screen. xor a call GetTileIDList @@ -1385,19 +1385,19 @@ AnimationSlideMonDown: ; 79331 (1e:5331) jr nz, .loop ret -AnimationSlideMonOff: ; 79349 (1e:5349) +AnimationSlideMonOff: ; Slides the mon's sprite off the screen horizontally. ld e, 8 ld a, 3 ld [wSlideMonDelay], a jp _AnimationSlideMonOff -AnimationSlideEnemyMonOff: ; 79353 (1e:5353) +AnimationSlideEnemyMonOff: ; Slides the enemy mon off the screen horizontally. ld hl, AnimationSlideMonOff jp CallWithTurnFlipped -_AnimationSlideMonUp: ; 79359 (1e:5359) +_AnimationSlideMonUp: push de push hl push bc @@ -1448,7 +1448,7 @@ _AnimationSlideMonUp: ; 79359 (1e:5359) jr nz, _AnimationSlideMonUp ret -ShakeEnemyHUD_WritePlayerMonPicOAM: ; 79397 (1e:5397) +ShakeEnemyHUD_WritePlayerMonPicOAM: ; Writes the OAM entries for a copy of the player mon's pic in OAM. ; The top 5 rows are reproduced in OAM, although only 2 are actually needed. ld a, $10 @@ -1476,7 +1476,7 @@ ShakeEnemyHUD_WritePlayerMonPicOAM: ; 79397 (1e:5397) ld [wBaseCoordX], a jr .loop -BattleAnimWriteOAMEntry: ; 793c3 (1e:53c3) +BattleAnimWriteOAMEntry: ; Y coordinate = e (increased by 8 each call, before the write to OAM) ; X coordinate = [wBaseCoordX] ; tile = d @@ -1507,11 +1507,11 @@ BattleAnimWriteOAMEntry: ; 793c3 (1e:53c3) ld [hli], a ret -AdjustOAMBlockXPos: ; 793ef (1e:53ef) +AdjustOAMBlockXPos: ld l, e ld h, d -AdjustOAMBlockXPos2: ; 793f1 (1e:53f1) +AdjustOAMBlockXPos2: ld de, 4 .loop ld a, [wCoordAdjustmentAmount] @@ -1531,11 +1531,11 @@ AdjustOAMBlockXPos2: ; 793f1 (1e:53f1) jr nz, .loop ret -AdjustOAMBlockYPos: ; 79408 (1e:5408) +AdjustOAMBlockYPos: ld l, e ld h, d -AdjustOAMBlockYPos2: ; 7940d (1e:540d) +AdjustOAMBlockYPos2: ld de, 4 .loop ld a, [wCoordAdjustmentAmount] @@ -1554,12 +1554,12 @@ AdjustOAMBlockYPos2: ; 7940d (1e:540d) jr nz, .loop ret -AnimationBlinkEnemyMon: ; 79421 (1e:5421) +AnimationBlinkEnemyMon: ; Make the enemy mon's sprite blink on and off for a second or two ld hl, AnimationBlinkMon jp CallWithTurnFlipped -AnimationBlinkMon: ; 79427 (1e:5427) +AnimationBlinkMon: ; Make the mon's sprite blink on and off for a second or two. push af ld c, 6 @@ -1577,7 +1577,7 @@ AnimationBlinkMon: ; 79427 (1e:5427) pop af ret -AnimationFlashMonPic: ; 79441 (1e:5441) +AnimationFlashMonPic: ; Flashes the mon's sprite on and off ld a, [wBattleMonSpecies] ld [wChangeMonPicPlayerTurnSpecies], a @@ -1585,25 +1585,25 @@ AnimationFlashMonPic: ; 79441 (1e:5441) ld [wChangeMonPicEnemyTurnSpecies], a jp ChangeMonPic -AnimationFlashEnemyMonPic: ; 79450 (1e:5450) +AnimationFlashEnemyMonPic: ; Flashes the enemy mon's sprite on and off ld hl, AnimationFlashMonPic jp CallWithTurnFlipped -AnimationShowMonPic: ; 79456 (1e:5456) +AnimationShowMonPic: xor a call GetTileIDList call GetMonSpriteTileMapPointerFromRowCount call CopyPicTiles jp Delay3 -AnimationShowEnemyMonPic: ; 79463 (1e:5463) +AnimationShowEnemyMonPic: ; Shows the emenmy mon's front sprite. Used in animations like Seismic Toss ; to make the mon's sprite reappear after disappears offscreen. ld hl, AnimationShowMonPic jp CallWithTurnFlipped -AnimationShakeBackAndForth: ; 79469 (1e:5469) +AnimationShakeBackAndForth: ; Shakes the mon's sprite back and forth rapidly. This is used in Double Team. ; The mon's sprite disappears after this animation. ld a, [H_WHOSETURN] @@ -1650,7 +1650,7 @@ AnimationShakeBackAndForth: ; 79469 (1e:5469) jr nz, .loop ret -AnimationMoveMonHorizontally: ; 794b1 (1e:54b1) +AnimationMoveMonHorizontally: ; Shifts the mon's sprite horizontally to a fixed location. Used by lots of ; animations like Tackle/Body Slam. call AnimationHideMonPic @@ -1668,7 +1668,7 @@ AnimationMoveMonHorizontally: ; 794b1 (1e:54b1) ld c, 3 jp DelayFrames -AnimationResetMonPosition: ; 794cd (1e:54cd) +AnimationResetMonPosition: ; Resets the mon's sprites to be located at the normal coordinates. ld a, [H_WHOSETURN] and a @@ -1679,7 +1679,7 @@ AnimationResetMonPosition: ; 794cd (1e:54cd) call ClearMonPicFromTileMap jp AnimationShowMonPic -AnimationSpiralBallsInward: ; 794dc (1e:54dc) +AnimationSpiralBallsInward: ; Creates an effect that looks like energy balls spiralling into the ; player mon's sprite. Used in Focus Energy, for example. ld a, [H_WHOSETURN] @@ -1746,7 +1746,7 @@ AnimationSpiralBallsInward: ; 794dc (1e:54dc) call AnimationCleanOAM jp AnimationFlashScreen -SpiralBallAnimationCoordinates: ; 79545 (1e:5545) +SpiralBallAnimationCoordinates: ; y, x pairs ; This is the sequence of screen coordinates that the spiralling ; balls are positioned at. @@ -1773,7 +1773,7 @@ SpiralBallAnimationCoordinates: ; 79545 (1e:5545) db $50, $28 db $FF ; list terminator -AnimationSquishMonPic: ; 79570 (1e:5570) +AnimationSquishMonPic: ; Squishes the mon's sprite horizontally making it ; disappear. Used by Teleport/Sky Attack animations. ld c, 4 @@ -1804,7 +1804,7 @@ AnimationSquishMonPic: ; 79570 (1e:5570) ld c, 2 jp DelayFrame -_AnimationSquishMonPic: ; 795a3 (1e:55a3) +_AnimationSquishMonPic: ld c, 7 .loop push bc @@ -1829,7 +1829,7 @@ _AnimationSquishMonPic: ; 795a3 (1e:55a3) jr nz, .loop jp Delay3 -AnimationShootBallsUpward: ; 795c8 (1e:55c8) +AnimationShootBallsUpward: ; Shoots one pillar of "energy" balls upwards. Used in Teleport/Sky Attack ; animations. ld a, [H_WHOSETURN] @@ -1848,7 +1848,7 @@ AnimationShootBallsUpward: ; 795c8 (1e:55c8) call _AnimationShootBallsUpward jp AnimationCleanOAM -_AnimationShootBallsUpward: ; 795e6 (1e:55e6) +_AnimationShootBallsUpward: push bc xor a ld [wWhichBattleAnimTileset], a @@ -1898,7 +1898,7 @@ _AnimationShootBallsUpward: ; 795e6 (1e:55e6) jr nz, .loop ret -AnimationShootManyBallsUpward: ; 79635 (1e:5635) +AnimationShootManyBallsUpward: ; Shoots several pillars of "energy" balls upward. ld a, [H_WHOSETURN] and a @@ -1922,19 +1922,19 @@ AnimationShootManyBallsUpward: ; 79635 (1e:5635) pop hl jr .loop -UpwardBallsAnimXCoordinatesPlayerTurn: ; 79660 (1e:5660) +UpwardBallsAnimXCoordinatesPlayerTurn: ; List of x coordinates for each pillar of "energy" balls in the ; AnimationShootManyBallsUpward animation. It's unused in the game. db $10, $40, $28, $18, $38, $30 db $FF ; list terminator -UpwardBallsAnimXCoordinatesEnemyTurn: ; 79667 (1e:5667) +UpwardBallsAnimXCoordinatesEnemyTurn: ; List of x coordinates for each pillar of "energy" balls in the ; AnimationShootManyBallsUpward animation. It's unused in the game. db $60, $90, $78, $68, $88, $80 db $FF ; list terminator -AnimationMinimizeMon: ; 7966e (1e:566e) +AnimationMinimizeMon: ; Changes the mon's sprite to a mini black sprite. Used by the ; Minimize animation. ld hl, wTempPic @@ -1958,11 +1958,11 @@ AnimationMinimizeMon: ; 7966e (1e:566e) call Delay3 jp AnimationShowMonPic -MinimizedMonSprite: ; 79693 (1e:5693) +MinimizedMonSprite: INCBIN "gfx/minimized_mon_sprite.1bpp" MinimizedMonSpriteEnd: -AnimationSlideMonDownAndHide: ; 79698 (1e:5698) +AnimationSlideMonDownAndHide: ; Slides the mon's sprite down and disappears. Used in Acid Armor. ld a, $1 ld c, $2 @@ -1989,7 +1989,7 @@ AnimationSlideMonDownAndHide: ; 79698 (1e:5698) call FillMemory jp CopyTempPicToMonPic -_AnimationSlideMonOff: ; 796c7 (1e:56c7) +_AnimationSlideMonOff: ; Slides the mon's sprite off the screen horizontally by e tiles and waits ; [wSlideMonDelay] V-blanks each time the pic is slid by one tile. ld a, [H_WHOSETURN] @@ -2059,7 +2059,7 @@ _AnimationSlideMonOff: ; 796c7 (1e:56c7) ld a, " " ret -AnimationSlideMonHalfOff: ; 79714 (1e:5714) +AnimationSlideMonHalfOff: ; Slides the mon's sprite halfway off the screen. It's used in Softboiled. ld e, 4 ld a, 4 @@ -2067,7 +2067,7 @@ AnimationSlideMonHalfOff: ; 79714 (1e:5714) call _AnimationSlideMonOff jp Delay3 -CopyTempPicToMonPic: ; 79721 (1e:5721) +CopyTempPicToMonPic: ld a, [H_WHOSETURN] and a ld hl, vBackPic ; player turn @@ -2078,7 +2078,7 @@ CopyTempPicToMonPic: ; 79721 (1e:5721) ld bc, 7 * 7 jp CopyVideoData -AnimationWavyScreen: ; 79735 (1e:5735) +AnimationWavyScreen: ; used in Psywave/Psychic etc. ld hl, vBGMap0 call BattleAnimCopyTileMapToVRAM @@ -2119,7 +2119,7 @@ AnimationWavyScreen: ; 79735 (1e:5735) call BattleAnimCopyTileMapToVRAM ret -WavyScreen_SetSCX: ; 7977d (1e:577d) +WavyScreen_SetSCX: ld a, [rSTAT] and $3 ; is it H-blank? jr nz, WavyScreen_SetSCX ; wait until it's H-blank @@ -2132,14 +2132,14 @@ WavyScreen_SetSCX: ; 7977d (1e:577d) ld hl, WavyScreenLineOffsets ; go back to the beginning if so ret -WavyScreenLineOffsets: ; 7978e (1e:578e) +WavyScreenLineOffsets: ; Sequence of horizontal line pixel offsets for the wavy screen animation. ; This sequence vaguely resembles a sine wave. db 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1 db 0, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -1, -1, -1 db $80 ; terminator -AnimationSubstitute: ; 797af (1e:57af) +AnimationSubstitute: ; Changes the pokemon's sprite to the mini sprite ld hl, wTempPic xor a @@ -2178,12 +2178,12 @@ AnimationSubstitute: ; 797af (1e:57af) call CopyTempPicToMonPic jp AnimationShowMonPic -CopySlowbroSpriteData: ; 7980e (1e:580e) +CopySlowbroSpriteData: ld bc, $0010 ld a, BANK(SlowbroSprite) jp FarCopyData -HideSubstituteShowMonAnim: ; 79816 (1e:5816) +HideSubstituteShowMonAnim: ld a, [H_WHOSETURN] and a ld hl, wPlayerMonMinimized @@ -2267,12 +2267,12 @@ HideSubstituteShowMonAnim: ; 79816 (1e:5816) jr nz, .loop jp CopyTempPicToMonPic -ReshowSubstituteAnim: ; 798b2 (1e:58b2) +ReshowSubstituteAnim: call AnimationSlideMonOff call AnimationSubstitute jp AnimationShowMonPic -AnimationBoundUpAndDown: ; 798bb (1e:58bb) +AnimationBoundUpAndDown: ; Bounces the mon's sprite up and down several times. It is used ; by Splash's animation. ld c, 5 @@ -2284,7 +2284,7 @@ AnimationBoundUpAndDown: ; 798bb (1e:58bb) jr nz, .loop jp AnimationShowMonPic -AnimationTransformMon: ; 798c8 (1e:58c8) +AnimationTransformMon: ; Redraws this mon's sprite as the back/front sprite of the opposing mon. ; Used in Transform. ld a, [wEnemyMonSpecies] @@ -2292,7 +2292,7 @@ AnimationTransformMon: ; 798c8 (1e:58c8) ld a, [wBattleMonSpecies] ld [wChangeMonPicEnemyTurnSpecies], a -ChangeMonPic: ; 798d4 (1e:58d4) +ChangeMonPic: ld a, [H_WHOSETURN] and a jr z, .playerTurn @@ -2323,7 +2323,7 @@ ChangeMonPic: ; 798d4 (1e:58d4) ld b, SET_PAL_BATTLE jp RunPaletteCommand -AnimationHideEnemyMonPic: ; 79919 (1e:5919) +AnimationHideEnemyMonPic: ; Hides the enemy mon's sprite xor a ld [H_AUTOBGTRANSFERENABLED], a @@ -2333,7 +2333,7 @@ AnimationHideEnemyMonPic: ; 79919 (1e:5919) ld [H_AUTOBGTRANSFERENABLED], a jp Delay3 -Func_79929: ; 79929 (1e:5929) +Func_79929: ld hl, wPlayerMonMinimized ld a, [H_WHOSETURN] and a @@ -2350,7 +2350,7 @@ Func_79929: ; 79929 (1e:5929) call AnimationShowMonPic ret -InitMultipleObjectsOAM: ; 79943 (1e:5943) +InitMultipleObjectsOAM: ; Writes c OAM entries with tile d. ; Sets their Y coordinates to sequential multiples of 8, starting from 0. ; Sets their X coordinates to 0. @@ -2373,7 +2373,7 @@ InitMultipleObjectsOAM: ; 79943 (1e:5943) ret ; unreferenced -AnimationHideMonPic: ; 7995d (1e:595d) +AnimationHideMonPic: ; Hides the mon's sprite. ld a, [H_WHOSETURN] and a @@ -2383,7 +2383,7 @@ AnimationHideMonPic: ; 7995d (1e:595d) .playerTurn ld a, 5 * SCREEN_WIDTH + 1 -ClearMonPicFromTileMap: ; 79968 (1e:5968) +ClearMonPicFromTileMap: push hl push de push bc @@ -2401,7 +2401,7 @@ ClearMonPicFromTileMap: ; 79968 (1e:5968) ; puts the tile map destination address of a mon sprite in hl, given the row count in b ; The usual row count is 7, but it may be smaller when sliding a mon sprite in/out, ; in order to show only a portion of the mon sprite. -GetMonSpriteTileMapPointerFromRowCount: ; 7997c (1e:597c) +GetMonSpriteTileMapPointerFromRowCount: push de ld a, [H_WHOSETURN] and a @@ -2434,7 +2434,7 @@ GetMonSpriteTileMapPointerFromRowCount: ; 7997c (1e:597c) ; de = tile ID list pointer ; b = number of rows ; c = number of columns -GetTileIDList: ; 7999e (1e:599e) +GetTileIDList: ld hl, TileIDListPointerTable ld e, a ld d, 0 @@ -2455,7 +2455,7 @@ GetTileIDList: ; 7999e (1e:599e) ld b, a ret -AnimCopyRowLeft: ; 798b7 (1e:58b7) +AnimCopyRowLeft: ; copy a row of c tiles 1 tile left ld a, [hld] ld [hli], a @@ -2464,7 +2464,7 @@ AnimCopyRowLeft: ; 798b7 (1e:58b7) jr nz, AnimCopyRowLeft ret -AnimCopyRowRight: ; 799be (1e:59be) +AnimCopyRowRight: ; copy a row of c tiles 1 tile right ld a, [hli] ld [hld], a @@ -2474,13 +2474,13 @@ AnimCopyRowRight: ; 799be (1e:59be) ret ; get the sound of the move id in b -GetMoveSoundB: ; 799c5 (1e:59c5) +GetMoveSoundB: ld a, b call GetMoveSound ld b, a ret -GetMoveSound: ; 799cb (1e:59cb) +GetMoveSound: ld hl, MoveSoundTable ld e, a ld d, 0 @@ -2520,7 +2520,7 @@ GetMoveSound: ; 799cb (1e:59cb) ld a, b ret -IsCryMove: ; 79a09 (1e:5a09) +IsCryMove: ; set carry if the move animation involves playing a monster cry ld a, [wAnimationID] cp a, GROWL @@ -2533,7 +2533,7 @@ IsCryMove: ; 79a09 (1e:5a09) scf ret -MoveSoundTable: ; 79a18 (1e:5a18) +MoveSoundTable: ; ID, pitch mod, tempo mod db SFX_POUND, $00, $80 ; POUND db SFX_BATTLE_0C, $10, $80 ; KARATE_CHOP @@ -2702,7 +2702,7 @@ MoveSoundTable: ; 79a18 (1e:5a18) db SFX_BATTLE_0B, $00, $80 ; STRUGGLE db SFX_BATTLE_0B, $00, $80 -CopyPicTiles: ; 79c0a (1e:5c0a) +CopyPicTiles: ld a, [H_WHOSETURN] and a ld a, $31 ; base tile ID of player mon sprite @@ -2714,7 +2714,7 @@ CopyPicTiles: ; 79c0a (1e:5c0a) jr CopyTileIDs_NoBGTransfer ; copy the tiles used when a mon is being sent out of or into a pokeball -CopyDownscaledMonTiles: ; 79c16 (1e:5c16) +CopyDownscaledMonTiles: call GetPredefRegisters ld a, [wDownscaledMonSize] and a @@ -2725,14 +2725,14 @@ CopyDownscaledMonTiles: ; 79c16 (1e:5c16) ld de, DownscaledMonTiles_3x3 ; fall through -CopyTileIDs_NoBGTransfer: ; 79acb (1e:5acb) +CopyTileIDs_NoBGTransfer: xor a ld [H_AUTOBGTRANSFERENABLED], a ; fall through ; b = number of rows ; c = number of columns -CopyTileIDs: ; 79ace (1e:5ace) +CopyTileIDs: push hl .rowLoop push bc @@ -2757,7 +2757,7 @@ CopyTileIDs: ; 79ace (1e:5ace) pop hl ret -TileIDListPointerTable: ; 79c46 (1e:5c46) +TileIDListPointerTable: dw DownscaledMonTiles_7x7 dn 7, 7 dw DownscaledMonTiles_5x7 @@ -2775,19 +2775,19 @@ TileIDListPointerTable: ; 79c46 (1e:5c46) dw DownscaledMonTiles_79dac dn 3, 12 -DownscaledMonTiles_5x5: ; 79b02 (1e:5b02) +DownscaledMonTiles_5x5: db $31, $38, $46, $54, $5B db $32, $39, $47, $55, $5C db $34, $3B, $49, $57, $5E db $36, $3D, $4B, $59, $60 db $37, $3E, $4C, $5A, $61 -DownscaledMonTiles_3x3: ; 79b1b (1e:5b1b) +DownscaledMonTiles_3x3: db $31, $46, $5B db $34, $49, $5E db $37, $4C, $61 -DownscaledMonTiles_7x7: ; 79c80 (1e:5c80) +DownscaledMonTiles_7x7: db $00, $07, $0E, $15, $1C, $23, $2A db $01, $08, $0F, $16, $1D, $24, $2B db $02, $09, $10, $17, $1E, $25, $2C @@ -2796,19 +2796,19 @@ DownscaledMonTiles_7x7: ; 79c80 (1e:5c80) db $05, $0C, $13, $1A, $21, $28, $2F db $06, $0D, $14, $1B, $22, $29, $30 -DownscaledMonTiles_5x7: ; 79cb1 (1e:5cb1) +DownscaledMonTiles_5x7: db $00, $07, $0E, $15, $1C, $23, $2A db $01, $08, $0F, $16, $1D, $24, $2B db $03, $0A, $11, $18, $1F, $26, $2D db $04, $0B, $12, $19, $20, $27, $2E db $05, $0C, $13, $1A, $21, $28, $2F -DownscaledMonTiles_3x7: ; 79cd4 (1e:5cd4) +DownscaledMonTiles_3x7: db $00, $07, $0E, $15, $1C, $23, $2A db $02, $09, $10, $17, $1E, $25, $2C db $04, $0B, $12, $19, $20, $27, $2E -DownscaledMonTiles_79ce9: ; 79ce9 (1e:5ce9) +DownscaledMonTiles_79ce9: db $00, $00, $00, $00, $00, $00, $00 db $00, $00, $00, $00, $00, $19, $00 db $02, $06, $0B, $10, $14, $1A, $00 @@ -2817,7 +2817,7 @@ DownscaledMonTiles_79ce9: ; 79ce9 (1e:5ce9) db $04, $09, $0E, $13, $17, $1D, $1F db $05, $0A, $0F, $01, $18, $1E, $20 -DownscaledMonTiles_79d1a: ; 79d1a (1e:5d1a) +DownscaledMonTiles_79d1a: db $00, $00, $00, $30, $00, $37, $00 db $00, $00, $2B, $31, $34, $38, $3D db $21, $26, $2C, $01, $35, $39, $3E @@ -2826,7 +2826,7 @@ DownscaledMonTiles_79d1a: ; 79d1a (1e:5d1a) db $24, $29, $2F, $01, $01, $3B, $00 db $25, $2A, $01, $01, $01, $3C, $00 -DownscaledMonTiles_79d4b: ; 79d4b (1e:5d4b) +DownscaledMonTiles_79d4b: db $00, $00, $00, $00, $00, $00, $00 db $00, $00, $47, $4D, $00, $00, $00 db $00, $00, $48, $4E, $52, $56, $5B @@ -2835,7 +2835,7 @@ DownscaledMonTiles_79d4b: ; 79d4b (1e:5d4b) db $41, $45, $4B, $51, $4C, $59, $5D db $42, $46, $4C, $4C, $55, $5A, $5E -DownscaledMonTiles_79d7c: ; 79d7c (1e:5d7c) +DownscaledMonTiles_79d7c: db $31, $32, $32, $32, $32, $33 db $34, $35, $36, $36, $37, $38 db $34, $39, $3A, $3A, $3B, $38 @@ -2845,12 +2845,12 @@ DownscaledMonTiles_79d7c: ; 79d7c (1e:5d7c) db $41, $43, $4B, $4C, $4D, $4E db $4F, $50, $50, $50, $51, $52 -DownscaledMonTiles_79dac: ; 79dac (1e:5dac) +DownscaledMonTiles_79dac: db $43, $55, $56, $53, $53, $53, $53, $53, $53, $53, $53, $53 db $43, $57, $58, $54, $54, $54, $54, $54, $54, $54, $54, $54 db $43, $59, $5A, $43, $43, $43, $43, $43, $43, $43, $43, $43 -AnimationLeavesFalling: ; 79dd0 (1e:5dd0) +AnimationLeavesFalling: ; Makes leaves float down from the top of the screen. This is used ; in Razor Leaf's animation. ld a, [wAnimPalette] @@ -2861,7 +2861,7 @@ AnimationLeavesFalling: ; 79dd0 (1e:5dd0) ld [wNumFallingObjects], a jp AnimationFallingObjects -AnimationPetalsFalling: ; 79de2 (1e:5de2) +AnimationPetalsFalling: ; Makes lots of petals fall down from the top of the screen. It's used in ; the animation for Petal Dance. ld d, $71 ; petal tile @@ -2870,7 +2870,7 @@ AnimationPetalsFalling: ; 79de2 (1e:5de2) call AnimationFallingObjects jp ClearSprites -AnimationFallingObjects: ; 79def (1e:5def) +AnimationFallingObjects: ld c, a ld a, 1 call InitMultipleObjectsOAM @@ -2909,7 +2909,7 @@ AnimationFallingObjects: ; 79def (1e:5def) jr nz, .loop ; keep moving the falling objects down until it does ret -FallingObjects_UpdateOAMEntry: ; 79cdb (1e:5cdb) +FallingObjects_UpdateOAMEntry: ; Increases Y by 2 pixels and adjusts X and X flip based on the falling object's ; movement byte. ld hl, wOAMBuffer @@ -2978,10 +2978,10 @@ FallingObjects_UpdateOAMEntry: ; 79cdb (1e:5cdb) ld [hl], a ; attribute ret -FallingObjects_DeltaXs: ; 79e96 (1e:5e96) +FallingObjects_DeltaXs: db 0, 1, 3, 5, 7, 9, 11, 13, 15 -FallingObjects_UpdateMovementByte: ; 79e9f (1e:5e9f) +FallingObjects_UpdateMovementByte: ld a, [wFallingObjectMovementByte] inc a ld b, a @@ -2997,7 +2997,7 @@ FallingObjects_UpdateMovementByte: ; 79e9f (1e:5e9f) ld [wFallingObjectMovementByte], a ret -FallingObjects_InitXCoords: ; 79eb3 (1e:5eb3) +FallingObjects_InitXCoords: ld hl, wOAMBuffer + $01 ld de, FallingObjects_InitialXCoords ld a, [wNumFallingObjects] @@ -3013,10 +3013,10 @@ FallingObjects_InitXCoords: ; 79eb3 (1e:5eb3) jr nz, .loop ret -FallingObjects_InitialXCoords: ; 79ec7 (1e:5ec7) +FallingObjects_InitialXCoords: db $38, $40, $50, $60, $70, $88, $90, $56, $67, $4A, $77, $84, $98, $32, $22, $5C, $6C, $7D, $8E, $99 -FallingObjects_InitMovementData: ; 79edb (1e:5edb) +FallingObjects_InitMovementData: ld hl, wFallingObjectsMovementData ld de, FallingObjects_InitialMovementData ld a, [wNumFallingObjects] @@ -3029,10 +3029,10 @@ FallingObjects_InitMovementData: ; 79edb (1e:5edb) jr nz, .loop ret -FallingObjects_InitialMovementData: ; 79eec (1e:5eec) +FallingObjects_InitialMovementData: db $00, $84, $06, $81, $02, $88, $01, $83, $05, $89, $09, $80, $07, $87, $03, $82, $04, $85, $08, $86 -AnimationShakeEnemyHUD: ; 79f00 (1e:5f00) +AnimationShakeEnemyHUD: ; Shakes the enemy HUD. ; Make a copy of the back pic's tile patterns in sprite tile pattern VRAM. @@ -3118,7 +3118,7 @@ AnimationShakeEnemyHUD: ; 79f00 (1e:5f00) ; b = tile ID list index ; c = base tile ID -CopyTileIDsFromList: ; 79f7b (1e:5f7b) +CopyTileIDsFromList: call GetPredefRegisters ld a, c ld [hBaseTileID], a @@ -3128,7 +3128,7 @@ CopyTileIDsFromList: ; 79f7b (1e:5f7b) pop hl jp CopyTileIDs -ShakeEnemyHUD_ShakeBG: ; 79f8a (1e:5f8a) +ShakeEnemyHUD_ShakeBG: ld a, [hSCX] ld [wTempSCX], a .loop @@ -3148,14 +3148,14 @@ ShakeEnemyHUD_ShakeBG: ; 79f8a (1e:5f8a) ld [hSCX], a ret -BattleAnimCopyTileMapToVRAM: ; 79fae (1e:5fae) +BattleAnimCopyTileMapToVRAM: ld a, h ld [H_AUTOBGTRANSFERDEST + 1], a ld a, l ld [H_AUTOBGTRANSFERDEST], a jp Delay3 -TossBallAnimation: ; 79fb7 (1e:5fb7) +TossBallAnimation: ld a, [wIsInBattle] cp a, 2 jr z, .BlockBall ; if in trainer battle, play different animation @@ -3198,7 +3198,7 @@ TossBallAnimation: ; 79fb7 (1e:5fb7) jr nz, .PlayNextAnimation ret -.PokeBallAnimations: ; 79ff1 (1e:5ff1) +.PokeBallAnimations: ; sequence of animations that make up the Poké Ball toss db POOF_ANIM, HIDEPIC_ANIM, SHAKE_ANIM, POOF_ANIM, SHOWPIC_ANIM @@ -3212,7 +3212,7 @@ TossBallAnimation: ; 79fb7 (1e:5fb7) ld [wAnimationID], a jp PlayAnimation -PlayApplyingAttackSound: ; 7a00b (1e:600b) +PlayApplyingAttackSound: ; play a different sound depending if move is not very effective, neutral, or super-effective ; don't play any sound at all if move is ineffective call WaitForSoundToFinish @@ -3236,4 +3236,4 @@ PlayApplyingAttackSound: ; 7a00b (1e:600b) ld a, b ld [wTempoModifier], a ld a, c - jp PlaySound
\ No newline at end of file + jp PlaySound |