pokecrystal-board/mobile/mobile_46.asm
2018-01-22 15:40:43 -05:00

7977 lines
116 KiB
NASM
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

SECTION "Mobile 46", ROMX
Function118000: ; 118000
ld a, $1
ld [wcd38], a
jr asm_11800b
Function118007: ; 118007
xor a
ld [wcd38], a
asm_11800b
call BattleTowerRoomMenu_InitRAM
ld a, $18
ld [wcd33], a
ld a, $19
ld [wcd34], a
ld a, $4
ld [wc3f0], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
.loop
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $1b
jr c, .skip
ld a, [wcd34]
ld [wcf66], a
.skip
call Function1184a5
call BattleTowerRoomMenu_WriteMessage
farcall Function115dd3
farcall Function11619d
call DelayFrame
ld a, [wcf66]
ld hl, wcd33
cp [hl]
jr nz, .loop
pop af
ld [rSVBK], a
call BattleTowerRoomMenu_Cleanup
call ReturnToMapFromSubmenu
BattleTowerRoomMenu_DoNothing: ; 11805e (46:405e)
ret
; 11805f
Function11805f: ; 11805f
ld a, $1
ld [wcd38], a
call BattleTowerRoomMenu_InitRAM
ld a, $18
ld [wcd33], a
ld a, $19
ld [wcd34], a
ld a, $4
ld [wc3f0], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
.asm_11807d
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $1b
jr c, .asm_118090
ld a, [wcd34]
ld [wcf66], a
.asm_118090
call Function11857c
call BattleTowerRoomMenu_WriteMessage
farcall Function115dd3
farcall Function11619d
call DelayFrame
ld a, [wcf66]
ld hl, wcd33
cp [hl]
jr nz, .asm_11807d
pop af
ld [rSVBK], a
call BattleTowerRoomMenu_Cleanup
call ReturnToMapFromSubmenu
ret
; 1180b8
Function1180b8: ; 1180b8
call BattleTowerRoomMenu_InitRAM
ld a, $22
ld [wcd33], a
ld a, $23
ld [wcd34], a
ld a, $4
ld [wc3f0], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
.asm_1180d1
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $28
jr c, .asm_1180e4
ld a, [wcd34]
ld [wcf66], a
.asm_1180e4
ld a, [wcf66]
cp $10
jr c, .asm_1180f2
cp $16
jr nc, .asm_1180f2
call Function11884c
.asm_1180f2
call Function1184ec
call BattleTowerRoomMenu_WriteMessage
farcall Function115dd3
farcall Function11619d
call DelayFrame
ld a, [wcf66]
ld hl, wcd33
cp [hl]
jr nz, .asm_1180d1
pop af
ld [rSVBK], a
call BattleTowerRoomMenu_Cleanup
call ReturnToMapFromSubmenu
ret
; 11811a
Function11811a: ; 11811a
ld a, 1
ld [wcd38], a
jr Function118125
_BattleTowerRoomMenu: ; 118121
xor a
ld [wcd38], a
Function118125: ; 118125
call BattleTowerRoomMenu_InitRAM
ld a, $3
ld [wcd33], a
ld a, $d
ld [wcd34], a
ld a, $4
ld [wc3f0], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
.loop
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $f
jr c, .skip
ld a, [wcd34]
ld [wcf66], a
.skip
call BattleTowerRoomMenu_Jumptable
call BattleTowerRoomMenu_WriteMessage
farcall Function115dd3
farcall Function11619d
call DelayFrame
ld a, [wcf66]
ld hl, wcd33
cp [hl]
jr nz, .loop
xor a
ld [w3_d000], a
pop af
ld [rSVBK], a
call BattleTowerRoomMenu_Cleanup
call Function118180
call ReturnToMapFromSubmenu
ret
; 118180
Function118180: ; 118180
ld a, [ScriptVar]
and a
ret nz
ld a, [wcd38]
and a
ret z
ld a, $5
call GetSRAMBank
ld hl, wcd69
ld de, $a89c
ld bc, $0016
call CopyBytes
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
ld de, w3_d202
ld c, $96
farcall CheckStringForErrors_IgnoreTerminator
jr c, .return_d3
ld de, w3_d202
lb bc, 1, $96
farcall CheckStringContainsLessThanBNextCharacters
jr c, .return_d3
ld hl, w3_d202
ld de, $a8b2
ld bc, $0096
call CopyBytes
.reset_banks
pop af
ld [rSVBK], a
call CloseSRAM
ret
.return_d3
ld a, $d3
ld [wc300], a
ld [ScriptVar], a
jr .reset_banks
; 1181da
Function1181da: ; 1181da
call BattleTowerRoomMenu_InitRAM
ld a, $2
ld [wcd38], a
ld a, $21
ld [wcd33], a
ld a, $22
ld [wcd34], a
ld a, $4
ld [wc3f0], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
.asm_1181f8
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $28
jr c, .asm_11820b
ld a, [wcd34]
ld [wcf66], a
.asm_11820b
call Function1185c3
call BattleTowerRoomMenu_WriteMessage
farcall Function115dd3
farcall Function11619d
call DelayFrame
ld a, [wcf66]
ld hl, wcd33
cp [hl]
jr nz, .asm_1181f8
pop af
ld [rSVBK], a
call BattleTowerRoomMenu_Cleanup
call ReturnToMapFromSubmenu
ret
; 118233
Function118233: ; 118233
call BattleTowerRoomMenu_InitRAM
ld a, $1b
ld [wcd33], a
ld a, $1c
ld [wcd34], a
ld a, $6
ld [wc3f0], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
.asm_11824c
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $1e
jr c, .asm_11825f
ld a, [wcd34]
ld [wcf66], a
.asm_11825f
call Function118624
call BattleTowerRoomMenu_WriteMessage
farcall Function115dd3
farcall Function11619d
call DelayFrame
ld a, [wcf66]
ld hl, wcd33
cp [hl]
jr nz, .asm_11824c
pop af
ld [rSVBK], a
call BattleTowerRoomMenu_Cleanup
ret
; 118284
Function118284: ; 118284
call BattleTowerRoomMenu_InitRAM
ld a, $19
ld [wcd33], a
ld a, $1e
ld [wcd34], a
ld a, $5
ld [wc3f0], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
.asm_11829d
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $20
jr c, .asm_1182b0
ld a, [wcd34]
ld [wcf66], a
.asm_1182b0
call Function1186f5
call BattleTowerRoomMenu_WriteMessage
farcall Function115dd3
farcall Function11619d
call DelayFrame
ld a, [wcf66]
ld hl, wcd33
cp [hl]
jr nz, .asm_11829d
pop af
ld [rSVBK], a
call BattleTowerRoomMenu_Cleanup
ret
; 1182d5 (46:42d5)
Function1182d5: ; 1182d5
call BattleTowerRoomMenu_InitRAM
ld a, $18
ld [wcd33], a
ld a, $19
ld [wcd34], a
ld a, $4
ld [wc3f0], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
.asm_1182ee
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $1b
jr c, .asm_118301
ld a, [wcd34]
ld [wcf66], a
.asm_118301
call Function118746
call BattleTowerRoomMenu_WriteMessage
farcall Function115dd3
farcall Function11619d
call DelayFrame
ld a, [wcf66]
ld hl, wcd33
cp [hl]
jr nz, .asm_1182ee
pop af
ld [rSVBK], a
call BattleTowerRoomMenu_Cleanup
call ReturnToMapFromSubmenu
ret
; 118329
Function118329: ; 118329
call BattleTowerRoomMenu_InitRAM
ld a, $15
ld [wcd33], a
ld a, $16
ld [wcd34], a
ld a, $6
ld [wc3f0], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
.asm_118342
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $18
jr c, .asm_118355
ld a, [wcd34]
ld [wcf66], a
.asm_118355
call Function118671
call BattleTowerRoomMenu_WriteMessage
farcall Function115dd3
farcall Function11619d
call DelayFrame
ld a, [wcf66]
ld hl, wcd33
cp [hl]
jr nz, .asm_118342
pop af
ld [rSVBK], a
call BattleTowerRoomMenu_Cleanup
ret
; 11837a
Function11837a: ; 11837a
call BattleTowerRoomMenu_InitRAM
ld a, $16
ld [wcd33], a
ld a, $17
ld [wcd34], a
ld a, $6
ld [wc3f0], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
.asm_118393
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $19
jr c, .asm_1183a6
ld a, [wcd34]
ld [wcf66], a
.asm_1183a6
call Function1186b2
call BattleTowerRoomMenu_WriteMessage
farcall Function115dd3
farcall Function11619d
call DelayFrame
ld a, [wcf66]
ld hl, wcd33
cp [hl]
jr nz, .asm_118393
pop af
ld [rSVBK], a
call BattleTowerRoomMenu_Cleanup
ret
; 1183cb
BattleTowerRoomMenu_InitRAM: ; 1183cb
di
ld a, [rIE]
ld [wcd32], a
call DoubleSpeed
xor a
ld [rIF], a
ld [wc300], a
ld [wc301], a
ld [wc302], a
ld [wcd80], a
ld [wcd65], a
ld [wcd66], a
ld [wcd67], a
ld [wcd68], a
ld [$c31a], a
ld [wcd89], a
ld [wcd8a], a
ld [wcd8b], a
ld [wc3ec], a
ld [wc3ed], a
ld [wc3ee], a
ld [wc3ef], a
ld hl, VramState
ld a, [hl]
ld [wcd7f], a
set 1, [hl]
ld a, $f
ld [rIE], a
ld a, $1
ld [hMobileReceive], a
ld [hMobile], a
ei
farcall Stubbed_Function106462
farcall Function106464
farcall Function115d99
farcall Function11615a
ld a, $5
call GetSRAMBank
xor a
ld [$bfff], a
call CloseSRAM
ret
; 118440
Function118440: ; 118440
push af
ld a, $5
call GetSRAMBank
ld a, [$bfff]
inc a
ld [$bfff], a
call CloseSRAM
pop af
ret
; 118452
BattleTowerRoomMenu_Cleanup: ; 118452
di
xor a
ld [hMobileReceive], a
ld [hMobile], a
ld [hVBlank], a
call NormalSpeed
xor a
ld [rIF], a
ld a, [wcd32]
ld [rIE], a
ei
ld a, [wcd7f]
ld [VramState], a
ld a, [wc300]
ld [ScriptVar], a
ret
; 118473
Function118473: ; 118473
ld a, [wcd65]
and a
ret z
ld a, [wcd66]
inc a
ld [wcd66], a
cp 60
ret nz
xor a
ld [wcd66], a
ld a, [wcd67]
inc a
ld [wcd67], a
cp 60
ret nz
ld a, [wcd68]
inc a
ld [wcd68], a
cp 99
jr z, .ninety_nine
xor a
ld [wcd67], a
ret
.ninety_nine
xor a
ld [wcd65], a
ret
; 1184a5
Function1184a5: ; 1184a5
jumptable .Jumptable, wcf66
; 1184b4
.Jumptable: ; 1184b4
dw Function11886e
dw Function118880
dw Function11878d
dw Function1188b0
dw Function11878d
dw Function1188b8
dw Function11878d
dw Function1188c0
dw Function11878d
dw Function1188c8
dw Function11878d
dw Function118903
dw Function118a8f
dw Function11878d
dw Function118d80
dw Function118d9b
dw Function11878d
dw Function118ded
dw Function118e6d
dw Function11878d
dw Function11984e
dw Function118e76
dw Function118e7e
dw Function11878d
dw BattleTowerRoomMenu_DoNothing
dw Function118e76
dw BattleTowerRoomMenu_CallRoomMenu2
dw Function118e76
; 1184ec
Function1184ec: ; 1184ec
jumptable .Jumptable, wcf66
; 1184fb
.Jumptable: ; 1184fb
dw Function11886e
dw Function118880
dw Function11878d
dw Function1188b0
dw Function11878d
dw Function1188b8
dw Function11878d
dw Function1188c0
dw Function11878d
dw Function1188c8
dw Function11878d
dw Function118903
dw Function119954
dw Function11878d
dw Function119973
dw Function11878d
dw Function119987
dw Function11878d
dw Function1199b4
dw Function1199ca
dw Function11878d
dw Function1199e2
dw Function119b0d
dw Function11878d
dw Function119b6b
dw Function119b3b
dw Function11878d
dw Function119b52
dw Function11878d
dw Function118e6d
dw Function11878d
dw Function118e76
dw Function118e7e
dw Function11878d
dw BattleTowerRoomMenu_DoNothing
dw Function118e76
dw BattleTowerRoomMenu_CallRoomMenu2
dw Function119b45
dw Function11878d
dw Function119ac9
dw Function118e76
; 11854d
BattleTowerRoomMenu_Jumptable: ; 11854d
jumptable .Jumptable, wcf66
; 11855c
.Jumptable: ; 11855c
dw BattleTowerRoomMenu_PickLevelMessage
dw BattleTowerRoomMenu_PlacePickLevelMenu
dw BattleTowerRoomMenu_UpdatePickLevelMenu
dw BattleTowerRoomMenu_DoNothing
dw BattleTowerRoomMenu_PartyMonTopsThisLevelMessage
dw BattleTowerRoomMenu_WaitForMessage
dw BattleTowerRoomMenu_DelayRestartMenu
dw BattleTowerRoomMenu_QuitMessage
dw BattleTowerRoomMenu_PlaceYesNoMenu
dw BattleTowerRoomMenu_UpdateYesNoMenu
dw BattleTowerRoomMenu_UberRestrictionMessage
dw BattleTowerRoomMenu_WaitForMessage
dw BattleTowerRoomMenu_DelayRestartMenu
dw Function118e76 ; mobile
dw BattleTowerRoomMenu_CallRoomMenu2 ; mobile
dw Function118e76 ; mobile
; 11857c
Function11857c: ; 11857c
jumptable .Jumptable, wcf66
; 11858b
.Jumptable: ; 11858b
dw Function11886e
dw Function118880
dw Function11878d
dw Function1188b0
dw Function11878d
dw Function1188b8
dw Function11878d
dw Function1188c0
dw Function11878d
dw Function1188c8
dw Function11878d
dw Function118903
dw Function118a7a
dw Function11878d
dw Function11891c
dw Function1198ee
dw Function1198f7
dw Function11878d
dw Function119937
dw Function118e6d
dw Function11878d
dw Function118e76
dw Function118e7e
dw Function11878d
dw BattleTowerRoomMenu_DoNothing
dw Function118e76
dw BattleTowerRoomMenu_CallRoomMenu2
dw Function118e76
; 1185c3
Function1185c3: ; 1185c3
jumptable .Jumptable, wcf66
; 1185d2
.Jumptable: ; 1185d2
dw Function11886e
dw Function118880
dw Function11878d
dw Function1188b0
dw Function11878d
dw Function1188b8
dw Function11878d
dw Function1188c0
dw Function11878d
dw Function1188c8
dw Function11878d
dw Function118903
dw Function118aa4
dw Function11878d
dw Function118e92
dw Function11878d
dw Function118eb0
dw Function118ec6
dw Function118f0d
dw Function118f14
dw Function118f5e
dw Function11878d
dw Function118fc0
dw Function11878d
dw Function119054
dw Function1190d0
dw Function11878d
dw Function1190ec
dw Function118e6d
dw Function11878d
dw Function118e76
dw Function118e7e
dw Function11878d
dw BattleTowerRoomMenu_DoNothing
dw Function118e76
dw BattleTowerRoomMenu_CallRoomMenu2
dw BattleTowerRoomMenu_QuitMessage
dw BattleTowerRoomMenu_PlaceYesNoMenu
dw BattleTowerRoomMenu_UpdateYesNoMenu
dw Function11914e
dw Function118e76
; 118624
Function118624: ; 118624
jumptable .Jumptable, wcf66
; 118633
.Jumptable: ; 118633
dw Function118866
dw Function118880
dw Function11878d
dw Function1188b0
dw Function11878d
dw Function1188b8
dw Function11878d
dw Function1188c0
dw Function11878d
dw Function1188c8
dw Function11878d
dw Function118903
dw Function118aa4
dw Function11878d
dw Function118e92
dw Function11878d
dw Function11915d
dw Function118f68
dw Function11878d
dw Function119009
dw Function11878d
dw Function119054
dw Function118e6d
dw Function11878d
dw Function118e76
dw Function118e7e
dw Function11878d
dw BattleTowerRoomMenu_DoNothing
dw Function118e76
dw BattleTowerRoomMenu_CallRoomMenu2
dw Function118e76
; 118671
Function118671: ; 118671
jumptable .Jumptable, wcf66
; 118680
.Jumptable: ; 118680
dw Function118866
dw Function118880
dw Function11878d
dw Function1188b0
dw Function11878d
dw Function1188b8
dw Function11878d
dw Function1188c0
dw Function11878d
dw Function1188c8
dw Function11878d
dw Function118903
dw Function119380
dw Function119388
dw Function1193a0
dw Function11878d
dw Function118e6d
dw Function11878d
dw Function118e76
dw Function118e7e
dw Function11878d
dw BattleTowerRoomMenu_DoNothing
dw Function118e76
dw BattleTowerRoomMenu_CallRoomMenu2
dw Function118e76
; 1186b2
Function1186b2: ; 1186b2
jumptable .Jumptable, wcf66
; 1186c1
.Jumptable: ; 1186c1
dw Function118866
dw Function118880
dw Function11878d
dw Function1188b0
dw Function11878d
dw Function1188b8
dw Function11878d
dw Function1188c0
dw Function11878d
dw Function1188c8
dw Function11878d
dw Function118903
dw Function119380
dw Function1193e3
dw Function1193fb
dw Function11878d
dw Function119413
dw Function118e6d
dw Function11878d
dw Function118e76
dw Function118e7e
dw Function11878d
dw BattleTowerRoomMenu_DoNothing
dw Function118e76
dw BattleTowerRoomMenu_CallRoomMenu2
dw Function118e76
; 1186f5
Function1186f5: ; 1186f5 (46:46f5)
jumptable .Jumptable, wcf66
; 118704 (46:4704)
.Jumptable: ; 118704 (46:4704)
dw Function11886a
dw Function118880
dw Function11878d
dw Function1188b0
dw Function11878d
dw Function1188b8
dw Function11878d
dw Function1188c0
dw Function11878d
dw Function1188c8
dw Function11878d
dw Function118903
dw Function118abc
dw Function11878d
dw Function119451
dw Function1195f8
dw Function119612
dw Function119629
dw Function119648
dw Function11878d
dw Function118e6d
dw Function11878d
dw Function118e76
dw Function118e7e
dw Function11878d
dw BattleTowerRoomMenu_DoNothing
dw Function11967d
dw Function119685
dw Function119665
dw Function11966d
dw Function118e76
dw BattleTowerRoomMenu_CallRoomMenu2
dw Function118e76
; 118746 (46:4746)
Function118746: ; 118746
jumptable .Jumptable, wcf66
; 118755
.Jumptable: ; 118755
dw Function11886e
dw Function118880
dw Function11878d
dw Function1188b0
dw Function11878d
dw Function1188b8
dw Function11878d
dw Function1188c0
dw Function11878d
dw Function1188c8
dw Function11878d
dw Function118903
dw Function118ad0
dw Function11878d
dw Function1196f2
dw Function1197c9
dw Function1197dc
dw Function11878d
dw Function118e6d
dw Function11878d
dw Function119800
dw Function118e76
dw Function118e7e
dw Function11878d
dw BattleTowerRoomMenu_DoNothing
dw Function118e76
dw BattleTowerRoomMenu_CallRoomMenu2
dw Function118e76
; 11878d
Function11878d: ; 11878d (46:478d)
ld a, [wc821]
bit 1, a
jr nz, .asm_1187af
bit 2, a
jr nz, .asm_1187d1
bit 0, a
jr nz, .asm_1187aa
ld a, [wcd89]
and $1
jr z, .asm_1187a7
ld a, $3
ld [rSVBK], a
.asm_1187a7
jp BattleTowerRoomMenu_IncrementJumptable
.asm_1187aa
call Function118821
ret c
ret
.asm_1187af
ld a, $0
call Function3e32
ld [wc300], a
ld a, l
ld [wc301], a
ld a, h
ld [wc302], a
ld a, $a
call Function3e32
ld a, [wc3f0]
ld [$c319], a
ld a, [wcd34]
ld [wcf66], a
ret
.asm_1187d1
ld hl, wcd89
bit 0, [hl]
jr nz, .asm_118803
set 0, [hl]
ld a, $6
ld [rSVBK], a
ld de, $d000
ld bc, $1000
ld a, [hl]
sla a
jr c, .asm_1187f9
sla a
jr c, .asm_1187fd
sla a
jr c, .asm_1187f5
ld a, $24
jr .asm_1187ff
.asm_1187f5
ld a, $28
jr .asm_1187ff
.asm_1187f9
ld a, $2a
jr .asm_1187ff
.asm_1187fd
ld a, $2c
.asm_1187ff
call Function3e32
ret
.asm_118803
ld a, $d3
Function118805: ; 118805 (46:4805)
ld [wc300], a
xor a
ld [wc301], a
ld [wc302], a
ld a, $a
call Function3e32
ld a, [wc3f0]
ld [$c319], a
ld a, [wcd34]
ld [wcf66], a
ret
Function118821: ; 118821 (46:4821)
ld a, [$c319]
cp $3
jr c, .asm_11884a
cp $4
jr z, .asm_11884a
ld a, [hJoyDown]
cp $5
jr nz, .asm_11884a
ld a, $a
call Function3e32
ld a, $a
ld [wc300], a
ld a, [wc3f0]
ld [$c319], a
ld a, [wcd34]
ld [wcf66], a
scf
ret
.asm_11884a
and a
ret
; 11884c (46:484c)
Function11884c: ; 11884c
ld a, [hJoyDown]
cp $5
jr nz, .asm_118864
ld a, $a
call Function3e32
ld a, $a
ld [wc300], a
ld a, [wcd34]
ld [wcf66], a
scf
ret
.asm_118864
and a
ret
; 118866
Function118866:
ld a, 2
jr asm_11886f
Function11886a: ; 11886a (46:486a)
ld a, 1
jr asm_11886f
; 11886e (46:486e)
Function11886e:
xor a
asm_11886f
ld [BGMapPalBuffer], a
ld a, $0
ld [wcd3c], a
call BattleTowerRoomMenu_IncrementJumptable
ld a, [wcd33]
ld [wMobileInactivityTimerSeconds], a
Function118880: ; 118880 (46:4880)
call BattleTowerRoomMenu2
ret c
xor a
ld [wcf64], a
ld [wc807], a
ld de, wcd81
ld hl, $46
ld a, $2
jp Function119e2b
; 118896 (46:4896)
Function118896: ; 118896
ld a, [wc821]
bit 1, a
jr nz, .asm_1188a5
bit 2, a
jr nz, .asm_1188a5
bit 0, a
jr z, .asm_1188aa
.asm_1188a5
ld a, $34
jp Function119e2b
.asm_1188aa
call BattleTowerRoomMenu_IncrementJumptable
jp BattleTowerRoomMenu_IncrementJumptable
; 1188b0
Function1188b0: ; 1188b0 (46:48b0)
ld de, $c346
ld a, $c
jp Function119e2b
Function1188b8: ; 1188b8 (46:48b8)
ld de, wc3ac
ld a, $e
jp Function119e2b
Function1188c0: ; 1188c0 (46:48c0)
ld de, wc3cd
ld a, $10
jp Function119e2b
Function1188c8: ; 1188c8 (46:48c8)
ld a, $1
ld [wcd65], a
call Function1188e7
ld hl, $c708
.asm_1188d3
ld a, [de]
inc de
ld [hli], a
and a
jr nz, .asm_1188d3
call Function119eb4
call Function119ec2
ld hl, $c708
ld a, $6
jp Function119e2b
Function1188e7: ; 1188e7 (46:48e7)
ld de, $c346
ld a, $5
call GetSRAMBank
ld a, [$aa4a]
call CloseSRAM
and a
ret z
sla a
ld c, a
.asm_1188fa
ld a, [de]
inc de
and a
jr nz, .asm_1188fa
dec c
jr nz, .asm_1188fa
ret
Function118903: ; 118903 (46:4903)
ld a, [wc3f0]
ld [$c319], a
ld c, $1
farcall Function115e18
ld a, $8
ld [wcd3c], a
call BattleTowerRoomMenu2
jp BattleTowerRoomMenu_IncrementJumptable
Function11891c: ; 11891c
call Function118b42
jp BattleTowerRoomMenu_IncrementJumptable
BattleTowerRoomMenu_PickLevelMessage: ; 118922
ld a, [wcd38]
and a
jr nz, .asm_11892d
ld hl, Text_WhatLevelDoYouWantToChallenge
jr .asm_118930
.asm_11892d
ld hl, Text_CheckBattleRoomListByMaxLevel
.asm_118930
call BattleTowerRoomMenu_SetMessage
call BattleTowerRoomMenu_IncrementJumptable
BattleTowerRoomMenu_PlacePickLevelMenu:
ld a, [$c31a]
and a
ret nz
ld hl, MenuDataHeader_119cf7
call LoadMenuDataHeader
call MenuBox
call MenuBoxCoord2Tile
call ApplyTilemap
hlcoord 16, 8, AttrMap
ld a, $40
or [hl]
ld [hl], a
call WaitBGMap2
ld a, $1
ld [wcd4f], a
ld a, $1
ld [rSVBK], a
ld a, [wStatusFlags]
bit STATUSFLAGS_HALL_OF_FAME_F, a
jr nz, .asm_11896b
ld hl, Strings_Ll0ToL40 ; Address to list of strings with the choosable levels
ld a, 5 ; 4 levels to choose from, including 'Cancel'-option
jr .asm_118970
.asm_11896b
ld hl, Strings_L10ToL100 ; Address to list of strings with the choosable levels
ld a, 11 ; 10 levels to choose from, including 'Cancel'-option
.asm_118970
ld [wcd4a], a
ld a, l
ld [wcd4b], a
ld a, h
ld [wcd4c], a
ld a, $3
ld [rSVBK], a
call BattleTowerRoomMenu_IncrementJumptable
BattleTowerRoomMenu_UpdatePickLevelMenu:
hlcoord 13, 8
ld de, String_119d07
call PlaceString
hlcoord 13, 10
ld de, String_119d07
call PlaceString
ld a, [wcd4b]
ld l, a
ld a, [wcd4c]
ld h, a
ld d, $0
ld a, [wcd4f]
dec a
rlca
rlca
rlca
ld e, a
add hl, de
ld a, l
ld e, a
ld a, h
ld d, a
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
ld bc, StringBuffer3
.asm_1189b5
ld a, [hli]
cp $50
jr z, .asm_1189c4
cp $7f
jr z, .asm_1189c2
ld [bc], a
inc bc
jr .asm_1189b5
.asm_1189c2
ld a, $50
.asm_1189c4
ld [bc], a
pop af
ld [rSVBK], a
hlcoord 13, 9
call PlaceString
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
jr nz, .b_button
ld a, [hl]
and A_BUTTON
jr nz, .a_button
ld a, [hl]
and D_DOWN
jr nz, .d_down
ld a, [hl]
and D_UP
jr nz, .d_up
.asm_1189e5
ret
.d_down
ld hl, wcd4f
dec [hl]
jr nz, .asm_1189e5
ld a, [wcd4a]
ld [hl], a
jr .asm_1189e5
.d_up
ld a, [wcd4a]
ld hl, wcd4f
inc [hl]
cp [hl]
jr nc, .asm_1189e5
ld a, $1
ld [hl], a
jr .asm_1189e5
.a_button
call PlayClickSFX
ld a, [wcd4f]
ld hl, wcd4a
cp [hl]
jr z, .asm_118a3c
dec a
and $fe
srl a
ld [wcf65], a
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
call CloseWindow
pop af
ld [rSVBK], a
ld a, [wcd38]
and a
jr nz, .asm_118a30
call BattleTower_LevelCheck
ret c
call BattleTower_UbersCheck
ret c
.asm_118a30
ld a, [wcd4f]
ld [w3_d800], a
jp BattleTowerRoomMenu_IncrementJumptable
.b_button
call PlayClickSFX
.asm_118a3c
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
call CloseWindow
pop af
ld [rSVBK], a
ld a, $7
ld [wcf66], a
ld a, $0
ld [wMobileInactivityTimerFrames], a
ret
Function118a54: ; 118a54
ld a, [wcd55]
ld l, a
ld a, [wcd56]
ld h, a
ld de, wc3ec
ld bc, $0004
jp Function118ae4
; 118a65
Function118a65: ; 118a65
ld hl, BattleDownloadURL
ld de, wcc60
ld bc, $80
call CopyBytes
ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118a7a
Function118a7a: ; 118a7a
ld hl, BattleDownloadURL
ld de, wcc60
ld bc, $80
call CopyBytes
ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118a8f
Function118a8f: ; 118a8f
ld hl, ExchangeDownloadURL
ld de, wcc60
ld bc, $80
call CopyBytes
ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118aa4
Function118aa4: ; 118aa4
ld hl, NewsDownloadURL
ld de, wcc60
ld bc, $80
call CopyBytes
ld a, $5
ld [rSVBK], a
ld de, w3_d100
ld bc, $e00
jr Function118b10
; 118abc
Function118abc: ; 118abc (46:4abc)
ld hl, MenuDownloadURL
ld de, wcc60
ld bc, $80
call CopyBytes
ld de, w3_d000
ld bc, $1000
jr Function118b10
; 118ad0 (46:4ad0)
Function118ad0:
ld hl, IndexDownloadURL
ld de, wcc60
ld bc, $80
call CopyBytes
ld de, w3_d000
ld bc, $1000
jr Function118b10
Function118ae4:
push bc
push de
push hl
ld a, $8
ld [wcd3c], a
call BattleTowerRoomMenu2
pop hl
ld c, $0
ld de, wcc60
.asm_118af5
ld a, [hli]
ld [de], a
inc de
and a
jr z, .asm_118b06
inc c
ld a, c
cp $a6
jr c, .asm_118af5
ld a, $da
jp Function118805
.asm_118b06
call Function118b24
pop de
pop bc
ld a, $2a
jp Function119e2b
; 118b10
Function118b10:
push de
push bc
ld a, $8
ld [wcd3c], a
call BattleTowerRoomMenu2
call Function118b24
pop bc
pop de
ld a, $2a
jp Function119e2b
Function118b24: ; 118b24 (46:4b24)
ld hl, $c346
ld a, $8
ld [hli], a
ld a, $c7
ld [hli], a
ld a, $60
ld [hli], a
ld a, $cc
ld [hli], a
call Function119eb4
call Function119ec2
ld a, $80
ld [wcd89], a
ld hl, $c346
ret
; 118b42 (46:4b42)
Function118b42: ; 118b42
ld hl, wd002
ld a, l
ld [wcd51], a
ld a, h
ld [wcd52], a
call Function118b8c
ld a, l
ld [wcd55], a
ld [wcd59], a
ld a, h
ld [wcd56], a
ld [wcd5a], a
call Function118b8c
ld a, l
ld [wcd53], a
ld [wcd5d], a
ld a, h
ld [wcd54], a
ld [wcd5e], a
call Function118b8c
ld a, l
ld [wcd57], a
ld [wcd5b], a
ld a, h
ld [wcd58], a
ld [wcd5c], a
call Function118b8c
ld a, l
ld [wcd5f], a
ld a, h
ld [wcd60], a
ret
; 118b8c
Function118b8c: ; 118b8c
.asm_118b8c
call Function118b9a
ret nc
ld a, [hli]
cp $d
jr nz, .asm_118b8c
dec hl
xor a
ld [hli], a
ld [hli], a
ret
; 118b9a
Function118b9a: ; 118b9a
ld a, h
cp $e0
ret c
ld a, $d3
call Function118805
and a
ret
; 118ba5
charmap " ", $20 ; revert to ascii
ExchangeDownloadURL: ; 0x118ba5
db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0
BattleDownloadURL: ; 0x118bf7
db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/battle/index.txt", 0
NewsDownloadURL: ; 0x118c47
db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/news/index.txt", 0
MenuDownloadURL: ; 0x118c95
db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/POKESTA/menu.cgb", 0
IndexDownloadURL: ; 0x118ce5
db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0
Unreferenced_Function118d35: ; 118d35
ld hl, $d200
ld a, [wcd38]
and a
jr nz, .asm_118d6e
ld a, [hli]
cp $94
jr nz, .asm_118d7b
ld a, [hl]
cp $5
jr nz, .asm_118d7b
ld a, [wcd4f]
sla a
ld b, a
sla a
sla a
add b
ld b, a
ld a, $5
call GetSRAMBank
ld a, b
ld [$b2fb], a
call CloseSRAM
farcall Function170be4
farcall Function1700c4
jr .asm_118d78
.asm_118d6e
ld a, [hli]
cp $96
jr nz, .asm_118d7b
ld a, [hl]
cp $0
jr nz, .asm_118d7b
.asm_118d78
jp BattleTowerRoomMenu_IncrementJumptable
.asm_118d7b
ld a, $d3
jp Function118805
; 118d80
Function118d80: ; 118d80
call Function118e06
ld a, [wcd38]
and a
jr z, .asm_118d8e
call BattleTowerRoomMenu_IncrementJumptable
jr asm_118d9f
.asm_118d8e
ld a, $9
ld [wcd3c], a
ld a, $12
ld [wMobileInactivityTimerSeconds], a
call BattleTowerRoomMenu_IncrementJumptable
Function118d9b:
call BattleTowerRoomMenu2
ret c
asm_118d9f
ld hl, $c608
call Function119940
ld a, [wcd38]
and a
jr nz, .asm_118db2
ld a, $8f
ld [wcd3b], a
jr .asm_118db7
.asm_118db2
ld a, $26
ld [wcd3b], a
.asm_118db7
ld hl, w3_d800
ld a, $8
ld [hli], a
ld a, $c6
ld [hli], a
ld a, [wcd3b]
ld [hli], a
xor a
ld [hli], a
ld a, $8
ld [hli], a
ld a, $c7
ld [hli], a
ld a, [wcd39]
ld [hli], a
ld a, [wcd3a]
ld [hli], a
call Function119eb4
call Function119ec2
ld a, $40
ld [wcd89], a
ld hl, w3_d800
ld de, $de00
ld bc, $0200
ld a, $2c
jp Function119e2b
; 118ded
Function118ded: ; 118ded
ld a, [wcd38]
and a
jr z, .asm_118e03
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
farcall Special_Function11b93b
pop af
ld [rSVBK], a
.asm_118e03
jp BattleTowerRoomMenu_IncrementJumptable
; 118e06
Function118e06: ; 118e06
ld hl, wd002
ld a, [wcd38]
and a
jr z, .asm_118e1d
.asm_118e0f
call Function118b9a
ret nc
ld a, [hli]
cp $d
jr nz, .asm_118e0f
ld a, [hli]
cp $a
jr nz, .asm_118e0f
.asm_118e1d
ld a, l
ld [wcd39], a
ld a, h
ld [wcd3a], a
.asm_118e25
call Function118b9a
ret nc
ld a, [hli]
cp $d
jr nz, .asm_118e25
ld a, [hli]
cp $a
jr nz, .asm_118e25
dec hl
xor a
ld [hld], a
ld [hl], a
jr asm_118e3e
Function118e39: ; 118e39 (46:4e39)
.asm_118e39
ld a, [hli]
and a
jr nz, .asm_118e39
dec hl
asm_118e3e
.asm_118e3e
ld a, [hld]
cp $2f
jr nz, .asm_118e3e
inc hl
inc hl
ld de, wcd85
ld c, $4
.asm_118e4a
ld a, [hli]
cp $2e
jr z, .asm_118e63
cp $30
jr c, .asm_118e67
cp $3a
jr nc, .asm_118e67
sub $30
add $f6
ld [de], a
inc de
dec c
jr nz, .asm_118e4a
ld de, wcd85
.asm_118e63
ld a, $50
ld [de], a
ret
.asm_118e67
ld a, $f3
ld [de], a
inc de
jr .asm_118e63
Function118e6d: ; 118e6d (46:4e6d)
xor a
ld [wcd65], a
ld a, $a
jp Function119e2b
Function118e76: ; 118e76 (46:4e76)
; Call $c in BattleTowerRoomMenu2
ld a, $c
ld [wcd3c], a
jp BattleTowerRoomMenu_IncrementJumptable
Function118e7e: ; 118e7e (46:4e7e)
call BattleTowerRoomMenu2
ret c
ld a, $36
jp Function119e2b
BattleTowerRoomMenu_CallRoomMenu2: ; 118e87 (46:4e87)
call BattleTowerRoomMenu2
ret c
ld a, [wcd33]
ld [wcf66], a
ret
; 118e92 (46:4e92)
Function118e92: ; 118e92
call Function118440
call Function1191d3
ld a, [wcd53]
ld l, a
ld a, [wcd54]
ld h, a
ld de, wcc60
call Function1191ad
ret c
ld de, w3_d800
ld bc, $0800
jp Function118b10
; 118eb0
Function118eb0: ; 118eb0
call Function118440
ld hl, $d802
ld de, BGMapBuffer
ld bc, $000c
call CopyBytes
call Function1192cc
ret c
jp BattleTowerRoomMenu_IncrementJumptable
; 118ec6
Function118ec6: ; 118ec6
call Function118440
call SpeechTextBox
ld hl, $d80e
ld de, $c320
ld bc, $0026
call CopyBytes
xor a
ld [$c31f], a
ld a, $20
ld [$c31b], a
ld a, $c3
ld [$c31c], a
hlcoord 1, 14
ld a, l
ld [$c31d], a
ld a, h
ld [$c31e], a
ld a, $2
ld [$c31a], a
ld a, $1d
ld [wcd3c], a
ld a, $24
ld [wMobileInactivityTimerSeconds], a
ld a, $11
ld [wMobileInactivityTimerFrames], a
ld a, $1c
ld [wcd47], a
jp BattleTowerRoomMenu_IncrementJumptable
; 118f0d
Function118f0d: ; 118f0d
call BattleTowerRoomMenu2
ret c
call Function118440
Function118f14:
call Function118440
ld a, [wcd51]
ld l, a
ld a, [wcd52]
ld h, a
ld de, wcc60
call Function1191ad
ret c
ld a, [wcc60]
and a
jr z, .DontSendSaveFile
ld hl, Text_SaveFileWillBeSent
call BattleTowerRoomMenu_SetMessage
.DontSendSaveFile:
ld a, [wcd57]
ld l, a
ld a, [wcd58]
ld h, a
ld de, wcc60
call Function1191ad
ret c
ld hl, wcc60
call Function118e39
ld a, $9
ld [wcd3c], a
ld a, $24
ld [wMobileInactivityTimerSeconds], a
ld a, $13
ld [wMobileInactivityTimerFrames], a
ld a, $1c
ld [wcd47], a
jp BattleTowerRoomMenu_IncrementJumptable
; 118f5e
Function118f5e: ; 118f5e
call BattleTowerRoomMenu2
ret c
call Function118440
call DelayFrame
Function118f68:
call Function119223
ret c
call Function118440
ld a, [wcd51]
ld l, a
ld a, [wcd52]
ld h, a
ld de, wcc60
call Function1191ad
ret c
ld a, [wcc60]
and a
jr z, .asm_118fba
ld hl, $c346
ld a, LOW($c608)
ld [hli], a
ld a, HIGH($c608)
ld [hli], a
ld a, [wcd4b]
ld [hli], a
ld a, [wcd4c]
ld [hli], a
ld a, LOW($c708)
ld [hli], a
ld a, HIGH($c708)
ld [hli], a
ld a, $60
ld [hli], a
ld a, $cc
ld [hli], a
call Function119eb4
call Function119ec2
ld a, $40
ld [wcd89], a
ld hl, $c346
ld de, $de00
ld bc, $0200
ld a, $2c
jp Function119e2b
.asm_118fba
call BattleTowerRoomMenu_IncrementJumptable
jp BattleTowerRoomMenu_IncrementJumptable
; 118fc0
Function118fc0: ; 118fc0
call Function118440
ld a, [wcd55]
ld l, a
ld a, [wcd56]
ld h, a
ld de, wcc60
call Function1191ad
ret c
ld a, [wcc60]
and a
jr z, .asm_118ffa
ld a, [wcd51]
ld l, a
ld a, [wcd52]
ld h, a
ld de, wcc60
call Function1191ad
ret c
ld a, [wcc60]
and a
jr z, .asm_118ff2
ld hl, Text_SentSaveFileReadingNews
jr .asm_118ff5
.asm_118ff2
ld hl, Text_ReadingNews
.asm_118ff5
call BattleTowerRoomMenu_SetMessage
jr Function119009
.asm_118ffa
ld hl, Text_ReadingNews
call BattleTowerRoomMenu_SetMessage
call BattleTowerRoomMenu_IncrementJumptable
call BattleTowerRoomMenu_IncrementJumptable
jp BattleTowerRoomMenu_IncrementJumptable
Function119009:
call Function118440
call Function119300
ld a, [wcd55]
ld l, a
ld a, [wcd56]
ld h, a
ld de, wcc60
call Function1191ad
ret c
ld hl, $c346
ld a, $8
ld [hli], a
ld a, $c6
ld [hli], a
ld a, [wcd4b]
ld [hli], a
ld a, [wcd4c]
ld [hli], a
ld a, $8
ld [hli], a
ld a, $c7
ld [hli], a
ld a, $60
ld [hli], a
ld a, $cc
ld [hli], a
call Function119eb4
call Function119ec2
ld a, $40
ld [wcd89], a
ld hl, $c346
ld de, w3_d000
ld bc, $1000
ld a, $2c
jp Function119e2b
; 119054
Function119054: ; 119054
ld a, $6
call GetSRAMBank
ld hl, wd002
ld a, [wcd4f]
ld e, a
ld a, [wcd50]
ld d, a
ld a, [w3_d000]
ld c, a
ld a, [w3_d000 + 1]
ld b, a
call Function119192
ret c
ld a, [wcd89]
and $1
jr z, .asm_11908a
ld a, $6
ld [rSVBK], a
ld hl, wd002
ld a, [w3_d000]
ld c, a
ld a, [w3_d000 + 1]
ld b, a
call Function119192
ret c
.asm_11908a
call CloseSRAM
ld a, $3
ld [rSVBK], a
ld a, $5
call GetSRAMBank
ld a, [wcd4f]
ld [$b1b3], a
ld a, [wcd50]
ld [$b1b4], a
ld hl, BGMapBuffer
ld de, $aa7f
ld bc, $000c
call CopyBytes
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
ld a, [wd474]
ld [$b2f3], a
ld hl, wd475
ld de, $b2f4
ld bc, $0004
call CopyBytes
pop af
ld [rSVBK], a
call CloseSRAM
jp BattleTowerRoomMenu_IncrementJumptable
; 1190d0
Function1190d0: ; 1190d0
ld a, $3
ld [rSVBK], a
ld a, [wcd57]
ld l, a
ld a, [wcd58]
ld h, a
ld de, wcc60
call Function1191ad
ret c
ld de, w3_d000
ld bc, $1000
jp Function118b10
; 1190ec
Function1190ec: ; 1190ec
ld a, $5
call GetSRAMBank
ld hl, BGMapBuffer
ld de, $aa73
ld bc, $000c
call CopyBytes
call CloseSRAM
ld a, $5
call GetSRAMBank
ld a, $1
ld [$aa72], a
call CloseSRAM
ld a, $6
call GetSRAMBank
ld a, [w3_d000]
ld c, a
ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
ld de, $a000
call Function119192
ret c
ld a, [wcd89]
and $1
jr z, .asm_11913e
ld a, $6
ld [rSVBK], a
ld a, [w3_d000]
ld c, a
ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
call Function119192
ret c
.asm_11913e
ld a, $3
ld [rSVBK], a
call CloseSRAM
ld hl, Text_ReceivedNews
call BattleTowerRoomMenu_SetMessage
jp BattleTowerRoomMenu_IncrementJumptable
; 11914e
Function11914e: ; 11914e
call BattleTowerRoomMenu2
ret c
ld a, $1c
ld [wcf66], a
ld a, $a
ld [wc300], a
ret
; 11915d
Function11915d: ; 11915d
ld hl, $d802
ld de, BGMapBuffer
ld bc, $000c
call CopyBytes
ld a, $5
call GetSRAMBank
ld hl, BGMapBuffer
ld de, $aa7f
ld c, $c
.asm_119176
ld a, [de]
inc de
cp [hl]
jr nz, .asm_119184
inc hl
dec c
jr nz, .asm_119176
call BattleTowerRoomMenu_IncrementJumptable
jr .asm_11918e
.asm_119184
ld a, $16
ld [wcf66], a
ld a, $b
ld [wc300], a
.asm_11918e
call CloseSRAM
ret
; 119192
Function119192: ; 119192
inc b
inc c
jr .asm_11919e
.asm_119196
ld a, [hli]
ld [de], a
inc de
ld a, $bf
cp d
jr c, .asm_1191a6
.asm_11919e
dec c
jr nz, .asm_119196
dec b
jr nz, .asm_119196
and a
ret
.asm_1191a6
ld a, $d3
call Function118805
scf
ret
; 1191ad
Function1191ad: ; 1191ad
push bc
ld c, $0
ld a, $5
ld [rSVBK], a
.asm_1191b4
ld a, [hli]
ld [de], a
inc de
and a
jr z, .asm_1191cc
inc c
ld a, c
cp $a6
jr c, .asm_1191b4
ld a, $da
call Function118805
ld a, $3
ld [rSVBK], a
pop bc
scf
ret
.asm_1191cc
ld a, $3
ld [rSVBK], a
pop bc
and a
ret
; 1191d3
Function1191d3: ; 1191d3
ld hl, w3_d100 + 2
ld a, l
ld [wcd53], a
ld a, h
ld [wcd54], a
call Function11920f
ld a, l
ld [wcd51], a
ld a, [wcd4a]
ld a, h
ld [wcd52], a
call Function11920f
ld a, l
ld [wcd55], a
ld a, [wcd4a]
ld a, h
ld [wcd56], a
call Function11920f
ld a, [wcd49]
ld a, l
ld [wcd57], a
ld a, [wcd4a]
ld a, h
ld [wcd58], a
call Function11920f
ret
; 11920f
Function11920f: ; 11920f
.asm_11920f
call Function118b9a
ret nc
ld a, [hli]
cp $d
jr nz, .asm_11920f
ld a, [hli]
cp $a
jr nz, .asm_11920f
dec hl
xor a
ld [hld], a
ld [hli], a
inc hl
ret
; 119223
Function119223: ; 119223
xor a
ld [wcd4b], a
ld [wcd4c], a
ld a, $5
call GetSRAMBank
ld hl, wc3cd
ld de, $b092
ld bc, $001f
call CopyBytes
dec de
xor a
ld [de], a
ld hl, $d810
.asm_119241
ld a, [hli]
cp $50
jr nz, .asm_119241
ld a, [hli]
ld [wcd4f], a
ld a, [hli]
ld [wcd50], a
ld a, [hli]
ld [$b1b1], a
ld c, a
ld a, [hli]
ld [$b1b2], a
ld b, a
ld de, $b1d3
call CopyBytes
call CloseSRAM
ld e, l
ld d, h
ld hl, $c608
.asm_119266
ld a, [de]
inc de
cp $ff
jr z, .asm_1192c2
cp $fe
jr z, .asm_1192a5
call GetSRAMBank
ld a, [de]
inc de
ld c, a
ld a, [de]
inc de
ld b, a
ld a, [de]
inc de
push de
push af
ld a, [wcd4b]
ld e, a
ld a, [wcd4c]
ld d, a
pop af
.asm_119286
push af
ld a, [bc]
inc bc
ld [hli], a
inc de
pop af
dec a
jr nz, .asm_119286
call CloseSRAM
ld a, e
ld [wcd4b], a
ld a, d
ld [wcd4c], a
pop de
.asm_11929b
and a
jr z, .asm_119266
ld a, $d3
call Function118805
scf
ret
.asm_1192a5
ld a, [wcd4b]
ld c, a
ld a, [wcd4c]
ld b, a
ld a, [de]
inc de
.asm_1192af
push af
ld a, [de]
inc de
ld [hli], a
inc bc
pop af
dec a
jr nz, .asm_1192af
ld a, c
ld [wcd4b], a
ld a, b
ld [wcd4c], a
jr .asm_11929b
.asm_1192c2
ld a, e
ld [wcd4d], a
ld a, d
ld [wcd4e], a
and a
ret
; 1192cc
Function1192cc: ; 1192cc
ld a, $5
call GetSRAMBank
ld hl, $aa73
ld de, $c608
ld bc, $000c
call CopyBytes
call CloseSRAM
ld hl, $c608
ld de, BGMapBuffer
ld c, $c
.asm_1192e8
ld a, [de]
inc de
ld b, a
ld a, [hli]
cp b
jr nz, .asm_1192fe
dec c
jr nz, .asm_1192e8
ld a, $1f
ld [wcd3c], a
ld a, $27
ld [wcf66], a
scf
ret
.asm_1192fe
and a
ret
; 119300
Function119300: ; 119300
xor a
ld [wcd4b], a
ld [wcd4c], a
ld a, [wcd4d]
ld e, a
ld a, [wcd4e]
ld d, a
ld hl, $c608
ld a, [wcd4b]
ld c, a
ld a, [wcd4c]
ld b, a
.asm_11931a
ld a, [de]
inc de
cp $50
jr z, .asm_119324
ld [hli], a
inc bc
jr .asm_11931a
.asm_119324
ld a, $3d
ld [hli], a
inc bc
ld a, c
ld [wcd4b], a
ld a, b
ld [wcd4c], a
ld a, [de]
inc de
call GetSRAMBank
ld a, [de]
inc de
ld c, a
ld a, [de]
inc de
ld b, a
ld a, [de]
inc de
push de
push af
ld a, [wcd4b]
ld e, a
ld a, [wcd4c]
ld d, a
pop af
.asm_119348
push af
ld a, [bc]
and $f0
swap a
call Function1197bf
ld [hli], a
inc de
ld a, [bc]
inc bc
and $f
call Function1197bf
ld [hli], a
inc de
pop af
dec a
jr nz, .asm_119348
call CloseSRAM
ld a, e
ld [wcd4b], a
ld a, d
ld [wcd4c], a
pop de
ld a, [de]
cp $50
jr z, .asm_11937f
ld a, [wcd4b]
ld c, a
ld a, [wcd4c]
ld b, a
ld a, $26
ld [hli], a
inc bc
jr .asm_11931a
.asm_11937f
ret
; 119380
Function119380: ; 119380
ld a, $80
ld [wcd49], a
jp BattleTowerRoomMenu_IncrementJumptable
; 119388
Function119388: ; 119388
ld hl, wcd49
dec [hl]
ret nz
ld hl, wcc60
call Function118e39
ld a, $9
ld [wcd3c], a
ld a, $10
ld [wMobileInactivityTimerSeconds], a
call BattleTowerRoomMenu_IncrementJumptable
Function1193a0:
call BattleTowerRoomMenu2
ret c
call DelayFrame
ld a, $8
ld [wcd3c], a
call BattleTowerRoomMenu2
ld hl, $c346
ld a, LOW($d000)
ld [hli], a
ld a, HIGH($d000)
ld [hli], a
ld a, [wcd3b]
ld [hli], a
xor a
ld [hli], a
ld a, LOW($c708)
ld [hli], a
ld a, HIGH($c708)
ld [hli], a
ld a, $60
ld [hli], a
ld a, $cc
ld [hli], a
call Function119eb4
call Function119ec2
ld a, $40
ld [wcd89], a
ld hl, $c346
ld de, $de00
ld bc, $0200
ld a, $2c
jp Function119e2b
; 1193e3
Function1193e3: ; 1193e3
ld hl, wcd49
dec [hl]
ret nz
ld hl, wcc60
call Function118e39
ld a, $9
ld [wcd3c], a
ld a, $11
ld [wMobileInactivityTimerSeconds], a
call BattleTowerRoomMenu_IncrementJumptable
Function1193fb:
call BattleTowerRoomMenu2
ret c
call DelayFrame
ld a, $8
ld [wcd3c], a
call BattleTowerRoomMenu2
ld de, w3_d000
ld bc, $1000
jp Function118b10
; 119413
Function119413: ; 119413
ld a, $6
call GetSRAMBank
ld a, [w3_d000]
ld c, a
ld a, [w3_d000 + 1]
ld b, a
dec bc
dec bc
ld hl, wd002
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
call Function119192
ret c
ld a, [wcd89]
and $1
jr z, .asm_119447
ld a, $6
ld [rSVBK], a
ld a, [w3_d000]
ld c, a
ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
call Function119192
ret c
.asm_119447
ld a, $3
ld [rSVBK], a
call CloseSRAM
jp BattleTowerRoomMenu_IncrementJumptable
; 119451
Function119451: ; 119451 (46:5451)
ld a, [wcd89]
and $1
jr z, .asm_11945d
ld a, $d3
jp Function118805
.asm_11945d
xor a
ld [wcd50], a
call Function119694
ld a, b
ld [wcd49], a
call Function1196cd
ld a, [wd002]
ld hl, wd003
Function119471: ; 119471 (46:5471)
push af
ld a, [hli]
ld [$c608], a
ld a, [hli]
ld [$c608 + 3], a
ld a, [hli]
ld [$c608 + 1], a
ld a, [hli]
ld [$c608 + 2], a
ld a, [hli]
ld [$c608 + 4], a
ld a, [hli]
ld [$c608 + 5], a ; $c608 + 5
push hl
ld a, [$c608]
cp $ff
jr z, .asm_1194a7
ld a, [$c608 + 2]
cp $ff
jr z, .asm_1194a7
ld a, [$c608 + 1]
cp $ff
jr nz, .asm_1194a7
call Function119584
jr c, .asm_11950c
jr .asm_1194f0
.asm_1194a7
ld hl, $c608
ld de, $c608 + 3
ld c, $3
.asm_1194af
ld a, [de]
inc de
cp [hl]
inc hl
jr c, .asm_1194f3
jr z, .asm_1194b9
jr nc, .asm_1194bc
.asm_1194b9
dec c
jr nz, .asm_1194af
.asm_1194bc
ld c, $3
ld hl, wcd49
ld de, $c608
.asm_1194c4
ld a, [de]
inc de
cp $ff
jr z, .asm_1194d1
cp [hl]
jr z, .asm_1194d1
jr c, .asm_1194d5
jr nc, .asm_1194f0
.asm_1194d1
inc hl
dec c
jr nz, .asm_1194c4
.asm_1194d5
ld c, $3
ld hl, wcd49
ld de, $c608 + 3
.asm_1194dd
ld a, [de]
inc de
cp $ff
jr z, .asm_1194ea
cp [hl]
jr c, .asm_1194f0
jr z, .asm_1194ea
jr nc, .asm_11950c
.asm_1194ea
inc hl
dec c
jr nz, .asm_1194dd
jr .asm_11950c
.asm_1194f0
pop hl
jr .asm_119557
.asm_1194f3
ld c, $3
ld hl, wcd49
ld de, $c608
.asm_1194fb
ld a, [de]
inc de
cp $ff
jr z, .asm_119508
cp [hl]
jr c, .asm_11950c
jr z, .asm_119508
jr nc, .asm_1194d5
.asm_119508
inc hl
dec c
jr nz, .asm_1194fb
.asm_11950c
pop hl
ld a, $1
ld [wcd50], a
ld a, l
ld [$c608], a
ld a, h
ld [$c608 + 1], a
ld de, wcd69
ld c, $10
ld b, $0
.asm_119521
ld a, [de]
inc de
cp [hl]
inc hl
jr nz, .asm_119528
inc b
.asm_119528
dec c
jr nz, .asm_119521
ld a, $10
cp b
jr z, .asm_119536
rept 4
inc hl
endr
jr .asm_11957a
.asm_119536
ld a, [hli]
cp $50
jr nz, .asm_119552
ld a, [hli]
cp $33
jr nz, .asm_119553
ld a, [hli]
ld c, a
ld a, [hli]
ld b, a
ld a, [wcd83]
cp c
jr nz, .asm_119576
ld a, [wcd84]
cp b
jr nz, .asm_119576
jr .asm_11955b
.asm_119552
inc hl
.asm_119553
inc hl
inc hl
jr .asm_11955b
.asm_119557
ld de, $14
add hl, de
.asm_11955b
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
add hl, de
pop af
dec a
jp nz, Function119471
ld a, [wcd50]
and a
jr z, .asm_119571
ld a, $1a
ld [wcf66], a
ret
.asm_119571
ld a, $d8
jp Function118805
.asm_119576
ld a, $10
jr .asm_11957c
.asm_11957a
ld a, $f
.asm_11957c
ld [wcf66], a
pop af
call Function1195c4
ret
Function119584: ; 119584 (46:5584)
ld a, [$c608]
ld b, a
ld a, [$c608 + 3]
ld c, a
cp b
jr c, .asm_11959c
ld a, [wcd49]
cp b
jr c, .asm_1195c2
.asm_119595
cp c
jr c, .asm_1195a2
jr z, .asm_1195a2
jr .asm_1195c2
.asm_11959c
ld a, [wcd49]
cp b
jr c, .asm_119595
.asm_1195a2
ld a, [$c608 + 2]
ld b, a
ld a, [$c608 + 5] ; $c608 + 5
ld c, a
cp b
jr c, .asm_1195ba
ld a, [wcd4b]
cp b
jr c, .asm_1195c2
.asm_1195b3
cp c
jr c, .asm_1195c0
jr z, .asm_1195c0
jr .asm_1195c2
.asm_1195ba
ld a, [wcd4b]
cp b
jr c, .asm_1195b3
.asm_1195c0
scf
ret
.asm_1195c2
and a
ret
Function1195c4: ; 1195c4 (46:55c4)
ld a, [hli]
ld c, a
ld a, [hli]
ld b, a
ld de, $a5
ld a, b
cp d
jr c, .asm_1195d9
jr z, .asm_1195d3
jr nc, .asm_1195f3
.asm_1195d3
ld a, c
cp e
jr z, .asm_1195d9
jr nc, .asm_1195f3
.asm_1195d9
ld de, wcc60
call CopyBytes
xor a
ld [de], a
ld a, [$c608]
ld l, a
ld a, [$c608 + 1]
ld h, a
ld de, wcd69
ld bc, $10
call CopyBytes
ret
.asm_1195f3
ld a, $d8
jp Function118805
Function1195f8: ; 1195f8 (46:55f8)
ld a, $11
ld [wcd3c], a
ld a, $1c
ld [wMobileInactivityTimerSeconds], a
ld a, $f
ld [wMobileInactivityTimerFrames], a
ld a, $14
ld [wcd47], a
call BattleTowerRoomMenu_IncrementJumptable
jp BattleTowerRoomMenu_IncrementJumptable
Function119612: ; 119612 (46:5612)
ld a, $14
ld [wcd3c], a
ld a, $1c
ld [wMobileInactivityTimerSeconds], a
ld a, $10
ld [wMobileInactivityTimerFrames], a
ld a, $14
ld [wcd47], a
jp BattleTowerRoomMenu_IncrementJumptable
Function119629: ; 119629 (46:5629)
call BattleTowerRoomMenu2
ret c
ld a, $60
ld l, a
ld a, $cc
ld h, a
call Function118e39
ld a, $9
ld [wcd3c], a
ld a, $1c
ld [wMobileInactivityTimerSeconds], a
ld a, $14
ld [wcd47], a
call BattleTowerRoomMenu_IncrementJumptable
Function119648: ; 119648 (46:5648)
call BattleTowerRoomMenu2
ret c
call DelayFrame
ld a, $8
ld [wcd3c], a
call BattleTowerRoomMenu2
call Function118b24
ld de, w3_d000
ld bc, $1000
ld a, $2a
jp Function119e2b
Function119665: ; 119665 (46:5665)
ld a, $1a
ld [wcd3c], a
call BattleTowerRoomMenu_IncrementJumptable
Function11966d: ; 11966d (46:566d)
call BattleTowerRoomMenu2
ret c
ld a, [wcd47]
ld [wcf66], a
ld a, $a
ld [wc300], a
ret
Function11967d: ; 11967d (46:567d)
ld a, $18
ld [wcd3c], a
call BattleTowerRoomMenu_IncrementJumptable
Function119685: ; 119685 (46:5685)
call BattleTowerRoomMenu2
ret c
ld a, $14
ld [wcf66], a
ld a, $a
ld [wc300], a
ret
Function119694: ; 119694 (46:5694)
ld b, 0
ld hl, Unknown_1196b8
.asm_119699
ld de, $c708
ld a, [de]
inc de
cp [hl]
inc hl
jr nz, .asm_1196af
ld a, [de]
inc de
cp [hl]
inc hl
jr nz, .asm_1196b0
ld a, [de]
inc de
cp [hl]
inc hl
jr nz, .asm_1196b1
ret
.asm_1196af
inc hl
.asm_1196b0
inc hl
.asm_1196b1
inc b
ld a, b
cp $7
jr nz, .asm_119699
ret
; 1196b8 (46:56b8)
Unknown_1196b8: ; 1196b8
db "Mon"
db "Tue"
db "Wed"
db "Thu"
db "Fri"
db "Sat"
db "Sun"
; 1196cd
SECTION "Mobile 46 ASCII", ROMX
; A hack to use ascii above.
Function1196cd: ; 1196cd (46:56cd)
ld de, $c719
call Function1196de
ld [wcd4a], a
inc de
call Function1196de
ld [wcd4b], a
ret
Function1196de: ; 1196de (46:56de)
ld a, [de]
inc de
; b = ([de] - 48) * 2
; c = ([de] - 48) * 10
sub $30
sla a
ld b, a
sla a
sla a
add b
ld c, a
add hl, bc
ld a, [de]
inc de
sub $30
add c
ret
; 1196f2 (46:56f2)
Function1196f2: ; 1196f2
ld hl, wd002
.asm_1196f5
call Function118b9a
ret nc
ld a, [hli]
cp $d
jr nz, .asm_1196f5
ld a, [hl]
cp $a
jr nz, .asm_1196f5
xor a
ld [hld], a
ld [hli], a
ld a, l
ld [wcd5b], a
ld a, h
ld [wcd5c], a
inc hl
ld e, l
ld d, h
ld a, [de]
inc de
cp $d
jr nz, .asm_119722
ld a, [de]
inc de
cp $a
jr nz, .asm_119722
ld a, $b
jp Function118805
.asm_119722
call Random
ld c, $0
ld b, c
.asm_119728
call Function119798
ld a, d
cp $ff
jr nz, .asm_119735
ld a, e
cp $ff
jr z, .asm_11974c
.asm_119735
ld a, [hRandomSub]
cp d
jr c, .asm_11974c
jr z, .asm_11973e
jr .asm_119745
.asm_11973e
ld a, [hRandomAdd]
cp e
jr c, .asm_11974c
jr z, .asm_11974c
.asm_119745
inc bc
ld a, c
or b
jr z, .asm_119770
jr .asm_119728
.asm_11974c
ld a, [wcd5b]
ld l, a
ld a, [wcd5c]
ld h, a
.asm_119754
ld a, [hld]
cp $58
jr nz, .asm_119754
ld d, $0
.asm_11975b
inc d
ld a, [hld]
cp $58
jr z, .asm_11975b
inc hl
inc hl
ld a, d
dec a
jr z, .asm_11978e
dec a
jr z, .asm_119785
dec a
jr z, .asm_11977e
dec a
jr z, .asm_119775
.asm_119770
ld a, $d3
jp Function118805
.asm_119775
ld a, b
and $f0
swap a
call Function1197bf
ld [hli], a
.asm_11977e
ld a, b
and $f
call Function1197bf
ld [hli], a
.asm_119785
ld a, c
and $f0
swap a
call Function1197bf
ld [hli], a
.asm_11978e
ld a, c
and $f
call Function1197bf
ld [hli], a
jp BattleTowerRoomMenu_IncrementJumptable
; 119798
Function119798: ; 119798
ld d, $0
ld e, d
call Function1197b4
swap a
or d
ld d, a
call Function1197b4
or d
ld d, a
call Function1197b4
swap a
or e
ld e, a
call Function1197b4
or e
ld e, a
ret
; 1197b4
Function1197b4: ; 1197b4
ld a, [hli]
cp $61
jr nc, .asm_1197bc
sub $30
ret
.asm_1197bc
sub $57
ret
; 1197bf
Function1197bf: ; 1197bf
cp $a
jr nc, .asm_1197c6
add $30
ret
.asm_1197c6
add $57
ret
; 1197c9
Function1197c9: ; 1197c9
ld hl, wd002
call Function118e39
ld a, $9
ld [wcd3c], a
ld a, $12
ld [wMobileInactivityTimerSeconds], a
call BattleTowerRoomMenu_IncrementJumptable
Function1197dc:
call BattleTowerRoomMenu2
ret c
call DelayFrame
ld hl, wd002
ld de, wcc60
ld bc, $0080
call CopyBytes
dec de
xor a
ld [de], a
call Function118b24
ld de, w3_d000
ld bc, $1000
ld a, $2a
jp Function119e2b
; 119800
Function119800: ; 119800
ld a, $fd
ld [$c6d0], a
ld [wOTTrademonSpecies], a
ld a, [wcd81]
ld [wc74e], a
ld a, [wJumptableIndex]
push af
ld a, [wcf64]
push af
ld a, [wcf65]
push af
ld a, [wcf66]
push af
ld a, $1
ld [rSVBK], a
call FadeToMenu
farcall Function10803d
call Function11a9ce
call RestartMapMusic
ld a, $3
ld [rSVBK], a
pop af
ld [wcf66], a
pop af
ld [wcf65], a
pop af
ld [wcf64], a
pop af
ld [wJumptableIndex], a
farcall Function115dc3
jp BattleTowerRoomMenu_IncrementJumptable
; 11984e
Function11984e: ; 11984e
ld a, [wcd80]
and a
jr nz, .asm_1198a0
ld a, [wcd38]
and a
jr nz, .asm_1198a8
farcall Function170000
ld a, [wJumptableIndex]
push af
ld a, [wcf64]
push af
ld a, [wcf65]
push af
ld a, [wcf66]
push af
ld a, $1
ld [rSVBK], a
call FadeToMenu
farcall MobileTradeAnimation_SendGivemonToGTS
call Function11a9ce
call RestartMapMusic
ld a, $3
ld [rSVBK], a
pop af
ld [wcf66], a
pop af
ld [wcf65], a
pop af
ld [wcf64], a
pop af
ld [wJumptableIndex], a
farcall Function115dc3
jp BattleTowerRoomMenu_IncrementJumptable
.asm_1198a0
ld a, $a
ld [wc300], a
jp BattleTowerRoomMenu_IncrementJumptable
.asm_1198a8
farcall Function17005a
ld a, [wJumptableIndex]
push af
ld a, [wcf64]
push af
ld a, [wcf65]
push af
ld a, [wcf66]
push af
ld a, $1
ld [rSVBK], a
call FadeToMenu
farcall MobileTradeAnimation_RetrieveGivemonFromGTS
call Function11a9ce
call RestartMapMusic
ld a, $3
ld [rSVBK], a
pop af
ld [wcf66], a
pop af
ld [wcf65], a
pop af
ld [wcf64], a
pop af
ld [wJumptableIndex], a
farcall Function115dc3
jp BattleTowerRoomMenu_IncrementJumptable
; 1198ee
Function1198ee: ; 1198ee
ld hl, Text_RegisteringRecord
call BattleTowerRoomMenu_SetMessage
call BattleTowerRoomMenu_IncrementJumptable
Function1198f7:
ld a, [$c31a]
and a
ret nz
ld hl, $c608 + 2
call Function119940
ld hl, w3_d800
ld a, LOW($c608)
ld [hli], a
ld a, HIGH($c608)
ld [hli], a
ld a, $f6
ld [hli], a
xor a
ld [hli], a
ld a, LOW($c708)
ld [hli], a
ld a, HIGH($c708)
ld [hli], a
ld a, [wcd51]
ld [hli], a
ld a, [wcd52]
ld [hli], a
call Function119eb4
call Function119ec2
ld a, $40
ld [wcd89], a
ld hl, w3_d800
ld de, $de00
ld bc, $0200
ld a, $2c
jp Function119e2b
; 119937
Function119937: ; 119937
farcall Function1707f4
jp BattleTowerRoomMenu_IncrementJumptable
; 119940
Function119940: ; 119940
ld de, wc3cd
ld c, $1e
.asm_119945
ld a, [de]
inc de
ld [hli], a
dec c
jr z, .asm_119953
and a
jr nz, .asm_119945
xor a
.asm_11994f
ld [hli], a
dec c
jr nz, .asm_11994f
.asm_119953
ret
; 119954
Function119954: ; 119954
ld a, $1c
ld [wcd3c], a
call BattleTowerRoomMenu2
ld hl, $c608
ld de, wc3cd
.asm_119962
ld a, [de]
inc de
ld [hli], a
and a
jr nz, .asm_119962
call Function119ec2
ld hl, $c608
ld a, $1e
jp Function119e2b
; 119973
Function119973: ; 119973
ld a, $1
ld [wcf64], a
xor a
ld [wcf65], a
ld [w3_d090], a
ld de, w3_d000
ld a, $20
jp Function119e2b
; 119987
Function119987: ; 119987
ld hl, w3_d000 + 1
ld a, [w3_d000]
or [hl]
jr z, .asm_1199a0
ld a, [wcf64]
ld l, a
ld a, [wcf65]
ld h, a
ld de, wBGPals2
ld a, $22
jp Function119e2b
.asm_1199a0
ld a, [w3_d090]
and a
jr z, .asm_1199ae
ld a, $16
ld [wcf66], a
jp Function119b0d
.asm_1199ae
ld a, $1b
ld [wcf66], a
ret
; 1199b4
Function1199b4: ; 1199b4
ld a, [w3_d081+1]
and a
jr nz, .asm_1199c7
ld a, [w3_d081]
cp $7
jr nc, .asm_1199c7
call BattleTowerRoomMenu_IncrementJumptable
jp Function1199ca
.asm_1199c7
jp Function119ac9
; 1199ca
Function1199ca: ; 1199ca
ld a, $20
ld [wcd89], a
ld a, [wcf64]
ld l, a
ld a, [wcf65]
ld h, a
ld de, w3_d100
ld bc, $0700
ld a, $28
jp Function119e2b
; 1199e2
Function1199e2: ; 1199e2
ld c, $c
ld de, XGameCodePrefix
call Function119e4f
jp c, Function119ac9
ld a, c
cp $1
jp nz, Function119ac9
ld hl, w3_d880
ld bc, XGameCode
.loop
ld a, [bc]
and a
jr z, .game_result_prefix
cp [hl]
jp nz, Function119ac9
inc bc
inc hl
jr .loop
.game_result_prefix
ld c, $17
ld de, XGameResultPrefix
call Function119e4f
jp c, .asm_119aa7
ld a, c
cp $1
jp nz, .asm_119aa7
ld a, [w3_d880]
cp $31
jp nz, .asm_119aa7
ld a, [w3_d881]
cp $20
jp nz, .asm_119aa7
ld a, [w3_d88a]
cp $20
jp nz, .asm_119aa7
ld a, [w3_d894]
cp $20
jp nz, .asm_119aa7
xor a
ld [w3_d8a0], a
ld [w3_d8a1], a
ld [w3_d8a2], a
ld [w3_d8a3], a
ld hl, w3_d8a0
ld bc, $d889
call Function119e98
call Function119e98
ld hl, w3_d8a0
ld a, [wcd2d]
cp [hl]
jr nz, Function119ac9
inc hl
ld a, [wcd2c]
cp [hl]
jr nz, Function119ac9
inc hl
ld a, [wcd2b]
cp [hl]
jr nz, Function119ac9
inc hl
ld a, [wcd2a]
cp [hl]
jr nz, Function119ac9
xor a
ld [w3_d8a0], a
ld [w3_d8a1], a
ld [w3_d8a2], a
ld [w3_d8a3], a
ld hl, w3_d8a0
ld bc, $d88e
call Function119e98
ld bc, $d893
call Function119e98
ld hl, w3_d8a0
ld a, [wcd2f]
cp [hl]
jr nz, .asm_119aa7
inc hl
ld a, [wcd2e]
cp [hl]
jr nz, .asm_119aa7
inc hl
ld a, [wcd31]
cp [hl]
jr nz, .asm_119aa7
inc hl
ld a, [wcd30]
cp [hl]
jr z, .asm_119aaf
.asm_119aa7
ld a, $25
ld [wcf66], a
jp Function119b45
.asm_119aaf
ld a, [w3_d090]
and a
jr nz, .asm_119aa7
ld a, [w3_d895]
sub $30
ld [w3_d090], a
ld a, [wcf64]
ld [w3_d090 + 1], a
ld a, [wcf65]
ld [w3_d090 + 2], a
Function119ac9:
ld a, [w3_d000]
ld l, a
ld a, [w3_d000 + 1]
ld h, a
dec hl
ld a, l
ld [w3_d000], a
ld a, h
ld [w3_d000 + 1], a
ld a, [wcf64]
ld l, a
ld a, [wcf65]
ld h, a
inc hl
ld a, l
ld [wcf64], a
ld a, h
ld [wcf65], a
ld a, $10
ld [wcf66], a
ret
; 119af1
XGameCode:
INCBIN "data/mobile/x-game-code.txt"
XGameResult:
INCBIN "data/mobile/x-game-result.txt"
; 119b0d
Function119b0d: ; 119b0d
ld a, $8
ld [wcd3c], a
call BattleTowerRoomMenu2
ld a, [w3_d090]
cp $1
jr z, .asm_119b23
ld a, $19
ld [wcf66], a
jr Function119b3b
.asm_119b23
ld a, $10
ld [wcd89], a
ld a, [w3_d090 + 1]
ld l, a
ld a, [w3_d090 + 2]
ld h, a
ld de, w3_d100
ld bc, $0700
ld a, $24
jp Function119e2b
Function119b3b:
ld a, [w3_d090 + 1]
ld l, a
ld a, [w3_d090 + 2]
ld h, a
jr asm_119b4d
Function119b45:
ld a, [wcf64]
ld l, a
ld a, [wcf65]
ld h, a
asm_119b4d
ld a, $26
jp Function119e2b
; 119b52
Function119b52: ; 119b52
ld a, [w3_d090]
cp $1
jr nz, .asm_119b66
ld a, $5
call GetSRAMBank
ld a, $4
ld [$a800], a
call CloseSRAM
.asm_119b66
ld a, $1c
jp Function119e2b
; 119b6b
Function119b6b: ; 119b6b
ld a, [w3_d090]
cp $1
jr z, .asm_119b75
jp BattleTowerRoomMenu_IncrementJumptable
.asm_119b75
ld a, [w3_d100]
ld b, a
ld a, [w3_d100 + 1]
or b
jr z, .asm_119be3
ld hl, w3_d800
ld de, w3_d100 + 2
.asm_119b85
ld a, [de]
inc de
cp $d
jr nz, .asm_119b85
inc de
ld a, [de]
cp $d
jr nz, .asm_119b85
inc de
inc de
.asm_119b93
ld a, [de]
inc de
cp $d
jr z, .asm_119bfa
call Function119c3e
ret c
ld [hli], a
ld a, [de]
inc de
call Function119c3e
ret c
ld [hli], a
ld a, [de]
inc de
call Function119c3e
ret c
ld [hli], a
ld a, [de]
inc de
call Function119c3e
ret c
ld [hl], a
push de
ld d, [hl]
dec hl
ld c, [hl]
dec hl
ld b, [hl]
dec hl
ld a, [hl]
sla b
sla b
sla b
rla
sla b
rla
ld [hli], a
ld [hl], b
inc hl
rrc c
rrc c
ld [hl], c
dec hl
ld a, $f
and c
or [hl]
ld [hli], a
ld a, [hli]
and $c0
or [hl]
dec hl
ld [hld], a
dec hl
pop de
inc hl
inc hl
inc hl
ld a, h
cp $e0
jr c, .asm_119b93
.asm_119be3
ld a, $19
ld [wcf66], a
ld a, $5
call GetSRAMBank
ld a, $1
ld [$a800], a
call CloseSRAM
xor a
ld [w3_d090], a
ret
.asm_119bfa
inc de
ld a, [de]
cp $d
jr nz, .asm_119b93
ld a, l
cp LOW(w3_d869)
jr nz, .asm_119be3
ld a, h
cp HIGH(w3_d869)
jr nz, .asm_119be3
ld a, $5
call GetSRAMBank
ld a, [wcf64]
ld [$b090], a
ld a, [wcf65]
ld [$b091], a
ld hl, w3_d800
ld de, $b023
ld bc, $0069
call CopyBytes
ld a, $3
ld [$a800], a
call CloseSRAM
ld hl, w3_d800
ld de, $c608
ld bc, $0069
call CopyBytes
jp BattleTowerRoomMenu_IncrementJumptable
; 119c3e
Function119c3e: ; 119c3e
cp $2b
jr c, .asm_119c68
jr z, .asm_119c80
cp $2f
jr c, .asm_119c68
jr z, .asm_119c84
cp $30
jr c, .asm_119c68
cp $3a
jr c, .asm_119c88
cp $3d
jr c, .asm_119c68
jr z, .asm_119c8c
cp $41
jr c, .asm_119c68
cp $5b
jr c, .asm_119c8f
cp $61
jr c, .asm_119c68
cp $7b
jr c, .asm_119c93
.asm_119c68
ld a, $19
ld [wcf66], a
ld a, $5
call GetSRAMBank
ld a, $1
ld [$a800], a
call CloseSRAM
xor a
ld [w3_d090], a
scf
ret
.asm_119c80
ld a, $3e
and a
ret
.asm_119c84
ld a, $3f
and a
ret
.asm_119c88
add $4
and a
ret
.asm_119c8c
xor a
and a
ret
.asm_119c8f
sub $41
and a
ret
.asm_119c93
sub $47
and a
ret
; 119c97
BattleTowerRoomMenu_UberRestrictionMessage: ; 119c97
ld hl, Text_UberRestriction
call BattleTowerRoomMenu_SetMessage
call BattleTowerRoomMenu_IncrementJumptable
jr BattleTowerRoomMenu_WaitForMessage
BattleTowerRoomMenu_PartyMonTopsThisLevelMessage:
ld hl, Text_PartyMonTopsThisLevel
call BattleTowerRoomMenu_SetMessage
call BattleTowerRoomMenu_IncrementJumptable
BattleTowerRoomMenu_WaitForMessage:
ld a, [$c31a]
and a
ret nz
ld a, $80
ld [wcd50], a
call BattleTowerRoomMenu_IncrementJumptable
BattleTowerRoomMenu_DelayRestartMenu:
; Loops while (--[wcd50] != 0),
; to create some sort of "delay" after the message is written on the screen,
; before starting the menu again.
ld hl, wcd50
dec [hl]
ret nz
ld a, $0
ld [wcf66], a
ret
; 119cc3
BattleTowerRoomMenu_QuitMessage: ; 119cc3
ld a, [wcd38]
and a
jr z, .asm_119cd1
dec a
jr z, .asm_119cd6
ld hl, Text_QuitReadingNews
jr .asm_119cd9
.asm_119cd1
ld hl, Text_CancelBattleRoomChallenge
jr .asm_119cd9
.asm_119cd6
ld hl, Text_ExitGymLeaderHonorRoll
.asm_119cd9
call BattleTowerRoomMenu_SetMessage
call BattleTowerRoomMenu_IncrementJumptable
BattleTowerRoomMenu_PlaceYesNoMenu:
ld a, [$c31a]
and a
ret nz
ld a, $f
ld [wcd3c], a
call BattleTowerRoomMenu_IncrementJumptable
BattleTowerRoomMenu_UpdateYesNoMenu:
; Only ever called when [wcd3c] is $10
call BattleTowerRoomMenu2
ret c
ld a, [wMobileInactivityTimerFrames]
ld [wcf66], a
ret
; 119cf7
MenuDataHeader_119cf7: ; 119cf7
db MENU_BACKUP_TILES ; flags
menu_coords 12, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 0 ; default option
; 119cff
MenuData_119cff: ; 119cff
db MENU_BACKUP_TILES ; flags
menu_coords 15, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 0 ; default option
; 119d07
String_119d07:
db " ▼@"
Strings_L10ToL100: ; 119d0c
db " L:10 @@"
db " L:20 @@"
db " L:30 @@"
db " L:40 @@"
db " L:50 @@"
db " L:60 @@"
db " L:70 @@"
db " L:80 @@"
db " L:90 @@"
db " L:100@@"
db "CANCEL@@"
Strings_Ll0ToL40: ; 119d64
db " L:10 @@"
db " L:20 @@"
db " L:30 @@"
db " L:40 @@"
db "CANCEL@@"
String_119d8c:
db "CANCEL@"
; 119d93
BattleTower_LevelCheck: ; 119d93 (46:5d93)
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
ld a, [wcd4f]
ld c, 10
call SimpleMultiply
ld hl, wcd50
ld [hl], a
ld bc, PARTYMON_STRUCT_LENGTH
ld de, PartyMon1Level
ld a, [PartyCount]
.party_loop
push af
ld a, [de]
push hl
push de
pop hl
add hl, bc
push hl
pop de
pop hl
cp [hl]
jr z, .equal
jr nc, .exceeds
.equal
pop af
dec a
jr nz, .party_loop
pop af
ld [rSVBK], a
and a
ret
.exceeds
pop af
ld a, $4
ld [wcf66], a
pop af
ld [rSVBK], a
scf
ret
BattleTower_UbersCheck: ; 119dd1 (46:5dd1)
ld a, [rSVBK]
push af
ld a, [wcd4f]
cp 70 / 10
jr nc, .level_70_or_more
ld a, $1
ld [rSVBK], a
ld hl, PartyMon1Level
ld bc, PARTYMON_STRUCT_LENGTH
ld de, PartySpecies
ld a, [PartyCount]
.loop
push af
ld a, [de]
cp MEWTWO
jr z, .uber
cp MEW
jr z, .uber
cp LUGIA
jr c, .next
cp NUM_POKEMON + 1
jr nc, .next
.uber
ld a, [hl]
cp 70
jr c, .uber_under_70
.next
add hl, bc
inc de
pop af
dec a
jr nz, .loop
.level_70_or_more
pop af
ld [rSVBK], a
and a
ret
.uber_under_70
pop af
ld a, [de]
ld [wd265], a
call GetPokemonName
ld hl, StringBuffer1
ld de, wcd49
ld bc, MON_NAME_LENGTH
call CopyBytes
ld a, $a
ld [wcf66], a
pop af
ld [rSVBK], a
scf
ret
; 119e2b (46:5e2b)
Function119e2b: ; 119e2b (46:5e2b)
call Function3e32
BattleTowerRoomMenu_IncrementJumptable: ; 119e2e (46:5e2e)
ld hl, wcf66
inc [hl]
ret
; 119e33 (46:5e33)
XGameCodePrefix: ; 119e33
INCBIN "data/mobile/x-game-code-prefix.txt"
;119e40
XGameResultPrefix: ; 119e40
INCBIN "data/mobile/x-game-result-prefix.txt"
; 119e4f
Function119e4f: ; 119e4f
push bc
ld hl, w3_d100
ld a, [hli]
ld c, a
ld a, [hli]
ld b, a
.loop
ld a, [de]
cp [hl]
jr z, .found_equality
.next
inc hl
dec bc
ld a, b
or c
jr nz, .loop
.return_carry
pop bc
scf
ret
.found_equality
push de
.loop2
ld a, [de]
inc de
cp "\n"
jr z, .newline
cp [hl]
jr nz, .unequal
inc hl
dec bc
ld a, b
or c
jr nz, .loop2
pop de
jr .return_carry
.unequal
pop de
jr .next
.newline
pop de
pop bc
inc hl
ld de, w3_d880
.loop3
ld a, [hli]
ld [de], a
inc de
cp $d
jr z, .finish
dec c
jr nz, .loop3
scf
ret
.finish
and a
ret
; 119e8e
Function119e8e: ; 119e8e
cp $60
jr c, .less_than_0x60
sub $57
ret
.less_than_0x60
sub $30
ret
; 119e98
Function119e98: ; 119e98
ld a, $2
.loop
push af
ld a, [bc]
dec bc
call Function119e8e
or [hl]
ld [hl], a
ld a, [bc]
dec bc
call Function119e8e
rlca
rlca
rlca
rlca
or [hl]
ld [hl], a
inc hl
pop af
dec a
and a
jr nz, .loop
ret
; 119eb4
Function119eb4: ; 119eb4 (46:5eb4)
xor a
ld [wc3cc], a
ld de, wc3ac
.loop
ld a, [de]
inc de
ld [hli], a
and a
jr nz, .loop
ret
Function119ec2: ; 119ec2 (46:5ec2)
ld a, BANK(sMobileLoginPassword)
call GetSRAMBank
xor a
ld [sMobileLoginPassword + MOBILE_LOGIN_PASSWORD_LENGTH], a
ld de, sMobileLoginPassword + 1
.loop
ld a, [de]
inc de
ld [hli], a
and a
jr nz, .loop
call CloseSRAM
ret
BattleTowerRoomMenu2: ; 119ed8 (46:5ed8)
ld a, [rSVBK]
ld [wcd8c], a
ld a, $1
ld [rSVBK], a
call .RunJumptable
ld a, [wcd8c]
ld [rSVBK], a
ld a, $1
ld [hBGMapMode], a
ret
.RunJumptable:
jumptable .Jumptable, wcd3c
.Jumptable:
dw Function119f3f
dw Function119f45
dw Function119f56
dw Function119f76
dw Function119f98
dw Function11a113
dw Function11a129
dw Function11a131
dw Function11a13d
dw Function11a14b
dw Function11a16d
dw Function11a192
dw Function11a2e6
dw Function11a302
dw Function11a33a
dw BattleTowerRoomMenu2_PlaceYesNoMenu
dw BattleTowerRoomMenu2_UpdateYesNoMenu
dw Function11a357
dw Function11a36b
dw Function11a38d
dw Function11a3c5
dw Function11a3d9
dw Function11a3f9
dw Function11a41b
dw Function11a452
dw Function11a47a
dw Function11a488
dw Function11a49e
dw Function11a4db
dw Function11a4e8
dw Function11a4fe
dw Function11a466
dw Function11a47a
; 119f3f
Function119f3f: ; 119f3f
call Function11a5b9
jp BattleTowerRoomMenu2_IncrementJumptable
; 119f45
Function119f45: ; 119f45
hlcoord 4, 2
ld de, String_11a661
call PlaceString
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 119f56
Function119f56: ; 119f56
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_119f62
dec a
ld [wMobileInactivityTimerMinutes], a
scf
ret
.asm_119f62
call Function11a63c
hlcoord 4, 2
ld de, String_11a6aa
call PlaceString
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 119f76
Function119f76: ; 119f76
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_119f82
dec a
ld [wMobileInactivityTimerMinutes], a
scf
ret
.asm_119f82
call Function11a63c
hlcoord 4, 2
ld de, String_11a679
call PlaceString
call Function11a5f5
xor a
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 119f98
Function119f98: ; 119f98
call Function11a536
ret c
call PlayClickSFX
ld a, [wMobileInactivityTimerMinutes]
and a
jr nz, .asm_119fef
call ExitMenu
call Function11a63c
xor a
ld [ScriptVar], a
call Function11a00e
ld a, [ScriptVar]
and a
jr z, .asm_119fd4
call ExitMenu
farcall ReloadMapPart
farcall Function115dc3
ld a, [wcd33]
ld [wcf66], a
ld a, $a
ld [wc300], a
scf
ret
.asm_119fd4
hlcoord 4, 2
ld de, String_11a692
call PlaceString
ld a, $1
ld [wc30d], a
ld a, $1
ld [wc314], a
farcall ReloadMapPart
and a
ret
.asm_119fef
call ExitMenu
call ExitMenu
farcall ReloadMapPart
ld a, [wMobileInactivityTimerSeconds]
ld [wcf66], a
farcall Function115dc3
ld a, $a
ld [wc300], a
scf
ret
; 11a00e
Function11a00e: ; 11a00e
ld a, BANK(sMobileLoginPassword)
call GetSRAMBank
ld a, [sMobileLoginPassword]
and a
jr z, .asm_11a02a
ld a, [sMobileLoginPassword + 1]
call CloseSRAM
and a
ret nz
ld a, BANK(sMobileLoginPassword)
call GetSRAMBank
xor a
ld [sMobileLoginPassword], a
.asm_11a02a
call CloseSRAM
ld a, [BGMapPalBuffer]
and a
jr z, .asm_11a039
dec a
jr z, .asm_11a081
jp Function11a0ca
.asm_11a039
ld a, $3
ld [rSVBK], a
ld hl, $c608
ld de, w3_d800
ld bc, $00f6
call CopyBytes
ld a, $1
ld [rSVBK], a
call FadeToMenu
farcall Function11765d
call Function11a9ce
ld a, $3
ld [rSVBK], a
ld hl, w3_d800
ld de, $c608
ld bc, $00f6
call CopyBytes
ld a, $1
ld [rSVBK], a
farcall Function115d99
ld c, $0
farcall Function115e18
ld a, $1
ld [wc305], a
ret
.asm_11a081
xor a
ld [wMenuBorderLeftCoord], a
ld [wMenuBorderTopCoord], a
ld a, $13
ld [wMenuBorderRightCoord], a
ld a, $5
ld [wMenuBorderBottomCoord], a
call PushWindow
farcall Function11765d
farcall Function117ab4
farcall Stubbed_Function106462
farcall Function106464
call ExitMenu
farcall ReloadMapPart
farcall Function115d99
ld c, $0
farcall Function115e18
ld a, $1
ld [wc305], a
ret
; 11a0ca
Function11a0ca: ; 11a0ca
xor a
ld [wMenuBorderLeftCoord], a
ld [wMenuBorderTopCoord], a
ld a, $13
ld [wMenuBorderRightCoord], a
ld a, $11
ld [wMenuBorderBottomCoord], a
call PushWindow
farcall Function11765d
farcall Function17d3f6
farcall Stubbed_Function106462
farcall Function106464
call ExitMenu
farcall ReloadMapPart
farcall Function115d99
ld c, $0
farcall Function115e18
ld a, $1
ld [wc305], a
ret
; 11a113
Function11a113: ; 11a113
call Function11a63c
ld c, $1
farcall Function115e18
hlcoord 4, 2
ld de, String_11a6c8
call PlaceString
and a
ret
; 11a129
Function11a129: ; 11a129
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a131
Function11a131: ; 11a131
ld hl, wMobileInactivityTimerMinutes
dec [hl]
ret nz
ld a, [wcd3c]
inc a
ld [wcd3c], a
Function11a13d:
call Function11a63c
hlcoord 4, 2
ld de, String_11a6d2
call PlaceString
and a
ret
; 11a14b
Function11a14b: ; 11a14b
ld hl, wcd85
ld a, [hl]
cp $f3
jr nz, .asm_11a155
and a
ret
.asm_11a155
call Function11a1d6
ret c
call Function11a63c
hlcoord 4, 2
ld de, String_11a6f1
call PlaceString
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a16d
Function11a16d: ; 11a16d
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_11a179
dec a
ld [wMobileInactivityTimerMinutes], a
scf
ret
.asm_11a179
call Function11a63c
call Function11a1e6
hlcoord 4, 2
ld de, $c346
call PlaceString
call Function11a5f5
xor a
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a192
Function11a192: ; 11a192
call Function11a536
ret c
call PlayClickSFX
ld a, [wMobileInactivityTimerMinutes]
and a
jr nz, .asm_11a1b6
call ExitMenu
farcall ReloadMapPart
call Function11a63c
hlcoord 4, 2
ld de, String_11a6d2
call PlaceString
and a
ret
.asm_11a1b6
call ExitMenu
farcall ReloadMapPart
ld a, [wMobileInactivityTimerSeconds]
ld [wcf66], a
ld [wcd80], a
call Function11a63c
hlcoord 4, 2
ld de, String_11a6d2
call PlaceString
scf
ret
; 11a1d6
Function11a1d6: ; 11a1d6
ld a, [wcd85]
cp $50
jr nz, .asm_11a1e4
ld a, $d3
call Function118805
scf
ret
.asm_11a1e4
and a
ret
; 11a1e6
Function11a1e6: ; 11a1e6
ld hl, String_11a706
ld de, $c346
call Function11a1ff
ld hl, wcd85
call Function11a1ff
ld hl, String_11a70b
call Function11a1ff
ld a, $50
ld [de], a
ret
; 11a1ff
Function11a1ff: ; 11a1ff
.asm_11a1ff
ld a, [hli]
cp $50
ret z
ld [de], a
inc de
jr .asm_11a1ff
; 11a207
BattleTowerRoomMenu2_PlaceYesNoMenu: ; 11a207
ld hl, MenuDataHeader_11a2de
call LoadMenuDataHeader
call MenuBox
call MenuBoxCoord2Tile
call ApplyTilemap
hlcoord 16, 8
ld de, String_11a2cf
call PlaceString
hlcoord 16, 10
ld de, String_11a2d3
call PlaceString
hlcoord 15, 8
ld a, $ed
ld [hl], a
xor a
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a235
BattleTowerRoomMenu2_UpdateYesNoMenu: ; 11a235
ld hl, hJoyPressed
ld a, [hl]
and A_BUTTON
jr nz, .a_button
ld a, [hl]
and B_BUTTON
jr nz, .b_button
ld a, [hl]
and D_UP
jr nz, .d_up
ld a, [hl]
and D_DOWN
jr nz, .d_down
.asm_11a24c
call Function11a9f0
scf
ret
.d_up
xor a
ld [wcd8a], a
ld [wcd8b], a
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_11a24c
xor a
ld [wMobileInactivityTimerMinutes], a
hlcoord 15, 8
ld a, $ed
ld [hl], a
hlcoord 15, 10
ld a, $7f
ld [hl], a
jr .asm_11a24c
.d_down
xor a
ld [wcd8a], a
ld [wcd8b], a
ld a, [wMobileInactivityTimerMinutes]
and a
jr nz, .asm_11a24c
inc a
ld [wMobileInactivityTimerMinutes], a
hlcoord 15, 8
ld a, $7f
ld [hl], a
hlcoord 15, 10
ld a, $ed
ld [hl], a
jr .asm_11a24c
.a_button
xor a
ld [wcd8a], a
ld [wcd8b], a
call PlayClickSFX
ld a, [wMobileInactivityTimerMinutes]
and a
jr nz, .exit_no_carry
call ExitMenu
farcall ReloadMapPart
ld a, [wMobileInactivityTimerFrames]
cp $0
jr z, .asm_11a2b4
ld a, [wcd47]
jr .exit_carry
.asm_11a2b4
ld a, [wcd33]
.exit_carry
ld [wcf66], a
ld a, $a
ld [wc300], a
scf
ret
.b_button
call PlayClickSFX
.exit_no_carry
call ExitMenu
farcall ReloadMapPart
and a
ret
; 11a2cf
String_11a2cf: ; 11a2cf
db "YES@"
; 11a2d3
String_11a2d3: ; 11a2d3
db "NO@"
; 11a2d6
MenuDataHeader_11a2d6: ; 11a2d6
db MENU_BACKUP_TILES ; flags
menu_coords 14, 6, SCREEN_WIDTH - 1, 10
dw NULL
db 0 ; default option
; 11a2de
MenuDataHeader_11a2de: ; 11a2de
db MENU_BACKUP_TILES ; flags
menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 0 ; default option
; 11a2e6
Function11a2e6: ; 11a2e6
call Function11a63c
ld c, $2
farcall Function115e18
hlcoord 4, 2
ld de, String_11a71e
call PlaceString
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a302
Function11a302: ; 11a302
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_11a30e
dec a
ld [wMobileInactivityTimerMinutes], a
scf
ret
.asm_11a30e
call Function11a63c
hlcoord 4, 2
ld de, String_11a72a
call PlaceString
hlcoord 9, 4
ld de, wcd68
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
hlcoord 14, 4
ld de, wcd67
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a33a
Function11a33a: ; 11a33a
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_11a346
dec a
ld [wMobileInactivityTimerMinutes], a
scf
ret
.asm_11a346
call ExitMenu
farcall ReloadMapPart
farcall Function115dc3
and a
ret
; 11a357
Function11a357: ; 11a357
call Function11a63c
hlcoord 4, 2
ld de, String_11a743
call PlaceString
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a36b
Function11a36b: ; 11a36b
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_11a377
dec a
ld [wMobileInactivityTimerMinutes], a
scf
ret
.asm_11a377
call Function11a63c
hlcoord 4, 2
ld de, String_11a755
call PlaceString
call Function11a5f5
xor a
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a38d
Function11a38d: ; 11a38d
call Function11a536
ret c
call PlayClickSFX
ld a, [wMobileInactivityTimerMinutes]
and a
jr nz, .asm_11a3b1
call ExitMenu
farcall ReloadMapPart
call Function11a63c
hlcoord 4, 2
ld de, String_11a6d2
call PlaceString
and a
ret
.asm_11a3b1
call ExitMenu
farcall ReloadMapPart
ld a, [wMobileInactivityTimerSeconds]
ld [wcf66], a
ld [wcd80], a
scf
ret
; 11a3c5
Function11a3c5: ; 11a3c5
call Function11a63c
hlcoord 4, 2
ld de, String_11a762
call PlaceString
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a3d9
Function11a3d9: ; 11a3d9
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_11a3e5
dec a
ld [wMobileInactivityTimerMinutes], a
scf
ret
.asm_11a3e5
call Function11a63c
hlcoord 4, 2
ld de, String_11a779
call PlaceString
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a3f9
Function11a3f9: ; 11a3f9
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_11a405
dec a
ld [wMobileInactivityTimerMinutes], a
scf
ret
.asm_11a405
call Function11a63c
hlcoord 4, 2
ld de, String_11a755
call PlaceString
call Function11a5f5
xor a
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a41b
Function11a41b: ; 11a41b
call Function11a536
ret c
call PlayClickSFX
ld a, [wMobileInactivityTimerMinutes]
and a
jr nz, .asm_11a43f
call ExitMenu
farcall ReloadMapPart
call Function11a63c
hlcoord 4, 2
ld de, String_11a6d2
call PlaceString
and a
ret
.asm_11a43f
call ExitMenu
farcall ReloadMapPart
ld a, $1c
ld [wcf66], a
ld [wcd80], a
scf
ret
; 11a452
Function11a452: ; 11a452
call Function11a63c
hlcoord 4, 2
ld de, String_11a791
call PlaceString
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a466
Function11a466: ; 11a466
call Function11a63c
hlcoord 4, 2
ld de, String_11a7c1
call PlaceString
ld a, $80
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a47a
Function11a47a: ; 11a47a
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_11a486
dec a
ld [wMobileInactivityTimerMinutes], a
scf
ret
.asm_11a486
and a
ret
; 11a488
Function11a488: ; 11a488
call Function11a63c
hlcoord 4, 2
ld de, String_11a7ac
call PlaceString
call Function11a5f5
xor a
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a49e
Function11a49e: ; 11a49e
call Function11a536
ret c
call PlayClickSFX
ld a, [wMobileInactivityTimerMinutes]
and a
jr nz, .asm_11a4c7
call ExitMenu
farcall ReloadMapPart
call Function11a63c
hlcoord 4, 2
ld de, String_11a6d2
call PlaceString
ld a, $14
ld [wcf66], a
and a
ret
.asm_11a4c7
call ExitMenu
farcall ReloadMapPart
ld a, [wMobileInactivityTimerFrames]
ld [wcf66], a
ld [wcd80], a
scf
ret
; 11a4db
Function11a4db: ; 11a4db
call Function11a63c
ld de, String_11a6db
hlcoord 4, 2
call PlaceString
ret
; 11a4e8
Function11a4e8: ; 11a4e8
call Function11a63c
hlcoord 4, 2
ld de, String_11a7d7
call PlaceString
call Function11a5f5
xor a
ld [wMobileInactivityTimerMinutes], a
jp BattleTowerRoomMenu2_IncrementJumptable
; 11a4fe
Function11a4fe: ; 11a4fe
call Function11a536
ret c
call PlayClickSFX
ld a, [wMobileInactivityTimerMinutes]
and a
jr nz, .asm_11a522
call ExitMenu
farcall ReloadMapPart
call Function11a63c
hlcoord 4, 2
ld de, String_11a6d2
call PlaceString
and a
ret
.asm_11a522
call ExitMenu
farcall ReloadMapPart
ld a, [wMobileInactivityTimerSeconds]
ld [wcf66], a
ld [wcd80], a
scf
ret
; 11a536
Function11a536: ; 11a536
ld hl, hJoyPressed
ld a, [hl]
and $1
jr nz, .asm_11a5a7
ld a, [hl]
and $2
jr nz, .asm_11a5a2
ld a, [hl]
and $40
jr nz, .asm_11a564
ld a, [hl]
and $80
jr nz, .asm_11a583
.asm_11a54d
ld a, [wcd3c]
cp $4
jr z, .asm_11a562
call Function11a9f0
jr nz, .asm_11a562
call ExitMenu
farcall ReloadMapPart
.asm_11a562
scf
ret
.asm_11a564
xor a
ld [wcd8a], a
ld [wcd8b], a
ld a, [wMobileInactivityTimerMinutes]
and a
jr z, .asm_11a54d
xor a
ld [wMobileInactivityTimerMinutes], a
hlcoord 15, 7
ld a, $ed
ld [hl], a
hlcoord 15, 9
ld a, $7f
ld [hl], a
jr .asm_11a54d
.asm_11a583
xor a
ld [wcd8a], a
ld [wcd8b], a
ld a, [wMobileInactivityTimerMinutes]
and a
jr nz, .asm_11a54d
inc a
ld [wMobileInactivityTimerMinutes], a
hlcoord 15, 7
ld a, $7f
ld [hl], a
hlcoord 15, 9
ld a, $ed
ld [hl], a
jr .asm_11a54d
.asm_11a5a2
ld a, $1
ld [wMobileInactivityTimerMinutes], a
.asm_11a5a7
xor a
ld [wcd8a], a
ld [wcd8b], a
and a
ret
; 11a5b0
BattleTowerRoomMenu2_IncrementJumptable: ; 11a5b0
ld a, [wcd3c]
inc a
ld [wcd3c], a
scf
ret
; 11a5b9
Function11a5b9: ; 11a5b9
xor a
ld [wMenuBorderLeftCoord], a
ld [wMenuBorderTopCoord], a
ld a, $13
ld [wMenuBorderRightCoord], a
ld a, $5
ld [wMenuBorderBottomCoord], a
call PushWindow
hlcoord 0, 0, AttrMap
ld b, $6
ld c, $14
hlcoord 0, 0
ld b, $4
ld c, $12
call Function3eea
farcall ReloadMapPart
call UpdateSprites
ld c, $0
farcall Function115e18
ld a, $1
ld [wc305], a
ret
; 11a5f5
Function11a5f5: ; 11a5f5
ld a, $e
ld [wMenuBorderLeftCoord], a
ld a, $13
ld [wMenuBorderRightCoord], a
ld a, $6
ld [wMenuBorderTopCoord], a
ld a, $a
ld [wMenuBorderBottomCoord], a
call PushWindow
hlcoord 14, 6, AttrMap
ld b, $5
ld c, $6
hlcoord 14, 6
ld b, $3
ld c, $4
call Function3eea
hlcoord 16, 7
ld de, String_11a2cf
call PlaceString
hlcoord 16, 9
ld de, String_11a2d3
call PlaceString
hlcoord 15, 7
ld a, $ed
ld [hl], a
farcall ReloadMapPart
ret
; 11a63c
Function11a63c: ; 11a63c
hlcoord 4, 1
ld de, String_11a7f4
call PlaceString
hlcoord 4, 2
ld de, String_11a7f4
call PlaceString
hlcoord 4, 3
ld de, String_11a7f4
call PlaceString
hlcoord 4, 4
ld de, String_11a7f4
call PlaceString
ret
; 11a661
String_11a661: ; 11a661
db "これから モバイルセンターに"
next "でんわ<WO>かけます@"
; 11a679
String_11a679: ; 11a679
db "モバイルアダプタ<NO>じゅんびは"
next "できて いますか?@"
; 11a692
String_11a692: ; 11a692
db "でんわ<WO>かけています"
next "しばらく おまちください@"
; 11a6aa
String_11a6aa: ; 11a6aa
db "でんわをかけると つうわりょう"
next "せつぞくりょう<GA>かかります@"
; 11a6c8
String_11a6c8: ; 11a6c8
db "せつぞく しました@"
; 11a6d2
String_11a6d2: ; 11a6d2
db "つうしん ちゅう@"
; 11a6db
String_11a6db: ; 11a6db
db "つうしん ちゅう"
next "セレクト エーでちゅうし@"
; 11a6f1
String_11a6f1: ; 11a6f1
db "この サービスには"
next "つうわりょう<NO>ほかに@"
; 11a706
String_11a706: ; 11a706
db "おかね<GA>@"
; 11a70b
String_11a70b: ; 11a70b
db "えん"
next "かかります よろしい ですか?@"
; 11a71e
String_11a71e: ; 11a71e
db "つうしん しゅうりょう@"
; 11a72a
String_11a72a: ; 11a72a
db "つないだ じかん"
next "  やく   ふん   びょう@"
; 11a743
String_11a743: ; 11a743
db "もっていない データが"
next "あります!@"
; 11a755
String_11a755: ; 11a755
db "データ<WO>よみこみますか?@"
; 11a762
String_11a762: ; 11a762
db "おなじ データ<WO>よみこんだ"
next "こと<GA>ありますが@"
; 11a779
String_11a779: ; 11a779
db "そのデータ<WA>なくなっているか"
next "こわれて います@"
; 11a791
String_11a791: ; 11a791
db "もっている データと"
next "おなじデータしか ありません!@"
; 11a7ac
String_11a7ac: ; 11a7ac
db "データ<NO>よみこみを"
next "ちゅうし しますか?@"
; 11a7c1
String_11a7c1: ; 11a7c1 ; new news?
db "あたらしい ニュースは"
next "ありません でした@"
; 11a7d7
String_11a7d7: ; 11a7d7
db "あたらしいニュース<GA>あります"
next "ニュース<WO>よみこみますか?@"
; 11a7f4
String_11a7f4: ; 11a7f4
db "               @"
; 11a804
MenuDataHeader_11a804: ; 11a804
db MENU_BACKUP_TILES ; flags
menu_coords 0, 0, SCREEN_WIDTH - 1, 5
dw NULL
db 0 ; default option
; 11a80c
Function11a80c: ; 11a80c
ld de, hDivisor
ld bc, hDividend
ld hl, Unknown_11a89a
call Function11a88c
ld bc, hQuotient
ld hl, Unknown_11a8ba
call Function11a88c
ld bc, hPrintNum3
ld hl, Unknown_11a8da
call Function11a88c
xor a
ld b, a
ld a, [hDivisor]
and $f
ld e, a
ld a, [hPrintNum7]
and $f
call Function11a884
ld e, a
ld a, [hPrintNum9]
and $f
call Function11a884
ld [wcd62], a
ld e, b
xor a
ld b, a
ld a, [hDivisor]
and $f0
swap a
call Function11a884
ld e, a
ld a, [hPrintNum7]
and $f0
swap a
call Function11a884
ld e, a
ld a, [hPrintNum9]
and $f0
swap a
call Function11a884
ld [wcd63], a
ld e, b
xor a
ld b, a
ld a, [hMathBuffer]
and $f
call Function11a884
ld e, a
ld a, [hPrintNum8]
and $f
call Function11a884
ld e, a
ld a, [hPrintNum10]
and $f
call Function11a884
ld [wcd64], a
ret
; 11a884
Function11a884: ; 11a884
add e
cp $a
ret c
sub $a
inc b
ret
; 11a88c
Function11a88c: ; 11a88c
ld a, [bc]
sla a
ld c, a
xor a
ld b, a
add hl, bc
ld a, [hli]
ld [de], a
inc de
ld a, [hl]
ld [de], a
inc de
ret
; 11a89a
Unknown_11a89a: ; 11a89a
x = 0
rept 16
bcd x % 100, x / 100
x = x + 1
endr
Unknown_11a8ba: ; 11a8ba
x = 0
rept 16
bcd x % 100, x / 100
x = x + 16
endr
Unknown_11a8da: ; 11a8da
x = 0
rept 16
bcd x % 100, x / 100
x = x + 256
endr
; 11a8fa
BattleTowerRoomMenu_WriteMessage: ; 11a8fa
jumptable .Jumptable, $c31a
; 11a909
.Jumptable: ; 11a909
dw BattleTowerRoomMenu_WriteMessage_DoNothing
dw Function11a90f
dw Function11a971
; 11a90f
Function11a90f: ; 11a90f
ld a, $1
ld [rSVBK], a
call SpeechTextBox
ld a, $50
ld hl, $c320
ld bc, $008c
call ByteFill
ld a, [$c31b]
ld l, a
ld a, [$c31c]
ld h, a
ld de, $c320
.asm_11a92c
ld a, [hli]
cp $57
jr z, .asm_11a94f
cp $0
jr z, .asm_11a92c
cp $50
jr z, .asm_11a92c
cp $1
jr z, .asm_11a941
ld [de], a
inc de
jr .asm_11a92c
.asm_11a941
ld a, [hli]
ld c, a
ld a, [hli]
ld b, a
.asm_11a945
ld a, [bc]
inc bc
cp $50
jr z, .asm_11a92c
ld [de], a
inc de
jr .asm_11a945
.asm_11a94f
xor a
ld [$c31f], a
ld a, LOW($c320)
ld [$c31b], a
ld a, HIGH($c320)
ld [$c31c], a
hlcoord 1, 14
ld a, l
ld [$c31d], a
ld a, h
ld [$c31e], a
ld hl, $c31a
inc [hl]
ld a, $3
ld [rSVBK], a
BattleTowerRoomMenu_WriteMessage_DoNothing:
ret
; 11a971
Function11a971: ; 11a971
ld hl, $c31f
ld a, [hJoyDown]
and a
jr nz, .asm_11a97f
ld a, [hl]
and a
jr z, .asm_11a97f
dec [hl]
ret
.asm_11a97f
ld a, [Options]
and $7
ld [hl], a
ld hl, wcd8d
ld a, [$c31b]
ld e, a
ld a, [$c31c]
ld d, a
ld a, [de]
inc de
ld [hli], a
ld a, e
ld [$c31b], a
ld a, d
ld [$c31c], a
ld a, $50
ld [hl], a
ld a, [$c31d]
ld l, a
ld a, [$c31e]
ld h, a
ld de, wcd8d
call PlaceString
ld a, c
ld [$c31d], a
ld a, b
ld [$c31e], a
ld a, [wcd8d]
cp $50
jr nz, .asm_11a9bf
xor a
ld [$c31a], a
.asm_11a9bf
ret
; 11a9c0
BattleTowerRoomMenu_SetMessage: ; 11a9c0
ld a, l
ld [$c31b], a
ld a, h
ld [$c31c], a
ld a, $1
ld [$c31a], a
ret
; 11a9ce
Function11a9ce: ; 11a9ce
call ClearBGPalettes
call ReloadTilesetAndPalettes
call Call_ExitMenu
farcall Stubbed_Function106462
farcall Function106464
call ret_d90
farcall FinishExitMenu
call UpdateSprites
ret
; 11a9f0
Function11a9f0: ; 11a9f0
ld a, $1
and a
ret
; 11a9f4
Function11a9f4: ; 11a9f4
ld a, [wcd8a]
ld l, a
ld a, [wcd8b]
ld h, a
inc hl
ld a, l
ld [wcd8a], a
ld a, h
ld [wcd8b], a
ld de, $d5d0
add hl, de
bit 7, h
ret nz
ld a, $d6
call Function118805
and a
ret
; 11aa13
Text_SaveFileWillBeSent: ; 0x11aa13
text "SAVE FILE will be"
line "sent."
done
; 0x11aa2c
Text_SentSaveFileReadingNews: ; 0x11aa2c
text "Sent SAVE FILE."
line "Reading NEWS…"
done
; 0x11aa4b
Text_ReadingNews: ; 0x11aa4b
text "Reading NEWS…"
done
; 0x11aa5a
Text_ReceivedNews: ; 0x11aa5a
text "Received NEWS!"
done
; 0x11aa6a
Text_QuitReadingNews: ; 0x11aa6a
text "Quit reading NEWS?"
done
; 0x11aa7e
Text_CanceledSendingSaveFile: ; 0x11aa7e
text "Canceled sending"
line "SAVE FILE."
done
; 0x11aa9b
Text_ReceivedOddEgg: ; 0x11aa9b
text "ODD EGG"
line "was received!"
done
; 0x11aab2
Text_RegisteringRecord: ; 0x11aab2
text "Registering your"
line "record…"
done
; 0x11aacc
Text_BattleRoomVisitLimit: ; 0x11aacc
text "One visit per day"
line "per BATTLE ROOM!"
done
; 0x11aaf0
Text_PartyMonTopsThisLevel: ; 0x11aaf0
text "A party #MON"
line "tops this level."
done
; 0x11ab0f
Text_UberRestriction: ; 0x11ab0f
text_from_ram wcd49
text " may go"
line "only to BATTLE"
para "ROOMS that are"
line "Lv.70 or higher."
done
; 0x11ab4a
Text_CancelBattleRoomChallenge: ; 0x11ab4a
text "Cancel your BATTLE"
line "ROOM challenge?"
done
; 0x11ab6e
Text_ExitGymLeaderHonorRoll: ; 0x11ab6e
text "Exit GYM LEADER"
line "HONOR ROLL?"
done
; 0x11ab8b
Text_LinkingWithCenter: ; 0x11ab8b
text "Linking with the"
line "CENTER…"
done
; 0x11aba5
Text_WhatLevelDoYouWantToChallenge: ; 0x11aba5
text "What level do you"
line "want to challenge?"
done
; 0x11abcb
Text_CheckBattleRoomListByMaxLevel: ; 0x11abcb
text "Check BATTLE ROOM"
line "list by max level?"
done
; 0x11abf1
Text_EnterWhichBattleRoom: ; 0x11abf1
text "Enter which"
line "BATTLE ROOM?"
done
; 0x11ac0b
Text_WhichBattleRoom: ; 0x11ac0b
text "Which BATTLE ROOM?"
done
; 0x11ac1f
Text_ThisBattleRoomPleaseWait: ; 0x11ac1f
text_from_ram StringBuffer3
text "'s ROOM"
line "@"
text_from_ram StringBuffer4
text "?"
cont "Please wait…"
done
; 0x11ac3e
Special_Function11ac3e: ; 11ac3e
call SpeechTextBox
call FadeToMenu
callfar ClearSpriteAnims2
call Function11ac51
call CloseSubmenu
ret
; 11ac51
Function11ac51: ; 11ac51
xor a
ld [hBGMapMode], a
ld hl, Options
ld a, [hl]
push af
set 4, [hl]
ld a, [VramState]
push af
xor a
ld [VramState], a
ld a, [hInMenu]
push af
ld a, $1
ld [hInMenu], a
xor a
ld [hMapAnims], a
ld [wcd49], a
ld [wcd4a], a
ld [wcd4c], a
ld [wcd4d], a
ld [wcd4e], a
call Function11ad1b
call DelayFrame
.loop
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_11aca8
call Function11b314
call Function11acb7
call Function11ad6e
ld a, 30 * 4
ld [wCurrSpriteOAMAddr], a
farcall DoNextFrameForAllSprites
farcall ReloadMapPart
jr .loop
.asm_11aca8
call ClearSprites
pop af
ld [hInMenu], a
pop af
ld [VramState], a
pop af
ld [Options], a
ret
; 11acb7
Function11acb7: ; 11acb7
ld hl, TilemapPack_11ba44
ld a, [wcd49]
ld c, a
ld b, $0
sla c
rl b
sla c
rl b
sla c
rl b
add hl, bc
decoord 6, 6
ld a, [hli]
ld [de], a
decoord 0, 7
ld bc, 7
call CopyBytes
ld a, [wcd49]
inc a
ld [wcd49], a
ld a, [hl]
cp $ff
jr nz, .get_the_other
xor a
ld [wcd49], a
.get_the_other
ld hl, TilemapPack_11bb7d
ld a, [wcd4a]
ld c, a
ld b, $0
sla c
rl b
sla c
rl b
sla c
rl b
add hl, bc
decoord 3, 9
ld bc, 7
call CopyBytes
ld a, [wcd4a]
inc a
ld [wcd4a], a
inc hl
ld a, [hl]
cp $ff
ret nz
xor a
ld [wcd4a], a
ret
; 11ad1b
Function11ad1b: ; 11ad1b
call ClearBGPalettes
call ClearSprites
call ClearTileMap
farcall Function17c000
ld a, [wMenuCursorY]
ld [wcd82], a
dec a
ld [hObjectStructIndexBuffer], a
ld a, $10
ld [wCurIconTile], a
ld hl, LoadMenuMonIcon
ld a, BANK(LoadMenuMonIcon)
ld e, $4
rst FarCall
ld hl, LoadMenuMonIcon
ld a, BANK(LoadMenuMonIcon)
ld e, $5
rst FarCall
ld hl, $c6d0
ld bc, $0115
xor a
call ByteFill
xor a
ld [wJumptableIndex], a
ld [wcf64], a
ld [wcf65], a
ld [wcf66], a
ld [wcd30], a
ld a, $2
ld [wc7d4], a
farcall Pokedex_OrderMonsByMode
ret
; 11ad6e
Function11ad6e: ; 11ad6e
ld a, [wJumptableIndex]
ld hl, Jumptable_11ad78
call Function11b239
jp hl
; 11ad78
Jumptable_11ad78: ; 11ad78
dw Function11b082
dw Function11b0ff
dw Function11ad95
dw Function11adc4
dw Function11ae4e
dw Function11ae98
dw Function11ad8f
dw Function11af04
dw Function11af4e
; 11ad8a
Function11ad8a: ; 11ad8a
ld hl, wJumptableIndex
inc [hl]
ret
; 11ad8f
Function11ad8f: ; 11ad8f
ld hl, wJumptableIndex
set 7, [hl]
ret
; 11ad95
Function11ad95: ; 11ad95
ld hl, MenuDataHeader_11ae38
call LoadMenuDataHeader
call MenuBox
hlcoord 12, 12
ld de, String_11ae40
call PlaceString
hlcoord 10, 10, AttrMap
lb bc, 8, 8
call Function11afd6
farcall ReloadMapPart
call Function11ad8a
ld a, $1
ld [wMenuCursorY], a
ld hl, Unknown_11afcc
call Function11afb7
Function11adc4:
ld hl, hJoyPressed
ld a, [hl]
and a
ret z
ld a, [hl]
and $40
jr nz, .asm_11ade6
ld a, [hl]
and $80
jr nz, .asm_11aded
ld a, [hl]
and $1
jr nz, .asm_11ae06
ld a, [hl]
and $2
ret z
call PlayClickSFX
xor a
ld [wJumptableIndex], a
jr .asm_11ae2e
.asm_11ade6
ld a, [wMenuCursorY]
dec a
ret z
jr .asm_11adf4
.asm_11aded
ld a, [wMenuCursorY]
inc a
cp $4
ret z
.asm_11adf4
push af
ld hl, Unknown_11afcc
call Function11afbb
pop af
ld [wMenuCursorY], a
ld hl, Unknown_11afcc
call Function11afb7
ret
.asm_11ae06
call PlayClickSFX
ld a, [wMenuCursorY]
dec a
ld hl, wcd30
ld [hl], a
and a
jr z, .asm_11ae28
hlcoord 2, 14
ld a, [wMenuCursorY]
cp $2
jr z, .asm_11ae23
call Function11b272
jr .asm_11ae2b
.asm_11ae23
call Function11b267
jr .asm_11ae2b
.asm_11ae28
ld a, $3
ld [hl], a
.asm_11ae2b
call Function11ad8a
.asm_11ae2e
call ExitMenu
farcall ReloadMapPart
ret
; 11ae38
MenuDataHeader_11ae38: ; 11ae38
db MENU_BACKUP_TILES ; flags
menu_coords 10, 10, 17, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
; 11ae40
String_11ae40: ; 11ae40
db "どちらでも"
next "♂オス"
next "♀メス"
db "@"
; 11ae4e
Function11ae4e: ; 11ae4e
ld hl, MenuDataHeader_11afe8
call LoadMenuDataHeader
call MenuBox
hlcoord 10, 14
ld de, String_11aff0
call PlaceString
ld hl, MenuDataHeader_11b013
call LoadMenuDataHeader
call MenuBox
hlcoord 16, 8
ld de, String_11b01b
call PlaceString
hlcoord 14, 7, AttrMap
lb bc, 5, 6
call Function11afd6
hlcoord 9, 12, AttrMap
lb bc, 6, 11
call Function11afd6
farcall ReloadMapPart
call Function11ad8a
ld a, $1
ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
Function11ae98:
ld hl, hJoyPressed
ld a, [hl]
and a
ret z
ld a, [hl]
and D_UP
jr nz, .asm_11aec1
ld a, [hl]
and D_DOWN
jr nz, .asm_11aec8
ld a, [hl]
and A_BUTTON
jr nz, .asm_11aee1
ld a, [hl]
and B_BUTTON
ret z
call PlayClickSFX
.asm_11aeb4
hlcoord 2, 14
ld a, $7f
ld [hl], a
ld a, $1
ld [wJumptableIndex], a
jr .asm_11aef7
.asm_11aec1
ld a, [wMenuCursorY]
dec a
ret z
jr .asm_11aecf
.asm_11aec8
ld a, [wMenuCursorY]
inc a
cp $3
ret z
.asm_11aecf
push af
ld hl, Unknown_11afd2
call Function11afbb
pop af
ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
ret
.asm_11aee1
call PlayClickSFX
ld a, [wMenuCursorY]
cp $2
jr z, .asm_11aeb4
ld a, [wcd4b]
ld [ScriptVar], a
call Function11b022
call Function11ad8a
.asm_11aef7
call ExitMenu
call ExitMenu
farcall ReloadMapPart
ret
; 11af04
Function11af04: ; 11af04
ld hl, MenuDataHeader_11afe8
call LoadMenuDataHeader
call MenuBox
hlcoord 10, 14
ld de, String_11b003
call PlaceString
ld hl, MenuDataHeader_11b013
call LoadMenuDataHeader
call MenuBox
hlcoord 16, 8
ld de, String_11b01b
call PlaceString
hlcoord 14, 7, AttrMap
lb bc, 5, 6
call Function11afd6
hlcoord 9, 12, AttrMap
lb bc, 6, 11
call Function11afd6
farcall ReloadMapPart
call Function11ad8a
ld a, $2
ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
Function11af4e:
ld hl, hJoyPressed
ld a, [hl]
and a
ret z
ld a, [hl]
and D_UP
jr nz, .asm_11af77
ld a, [hl]
and D_DOWN
jr nz, .asm_11af7e
ld a, [hl]
and A_BUTTON
jr nz, .asm_11af97
ld a, [hl]
and B_BUTTON
ret z
call PlayClickSFX
.asm_11af6a
hlcoord 2, 14
ld a, $7f
ld [hl], a
ld a, $1
ld [wJumptableIndex], a
jr .asm_11afaa
.asm_11af77
ld a, [wMenuCursorY]
dec a
ret z
jr .asm_11af85
.asm_11af7e
ld a, [wMenuCursorY]
inc a
cp $3
ret z
.asm_11af85
push af
ld hl, Unknown_11afd2
call Function11afbb
pop af
ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
ret
.asm_11af97
call PlayClickSFX
ld a, [wMenuCursorY]
cp $2
jr z, .asm_11af6a
ld a, $6
ld [wJumptableIndex], a
xor a
ld [ScriptVar], a
.asm_11afaa
call ExitMenu
call ExitMenu
farcall ReloadMapPart
ret
; 11afb7
Function11afb7: ; 11afb7
ld e, $ed
jr asm_11afbd
Function11afbb:
ld e, $7f
asm_11afbd:
ld a, [wMenuCursorY]
dec a
ld c, a
ld b, 0
add hl, bc
add hl, bc
ld a, e
ld e, [hl]
inc hl
ld d, [hl]
ld [de], a
ret
; 11afcc
Unknown_11afcc:
dwcoord 11, 12
dwcoord 11, 14
dwcoord 11, 16
Unknown_11afd2:
dwcoord 15, 8
dwcoord 15, 10
; 11afd6
Function11afd6: ; 11afd6
ld de, SCREEN_WIDTH
ld a, $3
.row
push bc
push hl
.col
ld [hli], a
dec c
jr nz, .col
pop hl
add hl, de
pop bc
dec b
jr nz, .row
ret
; 11afe8
MenuDataHeader_11afe8: ; 11afe8
db MENU_BACKUP_TILES ; flags
menu_coords 9, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
; 11aff0
String_11aff0: ; 11aff0
db "この じょうけんで"
next "よろしいですか?@"
; 11b003
String_11b003: ; 11b003
db "こうかんを"
next "ちゅうししますか?@"
; 11b013
MenuDataHeader_11b013: ; 11b013
db MENU_BACKUP_TILES ; flags
menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 1 ; default option
; 11b01b
String_11b01b:
db "はい"
next "いいえ@"
; 11b022
Function11b022: ; 11b022
ld a, [wcd2e]
and a
jr z, .asm_11b02e
ld hl, StringBuffer3
call Function11b03d
.asm_11b02e
ld a, [wcd30]
and a
ret z
cp $3
ret z
ld hl, StringBuffer4
call Function11b03d
ret
; 11b03d
Function11b03d: ; 11b03d
push hl
push af
ld c, $1
.loop
ld a, [hli]
cp "♂"
jr z, .gender
cp "♀"
jr z, .gender
cp "@"
jr z, .done
inc c
jr .loop
.gender
dec hl
ld a, "@"
ld [hli], a
.done
dec hl
push hl
ld e, 4
ld d, 0
add hl, de
ld e, l
ld d, h
pop hl
.loop2
ld a, [hld]
ld [de], a
dec de
dec c
jr nz, .loop2
pop af
pop de
cp $1
jr nz, .female
ld hl, .MaleString
jr .got_string
.female
ld hl, .FemaleString
.got_string
ld bc, 4 ; string length
call CopyBytes
ret
; 11b07a
.MaleString: db "オスの "
.FemaleString: db "メスの "
Function11b082: ; 11b082
call Function11b242
ld a, $7
ld [wc7d3], a
call Function11b099
call Function11b295
call Function11b275
call SetPalettes
jp Function11ad8a
; 11b099
Function11b099: ; 11b099
ld c, $6
hlcoord 11, 1
ld a, [wc7d3]
add a
ld b, a
xor a
call Function11b236
ld a, [wc7d0]
ld e, a
ld d, $0
ld hl, wc6d0
add hl, de
ld e, l
ld d, h
hlcoord 11, 2
ld a, [wc7d3]
.loop
push af
ld a, [de]
ld [wd265], a
push de
push hl
call .PlaceMonNameOrPlaceholderString
pop hl
ld de, 2 * SCREEN_WIDTH
add hl, de
pop de
inc de
pop af
dec a
jr nz, .loop
ret
; 11b0cf
.PlaceMonNameOrPlaceholderString: ; 11b0cf
and a
ret z
call .CheckSeenFlag
ret c
call .SetCaughtFlag
push hl
call GetPokemonName
pop hl
call PlaceString
ret
; 11b0e1
.SetCaughtFlag: ; 11b0e1
call CheckCaughtMemMon
jr nz, .okay
inc hl
ret
.okay
ld a, $1
ld [hli], a
ret
; 11b0ec
.CheckSeenFlag: ; 11b0ec
call CheckSeenMemMon
ret nz
inc hl
ld de, .EmptySlot
call PlaceString
scf
ret
; 11b0f9
.EmptySlot: ; 11b0f9
db "ーーーーー@"
; 11b0ff
Function11b0ff: ; 11b0ff
ld hl, hJoyPressed
ld a, [hl]
and $2
jr nz, .asm_11b141
ld a, [hl]
and $1
jr nz, .asm_11b131
call Function11b175
jr nc, .asm_11b125
ld a, [wcd4c]
inc a
and $3
ld [wcd4c], a
xor a
ld [hBGMapMode], a
call Function11b099
ld a, $1
ld [hBGMapMode], a
ret
.asm_11b125
ld a, [wcd4c]
and a
ret z
inc a
and $3
ld [wcd4c], a
ret
.asm_11b131
call Function11b20b
call CheckSeenMemMon
jr z, .asm_11b13d
ld a, $1
jr .asm_11b148
.asm_11b13d
ld a, $2
jr .asm_11b148
.asm_11b141
ld hl, wJumptableIndex
ld a, $7
ld [hl], a
ret
.asm_11b148
call PlayClickSFX
ld [wcd4b], a
and a
jr z, .asm_11b16c
ld a, [wcf65]
cp $0
jr z, .asm_11b163
cp $fe
jr z, .asm_11b167
cp $ff
jr z, .asm_11b16b
jp Function11ad8a
.asm_11b163
ld a, $1
jr .asm_11b16c
.asm_11b167
ld a, $2
jr .asm_11b16c
.asm_11b16b
xor a
.asm_11b16c
ld [wcd30], a
ld a, $4
ld [wJumptableIndex], a
ret
; 11b175
Function11b175: ; 11b175
ld a, [wc7d3]
ld d, a
ld a, [wc7d2]
ld e, a
ld hl, hJoyLast
ld a, [hl]
and $40
jr nz, .asm_11b19a
ld a, [hl]
and $80
jr nz, .asm_11b1ae
ld a, d
cp e
jr nc, .asm_11b1ed
ld a, [hl]
and $20
jr nz, .asm_11b1c6
ld a, [hl]
and $10
jr nz, .asm_11b1d8
jr .asm_11b1ed
.asm_11b19a
ld hl, wc7d1
ld a, [hl]
and a
jr z, .asm_11b1a4
dec [hl]
jr .asm_11b1ef
.asm_11b1a4
ld hl, wc7d0
ld a, [hl]
and a
jr z, .asm_11b1ed
dec [hl]
jr .asm_11b1ef
.asm_11b1ae
ld hl, wc7d1
ld a, [hl]
inc a
cp e
jr nc, .asm_11b1ed
cp d
jr nc, .asm_11b1bc
inc [hl]
jr .asm_11b1ef
.asm_11b1bc
ld hl, wc7d0
add [hl]
cp e
jr nc, .asm_11b1ed
inc [hl]
jr .asm_11b1ef
.asm_11b1c6
ld hl, wc7d0
ld a, [hl]
and a
jr z, .asm_11b1ed
cp d
jr nc, .asm_11b1d4
xor a
ld [hl], a
jr .asm_11b1ef
.asm_11b1d4
sub d
ld [hl], a
jr .asm_11b1ef
.asm_11b1d8
ld hl, wc7d0
ld a, d
add a
add [hl]
jr c, .asm_11b1e3
cp e
jr c, .asm_11b1e8
.asm_11b1e3
ld a, e
sub d
ld [hl], a
jr .asm_11b1ef
.asm_11b1e8
ld a, [hl]
add d
ld [hl], a
jr .asm_11b1ef
.asm_11b1ed
and a
ret
.asm_11b1ef
call Function11b295
call Function11b275
scf
ret
; 11b1f7
Function11b1f7: ; 11b1f7
hlcoord 0, 0
ld a, $32
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
call ByteFill
ret
; 11b203
Function11b203: ; 11b203
.asm_11b203
ld a, [de]
cp $ff
ret z
inc de
ld [hli], a
jr .asm_11b203
; 11b20b
Function11b20b: ; 11b20b
ld a, [wc7d1]
ld hl, wc7d0
add [hl]
ld e, a
ld d, $0
ld hl, $c6d0
add hl, de
ld a, [hl]
ld [wd265], a
ret
; 11b21e
CheckCaughtMemMon: ; 11b21e
push de
push hl
ld a, [wd265]
dec a
call CheckCaughtMon
pop hl
pop de
ret
; 11b22a
CheckSeenMemMon: ; 11b22a
push de
push hl
ld a, [wd265]
dec a
call CheckSeenMon
pop hl
pop de
ret
; 11b236
Function11b236: ; 11b236
jp FillBoxWithByte
; 11b239
Function11b239: ; 11b239
ld e, a
ld d, 0
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
ret
; 11b242
Function11b242: ; 11b242
hlcoord 3, 4
ld de, StringBuffer3
call PlaceString
xor a
ld [MonType], a
farcall GetGender
hlcoord 1, 4
ld a, [CurPartySpecies]
ld bc, wcd2f
ld [bc], a
dec bc
jr c, asm_11b26a
jr z, asm_11b26f
ld a, $1
ld [bc], a
Function11b267:
ld [hl], $ef
ret
asm_11b26a
xor a
ld [bc], a
ld [hl], $7f
ret
asm_11b26f
ld a, $2
ld [bc], a
Function11b272:
ld [hl], $f5
ret
; 11b275
Function11b275: ; 11b275
call Function11b279
ret
; 11b279
Function11b279: ; 11b279
ld a, [wd265]
ld [CurSpecies], a
call CheckSeenMemMon
jr z, .asm_11b28f
call GetBaseData
ld a, [BaseGender]
ld [wcf65], a
jr .asm_11b294
.asm_11b28f
ld a, $ff
ld [wcf65], a
.asm_11b294
ret
; 11b295
Function11b295: ; 11b295
hlcoord 4, 13
ld de, String_11b308
call PlaceString
hlcoord 4, 14
ld de, String_11b308
call PlaceString
call Function11b20b
call CheckSeenMemMon
jr z, .asm_11b2d1
ld a, [$c608]
ld c, a
ld a, [$c608 + 1]
ld b, a
ld hl, $0007
add hl, bc
xor a
ld [hl], a
ld hl, $0003
add hl, bc
ld e, [hl]
farcall FlyFunction_GetMonIcon
hlcoord 4, 14
push hl
call GetPokemonName
jr .asm_11b2e7
.asm_11b2d1
ld a, [$c608]
ld c, a
ld a, [$c608 + 1]
ld b, a
ld hl, $0007
add hl, bc
ld a, $50
ld [hl], a
hlcoord 4, 13
push hl
ld de, String_11b30e
.asm_11b2e7
ld a, $6
ld bc, StringBuffer4
.asm_11b2ec
push af
ld a, [de]
ld [bc], a
inc de
inc bc
pop af
dec a
and a
jr nz, .asm_11b2ec
pop hl
ld de, StringBuffer4
call PlaceString
ret
; 11b2fe
String_11b2fe: ; 11b2fe
db "あげる#@"
; 11b303
String_11b303: ; 11b303
db "ほしい#@"
; 11b308
String_11b308: ; 11b308
db "     @"
; 11b30e
String_11b30e: ; 11b30e
db "みはっけん@"
; 11b314
Function11b314: ; 11b314
call Function11b31b
call Function11b3d9
ret
; 11b31b
Function11b31b: ; 11b31b
ld hl, .Coords
ld a, [wJumptableIndex]
cp 2
jr c, .tilemap_1
ld a, [wc7d1]
cp 4
jr nc, .tilemap_3
cp 3
jr c, .tilemap_1
ld a, [wJumptableIndex]
cp 2
jr z, .tilemap_1
cp 3
jr z, .tilemap_1
cp 6
jr z, .tilemap_1
ld bc, .Tilemap2
jr .load_sprites
.tilemap_3
ld bc, .Tilemap3
jr .load_sprites
.tilemap_1
ld bc, .Tilemap1
.load_sprites
call Function11b397
ret
; 11b350
.Coords:
dbpixel 3, 11, 2, 6 ; 0
dbpixel 3, 12, 2, 6 ; 1
dbpixel 3, 13, 2, 6 ; 2
dbpixel 3, 14, 2, 6 ; 3
dbpixel 3, 15, 2, 6 ; 4
dbpixel 3, 16, 2, 6 ; 5
dbpixel 3, 17, 2, 6 ; 6
dbpixel 4, 11, 2, 6 ; 7
dbpixel 4, 12, 2, 6 ; 8
dbpixel 4, 13, 2, 6 ; 9
dbpixel 4, 14, 2, 6 ; 10
dbpixel 4, 15, 2, 6 ; 11
dbpixel 4, 16, 2, 6 ; 12
dbpixel 4, 17, 2, 6 ; 13
db -1
.Tilemap1: ; vtiles
db $30 ; 0
db $31 ; 1
db $31 ; 2
db $31 ; 3
db $31 ; 4
db $31 ; 5
db $32 ; 6
db $40 ; 7
db $41 ; 8
db $41 ; 9
db $41 ; 10
db $41 ; 11
db $41 ; 12
db $42 ; 13
.Tilemap2: ; vtiles
db $30 ; 0
db $31 ; 1
db $31 ; 2
db $39 ; 3
db $39 ; 4
db $39 ; 5
db $39 ; 6
db $40 ; 7
db $41 ; 8
db $41 ; 9
db $39 ; 10
db $39 ; 11
db $39 ; 12
db $39 ; 13
.Tilemap3: ; vtiles
db $39 ; 0
db $39 ; 1
db $39 ; 2
db $39 ; 3
db $39 ; 4
db $39 ; 5
db $39 ; 6
db $39 ; 7
db $39 ; 8
db $39 ; 9
db $39 ; 10
db $39 ; 11
db $39 ; 12
db $39 ; 13
Function11b397: ; 11b397
ld de, Sprite01
.loop
ld a, [hl]
cp $ff
ret z
ld a, [wc7d1]
and $7
swap a
add [hl]
inc hl
ld [de], a ; y
inc de
ld a, [hli]
ld [de], a ; x
inc de
ld a, [bc]
inc bc
ld [de], a ; tile id
inc de
ld a, $5
ld [de], a ; attributes
inc de
jr .loop
; 11b3b6
Unreferenced_Function11b3b6: ; 11b3b6
.loop
ld a, [hl]
cp -1
ret z
ld a, [wcd4d]
and $7
swap a
add [hl]
inc hl
ld [de], a
inc de
ld a, [hli]
ld [de], a
inc de
push hl
ld l, c
ld h, b
ld a, [wcd4e]
add [hl]
inc bc
ld [de], a
inc de
pop hl
ld a, $5
ld [de], a
inc de
jr .loop
; 11b3d9
Function11b3d9: ; 11b3d9
ld de, Sprite29
push de
ld a, [wc7d2]
dec a
ld e, a
ld a, [wc7d1]
ld hl, wc7d0
add [hl]
cp e
jr z, .skip
ld hl, 0
ld bc, $70
call AddNTimes
ld e, l
ld d, h
ld b, 0
ld a, d
or e
jr z, .load_sprites
ld a, [wc7d2]
ld c, a
.loop1
ld a, e
sub c
ld e, a
ld a, d
sbc $0
ld d, a
jr c, .load_sprites
inc b
jr .loop1
.skip
ld b, 14 * 8
.load_sprites
ld a, 2 * 8 + 5
add b
pop hl
ld [hli], a
cp $41
jr c, .version1
ld a, [wJumptableIndex]
cp 4
jr z, .version2
cp 5
jr z, .version2
cp 7
jr z, .version2
cp 8
jr z, .version2
.version1
ld a, 19 * 8 + 3
ld [hli], a
ld a, [wcd4c]
add $3c
ld [hli], a
ld a, [wcd4c]
add $1
ld [hl], a
ret
.version2
ld a, 19 * 8 + 3
ld [hli], a
ld a, $39
ld [hli], a
xor a
ld [hl], a
ret
; 11b444
Special_Function11b444: ; 11b444
; special
call Mobile46_InitJumptable
call Mobile46_RunJumptable
ret
; 11b44b
Mobile46_InitJumptable: ; 11b44b
xor a
ld [wJumptableIndex], a
ld [wcf64], a
ld [wcf65], a
ld [wcf66], a
call UpdateTime
ret
; 11b45c
Mobile46_RunJumptable: ; 11b45c
.loop
call .IterateJumptable
call DelayFrame
ld a, [wJumptableIndex]
cp 4
jr nz, .loop
ret
; 11b46a
.IterateJumptable: ; 11b46a
jumptable .Jumptable, wJumptableIndex
.Jumptable:
dw Function11b483
dw Function11b570
dw Function11b5c0
dw Function11b5e0
dw Function11b5e7 ; unused
; 11b483
Function11b483: ; 11b483
call .InitRAM
ld hl, PlayerName
ld a, NAME_LENGTH_JAPANESE - 1
.loop1
push af
ld a, [hli]
ld [bc], a
inc bc
pop af
dec a
and a
jr nz, .loop1
ld de, PARTYMON_STRUCT_LENGTH
ld hl, PartyMon1Species
ld a, [wcd82]
dec a
push af
.loop2
and a
jr z, .okay
add hl, de
dec a
jr .loop2
.okay
push bc
ld a, PARTYMON_STRUCT_LENGTH
.loop3
push af
ld a, [hli]
ld [bc], a
inc bc
pop af
dec a
and a
jr nz, .loop3
pop de
push bc
ld a, [de]
ld [CurSpecies], a
call GetBaseData
ld hl, MON_LEVEL
add hl, de
ld a, [hl]
ld [CurPartyLevel], a
ld hl, MON_MAXHP
add hl, de
push hl
ld hl, MON_STAT_EXP - 1
add hl, de
pop de
push de
ld b, OTPARTYMON
predef CalcPkmnStats
pop de
ld h, d
ld l, e
dec hl
dec hl
ld a, [de]
ld [hli], a
inc de
ld a, [de]
ld [hl], a
pop bc
ld de, NAME_LENGTH
ld hl, PartyMonOT
pop af
push af
.loop4
and a
jr z, .okay2
add hl, de
dec a
jr .loop4
.okay2
ld a, NAME_LENGTH - 1
.loop5
push af
ld a, [hli]
ld [bc], a
inc bc
pop af
dec a
and a
jr nz, .loop5
ld de, NAME_LENGTH
ld hl, PartyMonNicknames
pop af
push af
.loop6
and a
jr z, .okay3
add hl, de
dec a
jr .loop6
.okay3
ld a, NAME_LENGTH - 1
.loop7
push af
ld a, [hli]
ld [bc], a
inc bc
pop af
dec a
and a
jr nz, .loop7
ld de, MAIL_STRUCT_LENGTH
ld hl, sPartyMail
pop af
.loop8
and a
jr z, .okay4
add hl, de
dec a
jr .loop8
.okay4
ld a, BANK(sPartyMail)
call GetSRAMBank
ld a, MAIL_STRUCT_LENGTH
.loop9
push af
ld a, [hli]
ld [bc], a
inc bc
pop af
dec a
and a
jr nz, .loop9
call CloseSRAM
jp Function11ad8a
.InitRAM:
ld bc, $c626
ld a, [PlayerID]
ld [wcd2a], a
ld [bc], a
inc bc
ld a, [PlayerID + 1]
ld [wcd2b], a
ld [bc], a
inc bc
ld a, [wSecretID]
ld [wcd2c], a
ld [bc], a
inc bc
ld a, [wSecretID + 1]
ld [wcd2d], a
ld [bc], a
inc bc
ld a, [wcd2e]
ld [bc], a
inc bc
ld a, [wcd2f]
ld [bc], a
inc bc
ld a, [wcd30]
ld [bc], a
inc bc
ld a, [wd265]
ld [bc], a
inc bc
ret
; 11b570
Function11b570: ; 11b570
call Function118007
ld a, [ScriptVar]
and a
jr nz, .exit
call .SaveData
jp Function11ad8a
.exit
ld a, $4
ld [wJumptableIndex], a
ret
.SaveData:
ld a, $3
ld [rSVBK], a
ld hl, w3_d800
ld de, $c608
ld bc, w3_d88f - w3_d800
call CopyBytes
ld a, $1
ld [rSVBK], a
ld a, $5
call GetSRAMBank
ld de, $a800
ld a, $1
ld [de], a
inc de
ld hl, $c608
ld bc, w3_d88f - w3_d800
call CopyBytes
push de
pop hl
ld a, [hRTCMinutes]
ld [hli], a
ld a, [hRTCHours]
ld [hli], a
ld a, [hRTCDayLo]
ld [hli], a
ld a, [hRTCDayHi]
ld [hl], a
call CloseSRAM
ret
; 11b5c0
Function11b5c0: ; 11b5c0
ld a, [wcd82]
dec a
ld [CurPartyMon], a
xor a
ld [wPokemonWithdrawDepositParameter], a
farcall RemoveMonFromPartyOrBox
farcall Function170807
farcall SaveAfterLinkTrade
jp Function11ad8a
; 11b5e0
Function11b5e0: ; 11b5e0
xor a
ld [ScriptVar], a
jp Function11ad8a
; 11b5e7
Function11b5e7: ; 11b5e7
ret
; 11b5e8
Special_Function11b5e8: ; 11b5e8
ld a, $0
call GetSRAMBank
ld hl, wRTC
ld de, $c608
ld bc, 4
call CopyBytes
call CloseSRAM
ld a, $5
call GetSRAMBank
ld hl, $c608
ld de, $b08c
ld bc, 4
call CopyBytes
ld a, $2
ld [$a800], a
ld a, [$a81f]
ld [wcd2a], a
ld a, [$a820]
ld [wcd2b], a
ld a, [$a821]
ld [wcd2c], a
ld a, [$a822]
ld [wcd2d], a
ld a, [$a823]
ld [wcd2e], a
ld a, [$a824]
ld [wcd2f], a
ld a, [$a825]
ld [wcd30], a
ld a, [$a826]
ld [wcd31], a
call CloseSRAM
call Mobile46_InitJumptable
call .loop
ret
.loop
call .RunJumptable
call DelayFrame
ld a, [wJumptableIndex]
cp $1
jr nz, .loop
ret
.RunJumptable:
jumptable .Jumptable, wJumptableIndex
.Jumptable:
dw Function11b66d
dw Function11b6b3
; 11b66d
Function11b66d: ; 11b66d
call Function1180b8
ld a, [ScriptVar]
and a
jr nz, .asm_11b6b0
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
ld a, [w3_d090]
ld b, a
pop af
ld [rSVBK], a
ld a, b
and a
jr z, .asm_11b691
cp $1
jr nz, .asm_11b6b0
call Function11b6b4
jr .asm_11b6b0
.asm_11b691
farcall Function17081d
ld a, [ScriptVar]
and a
jr z, .asm_11b6b0
xor a
ld [ScriptVar], a
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
ld a, $2
ld [w3_d090], a
pop af
ld [rSVBK], a
.asm_11b6b0
jp Function11ad8a
; 11b6b3
Function11b6b3: ; 11b6b3
ret
; 11b6b4
Function11b6b4: ; 11b6b4
ld a, $5
call GetSRAMBank
ld a, [wcd30]
ld [$c708], a
ld a, [wcd31]
ld [$c709], a
ld a, LOW($c708) ; Species
ld [wMobileMonSpeciesPointerBuffer], a
ld a, HIGH($c708)
ld [wMobileMonSpeciesPointerBuffer + 1], a
ld a, LOW($c60d) ; Partymon Struct
ld [wMobileMonStructurePointerBuffer], a
ld a, HIGH($c60d)
ld [wMobileMonStructurePointerBuffer + 1], a
ld a, LOW($c63d) ; OT
ld [wMobileMonOTNamePointerBuffer], a
ld a, HIGH($c63d)
ld [wMobileMonOTNamePointerBuffer + 1], a
ld a, LOW($c642) ; Nickname
ld [wMobileMonNicknamePointerBuffer], a
ld a, HIGH($c642)
ld [wMobileMonNicknamePointerBuffer + 1], a
ld a, LOW($c647) ; Mail
ld [wMobileMonMailPointerBuffer], a
ld a, HIGH($c647)
ld [wMobileMonMailPointerBuffer + 1], a
ld a, $46
ld [$c628], a
ld de, $c63d
ld c, 5
farcall CheckStringForErrors
jr nc, .length_check_OT
farcall Mobile_CopyDefaultOTName
.length_check_OT
ld de, $c63d
lb bc, 1, 5
farcall CheckStringContainsLessThanBNextCharacters
jr nc, .error_check_nick
farcall Mobile_CopyDefaultOTName
.error_check_nick
ld de, $c642
ld c, 5
farcall CheckStringForErrors
jr nc, .length_check_nick
farcall Mobile_CopyDefaultNickname
.length_check_nick
ld de, $c642
lb bc, 1, 5
farcall CheckStringContainsLessThanBNextCharacters
jr nc, .error_check_mail
farcall Mobile_CopyDefaultNickname
.error_check_mail
ld de, $c647
ld c, MAIL_MSG_LENGTH + 1
farcall CheckStringForErrors
jr nc, .length_check_mail
farcall Mobile_CopyDefaultMail
.length_check_mail
ld de, $c647
lb bc, 2, MAIL_MSG_LENGTH + 1
farcall CheckStringContainsLessThanBNextCharacters
jr c, .fix_mail
ld a, b
cp $2
jr nz, .mail_ok
.fix_mail
farcall Mobile_CopyDefaultMail
.mail_ok
ld de, $c668
ld c, $5
farcall CheckStringForErrors
jr nc, .length_check_author
farcall Mobile_CopyDefaultMailAuthor
.length_check_author
ld de, $c668
lb bc, 1, 5
farcall CheckStringContainsLessThanBNextCharacters
jr nc, .author_okay
farcall Mobile_CopyDefaultMailAuthor
.author_okay
ld a, [$c60e]
cp -1
jr nz, .item_okay
xor a
ld [$c60e], a
.item_okay
ld a, [wcd31]
ld [$c60d], a
ld [CurSpecies], a
call GetBaseData
ld hl, $c60d + MON_LEVEL
ld a, [hl]
cp MIN_LEVEL
ld a, MIN_LEVEL
jr c, .replace_level
ld a, [hl]
cp MAX_LEVEL
jr c, .done_level
ld a, MAX_LEVEL
.replace_level
ld [hl], a
.done_level
ld [CurPartyLevel], a
ld hl, $c60d + MON_STAT_EXP - 1
ld de, $c60d + MON_MAXHP
ld b, $1
predef CalcPkmnStats
ld de, $c60d + MON_MAXHP
ld hl, $c60d + MON_HP
ld a, [de]
ld [hli], a
inc de
ld a, [de]
ld [hl], a
call AddMobileMonToParty
ret
; 11b7e5
Special_Function11b7e5: ; 11b7e5
ld a, [$c60d] ; species
ld [wOTTrademonSpecies], a
ld [CurPartySpecies], a
ld a, [wcd81]
ld [wc74e], a
ld hl, $c63d ; OT
ld de, wOTTrademonOTName
ld bc, 5
call CopyBytes
ld a, "@"
ld [de], a
ld a, [$c60d + MON_ID] ; id
ld [wOTTrademonID], a
ld a, [$c60d + MON_ID + 1]
ld [wOTTrademonID + 1], a
ld hl, $c60d + MON_DVS ; dvs
ld a, [hli]
ld [wOTTrademonDVs], a
ld a, [hl]
ld [wOTTrademonDVs + 1], a
ld bc, $c60d ; pokemon_data_start
farcall GetCaughtGender
ld a, c
ld [wOTTrademonCaughtData], a
call SpeechTextBox
call FadeToMenu
farcall MobileTradeAnimation_ReceiveGetmonFromGTS
farcall Function17d1f1
ld a, $1
ld [wForceEvolution], a
ld a, $2
ld [wLinkMode], a
farcall EvolvePokemon
xor a
ld [wLinkMode], a
farcall SaveAfterLinkTrade
ld a, $5
call GetSRAMBank
ld a, $5
ld [$a800], a
call CloseSRAM
ld a, [MapGroup]
ld b, a
ld a, [MapNumber]
ld c, a
call GetMapSceneID
ld a, d
or e
jr z, .asm_11b872
ld a, $1
ld [de], a
.asm_11b872
call CloseSubmenu
call RestartMapMusic
ret
; 11b879
Special_Function11b879: ; 11b879
farcall BattleTower_CheckSaveFileExistsAndIsYours
ld a, [ScriptVar]
and a
ret z
ld a, $5
call GetSRAMBank
ld a, [$a800]
ld [ScriptVar], a
ld a, [$a890]
ld [wcd49], a
ld a, [$a891]
ld [wcd4a], a
ld a, [$a892]
ld [wcd4b], a
ld a, [$a893]
ld [wcd4c], a
call CloseSRAM
ld a, [ScriptVar]
and a
ret z
ld hl, wcd4c
ld a, [hRTCDayHi]
cp [hl]
ret nz
dec hl
ld a, [hRTCDayLo]
cp [hl]
ret nz
ld hl, wcd4a
ld a, [hRTCHours]
cp [hl]
jr nc, .asm_11b8d8
ld a, $18
sub [hl]
ld hl, hRTCHours
add [hl]
ld [wcd4c], a
ld a, [hRTCMinutes]
ld [wcd4b], a
xor a
ld [wcd4a], a
jr .asm_11b8e2
.asm_11b8d8
ld a, [hRTCMinutes]
ld [wcd4b], a
ld a, [hRTCHours]
ld [wcd4c], a
.asm_11b8e2
xor a
ld l, a
ld h, a
ld b, a
ld d, a
ld a, [wcd4b]
ld e, a
ld a, [wcd4c]
ld c, $3c
call AddNTimes
add hl, de
push hl
xor a
ld l, a
ld h, a
ld b, a
ld d, a
ld a, [wcd49]
ld e, a
ld a, [wcd4a]
ld c, $3c
call AddNTimes
add hl, de
ld a, l
cpl
add $1
ld e, a
ld a, h
cpl
adc $0
ld d, a
pop hl
add hl, de
ld de, $ff88
add hl, de
bit 7, h
ret z
ld a, $2
ld [ScriptVar], a
ret
; 11b920
Special_Function11b920: ; 11b920
call Mobile46_InitJumptable
ld a, $5
call GetSRAMBank
ld hl, $a81f
ld de, $c626
ld bc, 8
call CopyBytes
call CloseSRAM
call Function118000
ret
; 11b93b
Special_Function11b93b: ; 11b93b
ld a, $5
call GetSRAMBank
xor a
ld [$a800], a
ld hl, $a823
ld de, $c608
ld bc, $008f
call CopyBytes
call CloseSRAM
ld a, LOW($c608)
ld [wMobileMonSpeciesPointerBuffer], a
ld a, HIGH($c608)
ld [wMobileMonSpeciesPointerBuffer + 1], a
ld a, LOW($c611)
ld [wMobileMonStructurePointerBuffer], a
ld a, HIGH($c611)
ld [wMobileMonStructurePointerBuffer + 1], a
ld a, LOW($c641)
ld [wMobileMonOTNamePointerBuffer], a
ld a, HIGH($c641)
ld [wMobileMonOTNamePointerBuffer + 1], a
ld a, LOW($c646)
ld [wMobileMonNicknamePointerBuffer], a
ld a, HIGH($c646)
ld [wMobileMonNicknamePointerBuffer + 1], a
ld a, LOW($c64b)
ld [wMobileMonMailPointerBuffer], a
ld a, HIGH($c64b)
ld [wMobileMonMailPointerBuffer + 1], a
call AddMobileMonToParty
farcall SaveAfterLinkTrade
ret
; 11b98f
AddMobileMonToParty: ; 11b98f
ld hl, PartyCount
ld a, [hl]
ld e, a
inc [hl]
ld a, [wMobileMonSpeciesPointerBuffer]
ld l, a
ld a, [wMobileMonSpeciesPointerBuffer + 1]
ld h, a
inc hl
ld bc, PartySpecies
ld d, e
.loop1
inc bc
dec d
jr nz, .loop1
ld a, e
ld [CurPartyMon], a
ld a, [hl]
ld [bc], a
inc bc
ld a, -1
ld [bc], a
ld hl, PartyMon1Species
ld bc, PARTYMON_STRUCT_LENGTH
ld a, e
ld [wMobileMonSpeciesBuffer], a
.loop2
add hl, bc
dec a
and a
jr nz, .loop2
ld e, l
ld d, h
ld a, [wMobileMonStructurePointerBuffer]
ld l, a
ld a, [wMobileMonStructurePointerBuffer + 1]
ld h, a
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
ld hl, PartyMonOT
ld bc, NAME_LENGTH
ld a, [wMobileMonSpeciesBuffer]
.loop3
add hl, bc
dec a
and a
jr nz, .loop3
ld e, l
ld d, h
ld a, [wMobileMonOTNamePointerBuffer]
ld l, a
ld a, [wMobileMonOTNamePointerBuffer + 1]
ld h, a
ld bc, MON_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [de], a
ld hl, PartyMonNicknames
ld bc, MON_NAME_LENGTH
ld a, [wMobileMonSpeciesBuffer]
.loop4
add hl, bc
dec a
and a
jr nz, .loop4
ld e, l
ld d, h
ld a, [wMobileMonNicknamePointerBuffer]
ld l, a
ld a, [wMobileMonNicknamePointerBuffer + 1]
ld h, a
ld bc, MON_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [de], a
ld hl, sPartyMail
ld bc, MAIL_STRUCT_LENGTH
ld a, [wMobileMonSpeciesBuffer]
.loop5
add hl, bc
dec a
and a
jr nz, .loop5
ld a, BANK(sPartyMail)
call GetSRAMBank
ld e, l
ld d, h
ld a, [wMobileMonMailPointerBuffer]
ld l, a
ld a, [wMobileMonMailPointerBuffer + 1]
ld h, a
ld bc, MAIL_STRUCT_LENGTH
call CopyBytes
call CloseSRAM
ret
; 11ba38
Special_Function11ba38: ; 11ba38
farcall CheckCurPartyMonFainted
ret c
xor a
ld [ScriptVar], a
ret
; 11ba44
TilemapPack_11ba44:
db $47, $30, $0a, $0a, $0a, $0a, $0a, $56 ; 00
db $46, $2f, $0a, $0a, $0a, $0a, $0a, $55 ; 01
db $45, $3d, $0a, $0a, $0a, $0a, $0a, $54 ; 02
db $44, $30, $0a, $0a, $0a, $0a, $0a, $53 ; 03
db $43, $2f, $0a, $0a, $0a, $0a, $0a, $52 ; 04
db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $51 ; 05
db $4a, $30, $0a, $0a, $0a, $0a, $0a, $50 ; 06
db $4a, $2f, $0a, $0a, $0a, $0a, $0a, $4f ; 07
db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $4e ; 08
db $4a, $30, $0a, $0a, $0a, $0a, $4d, $42 ; 09
db $4a, $2f, $0a, $0a, $0a, $0a, $6b, $58 ; 0a
db $4a, $3d, $0a, $0a, $0a, $0a, $6a, $58 ; 0b
db $4a, $30, $0a, $0a, $0a, $0a, $69, $58 ; 0c
db $4a, $2f, $0a, $0a, $0a, $0a, $68, $58 ; 0d
db $4a, $3d, $0a, $0a, $0a, $66, $67, $58 ; 0e
db $4a, $30, $0a, $0a, $0a, $65, $0a, $58 ; 0f
db $4a, $2f, $0a, $0a, $0a, $64, $0a, $58 ; 10
db $4a, $3d, $0a, $0a, $0a, $63, $0a, $58 ; 11
db $4a, $30, $0a, $0a, $61, $62, $0a, $58 ; 12
db $4a, $2f, $0a, $0a, $5f, $60, $0a, $58 ; 13
db $4a, $3d, $0a, $61, $62, $0a, $0a, $58 ; 14
db $4a, $30, $0a, $63, $0a, $0a, $0a, $58 ; 15
db $4a, $2f, $69, $0a, $0a, $0a, $0a, $58 ; 16
db $4a, $3d, $81, $0a, $0a, $0a, $0a, $58 ; 17
db $4a, $30, $80, $0a, $0a, $0a, $0a, $58 ; 18
db $4a, $2f, $7f, $0a, $0a, $0a, $0a, $58 ; 19
db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $58 ; 1a
db $4a, $30, $0a, $0a, $0a, $0a, $0a, $58 ; 1b
db $4a, $2f, $68, $87, $88, $89, $0a, $58 ; 1c
db $4a, $3d, $6e, $6f, $70, $75, $76, $58 ; 1d
db $4a, $30, $75, $76, $5c, $5d, $5e, $58 ; 1e
db $4a, $2f, $71, $72, $73, $74, $6d, $58 ; 1f
db $4a, $3d, $75, $76, $77, $8a, $8b, $58 ; 20
db $4a, $30, $66, $67, $65, $0a, $6a, $58 ; 21
db $4a, $2f, $83, $84, $0a, $83, $84, $58 ; 22
db $4a, $3d, $0a, $85, $82, $84, $0a, $58 ; 23
db $4a, $30, $41, $80, $40, $0a, $0a, $58 ; 24
db $4a, $2f, $83, $0a, $0a, $0a, $0a, $58 ; 25
db $4a, $3d, $40, $0a, $0a, $0a, $0a, $58 ; 26
db -1
TilemapPack_11bb7d:
db $0a, $0a, $0a, $0a, $0a, $0a, $16, $00 ; 00
db $78, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 01
db $79, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 02
db $7a, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 03
db $7b, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 04
db $7c, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 05
db $7d, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 06
db $2e, $7e, $0a, $0a, $0a, $0a, $8c, $00 ; 07
db $2e, $80, $0a, $0a, $0a, $0a, $8d, $00 ; 08
db $2e, $81, $0a, $0a, $0a, $0a, $8e, $00 ; 09
db $2e, $82, $0a, $0a, $0a, $0a, $8c, $00 ; 0a
db $2e, $69, $0a, $0a, $0a, $0a, $8d, $00 ; 0b
db $2e, $6a, $0a, $0a, $0a, $0a, $8e, $00 ; 0c
db $2e, $6b, $0a, $0a, $0a, $0a, $8c, $00 ; 0d
db $2e, $0a, $68, $0a, $0a, $0a, $8d, $00 ; 0e
db $2e, $0a, $69, $0a, $0a, $0a, $8e, $00 ; 0f
db $2e, $0a, $0a, $6a, $0a, $0a, $8c, $00 ; 10
db $2e, $0a, $0a, $6b, $0a, $0a, $8d, $00 ; 11
db $2e, $0a, $0a, $0a, $80, $0a, $8e, $00 ; 12
db $2e, $0a, $0a, $0a, $82, $0a, $8c, $00 ; 13
db $2e, $0a, $0a, $0a, $6c, $0a, $8d, $00 ; 14
db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 15
db $2e, $0a, $6b, $0a, $0a, $0a, $8c, $00 ; 16
db $2e, $0a, $0a, $69, $0a, $0a, $8d, $00 ; 17
db $2e, $0a, $0a, $6a, $0a, $0a, $8e, $00 ; 18
db $2e, $0a, $0a, $0a, $68, $0a, $8c, $00 ; 19
db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1a
db $2e, $0a, $0a, $61, $62, $0a, $8e, $00 ; 1b
db $2e, $0a, $0a, $0a, $5f, $60, $8c, $00 ; 1c
db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1d
db $2e, $0a, $0a, $0a, $0a, $69, $8c, $00 ; 1e
db $2e, $0a, $0a, $0a, $0a, $6b, $8d, $00 ; 1f
db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 20
db $2e, $0a, $0a, $0a, $0a, $86, $8c, $00 ; 21
db $2e, $0a, $85, $0a, $0a, $0a, $8d, $00 ; 22
db $2e, $0a, $0a, $84, $0a, $0a, $8e, $00 ; 23
db -1