mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Move battle start animation functions to its own file
This commit is contained in:
parent
52605b764a
commit
0a244e043c
@ -1,11 +1,11 @@
|
||||
AI_SwitchOrTryItem: ; 38000
|
||||
and a
|
||||
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
ret z
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
@ -731,7 +731,7 @@ AI_Switch: ; 3846c
|
||||
callba Function3d57a
|
||||
xor a
|
||||
ld [wd264], a
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
scf
|
||||
|
140
battle/core.asm
140
battle/core.asm
@ -25,7 +25,7 @@ Function3c000: ; 3c000
|
||||
.asm_3c021
|
||||
ld a, d
|
||||
ld [wBattleAction], a
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3c031
|
||||
|
||||
@ -34,7 +34,7 @@ Function3c000: ; 3c000
|
||||
jr z, .asm_3c04c
|
||||
|
||||
.asm_3c031
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .asm_3c047
|
||||
xor a
|
||||
@ -97,7 +97,7 @@ Function3c000: ; 3c000
|
||||
call Function309d
|
||||
call SetPlayerTurn
|
||||
call SpikesDamage
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3c0df
|
||||
ld a, [$ffcb]
|
||||
@ -127,7 +127,7 @@ WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5
|
||||
and $c0
|
||||
add $2
|
||||
ld [wd0ee], a
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ld hl, BattleText_WildFled
|
||||
jr z, .asm_3c115
|
||||
@ -438,7 +438,7 @@ Function3c27c: ; 3c27c
|
||||
; 3c300
|
||||
|
||||
Function3c300: ; 3c300
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3c30d
|
||||
ld a, [wBattleAction]
|
||||
@ -456,7 +456,7 @@ Function3c300: ; 3c300
|
||||
; 3c314
|
||||
|
||||
Function3c314: ; 3c314
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3c35b
|
||||
ld a, [wBattleAction]
|
||||
@ -778,7 +778,7 @@ Function3c4df: ; 3c4df
|
||||
|
||||
|
||||
Function3c543: ; 3c543
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .Stay
|
||||
|
||||
@ -1272,7 +1272,7 @@ Function3c801: ; 3c801
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
ret z
|
||||
ld hl, OTPartyMon1HP
|
||||
@ -1429,7 +1429,7 @@ Function3c93c: ; 3c93c
|
||||
jr z, .asm_3c99b
|
||||
ld de, wc739
|
||||
ld hl, wc735
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .asm_3c99b
|
||||
ld hl, OTPartyMon1PP
|
||||
@ -1518,7 +1518,7 @@ Function3c93c: ; 3c93c
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr z, .asm_3ca12
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .asm_3ca14
|
||||
call Function3df1f
|
||||
@ -1637,7 +1637,7 @@ HanleDefrost: ; 3ca8f
|
||||
xor a
|
||||
ld [EnemyMonStatus], a
|
||||
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .asm_3caef
|
||||
ld a, [CurOTMon]
|
||||
@ -2119,7 +2119,7 @@ Function3cd55: ; 3cd55
|
||||
ld c, 60
|
||||
call DelayFrames
|
||||
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .asm_3cd8c
|
||||
|
||||
@ -2196,7 +2196,7 @@ Function3cdca: ; 3cdca
|
||||
|
||||
Function3ce01: ; 3ce01
|
||||
call UpdateBattleMonInParty
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .asm_3ce16
|
||||
ld a, [CurOTMon]
|
||||
@ -2215,7 +2215,7 @@ Function3ce01: ; 3ce01
|
||||
ld [hl], a
|
||||
call NewEnemyMonStatus
|
||||
call BreakAttraction
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .asm_3ce2f
|
||||
jr .asm_3ce37
|
||||
@ -2240,7 +2240,7 @@ Function3ce01: ; 3ce01
|
||||
ld a, d
|
||||
and a
|
||||
ret z
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
call z, Function3d0ea
|
||||
call EmptyBattleTextBox
|
||||
@ -2401,7 +2401,7 @@ Function3cf4a: ; 3cf4a
|
||||
call Function3e12e
|
||||
call WaitBGMap
|
||||
callba Function2c012
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3cf6d
|
||||
call Function3e8e4
|
||||
@ -2452,7 +2452,7 @@ Function3cfa4: ; 3cfa4
|
||||
ld a, $1
|
||||
ld [wc6fd], a
|
||||
ld [BattleEnded], a
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ld a, b
|
||||
call z, Function3d0ea
|
||||
@ -2461,7 +2461,7 @@ Function3cfa4: ; 3cfa4
|
||||
call StdBattleTextBox
|
||||
call IsMobileBattle
|
||||
jr z, .asm_3cff5
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
@ -2664,7 +2664,7 @@ Function3d0ea: ; 3d0ea
|
||||
call PlayMusic
|
||||
call DelayFrame
|
||||
ld de, MUSIC_WILD_VICTORY
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .asm_3d113
|
||||
push de
|
||||
@ -2747,7 +2747,7 @@ KantoGymLeaders:
|
||||
db SABRINA
|
||||
db BLAINE
|
||||
db BLUE
|
||||
db $ff
|
||||
db -1
|
||||
|
||||
|
||||
Function3d14e: ; 3d14e
|
||||
@ -2768,7 +2768,7 @@ Function3d14e: ; 3d14e
|
||||
or [hl]
|
||||
jr nz, .asm_3d185
|
||||
call Function3ce01
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .asm_3d17f
|
||||
ld a, $1
|
||||
@ -2842,7 +2842,7 @@ Function3d1aa: ; 3d1aa
|
||||
Function3d1f8: ; 3d1f8
|
||||
call EmptyBattleTextBox
|
||||
call Function309d
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
and a
|
||||
dec a
|
||||
ret nz
|
||||
@ -2870,7 +2870,7 @@ Function3d227: ; 3d227
|
||||
call Function1d6e
|
||||
call Function3d2f7
|
||||
call ForcePickPartyMonInBattle
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3d241
|
||||
ld a, $1
|
||||
@ -2949,8 +2949,8 @@ Function3d2b3: ; 3d2b3
|
||||
|
||||
|
||||
Function3d2e0: ; 3d2e0
|
||||
ld a, [InLinkBattle]
|
||||
cp $4
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
jr nz, .asm_3d2ef ; It's not a mobile battle
|
||||
|
||||
ld a, [wcd2b]
|
||||
@ -2967,8 +2967,8 @@ Function3d2e0: ; 3d2e0
|
||||
; 3d2f1
|
||||
|
||||
IsMobileBattle: ; 3d2f1
|
||||
ld a, [InLinkBattle]
|
||||
cp $4
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
ret
|
||||
; 3d2f7
|
||||
|
||||
@ -3119,7 +3119,7 @@ LostBattle: ; 3d38e
|
||||
ret
|
||||
|
||||
.asm_3d3e3
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .LostLinkBattle
|
||||
|
||||
@ -3337,7 +3337,7 @@ Function3d517: ; 3d517
|
||||
; 3d533
|
||||
|
||||
Function3d533: ; 3d533
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3d541
|
||||
|
||||
@ -3630,7 +3630,7 @@ Function3d714: ; 3d714
|
||||
ld a, [PartyCount]
|
||||
dec a
|
||||
jp z, .asm_3d749
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jp nz, .asm_3d749
|
||||
ld a, [Options]
|
||||
@ -3862,11 +3862,11 @@ Function3d8b3: ; 3d8b3
|
||||
cp BATTLETYPE_SUICUNE
|
||||
jp z, .asm_3d98d
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jp nz, .asm_3d9a2
|
||||
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jp nz, .asm_3d992
|
||||
|
||||
@ -3979,7 +3979,7 @@ Function3d8b3: ; 3d8b3
|
||||
ret
|
||||
|
||||
.asm_3d9a2
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ld a, $2
|
||||
jr z, .asm_3d9cf
|
||||
@ -4107,7 +4107,7 @@ Function3da97: ; 3da97
|
||||
bit SUBSTATUS_TRANSFORMED, a
|
||||
ret z
|
||||
ld hl, wc6f2
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
ret z
|
||||
ld hl, OTPartyMon1DVs
|
||||
@ -4658,7 +4658,7 @@ Function3de51: ; 3de51
|
||||
call Function3df1f
|
||||
xor a
|
||||
ld [bc], a
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
ret z
|
||||
ld [hl], $0
|
||||
@ -5127,7 +5127,7 @@ BattleMenu: ; 3e139
|
||||
ld a, [InputType]
|
||||
or a
|
||||
jr z, .asm_3e171
|
||||
callba Function1de294
|
||||
callba _DudeAutoInput_DownA
|
||||
.asm_3e171
|
||||
|
||||
call LoadBattleMenu2
|
||||
@ -5183,7 +5183,7 @@ LoadBattleMenu2: ; 3e19b
|
||||
; 3e1c7
|
||||
|
||||
BattleMenu_Pack: ; 3e1c7
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jp nz, ItemsCantBeUsed
|
||||
|
||||
@ -5422,7 +5422,7 @@ Function3e358: ; 3e358
|
||||
Function3e3ad: ; 3e3ad
|
||||
ld a, 1
|
||||
ld [wPlayerIsSwitching], a
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3e3c1
|
||||
call Function1d6e
|
||||
@ -5431,7 +5431,7 @@ Function3e3ad: ; 3e3ad
|
||||
|
||||
.asm_3e3c1
|
||||
call Function3e7c1
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .asm_3e3cf
|
||||
|
||||
@ -5650,7 +5650,7 @@ Function3e4bc: ; 3e4bc
|
||||
dec a
|
||||
ld b, $c3
|
||||
jr z, .asm_3e569
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .asm_3e569
|
||||
ld b, $c7
|
||||
@ -5960,8 +5960,8 @@ MoveInfoBox: ; 3e6c8
|
||||
|
||||
Function3e75f: ; 3e75f
|
||||
hlcoord 5, 11
|
||||
ld a, [InLinkBattle]
|
||||
cp $4
|
||||
ld a, [wLinkMode] ; What's the point of this check?
|
||||
cp LINK_MOBILE
|
||||
jr c, .ok
|
||||
hlcoord 5, 11
|
||||
.ok
|
||||
@ -6034,7 +6034,7 @@ Function3e7c1: ; 3e7c1
|
||||
ld a, [wEnemyIsSwitching]
|
||||
and a
|
||||
ret nz
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3e817
|
||||
call EmptyBattleTextBox
|
||||
@ -6108,7 +6108,7 @@ Function3e7c1: ; 3e7c1
|
||||
jr .asm_3e8bd
|
||||
|
||||
.asm_3e84f
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .asm_3e882
|
||||
.asm_3e855
|
||||
@ -6222,7 +6222,7 @@ LoadEnemyMon: ; 3e8eb
|
||||
call ByteFill
|
||||
|
||||
; We don't need to be here if we're in a link battle
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jp nz, Function3dabd
|
||||
|
||||
@ -6244,7 +6244,7 @@ LoadEnemyMon: ; 3e8eb
|
||||
; Let's get the item:
|
||||
|
||||
; Is the item predetermined?
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .WildItem
|
||||
|
||||
@ -6293,7 +6293,7 @@ LoadEnemyMon: ; 3e8eb
|
||||
; Initialize DVs
|
||||
|
||||
; If we're in a trainer battle, DVs are predetermined
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
and a
|
||||
jr z, .InitDVs
|
||||
|
||||
@ -6320,7 +6320,7 @@ LoadEnemyMon: ; 3e8eb
|
||||
; See GetTrainerDVs for more on that
|
||||
callba GetTrainerDVs
|
||||
; These are the DVs we'll use if we're actually in a trainer battle
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .UpdateDVs
|
||||
|
||||
@ -6396,7 +6396,7 @@ LoadEnemyMon: ; 3e8eb
|
||||
|
||||
|
||||
; We've still got more to do if we're dealing with a wild monster
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .Happiness
|
||||
|
||||
@ -6496,7 +6496,7 @@ LoadEnemyMon: ; 3e8eb
|
||||
|
||||
; If we're in a trainer battle,
|
||||
; get the rest of the parameters from the party struct
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
cp a, TRAINER_BATTLE
|
||||
jr z, .OpponentParty
|
||||
|
||||
@ -6586,7 +6586,7 @@ LoadEnemyMon: ; 3e8eb
|
||||
; Get moves
|
||||
ld de, EnemyMonMoves
|
||||
; Are we in a trainer battle?
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
cp a, TRAINER_BATTLE
|
||||
jr nz, .WildMoves
|
||||
; Then copy moves from the party struct
|
||||
@ -6613,7 +6613,7 @@ endr
|
||||
|
||||
.PP
|
||||
; Trainer battle?
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
cp a, TRAINER_BATTLE
|
||||
jr z, .TrainerPP
|
||||
|
||||
@ -6657,7 +6657,7 @@ endr
|
||||
call GetPokemonName
|
||||
|
||||
; Did we catch it?
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
and a
|
||||
ret z
|
||||
|
||||
@ -6725,7 +6725,7 @@ CheckSleepingTreeMon: ; 3eb38
|
||||
db EXEGGCUTE
|
||||
db LEDYBA
|
||||
db AIPOM
|
||||
db $ff ; end
|
||||
db -1 ; end
|
||||
|
||||
.Day
|
||||
db VENONAT
|
||||
@ -6733,7 +6733,7 @@ CheckSleepingTreeMon: ; 3eb38
|
||||
db NOCTOWL
|
||||
db SPINARAK
|
||||
db HERACROSS
|
||||
db $ff ; end
|
||||
db -1 ; end
|
||||
|
||||
.Morn
|
||||
db VENONAT
|
||||
@ -6741,7 +6741,7 @@ CheckSleepingTreeMon: ; 3eb38
|
||||
db NOCTOWL
|
||||
db SPINARAK
|
||||
db HERACROSS
|
||||
db $ff ; end
|
||||
db -1 ; end
|
||||
; 3eb75
|
||||
|
||||
|
||||
@ -7116,7 +7116,7 @@ BadgeStatBoosts: ; 3ed45
|
||||
|
||||
; The boosted stats are in order, except PlainBadge and MineralBadge's boosts are swapped.
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
@ -7237,7 +7237,7 @@ _BattleRandom:: ; 3edd8
|
||||
; To circumvent this a shared PRNG is used instead.
|
||||
|
||||
; But if we're in a non-link battle we're safe to use it
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jp z, Random
|
||||
|
||||
@ -7338,7 +7338,7 @@ Function3ee27: ; 3ee27
|
||||
|
||||
Function3ee3b: ; 3ee3b
|
||||
; Give experience.
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
@ -7452,7 +7452,7 @@ endr
|
||||
|
||||
.asm_3eee2
|
||||
ld [StringBuffer2 + 2], a
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
call nz, DoubleExp
|
||||
push bc
|
||||
@ -7977,7 +7977,7 @@ Function3f22c: ; 3f22c
|
||||
|
||||
|
||||
SendOutPkmnText: ; 3f26d
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3f27c
|
||||
|
||||
@ -8446,7 +8446,7 @@ Function3f4dd: ; 3f4dd
|
||||
ld bc, 4 << 8 + 10
|
||||
call ClearBox
|
||||
call ClearSprites
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
cp $1
|
||||
call z, UpdateEnemyHUD
|
||||
ld a, $1
|
||||
@ -8521,10 +8521,10 @@ Function3f594: ; 3f594
|
||||
hlcoord 12, 0
|
||||
lb bc, 7, 7
|
||||
predef FillBox
|
||||
ld a, $ff
|
||||
ld a, -1
|
||||
ld [CurOTMon], a
|
||||
ld a, TRAINER_BATTLE
|
||||
ld [IsInBattle], a
|
||||
ld [wBattleMode], a
|
||||
|
||||
call IsJohtoGymLeader
|
||||
jr nc, .done
|
||||
@ -8554,7 +8554,7 @@ Function3f594: ; 3f594
|
||||
|
||||
Function3f607: ; 3f607
|
||||
ld a, $1
|
||||
ld [IsInBattle], a
|
||||
ld [wBattleMode], a
|
||||
callba Function10605d
|
||||
call LoadEnemyMon
|
||||
ld hl, EnemyMonMoves
|
||||
@ -8647,7 +8647,7 @@ Function3f69e: ; 3f69e
|
||||
; 3f6a5
|
||||
|
||||
Function3f6a5: ; 3f6a5
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3f6b7
|
||||
call Function3f759
|
||||
@ -8672,7 +8672,7 @@ Function3f6d0: ; 3f6d0
|
||||
call Function3f998
|
||||
xor a
|
||||
ld [Danger], a
|
||||
ld [IsInBattle], a
|
||||
ld [wBattleMode], a
|
||||
ld [BattleType], a
|
||||
ld [AttackMissed], a
|
||||
ld [TempWildMonSpecies], a
|
||||
@ -8830,8 +8830,8 @@ Function3f80f: ; 3f80f
|
||||
|
||||
|
||||
Function3f830: ; 3f830
|
||||
ld a, [InLinkBattle]
|
||||
cp $4
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
ret
|
||||
; 3f836
|
||||
|
||||
@ -9478,7 +9478,7 @@ Function3fc5b: ; 3fc5b
|
||||
|
||||
|
||||
BattleStartMessage: ; 3fc8b
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .asm_3fcaa
|
||||
|
||||
|
@ -12,7 +12,7 @@ DoPlayerTurn: ; 34000
|
||||
DoEnemyTurn: ; 3400a
|
||||
call SetEnemyTurn
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, DoTurn
|
||||
|
||||
@ -696,7 +696,7 @@ BattleCommand02: ; 343db
|
||||
|
||||
; No obedience in link battles
|
||||
; (since no handling exists for enemy)
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
@ -1080,7 +1080,7 @@ endr
|
||||
jr z, .asm_345a4
|
||||
|
||||
; skip this part entirely if wildbattle
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .asm_345c5
|
||||
|
||||
@ -3521,7 +3521,7 @@ Function3534d: ; 3534d
|
||||
inc l
|
||||
|
||||
.asm_3536b
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
cp 3
|
||||
jr z, .done
|
||||
|
||||
@ -3835,11 +3835,11 @@ BattleCommanda1: ; 35461
|
||||
sub b
|
||||
ld [DefaultFlypoint], a
|
||||
.asm_3550d
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .asm_3556b
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .asm_35532
|
||||
|
||||
@ -4825,7 +4825,7 @@ BattleCommand46: ; 35a74
|
||||
|
||||
call Function372d8
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_35a83
|
||||
call AnimateFailedMove
|
||||
@ -4888,7 +4888,7 @@ BattleCommand46: ; 35a74
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr z, .asm_35af6
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .asm_35af6
|
||||
ld a, [hl]
|
||||
@ -5180,7 +5180,7 @@ endr
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr nz, .asm_35c81
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .asm_35c81
|
||||
ld hl, wc739
|
||||
@ -5585,7 +5585,7 @@ Function35ece: ; 35ece
|
||||
jr z, .asm_35eec
|
||||
|
||||
; Not in link battle
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .asm_35eec
|
||||
|
||||
@ -5683,7 +5683,7 @@ BattleCommand2f: ; 35f2c
|
||||
and a
|
||||
jr z, .asm_35f89
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .asm_35f89
|
||||
|
||||
@ -6331,7 +6331,7 @@ BattleCommand1d: ; 362e3
|
||||
and a
|
||||
jr z, .DidntMiss
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .DidntMiss
|
||||
|
||||
@ -7124,7 +7124,7 @@ BattleCommanda0: ; 36778
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr nz, .asm_367bf
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .failed
|
||||
ld a, [CurPartyLevel]
|
||||
@ -7149,7 +7149,7 @@ BattleCommanda0: ; 36778
|
||||
jp PrintButItFailed
|
||||
|
||||
.asm_367bf
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .failed
|
||||
ld a, [BattleMonLevel]
|
||||
@ -7214,7 +7214,7 @@ BattleCommand23: ; 3680f
|
||||
ld a, [AttackMissed]
|
||||
and a
|
||||
jr nz, .asm_36852 ; 36830 $20
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .asm_36869 ; 36836 $31
|
||||
ld a, [CurPartyLevel]
|
||||
@ -7300,7 +7300,7 @@ BattleCommand23: ; 3680f
|
||||
and a
|
||||
jr nz, .asm_368f3
|
||||
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .asm_36908
|
||||
|
||||
@ -7496,7 +7496,7 @@ BattleCommand24: ; 369b6
|
||||
dec a
|
||||
jr .asm_36a3a
|
||||
.asm_36a0b
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
cp $1
|
||||
jp z, .asm_36a1e
|
||||
ld a, [OTPartyCount]
|
||||
@ -8177,7 +8177,7 @@ BattleCommand30: ; 36dc7
|
||||
and a
|
||||
jr z, .asm_36e0e
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .asm_36e0e
|
||||
|
||||
@ -9281,7 +9281,7 @@ BattleCommand53: ; 37563
|
||||
and a
|
||||
jr z, .party
|
||||
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .done
|
||||
|
||||
@ -9493,7 +9493,7 @@ BattleCommand60: ; 3784b
|
||||
BattleCommand61: ; 37874
|
||||
; present
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
cp $3
|
||||
jr z, .asm_3787d
|
||||
push bc
|
||||
@ -9502,7 +9502,7 @@ BattleCommand61: ; 37874
|
||||
|
||||
call BattleCommand07
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
cp $3
|
||||
jr z, .asm_37889
|
||||
pop de
|
||||
@ -9765,7 +9765,7 @@ BattleCommand67: ; 379c9
|
||||
.Enemy
|
||||
|
||||
; Wildmons don't have anything to switch to
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a ; WILDMON
|
||||
jp z, FailedBatonPass
|
||||
|
||||
@ -9800,7 +9800,7 @@ BattleCommand67: ; 379c9
|
||||
|
||||
|
||||
BatonPass_LinkPlayerSwitch: ; 37a67
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret z
|
||||
|
||||
@ -9819,7 +9819,7 @@ BatonPass_LinkPlayerSwitch: ; 37a67
|
||||
|
||||
|
||||
BatonPass_LinkEnemySwitch: ; 37a82
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret z
|
||||
|
||||
@ -10057,7 +10057,7 @@ BattleCommand6a6c: ; 37b7e
|
||||
jr z, .Full
|
||||
|
||||
; Don't factor in time of day in link battles.
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .Weather
|
||||
|
||||
|
@ -30,11 +30,11 @@ BattleCommand50: ; 37492
|
||||
and a
|
||||
ret nz
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .stealenemyitem
|
||||
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
ret z
|
||||
|
||||
|
@ -161,7 +161,7 @@ endr
|
||||
|
||||
|
||||
DoBadgeTypeBoosts: ; fbe24
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
|
@ -315,3 +315,32 @@ SUBSTATUS_CURLED EQU 0
|
||||
const EFFECT_BEAT_UP
|
||||
const EFFECT_FLY
|
||||
const EFFECT_DEFENSE_CURL
|
||||
|
||||
; Battle vars used in home/battle.asm
|
||||
const_def
|
||||
const PLAYER_SUBSTATUS_1
|
||||
const ENEMY_SUBSTATUS_1
|
||||
const PLAYER_SUBSTATUS_2
|
||||
const ENEMY_SUBSTATUS_2
|
||||
const PLAYER_SUBSTATUS_3
|
||||
const ENEMY_SUBSTATUS_3
|
||||
const PLAYER_SUBSTATUS_4
|
||||
const ENEMY_SUBSTATUS_4
|
||||
const PLAYER_SUBSTATUS_5
|
||||
const ENEMY_SUBSTATUS_5
|
||||
const PLAYER_STATUS
|
||||
const ENEMY_STATUS
|
||||
const PLAYER_MOVE_ANIMATION
|
||||
const ENEMY_MOVE_ANIMATION
|
||||
const PLAYER_MOVE_EFFECT
|
||||
const ENEMY_MOVE_EFFECT
|
||||
const PLAYER_MOVE_POWER
|
||||
const ENEMY_MOVE_POWER
|
||||
const PLAYER_MOVE_TYPE
|
||||
const ENEMY_MOVE_TYPE
|
||||
const PLAYER_CUR_MOVE
|
||||
const ENEMY_CUR_MOVE
|
||||
const PLAYER_COUNTER_MOVE
|
||||
const ENEMY_COUNTER_MOVE
|
||||
const PLAYER_LAST_MOVE
|
||||
const ENEMY_LAST_MOVE
|
||||
|
872
engine/battle_start.asm
Normal file
872
engine/battle_start.asm
Normal file
@ -0,0 +1,872 @@
|
||||
Predef_StartBattle: ; 8c20f
|
||||
call Function8c26d
|
||||
ld a, [rBGP]
|
||||
ld [wcfc7], a
|
||||
ld a, [rOBP0]
|
||||
ld [wcfc8], a
|
||||
ld a, [rOBP1]
|
||||
ld [wcfc9], a
|
||||
call DelayFrame
|
||||
ld hl, hVBlank
|
||||
ld a, [hl]
|
||||
push af
|
||||
ld [hl], $1
|
||||
|
||||
.loop
|
||||
ld a, [wcf63]
|
||||
bit 7, a
|
||||
jr nz, .done
|
||||
call FlashyTransitionToBattle
|
||||
call DelayFrame
|
||||
jr .loop
|
||||
|
||||
.done
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $5
|
||||
ld [rSVBK], a
|
||||
|
||||
ld hl, Unkn1Pals
|
||||
ld bc, $0040
|
||||
xor a
|
||||
call ByteFill
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
|
||||
ld a, %11111111
|
||||
ld [wcfc7], a
|
||||
call DmgToCgbBGPals
|
||||
call DelayFrame
|
||||
xor a
|
||||
ld [hLCDStatCustom], a
|
||||
ld [hLCDStatCustom + 1], a
|
||||
ld [hLCDStatCustom + 2], a
|
||||
ld [hSCY], a
|
||||
|
||||
ld a, $1
|
||||
ld [rSVBK], a
|
||||
pop af
|
||||
ld [hVBlank], a
|
||||
call DelayFrame
|
||||
ret
|
||||
; 8c26d
|
||||
|
||||
Function8c26d: ; 8c26d
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
jr z, .mobile
|
||||
callba Function6454
|
||||
call UpdateSprites
|
||||
call DelayFrame
|
||||
call Function8c2a0
|
||||
call Function8cf4f
|
||||
jr .resume
|
||||
|
||||
.mobile
|
||||
call LoadTrainerBattlePokeballTiles
|
||||
|
||||
.resume
|
||||
ld a, SCREEN_HEIGHT_PX
|
||||
ld [hWY], a
|
||||
call DelayFrame
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ld hl, wcf63
|
||||
xor a
|
||||
rept 2
|
||||
ld [hli], a
|
||||
endr
|
||||
ld [hl], a
|
||||
call WipeLYOverrides
|
||||
ret
|
||||
; 8c2a0
|
||||
|
||||
Function8c2a0: ; 8c2a0
|
||||
call LoadTrainerBattlePokeballTiles
|
||||
ld hl, VBGMap0
|
||||
call Function8c2cf
|
||||
ret
|
||||
; 8c2aa
|
||||
|
||||
LoadTrainerBattlePokeballTiles:
|
||||
; Load the tiles used in the Pokeball Graphic that fills the screen
|
||||
; at the start of every Trainer battle.
|
||||
ld de, TrainerBattlePokeballTiles
|
||||
ld hl, VTiles1 tile $7e
|
||||
ld b, BANK(TrainerBattlePokeballTiles)
|
||||
ld c, 2
|
||||
call Request2bpp
|
||||
|
||||
ld a, [rVBK]
|
||||
push af
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
|
||||
ld de, TrainerBattlePokeballTiles
|
||||
ld hl, VTiles4 tile $7e
|
||||
ld b, BANK(TrainerBattlePokeballTiles)
|
||||
ld c, 2
|
||||
call Request2bpp
|
||||
|
||||
pop af
|
||||
ld [rVBK], a
|
||||
ret
|
||||
; 8c2cf
|
||||
|
||||
Function8c2cf: ; 8c2cf
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $6
|
||||
ld [rSVBK], a
|
||||
push hl
|
||||
ld hl, w6_d000
|
||||
ld bc, $28 * $10
|
||||
|
||||
.loop
|
||||
ld [hl], -1
|
||||
inc hl
|
||||
dec bc
|
||||
ld a, c
|
||||
or b
|
||||
jr nz, .loop
|
||||
|
||||
pop hl
|
||||
ld de, w6_d000
|
||||
ld b, BANK(Function8c2cf) ; BANK(@)
|
||||
ld c, $28
|
||||
call Request2bpp
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ret
|
||||
; 8c2f4
|
||||
|
||||
TrainerBattlePokeballTiles: ; 8c2f4
|
||||
INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp"
|
||||
|
||||
|
||||
FlashyTransitionToBattle: ; 8c314
|
||||
ld a, [wcf63]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, .jumptable
|
||||
rept 2
|
||||
add hl, de
|
||||
endr
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
jp [hl]
|
||||
; 8c323
|
||||
|
||||
.jumptable: ; 8c323 (23:4323)
|
||||
dw StartTrainerBattle_DetermineWhichAnimation ; 00
|
||||
|
||||
; Animation 1: cave
|
||||
dw StartTrainerBattle_LoadPokeBallGraphics ; 01
|
||||
dw StartTrainerBattle_SetUpBGMap ; 02
|
||||
dw StartTrainerBattle_Flash ; 03
|
||||
dw StartTrainerBattle_Flash ; 04
|
||||
dw StartTrainerBattle_Flash ; 05
|
||||
dw StartTrainerBattle_NextScene ; 06
|
||||
dw StartTrainerBattle_SetUpForWavyOutro ; 07
|
||||
dw StartTrainerBattle_SineWave ; 08
|
||||
|
||||
; Animation 2: cave, stronger
|
||||
dw StartTrainerBattle_LoadPokeBallGraphics ; 09
|
||||
dw StartTrainerBattle_SetUpBGMap ; 0a
|
||||
dw StartTrainerBattle_Flash ; 0b
|
||||
dw StartTrainerBattle_Flash ; 0c
|
||||
dw StartTrainerBattle_Flash ; 0d
|
||||
dw StartTrainerBattle_NextScene ; 0e
|
||||
; There is no setup for this one
|
||||
dw StartTrainerBattle_ZoomToBlack ; 0f
|
||||
|
||||
; Animation 3: no cave
|
||||
dw StartTrainerBattle_LoadPokeBallGraphics ; 10
|
||||
dw StartTrainerBattle_SetUpBGMap ; 11
|
||||
dw StartTrainerBattle_Flash ; 12
|
||||
dw StartTrainerBattle_Flash ; 13
|
||||
dw StartTrainerBattle_Flash ; 14
|
||||
dw StartTrainerBattle_NextScene ; 15
|
||||
dw StartTrainerBattle_SetUpForSpinOutro ; 16
|
||||
dw StartTrainerBattle_SpinToBlack ; 17
|
||||
|
||||
; Animation 4: no cave, stronger
|
||||
dw StartTrainerBattle_LoadPokeBallGraphics ; 18
|
||||
dw StartTrainerBattle_SetUpBGMap ; 19
|
||||
dw StartTrainerBattle_Flash ; 1a
|
||||
dw StartTrainerBattle_Flash ; 1b
|
||||
dw StartTrainerBattle_Flash ; 1c
|
||||
dw StartTrainerBattle_NextScene ; 1d
|
||||
dw StartTrainerBattle_SetUpForRandomScatterOutro ; 1e
|
||||
dw StartTrainerBattle_SpeckleToBlack ; 1f
|
||||
|
||||
; All animations jump to here.
|
||||
dw StartTrainerBattle_Finish ; 20
|
||||
|
||||
|
||||
StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
|
||||
; The screen flashes a different number of
|
||||
; times depending on the level of your lead
|
||||
; Pokemon relative to the opponent's.
|
||||
ld de, 0
|
||||
ld a, [BattleMonLevel]
|
||||
add 3
|
||||
ld hl, EnemyMonLevel
|
||||
cp [hl]
|
||||
jr nc, .okay
|
||||
set 0, e
|
||||
.okay
|
||||
ld a, [wPermission]
|
||||
cp CAVE
|
||||
jr z, .okay2
|
||||
cp PERM_5
|
||||
jr z, .okay2
|
||||
cp DUNGEON
|
||||
jr z, .okay2
|
||||
set 1, e
|
||||
.okay2
|
||||
ld hl, .StartingPoints
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [wcf63], a
|
||||
ret
|
||||
; 8c38f (23:438f)
|
||||
|
||||
.StartingPoints: ; 8c38f
|
||||
db 1, 9
|
||||
db 16, 24
|
||||
; 8c393
|
||||
|
||||
StartTrainerBattle_Finish: ; 8c393 (23:4393)
|
||||
call ClearSprites
|
||||
ld a, $80
|
||||
ld [wcf63], a
|
||||
ret
|
||||
|
||||
StartTrainerBattle_NextScene: ; 8c39c (23:439c)
|
||||
ld hl, wcf63
|
||||
inc [hl]
|
||||
ret
|
||||
|
||||
StartTrainerBattle_SetUpBGMap: ; 8c3a1 (23:43a1)
|
||||
call StartTrainerBattle_NextScene
|
||||
xor a
|
||||
ld [wcf64], a
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
ret
|
||||
|
||||
StartTrainerBattle_Flash: ; 8c3ab (23:43ab)
|
||||
call .DoFlashAnimation
|
||||
ret nc
|
||||
call StartTrainerBattle_NextScene
|
||||
ret
|
||||
|
||||
.DoFlashAnimation: ; 8c3b3 (23:43b3)
|
||||
ld a, [wd847]
|
||||
cp -1
|
||||
jr z, .done
|
||||
ld hl, wcf64
|
||||
ld a, [hl]
|
||||
inc [hl]
|
||||
srl a
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, .pals
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
cp %00000001
|
||||
jr z, .done
|
||||
ld [wcfc7], a
|
||||
call DmgToCgbBGPals
|
||||
and a
|
||||
ret
|
||||
|
||||
.done
|
||||
xor a
|
||||
ld [wcf64], a
|
||||
scf
|
||||
ret
|
||||
; 8c3db (23:43db)
|
||||
|
||||
.pals: ; 8c3db
|
||||
db %11111001 ; 3321
|
||||
db %11111110 ; 3332
|
||||
db %11111111 ; 3333
|
||||
db %11111110 ; 3332
|
||||
db %11111001 ; 3321
|
||||
db %11100100 ; 3210
|
||||
db %10010000 ; 2100
|
||||
db %01000000 ; 1000
|
||||
db %00000000 ; 0000
|
||||
db %01000000 ; 1000
|
||||
db %10010000 ; 2100
|
||||
db %11100100 ; 3210
|
||||
db %00000001 ; 0001
|
||||
; 8c3e8
|
||||
|
||||
StartTrainerBattle_SetUpForWavyOutro: ; 8c3e8 (23:43e8)
|
||||
callba Function5602
|
||||
ld a, $5
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
call StartTrainerBattle_NextScene
|
||||
ld a, $43
|
||||
ld [hLCDStatCustom], a ; $ff00+$c6
|
||||
xor a
|
||||
ld [hLCDStatCustom + 1], a
|
||||
ld a, $90
|
||||
ld [hLCDStatCustom + 2], a
|
||||
xor a
|
||||
ld [wcf64], a
|
||||
ld [wcf65], a
|
||||
ret
|
||||
|
||||
StartTrainerBattle_SineWave: ; 8c408 (23:4408)
|
||||
ld a, [wcf64]
|
||||
cp $60
|
||||
jr nc, .end
|
||||
call .DoSineWave
|
||||
ret
|
||||
|
||||
.end
|
||||
ld a, $20
|
||||
ld [wcf63], a
|
||||
ret
|
||||
|
||||
.DoSineWave: ; 8c419 (23:4419)
|
||||
ld hl, wcf65
|
||||
ld a, [hl]
|
||||
inc [hl]
|
||||
ld hl, wcf64
|
||||
ld d, [hl]
|
||||
add [hl]
|
||||
ld [hl], a
|
||||
ld a, $90
|
||||
ld bc, wd100
|
||||
ld e, $0
|
||||
|
||||
.loop
|
||||
push af
|
||||
push de
|
||||
ld a, e
|
||||
call StartTrainerBattle_DrawSineWave
|
||||
ld [bc], a
|
||||
inc bc
|
||||
pop de
|
||||
ld a, e
|
||||
add $2
|
||||
ld e, a
|
||||
pop af
|
||||
dec a
|
||||
jr nz, .loop
|
||||
ret
|
||||
|
||||
StartTrainerBattle_SetUpForSpinOutro: ; 8c43d (23:443d)
|
||||
callba Function5602
|
||||
ld a, $5
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
call StartTrainerBattle_NextScene
|
||||
xor a
|
||||
ld [wcf64], a
|
||||
ret
|
||||
|
||||
spintable_entry: MACRO
|
||||
db \1
|
||||
dw .wedge\2
|
||||
dwcoord \3, \4
|
||||
ENDM
|
||||
|
||||
; quadrants
|
||||
const_def
|
||||
const UPPER_LEFT
|
||||
const UPPER_RIGHT
|
||||
const LOWER_LEFT
|
||||
const LOWER_RIGHT
|
||||
|
||||
StartTrainerBattle_SpinToBlack: ; 8c44f (23:444f)
|
||||
xor a
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
ld a, [wcf64]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, .spintable
|
||||
rept 5
|
||||
add hl, de
|
||||
endr
|
||||
ld a, [hli]
|
||||
cp -1
|
||||
jr z, .end
|
||||
ld [wcf65], a
|
||||
call .load
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
ld hl, wcf64
|
||||
inc [hl]
|
||||
ret
|
||||
|
||||
.end
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
xor a
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
ld a, $20
|
||||
ld [wcf63], a
|
||||
ret
|
||||
; 8c490 (23:4490)
|
||||
|
||||
.spintable: ; 8c490
|
||||
spintable_entry UPPER_LEFT, 1, 1, 6
|
||||
spintable_entry UPPER_LEFT, 2, 0, 3
|
||||
spintable_entry UPPER_LEFT, 3, 1, 0
|
||||
spintable_entry UPPER_LEFT, 4, 5, 0
|
||||
spintable_entry UPPER_LEFT, 5, 9, 0
|
||||
spintable_entry UPPER_RIGHT, 5, 10, 0
|
||||
spintable_entry UPPER_RIGHT, 4, 14, 0
|
||||
spintable_entry UPPER_RIGHT, 3, 18, 0
|
||||
spintable_entry UPPER_RIGHT, 2, 19, 3
|
||||
spintable_entry UPPER_RIGHT, 1, 18, 6
|
||||
spintable_entry LOWER_RIGHT, 1, 18, 11
|
||||
spintable_entry LOWER_RIGHT, 2, 19, 14
|
||||
spintable_entry LOWER_RIGHT, 3, 18, 17
|
||||
spintable_entry LOWER_RIGHT, 4, 14, 17
|
||||
spintable_entry LOWER_RIGHT, 5, 10, 17
|
||||
spintable_entry LOWER_LEFT, 5, 9, 17
|
||||
spintable_entry LOWER_LEFT, 4, 5, 17
|
||||
spintable_entry LOWER_LEFT, 3, 1, 17
|
||||
spintable_entry LOWER_LEFT, 2, 0, 14
|
||||
spintable_entry LOWER_LEFT, 1, 1, 11
|
||||
db -1
|
||||
; 8c4f5
|
||||
|
||||
.load: ; 8c4f5 (23:44f5)
|
||||
ld a, [hli]
|
||||
ld e, a
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
.loop
|
||||
push hl
|
||||
ld a, [de]
|
||||
ld c, a
|
||||
inc de
|
||||
.loop1
|
||||
ld [hl], $ff
|
||||
ld a, [wcf65]
|
||||
bit 0, a
|
||||
jr z, .leftside
|
||||
inc hl
|
||||
jr .okay1
|
||||
.leftside
|
||||
dec hl
|
||||
.okay1
|
||||
dec c
|
||||
jr nz, .loop1
|
||||
pop hl
|
||||
ld a, [wcf65]
|
||||
bit 1, a
|
||||
ld bc, SCREEN_WIDTH
|
||||
jr z, .upper
|
||||
ld bc, -SCREEN_WIDTH
|
||||
.upper
|
||||
add hl, bc
|
||||
ld a, [de]
|
||||
inc de
|
||||
cp -1
|
||||
ret z
|
||||
and a
|
||||
jr z, .loop
|
||||
ld c, a
|
||||
.loop2
|
||||
ld a, [wcf65]
|
||||
bit 0, a
|
||||
jr z, .leftside2
|
||||
dec hl
|
||||
jr .okay2
|
||||
.leftside2
|
||||
inc hl
|
||||
.okay2
|
||||
dec c
|
||||
jr nz, .loop2
|
||||
jr .loop
|
||||
; 8c538 (23:4538)
|
||||
|
||||
.wedge1: db 2, 3, 5, 4, 9, -1
|
||||
.wedge2: db 1, 1, 2, 2, 4, 2, 4, 2, 3, -1
|
||||
.wedge3: db 2, 1, 3, 1, 4, 1, 4, 1, 4, 1, 3, 1, 2, 1, 1, 1, 1, -1
|
||||
.wedge4: db 4, 1, 4, 0, 3, 1, 3, 0, 2, 1, 2, 0, 1, -1
|
||||
.wedge5: db 4, 0, 3, 0, 3, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, -1
|
||||
; 8c578
|
||||
|
||||
StartTrainerBattle_SetUpForRandomScatterOutro: ; 8c578 (23:4578)
|
||||
callba Function5602
|
||||
ld a, $5
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
call StartTrainerBattle_NextScene
|
||||
ld a, $10
|
||||
ld [wcf64], a
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
ret
|
||||
|
||||
StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f)
|
||||
ld hl, wcf64
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .done
|
||||
dec [hl]
|
||||
ld c, $c
|
||||
.loop
|
||||
push bc
|
||||
call .BlackOutRandomTile
|
||||
pop bc
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ret
|
||||
|
||||
.done
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
xor a
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
ld a, $20
|
||||
ld [wcf63], a
|
||||
ret
|
||||
|
||||
.BlackOutRandomTile: ; 8c5b8 (23:45b8)
|
||||
.y_loop
|
||||
call Random
|
||||
cp SCREEN_HEIGHT
|
||||
jr nc, .y_loop
|
||||
ld b, a
|
||||
|
||||
.x_loop
|
||||
call Random
|
||||
cp SCREEN_WIDTH
|
||||
jr nc, .x_loop
|
||||
ld c, a
|
||||
|
||||
hlcoord 0, -1
|
||||
ld de, SCREEN_WIDTH
|
||||
inc b
|
||||
|
||||
.row_loop
|
||||
add hl, de
|
||||
dec b
|
||||
jr nz, .row_loop
|
||||
add hl, bc
|
||||
|
||||
; If the tile has already been blacked out,
|
||||
; sample a new tile
|
||||
ld a, [hl]
|
||||
cp $ff
|
||||
jr z, .y_loop
|
||||
ld [hl], $ff
|
||||
ret
|
||||
|
||||
StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc)
|
||||
ld a, [OtherTrainerClass]
|
||||
and a
|
||||
jp z, .nextscene
|
||||
|
||||
xor a
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
hlcoord 0, 0, AttrMap
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
inc b
|
||||
inc c
|
||||
jr .enter_loop_midway
|
||||
|
||||
.loop
|
||||
ld a, [hl]
|
||||
or %00000111
|
||||
ld [hli], a
|
||||
.enter_loop_midway
|
||||
dec c
|
||||
jr nz, .loop
|
||||
dec b
|
||||
jr nz, .loop
|
||||
|
||||
call .loadpokeballgfx ; load a, [OtherTrainerClass] \ ld de, PokeBallTransition
|
||||
hlcoord 2, 1
|
||||
|
||||
ld b, SCREEN_WIDTH - 4
|
||||
.loop2
|
||||
push hl
|
||||
ld c, 2
|
||||
.loop3
|
||||
push hl
|
||||
ld a, [de]
|
||||
inc de
|
||||
.loop4
|
||||
; Loading is done bit by bit
|
||||
and a
|
||||
jr z, .done
|
||||
sla a
|
||||
jr nc, .no_load
|
||||
ld [hl], $fe ; "8"
|
||||
.no_load
|
||||
inc hl
|
||||
jr .loop4
|
||||
|
||||
.done
|
||||
pop hl
|
||||
push bc
|
||||
ld bc, (SCREEN_WIDTH - 4) / 2
|
||||
add hl, bc
|
||||
pop bc
|
||||
dec c
|
||||
jr nz, .loop3
|
||||
|
||||
pop hl
|
||||
push bc
|
||||
ld bc, SCREEN_WIDTH
|
||||
add hl, bc
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .loop2
|
||||
|
||||
ld a, [hCGB] ; $ff00+$e6
|
||||
and a
|
||||
jr nz, .cgb
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
jr .nextscene
|
||||
|
||||
.cgb
|
||||
ld hl, .daypals
|
||||
ld a, [TimeOfDayPal]
|
||||
and (1 << 2) - 1
|
||||
cp 3
|
||||
jr nz, .daytime
|
||||
ld hl, .nightpals
|
||||
.daytime
|
||||
ld a, [rSVBK] ; $ff00+$70
|
||||
push af
|
||||
ld a, $5 ; WRAM5 = palettes
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
call .copypals
|
||||
push hl
|
||||
ld de, Unkn1Pals + 8 * 7
|
||||
ld bc, $8
|
||||
call CopyBytes
|
||||
pop hl
|
||||
ld de, BGPals + 8 * 7
|
||||
ld bc, $8
|
||||
call CopyBytes
|
||||
pop af
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a ; $ff00+$e5
|
||||
call DelayFrame
|
||||
call Function8cf4f
|
||||
|
||||
.nextscene: ; 8c673 (23:4673)
|
||||
call StartTrainerBattle_NextScene
|
||||
ret
|
||||
|
||||
.copypals: ; 8c677 (23:4677)
|
||||
ld de, Unkn1Pals + 8 * 7
|
||||
call .copy
|
||||
ld de, BGPals + 8 * 7
|
||||
call .copy
|
||||
ld de, Unkn2Pals + 8 * 6
|
||||
call .copy
|
||||
ld de, OBPals + 8 * 6
|
||||
call .copy
|
||||
ld de, Unkn2Pals + 8 * 7
|
||||
call .copy
|
||||
ld de, OBPals + 8 * 7
|
||||
|
||||
.copy: ; 8c698 (23:4698)
|
||||
push hl
|
||||
ld bc, $8
|
||||
call CopyBytes
|
||||
pop hl
|
||||
ret
|
||||
; 8c6a1 (23:46a1)
|
||||
|
||||
.daypals: ; 8c6a1
|
||||
RGB 31, 18, 29
|
||||
RGB 31, 11, 15
|
||||
RGB 31, 05, 05
|
||||
RGB 07, 07, 07
|
||||
; 8c6a9
|
||||
|
||||
.nightpals: ; 8c6a9
|
||||
RGB 31, 18, 29
|
||||
RGB 31, 05, 05
|
||||
RGB 31, 05, 05
|
||||
RGB 31, 05, 05
|
||||
|
||||
.loadpokeballgfx:
|
||||
ld a, [OtherTrainerClass]
|
||||
ld de, PokeBallTransition
|
||||
ret
|
||||
|
||||
PokeBallTransition:
|
||||
db %00000011, %11000000
|
||||
db %00001111, %11110000
|
||||
db %00111100, %00111100
|
||||
db %00110000, %00001100
|
||||
db %01100000, %00000110
|
||||
db %01100011, %11000110
|
||||
db %11000110, %01100011
|
||||
db %11111100, %00111111
|
||||
db %11111100, %00111111
|
||||
db %11000110, %01100011
|
||||
db %01100011, %11000110
|
||||
db %01100000, %00000110
|
||||
db %00110000, %00001100
|
||||
db %00111100, %00111100
|
||||
db %00001111, %11110000
|
||||
db %00000011, %11000000
|
||||
|
||||
WipeLYOverrides: ; 8c6d8
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $5
|
||||
ld [rSVBK], a
|
||||
ld hl, LYOverrides
|
||||
call .wipe
|
||||
ld hl, LYOverridesBackup
|
||||
call .wipe
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ret
|
||||
; 8c6ef
|
||||
|
||||
.wipe: ; 8c6ef
|
||||
xor a
|
||||
ld c, SCREEN_HEIGHT_PX
|
||||
.loop
|
||||
ld [hli], a
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ret
|
||||
; 8c6f7
|
||||
|
||||
|
||||
StartTrainerBattle_DrawSineWave: ; 8c6f7 (23:46f7)
|
||||
and (1 << 6) - 1
|
||||
cp 1 << 5
|
||||
jr nc, .okay
|
||||
call .DoSineWave
|
||||
ld a, h
|
||||
ret
|
||||
|
||||
.okay
|
||||
and (1 << 5) - 1
|
||||
call .DoSineWave
|
||||
ld a, h
|
||||
xor -1 ; cpl
|
||||
inc a
|
||||
ret
|
||||
|
||||
.DoSineWave: ; 8c70c (23:470c)
|
||||
ld e, a
|
||||
ld a, d
|
||||
ld d, 0
|
||||
ld hl, .sinewave
|
||||
rept 2
|
||||
add hl, de
|
||||
endr
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
ld hl, 0
|
||||
.loop
|
||||
srl a
|
||||
jr nc, .skip
|
||||
add hl, de
|
||||
.skip
|
||||
sla e
|
||||
rl d
|
||||
and a
|
||||
jr nz, .loop
|
||||
ret
|
||||
; 8c728 (23:4728)
|
||||
|
||||
.sinewave: ; 8c728
|
||||
sine_wave $100
|
||||
; 8c768
|
||||
|
||||
zoombox: macro
|
||||
; width, height, start y, start x
|
||||
db \1, \2
|
||||
dwcoord \3, \4
|
||||
endm
|
||||
|
||||
StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768)
|
||||
callba Function5602
|
||||
ld de, .boxes
|
||||
|
||||
.loop
|
||||
ld a, [de]
|
||||
cp -1
|
||||
jr z, .done
|
||||
inc de
|
||||
ld c, a
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld b, a
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld l, a
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld h, a
|
||||
xor a
|
||||
ld [hBGMapMode], a ; $ff00+$d4
|
||||
call .Copy
|
||||
call WaitBGMap
|
||||
jr .loop
|
||||
|
||||
.done
|
||||
ld a, $20
|
||||
ld [wcf63], a
|
||||
ret
|
||||
; 8c792 (23:4792)
|
||||
|
||||
.boxes: ; 8c792
|
||||
zoombox 4, 2, 8, 8
|
||||
zoombox 6, 4, 7, 7
|
||||
zoombox 8, 6, 6, 6
|
||||
zoombox 10, 8, 5, 5
|
||||
zoombox 12, 10, 4, 4
|
||||
zoombox 14, 12, 3, 3
|
||||
zoombox 16, 14, 2, 2
|
||||
zoombox 18, 16, 1, 1
|
||||
zoombox 20, 18, 0, 0
|
||||
db -1
|
||||
; 8c7b7
|
||||
|
||||
.Copy: ; 8c7b7 (23:47b7)
|
||||
ld a, $ff
|
||||
.row
|
||||
push bc
|
||||
push hl
|
||||
.col
|
||||
ld [hli], a
|
||||
dec c
|
||||
jr nz, .col
|
||||
pop hl
|
||||
ld bc, SCREEN_WIDTH
|
||||
add hl, bc
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .row
|
||||
ret
|
||||
; 8c7c9 (23:47c9)
|
@ -506,7 +506,7 @@ endr
|
||||
; 9693a
|
||||
|
||||
Function9693a: ; 9693a
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .nothing
|
||||
|
||||
@ -957,7 +957,7 @@ SelectMenuCallback: ; 96b66
|
||||
|
||||
|
||||
CountStep: ; 96b79
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .done
|
||||
|
||||
|
@ -1112,7 +1112,7 @@ Function107bb: ; 107bb
|
||||
ld a, [InputType]
|
||||
or a
|
||||
jr z, .asm_107ca
|
||||
callba Function1de28f
|
||||
callba _DudeAutoInput_RightA
|
||||
|
||||
.asm_107ca
|
||||
call Function107d7
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
Functiond0000: ; d0000
|
||||
hlcoord 12, 0
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
cp $1
|
||||
jr z, .asm_d0012
|
||||
ld e, $0
|
||||
|
@ -106,7 +106,7 @@ UpdateEnemyMonInParty:: ; 39b0
|
||||
; Update level, status, current HP
|
||||
|
||||
; No wildmons.
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
ret z
|
||||
|
||||
@ -194,34 +194,6 @@ endr
|
||||
dw .status, .statusopp, .animation, .effect, .power, .type
|
||||
dw .curmove, .lastcounter, .lastcounteropp, .lastmove, .lastmoveopp
|
||||
|
||||
const_def
|
||||
const PLAYER_SUBSTATUS_1
|
||||
const ENEMY_SUBSTATUS_1
|
||||
const PLAYER_SUBSTATUS_2
|
||||
const ENEMY_SUBSTATUS_2
|
||||
const PLAYER_SUBSTATUS_3
|
||||
const ENEMY_SUBSTATUS_3
|
||||
const PLAYER_SUBSTATUS_4
|
||||
const ENEMY_SUBSTATUS_4
|
||||
const PLAYER_SUBSTATUS_5
|
||||
const ENEMY_SUBSTATUS_5
|
||||
const PLAYER_STATUS
|
||||
const ENEMY_STATUS
|
||||
const PLAYER_MOVE_ANIMATION
|
||||
const ENEMY_MOVE_ANIMATION
|
||||
const PLAYER_MOVE_EFFECT
|
||||
const ENEMY_MOVE_EFFECT
|
||||
const PLAYER_MOVE_POWER
|
||||
const ENEMY_MOVE_POWER
|
||||
const PLAYER_MOVE_TYPE
|
||||
const ENEMY_MOVE_TYPE
|
||||
const PLAYER_CUR_MOVE
|
||||
const ENEMY_CUR_MOVE
|
||||
const PLAYER_COUNTER_MOVE
|
||||
const ENEMY_COUNTER_MOVE
|
||||
const PLAYER_LAST_MOVE
|
||||
const ENEMY_LAST_MOVE
|
||||
|
||||
; player enemy
|
||||
.substatus1 db PLAYER_SUBSTATUS_1, ENEMY_SUBSTATUS_1
|
||||
.substatus1opp db ENEMY_SUBSTATUS_1, PLAYER_SUBSTATUS_1
|
||||
@ -293,8 +265,8 @@ CELL_PHONE_TOP EQU $5e
|
||||
CELL_PHONE_BOTTOM EQU $5f
|
||||
|
||||
; For mobile link battles only.
|
||||
ld a, [InLinkBattle]
|
||||
cp 4
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
ret c
|
||||
|
||||
; Draw a cell phone icon at the
|
||||
|
@ -227,7 +227,7 @@ Request2bpp:: ; eba
|
||||
|
||||
ld a, $8
|
||||
ld [$ffd3], a
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
cp $4
|
||||
jr nz, .okay
|
||||
ld a, [$ffe9]
|
||||
@ -301,7 +301,7 @@ Request1bpp:: ; f1e
|
||||
|
||||
ld a, $8
|
||||
ld [$ffd3], a
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
cp $4
|
||||
jr nz, .NotMobile
|
||||
ld a, [$ffe9]
|
||||
|
@ -198,14 +198,14 @@ GetJoypad:: ; 984
|
||||
.updateauto
|
||||
; An input of $ff will end the stream.
|
||||
ld a, [hli]
|
||||
cp a, $ff
|
||||
cp a, -1
|
||||
jr z, .stopauto
|
||||
ld b, a
|
||||
|
||||
; A duration of $ff will end the stream indefinitely.
|
||||
ld a, [hli]
|
||||
ld [AutoInputLength], a
|
||||
cp a, $ff
|
||||
cp a, -1
|
||||
jr nz, .next
|
||||
|
||||
; The current input is overwritten.
|
||||
@ -362,17 +362,20 @@ Functiona80:: ; a80
|
||||
push af
|
||||
xor a
|
||||
ld [hConnectionStripLength], a
|
||||
ld a, $6
|
||||
ld a, 6
|
||||
ld [hConnectedMapWidth], a
|
||||
.asm_a8d
|
||||
|
||||
.loop
|
||||
push hl
|
||||
hlcoord 18, 17
|
||||
call Functionb06
|
||||
pop hl
|
||||
|
||||
call JoyTextDelay
|
||||
ld a, [hJoyLast]
|
||||
and $3
|
||||
jr z, .asm_a8d
|
||||
and A_BUTTON | B_BUTTON
|
||||
jr z, .loop
|
||||
|
||||
pop af
|
||||
ld [hConnectedMapWidth], a
|
||||
pop af
|
||||
@ -381,67 +384,69 @@ Functiona80:: ; a80
|
||||
; aa5
|
||||
|
||||
Functionaa5:: ; aa5
|
||||
.loop
|
||||
call JoyTextDelay
|
||||
ld a, [hJoyLast]
|
||||
and A_BUTTON | B_BUTTON
|
||||
jr z, Functionaa5
|
||||
jr z, .loop
|
||||
ret
|
||||
; aaf
|
||||
|
||||
KeepTextOpen:: ; aaf
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .asm_ac1
|
||||
call Functionac6
|
||||
jr nz, .link
|
||||
call .wait_input
|
||||
push de
|
||||
ld de, SFX_READ_TEXT_2
|
||||
call PlaySFX
|
||||
pop de
|
||||
ret
|
||||
|
||||
.asm_ac1
|
||||
.link
|
||||
ld c, 65
|
||||
jp DelayFrames
|
||||
; ac6
|
||||
|
||||
Functionac6:: ; ac6
|
||||
.wait_input: ; ac6
|
||||
ld a, [hOAMUpdate]
|
||||
push af
|
||||
ld a, $1
|
||||
ld [hOAMUpdate], a
|
||||
ld a, [InputType]
|
||||
or a
|
||||
jr z, .asm_ad9
|
||||
callba Function1de28a
|
||||
.asm_ad9
|
||||
call Functionaf5
|
||||
jr z, .input_wait_loop
|
||||
callba _DudeAutoInput_A
|
||||
|
||||
.input_wait_loop
|
||||
call .blink_cursor
|
||||
call JoyTextDelay
|
||||
ld a, [hJoyPressed]
|
||||
and $3
|
||||
jr nz, .asm_af1
|
||||
and A_BUTTON | B_BUTTON
|
||||
jr nz, .received_input
|
||||
call RTC
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a
|
||||
call DelayFrame
|
||||
jr .asm_ad9
|
||||
jr .input_wait_loop
|
||||
|
||||
.asm_af1
|
||||
.received_input
|
||||
pop af
|
||||
ld [hOAMUpdate], a
|
||||
ret
|
||||
; af5
|
||||
|
||||
Functionaf5:: ; af5
|
||||
.blink_cursor: ; af5
|
||||
ld a, [$ff9b]
|
||||
and $10
|
||||
jr z, .asm_aff
|
||||
ld a, $ee
|
||||
jr .asm_b02
|
||||
and %00010000 ; bit 4, a
|
||||
jr z, .cursor_off
|
||||
ld a, "▼"
|
||||
jr .load_cursor_state
|
||||
|
||||
.asm_aff
|
||||
.cursor_off
|
||||
ld a, [TileMap + 17 + 17 * SCREEN_WIDTH]
|
||||
|
||||
.asm_b02
|
||||
.load_cursor_state
|
||||
ld [TileMap + 18 + 17 * SCREEN_WIDTH], a
|
||||
ret
|
||||
; b06
|
||||
@ -450,7 +455,7 @@ Functionb06:: ; b06
|
||||
push bc
|
||||
ld a, [hl]
|
||||
ld b, a
|
||||
ld a, $ee
|
||||
ld a, "▼"
|
||||
cp b
|
||||
pop bc
|
||||
jr nz, .asm_b27
|
||||
@ -462,11 +467,11 @@ Functionb06:: ; b06
|
||||
dec a
|
||||
ld [hConnectedMapWidth], a
|
||||
ret nz
|
||||
ld a, $7a
|
||||
ld a, "─"
|
||||
ld [hl], a
|
||||
ld a, $ff
|
||||
ld a, -1
|
||||
ld [hConnectionStripLength], a
|
||||
ld a, $6
|
||||
ld a, 6
|
||||
ld [hConnectedMapWidth], a
|
||||
ret
|
||||
|
||||
|
@ -334,7 +334,7 @@ Function87d:: ; 87d
|
||||
Function8c1:: ; 8c1
|
||||
push bc
|
||||
ld b, $60
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
cp $1
|
||||
jr z, .asm_8d7
|
||||
ld b, $60
|
||||
@ -391,7 +391,7 @@ Function908:: ; 908
|
||||
; 919
|
||||
|
||||
Function919:: ; 919
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
ld a, $2
|
||||
|
186
home/text.asm
186
home/text.asm
@ -389,7 +389,7 @@ PlaceMoveTargetsName_5A: ; 1205
|
||||
PlaceEnemysName:: ; 121b
|
||||
push de
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .linkbattle
|
||||
|
||||
@ -428,9 +428,9 @@ PlaceGenderedPlayerName:: ; 1252
|
||||
ld l, c
|
||||
ld a, [PlayerGender]
|
||||
bit 0, a
|
||||
ld de, String12a5
|
||||
ld de, String_kun
|
||||
jr z, PlaceCommandCharacter
|
||||
ld de, String12a6
|
||||
ld de, String_chan
|
||||
jr PlaceCommandCharacter
|
||||
|
||||
|
||||
@ -456,8 +456,8 @@ String12a2:: db " @" ; 12a2
|
||||
Char35Text::
|
||||
Char36Text::
|
||||
Char37Text:: db "@" ; 12a4
|
||||
String12a5:: db "@" ; 12a5
|
||||
String12a6:: db "@" ; 12a6
|
||||
String_kun:: db "@" ; 12a5
|
||||
String_chan:: db "@" ; 12a6
|
||||
; 12a7
|
||||
|
||||
NextLineChar:: ; 12a7
|
||||
@ -483,31 +483,31 @@ TextFar:: ; 12b9
|
||||
add hl, bc
|
||||
ld de, -SCREEN_WIDTH
|
||||
ld c, 1
|
||||
.asm_12c4
|
||||
.loop
|
||||
ld a, h
|
||||
and a
|
||||
jr nz, .asm_12cd
|
||||
jr nz, .next
|
||||
ld a, l
|
||||
cp SCREEN_WIDTH
|
||||
jr c, .asm_12d1
|
||||
jr c, .done
|
||||
|
||||
.asm_12cd
|
||||
.next
|
||||
add hl, de
|
||||
inc c
|
||||
jr .asm_12c4
|
||||
jr .loop
|
||||
|
||||
.asm_12d1
|
||||
.done
|
||||
hlcoord 0, 0
|
||||
ld de, SCREEN_WIDTH
|
||||
ld a, c
|
||||
.asm_12d8
|
||||
.loop2
|
||||
and a
|
||||
jr z, .asm_12df
|
||||
jr z, .done2
|
||||
add hl, de
|
||||
dec a
|
||||
jr .asm_12d8
|
||||
jr .loop2
|
||||
|
||||
.asm_12df
|
||||
.done2
|
||||
pop de
|
||||
inc de
|
||||
ld a, [de]
|
||||
@ -529,20 +529,20 @@ LineChar:: ; 12ea
|
||||
Paragraph:: ; 12f2
|
||||
push de
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
cp $3
|
||||
jr z, .asm_1301
|
||||
cp $4
|
||||
jr z, .asm_1301
|
||||
call Function13c7
|
||||
.asm_1301
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_COLOSSEUM
|
||||
jr z, .linkbattle
|
||||
cp LINK_MOBILE
|
||||
jr z, .linkbattle
|
||||
call LoadBlinkingCursor
|
||||
|
||||
.linkbattle
|
||||
call Function13b6
|
||||
call KeepTextOpen
|
||||
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
|
||||
lb bc, TEXTBOX_INNERH - 1, TEXTBOX_INNERW
|
||||
call ClearBox
|
||||
call Function13cd
|
||||
call UnloadBlinkingCursor
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
|
||||
@ -552,26 +552,26 @@ Paragraph:: ; 12f2
|
||||
|
||||
|
||||
Char4B:: ; 131f
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
or a
|
||||
jr nz, .asm_1328
|
||||
call Function13c7
|
||||
.asm_1328
|
||||
jr nz, .communication
|
||||
call LoadBlinkingCursor
|
||||
|
||||
.communication
|
||||
call Function13b6
|
||||
|
||||
push de
|
||||
call KeepTextOpen
|
||||
pop de
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
or a
|
||||
call z, Function13cd
|
||||
call z, UnloadBlinkingCursor
|
||||
|
||||
Char4C:: ; 1337
|
||||
push de
|
||||
call Function138c
|
||||
call Function138c
|
||||
call TextScroll
|
||||
call TextScroll
|
||||
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
|
||||
pop de
|
||||
jp NextChar
|
||||
@ -602,22 +602,22 @@ PlaceDexEnd:: ; 1356
|
||||
; 135a
|
||||
|
||||
PromptText:: ; 135a
|
||||
ld a, [InLinkBattle]
|
||||
cp $3
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_COLOSSEUM
|
||||
jr z, .ok
|
||||
cp $4
|
||||
cp LINK_MOBILE
|
||||
jr z, .ok
|
||||
call Function13c7
|
||||
.ok
|
||||
call LoadBlinkingCursor
|
||||
|
||||
.ok
|
||||
call Function13b6
|
||||
call KeepTextOpen
|
||||
ld a, [InLinkBattle]
|
||||
cp $3
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_COLOSSEUM
|
||||
jr z, DoneText
|
||||
cp $4
|
||||
cp LINK_MOBILE
|
||||
jr z, DoneText
|
||||
call Function13cd
|
||||
call UnloadBlinkingCursor
|
||||
|
||||
DoneText:: ; 137c
|
||||
pop hl
|
||||
@ -634,19 +634,22 @@ NullChar:: ; 1383
|
||||
jp NextChar
|
||||
; 138c
|
||||
|
||||
Function138c:: ; 138c
|
||||
TextScroll:: ; 138c
|
||||
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
|
||||
decoord TEXTBOX_INNERX, TEXTBOX_INNERY - 1
|
||||
ld a, TEXTBOX_INNERH - 1
|
||||
|
||||
.col
|
||||
push af
|
||||
ld c, TEXTBOX_INNERW
|
||||
|
||||
.row
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
inc de
|
||||
dec c
|
||||
jr nz, .row
|
||||
|
||||
rept 2
|
||||
inc de
|
||||
endr
|
||||
@ -656,6 +659,7 @@ endr
|
||||
pop af
|
||||
dec a
|
||||
jr nz, .col
|
||||
|
||||
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
|
||||
ld a, " "
|
||||
ld bc, TEXTBOX_INNERW
|
||||
@ -671,7 +675,9 @@ Function13b6:: ; 13b6
|
||||
push af
|
||||
ld a, 1
|
||||
ld [hOAMUpdate], a
|
||||
|
||||
call WaitBGMap
|
||||
|
||||
pop af
|
||||
ld [hOAMUpdate], a
|
||||
pop bc
|
||||
@ -682,15 +688,15 @@ Diacritic:: ; 13c6
|
||||
ret
|
||||
; 13c7
|
||||
|
||||
Function13c7:: ; 13c7
|
||||
LoadBlinkingCursor:: ; 13c7
|
||||
ld a, "▼"
|
||||
ld [TileMap + 18 + 17 * SCREEN_WIDTH], a
|
||||
ldcoord_a 18, 17
|
||||
ret
|
||||
; 13cd
|
||||
|
||||
Function13cd:: ; 13cd
|
||||
ld a, [TileMap + 17 + 17 * SCREEN_WIDTH]
|
||||
ld [TileMap + 18 + 17 * SCREEN_WIDTH], a
|
||||
UnloadBlinkingCursor:: ; 13cd
|
||||
lda_coord 17, 17
|
||||
ldcoord_a 18, 17
|
||||
ret
|
||||
; 13d4
|
||||
|
||||
@ -722,19 +728,19 @@ PlaceWholeStringInBoxAtOnce:: ; 13e5
|
||||
set 1, a
|
||||
ld [TextBoxFrame + 1], a
|
||||
|
||||
call Function13f6
|
||||
call DoTextUntilTerminator
|
||||
|
||||
pop af
|
||||
ld [TextBoxFrame + 1], a
|
||||
ret
|
||||
; 13f6
|
||||
|
||||
Function13f6:: ; 13f6
|
||||
DoTextUntilTerminator:: ; 13f6
|
||||
ld a, [hli]
|
||||
cp "@"
|
||||
ret z
|
||||
call .TextCommand
|
||||
jr Function13f6
|
||||
jr DoTextUntilTerminator
|
||||
|
||||
.TextCommand:
|
||||
push hl
|
||||
@ -757,19 +763,19 @@ endr
|
||||
; 1410
|
||||
|
||||
TextCommands:: ; 1410
|
||||
dw Text_00
|
||||
dw Text_01
|
||||
dw Text_02
|
||||
dw Text_03
|
||||
dw Text_04
|
||||
dw Text_05
|
||||
dw Text_06
|
||||
dw Text_07
|
||||
dw Text_08
|
||||
dw Text_09
|
||||
dw Text_0A
|
||||
dw Text_TX
|
||||
dw Text_TX_RAM
|
||||
dw Text_TX_BCD
|
||||
dw Text_TX_MOVE
|
||||
dw Text_TX_BOX
|
||||
dw Text_TX_LOW
|
||||
dw Text_WAIT_BUTTON
|
||||
dw Text_TX_SCROLL
|
||||
dw Text_START_ASM
|
||||
dw Text_TX_NUM
|
||||
dw Text_TX_EXIT
|
||||
dw Text_PlaySound ; $0b
|
||||
dw Text_0C
|
||||
dw Text_TX_DOTS
|
||||
dw Text_0D
|
||||
dw Text_PlaySound ; $0e
|
||||
dw Text_PlaySound ; $0f
|
||||
@ -777,12 +783,12 @@ TextCommands:: ; 1410
|
||||
dw Text_PlaySound ; $11
|
||||
dw Text_PlaySound ; $12
|
||||
dw Text_PlaySound ; $13
|
||||
dw Text_14
|
||||
dw Text_15
|
||||
dw Text_16
|
||||
dw Text_TX_STRINGBUFFER
|
||||
dw Text_TX_DAY
|
||||
dw Text_TX_FAR
|
||||
; 143e
|
||||
|
||||
Text_00:: ; 143e
|
||||
Text_TX:: ; 143e
|
||||
; TX
|
||||
; write text until "@"
|
||||
; [$00]["...@"]
|
||||
@ -798,7 +804,7 @@ Text_00:: ; 143e
|
||||
ret
|
||||
; 1449
|
||||
|
||||
Text_01:: ; 1449
|
||||
Text_TX_RAM:: ; 1449
|
||||
; text_from_ram
|
||||
; write text from a ram address
|
||||
; little endian
|
||||
@ -816,7 +822,7 @@ Text_01:: ; 1449
|
||||
ret
|
||||
; 1455
|
||||
|
||||
Text_16:: ; 1455
|
||||
Text_TX_FAR:: ; 1455
|
||||
; text_jump
|
||||
; write text from a different bank
|
||||
; little endian
|
||||
@ -837,7 +843,7 @@ Text_16:: ; 1455
|
||||
push hl
|
||||
ld h, d
|
||||
ld l, e
|
||||
call Function13f6
|
||||
call DoTextUntilTerminator
|
||||
pop hl
|
||||
|
||||
pop af
|
||||
@ -846,7 +852,7 @@ Text_16:: ; 1455
|
||||
ret
|
||||
; 1470
|
||||
|
||||
Text_02:: ; 1470
|
||||
Text_TX_BCD:: ; 1470
|
||||
; TX_BCD
|
||||
; write bcd from address, typically ram
|
||||
; [$02][addr][flags]
|
||||
@ -868,7 +874,7 @@ Text_02:: ; 1470
|
||||
ret
|
||||
; 1480
|
||||
|
||||
Text_03:: ; 1480
|
||||
Text_TX_MOVE:: ; 1480
|
||||
; TX_MOVE
|
||||
; move to a new tile
|
||||
; [$03][addr]
|
||||
@ -882,7 +888,7 @@ Text_03:: ; 1480
|
||||
ret
|
||||
; 148b
|
||||
|
||||
Text_04:: ; 148b
|
||||
Text_TX_BOX:: ; 148b
|
||||
; TX_BOX
|
||||
; draw a box
|
||||
; little endian
|
||||
@ -904,7 +910,7 @@ Text_04:: ; 148b
|
||||
ret
|
||||
; 149b
|
||||
|
||||
Text_05:: ; 149b
|
||||
Text_TX_LOW:: ; 149b
|
||||
; TX_LOW
|
||||
; write text at (1,16)
|
||||
; [$05]
|
||||
@ -913,39 +919,41 @@ Text_05:: ; 149b
|
||||
ret
|
||||
; 149f
|
||||
|
||||
Text_06:: ; 149f
|
||||
Text_WAIT_BUTTON:: ; 149f
|
||||
; TX_WAITBUTTON
|
||||
; wait for button press
|
||||
; show arrow
|
||||
; [06]
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
cp $3
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_COLOSSEUM
|
||||
jp z, Text_0D
|
||||
cp $4
|
||||
cp LINK_MOBILE
|
||||
jp z, Text_0D
|
||||
|
||||
push hl
|
||||
call Function13c7
|
||||
call LoadBlinkingCursor
|
||||
push bc
|
||||
call KeepTextOpen
|
||||
pop bc
|
||||
call Function13cd
|
||||
call UnloadBlinkingCursor
|
||||
pop hl
|
||||
ret
|
||||
; 14ba
|
||||
|
||||
Text_07:: ; 14ba
|
||||
Text_TX_SCROLL:: ; 14ba
|
||||
; pushes text up two lines and sets the BC cursor to the border tile
|
||||
; below the first character column of the text box.
|
||||
push hl
|
||||
call Function13cd
|
||||
call Function138c
|
||||
call Function138c
|
||||
call UnloadBlinkingCursor
|
||||
call TextScroll
|
||||
call TextScroll
|
||||
pop hl
|
||||
bccoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
|
||||
ret
|
||||
; 14c9
|
||||
|
||||
Text_08:: ; 14c9
|
||||
Text_START_ASM:: ; 14c9
|
||||
; TX_ASM
|
||||
|
||||
bit 7, h
|
||||
@ -958,7 +966,7 @@ Text_08:: ; 14c9
|
||||
ret
|
||||
; 14d2
|
||||
|
||||
Text_09:: ; 14d2
|
||||
Text_TX_NUM:: ; 14d2
|
||||
; TX_NUM
|
||||
; [$09][addr][hi:bytes lo:digits]
|
||||
ld a, [hli]
|
||||
@ -984,7 +992,7 @@ Text_09:: ; 14d2
|
||||
ret
|
||||
; 14ed
|
||||
|
||||
Text_0A:: ; 14ed
|
||||
Text_TX_EXIT:: ; 14ed
|
||||
push hl
|
||||
push bc
|
||||
call GetJoypad
|
||||
@ -1059,13 +1067,14 @@ TextSFX:: ; 152d
|
||||
db -1
|
||||
; 1543
|
||||
|
||||
Text_0C:: ; 1543
|
||||
Text_TX_DOTS:: ; 1543
|
||||
; [$0C][num]
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
push hl
|
||||
ld h, b
|
||||
ld l, c
|
||||
|
||||
.loop
|
||||
push de
|
||||
ld a, "…"
|
||||
@ -1080,6 +1089,7 @@ Text_0C:: ; 1543
|
||||
pop de
|
||||
dec d
|
||||
jr nz, .loop
|
||||
|
||||
ld b, h
|
||||
ld c, l
|
||||
pop hl
|
||||
@ -1097,7 +1107,7 @@ Text_0D:: ; 1562
|
||||
ret
|
||||
; 156a
|
||||
|
||||
Text_14:: ; 156a
|
||||
Text_TX_STRINGBUFFER:: ; 156a
|
||||
; Print a string from one of the following:
|
||||
; 0: StringBuffer3
|
||||
; 1: StringBuffer4
|
||||
@ -1127,7 +1137,7 @@ endr
|
||||
ret
|
||||
; 1582
|
||||
|
||||
Text_15:: ; 1582
|
||||
Text_TX_DAY:: ; 1582
|
||||
; TX_DAY
|
||||
|
||||
call GetWeekday
|
||||
|
@ -208,7 +208,7 @@ FriendBall:
|
||||
MoonBall:
|
||||
LoveBall:
|
||||
ParkBall: ; e8a2
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jp nz, Functionf7a0
|
||||
|
||||
@ -1657,7 +1657,7 @@ Functionf0d6: ; f0d6
|
||||
call Functionf30d
|
||||
ld a, 1
|
||||
ret nz
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
and a
|
||||
jr z, .asm_f104
|
||||
|
||||
@ -1936,7 +1936,7 @@ Functionf2a2: ; f2a2 (3:72a2)
|
||||
ret
|
||||
|
||||
Functionf2a6: ; f2a6 (3:72a6)
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
and a
|
||||
ret z
|
||||
ld a, [CurPartyMon]
|
||||
@ -2280,7 +2280,7 @@ XAccuracy: ; f482
|
||||
|
||||
|
||||
PokeDoll: ; f48f
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr nz, .asm_f4a6
|
||||
inc a
|
||||
@ -2362,7 +2362,7 @@ Tablef504: ; f504
|
||||
|
||||
|
||||
PokeFlute: ; f50c
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
and a
|
||||
jr nz, .asm_f512
|
||||
.asm_f512
|
||||
@ -2375,7 +2375,7 @@ PokeFlute: ; f50c
|
||||
ld hl, PartyMon1Status
|
||||
call .Functionf554
|
||||
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
cp WILD_BATTLE
|
||||
jr z, .asm_f52b
|
||||
ld hl, OTPartyMon1Status
|
||||
@ -2448,7 +2448,7 @@ UnknownText_0xf576: ; 0xf576
|
||||
|
||||
|
||||
Function_0xf57b: ; f57b
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
and a
|
||||
jr nz, .asm_f58c
|
||||
|
||||
@ -2600,7 +2600,7 @@ Functionf64c: ; f64c
|
||||
; f652
|
||||
|
||||
Functionf652: ; f652
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
and a
|
||||
jr z, .asm_f66c
|
||||
ld a, [CurPartyMon]
|
||||
|
10
macros.asm
10
macros.asm
@ -111,7 +111,7 @@ dwcoord: MACRO
|
||||
endr
|
||||
ENDM
|
||||
|
||||
ldcoord: MACRO
|
||||
ldcoord_a: MACRO
|
||||
if _NARG < 3
|
||||
ld [TileMap + SCREEN_WIDTH * (\2) + (\1)], a
|
||||
else
|
||||
@ -119,6 +119,14 @@ ldcoord: MACRO
|
||||
endc
|
||||
ENDM
|
||||
|
||||
lda_coord: MACRO
|
||||
if _NARG < 3
|
||||
ld a, [TileMap + SCREEN_WIDTH * (\2) + (\1)]
|
||||
else
|
||||
ld a, [\3 + SCREEN_WIDTH * (\2) + (\1)]
|
||||
endc
|
||||
ENDM
|
||||
|
||||
; pic animations
|
||||
frame: MACRO
|
||||
db \1
|
||||
|
@ -19,6 +19,7 @@ Function17a68f:: ; 17a68f (5e:668f)
|
||||
pop de
|
||||
xor a
|
||||
ret
|
||||
|
||||
.asm_17a6a6
|
||||
scf
|
||||
ret
|
||||
@ -82,6 +83,7 @@ Function17a713: ; 17a713 (5e:6713)
|
||||
inc c
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_17a71d
|
||||
ld [hl], $ff
|
||||
scf
|
||||
@ -113,10 +115,12 @@ Function17a721: ; 17a721 (5e:6721)
|
||||
dec b
|
||||
jr nz, .asm_17a732
|
||||
ret
|
||||
|
||||
.asm_17a748
|
||||
ld a, $ff
|
||||
ld [de], a
|
||||
ret
|
||||
|
||||
.asm_17a74c
|
||||
ld a, $f0
|
||||
or c
|
||||
@ -167,6 +171,7 @@ Function17a78f: ; 17a78f (5e:678f)
|
||||
jr nz, .asm_17a79f
|
||||
callba Function10402d
|
||||
ret
|
||||
|
||||
.asm_17a79f
|
||||
callba Function104061
|
||||
ret
|
||||
@ -297,41 +302,49 @@ Function17a848: ; 17a848 (5e:6848)
|
||||
jr nz, .asm_17a8a7
|
||||
xor a
|
||||
ret
|
||||
|
||||
.asm_17a876
|
||||
ld a, $9
|
||||
call Function17aad0
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_17a87d
|
||||
ld a, $a
|
||||
call Function17aad0
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_17a884
|
||||
ld a, $b
|
||||
call Function17aad0
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_17a88b
|
||||
ld a, $c
|
||||
call Function17aad0
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_17a892
|
||||
ld a, $5
|
||||
call Function17aad0
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_17a899
|
||||
ld a, $6
|
||||
call Function17aad0
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_17a8a0
|
||||
ld a, $7
|
||||
call Function17aad0
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_17a8a7
|
||||
ld a, $8
|
||||
call Function17aad0
|
||||
@ -347,6 +360,7 @@ Function17a8ae: ; 17a8ae (5e:68ae)
|
||||
jr nz, .asm_17a8d7
|
||||
xor a
|
||||
ret
|
||||
|
||||
.asm_17a8bc
|
||||
ld a, $b
|
||||
ld [$d08a], a
|
||||
@ -355,12 +369,14 @@ Function17a8ae: ; 17a8ae (5e:68ae)
|
||||
call Function17aa88
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_17a8cc
|
||||
call Function17aad7
|
||||
call Function17aa98
|
||||
call Function17a8de
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_17a8d7
|
||||
ld a, $c
|
||||
call Function17aad3
|
||||
@ -383,16 +399,19 @@ Function17a8de: ; 17a8de (5e:68de)
|
||||
ld [$d087], a
|
||||
call Function17aa88
|
||||
ret
|
||||
|
||||
.asm_17a8fd
|
||||
call Function17a943
|
||||
call Function17aa88
|
||||
ret
|
||||
|
||||
.asm_17a904
|
||||
call Function17aad7
|
||||
call Function17aa98
|
||||
call Function17a91e
|
||||
call Function17aa88
|
||||
ret
|
||||
|
||||
.asm_17a911
|
||||
call Function17aa98
|
||||
ld a, $5
|
||||
@ -409,6 +428,7 @@ Function17a91e: ; 17a91e (5e:691e)
|
||||
ld [$d087], a
|
||||
xor a
|
||||
ret
|
||||
|
||||
.asm_17a92c
|
||||
call Function1d6e
|
||||
call Function17a99e
|
||||
@ -436,6 +456,7 @@ Function17a943: ; 17a943 (5e:6943)
|
||||
ld [$d087], a
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_17a95d
|
||||
ld a, $5
|
||||
ld [$d087], a
|
||||
@ -455,6 +476,7 @@ Function17a964: ; 17a964 (5e:6964)
|
||||
ld [hl], e
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_17a979
|
||||
scf
|
||||
ret
|
||||
@ -479,6 +501,7 @@ Function17a97b: ; 17a97b (5e:697b)
|
||||
dec c
|
||||
jr nz, .asm_17a990
|
||||
ret
|
||||
|
||||
.asm_17a99d
|
||||
ret
|
||||
|
||||
@ -503,12 +526,13 @@ Function17a9cb: ; 17a9cb (5e:69cb)
|
||||
ld de, Sprites ; $c400
|
||||
ld hl, $d088
|
||||
bit 6, [hl]
|
||||
jr nz, .asm_17a9df
|
||||
jr nz, .bit_6_set
|
||||
call Function17a9e3
|
||||
call Function17aa22
|
||||
call Function17a9f5
|
||||
ret
|
||||
.asm_17a9df
|
||||
|
||||
.bit_6_set
|
||||
call Function17a9e3
|
||||
ret
|
||||
|
||||
@ -533,9 +557,9 @@ Function17a9f5: ; 17a9f5 (5e:69f5)
|
||||
ld [$d08e], a
|
||||
ld a, [$d08c]
|
||||
cp $10
|
||||
jr c, .asm_17aa0f
|
||||
jr c, .okay
|
||||
dec a
|
||||
.asm_17aa0f
|
||||
.okay
|
||||
ld c, $8
|
||||
call SimpleMultiply
|
||||
add $18
|
||||
@ -581,7 +605,7 @@ Function17aa4a: ; 17aa4a (5e:6a4a)
|
||||
add $10
|
||||
ld c, a
|
||||
ld a, [hli]
|
||||
.asm_17aa56
|
||||
.loop
|
||||
push af
|
||||
ld a, [hli]
|
||||
add c
|
||||
@ -603,7 +627,7 @@ Function17aa4a: ; 17aa4a (5e:6a4a)
|
||||
inc de
|
||||
pop af
|
||||
dec a
|
||||
jr nz, .asm_17aa56
|
||||
jr nz, .loop
|
||||
ret
|
||||
; 17aa72 (5e:6a72)
|
||||
|
||||
@ -662,7 +686,7 @@ rept 2
|
||||
ld [hli], a
|
||||
endr
|
||||
pop hl
|
||||
ld de, $14
|
||||
ld de, SCREEN_WIDTH
|
||||
add hl, de
|
||||
rept 2
|
||||
ld [hli], a
|
||||
@ -721,16 +745,20 @@ Function17aba0: ; 17aba0 (5e:6ba0)
|
||||
push af
|
||||
ld a, $1
|
||||
ld [rVBK], a ; $ff00+$4f
|
||||
ld hl, VTiles2 tile $00
|
||||
|
||||
ld hl, VTiles5 tile $00
|
||||
ld de, GFX_17afa5
|
||||
lb bc, BANK(GFX_17afa5), $80
|
||||
call Get2bpp
|
||||
|
||||
pop af
|
||||
ld [rVBK], a ; $ff00+$4f
|
||||
|
||||
ld hl, VTiles0 tile $00
|
||||
ld de, GFX_17afa5 + $4c0
|
||||
lb bc, BANK(GFX_17afa5), 5
|
||||
call Get2bpp
|
||||
|
||||
ld hl, VTiles0 tile $05
|
||||
ld de, GFX_11601a
|
||||
lb bc, BANK(GFX_11601a), 4
|
||||
@ -740,25 +768,30 @@ Function17aba0: ; 17aba0 (5e:6ba0)
|
||||
Function17abcf: ; 17abcf (5e:6bcf)
|
||||
ld a, [rSVBK] ; $ff00+$70
|
||||
push af
|
||||
ld a, $5
|
||||
ld a, BANK(Unkn1Pals)
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
|
||||
ld hl, Palette_17ac55
|
||||
ld de, Unkn1Pals ; $d000
|
||||
ld bc, $30
|
||||
call CopyBytes
|
||||
|
||||
ld hl, Palette_17ac95
|
||||
ld de, Unkn2Pals
|
||||
ld bc, $40
|
||||
call CopyBytes
|
||||
|
||||
ld hl, GFX_17afa5 + $510
|
||||
ld de, $d048
|
||||
ld de, Unkn2Pals + 2 * 4
|
||||
ld bc, $10
|
||||
call CopyBytes
|
||||
|
||||
ld hl, MapObjectPals + 8
|
||||
ld de, $d058
|
||||
ld de, Unkn2Pals + 6 * 4
|
||||
ld bc, $8
|
||||
ld a, BANK(MapObjectPals)
|
||||
call FarCopyBytes
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
ret
|
||||
@ -767,42 +800,43 @@ Function17ac0c: ; 17ac0c (5e:6c0c)
|
||||
call Function17ac1d
|
||||
call Function17ac2a
|
||||
hlcoord 0, 0
|
||||
ld b, $2
|
||||
ld c, $12
|
||||
ld b, 2
|
||||
ld c, SCREEN_WIDTH - 2
|
||||
call Function17ac46
|
||||
ret
|
||||
|
||||
Function17ac1d: ; 17ac1d (5e:6c1d)
|
||||
ld hl, Tilemap_17acd5
|
||||
decoord 0, 4
|
||||
ld bc, $118
|
||||
ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH
|
||||
call CopyBytes
|
||||
ret
|
||||
|
||||
Function17ac2a: ; 17ac2a (5e:6c2a)
|
||||
ld hl, Tilemap_17ae3d
|
||||
decoord 0, 4, AttrMap
|
||||
ld bc, $118
|
||||
ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH
|
||||
call CopyBytes
|
||||
hlcoord 0, 4, AttrMap
|
||||
ld bc, $118
|
||||
.asm_17ac3c
|
||||
ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH
|
||||
.loop
|
||||
ld a, [hl]
|
||||
or $8
|
||||
ld [hli], a
|
||||
dec bc
|
||||
ld a, b
|
||||
or c
|
||||
jr nz, .asm_17ac3c
|
||||
jr nz, .loop
|
||||
ret
|
||||
|
||||
Function17ac46: ; 17ac46 (5e:6c46)
|
||||
ld a, [$d088]
|
||||
bit 4, a
|
||||
jr nz, .asm_17ac51
|
||||
jr nz, .bit_4_set
|
||||
call TextBox
|
||||
ret
|
||||
.asm_17ac51
|
||||
|
||||
.bit_4_set
|
||||
call Function3eea
|
||||
ret
|
||||
; 17ac55 (5e:6c55)
|
||||
@ -812,30 +846,37 @@ Palette_17ac55: ; 17ac55
|
||||
RGB 9, 10, 25
|
||||
RGB 16, 19, 31
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 5, 11, 9
|
||||
RGB 7, 14, 12
|
||||
RGB 17, 24, 22
|
||||
RGB 28, 31, 31
|
||||
|
||||
RGB 0, 0, 0
|
||||
RGB 3, 0, 10
|
||||
RGB 3, 3, 16
|
||||
RGB 6, 8, 25
|
||||
|
||||
RGB 5, 11, 9
|
||||
RGB 28, 31, 31
|
||||
RGB 7, 14, 12
|
||||
RGB 17, 24, 22
|
||||
|
||||
RGB 0, 0, 0
|
||||
RGB 5, 2, 16
|
||||
RGB 8, 8, 26
|
||||
RGB 13, 9, 17
|
||||
|
||||
RGB 0, 0, 0
|
||||
RGB 0, 0, 0
|
||||
RGB 0, 0, 0
|
||||
RGB 0, 0, 0
|
||||
|
||||
RGB 0, 0, 0
|
||||
RGB 0, 0, 0
|
||||
RGB 0, 0, 0
|
||||
RGB 0, 0, 0
|
||||
|
||||
RGB 0, 0, 0
|
||||
RGB 0, 0, 0
|
||||
RGB 0, 0, 0
|
||||
@ -846,30 +887,37 @@ Palette_17ac95: ; 17ac95
|
||||
RGB 4, 3, 3
|
||||
RGB 31, 13, 0
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 31, 31, 31
|
||||
RGB 0, 0, 0
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 31, 0, 0
|
||||
RGB 16, 3, 0
|
||||
RGB 28, 19, 11
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 31, 16, 0
|
||||
RGB 9, 6, 4
|
||||
RGB 31, 16, 0
|
||||
RGB 31, 24, 0
|
||||
|
||||
RGB 31, 18, 6
|
||||
RGB 0, 3, 0
|
||||
RGB 0, 9, 0
|
||||
RGB 0, 12, 0
|
||||
|
||||
RGB 0, 16, 0
|
||||
RGB 0, 22, 0
|
||||
RGB 0, 25, 0
|
||||
RGB 0, 27, 0
|
||||
|
||||
RGB 0, 31, 0
|
||||
RGB 3, 31, 0
|
||||
RGB 8, 31, 0
|
||||
RGB 14, 31, 0
|
||||
|
||||
RGB 16, 31, 0
|
||||
RGB 22, 31, 0
|
||||
RGB 27, 31, 0
|
||||
|
@ -168,17 +168,17 @@ Function1000fa: ; 1000fa
|
||||
ld [$ffc9], a
|
||||
ld [$ffe9], a
|
||||
ei
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
push af
|
||||
xor a
|
||||
ld [InLinkBattle], a
|
||||
ld [wLinkMode], a
|
||||
ld a, $4
|
||||
ld [wPartyMonMenuIconAnims + 5], a
|
||||
callba Function11619d
|
||||
ld hl, wcd29
|
||||
set 6, [hl]
|
||||
pop af
|
||||
ld [InLinkBattle], a
|
||||
ld [wLinkMode], a
|
||||
ret
|
||||
; 100144
|
||||
|
||||
@ -1612,7 +1612,7 @@ Function100a09: ; 100a09
|
||||
call Function100a2e
|
||||
ld [wd431], a
|
||||
callba Function4000
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
cp $4
|
||||
jr nz, .asm_100a2a
|
||||
call Function100a87
|
||||
@ -2134,7 +2134,7 @@ Function100db0: ; 100db0
|
||||
|
||||
|
||||
Function100dc0: ; 100dc0
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
cp $4
|
||||
jr nz, .asm_100dd0
|
||||
ld hl, wcd2a
|
||||
@ -2770,13 +2770,13 @@ Function1011f1: ; 1011f1
|
||||
ld [wdc5f], a
|
||||
ld [wdc60], a
|
||||
ld a, $4
|
||||
ld [InLinkBattle], a
|
||||
ld [wLinkMode], a
|
||||
ret
|
||||
; 101220
|
||||
|
||||
Function101220: ; 101220
|
||||
xor a
|
||||
ld [InLinkBattle], a
|
||||
ld [wLinkMode], a
|
||||
ret
|
||||
; 101225
|
||||
|
||||
@ -6802,7 +6802,7 @@ Function102e07: ; 102e07
|
||||
hlcoord 3, 10
|
||||
ld b, $1
|
||||
ld c, $b
|
||||
ld a, [IsInBattle]
|
||||
ld a, [wBattleMode]
|
||||
and a
|
||||
jr z, .asm_102e19
|
||||
call TextBox
|
||||
|
@ -5976,7 +5976,7 @@ Function1163c0: ; 1163c0
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
callba Function104061
|
||||
ld a, [InLinkBattle]
|
||||
ld a, [wLinkMode]
|
||||
cp $4
|
||||
jr z, .asm_11642a
|
||||
ld a, $8
|
||||
@ -16146,10 +16146,10 @@ Function11b7e5: ; 11b7e5
|
||||
ld a, $1
|
||||
ld [wd1e9], a
|
||||
ld a, $2
|
||||
ld [InLinkBattle], a
|
||||
ld [wLinkMode], a
|
||||
callba Function421d8
|
||||
xor a
|
||||
ld [InLinkBattle], a
|
||||
ld [wLinkMode], a
|
||||
callba Function14a58
|
||||
ld a, $5
|
||||
call GetSRAMBank
|
||||
@ -22841,7 +22841,7 @@ RunBattleTowerBattle: ; 17024d
|
||||
or $1
|
||||
ld [InBattleTowerBattle], a
|
||||
xor a
|
||||
ld [InLinkBattle], a
|
||||
ld [wLinkMode], a
|
||||
callba Mobile_HealParty
|
||||
callba HealParty
|
||||
call Function1702b7
|
||||
|
@ -300,10 +300,10 @@ Function17d0f3: ; 17d0f3
|
||||
ld a, $1
|
||||
ld [wd1e9], a
|
||||
ld a, $2
|
||||
ld [InLinkBattle], a
|
||||
ld [wLinkMode], a
|
||||
callba Function421d8
|
||||
xor a
|
||||
ld [InLinkBattle], a
|
||||
ld [wLinkMode], a
|
||||
callba Function14a58
|
||||
ld a, $5
|
||||
call GetSRAMBank
|
||||
|
4
wram.asm
4
wram.asm
@ -294,7 +294,7 @@ wc2d7:: ds 1
|
||||
wc2d8:: ds 1
|
||||
wc2d9:: ds 1
|
||||
wc2da:: ds 2
|
||||
InLinkBattle:: ; c2dc
|
||||
wLinkMode:: ; c2dc
|
||||
; 0 not in link battle
|
||||
; 1 link battle
|
||||
; 4 mobile battle
|
||||
@ -1760,7 +1760,7 @@ EnemyMonBaseExp:: db ; d22c
|
||||
EnemyMonEnd::
|
||||
|
||||
|
||||
IsInBattle:: ; d22d
|
||||
wBattleMode:: ; d22d
|
||||
; 0: overworld
|
||||
; 1: wild battle
|
||||
; 2: trainer battle
|
||||
|
Loading…
Reference in New Issue
Block a user