diff options
Diffstat (limited to 'misc/mobile_40.asm')
-rw-r--r-- | misc/mobile_40.asm | 8156 |
1 files changed, 0 insertions, 8156 deletions
diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm deleted file mode 100644 index fa6a39fdf..000000000 --- a/misc/mobile_40.asm +++ /dev/null @@ -1,8156 +0,0 @@ -Function100000: ; 100000 -; d: 1 or 2 -; e: bank -; bc: addr - ld a, [rSVBK] - push af - ld a, 1 - ld [rSVBK], a - - call Function100022 - call Function1000ba - call Function100675 - call Function100057 - call Function10016f - call Function100276 - - push bc - call Function100301 - pop bc - - pop af - ld [rSVBK], a - ret -; 100022 - -Function100022: ; 100022 - push de - push bc - call SetRAMStateForMobile - pop bc - pop de - ld a, d - ld [wcd21], a - ld a, e - ld [wcd22], a - ld a, c - ld [wcd23], a - ld a, b - ld [wcd24], a - callba Function10127e - callba MobileFunc_106462 - callba Function106464 ; load broken gfx - callba Function11615a ; init RAM - ld hl, VramState - set 1, [hl] - ret -; 100057 - -Function100057: ; 100057 - call DisableMobile - call ReturnToMapFromSubmenu - ld hl, VramState - res 1, [hl] - ret -; 100063 - -SetRAMStateForMobile: ; 100063 - xor a - ld hl, BGMapBuffer - ld bc, $65 - call ByteFill - xor a - ld hl, wc300 - ld bc, $100 - call ByteFill - ld a, [rIE] - ld [BGMapBuffer], a - xor a - ld [hMapAnims], a - ld [hLCDCPointer], a - ret -; 100082 - -EnableMobile: ; 100082 - xor a - ld hl, OverworldMap - ld bc, OverworldMapEnd - OverworldMap - call ByteFill - - di - call DoubleSpeed - xor a - ld [rIF], a - ld a, 1 << VBLANK + 1 << LCD_STAT + 1 << TIMER + 1 << SERIAL - ld [rIE], a - xor a - ld [hMapAnims], a - ld [hLCDCPointer], a - ld a, $01 - ld [hMobileReceive], a - ld [hMobile], a - ei - - ret -; 0x1000a4 - -DisableMobile: ; 1000a4 - di - xor a - ld [hMobileReceive], a - ld [hMobile], a - xor a - ld [hVBlank], a - call NormalSpeed - xor a - ld [rIF], a - ld a, [BGMapBuffer] - ld [rIE], a - ei - ret -; 1000ba - -Function1000ba: ; 1000ba -.loop - ; call [wcd22]:([wcd23][wcd24] + [wMobileCommsJumptableIndex]) - ld hl, wcd23 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wMobileCommsJumptableIndex] - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [wcd22] - call GetFarHalfword - ld a, [wcd22] - rst FarCall - - call Function1000e8 - call Function1000fa - call Function100144 - call Function100163 - ld a, [wcd2b] - and a - jr z, .loop - call DelayFrame - ret -; 1000e8 - -Function1000e8: ; 1000e8 - ld hl, wcd29 - bit 7, [hl] - ret z - callba Function115dd3 - ld hl, wcd29 - set 6, [hl] - ret -; 1000fa - -Function1000fa: ; 1000fa - ld a, [wc30d] - and a - ret z - ld hl, wcd29 - bit 4, [hl] - ret z - ld a, [wcd2b] - and a - jr nz, .asm_100117 - callba Function11619d - ld hl, wcd29 - set 6, [hl] - ret - -.asm_100117 - di - xor a - ld [rIF], a - ld a, [rIE] - and $13 - ld [rIE], a - xor a - ld [hMobileReceive], a - ld [hMobile], a - ei - - ld a, [wLinkMode] - push af - xor a - ld [wLinkMode], a - ld a, $04 - ld [wc314 + 5], a - callba Function11619d - ld hl, wcd29 - set 6, [hl] - pop af - ld [wLinkMode], a - ret -; 100144 - -Function100144: ; 100144 - ld hl, wcd29 - bit 5, [hl] - jr z, .asm_100155 - res 5, [hl] - res 2, [hl] - res 6, [hl] - call Function100320 - ret - -.asm_100155 - bit 2, [hl] - ret z - res 2, [hl] - res 6, [hl] - callba HDMATransferTileMapToWRAMBank3 - ret -; 100163 - -Function100163: ; 100163 - ld hl, wcd29 - bit 6, [hl] - ret z - res 6, [hl] - call DelayFrame - ret -; 10016f - -Function10016f: ; 10016f - ld a, [wcd2b] - cp $01 - ret z - cp $02 - ret z - cp $ff - jp z, .asm_1001f5 - cp $fe - jr z, .asm_1001c4 - cp $f5 - jr z, .asm_1001e7 - cp $f6 - jr z, .asm_1001b6 - cp $fa - jp z, .asm_1001bd - cp $f7 - jp z, .asm_1001ee - cp $f4 - jr z, .asm_1001d2 - cp $f3 - jr z, .asm_1001cb - cp $f1 - jr z, .asm_1001c4 - cp $f2 - jr z, .asm_1001c4 - cp $fc - jr z, .asm_1001e6 - cp $fb - jr z, .asm_1001af - cp $f8 - ret z - ret ; ???????????????????????????? - -.asm_1001af - ld a, $d7 - ld de, 0 - jr .asm_1001d7 - -.asm_1001b6 - ld a, $d5 - ld de, 0 - jr .asm_1001d7 - -.asm_1001bd - ld a, $d6 - ld de, 0 - jr .asm_1001d7 - -.asm_1001c4 - ld a, $d2 - ld de, 2 - jr .asm_1001d7 - -.asm_1001cb - ld a, $d1 - ld de, 1 - jr .asm_1001d7 - -.asm_1001d2 - ld a, $d0 - ld de, 0 - -.asm_1001d7 - ld [wc300], a - ld a, d - ld [wc302], a - ld a, e - ld [wc301], a - call Function10020b - ret - -.asm_1001e6 - ret - -.asm_1001e7 - ld de, String10025e - call Function100232 - ret - -.asm_1001ee - ld de, String10024d - call Function100232 - ret - -.asm_1001f5 - ld a, [wcd2c] - ld [wc300], a - ld a, [wcd2d] - ld [wc302], a - ld a, [wcd2d] - ld [wc301], a - call Function10020b - ret -; 10020b - -Function10020b: ; 10020b - xor a - ld [wc303], a - callba FadeOutPalettes - callba Function106464 - call HideSprites - call DelayFrame - - ld a, [rSVBK] - push af - ld a, $01 - ld [rSVBK], a - - callba DisplayMobileError - - pop af - ld [rSVBK], a - ret -; 100232 - -Function100232: ; 100232 - push de - callba Function106464 - call Function3f20 - call UpdateSprites - hlcoord 1, 2 - pop de - call PlaceString - call Function100320 - call JoyWaitAorB - ret -; 10024d - -String10024d: ; 10024d - db "つうしんを キャンセル しました@" -; 10025e - -String10025e: ; 10025e - db "おともだちと えらんだ へやが" - next "ちがうようです@" -; 100276 - -Function100276: ; 100276 - ld a, [wcd2b] - cp $01 - jr z, .asm_10029f - cp $02 - jr z, .asm_100296 - cp $f5 - jr z, .asm_1002a5 - cp $f6 - jr z, .asm_1002a5 - cp $f7 - jr z, .asm_100293 - cp $f8 - jr z, .asm_1002b1 - jr .asm_1002c0 - -.asm_100293 - ld c, $02 - ret - -.asm_100296 - callba Script_reloadmappart - ld c, $04 - ret - -.asm_10029f - call Function1002dc - ld c, 0 - ret - -.asm_1002a5 - callba Script_reloadmappart - call Function1002ed - ld c, $03 - ret - -.asm_1002b1 - call Function1002c9 - call Function1002dc - ld de, String10024d - call Function100232 - ld c, $02 - ret - -.asm_1002c0 - call Function1002c9 - call Function1002dc - ld c, $01 - ret -; 1002c9 - -Function1002c9: ; 1002c9 - ld hl, wcd2a - bit 0, [hl] - ret z - callba CleanUpBattleRAM - callba LoadPokemonData - ret -; 1002dc - -Function1002dc: ; 1002dc - ld a, MAPSETUP_LINKRETURN - ld [hMapEntryMethod], a - callba RunMapSetupScript - xor a - ld [hMapEntryMethod], a - call LoadStandardFont - ret -; 1002ed - -Function1002ed: ; 1002ed - callba LoadOW_BGPal7 - callba ApplyPals - ld a, $01 - ld [hCGBPalUpdate], a - call DelayFrame - ret -; 100301 - -Function100301: ; 100301 - ld hl, wcd2a - bit 1, [hl] - ret z - callba Function106464 - callba Function10202c - callba Function115dd3 - call Function100320 - call JoyWaitAorB - ret -; 100320 - -Function100320: ; 100320 - callba Mobile_ReloadMapPart - ret -; 100327 - -Function100327: ; 100327 - callba HDMATransferTileMapToWRAMBank3 - ret -; 100327 - - -Function10032e: ; 10032e - call Function10034d - ld e, a - ret nc - ld [wcd2b], a - ret -; 100337 - -Function100337: ; 100337 - call Function10032e - ret c - ld a, [wc821] - bit 4, a - jr z, .asm_100345 - ld a, e - and a - ret - -.asm_100345 - ld a, $f9 - ld e, a - ld [wcd2b], a - scf - ret -; 10034d - -Function10034d: ; 10034d - ld a, [wc821] - bit 1, a - jr nz, .asm_10036a - bit 2, a - jr nz, .asm_10037e - bit 3, a - jr nz, .asm_100366 - bit 0, a - jr nz, .asm_100364 - ld a, $01 - and a - ret - -.asm_100364 - xor a - ret - -.asm_100366 - ld a, $02 - and a - ret - -.asm_10036a - ld a, 0 - call Function3e32 - ld [wcd2c], a - ld a, h - ld [wcd2d], a - ld a, l - ld [wcd2e], a - ld a, $ff - scf - ret - -.asm_10037e - ld a, $fe - scf - ret -; 100382 - -Function100382: ; 100382 - ld a, [wcd27] - ld hl, Jumptable_10044e - rst JumpTable - ret -; 10038a - -Function10038a: ; 10038a - ld hl, wccb4 - ld a, $2e - call Function3e32 - ret -; 100393 - -Function100393: ; 100393 - ld hl, wcc60 - ld a, $3a - call Function3e32 - ret -; 10039c - -Function10039c: ; 10039c - ld hl, wcc60 - ld de, w3_d000 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret -; 1003ab - -Function1003ab: ; 1003ab - ld hl, w3_d000 - ld de, wcc60 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret -; 1003ba - -Function1003ba: ; 1003ba - ld hl, wccb4 - ld de, w3_d080 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret -; 1003c9 - -Function1003c9: ; 1003c9 - ld hl, w3_d080 - ld de, wccb4 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret -; 1003d8 - -Function1003d8: ; 1003d8 - ld hl, wccb4 - ld a, [hli] - ld c, a - ld b, 0 - push hl - add hl, bc - ld a, [BGMapPalBuffer] - ld [hl], a - pop hl - inc bc - call Function10043a - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld a, c - add $02 - ld [wccb4], a - ret -; 1003f5 - -Function1003f5: ; 1003f5 - ld a, [wcc60] - sub $03 - ld [wcc60], a - ld a, [wccb4] - sub $03 - ld [wccb4], a - ret -; 100406 - -Function100406: ; 100406 - ld a, [wcc60] - sub $02 - ld c, a - ld b, 0 - ld hl, wcc61 - call Function10043a - add hl, bc - ld a, [hli] - cp e - jr nz, .asm_100426 - ld a, [hld] - cp d - jr nz, .asm_100426 - dec hl - ld a, [BGMapPalBuffer] - cp [hl] - jr nz, .asm_10042d - xor a - ret - -.asm_100426 - ld a, $f4 - ld [wcd2b], a - jr .asm_100432 - -.asm_10042d - ld a, $f3 - ld [wcd2b], a - -.asm_100432 - push hl - ld hl, wcd7c - inc [hl] - pop hl - scf - ret -; 10043a - -Function10043a: ; 10043a - push hl - push bc - ld de, 0 -.asm_10043f - ld a, [hli] - add e - ld e, a - ld a, d - adc 0 - ld d, a - dec bc - ld a, b - or c - jr nz, .asm_10043f - pop bc - pop hl - ret -; 10044e - - -Jumptable_10044e: ; 10044e (40:444e) - dw Function10046a - dw Function10047c - dw Function100493 - dw Function1004ba - dw Function1004f4 - dw Function1004ce - dw Function1004de - dw Function1004a4 - dw Function100495 - dw Function1004ce - dw Function1004de - dw Function1004e9 - dw Function1004f4 - dw Function1004a4 - -Function10046a: ; 10046a - ld hl, BGMapPalBuffer - inc [hl] - call Function1003d8 - call Function1003ba - ld a, [wcd27] - inc a - ld [wcd27], a - ret -; 10047c - -Function10047c: ; 10047c - call Function100337 - ret c - ret z - cp $02 - jr z, .asm_100487 - jr .asm_10048d - -.asm_100487 - ld a, $08 - ld [wcd27], a - ret - -.asm_10048d - ld a, $02 - ld [wcd27], a - ret -; 100493 - -Function100493: ; 100493 - jr asm_100497 - -Function100495: ; 100495 - jr asm_100497 - -asm_100497 - call Function100337 - ret c - ret z - ld a, [wcd27] - inc a - ld [wcd27], a - ret -; 1004a4 - -Function1004a4: ; 1004a4 - call Function100406 - jr c, .asm_1004b8 - call Function1003c9 - call Function1003f5 - ld a, [wcd27] - set 7, a - ld [wcd27], a - ret - -.asm_1004b8 - scf - ret -; 1004ba - -Function1004ba: ; 1004ba - call Function10038a - and a - jr nz, .asm_1004c8 - ld a, [wcd27] - inc a - ld [wcd27], a - ret - -.asm_1004c8 - ld a, $08 - ld [wcd27], a - ret -; 1004ce - -Function1004ce: ; 1004ce - call Function100337 - ret c - ret z - cp $02 - ret nz - ld a, [wcd27] - inc a - ld [wcd27], a - ret -; 1004de - -Function1004de: ; 1004de - call Function100393 - ld a, [wcd27] - inc a - ld [wcd27], a - ret -; 1004e9 - -Function1004e9: ; 1004e9 - call Function10038a - ld a, [wcd27] - inc a - ld [wcd27], a - ret -; 1004f4 - -Function1004f4: ; 1004f4 - call Function100337 - ret c - ret z - ld a, [wcd27] - inc a - ld [wcd27], a - call Function10039c - ret -; 100504 - -Function100504: ; 100504 - push de - call Function3f20 - call UpdateSprites - pop de - hlcoord 4, 2 - call PlaceString - ret -; 100513 - -Function100513: ; 100513 - call Function3f7c - call PlaceVerticalMenuItems - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 7, [hl] - ret -; 100522 - -Function100522: ; 100522 - ld a, [wcd28] - ld hl, Jumptable_10052a - rst JumpTable - ret -; 10052a - -Jumptable_10052a: ; 10052a - dw Function100534 - dw Function100545 - dw Function100545 - dw Function100545 - dw Function10054d -; 100534 - -Function100534: ; 100534 - call Function100513 - call UpdateSprites - call ApplyTilemap - ld a, [wcd28] - inc a - ld [wcd28], a - ret -; 100545 - -Function100545: ; 100545 - ld a, [wcd28] - inc a - ld [wcd28], a - ret -; 10054d - -Function10054d: ; 10054d - callba MobileMenuJoypad - ld a, c - ld hl, wMenuJoypadFilter - and [hl] - ret z - call MenuClickSound - bit 0, a - jr nz, .asm_100565 - bit 1, a - jr nz, .asm_10056f - ret - -.asm_100565 - ld a, [wcd28] - set 7, a - ld [wcd28], a - and a - ret - -.asm_10056f - ld a, [wcd28] - set 7, a - ld [wcd28], a - scf - ret -; 100579 - -Function100579: ; 100579 - ld a, [wcd26] - ld hl, Jumptable_100581 - rst JumpTable - ret -; 100581 - -Jumptable_100581: ; 100581 - dw Function100585 - dw Function100597 -; 100585 - -Function100585: ; 100585 - ld hl, MenuDataHeader_1005b2 - call LoadMenuDataHeader - ld a, 0 - ld [wcd28], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function100597: ; 100597 - call Function100522 - ld a, [wcd28] - bit 7, a - ret z - jr nc, .asm_1005a6 - xor a - ld [wMenuCursorY], a - -.asm_1005a6 - call ExitMenu - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 1005b2 - -MenuDataHeader_1005b2: ; 1005b2 - db $40 ; flags - db 6, 14 - db 10, 19 - dw MenuData2_1005ba - db 1 ; default option - -MenuData2_1005ba: - db $c0 ; flags - db 2 - db "はい@" - db "いいえ@" -; 1005c3 - -Function1005c3: ; 1005c3 - ld a, [wcd26] - ld hl, Jumptable_1005cb - rst JumpTable - ret -; 1005cb - -Jumptable_1005cb: ; 1005cb - dw Function1005cf - dw Function1005e1 -; 1005cf - -Function1005cf: ; 1005cf - ld hl, MenuDataHeader_1005fc - call LoadMenuDataHeader - ld a, 0 - ld [wcd28], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function1005e1: ; 1005e1 - call Function100522 - ld a, [wcd28] - bit 7, a - ret z - jr nc, .asm_1005f0 - xor a - ld [wMenuCursorY], a -.asm_1005f0 - call ExitMenu - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 1005fc - -MenuDataHeader_1005fc: ; 1005fc - db $40 ; flags - db 6, 14 - db 10, 19 - dw MenuData2_100604 - db 1 ; default option - -MenuData2_100604: ; 100604 - db $c0 ; flags - db 2 - db "かける@" - db "まつ@" -; 10060d - -Mobile_CommunicationStandby: ; 10060d - hlcoord 3, 10 - ld b, 1 - ld c, 11 - call Function3eea - ld de, .String - hlcoord 4, 11 - call PlaceString - ret -; 100621 - -.String: ; 100621 - db "つうしんたいきちゅう!@" -; 10062d - -AdvanceMobileInactivityTimerAndCheckExpired: ; 10062d - push bc - call IncrementMobileInactivityTimerByCFrames - pop bc - ld a, [wMobileInactivityTimerMinutes] - cp b - jr nc, .timed_out - and a - ret - -.timed_out - ld a, $fa - ld [wcd2b], a - scf - ret -; 100641 - -StartMobileInactivityTimer: ; 100641 - xor a - ld [wMobileInactivityTimerMinutes], a - ld [wMobileInactivityTimerSeconds], a - ld [wMobileInactivityTimerFrames], a - ret -; 10064c - -IncrementMobileInactivityTimerBy1Frame: ; 10064c - ld c, 1 -IncrementMobileInactivityTimerByCFrames: ; 10064e - ld hl, wMobileInactivityTimerFrames ; timer? - ld a, [hl] - add c - cp 60 - jr c, .seconds - xor a - -.seconds - ld [hld], a - ret c - ld a, [hl] - inc a - cp 60 - jr c, .minutes - xor a - -.minutes - ld [hld], a - ret c - inc [hl] - ret -; 100665 - -Function100665: ; 100665 - call UpdateTime - ld hl, wcd36 - ld a, [hHours] - ld [hli], a - ld a, [hMinutes] - ld [hli], a - ld a, [hSeconds] - ld [hl], a - ret -; 100675 - -Function100675: ; 100675 - ld hl, wcd2a - bit 2, [hl] - set 2, [hl] - ret nz - call Function1006d3 - ret -; 100681 - -Function100681: ; 100681 - push hl - ld hl, wcd2a - bit 2, [hl] - ld hl, wcd2a - set 2, [hl] - pop hl - jr nz, .asm_100694 - push hl - call Function1006d3 - pop hl -.asm_100694 - ld de, wcd32 - -Function100697: ; 100697 - ld a, [de] - and a - jr nz, .asm_1006bb - inc de - push de - call .asm_1006b4 - ld de, String1006c2 - call PlaceString - ld h, b - ld l, c - pop de - inc de - call .asm_1006b4 - ld de, String1006c6 - call PlaceString - ret - -.asm_1006b4 - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - ret - -.asm_1006bb - ld de, String1006ca - call PlaceString - ret -; 1006c2 - -String1006c2: ; 1006c2 - db "ふん @" -String1006c6: ; 1006c6 - db "びょう@" -String1006ca: ; 1006ca - db "1じかんいじょう@" -; 1006d3 - -Function1006d3: ; 1006d3 - call UpdateTime - ld de, wcd34 - ld hl, wcd38 - -Function1006dc: ; 1006dc - ld a, [hld] - ld c, a - ld a, [hSeconds] - sub c - jr nc, .asm_1006e5 - add $3c - -.asm_1006e5 - ld [de], a - dec de - ld a, [hld] - ld c, a - ld a, [hMinutes] - sbc c - jr nc, .asm_1006f0 - add $3c - -.asm_1006f0 - ld [de], a - dec de - ld a, [hl] - ld c, a - ld a, [hHours] - sbc c - jr nc, .asm_1006fb - add $18 - -.asm_1006fb - ld [de], a - ret -; 1006fd - -Function1006fd: ; 1006fd - ld a, $04 - ld hl, $a800 - call GetSRAMBank - xor a - ld [hli], a - ld [hli], a - ld [hli], a - call CloseSRAM - ret -; 10070d - -Function10070d: ; 10070d - ld a, $04 - ld hl, $a800 - call GetSRAMBank - xor a - ld [hli], a - ld a, $0a - ld [hli], a - xor a - ld [hli], a - call CloseSRAM - ret -; 100720 - -Function100720: ; 100720 - xor a - ld [wcd6a], a - call UpdateTime - ld a, [hHours] - ld [wcd72], a - ld a, [hMinutes] - ld [wcd73], a - ld a, [hSeconds] - ld [wcd74], a - ld a, $04 - ld hl, $a800 - call GetSRAMBank - ld a, [hli] - ld [wcd6c], a - ld a, [hli] - ld [wcd6d], a - ld a, [hli] - ld [wcd6e], a - call CloseSRAM - ld a, [wcd6d] - ld [wcd6b], a - ret -; 100754 - -Function100754: ; 100754 - call UpdateTime - ld a, [hHours] - ld [wcd72], a - ld a, [hMinutes] - ld [wcd73], a - ld a, [hSeconds] - ld [wcd74], a - ld a, [wcd6d] - ld [wcd6b], a - ld hl, wcd2a - res 6, [hl] - ret -; 100772 - -Function100772: ; 100772 - push de - ld hl, wcd6c - ld a, [de] - cp [hl] - jr c, .asm_10079a - jr nz, .asm_10078c - inc hl - inc de - ld a, [de] - cp [hl] - jr c, .asm_10079a - jr nz, .asm_10078c - inc hl - inc de - ld a, [de] - cp [hl] - jr c, .asm_10079a - jr z, .asm_10079a - -.asm_10078c - pop hl - ld a, [hli] - ld [wcd6c], a - ld a, [hli] - ld [wcd6d], a - ld a, [hli] - ld [wcd6e], a - ret - -.asm_10079a - pop de - ret -; 10079c - - -Function10079c: ; 10079c - ld a, [wcd21] - cp $01 - jr nz, .dont_quit - ld hl, wcd2a - bit 5, [hl] - jr nz, .dont_quit - ld hl, wcd2a - bit 6, [hl] - jr nz, .dont_quit - ld a, [wcd6a] - add c - cp 60 - jr nc, .overflow - ld [wcd6a], a - and a - ret - -.overflow - sub 60 - ld [wcd6a], a - ld d, b - push de - call Function1007f6 - pop de - jr c, .quit - ld a, c - and a - jr nz, .quit - ld a, b - cp 10 - jr nc, .quit - ld a, d - and a - ret z - ld a, [wcd6b] - cp b - ret z - ld a, b - ld [wcd6b], a - call Function1008e0 - and a - ret - -.quit - call Function1008e0 - ld hl, wcd2a - set 4, [hl] - ld a, $fc - ld [wcd2b], a - scf - ret - -.dont_quit - and a - ret -; 1007f6 - -Function1007f6: ; 1007f6 - call UpdateTime - ld hl, wcd74 - ld de, wcd71 - call Function1006dc - ld a, $04 - call GetSRAMBank - ld hl, $a802 - call Function100826 - call CloseSRAM - ld hl, wcd6e - call Function100826 - ld a, [hHours] - ld [wcd72], a - ld a, [hMinutes] - ld [wcd73], a - ld a, [hSeconds] - ld [wcd74], a - ret -; 100826 - -Function100826: ; 100826 - ld a, [wcd71] - add [hl] - sub $3c - jr nc, .asm_100830 - add $3c - -.asm_100830 - ld [hld], a - ccf - ld a, [BGMapBufferPtrs] - adc [hl] - sub $3c - jr nc, .asm_10083c - add $3c - -.asm_10083c - ld [hld], a - ld b, a - ccf - ld a, [wcd6f] - adc [hl] - ld [hl], a - ld c, a - ret -; 100846 - -Function100846: ; 100846 - ld hl, wcd2a - bit 5, [hl] - jr nz, .asm_10087c - ld a, [wcd6e] - ld c, a - ld a, 0 - sub c - jr nc, .asm_100858 - add $3c - -.asm_100858 - ld [StringBuffer2 + 2], a - ld a, [wcd6d] - ld c, a - ld a, $0a - sbc c - ld [StringBuffer2 + 1], a - xor a - ld [StringBuffer2], a - ld de, String_10088e - hlcoord 1, 14 - call PlaceString - ld de, StringBuffer2 - hlcoord 4, 16 - call Function100697 - ret - -.asm_10087c - ld de, String_10088e - hlcoord 1, 14 - call PlaceString - ld h, b - ld l, c - ld de, String_10089f - call PlaceString - ret -; 10088e - -String_10088e: ; 10088e - db "モバイルたいせん できる" - next "じかん@" -; 10089f - -String_10089f: ; 10089f - db " むせいげん@" -; 1008a6 - -Function1008a6: ; 1008a6 - ld a, $04 - ld hl, $a800 - call GetSRAMBank - ld a, [hli] - ld [StringBuffer2], a - ld a, [hli] - ld [StringBuffer2 + 1], a - ld a, [hli] - ld [StringBuffer2 + 2], a - call CloseSRAM - ld a, [StringBuffer2 + 2] - ld b, a - ld a, 0 - sub b - jr nc, .asm_1008c8 - add $3c - -.asm_1008c8 - ld b, a - ld a, [StringBuffer2 + 1] - ld c, a - ld a, $0a - sbc c - ld c, a - jr c, .asm_1008da - ld a, [StringBuffer2] - and a - jr nz, .asm_1008da - ret - -.asm_1008da - call Function10070d - ld c, 0 - ret -; 1008e0 - - -Function1008e0: ; 1008e0 - ld a, [hBGMapMode] - ld b, a - ld a, [hVBlank] - ld c, a - push bc - xor a - ld [hBGMapMode], a - ld a, $03 - ld [hVBlank], a - call Function100970 - call Function100902 - call Function100989 - call DelayFrame - pop bc - ld a, c - ld [hVBlank], a - ld a, b - ld [hBGMapMode], a - ret -; 100902 - -Function100902: ; 100902 - hlcoord 3, 10 - ld b, $01 - ld c, $0b - call TextBox - ld a, [wcd6d] - ld c, a - ld a, $0a - sub c - ld [StringBuffer2], a - jr z, .asm_10093f - ld de, .string_100966 - hlcoord 4, 11 - call PlaceString - hlcoord 8, 11 - lb bc, 1, 2 - ld de, StringBuffer2 - call PrintNum - ld de, SFX_TWO_PC_BEEPS - call PlaySFX - callba ReloadMapPart - ld c, $3c - call DelayFrames - ret - -.asm_10093f - ld de, .string_10095a - hlcoord 4, 11 - call PlaceString - ld de, SFX_4_NOTE_DITTY - call PlaySFX - callba ReloadMapPart - ld c, 120 - call DelayFrames - ret -; 10095a - -.string_10095a ; 10095a - db "たいせん しゅうりょう@" -.string_100966 ; 100966 - db "のこり ふん", $e7, "@" -; 100970 - - -Function100970: ; 100970 - hlcoord 0, 0 - ld de, w3_dc00 - call Function1009a5 - hlcoord 0, 0, AttrMap - ld de, w3_dd68 - call Function1009a5 - call Function1009d2 - call Function1009ae - ret -; 100989 - -Function100989: ; 100989 - ld hl, w3_dc00 - decoord 0, 0 - call Function1009a5 - call Function1009ae - callba ReloadMapPart - ld hl, w3_dd68 - decoord 0, 0, AttrMap - call Function1009a5 - ret -; 1009a5 - -Function1009a5: ; 1009a5 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $03 - call FarCopyWRAM - ret -; 1009ae - -Function1009ae: ; 1009ae - ld a, [rSVBK] - push af - ld a, $03 - ld [rSVBK], a - - ld hl, w3_d800 - decoord 0, 0, AttrMap - ld c, SCREEN_WIDTH - ld b, SCREEN_HEIGHT -.loop_row - push bc -.loop_col - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .loop_col - ld bc, BG_MAP_WIDTH - SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .loop_row - - pop af - ld [rSVBK], a - ret -; 1009d2 - -Function1009d2: ; 1009d2 - ld a, [rSVBK] - push af - ld a, $03 - ld [rSVBK], a - - ld a, [rVBK] - push af - ld a, $01 - ld [rVBK], a - - ld hl, w3_d800 - debgcoord 0, 0 - lb bc, $03, $24 - call Get2bpp - - pop af - ld [rVBK], a - - pop af - ld [rSVBK], a - ret -; 1009f3 - -Function1009f3: ; 1009f3 - ld a, [hJoyDown] - and SELECT + A_BUTTON - cp SELECT + A_BUTTON - jr nz, .select_a - ld hl, wcd2a - set 4, [hl] - ld a, $f8 - ld [wcd2b], a - scf - ret - -.select_a - xor a - ret -; 100a09 - -_LinkBattleSendReceiveAction: ; 100a09 - call .StageForSend - ld [wd431], a - callba PlaceWaitingText - ld a, [wLinkMode] - cp LINK_MOBILE - jr nz, .not_mobile - - call .MobileBattle_SendReceiveAction - call Function100da5 - callba FinishBattleAnim - jr .done - -.not_mobile - call .LinkBattle_SendReceiveAction - -.done - ret -; 100a2e - -.StageForSend: ; 100a2e - ld a, [wPlayerAction] - and a - jr nz, .switch - ld a, [CurPlayerMove] - ld b, BATTLEACTION_E - cp STRUGGLE - jr z, .struggle - ld b, BATTLEACTION_D - cp $ff - jr z, .struggle - ld a, [CurMoveNum] - jr .use_move - -.switch - ld a, [CurPartyMon] - add BATTLEACTION_SWITCH1 - jr .use_move - -.struggle - ld a, b - -.use_move - and $0f - ret -; 100a53 - -.LinkBattle_SendReceiveAction: ; 100a53 - ld a, [wd431] - ld [wPlayerLinkAction], a - ld a, $ff - ld [wOtherPlayerLinkAction], a -.waiting - call LinkTransfer - call DelayFrame - ld a, [wOtherPlayerLinkAction] - inc a - jr z, .waiting - - ld b, 10 -.receive - call DelayFrame - call LinkTransfer - dec b - jr nz, .receive - - ld b, 10 -.acknowledge - call DelayFrame - call LinkDataReceived - dec b - jr nz, .acknowledge - - ld a, [wOtherPlayerLinkAction] - ld [wBattleAction], a - ret -; 100a87 - -.MobileBattle_SendReceiveAction: ; 100a87 - call Function100acf - call StartMobileInactivityTimer - ld a, 0 - ld [wcd27], a -.asm_100a92 - call DelayFrame - call GetJoypad - callba Function100382 - ld c, $01 - ld b, $03 - push bc - call AdvanceMobileInactivityTimerAndCheckExpired - pop bc - jr c, .asm_100ac7 - ld b, $01 - call Function10079c - jr c, .asm_100ac7 - call Function1009f3 - jr c, .asm_100ac7 - ld a, [wcd2b] - and a - jr nz, .asm_100ac7 - ld a, [wcd27] - bit 7, a - jr z, .asm_100a92 - call Function100ae7 - jr .asm_100ace - -.asm_100ac7 - ld a, $0f - ld [wd430], a - jr .asm_100ace - -.asm_100ace - ret -; 100acf - -Function100acf: ; 100acf - ld de, Unknown_100b0a - ld hl, wccb5 - ld a, [wd431] - ld [hli], a - ld c, $01 -.asm_100adb - ld a, [de] - inc de - ld [hli], a - inc c - and a - jr nz, .asm_100adb - ld a, c - ld [wccb4], a - ret -; 100ae7 - -Function100ae7: ; 100ae7 - ld de, Unknown_100b0a - ld hl, wcc62 -.asm_100aed - ld a, [de] - inc de - and a - jr z, .asm_100af8 - cp [hl] - jr nz, .asm_100aff - inc hl - jr .asm_100aed - -.asm_100af8 - ld a, [wcc61] - ld [wd430], a - ret - -.asm_100aff - ld a, $0f - ld [wd430], a - ld a, $f1 - ld [wcd2b], a - ret -; 100b0a - - -SECTION "tetsuji", ROMX - - charmap " ", $20 ; revert to ascii - -Unknown_100b0a: ; 100b0a - db "tetsuji", 0 -; 100b12 - - -SECTION "bank40_2", ROMX - -Function100b12: ; 100b12 - call Function100dd8 - ret c - ld hl, BattleMenuDataHeader - ld a, BANK(BattleMenuDataHeader) - ld de, LoadMenuDataHeader - call FarCall_de - ld a, BANK(BattleMenuDataHeader) - ld [wMenuData2_2DMenuItemStringsBank], a - ld a, [wBattleMenuCursorBuffer] - ld [wMenuCursorBuffer], a - call Function100e72 - call Function100b45 - callba InitPartyMenuBGPal7 - call Function100ed4 - ld a, [wMenuCursorBuffer] - ld [wBattleMenuCursorBuffer], a - call ExitMenu - ret -; 100b45 - -Function100b45: ; 100b45 - call Function100b7a -.loop - call Mobile_SetOverworldDelay - callba MobileMenuJoypad - push bc - callba HDMATransferTileMapToWRAMBank3 - call Function100e2d - pop bc - jr c, .asm_100b6b - ld a, [wMenuJoypadFilter] - and c - jr z, .loop - callba Mobile_GetMenuSelection - ret - -.asm_100b6b - ld a, [w2DMenuNumCols] - ld c, a - ld a, [w2DMenuNumRows] - call SimpleMultiply - ld [wMenuCursorBuffer], a - and a - ret -; 100b7a - -Function100b7a: ; 100b7a - ld hl, CopyMenuData2 - ld a, [wMenuData2_2DMenuItemStringsBank] - rst FarCall - callba Draw2DMenu - callba MobileTextBorder - call UpdateSprites - call ApplyTilemap - callba Init2DMenuCursorPosition - ld hl, w2DMenuFlags1 - set 7, [hl] - ret -; 100b9f - -MobileMoveSelectionScreen: ; 100b9f - xor a - ld [wMoveSwapBuffer], a - callba CheckPlayerHasUsableMoves - ret z - call Function100dd8 - jp c, xor_a_dec_a - call Function100e72 - call .GetMoveSelection - push af - callba InitPartyMenuBGPal7 - call Function100ed4 - pop af - ret -; 100bc2 - -.GetMoveSelection: ; 100bc2 - xor a - ld [hBGMapMode], a - call Function100c74 - call Function100c98 -.master_loop - callba MoveInfoBox -.loop - call Mobile_SetOverworldDelay - callba MobileMenuJoypad - push bc - callba HDMATransferTileMapToWRAMBank3 - call Function100e2d - pop bc - jr c, .b_button - ld a, [wMenuJoypadFilter] - and c - bit D_UP_F, a - jp nz, .d_up - bit D_DOWN_F, a - jp nz, .d_down - bit A_BUTTON_F, a - jr nz, .a_button - bit B_BUTTON_F, a - jr nz, .b_button - jr .loop - -.d_up - ld a, [wMenuCursorY] - and a - jp nz, .master_loop - ld a, [wNumMoves] - inc a - ld [wMenuCursorY], a - jp .master_loop - -.d_down - ld a, [wMenuCursorY] - ld b, a - ld a, [wNumMoves] - inc a - inc a - cp b - jp nz, .master_loop - ld a, $01 - ld [wMenuCursorY], a - jp .master_loop - -.b_button - ld a, [wMenuCursorY] - dec a - ld [CurMoveNum], a - ld a, $01 - and a - ret - -.a_button - ld a, [wMenuCursorY] - dec a - ld [CurMoveNum], a - ld a, [wMenuCursorY] - dec a - ld c, a - ld b, 0 - ld hl, BattleMonPP - add hl, bc - ld a, [hl] - and $3f - jr z, .no_pp_left - ld a, [PlayerDisableCount] - swap a - and $0f - dec a - cp c - jr z, .move_disabled - ld a, [wMenuCursorY] - dec a - ld c, a - ld b, 0 - ld hl, BattleMonMoves - add hl, bc - ld a, [hl] - ld [CurPlayerMove], a - xor a - ret - -.move_disabled - ld hl, BattleText_TheMoveIsDisabled - jr .print_text - -.no_pp_left - ld hl, BattleText_TheresNoPPLeftForThisMove - -.print_text - call StdBattleTextBox - call Call_LoadTempTileMapToTileMap - jp .GetMoveSelection -; 100c74 - -Function100c74: ; 100c74 - hlcoord 0, 8 - ld b, 8 - ld c, 8 - call TextBox - ld hl, BattleMonMoves - ld de, wListMoves_MoveIndicesBuffer - ld bc, NUM_MOVES - call CopyBytes - ld a, SCREEN_WIDTH * 2 - ld [Buffer1], a - hlcoord 2, 10 - predef ListMoves - ret -; 100c98 - -Function100c98: ; 100c98 - ld de, .attrs - call SetMenuAttributes - ld a, [wNumMoves] - inc a - ld [w2DMenuNumRows], a - ld a, [CurMoveNum] - inc a - ld [wMenuCursorY], a - ret -; 100cad - -.attrs ; 100cad - db 10, 1 - db 255, 1 - db $a0, $00 - dn 2, 0 - db D_UP | D_DOWN | A_BUTTON | B_BUTTON - -Mobile_PartyMenuSelect: ; 100cb5 - call Function100dd8 - ret c - ld hl, w2DMenuFlags1 - set 7, [hl] - res 6, [hl] -.loop - call Mobile_SetOverworldDelay - callba MobileMenuJoypad - push bc - callba PlaySpriteAnimations - callba HDMATransferTileMapToWRAMBank3 - call MobileComms_CheckInactivityTimer - pop bc - jr c, .done - ld a, [wMenuJoypadFilter] - and c - jr z, .loop - call PlaceHollowCursor - ld a, [PartyCount] - inc a - ld b, a - ld a, [wMenuCursorY] - cp b - jr z, .done - ld [wPartyMenuCursor], a - ld a, [hJoyLast] - ld b, a - bit 1, b - jr nz, .done - ld a, [wMenuCursorY] - dec a - ld [CurPartyMon], a - ld c, a - ld b, 0 - ld hl, PartySpecies - add hl, bc - ld a, [hl] - ld [CurPartySpecies], a - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - and a - ret - -.done - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - scf - ret -; 100d22 - -MobileBattleMonMenu: ; 100d22 - call Function100dd8 - ret c - call Function100d67 - ld hl, w2DMenuFlags1 - set 7, [hl] - res 6, [hl] -.asm_100d30 - call Mobile_SetOverworldDelay - callba MobileMenuJoypad - push bc - callba PlaySpriteAnimations - callba HDMATransferTileMapToWRAMBank3 - call MobileComms_CheckInactivityTimer - pop bc - jr c, .asm_100d54 - ld a, [wMenuJoypadFilter] - and c - jr nz, .asm_100d56 - jr .asm_100d30 - -.asm_100d54 - scf - ret - -.asm_100d56 - push af - ld de, SFX_READ_TEXT_2 - call PlaySFX - pop af - bit 1, a - jr z, .asm_100d65 - ret z - scf - ret - -.asm_100d65 - and a - ret -; 100d67 - -Function100d67: ; 100d67 - ld hl, .MenuDataHeader - call CopyMenuDataHeader - xor a - ld [hBGMapMode], a - call MenuBox - call UpdateSprites - call PlaceVerticalMenuItems - call WaitBGMap - call CopyMenuData2 - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 6, [hl] - ret -; 100d88 - -.MenuDataHeader: ; 100d88 - db 0 ; flags - db 11, 11 ; start coords - db 17, 19 ; end coords - dw .MenuData2 - db 1 ; default option - -.MenuData2: ; 100d90 - db $c0 ; flags - db 3 - db "いれかえる@" ; TRADE - db "つよさをみる@" ; STATS - db "キャンセル@" ; CANCEL -; 100da5 - -Function100da5: ; 100da5 - ld hl, wcd2a - res 3, [hl] - ld hl, wcd29 - res 0, [hl] - ret -; 100db0 - -Function100db0: ; 100db0 - ld hl, wcd2a - bit 3, [hl] - jr nz, .asm_100dbe - ld hl, wcd2a - set 3, [hl] - scf - ret - -.asm_100dbe - xor a - ret -; 100dc0 - - - -Function100dc0: ; 100dc0 - ld a, [wLinkMode] - cp LINK_MOBILE - jr nz, .mobile - ld hl, wcd2a - bit 3, [hl] - jr z, .mobile - scf - ret - -.mobile - xor a - ret -; 100dd2 - -Mobile_SetOverworldDelay: ; 100dd2 - ld a, 30 - ld [OverworldDelay], a - ret -; 100dd8 - -Function100dd8: ; 100dd8 - ld c, $01 - ld b, $03 - callba AdvanceMobileInactivityTimerAndCheckExpired - jr c, .asm_100dfb - ld c, $3c - ld b, $01 - call Function10079c - jr c, .asm_100dfb - callba Function10032e - ld a, [wcd2b] - and a - jr nz, .asm_100dfb - xor a - ret - -.asm_100dfb - scf - ret -; 100dfd - -MobileComms_CheckInactivityTimer: ; 100dfd - ld a, [OverworldDelay] - ld c, a - ld a, 30 - sub c - ld c, a - ld b, 3 - push bc - callba AdvanceMobileInactivityTimerAndCheckExpired ; useless to farcall - pop bc - jr c, .quit - ld b, 1 - call Function10079c - jr c, .quit - call Function1009f3 - jr c, .quit - callba Function10032e ; useless to farcall - ld a, [wcd2b] - and a - jr nz, .quit - xor a - ret - -.quit - scf - ret -; 100e2d - -Function100e2d: ; 100e2d - ld a, [OverworldDelay] - ld c, a - ld a, 30 - sub c - ld c, a - ld b, 3 - push bc - callba AdvanceMobileInactivityTimerAndCheckExpired - pop bc - jr c, .asm_100e61 - ld b, 1 - call Function10079c - jr c, .asm_100e61 - call Function1009f3 - jr c, .asm_100e61 - callba Function10032e - ld a, [wcd2b] - and a - jr nz, .asm_100e61 - call Function100e63 - call Function100e84 - xor a - ret - -.asm_100e61 - scf - ret -; 100e63 - -Function100e63: ; 100e63 - ld a, e - cp $02 - ret nz - call Function100db0 - ret nc - ld de, SFX_ELEVATOR_END - call PlaySFX - ret -; 100e72 - -Function100e72: ; 100e72 - xor a - ld hl, wcd29 - bit 0, [hl] - jr z, .asm_100e7c - ld a, $0a - -.asm_100e7c - ld [wcd67], a - xor a - ld [wcd68], a - ret -; 100e84 - -Function100e84: ; 100e84 - ld a, [wcd67] - ld hl, Jumptable_100e8c - rst JumpTable - ret -; 100e8c - - -Jumptable_100e8c: ; 100e8c (40:4e8c) - dw Function100ea2 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100ec4 - - -Function100ea2: ; 100ea2 (40:4ea2) - call Function100dc0 - ret nc - ld hl, wcd29 - set 0, [hl] - call Function100ec5 - - -Function100eae: ; 100eae - scf - call Function100eca - jr asm_100eb8 - -Function100eb4: ; 100eb4 - and a - call Function100eca - -asm_100eb8 - ld hl, wcd68 - inc [hl] - ld a, [hl] - cp $02 - ret c - ld [hl], 0 - jr Function100ec5 - -Function100ec4: ; 100ec4 - ret - -Function100ec5 - ld hl, wcd67 - inc [hl] - ret -; 100eca - -Function100eca: ; 100eca - callba Mobile_InitPartyMenuBGPal7 - call Function100ed4 - ret -; 100ed4 - -Function100ed4: ; 100ed4 - callba ApplyPals - ld a, $01 - ld [hCGBPalUpdate], a - ret -; 100edf - -Function100edf: ; 100edf - ld hl, Unknown_100fc0 - ld c, 1 - jr asm_100f02 - -Function100ee6: ; 100ee6 - ld hl, Unknown_100fc0 - ld c, 2 - jr asm_100f02 - -Function100eed: ; 100eed - ld hl, Unknown_100feb - ld c, 1 - jr asm_100f02 - -Function100ef4: ; 100ef4 - ld hl, Unknown_100ff3 - ld c, 1 - jr asm_100f02 - -Function100efb: ; 100efb - ld hl, Unknown_10102c - ld c, 1 - jr asm_100f02 - -asm_100f02: - ld a, c - ld [StringBuffer2], a - ; someting that was previously stored in de gets backed up to here - ld a, e - ld [StringBuffer2 + 1], a - ld a, d - ld [StringBuffer2 + 2], a - ; empty this - xor a - ld [StringBuffer2 + 4], a - ld [StringBuffer2 + 5], a -.loop - ld a, [hl] - cp $ff - jr z, .done - ld [StringBuffer2 + 3], a ; bank - push hl - inc hl - ; addr 1 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ; size - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ; addr 2 - ld a, [hli] - ld h, [hl] - ld l, a - call Function100f3d - ; next line - pop hl - ld de, 7 - add hl, de - jr .loop - -.done - ; recover the values into bc - ld a, [StringBuffer2 + 4] - ld c, a - ld a, [StringBuffer2 + 5] - ld b, a - ret -; 100f3d - -Function100f3d: ; 100f3d - ; parameter - ld a, [StringBuffer2] - cp $02 - jr z, .two - cp $01 - jr z, .one - cp $03 - jr z, .three - ret - -.three - ; what was once in de gets copied to hl, - ; modified by Function100f8d, and put back - ; into this backup - ld a, [StringBuffer2 + 1] - ld l, a - ld a, [StringBuffer2 + 2] - ld h, a - call Function100f8d - ld a, l - ld [StringBuffer2 + 1], a - ld a, h - ld [StringBuffer2 + 2], a - ret - -.two - ; hl gets backed up to de, then - ; do the same as in .three - ld d, h - ld e, l - ld a, [StringBuffer2 + 1] - ld l, a - ld a, [StringBuffer2 + 2] - ld h, a - call Function100f8d - ld a, l - ld [StringBuffer2 + 1], a - ld a, h - ld [StringBuffer2 + 2], a - ret - -.one - ; de gets copied to hl, then - ; load the backup into de, - ; finally run Function100f8d - ; and store the de result - ld h, d - ld l, e - ld a, [StringBuffer2 + 1] - ld e, a - ld a, [StringBuffer2 + 2] - ld d, a - call Function100f8d - ld a, e - ld [StringBuffer2 + 1], a - ld a, d - ld [StringBuffer2 + 2], a - ret -; 100f8d - -Function100f8d: ; 100f8d - push hl - ld a, [StringBuffer2 + 4] - ld l, a - ld a, [StringBuffer2 + 5] - ld h, a - add hl, bc - ld a, l - ld [StringBuffer2 + 4], a - ld a, h - ld [StringBuffer2 + 5], a - pop hl - ld a, [StringBuffer2 + 3] - bit 7, a - res 7, a - jr z, .sram - and a - jr nz, .far_wram - call CopyBytes - ret - -.far_wram - and $7f - call FarCopyWRAM - ret - -.sram - call GetSRAMBank - call CopyBytes - call CloseSRAM - ret -; 100fc0 - -Unknown_100fc0: ; 100fc0 - ; first byte: - ; Bit 7 set: Not SRAM - ; Lower 7 bits: Bank - ; Address, size (dw), address - dbwww $80, PlayerName, NAME_LENGTH, OTPlayerName - dbwww $80, PartyCount, 1 + PARTY_LENGTH + 1, OTPartyCount - dbwww $80, PlayerID, 2, OTPlayerID - dbwww $80, PartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, OTPartyMons - dbwww $80, PartyMonOT, NAME_LENGTH * PARTY_LENGTH, OTPartyMonOT - dbwww $80, PartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, OTPartyMonNicknames - db -1 - -Unknown_100feb: ; 100feb - dbwww $00, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL - db -1 - -Unknown_100ff3: ; 100ff3 - dbwww $80, wdc41, 1, NULL - dbwww $80, PlayerName, NAME_LENGTH, NULL - dbwww $80, PlayerName, NAME_LENGTH, NULL - dbwww $80, PlayerID, 2, NULL - dbwww $80, wSecretID, 2, NULL - dbwww $80, PlayerGender, 1, NULL - dbwww $04, $a603, 8, NULL - dbwww $04, $a007, PARTYMON_STRUCT_LENGTH, NULL - db -1 - -Unknown_10102c: ; 10102c - dbwww $80, OTPlayerName, NAME_LENGTH, NULL - dbwww $80, OTPlayerID, 2, NULL - dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL - dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL - dbwww $80, OTPartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, NULL - db -1 -; 10104f - -Function101050: ; 101050 - call Function10107d - ld a, [OTPartyCount] -rept 2 ; ??? - ld hl, wc608 -endr - ld bc, wc7bb - wc608 - call Function1010de - ld hl, wc7bb - ld [hl], e - inc hl - ld [hl], d - ld a, $07 - call GetSRAMBank - ld hl, wc608 - ld de, $a001 - ld bc, wc7bd - wc608 - call CopyBytes - call CloseSRAM - ret -; 10107d - -Function10107d: ; 10107d - xor a - ld hl, wc608 - ld bc, wc7bd - wc608 - call ByteFill - ld hl, OTPlayerName - ld de, wc608 - ld bc, NAME_LENGTH - call CopyBytes - ld hl, wd271 - ld a, [hli] - ld [wc608 + 11], a - ld a, [hl] - ld [wc608 + 12], a - ld hl, OTPartyMonNicknames - ld de, wc608 + 13 - ld bc, NAME_LENGTH - call .CopyAllFromOT - ld hl, OTPartyMonOT - ld de, OTClassName + 1 - ld bc, NAME_LENGTH - call .CopyAllFromOT - ld hl, OTPartyMon1Species - ld de, $c699 - ld bc, PARTYMON_STRUCT_LENGTH - call .CopyAllFromOT - ld a, $50 - ld [wc7b9], a - ld a, $33 - ld [wc7ba], a - ret -; 1010cd - -.CopyAllFromOT: ; 1010cd - push hl - ld hl, 0 - ld a, [OTPartyCount] - call AddNTimes - ld b, h - ld c, l - pop hl - call CopyBytes - ret -; 1010de - -Function1010de: ; 1010de - push hl - push bc - ld de, 0 -.loop - ld a, [hli] - add e - ld e, a - ld a, d - adc 0 - ld d, a - dec bc - ld a, b - or c - jr nz, .loop - pop bc - pop hl - ret -; 1010f2 - -LoadSelectedPartiesForColosseum: ; 1010f2 - xor a - ld hl, StringBuffer2 - ld bc, 9 - call ByteFill - ld hl, wPlayerMonSelection - ld de, PartyCount - call .CopyThreeSpecies - ld hl, wPlayerMonSelection - ld de, PartyMon1Species - call .CopyPartyStruct - ld hl, wPlayerMonSelection - ld de, PartyMonOT - call .CopyName - ld hl, wPlayerMonSelection - ld de, PartyMonNicknames - call .CopyName - ld hl, wOTMonSelection - ld de, OTPartyCount - call .CopyThreeSpecies - ld hl, wOTMonSelection - ld de, OTPartyMon1Species - call .CopyPartyStruct - ld hl, wOTMonSelection - ld de, OTPartyMonOT - call .CopyName - ld hl, wOTMonSelection - ld de, OTPartyMonNicknames - call .CopyName - ret -; 101145 - -.CopyThreeSpecies: ; 101145 -; Load the 3 choices to the buffer - push de - ld bc, StringBuffer2 + 6 - xor a -.party_loop - push af - call .GetNthSpecies - ld [bc], a - inc bc - pop af - inc a - cp 3 - jr nz, .party_loop - pop de -; Copy the 3 choices to the party - ld a, 3 - ld [de], a - inc de - ld hl, StringBuffer2 + 6 - ld bc, 3 - call CopyBytes - ld a, $ff - ld [de], a - ret -; 101168 - -.GetNthSpecies: ; 101168 -; Preserves hl and de -; Get the index of the Nth selection - push hl - add l - ld l, a - ld a, h - adc 0 - ld h, a - ld a, [hl] - pop hl -; Get the corresponding species - push de - inc de - add e - ld e, a - ld a, d - adc 0 - ld d, a - ld a, [de] - pop de - ret -; 10117c - -.CopyPartyStruct: ; 10117c - ld bc, PARTYMON_STRUCT_LENGTH - jr .ContinueCopy - -.CopyName: ; 101181 - ld bc, NAME_LENGTH - -.ContinueCopy: - ; Copy, via wc608... - ld a, wc608 % $100 - ld [StringBuffer2], a - ld a, wc608 / $100 - ld [StringBuffer2 + 1], a - ; ... bc bytes... - ld a, c - ld [StringBuffer2 + 2], a - ld a, b - ld [StringBuffer2 + 3], a - ; ... to de... - ld a, e - ld [StringBuffer2 + 4], a - ld a, d - ld [StringBuffer2 + 5], a - ; ... 3 times. - ld a, 3 -.big_copy_loop - push af - ld a, [hli] - push hl - push af - call .GetDestinationAddress - call .GetCopySize - pop af - call AddNTimes - ld a, [StringBuffer2] - ld e, a - ld a, [StringBuffer2 + 1] - ld d, a - call CopyBytes - ld a, e - ld [StringBuffer2], a - ld a, d - ld [StringBuffer2 + 1], a - pop hl - pop af - dec a - jr nz, .big_copy_loop - call .GetCopySize - ld a, 3 - ld hl, 0 - call AddNTimes - ld b, h - ld c, l - call .GetDestinationAddress - ld d, h - ld e, l - ld hl, wc608 - call CopyBytes - ret -; 1011df - -.GetDestinationAddress: ; 1011df - ld a, [StringBuffer2 + 4] - ld l, a - ld a, [StringBuffer2 + 5] - ld h, a - ret -; 1011e8 - -.GetCopySize: ; 1011e8 - ld a, [StringBuffer2 + 2] - ld c, a - ld a, [StringBuffer2 + 3] - ld b, a - ret -; 1011f1 - -Function1011f1: ; 1011f1 - ld a, $04 - call GetSRAMBank - ld a, [$a60c] - ld [wdc41], a - call CloseSRAM - ld hl, wdc41 - res 4, [hl] - ld hl, GameTimerPause - bit 7, [hl] - jr z, .skip - ld hl, wdc41 - set 4, [hl] - -.skip - call Function10209c - xor a - ld [wdc5f], a - ld [wdc60], a - ld a, LINK_MOBILE - ld [wLinkMode], a - ret -; 101220 - -Function101220: ; 101220 - xor a - ld [wLinkMode], a - ret -; 101225 - -Function101225: ; 101225 - ld d, 1 - ld e, BANK(Jumptable_101297) - ld bc, Jumptable_101297 - call Function100000 - jr Function10123d - -Function101231: ; 101231 - ld d, 2 - ld e, BANK(Jumptable_101297) - ld bc, Jumptable_101297 - call Function100000 - jr Function10123d - -Function10123d: ; 10123d - xor a - ld [ScriptVar], a - ld a, c - ld hl, Jumptable_101247 - rst JumpTable - ret -; 101247 - -Jumptable_101247: ; 101247 - dw Function101251 - dw Function10127d - dw Function10127c - dw Function10126c - dw Function101265 -; 101251 - -Function101251: ; 101251 - call UpdateSprites - call RefreshScreen - ld hl, UnknownText_0x1021f4 - call Function1021e0 - call Function1020ea - ret c - call Function102142 - ret -; 101265 - -Function101265: ; 101265 - ld hl, UnknownText_0x1021ef - call Function1021e0 - ret -; 10126c - -Function10126c: ; 10126c - call UpdateSprites - callba Script_reloadmappart - ld hl, UnknownText_0x1021f4 - call Function1021e0 - ret -; 10127c - -Function10127c: ; 10127c - ret -; 10127d - -Function10127d: ; 10127d - ret -; 10127e - -Function10127e: ; 10127e - ld a, [wdc5f] - and a - jr z, .zero - cp 1 - ld c, $27 - jr z, .load - cp 2 - ld c, $37 - jr z, .load -.zero - ld c, 0 -.load - ld a, c - ld [wMobileCommsJumptableIndex], a - ret -; 101297 - -Jumptable_101297: ; 101297 - dw Function101a97 ; 00 - dw Function101ab4 ; 01 - dw Function101475 ; 02 - dw Function101b0f ; 03 - dw Function101438 ; 04 - dw Function101b2b ; 05 - dw Function101b59 ; 06 - dw Function101475 ; 07 - dw Function101b70 ; 08 - dw Function101438 ; 09 - dw Function101b8f ; 0a - dw Function101d7b ; 0b - dw Function101d95 ; 0c - dw Function101475 ; 0d - dw Function101db2 ; 0e - dw Function101e4f ; 0f - dw Function101475 ; 10 - dw Function101e64 ; 11 - dw Function101e4f ; 12 - dw Function101475 ; 13 - dw Function101e64 ; 14 - dw Function101d95 ; 15 - dw Function101475 ; 16 - dw Function101db2 ; 17 - dw Function101dd0 ; 18 - dw Function101de3 ; 19 - dw Function101e39 ; 1a - dw Function101e09 ; 1b - dw Function101e4f ; 1c - dw Function101475 ; 1d - dw Function101e64 ; 1e - dw Function101d95 ; 1f - dw Function101475 ; 20 - dw Function101db2 ; 21 - dw Function101e09 ; 22 - dw Function101e31 ; 23 - dw Function101bc8 ; 24 - dw Function101438 ; 25 - dw Function101be5 ; 26 - dw Function101ac6 ; 27 - dw Function101ab4 ; 28 - dw Function101475 ; 29 - dw Function101c11 ; 2a - dw Function1014f4 ; 2b - dw Function101cc8 ; 2c - dw Function1014e2 ; 2d - dw Function1014e2 ; 2e - dw Function101d10 ; 2f - dw Function101d2a ; 30 - dw Function101d2a ; 31 - dw Function101507 ; 32 - dw Function10156d ; 33 - dw Function101557 ; 34 - dw Function10158a ; 35 - dw Function101c42 ; 36 - dw Function101aed ; 37 - dw Function101ab4 ; 38 - dw Function101475 ; 39 - dw Function101c2b ; 3a - dw Function1014f4 ; 3b - dw Function101cdf ; 3c - dw Function1014e2 ; 3d - dw Function1014e2 ; 3e - dw Function101d1e ; 3f - dw Function101d2a ; 40 - dw Function101d2a ; 41 - dw Function101507 ; 42 - dw Function10156d ; 43 - dw Function101544 ; 44 - dw Function10158a ; 45 - dw Function101c42 ; 46 - dw Function101c50 ; 47 - dw Function1014ce ; 48 - dw Function101cf6 ; 49 - dw Function101826 ; 4a - dw Function1017e4 ; 4b - dw Function1017f1 ; 4c - dw Function1018a8 ; 4d - dw Function1018d6 ; 4e - dw Function1017e4 ; 4f - dw Function1017f1 ; 50 - dw Function1018e1 ; 51 - dw Function1015df ; 52 - dw Function10167d ; 53 - dw Function10168a ; 54 - dw Function10162a ; 55 - dw Function1015be ; 56 - dw Function10167d ; 57 - dw Function10168a ; 58 - dw Function10161f ; 59 - dw Function10159d ; 5a - dw Function10167d ; 5b - dw Function10168a ; 5c - dw Function101600 ; 5d - dw Function101d03 ; 5e - dw Function101d6b ; 5f - dw Function10159d ; 60 - dw Function1014ce ; 61 - dw Function10168e ; 62 - dw Function101600 ; 63 - dw Function101913 ; 64 - dw Function10194b ; 65 - dw _SelectMonsForMobileBattle ; 66 - dw Function1017e4 ; 67 - dw Function1017f5 ; 68 - dw _StartMobileBattle ; 69 - dw Function101537 ; 6a - dw Function101571 ; 6b - dw Function101c92 ; 6c - dw Function10152a ; 6d - dw Function101571 ; 6e - dw Function101a4f ; 6f - dw Function101cbc ; 70 - dw Function101c62 ; 71 - dw Function101537 ; 72 - dw Function101571 ; 73 - dw Function101c92 ; 74 - dw Function10152a ; 75 - dw Function101571 ; 76 - dw Function101ca0 ; 77 - dw Function101475 ; 78 - dw Function101cbc ; 79 -; 10138b - -Function10138b: ; 10138b - callba Function8adcc - ld c, 0 - jr c, .asm_101396 - inc c - -.asm_101396 - sla c - ld a, [wcd2f] - and a - jr z, .asm_10139f - inc c - -.asm_10139f - sla c - ld a, [wcd21] - cp $01 - jr z, .asm_1013a9 - inc c - -.asm_1013a9 - ret -; 1013aa - -Function1013aa: ; 1013aa - call ClearBGPalettes - call Call_ExitMenu - call ReloadTilesetAndPalettes - callba Function106464 - call UpdateSprites - call FinishExitMenu - ret -; 1013c0 - -Function1013c0: ; 1013c0 - callba BlankScreen - callba MobileFunc_106462 - callba Function106464 - call FinishExitMenu - ret -; 1013d6 - -Function1013d6: ; 1013d6 - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - ret -; 1013dd - -Function1013dd: ; 1013dd - call CGBOnly_LoadEDTile - ret -; 1013e1 - -Function1013e1: ; 1013e1 ; unreferenced - push de - inc de - ld b, a - ld c, 0 -.asm_1013e6 - inc c - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_1013f1 - dec b - jr nz, .asm_1013e6 - scf - -.asm_1013f1 - pop de - ld a, c - ld [de], a - ret -; 1013f5 - -Function1013f5: ; 1013f5 - ld a, [hli] - ld [de], a - inc de - ld c, a -.asm_1013f9 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_1013f9 - ret -; 101400 - -Function101400: ; 101400 ; unreferenced - ld a, [de] - inc de - cp [hl] - jr nz, asm_101416 - inc hl - -Function101406: ; 101406 - ld c, a - ld b, 0 -.asm_101409 - ld a, [de] - inc de - cp [hl] - jr nz, asm_101416 - inc hl - dec bc - ld a, b - or c - jr nz, .asm_101409 - and a - ret - -asm_101416 - scf - ret -; 101418 - -Function101418: ; 101418 - call GetJoypad - ld a, [hJoyDown] - and SELECT + A_BUTTON - cp SELECT + A_BUTTON - jr z, .asm_101425 - xor a - ret - -.asm_101425 - ld a, $f7 - ld [wcd2b], a - scf - ret -; 10142c - -Function10142c: ; 10142c - ld a, $01 - ld [wc305], a - callba Function115e18 - ret -; 101438 - -Function101438: ; 101438 - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - ld hl, Jumptable_101457 - rst JumpTable - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101457 - -Jumptable_101457: ; 101457 - dw Function10145b - dw Function101467 -; 10145b - -Function10145b: ; 10145b - ld a, $3c - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function101467: ; 101467 - ld hl, wcd42 - dec [hl] - ret nz - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 101475 - -Function101475: ; 101475 - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - ld hl, Jumptable_101494 - rst JumpTable - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101494 - -Jumptable_101494: ; 101494 - dw Function10149a - dw Function1014a6 - dw Function1014b7 -; 10149a - -Function10149a: ; 10149a - ld a, $28 - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function1014a6: ; 1014a6 - ld hl, wcd42 - dec [hl] - ret nz - ld a, $50 - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function1014b7: ; 1014b7 - call GetJoypad - ld a, [hJoyPressed] - and $03 - jr nz, .asm_1014c5 - ld hl, wcd42 - dec [hl] - ret nz - -.asm_1014c5 - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 1014ce - -Function1014ce: ; 1014ce - callba Function100720 - callba StartMobileInactivityTimer - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1014e2 - -Function1014e2: ; 1014e2 - ld hl, wcd29 - set 6, [hl] - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1014f4 - -Function1014f4: ; 1014f4 - callba EnableMobile - ld hl, wcd29 - set 6, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101507 - -Function101507: ; 101507 - ld de, wcd30 - ld hl, $40 - ld bc, $40 - ld a, $02 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10151d - -Function10151d: ; 10151d ; unreferenced - ld a, $34 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10152a - -Function10152a: ; 10152a - ld a, $36 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101537 - -Function101537: ; 101537 - ld a, $0a - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101544 - -Function101544: ; 101544 - callba StartMobileInactivityTimer - ld a, $12 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101557 - -Function101557: ; 101557 - callba StartMobileInactivityTimer - ld hl, wcd53 - ld a, $08 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10156d - -Function10156d: ; 10156d - call Function101418 - ret c - -Function101571: ; 101571 - callba Function10032e - ret c - ret z - ld a, e - cp $01 - jr z, .asm_101582 - ld [wcd2b], a - ret - -.asm_101582 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10158a - -Function10158a: ; 10158a - callba IncrementMobileInactivityTimerBy1Frame - ld a, [wMobileInactivityTimerMinutes] - cp $0a - jr c, Function10156d - ld a, $fb - ld [wcd2b], a - ret -; 10159d - -Function10159d: ; 10159d - ld de, wc608 - callba Function100edf - ld de, wc608 - ld a, $05 - ld hl, w5_d800 - call Function10174c - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1015be - -Function1015be: ; 1015be - ld de, wc608 - callba Function100eed - ld de, wc608 - ld a, $05 - ld hl, w5_d800 - call Function10174c - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1015df - -Function1015df: ; 1015df - ld de, wc608 - callba Function100ef4 - ld de, wc608 - ld a, $05 - ld hl, w5_d800 - call Function10174c - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101600 - -Function101600: ; 101600 - ld hl, w5_d800 - ld de, wc608 - ld bc, $1e0 - ld a, $05 - call FarCopyWRAM - ld de, wc608 - callba Function100ee6 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10161f - -Function10161f: ; 10161f - call Function101649 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10162a - -Function10162a: ; 10162a - call Function101663 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101635 - -Function101635: ; 101635 - ld de, wc608 - ld bc, $1e0 - call FarCopyWRAM - ret -; 10163f - -Function10163f: ; 10163f - ld hl, wc608 - ld bc, $1e0 - call FarCopyWRAM - ret -; 101649 - -Function101649: ; 101649 - ld a, $05 - ld hl, w5_d800 - call Function101635 - ld a, $05 - ld de, w5_da00 - call Function10163f - ret -; 10165a - -Function10165a: ; 10165a - ld a, $05 - ld hl, w5_da00 - call Function101635 - ret -; 101663 - -Function101663: ; 101663 - ld a, $05 - ld hl, w5_d800 - call Function101635 - ld a, $05 - ld de, w5_dc00 - call Function10163f - ret -; 101674 - -Function101674: ; 101674 ; unreferenced - ld a, $05 - ld hl, w5_dc00 - call Function101635 - ret -; 10167d - -Function10167d: ; 10167d - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10168a - -Function10168a: ; 10168a - call Function101418 - ret c - -Function10168e: ; 10168e - ld b, 0 - ld c, $01 - callba Function10079c - ret c - ld c, $01 - ld b, $03 - callba AdvanceMobileInactivityTimerAndCheckExpired - ret c - ld a, [wcd26] - ld hl, Jumptable_1016c3 - rst JumpTable - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1016c3 - -Jumptable_1016c3: ; 1016c3 - dw Function1016cf - dw Function1016de - dw Function1016f8 - dw Function101705 - dw Function101719 - dw Function101724 -; 1016cf - -Function1016cf: ; 1016cf - ld hl, wcd3a - inc [hl] - call Function10176f - ld a, [wcd26] - inc a - ld [wcd26], a - ret -; 1016de - -Function1016de: ; 1016de - call Function10177b - jr nc, .asm_1016eb - ld a, [wcd26] - inc a - ld [wcd26], a - ret - -.asm_1016eb - ld a, $ff - ld [wcd39], a - ld a, [wcd26] - inc a - ld [wcd26], a - ret -; 1016f8 - -Function1016f8: ; 1016f8 - ld a, 0 - ld [wcd27], a - ld a, [wcd26] - inc a - ld [wcd26], a - ret -; 101705 - -Function101705: ; 101705 - callba Function100382 - ld a, [wcd27] - bit 7, a - ret z - ld a, [wcd26] - inc a - ld [wcd26], a - ret -; 101719 - -Function101719: ; 101719 - call Function1017c7 - ld a, [wcd26] - inc a - ld [wcd26], a - ret -; 101724 - -Function101724: ; 101724 - ld a, [wcd39] - cp $ff - jr z, .asm_101731 - ld a, 0 - ld [wcd26], a - ret - -.asm_101731 - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 10173a - -Unknown_10173a: - db $50 - -Function10173b: ; 10173b - push bc - push af - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [Unknown_10173a] - ld c, a - ld b, 0 - pop af - call AddNTimes - pop bc - ret -; 10174c - -Function10174c: ; 10174c - ld [wcd3d], a - ld a, l - ld [wcd3e], a - ld a, h - ld [wcd3f], a - ld a, e - ld [wcd3b], a - ld a, d - ld [wcd3c], a - ld a, c - ld [wcd40], a - ld a, b - ld [wcd41], a - xor a - ld [wcd39], a - ld [wcd3a], a - ret -; 10176f - -Function10176f: ; 10176f - ld hl, wccb4 - ld bc, $54 - ld a, $11 - call ByteFill - ret -; 10177b - -Function10177b: ; 10177b - ld a, [Unknown_10173a] - ld c, a - ld b, 0 - ld a, [wcd3a] - ld hl, 0 - call AddNTimes - ld e, l - ld d, h - ld hl, wcd40 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, l - sub e - ld l, a - ld a, h - sbc d - ld h, a - jr c, .asm_1017a0 - add hl, bc - call Function1017b0 - scf - ret - -.asm_1017a0 - ld a, $ff - ld [wcd39], a - add hl, bc - ld a, h - or l - ret z - ld c, l - ld b, h - call Function1017b0 - xor a - ret -; 1017b0 - -Function1017b0: ; 1017b0 - ld a, c - ld [wccb4], a - push bc - ld a, [wcd3a] - dec a - ld hl, wcd3b - call Function10173b - pop bc - ld de, wccb5 - call CopyBytes - ret -; 1017c7 - -Function1017c7: ; 1017c7 - ld a, [wcc60] - ld c, a - ld b, 0 - ld a, [wcd3a] - dec a - ld hl, wcd3e - call Function10173b - ld e, l - ld d, h - ld hl, wcc61 - ld a, [wcd3d] - call FarCopyWRAM - and a - ret -; 1017e4 - -Function1017e4: ; 1017e4 - ld a, 0 - ld [wcd27], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1017f1 - -Function1017f1: ; 1017f1 - call Function101418 - ret c - -Function1017f5: ; 1017f5 - ld b, 0 - ld c, $01 - callba Function10079c - ret c - ld c, $01 - ld b, $03 - callba AdvanceMobileInactivityTimerAndCheckExpired - ret c - callba Function100382 - ld a, [wcd27] - bit 7, a - jr nz, .next - ld hl, wcd29 - set 6, [hl] - ret - -.next - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101826 - -Function101826: ; 101826 - ld a, [wcd21] - cp $02 - jr z, .asm_101833 - cp $01 - jr z, .asm_101844 - jr .asm_101869 - -.asm_101833 - ld hl, Unknown_10186f - ld de, wccb4 - call Function1013f5 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101844 - callba Function103654 - ld a, c - ld hl, Unknown_101882 - cp $01 - jr z, .asm_10185b - ld hl, Unknown_101895 - cp $02 - jr z, .asm_10185b - jr .asm_101869 - -.asm_10185b - ld de, wccb4 - call Function1013f5 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101869 - ld a, $fe - ld [wcd2b], a - ret -; 10186f - - -SECTION "ascii 10186f", ROMX - - charmap " ", $20 ; revert to ascii - -Unknown_10186f: - db .end - @ - db $19, $73, $09, $13, "trade_crystal" -.end db 0 - -Unknown_101882: - db .end - @ - db $19, $67, $10, $01, "free__crystal" -.end db 0 - -Unknown_101895: - db .end - @ - db $19, $67, $10, $01, "limit_crystal" -.end db 0 -; 1018a8 - - -SECTION "bank40_3", ROMX - -Function1018a8: ; 1018a8 - ld hl, wccb5 - ld de, wcc61 - ld a, $04 - call Function101406 - jr c, .asm_1018d0 - ld hl, wccb9 - ld de, wcc65 - ld a, $06 - call Function101406 - jr c, .asm_1018ca - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_1018ca - ld a, $f6 - ld [wcd2b], a - ret - -.asm_1018d0 - ld a, $f5 - ld [wcd2b], a - ret -; 1018d6 - -Function1018d6: ; 1018d6 - call Function1018ec - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1018e1 - -Function1018e1: ; 1018e1 - call Function1018fb - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1018ec - -Function1018ec: ; 1018ec - ld a, $0a - ld hl, wccb4 - ld [hli], a - ld c, a -.asm_1018f3 - call Random - ld [hli], a - dec c - jr nz, .asm_1018f3 - ret -; 1018fb - -Function1018fb: ; 1018fb - ld a, [wcd2f] - and a - jr z, .asm_101906 - ld hl, wcc61 - jr .asm_101909 - -.asm_101906 - ld hl, wccb5 - -.asm_101909 - ld de, LinkBattleRNs - ld bc, 10 - call CopyBytes - ret -; 101913 - -Function101913: ; 101913 - ld hl, wcd2a - set 0, [hl] - xor a - ld [wc30d], a - ld hl, wcd29 - res 4, [hl] - xor a - ld [wc305], a - ld hl, wcd29 - res 7, [hl] - ld a, $90 - ld [hWY], a - ld a, [wcd21] - cp $01 - jr z, .asm_10193f - cp $02 - jr z, .asm_101945 - ld a, $71 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_10193f - ld a, $66 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101945 - ld a, $65 - ld [wMobileCommsJumptableIndex], a - ret -; 10194b - -Function10194b: ; 10194b - call DisableSpriteUpdates - call ClearSprites - callba Function1021f9 - ld hl, wcd29 - bit 3, [hl] - jr nz, .asm_101967 - call Function1013c0 - ld a, $71 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101967 - ld a, $60 - ld [wMobileCommsJumptableIndex], a - ret -; 10196d - -_SelectMonsForMobileBattle: ; 10196d - callba BlankScreen - callba Mobile_CommunicationStandby - ld hl, wcd29 - set 5, [hl] - ld hl, wcd2a - set 6, [hl] - ld a, $06 - ld [wccb4], a - ld hl, wPlayerMonSelection - ld de, wccb5 - ld bc, 3 - call CopyBytes - ld hl, wcd6c - ld a, [hli] - ld [wccb8], a - ld a, [hli] - ld [wccb9], a - ld a, [hl] - ld [wccba], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1019ab - -_StartMobileBattle: ; 1019ab - call CopyOtherPlayersBattleMonSelection - callba Function100754 - xor a - ld [wdc5f], a - ld [wdc60], a - callba BlankScreen - call SpeechTextBox - callba Function100846 - ld c, 120 - call DelayFrames - callba ClearTileMap - call .CopyOTDetails - call StartMobileBattle - ld a, [wcd2b] - cp $fc - jr nz, .asm_1019e6 - xor a - ld [wcd2b], a -.asm_1019e6 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1019ee - -.CopyOTDetails: ; 1019ee - ld a, [rSVBK] - push af - ld a, 5 - ld [rSVBK], a - - ld bc, w5_dc0d - ld de, w5_dc11 - callba GetMobileOTTrainerClass - - pop af - ld [rSVBK], a - - ld a, c - ld [OtherTrainerClass], a - ld hl, OTPlayerName - ld de, OTClassName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd2f] - and a - ld a, 2 - jr z, .got_link_player_number - ld a, 1 -.got_link_player_number - ld [hLinkPlayerNumber], a - ret -; 101a21 - -StartMobileBattle: ; 101a21 - ; force stereo and fast text speed - ld hl, Options - ld a, [hl] - push af - and (1 << STEREO) - or 1 ; 1 frame per character i.e. fast text - ld [hl], a - ld a, 1 - ld [wDisableTextAcceleration], a - callba BattleIntro - callba DoBattle - callba ShowLinkBattleParticipantsAfterEnd - xor a - ld [wDisableTextAcceleration], a - ld a, $ff - ld [hLinkPlayerNumber], a - pop af - ld [Options], a - ret -; 101a4f - -Function101a4f: ; 101a4f - ld a, 1 - ld [wDisableTextAcceleration], a - callba DisplayLinkBattleResult - xor a - ld [wDisableTextAcceleration], a - callba CleanUpBattleRAM - callba LoadPokemonData - call Function1013c0 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101a75 - -CopyOtherPlayersBattleMonSelection: ; 101a75 - ld hl, wcc61 - ld de, wOTMonSelection - ld bc, 3 - call CopyBytes - ld de, wcc64 - callba Function100772 - callba Function101050 - callba LoadSelectedPartiesForColosseum - ret -; 101a97 - -Function101a97: ; 101a97 - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld hl, wcd29 - set 6, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101ab4 - -Function101ab4: ; 101ab4 - ld e, $01 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101ac6 - -Function101ac6: ; 101ac6 - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld hl, wcd29 - set 6, [hl] - xor a - ld [wcd2f], a - ld de, wdc42 - call Function102068 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101aed - -Function101aed: ; 101aed - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld hl, wcd29 - set 6, [hl] - ld a, $01 - ld [wcd2f], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101b0f - -Function101b0f: ; 101b0f - ld c, 0 - call Function10142c - ld e, $03 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101b2b - -Function101b2b: ; 101b2b - callba Function100579 - ld hl, wcd29 - set 2, [hl] - ld a, [wcd26] - bit 7, a - ret z - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMenuCursorY] - cp $01 - jr z, .asm_101b51 - ld a, $02 - ld [wcd2b], a - ret - -.asm_101b51 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101b59 - -Function101b59: ; 101b59 - ld c, $02 - call Function10142c - ld e, $02 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101b70 - -Function101b70: ; 101b70 - ld c, $02 - call Function10142c - ld e, $04 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - call UpdateSprites - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101b8f - -Function101b8f: ; 101b8f - callba Function1005c3 - ld hl, wcd29 - set 2, [hl] - ld a, [wcd26] - bit 7, a - ret z - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMenuCursorY] - cp $01 - jr z, .asm_101bbc - ld a, $01 - ld [wcd2f], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101bbc - xor a - ld [wcd2f], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101bc8 - -Function101bc8: ; 101bc8 - ld c, $02 - call Function10142c - ld e, $08 - call Function101ee4 - call Function102048 - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101be5 - -Function101be5: ; 101be5 - callba Function100579 - ld hl, wcd29 - set 2, [hl] - ld a, [wcd26] - bit 7, a - ret z - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMenuCursorY] - cp $01 - jr nz, .asm_101c0b - ld a, $2a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101c0b - ld a, $02 - ld [wcd2b], a - ret -; 101c11 - -Function101c11: ; 101c11 - ld a, $01 - ld [wdc5f], a - ld e, $09 - call Function101ee4 - call Function102048 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101c2b - -Function101c2b: ; 101c2b - ld a, $02 - ld [wdc5f], a - ld e, $07 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101c42 - -Function101c42: ; 101c42 - ld hl, wcd2a - set 1, [hl] - call Function100665 - ld a, $47 - ld [wMobileCommsJumptableIndex], a - ret -; 101c50 - -Function101c50: ; 101c50 - ld e, $0a - call Function101ee4 - ld hl, wcd29 - set 2, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101c62 - -Function101c62: ; 101c62 - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $01 - call Function10142c - xor a - ld [wc30d], a - ld hl, wcd29 - res 4, [hl] - ld e, $0b - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101c92 - -Function101c92: ; 101c92 - callba Function100675 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101ca0 - -Function101ca0: ; 101ca0 - ld c, $02 - call Function10142c - ld e, $0c - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101cbc - -Function101cbc: ; 101cbc - ld a, $01 - ld [wcd2b], a - ret -; 101cc2 - -Function101cc2: ; 101cc2 ; unreferenced - ld a, $02 - ld [wcd2b], a - ret -; 101cc8 - -Function101cc8: ; 101cc8 - ld a, $01 - ld [wc314], a - ld a, $01 - ld [wc30d], a - ld hl, wcd29 - set 4, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101cdf - -Function101cdf: ; 101cdf - ld a, $06 - ld [wc314], a - ld a, $01 - ld [wc30d], a - ld hl, wcd29 - set 4, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101cf6 - -Function101cf6: ; 101cf6 - ld a, $0b - ld [wc314 + 1], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101d03 - -Function101d03: ; 101d03 - ld a, $0e - ld [wc314 + 1], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101d10 - -Function101d10: ; 101d10 - ld c, $01 - call Function10142c - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - jr Function101d2a - -Function101d1e: ; 101d1e - ld c, $03 - call Function10142c - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - -Function101d2a: ; 101d2a - call Function101418 - ret c - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - ld hl, Jumptable_101d4d - rst JumpTable - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101d4d - -Jumptable_101d4d: ; 101d4d - dw Function101d51 - dw Function101d5d -; 101d51 - -Function101d51: ; 101d51 - ld a, $3c - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function101d5d: ; 101d5d - ld hl, wcd42 - dec [hl] - ret nz - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 101d6b - -Function101d6b: ; 101d6b - ld a, [wc30d] - and a - ret nz - ld hl, wcd29 - res 4, [hl] - ld a, $64 - ld [wMobileCommsJumptableIndex], a - ret -; 101d7b - -Function101d7b: ; 101d7b - callba Function10138b - ld b, 0 - ld hl, Unknown_101d8d - add hl, bc - ld c, [hl] - ld a, c - ld [wMobileCommsJumptableIndex], a - ret -; 101d8d - -Unknown_101d8d: ; 101d8d - db $15, $15, $1f, $1f, $0c, $12, $3a, $3a -; 101d95 - -Function101d95: ; 101d95 - call Function101ee2 - call LoadStandardMenuDataHeader - ld e, $0e - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101db2 - -Function101db2: ; 101db2 - callba Function103302 - call ExitMenu - ld hl, wcd29 - set 5, [hl] - jr c, .asm_101dca - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101dca - ld a, $02 - ld [wcd2b], a - ret -; 101dd0 - -Function101dd0: ; 101dd0 - ld hl, wdc41 - bit 1, [hl] - jr nz, .asm_101ddd - ld a, $19 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101ddd - ld a, $1b - ld [wMobileCommsJumptableIndex], a - ret -; 101de3 - -Function101de3: ; 101de3 - call Function101ecc - call Function101ead - jr c, .asm_101df3 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101df3 - call Function101e98 - jr c, .asm_101e00 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e00 - call Function101ed3 - ld a, $02 - ld [wcd2b], a - ret -; 101e09 - -Function101e09: ; 101e09 - call Function101ead - jr c, .asm_101e16 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e16 - call Function101ecc - call Function101e98 - push af - call Function101ed3 - pop af - jr c, .asm_101e2b - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e2b - ld a, $02 - ld [wcd2b], a - ret -; 101e31 - -Function101e31: ; 101e31 - ld a, $3a - ld [wMobileCommsJumptableIndex], a - jp Function101c2b -; 101e39 - -Function101e39: ; 101e39 - call Function1020bf - push af - call Function101ed3 - pop af - jr c, .asm_101e49 - ld a, $2a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e49 - ld a, $02 - ld [wcd2b], a - ret -; 101e4f - -Function101e4f: ; 101e4f - ld e, $06 - call Function101ee4 - call Function1013d6 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101e64 - -Function101e64: ; 101e64 - call Function101ecc - call Function1020a8 - push af - call Function101ed3 - pop af - jr c, .asm_101e77 - ld a, $24 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e77 - ld hl, wcd29 - set 5, [hl] - ld a, $02 - ld [wcd2b], a - ret -; 101e82 - -Function101e82: ; 101e82 ; unreferenced - call Function101ecc - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101e8d - -Function101e8d: ; 101e8d ; unreferenced - call Function101ed3 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101e98 - -Function101e98: ; 101e98 - call ClearSprites - callba Function8adb3 - ret c - ld hl, GameTimerPause - set 7, [hl] - ld hl, wdc41 - set 4, [hl] - ret -; 101ead - -Function101ead: ; 101ead - ld hl, GameTimerPause - bit 7, [hl] - jr nz, .asm_101ec8 - ld hl, wdc41 - bit 2, [hl] - jr z, .asm_101eca - ld a, [wcd2f] - and a - jr nz, .asm_101ec8 - ld hl, wdc41 - bit 1, [hl] - jr z, .asm_101eca - -.asm_101ec8 - xor a - ret - -.asm_101eca - scf - ret -; 101ecc - -Function101ecc: ; 101ecc - call Function101ee2 - call FadeToMenu - ret -; 101ed3 - -Function101ed3: ; 101ed3 - call Function1013aa - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ret -; 101ee2 - -Function101ee2: ; 101ee2 - ld e, 0 - -Function101ee4: ; 101ee4 - ld d, 0 - ld hl, Unknown_101ef5 - add hl, de - add hl, de - ld a, [hli] - ld d, [hl] - ld e, a - callba Function100504 - ret -; 101ef5 - -Unknown_101ef5: ; 101ef5 - dw String_101f13 - dw String_101f14 - dw String_101f32 - dw String_101f4f - dw String_101f69 - dw String_101f81 - dw String_101f93 - dw String_101faa - dw String_101fc5 - dw String_101fd2 - dw String_101fe1 - dw String_101fef - dw String_102000 - dw String_10200c - dw String_102014 - -String_101f13: ; 101f13 - db "@" - -String_101f14: ; 101f14 - db "モバイルアダプタを つかって" - next "おともだちと つうしんします@" - -String_101f32: ; 101f32 - db "でんわを かけるひとには" - next "つうわりょうきんが かかります@" - -String_101f4f: ; 101f4f - db "モバイルアダプタの じゅんびは" - next "できて いますか?@" - -String_101f69: ; 101f69 - db "あなたが おともだちに" - next "でんわを かけますか?@" - -String_101f81: ; 101f81 - db "めいしフ,ルダーを" - next "つかいますか?@" - -String_101f93: ; 101f93 - db "でんわばんごうを にゅうりょく" - next "してください@" - -String_101faa: ; 101faa - db "それでは おともだちからの" - next "でんわを おまちします…@" - -String_101fc5: ; 101fc5 - next "に でんわを かけます@" - -String_101fd2: ; 101fd2 - next "に でんわを かけています@" - -String_101fe1: ; 101fe1 - db "でんわが つながりました!@" - -String_101fef: ; 101fef - db "つうわを" - next "しゅうりょう します…@" - -String_102000: ; 102000 - db "つうしん しゅうりょう@" - -String_10200c: ; 10200c - db "つうわ じかん@" - -String_102014: ; 102014 - db "それでは つうしんの" - next "せっていを してください@" -; 10202c - -Function10202c: ; 10202c - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld e, $0d - call Function101ee4 - hlcoord 4, 4 - call Function100681 - ret -; 102048 - -Function102048: ; 102048 - call Function10204c - ret -; 10204c - -Function10204c: ; 10204c - hlcoord 3, 2 - ld c, $10 - ld de, wcd53 -.asm_102054 - ld a, [de] - inc de - and a - jr z, .asm_102067 - sub $30 - jr c, .asm_102067 - cp $0a - jr nc, .asm_102067 - add $f6 - ld [hli], a - dec c - jr nz, .asm_102054 - -.asm_102067 - ret -; 102068 - -Function102068: ; 102068 - ld hl, wcd53 - ld c, $08 -.asm_10206d - ld a, [de] - call Function102080 - jr c, .asm_10207f - ld a, [de] - swap a - call Function102080 - jr c, .asm_10207f - inc de - dec c - jr nz, .asm_10206d - -.asm_10207f - ret -; 102080 - -Function102080: ; 102080 - and $0f - cp $0f - jr z, .asm_10208a - add $30 - ld [hli], a - ret - -.asm_10208a - ld [hl], 0 - scf - ret -; 10208e - -Function10208e: ; 10208e - push de - ld h, d - ld l, e - ld de, wdc42 - ld bc, 8 - call CopyBytes - pop de - ret -; 10209c - -Function10209c: ; 10209c - ld a, $ff - ld hl, wdc42 - ld bc, 8 - call ByteFill - ret -; 1020a8 - -Function1020a8: ; 1020a8 - call Function10209c - ld c, $01 - ld de, wdc42 - callba Function17a68f - ret c - call Function10208e - call Function102068 - xor a - ret -; 1020bf - -Function1020bf: ; 1020bf - call ClearSprites - callba Function8aba9 - ld a, c - and a - jr z, .asm_1020e8 - dec a - ld hl, $a04c - ld bc, $25 - call AddNTimes - ld d, h - ld e, l - ld a, $04 - call GetSRAMBank - call Function10208e - call Function102068 - call CloseSRAM - xor a - ret - -.asm_1020e8 - scf - ret -; 1020ea - -Function1020ea: ; 1020ea - ld hl, wdc41 - bit 4, [hl] - jr z, .quit - ld hl, wdc41 - bit 2, [hl] - jr nz, .quit - call Function10218d - ld hl, wc608 - bit 4, [hl] - jr z, .quit - ld hl, wc608 - bit 2, [hl] - jr nz, .quit - call Function102112 - jr z, .quit - and a - ret - -.quit - scf - ret -; 102112 - -Function102112: ; 102112 - ld a, $04 - call GetSRAMBank - ld hl, $a041 - ld c, 40 -.outer_loop - push hl - ld de, $c60f - ld b, 31 -.inner_loop - ld a, [de] - cp [hl] - jr nz, .not_matching - inc de - inc hl - dec b - jr nz, .inner_loop - pop hl - xor a - jr .done - -.not_matching - pop hl - ld de, 37 - add hl, de - dec c - jr nz, .outer_loop - ld a, $01 - and a - jr .done ; useless jr - -.done - push af - call CloseSRAM - pop af - ret -; 102142 - -Function102142: ; 102142 - call Function10218d - call Function102180 - ld hl, UnknownText_0x1021d1 - call MenuTextBox - ld de, SFX_LEVEL_UP - call PlaySFX - call JoyWaitAorB - call ExitMenu - call Function10219f - ld hl, UnknownText_0x1021d6 - call MenuTextBox - call YesNoBox - call ExitMenu - jr c, .asm_10217c - call Function1021b8 - jr c, .asm_10217c - call Function10218d - call Function102180 - ld hl, UnknownText_0x1021db - call PrintText - -.asm_10217c - call Function1013d6 - ret -; 102180 - -Function102180: ; 102180 - ld hl, wc608 + 1 - ld de, StringBuffer2 - ld bc, 11 - call CopyBytes - ret -; 10218d - -Function10218d: ; 10218d - ld hl, w5_dc00 - ld de, wc608 - ld bc, $26 - ld a, $05 - call FarCopyWRAM - ld de, wc608 + 1 ; useless - ret -; 10219f - -Function10219f: ; 10219f - call FadeToMenu - call Function10218d - ld de, wc608 + 1 - callba Function8ac4e - call JoyWaitAorB - call PlayClickSFX - call Function1013aa - ret -; 1021b8 - -Function1021b8: ; 1021b8 - call FadeToMenu - call Function10218d - ld de, wPlayerMoveStruct - callba Function8ac70 - ld a, c - ld [StringBuffer1], a - push af - call Function1013aa - pop af - ret -; 1021d1 - -UnknownText_0x1021d1: ; 1021d1 - text_jump UnknownText_0x1bd19a - db "@" - -UnknownText_0x1021d6: ; 1021d1 - text_jump UnknownText_0x1bd1ba - db "@" - -UnknownText_0x1021db: ; 1021d1 - text_jump UnknownText_0x1bd1dd - db "@" -; 1021e0 - -Function1021e0: ; 1021e0 - call MenuTextBox - call JoyWaitAorB - call ExitMenu - ret -; 1021ea - -UnknownText_0x1021ea: ; 1021ea - text_jump UnknownText_0x1bd201 - db "@" - -UnknownText_0x1021ef: - text_jump UnknownText_0x1bd211 - db "@" - -UnknownText_0x1021f4: - text_jump UnknownText_0x1bd223 - db "@" -; 1021f9 - -Function1021f9: ; 1021f9 - call Function102233 - ld a, $0 ; Function10234b - ld [wcd49], a - ld hl, wcd29 - bit 3, [hl] - res 3, [hl] - jr z, .asm_10220f - ld a, $1 ; Function102361 - ld [wcd49], a - -.asm_10220f - call Function1022ca - ld a, [wcd49] - ld hl, Jumptable_1022f5 - rst JumpTable - call Function102241 - call Function1022d0 - jr c, .asm_102231 - ld a, [wcd49] - bit 7, a - jr z, .asm_10220f - xor a - ld hl, wcd29 - bit 3, [hl] - ret z - scf - ret - -.asm_102231 - xor a - ret -; 102233 - -Function102233: ; 102233 - ld hl, wcd49 - ld bc, 10 - xor a - call ByteFill - call Function10304f - ret -; 102241 - -Function102241: ; 102241 - call Function10226a - call Function102274 - call Function10224b - ret -; 10224b - -Function10224b: ; 10224b - ld hl, wcd4b - bit 1, [hl] - jr nz, .asm_10225e - bit 2, [hl] - jr nz, .asm_10225e - call DelayFrame - call DelayFrame - xor a - ret - -.asm_10225e - res 1, [hl] - res 2, [hl] - callba Mobile_ReloadMapPart - scf - ret -; 10226a - -Function10226a: ; 10226a - ld hl, wcd4b - bit 0, [hl] - ret z - call Function10305d - ret -; 102274 - -Function102274: ; 102274 - ld hl, wcd4b - bit 3, [hl] - ret z - res 3, [hl] - ld de, 8 - call PlaySFX - ret -; 102283 - -Function102283: ; 102283 - ld a, $01 - ld [AttrMapEnd], a - ld hl, wcd4b - set 0, [hl] - ret -; 10228e - -Function10228e: ; 10228e - xor a - ld [AttrMapEnd], a - ld hl, wcd4b - res 0, [hl] - ret -; 102298 - -Function102298: ; 102298 - ld a, e - cp $02 - ret nz - ld hl, wcd4b - bit 6, [hl] - jr z, .asm_1022b6 - ld hl, wcd4b - bit 7, [hl] - ld hl, wcd4b - set 7, [hl] - ret nz - ld de, SFX_ELEVATOR_END - call PlaySFX - jr .asm_1022c1 - -.asm_1022b6 - ld hl, wcd4b - bit 7, [hl] - ld hl, wcd4b - res 7, [hl] - ret z - -.asm_1022c1 - call Function10304f - ld a, $01 - ld [AttrMapEnd], a - ret -; 1022ca - -Function1022ca: ; 1022ca - ld a, 30 - ld [OverworldDelay], a - ret -; 1022d0 - -Function1022d0: ; 1022d0 - callba Function10032e - ld a, [wcd2b] - and a - jr nz, .asm_1022f3 - call Function102298 - ld a, [OverworldDelay] - ld c, a - ld a, 30 - sub c - ld c, a - ld b, $03 - callba AdvanceMobileInactivityTimerAndCheckExpired - jr c, .asm_1022f3 - xor a - ret - -.asm_1022f3 - scf - ret -; 1022f5 - -Jumptable_1022f5: ; 1022f5 - dw Function10234b ; 00 - dw Function102361 ; 01 - dw Function10236e ; 02 - dw Function102387 ; 03 - dw Function1023a1 ; 04 - dw Function1025c7 ; 05 - dw Function1025dc ; 06 - dw Function1024f6 ; 07 - dw Function10250c ; 08 - dw Function1024a8 ; 09 - dw Function102591 ; 0a - dw Function1024a8 ; 0b - dw Function1025b0 ; 0c - dw Function1025bd ; 0d - dw Function102814 ; 0e - dw Function10283c ; 0f - dw Function102862 ; 10 - dw Function10286f ; 11 - dw Function1024a8 ; 12 - dw Function1028a5 ; 13 - dw Function1028ab ; 14 - dw Function1023b5 ; 15 - dw Function1023c6 ; 16 - dw Function1024af ; 17 - dw Function102416 ; 18 - dw Function102423 ; 19 - dw Function10244b ; 1a - dw Function1024af ; 1b - dw Function10246a ; 1c - dw Function102652 ; 1d - dw Function10266b ; 1e - dw Function1025e9 ; 1f - dw Function1025ff ; 20 - dw Function102738 ; 21 - dw Function102754 ; 22 - dw Function1026b7 ; 23 - dw Function1026c8 ; 24 - dw Function1028bf ; 25 - dw Function1028c6 ; 26 - dw Function1028d3 ; 27 - dw Function1028da ; 28 - dw Function1024a8 ; 29 - dw Function10248d ; 2a -; 10234b - -Function10234b: ; 10234b - call Function102d9a - call Function102dd3 - call Function102dec - ld hl, wcd4b - set 1, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 102361 - -Function102361: ; 102361 - ld a, $cc - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10236e - -Function10236e: ; 10236e - call Function1028fc - ret nc - ld a, [wcd51] - cp $cc - jr z, .asm_10237f - ld a, $f2 - ld [wcd2b], a - ret - -.asm_10237f - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 102387 - -Function102387: ; 102387 - ld hl, wcd4b - set 6, [hl] - xor a - ld [wdc5f], a - ld de, MUSIC_ROUTE_30 - call PlayMusic - call Function102d9a - call Function102dd3 - ld a, $01 - ld [wMenuCursorY], a - -Function1023a1: ; 1023a1 - call Function102283 - call Function102db7 - call Function102dec - ld hl, wcd4b - set 1, [hl] - ld a, $1d - ld [wcd49], a - ret -; 1023b5 - -Function1023b5: ; 1023b5 - call Function10228e - call Function102a3b - call Function102b12 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1023c6 - -Function1023c6: ; 1023c6 - call Function102c48 - call Function102c87 - ld a, [wcd4c] - dec a - ld [CurPartyMon], a - xor a - ld [wPokemonWithdrawDepositParameter], a - callba RemoveMonFromPartyOrBox - ld hl, PartyCount - inc [hl] - ld a, [hli] - ld c, a - ld b, 0 - add hl, bc - ld [hl], $ff - ld a, [PartyCount] - ld [wcd4c], a - call Function102c07 - call Function102d48 - call Function102b32 - call Function102f50 - ld hl, wcd4b - set 1, [hl] - ld a, $14 - ld [wcd4e], a - ld a, 0 - ld [wcd4f], a - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 102416 - -Function102416: ; 102416 - ld a, $aa - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 102423 - -Function102423: ; 102423 - call Function102921 - ret nc - callba SaveAfterLinkTrade - callba TrainerRankings_Trades - callba BackupMobileEventIndex - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10244b - -Function10244b: ; 10244b - call Function102f32 - ld hl, wcd4b - set 1, [hl] - ld a, $19 - ld [wcd4e], a - ld a, 0 - ld [wcd4f], a - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10246a - -Function10246a: ; 10246a - call Function102d9a - ld hl, wcd29 - set 3, [hl] - call Function102e07 - ld hl, wcd4b - set 1, [hl] - ld a, $2a - ld [wcd49], a - ret -; 102480 - -Function102480: ; 102480 - ld c, $32 - call DelayFrames - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10248d - -Function10248d: ; 10248d - ld a, [wcd49] - set 7, a - ld [wcd49], a - ret -; 102496 - -Function102496: ; 102496 - ld hl, wcd4e - dec [hl] - ret nz - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1024a8 - -Function1024a8: ; 1024a8 - callba Function1009f3 - ret c - -Function1024af: ; 1024af - call GetJoypad - ld a, [wcd4a] - ld hl, Jumptable_1024ba - rst JumpTable - ret -; 1024ba - -Jumptable_1024ba: ; 1024ba - dw Function1024c0 - dw Function1024cb - dw Function1024de -; 1024c0 - -Function1024c0: ; 1024c0 - ld hl, wcd4e - inc [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - -Function1024cb: ; 1024cb - ld hl, wcd4e - dec [hl] - ret nz - ld a, [wcd4f] - inc a - ld [wcd4e], a - ld a, [wcd4a] - inc a - ld [wcd4a], a - -Function1024de: ; 1024de - ld hl, wcd4e - dec [hl] - jr z, .asm_1024e9 - ld a, [hJoyPressed] - and A_BUTTON | B_BUTTON - ret z - -.asm_1024e9 - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1024f6 - -Function1024f6: ; 1024f6 - call PlaceHollowCursor - ld hl, wcd4b - set 1, [hl] - ld a, [wcd4c] - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10250c - -Function10250c: ; 10250c - call Function1028fc - ret nc - ld a, [wcd51] - cp $0f - jr z, .asm_10254b - and a - jr z, .asm_102572 - cp $aa - jr z, .asm_102572 - cp $07 - jr nc, .asm_102572 - ld [wcd4d], a - dec a - ld [wd003], a - ld a, [wcd4c] - dec a - ld [wd002], a - call Function102b9c - call Function102bdc - jr c, .asm_10256d - callba Functionfb5dd - jr c, .asm_102568 - ld hl, wcd4b - set 1, [hl] - ld a, $0e - ld [wcd49], a - ret - -.asm_10254b - call Function103021 - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, $1e - ld [wcd4e], a - ld a, $1e - ld [wcd4f], a - ld a, $29 - ld [wcd49], a - ret - -.asm_102568 - call Function102ff5 - jr .asm_102577 - -.asm_10256d - call Function102f85 - jr .asm_102577 - -.asm_102572 - call Function102fce - jr .asm_102577 - -.asm_102577 - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, $1e - ld [wcd4e], a - ld a, $3c - ld [wcd4f], a - ld a, $09 - ld [wcd49], a - ret -; 102591 - -Function102591: ; 102591 - call Function102ee7 - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, $1e - ld [wcd4e], a - ld a, $3c - ld [wcd4f], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1025b0 - -Function1025b0: ; 1025b0 - ld a, $09 - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1025bd - -Function1025bd: ; 1025bd - call Function1028fc - ret nc - ld a, $04 - ld [wcd49], a - ret -; 1025c7 - -Function1025c7: ; 1025c7 - call Function102f6d - ld hl, wcd4b - set 1, [hl] - ld a, $0f - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1025dc - -Function1025dc: ; 1025dc - call Function1028fc - ret nc - ld a, [wcd49] - set 7, a - ld [wcd49], a - ret -; 1025e9 - -Function1025e9: ; 1025e9 - nop - ld hl, wcd4b - set 6, [hl] - call Function102b4e - ld hl, wcd4b - set 1, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1025ff - -Function1025ff: ; 1025ff - ld hl, wcd4b - set 2, [hl] - callba Function1009f3 - ret c - callba MobileMenuJoypad - ld a, [wMenuJoypadFilter] - and c - ret z - bit A_BUTTON_F, c - jr nz, .a_button - bit D_UP_F, c - jr nz, .d_up - bit D_DOWN_F, c - jr nz, .d_down - ret - -.a_button - ld hl, wcd4b - set 3, [hl] - ld a, $27 ; Function1028d3 - ld [wcd49], a - ret - -.d_up - ld a, [wMenuCursorY] - ld b, a - ld a, [OTPartyCount] - cp b - ret nz - call HideCursor - ld a, [PartyCount] - ld [wMenuCursorY], a - ld a, $1d ; Function102652 - ld [wcd49], a - ret - -.d_down - ld a, [wMenuCursorY] - cp $01 - ret nz - ld a, $23 ; Function1026b7 - ld [wcd49], a - ret -; 102652 - -Function102652: ; 102652 - nop - ld hl, wcd4b - set 6, [hl] - nop - call Function102b7b - nop - ld hl, wcd4b - set 1, [hl] - nop - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10266b - -Function10266b: ; 10266b - ld hl, wcd4b - set 2, [hl] - callba Function1009f3 - ret c - callba MobileMenuJoypad - ld a, [wMenuJoypadFilter] - and c - ret z - bit A_BUTTON_F, c - jr nz, .a_button - bit D_DOWN_F, c - jr nz, .d_down - bit D_UP_F, c - jr nz, .d_up - ret - -.a_button - ld hl, wcd4b - set 3, [hl] - ld a, $21 ; Function102738 - ld [wcd49], a - ret - -.d_down - ld a, [wMenuCursorY] - dec a - ret nz - call HideCursor - ld a, $1f ; Function1025e9 - ld [wcd49], a - ret - -.d_up - ld a, [wMenuCursorY] - ld b, a - ld a, [PartyCount] - cp b - ret nz - ld a, $23 ; Function1026b7 - ld [wcd49], a - ret -; 1026b7 - -Function1026b7: ; 1026b7 - ld hl, wcd4b - set 6, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, 0 - ld [wcd4a], a - -Function1026c8: ; 1026c8 - call GetJoypad - callba Function1009f3 - ret c - ld a, [wcd4a] - ld hl, Jumptable_1026da - rst JumpTable - ret -; 1026da - -Jumptable_1026da: ; 1026da - dw Function1026de - dw Function1026f3 -; 1026de - -Function1026de: ; 1026de - call HideCursor - hlcoord 9, 17 - ld [hl], $ed - ld a, [wcd4a] - inc a - ld [wcd4a], a - ld hl, wcd4b - set 1, [hl] - ret -; 1026f3 - -Function1026f3: ; 1026f3 - ld a, [hJoyPressed] - bit A_BUTTON_F, a - jr nz, .asm_102723 - bit D_UP_F, a - jr nz, .asm_102712 - bit D_DOWN_F, a - jr nz, .asm_102702 - ret - -.asm_102702 - hlcoord 9, 17 - ld [hl], " " - ld a, $01 - ld [wMenuCursorY], a - ld a, $1d ; Function102652 - ld [wcd49], a - ret - -.asm_102712 - hlcoord 9, 17 - ld [hl], " " - ld a, [OTPartyCount] - ld [wMenuCursorY], a - ld a, $1f ; Function1025e9 - ld [wcd49], a - ret - -.asm_102723 - hlcoord 9, 17 - ld [hl], "▷" - ld hl, wcd4b - set 3, [hl] - ld hl, wcd4b - set 2, [hl] - ld a, $5 ; Function1025c7 - ld [wcd49], a - ret -; 102738 - -Function102738: ; 102738 - ld hl, wcd4b - set 6, [hl] - call PlaceHollowCursor - call Function1027eb - ld hl, wcd4b - set 1, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, 0 - ld [wcd4a], a - -Function102754: ; 102754 - call GetJoypad - callba Function1009f3 - ret c - ld a, [wcd4a] - ld hl, Jumptable_102766 - rst JumpTable - ret -; 102766 - -Jumptable_102766: ; 102766 - dw Function102770 - dw Function102775 - dw Function10278c - dw Function1027a0 - dw Function1027b7 -; 102770 - -Function102770: ; 102770 - ld a, $01 - ld [wcd4a], a - -Function102775: ; 102775 - hlcoord 1, 16 - ld [hl], "▶" - hlcoord 11, 16 - ld [hl], " " - ld hl, wcd4b - set 2, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - ret -; 10278c - -Function10278c: ; 10278c - ld a, [hJoyPressed] - bit A_BUTTON_F, a - jr nz, asm_1027c6 - bit B_BUTTON_F, a - jr nz, asm_1027e2 - bit D_RIGHT_F, a - jr nz, .asm_10279b - ret - -.asm_10279b - ld a, $03 - ld [wcd4a], a -Function1027a0: ; 1027a0 - hlcoord 1, 16 - ld [hl], " " - hlcoord 11, 16 - ld [hl], "▶" - ld hl, wcd4b - set 2, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - ret - -Function1027b7: ; 1027b7 - ld a, [hJoyPressed] - bit A_BUTTON_F, a - jr nz, asm_1027d1 - bit B_BUTTON_F, a - jr nz, asm_1027e2 - bit D_LEFT_F, a - jr nz, Function102770 - ret - -asm_1027c6: - ld hl, wcd4b - set 3, [hl] - ld a, $25 ; Function1028bf - ld [wcd49], a - ret - -asm_1027d1: - ld hl, wcd4b - set 3, [hl] - ld a, [wMenuCursorY] - ld [wcd4c], a - ld a, $7 ; Function1024f6 - ld [wcd49], a - ret - -asm_1027e2: - call Function102db7 - ld a, $1d ; Function102652 - ld [wcd49], a - ret -; 1027eb - -Function1027eb: ; 1027eb - hlcoord 0, 14 - ld b, 2 - ld c, 18 - ld d, h - ld e, l - callba _LinkTextbox - ld de, .Stats_Trade - hlcoord 2, 16 - call PlaceString - ret -; 102804 - -.Stats_Trade: ; 102804 - db "STATS TRADE@" -; 102814 - -Function102814: ; 102814 - ld a, [wMenuCursorY] - ld [wcd52], a - ld a, [wcd4c] - dec a - ld [wd002], a - ld a, [wcd4d] - dec a - ld [wd003], a - call Function102ea8 - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, 0 - ld [wcd4a], a - ld hl, wcd4b - set 1, [hl] - -Function10283c: ; 10283c - ld hl, wcd4b - set 2, [hl] - call Function1029c3 - ret z - jr c, .asm_102852 - ld a, $10 ; Function102862 - ld [wcd49], a - ld hl, wcd4b - set 1, [hl] - ret - -.asm_102852 - ld a, $14 ; Function1028ab - ld [wcd49], a - ld hl, wcd4b - set 3, [hl] - ld hl, wcd4b - set 1, [hl] - ret -; 102862 - -Function102862: ; 102862 - ld a, $08 - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10286f - -Function10286f: ; 10286f - call Function1028fc - ret nc - ld a, [wcd52] - ld [wMenuCursorY], a - ld a, [wcd51] - cp $08 - jr nz, .asm_102886 - ld a, $15 ; Function1023b5 - ld [wcd49], a - ret - -.asm_102886 - call Function102ee7 - ld hl, wcd4b - set 1, [hl] - ld a, $1e - ld [wcd4e], a - ld a, $3c - ld [wcd4f], a - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1028a5 - -Function1028a5: ; 1028a5 - ld a, $4 ; Function1023a1 - ld [wcd49], a - ret -; 1028ab - -Function1028ab: ; 1028ab - ld a, [wcd52] - ld [wMenuCursorY], a - call Function102f15 - ld hl, wcd4b - set 1, [hl] - ld a, $c ; Function1025b0 - ld [wcd49], a - ret -; 1028bf - -Function1028bf: ; 1028bf - ld a, [wcd49] - inc a - ld [wcd49], a - -Function1028c6: ; 1028c6 - xor a - ld [MonType], a - call Function102bac - ld a, $1d ; Function102652 - ld [wcd49], a - ret -; 1028d3 - -Function1028d3: ; 1028d3 - ld a, [wcd49] - inc a - ld [wcd49], a - -Function1028da: ; 1028da - ld a, OTPARTYMON - ld [MonType], a - call Function102bac - ld a, $1f ; Function1025e9 - ld [wcd49], a - ret -; 1028e8 - -Function1028e8: ; 1028e8 - ld hl, wcd4b - res 6, [hl] - ld [wcd50], a - callba StartMobileInactivityTimer - ld a, 0 - ld [wcd4a], a - ret -; 1028fc - -Function1028fc: ; 1028fc - call GetJoypad - callba Function1009f3 - jr nc, .asm_102909 - and a - ret - -.asm_102909 - ld a, [wcd4a] - ld hl, Jumptable_102917 - rst JumpTable - ret nc - ld a, 0 - ld [wcd4a], a - ret -; 102917 - -Jumptable_102917: ; 102917 - dw Function102933 - dw Function10294f - dw Function10295d - dw Function10296e - dw Function102996 -; 102921 - -Function102921: ; 102921 - ld a, [wcd4a] - ld hl, Jumptable_10292f - rst JumpTable - ret nc - ld a, 0 - ld [wcd4a], a - ret -; 10292f - -Jumptable_10292f: ; 10292f - dw Function10295d - dw Function102984 -; 102933 - -Function102933: ; 102933 - ld hl, MenuDataHeader_1029bb - call LoadMenuDataHeader - call Function102e07 - ld a, $32 - ld [TextDelayFrames], a - ld hl, wcd4b - set 1, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret -; 10294f - -Function10294f: ; 10294f - ld a, [TextDelayFrames] - and a - ret nz - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret -; 10295d - -Function10295d: ; 10295d - call Function10299e - ld a, 0 - ld [wcd27], a - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret -; 10296e - -Function10296e: ; 10296e - callba Function100382 - and a - ld a, [wcd27] - bit 7, a - ret z - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret -; 102984 - -Function102984: ; 102984 - callba Function100382 - and a - ld a, [wcd27] - bit 7, a - ret z - call Function1029af - scf - ret -; 102996 - -Function102996: ; 102996 - call Function1029af - call ExitMenu - scf - ret -; 10299e - -Function10299e: ; 10299e - ld a, $01 - ld [wccb4], a - ld a, [wcd50] - ld [wccb5], a - ld a, $aa - ld [wcd51], a - ret -; 1029af - -Function1029af: ; 1029af - ld hl, wcd4b - res 7, [hl] - ld a, [wcc61] - ld [wcd51], a - ret -; 1029bb - -MenuDataHeader_1029bb: ; 1029bb - db $40 ; flags - db 10, 3 ; start coords - db 12, 15 ; end coords - dw NULL - db 1 ; default option -; 1029c3 - -Function1029c3: ; 1029c3 - ld a, [wcd4a] - ld hl, Jumptable_1029cb - rst JumpTable - ret -; 1029cb - -Jumptable_1029cb: ; 1029cb - dw Function1029cf - dw Function1029fe -; 1029cf - -Function1029cf: ; 1029cf - call LoadStandardMenuDataHeader - hlcoord 10, 7 - ld b, 3 - ld c, 8 - ld d, h - ld e, l - callba _LinkTextbox - ld de, String_102a26 - hlcoord 12, 8 - call PlaceString - ld hl, wcd4b - set 1, [hl] - ld de, MenuData3_102a33 - call SetMenuAttributes - ld a, [wcd4a] - inc a - ld [wcd4a], a - xor a - ret -; 1029fe - -Function1029fe: ; 1029fe - callba Function1009f3 - ret c - callba MobileMenuJoypad - ld a, c - ld hl, wMenuJoypadFilter - and [hl] - ret z - push af - call ExitMenu - pop af - ld a, [wMenuCursorY] - cp $01 - jr nz, .asm_102a21 - ld a, $01 - and a - ret - -.asm_102a21 - ld a, $01 - and a - scf - ret -; 102a26 - -String_102a26: ; 102a26 - db "TRADE" - next "CANCEL" - db "@" -; 102a33 - -MenuData3_102a33: - db 8, 11 - db 2, 1 - db $80, $00 - dn 2, 0 - db A_BUTTON - -Function102a3b: ; 102a3b - ld a, [wcd30] - ld [wc74e], a - ld hl, PlayerName - ld de, wPlayerTrademonSenderName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd4c] - dec a - ld c, a - ld b, 0 - ld hl, PartySpecies - add hl, bc - ld a, [hl] - ld [wPlayerTrademonSpecies], a - ld a, [wcd4c] - dec a - ld hl, PartyMonOT - call SkipNames - ld de, wPlayerTrademonOTName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd4c] - dec a - ld hl, PartyMon1ID - call GetPartyLocation - ld a, [hli] - ld [wPlayerTrademonID], a - ld a, [hl] - ld [wPlayerTrademonID + 1], a - ld a, [wcd4c] - dec a - ld hl, PartyMon1DVs - call GetPartyLocation - ld a, [hli] - ld [wPlayerTrademonDVs], a - ld a, [hl] - ld [wPlayerTrademonDVs + 1], a - ld a, [wcd4c] - dec a - ld hl, PartyMon1Species - call GetPartyLocation - ld b, h - ld c, l - callba GetCaughtGender - ld a, c - ld [wPlayerTrademonCaughtData], a - ld hl, OTPlayerName - ld de, wOTTrademonSenderName - ld bc, NAME_LENGTH - call CopyBytes - - ld a, [wcd4d] - dec a - ld c, a - ld b, 0 - ld hl, OTPartySpecies - add hl, bc - ld a, [hl] - ld [wOTTrademonSpecies], a - ld a, [wcd4d] - dec a - ld hl, OTPartyMonOT - call SkipNames - ld de, wOTTrademonOTName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1ID - call GetPartyLocation - ld a, [hli] - ld [wOTTrademonID], a - ld a, [hl] - ld [wOTTrademonID + 1], a - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1DVs - call GetPartyLocation - ld a, [hli] - ld [wOTTrademonDVs], a - ld a, [hl] - ld [wOTTrademonDVs + 1], a - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1Species - call GetPartyLocation - ld b, h - ld c, l - callba GetCaughtGender - ld a, c - ld [wOTTrademonCaughtData], a - ret -; 102b12 - -Function102b12: ; 102b12 - ld c, 100 - call DelayFrames - call Function102d9a - call LoadFontsBattleExtra - ld a, [wcd2f] - and a - jr nz, .asm_102b2b - callba Function108026 - jr .asm_102b31 - -.asm_102b2b - callba Function10802a - -.asm_102b31 - ret -; 102b32 - -Function102b32: ; 102b32 - ld a, [wcd4c] - dec a - ld [CurPartyMon], a - ld a, $01 - ld [wForceEvolution], a - callba EvolvePokemon - call Function102d9a - call Function102dd3 - call Function102dec - ret -; 102b4e - -Function102b4e: ; 102b4e - ld a, OTPARTYMON - ld [MonType], a - ld a, [wMenuCursorY] - push af - ld de, Unknown_102b73 - call SetMenuAttributes - pop af - ld [wMenuCursorY], a - ld a, [OTPartyCount] - ld [w2DMenuNumRows], a - ret -; 102b68 - -Function102b68: ; 102b68 ; unreferenced - xor a - ld hl, wWindowStackPointer - ld bc, $10 - call ByteFill - ret -; 102b73 - -Unknown_102b73: - db 9, 6 - db 255, 1 - db $a0, $00 - dn 1, 0 - db D_UP | D_DOWN | A_BUTTON - -Function102b7b: ; 102b7b - xor a - ld [MonType], a - ld a, [wMenuCursorY] - push af - ld de, Unknown_102b94 - call SetMenuAttributes - pop af - ld [wMenuCursorY], a - ld a, [PartyCount] - ld [w2DMenuNumRows], a - ret -; 102b94 - -Unknown_102b94: - db 1, 6 - db 255, 1 - db $a0, $00 - dn 1, 0 - db D_UP | D_DOWN | A_BUTTON - -Function102b9c: ; 102b9c - ld a, [wcd4d] - dec a - hlcoord 6, 9 - ld bc, $14 - call AddNTimes - ld [hl], $ec - ret -; 102bac - -Function102bac: ; 102bac - ld a, [wMenuCursorY] - dec a - ld [CurPartyMon], a - call LowVolume - call ClearSprites - callba _MobileStatsScreenInit - ld a, [CurPartyMon] - inc a - ld [wMenuCursorY], a - call Function102d9a - call ClearPalettes - call DelayFrame - call MaxVolume - call Function102dd3 - call Function102dec - call Function102db7 - ret -; 102bdc - -Function102bdc: ; 102bdc - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1Species - call GetPartyLocation - push hl - ld a, [wcd4d] - ld c, a - ld b, 0 - ld hl, OTPartyCount - add hl, bc - ld a, [hl] - pop hl - cp EGG - jr z, .asm_102bfa - cp [hl] - jr nz, .asm_102c05 - -.asm_102bfa - ld bc, MON_LEVEL - add hl, bc - ld a, [hl] - cp MAX_LEVEL + 1 - jr nc, .asm_102c05 - and a - ret - -.asm_102c05 - scf - ret -; 102c07 - -Function102c07: ; 102c07 - call Function102c14 - call Function102c3b - call Function102c21 - call Function102c2e - ret -; 102c14 - -Function102c14: ; 102c14 - ld hl, PartySpecies - ld de, OTPartySpecies - ld bc, 1 - call Function102c71 - ret -; 102c21 - -Function102c21: ; 102c21 - ld hl, PartyMonNicknames - ld de, OTPartyMonNicknames - ld bc, 11 - call Function102c71 - ret -; 102c2e - -Function102c2e: ; 102c2e - ld hl, PartyMonOT - ld de, OTPartyMonOT - ld bc, 11 - call Function102c71 - ret -; 102c3b - -Function102c3b: ; 102c3b - ld hl, PartyMon1 - ld de, OTPartyMon1 - ld bc, $30 - call Function102c71 - ret -; 102c48 - -Function102c48: ; 102c48 - callba Function10165a - ld a, 0 - call GetSRAMBank - ld hl, $a600 - ld de, wc608 - ld bc, $2f - call Function102c71 - call CloseSRAM - ld hl, wc608 - ld de, w5_da00 - ld bc, $1e0 - ld a, $05 - call FarCopyWRAM - ret -; 102c71 - -Function102c71: ; 102c71 - ld a, [wcd4c] - dec a - call AddNTimes - push hl - ld h, d - ld l, e - ld a, [wcd4d] - dec a - call AddNTimes - pop de - call SwapBytes - ret -; 102c87 - -Function102c87: ; 102c87 - ld a, [wJumptableIndex] - push af - ld a, [wcf64] - push af - ld a, [wcd4c] - ld [wJumptableIndex], a - ld a, [PartyCount] - ld [wcf64], a - ld a, 0 - ld hl, $a600 - ld de, wc608 - ld bc, $11a - call Function102d3e - call Function102cee - ld a, 0 - ld hl, wc608 - ld de, $a600 - ld bc, $11a - call Function102d3e - ld a, [wcd4d] - ld [wJumptableIndex], a - ld a, [OTPartyCount] - ld [wcf64], a - ld a, $05 - ld hl, w5_da00 - ld de, wc608 - ld bc, $11a - call FarCopyWRAM - call Function102cee - ld a, $05 - ld hl, wc608 - ld de, w5_da00 - ld bc, $11a - call FarCopyWRAM - pop af - ld [wcf64], a - pop af - ld [wJumptableIndex], a - ret -; 102cee - -Function102cee: ; 102cee - ld a, [wJumptableIndex] - dec a - call Function102d34 - ld de, wd002 - ld bc, $2f - call CopyBytes - ld a, [wJumptableIndex] - ld c, a - ld a, $06 - sub c - ret z - ld bc, $2f - ld hl, 0 - call AddNTimes - push hl - ld a, [wJumptableIndex] - dec a - call Function102d34 - ld d, h - ld e, l - ld hl, $2f - add hl, de - pop bc - call CopyBytes - ld a, [wcf64] - dec a - call Function102d34 - ld d, h - ld e, l - ld hl, wd002 - ld bc, $2f - call CopyBytes - ret -; 102d34 - -Function102d34: ; 102d34 - ld hl, wc608 - ld bc, $2f - call AddNTimes - ret -; 102d3e - -Function102d3e: ; 102d3e - call GetSRAMBank - call CopyBytes - call CloseSRAM - ret -; 102d48 - -Function102d48: ; 102d48 - ld a, [wcd4c] - ld e, a - ld d, 0 - ld hl, PartyCount - add hl, de - ld a, [hl] - ld [wd265], a - cp EGG - jr z, .asm_102d6d - dec a - call SetSeenAndCaughtMon - ld a, [wcd4c] - dec a - ld bc, PARTYMON_STRUCT_LENGTH - ld hl, PartyMon1Happiness - call AddNTimes - ld [hl], BASE_HAPPINESS - -.asm_102d6d - ld a, [wd265] - cp UNOWN - jr nz, .asm_102d98 - ld a, [wcd4c] - dec a - ld bc, PARTYMON_STRUCT_LENGTH - ld hl, PartyMon1DVs - call AddNTimes - predef GetUnownLetter - callba UpdateUnownDex - ld a, [wFirstUnownSeen] - and a - jr nz, .asm_102d98 - ld a, [UnownLetter] - ld [wFirstUnownSeen], a - -.asm_102d98 - and a - ret -; 102d9a - -Function102d9a: ; 102d9a - ld a, " " - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - ld a, $07 - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - ret -; 102db7 - -Function102db7: ; 102db7 - call Function102e4f - call Function102e3e - ld hl, wcd4b - set 1, [hl] - ret -; 102dc3 - -Function102dc3: ; 102dc3 - hlcoord 0, 12 - ld b, 4 - ld c, 18 - ld d, h - ld e, l - callba _LinkTextbox - ret -; 102dd3 - -Function102dd3: ; 102dd3 - call DisableLCD - ld de, GFX_1032a2 - ld hl, VTiles0 - lb bc, BANK(GFX_1032a2), 4 - call Get2bpp - callba __LoadTradeScreenBorder - call EnableLCD - ret -; 102dec - -Function102dec: ; 102dec - ld hl, Palettes_1032e2 - ld de, UnknOBPals - ld bc, 4 palettes - ld a, $05 - call FarCopyWRAM - callba Function49742 - call SetPalettes - call DelayFrame - ret -; 102e07 - -Function102e07: ; 102e07 - hlcoord 3, 10 - ld b, 1 - ld c, 11 - ld a, [wBattleMode] - and a - jr z, .link_battle - call TextBox - jr .okay - -.link_battle -; this is idiotic - hlcoord 3, 10 - ld b, 1 - ld c, 11 - ld d, h - ld e, l - callba _LinkTextbox - -.okay - ld de, .waiting - hlcoord 4, 11 - call PlaceString - ret -; 102e32 - -.waiting ; 102e32 - db "Waiting...!@" -; 102e3e - -Function102e3e: ; 102e3e - ld de, .CANCEL - hlcoord 10, 17 - call PlaceString - ret -; 102e48 - -.CANCEL: ; 102e48 - db "CANCEL@" -; 102e4f - -Function102e4f: ; 102e4f - callba Function16d42e - callba _InitMG_Mobile_LinkTradePalMap - ld de, PlayerName - hlcoord 4, 0 - call PlaceString - ld a, $14 - ld [bc], a - ld de, OTPlayerName - hlcoord 4, 8 - call PlaceString - ld a, $14 - ld [bc], a - hlcoord 7, 1 - ld de, PartySpecies - call .PlaceSpeciesNames - hlcoord 7, 9 - ld de, OTPartySpecies - call .PlaceSpeciesNames - ret -; 102e86 - -.PlaceSpeciesNames: ; 102e86 - ld c, 0 -.count_loop - ld a, [de] - cp $ff - ret z - ld [wd265], a - push bc - push hl - push de - push hl - ld a, c - ld [hDividend], a - call GetPokemonName - pop hl - call PlaceString - pop de - inc de - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - inc c - jr .count_loop -; 102ea8 - -Function102ea8: ; 102ea8 - call Function102dc3 - ld a, [wcd4c] - dec a - ld c, a - ld b, 0 - ld hl, PartySpecies - add hl, bc - ld a, [hl] - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - ld de, StringBuffer2 - ld bc, 11 - call CopyBytes - ld a, [wcd4d] - dec a - ld c, a - ld b, 0 - ld hl, OTPartySpecies - add hl, bc - ld a, [hl] - ld [wd265], a - call GetPokemonName - ld hl, UnknownText_0x102ee2 - call PrintTextBoxText - ret -; 102ee2 - -UnknownText_0x102ee2: ; 102ee2 - text_jump UnknownText_0x1bd286 - db "@" - -Function102ee7: ; 102ee7 - call Function102dc3 - ld de, String_102ef4 - hlcoord 1, 14 - call PlaceString - ret -; 102ef4 - -String_102ef4: ; 102ef4 - db "Too bad! The trade" - next "was canceled!" - db "@" -; 102f15 - -Function102f15: ; 102f15 - call Function102dc3 - ld de, .TooBadTheTradeWasCanceled - hlcoord 1, 14 - call PlaceString - ret -; 102f22 - -.TooBadTheTradeWasCanceled: ; 102f22 - db "こうかんを キャンセルしました@" -; 102f32 - -Function102f32: ; 102f32 - call Function102dc3 - ld de, .TradeCompleted - hlcoord 1, 14 - call PlaceString - ret -; 102f3f - -.TradeCompleted: ; 102f3f - db "Trade completed!@" -; 102f50 - -Function102f50: ; 102f50 - call Function102dc3 - ld de, .PleaseWait - hlcoord 1, 14 - call PlaceString - ret -; 102f5d - -.PleaseWait: ; 102f5d - db "しょうしょう おまち ください@" -; 102f6d - -Function102f6d: ; 102f6d - call Function102dc3 - ld de, .Finished - hlcoord 1, 14 - call PlaceString - ret -; 102f7a - -.Finished: ; 102f7a - db "しゅうりょう します@" -; 102f85 - -Function102f85: ; 102f85 - ld a, [wd003] - ld c, a - ld b, 0 - ld hl, OTPartySpecies - add hl, bc - ld a, [hl] - ld [wd265], a - call GetPokemonName - call Function102dc3 - ld de, String_102fb2 - hlcoord 1, 14 - call PlaceString - ld de, StringBuffer1 - hlcoord 13, 14 - call PlaceString - ld de, String_102fcc - call PlaceString - ret -; 102fb2 - -String_102fb2: ; 102fb2 - db "あいてがわ<PKMN>えらんだ " - next "いじょう<PKMN>あるようです!!" - db "@" -; 102fcc - -String_102fcc: ; 102fcc - db "に@" -; 102fce - -Function102fce: ; 102fce - call Function102dc3 - ld de, String_102fdb - hlcoord 1, 14 - call PlaceString - ret -; 102fdb - -String_102fdb: ; 102fdb - db "あいてがわ%せんたくに" - next "いじょう<PKMN>あるようです!!" - done -; 102ff5 - -Function102ff5: ; 102ff5 - call Function102dc3 - ld de, String_103002 - hlcoord 1, 14 - call PlaceString - ret -; 103002 - -String_103002: ; 103002 - db "その#を こうかんすると" - next "せんとう できなく なっちゃうよ!" - db "@" -; 103021 - -Function103021: ; 103021 - call Function102dc3 - ld de, String_10302e - hlcoord 1, 14 - call PlaceString - ret -; 10302e - -String_10302e: ; 10302e - db "あいてが ちゅうしを えらんだので" - next "こうかんを ちゅうし します" - db "@" -; 10304f - -Function10304f: ; 10304f - xor a - ld [AttrMapEnd], a - ld [wcf42], a - ld [wcf44], a - ld [wcf45], a - ret -; 10305d - -Function10305d: ; 10305d - nop - ld a, [AttrMapEnd] - and a - ret z - call Function10307f - ret c - call Function103094 - call Function10306e - ret -; 10306e - -Function10306e: ; 10306e - ld a, $01 - ld [hOAMUpdate], a - call ClearSprites - ld de, Sprites - call Function1030cd - xor a - ld [hOAMUpdate], a - ret -; 10307f - -Function10307f: ; 10307f - ld c, $02 - ld hl, wcd4b - bit 7, [hl] - jr z, .asm_10308a - ld c, $01 - -.asm_10308a - ld hl, wcf45 - inc [hl] - ld a, [hl] - cp c - ret c - xor a - ld [hl], a - ret -; 103094 - -Function103094: ; 103094 - ld hl, wcd4b - bit 7, [hl] - jr nz, .asm_1030c0 - ld a, [wcf42] - bit 7, a - jr nz, .asm_1030b2 - ld a, [wcf44] - inc a - ld [wcf44], a - cp $2c - ret nz - ld hl, wcf42 - set 7, [hl] - ret - -.asm_1030b2 - ld a, [wcf44] - dec a - ld [wcf44], a - ret nz - ld hl, wcf42 - res 7, [hl] - ret - -.asm_1030c0 - ld hl, wcf44 - ld a, [hl] - and a - jr z, .asm_1030ca - dec a - ld [hl], a - ret nz - -.asm_1030ca - ld [hl], $2c - ret -; 1030cd - -Function1030cd: ; 1030cd - ld a, [wcf44] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - add hl, hl - ld bc, Unknown_103112 - add hl, bc - ld b, $30 - ld c, $08 -.asm_1030de - push hl - ld hl, wcd4b - bit 7, [hl] - pop hl - ld a, 0 - jr z, .asm_1030eb - ld a, $05 -.asm_1030eb - - add [hl] - inc hl - push hl - - add a - add a - - add Unknown_10327a % $100 - ld l, a - ld a, Unknown_10327a / $100 - adc 0 - ld h, a - - ld a, b - add [hl] - inc hl - ld [de], a - inc de - ld a, $0a - add [hl] - inc hl - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - pop hl - ld a, b - add $08 - ld b, a - dec c - jr nz, .asm_1030de - ret -; 103112 - -Unknown_103112: ; 103112 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $01, $00, $00, $00, $00, $00, $00, $00 - db $02, $01, $00, $00, $00, $00, $00, $00 - db $03, $02, $01, $00, $00, $00, $00, $00 - db $04, $03, $02, $01, $00, $00, $00, $00 - db $04, $04, $03, $02, $01, $00, $00, $00 - db $04, $04, $04, $03, $02, $01, $00, $00 - db $04, $04, $04, $04, $03, $02, $01, $00 - db $04, $04, $04, $04, $04, $03, $02, $01 - db $04, $04, $04, $04, $04, $04, $03, $02 - db $04, $04, $04, $04, $04, $04, $04, $03 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $03, $04, $04, $04, $04, $04, $04, $04 - db $02, $03, $04, $04, $04, $04, $04, $04 - db $01, $02, $03, $04, $04, $04, $04, $04 - db $00, $01, $02, $03, $04, $04, $04, $04 - db $00, $00, $01, $02, $03, $04, $04, $04 - db $00, $00, $00, $01, $02, $03, $04, $04 - db $00, $00, $00, $00, $01, $02, $03, $04 - db $00, $00, $00, $00, $00, $01, $02, $03 - db $00, $00, $00, $00, $00, $00, $01, $02 - db $00, $00, $00, $00, $00, $00, $00, $01 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 -; 10327a - -Unknown_10327a: ; 10327a - db $00, $00, $00, $00 - db $00, $00, $01, $00 - db $00, $00, $02, $00 - db $00, $00, $03, $00 - db $00, $00, $01, $01 - db $00, $00, $00, $00 - db $00, $00, $01, $02 - db $00, $00, $02, $02 - db $00, $00, $03, $02 - db $00, $00, $01, $03 - -GFX_1032a2: -INCBIN "gfx/unknown/1032a2.2bpp" - -Palettes_1032e2: - RGB 0, 0, 0 - RGB 31, 31, 7 - RGB 20, 31, 6 - RGB 13, 20, 16 - - RGB 0, 0, 0 - RGB 7, 11, 17 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 31, 24, 4 - RGB 25, 12, 0 - RGB 31, 7, 4 - - RGB 0, 0, 0 - RGB 25, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -; 103302 - -Function103302: ; 103302 - call Function103309 - call Function103362 - ret -; 103309 - -Function103309: ; 103309 - xor a - ld [hBGMapMode], a - ld hl, Buffer1 - ld bc, 10 - xor a - call ByteFill - ld a, $04 - call GetSRAMBank - ld a, [wdc41] - ld [$a60c], a - ld [Buffer1], a - call CloseSRAM - call Function1035c6 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld [wd1ef], a - ld a, [hli] - ld [wd1ec], a - ld a, [hli] - ld [wd1ed], a - ld h, d - ld l, e - call Function3eea - ld hl, wd1ec - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hl] - ld [wd1ee], a - call Function1034be - call UpdateSprites - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - ld a, $01 - ld [wd1f0], a - call Function10339a - ret -; 103362 - -Function103362: ; 103362 -.asm_103362 - ld a, [wd1f0] - ld [wd1f1], a - call Function1033af - call Function10339a - call Function10342c - callba HDMATransferTileMapToWRAMBank3 - ld a, [Buffer2] - bit 7, a - jr z, .asm_103362 - ld hl, Buffer2 - bit 6, [hl] - jr z, .asm_103398 - ld a, $04 - call GetSRAMBank - ld a, [Buffer1] - ld [$a60c], a - ld [wdc41], a - call CloseSRAM - xor a - ret - -.asm_103398 - scf - ret -; 10339a - -Function10339a: ; 10339a - ld a, [wd1f0] - ld [wd1f2], a - ld c, a - ld b, 0 - ld hl, wd1ec - ld a, [hli] - ld h, [hl] - ld l, a - add hl, bc - ld a, [hl] - ld [wd1f3], a - ret -; 1033af - -Function1033af: ; 1033af - call GetJoypad - ld a, [hJoyPressed] - bit D_LEFT_F, a - jr nz, .left - bit D_RIGHT_F, a - jr nz, .right - bit B_BUTTON_F, a - jr nz, .b - bit A_BUTTON_F, a - jr nz, .a - bit D_UP_F, a - jr nz, .up - bit D_DOWN_F, a - jr nz, .down - ret - -.up - ld a, [wd1f0] - dec a - ld [wd1f0], a - cp 1 - ret nc - ld a, [wd1ee] - ld [wd1f0], a - ret - -.down - ld a, [wd1f0] - inc a - ld [wd1f0], a - ld c, a - ld a, [wd1ee] - cp c - ret nc - ld a, 1 - ld [wd1f0], a - ret - -.b - call PlayClickSFX - ld hl, Buffer2 - set 7, [hl] - ret - -.a - ld a, [wd1f3] - cp 3 - jr nz, .a_return - ld de, SFX_TRANSACTION - call PlaySFX - ld hl, Buffer2 - set 7, [hl] - ld hl, Buffer2 - set 6, [hl] - ret - -.left -.right -.a_return - ld a, [wd1f3] - cp 3 - ret z - ld de, SFX_PUSH_BUTTON - call PlaySFX - ld bc, 8 - call Function10350f - ld a, [Buffer1] - xor e - ld [Buffer1], a - ret -; 10342c - -Function10342c: ; 10342c - ld a, [wd1f0] - ld [wd1f2], a - call Function103490 - call Function10343c - call Function1034a7 - ret -; 10343c - -Function10343c: ; 10343c - ld a, [wd1f3] - cp $02 - jr nz, .asm_103452 - ld bc, 1 - call Function1034f7 - ld c, $12 - ld b, $01 - call Function1034e0 - jr .asm_10345f - -.asm_103452 - ld bc, $ffed - call Function1034f7 - ld c, $12 - ld b, $02 - call Function1034e0 - -.asm_10345f - ld bc, 0 - call Function10350f - ld bc, 1 - call Function103487 - ld bc, 8 - call Function10350f - ld a, [Buffer1] - and e - ld bc, 2 - jr z, .asm_10347d - ld bc, 4 - -.asm_10347d - call Function10350f - ld bc, 11 - call Function103487 - ret -; 103487 - -Function103487: ; 103487 - push de - call Function1034f7 - pop de - call PlaceString - ret -; 103490 - -Function103490: ; 103490 - hlcoord 0, 15 - ld c, $14 - ld b, $03 - call Function1034e0 - ld bc, 6 - call Function10350f - hlcoord 1, 16 - call PlaceString - ret -; 1034a7 - -Function1034a7: ; 1034a7 - ld a, [wd1f1] - ld [wd1f2], a - ld bc, 10 - call Function1034f7 - ld [hl], $7f - ld bc, 10 - call Function1034f1 - ld [hl], $ed - ret -; 1034be - -Function1034be: ; 1034be - ld a, $01 - ld [wd1f2], a - ld hl, wd1ec - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] -.asm_1034ca - push af - ld a, [hli] - push hl - ld [wd1f3], a - call Function10343c - ld hl, wd1f2 - inc [hl] - pop hl - pop af - dec a - jr nz, .asm_1034ca - call Function103490 - ret -; 1034e0 - -Function1034e0: ; 1034e0 - push bc - push hl - call ClearBox - pop hl - ld bc, AttrMap - TileMap - add hl, bc - pop bc - ld a, $06 - call FillBoxWithByte - ret -; 1034f1 - -Function1034f1: ; 1034f1 - ld a, [wd1f0] - ld [wd1f2], a - -Function1034f7: ; 10134f7 - hlcoord 0, 0 - add hl, bc - ld a, [wd1ef] - ld bc, SCREEN_WIDTH - call AddNTimes - ld a, [wd1f2] - dec a - ld bc, 40 - call AddNTimes - ret -; 10350f - -Function10350f: ; 10350f - ld a, [wd1f3] - push bc - ld hl, Unknown_103522 - ld bc, 9 - call AddNTimes - pop bc - add hl, bc - ld a, [hli] - ld d, [hl] - ld e, a - ret -; 103522 - -Unknown_103522: ; 103522 - dw String_103546 - dw String_103598 - dw String_1035a0 - dw String_10355f - db $01 - dw String_10354f - dw String_1035a8 - dw String_1035b1 - dw String_103571 - db $02 - dw String_103557 - dw String_1035ba - dw String_1035bd - dw String_103585 - db $04 - dw String_103545 - dw String_1035c1 - dw String_1035c1 - dw String_103545 - -String_103545: db "@" -String_103546: db "せんとう アニメ@" -String_10354f: db "でんわばんごう@" -String_103557: db "めいしこうかん@" -String_10355f: db "でんわを かけるひとが きめられる@" -String_103571: db "でんわばんごうの にゅうりょくのしかた@" -String_103585: db "あたらしいめいしが あれば こうかん@" -String_103598: db "とばして みる@" -String_1035a0: db "じっくり みる@" -String_1035a8: db "めいしからえらぶ@" -String_1035b1: db "すうじで いれる@" -String_1035ba: db "する@" -String_1035bd: db "しない@" -String_1035c1: db "けってい@" -; 1035c6 - -Function1035c6: ; 1035c6 - callba Function10138b - ld b, 0 - ld hl, Unknown_1035d7 - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ret -; 1035d7 - -Unknown_1035d7: ; 1035d7 - dw Unknown_1035e7 - dw Unknown_1035f3 - dw Unknown_103608 - dw Unknown_103608 - dw Unknown_1035fe - dw AskMobileOrCable - dw AskMobileOrCable - dw AskMobileOrCable - -Unknown_1035e7: ; 1035e7 - dwcoord 0, 6 - db $12, $07, $07 - dw .this -.this - db 4, 2, 1, 0, 3 - -Unknown_1035f3: ; 1035f3 - dwcoord 0, 7 - db $12, $06, $09 - dw .this -.this - db 3, 2, 1, 3 - -Unknown_1035fe: ; 1035fe - dwcoord 0, 9 - db $12, $04, $0b - dw .this -.this - db 2, 0, 3 - -Unknown_103608: ; 103608 - dwcoord 0, 9 - db $12, $04, $0b - dw .this -.this - db 2, 2, 3 -; 103612 - -AskMobileOrCable: ; 103612 - ld hl, MenuDataHeader_103640 - call LoadMenuDataHeader - ld a, [wMobileOrCable_LastSelection] - and $0f - jr z, .skip_load - ld [wMenuCursorBuffer], a - -.skip_load - call VerticalMenu - call CloseWindow - jr c, .pressed_b - ld a, [wMenuCursorY] - ld [ScriptVar], a - ld c, a - ld a, [wMobileOrCable_LastSelection] - and $f0 - or c - ld [wMobileOrCable_LastSelection], a - ret - -.pressed_b - xor a - ld [ScriptVar], a - ret -; 103640 - -MenuDataHeader_103640: ; 103640 - db $40 ; flags - db 6, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_103648 - db 1 ; default option - -MenuData2_103648: ; 103648 - db $80 ; flags - db 2 - db "モバイル@" - db "ケーブル@" -; 103654 - -Function103654: ; 103654 - callba Mobile_AlwaysReturnNotCarry - bit 7, c - jr nz, .asm_103666 - ld hl, wcd2a - res 5, [hl] - ld c, $02 - ret - -.asm_103666 - ld hl, wcd2a - set 5, [hl] - ld c, $01 - ret -; 10366e - -Mobile_SelectThreeMons: ; 10366e - callba Mobile_AlwaysReturnNotCarry - bit 7, c - jr z, .asm_10369b - ld hl, UnknownText_0x10375d - call PrintText - call YesNoBox - jr c, .asm_103696 - callba CheckForMobileBattleRules - jr nc, .asm_103690 - call JoyWaitAorB - jr .asm_103696 - -.asm_103690 - ld a, $01 - ld [ScriptVar], a - ret - -.asm_103696 - xor a - ld [ScriptVar], a - ret - -.asm_10369b - ld hl, wMobileOrCable_LastSelection - bit 7, [hl] - set 7, [hl] - jr nz, .asm_1036b5 - ld hl, UnknownText_0x103762 - call PrintText - call YesNoBox - jr c, .asm_1036b5 - call Function1036f9 - call JoyWaitAorB - -.asm_1036b5 - call Function103700 - jr c, .asm_1036f4 - ld hl, MenuDataHeader_103747 - call LoadMenuDataHeader - call VerticalMenu - call ExitMenu - jr c, .asm_1036f4 - ld a, [wMenuCursorY] - cp $01 - jr z, .asm_1036d9 - cp $02 - jr z, .asm_1036f4 - cp $03 - jr z, .asm_1036ec - jr .asm_1036b5 - -.asm_1036d9 - callba CheckForMobileBattleRules - jr nc, .asm_1036e6 - call JoyWaitAorB - jr .asm_1036f4 - -.asm_1036e6 - ld a, $01 - ld [ScriptVar], a - ret - -.asm_1036ec - call Function1036f9 - call JoyWaitAorB - jr .asm_1036b5 - -.asm_1036f4 - xor a - ld [ScriptVar], a - ret -; 1036f9 - -Function1036f9: ; 1036f9 - ld hl, UnknownText_0x103767 - call PrintText - ret -; 103700 - -Function103700: ; 103700 - ld c, $0a - ld hl, SwarmFlags - bit 4, [hl] - jr z, .asm_10370f - callba Function1008a6 - -.asm_10370f - ld a, c - ld [StringBuffer2], a - ld a, [StringBuffer2] - cp $05 - jr nc, .asm_103724 - cp $02 - jr nc, .asm_10372c - cp $01 - jr nc, .asm_103734 - jr .asm_10373c - -.asm_103724 - ld hl, UnknownText_0x10376c - call PrintText - and a - ret - -.asm_10372c - ld hl, UnknownText_0x103771 - call PrintText - and a - ret - -.asm_103734 - ld hl, UnknownText_0x103776 - call PrintText - and a - ret - -.asm_10373c - ld hl, UnknownText_0x10377b - call PrintText - call JoyWaitAorB - scf - ret -; 103747 - -MenuDataHeader_103747: ; 103747 - db $40 ; flags - db 5, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_10374f - db 1 ; default option - -MenuData2_10374f: ; 10374f - db $c0 ; flags - db 3 - db "はい@" - db "やめる@" - db "せつめい@" -; 10375d - -UnknownText_0x10375d: ; 0x10375d - text_jump UnknownText_0x1c422a - db "@" -; 0x103762 -UnknownText_0x103762: ; 0x103762 - text_jump UnknownText_0x1c4275 - db "@" -; 0x103767 -UnknownText_0x103767: ; 0x103767 - text_jump UnknownText_0x1c4298 - db "@" -; 0x10376c -UnknownText_0x10376c: ; 0x10376c - text_jump UnknownText_0x1c439c - db "@" -; 0x103771 -UnknownText_0x103771: ; 0x103771 - text_jump UnknownText_0x1c43dc - db "@" -; 0x103776 -UnknownText_0x103776: ; 0x103776 - text_jump UnknownText_0x1c4419 - db "@" -; 0x10377b -UnknownText_0x10377b: ; 0x10377b - text_jump UnknownText_0x1c445a - db "@" -; 0x103780 - -Function103780: ; 103780 - ld a, [wd265] - push af - call Function10378c - pop af - ld [wd265], a - ret -; 10378c - -Function10378c: ; 10378c - ld c, 0 - ld hl, SwarmFlags - bit 4, [hl] - jr nz, .already_set - ld c, $01 - ld hl, SwarmFlags - set 4, [hl] - -.already_set - push bc - callba Link_SaveGame - pop bc - jr c, .failed_to_save - ld a, $01 - ld [ScriptVar], a - ld a, c - and a - ret z - callba Function1006fd - ret - -.failed_to_save - xor a - ld [ScriptVar], a - ld a, c - and a - ret z - ld hl, SwarmFlags - res 4, [hl] - ret -; 1037c2 - -Function1037c2: ; 1037c2 - call Function103823 - jr c, .nope - ld a, [wdc5f] - and a - jr z, .nope - ld hl, UnknownText_0x1037e6 - call PrintText - call YesNoBox - jr c, .nope - ld a, $01 - ld [ScriptVar], a - ret - -.nope - xor a - ld [wdc5f], a - ld [ScriptVar], a - ret -; 1037e6 - -UnknownText_0x1037e6: ; 0x1037e6 - text_jump UnknownText_0x1c449c - db "@" -; 0x1037eb - -Function1037eb: ; 1037eb - call Function103823 - jr nc, .asm_103807 - ld hl, UnknownText_0x103819 - call PrintText - call JoyWaitAorB - ld hl, UnknownText_0x10381e - call PrintText - call JoyWaitAorB - xor a - ld [ScriptVar], a - ret - -.asm_103807 - ld a, [wdc60] - and a - jr nz, .asm_103813 - ld a, $01 - ld [ScriptVar], a - ret - -.asm_103813 - ld a, $02 - ld [ScriptVar], a - ret -; 103819 - -UnknownText_0x103819: ; 0x103819 - text_jump UnknownText_0x1c44c0 - db "@" -; 0x10381e - -UnknownText_0x10381e: ; 0x10381e - text_jump UnknownText_0x1c44e7 - db "@" -; 0x103823 - -Function103823: ; 103823 - callba Mobile_AlwaysReturnNotCarry - bit 7, c - jr nz, .asm_103838 - callba Function1008a6 - ld a, c - cp $01 - jr c, .asm_10383a - -.asm_103838 - xor a - ret - -.asm_10383a - scf - ret -; 10383c - -Function10383c: ; 10383c - ld a, $01 - ld [wdc60], a - xor a - ld hl, wPlayerMonSelection - ld [hli], a - ld [hli], a - ld [hl], a - ld hl, UnknownText_0x103876 - call PrintText - call JoyWaitAorB - callba Script_reloadmappart - callba Function4a94e - jr c, .asm_103870 - ld hl, wd002 - ld de, wPlayerMonSelection - ld bc, 3 - call CopyBytes - xor a - ld [ScriptVar], a - ret - -.asm_103870 - ld a, $01 - ld [ScriptVar], a - ret -; 103876 - -UnknownText_0x103876: ; 0x103876 - text_jump UnknownText_0x1c4508 - db "@" -; 0x10387b - -Function10387b: ; 10387b - callba Mobile_AlwaysReturnNotCarry - bit 7, c - ret nz - callba Function1008a6 - ld a, c - ld [StringBuffer2], a - ld hl, UnknownText_0x103898 - call PrintText - call JoyWaitAorB - ret -; 103898 - -UnknownText_0x103898: ; 0x103898 - text_jump UnknownText_0x1c4525 - db "@" -; 0x10389d |