From 6ff7b7413c0e88efe26d88bd9f9055ba3baf342e Mon Sep 17 00:00:00 2001 From: yenatch Date: Tue, 10 Feb 2015 19:15:15 -0800 Subject: [PATCH 01/20] Split 40k lines of mobile noise out of main.asm. --- main.asm | 39902 +--------------------------------------- misc/mobile_40.asm | 8080 ++++++++ misc/mobile_42.asm | 1947 ++ misc/mobile_45.asm | 24075 ++++++++++++++++++++++++ misc/mobile_5f.asm | 5234 ++++++ misc/unused_title.asm | 559 + 6 files changed, 39909 insertions(+), 39888 deletions(-) create mode 100644 misc/mobile_40.asm create mode 100644 misc/mobile_42.asm create mode 100644 misc/mobile_45.asm create mode 100644 misc/mobile_5f.asm create mode 100644 misc/unused_title.asm diff --git a/main.asm b/main.asm index 51aa6bdd8..b56cc4baf 100644 --- a/main.asm +++ b/main.asm @@ -100772,8083 +100772,7 @@ Functionfd1d0: ; fd1d0 INCBIN "baserom.gbc", $fd1d1, $fd1d2 - $fd1d1 -SECTION "bank40", ROMX, BANK[$40] - -Function100000: ; 100000 - 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 Function100063 - pop bc - pop de - ld a, d - ld [wcd21], a - ld a, e - ld [CreditsTimer], a - ld a, c - ld [wcd23], a - ld a, b - ld [wcd24], a - callba Function10127e - callba Function106462 - callba Function106464 - callba Function11615a - ld hl, VramState - set 1, [hl] - ret -; 100057 - -Function100057: ; 100057 - call Function1000a4 - call Function222a - ld hl, VramState - res 1, [hl] - ret -; 100063 - -Function100063: ; 100063 - xor a - ld hl, BGMapBuffer - ld bc, $0065 - call ByteFill - xor a - ld hl, wc300 - ld bc, $100 - call ByteFill - ld a, [rIE] - ld [BGMapBuffer], a - xor a - ld [$ffde], a - ld [hLCDStatCustom], a - ret -; 100082 - -Function100082: ; 100082 - xor a - ld hl, OverworldMap - ld bc, 1300 - 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 [$ffde], a - ld [hLCDStatCustom], a - ld a, $1 - ld [$ffc9], a - ld [$ffe9], a - ei - ret -; 0x1000a4 - -Function1000a4: ; 1000a4 - di - xor a - ld [$ffc9], a - ld [$ffe9], a - xor a - ld [hVBlank], a - call NormalSpeed - xor a - ld [rIF], a - ld a, [BGMapBuffer] - ld [rIE], a - ei - ret -; 1000ba - -Function1000ba: ; 1000ba -.asm_1000ba - ld hl, wcd23 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wcd25] - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [CreditsTimer] - call GetFarHalfword - ld a, [CreditsTimer] - rst FarCall - call Function1000e8 - call Function1000fa - call Function100144 - call Function100163 - ld a, [wcd2b] - and a - jr z, .asm_1000ba - 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 [$ffc9], a - ld [$ffe9], a - ei - ld a, [InLinkBattle] - push af - xor a - ld [InLinkBattle], a - ld a, $4 - ld [wc319], a - callba Function11619d - ld hl, wcd29 - set 6, [hl] - pop af - ld [InLinkBattle], 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 Function10402d - 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 $1 - ret z - cp $2 - 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, $0000 - jr .asm_1001d7 - -.asm_1001b6 - ld a, $d5 - ld de, $0000 - jr .asm_1001d7 - -.asm_1001bd - ld a, $d6 - ld de, $0000 - jr .asm_1001d7 - -.asm_1001c4 - ld a, $d2 - ld de, $0002 - jr .asm_1001d7 - -.asm_1001cb - ld a, $d1 - ld de, $0001 - jr .asm_1001d7 - -.asm_1001d2 - ld a, $d0 - ld de, $0000 - -.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 Function8c084 - callba Function106464 - call HideSprites - call DelayFrame - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba Function17f555 - pop af - ld [rSVBK], a - ret -; 100232 - -Function100232: ; 100232 - push de - callba Function106464 - call Function3f20 - call Function1ad2 - hlcoord 1, 2 - pop de - call PlaceString - call Function100320 - call Functiona36 - ret -; 10024d - -String10024d: ; 10024d - db "つうしんを キャンセル しました@" -; 10025e - -String10025e: ; 10025e - db "おともだちと えらんだ へやが" - next "ちがうようです@" -; 100276 - -Function100276: ; 100276 - ld a, [wcd2b] - cp $1 - jr z, .asm_10029f - cp $2 - 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, $2 - ret - -.asm_100296 - callba Script_reloadmappart - ld c, $4 - ret - -.asm_10029f - call Function1002dc - ld c, $0 - ret - -.asm_1002a5 - callba Script_reloadmappart - call Function1002ed - ld c, $3 - ret - -.asm_1002b1 - call Function1002c9 - call Function1002dc - ld de, String10024d - call Function100232 - ld c, $2 - ret - -.asm_1002c0 - call Function1002c9 - call Function1002dc - ld c, $1 - ret -; 1002c9 - -Function1002c9: ; 1002c9 - ld hl, wcd2a - bit 0, [hl] - ret z - callba Function3f6d0 - callba Function1500c - ret -; 1002dc - -Function1002dc: ; 1002dc - ld a, $f8 - ld [$ff9f], a - callba RunMapSetupScript - xor a - ld [$ff9f], a - call Functione51 - ret -; 1002ed - -Function1002ed: ; 1002ed - callba Function49409 - callba Function96a4 - ld a, $1 - 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 Functiona36 - ret -; 100320 - -Function100320: ; 100320 - callba Function104099 - ret -; 100327 - -Function100327: ; 100327 - callba Function10402d - 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, $1 - and a - ret - -.asm_100364 - xor a - ret - -.asm_100366 - ld a, $2 - 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, wd000 - ld bc, $0054 - ld a, $3 - call FarCopyWRAM - ret -; 1003ab - -Function1003ab: ; 1003ab - ld hl, wd000 - ld de, wcc60 - ld bc, $0054 - ld a, $3 - call FarCopyWRAM - ret -; 1003ba - -Function1003ba: ; 1003ba - ld hl, wccb4 - ld de, $d080 - ld bc, $0054 - ld a, $3 - call FarCopyWRAM - ret -; 1003c9 - -Function1003c9: ; 1003c9 - ld hl, $d080 - ld de, wccb4 - ld bc, $0054 - ld a, $3 - 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 $2 - ld [wccb4], a - ret -; 1003f5 - -Function1003f5: ; 1003f5 - ld a, [wcc60] - sub $3 - ld [wcc60], a - ld a, [wccb4] - sub $3 - ld [wccb4], a - ret -; 100406 - -Function100406: ; 100406 - ld a, [wcc60] - sub $2 - 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, $0000 -.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 $2 - jr z, .asm_100487 - jr .asm_10048d - -.asm_100487 - ld a, $8 - ld [wcd27], a - ret - -.asm_10048d - ld a, $2 - 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, $8 - ld [wcd27], a - ret -; 1004ce - -Function1004ce: ; 1004ce - call Function100337 - ret c - ret z - cp $2 - 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 Function1ad2 - pop de - hlcoord 4, 2 - call PlaceString - ret -; 100513 - -Function100513: ; 100513 - call Function3f7c - call Function1c89 - call Function1c10 - ld hl, wcfa5 - 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 Function1ad2 - call Function321c - 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 Function241ba - ld a, c - ld hl, wcfa8 - and [hl] - ret z - call Function1ff8 - 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 [wcfa9], a - -.asm_1005a6 - call Function1c07 - 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 [wcfa9], a -.asm_1005f0 - call Function1c07 - 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 - -Function10060d: ; 10060d - hlcoord 3, 10 - ld b, $1 - ld c, $b - call Function3eea - ld de, String_100621 - hlcoord 4, 11 - call PlaceString - ret -; 100621 - -String_100621: ; 100621 - db "つうしんたいきちゅう!@" -; 10062d - -Function10062d: ; 10062d - push bc - call Function10064e - pop bc - ld a, [wcd44] - cp b - jr nc, .asm_10063a - and a - ret - -.asm_10063a - ld a, $fa - ld [wcd2b], a - scf - ret -; 100641 - -Function100641: ; 100641 - xor a - ld [wcd44], a - ld [wcd45], a - ld [wcd46], a - ret -; 10064c - -Function10064c: ; 10064c - ld c, 1 - -Function10064e: ; 10064e - ld hl, wcd46 - ld a, [hl] - add c - cp $3c - jr c, .asm_100658 - xor a - -.asm_100658 - ld [hld], a - ret c - ld a, [hl] - inc a - cp $3c - jr c, .asm_100661 - xor a - -.asm_100661 - 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 - ld bc, $8102 - 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, $4 - ld hl, $a800 - call GetSRAMBank - xor a - ld [hli], a - ld [hli], a - ld [hli], a - call CloseSRAM - ret -; 10070d - -Function10070d: ; 10070d - ld a, $4 - ld hl, $a800 - call GetSRAMBank - xor a - ld [hli], a - ld a, $a - 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, $4 - 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 $1 - jr nz, .asm_1007f4 - ld hl, wcd2a - bit 5, [hl] - jr nz, .asm_1007f4 - ld hl, wcd2a - bit 6, [hl] - jr nz, .asm_1007f4 - ld a, [wcd6a] - add c - cp $3c - jr nc, .asm_1007be - ld [wcd6a], a - and a - ret - -.asm_1007be - sub $3c - ld [wcd6a], a - ld d, b - push de - call Function1007f6 - pop de - jr c, .asm_1007e5 - ld a, c - and a - jr nz, .asm_1007e5 - ld a, b - cp $a - jr nc, .asm_1007e5 - 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 - -.asm_1007e5 - call Function1008e0 - ld hl, wcd2a - set 4, [hl] - ld a, $fc - ld [wcd2b], a - scf - ret - -.asm_1007f4 - and a - ret -; 1007f6 - -Function1007f6: ; 1007f6 - call UpdateTime - ld hl, wcd74 - ld de, wcd71 - call Function1006dc - ld a, $4 - 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, $a - 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, $4 - 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, $a - 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, $3 - 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, $1 - ld c, $b - call TextBox - ld a, [wcd6d] - ld c, a - ld a, $a - sub c - ld [StringBuffer2], a - jr z, .asm_10093f - ld de, .string_100966 - hlcoord 4, 11 - call PlaceString - hlcoord 8, 11 - ld bc, $0102 - ld de, StringBuffer2 - call PrintNum - ld de, SFX_TWO_PC_BEEPS - call PlaySFX - callba Function104061 - 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 Function104061 - ld c, $78 - call DelayFrames - ret -; 10095a - -.string_10095a ; 10095a - db "たいせん しゅうりょう@" -.string_100966 ; 100966 - db "のこり ふん", $e7, "@" -; 100970 - - -Function100970: ; 100970 - ld hl, TileMap - ld de, wdc00 - call Function1009a5 - ld hl, AttrMap - ld de, $dd68 - call Function1009a5 - call Function1009d2 - call Function1009ae - ret -; 100989 - -Function100989: ; 100989 - ld hl, wdc00 - ld de, TileMap - call Function1009a5 - call Function1009ae - callba Function104061 - ld hl, $dd68 - ld de, AttrMap - call Function1009a5 - ret -; 1009a5 - -Function1009a5: ; 1009a5 - ld bc, $0168 - ld a, $3 - call FarCopyWRAM - ret -; 1009ae - -Function1009ae: ; 1009ae - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld hl, $d800 - ld de, AttrMap - ld c, $14 - ld b, $12 -.asm_1009bf - push bc -.asm_1009c0 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_1009c0 - ld bc, $000c - add hl, bc - pop bc - dec b - jr nz, .asm_1009bf - pop af - ld [rSVBK], a - ret -; 1009d2 - -Function1009d2: ; 1009d2 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, [rVBK] - push af - ld a, $1 - ld [rVBK], a - ld hl, $d800 - ld de, VBGMap0 - lb bc, $3, $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, .asm_100a07 - ld hl, wcd2a - set 4, [hl] - ld a, $f8 - ld [wcd2b], a - scf - ret - -.asm_100a07 - xor a - ret -; 100a09 - -Function100a09: ; 100a09 - call Function100a2e - ld [wd431], a - callba Function4000 - ld a, [InLinkBattle] - cp $4 - jr nz, .asm_100a2a - call Function100a87 - call Function100da5 - callba Function3ee27 - jr .asm_100a2d - -.asm_100a2a - call Function100a53 - -.asm_100a2d - ret -; 100a2e - -Function100a2e: ; 100a2e - ld a, [wd0ec] - and a - jr nz, .asm_100a48 - ld a, [CurPlayerMove] - ld b, $e - cp STRUGGLE - jr z, .asm_100a4f - ld b, $d - cp $ff - jr z, .asm_100a4f - ld a, [CurMoveNum] - jr .asm_100a50 - -.asm_100a48 - ld a, [CurPartyMon] - add $4 - jr .asm_100a50 - -.asm_100a4f - ld a, b - -.asm_100a50 - and $f - ret -; 100a53 - -Function100a53: ; 100a53 - ld a, [wd431] - ld [wcf56], a - ld a, $ff - ld [wcf52], a -.asm_100a5e - call Function8c1 - call DelayFrame - ld a, [wcf52] - inc a - jr z, .asm_100a5e - ld b, $a -.asm_100a6c - call DelayFrame - call Function8c1 - dec b - jr nz, .asm_100a6c - ld b, $a -.asm_100a77 - call DelayFrame - call Function908 - dec b - jr nz, .asm_100a77 - ld a, [wcf52] - ld [wd430], a - ret -; 100a87 - -Function100a87: ; 100a87 - call Function100acf - call Function100641 - ld a, $0 - ld [wcd27], a -.asm_100a92 - call DelayFrame - call GetJoypad - callba Function100382 - ld c, $1 - ld b, $3 - push bc - call Function10062d - pop bc - jr c, .asm_100ac7 - ld b, $1 - 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, $f - 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, $1 -.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, $f - ld [wd430], a - ld a, $f1 - ld [wcd2b], a - ret -; 100b0a - - -SECTION "tetsuji", ROMX, BANK[$40] - - charmap " ", $20 ; revert to ascii - -Unknown_100b0a: ; 100b0a - db "tetsuji", 0 -; 100b12 - - -SECTION "bank40_2", ROMX, BANK[$40] - -Function100b12: ; 100b12 - call Function100dd8 - ret c - ld hl, BattleMenuDataHeader - ld a, BANK(BattleMenuDataHeader) - ld de, LoadMenuDataHeader - call FarCall_de - ld a, BANK(BattleMenuDataHeader) - ld [wcf94], a - ld a, [wd0d2] - ld [wcf88], a - call Function100e72 - call Function100b45 - callba Function8e85 - call Function100ed4 - ld a, [wcf88] - ld [wd0d2], a - call Function1c07 - ret -; 100b45 - -Function100b45: ; 100b45 - call Function100b7a -.asm_100b48 - call Function100dd2 - callba Function241ba - push bc - callba Function10402d - call Function100e2d - pop bc - jr c, .asm_100b6b - ld a, [wcfa8] - and c - jr z, .asm_100b48 - callba Function24098 - ret - -.asm_100b6b - ld a, [wcfa4] - ld c, a - ld a, [wcfa3] - call SimpleMultiply - ld [wcf88], a - and a - ret -; 100b7a - -Function100b7a: ; 100b7a - ld hl, Function1c66 - ld a, [wcf94] - rst FarCall - callba Function24085 - callba MobileTextBorder - call Function1ad2 - call Function321c - callba Function2411a - ld hl, wcfa5 - set 7, [hl] - ret -; 100b9f - -Function100b9f: ; 100b9f - xor a - ld [wd0e3], a - callba Function3e786 - ret z - call Function100dd8 - jp c, Function2ec8 - call Function100e72 - call Function100bc2 - push af - callba Function8e85 - call Function100ed4 - pop af - ret -; 100bc2 - -Function100bc2: ; 100bc2 - xor a - ld [hBGMapMode], a - call Function100c74 - call Function100c98 -.asm_100bcb - callba MoveInfoBox -.asm_100bd1 - call Function100dd2 - callba Function241ba - push bc - callba Function10402d - call Function100e2d - pop bc - jr c, .asm_100c25 - ld a, [wcfa8] - and c - bit 6, a - jp nz, .asm_100bff - bit 7, a - jp nz, .asm_100c10 - bit 0, a - jr nz, .asm_100c30 - bit 1, a - jr nz, .asm_100c25 - jr .asm_100bd1 - -.asm_100bff - ld a, [wcfa9] - and a - jp nz, .asm_100bcb - ld a, [wd0eb] - inc a - ld [wcfa9], a - jp .asm_100bcb - -.asm_100c10 - ld a, [wcfa9] - ld b, a - ld a, [wd0eb] - inc a - inc a - cp b - jp nz, .asm_100bcb - ld a, $1 - ld [wcfa9], a - jp .asm_100bcb - -.asm_100c25 - ld a, [wcfa9] - dec a - ld [CurMoveNum], a - ld a, $1 - and a - ret - -.asm_100c30 - ld a, [wcfa9] - dec a - ld [CurMoveNum], a - ld a, [wcfa9] - dec a - ld c, a - ld b, 0 - ld hl, BattleMonPP - add hl, bc - ld a, [hl] - and $3f - jr z, .asm_100c68 - ld a, [PlayerDisableCount] - swap a - and $f - dec a - cp c - jr z, .asm_100c63 - ld a, [wcfa9] - dec a - ld c, a - ld b, 0 - ld hl, BattleMonMoves - add hl, bc - ld a, [hl] - ld [CurPlayerMove], a - xor a - ret - -.asm_100c63 - ld hl, BattleText_0x80c5b - jr .asm_100c6b - -.asm_100c68 - ld hl, BattleText_0x80c39 - -.asm_100c6b - call StdBattleTextBox - call Function30b4 - jp Function100bc2 -; 100c74 - -Function100c74: ; 100c74 - hlcoord 0, 8 - ld b, 8 - ld c, 8 - call TextBox - ld hl, BattleMonMoves - ld de, wd25e - 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, Unknown_100cad - call Function1bb1 - ld a, [wd0eb] - inc a - ld [wcfa3], a - ld a, [CurMoveNum] - inc a - ld [wcfa9], a - ret -; 100cad - -Unknown_100cad: ; 100cad -INCBIN "baserom.gbc",$100cad,$100cb5 - $100cad - - -Function100cb5: ; 100cb5 - call Function100dd8 - ret c - ld hl, wcfa5 - set 7, [hl] - res 6, [hl] -.asm_100cc0 - call Function100dd2 - callba Function241ba - push bc - callba Function8cf69 - callba Function10402d - call Function100dfd - pop bc - jr c, .asm_100d17 - ld a, [wcfa8] - and c - jr z, .asm_100cc0 - call Function1bee - ld a, [PartyCount] - inc a - ld b, a - ld a, [wcfa9] - cp b - jr z, .asm_100d17 - ld [wd0d8], a - ld a, [$ffa9] - ld b, a - bit 1, b - jr nz, .asm_100d17 - ld a, [wcfa9] - 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 - -.asm_100d17 - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - scf - ret -; 100d22 - -Function100d22: ; 100d22 - call Function100dd8 - ret c - call Function100d67 - ld hl, wcfa5 - set 7, [hl] - res 6, [hl] -.asm_100d30 - call Function100dd2 - callba Function241ba - push bc - callba Function8cf69 - callba Function10402d - call Function100dfd - pop bc - jr c, .asm_100d54 - ld a, [wcfa8] - 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_100d88 - call Function1d3c - xor a - ld [hBGMapMode], a - call Function1cbb - call Function1ad2 - call Function1c89 - call WaitBGMap - call Function1c66 - call Function1c10 - ld hl, wcfa5 - set 6, [hl] - ret -; 100d88 - -MenuDataHeader_100d88: ; 100d88 - db 0 ; flags - db 11, 11 ; start coords - db 17, 19 ; end coords - dw MenuData2_100d90 - db 1 ; default option - -MenuData2_100d90: ; 100d90 - db $c0 ; flags - db 3 - db "いれかえる@" - db "つよさをみる@" - db "キャンセル@" -; 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, [InLinkBattle] - cp $4 - jr nz, .asm_100dd0 - ld hl, wcd2a - bit 3, [hl] - jr z, .asm_100dd0 - scf - ret - -.asm_100dd0 - xor a - ret -; 100dd2 - -Function100dd2: ; 100dd2 - ld a, 30 - ld [OverworldDelay], a - ret -; 100dd8 - -Function100dd8: ; 100dd8 - ld c, $1 - ld b, $3 - callba Function10062d - jr c, .asm_100dfb - ld c, $3c - ld b, $1 - 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 - -Function100dfd: ; 100dfd - ld a, [OverworldDelay] - ld c, a - ld a, 30 - sub c - ld c, a - ld b, 3 - push bc - callba Function10062d - pop bc - jr c, .asm_100e2b - ld b, 1 - call Function10079c - jr c, .asm_100e2b - call Function1009f3 - jr c, .asm_100e2b - callba Function10032e - ld a, [wcd2b] - and a - jr nz, .asm_100e2b - xor a - ret - -.asm_100e2b - 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 Function10062d - 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 $2 - 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, $a - -.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 $2 - ret c - ld [hl], $0 - jr Function100ec5 - -Function100ec4: ; 100ec4 - ret - -Function100ec5 - ld hl, wcd67 - inc [hl] - ret -; 100eca - -Function100eca: ; 100eca - callba Function8e8b - call Function100ed4 - ret -; 100ed4 - -Function100ed4: ; 100ed4 - callba Function96a4 - ld a, $1 - 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 - ld a, e - ld [StringBuffer2 + 1], a - ld a, d - ld [StringBuffer2 + 2], a - xor a - ld [StringBuffer2 + 4], a - ld [StringBuffer2 + 5], a -.asm_100f15 - ld a, [hl] - cp $ff - jr z, .asm_100f34 - ld [StringBuffer2 + 3], a - push hl - inc hl - 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 h, [hl] - ld l, a - call Function100f3d - pop hl - ld de, $0007 - add hl, de - jr .asm_100f15 - -.asm_100f34 - ld a, [StringBuffer2 + 4] - ld c, a - ld a, [StringBuffer2 + 5] - ld b, a - ret -; 100f3d - -Function100f3d: ; 100f3d - ld a, [StringBuffer2] - cp $2 - jr z, .asm_100f61 - cp $1 - jr z, .asm_100f77 - cp $3 - jr z, .asm_100f4d - ret - -.asm_100f4d - 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 - -.asm_100f61 - 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 - -.asm_100f77 - 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, .asm_100fb6 - and a - jr nz, .asm_100fb0 - call CopyBytes - ret - -.asm_100fb0 - and $7f - call FarCopyWRAM - ret - -.asm_100fb6 - call GetSRAMBank - call CopyBytes - call CloseSRAM - ret -; 100fc0 - -Unknown_100fc0: ; 100fc0 - dbwww $80, PlayerName, NAME_LENGTH, wd26b - dbwww $80, PartyCount, 1 + PARTY_LENGTH + 1, OTPartyCount - dbwww $80, PlayerID, 2, wd276 - dbwww $80, PartyMons, $30 * 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, $a600, $2f * 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, wd84a, 2, NULL - dbwww $80, PlayerGender, 1, NULL - dbwww $04, $a603, 8, NULL - dbwww $04, $a007, $30, NULL - db -1 - -Unknown_10102c: ; 10102c - dbwww $80, wd26b, 11, NULL - dbwww $80, wd276, 2, NULL - dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL - dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL - dbwww $80, OTPartyMons, $30 * PARTY_LENGTH, NULL - db -1 -; 10104f - -Function101050: ; 101050 - call Function10107d - ld a, [OTPartyCount] - ld hl, $c608 - ld hl, $c608 - ld bc, $01b3 - call Function1010de - ld hl, wc7bb - ld [hl], e - inc hl - ld [hl], d - ld a, $7 - call GetSRAMBank - ld hl, $c608 - ld de, $a001 - ld bc, $01b5 - call CopyBytes - call CloseSRAM - ret -; 10107d - -Function10107d: ; 10107d - xor a - ld hl, $c608 - ld bc, $01b5 - call ByteFill - ld hl, wd26b - ld de, $c608 - ld bc, $000b - call CopyBytes - ld hl, wd271 - ld a, [hli] - ld [$c608 + 11], a - ld a, [hl] - ld [$c608 + 12], a - ld hl, OTPartyMonNicknames - ld de, $c608 + 13 - ld bc, $000b - call Function1010cd - ld hl, OTPartyMonOT - ld de, $c656 + 1 - ld bc, $000b - call Function1010cd - ld hl, OTPartyMon1Species - ld de, $c68a + 15 - ld bc, $0030 - call Function1010cd - ld a, $50 - ld [wc7b9], a - ld a, $33 - ld [wc7ba], a - ret -; 1010cd - -Function1010cd: ; 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 -.asm_1010e3 - 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_1010e3 - pop bc - pop hl - ret -; 1010f2 - -Function1010f2: ; 1010f2 - xor a - ld hl, StringBuffer2 - ld bc, $0009 - call ByteFill - ld hl, wdc5c - ld de, PartyCount - call Function101145 - ld hl, wdc5c - ld de, PartyMon1Species - call Function10117c - ld hl, wdc5c - ld de, PartyMonOT - call Function101181 - ld hl, wdc5c - ld de, PartyMonNicknames - call Function101181 - ld hl, wcd75 - ld de, OTPartyCount - call Function101145 - ld hl, wcd75 - ld de, OTPartyMon1Species - call Function10117c - ld hl, wcd75 - ld de, OTPartyMonOT - call Function101181 - ld hl, wcd75 - ld de, OTPartyMonNicknames - call Function101181 - ret -; 101145 - -Function101145: ; 101145 - push de - ld bc, StringBuffer2 + 6 - xor a -.asm_10114a - push af - call Function101168 - ld [bc], a - inc bc - pop af - inc a - cp $3 - jr nz, .asm_10114a - pop de - ld a, $3 - ld [de], a - inc de - ld hl, StringBuffer2 + 6 - ld bc, $0003 - call CopyBytes - ld a, $ff - ld [de], a - ret -; 101168 - -Function101168: ; 101168 - push hl - add l - ld l, a - ld a, h - adc $0 - ld h, a - ld a, [hl] - pop hl - push de - inc de - add e - ld e, a - ld a, d - adc $0 - ld d, a - ld a, [de] - pop de - ret -; 10117c - -Function10117c: ; 10117c - ld bc, $0030 - jr asm_101184 - -Function101181: ; 101181 - ld bc, $000b - -asm_101184: - ld a, $c608 % $100 - ld [StringBuffer2], a - ld a, $c608 / $100 - ld [StringBuffer2 + 1], a - ld a, c - ld [StringBuffer2 + 2], a - ld a, b - ld [StringBuffer2 + 3], a - ld a, e - ld [StringBuffer2 + 4], a - ld a, d - ld [StringBuffer2 + 5], a - ld a, $3 -.asm_1011a0 - push af - ld a, [hli] - push hl - push af - call Function1011df - call Function1011e8 - 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, .asm_1011a0 - call Function1011e8 - ld a, 3 - ld hl, 0 - call AddNTimes - ld b, h - ld c, l - call Function1011df - ld d, h - ld e, l - ld hl, $c608 - call CopyBytes - ret -; 1011df - -Function1011df: ; 1011df - ld a, [StringBuffer2 + 4] - ld l, a - ld a, [StringBuffer2 + 5] - ld h, a - ret -; 1011e8 - -Function1011e8: ; 1011e8 - ld a, [StringBuffer2 + 2] - ld c, a - ld a, [StringBuffer2 + 3] - ld b, a - ret -; 1011f1 - -Function1011f1: ; 1011f1 - ld a, $4 - call GetSRAMBank - ld a, [$a60c] - ld [wdc41], a - call CloseSRAM - ld hl, wdc41 - res 4, [hl] - ld hl, GameTimerPause - bit 7, [hl] - jr z, .asm_101210 - ld hl, wdc41 - set 4, [hl] - -.asm_101210 - call Function10209c - xor a - ld [wdc5f], a - ld [wdc60], a - ld a, $4 - ld [InLinkBattle], a - ret -; 101220 - -Function101220: ; 101220 - xor a - ld [InLinkBattle], 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 Function1ad2 - call ResetWindow - 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 Function1ad2 - 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, .asm_101290 - cp $1 - ld c, $27 - jr z, .asm_101292 - cp $2 - ld c, $37 - jr z, .asm_101292 - -.asm_101290 - ld c, $0 - -.asm_101292 - ld a, c - ld [wcd25], a - ret -; 101297 - -Jumptable_101297: ; 101297 - dw Function101a97 - dw Function101ab4 - dw Function101475 - dw Function101b0f - dw Function101438 - dw Function101b2b - dw Function101b59 - dw Function101475 - dw Function101b70 - dw Function101438 - dw Function101b8f - dw Function101d7b - dw Function101d95 - dw Function101475 - dw Function101db2 - dw Function101e4f - dw Function101475 - dw Function101e64 - dw Function101e4f - dw Function101475 - dw Function101e64 - dw Function101d95 - dw Function101475 - dw Function101db2 - dw Function101dd0 - dw Function101de3 - dw Function101e39 - dw Function101e09 - dw Function101e4f - dw Function101475 - dw Function101e64 - dw Function101d95 - dw Function101475 - dw Function101db2 - dw Function101e09 - dw Function101e31 - dw Function101bc8 - dw Function101438 - dw Function101be5 - dw Function101ac6 - dw Function101ab4 - dw Function101475 - dw Function101c11 - dw Function1014f4 - dw Function101cc8 - dw Function1014e2 - dw Function1014e2 - dw Function101d10 - dw Function101d2a - dw Function101d2a - dw Function101507 - dw Function10156d - dw Function101557 - dw Function10158a - dw Function101c42 - dw Function101aed - dw Function101ab4 - dw Function101475 - dw Function101c2b - dw Function1014f4 - dw Function101cdf - dw Function1014e2 - dw Function1014e2 - dw Function101d1e - dw Function101d2a - dw Function101d2a - dw Function101507 - dw Function10156d - dw Function101544 - dw Function10158a - dw Function101c42 - dw Function101c50 - dw Function1014ce - dw Function101cf6 - dw Function101826 - dw Function1017e4 - dw Function1017f1 - dw Function1018a8 - dw Function1018d6 - dw Function1017e4 - dw Function1017f1 - dw Function1018e1 - dw Function1015df - dw Function10167d - dw Function10168a - dw Function10162a - dw Function1015be - dw Function10167d - dw Function10168a - dw Function10161f - dw Function10159d - dw Function10167d - dw Function10168a - dw Function101600 - dw Function101d03 - dw Function101d6b - dw Function10159d - dw Function1014ce - dw Function10168e - dw Function101600 - dw Function101913 - dw Function10194b - dw Function10196d - dw Function1017e4 - dw Function1017f5 - dw Function1019ab - dw Function101537 - dw Function101571 - dw Function101c92 - dw Function10152a - dw Function101571 - dw Function101a4f - dw Function101cbc - dw Function101c62 - dw Function101537 - dw Function101571 - dw Function101c92 - dw Function10152a - dw Function101571 - dw Function101ca0 - dw Function101475 - dw Function101cbc -; 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 $1 - jr z, .asm_1013a9 - inc c - -.asm_1013a9 - ret -; 1013aa - -Function1013aa: ; 1013aa - call WhiteBGMap - call Function1d7d - call Function2bae - callba Function106464 - call Function1ad2 - call Function2b5c - ret -; 1013c0 - -Function1013c0: ; 1013c0 - callba Function8000 - callba Function106462 - callba Function106464 - call Function2b5c - ret -; 1013d6 - -Function1013d6: ; 1013d6 - callba Function104000 - ret -; 1013dd - -Function1013dd: ; 1013dd - call Function3238 - 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, $1 - 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, [wcd25] - inc a - ld [wcd25], 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, [wcd25] - inc a - ld [wcd25], 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 $3 - 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 Function100641 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 1014e2 - -Function1014e2: ; 1014e2 - ld hl, wcd29 - set 6, [hl] - ld a, $0 - ld [wcd26], a - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 1014f4 - -Function1014f4: ; 1014f4 - callba Function100082 - ld hl, wcd29 - set 6, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101507 - -Function101507: ; 101507 - ld de, wcd30 - ld hl, $0040 - ld bc, $0040 - ld a, $2 - call Function3e32 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 10151d - -Function10151d: ; 10151d ; unreferenced - ld a, $34 - call Function3e32 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 10152a - -Function10152a: ; 10152a - ld a, $36 - call Function3e32 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101537 - -Function101537: ; 101537 - ld a, $a - call Function3e32 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101544 - -Function101544: ; 101544 - callba Function100641 - ld a, $12 - call Function3e32 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101557 - -Function101557: ; 101557 - callba Function100641 - ld hl, wcd53 - ld a, $8 - call Function3e32 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 10156d - -Function10156d: ; 10156d - call Function101418 - ret c - -Function101571: ; 101571 - callba Function10032e - ret c - ret z - ld a, e - cp $1 - jr z, .asm_101582 - ld [wcd2b], a - ret - -.asm_101582 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 10158a - -Function10158a: ; 10158a - callba Function10064c - ld a, [wcd44] - cp $a - jr c, Function10156d - ld a, $fb - ld [wcd2b], a - ret -; 10159d - -Function10159d: ; 10159d - ld de, $c608 - callba Function100edf - ld de, $c608 - ld a, $5 - ld hl, $d800 - call Function10174c - ld a, $0 - ld [wcd26], a - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 1015be - -Function1015be: ; 1015be - ld de, $c608 - callba Function100eed - ld de, $c608 - ld a, $5 - ld hl, $d800 - call Function10174c - ld a, $0 - ld [wcd26], a - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 1015df - -Function1015df: ; 1015df - ld de, $c608 - callba Function100ef4 - ld de, $c608 - ld a, $5 - ld hl, $d800 - call Function10174c - ld a, $0 - ld [wcd26], a - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101600 - -Function101600: ; 101600 - ld hl, $d800 - ld de, $c608 - ld bc, $01e0 - ld a, $5 - call FarCopyWRAM - ld de, $c608 - callba Function100ee6 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 10161f - -Function10161f: ; 10161f - call Function101649 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 10162a - -Function10162a: ; 10162a - call Function101663 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101635 - -Function101635: ; 101635 - ld de, $c608 - ld bc, $01e0 - call FarCopyWRAM - ret -; 10163f - -Function10163f: ; 10163f - ld hl, $c608 - ld bc, $01e0 - call FarCopyWRAM - ret -; 101649 - -Function101649: ; 101649 - ld a, $5 - ld hl, $d800 - call Function101635 - ld a, $5 - ld de, wda00 - call Function10163f - ret -; 10165a - -Function10165a: ; 10165a - ld a, $5 - ld hl, wda00 - call Function101635 - ret -; 101663 - -Function101663: ; 101663 - ld a, $5 - ld hl, $d800 - call Function101635 - ld a, $5 - ld de, wdc00 - call Function10163f - ret -; 101674 - -Function101674: ; 101674 ; unreferenced - ld a, $5 - ld hl, wdc00 - call Function101635 - ret -; 10167d - -Function10167d: ; 10167d - ld a, $0 - ld [wcd26], a - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 10168a - -Function10168a: ; 10168a - call Function101418 - ret c - -Function10168e: ; 10168e - ld b, $0 - ld c, $1 - callba Function10079c - ret c - ld c, $1 - ld b, $3 - callba Function10062d - 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, [wcd25] - inc a - ld [wcd25], 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, $0054 - ld a, $11 - call ByteFill - ret -; 10177b - -Function10177b: ; 10177b - ld a, [Unknown_10173a] - ld c, a - ld b, $0 - ld a, [wcd3a] - ld hl, $0000 - 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, [wcd25] - inc a - ld [wcd25], a - ret -; 1017f1 - -Function1017f1: ; 1017f1 - call Function101418 - ret c - -Function1017f5: ; 1017f5 - ld b, $0 - ld c, $1 - callba Function10079c - ret c - ld c, $1 - ld b, $3 - callba Function10062d - ret c - callba Function100382 - ld a, [wcd27] - bit 7, a - jr nz, .asm_10181e - ld hl, wcd29 - set 6, [hl] - ret - -.asm_10181e - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101826 - -Function101826: ; 101826 - ld a, [wcd21] - cp $2 - jr z, .asm_101833 - cp $1 - jr z, .asm_101844 - jr .asm_101869 - -.asm_101833 - ld hl, Unknown_10186f - ld de, wccb4 - call Function1013f5 - ld a, [wcd25] - inc a - ld [wcd25], a - ret - -.asm_101844 - callba Function103654 - ld a, c - ld hl, Unknown_101882 - cp $1 - jr z, .asm_10185b - ld hl, Unknown_101895 - cp $2 - jr z, .asm_10185b - jr .asm_101869 - -.asm_10185b - ld de, wccb4 - call Function1013f5 - ld a, [wcd25] - inc a - ld [wcd25], a - ret - -.asm_101869 - ld a, $fe - ld [wcd2b], a - ret -; 10186f - - -SECTION "ascii 10186f", ROMX, BANK[$40] - - 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, BANK[$40] - -Function1018a8: ; 1018a8 - ld hl, wccb5 - ld de, wcc61 - ld a, $4 - call Function101406 - jr c, .asm_1018d0 - ld hl, wccb9 - ld de, wcc65 - ld a, $6 - call Function101406 - jr c, .asm_1018ca - ld a, [wcd25] - inc a - ld [wcd25], 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, [wcd25] - inc a - ld [wcd25], a - ret -; 1018e1 - -Function1018e1: ; 1018e1 - call Function1018fb - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 1018ec - -Function1018ec: ; 1018ec - ld a, $a - 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, $000a - 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 $1 - jr z, .asm_10193f - cp $2 - jr z, .asm_101945 - ld a, $71 - ld [wcd25], a - ret - -.asm_10193f - ld a, $66 - ld [wcd25], a - ret - -.asm_101945 - ld a, $65 - ld [wcd25], a - ret -; 10194b - -Function10194b: ; 10194b - call Function2ed3 - call ClearSprites - callba Function1021f9 - ld hl, wcd29 - bit 3, [hl] - jr nz, .asm_101967 - call Function1013c0 - ld a, $71 - ld [wcd25], a - ret - -.asm_101967 - ld a, $60 - ld [wcd25], a - ret -; 10196d - -Function10196d: ; 10196d - callba Function8000 - callba Function10060d - ld hl, wcd29 - set 5, [hl] - ld hl, wcd2a - set 6, [hl] - ld a, $6 - ld [wccb4], a - ld hl, wdc5c - ld de, wccb5 - ld bc, $0003 - 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, [wcd25] - inc a - ld [wcd25], a - ret -; 1019ab - -Function1019ab: ; 1019ab - call Function101a75 - callba Function100754 - xor a - ld [wdc5f], a - ld [wdc60], a - callba Function8000 - call SpeechTextBox - callba Function100846 - ld c, $78 - call DelayFrames - callba ClearTileMap - call Function1019ee - call Function101a21 - ld a, [wcd2b] - cp $fc - jr nz, .asm_1019e6 - xor a - ld [wcd2b], a - -.asm_1019e6 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 1019ee - -Function1019ee: ; 1019ee - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld bc, wdc0d - ld de, wdc11 - callba Function4e929 - pop af - ld [rSVBK], a - ld a, c - ld [OtherTrainerClass], a - ld hl, wd26b - ld de, $c656 - ld bc, $000b - call CopyBytes - ld a, [wcd2f] - and a - ld a, $2 - jr z, .asm_101a1e - ld a, $1 - -.asm_101a1e - ld [$ffcb], a - ret -; 101a21 - -Function101a21: ; 101a21 - ld hl, Options - ld a, [hl] - push af - and $20 - or $1 - ld [hl], a - ld a, $1 - ld [wc2d7], a - callba Function3f4dd - callba Function3c000 - callba Function3f759 - xor a - ld [wc2d7], a - ld a, $ff - ld [$ffcb], a - pop af - ld [Options], a - ret -; 101a4f - -Function101a4f: ; 101a4f - ld a, $1 - ld [wc2d7], a - callba Function3f77c - xor a - ld [wc2d7], a - callba Function3f6d0 - callba Function1500c - call Function1013c0 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101a75 - -Function101a75: ; 101a75 - ld hl, wcc61 - ld de, wcd75 - ld bc, $0003 - call CopyBytes - ld de, wcc64 - callba Function100772 - callba Function101050 - callba Function1010f2 - ret -; 101a97 - -Function101a97: ; 101a97 - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $2 - call Function10142c - ld hl, wcd29 - set 6, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101ab4 - -Function101ab4: ; 101ab4 - ld e, $1 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101ac6 - -Function101ac6: ; 101ac6 - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $2 - call Function10142c - ld hl, wcd29 - set 6, [hl] - xor a - ld [wcd2f], a - ld de, wdc42 - call Function102068 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101aed - -Function101aed: ; 101aed - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $2 - call Function10142c - ld hl, wcd29 - set 6, [hl] - ld a, $1 - ld [wcd2f], a - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101b0f - -Function101b0f: ; 101b0f - ld c, $0 - call Function10142c - ld e, $3 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wcd25] - inc a - ld [wcd25], 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, [wcfa9] - cp $1 - jr z, .asm_101b51 - ld a, $2 - ld [wcd2b], a - ret - -.asm_101b51 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101b59 - -Function101b59: ; 101b59 - ld c, $2 - call Function10142c - ld e, $2 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101b70 - -Function101b70: ; 101b70 - ld c, $2 - call Function10142c - ld e, $4 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - call Function1ad2 - ld a, [wcd25] - inc a - ld [wcd25], 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, [wcfa9] - cp $1 - jr z, .asm_101bbc - ld a, $1 - ld [wcd2f], a - ld a, [wcd25] - inc a - ld [wcd25], a - ret - -.asm_101bbc - xor a - ld [wcd2f], a - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101bc8 - -Function101bc8: ; 101bc8 - ld c, $2 - call Function10142c - ld e, $8 - call Function101ee4 - call Function102048 - call Function1013dd - ld a, $0 - ld [wcd26], a - ld a, [wcd25] - inc a - ld [wcd25], 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, [wcfa9] - cp $1 - jr nz, .asm_101c0b - ld a, $2a - ld [wcd25], a - ret - -.asm_101c0b - ld a, $2 - ld [wcd2b], a - ret -; 101c11 - -Function101c11: ; 101c11 - ld a, $1 - ld [wdc5f], a - ld e, $9 - call Function101ee4 - call Function102048 - ld hl, wcd29 - set 5, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101c2b - -Function101c2b: ; 101c2b - ld a, $2 - ld [wdc5f], a - ld e, $7 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101c42 - -Function101c42: ; 101c42 - ld hl, wcd2a - set 1, [hl] - call Function100665 - ld a, $47 - ld [wcd25], a - ret -; 101c50 - -Function101c50: ; 101c50 - ld e, $a - call Function101ee4 - ld hl, wcd29 - set 2, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101c62 - -Function101c62: ; 101c62 - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $1 - call Function10142c - xor a - ld [wc30d], a - ld hl, wcd29 - res 4, [hl] - ld e, $b - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ld a, $0 - ld [wcd26], a - ret -; 101c92 - -Function101c92: ; 101c92 - callba Function100675 - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101ca0 - -Function101ca0: ; 101ca0 - ld c, $2 - call Function10142c - ld e, $c - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ld a, $0 - ld [wcd26], a - ret -; 101cbc - -Function101cbc: ; 101cbc - ld a, $1 - ld [wcd2b], a - ret -; 101cc2 - -Function101cc2: ; 101cc2 ; unreferenced - ld a, $2 - ld [wcd2b], a - ret -; 101cc8 - -Function101cc8: ; 101cc8 - ld a, $1 - ld [wc314], a - ld a, $1 - ld [wc30d], a - ld hl, wcd29 - set 4, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101cdf - -Function101cdf: ; 101cdf - ld a, $6 - ld [wc314], a - ld a, $1 - ld [wc30d], a - ld hl, wcd29 - set 4, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101cf6 - -Function101cf6: ; 101cf6 - ld a, $b - ld [wc315], a - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101d03 - -Function101d03: ; 101d03 - ld a, $e - ld [wc315], a - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101d10 - -Function101d10: ; 101d10 - ld c, $1 - call Function10142c - ld a, [wcd25] - inc a - ld [wcd25], a - jr Function101d2a - -Function101d1e: ; 101d1e - ld c, $3 - call Function10142c - ld a, [wcd25] - inc a - ld [wcd25], 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, [wcd25] - inc a - ld [wcd25], 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 [wcd25], a - ret -; 101d7b - -Function101d7b: ; 101d7b - callba Function10138b - ld b, 0 - ld hl, Unknown_101d8d - add hl, bc - ld c, [hl] - ld a, c - ld [wcd25], a - ret -; 101d8d - -Unknown_101d8d: ; 101d8d - db $15, $15, $1f, $1f, $0c, $12, $3a, $3a -; 101d95 - -Function101d95: ; 101d95 - call Function101ee2 - call Function1d6e - ld e, $e - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wcd25] - inc a - ld [wcd25], a - ld a, $0 - ld [wcd26], a - ret -; 101db2 - -Function101db2: ; 101db2 - callba Function103302 - call Function1c07 - ld hl, wcd29 - set 5, [hl] - jr c, .asm_101dca - ld a, [wcd25] - inc a - ld [wcd25], a - ret - -.asm_101dca - ld a, $2 - ld [wcd2b], a - ret -; 101dd0 - -Function101dd0: ; 101dd0 - ld hl, wdc41 - bit 1, [hl] - jr nz, .asm_101ddd - ld a, $19 - ld [wcd25], a - ret - -.asm_101ddd - ld a, $1b - ld [wcd25], a - ret -; 101de3 - -Function101de3: ; 101de3 - call Function101ecc - call Function101ead - jr c, .asm_101df3 - ld a, [wcd25] - inc a - ld [wcd25], a - ret - -.asm_101df3 - call Function101e98 - jr c, .asm_101e00 - ld a, [wcd25] - inc a - ld [wcd25], a - ret - -.asm_101e00 - call Function101ed3 - ld a, $2 - ld [wcd2b], a - ret -; 101e09 - -Function101e09: ; 101e09 - call Function101ead - jr c, .asm_101e16 - ld a, [wcd25] - inc a - ld [wcd25], a - ret - -.asm_101e16 - call Function101ecc - call Function101e98 - push af - call Function101ed3 - pop af - jr c, .asm_101e2b - ld a, [wcd25] - inc a - ld [wcd25], a - ret - -.asm_101e2b - ld a, $2 - ld [wcd2b], a - ret -; 101e31 - -Function101e31: ; 101e31 - ld a, $3a - ld [wcd25], a - jp Function101c2b -; 101e39 - -Function101e39: ; 101e39 - call Function1020bf - push af - call Function101ed3 - pop af - jr c, .asm_101e49 - ld a, $2a - ld [wcd25], a - ret - -.asm_101e49 - ld a, $2 - ld [wcd2b], a - ret -; 101e4f - -Function101e4f: ; 101e4f - ld e, $6 - call Function101ee4 - call Function1013d6 - ld a, [wcd25] - inc a - ld [wcd25], 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 [wcd25], a - ret - -.asm_101e77 - ld hl, wcd29 - set 5, [hl] - ld a, $2 - ld [wcd2b], a - ret -; 101e82 - -Function101e82: ; 101e82 ; unreferenced - call Function101ecc - ld a, [wcd25] - inc a - ld [wcd25], a - ret -; 101e8d - -Function101e8d: ; 101e8d ; unreferenced - call Function101ed3 - ld a, [wcd25] - inc a - ld [wcd25], 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, $2 - call Function10142c - ld e, $d - 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 $a - 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, $8 -.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 $f - cp $f - 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, $0008 - call CopyBytes - pop de - ret -; 10209c - -Function10209c: ; 10209c - ld a, $ff - ld hl, wdc42 - ld bc, $0008 - call ByteFill - ret -; 1020a8 - -Function1020a8: ; 1020a8 - call Function10209c - ld c, $1 - 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, $0025 - call AddNTimes - ld d, h - ld e, l - ld a, $4 - 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, .asm_102110 - ld hl, wdc41 - bit 2, [hl] - jr nz, .asm_102110 - call Function10218d - ld hl, $c608 - bit 4, [hl] - jr z, .asm_102110 - ld hl, $c608 - bit 2, [hl] - jr nz, .asm_102110 - call Function102112 - jr z, .asm_102110 - and a - ret - -.asm_102110 - scf - ret -; 102112 - -Function102112: ; 102112 - ld a, $4 - call GetSRAMBank - ld hl, $a041 - ld c, $28 -.asm_10211c - push hl - ld de, $c60f - ld b, $1f -.asm_102122 - ld a, [de] - cp [hl] - jr nz, .asm_10212f - inc de - inc hl - dec b - jr nz, .asm_102122 - pop hl - xor a - jr .asm_10213c - -.asm_10212f - pop hl - ld de, $0025 - add hl, de - dec c - jr nz, .asm_10211c - ld a, $1 - and a - jr .asm_10213c - -.asm_10213c - push af - call CloseSRAM - pop af - ret -; 102142 - -Function102142: ; 102142 - call Function10218d - call Function102180 - ld hl, UnknownText_0x1021d1 - call Function1d4f - ld de, SFX_LEVEL_UP - call PlaySFX - call Functiona36 - call Function1c07 - call Function10219f - ld hl, UnknownText_0x1021d6 - call Function1d4f - call YesNoBox - call Function1c07 - 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, $c608 + 1 - ld de, StringBuffer2 - ld bc, $000b - call CopyBytes - ret -; 10218d - -Function10218d: ; 10218d - ld hl, wdc00 - ld de, $c608 - ld bc, $0026 - ld a, $5 - call FarCopyWRAM - ld de, $c608 + 1 - ret -; 10219f - -Function10219f: ; 10219f - call FadeToMenu - call Function10218d - ld de, $c608 + 1 - callba Function8ac4e - call Functiona36 - call PlayClickSFX - call Function1013aa - ret -; 1021b8 - -Function1021b8: ; 1021b8 - call FadeToMenu - call Function10218d - ld de, $c60f - 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 Function1d4f - call Functiona36 - call Function1c07 - 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 - ld [wcd49], a - ld hl, wcd29 - bit 3, [hl] - res 3, [hl] - jr z, .asm_10220f - ld a, $1 - 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, $000a - 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 Function104099 - 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, $0008 - call PlaySFX - ret -; 102283 - -Function102283: ; 102283 - ld a, $1 - 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 $2 - 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, $1 - 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, $3 - callba Function10062d - jr c, .asm_1022f3 - xor a - ret - -.asm_1022f3 - scf - ret -; 1022f5 - -Jumptable_1022f5: ; 1022f5 - dw Function10234b - dw Function102361 - dw Function10236e - dw Function102387 - dw Function1023a1 - dw Function1025c7 - dw Function1025dc - dw Function1024f6 - dw Function10250c - dw Function1024a8 - dw Function102591 - dw Function1024a8 - dw Function1025b0 - dw Function1025bd - dw Function102814 - dw Function10283c - dw Function102862 - dw Function10286f - dw Function1024a8 - dw Function1028a5 - dw Function1028ab - dw Function1023b5 - dw Function1023c6 - dw Function1024af - dw Function102416 - dw Function102423 - dw Function10244b - dw Function1024af - dw Function10246a - dw Function102652 - dw Function10266b - dw Function1025e9 - dw Function1025ff - dw Function102738 - dw Function102754 - dw Function1026b7 - dw Function1026c8 - dw Function1028bf - dw Function1028c6 - dw Function1028d3 - dw Function1028da - dw Function1024a8 - dw Function10248d -; 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, $1 - ld [wcfa9], 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 [wd10b], a - callba Functione039 - 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 Function14a58 - callba Function1060af - callba Function106187 - 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 Function1bee - 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 $f - jr z, .asm_10254b - and a - jr z, .asm_102572 - cp $aa - jr z, .asm_102572 - cp $7 - jr nc, .asm_102572 - ld [wcd4d], a - dec a - ld [wd003], a - ld a, [wcd4c] - dec a - ld [DefaultFlypoint], a - call Function102b9c - call Function102bdc - jr c, .asm_10256d - callba Functionfb5dd - jr c, .asm_102568 - ld hl, wcd4b - set 1, [hl] - ld a, $e - 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, $9 - 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, $9 - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1025bd - -Function1025bd: ; 1025bd - call Function1028fc - ret nc - ld a, $4 - ld [wcd49], a - ret -; 1025c7 - -Function1025c7: ; 1025c7 - call Function102f6d - ld hl, wcd4b - set 1, [hl] - ld a, $f - 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 Function241ba - ld a, [wcfa8] - and c - ret z - bit 0, c - jr nz, .asm_102623 - bit 6, c - jr nz, .asm_10262e - bit 7, c - jr nz, .asm_102646 - ret - -.asm_102623 - ld hl, wcd4b - set 3, [hl] - ld a, $27 - ld [wcd49], a - ret - -.asm_10262e - ld a, [wcfa9] - ld b, a - ld a, [OTPartyCount] - cp b - ret nz - call Function1bf7 - ld a, [PartyCount] - ld [wcfa9], a - ld a, $1d - ld [wcd49], a - ret - -.asm_102646 - ld a, [wcfa9] - cp $1 - ret nz - ld a, $23 - 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 Function241ba - ld a, [wcfa8] - and c - ret z - bit 0, c - jr nz, .asm_10268f - bit 7, c - jr nz, .asm_10269a - bit 6, c - jr nz, .asm_1026a8 - ret - -.asm_10268f - ld hl, wcd4b - set 3, [hl] - ld a, $21 - ld [wcd49], a - ret - -.asm_10269a - ld a, [wcfa9] - dec a - ret nz - call Function1bf7 - ld a, $1f - ld [wcd49], a - ret - -.asm_1026a8 - ld a, [wcfa9] - ld b, a - ld a, [PartyCount] - cp b - ret nz - ld a, $23 - 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 Function1bf7 - 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 0, a - jr nz, .asm_102723 - bit 6, a - jr nz, .asm_102712 - bit 7, a - jr nz, .asm_102702 - ret - -.asm_102702 - hlcoord 9, 17 - ld [hl], $7f - ld a, $1 - ld [wcfa9], a - ld a, $1d - ld [wcd49], a - ret - -.asm_102712 - hlcoord 9, 17 - ld [hl], $7f - ld a, [OTPartyCount] - ld [wcfa9], a - ld a, $1f - ld [wcd49], a - ret - -.asm_102723 - hlcoord 9, 17 - ld [hl], $ec - ld hl, wcd4b - set 3, [hl] - ld hl, wcd4b - set 2, [hl] - ld a, $5 - ld [wcd49], a - ret -; 102738 - -Function102738: ; 102738 - ld hl, wcd4b - set 6, [hl] - call Function1bee - 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, $1 - ld [wcd4a], a - -Function102775: ; 102775 - hlcoord 1, 16 - ld [hl], $ed - hlcoord 11, 16 - ld [hl], $7f - ld hl, wcd4b - set 2, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - ret -; 10278c - -Function10278c: ; 10278c - ld a, [hJoyPressed] - bit 0, a - jr nz, asm_1027c6 - bit 1, a - jr nz, asm_1027e2 - bit 4, a - jr nz, .asm_10279b - ret - -.asm_10279b - ld a, $3 - ld [wcd4a], a - -Function1027a0: ; 1027a0 - hlcoord 1, 16 - ld [hl], $7f - hlcoord 11, 16 - ld [hl], $ed - ld hl, wcd4b - set 2, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - ret - -Function1027b7: ; 1027b7 - ld a, [hJoyPressed] - bit 0, a - jr nz, asm_1027d1 - bit 1, a - jr nz, asm_1027e2 - bit 5, a - jr nz, Function102770 - ret - -asm_1027c6: - ld hl, wcd4b - set 3, [hl] - ld a, $25 - ld [wcd49], a - ret - -asm_1027d1: - ld hl, wcd4b - set 3, [hl] - ld a, [wcfa9] - ld [wcd4c], a - ld a, $7 - ld [wcd49], a - ret - -asm_1027e2: - call Function102db7 - ld a, $1d - ld [wcd49], a - ret -; 1027eb - -Function1027eb: ; 1027eb - hlcoord 0, 14 - ld b, $2 - ld c, $12 - ld d, h - ld e, l - callba Function16d61d - ld de, String_102804 - hlcoord 2, 16 - call PlaceString - ret -; 102804 - -String_102804: ; 102804 - db "STATS TRADE@" -; 102814 - -Function102814: ; 102814 - ld a, [wcfa9] - ld [wcd52], a - ld a, [wcd4c] - dec a - ld [DefaultFlypoint], 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 - ld [wcd49], a - ld hl, wcd4b - set 1, [hl] - ret - -.asm_102852 - ld a, $14 - ld [wcd49], a - ld hl, wcd4b - set 3, [hl] - ld hl, wcd4b - set 1, [hl] - ret -; 102862 - -Function102862: ; 102862 - ld a, $8 - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10286f - -Function10286f: ; 10286f - call Function1028fc - ret nc - ld a, [wcd52] - ld [wcfa9], a - ld a, [wcd51] - cp $8 - jr nz, .asm_102886 - ld a, $15 - 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 - ld [wcd49], a - ret -; 1028ab - -Function1028ab: ; 1028ab - ld a, [wcd52] - ld [wcfa9], a - call Function102f15 - ld hl, wcd4b - set 1, [hl] - ld a, $c - 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 - ld [wcd49], a - ret -; 1028d3 - -Function1028d3: ; 1028d3 - ld a, [wcd49] - inc a - ld [wcd49], a - -Function1028da: ; 1028da - ld a, $1 - ld [MonType], a - call Function102bac - ld a, $1f - ld [wcd49], a - ret -; 1028e8 - -Function1028e8: ; 1028e8 - ld hl, wcd4b - res 6, [hl] - ld [wcd50], a - callba Function100641 - 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 Function1c07 - scf - ret -; 10299e - -Function10299e: ; 10299e - ld a, $1 - 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 Function1d6e - hlcoord 10, 7 - ld b, $3 - ld c, $8 - ld d, h - ld e, l - callba Function16d61d - ld de, String_102a26 - hlcoord 12, 8 - call PlaceString - ld hl, wcd4b - set 1, [hl] - ld de, Unknown_102a33 - call Function1bb1 - ld a, [wcd4a] - inc a - ld [wcd4a], a - xor a - ret -; 1029fe - -Function1029fe: ; 1029fe - callba Function1009f3 - ret c - callba Function241ba - ld a, c - ld hl, wcfa8 - and [hl] - ret z - push af - call Function1c07 - pop af - ld a, [wcfa9] - cp $1 - jr nz, .asm_102a21 - ld a, $1 - and a - ret - -.asm_102a21 - ld a, $1 - and a - scf - ret -; 102a26 - -String_102a26: ; 102a26 - db "TRADE" - next "CANCEL" - db "@" -; 102a33 - -Unknown_102a33: -INCBIN "baserom.gbc", $102a33, $102a3b - $102a33 - -Function102a3b: ; 102a3b - ld a, [wcd30] - ld [wc74e], a - ld hl, PlayerName - ld de, $c6e7 - ld bc, $000b - call CopyBytes - ld a, [wcd4c] - dec a - ld c, a - ld b, $0 - ld hl, PartySpecies - add hl, bc - ld a, [hl] - ld [$c6d0], a - ld a, [wcd4c] - dec a - ld hl, PartyMonOT - call SkipNames - ld de, $c6f2 - ld bc, $000b - call CopyBytes - ld a, [wcd4c] - dec a - ld hl, PartyMon1ID - call GetPartyLocation - ld a, [hli] - ld [$c6ff], a - ld a, [hl] - ld [wc700], a - ld a, [wcd4c] - dec a - ld hl, PartyMon1DVs - call GetPartyLocation - ld a, [hli] - ld [$c6fd], a - ld a, [hl] - ld [$c6fe], a - ld a, [wcd4c] - dec a - ld hl, PartyMon1Species - call GetPartyLocation - ld b, h - ld c, l - callba GetCaughtGender - ld a, c - ld [wc701], a - ld hl, wd26b - ld de, wc719 - ld bc, $000b - call CopyBytes - ld a, [wcd4d] - dec a - ld c, a - ld b, $0 - ld hl, OTPartySpecies - add hl, bc - ld a, [hl] - ld [wc702], a - ld a, [wcd4d] - dec a - ld hl, OTPartyMonOT - call SkipNames - ld de, wc724 - ld bc, $000b - call CopyBytes - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1ID - call GetPartyLocation - ld a, [hli] - ld [wc731], a - ld a, [hl] - ld [wc732], a - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1DVs - call GetPartyLocation - ld a, [hli] - ld [wc72f], a - ld a, [hl] - ld [wc730], a - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1Species - call GetPartyLocation - ld b, h - ld c, l - callba GetCaughtGender - ld a, c - ld [wc733], a - ret -; 102b12 - -Function102b12: ; 102b12 - ld c, $64 - call DelayFrames - call Function102d9a - call Functione58 - 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, $1 - ld [wd1e9], a - callba Function421d8 - call Function102d9a - call Function102dd3 - call Function102dec - ret -; 102b4e - -Function102b4e: ; 102b4e - ld a, $1 - ld [MonType], a - ld a, [wcfa9] - push af - ld de, Unknown_102b73 - call Function1bb1 - pop af - ld [wcfa9], a - ld a, [OTPartyCount] - ld [wcfa3], a - ret -; 102b68 - -Function102b68: ; 102b68 ; unreferenced - xor a - ld hl, wcf71 - ld bc, $0010 - call ByteFill - ret -; 102b73 - -Unknown_102b73: -INCBIN "baserom.gbc", $102b73, $102b7b - $102b73 - -Function102b7b: ; 102b7b - xor a - ld [MonType], a - ld a, [wcfa9] - push af - ld de, Unknown_102b94 - call Function1bb1 - pop af - ld [wcfa9], a - ld a, [PartyCount] - ld [wcfa3], a - ret -; 102b94 - -Unknown_102b94: -INCBIN "baserom.gbc", $102b94, $102b9c - $102b94 - -Function102b9c: ; 102b9c - ld a, [wcd4d] - dec a - hlcoord 6, 9 - ld bc, $0014 - call AddNTimes - ld [hl], $ec - ret -; 102bac - -Function102bac: ; 102bac - ld a, [wcfa9] - dec a - ld [CurPartyMon], a - call LowVolume - call ClearSprites - callba Function4dc8f - ld a, [CurPartyMon] - inc a - ld [wcfa9], 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, OTPartyMon1Level - OTPartyMon1 - 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, $0001 - call Function102c71 - ret -; 102c21 - -Function102c21: ; 102c21 - ld hl, PartyMonNicknames - ld de, OTPartyMonNicknames - ld bc, $000b - call Function102c71 - ret -; 102c2e - -Function102c2e: ; 102c2e - ld hl, PartyMonOT - ld de, OTPartyMonOT - ld bc, $000b - call Function102c71 - ret -; 102c3b - -Function102c3b: ; 102c3b - ld hl, PartyMon1 - ld de, OTPartyMon1 - ld bc, $0030 - call Function102c71 - ret -; 102c48 - -Function102c48: ; 102c48 - callba Function10165a - ld a, $0 - call GetSRAMBank - ld hl, $a600 - ld de, $c608 - ld bc, $002f - call Function102c71 - call CloseSRAM - ld hl, $c608 - ld de, wda00 - ld bc, $01e0 - ld a, $5 - 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, [wcf63] - push af - ld a, [wcf64] - push af - ld a, [wcd4c] - ld [wcf63], a - ld a, [PartyCount] - ld [wcf64], a - ld a, $0 - ld hl, $a600 - ld de, $c608 - ld bc, $011a - call Function102d3e - call Function102cee - ld a, $0 - ld hl, $c608 - ld de, $a600 - ld bc, $011a - call Function102d3e - ld a, [wcd4d] - ld [wcf63], a - ld a, [OTPartyCount] - ld [wcf64], a - ld a, $5 - ld hl, wda00 - ld de, $c608 - ld bc, $011a - call FarCopyWRAM - call Function102cee - ld a, $5 - ld hl, $c608 - ld de, wda00 - ld bc, $011a - call FarCopyWRAM - pop af - ld [wcf64], a - pop af - ld [wcf63], a - ret -; 102cee - -Function102cee: ; 102cee - ld a, [wcf63] - dec a - call Function102d34 - ld de, DefaultFlypoint - ld bc, $002f - call CopyBytes - ld a, [wcf63] - ld c, a - ld a, $6 - sub c - ret z - ld bc, $002f - ld hl, $0000 - call AddNTimes - push hl - ld a, [wcf63] - dec a - call Function102d34 - ld d, h - ld e, l - ld hl, $002f - add hl, de - pop bc - call CopyBytes - ld a, [wcf64] - dec a - call Function102d34 - ld d, h - ld e, l - ld hl, DefaultFlypoint - ld bc, $002f - call CopyBytes - ret -; 102d34 - -Function102d34: ; 102d34 - ld hl, $c608 - ld bc, $002f - 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, PartyMon2 - PartyMon1 - 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, PartyMon2 - PartyMon1 - ld hl, PartyMon1DVs - call AddNTimes - predef GetUnownLetter - callba Functionfba18 - ld a, [wdef4] - and a - jr nz, .asm_102d98 - ld a, [UnownLetter] - ld [wdef4], a - -.asm_102d98 - and a - ret -; 102d9a - -Function102d9a: ; 102d9a - ld a, $7f - ld hl, SpritesEnd - ld bc, $0168 - call ByteFill - ld a, $7 - ld hl, AttrMap - ld bc, $0168 - call ByteFill - callba Function104000 - 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, $12 - ld d, h - ld e, l - callba Function16d61d - ret -; 102dd3 - -Function102dd3: ; 102dd3 - call DisableLCD - ld de, GFX_1032a2 - ld hl, VTiles0 - lb bc, BANK(GFX_1032a2), 4 - call Get2bpp - callba Function16d421 - call EnableLCD - ret -; 102dec - -Function102dec: ; 102dec - ld hl, Unknown_1032e2 - ld de, Unkn2Pals - ld bc, $0020 - ld a, $5 - call FarCopyWRAM - callba Function49742 - call Function32f9 - call DelayFrame - ret -; 102e07 - -Function102e07: ; 102e07 - hlcoord 3, 10 - ld b, $1 - ld c, $b - ld a, [IsInBattle] - and a - jr z, .asm_102e19 - call TextBox - jr .asm_102e28 - -.asm_102e19 - hlcoord 3, 10 - ld b, $1 - ld c, $b - ld d, h - ld e, l - callba Function16d61d - -.asm_102e28 - ld de, String_102e32 - hlcoord 4, 11 - call PlaceString - ret -; 102e32 - -String_102e32: ; 102e32 - db "Waiting...!@" -; 102e3e - -Function102e3e: ; 102e3e - ld de, String_102e48 - hlcoord 10, 17 - call PlaceString - ret -; 102e48 - -String_102e48: ; 102e48 - db "CANCEL@" -; 102e4f - -Function102e4f: ; 102e4f - callba Function16d42e - callba Function49797 - ld de, PlayerName - hlcoord 4, 0 - call PlaceString - ld a, $14 - ld [bc], a - ld de, wd26b - hlcoord 4, 8 - call PlaceString - ld a, $14 - ld [bc], a - hlcoord 7, 1 - ld de, PartySpecies - call Function102e86 - hlcoord 7, 9 - ld de, OTPartySpecies - call Function102e86 - ret -; 102e86 - -Function102e86: ; 102e86 - ld c, $0 -.asm_102e88 - 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, $0014 - add hl, bc - pop bc - inc c - jr .asm_102e88 -; 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, $000b - 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, String_102f22 - hlcoord 1, 14 - call PlaceString - ret -; 102f22 - -String_102f22: ; 102f22 - db "こうかんを キャンセルしました@" -; 102f32 - -Function102f32: ; 102f32 - call Function102dc3 - ld de, String_102f3f - hlcoord 1, 14 - call PlaceString - ret -; 102f3f - -String_102f3f: ; 102f3f - db "Trade completed!@" -; 102f50 - -Function102f50: ; 102f50 - call Function102dc3 - ld de, String_102f5d - hlcoord 1, 14 - call PlaceString - ret -; 102f5d - -String_102f5d: ; 102f5d - db "しょうしょう おまち ください@" -; 102f6d - -Function102f6d: ; 102f6d - call Function102dc3 - ld de, String_102f7a - hlcoord 1, 14 - call PlaceString - ret -; 102f7a - -String_102f7a: ; 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 "あいてがわ", $4a, "えらんだ " - next "いじょう", $4a, "あるようです!!" - 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 "あいてがわ", $25, "せんたくに" - next "いじょう", $4a, "あるようです!!" - 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, $1 - ld [hOAMUpdate], a - call ClearSprites - ld de, Sprites - call Function1030cd - xor a - ld [hOAMUpdate], a - ret -; 10307f - -Function10307f: ; 10307f - ld c, $2 - ld hl, wcd4b - bit 7, [hl] - jr z, .asm_10308a - ld c, $1 - -.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, $8 -.asm_1030de - push hl - ld hl, wcd4b - bit 7, [hl] - pop hl - ld a, $0 - jr z, .asm_1030eb - ld a, $5 -.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, $a - 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 $8 - 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" - -Unknown_1032e2: - db $00, $00, $ff, $1f - db $f4, $1b, $8d, $42 - db $00, $00, $67, $45 - db $00, $00, $00, $00 - db $00, $00, $1f, $13 - db $99, $01, $ff, $10 - db $00, $00, $19, $00 - db $00, $00, $00, $00 -; 103302 - -Function103302: ; 103302 - call Function103309 - call Function103362 - ret -; 103309 - -Function103309: ; 103309 - xor a - ld [hBGMapMode], a - ld hl, Buffer1 - ld bc, $000a - xor a - call ByteFill - ld a, $4 - 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 Function1ad2 - callba Function104000 - ld a, $1 - ld [wd1f0], a - call Function10339a - ret -; 103362 - -Function103362: ; 103362 -.asm_103362 - ld a, [wd1f0] - ld [wd1f1], a - call Function1033af - call Function10339a - call Function10342c - callba Function10402d - ld a, [Buffer2] - bit 7, a - jr z, .asm_103362 - ld hl, Buffer2 - bit 6, [hl] - jr z, .asm_103398 - ld a, $4 - 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 5, a - jr nz, .left - bit 4, a - jr nz, .right - bit 1, a - jr nz, .b - bit 0, a - jr nz, .a - bit 6, a - jr nz, .up - bit 7, 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, .asm_103412 - ld de, SFX_TRANSACTION - call PlaySFX - ld hl, Buffer2 - set 7, [hl] - ld hl, Buffer2 - set 6, [hl] - ret - -.left -.right -.asm_103412 - ld a, [wd1f3] - cp $3 - ret z - ld de, SFX_PUSH_BUTTON - call PlaySFX - ld bc, $0008 - 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 $2 - jr nz, .asm_103452 - ld bc, $0001 - call Function1034f7 - ld c, $12 - ld b, $1 - call Function1034e0 - jr .asm_10345f - -.asm_103452 - ld bc, $ffed - call Function1034f7 - ld c, $12 - ld b, $2 - call Function1034e0 - -.asm_10345f - ld bc, $0000 - call Function10350f - ld bc, $0001 - call Function103487 - ld bc, $0008 - call Function10350f - ld a, [Buffer1] - and e - ld bc, $0002 - jr z, .asm_10347d - ld bc, $0004 - -.asm_10347d - call Function10350f - ld bc, $000b - 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, $3 - call Function1034e0 - ld bc, $0006 - call Function10350f - hlcoord 1, 16 - call PlaceString - ret -; 1034a7 - -Function1034a7: ; 1034a7 - ld a, [wd1f1] - ld [wd1f2], a - ld bc, $000a - call Function1034f7 - ld [hl], $7f - ld bc, $000a - call Function1034f1 - ld [hl], $ed - ret -; 1034be - -Function1034be: ; 1034be - ld a, $1 - 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, $6 - call Functionfb8 - ret -; 1034f1 - -Function1034f1: ; 1034f1 - ld a, [wd1f0] - ld [wd1f2], a - -Function1034f7: ; 10134f7 - ld hl, TileMap - 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, $0009 - 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 $1 - dw String_10354f - dw String_1035a8 - dw String_1035b1 - dw String_103571 - db $2 - dw String_103557 - dw String_1035ba - dw String_1035bd - dw String_103585 - db $4 - 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 Function103612 - dw Function103612 - dw Function103612 - -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 - -Function103612: ; 103612 - ld hl, MenuDataHeader_103640 - call LoadMenuDataHeader - ld a, [wdc40] - and $f - jr z, .asm_103622 - ld [wcf88], a - -.asm_103622 - call Function1d81 - call Function1c17 - jr c, .asm_10363b - ld a, [wcfa9] - ld [ScriptVar], a - ld c, a - ld a, [wdc40] - and $f0 - or c - ld [wdc40], a - ret - -.asm_10363b - 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 Function10632f - bit 7, c - jr nz, .asm_103666 - ld hl, wcd2a - res 5, [hl] - ld c, $2 - ret - -.asm_103666 - ld hl, wcd2a - set 5, [hl] - ld c, $1 - ret -; 10366e - -Function10366e: ; 10366e - callba Function10632f - bit 7, c - jr z, .asm_10369b - ld hl, UnknownText_0x10375d - call PrintText - call YesNoBox - jr c, .asm_103696 - callba Function8b1e1 - jr nc, .asm_103690 - call Functiona36 - jr .asm_103696 - -.asm_103690 - ld a, $1 - ld [ScriptVar], a - ret - -.asm_103696 - xor a - ld [ScriptVar], a - ret - -.asm_10369b - ld hl, wdc40 - 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 Functiona36 - -.asm_1036b5 - call Function103700 - jr c, .asm_1036f4 - ld hl, MenuDataHeader_103747 - call LoadMenuDataHeader - call Function1d81 - call Function1c07 - jr c, .asm_1036f4 - ld a, [wcfa9] - cp $1 - jr z, .asm_1036d9 - cp $2 - jr z, .asm_1036f4 - cp $3 - jr z, .asm_1036ec - jr .asm_1036b5 - -.asm_1036d9 - callba Function8b1e1 - jr nc, .asm_1036e6 - call Functiona36 - jr .asm_1036f4 - -.asm_1036e6 - ld a, $1 - ld [ScriptVar], a - ret - -.asm_1036ec - call Function1036f9 - call Functiona36 - 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, $a - ld hl, wdc20 - bit 4, [hl] - jr z, .asm_10370f - callba Function1008a6 - -.asm_10370f - ld a, c - ld [StringBuffer2], a - ld a, [StringBuffer2] - cp $5 - jr nc, .asm_103724 - cp $2 - jr nc, .asm_10372c - cp $1 - 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 Functiona36 - 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, wdc20 - bit 4, [hl] - jr nz, .asm_10379c - ld c, $1 - ld hl, wdc20 - set 4, [hl] - -.asm_10379c - push bc - callba Function14ab2 - pop bc - jr c, .asm_1037b5 - ld a, $1 - ld [ScriptVar], a - ld a, c - and a - ret z - callba Function1006fd - ret - -.asm_1037b5 - xor a - ld [ScriptVar], a - ld a, c - and a - ret z - ld hl, wdc20 - res 4, [hl] - ret -; 1037c2 - -Function1037c2: ; 1037c2 - call Function103823 - jr c, .asm_1037de - ld a, [wdc5f] - and a - jr z, .asm_1037de - ld hl, UnknownText_0x1037e6 - call PrintText - call YesNoBox - jr c, .asm_1037de - ld a, $1 - ld [ScriptVar], a - ret - -.asm_1037de - 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 Functiona36 - ld hl, UnknownText_0x10381e - call PrintText - call Functiona36 - xor a - ld [ScriptVar], a - ret - -.asm_103807 - ld a, [wdc60] - and a - jr nz, .asm_103813 - ld a, $1 - ld [ScriptVar], a - ret - -.asm_103813 - ld a, $2 - 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 Function10632f - bit 7, c - jr nz, .asm_103838 - callba Function1008a6 - ld a, c - cp $1 - jr c, .asm_10383a - -.asm_103838 - xor a - ret - -.asm_10383a - scf - ret -; 10383c - -Function10383c: ; 10383c - ld a, $1 - ld [wdc60], a - xor a - ld hl, wdc5c - ld [hli], a - ld [hli], a - ld [hl], a - ld hl, UnknownText_0x103876 - call PrintText - call Functiona36 - callba Script_reloadmappart - callba Function4a94e - jr c, .asm_103870 - ld hl, DefaultFlypoint - ld de, wdc5c - ld bc, $0003 - call CopyBytes - xor a - ld [ScriptVar], a - ret - -.asm_103870 - ld a, $1 - ld [ScriptVar], a - ret -; 103876 - -UnknownText_0x103876: ; 0x103876 - text_jump UnknownText_0x1c4508 - db "@" -; 0x10387b - -Function10387b: ; 10387b - callba Function10632f - bit 7, c - ret nz - callba Function1008a6 - ld a, c - ld [StringBuffer2], a - ld hl, UnknownText_0x103898 - call PrintText - call Functiona36 - ret -; 103898 - -UnknownText_0x103898: ; 0x103898 - text_jump UnknownText_0x1c4525 - db "@" -; 0x10389d +INCLUDE "misc/mobile_40.asm" SECTION "bank41", ROMX, BANK[$41] @@ -111912,6 +103836,8 @@ UpdateUsedMoves: ; 105ed0 +SECTION "bank41_2", ROMX, BANK[$41] + Mobile_HallOfFame2:: mobile ; 0x105ef6 ld a, $5 call GetSRAMBank @@ -112996,26593 +104922,23 @@ GFX_1065ad: INCBIN "gfx/unknown/1065ad.2bpp" -SECTION "bank42", ROMX, BANK[$42] +INCLUDE "misc/mobile_42.asm" -Function108000: ; 108000 - ld a, $80 - ld [wcf65], a - ld de, Unknown_10800b - jp Function108089 -; 10800b -Unknown_10800b: -INCBIN "baserom.gbc", $10800b, $108012 - $10800b - -Function108012: - ld a, $80 - jr asm_108018 - -Function108016: ; 108016 - ld a, $0 -asm_108018: - ld [wcf65], a - ld de, Unknown_108021 - jp Function108089 -; 108021 - -Unknown_108021: -INCBIN "baserom.gbc", $108021, $108026 - $108021 - -Function108026: ; 108026 - ld a, $0 - jr asm_10802c - -Function10802a: ; 10802a - ld a, $1 - -asm_10802c: - ld [wcf65], a - ld de, Unknown_108035 - jp Function10805b -; 108035 - -Unknown_108035: -INCBIN "baserom.gbc", $108035, $10803d - $108035 - -Function10803d: ; 10803d - ld a, $0 - ld [wcf65], a - ld de, Unknown_108048 - jp Function108089 -; 108048 - -Unknown_108048: -INCBIN "baserom.gbc", $108048, $10804d - $108048 - -Function10804d: ; 10804d - ld a, $0 - ld [wcf65], a - ld de, Unknown_108058 - jp Function108089 -; 108058 - -Unknown_108058: -INCBIN "baserom.gbc", $108058, $10805b - $108058 - -Function10805b: ; 10805b - ld hl, wc734 - ld [hl], e - inc hl - ld [hl], d - ld a, [$ffde] - push af - xor a - ld [$ffde], a - ld hl, VramState - ld a, [hl] - push af - res 0, [hl] - ld hl, Options - ld a, [hl] - push af - set 4, [hl] - call Function1080b7 -.asm_108078 - call Function10824b - jr nc, .asm_108078 - pop af - ld [Options], a - pop af - ld [VramState], a - pop af - ld [$ffde], a - ret -; 108089 - -Function108089: ; 108089 - ld hl, BattleEnded - ld [hl], e - inc hl - ld [hl], d - ld a, [$ffde] - push af - xor a - ld [$ffde], a - ld hl, VramState - ld a, [hl] - push af - res 0, [hl] - ld hl, Options - ld a, [hl] - push af - set 4, [hl] - call Function108157 -.asm_1080a6 - call Function10824b - jr nc, .asm_1080a6 - pop af - ld [Options], a - pop af - ld [VramState], a - pop af - ld [$ffde], a - ret -; 1080b7 - -Function1080b7: ; 1080b7 - xor a - ld [wcf63], a - call WhiteBGMap - call ClearSprites - call ClearTileMap - call DisableLCD - call Function1081ad - call Function1081ca - call Functione51 - call Functione58 - ld a, $1 - ld [rVBK], a - ld hl, LZ_108da7 - ld de, VTiles2 - call Decompress - ld a, $0 - ld [rVBK], a - ld hl, LZ_108d27 - ld de, $8200 - call Decompress - call EnableLCD - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - callba Function8cf53 - call DelayFrame - ld de, TradeBallGFX - ld hl, VTiles0 - lb bc, BANK(TradeBallGFX), $06 - call Request2bpp - ld de, TradePoofGFX - ld hl, $8060 - lb bc, BANK(TradePoofGFX), $0c - call Request2bpp - xor a - ld hl, wc300 - ld [hli], a - ld [hl], $0 - ld a, [$c6d0] - ld hl, $c6fd - ld de, $8300 - call Function1081e9 - ld a, [wc702] - ld hl, wc72f - ld de, $9310 - call Function1081e9 - ld a, [$c6d0] - ld de, $c6d1 - call Function108239 - ld a, [wc702] - ld de, wc703 - call Function108239 - xor a - call Function108b98 - call Function108af4 - ret -; 108157 - -Function108157: ; 108157 - xor a - ld [wcf63], a - call WhiteBGMap - call ClearSprites - call ClearTileMap - call DisableLCD - call Function1081ad - call Function1081ca - call Functione51 - call Functione58 - call EnableLCD - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - callba Function8cf53 - xor a - ld hl, wc300 - ld [hli], a - ld [hl], $0 - call DelayFrame - ld a, [$c6d0] - ld de, $c6d1 - call Function108239 - ld a, [wc702] - ld de, wc703 - call Function108239 - xor a - call Function108b98 - call Function108af4 - ret -; 1081ad - -Function1081ad: ; 1081ad - ld a, $1 - ld [rVBK], a - ld hl, VTiles0 - ld bc, $1800 - xor a - call ByteFill - ld a, $0 - ld [rVBK], a - ld hl, VTiles0 - ld bc, $1800 - xor a - call ByteFill - ret -; 1081ca - -Function1081ca: ; 1081ca - ld a, $1 - ld [rVBK], a - ld hl, VBGMap0 - ld bc, $0800 - ld a, $0 - call ByteFill - ld a, $0 - ld [rVBK], a - ld hl, VBGMap0 - ld bc, $0800 - ld a, $7f - call ByteFill - ret -; 1081e9 - -Function1081e9: ; 1081e9 - push de - push af - predef GetUnownLetter - pop af - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - pop de - predef GetFrontpic - ret -; 108201 - -Function108201: ; 108201 - push de - push af - predef GetUnownLetter - pop af - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - pop de - predef Function5108b - ret -; 108219 - -Function108219: ; 108219 - ld [CurPartySpecies], a - hlcoord 7, 2 - ld d, $0 - ld e, $3 - predef Functiond008e - ret -; 108229 - -Function108229: ; 108229 - ld [CurPartySpecies], a - hlcoord 7, 2 - ld d, $0 - ld e, $3 - predef Functiond00a3 - ret -; 108239 - -Function108239: ; 108239 - push de - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - pop de - ld bc, $000b - call CopyBytes - ret -; 10824b - -Function10824b: ; 10824b - ld a, [wcf63] - bit 7, a - jr nz, .asm_10825a - call Function10827b - call DelayFrame - and a - ret - -.asm_10825a - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - call Functione51 - call Functione58 - callba Function106462 - callba Function106464 - scf - ret -; 10827b - -Function10827b: ; 10827b - ld a, [wcf63] - ld e, a - ld d, 0 - ld hl, Jumptable_10828a - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 10828a - -Jumptable_10828a: ; 10828a - dw Function1082b7 - dw Function10830e - dw Function108638 - dw Function108763 - dw Function1087cf - dw Function108811 - dw Function108838 - dw Function10884c - dw Function108863 - dw Function108894 - dw Function10890a - dw Function10839b - dw Function1082c6 - dw Function10842c - dw Function1084d7 - dw Function108919 - dw Function108689 - dw Function1086f4 - dw Function10893d - dw Function108589 -; 1082b2 - -Function1082b2: ; 1082b2 - ld hl, wcf63 - inc [hl] - ret -; 1082b7 - -Function1082b7: ; 1082b7 - ld hl, wc734 - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - ld [wcf63], a - inc de - ld [hl], d - dec hl - ld [hl], e - ret -; 1082c6 - -Function1082c6: ; 1082c6 - ld hl, wcf63 - set 7, [hl] - ret -; 1082cc - -Function1082cc: ; 1082cc -.asm_1082cc - push bc - callba Function8cf69 - pop bc - call DelayFrame - dec c - jr nz, .asm_1082cc - ret -; 1082db - -Function1082db: ; 1082db -.asm_1082db - callba Function8cf69 - callba Functiond00b4 - callba Function10402d - jr nc, .asm_1082db - ret -; 1082f0 - -Function1082f0: ; 1082f0 -.asm_1082f0 - call Function108b78 - call DelayFrame - dec c - jr nz, .asm_1082f0 - ret -; 1082fa - -Function1082fa: ; 1082fa -.asm_1082fa - call Function108b78 - push hl - push bc - callba Function8cf69 - pop bc - pop hl - call DelayFrame - dec c - jr nz, .asm_1082fa - ret -; 10830e - -Function10830e: ; 10830e - ld de, MUSIC_EVOLUTION - call PlayMusic2 - ld a, $80 - ld [hSCX], a - xor a - ld [hSCY], a - ld a, $87 - ld [hWX], a - ld a, $50 - ld [hWY], a - call Function1089a8 - ld a, [$c6d0] - ld [CurPartySpecies], a - call Function10895e - ld a, [$c6fd] - ld [TempMonDVs], a - ld a, [$c6fe] - ld [TempMonDVs + 1], a - ld b, $1a - call GetSGBLayout - ld a, $e4 - call DmgToCgbBGPals - call WaitBGMap -.asm_108348 - ld a, [hWX] - cp $7 - jr z, .asm_10835d - sub $4 - ld [hWX], a - ld a, [hSCX] - sub $4 - ld [hSCX], a - call DelayFrame - jr .asm_108348 - -.asm_10835d - ld a, $7 - ld [hWX], a - xor a - ld [hSCX], a - ld a, [$c6d0] - call GetCryIndex - jr c, .asm_108371 - ld e, c - ld d, b - call PlayCryHeader - -.asm_108371 - ld c, $50 - call DelayFrames - call Function108bec - lb de, $54, $58 - ld a, $20 - call Function3b2a - ld de, SFX_BALL_POOF - call PlaySFX - ld hl, TileMap - ld bc, $00f0 - ld a, $7f - call ByteFill - ld c, $50 - call Function1082cc - call Function1082b7 - ret -; 10839b - -Function10839b: ; 10839b - call WhiteBGMap - call ClearSprites - call ClearTileMap - call DisableLCD - call Function1081ca - ld a, [wc702] - ld [CurPartySpecies], a - ld hl, wc72f - ld de, VTiles2 - call Function108201 - call EnableLCD - callba Function8d03d - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - lb de, $54, $58 - ld a, $21 - call Function3b2a - call Function108b45 - ld a, $1 - call Function108b98 - call Function108af4 - ld c, $30 - call Function1082cc - ld de, SFX_BALL_POOF - call PlaySFX - call Function1089d2 - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $50 - ld [hWY], a - ld a, [wc702] - ld [CurPartySpecies], a - ld a, [wc72f] - ld [TempMonDVs], a - ld a, [wc730] - ld [TempMonDVs + 1], a - ld b, $1a - call GetSGBLayout - ld a, $e4 - call DmgToCgbBGPals - call Function108963 - ld a, [wc702] - call Function108229 - call Function1082db - call Function108c16 - call Function1082b7 - ret -; 10842c - -Function10842c: ; 10842c - ld de, MUSIC_EVOLUTION - call PlayMusic2 - ld a, $80 - ld [hSCX], a - xor a - ld [hSCY], a - ld a, $87 - ld [hWX], a - ld a, $50 - ld [hWY], a - call Function1089a8 - ld a, [$c6d0] - ld [CurPartySpecies], a - ld hl, $c6fd - call Function10898a - call DelayFrame - ld de, TradeBallGFX - ld hl, VTiles0 - lb bc, BANK(TradeBallGFX), $06 - call Request2bpp - ld de, TradePoofGFX - ld hl, $8060 - lb bc, BANK(TradePoofGFX), $0c - call Request2bpp - ld a, [$c6fd] - ld [TempMonDVs], a - ld a, [$c6fe] - ld [TempMonDVs + 1], a - ld b, $1a - call GetSGBLayout - ld a, $e4 - call DmgToCgbBGPals - call WaitBGMap -.asm_108484 - ld a, [hWX] - cp $7 - jr z, .asm_108499 - sub $4 - ld [hWX], a - ld a, [hSCX] - sub $4 - ld [hSCX], a - call DelayFrame - jr .asm_108484 - -.asm_108499 - ld a, $7 - ld [hWX], a - xor a - ld [hSCX], a - ld a, [$c6d0] - call GetCryIndex - jr c, .asm_1084ad - ld e, c - ld d, b - call PlayCryHeader - -.asm_1084ad - ld c, $50 - call DelayFrames - call Function108c2b - lb de, $54, $58 - ld a, $20 - call Function3b2a - ld de, SFX_BALL_POOF - call PlaySFX - ld hl, TileMap - ld bc, $00f0 - ld a, $7f - call ByteFill - ld c, $50 - call Function1082cc - call Function1082b7 - ret -; 1084d7 - -Function1084d7: ; 1084d7 - call WhiteBGMap - call ClearSprites - call ClearTileMap - call DisableLCD - call Function1081ca - ld a, [wc702] - ld [CurPartySpecies], a - ld hl, wc72f - ld de, VTiles2 - call Function108201 - call EnableLCD - callba Function8d03d - call DelayFrame - ld de, TradeBallGFX - ld hl, VTiles0 - lb bc, BANK(TradeBallGFX), $06 - call Request2bpp - ld de, TradePoofGFX - ld hl, $8060 - lb bc, BANK(TradePoofGFX), $0c - call Request2bpp - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - lb de, $54, $58 - ld a, $21 - call Function3b2a - call Function108b45 - ld a, $1 - call Function108b98 - call Function108af4 - ld c, $30 - call Function1082cc - ld de, SFX_BALL_POOF - call PlaySFX - call Function1089d2 - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $50 - ld [hWY], a - ld a, [wc702] - ld [CurPartySpecies], a - ld a, [wc72f] - ld [TempMonDVs], a - ld a, [wc730] - ld [TempMonDVs + 1], a - ld b, $1a - call GetSGBLayout - ld a, $e4 - call DmgToCgbBGPals - ld a, [wc702] - ld hl, wc72f - call Function10898a - ld a, [wc702] - call Function108229 - call Function1082db - call Function108c40 - call Function1082b7 - ret -; 108589 - -Function108589: ; 108589 - call WhiteBGMap - call ClearSprites - call ClearTileMap - call DisableLCD - call Function1081ca - ld a, [wc702] - ld [CurPartySpecies], a - ld hl, wc72f - ld de, VTiles2 - call Function108201 - call EnableLCD - callba Function8d03d - call DelayFrame - ld de, TradeBallGFX - ld hl, VTiles0 - lb bc, BANK(TradeBallGFX), $06 - call Request2bpp - ld de, TradePoofGFX - ld hl, $8060 - lb bc, BANK(TradePoofGFX), $0c - call Request2bpp - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - lb de, $54, $58 - ld a, $21 - call Function3b2a - call Function108b45 - ld a, $1 - call Function108b98 - call Function108af4 - ld c, $30 - call Function1082cc - ld de, SFX_BALL_POOF - call PlaySFX - call Function108a33 - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $50 - ld [hWY], a - ld a, [wc702] - ld [CurPartySpecies], a - ld a, [wc72f] - ld [TempMonDVs], a - ld a, [wc730] - ld [TempMonDVs + 1], a - ld b, $1a - call GetSGBLayout - ld a, $e4 - call DmgToCgbBGPals - ld a, [wc702] - ld hl, wc72f - call Function10898a - ld a, [wc702] - call Function108229 - call Function1082db - call Function1082b7 - ret -; 108638 - -Function108638: ; 108638 - callba Function8d03d - call WhiteBGMap - call ClearSprites - call ClearTileMap - xor a - ld [hBGMapMode], a - call DisableLCD - call Function1081ca - call Function108c80 - call Function108c6d - call EnableLCD - ld a, $c - ld [hSCX], a - ld a, $78 - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_109107 - ld de, Unkn1Pals - ld bc, $0040 - call CopyBytes - pop af - ld [rSVBK], a - call Function108d07 - call Function108af4 - call Function1082b7 - ret -; 108689 - -Function108689: ; 108689 - callba Function8d03d - call WhiteBGMap - call ClearSprites - call ClearTileMap - xor a - ld [hBGMapMode], a - call DisableLCD - call Function1081ca - ld a, $1 - ld [rVBK], a - ld hl, LZ_108da7 - ld de, VTiles2 - call Decompress - ld a, $0 - ld [rVBK], a - ld hl, LZ_108d27 - ld de, $8200 - call Decompress - call Function108c80 - call Function108c6d - call EnableLCD - ld a, $c - ld [hSCX], a - ld a, $78 - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_109107 - ld de, Unkn1Pals - ld bc, $0040 - call CopyBytes - pop af - ld [rSVBK], a - call Function108d07 - call Function108af4 - call Function1082b7 - ret -; 1086f4 - -Function1086f4: ; 1086f4 - call WhiteBGMap - call ClearSprites - call ClearTileMap - xor a - ld [hBGMapMode], a - call DisableLCD - ld a, $1 - ld [rVBK], a - ld hl, LZ_108da7 - ld de, VTiles2 - call Decompress - ld a, $0 - ld [rVBK], a - ld hl, LZ_108d27 - ld de, $8200 - call Decompress - call Function108c80 - call Function108c6d - call EnableLCD - ld a, $80 - ld [hSCX], a - ld a, $90 - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_109107 - ld de, Unkn1Pals - ld bc, $0040 - call CopyBytes - pop af - ld [rSVBK], a - call Function108d07 - call Function108af4 - call Function108b5a - ld a, $e0 - ld [hSCX], a - ld de, MUSIC_EVOLUTION - call PlayMusic2 - call Function1082b7 - ret -; 108763 - -Function108763: ; 108763 - ld de, SFX_GIVE_TRADEMON - call PlaySFX - ld c, $28 - ld hl, $d0b0 - call Function1082f0 - call Function108af4 -.asm_108774 - ld a, [hSCX] - cp $e0 - jr z, .asm_108791 - dec a - dec a - ld [hSCX], a - cp $f8 - jr nz, .asm_10878a - lb de, $54, $58 - ld a, $22 - call Function3b2a - -.asm_10878a - ld c, $1 - call Function1082cc - jr .asm_108774 - -.asm_108791 - ld a, [hSCY] - cp $f8 - jr z, .asm_1087cb - dec a - dec a - ld [hSCY], a - cp $40 - jr z, .asm_1087a9 - cp $30 - jr z, .asm_1087b7 - cp $68 - jr z, .asm_1087bc - jr .asm_1087c4 - -.asm_1087a9 - lb de, $54, $58 - ld a, $22 - call Function3b2a - xor a - call Function108ad4 - jr .asm_1087c4 - -.asm_1087b7 - call Function108bbd - jr .asm_1087c4 - -.asm_1087bc - call Function108bbd - ld a, $1 - call Function108ad4 - -.asm_1087c4 - ld c, $1 - call Function1082cc - jr .asm_108791 - -.asm_1087cb - call Function1082b2 - ret -; 1087cf - -Function1087cf: ; 1087cf - ld c, $28 - ld hl, StringBuffer2 + 2 - call Function1082f0 - call Function108af4 - call Function108b5a - lb de, $4a, $50 - ld a, $25 - call Function3b2a - ld de, SFX_FORESIGHT - call PlaySFX - ld c, $a - call Function1082cc - xor a - ld [wcf64], a - lb de, $4a, $50 - ld a, $23 - call Function3b2a -.asm_1087fc - ld a, [hSCY] - cp $90 - jr z, .asm_10880d - sub $8 - ld [hSCY], a - ld c, $1 - call Function1082cc - jr .asm_1087fc - -.asm_10880d - call Function1082b7 - ret -; 108811 - -Function108811: ; 108811 - ld c, $28 - call Function1082cc - ld a, $1 - ld [wcf64], a - ld de, SFX_SHARPEN - call PlaySFX - ld c, $3c - call Function1082cc - lb de, $f2, $50 - ld a, $24 - call Function3b2a - call Function1082b7 - ld de, SFX_THROW_BALL - call PlaySFX - ret -; 108838 - -Function108838: ; 108838 - ld c, $28 - call Function1082cc - ld a, $1 - ld [wcf64], a - ld de, SFX_SHARPEN - call PlaySFX - call Function1082b7 - ret -; 10884c - -Function10884c: ; 10884c - ld c, $50 - call DelayFrames - lb de, $f2, $50 - ld a, $24 - call Function3b2a - call Function1082b7 - ld de, SFX_THROW_BALL - call PlaySFX - ret -; 108863 - -Function108863: ; 108863 - ld c, $28 - call Function1082cc -.asm_108868 - ld a, [hSCY] - cp $f8 - jr z, .asm_108879 - add $8 - ld [hSCY], a - ld c, $1 - call Function1082cc - jr .asm_108868 - -.asm_108879 - callba Function8d03d - lb de, $4a, $50 - ld a, $25 - call Function3b2a - ld de, SFX_GLASS_TING_2 - call PlaySFX - call Function108af4 - call Function1082b2 - ret -; 108894 - -Function108894: ; 108894 - ld c, $14 - ld hl, StringBuffer2 + 2 - call Function1082fa - ld de, SFX_GIVE_TRADEMON - call PlaySFX - ld c, $14 - ld hl, StringBuffer2 + 2 - call Function1082fa - call Function108af4 -.asm_1088ad - ld a, [hSCY] - cp $78 - jr z, .asm_1088ee - inc a - inc a - ld [hSCY], a - cp $30 - jr z, .asm_1088c5 - cp $40 - jr z, .asm_1088dd - cp $68 - jr z, .asm_1088cf - jr .asm_1088e7 - -.asm_1088c5 - lb de, $54, $58 - ld a, $22 - call Function3b2a - jr .asm_1088e7 - -.asm_1088cf - lb de, $54, $58 - ld a, $22 - call Function3b2a - xor a - call Function108ad4 - jr .asm_1088e7 - -.asm_1088dd - call Function108bbd - ld a, $1 - call Function108ad4 - jr .asm_1088e7 - -.asm_1088e7 - ld c, $1 - call Function1082cc - jr .asm_1088ad - -.asm_1088ee - ld a, [hSCX] - cp $c - jr z, .asm_108906 - inc a - inc a - ld [hSCX], a - cp $f8 - jr nz, .asm_1088e7 - call Function108bbd - ld c, $1 - call Function1082cc - jr .asm_1088ee - -.asm_108906 - call Function1082b2 - ret -; 10890a - -Function10890a: ; 10890a - ld c, $28 - ld hl, $d0b0 - call Function1082f0 - call Function108af4 - call Function1082b7 - ret -; 108919 - -Function108919: ; 108919 - ld c, $28 - call Function1082cc - callba Function8d03d - call WhiteBGMap - call ClearSprites - call ClearTileMap - call DisableLCD - call Function1081ad - call Function1081ca - call EnableLCD - call Function1082b7 - ret -; 10893d - -Function10893d: ; 10893d -.asm_10893d - ld a, [rBGP] - and a - jr z, .asm_108953 - sla a - sla a - call DmgToCgbBGPals - call Functioncf8 - ld c, $4 - call DelayFrames - jr .asm_10893d - -.asm_108953 - xor a - call DmgToCgbBGPals - call Functioncf8 - call Function1082b7 - ret -; 10895e - -Function10895e: ; 10895e - ld de, $8300 - jr asm_108966 - -Function108963: - ld de, $9310 - -asm_108966 - call DelayFrame - ld hl, VTiles2 - lb bc, $0a, $31 - call Request2bpp - call WaitTop - call Function108ac8 - hlcoord 7, 2 - xor a - ld [$ffad], a - ld bc, $0707 - predef FillBox - call WaitBGMap - ret -; 10898a - -Function10898a: ; 10898a - ld de, VTiles2 - call Function1081e9 - call WaitTop - call Function108ac8 - hlcoord 7, 2 - xor a - ld [$ffad], a - ld bc, $0707 - predef FillBox - call WaitBGMap - ret -; 1089a8 - -Function1089a8: ; 1089a8 - ld de, $c6d0 - ld a, [de] - cp $fd - jr z, asm_1089fc - call Function108a5b - ld de, $c6d0 - call Function108a92 - ld de, $c6d1 - call Function108a9c - ld a, [wc701] - ld de, $c6f2 - call Function108aa3 - ld de, $c6ff - call Function108abe - call Function108a87 - ret - -Function1089d2: - ld de, wc702 - ld a, [de] - cp $fd - jr z, asm_1089fc - call Function108a5b - ld de, wc702 - call Function108a92 - ld de, wc703 - call Function108a9c - ld a, [wc733] - ld de, wc724 - call Function108aa3 - ld de, wc731 - call Function108abe - call Function108a87 - ret - -asm_1089fc - call WaitTop - call Function108ac8 - ld a, $9c - ld [$ffd7], a - hlcoord 5, 0 - ld b, $6 - ld c, $9 - call TextBox - hlcoord 6, 2 - ld de, String_108a1d - call PlaceString - call Function108a87 - ret -; 108a1d - -String_108a1d: ; 108a1d - db "タマゴ" - next "おや/?????" - next $73, "№", $f2, "?????" - db "@" -; 108a33 - -Function108a33: ; 108a33 - call WaitTop - call Function108ac8 - ld a, $9c - ld [$ffd7], a - hlcoord 5, 0 - ld b, $6 - ld c, $9 - call TextBox - hlcoord 7, 4 - ld de, String_108a54 - call PlaceString - call Function108a87 - ret -; 108a54 - -String_108a54: ; 108a54 - db "なぞのタマゴ@" -; 108a5b - -Function108a5b: ; 108a5b - call WaitTop - call Function108ac8 - ld a, $9c - ld [$ffd7], a - hlcoord 4, 0 - ld b, $6 - ld c, $a - call TextBox - hlcoord 5, 0 - ld de, String_108a79 - call PlaceString - ret -; 108a79 - -String_108a79: ; 108a79 - db "─ №", $f2 - next "" - next "おや/" - next $73, "№", $f2, "" - db "@" -; 108a87 - -Function108a87: ; 108a87 - call WaitBGMap - call WaitTop - ld a, $98 - ld [$ffd7], a - ret -; 108a92 - -Function108a92: ; 108a92 - hlcoord 9, 0 - ld bc, $8103 - call PrintNum - ret -; 108a9c - -Function108a9c: ; 108a9c - hlcoord 5, 2 - call PlaceString - ret -; 108aa3 - -Function108aa3: ; 108aa3 - cp $3 - jr c, .asm_108aa8 - xor a - -.asm_108aa8 - push af - hlcoord 8, 4 - call PlaceString - inc bc - pop af - ld hl, Unknown_108abb - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - ld [bc], a - ret -; 108abb - -Unknown_108abb: ; 108abb - db " ", "♂", "♀" -; 108abe - -Function108abe: ; 108abe - hlcoord 8, 6 - ld bc, $8205 - call PrintNum - ret -; 108ac8 - -Function108ac8: ; 108ac8 - ld hl, TileMap - ld bc, $0168 - ld a, $7f - call ByteFill - ret -; 108ad4 - -Function108ad4: ; 108ad4 - and a - jr z, .asm_108adc - ld de, GFX_1092c7 - jr .asm_108adf - -.asm_108adc - ld de, GFX_1091c7 - -.asm_108adf - ld a, $1 - ld [rVBK], a - ld hl, $94a0 - lb bc, $42, $10 - call Functiondc9 - call DelayFrame - ld a, $0 - ld [rVBK], a - ret -; 108af4 - -Function108af4: ; 108af4 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld a, [wcf65] - and $1 - jr z, .asm_108b1c - ld hl, Palette_109187 - ld de, Unkn2Pals - ld bc, $0040 - call CopyBytes - ld hl, Palette_109187 - ld de, OBPals - ld bc, $0040 - call CopyBytes - jr .asm_108b34 - -.asm_108b1c - ld hl, Palette_109147 - ld de, Unkn2Pals - ld bc, $0040 - call CopyBytes - ld hl, Palette_109147 - ld de, OBPals - ld bc, $0040 - call CopyBytes - -.asm_108b34 - pop af - ld [rSVBK], a - ld a, $e4 - call Functioncf8 - ld a, $e4 - call DmgToCgbBGPals - call DelayFrame - ret -; 108b45 - -Function108b45: ; 108b45 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld de, $7fff - ld hl, Unkn1Pals - ld a, e - ld [hli], a - ld d, a - ld [hli], a - pop af - ld [rSVBK], a - ret -; 108b5a - -Function108b5a: ; 108b5a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld de, $3ff2 - ld hl, $d0a0 - ld c, $10 -.asm_108b69 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - dec c - jr nz, .asm_108b69 - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 108b78 - -Function108b78: ; 108b78 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld a, c - and $2 - jr z, .asm_108b89 - ld de, $7fff - jr .asm_108b8c - -.asm_108b89 - ld de, $05ff - -.asm_108b8c - ld a, e - ld [hli], a - ld a, d - ld [hld], a - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 108b98 - -Palette_108b98: -; removed - -Function108b98: ; 108b98 - ld d, a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld a, [wcf65] - and $1 - xor d - jr z, .asm_108bad - ld hl, Palette_108b98 + 8 - jr .asm_108bb0 - -.asm_108bad - ld hl, Palette_108b98 - -.asm_108bb0 - ld de, Unkn1Pals + 8 * 7 - ld bc, $0040 - call CopyBytes - pop af - ld [rSVBK], a - ret -; 108bbd - -Function108bbd: ; 108bbd - callba Function8d03d - call ClearSprites - ret -; 108bc7 - -Function108bc7: ; 108bc7 (42:4bc7) - ld a, [wcf64] - and a - ret z - ld hl, $5 - add hl, bc - ld a, [hl] - cp $f2 - jr z, .asm_108bd9 - sub $8 - ld [hl], a - ret -.asm_108bd9 - callba Function8d036 - ret - -Function108be0: ; 108be0 (42:4be0) - ld hl, $5 - add hl, bc - ld a, [hl] - cp $4a - ret z - add $8 - ld [hl], a - ret -; 108bec (42:4bec) - -Function108bec: ; 108bec - ld a, $90 - ld [hWY], a - ld hl, UnknownText_0x108c07 - call PrintText - ld c, $50 - call DelayFrames - ld hl, UnknownText_0x108c0c - call PrintText - ld c, $50 - call DelayFrames - ret -; 108c07 - -UnknownText_0x108c07: ; 0x108c07 - text_jump UnknownText_0x1bc787 - db "@" -; 0x108c0c - -UnknownText_0x108c0c: ; 0x108c0c - text_jump UnknownText_0x1bc79d - db "@" -; 0x108c11 - -UnknownText_0x108c11: ; 0x108c11 - text_jump UnknownText_0x1bc7b0 - db "@" -; 0x108c16 - -Function108c16: ; 108c16 - ld a, $90 - ld [hWY], a - ld hl, UnknownText_0x108c26 - call PrintText - ld c, $50 - call DelayFrames - ret -; 108c26 - -UnknownText_0x108c26: ; 0x108c26 - text_jump UnknownText_0x1bc7c3 - db "@" -; 0x108c2b - -Function108c2b: ; 108c2b - ld a, $90 - ld [hWY], a - ld hl, UnknownText_0x108c3b - call PrintText - ld c, $50 - call DelayFrames - ret -; 108c3b - -UnknownText_0x108c3b: ; 0x108c3b - text_jump UnknownText_0x1bc7dd - db $50 -; 0x108c40 - -Function108c40: ; 108c40 - ld a, $90 - ld [hWY], a - ld a, [wcf65] - and $80 - jr z, .asm_108c57 - ld hl, UnknownText_0x108c68 - call PrintText - ld c, $50 - call DelayFrames - ret - -.asm_108c57 - ld hl, UnknownText_0x108c63 - call PrintText - ld c, $50 - call DelayFrames - ret -; 108c63 - -UnknownText_0x108c63: ; 0x108c63 - text_jump UnknownText_0x1bc7f0 - db "@" -; 0x108c68 - -UnknownText_0x108c68: ; 0x108c68 - text_jump UnknownText_0x1bc80a - db "@" -; 0x108c6d - -Function108c6d: ; 108c6d - ld hl, LZ_108fe7 - ld de, VBGMap0 - call Decompress - ld hl, LZ_108fe7 - ld de, VBGMap1 - call Decompress - ret -; 108c80 - -Function108c80: ; 108c80 - ld a, $1 - ld [rVBK], a - ld hl, LZ_1090a7 - ld de, VBGMap0 - call Decompress - ld hl, LZ_1090a7 - ld de, VBGMap1 - call Decompress - ld a, $0 - ld [rVBK], a - ret -; 108c9b - -Function108c9b: ; 108c9b -; localization error: $b should be 6 here - - ld hl, Unknown_108ce9 - ld a, [hli] - ld [$c6d0], a - - ld de, $c6e7 - ld c, $b -.asm_108ca7 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_108ca7 - - ld de, $c6ff - ld c, $2 -.asm_108cb2 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_108cb2 - - ld de, $c6f2 - ld c, $b -.asm_108cbd - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_108cbd - - ld a, [hli] - ld [wc702], a - - ld de, wc719 - ld c, $b -.asm_108ccc - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_108ccc - - ld de, wc731 - ld c, $2 -.asm_108cd7 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_108cd7 - - ld de, wc724 - ld c, $b -.asm_108ce2 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_108ce2 - - ret -; 108ce9 - -Unknown_108ce9: - db 3 - db "ゲーフり@@" - db $23, $01 - db "かびーん@@" - db 6 - db "クりーチャ@" - db $56, $04 - db "マツミヤ@@" -; 108d07 - -Function108d07: ; 108d07 - ld a, [wc74e] - and $7f - cp $8 - jr c, .asm_108d12 - ld a, $7 - -.asm_108d12 - ld bc, $0008 - ld hl, Palette_1093c7 - call AddNTimes - ld a, $5 - ld de, wd020 - ld bc, $0008 - call FarCopyWRAM - ret -; 108d27 - -LZ_108d27: -INCBIN "gfx/unknown/108d27.2bpp.lz" - -LZ_108da7: -INCBIN "gfx/unknown/108da7.2bpp.lz" - -LZ_108fe7: -INCBIN "gfx/unknown/108fe7.tilemap.lz" - -LZ_1090a7: -INCBIN "gfx/unknown/1090a7.tilemap.lz" - -Palette_1090f7: - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 31, 0, 25 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 9, 19, 31 - RGB 0, 0, 0 - -Palette_109107: - RGB 18, 31, 15 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - RGB 31, 15, 1 - RGB 14, 14, 31 - RGB 12, 9, 31 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 14, 14, 31 - RGB 12, 9, 31 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 31, 7, 9 - RGB 18, 0, 1 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - RGB 31, 15, 1 - RGB 18, 0, 30 - RGB 9, 0, 17 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 18, 0, 30 - RGB 9, 0, 17 - RGB 0, 0, 0 - -Palette_109147: - RGB 31, 31, 31 - RGB 31, 31, 12 - RGB 31, 13, 12 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 23, 15 - RGB 31, 18, 7 - RGB 31, 15, 0 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 0, 25 - RGB 31, 0, 25 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 9, 19, 31 - RGB 9, 19, 31 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -Palette_109187: - RGB 31, 31, 31 - RGB 31, 31, 12 - RGB 31, 13, 12 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 23, 15 - RGB 31, 18, 7 - RGB 31, 15, 0 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 9, 19, 31 - RGB 9, 19, 31 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 0, 25 - RGB 31, 0, 25 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -GFX_1091c7: -INCBIN "gfx/unknown/1091c7.2bpp" -GFX_1092c7: -INCBIN "gfx/unknown/1092c7.2bpp" - -Palette_1093c7: - RGB 18, 31, 15 - RGB 4, 13, 31 - RGB 0, 0, 31 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 31, 31, 0 - RGB 31, 15, 0 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 9, 24, 0 - RGB 2, 16, 0 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 31, 7, 9 - RGB 18, 0, 1 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 28, 5, 31 - RGB 17, 0, 17 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 9, 9, 9 - RGB 4, 4, 4 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 31, 13, 21 - RGB 27, 7, 12 - RGB 0, 0, 0 - RGB 18, 31, 15 - RGB 21, 20, 20 - RGB 14, 14, 31 - RGB 0, 0, 0 +SECTION "Intro Logo", ROMX, BANK[$42] IntroLogoGFX: ; 109407 INCBIN "gfx/intro/logo.2bpp.lz" ; 109847 -SECTION "bank43", ROMX, BANK[$43] - -UnusedTitleScreen: ; 10c000 - - call WhiteBGMap - call ClearTileMap - call DisableLCD - xor a - ld [hBGMapMode], a - - ld hl, wcf63 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - - ld hl, UnusedTitleBG_GFX - ld de, VTiles2 - ld bc, $800 - call CopyBytes - - ld hl, UnusedTitleBG_GFX + $800 - ld de, VTiles1 - ld bc, $800 - call CopyBytes - - ld hl, UnusedTitleFG_GFX - ld de, VTiles0 - ld bc, $800 - call CopyBytes - - ld hl, UnusedTitleBG_Tilemap - ld de, VBGMap0 - ld bc, 32 * 32 -.copy - ld a, 0 - ld [rVBK], a - ld a, [hli] - ld [de], a - ld a, 1 - ld [rVBK], a - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .copy - - ld hl, UnusedTitleFG_OAM - ld de, Sprites - ld bc, $a0 - call CopyBytes - - call EnableLCD - ld a, [rLCDC] - set 1, a - set 2, a - ld [rLCDC], a - - call DelayFrame - - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - - ld hl, UnsuedTitleBG_Palettes - ld de, Unkn1Pals - ld bc, $40 - call CopyBytes - - ld hl, UnsuedTitleFG_Palettes - ld de, Unkn2Pals - ld bc, $40 - call CopyBytes - - ld hl, UnsuedTitleBG_Palettes - ld de, BGPals - ld bc, $40 - call CopyBytes - - ld hl, UnsuedTitleFG_Palettes - ld de, OBPals - ld bc, $40 - call CopyBytes - - pop af - ld [rSVBK], a - - ld a, $1 - ld [hCGBPalUpdate], a - - ld de, MUSIC_TITLE - call PlayMusic - - ret -; 10c0b1 - -UnusedTitleBG_GFX: ; 10c0b1 -INCBIN "gfx/title/old_bg.2bpp" -; 10d0b1 - -UnusedTitleBG_Tilemap: ; 10d0b1 -; 32x32 (tile, attributes) - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $01,$00, $02,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $03,$00, $04,$00, $05,$01, $06,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $07,$05, $08,$05, $09,$05, $0a,$05, $0b,$00, $0c,$00, $0d,$00, $0e,$00, $0f,$01, $10,$01, $11,$01, $12,$01, $13,$05, $14,$05, $15,$05, $16,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $17,$04, $18,$04, $19,$04, $1a,$04, $1b,$00, $1c,$00, $1d,$02, $1e,$02, $1f,$07, $20,$07, $21,$01, $22,$01, $23,$04, $24,$04, $25,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $27,$04, $28,$04, $29,$04, $2a,$04, $2b,$00, $2c,$00, $2d,$03, $2e,$01, $2f,$01, $30,$01, $31,$01, $32,$01, $33,$04, $34,$04, $35,$04, $36,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $37,$04, $38,$04, $39,$04, $3a,$04, $3b,$00, $3c,$00, $3d,$01, $00,$00, $00,$00, $3e,$07, $3f,$01, $40,$01, $41,$04, $42,$04, $43,$04, $44,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $45,$04, $46,$04, $47,$04, $48,$04, $49,$00, $3c,$00, $4a,$01, $00,$00, $00,$00, $4b,$07, $3f,$01, $4c,$01, $4d,$06, $4e,$06, $4f,$06, $50,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $51,$04, $52,$06, $53,$06, $54,$06, $55,$00, $3c,$00, $56,$01, $00,$00, $00,$00, $57,$07, $58,$01, $59,$01, $5a,$06, $5b,$06, $5c,$06, $5d,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $5e,$06, $5f,$06, $60,$06, $61,$06, $62,$00, $63,$00, $64,$03, $65,$01, $66,$01, $67,$07, $68,$01, $69,$01, $26,$04, $6a,$06, $26,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $6b,$00, $6c,$05, $6d,$05, $6e,$05, $6f,$00, $70,$02, $71,$02, $72,$01, $73,$00, $74,$02, $75,$01, $76,$01, $77,$05, $78,$05, $79,$05, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $7a,$00, $7b,$00, $7c,$00, $7d,$00, $0f,$01, $7e,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $a2,$00, $80,$00, $81,$00, $82,$00, $83,$00, $84,$07, $85,$01, $86,$01, $87,$01, $88,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $89,$00, $8a,$00, $8b,$00, $8c,$07, $8d,$01, $8e,$01, $8f,$01, $90,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $91,$01, $92,$01, $93,$01, $94,$01, $95,$01, $00,$00, $00,$00, $00,$00, $96,$05, $97,$05, $98,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $99,$05, $9a,$05, $9b,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9c,$05, $9d,$05, $9e,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9f,$05, $a0,$05, $a1,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 -; 10d8b1 - -UnsuedTitleBG_Palettes: ; 10d8b1 - RGB 00, 00, 00 - RGB 25, 15, 28 - RGB 22, 11, 28 - RGB 19, 08, 26 - - RGB 00, 00, 00 - RGB 17, 07, 22 - RGB 13, 07, 16 - RGB 19, 08, 26 - - RGB 25, 15, 28 - RGB 22, 11, 28 - RGB 19, 08, 26 - RGB 17, 07, 22 - - RGB 22, 11, 28 - RGB 19, 08, 26 - RGB 17, 07, 22 - RGB 13, 07, 16 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 22, 10, 31 - RGB 19, 08, 26 - RGB 17, 07, 22 - - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 20, 04, 20 - RGB 16, 08, 16 - RGB 24, 00, 24 - - rept 54 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - endr -; 10dab1 - -UnusedTitleFG_GFX: ; 10dab1 -INCBIN "gfx/title/old_fg.2bpp" -; 10eab1 - -UnsuedTitleFG_Palettes: ; 10eab1 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 22, 00 - RGB 31, 27, 00 - RGB 31, 31, 00 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 16, 31, 00 - RGB 22, 31, 00 - RGB 27, 31, 00 - RGB 31, 31, 00 - - - RGB 31, 00, 18 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 16, 31, 00 - RGB 22, 31, 00 - RGB 27, 31, 00 - RGB 31, 31, 00 - - RGB 24, 18, 31 - RGB 31, 31, 00 - RGB 31, 31, 01 - RGB 31, 31, 03 - - RGB 31, 31, 05 - RGB 31, 31, 08 - RGB 31, 31, 10 - RGB 31, 31, 12 - - RGB 31, 31, 14 - RGB 31, 31, 16 - RGB 31, 31, 18 - RGB 31, 31, 20 - - RGB 31, 31, 22 - RGB 31, 31, 25 - RGB 31, 31, 27 - RGB 31, 31, 29 - - RGB 24, 06, 06 - RGB 01, 01, 01 - RGB 03, 03, 03 - RGB 05, 05, 05 - - RGB 08, 08, 08 - RGB 10, 10, 10 - RGB 12, 12, 12 - RGB 14, 14, 14 - - RGB 16, 16, 16 - RGB 18, 18, 18 - RGB 20, 20, 20 - RGB 22, 22, 22 - - RGB 25, 25, 25 - RGB 27, 27, 27 - RGB 29, 29, 29 - RGB 31, 31, 31 - - RGB 18, 24, 18 - RGB 31, 29, 01 - RGB 31, 27, 03 - RGB 31, 25, 05 - - RGB 31, 22, 08 - RGB 31, 20, 10 - RGB 31, 18, 12 - RGB 31, 16, 14 - - RGB 31, 14, 16 - RGB 31, 12, 18 - RGB 31, 10, 20 - RGB 31, 08, 22 - - RGB 31, 05, 25 - RGB 31, 03, 27 - RGB 31, 01, 29 - RGB 31, 00, 31 - - RGB 18, 06, 31 - RGB 00, 31, 31 - RGB 00, 31, 29 - RGB 00, 31, 27 - - RGB 00, 31, 25 - RGB 00, 31, 22 - RGB 00, 31, 20 - RGB 00, 31, 18 - - RGB 00, 31, 16 - RGB 00, 31, 14 - RGB 00, 31, 12 - RGB 00, 31, 10 - - RGB 00, 31, 08 - RGB 00, 31, 05 - RGB 00, 31, 03 - RGB 00, 31, 01 - - RGB 12, 31, 06 - RGB 00, 00, 31 - RGB 00, 01, 31 - RGB 00, 03, 31 - - RGB 00, 05, 31 - RGB 00, 08, 31 - RGB 00, 10, 31 - RGB 00, 12, 31 - - RGB 00, 14, 31 - RGB 00, 16, 31 - RGB 00, 18, 31 - RGB 00, 20, 31 - - RGB 00, 22, 31 - RGB 00, 25, 31 - RGB 00, 27, 31 - RGB 00, 29, 31 - - RGB 00, 00, 00 - RGB 06, 00, 04 - RGB 19, 02, 09 - RGB 28, 04, 11 - - RGB 31, 07, 16 - RGB 31, 17, 23 - RGB 31, 26, 30 - RGB 07, 05, 10 - - RGB 14, 10, 18 - RGB 20, 20, 25 - RGB 25, 27, 31 - RGB 09, 05, 06 - - RGB 23, 16, 13 - RGB 30, 23, 22 - RGB 31, 28, 28 - RGB 31, 31, 31 - - RGB 06, 31, 31 - RGB 04, 00, 04 - RGB 11, 02, 04 - RGB 17, 02, 04 - - RGB 24, 05, 04 - RGB 28, 07, 04 - RGB 31, 11, 04 - RGB 02, 01, 15 - - RGB 04, 11, 22 - RGB 12, 25, 25 - RGB 20, 31, 31 - RGB 09, 04, 03 - - RGB 22, 11, 08 - RGB 27, 19, 16 - RGB 30, 28, 26 - RGB 31, 31, 31 - - RGB 06, 18, 06 - RGB 04, 04, 02 - RGB 07, 07, 02 - RGB 18, 18, 04 - - RGB 24, 24, 06 - RGB 27, 27, 11 - RGB 31, 31, 20 - RGB 02, 03, 10 - - RGB 04, 05, 13 - RGB 06, 10, 25 - RGB 08, 15, 31 - RGB 04, 00, 06 - - RGB 11, 07, 14 - RGB 21, 16, 23 - RGB 29, 26, 31 - RGB 31, 31, 31 - - RGB 06, 00, 18 - RGB 00, 04, 03 - RGB 02, 09, 05 - RGB 11, 19, 07 - - RGB 16, 24, 08 - RGB 22, 31, 09 - RGB 24, 31, 18 - RGB 03, 01, 03 - - RGB 10, 04, 10 - RGB 20, 08, 20 - RGB 31, 17, 31 - RGB 01, 03, 06 - - RGB 05, 09, 10 - RGB 15, 21, 21 - RGB 23, 25, 25 - RGB 31, 31, 31 - - RGB 00, 18, 31 - RGB 00, 05, 07 - RGB 00, 08, 13 - RGB 00, 12, 17 - - RGB 01, 20, 24 - RGB 04, 27, 31 - RGB 14, 31, 31 - RGB 04, 02, 02 - - RGB 15, 01, 03 - RGB 26, 04, 07 - RGB 31, 13, 16 - RGB 00, 05, 02 - - RGB 01, 11, 03 - RGB 06, 21, 06 - RGB 13, 31, 16 - RGB 31, 31, 31 - - RGB 00, 06, 06 - RGB 00, 01, 08 - RGB 00, 05, 14 - RGB 00, 08, 19 - - RGB 02, 14, 26 - RGB 04, 21, 31 - RGB 06, 26, 31 - RGB 13, 00, 00 - - RGB 27, 07, 00 - RGB 31, 17, 05 - RGB 31, 25, 16 - RGB 02, 04, 00 - - RGB 07, 11, 03 - RGB 17, 19, 05 - RGB 27, 31, 16 - RGB 31, 31, 31 - - RGB 02, 00, 00 - RGB 04, 01, 06 - RGB 11, 03, 14 - RGB 16, 04, 19 - - RGB 20, 07, 22 - RGB 26, 12, 27 - RGB 26, 20, 31 - RGB 04, 07, 00 - - RGB 16, 20, 07 - RGB 24, 28, 15 - RGB 29, 31, 24 - RGB 05, 02, 02 - - RGB 15, 04, 02 - RGB 24, 11, 10 - RGB 31, 22, 20 - RGB 31, 31, 31 - - RGB 00, 00, 14 - RGB 12, 00, 00 - RGB 27, 05, 00 - RGB 31, 15, 05 - - RGB 31, 26, 13 - RGB 31, 30, 21 - RGB 05, 07, 16 - RGB 04, 16, 20 - - RGB 04, 24, 26 - RGB 08, 31, 31 - RGB 23, 31, 31 - RGB 00, 00, 00 - - RGB 05, 05, 05 - RGB 17, 17, 15 - RGB 28, 28, 24 - RGB 31, 31, 31 -; 10ecb1 - -UnusedTitleFG_OAM: ; 10ecb1 - db $18, $38, $00, $01, $18, $40, $02, $01, $18, $48, $04, $01, $18, $50, $06, $01 - db $18, $58, $08, $01, $18, $60, $0a, $01, $18, $68, $0c, $01, $18, $70, $0e, $01 - - db $28, $38, $10, $00, $28, $40, $12, $00, $28, $48, $14, $00, $28, $50, $16, $00 - db $28, $58, $18, $00, $28, $60, $1a, $00, $28, $68, $1c, $00, $28, $70, $1e, $00 - - db $38, $38, $20, $00, $38, $40, $22, $00, $38, $48, $24, $00, $38, $50, $26, $00 - db $38, $58, $28, $00, $38, $60, $2a, $00, $38, $68, $2c, $00, $38, $70, $2e, $00 - - db $48, $38, $30, $02, $48, $40, $32, $02, $48, $48, $34, $02, $48, $50, $36, $02 - db $48, $58, $38, $02, $48, $60, $3a, $02, $48, $68, $3c, $02, $48, $70, $3e, $02 - - db $58, $38, $40, $01, $58, $40, $42, $01, $58, $48, $44, $01, $58, $50, $46, $01 - db $58, $58, $48, $01, $58, $60, $4a, $01, $58, $68, $4c, $01, $58, $70, $4e, $01 -; 10ed51 - - -Function10ed51: ; 10ed51 - call _TitleScreen -.loop - call Functiona57 - ld a, [$ffa9] - ld b, a - and 1 - jr nz, .done - call Function10eea7 - call DelayFrame - jr .loop -.done - ret -; 10ed67 +INCLUDE "misc/unused_title.asm" INCLUDE "engine/title.asm" - -SECTION "bank45", ROMX, BANK[$45] - - charmap " ", $20 ; revert to ascii - -String_114000: - db "---", 0 -String_114004: - db "CGB-AAAA-00", 0, 0 - -Unknown_114011: ; 114011 - dw String_114033 - dw String_11403a - dw String_114043 - dw String_11404e - dw String_114053 - dw String_114058 - dw String_114062 - dw String_114074 - dw String_11408d - dw String_11409f - dw String_1140b8 - dw String_1140e6 - dw String_114110 - dw String_11413f - dw String_114160 - dw String_114160 - dw String_114163 - -String_114033: ; 114033 - db "From: ", 0 -String_11403a: ; 11403a - db "Sender: ", 0 -String_114043: ; 114043 - db "Reply-To: ", 0 -String_11404e: ; 11404e - db "To: ", 0 -String_114053: ; 114053 - db "Cc: ", 0 -String_114058: ; 114058 - db "Subject: ", 0 -String_114062: ; 114062 - db "MIME-Version: 1.0", 0 -String_114074: ; 114074 - db "X-Game-title: XXXXXXXXXX", 0 -String_11408d: ; 11408d - db "X-Game-code: CGB-", 0 -String_11409f: ; 11409f - db "X-GBmail-type: exclusive", 0 -String_1140b8: ; 1140b8 - db "Content-Type: text/plain; charset=iso-2022-jp", 0 -String_1140e6: ; 1140e6 - db "Content-Type: multipart/mixed; boundary=\"", 0 -String_114110: ; 114110 - db "Content-Type: Application/Octet-Stream; name=\"", 0 -String_11413f: ; 11413f - db "Content-Transfer-Encoding:Base64", 0 -String_114160: ; 114160 - db "--", 0 -String_114163: ; 114163 - db ".", 0 -; 114165 - -Jumptable_114165: ; 114165 - dw Function114268 - dw Function114269 - dw Function11433c - dw Function1143b7 - dw Function1144d1 - dw Function114b55 - dw Function114bbc - dw Function114cd9 - dw Function114e62 - dw Function1152b8 - dw Function1154d4 - dw Function1156cc - dw Function1159fb -; 11417f - -Unknown_11417f: ; 11417f - dw String_114199 - dw String_11419f - dw String_1141a7 - dw String_1141b1 - dw String_1141b5 - dw String_1141b9 - dw String_1141c2 - dw String_1141c8 - dw String_1141d6 - dw String_1141e4 - dw String_1141ee - dw String_1141fc - dw String_114209 - -String_114199: ; 114199 - db "FROM:", 0 -String_11419f: ; 11419f - db "SENDER:", 0 -String_1141a7: ; 1141a7 - db "REPLY-TO:", 0 -String_1141b1: ; 1141b1 - db "TO:", 0 -String_1141b5: ; 1141b5 - db "CC:", 0 -String_1141b9: ; 1141b9 - db "SUBJECT:", 0 -String_1141c2: ; 1141c2 - db "DATE:", 0 -String_1141c8: ; 1141c8 - db "CONTENT-TYPE:", 0 -String_1141d6: ; 1141d6 - db "MIME-VERSION:", 0 -String_1141e4: ; 1141e4 - db "X-MAILER:", 0 -String_1141ee: ; 1141ee - db "X-GAME-TITLE:", 0 -String_1141fc: ; 1141fc - db "X-GAME-CODE:", 0 -String_114209: ; 114209 - db "X-GBMAIL-TYPE:", 0 -; 114218 - -String_114218: ; 114218 - db "NAME=", 0 -String_11421e: ; 11421e - db "MULTIPART", 0 -String_114228: ; 114228 - db "BOUNDARY=", 0 -String_114232: ; 114232 - db "=?ISO-2022-JP?B?", 0 -; 114243 - -Function114243:: ; 114243 - ld a, $a - ld [MBC3SRamEnable], a - ld a, [$ff8c] - push af - push de - ld a, [wdc02] - add a - ld e, a - ld d, 0 - ld hl, Jumptable_114165 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - pop de - jp [hl] -; 11425c - -Function11425c: ; 11425c - ld [wdc02], a - pop af - ld [$ff8c], a - ld [$ff8c], a - ld [$4000], a - ret -; 114268 - -Function114268: ; 114268 - ret -; 114269 - -Function114269: ; 114269 - ld h, d - ld l, e - xor a - ld [wdc02], a - ld [wdc03], a - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld c, [hl] - inc hl - ld b, [hl] -.asm_114282 - ld a, [de] - and a - jr z, .asm_1142a4 - ld h, a - ld a, [wdc03] - and a - jr nz, .asm_114292 - ld a, h - cp $80 - jr nc, .asm_1142ae - -.asm_114292 - ld a, h - cp $d - jr z, .asm_1142bb - xor a - ld [wdc02], a -.asm_11429b - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr nz, .asm_114282 - -.asm_1142a4 - ld a, [wdc03] - and a - jr nz, .asm_114303 - ld b, $80 - jr .asm_1142b0 - -.asm_1142ae - ld b, $81 - -.asm_1142b0 - ld a, [wdc00] - ld c, a - ld a, $1 - ld h, d - ld l, e - jp Function11425c - -.asm_1142bb - and a - jr z, .asm_1142a4 - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr z, .asm_1142a4 - ld a, [de] - ld h, a - ld a, [wdc03] - and a - jr nz, .asm_1142d4 - ld a, h - cp $80 - jr nc, .asm_1142ae - -.asm_1142d4 - ld a, h - cp $a - jr nz, .asm_1142ae - ld a, [wdc03] - and a - jr nz, .asm_11430d - ld a, [wdc02] - and a - jr nz, .asm_114309 - ld a, $1 - ld [wdc02], a - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr z, .asm_1142a4 - ld a, [de] - cp $20 - jr z, .asm_11429b - cp $9 - jr z, .asm_11429b - jr .asm_114282 - -.asm_1142fe - xor a - ld b, a - jp Function11425c - -.asm_114303 - xor a - ld b, $1 - jp Function11425c - -.asm_114309 - xor a - ld [wdc02], a - -.asm_11430d - ld a, [wdc02] - and a - jr nz, .asm_1142fe - ld a, $1 - ld [wdc03], a - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr z, .asm_1142a4 - ld a, [de] - and a - jp z, .asm_1142a4 - cp $2e - jp nz, .asm_114282 - ld a, $1 - ld [wdc02], a - jp .asm_11429b -; 114333 - -Function114333: ; 114333 - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret -; 11433c - -Function11433c: ; 11433c - push de - ld h, d - ld l, e - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - ld b, $b - call Function1143f3 - cp $2 - jr z, .asm_114358 - and a - jr z, .asm_114360 - pop hl -.asm_114351 - xor a - ld b, $3 - jp Function11425c - -.asm_114357 - pop hl - -.asm_114358 - pop hl - ld a, $1 - ld b, $82 - jp Function11425c - -.asm_114360 - ld a, h - ld [wdc03], a - pop hl - push bc - push de - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld b, $c - call Function1143f3 - cp $2 - jr z, .asm_114357 - and a - jr z, .asm_114381 - xor a - ld b, $2 - pop hl - pop hl - jp Function11425c - -.asm_114381 - pop de - pop bc - ld a, [wdc03] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - call Function114c0b - ld hl, String_114004 -.asm_114394 - ld de, wdc24 -.asm_114397 - ld a, [hli] - and a - jr z, .asm_1143ad - ld b, a - ld a, [de] - inc de - cp b - jr z, .asm_114397 -.asm_1143a1 - ld a, [hli] - and a - jr nz, .asm_1143a1 - ld a, [hl] - and a - jr nz, .asm_114394 - ld b, a - jp Function11425c - -.asm_1143ad - ld a, [de] - and a - jr nz, .asm_114351 - xor a - ld b, $1 - jp Function11425c -; 1143b7 - -Function1143b7: ; 1143b7 - ld a, [de] - ld b, a - inc de - ld a, [de] - ld c, a - inc de - ld a, [de] - ld h, a - inc de - ld a, [de] - inc de - push de - ld d, a - ld e, h - call Function1143f3 - cp $2 - jr z, .asm_1143eb - and a - jr nz, .asm_1143ed - ld a, h - pop hl - push af - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld a, [hli] - ld h, [hl] - ld l, a - pop af - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - jp Function11425c - -.asm_1143eb - ld b, $82 - -.asm_1143ed - ld a, $1 - pop hl - jp Function11425c -; 1143f3 - -Function1143f3: ; 1143f3 - call Function114412 - and a - jr nz, .asm_11440d - ld a, $4 - cp b - jr c, .asm_114407 - jr z, .asm_114402 -.asm_114400 - xor a - ret - -.asm_114402 - ld a, $0 - cp c - jr nc, .asm_114400 - -.asm_114407 - ld bc, VBlank5 - ld a, $2 - ret - -.asm_11440d - ld a, $1 - ld b, $84 - ret -; 114412 - -Function114412: ; 114412 - ld a, c - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld hl, Unknown_11417f - ld a, b - add a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld c, $0 - jr .asm_11444a - -.asm_11442b - ld a, [de] - and a - jp z, .asm_1144c2 - inc e - call z, Function1144c8 - cp $d - jr nz, .asm_11442b - ld a, [de] - inc e - call z, Function1144c8 - cp $a - jr nz, .asm_11442b - ld a, [de] - cp $2e - jr z, .asm_1144ae - cp $d - jr z, .asm_1144b8 - -.asm_11444a - ld a, [wdc00] - ld [wdc02], a - ld a, [de] - and a - jr z, .asm_1144c2 - inc e - call z, Function1144c8 - cp $61 - jr c, .asm_114462 - cp $7b - jr nc, .asm_114462 - sub $20 - -.asm_114462 - ld b, a - ld a, [hl] - and a - jr z, .asm_114476 - cp b - jr nz, .asm_11446e - inc c - inc hl - jr .asm_11444a - -.asm_11446e - ld a, c - and a - jr z, .asm_11442b - dec c - dec hl - jr .asm_11446e - -.asm_114476 - ld a, $20 - cp b - jr z, .asm_114481 - ld a, $a - cp b - jr z, .asm_114481 - dec de - -.asm_114481 - ld h, d - ld l, e - ld bc, NULL -.asm_114486 - ld a, [de] - and a - jr z, .asm_1144c2 - inc bc - inc e - call z, Function1144c8 - cp $d - jr nz, .asm_114486 - ld a, [de] - inc bc - inc e - call z, Function1144c8 - cp $a - jr nz, .asm_114486 - ld a, [de] - cp $20 - jr z, .asm_114486 - cp $9 - jr z, .asm_114486 - ld d, h - ld e, l - ld a, [wdc02] - ld h, a - xor a - ret - -.asm_1144ae - inc e - call z, Function1144c8 - ld a, [de] - cp $d - jp nz, .asm_11442b - -.asm_1144b8 - inc e - call z, Function1144c8 - ld a, [de] - cp $a - jp nz, .asm_11442b - -.asm_1144c2 - ld a, $0 - ld [hl], a - ld a, $1 - ret -; 1144c8 - -Function1144c8: ; 1144c8 - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret -; 1144d1 - -Function1144d1: ; 1144d1 - call Function114561 - dec de - dec de - push de - inc de - inc de - inc de - inc hl - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc hl - ld a, [de] - ld [hld], a - dec de - ld a, [de] - ld [hl], a - xor a - ld [BigDoll], a - ld [wdc17], a - ld a, $2 - ld [wdc0e], a - ld hl, wdc03 - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - call Function114576 - cp $2 - jr z, .asm_11455b - and a - jr z, .asm_114511 - ld a, $1 - ld [wdc0d], a - call Function1146fa - and a - jr nz, .asm_11455b - jr .asm_11451c - -.asm_114511 - call Function1146a4 - and a - jr nz, .asm_11455b - ld a, $2 - ld [wdc0d], a - -.asm_11451c - pop hl - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, [wdc0d] - ld [de], a - ld b, $0 - ld a, [BigDoll] - and a - jr z, .asm_114537 - ld b, $1 - -.asm_114537 - ld hl, wdc06 - ld a, [hl] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld hl, wdc09 - ld e, [hl] - inc hl - ld d, [hl] - dec de - ld a, d - or e - jr z, .asm_114559 - ld hl, wdc07 - ld e, [hl] - inc hl - ld d, [hl] - xor a - ld [de], a - jp Function11425c - -.asm_114559 - ld b, $83 - -.asm_11455b - pop hl - ld a, $1 - jp Function11425c -; 114561 - -Function114561: ; 114561 - ld hl, wdc03 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - ret -; 114576 - -Function114576: ; 114576 - xor a - ld [Bed], a - ld b, $7 - call Function1143f3 - cp $2 - jr z, .asm_1145b6 - and a - jr nz, .asm_1145b4 - ld a, h - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - push hl - push de - push bc - ld hl, wdc24 - call Function115d53 - call Function1145c5 - pop bc - pop de - pop hl - and a - jr z, .asm_1145bf - ld a, b - and a - jr nz, .asm_1145ba - ld a, h - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld hl, String_114218 - call Function114acf - -.asm_1145b4 - xor a - ret - -.asm_1145b6 - ld b, $82 - jr .asm_1145bc - -.asm_1145ba - ld b, $81 - -.asm_1145bc - ld a, $2 - ret - -.asm_1145bf - ld a, $1 - ld [Bed], a - ret -; 1145c5 - -Function1145c5: ; 1145c5 - ld hl, wdc24 - ld de, String_11421e - ld c, $0 -.asm_1145cd - ld a, [hli] - and a - jr z, .asm_1145ef - cp $20 - jr z, .asm_1145cd - cp $d - jr z, .asm_1145f8 - cp $61 - jr c, .asm_1145e3 - cp $7b - jr nc, .asm_1145e3 - sub $20 - -.asm_1145e3 - ld b, a - ld a, [de] - and a - jr z, .asm_11460e - inc de - cp b - jr z, .asm_1145cd - dec de - jr .asm_1145cd - -.asm_1145ef - ld b, $0 - jr .asm_1145f5 - -.asm_1145f3 - ld b, $81 - -.asm_1145f5 - ld a, $1 - ret - -.asm_1145f8 - ld a, [hli] - and a - jr z, .asm_1145f3 - cp $a - jr nz, .asm_1145f3 - ld a, [hli] - and a - jr z, .asm_1145f3 - cp $20 - jr z, .asm_1145cd - cp $9 - jr z, .asm_1145cd - jr .asm_1145f3 - -.asm_11460e - ld a, c - and a - jr nz, .asm_114619 - ld c, $1 - ld de, String_114228 - jr .asm_1145cd - -.asm_114619 - dec hl - ld a, [hl] - cp $22 - jr nz, .asm_114620 - inc hl - -.asm_114620 - ld de, $ddc8 - ld b, $0 - ld c, $40 -.asm_114627 - ld a, [hli] - cp $22 - jr z, .asm_114636 - cp $d - jr z, .asm_114636 - ld [de], a - inc de - inc b - dec c - jr nz, .asm_114627 - -.asm_114636 - ld a, b - ld [PartyMon5Defense], a - xor a - ret -; 11463c - -Function11463c: ; 11463c - ld a, [wdc00] - push af - push de - ld hl, $ddc8 - ld a, [PartyMon5Defense] - ld b, a -.asm_114648 - ld a, [de] - ld c, a - ld a, [hli] - cp c - jr nz, .asm_11468a - inc e - call z, Function11469b - dec b - jr nz, .asm_114648 - ld a, [de] - cp $2d - jr z, .asm_114673 - cp $d - jr nz, .asm_11468a - xor a - ld [Carpet], a -.asm_114662 - inc e - call z, Function11469b - ld a, [de] - cp $a - jr nz, .asm_11468a - inc e - call z, Function11469b - xor a - pop hl - pop hl - ret - -.asm_114673 - inc e - call z, Function11469b - ld a, [de] - cp $2d - jr nz, .asm_11468a - inc e - call z, Function11469b - ld a, $1 - ld [Carpet], a - ld a, [de] - cp $d - jr z, .asm_114662 - -.asm_11468a - pop de - pop af - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - xor a - ld [Carpet], a - ld a, $1 - ret -; 11469b - -Function11469b: ; 11469b - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret -; 1146a4 - -Function1146a4: ; 1146a4 - call Function114867 - and a - jr nz, .asm_1146e4 - ld hl, wdc03 - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - call Function114a18 - and a - jr nz, .asm_1146e8 - call Function1148c2 - and a - jr nz, .asm_1146e4 - ld hl, wdc03 - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - call Function114a7a - and a - jr nz, .asm_1146e8 -.asm_1146da - dec bc - dec bc - call Function1149cc - and a - jr nz, .asm_1146e4 - xor a - ret - -.asm_1146e4 - ld b, $83 - jr .asm_1146f7 - -.asm_1146e8 - ld a, [wdc17] - and a - jr z, .asm_1146f5 - ld a, $1 - ld [BigDoll], a - jr .asm_1146da - -.asm_1146f5 - ld b, $81 - -.asm_1146f7 - ld a, $1 - ret -; 1146fa - -Function1146fa: ; 1146fa - call Function114867 - and a - jp nz, .asm_11478a - ld hl, wdc03 - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - call Function114a18 - and a - jp nz, .asm_11478e - call Function1149cc - and a - jp nz, .asm_11478a - ld a, $1 - ld [wdc0e], a - ld a, [wdc00] - ld [$ff8c], a - ld [$4000], a - ld a, $1 - ld [RightOrnament], a - call Function1147cd - and a - jp nz, .asm_1147b7 -.asm_114737 - call Function114843 - cp $1 - jr nz, .asm_114749 - ld a, [wdc17] - and a - jr z, .asm_114794 - ld a, $1 - ld [BigDoll], a - -.asm_114749 - call Function11494d - and a - jr nz, .asm_11478a - ld a, [BigDoll] - and a - jr nz, .asm_114786 - ld hl, wdc03 - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - call Function1147cd - and a - jr nz, .asm_1147b7 - ld a, [wdc0e] - cp $3 - jr nz, .asm_114773 - dec bc - dec bc - -.asm_114773 - call Function1149cc - and a - jr nz, .asm_11478a - ld a, [wdc0d] - inc a - ld [wdc0d], a - ld a, [BigDoll] - and a - jr z, .asm_114799 - -.asm_114786 - ld b, $1 - jr .asm_1147cb - -.asm_11478a - ld b, $83 - jr .asm_114796 - -.asm_11478e - ld a, [wdc17] - and a - jr nz, .asm_114796 - -.asm_114794 - ld b, $81 - -.asm_114796 - ld a, $1 - ret - -.asm_114799 - ld a, [Carpet] - and a - jr z, .asm_114737 - jr .asm_1147cb - - ld hl, wdc03 - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - call Function114a7a - and a - jr z, .asm_1147cb - xor a - ld [BigDoll], a - -.asm_1147b7 - ld a, [wdc17] - and a - jr z, .asm_114794 - ld a, $1 - ld [BigDoll], a - ld a, [wdc0d] - cp $1 - jr nz, .asm_114773 - ld b, $1 - -.asm_1147cb - xor a - ret -; 1147cd - -Function1147cd: ; 1147cd - ld bc, NULL - ld a, [RightOrnament] - and a - jr nz, .asm_11480c -.asm_1147d6 - ld a, [de] - and a - jr z, .asm_11482f - inc e - call z, Function11483a - inc bc - cp $d - jr nz, .asm_1147d6 - ld a, [de] - cp $a - jr nz, .asm_11482f -.asm_1147e8 - inc bc - inc e - call z, Function11483a - ld a, [de] - cp $20 - jr z, .asm_114827 - cp $9 - jr z, .asm_114827 - cp $d - jr nz, .asm_11482b - inc e - call z, Function11483a - ld a, [de] - cp $a - jr nz, .asm_11482f - inc e - call z, Function11483a - ld a, h - and a - jr z, .asm_11480c - dec bc - -.asm_11480c - ld a, [de] - cp $2d - jr nz, .asm_1147d6 - inc e - call z, Function11483a - ld a, [de] - cp $2d - jr nz, .asm_1147d6 - inc e - call z, Function11483a - push bc - call Function11463c - pop bc - and a - jr nz, .asm_1147d6 - ret - -.asm_114827 - ld h, $1 - jr .asm_1147e8 - -.asm_11482b - ld h, $0 - jr .asm_11480c - -.asm_11482f - and a - jr nz, .asm_114837 - ld a, $1 - ld [wdc17], a - -.asm_114837 - ld a, $1 - ret -; 11483a - -Function11483a: ; 11483a - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret -; 114843 - -Function114843: ; 114843 - ld a, [wdc00] - push af - push de - ld [$ff8c], a - ld [$4000], a - call Function114a18 - and a - jr nz, .asm_11485f - pop de - pop af - ld [wdc00], a - ld hl, String_114218 - call Function114acf - ret - -.asm_11485f - pop de - pop af - ld [wdc00], a - ld a, $1 - ret -; 114867 - -Function114867: ; 114867 - ld hl, wdc06 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, $2 - ld [de], a - inc e - call z, Function1148b9 - ld a, $1 - ld [de], a - inc e - call z, Function1148b9 - ld hl, wdc03 - ld a, [hli] - ld [de], a - inc e - call z, Function1148b9 - ld a, [hli] - ld [de], a - inc e - call z, Function1148b9 - ld a, [hli] - ld [de], a - inc e - call z, Function1148b9 - ld hl, wdc06 - ld a, [wdc01] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl - ld c, [hl] - inc hl - ld b, [hl] - ld d, $5 -.asm_1148a9 - dec bc - ld a, b - or c - jr z, .asm_1148b6 - dec d - jr nz, .asm_1148a9 - ld [hl], b - dec hl - ld [hl], c - xor a - ret - -.asm_1148b6 - ld a, $1 - ret -; 1148b9 - -Function1148b9: ; 1148b9 - push bc - ld bc, wdc01 - call Function115d80 - pop bc - ret -; 1148c2 - -Function1148c2: ; 1148c2 - ld hl, wdc06 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, c - ld [de], a - inc e - call z, Function114944 - ld a, b - ld [de], a - inc e - call z, Function114944 - ld a, [wdc0e] - ld [de], a - inc e - call z, Function114944 - cp $3 - jr nz, .asm_114904 - ld hl, Plant - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - -.asm_114904 - ld hl, wdc03 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld hl, wdc06 - ld a, [wdc01] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl - ld c, [hl] - inc hl - ld b, [hl] - ld a, [wdc0e] - cp $3 - jr z, .asm_114932 - ld d, $6 - jr .asm_114934 - -.asm_114932 - ld d, $a - -.asm_114934 - dec bc - ld a, b - or c - jr z, .asm_114941 - dec d - jr nz, .asm_114934 - ld [hl], b - dec hl - ld [hl], c - xor a - ret - -.asm_114941 - ld a, $1 - ret -; 114944 - -Function114944: ; 114944 - push bc - ld bc, wdc01 - call Function115d80 - pop bc - ret -; 11494d - -Function11494d: ; 11494d - ld hl, wdc06 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, [wdc0e] - ld [de], a - inc e - call z, Function1149c3 - cp $3 - jr nz, .asm_114983 - ld hl, Plant - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - -.asm_114983 - ld hl, wdc03 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld hl, wdc06 - ld a, [wdc01] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl - ld c, [hl] - inc hl - ld b, [hl] - ld a, [wdc0e] - cp $3 - jr z, .asm_1149b1 - ld d, $4 - jr .asm_1149b3 - -.asm_1149b1 - ld d, $8 - -.asm_1149b3 - dec bc - ld a, b - or c - jr z, .asm_1149c0 - dec d - jr nz, .asm_1149b3 - ld [hl], b - dec hl - ld [hl], c - xor a - ret - -.asm_1149c0 - ld a, $1 - ret -; 1149c3 - -Function1149c3: ; 1149c3 - push bc - ld bc, wdc01 - call Function115d80 - pop bc - ret -; 1149cc - -Function1149cc: ; 1149cc - ld hl, wdc06 - ld a, [hl] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - push de - ld hl, wdc09 - ld e, [hl] - inc hl - ld d, [hl] - dec de - ld a, d - or e - jr z, .asm_114a0b - dec de - ld a, d - or e - jr z, .asm_114a0b - ld [hl], d - dec hl - ld [hl], e - ld hl, wdc07 - ld e, [hl] - inc hl - ld d, [hl] - ld a, c - ld [de], a - inc e - call z, Function114a0f - ld a, b - ld [de], a - inc e - call z, Function114a0f - ld hl, wdc06 - ld a, [wdc01] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - pop de - xor a - ret - -.asm_114a0b - pop de - ld a, $1 - ret -; 114a0f - -Function114a0f: ; 114a0f - push bc - ld bc, wdc01 - call Function115d80 - pop bc - ret -; 114a18 - -Function114a18: ; 114a18 - ld bc, NULL - ld h, b -.asm_114a1c - inc bc - ld a, [de] - and a - jr z, .asm_114a66 - inc e - call z, Function114a71 - cp $d - jr nz, .asm_114a1c - ld a, [de] - cp $a - jr nz, .asm_114a66 -.asm_114a2e - inc bc - inc e - call z, Function114a71 - ld a, [de] - cp $20 - jr z, .asm_114a5e - cp $9 - jr z, .asm_114a5e - cp $d - jr nz, .asm_114a62 - inc e - call z, Function114a71 - ld a, [de] - cp $a - jr nz, .asm_114a66 - inc e - call z, Function114a71 - ld a, h - and a - jr z, .asm_114a52 - dec bc - -.asm_114a52 - ld hl, wdc03 - ld a, [wdc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - xor a - ret - -.asm_114a5e - ld h, $1 - jr .asm_114a2e - -.asm_114a62 - ld h, $0 - jr .asm_114a1c - -.asm_114a66 - and a - jr nz, .asm_114a6e - ld a, $1 - ld [wdc17], a - -.asm_114a6e - ld a, $1 - ret -; 114a71 - -Function114a71: ; 114a71 - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret -; 114a7a - -Function114a7a: ; 114a7a - ld bc, NULL -.asm_114a7d - inc bc - ld a, [de] - and a - jr z, .asm_114abb - inc e - call z, Function114ac6 - cp $d - jr nz, .asm_114a7d - ld a, [de] - cp $a - jr nz, .asm_114abb - inc e - call z, Function114ac6 - inc bc - ld a, [de] - cp $2e - jr nz, .asm_114a7d - inc e - call z, Function114ac6 - ld a, [de] - cp $d - jr nz, .asm_114a7d - inc e - call z, Function114ac6 - ld a, [de] - cp $a - jr nz, .asm_114abb - inc e - call z, Function114ac6 - ld hl, wdc03 - ld a, [wdc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - xor a - ret - -.asm_114abb - and a - jr nz, .asm_114ac3 - ld a, $1 - ld [wdc17], a - -.asm_114ac3 - ld a, $1 - ret -; 114ac6 - -Function114ac6: ; 114ac6 - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret -; 114acf - -Function114acf: ; 114acf -.asm_114acf - push hl - push bc -.asm_114ad1 - ld a, [hl] - ld b, a - ld a, [de] - inc e - call z, Function114b4c - cp $61 - jr c, .asm_114ae2 - cp $7b - jr nc, .asm_114ae2 - sub $20 - -.asm_114ae2 - cp b - jr z, .asm_114af4 - pop bc - dec bc - push bc - ld a, b - or c - jr nz, .asm_114ad1 -.asm_114aec - ld a, $2 - ld [wdc0e], a - pop bc - pop hl - ret - -.asm_114af4 - inc hl -.asm_114af5 - ld a, [hli] - and a - jr z, .asm_114b19 - ld b, a - ld a, [de] - inc e - call z, Function114b4c - cp $61 - jr c, .asm_114b09 - cp $7b - jr nc, .asm_114b09 - sub $20 - -.asm_114b09 - cp b - jr nz, .asm_114b15 - pop bc - dec bc - push bc - ld a, b - or c - jr nz, .asm_114af5 - jr .asm_114aec - -.asm_114b15 - pop bc - pop hl - jr .asm_114acf - -.asm_114b19 - ld b, $0 - ld c, $40 - ld a, [de] - cp $22 - jr nz, .asm_114b26 - inc e - call z, Function114b4c - -.asm_114b26 - ld hl, Plant - ld a, [wdc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl -.asm_114b31 - ld a, [de] - cp $22 - jr z, .asm_114b42 - cp $d - jr z, .asm_114b42 - inc e - call z, Function114b4c - inc b - dec c - jr nz, .asm_114b31 - -.asm_114b42 - ld [hl], b - pop bc - pop hl - ld a, $3 - ld [wdc0e], a - xor a - ret -; 114b4c - -Function114b4c: ; 114b4c - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret -; 114b55 - -Function114b55: ; 114b55 - call Function114561 - ld b, $0 - ld hl, wdc03 - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - ld hl, wdc24 -.asm_114b65 - push de - push bc - push hl - call Function1143f3 - cp $2 - jr z, .asm_114bb2 - and a - jr nz, .asm_114b8c - ld a, h - pop hl - inc hl - ld [hld], a - ld a, $1 - ld [hli], a - inc hl - ld [hl], e - inc hl - ld [hl], d - inc hl - ld [hl], c - inc hl - ld [hl], b - inc hl -.asm_114b82 - pop bc - pop de - inc b - ld a, b - cp $d - jr z, .asm_114b96 - jr .asm_114b65 - -.asm_114b8c - pop hl - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - jr .asm_114b82 - -.asm_114b96 - ld hl, wdc06 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld bc, $004e - ld hl, wdc24 - call Function115d6a - jp Function11425c - -.asm_114bb2 - ld a, $1 - pop bc - pop bc - pop bc - ld b, $82 - jp Function11425c -; 114bbc - -Function114bbc: ; 114bbc - ld h, d - ld l, e - ld a, [hli] - ld b, a - ld a, [hli] - ld c, a - ld a, [hli] - ld e, a - ld d, [hl] - inc hl - push hl - call Function1143f3 - cp $2 - jr z, .asm_114c03 - and a - jr nz, .asm_114bff - ld a, h - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - call Function114c0b - ld hl, wdc24 - call Function114c5e - ld a, b - or c - jr z, .asm_114bff - pop hl - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld a, [hli] - ld e, a - ld d, [hl] - ld hl, wdc24 - push bc - call Function115d6a - pop hl - jp Function11425c - -.asm_114bff - ld b, $84 - jr .asm_114c05 - -.asm_114c03 - ld b, $82 - -.asm_114c05 - ld a, $1 - pop hl - jp Function11425c -; 114c0b - -Function114c0b: ; 114c0b - ld hl, wdc24 - push bc - call Function115d53 - pop bc - ld hl, wdc24 - ld d, h - ld e, l -.asm_114c18 - ld a, [hli] - cp $d - jr z, .asm_114c34 - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_114c18 -.asm_114c24 - xor a - ld [de], a - ld hl, wdc24 - ld bc, NULL -.asm_114c2c - ld a, [hli] - inc bc - and a - jr nz, .asm_114c2c - dec bc - xor a - ret - -.asm_114c34 - dec bc - ld a, b - or c - jr z, .asm_114c24 - ld a, [hli] - cp $a - jr nz, .asm_114c18 - dec bc - ld a, b - or c - jr z, .asm_114c24 - ld a, [hli] - cp $20 - jr z, .asm_114c4e - cp $9 - jr z, .asm_114c4e - jr .asm_114c24 - -.asm_114c4e - dec bc - ld a, b - or c - jr z, .asm_114c24 - jr .asm_114c18 -; 114c55 - -Function114c55: ; 114c55 - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret -; 114c5e - -Function114c5e: ; 114c5e - ld de, PartyMon5Defense - push hl -.asm_114c62 - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_114cc6 - cp $3d - jr nz, .asm_114c62 - ld a, [hli] - ld [de], a - inc de - cp $3f - jr nz, .asm_114c62 - dec de - dec de -.asm_114c75 - ld a, [hli] - cp $3f - jr nz, .asm_114c75 - ld a, [hli] - cp $42 - jr nz, .asm_114cb8 - inc hl - ld bc, NULL - push hl -.asm_114c84 - inc bc - ld a, [hli] - cp $3f - jr nz, .asm_114c84 - inc bc - ld a, [hli] - cp $3d - jr nz, .asm_114c84 - dec bc - dec bc - ld a, l - ld [wdc03], a - ld a, h - ld [wdc04], a - pop hl - push de - call Function115c49 - pop de - ld h, d - ld l, e - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -.asm_114ca6 - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_114ca6 - ld a, [wdc03] - ld l, a - ld a, [wdc04] - ld h, a - jr .asm_114c62 - -.asm_114cb8 - ld a, $3d - ld [de], a - inc de - ld a, $3f - ld [de], a - inc de -.asm_114cc0 - ld a, [hli] - ld [de], a - inc de - and a - jr nz, .asm_114cc0 - -.asm_114cc6 - ld [de], a - pop hl - ld de, PartyMon5Defense - ld bc, NULL -.asm_114cce - inc bc - ld a, [de] - ld [hli], a - inc de - and a - jr z, .asm_114cd7 - jr .asm_114cce - -.asm_114cd7 - dec bc - ret -; 114cd9 - -Function114cd9: ; 114cd9 - ld h, d - ld l, e - ld b, [hl] - inc hl - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - inc hl - push hl - call Function1143f3 - and a - jr nz, .asm_114d33 - ld [wdc03], a - ld [wdc04], a - ld a, h - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld hl, wdc24 - call Function114d39 - ld hl, wdc24 - call Function114d99 - pop hl - push hl - inc hl - inc hl - inc hl - inc hl - ld a, [hld] - cp b - jr c, .asm_114d2d - jr z, .asm_114d29 -.asm_114d11 - pop hl - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, PartyMon5Defense - call Function115d6a - xor a - jp Function11425c - -.asm_114d29 - ld a, [hli] - cp c - jr nc, .asm_114d11 - -.asm_114d2d - ld b, $83 - jr .asm_114d33 - - ld b, $82 - -.asm_114d33 - pop hl - ld a, $1 - jp Function11425c -; 114d39 - -Function114d39: ; 114d39 -.asm_114d39 - ld a, [wdc04] - and a - jr nz, .asm_114d4a - ld a, [de] - cp $28 - jr z, .asm_114d55 - cp $22 - jr z, .asm_114d55 - jr .asm_114d7f - -.asm_114d4a - ld a, [de] - cp $29 - jr z, .asm_114d5f - cp $22 - jr z, .asm_114d6f - jr .asm_114d84 - -.asm_114d55 - ld [wdc03], a - ld a, $1 - ld [wdc04], a - jr .asm_114d84 - -.asm_114d5f - ld a, [wdc03] - cp $28 - jr nz, .asm_114d84 - xor a - ld [wdc03], a - ld [wdc04], a - jr .asm_114d84 - -.asm_114d6f - ld a, [wdc03] - cp $22 - jr nz, .asm_114d84 - xor a - ld [wdc03], a - ld [wdc04], a - jr .asm_114d84 - -.asm_114d7f - cp $20 - jr z, .asm_114d84 - ld [hli], a - -.asm_114d84 - dec bc - ld a, b - or c - jr z, .asm_114d96 - inc e - jr nz, .asm_114d39 - push bc - ld bc, wdc00 - call Function115d80 - pop bc - jr .asm_114d39 - -.asm_114d96 - xor a - ld [hli], a - ret -; 114d99 - -Function114d99: ; 114d99 - ld de, PartyMon5Defense - xor a - ld [de], a -.asm_114d9e - ld a, [hli] - call Function114df1 - and a - jr z, .asm_114dde - cp $40 - jr nz, .asm_114d9e - dec hl -.asm_114daa - dec hl - ld a, [hl] - call Function114e2d - and a - jr z, .asm_114daa - inc hl - push hl - ld b, $0 -.asm_114db6 - ld a, [hli] - cp $40 - jr z, .asm_114dc1 - call Function114e2d - and a - jr nz, .asm_114dc4 - -.asm_114dc1 - inc b - jr .asm_114db6 - -.asm_114dc4 - pop hl - ld a, [PartyMon5Defense] - and a - jr z, .asm_114dd2 - ld a, $2c - inc de - ld [de], a - ld a, [PartyMon5Defense] - -.asm_114dd2 - inc a - ld [PartyMon5Defense], a -.asm_114dd6 - inc de - ld a, [hli] - ld [de], a - dec b - jr nz, .asm_114dd6 - jr .asm_114d9e - -.asm_114dde - inc de - xor a - ld [de], a - ld a, $dd - cpl - ld h, a - ld a, $c8 - cpl - ld l, a - inc hl - add hl, de - ld b, h - ld c, l - inc bc - inc bc - xor a - ret -; 114df1 - -Function114df1: ; 114df1 - cp $1b - ret nz - ld a, [hli] - and a - jr z, .asm_114e2b - cp $24 - jr nz, .asm_114e09 - ld a, [hli] - and a - jr z, .asm_114e2b - cp $42 - jr z, .asm_114e0b - cp $40 - jr z, .asm_114e0b - dec hl - -.asm_114e09 - dec hl - ret - -.asm_114e0b - ld a, [hli] - and a - jr z, .asm_114e2b - cp $1b - jr nz, .asm_114e0b - ld a, [hli] - and a - jr z, .asm_114e2b - cp $28 - jr nz, .asm_114e0b - ld a, [hli] - and a - jr z, .asm_114e2b - cp $42 - jr z, .asm_114e29 - cp $4a - jr z, .asm_114e29 - jr .asm_114e0b - -.asm_114e29 - ld a, [hli] - ret - -.asm_114e2b - xor a - ret -; 114e2d - -Function114e2d: ; 114e2d - cp $30 - jr c, .asm_114e45 - cp $40 - jr c, .asm_114e58 - cp $41 - jr c, .asm_114e45 - cp $5b - jr c, .asm_114e58 - cp $61 - jr c, .asm_114e45 - cp $7b - jr c, .asm_114e58 - -.asm_114e45 - cp $20 - jr z, .asm_114e58 - cp $2d - jr z, .asm_114e58 - cp $2e - jr z, .asm_114e58 - cp $5f - jr z, .asm_114e58 -.asm_114e55 - ld a, $1 - ret - -.asm_114e58 - cp $3c - jr z, .asm_114e55 - cp $3e - jr z, .asm_114e55 - xor a - ret -; 114e62 - -Function114e62: ; 114e62 - ld a, c - and a - jr nz, .asm_114e6f - ld a, [wdc23] - and a - jp z, Function11425c - jr .asm_114e76 - -.asm_114e6f - xor a - ld [wdc23], a - call Function114ee9 - -.asm_114e76 - call Function114f0a - cp $ff - jp z, Function11425c - and a - jr nz, .asm_114e99 - call Function114ea0 - and a - jr nz, .asm_114e99 - ld hl, wdc09 - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - jp Function11425c - -.asm_114e99 - ld a, $1 - ld b, $83 - jp Function11425c -; 114ea0 - -Function114ea0: ; 114ea0 - ld hl, wdc06 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - 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, $d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_114edb - inc e - call z, Function114ee0 - ld a, $a - ld [de], a - dec bc - inc e - call z, Function114ee0 - ld hl, wdc06 - ld a, [wdc01] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ld [wdc23], a - ret - -.asm_114edb - ld a, $1 - ld b, $83 - ret -; 114ee0 - -Function114ee0: ; 114ee0 - push bc - ld bc, wdc01 - call Function115d80 - pop bc - ret -; 114ee9 - -Function114ee9: ; 114ee9 - ld hl, wdc03 - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld [hli], a - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld c, a - ld [hli], a - inc de - ld a, [de] - ld b, a - ld [hli], a - inc de - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, e - ld [hli], a - ld [hl], d - ret -; 114f0a - -Function114f0a: ; 114f0a - call Function114f39 - and a - jr nz, .asm_114f26 - ld a, [wdc03] - cp $6 - jr c, .asm_114f21 - cp $c - jr z, .asm_114f23 - call Function114f59 - and a - jr nz, .asm_114f23 - -.asm_114f21 - xor a - ret - -.asm_114f23 - ld a, $1 - ret - -.asm_114f26 - call Function114f59 - and a - jr nz, .asm_114f23 - ld hl, wdc0d - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - and a - jr z, .asm_114f21 - ld a, $ff - ret -; 114f39 - -Function114f39: ; 114f39 - ld hl, wdc0d - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld a, [de] - and a - jr z, .asm_114f58 - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld hl, wdc0d - ld [hl], e - inc hl - ld [hl], d - ld a, $1 - ret - -.asm_114f58 - ret -; 114f59 - -Function114f59: ; 114f59 - ld a, [wdc23] - and a - jr nz, .asm_114f7c - ld a, [wdc03] - cp $11 - jr z, .asm_114fa7 - add a - ld e, a - ld d, 0 - ld hl, Unknown_114011 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call Function115020 - and a - jr nz, .asm_114fe7 - ld a, $1 - ld [wdc23], a - -.asm_114f7c - ld a, [wdc03] - cp $5 - jr c, .asm_114fc9 - jr z, .asm_114fec - cp $8 - jr c, .asm_114fa5 - jr z, .asm_114ff4 - cp $b - jr c, .asm_114fa5 - jr z, .asm_114ffc - cp $c - jr z, .asm_115007 - cp $d - jr z, .asm_114fa5 - cp $10 - jr c, .asm_115015 - jr z, .asm_114fa5 - cp $12 - jr c, .asm_114fa5 - jr .asm_114fe7 - -.asm_114fa5 - xor a - ret - -.asm_114fa7 - ld hl, Bed - ld c, [hl] - inc hl - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, wdc24 - call Function115d53 - ld hl, wdc24 - call Function115020 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_114fc9 - call Function115062 - and a - jr nz, .asm_114fe7 - ld a, [wdc04] - dec a - ld [wdc04], a - and a - jr z, .asm_114fdf - call Function114f39 - and a - jr nz, .asm_114fc9 - -.asm_114fdf - ld a, [wdc05] - ld [wdc04], a - jr .asm_11501e - -.asm_114fe7 - ld a, $1 - ld b, $83 - ret - -.asm_114fec - call Function115062 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_114ff4 - call Function115179 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_114ffc - ld hl, String_114000 - call Function115217 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_115007 - call Function11528f - ld hl, wdc24 - call Function115217 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_115015 - ld hl, String_114000 - call Function115217 - and a - jr nz, .asm_114fe7 - -.asm_11501e - xor a - ret -; 115020 - -Function115020: ; 115020 - push hl - ld hl, wdc06 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - pop hl -.asm_115036 - ld a, [hli] - and a - jr z, .asm_115046 - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115056 - inc e - call z, Function115059 - jr .asm_115036 - -.asm_115046 - ld hl, wdc06 - ld a, [wdc01] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -.asm_115056 - ld a, $1 - ret -; 115059 - -Function115059: ; 115059 - push bc - ld bc, wdc01 - call Function115d80 - pop bc - ret -; 115062 - -Function115062: ; 115062 - ld hl, Bed - ld a, [hli] - and a - jr z, .asm_1150ae - ld c, a - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld b, $0 - ld hl, wdc24 - ld a, [wdc23] - cp $1 - jr z, .asm_11509b - cp $2 - jr z, .asm_115098 - cp $3 - jr nz, .asm_1150b2 - ld a, $2c - ld [hli], a - ld a, $d - ld [hli], a - ld a, $a - ld [hli], a - ld a, $9 - ld [hli], a - jr .asm_11509b - -.asm_115098 - ld a, $2c - ld [hli], a - -.asm_11509b - call Function115d53 - call Function1150b3 - call Function115136 - ld a, [wdc23] - inc a - cp $4 - jr nz, .asm_1150ae - ld a, $2 - -.asm_1150ae - ld [wdc23], a - xor a - -.asm_1150b2 - ret -; 1150b3 - -Function1150b3: ; 1150b3 - ld hl, wdc24 - ld de, PartyMon5Defense - ld b, $0 -.asm_1150bb - ld c, $0 - ld a, [hli] - cp $1b - jr z, .asm_1150c9 - ld [de], a - inc de - and a - jr z, .asm_115133 - jr .asm_1150bb - -.asm_1150c9 - inc c - ld a, [hl] - cp $24 - jr nz, .asm_1150bb - inc hl - inc c - ld a, [hl] - cp $42 - jr z, .asm_1150dc - cp $40 - jr z, .asm_1150dc - jr .asm_1150bb - -.asm_1150dc - push hl -.asm_1150dd - inc c - ld a, [hli] - and a - jr z, .asm_115133 - cp $1b - jr nz, .asm_1150dd - inc c - ld a, [hli] - cp $28 - jr nz, .asm_1150dd - inc c - ld a, [hli] - cp $42 - jr z, .asm_1150f8 - cp $4a - jr z, .asm_1150f8 - jr .asm_1150dd - -.asm_1150f8 - ld a, l - ld [Console], a - ld a, h - ld [LeftOrnament], a - ld hl, String_114232 -.asm_115103 - ld a, [hli] - and a - jr z, .asm_11510b - ld [de], a - inc de - jr .asm_115103 - -.asm_11510b - pop hl - dec hl - dec hl - push de - call Function1158c2 - pop de - ld h, d - ld l, e - ld c, [hl] - inc hl - ld b, [hl] - inc hl -.asm_115119 - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_115119 - ld a, $3f - ld [de], a - inc de - ld a, $3d - ld [de], a - inc de - ld a, [Console] - ld l, a - ld a, [LeftOrnament] - ld h, a - jr .asm_1150bb - -.asm_115133 - xor a - ld [de], a - ret -; 115136 - -Function115136: ; 115136 - ld hl, wdc06 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - 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 hl, PartyMon5Defense -.asm_11514d - ld a, [hli] - and a - jr z, .asm_11515d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_11516d - inc e - call z, Function115170 - jr .asm_11514d - -.asm_11515d - ld hl, wdc06 - ld a, [wdc01] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -.asm_11516d - ld a, $1 - ret -; 115170 - -Function115170: ; 115170 - push bc - ld bc, wdc01 - call Function115d80 - pop bc - ret -; 115179 - -Function115179: ; 115179 - ld hl, wdc06 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - 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 hl, $013f - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, $2d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [$014c] - ld h, a - and $f0 - swap a - cp $a - jr nc, .asm_1151d8 - add $30 - jr .asm_1151da - -.asm_1151d8 - add $37 - -.asm_1151da - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, h - and $f - cp $a - jr nc, .asm_1151f2 - add $30 - jr .asm_1151f4 - -.asm_1151ef - ld a, $1 - ret - -.asm_1151f2 - add $37 - -.asm_1151f4 - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld hl, wdc06 - ld a, [wdc01] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret -; 11520e - -Function11520e: ; 11520e - push bc - ld bc, wdc01 - call Function115d80 - pop bc - ret -; 115217 - -Function115217: ; 115217 - push hl - ld hl, wdc06 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - pop hl -.asm_11522d - ld a, [hli] - and a - jr z, .asm_11523d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115262 - inc e - call z, Function115286 - jr .asm_11522d - -.asm_11523d - ld a, [wdc03] - cp $b - jr z, .asm_115278 - cp $c - jr z, .asm_115278 - cp $e - jr z, .asm_115252 - cp $f - jr z, .asm_115265 - jr .asm_115262 - -.asm_115252 - ld hl, wdc06 - ld a, [wdc01] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -.asm_115262 - ld a, $1 - ret - -.asm_115265 - ld h, $2 -.asm_115267 - ld a, $2d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115262 - inc e - call z, Function115286 - dec h - jr nz, .asm_115267 - jr .asm_115252 - -.asm_115278 - ld a, $22 - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115262 - inc e - call z, Function115286 - jr .asm_115252 -; 115286 - -Function115286: ; 115286 - push bc - ld bc, wdc01 - call Function115d80 - pop bc - ret -; 11528f - -Function11528f: ; 11528f - ld hl, Bed - ld c, [hl] - inc hl - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, wdc24 -.asm_1152a4 - ld a, [de] - ld [hli], a - inc e - call z, Function1152af - dec c - jr nz, .asm_1152a4 - ld [hl], c - ret -; 1152af - -Function1152af: ; 1152af - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret -; 1152b8 - -Function1152b8: ; 1152b8 - push bc - call Function11537d - push de - ld h, d - ld l, e - ld a, [hli] - ld b, a - ld c, $1 - call Function1153d2 - pop de - and a - jr nz, .asm_1152f9 -.asm_1152ca - ld hl, wdc0d - ld e, [hl] - inc hl - ld d, [hl] -.asm_1152d0 - ld a, [wdc03] - cp $3 - jr nz, .asm_1152d8 - push de - -.asm_1152d8 - cp $5 - jr nz, .asm_1152e7 - pop hl - ld a, [hli] - ld b, a - ld c, $3 - call Function1153d2 - and a - jr nz, .asm_1152f9 - -.asm_1152e7 - ld a, [de] - inc de - and a - jr nz, .asm_115301 - ld a, [wdc03] - cp $6 - jr z, .asm_115335 - inc a - ld [wdc03], a - jr .asm_1152d0 - -.asm_1152f9 - pop hl - ld a, $1 - ld b, $83 - jp Function11425c - -.asm_115301 - ld hl, wdc0d - ld [hl], e - inc hl - ld [hl], d -.asm_115307 - ld [wdc05], a - ld a, $1 - ld [wdc04], a - call Function1153b5 - call Function114f59 - and a - jr nz, .asm_1152f9 - ld a, [wdc05] - dec a - jr nz, .asm_115307 - ld a, [wdc03] - inc a - ld [wdc03], a - call Function114ea0 - and a - jr nz, .asm_1152f9 - ld [wdc23], a - ld a, [wdc03] - cp $6 - jr nz, .asm_1152ca - -.asm_115335 - call Function1153b5 - xor a - ld [wdc23], a - call Function114f59 - and a - jr nz, .asm_1152f9 - call Function114ea0 - and a - jr nz, .asm_1152f9 - ld a, [wdc03] - inc a - ld [wdc03], a - cp $9 - jr nz, .asm_115335 - pop bc - ld a, b - and a - jr z, .asm_11536b - call Function1153b5 - xor a - ld [wdc23], a - call Function114f59 - and a - jr nz, .asm_1152f9 - call Function114ea0 - and a - jr nz, .asm_1152f9 - -.asm_11536b - ld hl, wdc09 - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - jp Function11425c -; 11537d - -Function11537d: ; 11537d - ld hl, wdc06 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - ld b, a - inc de - ld a, [de] - ld [hli], a - inc hl - ld a, [de] - ld [hld], a - ld a, b - ld [hli], a - inc de - ld hl, RightOrnament - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld hl, wdc0d - ld [hl], e - inc hl - ld [hl], d - xor a - ld [wdc03], a - ld [wdc23], a - ret -; 1153b5 - -Function1153b5: ; 1153b5 - ld hl, wdc0d - ld e, [hl] - inc hl - ld d, [hl] - inc hl - inc hl - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - inc de - ld a, [de] - ld [Bed], a - inc de - ld hl, wdc0d - ld [hl], e - inc hl - ld [hl], d - ret -; 1153d2 - -Function1153d2: ; 1153d2 - ld a, [wdc03] - ld d, a - ld a, [wdc04] - ld e, a - push de - xor a - ld [wdc03], a - ld [wdc04], a - ld a, $24 - ld [Console], a - ld a, $dc - ld [LeftOrnament], a - push bc - jr .asm_1153f4 - -.asm_1153ef - ld a, [hli] - and a - jr z, .asm_115426 - ld b, a - -.asm_1153f4 - push bc -.asm_1153f5 - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld c, [hl] - inc hl - push hl - ld a, [Console] - ld l, a - ld a, [LeftOrnament] - ld h, a - push bc - ld b, $0 - call Function115d53 - inc hl - ld [hl], a - pop bc - ld a, l - ld e, a - ld [Console], a - ld a, h - ld d, a - ld [LeftOrnament], a - dec b - jr z, .asm_11542b - pop hl - jr .asm_1153f5 - -.asm_115426 - dec c - jr nz, .asm_1153ef - jr .asm_115430 - -.asm_11542b - pop hl - pop bc - dec c - jr nz, .asm_1153ef - -.asm_115430 - ld a, l - ld [Console], a - ld a, h - ld [LeftOrnament], a - xor a - ld [de], a - ld hl, wdc24 -.asm_11543d - ld a, [hli] - and a - jr nz, .asm_11543d - ld a, [hl] - and a - jr z, .asm_115457 - dec hl - ld a, $2c - ld [hli], a - jr .asm_11543d - -.asm_11544b - pop hl - ld a, h - ld [wdc03], a - ld a, l - ld [wdc04], a - ld a, $1 - ret - -.asm_115457 - ld hl, wdc24 - call Function114d99 - ld hl, $ddc8 -.asm_115460 - ld a, [hli] - and a - jr z, .asm_11546d - cp $2c - jr nz, .asm_115460 - dec hl - xor a - ld [hli], a - jr .asm_115460 - -.asm_11546d - pop de - ld a, e - cp $1 - jr z, .asm_115477 - xor a - ld [hli], a - jr .asm_115478 - -.asm_115477 - dec bc - -.asm_115478 - ld hl, $dc18 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, b - cp h - jr c, .asm_11548c - jr nz, .asm_11544b - ld a, c - cp l - jr c, .asm_11548c - jr z, .asm_11548c - jr .asm_11544b - -.asm_11548c - ld hl, $dc18 - ld a, c - cpl - ld e, a - ld a, b - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld de, $dc18 - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - ld hl, RightOrnament - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $ddc8 - call Function115d6a - ld hl, RightOrnament - ld a, [wdc01] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - ld a, [Console] - ld e, a - ld a, [LeftOrnament] - ld d, a - pop hl - ld a, h - ld [wdc03], a - ld a, l - ld [wdc04], a - xor a - ret -; 1154d4 - -Function1154d4: ; 1154d4 - xor a - ld [wdc23], a - call Function1155af - call Function11560a - and a - jr nz, .asm_11552c - call Function1155d1 - ld a, [RightOrnament] - dec a - ld [RightOrnament], a - and a - jp z, .asm_115577 - cp $1 - jr nz, .asm_115531 - xor a - ld [wdc1c], a -.asm_1154f7 - ld a, [BigDoll] - cp $2 - jr z, .asm_115502 - cp $3 - jr z, .asm_11550f - -.asm_115502 - ld a, $a - ld [wdc03], a - call Function114f59 - and a - jr z, .asm_11551a - jr .asm_11552c - -.asm_11550f - ld a, $c - ld [wdc03], a - call Function114f59 - and a - jr nz, .asm_11552c - -.asm_11551a - call Function114ea0 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c - call Function11560a - and a - jr z, .asm_1155a0 - -.asm_11552c - ld a, $1 - jp Function11425c - -.asm_115531 - ld a, $1 - ld [wdc1c], a - ld a, $b - ld [wdc03], a - call Function114f59 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c -.asm_115547 - call Function114ea0 - and a - jr nz, .asm_11552c - ld a, $e - ld [wdc03], a - call Function114f59 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c - jr .asm_1154f7 - -.asm_115560 - call Function114ea0 - and a - jr nz, .asm_11552c - ld a, [wdc1c] - and a - jr z, .asm_11557d - ld a, $f - ld [wdc03], a - call Function114f59 - and a - jr nz, .asm_11552c - -.asm_115577 - call Function114ea0 - and a - jr nz, .asm_11552c - -.asm_11557d - ld a, $10 - ld [wdc03], a - call Function114f59 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c - ld hl, wdc09 - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - jp Function11425c - -.asm_1155a0 - ld a, [RightOrnament] - dec a - ld [RightOrnament], a - and a - jr z, .asm_115560 - call Function1155d1 - jr .asm_115547 -; 1155af - -Function1155af: ; 1155af - ld hl, wdc06 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - ld b, a - inc de - ld a, [de] - ld [hli], a - ld [hl], b - inc hl - ld [hli], a - inc de - ld a, [de] - ld [RightOrnament], a - inc de - ld a, e - ld [hli], a - ld [hl], d - call Function1155d1 - ret -; 1155d1 - -Function1155d1: ; 1155d1 - ld a, [wdc0d] - ld l, a - ld a, [wdc0e] - ld h, a - ld a, [hli] - ld [BigDoll], a - cp $3 - jr nz, .asm_1155f0 - ld de, Carpet - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld a, [hli] - ld [Bed], a - -.asm_1155f0 - ld de, wdc17 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld a, l - ld [wdc0d], a - ld a, h - ld [wdc0e], a - ret -; 11560a - -Function11560a: ; 11560a - ld a, [wdc06] - ld [wdc01], a - ld a, [wdc17] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld hl, wdc1a - ld c, [hl] - inc hl - ld b, [hl] - ld a, [wdc0a] - cp b - jp c, .asm_1156b1 - jr nz, .asm_115631 - ld a, [wdc09] - cp c - jp c, .asm_1156b1 - -.asm_115631 - ld a, b - or c - jr z, .asm_1156a9 - ld a, [wdc09] - ld l, a - ld a, [wdc0a] - ld h, a - ld a, c - cpl - ld e, a - ld a, b - cpl - ld d, a - inc de - add hl, de - ld a, l - ld [wdc09], a - ld a, h - ld [wdc0a], a -.asm_11564d - ld a, $3 - cp b - jr c, .asm_1156b6 - jr nz, .asm_115659 - ld a, $db - cp c - jr c, .asm_1156b6 - -.asm_115659 - ld a, [wdc1a] - ld e, a - ld a, [wdc1b] - ld d, a - ld a, c - cpl - ld l, a - ld a, b - cpl - ld h, a - inc hl - add hl, de - ld a, l - ld [wdc1a], a - ld a, h - ld [wdc1b], a - push bc - ld hl, $dc18 - ld e, [hl] - inc hl - ld d, [hl] - ld hl, wdc24 - call Function115d53 - ld hl, $dc18 - ld [hl], e - inc hl - ld [hl], d - pop bc - ld a, [wdc01] - ld [$ff8c], a - ld [$4000], a - ld hl, wdc07 - ld e, [hl] - inc hl - ld d, [hl] - ld hl, wdc24 - call Function115d6a - ld hl, wdc07 - ld [hl], e - inc hl - ld [hl], d - ld hl, wdc1a - ld c, [hl] - inc hl - ld b, [hl] - ld a, b - or c - jr nz, .asm_11564d - -.asm_1156a9 - ld a, [wdc01] - ld [wdc06], a - xor a - ret - -.asm_1156b1 - ld a, $1 - ld b, $83 - ret - -.asm_1156b6 - ld a, $3 - cpl - ld h, a - ld a, $db - cpl - ld l, a - add hl, bc - ld de, wdc1a - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - ld bc, $03db - jr .asm_115659 -; 1156cc - -Function1156cc: ; 1156cc - ld a, [wdc23] - and a - jp z, Function11425c - cp $2 - jr z, .asm_1156fa - cp $3 - jr z, .asm_1156fd - cp $4 - jr z, .asm_1156fd - cp $5 - jr z, .asm_115716 - cp $ff - jr z, .asm_11572b - cp $1 - jp nz, Function11425c - call Function115732 - call Function11575c - ld a, h - ld [Poster], a - ld a, l - ld [Plant], a - -.asm_1156fa - call Function1157d0 - -.asm_1156fd - call Function11581e - and a - jr nz, .asm_11572b - ld a, [wdc23] - cp $5 - jr z, .asm_115716 - ld a, [Poster] - ld h, a - ld a, [Plant] - ld l, a - xor a - jp Function11425c - -.asm_115716 - ld hl, wdc0a - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - ld [wdc23], a - jp Function11425c - -.asm_11572b - ld a, $1 - ld b, $83 - jp Function11425c -; 115732 - -Function115732: ; 115732 - ld hl, wdc02 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - dec de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - ret -; 11575c - -Function11575c: ; 11575c - ld hl, wdc05 - ld a, [hli] - ld h, [hl] - ld l, a - ld e, $10 - ld b, $0 - ld c, b - ld d, b - ld a, $3 -.asm_11576a - rl l - rl h - rl d - cp d - jr c, .asm_11577c - rl c - rl b - dec e - jr nz, .asm_11576a - jr .asm_11578a - -.asm_11577c - ld a, d - sub $3 - ld d, a - ld a, $3 - scf - rl c - rl b - dec e - jr nz, .asm_11576a - -.asm_11578a - ld a, d - and a - jr z, .asm_11578f - inc bc - -.asm_11578f - sla c - rl b - sla c - rl b - ld h, b - ld l, c - push hl - ld e, $10 - ld b, $0 - ld c, b - ld d, b - ld a, $40 -.asm_1157a2 - rl l - rl h - rl d - cp d - jr c, .asm_1157b4 - rl c - rl b - dec e - jr nz, .asm_1157a2 - jr .asm_1157c3 - -.asm_1157b4 - ld a, d - sub $40 - ld d, a - ld a, $40 - scf - rl c - rl b - dec e - jr nz, .asm_1157a2 - inc bc - -.asm_1157c3 - and a - sla c - rl b - pop hl - add hl, bc - ld a, $2 - ld [wdc23], a - ret -; 1157d0 - -Function1157d0: ; 1157d0 - ld hl, wdc05 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wdc0e] - ld c, a - ld a, [Bed] - ld b, a - cp h - jr c, .asm_1157eb - jr nz, .asm_1157e9 - ld a, c - cp l - jr c, .asm_1157eb - jr z, .asm_1157eb - -.asm_1157e9 - ld b, h - ld c, l - -.asm_1157eb - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [wdc05], a - ld a, h - ld [wdc06], a - ld a, h - or l - jr nz, .asm_11580f - pop bc - ld a, c - ld [wdc0e], a - ld a, b - ld [Bed], a - ld a, $4 - ld [wdc23], a - ret - -.asm_11580f - pop bc - ld a, c - ld [wdc0e], a - ld a, b - ld [Bed], a - ld a, $3 - ld [wdc23], a - ret -; 11581e - -Function11581e: ; 11581e - ld a, [wdc23] - and a - ret z - ld a, [wdc0e] - ld c, a - ld a, [Bed] - ld b, a - ld hl, wdc02 - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, wdc24 - push bc - call Function115d53 - pop bc - ld hl, wdc02 - ld a, [wdc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - ld hl, wdc24 - ld de, PartyMon5Defense - call Function1158c2 - ld hl, PartyMon5Defense - ld c, [hl] - inc hl - ld b, [hl] - inc hl - push hl - ld a, [wdc0a] - ld l, a - ld a, [wdc0b] - ld h, a - cp b - jr c, .asm_1158bb - jr nz, .asm_11586e - ld a, l - cp c - jr c, .asm_1158bb - -.asm_11586e - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [wdc0a], a - ld a, h - ld [wdc0b], a - pop bc - pop hl - ld hl, wdc07 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, PartyMon5Speed - call Function115d6a - ld hl, wdc07 - ld a, [wdc01] - ld [hli], a - ld a, e - ld [hli], a - ld [hl], d - ld a, [wdc23] - cp $3 - jr z, .asm_1158b4 - cp $4 - jr z, .asm_1158ad - jr .asm_1158bc - -.asm_1158ad - ld a, $5 - ld [wdc23], a - jr .asm_1158b9 - -.asm_1158b4 - ld a, $2 - ld [wdc23], a - -.asm_1158b9 - xor a - ret - -.asm_1158bb - pop hl - -.asm_1158bc - ld a, $ff - ld [wdc23], a - ret -; 1158c2 - -Function1158c2: ; 1158c2 - ld a, e - ld [wdc20], a - ld a, d - ld [wdc21], a - xor a - ld [wdc22], a - xor a - ld [de], a - inc de - ld [de], a - inc de - ld a, c - ld [wdc19], a - ld a, b - ld [wdc1a], a - ld c, e - ld b, d - ld e, l - ld d, h - ld l, c - ld h, b - xor a - ld [wdc1f], a - -.asm_1158e5 - ld b, $3 - push hl - ld hl, wdc1b -.asm_1158eb - ld a, [de] - inc de - ld [hli], a - dec b - jr nz, .asm_1158eb - ld a, [wdc19] - ld c, a - ld a, [wdc1a] - ld b, a - xor a - or b - jr nz, .asm_115914 - ld a, $2 - cp c - jr c, .asm_115914 - push hl - dec hl - ld a, c - ld [wdc1f], a -.asm_115908 - xor a - ld [hld], a - inc c - ld a, $3 - cp c - jr nz, .asm_115908 - pop hl - ld bc, $0003 - -.asm_115914 - dec bc - dec bc - dec bc - ld a, c - ld [wdc19], a - ld a, b - ld [wdc1a], a - push de - push hl - ld hl, wdc20 - ld a, [hli] - ld h, [hl] - ld l, a - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - pop hl - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - ld d, a - srl a - srl a - ld [hli], a - ld a, $3 - and d - ld d, a - ld a, $f0 - and b - or d - swap a - ld [hli], a - ld a, $f - and b - ld d, a - ld a, c - and $c0 - or d - rlca - rlca - ld [hli], a - ld a, $3f - and c - ld [hld], a - dec hl - dec hl - pop de - ld b, h - ld c, l - pop hl - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [wdc22] - inc a - cp $10 - jr nz, .asm_1159b1 - push af - push bc - ld a, [wdc19] - ld b, a - ld a, [wdc1a] - or b - jr nz, .asm_115998 - ld a, [wdc05] - ld b, a - ld a, [wdc06] - or b - jr nz, .asm_115998 - pop bc - pop af - jr .asm_1159c4 - -.asm_115998 - pop bc - pop af - ld a, $d - ld [hli], a - ld a, $a - ld [hli], a - push hl - ld hl, wdc20 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] - ld c, a - ld b, [hl] - inc bc - inc bc - ld a, b - ld [hld], a - ld [hl], c - pop hl - xor a - -.asm_1159b1 - ld [wdc22], a - ld a, [wdc19] - cp $0 - jp nz, .asm_1158e5 - ld a, [wdc1a] - cp $0 - jp nz, .asm_1158e5 - -.asm_1159c4 - ld a, [wdc1f] - cp $0 - jr z, .asm_1159d8 - push hl - dec hl - ld b, a -.asm_1159ce - ld a, $3d - ld [hld], a - inc b - ld a, $3 - cp b - jr nz, .asm_1159ce - pop hl - -.asm_1159d8 - ld a, $0 - ld [hl], a - ret -; 1159dc - -Function1159dc: ; 1159dc - cp $1a - jr c, .asm_1159ef - cp $34 - jr c, .asm_1159f2 - cp $3e - jr c, .asm_1159f5 - cp $3e - jr z, .asm_1159f8 - ld a, $2f - ret - -.asm_1159ef - add $41 - ret - -.asm_1159f2 - add $47 - ret - -.asm_1159f5 - sub $4 - ret - -.asm_1159f8 - ld a, $2b - ret -; 1159fb - -Function1159fb: ; 1159fb - ld a, [wdc23] - and a - jp z, Function11425c - cp $2 - jr z, .asm_115a29 - cp $3 - jr z, .asm_115a2c - cp $4 - jr z, .asm_115a2c - cp $5 - jr z, .asm_115a45 - cp $ff - jr z, .asm_115a5a - cp $1 - jp nz, Function11425c - call Function115732 - call Function115a5f - ld a, h - ld [Plant], a - ld a, l - ld [Poster], a - -.asm_115a29 - call Function115ab0 - -.asm_115a2c - call Function115b00 - and a - jr nz, .asm_115a5a - ld a, [wdc23] - cp $5 - jr z, .asm_115a45 - ld a, [Poster] - ld h, a - ld a, [Plant] - ld l, a - xor a - jp Function11425c - -.asm_115a45 - ld hl, wdc0a - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - ld [wdc23], a - jp Function11425c - -.asm_115a5a - ld a, $1 - jp Function11425c -; 115a5f - -Function115a5f: ; 115a5f - ld hl, wdc05 - ld a, [hli] - ld h, [hl] - ld l, a - push hl - ld e, $10 - ld b, $0 - ld c, b - ld d, b - ld a, $42 -.asm_115a6e - rl l - rl h - rl d - cp d - jr c, .asm_115a80 - rl c - rl b - dec e - jr nz, .asm_115a6e - jr .asm_115a8e - -.asm_115a80 - ld a, d - sub $42 - ld d, a - ld a, $42 - scf - rl c - rl b - dec e - jr nz, .asm_115a6e - -.asm_115a8e - sla c - rl b - pop hl - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - srl h - rr l - srl h - rr l - ld b, h - ld c, l - sla c - rl b - add hl, bc - ld a, $2 - ld [wdc23], a - ret -; 115ab0 - -Function115ab0: ; 115ab0 - ld hl, wdc05 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wdc0e] - ld c, a - ld a, [Bed] - ld b, a - cp h - jr c, .asm_115acb - jr nz, .asm_115ac9 - ld a, c - cp l - jr c, .asm_115acb - jr z, .asm_115acb - -.asm_115ac9 - ld b, h - ld c, l - -.asm_115acb - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [wdc05], a - ld a, h - ld [wdc06], a - ld a, h - or l - jr nz, .asm_115af0 - pop bc - ld a, c - ld [wdc0e], a - ld a, b - ld [Bed], a - ld a, $4 - ld [wdc23], a - xor a - ret - -.asm_115af0 - pop bc - ld a, c - ld [wdc0e], a - ld a, b - ld [Bed], a - ld a, $3 - ld [wdc23], a - xor a - ret -; 115b00 - -Function115b00: ; 115b00 - ld a, [wdc23] - and a - ret z - ld a, [wdc0e] - ld c, a - ld a, [Bed] - ld b, a - ld hl, wdc02 - ld a, [hli] - ld [wdc00], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, PartyMon5Defense - push bc - call Function115bc8 - pop hl - and a - jr z, .asm_115b43 - cp $2 - jr z, .asm_115b3b - ld a, [wdc23] - cp $4 - jr z, .asm_115b43 - inc hl - inc hl - jr .asm_115b43 - -.asm_115b36 - pop hl - ld b, $83 - jr .asm_115b3d - -.asm_115b3b - ld b, $81 - -.asm_115b3d - ld a, $ff - ld [wdc23], a - ret - -.asm_115b43 - ld a, [Carpet] - add a - cpl - ld c, a - ld b, $ff - inc bc - add hl, bc - ld b, h - ld c, l - ld hl, wdc02 - ld a, [wdc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - ld hl, PartyMon5Defense - ld de, wdc24 - call Function115c49 - ld hl, wdc24 - ld c, [hl] - inc hl - ld b, [hl] - inc hl - push hl - ld a, [wdc0a] - ld l, a - ld a, [wdc0b] - ld h, a - cp b - jr c, .asm_115b36 - jr nz, .asm_115b7b - ld a, l - cp c - jr c, .asm_115b36 - -.asm_115b7b - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [wdc0a], a - ld a, h - ld [wdc0b], a - pop bc - pop hl - ld hl, wdc07 - ld a, [hli] - ld [wdc01], a - ld [$ff8c], a - ld [$4000], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, wdc26 - call Function115d6a - ld hl, wdc07 - ld a, [wdc01] - ld [hli], a - ld a, e - ld [hli], a - ld [hl], d - ld a, [wdc23] - cp $3 - jr z, .asm_115bc1 - cp $4 - jr z, .asm_115bba - jr .asm_115b3b - -.asm_115bba - ld a, $5 - ld [wdc23], a - jr .asm_115bc6 - -.asm_115bc1 - ld a, $2 - ld [wdc23], a - -.asm_115bc6 - xor a - ret -; 115bc8 - -Function115bc8: ; 115bc8 - xor a - ld [Carpet], a -.asm_115bcc - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c46 - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c1b - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c46 - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c3a - ld a, [de] - cp $d - jr nz, .asm_115bcc - inc e - call z, .Function115c3d - ld a, [de] - cp $a - jr nz, .asm_115c46 - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c46 - ld a, [Carpet] - inc a - ld [Carpet], a - dec bc - ld a, b - or c - jr nz, .asm_115bcc - -.asm_115c1b - ld a, [wdc23] - cp $4 - jr z, .asm_115c33 - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - xor a - ld [hl], a - ld a, $1 - ret - -.asm_115c33 - dec hl - dec hl - xor a - ld [hl], a - ld a, $1 - ret - -.asm_115c3a - xor a - ld [hl], a - ret - -.Function115c3d: - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret - -.asm_115c46 - ld a, $2 - ret -; 115c49 - -Function115c49: ; 115c49 - ld a, e - ld [wdc1f], a - ld a, d - ld [wdc20], a - xor a - ld [de], a - inc de - ld [de], a - inc de - - ld a, c - ld [wdc19], a - ld a, b - ld [wdc1a], a - ld c, e - ld b, d - ld e, l - ld d, h - ld l, c - ld h, b - -.asm_115c64 - ld a, [wdc1a] - or a - jr nz, .asm_115c71 - ld a, [wdc19] - cp $4 - jr c, .asm_115c99 - -.asm_115c71 - ld b, $4 - push hl - ld hl, wdc1b -.asm_115c77 - ld a, [de] - inc de - call Function115cfd - ld [hli], a - dec b - jr nz, .asm_115c77 - ld a, [wdc19] - ld c, a - ld a, [wdc1a] - ld b, a - dec bc - dec bc - dec bc - dec bc -.asm_115c8c - ld a, [de] - cp $d - jr z, .asm_115c95 - cp $a - jr nz, .asm_115c9f - -.asm_115c95 - inc de - dec bc - jr .asm_115c8c - -.asm_115c99 - ld a, $ff - ld [wdc23], a - ret - -.asm_115c9f - ld a, c - ld [wdc19], a - ld a, b - ld [wdc1a], a - push de - push hl - ld hl, wdc1f - ld a, [hli] - ld h, [hl] - ld l, a - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - pop hl - dec hl - ld d, [hl] - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - sla b - sla b - sla b - rla - sla b - rla - ld [hli], a - ld [hl], b - inc hl - rrc c - rrc c - ld [hl], c - dec hl - ld a, $f - and c - or [hl] - ld [hli], a - ld a, [hli] - and $c0 - or [hl] - dec hl - ld [hld], a - dec hl - pop de - ld b, h - ld c, l - pop hl - ld a, [bc] - ld [hli], a - inc bc - ld a, [bc] - ld [hli], a - inc bc - ld a, [bc] - ld [hli], a - ld a, [wdc19] - cp $0 - jp nz, .asm_115c64 - ld a, [wdc1a] - cp $0 - jp nz, .asm_115c64 - ret -; 115cfd - -Function115cfd: ; 115cfd - cp $2b - jr c, .asm_115d27 - jr z, .asm_115d2f - cp $2f - jr c, .asm_115d27 - jr z, .asm_115d32 - cp $30 - jr c, .asm_115d27 - cp $3a - jr c, .asm_115d35 - cp $3d - jr c, .asm_115d27 - jr z, .asm_115d38 - cp $41 - jr c, .asm_115d27 - cp $5b - jr c, .asm_115d4d - cp $61 - jr c, .asm_115d27 - cp $7b - jr c, .asm_115d50 - -.asm_115d27 - pop hl - pop hl - ld a, $ff - ld [wdc23], a - ret - -.asm_115d2f - ld a, $3e - ret - -.asm_115d32 - ld a, $3f - ret - -.asm_115d35 - add $4 - ret - -.asm_115d38 - push de - push hl - ld a, [wdc1f] - ld l, a - ld a, [wdc20] - ld h, a - ld e, [hl] - inc hl - ld d, [hl] - dec de - ld [hl], d - dec hl - ld [hl], e - pop hl - pop de - xor a - ret - -.asm_115d4d - sub $41 - ret - -.asm_115d50 - sub $47 - ret -; 115d53 - -Function115d53: ; 115d53 -.asm_115d53 - ld a, [de] - ld [hli], a - inc e - call z, Function115d61 - dec bc - ld a, b - or c - jr nz, .asm_115d53 - xor a - ld [hl], a - ret -; 115d61 - -Function115d61: ; 115d61 - push bc - ld bc, wdc00 - call Function115d80 - pop bc - ret -; 115d6a - -Function115d6a: ; 115d6a -.asm_115d6a - ld a, [hli] - ld [de], a - inc e - call z, Function115d77 - dec bc - ld a, b - or c - jr nz, .asm_115d6a - xor a - ret -; 115d77 - -Function115d77: ; 115d77 - push bc - ld bc, wdc01 - call Function115d80 - pop bc - ret -; 115d80 - -Function115d80: ; 115d80 - ld e, a - ld a, d - cp $bf - jr z, .asm_115d8b - inc d - ld a, e - ld e, $0 - ret - -.asm_115d8b - ld a, [bc] - inc a - ld [bc], a - ld [$ff8c], a - ld [$4000], a - ld a, e - ld d, $a0 - ld e, $0 - ret -; 115d99 - -Function115d99: ; 115d99 - ld de, GFX_11601a - ld hl, $8600 - lb bc, BANK(GFX_11601a), $14 - call Get2bpp - xor a - ld [wc305], a - ld [wc306], a - ld [wc309], a - ld [wc30a], a - ld [wc30b], a - ld [wc30c], a - ld a, $10 - ld [wc307], a - ld a, $18 - ld [wc308], a - ret -; 115dc3 - -Function115dc3: ; 115dc3 - xor a - ld [wc305], a - ld a, $a0 - ld hl, Sprites + $7c - ld bc, $0020 - call ByteFill - ret -; 115dd3 - -Function115dd3: ; 115dd3 - ld a, [wc305] - and a - ret z - ld a, $a0 - ld hl, Sprites + $7c - ld bc, $0020 - call ByteFill - call Function115e22 - ld a, [wc309] - sla a - ld c, a - ld b, 0 - ld hl, Unknown_115e86 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld de, Sprites + $7c - ld a, [wc307] - ld c, a - ld a, [wc308] - ld b, a - ld a, [hli] -.asm_115e04 - push af - ld a, [hli] - add b - ld [de], a - inc de - ld a, [hli] - add c - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - pop af - dec a - jr nz, .asm_115e04 - ret -; 115e18 - -Function115e18: ; 115e18 - ld a, c - ld [wc30a], a - xor a - ld [wc30b], a - jr Function115e2b -; 115e22 - -Function115e22: ; 115e22 - ld hl, wc30c - dec [hl] - ret nz - ld hl, wc30b - inc [hl] - -Function115e2b: ; 115e2b - ld a, [wc30a] - sla a - ld c, a - ld b, 0 - ld hl, Unknown_115e59 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - pop hl - ld a, [wc30b] - sla a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - cp $ff - jr nz, .asm_115e51 - xor a - ld [wc30b], a - jr Function115e2b - -.asm_115e51 - ld [wc309], a - ld a, [hl] - ld [wc30c], a - ret -; 115e59 - -Unknown_115e59: - dw Unknown_115e61 - dw Unknown_115e6c - dw Unknown_115e76 - dw Unknown_115e79 - -Unknown_115e61: ; 115e61 - db $4, $8 - db $5, $8 - db $6, $8 - db $7, $8 - db $8, $8 - db $ff - -Unknown_115e6c: ; 115e6c - db $1, $8 - db $2, $8 - db $3, $8 - db $9, $8 - db $a, $8 - -Unknown_115e76: ; 115e76 - db $0, $8 - db $ff - -Unknown_115e79: ; 115e79 - db $b, $8 - db $c, $8 - db $d, $8 - db $e, $8 - db $f, $8 - db $0, $8 - db $ff -; 115e86 - -Unknown_115e86: - dw Unknown_115ea6 - dw Unknown_115eb7 - dw Unknown_115ecc - dw Unknown_115ee1 - dw Unknown_115ef6 - dw Unknown_115f13 - dw Unknown_115f30 - dw Unknown_115f4d - dw Unknown_115f6a - dw Unknown_115f87 - dw Unknown_115f9c - dw Unknown_115fb1 - dw Unknown_115fc6 - dw Unknown_115fdb - dw Unknown_115ff0 - dw Unknown_116005 - -Unknown_115ea6: ; 115ea6 - db $4 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 - -Unknown_115eb7: ; 115eb7 - db $5 - db $0, $8, $64, $0 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 - -Unknown_115ecc: ; 115ecc - db $5 - db $0, $8, $65, $0 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 - -Unknown_115ee1: ; 115ee1 - db $5 - db $0, $8, $66, $0 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 - -Unknown_115ef6: ; 115ef6 - db $7 - db $0, $0, $67, $1 - db $8, $0, $68, $1 - db $10, $0, $6d, $0 - db $10, $8, $69, $0 - db $10, $10, $6a, $0 - db $18, $8, $6b, $0 - db $18, $10, $6c, $0 - -Unknown_115f13: ; 115f13 - db $7 - db $0, $0, $67, $1 - db $8, $0, $68, $1 - db $10, $0, $6e, $0 - db $10, $8, $69, $0 - db $10, $10, $6a, $0 - db $18, $8, $6b, $0 - db $18, $10, $6c, $0 - -Unknown_115f30: ; 115f30 - db $7 - db $0, $0, $67, $1 - db $8, $0, $68, $1 - db $10, $0, $6f, $0 - db $10, $8, $69, $0 - db $10, $10, $6a, $0 - db $18, $8, $6b, $0 - db $18, $10, $6c, $0 - -Unknown_115f4d: ; 115f4d - db $7 - db $0, $0, $67, $1 - db $8, $0, $68, $1 - db $10, $0, $70, $0 - db $10, $8, $69, $0 - db $10, $10, $6a, $0 - db $18, $8, $6b, $0 - db $18, $10, $6c, $0 - -Unknown_115f6a: ; 115f6a - db $7 - db $0, $0, $67, $1 - db $8, $0, $68, $1 - db $10, $0, $71, $0 - db $10, $8, $69, $0 - db $10, $10, $6a, $0 - db $18, $8, $6b, $0 - db $18, $10, $6c, $0 - -Unknown_115f87: ; 115f87 - db $5 - db $0, $8, $72, $0 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 - -Unknown_115f9c: ; 115f9c - db $5 - db $0, $8, $73, $0 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 - -Unknown_115fb1: ; 115fb1 - db $5 - db $1, $8, $64, $60 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 - -Unknown_115fc6: ; 115fc6 - db $5 - db $1, $8, $65, $60 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 - -Unknown_115fdb: ; 115fdb - db $5 - db $1, $8, $66, $60 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 - -Unknown_115ff0: ; 115ff0 - db $5 - db $1, $8, $72, $60 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 - -Unknown_116005: ; 116005 - db $5 - db $1, $8, $73, $60 - db $8, $0, $60, $1 - db $8, $8, $61, $1 - db $10, $0, $62, $1 - db $10, $8, $63, $1 -; 11601a - -GFX_11601a:: ; 11601a -INCBIN "gfx/unknown/11601a.2bpp" - -Function11615a: ; 11615a - xor a - ld [wc30d], a - ld [wc319], a - ld [wc310], a - ld [wc311], a - ld [wc312], a - ld [wc313], a - ld [wc314], a - ld [wc315], a - ld [wc318], a - ld [wc3f6], a - ld [wc3f8], a - ld [wc3f2], a - ld [wc3f4], a - ld a, $24 - ld [wc3f5], a - ld a, $7 - ld [wc3f7], a - ld a, $b0 - ld [wc30e], a - ld [wc3f1], a - ld a, $48 - ld [wc30f], a - ld [wc3f3], a - ret -; 11619d - -Function11619d: ; 11619d - ld a, [wc30d] - and a - ret z - ld a, [wc319] - cp $2 - jr c, .asm_1161b4 - ld a, $a0 - ld hl, Sprites - ld bc, $0064 - call ByteFill - -.asm_1161b4 - call Function1161b8 - ret -; 1161b8 - -Function1161b8: ; 1161b8 - ld a, [wc319] - ld e, a - ld d, 0 - ld hl, Jumptable_1161c7 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 1161c7 - -Jumptable_1161c7: ; 1161c7 - dw Function1161d5 - dw Function116294 - dw Function1162cb - dw Function1162f2 - dw Function1163c0 - dw Function11636e - dw Function116441 -; 1161d5 - -Function1161d5: ; 1161d5 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - ld hl, Unknown_117356 - ld de, w6_d000 - ld bc, $0300 - call CopyBytes - di -.asm_1161e9 - ld a, [rLY] - cp $91 - jr nz, .asm_1161e9 - ld a, $d0 - ld [rHDMA1], a - ld a, $0 - ld [rHDMA2], a - ld a, $1c - ld [rHDMA3], a - xor a - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - ld a, $d0 - ld [rHDMA1], a - ld a, $80 - ld [rHDMA2], a - ld a, $1c - ld [rHDMA3], a - ld a, $80 - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - ld a, $d1 - ld [rHDMA1], a - ld a, $0 - ld [rHDMA2], a - ld a, $1d - ld [rHDMA3], a - xor a - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - ld a, $1 - ld [rVBK], a - ld a, $d1 - ld [rHDMA1], a - ld a, $80 - ld [rHDMA2], a - ld a, $1c - ld [rHDMA3], a - xor a - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - ld a, $d2 - ld [rHDMA1], a - ld a, $0 - ld [rHDMA2], a - ld a, $1c - ld [rHDMA3], a - ld a, $80 - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - ld a, $d2 - ld [rHDMA1], a - ld a, $80 - ld [rHDMA2], a - ld a, $1d - ld [rHDMA3], a - xor a - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - xor a - ld [rVBK], a - ei - pop af - ld [rSVBK], a - callba Function104061 - ld a, $8 - ld [MusicFade], a - ld de, MUSIC_MOBILE_ADAPTER - ld a, e - ld [wc2a9], a - ld a, d - ld [wc2aa], a - ld a, [wc319] - inc a - ld [wc319], a - ret -; 11628c - -MenuDataHeader_11628c: ; 11628c - db $40 ; flags - db 6, 0 ; start coords - db 17, 19 ; end coords - dw NULL - db 0 ; default option -; 116294 - -Function116294: ; 116294 - callba Function170d02 - ld a, [wc319] - inc a - ld [wc319], a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, wd030 - ld de, wc320 - ld bc, $0010 - call CopyBytes - ld hl, Palette_11734e - ld de, Unkn1Pals + 8 * 7 - ld bc, $0008 - call CopyBytes - call Function32f9 - pop af - ld [rSVBK], a - ld a, $30 - ld [hWY], a - ret -; 1162cb - -Function1162cb: ; 1162cb - callba Function170cc6 - ld a, [wc319] - inc a - ld [wc319], a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_11730e - ld de, wd050 - ld bc, $0030 - call CopyBytes - call Function32f9 - pop af - ld [rSVBK], a - ret -; 1162f2 - -Function1162f2: ; 1162f2 - call Function11659d - call Function116758 - call Function1167a6 - ld a, [wc310] - cp $fd - ret z - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1168c5 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wc30e] - ld c, a - ld a, [wc30f] - ld b, a - ld a, [wc318] - ld e, a - ld a, [hli] - sub e - ld de, Sprites + $24 -.asm_116321 - push af - ld a, [hli] - add b - ld [de], a - inc de - ld a, [hli] - add c - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - pop af - dec a - jr nz, .asm_116321 - call Function116468 - ld a, [wc3f5] - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1168c5 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wc3f1] - ld c, a - ld a, [wc3f3] - ld b, a - ld a, [wc3f8] - ld e, a - ld a, [hli] - sub e - ld de, Sprites -.asm_11635a - push af - ld a, [hli] - add b - ld [de], a - inc de - ld a, [hli] - add c - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - pop af - dec a - jr nz, .asm_11635a - ret -; 11636e - -Function11636e: ; 11636e - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, BGPals - ld de, Unkn1Pals - ld bc, $0040 - call CopyBytes - pop af - ld [rSVBK], a - call Function32f9 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, $a0 - ld hl, Sprites - ld bc, $0040 - call ByteFill - ld a, $90 - ld [hWY], a - call Function1ad2 - pop af - ld [rSVBK], a - callba Function104061 - ld a, $8 - ld [MusicFade], a - ld a, [wc2c0] - ld [wc2a9], a - xor a - ld [wc2aa], a - xor a - ld [wc319], a - ld [wc30d], a - ret -; 1163c0 - -Function1163c0: ; 1163c0 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, $a0 - ld hl, Sprites - ld bc, $0040 - call ByteFill - call DelayFrame - callba Function14146 - ld b, $9 - call GetSGBLayout - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, wc320 - ld de, wd030 - ld bc, $0010 - call CopyBytes - pop af - ld [rSVBK], a - call Function32f9 - call DelayFrame - ld a, $90 - ld [hWY], a - call Function1ad2 - callba Function14157 - pop af - ld [rSVBK], a - callba Function104061 - ld a, [InLinkBattle] - cp $4 - jr z, .asm_11642a - ld a, $8 - ld [MusicFade], a - ld a, [wc2c0] - ld [wc2a9], a - xor a - ld [wc2aa], a - jr .asm_116439 - -.asm_11642a - ld a, $8 - ld [MusicFade], a - ld a, $0 - ld [wc2a9], a - ld a, $0 - ld [wc2aa], a - -.asm_116439 - xor a - ld [wc319], a - ld [wc30d], a - ret -; 116441 - -Function116441: ; 116441 - callba Function17d405 - ld a, $90 - ld [hWY], a - callba Function104061 - ld a, $8 - ld [MusicFade], a - ld a, [wc2c0] - ld [wc2a9], a - xor a - ld [wc2aa], a - xor a - ld [wc319], a - ld [wc30d], a - ret -; 116468 - -Function116468: ; 116468 - call Function116567 - ld a, [wc314] - cp $d - jr nz, .asm_1164a8 - ld hl, wc30e - ld a, [hl] - cp $50 - jr nc, .asm_116484 - ld a, $50 - sub [hl] - add $50 - ld [wc3f1], a - jr .asm_11648d - -.asm_116484 - sub $50 - ld c, a - ld a, $50 - sub c - ld [wc3f1], a - -.asm_11648d - ld hl, wc30f - ld a, [hl] - cp $60 - jr nc, .asm_11649e - ld a, $60 - sub [hl] - add $60 - ld [wc3f3], a - ret - -.asm_11649e - sub $60 - ld c, a - ld a, $60 - sub c - ld [wc3f3], a - ret - -.asm_1164a8 - ld hl, wc30e - ld a, $b0 - cp [hl] - jr nc, .asm_1164b8 - ld a, [wc3f1] - and a - jr z, .asm_11650b - jr .asm_1164f2 - -.asm_1164b8 - ld a, [wc3f1] - sub [hl] - jr nc, .asm_1164c1 - xor $ff - inc a - -.asm_1164c1 - ld b, a - ld c, $0 - ld a, $5 -.asm_1164c6 - srl b - rr c - dec a - jr nz, .asm_1164c6 - ld a, c - ld [wc3fa], a - ld a, b - ld [wc3f9], a - ld a, [wc3f1] - sub [hl] - jr c, .asm_1164f2 - ld c, $0 - ld a, [wc3fa] - xor $ff - add $1 - rl c - ld [wc3fa], a - ld a, [wc3f9] - xor $ff - add c - ld [wc3f9], a - -.asm_1164f2 - ld a, [wc3f2] - ld l, a - ld a, [wc3f1] - ld h, a - ld a, [wc3fa] - ld e, a - ld a, [wc3f9] - ld d, a - add hl, de - ld a, l - ld [wc3f2], a - ld a, h - ld [wc3f1], a - -.asm_11650b - ld hl, wc30f - ld a, $b0 - cp [hl] - jr c, .asm_11654d - ld a, [wc3f3] - sub [hl] - jr nc, .asm_11651c - xor $ff - inc a - -.asm_11651c - ld b, a - ld c, $0 - ld a, $5 -.asm_116521 - srl b - rr c - dec a - jr nz, .asm_116521 - ld a, c - ld [wc3fc], a - ld a, b - ld [wc3fb], a - ld a, [wc3f3] - sub [hl] - jr c, .asm_11654d - ld c, $0 - ld a, [wc3fc] - xor $ff - add $1 - rl c - ld [wc3fc], a - ld a, [wc3fb] - xor $ff - add c - ld [wc3fb], a - -.asm_11654d - ld a, [wc3f4] - ld l, a - ld a, [wc3f3] - ld h, a - ld a, [wc3fc] - ld e, a - ld a, [wc3fb] - ld d, a - add hl, de - ld a, l - ld [wc3f4], a - ld a, h - ld [wc3f3], a - ret -; 116567 - -Function116567: ; 116567 - ld hl, wc3f7 - dec [hl] - ret nz - ld hl, wc3f6 - inc [hl] -.asm_116570 - ld a, $7 - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1167eb - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - pop hl - ld a, [wc3f6] - sla a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - cp $fe - jr nz, .asm_116595 - xor a - ld [wc3f6], a - jr .asm_116570 - -.asm_116595 - ld [wc3f5], a - ld a, [hl] - ld [wc3f7], a - ret -; 11659d - -Function11659d: ; 11659d - ld a, [wc314] - cp $12 - ret nc - ld e, a - ld d, 0 - ld hl, Jumptable_1165af - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 1165af - -Jumptable_1165af: ; 1165af - dw Function11677e - dw Function1165d5 - dw Function1165d8 - dw Function1165e3 - dw Function1165f5 - dw Function116600 - dw Function116615 - dw Function116618 - dw Function116623 - dw Function116635 - dw Function116640 - dw Function116655 - dw Function11665c - dw Function11668d - dw Function11669f - dw Function1166a2 - dw Function1166c4 - dw Function1166d6 - dw Function1166d6 -; 1165d5 - -Function1165d5: ; 1165d5 - call Function11678e - -Function1165d8: - ld a, $0 - ld c, a - ld a, $ff - ld b, a - ld a, $a8 - call Function1166f4 - -Function1165e3: - call Function116747 - ld a, [wc30e] - cp $e8 - ret nz - ld a, $1 - call Function116780 - ret c - jp Function116797 -; 1165f5 - -Function1165f5: ; 1165f5 - ld a, $1 - ld c, a - ld a, $1 - ld b, a - ld a, $e8 - call Function1166f4 - -Function116600: - call Function116747 - ld a, [wc30e] - cp $a8 - ret nz - ld a, $1 - call Function116780 - ret c - ld a, $2 - ld [wc314], a - ret -; 116615 - -Function116615: ; 116615 - call Function11678e - -Function116618: - ld a, $3 - ld c, a - ld a, $1 - ld b, a - ld a, $28 - call Function11671f - -Function116623: - call Function116747 - ld a, [wc30f] - cp $a0 - ret nz - ld a, $6 - call Function116780 - ret c - jp Function116797 -; 116635 - -Function116635: ; 116635 - ld a, $2 - ld c, a - ld a, $ff - ld b, a - ld a, $a0 - call Function11671f - -Function116640: - call Function116747 - ld a, [wc30f] - cp $28 - ret nz - ld a, $6 - call Function116780 - ret c - ld a, $7 - ld [wc314], a - ret -; 116655 - -Function116655: ; 116655 - xor a - ld [wc317], a - call Function11678e - -Function11665c: - ld hl, wc317 - ld a, $1 - xor [hl] - ld [hl], a - add $4 - ld c, a - call Function11679c - ld a, [wc317] - and a - jr nz, .asm_116673 - ld a, $48 - jr .asm_116675 - -.asm_116673 - ld a, $78 - -.asm_116675 - ld [wc30f], a - call Random - ld a, [hRandomAdd] - and $7 - sla a - sla a - sla a - add $30 - ld [wc30e], a - call Function116797 - -Function11668d: - ld a, [wc311] - cp $ff - ret nz - ld a, $b - call Function116780 - ret c - ld a, $c - ld [wc314], a - ret -; 11669f - -Function11669f: ; 11669f - call Function11678e - -Function1166a2: - ld a, $a8 - ld [wc30e], a - ld [wc3f1], a - ld a, $60 - ld [wc30f], a - ld [wc3f3], a - ld a, $ff - ld [wc316], a - xor a - ld [wc317], a - ld a, $0 - ld c, a - call Function11679c - call Function116797 - -Function1166c4: - call Function116747 - ld a, [wc30e] - cp $58 - ret nz - ld a, $6 - ld c, a - call Function11679c - call Function116797 - -Function1166d6: - call Function116747 - ld a, [wc30e] - cp $48 - jr nz, .asm_1166e4 - xor a - ld [wc316], a - -.asm_1166e4 - ld a, [wc311] - cp $ff - ret nz - ld a, $4 - ld [wc319], a - xor a - ld [wc314], a - ret -; 1166f4 - -Function1166f4: ; 1166f4 - ld [wc30e], a - ld a, b - ld [wc316], a - xor a - ld [wc317], a - ld hl, wc30f -.asm_116702 - call Random - ld a, [hRandomAdd] - and $7 - jr z, .asm_11670c - dec a - -.asm_11670c - sla a - sla a - sla a - add $48 - cp [hl] - jr z, .asm_116702 - ld [hl], a - call Function11679c - call Function116797 - ret -; 11671f - -Function11671f: ; 11671f - ld [wc30f], a - ld a, b - ld [wc317], a - xor a - ld [wc316], a - ld hl, wc30e -.asm_11672d - call Random - ld a, [hRandomAdd] - and $7 - sla a - sla a - sla a - add $30 - cp [hl] - jr z, .asm_11672d - ld [hl], a - call Function11679c - call Function116797 - ret -; 116747 - -Function116747: ; 116747 - ld hl, wc30e - ld a, [wc316] - add [hl] - ld [hl], a - ld hl, wc30f - ld a, [wc317] - add [hl] - ld [hl], a - ret -; 116758 - -Function116758: ; 116758 - ld a, [wc30f] - cp $30 - jr c, .asm_116770 - jr z, .asm_116770 - cp $38 - jr c, .asm_116774 - jr z, .asm_116774 - cp $40 - jr c, .asm_116778 - jr z, .asm_116778 - xor a - jr .asm_11677a - -.asm_116770 - ld a, $c - jr .asm_11677a - -.asm_116774 - ld a, $8 - jr .asm_11677a - -.asm_116778 - ld a, $4 - -.asm_11677a - ld [wc318], a - ret -; 11677e - -Function11677e: ; 11677e - ld a, $0 - -Function116780: - ld hl, wc315 - cp [hl] - jr z, .asm_11678c - ld a, [hl] - ld [wc314], a - scf - ret - -.asm_11678c - and a - ret -; 11678e - -Function11678e: ; 11678e - ld hl, wc314 - ld a, [hl] - ld [wc315], a - inc [hl] - ret -; 116797 - -Function116797: ; 116797 - ld hl, wc314 - inc [hl] - ret -; 11679c - -Function11679c: - ld a, c - ld [wc311], a - xor a - ld [wc312], a - jr asm_1167af - -Function1167a6: ; 1167a6 - ld hl, wc313 - dec [hl] - ret nz - ld hl, wc312 - inc [hl] - -asm_1167af -.asm_1167af - ld a, [wc311] - cp $ff - ret z - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1167eb - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - pop hl - ld a, [wc312] - sla a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - cp $ff - jr z, .asm_1167dc - cp $fe - jr nz, .asm_1167e3 - xor a - ld [wc312], a - jr .asm_1167af - -.asm_1167dc - ld a, $ff - ld [wc311], a - ld a, $fd - -.asm_1167e3 - ld [wc310], a - ld a, [hl] - ld [wc313], a - ret -; 1167eb - -Unknown_1167eb: - dw Unknown_1167fb - dw Unknown_116808 - dw Unknown_116867 - dw Unknown_116870 - dw Unknown_116815 - dw Unknown_11683e - dw Unknown_116881 - dw Unknown_1168ae - -Unknown_1167fb: ; 1167fb - db $0, $6 - db $1, $4 - db $2, $4 - db $3, $6 - db $2, $4 - db $1, $4 - db $fe - -Unknown_116808: ; 116808 - db $4, $6 - db $5, $4 - db $6, $4 - db $7, $6 - db $6, $4 - db $5, $4 - db $fe - -Unknown_116815: ; 116815 - db $fd, $20 - db $8, $c - db $9, $24 - db $a, $4 - db $b, $8 - db $a, $4 - db $9, $6 - db $c, $4 - db $d, $8 - db $c, $5 - db $9, $24 - db $a, $4 - db $b, $8 - db $a, $4 - db $9, $6 - db $c, $4 - db $d, $8 - db $c, $5 - db $9, $8 - db $8, $4 - db $ff - -Unknown_11683e: ; 11683e - db $fd, $20 - db $e, $c - db $f, $24 - db $10, $4 - db $11, $8 - db $10, $4 - db $f, $6 - db $12, $4 - db $13, $8 - db $12, $5 - db $f, $24 - db $10, $4 - db $11, $8 - db $10, $4 - db $f, $6 - db $12, $4 - db $13, $8 - db $12, $5 - db $f, $8 - db $e, $4 - db $ff - -Unknown_116867: ; 116867 - db $14, $8 - db $15, $8 - db $16, $8 - db $15, $8 - db $fe - -Unknown_116870: ; 116870 - db $17, $5 - db $18, $5 - db $19, $5 - db $1a, $5 - db $1b, $5 - db $1a, $5 - db $19, $5 - db $18, $5 - db $fe - -Unknown_116881: ; 116881 - db $1c, $7 - db $1d, $7 - db $1e, $a - db $1f, $a - db $20, $5 - db $21, $5 - db $20, $5 - db $21, $5 - db $20, $18 - db $22, $4 - db $23, $2 - db $22, $2 - db $23, $2 - db $22, $1 - db $23, $1 - db $22, $1 - db $23, $4 - db $fd, $1 - db $23, $1 - db $fd, $2 - db $23, $2 - db $fd, $40 - db $ff - -Unknown_1168ae: ; 1168ae - db $24, $4 - db $25, $4 - db $26, $4 - db $27, $4 - db $28, $4 - db $29, $4 - db $2a, $4 - db $2b, $4 - db $2c, $4 - db $2d, $4 - db $2e, $4 - db $fe -; 1168c5 - -Unknown_1168c5: - dw Unknown_116923 - dw Unknown_116960 - dw Unknown_1169a1 - dw Unknown_1169de - dw Unknown_116a1b - dw Unknown_116a58 - dw Unknown_116a99 - dw Unknown_116ad6 - dw Unknown_116d1b - dw Unknown_116d4c - dw Unknown_116d85 - dw Unknown_116dbe - dw Unknown_116df7 - dw Unknown_116e30 - dw Unknown_116e69 - dw Unknown_116e9a - dw Unknown_116ed3 - dw Unknown_116f0c - dw Unknown_116f45 - dw Unknown_116f7e - dw Unknown_116b13 - dw Unknown_116b54 - dw Unknown_116b95 - dw Unknown_116bd6 - dw Unknown_116c17 - dw Unknown_116c58 - dw Unknown_116c99 - dw Unknown_116cda - dw Unknown_116fb7 - dw Unknown_116fec - dw Unknown_117025 - dw Unknown_117056 - dw Unknown_117083 - dw Unknown_1170c0 - dw Unknown_1170fd - dw Unknown_11713a - dw Unknown_117177 - dw Unknown_11719c - dw Unknown_1171c1 - dw Unknown_1171e6 - dw Unknown_11720b - dw Unknown_117230 - dw Unknown_117255 - dw Unknown_11727a - dw Unknown_11729f - dw Unknown_1172c4 - dw Unknown_1172e9 - -Unknown_116923: ; 116923 - db $f - db $0, $0, $1, $a - db $0, $8, $2, $d - db $0, $10, $3, $d - db $0, $18, $4, $d - db $8, $0, $11, $a - db $8, $8, $12, $a - db $8, $10, $13, $a - db $8, $18, $14, $d - db $10, $0, $21, $a - db $10, $8, $22, $a - db $10, $10, $23, $a - db $10, $18, $24, $a - db $18, $0, $31, $a - db $18, $8, $32, $a - db $18, $10, $33, $a - -Unknown_116960: ; 116960 - db $10 - db $1, $0, $1, $a - db $1, $8, $2, $d - db $1, $10, $3, $d - db $1, $18, $4, $d - db $9, $0, $11, $a - db $9, $8, $12, $a - db $9, $10, $13, $a - db $9, $18, $14, $d - db $11, $0, $5, $a - db $11, $8, $6, $a - db $11, $10, $7, $a - db $11, $18, $34, $a - db $19, $0, $15, $a - db $19, $8, $16, $a - db $19, $10, $17, $a - db $19, $18, $35, $a - -Unknown_1169a1: ; 1169a1 - db $f - db $1, $0, $1, $a - db $1, $8, $2, $d - db $1, $10, $3, $d - db $1, $18, $4, $d - db $9, $0, $11, $a - db $9, $8, $12, $a - db $9, $10, $13, $a - db $9, $18, $14, $d - db $11, $0, $25, $a - db $11, $8, $26, $a - db $11, $10, $27, $a - db $11, $18, $34, $a - db $19, $8, $36, $a - db $19, $10, $37, $a - db $19, $18, $35, $a - -Unknown_1169de: ; 1169de - db $f - db $0, $0, $1, $a - db $0, $8, $2, $d - db $0, $10, $3, $d - db $0, $18, $4, $d - db $8, $0, $11, $a - db $8, $8, $12, $a - db $8, $10, $13, $a - db $8, $18, $14, $d - db $10, $0, $10, $a - db $10, $8, $20, $a - db $10, $10, $30, $a - db $10, $18, $24, $a - db $18, $0, $31, $a - db $18, $8, $32, $a - db $18, $10, $33, $a - -Unknown_116a1b: ; 116a1b - db $f - db $0, $0, $4, $2d - db $0, $8, $3, $2d - db $0, $10, $2, $2d - db $0, $18, $1, $2a - db $8, $0, $14, $2d - db $8, $8, $13, $2a - db $8, $10, $12, $2a - db $8, $18, $11, $2a - db $10, $0, $24, $2a - db $10, $8, $23, $2a - db $10, $10, $22, $2a - db $10, $18, $21, $2a - db $18, $8, $33, $2a - db $18, $10, $32, $2a - db $18, $18, $31, $2a - -Unknown_116a58: ; 116a58 - db $10 - db $1, $0, $4, $2d - db $1, $8, $3, $2d - db $1, $10, $2, $2d - db $1, $18, $1, $2a - db $9, $0, $14, $2d - db $9, $8, $13, $2a - db $9, $10, $12, $2a - db $9, $18, $11, $2a - db $11, $0, $34, $2a - db $11, $8, $7, $2a - db $11, $10, $6, $2a - db $11, $18, $5, $2a - db $19, $0, $35, $2a - db $19, $8, $17, $2a - db $19, $10, $16, $2a - db $19, $18, $15, $2a - -Unknown_116a99: ; 116a99 - db $f - db $1, $0, $4, $2d - db $1, $8, $3, $2d - db $1, $10, $2, $2d - db $1, $18, $1, $2a - db $9, $0, $14, $2d - db $9, $8, $13, $2a - db $9, $10, $12, $2a - db $9, $18, $11, $2a - db $11, $0, $34, $2a - db $11, $8, $27, $2a - db $11, $10, $26, $2a - db $11, $18, $25, $2a - db $19, $0, $35, $2a - db $19, $8, $37, $2a - db $19, $10, $36, $2a - -Unknown_116ad6: ; 116ad6 - db $f - db $0, $0, $4, $2d - db $0, $8, $3, $2d - db $0, $10, $2, $2d - db $0, $18, $1, $2a - db $8, $0, $14, $2d - db $8, $8, $13, $2a - db $8, $10, $12, $2a - db $8, $18, $11, $2a - db $10, $0, $24, $2a - db $10, $8, $30, $2a - db $10, $10, $20, $2a - db $10, $18, $10, $2a - db $18, $8, $33, $2a - db $18, $10, $32, $2a - db $18, $18, $31, $2a - -Unknown_116b13: ; 116b13 - db $10 - db $18, $0, $0, $b - db $18, $8, $8, $b - db $18, $10, $5c, $b - db $18, $18, $0, $b - db $10, $0, $0, $b - db $10, $8, $5d, $b - db $10, $10, $5e, $b - db $10, $18, $0, $b - db $8, $0, $50, $b - db $8, $8, $51, $b - db $8, $10, $52, $b - db $8, $18, $50, $2b - db $0, $0, $43, $b - db $0, $8, $44, $b - db $0, $10, $44, $2b - db $0, $18, $43, $2b - -Unknown_116b54: ; 116b54 - db $10 - db $19, $0, $0, $b - db $19, $8, $18, $b - db $19, $10, $c, $b - db $19, $18, $0, $b - db $11, $0, $42, $b - db $11, $8, $3a, $b - db $11, $10, $3a, $2b - db $11, $18, $42, $2b - db $9, $0, $58, $b - db $9, $8, $45, $b - db $9, $10, $45, $2b - db $9, $18, $58, $2b - db $1, $0, $d, $b - db $1, $8, $44, $b - db $1, $10, $44, $2b - db $1, $18, $d, $2b - -Unknown_116b95: ; 116b95 - db $10 - db $18, $0, $0, $b - db $18, $8, $5c, $2b - db $18, $10, $8, $2b - db $18, $18, $0, $b - db $10, $0, $0, $b - db $10, $8, $5e, $2b - db $10, $10, $5d, $2b - db $10, $18, $0, $b - db $8, $0, $50, $b - db $8, $8, $52, $2b - db $8, $10, $51, $2b - db $8, $18, $50, $2b - db $0, $0, $43, $b - db $0, $8, $44, $b - db $0, $10, $44, $2b - db $0, $18, $43, $2b - -Unknown_116bd6: ; 116bd6 - db $10 - db $18, $0, $0, $a - db $18, $8, $56, $a - db $18, $10, $57, $a - db $18, $18, $0, $a - db $10, $0, $64, $a - db $10, $8, $4a, $a - db $10, $10, $4b, $a - db $10, $18, $71, $a - db $8, $0, $54, $a - db $8, $8, $55, $a - db $8, $10, $55, $2a - db $8, $18, $54, $2a - db $0, $0, $48, $a - db $0, $8, $49, $a - db $0, $10, $49, $2a - db $0, $18, $48, $2a - -Unknown_116c17: ; 116c17 - db $10 - db $19, $0, $0, $a - db $19, $8, $76, $a - db $19, $10, $77, $a - db $19, $18, $0, $a - db $11, $0, $64, $a - db $11, $8, $69, $a - db $11, $10, $6a, $a - db $11, $18, $6b, $a - db $9, $0, $6f, $a - db $9, $8, $70, $a - db $9, $10, $70, $2a - db $9, $18, $6f, $2a - db $1, $0, $63, $a - db $1, $8, $19, $a - db $1, $10, $19, $2a - db $1, $18, $63, $2a - -Unknown_116c58: ; 116c58 - db $10 - db $1a, $0, $6c, $a - db $1a, $8, $6d, $a - db $1a, $10, $6e, $a - db $1a, $18, $0, $a - db $12, $0, $5f, $a - db $12, $8, $60, $a - db $12, $10, $61, $a - db $12, $18, $62, $a - db $a, $0, $53, $a - db $a, $8, $55, $a - db $a, $10, $55, $2a - db $a, $18, $53, $2a - db $2, $0, $46, $a - db $2, $8, $47, $a - db $2, $10, $47, $2a - db $2, $18, $46, $2a - -Unknown_116c99: ; 116c99 - db $10 - db $19, $0, $0, $2a - db $19, $8, $77, $2a - db $19, $10, $76, $2a - db $19, $18, $0, $2a - db $11, $0, $6b, $2a - db $11, $8, $6a, $2a - db $11, $10, $69, $2a - db $11, $18, $64, $2a - db $9, $0, $6f, $a - db $9, $8, $70, $a - db $9, $10, $70, $2a - db $9, $18, $6f, $2a - db $1, $0, $63, $a - db $1, $8, $19, $a - db $1, $10, $19, $2a - db $1, $18, $63, $2a - -Unknown_116cda: ; 116cda - db $10 - db $18, $0, $0, $a - db $18, $8, $57, $2a - db $18, $10, $56, $2a - db $18, $18, $0, $a - db $10, $0, $71, $2a - db $10, $8, $4b, $2a - db $10, $10, $4a, $2a - db $10, $18, $64, $2a - db $8, $0, $54, $a - db $8, $8, $55, $a - db $8, $10, $55, $2a - db $8, $18, $54, $2a - db $0, $0, $48, $a - db $0, $8, $49, $a - db $0, $10, $49, $2a - db $0, $18, $48, $2a - -Unknown_116d1b: ; 116d1b - db $c - db $0, $0, $38, $4a - db $0, $8, $39, $4a - db $0, $10, $39, $6a - db $0, $18, $38, $6a - db $8, $0, $28, $4a - db $8, $8, $29, $4a - db $8, $10, $29, $6a - db $8, $18, $28, $6a - db $10, $0, $9, $4d - db $10, $8, $19, $4a - db $10, $10, $19, $6a - db $10, $18, $9, $6d - -Unknown_116d4c: ; 116d4c - db $e - db $0, $8, $3b, $4a - db $0, $10, $3b, $6a - db $8, $0, $2a, $4a - db $8, $8, $2b, $4a - db $8, $10, $2b, $6a - db $8, $18, $2a, $6a - db $10, $0, $1a, $4a - db $10, $8, $1b, $4a - db $10, $10, $1b, $6a - db $10, $18, $1a, $6a - db $18, $0, $a, $4a - db $18, $8, $b, $4a - db $18, $10, $b, $6a - db $18, $18, $a, $6a - -Unknown_116d85: ; 116d85 - db $e - db $0, $0, $35, $2a - db $0, $8, $3c, $4a - db $0, $10, $3d, $4a - db $0, $18, $3e, $4a - db $8, $0, $2c, $4a - db $8, $8, $2d, $4a - db $8, $10, $2e, $4a - db $8, $18, $2f, $4a - db $10, $0, $1c, $4a - db $10, $8, $1d, $4a - db $10, $10, $1e, $4d - db $10, $18, $1f, $4d - db $18, $10, $e, $4d - db $18, $18, $f, $4a - -Unknown_116dbe: ; 116dbe - db $e - db $0, $0, $65, $4a - db $0, $8, $66, $4a - db $0, $10, $67, $4a - db $0, $18, $68, $4a - db $8, $8, $59, $4a - db $8, $10, $5a, $4a - db $8, $18, $5b, $4a - db $10, $0, $4c, $4a - db $10, $8, $4d, $4d - db $10, $10, $4e, $4d - db $10, $18, $4f, $4a - db $18, $0, $3f, $4d - db $18, $8, $40, $4d - db $18, $10, $41, $4d - -Unknown_116df7: ; 116df7 - db $e - db $0, $0, $3e, $6a - db $0, $8, $3d, $6a - db $0, $10, $3c, $6a - db $0, $18, $35, $a - db $8, $0, $2f, $6a - db $8, $8, $2e, $6a - db $8, $10, $2d, $6a - db $8, $18, $2c, $6a - db $10, $0, $1f, $6d - db $10, $8, $1e, $6d - db $10, $10, $1d, $6a - db $10, $18, $1c, $6a - db $18, $0, $f, $6a - db $18, $8, $e, $6d - -Unknown_116e30: ; 116e30 - db $e - db $0, $0, $68, $6a - db $0, $8, $67, $6a - db $0, $10, $66, $6a - db $0, $18, $65, $6a - db $8, $0, $5b, $6a - db $8, $8, $5a, $6a - db $8, $10, $59, $6a - db $10, $0, $4f, $6a - db $10, $8, $4e, $6d - db $10, $10, $4d, $6d - db $10, $18, $4c, $6a - db $18, $8, $41, $6d - db $18, $10, $40, $6d - db $18, $18, $3f, $6d - -Unknown_116e69: ; 116e69 - db $c - db $8, $0, $9, $d - db $8, $8, $19, $a - db $8, $10, $19, $2a - db $8, $18, $9, $2d - db $10, $0, $28, $a - db $10, $8, $29, $a - db $10, $10, $29, $2a - db $10, $18, $28, $2a - db $18, $0, $38, $a - db $18, $8, $39, $a - db $18, $10, $39, $2a - db $18, $18, $38, $2a - -Unknown_116e9a: ; 116e9a - db $e - db $0, $0, $a, $a - db $0, $8, $b, $a - db $0, $10, $b, $2a - db $0, $18, $a, $2a - db $8, $0, $1a, $a - db $8, $8, $1b, $a - db $8, $10, $1b, $2a - db $8, $18, $1a, $2a - db $10, $0, $2a, $a - db $10, $8, $2b, $a - db $10, $10, $2b, $2a - db $10, $18, $2a, $2a - db $18, $8, $3b, $a - db $18, $10, $3b, $2a - -Unknown_116ed3: ; 116ed3 - db $e - db $0, $10, $e, $d - db $0, $18, $f, $a - db $8, $0, $1c, $a - db $8, $8, $1d, $a - db $8, $10, $1e, $d - db $8, $18, $1f, $d - db $10, $0, $2c, $a - db $10, $8, $2d, $a - db $10, $10, $2e, $a - db $10, $18, $2f, $a - db $18, $0, $35, $6a - db $18, $8, $3c, $a - db $18, $10, $3d, $a - db $18, $18, $3e, $a - -Unknown_116f0c: ; 116f0c - db $e - db $0, $0, $3f, $d - db $0, $8, $40, $d - db $0, $10, $41, $d - db $8, $0, $4c, $a - db $8, $8, $4d, $d - db $8, $10, $4e, $d - db $8, $18, $4f, $a - db $10, $8, $59, $a - db $10, $10, $5a, $a - db $10, $18, $5b, $a - db $18, $0, $65, $a - db $18, $8, $66, $a - db $18, $10, $67, $a - db $18, $18, $68, $a - -Unknown_116f45: ; 116f45 - db $e - db $0, $0, $f, $2a - db $0, $8, $e, $2d - db $8, $0, $1f, $2d - db $8, $8, $1e, $2d - db $8, $10, $1d, $2a - db $8, $18, $1c, $2a - db $10, $0, $2f, $2a - db $10, $8, $2e, $2a - db $10, $10, $2d, $2a - db $10, $18, $2c, $2a - db $18, $0, $3e, $2a - db $18, $8, $3d, $2a - db $18, $10, $3c, $2a - db $18, $18, $35, $4a - -Unknown_116f7e: ; 116f7e - db $e - db $0, $8, $41, $2d - db $0, $10, $40, $2d - db $0, $18, $3f, $2d - db $8, $0, $4f, $2a - db $8, $8, $4e, $2d - db $8, $10, $4d, $2d - db $8, $18, $4c, $2a - db $10, $0, $5b, $2a - db $10, $8, $5a, $2a - db $10, $10, $59, $2a - db $18, $0, $68, $2a - db $18, $8, $67, $2a - db $18, $10, $66, $2a - db $18, $18, $65, $2a - -Unknown_116fb7: ; 116fb7 - db $d - db $fa, $0, $72, $a - db $fa, $8, $73, $d - db $fa, $10, $74, $d - db $fa, $18, $75, $d - db $2, $0, $81, $a - db $2, $8, $82, $a - db $2, $10, $83, $a - db $2, $18, $84, $a - db $a, $0, $91, $a - db $a, $8, $92, $a - db $a, $10, $93, $a - db $a, $18, $94, $a - db $12, $10, $a3, $a - -Unknown_116fec: ; 116fec - db $e - db $fd, $0, $85, $d - db $fd, $8, $86, $d - db $5, $0, $95, $d - db $5, $8, $96, $a - db $5, $10, $97, $a - db $5, $18, $98, $a - db $d, $0, $a5, $a - db $d, $8, $a6, $a - db $d, $10, $a7, $a - db $d, $18, $a8, $a - db $15, $0, $b3, $a - db $15, $8, $b4, $a - db $15, $10, $b5, $a - db $15, $18, $b6, $a - -Unknown_117025: ; 117025 - db $c - db $8, $0, $79, $d - db $8, $8, $7a, $d - db $8, $10, $7b, $a - db $8, $18, $7c, $a - db $10, $0, $89, $d - db $10, $8, $8a, $a - db $10, $10, $8b, $a - db $10, $18, $8c, $a - db $18, $0, $99, $a - db $18, $8, $9a, $a - db $18, $10, $9b, $a - db $18, $18, $9c, $a - -Unknown_117056: ; 117056 - db $b - db $8, $0, $7d, $a - db $8, $8, $7e, $d - db $8, $10, $7f, $d - db $8, $18, $80, $a - db $10, $0, $8d, $a - db $10, $8, $8e, $a - db $10, $10, $8f, $a - db $10, $18, $90, $a - db $18, $8, $9e, $a - db $18, $10, $9f, $a - db $18, $18, $a0, $a - -Unknown_117083: ; 117083 - db $f - db $0, $0, $a1, $a - db $0, $8, $a2, $a - db $0, $10, $a2, $2a - db $0, $18, $a1, $2a - db $8, $0, $b1, $a - db $8, $8, $b2, $d - db $8, $10, $b2, $2d - db $8, $18, $b1, $2a - db $10, $0, $ab, $a - db $10, $8, $ac, $a - db $10, $10, $ac, $2a - db $10, $18, $ab, $2a - db $18, $8, $a4, $a - db $18, $10, $87, $a - db $18, $18, $88, $a - -Unknown_1170c0: ; 1170c0 - db $f - db $0, $0, $a1, $a - db $0, $8, $a2, $d - db $0, $10, $a2, $2a - db $0, $18, $a1, $2a - db $8, $0, $b1, $a - db $8, $8, $78, $d - db $8, $10, $78, $2d - db $8, $18, $b1, $2a - db $10, $0, $ab, $a - db $10, $8, $ac, $a - db $10, $10, $ac, $2a - db $10, $18, $ab, $2a - db $18, $8, $a4, $a - db $18, $10, $87, $a - db $18, $18, $88, $a - -Unknown_1170fd: ; 1170fd - db $f - db $0, $0, $a9, $a - db $0, $8, $aa, $a - db $0, $10, $aa, $2a - db $0, $18, $a9, $2a - db $8, $0, $b7, $a - db $8, $8, $b8, $a - db $8, $10, $b8, $2a - db $8, $18, $b7, $2a - db $10, $0, $ab, $a - db $10, $8, $ac, $a - db $10, $10, $ac, $2a - db $10, $18, $ad, $a - db $18, $8, $a4, $a - db $18, $10, $ba, $a - db $18, $18, $bb, $a - -Unknown_11713a: ; 11713a - db $f - db $0, $0, $ae, $c - db $0, $8, $af, $c - db $0, $10, $af, $2c - db $0, $18, $ae, $2c - db $8, $0, $bc, $c - db $8, $8, $bd, $c - db $8, $10, $bd, $2c - db $8, $18, $bc, $2c - db $10, $0, $bf, $c - db $10, $8, $9d, $c - db $10, $10, $9d, $2c - db $10, $18, $b0, $c - db $18, $8, $b9, $c - db $18, $10, $c0, $c - db $18, $18, $be, $c - -Unknown_117177: ; 117177 - db $9 - db $14, $0, $1f, $6 - db $14, $8, $20, $6 - db $14, $10, $21, $6 - db $c, $0, $10, $6 - db $c, $8, $11, $6 - db $c, $10, $12, $6 - db $4, $0, $1, $6 - db $4, $8, $2, $6 - db $4, $10, $3, $6 - -Unknown_11719c: ; 11719c - db $9 - db $14, $0, $22, $6 - db $14, $8, $23, $6 - db $14, $10, $24, $6 - db $c, $0, $13, $6 - db $c, $8, $14, $6 - db $c, $10, $15, $6 - db $4, $0, $4, $6 - db $4, $8, $5, $6 - db $4, $10, $6, $6 - -Unknown_1171c1: ; 1171c1 - db $9 - db $14, $0, $25, $6 - db $14, $8, $26, $6 - db $14, $10, $27, $6 - db $c, $0, $16, $6 - db $c, $8, $17, $6 - db $c, $10, $18, $6 - db $4, $0, $7, $6 - db $4, $8, $8, $6 - db $4, $10, $9, $6 - -Unknown_1171e6: ; 1171e6 - db $9 - db $14, $0, $28, $6 - db $14, $8, $29, $6 - db $14, $10, $2a, $6 - db $c, $0, $19, $6 - db $c, $8, $1a, $6 - db $c, $10, $1b, $6 - db $4, $0, $a, $6 - db $4, $8, $b, $6 - db $4, $10, $c, $6 - -Unknown_11720b: ; 11720b - db $9 - db $14, $0, $2b, $6 - db $14, $8, $2c, $6 - db $14, $10, $2d, $6 - db $c, $0, $1c, $6 - db $c, $8, $1d, $6 - db $c, $10, $1e, $6 - db $4, $0, $d, $6 - db $4, $8, $e, $6 - db $4, $10, $f, $6 - -Unknown_117230: ; 117230 - db $9 - db $14, $0, $47, $6 - db $14, $8, $48, $6 - db $14, $10, $49, $6 - db $c, $0, $3b, $6 - db $c, $8, $3c, $6 - db $c, $10, $3b, $26 - db $4, $0, $2e, $6 - db $4, $8, $2f, $6 - db $4, $10, $30, $6 - -Unknown_117255: ; 117255 - db $9 - db $14, $0, $35, $6 - db $14, $8, $4a, $6 - db $14, $10, $35, $6 - db $c, $0, $3d, $6 - db $c, $8, $35, $6 - db $c, $10, $3d, $26 - db $4, $0, $31, $6 - db $4, $8, $32, $6 - db $4, $10, $31, $26 - -Unknown_11727a: ; 11727a - db $9 - db $14, $0, $4b, $6 - db $14, $8, $4c, $6 - db $14, $10, $4d, $6 - db $c, $0, $3e, $6 - db $c, $8, $3f, $6 - db $c, $10, $40, $6 - db $4, $0, $33, $6 - db $4, $8, $34, $6 - db $4, $10, $35, $6 - -Unknown_11729f: ; 11729f - db $9 - db $14, $0, $4e, $6 - db $14, $8, $4f, $6 - db $14, $10, $50, $6 - db $c, $0, $41, $6 - db $c, $8, $42, $6 - db $c, $10, $43, $6 - db $4, $0, $35, $6 - db $4, $8, $36, $6 - db $4, $10, $37, $6 - -Unknown_1172c4: ; 1172c4 - db $9 - db $14, $0, $51, $6 - db $14, $8, $52, $6 - db $14, $10, $35, $6 - db $c, $0, $44, $6 - db $c, $8, $45, $6 - db $c, $10, $46, $6 - db $4, $0, $38, $6 - db $4, $8, $39, $6 - db $4, $10, $3a, $6 - -Unknown_1172e9: ; 1172e9 - db $9 - db $10, $0, $0, $2 - db $10, $8, $0, $2 - db $10, $10, $0, $2 - db $8, $0, $0, $2 - db $8, $8, $0, $2 - db $c, $10, $1f, $6 - db $0, $0, $0, $2 - db $0, $8, $0, $2 - db $4, $10, $10, $6 -; 11730e - -Palette_11730e: - RGB 31, 31, 31 - RGB 7, 5, 4 - RGB 31, 28, 4 - RGB 31, 5, 5 - RGB 31, 31, 31 - RGB 7, 5, 4 - RGB 31, 23, 0 - RGB 31, 28, 4 - RGB 31, 31, 31 - RGB 16, 19, 31 - RGB 17, 31, 31 - RGB 31, 31, 31 - RGB 5, 5, 5 - RGB 7, 5, 4 - RGB 31, 28, 4 - RGB 19, 11, 6 - RGB 31, 31, 31 - RGB 3, 15, 31 - RGB 4, 25, 25 - RGB 0, 7, 12 - RGB 31, 31, 31 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 4, 11, 22 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 22, 11, 8 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 0, 16, 0 - -Palette_11734e: - RGB 31, 30, 30 - RGB 2, 0, 0 - RGB 10, 9, 9 - RGB 15, 14, 14 - -Unknown_117356: -INCBIN "baserom.gbc", $117356, $117656 - $117356 - - -SECTION "Mobile Stadium", ROMX, BANK[$45] - -Function117656: ; 117656 - callba GiveOddEgg - ret -; 11765d - -Function11765d: ; 11765d (45:765d) - ld a, [$ffaa] - push af - ld a, $1 - ld [$ffaa], a - call Function11766b - pop af - ld [$ffaa], a - ret - -Function11766b: ; 11766b (45:766b) - call Function117699 - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $5 - ld [rSVBK], a ; $ff00+$70 - call Function1176ee - ld a, $5 - call GetSRAMBank - ld hl, $b1f3 - ld de, wcd49 - ld bc, $8 - call CopyBytes - ld de, wc708 - ld bc, $11 - call CopyBytes - call CloseSRAM - pop af - ld [rSVBK], a ; $ff00+$70 - ret - -Function117699: ; 117699 (45:7699) - ld a, $5 - call GetSRAMBank - ld hl, wcd49 - ld de, $b1f3 - ld bc, $8 - call CopyBytes - ld hl, wc708 - ld bc, $11 - call CopyBytes - call CloseSRAM - xor a - ld [wcd49], a - ld [wcd4a], a - ld [wcd4b], a - ld [wcd4c], a - ld [wcd4d], a - ld [wcd4e], a - ld [wcd4f], a - ld hl, wc708 - ld bc, $11 - call ByteFill - call WhiteBGMap - call ClearSprites - callba Function171c87 - callba Function104061 - callba Function8cf53 - ret - -Function1176ee: ; 1176ee (45:76ee) - call Functiona57 - ld a, [wcd49] - bit 7, a - jr nz, .asm_117709 - call Function117719 - callba Function8cf69 - callba Function104061 - jr Function1176ee -.asm_117709 - callba Function8cf53 - call WhiteBGMap - call ClearScreen - call ClearSprites - ret - -Function117719: ; 117719 (45:7719) - ld a, [wcd49] - ld e, a - ld d, 0 - ld hl, Jumptable_117728 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -Jumptable_117728: ; 117728 (45:7728) - dw Function117738 - dw Function117764 - dw Function1178aa - dw Function1178e8 - dw Function117942 - dw Function117976 - dw Function117984 - dw Function1179a7 - - -Function117738: ; 117738 (45:7738) - callba Function171ccd - lb de, $30, $18 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $6 - ld [hl], a - lb de, $48, $20 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $7 - ld [hl], a - ld a, $3 - ld [wcd23], a - jp Function117a0a - -Function117764: ; 117764 (45:7764) - ld a, [wcd4a] - cp $10 - jr nz, .asm_11776f - ld a, $1 - jr .asm_117770 -.asm_11776f - xor a -.asm_117770 - ld [wcd24], a - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and $4 - jr nz, Function1177a5 - ld a, [hl] - and $8 - jr nz, Function1177ac - ld a, [hl] - and $1 - jp nz, Function11784c - ld a, [hl] - and $2 - jr nz, asm_1177d6 - ld hl, $ffa9 - ld a, [hl] - and $40 - jr nz, asm_1177f1 - ld a, [hl] - and $80 - jr nz, asm_11780a - ld a, [hl] - and $20 - jp nz, Function11782d - ld a, [hl] - and $10 - jp nz, Function117837 - ret - -Function1177a5: ; 1177a5 (45:77a5) - callba Function171cf0 - ret - -Function1177ac: ; 1177ac (45:77ac) - ld a, $2 - ld [wcd4c], a - ld a, $4 - ld [wcd4d], a - ret - -Function1177b7: ; 1177b7 (45:77b7) - ld a, $3 - ld [wcd24], a - ld a, [wcd4a] - and a - jr z, .asm_1177c5 - jp Function117a0a -.asm_1177c5 - ld a, $6 - ld [wcd49], a - ret - -Function1177cb: ; 1177cb (45:77cb) - ld a, $80 - ld [wcd49], a - ld [ScriptVar], a - jp Function117a0a -asm_1177d6: ; 1177d6 (45:77d6) - call PlayClickSFX - ld a, [wcd4a] - and a - ret z - dec a - ld [wcd4a], a - ld e, a - ld d, $0 - ld hl, wc708 - add hl, de - xor a - ld [hl], a - hlcoord 2, 4 - add hl, de - ld [hl], a - ret -asm_1177f1: ; 1177f1 (45:77f1) - ld a, [wcd4d] - and a - ret z - dec a - ld [wcd4d], a - cp $3 - ret nz - ld a, [wcd4c] - ld e, a - sla a - sla a - add e -asm_117806: ; 117806 (45:7806) - ld [wcd4c], a - ret -asm_11780a: ; 11780a (45:780a) - ld a, [wcd4d] - cp $4 - ret z - inc a - ld [wcd4d], a - cp $4 - ret nz - ld a, [wcd4c] - cp $a - jr nc, .asm_117825 - cp $5 - jr nc, .asm_117829 - xor a - jr asm_117806 -.asm_117825 - ld a, $2 - jr asm_117806 -.asm_117829 - ld a, $1 - jr asm_117806 - -Function11782d: ; 11782d (45:782d) - ld a, [wcd4c] - and a - ret z - dec a - ld [wcd4c], a - ret - -Function117837: ; 117837 (45:7837) - ld e, $d - ld a, [wcd4d] - cp $4 - jr nz, .asm_117842 - ld e, $2 -.asm_117842 - ld a, [wcd4c] - cp e - ret z - inc a - ld [wcd4c], a - ret - -Function11784c: ; 11784c (45:784c) - call PlayClickSFX - ld a, [wcd4d] - cp $4 - jr nz, .asm_117866 - ld a, [wcd4c] - cp $2 - jp z, Function1177b7 - cp $1 - jp z, Function1177cb - jp Function1177a5 -.asm_117866 - ld a, [wcd4a] - ld e, a - cp $10 - jp z, Function1177ac - inc a - ld [wcd4a], a - ld d, $0 - ld a, [wcd4b] - and a - jr nz, .asm_117880 - ld hl, Unknown_117a0f - jr .asm_117883 -.asm_117880 - ld hl, Unknown_117a47 -.asm_117883 - push de - ld a, [wcd4c] - ld b, a - ld a, [wcd4d] - ld c, $e - call SimpleMultiply - add b - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - ld hl, wc708 - add hl, de - ld [hl], a - pop de - hlcoord 2, 4 - add hl, de - sub $20 - ld [hl], a - ld a, e - cp $f - ret nz - jp Function1177ac - -Function1178aa: ; 1178aa (45:78aa) - ld hl, MenuDataHeader_1179b5 - call LoadMenuDataHeader - call Function1cbb - call Function1cfd - ld hl, MenuDataHeader_1179bd - call LoadMenuDataHeader - call Function1cbb - call Function1cfd - callba Function104061 - hlcoord 16, 8 - ld de, String_1179c5 - call PlaceString - hlcoord 15, 10 - ld a, $ed - ld [hl], a - hlcoord 1, 14 - ld de, String_1179cc - call PlaceString - ld a, $1 - ld [wcd4e], a - jp Function117a0a - -Function1178e8: ; 1178e8 (45:78e8) - ld a, [hJoyPressed] ; $ff00+$a7 - cp $2 - jr z, .asm_117939 - cp $1 - jr z, .asm_117925 - cp $80 - jr z, .asm_11790f - cp $40 - ret nz - ld a, [wcd4e] - and a - ret z - dec a - ld [wcd4e], a - hlcoord 15, 8 - ld a, $ed - ld [hl], a - hlcoord 15, 10 - ld a, $7f - ld [hl], a - ret -.asm_11790f - ld a, [wcd4e] - and a - ret nz - inc a - ld [wcd4e], a - hlcoord 15, 8 - ld a, $7f - ld [hl], a - hlcoord 15, 10 - ld a, $ed - ld [hl], a - ret -.asm_117925 - call PlayClickSFX - ld a, [wcd4e] - and a - jr nz, .asm_117939 - call Function1c07 - ld a, $1 - ld [wcd4f], a - jp Function117a0a -.asm_117939 - call Function1c07 - call Function1c07 - jp Function117a0a - -Function117942: ; 117942 (45:7942) - call SpeechTextBox - hlcoord 1, 14 - ld de, String_1179f7 - call PlaceString - ld a, $1e - ld [wcd4e], a - ld a, $5 - call GetSRAMBank - ld a, [wcd4f] - ld [$aa4b], a - ld hl, wc708 - ld de, $aa4c - ld bc, $11 - call CopyBytes - call CloseSRAM - ld a, [wcd4f] - and a - jr z, asm_11797e - call Function117a0a - -Function117976: ; 117976 (45:7976) - ld hl, wcd4e - dec [hl] - ret nz - call Function1c07 -asm_11797e: ; 11797e (45:797e) - ld a, $80 - ld [wcd49], a - ret - -Function117984: ; 117984 (45:7984) - ld hl, MenuDataHeader_1179b5 - call LoadMenuDataHeader - call Function1cbb - call Function1cfd - callba Function104061 - hlcoord 1, 14 - ld de, String_1179e1 - call PlaceString - ld a, $1e - ld [wcd4e], a - call Function117a0a - -Function1179a7: ; 1179a7 (45:79a7) - ld hl, wcd4e - dec [hl] - ret nz - call Function1c07 - ld a, $1 - ld [wcd49], a - ret -; 1179b5 (45:79b5) - -MenuDataHeader_1179b5: ; 1179b5 - db $40 ; flags - db 12, 0 ; start coords - db 17, 19 ; end coords - dw NULL - db 0 ; default option -; 1179bd - -MenuDataHeader_1179bd: ; 1179bd - db $40 ; flags - db 7, 14 ; start coords - db 11, 19 ; end coords - dw NULL - db 0 ; default option -; 1179c5 - - -String_1179c5: ; 1179c5 - db "はい" - next "いいえ@" -; 1179cc - -String_1179cc: ; 1179cc - db "こ", $25, "パスワード", $1f, "ほぞんして" - line "おきますか?@" -; 1179e1 - -String_1179e1: ; 1179e1 - db "パスワード", $4a, "にゅうりょく" - line "されていません!@" -; 1179f7 - -String_1179f7: ; 1179f7 - db "ログインパスワード", $1f, "ほぞん" - line "しました@" -; 117a0a - -Function117a0a: ; 117a0a (45:7a0a) - ld hl, wcd49 - inc [hl] - ret -; 117a0f (45:7a0f) - -Unknown_117a0f: -INCBIN "data/mobile/ascii-alpha.txt" - -Unknown_117a47: -INCBIN "data/mobile/ascii-sym.txt" -; 117a7f - - -; everything from here to the end of the bank is related to the -; Mobile Stadium option from the continue/newgame menu. -; XXX better function names -MobileStudium: ; 0x117a7f - ld a, [$ffaa] - push af - ld a, $1 - ld [$ffaa], a - call Function117a8d - pop af - ld [$ffaa], a - ret -; 0x117a8d - -Function117a8d: ; 0x117a8d - call Function117a94 - call Function117acd - ret -; 0x117a94 - -Function117a94: ; 0x117a94 - xor a - ld [wcf63], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - call WhiteBGMap - call ClearSprites - callba Function172e78 - callba Function104000 - ret -; 0x117ab4 - -Function117ab4: ; 0x117ab4 - call WhiteBGMap - call ClearSprites - callba Function172e78 - callba Function172eb9 - callba Function104061 - ret -; 0x117acd - -Function117acd: ; 0x117acd - call Functiona57 - ld a, [wcf63] - bit 7, a - jr nz, .asm_117ae2 ; 0x117ad5 $b - call Function117ae9 - callba Function104000 - jr Function117acd -.asm_117ae2 - call WhiteBGMap - call ClearSprites - ret - -Function117ae9: ; 0x117ae9 - ld a, [wcf63] - ld e, a - ld d, $0 - ld hl, Pointers117af8 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -Pointers117af8: ; 0x117af8 - dw Function117b06 - dw Function117b14 - dw Function117b28 - dw Function117b31 - dw Function117b4f - dw Function117bb6 - dw Function117c4a - -Function117b06: - callba Function172eb9 - ld a, $10 - ld [wcf64], a - jp Function117cdd - -Function117b14: - ld hl, wcf64 - dec [hl] - ret nz - ld hl, Data117cbc - call LoadMenuDataHeader - call Function1cbb - call Function1cfd - jp Function117cdd - -Function117b28: - ld hl, MobileStadiumEntryText - call PrintText - jp Function117cdd - -Function117b31: - ld hl, Data117cc4 - call LoadMenuDataHeader - call Function1cbb - call Function1cfd - hlcoord 16, 8 - ld de, YesNo117ccc - call PlaceString - hlcoord 15, 8 - ld a, "▶" - ld [hl], a - jp Function117cdd - -Function117b4f: - ld a, [hJoyPressed] - cp $2 - jr z, .asm_117ba4 ; 0x117b53 $4f - cp $1 - jr z, .asm_117b8c ; 0x117b57 $33 - cp $80 - jr z, .asm_117b76 ; 0x117b5b $19 - cp $40 - ret nz - ld a, [wcf64] - and a - ret z - dec a - ld [wcf64], a - hlcoord 15, 8 - ld a, "▶" - ld [hl], a - hlcoord 15, 10 - ld a, " " - ld [hl], a - ret -.asm_117b76 - ld a, [wcf64] - and a - ret nz - inc a - ld [wcf64], a - hlcoord 15, 8 - ld a, " " - ld [hl], a - hlcoord 15, 10 - ld a, "▶" - ld [hl], a - ret -.asm_117b8c - call PlayClickSFX - ld a, [wcf64] - and a - jr nz, .asm_117ba4 ; 0x117b93 $f - call Function1c07 - call Function1c07 - callba Function104061 - jp Function117cdd -.asm_117ba4 - call Function1c07 - call Function1c07 - callba Function104061 - ld a, $80 - ld [wcf63], a - ret - -Function117bb6: - call Function117c89 - ld a, $1 - ld [hBGMapMode], a - callba Function118284 - call ClearSprites - ld a, [wc300] - and a - jr z, .asm_117be7 ; 0x117bca $1b - cp $a - jr z, .asm_117be1 ; 0x117bce $11 -.asm_117bd0 - ld a, $2 - ld [wc303], a - callba Function17f555 - ld a, $80 - ld [wcf63], a - ret -.asm_117be1 - ld a, $80 - ld [wcf63], a - ret -.asm_117be7 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, [wcd89] - and $1 - jr nz, .asm_117c16 ; 0x117bf3 $21 - ld a, [wd000] - cp $fe - jr nz, .asm_117c16 ; 0x117bfa $1a - ld a, [wd001] - cp $f - jr nz, .asm_117c16 ; 0x117c01 $13 - ld hl, wdfec - ld de, wcd69 - ld c, $10 -.asm_117c0b - ld a, [de] - inc de - cp [hl] - jr nz, .asm_117c16 ; 0x117c0e $6 - inc hl - dec c - jr nz, .asm_117c0b ; 0x117c12 $f7 - jr .asm_117c20 ; 0x117c14 $a -.asm_117c16 - pop af - ld [rSVBK], a - ld a, $d3 - ld [wc300], a - jr .asm_117bd0 ; 0x117c1e $b0 -.asm_117c20 - pop af - ld [rSVBK], a - callba Function172eb9 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, $7 - call GetSRAMBank - ld hl, DefaultFlypoint - ld de, $b000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - pop af - ld [rSVBK], a - jp Function117cdd - -Function117c4a: - ld hl, Data117cbc - call LoadMenuDataHeader - call Function1cbb - call Function1cfd - callba Function104061 - ld hl, MobileStadiumSuccessText - call PrintText - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, wd000 - ld de, $0008 - ld c, $8 -.asm_117c71 - push hl - ld a, $ff - ld [hli], a - ld a, " " - ld [hl], a - pop hl - add hl, de - dec c - jr nz, .asm_117c71 ; 0x117c7b $f4 - call Function4b6 - pop af - ld [rSVBK], a - ld a, $80 - ld [wcf63], a - ret - -Function117c89: - ld a, $7 - call GetSRAMBank - ld l, $0 - ld h, l - ld de, $b000 - ld bc, $0ffc -.asm_117c97 - push bc - ld a, [de] - inc de - ld c, a - ld b, $0 - add hl, bc - pop bc - dec bc - ld a, b - or c - jr nz, .asm_117c97 ; 0x117ca2 $f3 - ld a, l - ld [wcd83], a - ld a, h - ld [wcd84], a - ld hl, $bfea - ld de, wcd69 - ld bc, $0010 - call CopyBytes - call CloseSRAM - ret - -Data117cbc: ; 0x117cbc - db $40, $0c, $00, $11, $13, $00, $00, $00 - -Data117cc4: ; 0x117cc4 - db $40, $07, $0e, $0b, $13, $00, $00, $00 ; XXX what is this - -YesNo117ccc: ; 0x117ccc - db "はい" - next "いいえ" - db "@" - -MobileStadiumEntryText: ; 0x117cd3 - TX_FAR _MobileStadiumEntryText - db "@" - -MobileStadiumSuccessText: ; 0x117cd8 - TX_FAR _MobileStadiumSuccessText - db "@" - -Function117cdd: ; 0x117cdd - ld hl, wcf63 - inc [hl] - ret - - -SECTION "bank46", ROMX, BANK[$46] - -Function118000: ; 118000 - ld a, $1 - ld [wcd38], a - jr asm_11800b - -Function118007: ; 118007 - xor a - ld [wcd38], a - -asm_11800b - call Function1183cb - ld a, $18 - ld [wcd33], a - ld a, $19 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_118024 - call Functiona57 - call Function118473 - ld a, [wcf66] - cp $1b - jr c, .asm_118037 - ld a, [wcd34] - ld [wcf66], a - -.asm_118037 - call Function1184a5 - call Function11a8fa - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_118024 - pop af - ld [rSVBK], a - call Function118452 - call Function222a -Function11805e: ; 11805e (46:405e) - ret -; 11805f - -Function11805f: ; 11805f - ld a, $1 - ld [wcd38], a - call Function1183cb - ld a, $18 - ld [wcd33], a - ld a, $19 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_11807d - call Functiona57 - call Function118473 - ld a, [wcf66] - cp $1b - jr c, .asm_118090 - ld a, [wcd34] - ld [wcf66], a - -.asm_118090 - call Function11857c - call Function11a8fa - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_11807d - pop af - ld [rSVBK], a - call Function118452 - call Function222a - ret -; 1180b8 - -Function1180b8: ; 1180b8 - call Function1183cb - ld a, $22 - ld [wcd33], a - ld a, $23 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_1180d1 - call Functiona57 - call Function118473 - ld a, [wcf66] - cp $28 - jr c, .asm_1180e4 - ld a, [wcd34] - ld [wcf66], a - -.asm_1180e4 - ld a, [wcf66] - cp $10 - jr c, .asm_1180f2 - cp $16 - jr nc, .asm_1180f2 - call Function11884c - -.asm_1180f2 - call Function1184ec - call Function11a8fa - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_1180d1 - pop af - ld [rSVBK], a - call Function118452 - call Function222a - ret -; 11811a - -Function11811a: ; 11811a - ld a, 1 - ld [wcd38], a - jr Function118125 - -Function118121: ; 118121 - xor a - ld [wcd38], a - -Function118125: ; 118125 - call Function1183cb - ld a, $3 - ld [wcd33], a - ld a, $d - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_11813e - call Functiona57 - call Function118473 - ld a, [wcf66] - cp $f - jr c, .asm_118151 - ld a, [wcd34] - ld [wcf66], a - -.asm_118151 - call Function11854d - call Function11a8fa - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_11813e - xor a - ld [Unkn1Pals], a - pop af - ld [rSVBK], a - call Function118452 - call Function118180 - call Function222a - ret -; 118180 - -Function118180: ; 118180 - ld a, [ScriptVar] - and a - ret nz - ld a, [wcd38] - and a - ret z - ld a, $5 - call GetSRAMBank - ld hl, wcd69 - ld de, $a89c - ld bc, $0016 - call CopyBytes - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld de, $d202 - ld c, $96 - callba Function17d0b3 - jr c, .asm_1181d0 - ld de, $d202 - ld bc, $0196 - callba Function17d1e1 - jr c, .asm_1181d0 - ld hl, $d202 - ld de, $a8b2 - ld bc, $0096 - call CopyBytes -.asm_1181c9 - pop af - ld [rSVBK], a - call CloseSRAM - ret - -.asm_1181d0 - ld a, $d3 - ld [wc300], a - ld [ScriptVar], a - jr .asm_1181c9 -; 1181da - -Function1181da: ; 1181da - call Function1183cb - ld a, $2 - ld [wcd38], a - ld a, $21 - ld [wcd33], a - ld a, $22 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_1181f8 - call Functiona57 - call Function118473 - ld a, [wcf66] - cp $28 - jr c, .asm_11820b - ld a, [wcd34] - ld [wcf66], a - -.asm_11820b - call Function1185c3 - call Function11a8fa - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_1181f8 - pop af - ld [rSVBK], a - call Function118452 - call Function222a - ret -; 118233 - -Function118233: ; 118233 - call Function1183cb - ld a, $1b - ld [wcd33], a - ld a, $1c - ld [wcd34], a - ld a, $6 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_11824c - call Functiona57 - call Function118473 - ld a, [wcf66] - cp $1e - jr c, .asm_11825f - ld a, [wcd34] - ld [wcf66], a - -.asm_11825f - call Function118624 - call Function11a8fa - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_11824c - pop af - ld [rSVBK], a - call Function118452 - ret -; 118284 - -Function118284: ; 118284 - call Function1183cb - ld a, $19 - ld [wcd33], a - ld a, $1e - ld [wcd34], a - ld a, $5 - ld [wc3f0], a - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $3 - ld [rSVBK], a ; $ff00+$70 -.asm_11829d - call Functiona57 - call Function118473 - ld a, [wcf66] - cp $20 - jr c, .asm_1182b0 - ld a, [wcd34] - ld [wcf66], a -.asm_1182b0 - call Function1186f5 - call Function11a8fa - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_11829d - pop af - ld [rSVBK], a ; $ff00+$70 - call Function118452 - ret -; 1182d5 (46:42d5) - - -Function1182d5: ; 1182d5 - call Function1183cb - ld a, $18 - ld [wcd33], a - ld a, $19 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_1182ee - call Functiona57 - call Function118473 - ld a, [wcf66] - cp $1b - jr c, .asm_118301 - ld a, [wcd34] - ld [wcf66], a - -.asm_118301 - call Function118746 - call Function11a8fa - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_1182ee - pop af - ld [rSVBK], a - call Function118452 - call Function222a - ret -; 118329 - -Function118329: ; 118329 - call Function1183cb - ld a, $15 - ld [wcd33], a - ld a, $16 - ld [wcd34], a - ld a, $6 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_118342 - call Functiona57 - call Function118473 - ld a, [wcf66] - cp $18 - jr c, .asm_118355 - ld a, [wcd34] - ld [wcf66], a - -.asm_118355 - call Function118671 - call Function11a8fa - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_118342 - pop af - ld [rSVBK], a - call Function118452 - ret -; 11837a - -Function11837a: ; 11837a - call Function1183cb - ld a, $16 - ld [wcd33], a - ld a, $17 - ld [wcd34], a - ld a, $6 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_118393 - call Functiona57 - call Function118473 - ld a, [wcf66] - cp $19 - jr c, .asm_1183a6 - ld a, [wcd34] - ld [wcf66], a - -.asm_1183a6 - call Function1186b2 - call Function11a8fa - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_118393 - pop af - ld [rSVBK], a - call Function118452 - ret -; 1183cb - -Function1183cb: ; 1183cb - di - ld a, [rIE] - ld [wcd32], a - call DoubleSpeed - xor a - ld [rIF], a - ld [wc300], a - ld [wc301], a - ld [wc302], a - ld [wcd80], a - ld [wcd65], a - ld [wcd66], a - ld [wcd67], a - ld [wcd68], a - ld [wc31a], a - ld [wcd89], a - ld [wcd8a], a - ld [wcd8b], a - ld [wc3ec], a - ld [wc3ed], a - ld [wc3ee], a - ld [wc3ef], a - ld hl, VramState - ld a, [hl] - ld [wcd7f], a - set 1, [hl] - ld a, $f - ld [rIE], a - ld a, $1 - ld [$ffc9], a - ld [$ffe9], a - ei - callba Function106462 - callba Function106464 - callba Function115d99 - callba Function11615a - ld a, $5 - call GetSRAMBank - xor a - ld [$bfff], a - call CloseSRAM - ret -; 118440 - -Function118440: ; 118440 - push af - ld a, $5 - call GetSRAMBank - ld a, [$bfff] - inc a - ld [$bfff], a - call CloseSRAM - pop af - ret -; 118452 - -Function118452: ; 118452 - di - xor a - ld [$ffc9], a - ld [$ffe9], a - ld [hVBlank], a - call NormalSpeed - xor a - ld [rIF], a - ld a, [wcd32] - ld [rIE], a - ei - ld a, [wcd7f] - ld [VramState], a - ld a, [wc300] - ld [ScriptVar], a - ret -; 118473 - -Function118473: ; 118473 - ld a, [wcd65] - and a - ret z - ld a, [wcd66] - inc a - ld [wcd66], a - cp $3c - ret nz - xor a - ld [wcd66], a - ld a, [wcd67] - inc a - ld [wcd67], a - cp $3c - ret nz - ld a, [wcd68] - inc a - ld [wcd68], a - cp $63 - jr z, .asm_1184a0 - xor a - ld [wcd67], a - ret - -.asm_1184a0 - xor a - ld [wcd65], a - ret -; 1184a5 - -Function1184a5: ; 1184a5 - ld a, [wcf66] - ld e, a - ld d, 0 - ld hl, Jumptable_1184b4 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 1184b4 - -Jumptable_1184b4: ; 1184b4 - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118a8f - dw Function11878d - dw Function118d80 - dw Function118d9b - dw Function11878d - dw Function118ded - dw Function118e6d - dw Function11878d - dw Function11984e - dw Function118e76 - dw Function118e7e - dw Function11878d - dw Function11805e - dw Function118e76 - dw Function118e87 - dw Function118e76 -; 1184ec - -Function1184ec: ; 1184ec - ld a, [wcf66] - ld e, a - ld d, 0 - ld hl, Jumptable_1184fb - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 1184fb - -Jumptable_1184fb: ; 1184fb - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function119954 - dw Function11878d - dw Function119973 - dw Function11878d - dw Function119987 - dw Function11878d - dw Function1199b4 - dw Function1199ca - dw Function11878d - dw Function1199e2 - dw Function119b0d - dw Function11878d - dw Function119b6b - dw Function119b3b - dw Function11878d - dw Function119b52 - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw Function11805e - dw Function118e76 - dw Function118e87 - dw Function119b45 - dw Function11878d - dw Function119ac9 - dw Function118e76 -; 11854d - -Function11854d: ; 11854d - ld a, [wcf66] - ld e, a - ld d, 0 - ld hl, Jumptable_11855c - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 11855c - -Jumptable_11855c: ; 11855c - dw Function118922 - dw Function118936 - dw Function118982 - dw Function11805e - dw Function119ca2 - dw Function119cab - dw Function119cb8 - dw Function119cc3 - dw Function119cdf - dw Function119cec - dw Function119c97 - dw Function119cab - dw Function119cb8 - dw Function118e76 - dw Function118e87 - dw Function118e76 -; 11857c - -Function11857c: ; 11857c - ld a, [wcf66] - ld e, a - ld d, 0 - ld hl, Jumptable_11858b - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 11858b - -Jumptable_11858b: ; 11858b - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118a7a - dw Function11878d - dw Function11891c - dw Function1198ee - dw Function1198f7 - dw Function11878d - dw Function119937 - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw Function11805e - dw Function118e76 - dw Function118e87 - dw Function118e76 -; 1185c3 - -Function1185c3: ; 1185c3 - ld a, [wcf66] - ld e, a - ld d, 0 - ld hl, Jumptable_1185d2 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 1185d2 - -Jumptable_1185d2: ; 1185d2 - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118aa4 - dw Function11878d - dw Function118e92 - dw Function11878d - dw Function118eb0 - dw Function118ec6 - dw Function118f0d - dw Function118f14 - dw Function118f5e - dw Function11878d - dw Function118fc0 - dw Function11878d - dw Function119054 - dw Function1190d0 - dw Function11878d - dw Function1190ec - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw Function11805e - dw Function118e76 - dw Function118e87 - dw Function119cc3 - dw Function119cdf - dw Function119cec - dw Function11914e - dw Function118e76 -; 118624 - -Function118624: ; 118624 - ld a, [wcf66] - ld e, a - ld d, 0 - ld hl, Jumptable_118633 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 118633 - -Jumptable_118633: ; 118633 - dw Function118866 - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118aa4 - dw Function11878d - dw Function118e92 - dw Function11878d - dw Function11915d - dw Function118f68 - dw Function11878d - dw Function119009 - dw Function11878d - dw Function119054 - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw Function11805e - dw Function118e76 - dw Function118e87 - dw Function118e76 -; 118671 - -Function118671: ; 118671 - ld a, [wcf66] - ld e, a - ld d, 0 - ld hl, Jumptable_118680 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 118680 - -Jumptable_118680: ; 118680 - dw Function118866 - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function119380 - dw Function119388 - dw Function1193a0 - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw Function11805e - dw Function118e76 - dw Function118e87 - dw Function118e76 -; 1186b2 - -Function1186b2: ; 1186b2 - ld a, [wcf66] - ld e, a - ld d, 0 - ld hl, Jumptable_1186c1 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 1186c1 - -Jumptable_1186c1: ; 1186c1 - dw Function118866 - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function119380 - dw Function1193e3 - dw Function1193fb - dw Function11878d - dw Function119413 - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw Function11805e - dw Function118e76 - dw Function118e87 - dw Function118e76 -; 1186f5 - -Function1186f5: ; 1186f5 (46:46f5) - ld a, [wcf66] - ld e, a - ld d, 0 - ld hl, Jumptable_118704 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 118704 (46:4704) - -Jumptable_118704: ; 118704 (46:4704) - dw Function11886a - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118abc - dw Function11878d - dw Function119451 - dw Function1195f8 - dw Function119612 - dw Function119629 - dw Function119648 - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw Function11805e - dw Function11967d - dw Function119685 - dw Function119665 - dw Function11966d - dw Function118e76 - dw Function118e87 - dw Function118e76 -; 118746 (46:4746) - -Function118746: ; 118746 - ld a, [wcf66] - ld e, a - ld d, 0 - ld hl, Jumptable_118755 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 118755 - -Jumptable_118755: ; 118755 - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118ad0 - dw Function11878d - dw Function1196f2 - dw Function1197c9 - dw Function1197dc - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function119800 - dw Function118e76 - dw Function118e7e - dw Function11878d - dw Function11805e - dw Function118e76 - dw Function118e87 - dw Function118e76 -; 11878d - -Function11878d: ; 11878d (46:478d) - ld a, [wc821] - bit 1, a - jr nz, .asm_1187af - bit 2, a - jr nz, .asm_1187d1 - bit 0, a - jr nz, .asm_1187aa - ld a, [wcd89] - and $1 - jr z, .asm_1187a7 - ld a, $3 - ld [rSVBK], a ; $ff00+$70 -.asm_1187a7 - jp Function119e2e -.asm_1187aa - call Function118821 - ret c - ret -.asm_1187af - ld a, $0 - call Function3e32 - ld [wc300], a - ld a, l - ld [wc301], a - ld a, h - ld [wc302], a - ld a, $a - call Function3e32 - ld a, [wc3f0] - ld [wc319], a - ld a, [wcd34] - ld [wcf66], a - ret -.asm_1187d1 - ld hl, wcd89 - bit 0, [hl] - jr nz, .asm_118803 - set 0, [hl] - ld a, $6 - ld [rSVBK], a ; $ff00+$70 - ld de, Unkn1Pals - ld bc, $1000 - ld a, [hl] - sla a - jr c, .asm_1187f9 - sla a - jr c, .asm_1187fd - sla a - jr c, .asm_1187f5 - ld a, $24 - jr .asm_1187ff -.asm_1187f5 - ld a, $28 - jr .asm_1187ff -.asm_1187f9 - ld a, $2a - jr .asm_1187ff -.asm_1187fd - ld a, $2c -.asm_1187ff - call Function3e32 - ret -.asm_118803 - ld a, $d3 - -Function118805: ; 118805 (46:4805) - ld [wc300], a - xor a - ld [wc301], a - ld [wc302], a - ld a, $a - call Function3e32 - ld a, [wc3f0] - ld [wc319], a - ld a, [wcd34] - ld [wcf66], a - ret - -Function118821: ; 118821 (46:4821) - ld a, [wc319] - cp $3 - jr c, .asm_11884a - cp $4 - jr z, .asm_11884a - ld a, [hJoyDown] ; $ff00+$a8 - cp $5 - jr nz, .asm_11884a - ld a, $a - call Function3e32 - ld a, $a - ld [wc300], a - ld a, [wc3f0] - ld [wc319], a - ld a, [wcd34] - ld [wcf66], a - scf - ret -.asm_11884a - and a - ret -; 11884c (46:484c) - -Function11884c: ; 11884c - ld a, [hJoyDown] - cp $5 - jr nz, .asm_118864 - ld a, $a - call Function3e32 - ld a, $a - ld [wc300], a - ld a, [wcd34] - ld [wcf66], a - scf - ret - -.asm_118864 - and a - ret -; 118866 - -Function118866: - ld a, 2 - jr asm_11886f - -Function11886a: ; 11886a (46:486a) - ld a, 1 - jr asm_11886f -; 11886e (46:486e) - -Function11886e: - xor a - -asm_11886f - ld [BGMapPalBuffer], a - ld a, $0 - ld [wcd3c], a - call Function119e2e - ld a, [wcd33] - ld [wcd45], a - -Function118880: ; 118880 (46:4880) - call Function119ed8 - ret c - xor a - ld [wcf64], a - ld [wc807], a - ld de, wcd81 - ld hl, $46 - ld a, $2 - jp Function119e2b -; 118896 (46:4896) - -Function118896: ; 118896 - ld a, [wc821] - bit 1, a - jr nz, .asm_1188a5 - bit 2, a - jr nz, .asm_1188a5 - bit 0, a - jr z, .asm_1188aa - -.asm_1188a5 - ld a, $34 - jp Function119e2b - -.asm_1188aa - call Function119e2e - jp Function119e2e -; 1188b0 - -Function1188b0: ; 1188b0 (46:48b0) - ld de, wc346 - ld a, $c - jp Function119e2b - -Function1188b8: ; 1188b8 (46:48b8) - ld de, wc3ac - ld a, $e - jp Function119e2b - -Function1188c0: ; 1188c0 (46:48c0) - ld de, wc3cd - ld a, $10 - jp Function119e2b - -Function1188c8: ; 1188c8 (46:48c8) - ld a, $1 - ld [wcd65], a - call Function1188e7 - ld hl, wc708 -.asm_1188d3 - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .asm_1188d3 - call Function119eb4 - call Function119ec2 - ld hl, wc708 - ld a, $6 - jp Function119e2b - -Function1188e7: ; 1188e7 (46:48e7) - ld de, wc346 - ld a, $5 - call GetSRAMBank - ld a, [$aa4a] - call CloseSRAM - and a - ret z - sla a - ld c, a -.asm_1188fa - ld a, [de] - inc de - and a - jr nz, .asm_1188fa - dec c - jr nz, .asm_1188fa - ret - -Function118903: ; 118903 (46:4903) - ld a, [wc3f0] - ld [wc319], a - ld c, $1 - callba Function115e18 - ld a, $8 - ld [wcd3c], a - call Function119ed8 - jp Function119e2e -; 11891c (46:491c) - -Function11891c: ; 11891c - call Function118b42 - jp Function119e2e -; 118922 - -Function118922: ; 118922 - ld a, [wcd38] - and a - jr nz, .asm_11892d - ld hl, UnknownText_0x11aba5 - jr .asm_118930 - -.asm_11892d - ld hl, UnknownText_0x11abcb - -.asm_118930 - call Function11a9c0 - call Function119e2e - -Function118936: - ld a, [wc31a] - and a - ret nz - ld hl, MenuDataHeader_119cf7 - call LoadMenuDataHeader - call Function1cbb - call Function1cfd - call Function321c - hlcoord 16, 8, AttrMap - ld a, $40 - or [hl] - ld [hl], a - call Function3200 - ld a, $1 - ld [wcd4f], a - ld a, $1 - ld [rSVBK], a - ld a, [StatusFlags] - bit 6, a - jr nz, .asm_11896b - ld hl, Strings_119d64 - ld a, $5 - jr .asm_118970 - -.asm_11896b - ld hl, Strings_119d0c - ld a, $b - -.asm_118970 - ld [wcd4a], a - ld a, l - ld [wcd4b], a - ld a, h - ld [wcd4c], a - ld a, $3 - ld [rSVBK], a - call Function119e2e - -Function118982: - hlcoord 13, 8 - ld de, String_119d07 - call PlaceString - hlcoord 13, 10 - ld de, String_119d07 - call PlaceString - ld a, [wcd4b] - ld l, a - ld a, [wcd4c] - ld h, a - ld d, $0 - ld a, [wcd4f] - dec a - rlca - rlca - rlca - ld e, a - add hl, de - ld a, l - ld e, a - ld a, h - ld d, a - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld bc, StringBuffer3 -.asm_1189b5 - ld a, [hli] - cp $50 - jr z, .asm_1189c4 - cp $7f - jr z, .asm_1189c2 - ld [bc], a - inc bc - jr .asm_1189b5 - -.asm_1189c2 - ld a, $50 - -.asm_1189c4 - ld [bc], a - pop af - ld [rSVBK], a - hlcoord 13, 9 - call PlaceString - ld hl, hJoyPressed - ld a, [hl] - and $2 - jr nz, .asm_118a39 - ld a, [hl] - and $1 - jr nz, .asm_118a01 - ld a, [hl] - and $80 - jr nz, .asm_1189e6 - ld a, [hl] - and $40 - jr nz, .asm_1189f2 -.asm_1189e5 - ret - -.asm_1189e6 - ld hl, wcd4f - dec [hl] - jr nz, .asm_1189e5 - ld a, [wcd4a] - ld [hl], a - jr .asm_1189e5 - -.asm_1189f2 - ld a, [wcd4a] - ld hl, wcd4f - inc [hl] - cp [hl] - jr nc, .asm_1189e5 - ld a, $1 - ld [hl], a - jr .asm_1189e5 - -.asm_118a01 - call PlayClickSFX - ld a, [wcd4f] - ld hl, wcd4a - cp [hl] - jr z, .asm_118a3c - dec a - and $fe - srl a - ld [wcf65], a - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - call Function1c17 - pop af - ld [rSVBK], a - ld a, [wcd38] - and a - jr nz, .asm_118a30 - call Function119d93 - ret c - call Function119dd1 - ret c - -.asm_118a30 - ld a, [wcd4f] - ld [wd000 + $800], a - jp Function119e2e - -.asm_118a39 - call PlayClickSFX - -.asm_118a3c - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - call Function1c17 - pop af - ld [rSVBK], a - ld a, $7 - ld [wcf66], a - ld a, $0 - ld [wcd46], a - ret -; 118a54 - -Function118a54: ; 118a54 - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, wc3ec - ld bc, $0004 - jp Function118ae4 -; 118a65 - -Function118a65: ; 118a65 - ld hl, BattleDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, Unkn1Pals - ld bc, $1000 - jp Function118b10 -; 118a7a - -Function118a7a: ; 118a7a - ld hl, BattleDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, Unkn1Pals - ld bc, $1000 - jp Function118b10 -; 118a8f - -Function118a8f: ; 118a8f - ld hl, ExchangeDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, Unkn1Pals - ld bc, $1000 - jp Function118b10 -; 118aa4 - -Function118aa4: ; 118aa4 - ld hl, NewsDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld a, $5 - ld [rSVBK], a - ld de, LYOverrides - ld bc, $e00 - jr Function118b10 -; 118abc - -Function118abc: ; 118abc (46:4abc) - ld hl, MenuDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, Unkn1Pals - ld bc, $1000 - jr Function118b10 -; 118ad0 (46:4ad0) - -Function118ad0: - ld hl, IndexDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, Unkn1Pals - ld bc, $1000 - jr Function118b10 - -Function118ae4: - push bc - push de - push hl - ld a, $8 - ld [wcd3c], a - call Function119ed8 - pop hl - ld c, $0 - ld de, wcc60 -.asm_118af5 - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_118b06 - inc c - ld a, c - cp $a6 - jr c, .asm_118af5 - ld a, $da - jp Function118805 - -.asm_118b06 - call Function118b24 - pop de - pop bc - ld a, $2a - jp Function119e2b -; 118b10 - -Function118b10: - push de - push bc - ld a, $8 - ld [wcd3c], a - call Function119ed8 - call Function118b24 - pop bc - pop de - ld a, $2a - jp Function119e2b - -Function118b24: ; 118b24 (46:4b24) - ld hl, wc346 - ld a, $8 - ld [hli], a - ld a, $c7 - ld [hli], a - ld a, $60 - ld [hli], a - ld a, $cc - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $80 - ld [wcd89], a - ld hl, wc346 - ret -; 118b42 (46:4b42) - -Function118b42: ; 118b42 - ld hl, DefaultFlypoint - ld a, l - ld [wcd51], a - ld a, h - ld [wcd52], a - call Function118b8c - ld a, l - ld [wcd55], a - ld [wcd59], a - ld a, h - ld [wcd56], a - ld [wcd5a], a - call Function118b8c - ld a, l - ld [wcd53], a - ld [wcd5d], a - ld a, h - ld [wcd54], a - ld [wcd5e], a - call Function118b8c - ld a, l - ld [wcd57], a - ld [wcd5b], a - ld a, h - ld [wcd58], a - ld [wcd5c], a - call Function118b8c - ld a, l - ld [wcd5f], a - ld a, h - ld [wcd60], a - ret -; 118b8c - -Function118b8c: ; 118b8c -.asm_118b8c - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_118b8c - dec hl - xor a - ld [hli], a - ld [hli], a - ret -; 118b9a - -Function118b9a: ; 118b9a - ld a, h - cp $e0 - ret c - ld a, $d3 - call Function118805 - and a - ret -; 118ba5 - - - charmap " ", $20 ; revert to ascii - -ExchangeDownloadURL: ; 0x118ba5 - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0 - -BattleDownloadURL: ; 0x118bf7 - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/battle/index.txt", 0 - -NewsDownloadURL: ; 0x118c47 - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/news/index.txt", 0 - -MenuDownloadURL: ; 0x118c95 - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/POKESTA/menu.cgb", 0 - -IndexDownloadURL: ; 0x118ce5 - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0 - - -Function118d35: ; 118d35 - ld hl, LYOverridesBackup - ld a, [wcd38] - and a - jr nz, .asm_118d6e - ld a, [hli] - cp $94 - jr nz, .asm_118d7b - ld a, [hl] - cp $5 - jr nz, .asm_118d7b - ld a, [wcd4f] - sla a - ld b, a - sla a - sla a - add b - ld b, a - ld a, $5 - call GetSRAMBank - ld a, b - ld [$b2fb], a - call CloseSRAM - callba Function170be4 - callba Function1700c4 - jr .asm_118d78 - -.asm_118d6e - ld a, [hli] - cp $96 - jr nz, .asm_118d7b - ld a, [hl] - cp $0 - jr nz, .asm_118d7b - -.asm_118d78 - jp Function119e2e - -.asm_118d7b - ld a, $d3 - jp Function118805 -; 118d80 - -Function118d80: ; 118d80 - call Function118e06 - ld a, [wcd38] - and a - jr z, .asm_118d8e - call Function119e2e - jr asm_118d9f - -.asm_118d8e - ld a, $9 - ld [wcd3c], a - ld a, $12 - ld [wcd45], a - call Function119e2e - -Function118d9b: - call Function119ed8 - ret c - -asm_118d9f - ld hl, $c608 - call Function119940 - ld a, [wcd38] - and a - jr nz, .asm_118db2 - ld a, $8f - ld [wcd3b], a - jr .asm_118db7 - -.asm_118db2 - ld a, $26 - ld [wcd3b], a - -.asm_118db7 - ld hl, $d800 - ld a, $8 - ld [hli], a - ld a, $c6 - ld [hli], a - ld a, [wcd3b] - ld [hli], a - xor a - ld [hli], a - ld a, $8 - ld [hli], a - ld a, $c7 - ld [hli], a - ld a, [wcd39] - ld [hli], a - ld a, [wcd3a] - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, $d800 - ld de, $de00 - ld bc, $0200 - ld a, $2c - jp Function119e2b -; 118ded - -Function118ded: ; 118ded - ld a, [wcd38] - and a - jr z, .asm_118e03 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba Function11b93b - pop af - ld [rSVBK], a - -.asm_118e03 - jp Function119e2e -; 118e06 - -Function118e06: ; 118e06 - ld hl, DefaultFlypoint - ld a, [wcd38] - and a - jr z, .asm_118e1d -.asm_118e0f - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_118e0f - ld a, [hli] - cp $a - jr nz, .asm_118e0f - -.asm_118e1d - ld a, l - ld [wcd39], a - ld a, h - ld [wcd3a], a -.asm_118e25 - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_118e25 - ld a, [hli] - cp $a - jr nz, .asm_118e25 - dec hl - xor a - ld [hld], a - ld [hl], a - jr asm_118e3e - -Function118e39: ; 118e39 (46:4e39) -.asm_118e39 - ld a, [hli] - and a - jr nz, .asm_118e39 - dec hl -asm_118e3e -.asm_118e3e - ld a, [hld] - cp $2f - jr nz, .asm_118e3e - inc hl - inc hl - ld de, wcd85 - ld c, $4 -.asm_118e4a - ld a, [hli] - cp $2e - jr z, .asm_118e63 - cp $30 - jr c, .asm_118e67 - cp $3a - jr nc, .asm_118e67 - sub $30 - add $f6 - ld [de], a - inc de - dec c - jr nz, .asm_118e4a - ld de, wcd85 -.asm_118e63 - ld a, $50 - ld [de], a - ret -.asm_118e67 - ld a, $f3 - ld [de], a - inc de - jr .asm_118e63 - -Function118e6d: ; 118e6d (46:4e6d) - xor a - ld [wcd65], a - ld a, $a - jp Function119e2b - -Function118e76: ; 118e76 (46:4e76) - ld a, $c - ld [wcd3c], a - jp Function119e2e - -Function118e7e: ; 118e7e (46:4e7e) - call Function119ed8 - ret c - ld a, $36 - jp Function119e2b - -Function118e87: ; 118e87 (46:4e87) - call Function119ed8 - ret c - ld a, [wcd33] - ld [wcf66], a - ret -; 118e92 (46:4e92) - -Function118e92: ; 118e92 - call Function118440 - call Function1191d3 - ld a, [wcd53] - ld l, a - ld a, [wcd54] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld de, $d800 - ld bc, $0800 - jp Function118b10 -; 118eb0 - -Function118eb0: ; 118eb0 - call Function118440 - ld hl, $d802 - ld de, BGMapBuffer - ld bc, $000c - call CopyBytes - call Function1192cc - ret c - jp Function119e2e -; 118ec6 - -Function118ec6: ; 118ec6 - call Function118440 - call SpeechTextBox - ld hl, $d80e - ld de, wc320 - ld bc, $0026 - call CopyBytes - xor a - ld [wc31f], a - ld a, $20 - ld [wc31b], a - ld a, $c3 - ld [wc31c], a - hlcoord 1, 14 - ld a, l - ld [wc31d], a - ld a, h - ld [wc31e], a - ld a, $2 - ld [wc31a], a - ld a, $1d - ld [wcd3c], a - ld a, $24 - ld [wcd45], a - ld a, $11 - ld [wcd46], a - ld a, $1c - ld [wcd47], a - jp Function119e2e -; 118f0d - -Function118f0d: ; 118f0d - call Function119ed8 - ret c - call Function118440 - -Function118f14: - call Function118440 - ld a, [wcd51] - ld l, a - ld a, [wcd52] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .asm_118f32 - ld hl, UnknownText_0x11aa13 - call Function11a9c0 - -.asm_118f32 - ld a, [wcd57] - ld l, a - ld a, [wcd58] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld hl, wcc60 - call Function118e39 - ld a, $9 - ld [wcd3c], a - ld a, $24 - ld [wcd45], a - ld a, $13 - ld [wcd46], a - ld a, $1c - ld [wcd47], a - jp Function119e2e -; 118f5e - -Function118f5e: ; 118f5e - call Function119ed8 - ret c - call Function118440 - call DelayFrame - -Function118f68: - call Function119223 - ret c - call Function118440 - ld a, [wcd51] - ld l, a - ld a, [wcd52] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .asm_118fba - ld hl, wc346 - ld a, $c608 % $100 - ld [hli], a - ld a, $c608 / $100 - ld [hli], a - ld a, [wcd4b] - ld [hli], a - ld a, [wcd4c] - ld [hli], a - ld a, wc708 % $100 - ld [hli], a - ld a, wc708 / $100 - ld [hli], a - ld a, $60 - ld [hli], a - ld a, $cc - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, wc346 - ld de, $de00 - ld bc, $0200 - ld a, $2c - jp Function119e2b - -.asm_118fba - call Function119e2e - jp Function119e2e -; 118fc0 - -Function118fc0: ; 118fc0 - call Function118440 - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .asm_118ffa - ld a, [wcd51] - ld l, a - ld a, [wcd52] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .asm_118ff2 - ld hl, UnknownText_0x11aa2c - jr .asm_118ff5 - -.asm_118ff2 - ld hl, UnknownText_0x11aa4b - -.asm_118ff5 - call Function11a9c0 - jr Function119009 - -.asm_118ffa - ld hl, UnknownText_0x11aa4b - call Function11a9c0 - call Function119e2e - call Function119e2e - jp Function119e2e - -Function119009: - call Function118440 - call Function119300 - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld hl, wc346 - ld a, $8 - ld [hli], a - ld a, $c6 - ld [hli], a - ld a, [wcd4b] - ld [hli], a - ld a, [wcd4c] - ld [hli], a - ld a, $8 - ld [hli], a - ld a, $c7 - ld [hli], a - ld a, $60 - ld [hli], a - ld a, $cc - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, wc346 - ld de, Unkn1Pals - ld bc, $1000 - ld a, $2c - jp Function119e2b -; 119054 - -Function119054: ; 119054 - ld a, $6 - call GetSRAMBank - ld hl, DefaultFlypoint - ld a, [wcd4f] - ld e, a - ld a, [wcd50] - ld d, a - ld a, [Unkn1Pals] - ld c, a - ld a, [wd001] - ld b, a - call Function119192 - ret c - ld a, [wcd89] - and $1 - jr z, .asm_11908a - ld a, $6 - ld [rSVBK], a - ld hl, DefaultFlypoint - ld a, [Unkn1Pals] - ld c, a - ld a, [wd001] - ld b, a - call Function119192 - ret c - -.asm_11908a - call CloseSRAM - ld a, $3 - ld [rSVBK], a - ld a, $5 - call GetSRAMBank - ld a, [wcd4f] - ld [$b1b3], a - ld a, [wcd50] - ld [$b1b4], a - ld hl, BGMapBuffer - ld de, $aa7f - ld bc, $000c - call CopyBytes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [wd474] - ld [$b2f3], a - ld hl, wd475 - ld de, $b2f4 - ld bc, $0004 - call CopyBytes - pop af - ld [rSVBK], a - call CloseSRAM - jp Function119e2e -; 1190d0 - -Function1190d0: ; 1190d0 - ld a, $3 - ld [rSVBK], a - ld a, [wcd57] - ld l, a - ld a, [wcd58] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld de, Unkn1Pals - ld bc, $1000 - jp Function118b10 -; 1190ec - -Function1190ec: ; 1190ec - ld a, $5 - call GetSRAMBank - ld hl, BGMapBuffer - ld de, $aa73 - ld bc, $000c - call CopyBytes - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$aa72], a - call CloseSRAM - ld a, $6 - call GetSRAMBank - ld a, [Unkn1Pals] - ld c, a - ld a, [wd001] - ld b, a - ld hl, DefaultFlypoint - ld de, $a000 - call Function119192 - ret c - ld a, [wcd89] - and $1 - jr z, .asm_11913e - ld a, $6 - ld [rSVBK], a - ld a, [Unkn1Pals] - ld c, a - ld a, [wd001] - ld b, a - ld hl, DefaultFlypoint - call Function119192 - ret c - -.asm_11913e - ld a, $3 - ld [rSVBK], a - call CloseSRAM - ld hl, UnknownText_0x11aa5a - call Function11a9c0 - jp Function119e2e -; 11914e - -Function11914e: ; 11914e - call Function119ed8 - ret c - ld a, $1c - ld [wcf66], a - ld a, $a - ld [wc300], a - ret -; 11915d - -Function11915d: ; 11915d - ld hl, $d802 - ld de, BGMapBuffer - ld bc, $000c - call CopyBytes - ld a, $5 - call GetSRAMBank - ld hl, BGMapBuffer - ld de, $aa7f - ld c, $c -.asm_119176 - ld a, [de] - inc de - cp [hl] - jr nz, .asm_119184 - inc hl - dec c - jr nz, .asm_119176 - call Function119e2e - jr .asm_11918e - -.asm_119184 - ld a, $16 - ld [wcf66], a - ld a, $b - ld [wc300], a - -.asm_11918e - call CloseSRAM - ret -; 119192 - -Function119192: ; 119192 - inc b - inc c - jr .asm_11919e - -.asm_119196 - ld a, [hli] - ld [de], a - inc de - ld a, $bf - cp d - jr c, .asm_1191a6 - -.asm_11919e - dec c - jr nz, .asm_119196 - dec b - jr nz, .asm_119196 - and a - ret - -.asm_1191a6 - ld a, $d3 - call Function118805 - scf - ret -; 1191ad - -Function1191ad: ; 1191ad - push bc - ld c, $0 - ld a, $5 - ld [rSVBK], a -.asm_1191b4 - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_1191cc - inc c - ld a, c - cp $a6 - jr c, .asm_1191b4 - ld a, $da - call Function118805 - ld a, $3 - ld [rSVBK], a - pop bc - scf - ret - -.asm_1191cc - ld a, $3 - ld [rSVBK], a - pop bc - and a - ret -; 1191d3 - -Function1191d3: ; 1191d3 - ld hl, wd102 - ld a, l - ld [wcd53], a - ld a, h - ld [wcd54], a - call Function11920f - ld a, l - ld [wcd51], a - ld a, [wcd4a] - ld a, h - ld [wcd52], a - call Function11920f - ld a, l - ld [wcd55], a - ld a, [wcd4a] - ld a, h - ld [wcd56], a - call Function11920f - ld a, [wcd49] - ld a, l - ld [wcd57], a - ld a, [wcd4a] - ld a, h - ld [wcd58], a - call Function11920f - ret -; 11920f - -Function11920f: ; 11920f -.asm_11920f - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_11920f - ld a, [hli] - cp $a - jr nz, .asm_11920f - dec hl - xor a - ld [hld], a - ld [hli], a - inc hl - ret -; 119223 - -Function119223: ; 119223 - xor a - ld [wcd4b], a - ld [wcd4c], a - ld a, $5 - call GetSRAMBank - ld hl, wc3cd - ld de, $b092 - ld bc, $001f - call CopyBytes - dec de - xor a - ld [de], a - ld hl, $d810 -.asm_119241 - ld a, [hli] - cp $50 - jr nz, .asm_119241 - ld a, [hli] - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [$b1b1], a - ld c, a - ld a, [hli] - ld [$b1b2], a - ld b, a - ld de, $b1d3 - call CopyBytes - call CloseSRAM - ld e, l - ld d, h - ld hl, $c608 -.asm_119266 - ld a, [de] - inc de - cp $ff - jr z, .asm_1192c2 - cp $fe - jr z, .asm_1192a5 - call GetSRAMBank - ld a, [de] - inc de - ld c, a - ld a, [de] - inc de - ld b, a - ld a, [de] - inc de - push de - push af - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld d, a - pop af -.asm_119286 - push af - ld a, [bc] - inc bc - ld [hli], a - inc de - pop af - dec a - jr nz, .asm_119286 - call CloseSRAM - ld a, e - ld [wcd4b], a - ld a, d - ld [wcd4c], a - pop de -.asm_11929b - and a - jr z, .asm_119266 - ld a, $d3 - call Function118805 - scf - ret - -.asm_1192a5 - ld a, [wcd4b] - ld c, a - ld a, [wcd4c] - ld b, a - ld a, [de] - inc de -.asm_1192af - push af - ld a, [de] - inc de - ld [hli], a - inc bc - pop af - dec a - jr nz, .asm_1192af - ld a, c - ld [wcd4b], a - ld a, b - ld [wcd4c], a - jr .asm_11929b - -.asm_1192c2 - ld a, e - ld [wcd4d], a - ld a, d - ld [wcd4e], a - and a - ret -; 1192cc - -Function1192cc: ; 1192cc - ld a, $5 - call GetSRAMBank - ld hl, $aa73 - ld de, $c608 - ld bc, $000c - call CopyBytes - call CloseSRAM - ld hl, $c608 - ld de, BGMapBuffer - ld c, $c -.asm_1192e8 - ld a, [de] - inc de - ld b, a - ld a, [hli] - cp b - jr nz, .asm_1192fe - dec c - jr nz, .asm_1192e8 - ld a, $1f - ld [wcd3c], a - ld a, $27 - ld [wcf66], a - scf - ret - -.asm_1192fe - and a - ret -; 119300 - -Function119300: ; 119300 - xor a - ld [wcd4b], a - ld [wcd4c], a - ld a, [wcd4d] - ld e, a - ld a, [wcd4e] - ld d, a - ld hl, $c608 - ld a, [wcd4b] - ld c, a - ld a, [wcd4c] - ld b, a -.asm_11931a - ld a, [de] - inc de - cp $50 - jr z, .asm_119324 - ld [hli], a - inc bc - jr .asm_11931a - -.asm_119324 - ld a, $3d - ld [hli], a - inc bc - ld a, c - ld [wcd4b], a - ld a, b - ld [wcd4c], a - ld a, [de] - inc de - call GetSRAMBank - ld a, [de] - inc de - ld c, a - ld a, [de] - inc de - ld b, a - ld a, [de] - inc de - push de - push af - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld d, a - pop af -.asm_119348 - push af - ld a, [bc] - and $f0 - swap a - call Function1197bf - ld [hli], a - inc de - ld a, [bc] - inc bc - and $f - call Function1197bf - ld [hli], a - inc de - pop af - dec a - jr nz, .asm_119348 - call CloseSRAM - ld a, e - ld [wcd4b], a - ld a, d - ld [wcd4c], a - pop de - ld a, [de] - cp $50 - jr z, .asm_11937f - ld a, [wcd4b] - ld c, a - ld a, [wcd4c] - ld b, a - ld a, $26 - ld [hli], a - inc bc - jr .asm_11931a - -.asm_11937f - ret -; 119380 - -Function119380: ; 119380 - ld a, $80 - ld [wcd49], a - jp Function119e2e -; 119388 - -Function119388: ; 119388 - ld hl, wcd49 - dec [hl] - ret nz - ld hl, wcc60 - call Function118e39 - ld a, $9 - ld [wcd3c], a - ld a, $10 - ld [wcd45], a - call Function119e2e - -Function1193a0: - call Function119ed8 - ret c - call DelayFrame - ld a, $8 - ld [wcd3c], a - call Function119ed8 - ld hl, wc346 - ld a, wd000 % $100 - ld [hli], a - ld a, wd000 / $100 - ld [hli], a - ld a, [wcd3b] - ld [hli], a - xor a - ld [hli], a - ld a, wc708 % $100 - ld [hli], a - ld a, wc708 / $100 - ld [hli], a - ld a, $60 - ld [hli], a - ld a, $cc - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, wc346 - ld de, $de00 - ld bc, $0200 - ld a, $2c - jp Function119e2b -; 1193e3 - -Function1193e3: ; 1193e3 - ld hl, wcd49 - dec [hl] - ret nz - ld hl, wcc60 - call Function118e39 - ld a, $9 - ld [wcd3c], a - ld a, $11 - ld [wcd45], a - call Function119e2e - -Function1193fb: - call Function119ed8 - ret c - call DelayFrame - ld a, $8 - ld [wcd3c], a - call Function119ed8 - ld de, Unkn1Pals - ld bc, $1000 - jp Function118b10 -; 119413 - -Function119413: ; 119413 - ld a, $6 - call GetSRAMBank - ld a, [Unkn1Pals] - ld c, a - ld a, [wd001] - ld b, a - dec bc - dec bc - ld hl, wd002 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - call Function119192 - ret c - ld a, [wcd89] - and $1 - jr z, .asm_119447 - ld a, $6 - ld [rSVBK], a - ld a, [wd000] - ld c, a - ld a, [wd001] - ld b, a - ld hl, wd002 - call Function119192 - ret c - -.asm_119447 - ld a, $3 - ld [rSVBK], a - call CloseSRAM - jp Function119e2e -; 119451 - -Function119451: ; 119451 (46:5451) - ld a, [wcd89] - and $1 - jr z, .asm_11945d - ld a, $d3 - jp Function118805 -.asm_11945d - xor a - ld [wcd50], a - call Function119694 - ld a, b - ld [wcd49], a - call Function1196cd - ld a, [DefaultFlypoint] - ld hl, wd003 - -Function119471: ; 119471 (46:5471) - push af - ld a, [hli] - ld [$c608], a - ld a, [hli] - ld [$c608 + 3], a - ld a, [hli] - ld [$c608 + 1], a - ld a, [hli] - ld [$c608 + 2], a - ld a, [hli] - ld [$c608 + 4], a - ld a, [hli] - ld [$c608 + 5], a ; $c608 + 5 - push hl - ld a, [$c608] - cp $ff - jr z, .asm_1194a7 - ld a, [$c608 + 2] - cp $ff - jr z, .asm_1194a7 - ld a, [$c608 + 1] - cp $ff - jr nz, .asm_1194a7 - call Function119584 - jr c, .asm_11950c - jr .asm_1194f0 -.asm_1194a7 - ld hl, $c608 - ld de, $c608 + 3 - ld c, $3 -.asm_1194af - ld a, [de] - inc de - cp [hl] - inc hl - jr c, .asm_1194f3 - jr z, .asm_1194b9 - jr nc, .asm_1194bc -.asm_1194b9 - dec c - jr nz, .asm_1194af -.asm_1194bc - ld c, $3 - ld hl, wcd49 - ld de, $c608 -.asm_1194c4 - ld a, [de] - inc de - cp $ff - jr z, .asm_1194d1 - cp [hl] - jr z, .asm_1194d1 - jr c, .asm_1194d5 - jr nc, .asm_1194f0 -.asm_1194d1 - inc hl - dec c - jr nz, .asm_1194c4 -.asm_1194d5 - ld c, $3 - ld hl, wcd49 - ld de, $c608 + 3 -.asm_1194dd - ld a, [de] - inc de - cp $ff - jr z, .asm_1194ea - cp [hl] - jr c, .asm_1194f0 - jr z, .asm_1194ea - jr nc, .asm_11950c -.asm_1194ea - inc hl - dec c - jr nz, .asm_1194dd - jr .asm_11950c -.asm_1194f0 - pop hl - jr .asm_119557 -.asm_1194f3 - ld c, $3 - ld hl, wcd49 - ld de, $c608 -.asm_1194fb - ld a, [de] - inc de - cp $ff - jr z, .asm_119508 - cp [hl] - jr c, .asm_11950c - jr z, .asm_119508 - jr nc, .asm_1194d5 -.asm_119508 - inc hl - dec c - jr nz, .asm_1194fb -.asm_11950c - pop hl - ld a, $1 - ld [wcd50], a - ld a, l - ld [$c608], a - ld a, h - ld [$c608 + 1], a - ld de, wcd69 - ld c, $10 - ld b, $0 -.asm_119521 - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_119528 - inc b -.asm_119528 - dec c - jr nz, .asm_119521 - ld a, $10 - cp b - jr z, .asm_119536 - inc hl - inc hl - inc hl - inc hl - jr .asm_11957a -.asm_119536 - ld a, [hli] - cp $50 - jr nz, .asm_119552 - ld a, [hli] - cp $33 - jr nz, .asm_119553 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [wcd83] - cp c - jr nz, .asm_119576 - ld a, [wcd84] - cp b - jr nz, .asm_119576 - jr .asm_11955b -.asm_119552 - inc hl -.asm_119553 - inc hl - inc hl - jr .asm_11955b -.asm_119557 - ld de, $14 - add hl, de -.asm_11955b - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - add hl, de - pop af - dec a - jp nz, Function119471 - ld a, [wcd50] - and a - jr z, .asm_119571 - ld a, $1a - ld [wcf66], a - ret -.asm_119571 - ld a, $d8 - jp Function118805 -.asm_119576 - ld a, $10 - jr .asm_11957c -.asm_11957a - ld a, $f -.asm_11957c - ld [wcf66], a - pop af - call Function1195c4 - ret - -Function119584: ; 119584 (46:5584) - ld a, [$c608] - ld b, a - ld a, [$c608 + 3] - ld c, a - cp b - jr c, .asm_11959c - ld a, [wcd49] - cp b - jr c, .asm_1195c2 -.asm_119595 - cp c - jr c, .asm_1195a2 - jr z, .asm_1195a2 - jr .asm_1195c2 -.asm_11959c - ld a, [wcd49] - cp b - jr c, .asm_119595 -.asm_1195a2 - ld a, [$c608 + 2] - ld b, a - ld a, [$c608 + 5] ; $c608 + 5 - ld c, a - cp b - jr c, .asm_1195ba - ld a, [wcd4b] - cp b - jr c, .asm_1195c2 -.asm_1195b3 - cp c - jr c, .asm_1195c0 - jr z, .asm_1195c0 - jr .asm_1195c2 -.asm_1195ba - ld a, [wcd4b] - cp b - jr c, .asm_1195b3 -.asm_1195c0 - scf - ret -.asm_1195c2 - and a - ret - -Function1195c4: ; 1195c4 (46:55c4) - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld de, $a5 - ld a, b - cp d - jr c, .asm_1195d9 - jr z, .asm_1195d3 - jr nc, .asm_1195f3 -.asm_1195d3 - ld a, c - cp e - jr z, .asm_1195d9 - jr nc, .asm_1195f3 -.asm_1195d9 - ld de, wcc60 - call CopyBytes - xor a - ld [de], a - ld a, [$c608] - ld l, a - ld a, [$c608 + 1] - ld h, a - ld de, wcd69 - ld bc, $10 - call CopyBytes - ret -.asm_1195f3 - ld a, $d8 - jp Function118805 - -Function1195f8: ; 1195f8 (46:55f8) - ld a, $11 - ld [wcd3c], a - ld a, $1c - ld [wcd45], a - ld a, $f - ld [wcd46], a - ld a, $14 - ld [wcd47], a - call Function119e2e - jp Function119e2e - -Function119612: ; 119612 (46:5612) - ld a, $14 - ld [wcd3c], a - ld a, $1c - ld [wcd45], a - ld a, $10 - ld [wcd46], a - ld a, $14 - ld [wcd47], a - jp Function119e2e - -Function119629: ; 119629 (46:5629) - call Function119ed8 - ret c - ld a, $60 - ld l, a - ld a, $cc - ld h, a - call Function118e39 - ld a, $9 - ld [wcd3c], a - ld a, $1c - ld [wcd45], a - ld a, $14 - ld [wcd47], a - call Function119e2e - -Function119648: ; 119648 (46:5648) - call Function119ed8 - ret c - call DelayFrame - ld a, $8 - ld [wcd3c], a - call Function119ed8 - call Function118b24 - ld de, Unkn1Pals - ld bc, $1000 - ld a, $2a - jp Function119e2b - -Function119665: ; 119665 (46:5665) - ld a, $1a - ld [wcd3c], a - call Function119e2e - -Function11966d: ; 11966d (46:566d) - call Function119ed8 - ret c - ld a, [wcd47] - ld [wcf66], a - ld a, $a - ld [wc300], a - ret - -Function11967d: ; 11967d (46:567d) - ld a, $18 - ld [wcd3c], a - call Function119e2e - -Function119685: ; 119685 (46:5685) - call Function119ed8 - ret c - ld a, $14 - ld [wcf66], a - ld a, $a - ld [wc300], a - ret - -Function119694: ; 119694 (46:5694) - ld b, 0 - ld hl, Unknown_1196b8 -.asm_119699 - ld de, wc708 - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_1196af - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_1196b0 - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_1196b1 - ret -.asm_1196af - inc hl -.asm_1196b0 - inc hl -.asm_1196b1 - inc b - ld a, b - cp $7 - jr nz, .asm_119699 - ret -; 1196b8 (46:56b8) - -Unknown_1196b8: ; 1196b8 - db "Mon" - db "Tue" - db "Wed" - db "Thu" - db "Fri" - db "Sat" - db "Sun" -; 1196cd - -SECTION "bank46_2", ROMX, BANK[$46] -; A hack to use ascii above. - -Function1196cd: ; 1196cd (46:56cd) - ld de, wc719 - call Function1196de - ld [wcd4a], a - inc de - call Function1196de - ld [wcd4b], a - ret - -Function1196de: ; 1196de (46:56de) - ld a, [de] - inc de - sub $30 - sla a - ld b, a - sla a - sla a - add b - ld c, a - add hl, bc - ld a, [de] - inc de - sub $30 - add c - ret -; 1196f2 (46:56f2) - -Function1196f2: ; 1196f2 - ld hl, DefaultFlypoint -.asm_1196f5 - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_1196f5 - ld a, [hl] - cp $a - jr nz, .asm_1196f5 - xor a - ld [hld], a - ld [hli], a - ld a, l - ld [wcd5b], a - ld a, h - ld [wcd5c], a - inc hl - ld e, l - ld d, h - ld a, [de] - inc de - cp $d - jr nz, .asm_119722 - ld a, [de] - inc de - cp $a - jr nz, .asm_119722 - ld a, $b - jp Function118805 - -.asm_119722 - call Random - ld c, $0 - ld b, c -.asm_119728 - call Function119798 - ld a, d - cp $ff - jr nz, .asm_119735 - ld a, e - cp $ff - jr z, .asm_11974c - -.asm_119735 - ld a, [hRandomSub] - cp d - jr c, .asm_11974c - jr z, .asm_11973e - jr .asm_119745 - -.asm_11973e - ld a, [hRandomAdd] - cp e - jr c, .asm_11974c - jr z, .asm_11974c - -.asm_119745 - inc bc - ld a, c - or b - jr z, .asm_119770 - jr .asm_119728 - -.asm_11974c - ld a, [wcd5b] - ld l, a - ld a, [wcd5c] - ld h, a -.asm_119754 - ld a, [hld] - cp $58 - jr nz, .asm_119754 - ld d, $0 -.asm_11975b - inc d - ld a, [hld] - cp $58 - jr z, .asm_11975b - inc hl - inc hl - ld a, d - dec a - jr z, .asm_11978e - dec a - jr z, .asm_119785 - dec a - jr z, .asm_11977e - dec a - jr z, .asm_119775 - -.asm_119770 - ld a, $d3 - jp Function118805 - -.asm_119775 - ld a, b - and $f0 - swap a - call Function1197bf - ld [hli], a - -.asm_11977e - ld a, b - and $f - call Function1197bf - ld [hli], a - -.asm_119785 - ld a, c - and $f0 - swap a - call Function1197bf - ld [hli], a - -.asm_11978e - ld a, c - and $f - call Function1197bf - ld [hli], a - jp Function119e2e -; 119798 - -Function119798: ; 119798 - ld d, $0 - ld e, d - call Function1197b4 - swap a - or d - ld d, a - call Function1197b4 - or d - ld d, a - call Function1197b4 - swap a - or e - ld e, a - call Function1197b4 - or e - ld e, a - ret -; 1197b4 - -Function1197b4: ; 1197b4 - ld a, [hli] - cp $61 - jr nc, .asm_1197bc - sub $30 - ret - -.asm_1197bc - sub $57 - ret -; 1197bf - -Function1197bf: ; 1197bf - cp $a - jr nc, .asm_1197c6 - add $30 - ret - -.asm_1197c6 - add $57 - ret -; 1197c9 - -Function1197c9: ; 1197c9 - ld hl, DefaultFlypoint - call Function118e39 - ld a, $9 - ld [wcd3c], a - ld a, $12 - ld [wcd45], a - call Function119e2e - -Function1197dc: - call Function119ed8 - ret c - call DelayFrame - ld hl, DefaultFlypoint - ld de, wcc60 - ld bc, $0080 - call CopyBytes - dec de - xor a - ld [de], a - call Function118b24 - ld de, Unkn1Pals - ld bc, $1000 - ld a, $2a - jp Function119e2b -; 119800 - -Function119800: ; 119800 - ld a, $fd - ld [$c6d0], a - ld [wc702], a - ld a, [wcd81] - ld [wc74e], a - ld a, [wcf63] - push af - ld a, [wcf64] - push af - ld a, [wcf65] - push af - ld a, [wcf66] - push af - ld a, $1 - ld [rSVBK], a - call FadeToMenu - callba Function10803d - call Function11a9ce - call RestartMapMusic - ld a, $3 - ld [rSVBK], a - pop af - ld [wcf66], a - pop af - ld [wcf65], a - pop af - ld [wcf64], a - pop af - ld [wcf63], a - callba Function115dc3 - jp Function119e2e -; 11984e - -Function11984e: ; 11984e - ld a, [wcd80] - and a - jr nz, .asm_1198a0 - ld a, [wcd38] - and a - jr nz, .asm_1198a8 - callba Function170000 - ld a, [wcf63] - push af - ld a, [wcf64] - push af - ld a, [wcf65] - push af - ld a, [wcf66] - push af - ld a, $1 - ld [rSVBK], a - call FadeToMenu - callba Function108000 - call Function11a9ce - call RestartMapMusic - ld a, $3 - ld [rSVBK], a - pop af - ld [wcf66], a - pop af - ld [wcf65], a - pop af - ld [wcf64], a - pop af - ld [wcf63], a - callba Function115dc3 - jp Function119e2e - -.asm_1198a0 - ld a, $a - ld [wc300], a - jp Function119e2e - -.asm_1198a8 - callba Function17005a - ld a, [wcf63] - push af - ld a, [wcf64] - push af - ld a, [wcf65] - push af - ld a, [wcf66] - push af - ld a, $1 - ld [rSVBK], a - call FadeToMenu - callba Function108012 - call Function11a9ce - call RestartMapMusic - ld a, $3 - ld [rSVBK], a - pop af - ld [wcf66], a - pop af - ld [wcf65], a - pop af - ld [wcf64], a - pop af - ld [wcf63], a - callba Function115dc3 - jp Function119e2e -; 1198ee - -Function1198ee: ; 1198ee - ld hl, UnknownText_0x11aab2 - call Function11a9c0 - call Function119e2e - -Function1198f7: - ld a, [wc31a] - and a - ret nz - ld hl, $c608 + 2 - call Function119940 - ld hl, $d800 - ld a, $c608 % $100 - ld [hli], a - ld a, $c608 / $100 - ld [hli], a - ld a, $f6 - ld [hli], a - xor a - ld [hli], a - ld a, wc708 % $100 - ld [hli], a - ld a, wc708 / $100 - ld [hli], a - ld a, [wcd51] - ld [hli], a - ld a, [wcd52] - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, $d800 - ld de, $de00 - ld bc, $0200 - ld a, $2c - jp Function119e2b -; 119937 - -Function119937: ; 119937 - callba Function1707f4 - jp Function119e2e -; 119940 - -Function119940: ; 119940 - ld de, wc3cd - ld c, $1e -.asm_119945 - ld a, [de] - inc de - ld [hli], a - dec c - jr z, .asm_119953 - and a - jr nz, .asm_119945 - xor a -.asm_11994f - ld [hli], a - dec c - jr nz, .asm_11994f - -.asm_119953 - ret -; 119954 - -Function119954: ; 119954 - ld a, $1c - ld [wcd3c], a - call Function119ed8 - ld hl, $c608 - ld de, wc3cd -.asm_119962 - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .asm_119962 - call Function119ec2 - ld hl, $c608 - ld a, $1e - jp Function119e2b -; 119973 - -Function119973: ; 119973 - ld a, $1 - ld [wcf64], a - xor a - ld [wcf65], a - ld [StringBuffer2 + 10], a - ld de, Unkn1Pals - ld a, $20 - jp Function119e2b -; 119987 - -Function119987: ; 119987 - ld hl, wd001 - ld a, [Unkn1Pals] - or [hl] - jr z, .asm_1199a0 - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - ld de, BGPals - ld a, $22 - jp Function119e2b - -.asm_1199a0 - ld a, [StringBuffer2 + 10] - and a - jr z, .asm_1199ae - ld a, $16 - ld [wcf66], a - jp Function119b0d - -.asm_1199ae - ld a, $1b - ld [wcf66], a - ret -; 1199b4 - -Function1199b4: ; 1199b4 - ld a, [wd000 + 130] - and a - jr nz, .asm_1199c7 - ld a, [wd000 + 129] - cp $7 - jr nc, .asm_1199c7 - call Function119e2e - jp Function1199ca - -.asm_1199c7 - jp Function119ac9 -; 1199ca - -Function1199ca: ; 1199ca - ld a, $20 - ld [wcd89], a - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - ld de, LYOverrides - ld bc, $0700 - ld a, $28 - jp Function119e2b -; 1199e2 - -Function1199e2: ; 1199e2 - ld c, $c - ld de, Unknown_119e33 - call Function119e4f - jp c, Function119ac9 - ld a, c - cp $1 - jp nz, Function119ac9 - ld hl, $d880 - ld bc, Unknown_119af1 -.asm_1199f9 - ld a, [bc] - and a - jr z, .asm_119a05 - cp [hl] - jp nz, Function119ac9 - inc bc - inc hl - jr .asm_1199f9 - -.asm_119a05 - ld c, $17 - ld de, Unknown_119e40 - call Function119e4f - jp c, .asm_119aa7 - ld a, c - cp $1 - jp nz, .asm_119aa7 - ld a, [wd000 + $880] - cp $31 - jp nz, .asm_119aa7 - ld a, [wd000 + $881] - cp $20 - jp nz, .asm_119aa7 - ld a, [wd000 + $88a] - cp $20 - jp nz, .asm_119aa7 - ld a, [wd000 + $894] - cp $20 - jp nz, .asm_119aa7 - xor a - ld [wd000 + $8a0], a - ld [wd000 + $8a1], a - ld [wd000 + $8a2], a - ld [wd000 + $8a3], a - ld hl, $d8a0 - ld bc, $d889 - call Function119e98 - call Function119e98 - ld hl, $d8a0 - ld a, [wcd2d] - cp [hl] - jr nz, Function119ac9 - inc hl - ld a, [wcd2c] - cp [hl] - jr nz, Function119ac9 - inc hl - ld a, [wcd2b] - cp [hl] - jr nz, Function119ac9 - inc hl - ld a, [wcd2a] - cp [hl] - jr nz, Function119ac9 - xor a - ld [wd000 + $8a0], a - ld [wd000 + $8a1], a - ld [wd000 + $8a2], a - ld [wd000 + $8a3], a - ld hl, $d8a0 - ld bc, $d88e - call Function119e98 - ld bc, $d893 - call Function119e98 - ld hl, $d8a0 - ld a, [wcd2f] - cp [hl] - jr nz, .asm_119aa7 - inc hl - ld a, [wcd2e] - cp [hl] - jr nz, .asm_119aa7 - inc hl - ld a, [wcd31] - cp [hl] - jr nz, .asm_119aa7 - inc hl - ld a, [wcd30] - cp [hl] - jr z, .asm_119aaf - -.asm_119aa7 - ld a, $25 - ld [wcf66], a - jp Function119b45 - -.asm_119aaf - ld a, [StringBuffer2 + 10] - and a - jr nz, .asm_119aa7 - ld a, [wd000 + $895] - sub $30 - ld [StringBuffer2 + 10], a - ld a, [wcf64] - ld [StringBuffer2 + 11], a - ld a, [wcf65] - ld [StringBuffer2 + 12], a - -Function119ac9: - ld a, [Unkn1Pals] - ld l, a - ld a, [wd001] - ld h, a - dec hl - ld a, l - ld [Unkn1Pals], a - ld a, h - ld [wd001], a - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - inc hl - ld a, l - ld [wcf64], a - ld a, h - ld [wcf65], a - ld a, $10 - ld [wcf66], a - ret -; 119af1 - -Unknown_119af1: - INCBIN "data/mobile/x-game-code.txt" - INCBIN "data/mobile/x-game-result.txt" -; 119b0d - -Function119b0d: ; 119b0d - ld a, $8 - ld [wcd3c], a - call Function119ed8 - ld a, [StringBuffer2 + 10] - cp $1 - jr z, .asm_119b23 - ld a, $19 - ld [wcf66], a - jr Function119b3b - -.asm_119b23 - ld a, $10 - ld [wcd89], a - ld a, [StringBuffer2 + 11] - ld l, a - ld a, [StringBuffer2 + 12] - ld h, a - ld de, LYOverrides - ld bc, $0700 - ld a, $24 - jp Function119e2b - -Function119b3b: - ld a, [StringBuffer2 + 11] - ld l, a - ld a, [StringBuffer2 + 12] - ld h, a - jr asm_119b4d - -Function119b45: - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - -asm_119b4d - ld a, $26 - jp Function119e2b -; 119b52 - -Function119b52: ; 119b52 - ld a, [StringBuffer2 + 10] - cp $1 - jr nz, .asm_119b66 - ld a, $5 - call GetSRAMBank - ld a, $4 - ld [$a800], a - call CloseSRAM - -.asm_119b66 - ld a, $1c - jp Function119e2b -; 119b6b - -Function119b6b: ; 119b6b - ld a, [StringBuffer2 + 10] - cp $1 - jr z, .asm_119b75 - jp Function119e2e - -.asm_119b75 - ld a, [LYOverrides] - ld b, a - ld a, [wd101] - or b - jr z, .asm_119be3 - ld hl, $d800 - ld de, wd102 -.asm_119b85 - ld a, [de] - inc de - cp $d - jr nz, .asm_119b85 - inc de - ld a, [de] - cp $d - jr nz, .asm_119b85 - inc de - inc de -.asm_119b93 - ld a, [de] - inc de - cp $d - jr z, .asm_119bfa - call Function119c3e - ret c - ld [hli], a - ld a, [de] - inc de - call Function119c3e - ret c - ld [hli], a - ld a, [de] - inc de - call Function119c3e - ret c - ld [hli], a - ld a, [de] - inc de - call Function119c3e - ret c - ld [hl], a - push de - ld d, [hl] - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - sla b - sla b - sla b - rla - sla b - rla - ld [hli], a - ld [hl], b - inc hl - rrc c - rrc c - ld [hl], c - dec hl - ld a, $f - and c - or [hl] - ld [hli], a - ld a, [hli] - and $c0 - or [hl] - dec hl - ld [hld], a - dec hl - pop de - inc hl - inc hl - inc hl - ld a, h - cp $e0 - jr c, .asm_119b93 - -.asm_119be3 - ld a, $19 - ld [wcf66], a - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$a800], a - call CloseSRAM - xor a - ld [StringBuffer2 + 10], a - ret - -.asm_119bfa - inc de - ld a, [de] - cp $d - jr nz, .asm_119b93 - ld a, l - cp (wd000 + $800 + $69) % $100 - jr nz, .asm_119be3 - ld a, h - cp (wd000 + $800 + $69) / $100 - jr nz, .asm_119be3 - ld a, $5 - call GetSRAMBank - ld a, [wcf64] - ld [$b090], a - ld a, [wcf65] - ld [$b091], a - ld hl, $d800 - ld de, $b023 - ld bc, $0069 - call CopyBytes - ld a, $3 - ld [$a800], a - call CloseSRAM - ld hl, $d800 - ld de, $c608 - ld bc, $0069 - call CopyBytes - jp Function119e2e -; 119c3e - -Function119c3e: ; 119c3e - cp $2b - jr c, .asm_119c68 - jr z, .asm_119c80 - cp $2f - jr c, .asm_119c68 - jr z, .asm_119c84 - cp $30 - jr c, .asm_119c68 - cp $3a - jr c, .asm_119c88 - cp $3d - jr c, .asm_119c68 - jr z, .asm_119c8c - cp $41 - jr c, .asm_119c68 - cp $5b - jr c, .asm_119c8f - cp $61 - jr c, .asm_119c68 - cp $7b - jr c, .asm_119c93 - -.asm_119c68 - ld a, $19 - ld [wcf66], a - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$a800], a - call CloseSRAM - xor a - ld [StringBuffer2 + 10], a - scf - ret - -.asm_119c80 - ld a, $3e - and a - ret - -.asm_119c84 - ld a, $3f - and a - ret - -.asm_119c88 - add $4 - and a - ret - -.asm_119c8c - xor a - and a - ret - -.asm_119c8f - sub $41 - and a - ret - -.asm_119c93 - sub $47 - and a - ret -; 119c97 - -Function119c97: ; 119c97 - ld hl, UnknownText_0x11ab0f - call Function11a9c0 - call Function119e2e - jr Function119cab - -Function119ca2: - ld hl, UnknownText_0x11aaf0 - call Function11a9c0 - call Function119e2e - -Function119cab: - ld a, [wc31a] - and a - ret nz - ld a, $80 - ld [wcd50], a - call Function119e2e - -Function119cb8: - ld hl, wcd50 - dec [hl] - ret nz - ld a, $0 - ld [wcf66], a - ret -; 119cc3 - -Function119cc3: ; 119cc3 - ld a, [wcd38] - and a - jr z, .asm_119cd1 - dec a - jr z, .asm_119cd6 - ld hl, UnknownText_0x11aa6a - jr .asm_119cd9 - -.asm_119cd1 - ld hl, UnknownText_0x11ab4a - jr .asm_119cd9 - -.asm_119cd6 - ld hl, UnknownText_0x11ab6e - -.asm_119cd9 - call Function11a9c0 - call Function119e2e - -Function119cdf: - ld a, [wc31a] - and a - ret nz - ld a, $f - ld [wcd3c], a - call Function119e2e - -Function119cec: - call Function119ed8 - ret c - ld a, [wcd46] - ld [wcf66], a - ret -; 119cf7 - -MenuDataHeader_119cf7: ; 119cf7 - db $40 ; flags - db 7, 12 ; start coords - db 11, 19 ; end coords - dw NULL - db 0 ; default option -; 119cff - -MenuData_119cff: ; 119cff - db $40 ; flags - db 7, 15 ; start coords - db 11, 19 ; end coords - dw NULL - db 0 ; default option -; 119d07 - -String_119d07: - db " ▼@" - -Strings_119d0c: - db " L:10 @@" - db " L:20 @@" - db " L:30 @@" - db " L:40 @@" - db " L:50 @@" - db " L:60 @@" - db " L:70 @@" - db " L:80 @@" - db " L:90 @@" - db " L:100@@" - db "CANCEL@@" - -Strings_119d64: - db " L:10 @@" - db " L:20 @@" - db " L:30 @@" - db " L:40 @@" - db "CANCEL@@" - -String_119d8c: - db "CANCEL@" -; 119d93 - -Function119d93: ; 119d93 (46:5d93) - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $1 - ld [rSVBK], a ; $ff00+$70 - ld a, [wcd4f] - ld c, 10 - call SimpleMultiply - ld hl, wcd50 - ld [hl], a - ld bc, PartyMon2 - PartyMon1 - ld de, PartyMon1Level - ld a, [PartyCount] -.asm_119daf - push af - ld a, [de] - push hl - push de - pop hl - add hl, bc - push hl - pop de - pop hl - cp [hl] - jr z, .asm_119dbd - jr nc, .asm_119dc6 -.asm_119dbd - pop af - dec a - jr nz, .asm_119daf - pop af - ld [rSVBK], a ; $ff00+$70 - and a - ret -.asm_119dc6 - pop af - ld a, $4 - ld [wcf66], a - pop af - ld [rSVBK], a ; $ff00+$70 - scf - ret - -Function119dd1: ; 119dd1 (46:5dd1) - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, [wcd4f] - cp 70 / 10 - jr nc, .asm_119e08 - ld a, $1 - ld [rSVBK], a ; $ff00+$70 - ld hl, PartyMon1Level - ld bc, PartyMon2 - PartyMon1 - ld de, PartySpecies - ld a, [PartyCount] -.asm_119deb - push af - ld a, [de] - cp MEWTWO - jr z, .asm_119dfd - cp MEW - jr z, .asm_119dfd - cp LUGIA - jr c, .asm_119e02 - cp NUM_POKEMON + 1 - jr nc, .asm_119e02 -.asm_119dfd - ld a, [hl] - cp 70 - jr c, .asm_119e0d -.asm_119e02 - add hl, bc - inc de - pop af - dec a - jr nz, .asm_119deb -.asm_119e08 - pop af - ld [rSVBK], a ; $ff00+$70 - and a - ret -.asm_119e0d - pop af - ld a, [de] - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - ld de, wcd49 - ld bc, PKMN_NAME_LENGTH - call CopyBytes - ld a, $a - ld [wcf66], a - pop af - ld [rSVBK], a ; $ff00+$70 - scf - ret -; 119e2b (46:5e2b) - -Function119e2b: ; 119e2b (46:5e2b) - call Function3e32 - -Function119e2e: ; 119e2e (46:5e2e) - ld hl, wcf66 - inc [hl] - ret -; 119e33 (46:5e33) - -Unknown_119e33: ; 119e33 - INCBIN "data/mobile/x-game-code-prefix.txt" -Unknown_119e40: - INCBIN "data/mobile/x-game-result-prefix.txt" -; 119e4f - -Function119e4f: ; 119e4f - push bc - ld hl, LYOverrides - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -.asm_119e57 - ld a, [de] - cp [hl] - jr z, .asm_119e64 -.asm_119e5b - inc hl - dec bc - ld a, b - or c - jr nz, .asm_119e57 -.asm_119e61 - pop bc - scf - ret - -.asm_119e64 - push de -.asm_119e65 - ld a, [de] - inc de - cp "\n" - jr z, .asm_119e7a - cp [hl] - jr nz, .asm_119e77 - inc hl - dec bc - ld a, b - or c - jr nz, .asm_119e65 - pop de - jr .asm_119e61 - -.asm_119e77 - pop de - jr .asm_119e5b - -.asm_119e7a - pop de - pop bc - inc hl - ld de, $d880 -.asm_119e80 - ld a, [hli] - ld [de], a - inc de - cp $d - jr z, .asm_119e8c - dec c - jr nz, .asm_119e80 - scf - ret - -.asm_119e8c - and a - ret -; 119e8e - -Function119e8e: ; 119e8e - cp $60 - jr c, .asm_119e95 - sub $57 - ret - -.asm_119e95 - sub $30 - ret -; 119e98 - -Function119e98: ; 119e98 - ld a, $2 -.asm_119e9a - push af - ld a, [bc] - dec bc - call Function119e8e - or [hl] - ld [hl], a - ld a, [bc] - dec bc - call Function119e8e - rlca - rlca - rlca - rlca - or [hl] - ld [hl], a - inc hl - pop af - dec a - and a - jr nz, .asm_119e9a - ret -; 119eb4 - -Function119eb4: ; 119eb4 (46:5eb4) - xor a - ld [wc3cc], a - ld de, wc3ac -.asm_119ebb - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .asm_119ebb - ret - -Function119ec2: ; 119ec2 (46:5ec2) - ld a, $5 - call GetSRAMBank - xor a - ld [$aa5c], a - ld de, $aa4c -.asm_119ece - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .asm_119ece - call CloseSRAM - ret - -Function119ed8: ; 119ed8 (46:5ed8) - ld a, [rSVBK] ; $ff00+$70 - ld [wcd8c], a - ld a, $1 - ld [rSVBK], a ; $ff00+$70 - call Function119eee - ld a, [wcd8c] - ld [rSVBK], a ; $ff00+$70 - ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 - ret - -Function119eee: ; 119eee (46:5eee) - ld a, [wcd3c] - ld e, a - ld d, 0 - ld hl, Jumptable_119efd - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 119efd (46:5efd) - -Jumptable_119efd: ; 119efd - dw Function119f3f - dw Function119f45 - dw Function119f56 - dw Function119f76 - dw Function119f98 - dw Function11a113 - dw Function11a129 - dw Function11a131 - dw Function11a13d - dw Function11a14b - dw Function11a16d - dw Function11a192 - dw Function11a2e6 - dw Function11a302 - dw Function11a33a - dw Function11a207 - dw Function11a235 - dw Function11a357 - dw Function11a36b - dw Function11a38d - dw Function11a3c5 - dw Function11a3d9 - dw Function11a3f9 - dw Function11a41b - dw Function11a452 - dw Function11a47a - dw Function11a488 - dw Function11a49e - dw Function11a4db - dw Function11a4e8 - dw Function11a4fe - dw Function11a466 - dw Function11a47a -; 119f3f - -Function119f3f: ; 119f3f - call Function11a5b9 - jp Function11a5b0 -; 119f45 - -Function119f45: ; 119f45 - hlcoord 4, 2 - ld de, String_11a661 - call PlaceString - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 119f56 - -Function119f56: ; 119f56 - ld a, [wcd44] - and a - jr z, .asm_119f62 - dec a - ld [wcd44], a - scf - ret - -.asm_119f62 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6aa - call PlaceString - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 119f76 - -Function119f76: ; 119f76 - ld a, [wcd44] - and a - jr z, .asm_119f82 - dec a - ld [wcd44], a - scf - ret - -.asm_119f82 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a679 - call PlaceString - call Function11a5f5 - xor a - ld [wcd44], a - jp Function11a5b0 -; 119f98 - -Function119f98: ; 119f98 - call Function11a536 - ret c - call PlayClickSFX - ld a, [wcd44] - and a - jr nz, .asm_119fef - call Function1c07 - call Function11a63c - xor a - ld [ScriptVar], a - call Function11a00e - ld a, [ScriptVar] - and a - jr z, .asm_119fd4 - call Function1c07 - callba Function104061 - callba Function115dc3 - ld a, [wcd33] - ld [wcf66], a - ld a, $a - ld [wc300], a - scf - ret - -.asm_119fd4 - hlcoord 4, 2 - ld de, String_11a692 - call PlaceString - ld a, $1 - ld [wc30d], a - ld a, $1 - ld [wc314], a - callba Function104061 - and a - ret - -.asm_119fef - call Function1c07 - call Function1c07 - callba Function104061 - ld a, [wcd45] - ld [wcf66], a - callba Function115dc3 - ld a, $a - ld [wc300], a - scf - ret -; 11a00e - -Function11a00e: ; 11a00e - ld a, $5 - call GetSRAMBank - ld a, [$aa4b] - and a - jr z, .asm_11a02a - ld a, [$aa4c] - call CloseSRAM - and a - ret nz - ld a, $5 - call GetSRAMBank - xor a - ld [$aa4b], a - -.asm_11a02a - call CloseSRAM - ld a, [BGMapPalBuffer] - and a - jr z, .asm_11a039 - dec a - jr z, .asm_11a081 - jp Function11a0ca - -.asm_11a039 - ld a, $3 - ld [rSVBK], a - ld hl, $c608 - ld de, $d800 - ld bc, $00f6 - call CopyBytes - ld a, $1 - ld [rSVBK], a - call FadeToMenu - callba Function11765d - call Function11a9ce - ld a, $3 - ld [rSVBK], a - ld hl, $d800 - ld de, $c608 - ld bc, $00f6 - call CopyBytes - ld a, $1 - ld [rSVBK], a - callba Function115d99 - ld c, $0 - callba Function115e18 - ld a, $1 - ld [wc305], a - ret - -.asm_11a081 - xor a - ld [wcf83], a - ld [wcf82], a - ld a, $13 - ld [wcf85], a - ld a, $5 - ld [wcf84], a - call Function1c00 - callba Function11765d - callba Function117ab4 - callba Function106462 - callba Function106464 - call Function1c07 - callba Function104061 - callba Function115d99 - ld c, $0 - callba Function115e18 - ld a, $1 - ld [wc305], a - ret -; 11a0ca - -Function11a0ca: ; 11a0ca - xor a - ld [wcf83], a - ld [wcf82], a - ld a, $13 - ld [wcf85], a - ld a, $11 - ld [wcf84], a - call Function1c00 - callba Function11765d - callba Function17d3f6 - callba Function106462 - callba Function106464 - call Function1c07 - callba Function104061 - callba Function115d99 - ld c, $0 - callba Function115e18 - ld a, $1 - ld [wc305], a - ret -; 11a113 - -Function11a113: ; 11a113 - call Function11a63c - ld c, $1 - callba Function115e18 - hlcoord 4, 2 - ld de, String_11a6c8 - call PlaceString - and a - ret -; 11a129 - -Function11a129: ; 11a129 - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 11a131 - -Function11a131: ; 11a131 - ld hl, wcd44 - dec [hl] - ret nz - ld a, [wcd3c] - inc a - ld [wcd3c], a - -Function11a13d: - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret -; 11a14b - -Function11a14b: ; 11a14b - ld hl, wcd85 - ld a, [hl] - cp $f3 - jr nz, .asm_11a155 - and a - ret - -.asm_11a155 - call Function11a1d6 - ret c - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6f1 - call PlaceString - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 11a16d - -Function11a16d: ; 11a16d - ld a, [wcd44] - and a - jr z, .asm_11a179 - dec a - ld [wcd44], a - scf - ret - -.asm_11a179 - call Function11a63c - call Function11a1e6 - hlcoord 4, 2 - ld de, wc346 - call PlaceString - call Function11a5f5 - xor a - ld [wcd44], a - jp Function11a5b0 -; 11a192 - -Function11a192: ; 11a192 - call Function11a536 - ret c - call PlayClickSFX - ld a, [wcd44] - and a - jr nz, .asm_11a1b6 - call Function1c07 - callba Function104061 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a1b6 - call Function1c07 - callba Function104061 - ld a, [wcd45] - ld [wcf66], a - ld [wcd80], a - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - scf - ret -; 11a1d6 - -Function11a1d6: ; 11a1d6 - ld a, [wcd85] - cp $50 - jr nz, .asm_11a1e4 - ld a, $d3 - call Function118805 - scf - ret - -.asm_11a1e4 - and a - ret -; 11a1e6 - -Function11a1e6: ; 11a1e6 - ld hl, String_11a706 - ld de, wc346 - call Function11a1ff - ld hl, wcd85 - call Function11a1ff - ld hl, String_11a70b - call Function11a1ff - ld a, $50 - ld [de], a - ret -; 11a1ff - -Function11a1ff: ; 11a1ff -.asm_11a1ff - ld a, [hli] - cp $50 - ret z - ld [de], a - inc de - jr .asm_11a1ff -; 11a207 - -Function11a207: ; 11a207 - ld hl, MenuDataHeader_11a2de - call LoadMenuDataHeader - call Function1cbb - call Function1cfd - call Function321c - hlcoord 16, 8 - ld de, String_11a2cf - call PlaceString - hlcoord 16, 10 - ld de, String_11a2d3 - call PlaceString - hlcoord 15, 8 - ld a, $ed - ld [hl], a - xor a - ld [wcd44], a - jp Function11a5b0 -; 11a235 - -Function11a235: ; 11a235 - ld hl, hJoyPressed - ld a, [hl] - and A_BUTTON - jr nz, .asm_11a28f - ld a, [hl] - and B_BUTTON - jr nz, .asm_11a2c1 - ld a, [hl] - and D_UP - jr nz, .asm_11a251 - ld a, [hl] - and D_DOWN - jr nz, .asm_11a270 -.asm_11a24c - call Function11a9f0 - scf - ret - -.asm_11a251 - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wcd44] - and a - jr z, .asm_11a24c - xor a - ld [wcd44], a - hlcoord 15, 8 - ld a, $ed - ld [hl], a - hlcoord 15, 10 - ld a, $7f - ld [hl], a - jr .asm_11a24c - -.asm_11a270 - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wcd44] - and a - jr nz, .asm_11a24c - inc a - ld [wcd44], a - hlcoord 15, 8 - ld a, $7f - ld [hl], a - hlcoord 15, 10 - ld a, $ed - ld [hl], a - jr .asm_11a24c - -.asm_11a28f - xor a - ld [wcd8a], a - ld [wcd8b], a - call PlayClickSFX - ld a, [wcd44] - and a - jr nz, .asm_11a2c4 - call Function1c07 - callba Function104061 - ld a, [wcd46] - cp $0 - jr z, .asm_11a2b4 - ld a, [wcd47] - jr .asm_11a2b7 - -.asm_11a2b4 - ld a, [wcd33] - -.asm_11a2b7 - ld [wcf66], a - ld a, $a - ld [wc300], a - scf - ret - -.asm_11a2c1 - call PlayClickSFX - -.asm_11a2c4 - call Function1c07 - callba Function104061 - and a - ret -; 11a2cf - -String_11a2cf: ; 11a2cf - db "YES@" -; 11a2d3 - -String_11a2d3: ; 11a2d3 - db "NO@" -; 11a2d6 - -MenuDataHeader_11a2d6: ; 11a2d6 - db $40 ; flags - db 6, 14 ; start coords - db 10, 19 ; end coords - dw NULL - db 0 ; default option -; 11a2de - -MenuDataHeader_11a2de: ; 11a2de - db $40 ; flags - db 7, 14 ; start coords - db 11, 19 ; end coords - dw NULL - db 0 ; default option -; 11a2e6 - -Function11a2e6: ; 11a2e6 - call Function11a63c - ld c, $2 - callba Function115e18 - hlcoord 4, 2 - ld de, String_11a71e - call PlaceString - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 11a302 - -Function11a302: ; 11a302 - ld a, [wcd44] - and a - jr z, .asm_11a30e - dec a - ld [wcd44], a - scf - ret - -.asm_11a30e - call Function11a63c - hlcoord 4, 2 - ld de, String_11a72a - call PlaceString - hlcoord 9, 4 - ld de, wcd68 - ld bc, $8102 - call PrintNum - hlcoord 14, 4 - ld de, wcd67 - ld bc, $8102 - call PrintNum - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 11a33a - -Function11a33a: ; 11a33a - ld a, [wcd44] - and a - jr z, .asm_11a346 - dec a - ld [wcd44], a - scf - ret - -.asm_11a346 - call Function1c07 - callba Function104061 - callba Function115dc3 - and a - ret -; 11a357 - -Function11a357: ; 11a357 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a743 - call PlaceString - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 11a36b - -Function11a36b: ; 11a36b - ld a, [wcd44] - and a - jr z, .asm_11a377 - dec a - ld [wcd44], a - scf - ret - -.asm_11a377 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a755 - call PlaceString - call Function11a5f5 - xor a - ld [wcd44], a - jp Function11a5b0 -; 11a38d - -Function11a38d: ; 11a38d - call Function11a536 - ret c - call PlayClickSFX - ld a, [wcd44] - and a - jr nz, .asm_11a3b1 - call Function1c07 - callba Function104061 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a3b1 - call Function1c07 - callba Function104061 - ld a, [wcd45] - ld [wcf66], a - ld [wcd80], a - scf - ret -; 11a3c5 - -Function11a3c5: ; 11a3c5 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a762 - call PlaceString - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 11a3d9 - -Function11a3d9: ; 11a3d9 - ld a, [wcd44] - and a - jr z, .asm_11a3e5 - dec a - ld [wcd44], a - scf - ret - -.asm_11a3e5 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a779 - call PlaceString - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 11a3f9 - -Function11a3f9: ; 11a3f9 - ld a, [wcd44] - and a - jr z, .asm_11a405 - dec a - ld [wcd44], a - scf - ret - -.asm_11a405 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a755 - call PlaceString - call Function11a5f5 - xor a - ld [wcd44], a - jp Function11a5b0 -; 11a41b - -Function11a41b: ; 11a41b - call Function11a536 - ret c - call PlayClickSFX - ld a, [wcd44] - and a - jr nz, .asm_11a43f - call Function1c07 - callba Function104061 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a43f - call Function1c07 - callba Function104061 - ld a, $1c - ld [wcf66], a - ld [wcd80], a - scf - ret -; 11a452 - -Function11a452: ; 11a452 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a791 - call PlaceString - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 11a466 - -Function11a466: ; 11a466 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a7c1 - call PlaceString - ld a, $80 - ld [wcd44], a - jp Function11a5b0 -; 11a47a - -Function11a47a: ; 11a47a - ld a, [wcd44] - and a - jr z, .asm_11a486 - dec a - ld [wcd44], a - scf - ret - -.asm_11a486 - and a - ret -; 11a488 - -Function11a488: ; 11a488 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a7ac - call PlaceString - call Function11a5f5 - xor a - ld [wcd44], a - jp Function11a5b0 -; 11a49e - -Function11a49e: ; 11a49e - call Function11a536 - ret c - call PlayClickSFX - ld a, [wcd44] - and a - jr nz, .asm_11a4c7 - call Function1c07 - callba Function104061 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - ld a, $14 - ld [wcf66], a - and a - ret - -.asm_11a4c7 - call Function1c07 - callba Function104061 - ld a, [wcd46] - ld [wcf66], a - ld [wcd80], a - scf - ret -; 11a4db - -Function11a4db: ; 11a4db - call Function11a63c - ld de, String_11a6db - hlcoord 4, 2 - call PlaceString - ret -; 11a4e8 - -Function11a4e8: ; 11a4e8 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a7d7 - call PlaceString - call Function11a5f5 - xor a - ld [wcd44], a - jp Function11a5b0 -; 11a4fe - -Function11a4fe: ; 11a4fe - call Function11a536 - ret c - call PlayClickSFX - ld a, [wcd44] - and a - jr nz, .asm_11a522 - call Function1c07 - callba Function104061 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a522 - call Function1c07 - callba Function104061 - ld a, [wcd45] - ld [wcf66], a - ld [wcd80], a - scf - ret -; 11a536 - -Function11a536: ; 11a536 - ld hl, hJoyPressed - ld a, [hl] - and $1 - jr nz, .asm_11a5a7 - ld a, [hl] - and $2 - jr nz, .asm_11a5a2 - ld a, [hl] - and $40 - jr nz, .asm_11a564 - ld a, [hl] - and $80 - jr nz, .asm_11a583 -.asm_11a54d - ld a, [wcd3c] - cp $4 - jr z, .asm_11a562 - call Function11a9f0 - jr nz, .asm_11a562 - call Function1c07 - callba Function104061 - -.asm_11a562 - scf - ret - -.asm_11a564 - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wcd44] - and a - jr z, .asm_11a54d - xor a - ld [wcd44], a - hlcoord 15, 7 - ld a, $ed - ld [hl], a - hlcoord 15, 9 - ld a, $7f - ld [hl], a - jr .asm_11a54d - -.asm_11a583 - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wcd44] - and a - jr nz, .asm_11a54d - inc a - ld [wcd44], a - hlcoord 15, 7 - ld a, $7f - ld [hl], a - hlcoord 15, 9 - ld a, $ed - ld [hl], a - jr .asm_11a54d - -.asm_11a5a2 - ld a, $1 - ld [wcd44], a - -.asm_11a5a7 - xor a - ld [wcd8a], a - ld [wcd8b], a - and a - ret -; 11a5b0 - -Function11a5b0: ; 11a5b0 - ld a, [wcd3c] - inc a - ld [wcd3c], a - scf - ret -; 11a5b9 - -Function11a5b9: ; 11a5b9 - xor a - ld [wcf83], a - ld [wcf82], a - ld a, $13 - ld [wcf85], a - ld a, $5 - ld [wcf84], a - call Function1c00 - ld hl, AttrMap - ld b, $6 - ld c, $14 - ld hl, TileMap - ld b, $4 - ld c, $12 - call Function3eea - callba Function104061 - call Function1ad2 - ld c, $0 - callba Function115e18 - ld a, $1 - ld [wc305], a - ret -; 11a5f5 - -Function11a5f5: ; 11a5f5 - ld a, $e - ld [wcf83], a - ld a, $13 - ld [wcf85], a - ld a, $6 - ld [wcf82], a - ld a, $a - ld [wcf84], a - call Function1c00 - hlcoord 14, 6, AttrMap - ld b, $5 - ld c, $6 - hlcoord 14, 6 - ld b, $3 - ld c, $4 - call Function3eea - hlcoord 16, 7 - ld de, String_11a2cf - call PlaceString - hlcoord 16, 9 - ld de, String_11a2d3 - call PlaceString - hlcoord 15, 7 - ld a, $ed - ld [hl], a - callba Function104061 - ret -; 11a63c - -Function11a63c: ; 11a63c - hlcoord 4, 1 - ld de, String_11a7f4 - call PlaceString - hlcoord 4, 2 - ld de, String_11a7f4 - call PlaceString - hlcoord 4, 3 - ld de, String_11a7f4 - call PlaceString - hlcoord 4, 4 - ld de, String_11a7f4 - call PlaceString - ret -; 11a661 - -String_11a661: ; 11a661 - db "これから モバイルセンターに" - next "でんわ", $1f, "かけます@" -; 11a679 - -String_11a679: ; 11a679 - db "モバイルアダプタ", $25, "じゅんびは" - next "できて いますか?@" -; 11a692 - -String_11a692: ; 11a692 - db "でんわ", $1f, "かけています" - next "しばらく おまちください@" -; 11a6aa - -String_11a6aa: ; 11a6aa - db "でんわをかけると つうわりょう" - next "せつぞくりょう", $4a, "かかります@" -; 11a6c8 - -String_11a6c8: ; 11a6c8 - db "せつぞく しました@" -; 11a6d2 - -String_11a6d2: ; 11a6d2 - db "つうしん ちゅう@" -; 11a6db - -String_11a6db: ; 11a6db - db "つうしん ちゅう" - next "セレクト エーでちゅうし@" -; 11a6f1 - -String_11a6f1: ; 11a6f1 - db "この サービスには" - next "つうわりょう", $25, "ほかに@" -; 11a706 - -String_11a706: ; 11a706 - db "おかね", $4a, "@" -; 11a70b - -String_11a70b: ; 11a70b - db "えん" - next "かかります よろしい ですか?@" -; 11a71e - -String_11a71e: ; 11a71e - db "つうしん しゅうりょう@" -; 11a72a - -String_11a72a: ; 11a72a - db "つないだ じかん" - next " やく ふん びょう@" -; 11a743 - -String_11a743: ; 11a743 - db "もっていない データが" - next "あります!@" -; 11a755 - -String_11a755: ; 11a755 - db "データ", $1f, "よみこみますか?@" -; 11a762 - -String_11a762: ; 11a762 - db "おなじ データ", $1f, "よみこんだ" - next "こと", $4a, "ありますが@" -; 11a779 - -String_11a779: ; 11a779 - db "そのデータ", $24, "なくなっているか" - next "こわれて います@" -; 11a791 - -String_11a791: ; 11a791 - db "もっている データと" - next "おなじデータしか ありません!@" -; 11a7ac - -String_11a7ac: ; 11a7ac - db "データ", $25, "よみこみを" - next "ちゅうし しますか?@" -; 11a7c1 - -String_11a7c1: ; 11a7c1 - db "あたらしい ニュースは" - next "ありません でした@" -; 11a7d7 - -String_11a7d7: ; 11a7d7 - db "あたらしいニュース", $4a, "あります" - next "ニュース", $1f, "よみこみますか?@" -; 11a7f4 - -String_11a7f4: ; 11a7f4 - db " @" -; 11a804 - -MenuDataHeader_11a804: ; 11a804 - db $40 ; flags - db 0, 0 ; start coords - db 5, 19 ; end coords - dw NULL - db 0 ; default option -; 11a80c - -Function11a80c: ; 11a80c - ld de, hDivisor - ld bc, hDividend - ld hl, Unknown_11a89a - call Function11a88c - ld bc, hQuotient - ld hl, Unknown_11a8ba - call Function11a88c - ld bc, $ffb5 - ld hl, Unknown_11a8da - call Function11a88c - xor a - ld b, a - ld a, [hDivisor] - and $f - ld e, a - ld a, [$ffb9] - and $f - call Function11a884 - ld e, a - ld a, [$ffbb] - and $f - call Function11a884 - ld [wcd62], a - ld e, b - xor a - ld b, a - ld a, [hDivisor] - and $f0 - swap a - call Function11a884 - ld e, a - ld a, [$ffb9] - and $f0 - swap a - call Function11a884 - ld e, a - ld a, [$ffbb] - and $f0 - swap a - call Function11a884 - ld [wcd63], a - ld e, b - xor a - ld b, a - ld a, [hMathBuffer] - and $f - call Function11a884 - ld e, a - ld a, [$ffba] - and $f - call Function11a884 - ld e, a - ld a, [$ffbc] - and $f - call Function11a884 - ld [wcd64], a - ret -; 11a884 - -Function11a884: ; 11a884 - add e - cp $a - ret c - sub $a - inc b - ret -; 11a88c - -Function11a88c: ; 11a88c - ld a, [bc] - sla a - ld c, a - xor a - ld b, a - add hl, bc - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - inc de - ret -; 11a89a - -Unknown_11a89a: ; 11a89a -x = 0 -rept 16 - bcd x % 100, x / 100 -x = x + 1 -endr - -Unknown_11a8ba: ; 11a8ba -x = 0 -rept 16 - bcd x % 100, x / 100 -x = x + 16 -endr - -Unknown_11a8da: ; 11a8da -x = 0 -rept 16 - bcd x % 100, x / 100 -x = x + 256 -endr -; 11a8fa - -Function11a8fa: ; 11a8fa - ld a, [wc31a] - ld e, a - ld d, 0 - ld hl, Jumptable_11a909 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 11a909 - -Jumptable_11a909: ; 11a909 - dw Function11a970 - dw Function11a90f - dw Function11a971 -; 11a90f - -Function11a90f: ; 11a90f - ld a, $1 - ld [rSVBK], a - call SpeechTextBox - ld a, $50 - ld hl, wc320 - ld bc, $008c - call ByteFill - ld a, [wc31b] - ld l, a - ld a, [wc31c] - ld h, a - ld de, wc320 -.asm_11a92c - ld a, [hli] - cp $57 - jr z, .asm_11a94f - cp $0 - jr z, .asm_11a92c - cp $50 - jr z, .asm_11a92c - cp $1 - jr z, .asm_11a941 - ld [de], a - inc de - jr .asm_11a92c - -.asm_11a941 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -.asm_11a945 - ld a, [bc] - inc bc - cp $50 - jr z, .asm_11a92c - ld [de], a - inc de - jr .asm_11a945 - -.asm_11a94f - xor a - ld [wc31f], a - ld a, $20 - ld [wc31b], a - ld a, $c3 - ld [wc31c], a - hlcoord 1, 14 - ld a, l - ld [wc31d], a - ld a, h - ld [wc31e], a - ld hl, wc31a - inc [hl] - ld a, $3 - ld [rSVBK], a - -Function11a970: - ret -; 11a971 - -Function11a971: ; 11a971 - ld hl, wc31f - ld a, [hJoyDown] - and a - jr nz, .asm_11a97f - ld a, [hl] - and a - jr z, .asm_11a97f - dec [hl] - ret - -.asm_11a97f - ld a, [Options] - and $7 - ld [hl], a - ld hl, wcd8d - ld a, [wc31b] - ld e, a - ld a, [wc31c] - ld d, a - ld a, [de] - inc de - ld [hli], a - ld a, e - ld [wc31b], a - ld a, d - ld [wc31c], a - ld a, $50 - ld [hl], a - ld a, [wc31d] - ld l, a - ld a, [wc31e] - ld h, a - ld de, wcd8d - call PlaceString - ld a, c - ld [wc31d], a - ld a, b - ld [wc31e], a - ld a, [wcd8d] - cp $50 - jr nz, .asm_11a9bf - xor a - ld [wc31a], a - -.asm_11a9bf - ret -; 11a9c0 - -Function11a9c0: ; 11a9c0 - ld a, l - ld [wc31b], a - ld a, h - ld [wc31c], a - ld a, $1 - ld [wc31a], a - ret -; 11a9ce - -Function11a9ce: ; 11a9ce - call WhiteBGMap - call Function2bae - call Function1d7d - callba Function106462 - callba Function106464 - call Functiond90 - callba Function2b5c - call Function1ad2 - ret -; 11a9f0 - -Function11a9f0: ; 11a9f0 - ld a, $1 - and a - ret -; 11a9f4 - -Function11a9f4: ; 11a9f4 - ld a, [wcd8a] - ld l, a - ld a, [wcd8b] - ld h, a - inc hl - ld a, l - ld [wcd8a], a - ld a, h - ld [wcd8b], a - ld de, $d5d0 - add hl, de - bit 7, h - ret nz - ld a, $d6 - call Function118805 - and a - ret -; 11aa13 - -UnknownText_0x11aa13: ; 0x11aa13 - text "SAVE FILE will be" - line "sent." - done -; 0x11aa2c - -UnknownText_0x11aa2c: ; 0x11aa2c - text "Sent SAVE FILE." - line "Reading NEWS…" - done -; 0x11aa4b - -UnknownText_0x11aa4b: ; 0x11aa4b - text "Reading NEWS…" - done -; 0x11aa5a - -UnknownText_0x11aa5a: ; 0x11aa5a - text "Received NEWS!" - done -; 0x11aa6a - -UnknownText_0x11aa6a: ; 0x11aa6a - text "Quit reading NEWS?" - done -; 0x11aa7e - -UnknownText_0x11aa7e: ; 0x11aa7e - text "Canceled sending" - line "SAVE FILE." - done -; 0x11aa9b - -UnknownText_0x11aa9b: ; 0x11aa9b - text "ODD EGG" - line "was received!" - done -; 0x11aab2 - -UnknownText_0x11aab2: ; 0x11aab2 - text "Registering your" - line "record…" - done -; 0x11aacc - -UnknownText_0x11aacc: ; 0x11aacc - text "One visit per day" - line "per BATTLE ROOM!" - done -; 0x11aaf0 - -UnknownText_0x11aaf0: ; 0x11aaf0 - text "A party #MON" - line "tops this level." - done -; 0x11ab0f - -UnknownText_0x11ab0f: ; 0x11ab0f - text_from_ram wcd49 - text " may go" - line "only to BATTLE" - - para "ROOMS that are" - line "Lv.70 or higher." - done -; 0x11ab4a - -UnknownText_0x11ab4a: ; 0x11ab4a - text "Cancel your BATTLE" - line "ROOM challenge?" - done -; 0x11ab6e - -UnknownText_0x11ab6e: ; 0x11ab6e - text "Exit GYM LEADER" - line "HONOR ROLL?" - done -; 0x11ab8b - -UnknownText_0x11ab8b: ; 0x11ab8b - text "Linking with the" - line "CENTER…" - done -; 0x11aba5 - -UnknownText_0x11aba5: ; 0x11aba5 - text "What level do you" - line "want to challenge?" - done -; 0x11abcb - -UnknownText_0x11abcb: ; 0x11abcb - text "Check BATTLE ROOM" - line "list by max level?" - done -; 0x11abf1 - -UnknownText_0x11abf1: ; 0x11abf1 - text "Enter which" - line "BATTLE ROOM?" - done -; 0x11ac0b - -UnknownText_0x11ac0b: ; 0x11ac0b - text "Which BATTLE ROOM?" - done -; 0x11ac1f - -UnknownText_0x11ac1f: ; 0x11ac1f - text_from_ram StringBuffer3 - text "'s ROOM" - line "@" - text_from_ram StringBuffer4 - text "?" - cont "Please wait…" - done -; 0x11ac3e - -Function11ac3e: ; 11ac3e - call SpeechTextBox - call FadeToMenu - callab Function8e814 - call Function11ac51 - call Function2b3c - ret -; 11ac51 - -Function11ac51: ; 11ac51 - xor a - ld [hBGMapMode], a - ld hl, Options - ld a, [hl] - push af - set 4, [hl] - ld a, [VramState] - push af - xor a - ld [VramState], a - ld a, [$ffaa] - push af - ld a, $1 - ld [$ffaa], a - xor a - ld [$ffde], a - ld [wcd49], a - ld [wcd4a], a - ld [wcd4c], a - ld [wcd4d], a - ld [wcd4e], a - call Function11ad1b - call DelayFrame -.asm_11ac82 - call Functiona57 - ld a, [wcf63] - bit 7, a - jr nz, .asm_11aca8 - call Function11b314 - call Function11acb7 - call Function11ad6e - ld a, $78 - ld [wc3b5], a - callba Function8cf7a - callba Function104061 - jr .asm_11ac82 - -.asm_11aca8 - call ClearSprites - pop af - ld [$ffaa], a - pop af - ld [VramState], a - pop af - ld [Options], a - ret -; 11acb7 - -Function11acb7: ; 11acb7 - ld hl, Unknown_11ba44 - ld a, [wcd49] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - add hl, bc - decoord 6, 6 - ld a, [hli] - ld [de], a - decoord 0, 7 - ld bc, $0007 - call CopyBytes - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, [hl] - cp $ff - jr nz, .asm_11aceb - xor a - ld [wcd49], a - -.asm_11aceb - ld hl, Unknown_11bb7d - ld a, [wcd4a] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - add hl, bc - decoord 3, 9 - ld bc, $0007 - call CopyBytes - ld a, [wcd4a] - inc a - ld [wcd4a], a - inc hl - ld a, [hl] - cp $ff - ret nz - xor a - ld [wcd4a], a - ret -; 11ad1b - -Function11ad1b: ; 11ad1b - call WhiteBGMap - call ClearSprites - call ClearTileMap - callba Function17c000 - ld a, [wcfa9] - ld [wcd82], a - dec a - ld [$ffb0], a - ld a, $10 - ld [wc3b7], a - ld hl, Function8e83f - ld a, BANK(Function8e83f) - ld e, $4 - rst FarCall - ld hl, Function8e83f - ld a, BANK(Function8e83f) - ld e, $5 - rst FarCall - ld hl, $c6d0 - ld bc, $0115 - xor a - call ByteFill - xor a - ld [wcf63], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ld [wcd30], a - ld a, $2 - ld [wc7d4], a - callba Function40bdc - ret -; 11ad6e - -Function11ad6e: ; 11ad6e - ld a, [wcf63] - ld hl, Jumptable_11ad78 - call Function11b239 - jp [hl] -; 11ad78 - -Jumptable_11ad78: ; 11ad78 - dw Function11b082 - dw Function11b0ff - dw Function11ad95 - dw Function11adc4 - dw Function11ae4e - dw Function11ae98 - dw Function11ad8f - dw Function11af04 - dw Function11af4e -; 11ad8a - -Function11ad8a: ; 11ad8a - ld hl, wcf63 - inc [hl] - ret -; 11ad8f - -Function11ad8f: ; 11ad8f - ld hl, wcf63 - set 7, [hl] - ret -; 11ad95 - -Function11ad95: ; 11ad95 - ld hl, MenuDataHeader_11ae38 - call LoadMenuDataHeader - call Function1cbb - hlcoord 12, 12 - ld de, String_11ae40 - call PlaceString - hlcoord 10, 10, AttrMap - ld bc, $0808 - call Function11afd6 - callba Function104061 - call Function11ad8a - ld a, $1 - ld [wcfa9], a - ld hl, Unknown_11afcc - call Function11afb7 - -Function11adc4: - ld hl, hJoyPressed - ld a, [hl] - and a - ret z - ld a, [hl] - and $40 - jr nz, .asm_11ade6 - ld a, [hl] - and $80 - jr nz, .asm_11aded - ld a, [hl] - and $1 - jr nz, .asm_11ae06 - ld a, [hl] - and $2 - ret z - call PlayClickSFX - xor a - ld [wcf63], a - jr .asm_11ae2e - -.asm_11ade6 - ld a, [wcfa9] - dec a - ret z - jr .asm_11adf4 - -.asm_11aded - ld a, [wcfa9] - inc a - cp $4 - ret z - -.asm_11adf4 - push af - ld hl, Unknown_11afcc - call Function11afbb - pop af - ld [wcfa9], a - ld hl, Unknown_11afcc - call Function11afb7 - ret - -.asm_11ae06 - call PlayClickSFX - ld a, [wcfa9] - dec a - ld hl, wcd30 - ld [hl], a - and a - jr z, .asm_11ae28 - hlcoord 2, 14 - ld a, [wcfa9] - cp $2 - jr z, .asm_11ae23 - call Function11b272 - jr .asm_11ae2b - -.asm_11ae23 - call Function11b267 - jr .asm_11ae2b - -.asm_11ae28 - ld a, $3 - ld [hl], a - -.asm_11ae2b - call Function11ad8a - -.asm_11ae2e - call Function1c07 - callba Function104061 - ret -; 11ae38 - -MenuDataHeader_11ae38: ; 11ae38 - db $40 ; flags - db 10, 10 ; start coords - db 17, 17 ; end coords - dw NULL - db 0 ; default option -; 11ae40 - -String_11ae40: ; 11ae40 - db "どちらでも" - next "♂ォス" - next "♀メス" - db "@" -; 11ae4e - -Function11ae4e: ; 11ae4e - ld hl, MenuDataHeader_11afe8 - call LoadMenuDataHeader - call Function1cbb - hlcoord 10, 14 - ld de, String_11aff0 - call PlaceString - ld hl, MenuDataHeader_11b013 - call LoadMenuDataHeader - call Function1cbb - hlcoord 16, 8 - ld de, String_11b01b - call PlaceString - hlcoord 14, 7, AttrMap - lb bc, 5, 6 - call Function11afd6 - hlcoord 9, 12, AttrMap - lb bc, 6, 11 - call Function11afd6 - callba Function104061 - call Function11ad8a - ld a, $1 - ld [wcfa9], a - ld hl, Unknown_11afd2 - call Function11afb7 - -Function11ae98: - ld hl, hJoyPressed - ld a, [hl] - and a - ret z - ld a, [hl] - and D_UP - jr nz, .asm_11aec1 - ld a, [hl] - and D_DOWN - jr nz, .asm_11aec8 - ld a, [hl] - and A_BUTTON - jr nz, .asm_11aee1 - ld a, [hl] - and B_BUTTON - ret z - call PlayClickSFX -.asm_11aeb4 - hlcoord 2, 14 - ld a, $7f - ld [hl], a - ld a, $1 - ld [wcf63], a - jr .asm_11aef7 - -.asm_11aec1 - ld a, [wcfa9] - dec a - ret z - jr .asm_11aecf - -.asm_11aec8 - ld a, [wcfa9] - inc a - cp $3 - ret z - -.asm_11aecf - push af - ld hl, Unknown_11afd2 - call Function11afbb - pop af - ld [wcfa9], a - ld hl, Unknown_11afd2 - call Function11afb7 - ret - -.asm_11aee1 - call PlayClickSFX - ld a, [wcfa9] - cp $2 - jr z, .asm_11aeb4 - ld a, [wcd4b] - ld [ScriptVar], a - call Function11b022 - call Function11ad8a - -.asm_11aef7 - call Function1c07 - call Function1c07 - callba Function104061 - ret -; 11af04 - -Function11af04: ; 11af04 - ld hl, MenuDataHeader_11afe8 - call LoadMenuDataHeader - call Function1cbb - hlcoord 10, 14 - ld de, String_11b003 - call PlaceString - ld hl, MenuDataHeader_11b013 - call LoadMenuDataHeader - call Function1cbb - hlcoord 16, 8 - ld de, String_11b01b - call PlaceString - hlcoord 14, 7, AttrMap - lb bc, 5, 6 - call Function11afd6 - hlcoord 9, 12, AttrMap - lb bc, 6, 11 - call Function11afd6 - callba Function104061 - call Function11ad8a - ld a, $2 - ld [wcfa9], a - ld hl, Unknown_11afd2 - call Function11afb7 - -Function11af4e: - ld hl, hJoyPressed - ld a, [hl] - and a - ret z - ld a, [hl] - and D_UP - jr nz, .asm_11af77 - ld a, [hl] - and D_DOWN - jr nz, .asm_11af7e - ld a, [hl] - and A_BUTTON - jr nz, .asm_11af97 - ld a, [hl] - and B_BUTTON - ret z - call PlayClickSFX -.asm_11af6a - hlcoord 2, 14 - ld a, $7f - ld [hl], a - ld a, $1 - ld [wcf63], a - jr .asm_11afaa - -.asm_11af77 - ld a, [wcfa9] - dec a - ret z - jr .asm_11af85 - -.asm_11af7e - ld a, [wcfa9] - inc a - cp $3 - ret z - -.asm_11af85 - push af - ld hl, Unknown_11afd2 - call Function11afbb - pop af - ld [wcfa9], a - ld hl, Unknown_11afd2 - call Function11afb7 - ret - -.asm_11af97 - call PlayClickSFX - ld a, [wcfa9] - cp $2 - jr z, .asm_11af6a - ld a, $6 - ld [wcf63], a - xor a - ld [ScriptVar], a - -.asm_11afaa - call Function1c07 - call Function1c07 - callba Function104061 - ret -; 11afb7 - -Function11afb7: ; 11afb7 - ld e, $ed - jr asm_11afbd - -Function11afbb: - ld e, $7f - -asm_11afbd: - ld a, [wcfa9] - dec a - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, e - ld e, [hl] - inc hl - ld d, [hl] - ld [de], a - ret -; 11afcc - -Unknown_11afcc: - dwcoord 11, 12 - dwcoord 11, 14 - dwcoord 11, 16 - -Unknown_11afd2: - dwcoord 15, 8 - dwcoord 15, 10 -; 11afd6 - -Function11afd6: ; 11afd6 - ld de, $0014 - ld a, $3 -.asm_11afdb - push bc - push hl -.asm_11afdd - ld [hli], a - dec c - jr nz, .asm_11afdd - pop hl - add hl, de - pop bc - dec b - jr nz, .asm_11afdb - ret -; 11afe8 - -MenuDataHeader_11afe8: ; 11afe8 - db $40 ; flags - db 12, 9 ; start coords - db 17, 19 ; end coords - dw NULL - db 0 ; default option -; 11aff0 - -String_11aff0: ; 11aff0 - db "この じょうけんで" - next "よろしいですか?@" -; 11b003 - -String_11b003: ; 11b003 - db "こうかんを" - next "ちゅうししますか?@" -; 11b013 - -MenuDataHeader_11b013: ; 11b013 - db $40 ; flags - db 7, 14 ; start coords - db 11, 19 ; end coords - dw NULL - db 1 ; default option -; 11b01b - -String_11b01b: - db "はい" - next "いいえ@" -; 11b022 - -Function11b022: ; 11b022 - ld a, [wcd2e] - and a - jr z, .asm_11b02e - ld hl, StringBuffer3 - call Function11b03d - -.asm_11b02e - ld a, [wcd30] - and a - ret z - cp $3 - ret z - ld hl, StringBuffer4 - call Function11b03d - ret -; 11b03d - -Function11b03d: ; 11b03d - push hl - push af - ld c, $1 -.asm_11b041 - ld a, [hli] - cp $ef - jr z, .asm_11b051 - cp $f5 - jr z, .asm_11b051 - cp $50 - jr z, .asm_11b055 - inc c - jr .asm_11b041 - -.asm_11b051 - dec hl - ld a, $50 - ld [hli], a - -.asm_11b055 - dec hl - push hl - ld e, $4 - ld d, $0 - add hl, de - ld e, l - ld d, h - pop hl -.asm_11b05f - ld a, [hld] - ld [de], a - dec de - dec c - jr nz, .asm_11b05f - pop af - pop de - cp $1 - jr nz, .asm_11b070 - ld hl, String_11b07a - jr .asm_11b073 - -.asm_11b070 - ld hl, String_11b07e - -.asm_11b073 - ld bc, 4 - call CopyBytes - ret -; 11b07a - -String_11b07a: db "ォスの " -String_11b07e: db "メスの " - -Function11b082: ; 11b082 - call Function11b242 - ld a, $7 - ld [wc7d3], a - call Function11b099 - call Function11b295 - call Function11b275 - call Function32f9 - jp Function11ad8a -; 11b099 - -Function11b099: ; 11b099 - ld c, $6 - hlcoord 11, 1 - ld a, [wc7d3] - add a - ld b, a - xor a - call Function11b236 - ld a, [wc7d0] - ld e, a - ld d, $0 - ld hl, $c6d0 - add hl, de - ld e, l - ld d, h - hlcoord 11, 2 - ld a, [wc7d3] -.asm_11b0b9 - push af - ld a, [de] - ld [wd265], a - push de - push hl - call Function11b0cf - pop hl - ld de, $0028 - add hl, de - pop de - inc de - pop af - dec a - jr nz, .asm_11b0b9 - ret -; 11b0cf - -Function11b0cf: ; 11b0cf - and a - ret z - call Function11b0ec - ret c - call Function11b0e1 - push hl - call GetPokemonName - pop hl - call PlaceString - ret -; 11b0e1 - -Function11b0e1: ; 11b0e1 - call Function11b21e - jr nz, .asm_11b0e8 - inc hl - ret - -.asm_11b0e8 - ld a, $1 - ld [hli], a - ret -; 11b0ec - -Function11b0ec: ; 11b0ec - call Function11b22a - ret nz - inc hl - ld de, String_11b0f9 - call PlaceString - scf - ret -; 11b0f9 - -String_11b0f9: ; 11b0f9 - db "ーーーーー@" -; 11b0ff - -Function11b0ff: ; 11b0ff - ld hl, hJoyPressed - ld a, [hl] - and $2 - jr nz, .asm_11b141 - ld a, [hl] - and $1 - jr nz, .asm_11b131 - call Function11b175 - jr nc, .asm_11b125 - ld a, [wcd4c] - inc a - and $3 - ld [wcd4c], a - xor a - ld [hBGMapMode], a - call Function11b099 - ld a, $1 - ld [hBGMapMode], a - ret - -.asm_11b125 - ld a, [wcd4c] - and a - ret z - inc a - and $3 - ld [wcd4c], a - ret - -.asm_11b131 - call Function11b20b - call Function11b22a - jr z, .asm_11b13d - ld a, $1 - jr .asm_11b148 - -.asm_11b13d - ld a, $2 - jr .asm_11b148 - -.asm_11b141 - ld hl, wcf63 - ld a, $7 - ld [hl], a - ret - -.asm_11b148 - call PlayClickSFX - ld [wcd4b], a - and a - jr z, .asm_11b16c - ld a, [wcf65] - cp $0 - jr z, .asm_11b163 - cp $fe - jr z, .asm_11b167 - cp $ff - jr z, .asm_11b16b - jp Function11ad8a - -.asm_11b163 - ld a, $1 - jr .asm_11b16c - -.asm_11b167 - ld a, $2 - jr .asm_11b16c - -.asm_11b16b - xor a - -.asm_11b16c - ld [wcd30], a - ld a, $4 - ld [wcf63], a - ret -; 11b175 - -Function11b175: ; 11b175 - ld a, [wc7d3] - ld d, a - ld a, [wc7d2] - ld e, a - ld hl, $ffa9 - ld a, [hl] - and $40 - jr nz, .asm_11b19a - ld a, [hl] - and $80 - jr nz, .asm_11b1ae - ld a, d - cp e - jr nc, .asm_11b1ed - ld a, [hl] - and $20 - jr nz, .asm_11b1c6 - ld a, [hl] - and $10 - jr nz, .asm_11b1d8 - jr .asm_11b1ed - -.asm_11b19a - ld hl, wc7d1 - ld a, [hl] - and a - jr z, .asm_11b1a4 - dec [hl] - jr .asm_11b1ef - -.asm_11b1a4 - ld hl, wc7d0 - ld a, [hl] - and a - jr z, .asm_11b1ed - dec [hl] - jr .asm_11b1ef - -.asm_11b1ae - ld hl, wc7d1 - ld a, [hl] - inc a - cp e - jr nc, .asm_11b1ed - cp d - jr nc, .asm_11b1bc - inc [hl] - jr .asm_11b1ef - -.asm_11b1bc - ld hl, wc7d0 - add [hl] - cp e - jr nc, .asm_11b1ed - inc [hl] - jr .asm_11b1ef - -.asm_11b1c6 - ld hl, wc7d0 - ld a, [hl] - and a - jr z, .asm_11b1ed - cp d - jr nc, .asm_11b1d4 - xor a - ld [hl], a - jr .asm_11b1ef - -.asm_11b1d4 - sub d - ld [hl], a - jr .asm_11b1ef - -.asm_11b1d8 - ld hl, wc7d0 - ld a, d - add a - add [hl] - jr c, .asm_11b1e3 - cp e - jr c, .asm_11b1e8 - -.asm_11b1e3 - ld a, e - sub d - ld [hl], a - jr .asm_11b1ef - -.asm_11b1e8 - ld a, [hl] - add d - ld [hl], a - jr .asm_11b1ef - -.asm_11b1ed - and a - ret - -.asm_11b1ef - call Function11b295 - call Function11b275 - scf - ret -; 11b1f7 - -Function11b1f7: ; 11b1f7 - ld hl, TileMap - ld a, $32 - ld bc, $0168 - call ByteFill - ret -; 11b203 - -Function11b203: ; 11b203 -.asm_11b203 - ld a, [de] - cp $ff - ret z - inc de - ld [hli], a - jr .asm_11b203 -; 11b20b - -Function11b20b: ; 11b20b - ld a, [wc7d1] - ld hl, wc7d0 - add [hl] - ld e, a - ld d, $0 - ld hl, $c6d0 - add hl, de - ld a, [hl] - ld [wd265], a - ret -; 11b21e - -Function11b21e: ; 11b21e - push de - push hl - ld a, [wd265] - dec a - call CheckCaughtMon - pop hl - pop de - ret -; 11b22a - -Function11b22a: ; 11b22a - push de - push hl - ld a, [wd265] - dec a - call CheckSeenMon - pop hl - pop de - ret -; 11b236 - -Function11b236: ; 11b236 - jp Functionfb8 -; 11b239 - -Function11b239: ; 11b239 - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ret -; 11b242 - -Function11b242: ; 11b242 - hlcoord 3, 4 - ld de, StringBuffer3 - call PlaceString - xor a - ld [MonType], a - callba GetGender - hlcoord 1, 4 - ld a, [CurPartySpecies] - ld bc, wcd2f - ld [bc], a - dec bc - jr c, asm_11b26a - jr z, asm_11b26f - ld a, $1 - ld [bc], a - -Function11b267: - ld [hl], $ef - ret - -asm_11b26a - xor a - ld [bc], a - ld [hl], $7f - ret - -asm_11b26f - ld a, $2 - ld [bc], a - -Function11b272: - ld [hl], $f5 - ret -; 11b275 - -Function11b275: ; 11b275 - call Function11b279 - ret -; 11b279 - -Function11b279: ; 11b279 - ld a, [wd265] - ld [CurSpecies], a - call Function11b22a - jr z, .asm_11b28f - call GetBaseData - ld a, [BaseGender] - ld [wcf65], a - jr .asm_11b294 - -.asm_11b28f - ld a, $ff - ld [wcf65], a - -.asm_11b294 - ret -; 11b295 - -Function11b295: ; 11b295 - hlcoord 4, 13 - ld de, String_11b308 - call PlaceString - hlcoord 4, 14 - ld de, String_11b308 - call PlaceString - call Function11b20b - call Function11b22a - jr z, .asm_11b2d1 - ld a, [$c608] - ld c, a - ld a, [$c608 + 1] - ld b, a - ld hl, $0007 - add hl, bc - xor a - ld [hl], a - ld hl, $0003 - add hl, bc - ld e, [hl] - callba Function8e9bc - hlcoord 4, 14 - push hl - call GetPokemonName - jr .asm_11b2e7 - -.asm_11b2d1 - ld a, [$c608] - ld c, a - ld a, [$c608 + 1] - ld b, a - ld hl, $0007 - add hl, bc - ld a, $50 - ld [hl], a - hlcoord 4, 13 - push hl - ld de, String_11b30e - -.asm_11b2e7 - ld a, $6 - ld bc, StringBuffer4 -.asm_11b2ec - push af - ld a, [de] - ld [bc], a - inc de - inc bc - pop af - dec a - and a - jr nz, .asm_11b2ec - pop hl - ld de, StringBuffer4 - call PlaceString - ret -; 11b2fe - -String_11b2fe: ; 11b2fe - db "あげる#@" -; 11b303 - -String_11b303: ; 11b303 - db "ほしい#@" -; 11b308 - -String_11b308: ; 11b308 - db " @" -; 11b30e - -String_11b30e: ; 11b30e - db "みはっけん@" -; 11b314 - -Function11b314: ; 11b314 - call Function11b31b - call Function11b3d9 - ret -; 11b31b - -Function11b31b: ; 11b31b - ld hl, Unknown_11b350 - ld a, [wcf63] - cp $2 - jr c, .asm_11b349 - ld a, [wc7d1] - cp $4 - jr nc, .asm_11b344 - cp $3 - jr c, .asm_11b349 - ld a, [wcf63] - cp $2 - jr z, .asm_11b349 - cp $3 - jr z, .asm_11b349 - cp $6 - jr z, .asm_11b349 - - ld bc, Unknown_11b37b - jr .asm_11b34c - -.asm_11b344 - ld bc, Unknown_11b389 - jr .asm_11b34c - -.asm_11b349 - ld bc, Unknown_11b36d - -.asm_11b34c - call Function11b397 - ret -; 11b350 - -Unknown_11b350: -INCBIN "baserom.gbc",$11b350,$11b36d - $11b350 - -Unknown_11b36d: -INCBIN "baserom.gbc",$11b36d,$11b37b - $11b36d -Unknown_11b37b: -INCBIN "baserom.gbc",$11b37b,$11b389 - $11b37b -Unknown_11b389: -INCBIN "baserom.gbc",$11b389,$11b397 - $11b389 - -Function11b397: ; 11b397 - ld de, Sprites -.asm_11b39a - ld a, [hl] - cp $ff - ret z - ld a, [wc7d1] - and $7 - swap a - add [hl] - inc hl - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [bc] - inc bc - ld [de], a - inc de - ld a, $5 - ld [de], a - inc de - jr .asm_11b39a -; 11b3b6 - -Function11b3b6: ; 11b3b6 -.asm_11b3b6 - ld a, [hl] - cp $ff - ret z - ld a, [wcd4d] - and $7 - swap a - add [hl] - inc hl - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - push hl - ld l, c - ld h, b - ld a, [wcd4e] - add [hl] - inc bc - ld [de], a - inc de - pop hl - ld a, $5 - ld [de], a - inc de - jr .asm_11b3b6 -; 11b3d9 - -Function11b3d9: ; 11b3d9 - ld de, Sprites + $70 - push de - ld a, [wc7d2] - dec a - ld e, a - ld a, [wc7d1] - ld hl, wc7d0 - add [hl] - cp e - jr z, .asm_11b40d - ld hl, $0000 - ld bc, $0070 - call AddNTimes - ld e, l - ld d, h - ld b, $0 - ld a, d - or e - jr z, .asm_11b40f - ld a, [wc7d2] - ld c, a -.asm_11b401 - ld a, e - sub c - ld e, a - ld a, d - sbc $0 - ld d, a - jr c, .asm_11b40f - inc b - jr .asm_11b401 - -.asm_11b40d - ld b, $70 - -.asm_11b40f - ld a, $15 - add b - pop hl - ld [hli], a - cp $41 - jr c, .asm_11b42b - ld a, [wcf63] - cp $4 - jr z, .asm_11b43b - cp $5 - jr z, .asm_11b43b - cp $7 - jr z, .asm_11b43b - cp $8 - jr z, .asm_11b43b - -.asm_11b42b - ld a, $9b - ld [hli], a - ld a, [wcd4c] - add $3c - ld [hli], a - ld a, [wcd4c] - add $1 - ld [hl], a - ret - -.asm_11b43b - ld a, $9b - ld [hli], a - ld a, $39 - ld [hli], a - xor a - ld [hl], a - ret -; 11b444 - -Function11b444: ; 11b444 - call Function11b44b - call Function11b45c - ret -; 11b44b - -Function11b44b: ; 11b44b - xor a - ld [wcf63], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - call UpdateTime - ret -; 11b45c - -Function11b45c: ; 11b45c -.asm_11b45c - call Function11b46a - call DelayFrame - ld a, [wcf63] - cp $4 - jr nz, .asm_11b45c - ret -; 11b46a - -Function11b46a: ; 11b46a - ld a, [wcf63] - ld e, a - ld d, 0 - ld hl, Jumptable_11b479 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 11b479 - -Jumptable_11b479: ; 11b479 - dw Function11b483 - dw Function11b570 - dw Function11b5c0 - dw Function11b5e0 - dw Function11b5e7 -; 11b483 - -Function11b483: ; 11b483 - call Function11b538 - ld hl, PlayerName - ld a, $5 -.asm_11b48b - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .asm_11b48b - ld de, $0030 - ld hl, PartyMon1Species - ld a, [wcd82] - dec a - push af -.asm_11b49f - and a - jr z, .asm_11b4a6 - add hl, de - dec a - jr .asm_11b49f - -.asm_11b4a6 - push bc - ld a, $30 -.asm_11b4a9 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .asm_11b4a9 - pop de - push bc - ld a, [de] - ld [CurSpecies], a - call GetBaseData - ld hl, $001f - add hl, de - ld a, [hl] - ld [CurPartyLevel], a - ld hl, $0024 - add hl, de - push hl - ld hl, $000a - add hl, de - pop de - push de - ld b, $1 - predef Functione167 - pop de - ld h, d - ld l, e - dec hl - dec hl - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - pop bc - ld de, $000b - ld hl, PartyMonOT - pop af - push af -.asm_11b4e8 - and a - jr z, .asm_11b4ef - add hl, de - dec a - jr .asm_11b4e8 - -.asm_11b4ef - ld a, $a -.asm_11b4f1 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .asm_11b4f1 - ld de, $000b - ld hl, PartyMonNicknames - pop af - push af -.asm_11b502 - and a - jr z, .asm_11b509 - add hl, de - dec a - jr .asm_11b502 - -.asm_11b509 - ld a, $a -.asm_11b50b - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .asm_11b50b - ld de, $002f - ld hl, $a600 - pop af -.asm_11b51b - and a - jr z, .asm_11b522 - add hl, de - dec a - jr .asm_11b51b - -.asm_11b522 - ld a, $0 - call GetSRAMBank - ld a, $2f -.asm_11b529 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .asm_11b529 - call CloseSRAM - jp Function11ad8a -; 11b538 - -Function11b538: ; 11b538 - ld bc, BattleMonNick + 5 - ld a, [PlayerID] - ld [wcd2a], a - ld [bc], a - inc bc - ld a, [PlayerID + 1] - ld [wcd2b], a - ld [bc], a - inc bc - ld a, [wd84a] - ld [wcd2c], a - ld [bc], a - inc bc - ld a, [wd84b] - ld [wcd2d], a - ld [bc], a - inc bc - ld a, [wcd2e] - ld [bc], a - inc bc - ld a, [wcd2f] - ld [bc], a - inc bc - ld a, [wcd30] - ld [bc], a - inc bc - ld a, [wd265] - ld [bc], a - inc bc - ret -; 11b570 - -Function11b570: ; 11b570 - call Function118007 - ld a, [ScriptVar] - and a - jr nz, .asm_11b57f - call Function11b585 - jp Function11ad8a - -.asm_11b57f - ld a, $4 - ld [wcf63], a - ret -; 11b585 - -Function11b585: ; 11b585 - ld a, $3 - ld [rSVBK], a - ld hl, $d800 - ld de, $c608 - ld bc, $008f - call CopyBytes - ld a, $1 - ld [rSVBK], a - ld a, $5 - call GetSRAMBank - ld de, $a800 - ld a, $1 - ld [de], a - inc de - ld hl, $c608 - ld bc, $008f - call CopyBytes - push de - pop hl - ld a, [hRTCMinutes] - ld [hli], a - ld a, [hRTCHours] - ld [hli], a - ld a, [hRTCDayLo] - ld [hli], a - ld a, [hRTCDayHi] - ld [hl], a - call CloseSRAM - ret -; 11b5c0 - -Function11b5c0: ; 11b5c0 - ld a, [wcd82] - dec a - ld [CurPartyMon], a - xor a - ld [wd10b], a - callba Functione039 - callba Function170807 - callba Function14a58 - jp Function11ad8a -; 11b5e0 - -Function11b5e0: ; 11b5e0 - xor a - ld [ScriptVar], a - jp Function11ad8a -; 11b5e7 - -Function11b5e7: ; 11b5e7 - ret -; 11b5e8 - -Function11b5e8: ; 11b5e8 - ld a, $0 - call GetSRAMBank - ld hl, wRTC - ld de, $c608 - ld bc, $0004 - call CopyBytes - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld hl, $c608 - ld de, $b08c - ld bc, $0004 - call CopyBytes - ld a, $2 - ld [$a800], a - ld a, [$a81f] - ld [wcd2a], a - ld a, [$a820] - ld [wcd2b], a - ld a, [$a821] - ld [wcd2c], a - ld a, [$a822] - ld [wcd2d], a - ld a, [$a823] - ld [wcd2e], a - ld a, [$a824] - ld [wcd2f], a - ld a, [$a825] - ld [wcd30], a - ld a, [$a826] - ld [wcd31], a - call CloseSRAM - call Function11b44b - call Function11b64c - ret -; 11b64c - -Function11b64c: ; 11b64c -.asm_11b64c - call Function11b65a - call DelayFrame - ld a, [wcf63] - cp $1 - jr nz, .asm_11b64c - ret -; 11b65a - -Function11b65a: ; 11b65a - ld a, [wcf63] - ld e, a - ld d, 0 - ld hl, Jumptable_11b669 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 11b669 - -Jumptable_11b669: ; 11b669 - dw Function11b66d - dw Function11b6b3 -; 11b66d - -Function11b66d: ; 11b66d - call Function1180b8 - ld a, [ScriptVar] - and a - jr nz, .asm_11b6b0 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, [StringBuffer2 + 10] - ld b, a - pop af - ld [rSVBK], a - ld a, b - and a - jr z, .asm_11b691 - cp $1 - jr nz, .asm_11b6b0 - call Function11b6b4 - jr .asm_11b6b0 - -.asm_11b691 - callba Function17081d - ld a, [ScriptVar] - and a - jr z, .asm_11b6b0 - xor a - ld [ScriptVar], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, $2 - ld [StringBuffer2 + 10], a - pop af - ld [rSVBK], a - -.asm_11b6b0 - jp Function11ad8a -; 11b6b3 - -Function11b6b3: ; 11b6b3 - ret -; 11b6b4 - -Function11b6b4: ; 11b6b4 - ld a, $5 - call GetSRAMBank - ld a, [wcd30] - ld [wc708], a - ld a, [wcd31] - ld [wc709], a - ld a, $8 - ld [BGMapBuffer], a - ld a, $c7 - ld [wcd21], a - ld a, $d - ld [CreditsTimer], a - ld a, $c6 - ld [wcd23], a - ld a, $3d - ld [wcd24], a - ld a, $c6 - ld [wcd25], a - ld a, $42 - ld [wcd26], a - ld a, $c6 - ld [wcd27], a - ld a, $47 - ld [wcd28], a - ld a, $c6 - ld [wcd29], a - ld a, $46 - ld [$c628], a - ld de, $c63d - ld c, $5 - callba Function17d073 - jr nc, .asm_11b70f - callba Function17d187 - -.asm_11b70f - ld de, $c63d - ld bc, $0105 - callba Function17d1e1 - jr nc, .asm_11b723 - callba Function17d187 - -.asm_11b723 - ld de, $c642 - ld c, $5 - callba Function17d073 - jr nc, .asm_11b736 - callba Function17d199 - -.asm_11b736 - ld de, $c642 - ld bc, $0105 - callba Function17d1e1 - jr nc, .asm_11b74a - callba Function17d199 - -.asm_11b74a - ld de, $c647 - ld c, $21 - callba Function17d073 - jr nc, .asm_11b75d - callba Function17d1ab - -.asm_11b75d - ld de, $c647 - ld bc, $0221 - callba Function17d1e1 - jr c, .asm_11b770 - ld a, b - cp $2 - jr nz, .asm_11b776 - -.asm_11b770 - callba Function17d1ab - -.asm_11b776 - ld de, $c668 - ld c, $5 - callba Function17d073 - jr nc, .asm_11b789 - callba Function17d1c9 - -.asm_11b789 - ld de, $c668 - ld bc, $0105 - callba Function17d1e1 - jr nc, .asm_11b79d - callba Function17d1c9 - -.asm_11b79d - ld a, [$c608 + 6] - cp $ff - jr nz, .asm_11b7a8 - xor a - ld [$c608 + 6], a - -.asm_11b7a8 - ld a, [wcd31] - ld [$c608 + 5], a - ld [CurSpecies], a - call GetBaseData - - ld hl, $c62c - ld a, [hl] - cp MIN_LEVEL - ld a, MIN_LEVEL - jr c, .asm_11b7c5 - ld a, [hl] - cp MAX_LEVEL - jr c, .asm_11b7c6 - ld a, MAX_LEVEL -.asm_11b7c5 - ld [hl], a -.asm_11b7c6 - ld [CurPartyLevel], a - - ld hl, $c616 + 1 - ld de, $c62c + 5 - ld b, $1 - predef Functione167 - ld de, $c62c + 5 - ld hl, $c62c + 3 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - call Function11b98f - ret -; 11b7e5 - -Function11b7e5: ; 11b7e5 - ld a, [$c608 + 5] - ld [wc702], a - ld [CurPartySpecies], a - ld a, [wcd81] - ld [wc74e], a - ld hl, $c63d - ld de, wc724 - ld bc, $0005 - call CopyBytes - ld a, $50 - ld [de], a - ld a, [$c608 + 11] - ld [wc731], a - ld a, [$c608 + 12] - ld [wc732], a - ld hl, $c608 + 26 - ld a, [hli] - ld [wc72f], a - ld a, [hl] - ld [wc730], a - ld bc, $c608 + 5 - callba GetCaughtGender - ld a, c - ld [wc733], a - call SpeechTextBox - call FadeToMenu - callba Function108016 - callba Function17d1f1 - ld a, $1 - ld [wd1e9], a - ld a, $2 - ld [InLinkBattle], a - callba Function421d8 - xor a - ld [InLinkBattle], a - callba Function14a58 - ld a, $5 - call GetSRAMBank - ld a, $5 - ld [$a800], a - call CloseSRAM - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetMapTrigger - ld a, d - or e - jr z, .asm_11b872 - ld a, $1 - ld [de], a - -.asm_11b872 - call Function2b3c - call RestartMapMusic - ret -; 11b879 - -Function11b879: ; 11b879 - callba Function17089a - ld a, [ScriptVar] - and a - ret z - ld a, $5 - call GetSRAMBank - ld a, [$a800] - ld [ScriptVar], a - ld a, [$a890] - ld [wcd49], a - ld a, [$a891] - ld [wcd4a], a - ld a, [$a892] - ld [wcd4b], a - ld a, [$a893] - ld [wcd4c], a - call CloseSRAM - ld a, [ScriptVar] - and a - ret z - ld hl, wcd4c - ld a, [hRTCDayHi] - cp [hl] - ret nz - dec hl - ld a, [hRTCDayLo] - cp [hl] - ret nz - ld hl, wcd4a - ld a, [hRTCHours] - cp [hl] - jr nc, .asm_11b8d8 - ld a, $18 - sub [hl] - ld hl, hRTCHours - add [hl] - ld [wcd4c], a - ld a, [hRTCMinutes] - ld [wcd4b], a - xor a - ld [wcd4a], a - jr .asm_11b8e2 - -.asm_11b8d8 - ld a, [hRTCMinutes] - ld [wcd4b], a - ld a, [hRTCHours] - ld [wcd4c], a - -.asm_11b8e2 - xor a - ld l, a - ld h, a - ld b, a - ld d, a - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld c, $3c - call AddNTimes - add hl, de - push hl - xor a - ld l, a - ld h, a - ld b, a - ld d, a - ld a, [wcd49] - ld e, a - ld a, [wcd4a] - ld c, $3c - call AddNTimes - add hl, de - ld a, l - cpl - add $1 - ld e, a - ld a, h - cpl - adc $0 - ld d, a - pop hl - add hl, de - ld de, $ff88 - add hl, de - bit 7, h - ret z - ld a, $2 - ld [ScriptVar], a - ret -; 11b920 - -Function11b920: ; 11b920 - call Function11b44b - ld a, $5 - call GetSRAMBank - ld hl, $a81f - ld de, BattleMonNick + 5 - ld bc, $0008 - call CopyBytes - call CloseSRAM - call Function118000 - ret -; 11b93b - -Function11b93b: ; 11b93b - ld a, $5 - call GetSRAMBank - xor a - ld [$a800], a - ld hl, $a823 - ld de, $c608 - ld bc, $008f - call CopyBytes - call CloseSRAM - ld a, $8 - ld [BGMapBuffer], a - ld a, $c6 - ld [wcd21], a - ld a, $11 - ld [CreditsTimer], a - ld a, $c6 - ld [wcd23], a - ld a, $41 - ld [wcd24], a - ld a, $c6 - ld [wcd25], a - ld a, $46 - ld [wcd26], a - ld a, $c6 - ld [wcd27], a - ld a, $4b - ld [wcd28], a - ld a, $c6 - ld [wcd29], a - call Function11b98f - callba Function14a58 - ret -; 11b98f - -Function11b98f: ; 11b98f - ld hl, PartyCount - ld a, [hl] - ld e, a - inc [hl] - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - inc hl - ld bc, PartySpecies - ld d, e -.asm_11b9a2 - inc bc - dec d - jr nz, .asm_11b9a2 - ld a, e - ld [CurPartyMon], a - ld a, [hl] - ld [bc], a - inc bc - ld a, $ff - ld [bc], a - ld hl, PartyMon1Species - ld bc, PartyMon2 - PartyMon1 - ld a, e - ld [wcd2a], a -.asm_11b9ba - add hl, bc - dec a - and a - jr nz, .asm_11b9ba - ld e, l - ld d, h - ld a, [CreditsTimer] - ld l, a - ld a, [wcd23] - ld h, a - ld bc, PartyMon2 - PartyMon1 - call CopyBytes - ld hl, PartyMonOT - ld bc, $000b - ld a, [wcd2a] -.asm_11b9d8 - add hl, bc - dec a - and a - jr nz, .asm_11b9d8 - ld e, l - ld d, h - ld a, [wcd24] - ld l, a - ld a, [wcd25] - ld h, a - ld bc, $000a - call CopyBytes - ld a, $50 - ld [de], a - ld hl, PartyMonNicknames - ld bc, $000b - ld a, [wcd2a] -.asm_11b9f9 - add hl, bc - dec a - and a - jr nz, .asm_11b9f9 - ld e, l - ld d, h - ld a, [wcd26] - ld l, a - ld a, [wcd27] - ld h, a - ld bc, $000a - call CopyBytes - ld a, $50 - ld [de], a - ld hl, $a600 - ld bc, $002f - ld a, [wcd2a] -.asm_11ba1a - add hl, bc - dec a - and a - jr nz, .asm_11ba1a - ld a, $0 - call GetSRAMBank - ld e, l - ld d, h - ld a, [wcd28] - ld l, a - ld a, [wcd29] - ld h, a - ld bc, $002f - call CopyBytes - call CloseSRAM - ret -; 11ba38 - -Function11ba38: ; 11ba38 - callba Functione538 - ret c - xor a - ld [ScriptVar], a - ret -; 11ba44 - -Unknown_11ba44: -INCBIN "baserom.gbc",$11ba44,$11bb7d - $11ba44 - -Unknown_11bb7d: -INCBIN "baserom.gbc",$11bb7d,$11bc9e - $11bb7d - - -SECTION "bank47", ROMX, BANK[$47] - -Function11c000:: ; 11c000 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld hl, wd105 - ld a, [hl] - dec a - ld e, a - ld d, 0 - ld hl, Unknown_11f2f0 - add hl, de - ld a, [hl] - and a - jr nz, .asm_11c026 - ld a, [hRandomAdd] - and $1f - cp $19 - jr c, .asm_11c021 - sub $19 - -.asm_11c021 - ld hl, Unknown_11f332 - jr .asm_11c033 - -.asm_11c026 - ld a, [hRandomAdd] - and $f - cp $f - jr c, .asm_11c030 - sub $f - -.asm_11c030 - ld hl, Unknown_11f3ce - -.asm_11c033 - ld b, 0 - dec c - jr nz, .asm_11c03d - ld [wd000 + $200], a - jr .asm_11c040 - -.asm_11c03d - ld a, [wd000 + $200] - -.asm_11c040 - push af - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld h, a - ld l, c - pop af - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld l, c - ld h, a - bccoord 1, 14 - pop af - ld [rSVBK], a - call Function13e5 - ret -; 11c05d - -Function11c05d: ; 11c05d - ld a, e - or d - jr z, .asm_11c071 - ld a, e - and d - cp $ff - jr z, .asm_11c071 - push hl - call Function11c156 - pop hl - call PlaceString - and a - ret - -.asm_11c071 - ld c, l - ld b, h - scf - ret -; 11c075 - -Function11c075: ; 11c075 - push de - ld a, c - call Function11c254 - pop de - ld bc, wcd36 - call Function11c08f - ret -; 11c082 - -Function11c082: ; 11c082 - push de - ld a, c - call Function11c254 - pop de - ld bc, wcd36 - call Function11c0c6 - ret -; 11c08f - -Function11c08f: ; 11c08f - ld l, e - ld h, d - push hl - ld a, $3 -.asm_11c094 - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - push bc - call Function11c05d - jr c, .asm_11c0a2 - inc bc - -.asm_11c0a2 - ld l, c - ld h, b - pop bc - pop af - dec a - jr nz, .asm_11c094 - pop hl - ld de, $0028 - add hl, de - ld a, $3 -.asm_11c0b0 - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - push bc - call Function11c05d - jr c, .asm_11c0be - inc bc - -.asm_11c0be - ld l, c - ld h, b - pop bc - pop af - dec a - jr nz, .asm_11c0b0 - ret -; 11c0c6 - - -Function11c0c6: ; 11c0c6 - ld a, [wcf63] - ld l, a - ld a, [wcf64] - ld h, a - push hl - ld hl, $c608 + 16 - ld a, $0 - ld [hli], a - push de - xor a - ld [wcf63], a - ld a, $12 - ld [wcf64], a - ld a, $6 -.asm_11c0e1 - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - or e - jr z, .asm_11c133 - push hl - push bc - call Function11c156 - call Function11c14a - ld e, c - pop bc - pop hl - ld a, e - or a - jr z, .asm_11c133 -.asm_11c0fa - ld a, [wcf64] - cp $12 - jr z, .asm_11c102 - inc e - -.asm_11c102 - cp e - jr nc, .asm_11c11c - ld a, [wcf63] - inc a - ld [wcf63], a - ld [hl], $4e - rra - jr c, .asm_11c113 - ld [hl], $55 - -.asm_11c113 - inc hl - ld a, $12 - ld [wcf64], a - dec e - jr .asm_11c0fa - -.asm_11c11c - cp $12 - jr z, .asm_11c123 - ld [hl], $7f - inc hl - -.asm_11c123 - sub e - ld [wcf64], a - ld de, $c608 -.asm_11c12a - ld a, [de] - cp $50 - jr z, .asm_11c133 - inc de - ld [hli], a - jr .asm_11c12a - -.asm_11c133 - pop af - dec a - jr nz, .asm_11c0e1 - ld [hl], $57 - pop bc - ld hl, $c608 + 16 - call Function13e5 - pop hl - ld a, l - ld [wcf63], a - ld a, h - ld [wcf64], a - ret -; 11c14a - -Function11c14a: ; 11c14a - ld c, $0 - ld hl, $c608 -.asm_11c14f - ld a, [hli] - cp $50 - ret z - inc c - jr .asm_11c14f -; 11c156 - -Function11c156: ; 11c156 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, $50 - ld hl, $c608 - ld bc, $000b - call ByteFill - ld a, d - and a - jr z, .asm_11c19c - ld hl, Unknown_11daac - dec d - sla d - ld c, d - ld b, $0 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - push bc - pop hl - ld c, e - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - add hl, bc - ld bc, $0005 -.asm_11c18f - ld de, $c608 - call CopyBytes - ld de, $c608 - pop af - ld [rSVBK], a - ret - -.asm_11c19c - ld a, e - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - ld bc, $000a - jr .asm_11c18f -; 11c1ab - -Function11c1ab: ; 11c1ab - ld a, [$ffaa] - push af - ld a, $1 - ld [$ffaa], a - call Function11c1b9 - pop af - ld [$ffaa], a - ret -; 11c1b9 - -Function11c1b9: ; 11c1b9 - call Function11c1ca - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - call Function11c283 - pop af - ld [rSVBK], a - ret -; 11c1ca - -Function11c1ca: ; 11c1ca - xor a - ld [wcf63], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ld [wcd23], a - ld [BGMapBuffer], a - ld [wcd21], a - ld [CreditsTimer], a - ld [wcd35], a - ld [wcd2b], a - ld a, $ff - ld [wcd24], a - ld a, [wcfa9] - dec a - call Function11c254 - call WhiteBGMap - call ClearSprites - call ClearScreen - call Function11d323 - call Function32f9 - call DisableLCD - ld hl, GFX_11d67e - ld de, VTiles2 - ld bc, $60 - call CopyBytes - ld hl, LZ_11d6de - ld de, VTiles0 - call Decompress - call EnableLCD - callba Function104061 - callba Function8cf53 - callba Function1500c - callba Function40c30 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, $c6d0 - ld de, LYOverrides - ld bc, $100 - call CopyBytes - pop af - ld [rSVBK], a - call Function11d4aa - call Function11d3ba - ret -; 11c254 - -Function11c254: ; 11c254 - push af - ld a, $4 - call GetSRAMBank - ld hl, $a007 - pop af - sla a - sla a - ld c, a - sla a - add c - ld c, a - ld b, $0 - add hl, bc - ld de, wcd36 - ld bc, $000c - call CopyBytes - call CloseSRAM - ret -; 11c277 - - -Function11c277: ; 11c277 (47:4277) - ld a, $7f - hlcoord 0, 6 - ld bc, $f0 - call ByteFill - ret - -Function11c283: ; 11c283 -.asm_11c283 - call Functiona57 - ld a, [hJoyPressed] - ld [hJoypadPressed], a - ld a, [wcf63] - bit 7, a - jr nz, .asm_11c2a2 - call Function11c2ac - callba Function8cf69 - callba Function104061 - jr .asm_11c283 - -.asm_11c2a2 - callba Function8cf53 - call ClearSprites - ret -; 11c2ac - -Function11c2ac: ; 11c2ac - ld a, [wcf63] - ld e, a - ld d, 0 - ld hl, Jumptable_11c2bb - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 11c2bb - - -Jumptable_11c2bb: ; 11c2bb (47:42bb) - dw Function11c2e9 - dw Function11c346 - dw Function11c35f - dw Function11c373 - dw Function11c3c2 - dw Function11c3ed - dw Function11c52c - dw Function11c53d - dw Function11c658 - dw Function11c675 - dw Function11c9bd - dw Function11c9c3 - dw Function11caad - dw Function11cab3 - dw Function11cb52 - dw Function11cb66 - dw Function11cbf5 - dw Function11ccef - dw Function11cd04 - dw Function11cd20 - dw Function11cd54 - dw Function11ce0b - dw Function11ce2b - - -Function11c2e9: ; 11c2e9 (47:42e9) - lb de, $1a, $0d - ld a, $1d - call Function3b2a - lb de, $42, $0d - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $1 - ld [hl], a - lb de, $4a, $10 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $3 - ld [hl], a - lb de, $50, $80 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $4 - ld [hl], a - lb de, $50, $20 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $5 - ld [hl], a - lb de, $50, $10 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $2 - ld [hl], a - ld hl, wcd23 - set 1, [hl] - set 2, [hl] - jp Function11cfb5 - -Function11c346: ; 11c346 (47:4346) - ld a, $9 - ld [wcd2d], a - ld a, $2 - ld [wcd2e], a - ld [wcd2f], a - ld [wcd30], a - ld de, wcd2d - call Function11cfce - jp Function11cfb5 - -Function11c35f: ; 11c35f (47:435f) - ld hl, wcd2f - inc [hl] - inc [hl] - dec hl - dec hl - dec [hl] - push af - ld de, wcd2d - call Function11cfce - pop af - ret nz - jp Function11cfb5 - -Function11c373: ; 11c373 (47:4373) - ld hl, wcd30 - inc [hl] - inc [hl] - dec hl - dec hl - dec [hl] - push af - ld de, wcd2d - call Function11cfce - pop af - ret nz - call Function11c38a - jp Function11cfb5 - -Function11c38a: ; 11c38a (47:438a) - ld hl, Unknown_11c986 - ld bc, wcd36 - ld a, $6 -.asm_11c392 - push af - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - push de - pop hl - ld a, [bc] - inc bc - ld e, a - ld a, [bc] - inc bc - ld d, a - push bc - or e - jr z, .asm_11c3af - ld a, e - and d - cp $ff - jr z, .asm_11c3af - call Function11c05d - jr .asm_11c3b5 -.asm_11c3af - ld de, String_11c3bc - call PlaceString -.asm_11c3b5 - pop bc - pop hl - pop af - dec a - jr nz, .asm_11c392 - ret -; 11c3bc (47:43bc) - -String_11c3bc: ; 11c3bc - db "ーーーーー@" -; 11c3c2 - -Function11c3c2: ; 11c3c2 (47:43c2) - call Function11c277 - ld de, Unknown_11cfbe - call Function11d035 - hlcoord 1, 7 - ld de, String_11c4db - call PlaceString - hlcoord 1, 16 - ld de, String_11c51b - call PlaceString - call Function11c4be - ld hl, wcd23 - set 0, [hl] - ld hl, wcd24 - res 0, [hl] - call Function11cfb5 - -Function11c3ed: ; 11c3ed (47:43ed) - ld hl, BGMapBuffer ; wcd20 (aliases: CreditsPos) - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $8 - jr nz, .asm_11c426 - ld a, [de] - and $2 - jr nz, .asm_11c41a - ld a, [de] - and $1 - jr nz, .asm_11c42c - ld de, $ffa9 - ld a, [de] - and $40 - jr nz, .asm_11c47c - ld a, [de] - and $80 - jr nz, .asm_11c484 - ld a, [de] - and $20 - jr nz, .asm_11c48c - ld a, [de] - and $10 - jr nz, .asm_11c498 - ret -.asm_11c41a - call PlayClickSFX -.asm_11c41d - ld hl, wcd24 - set 0, [hl] - ld a, $c - jr .asm_11c475 -.asm_11c426 - ld a, $8 - ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) - ret -.asm_11c42c - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - cp $6 - jr c, .asm_11c472 - sub $6 - jr z, .asm_11c469 - dec a - jr z, .asm_11c41d - ld hl, wcd36 - ld c, $c - xor a -.asm_11c440 - or [hl] - inc hl - dec c - jr nz, .asm_11c440 - and a - jr z, .asm_11c460 - ld de, Unknown_11cfba - call Function11cfce - decoord 1, 2 - ld bc, wcd36 - call Function11c08f - ld hl, wcd24 - set 0, [hl] - ld a, $e - jr .asm_11c475 -.asm_11c460 - ld hl, wcd24 - set 0, [hl] - ld a, $11 - jr .asm_11c475 -.asm_11c469 - ld hl, wcd24 - set 0, [hl] - ld a, $a - jr .asm_11c475 -.asm_11c472 - call Function11c4a5 -.asm_11c475 - ld [wcf63], a - call PlayClickSFX - ret -.asm_11c47c - ld a, [hl] - cp $3 - ret c - sub $3 - jr .asm_11c4a3 -.asm_11c484 - ld a, [hl] - cp $6 - ret nc - add $3 - jr .asm_11c4a3 -.asm_11c48c - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - dec a - jr .asm_11c4a3 -.asm_11c498 - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - inc a -.asm_11c4a3 - ld [hl], a - ret - -Function11c4a5: ; 11c4a5 (47:44a5) - ld hl, wcd23 - res 0, [hl] - ld a, [wcd2b] - and a - jr nz, .asm_11c4b7 - xor a - ld [wcd21], a - ld a, $6 - ret -.asm_11c4b7 - xor a - ld [CreditsTimer], a - ld a, $15 - ret - -Function11c4be: ; 11c4be (47:44be) - ld a, $1 - hlcoord 0, 6, AttrMap - ld bc, $a0 - call ByteFill - ld a, $7 - hlcoord 0, 14, AttrMap - ld bc, $28 - call ByteFill - callba Function104061 - ret -; 11c4db (47:44db) - -String_11c4db: ; 11c4db - db "6つのことば", $1f, "くみあわせます" - next "かえたいところ", $1f, "えらぶと でてくる" - next "ことばのグループから いれかえたい" - next "たんご", $1f, "えらんでください" - db "@" -; 11c51b - -String_11c51b: ; 11c51b - db "ぜんぶけす やめる けってい@" -; 11c52c - -Function11c52c: ; 11c52c (47:452c) - call Function11c277 - call Function11c5f0 - call Function11c618 - ld hl, wcd24 - res 1, [hl] - call Function11cfb5 - -Function11c53d: ; 11c53d (47:453d) - ld hl, wcd21 - ld de, hJoypadPressed ; $ffa3 - - ld a, [de] - and START - jr nz, .start - - ld a, [de] - and SELECT - jr nz, .select - - ld a, [de] - and B_BUTTON - jr nz, .b - - ld a, [de] - and A_BUTTON - jr nz, .a - - ld de, $ffa9 - - ld a, [de] - and D_UP - jr nz, .up - - ld a, [de] - and D_DOWN - jr nz, .down - - ld a, [de] - and D_LEFT - jr nz, .left - - ld a, [de] - and D_RIGHT - jr nz, .right - - ret - -.a - ld a, [wcd21] - cp $f - jr c, .asm_11c59d - sub $f - jr z, .asm_11c5ab - dec a - jr z, .asm_11c599 - jr .b - -.start - ld hl, wcd24 - set 0, [hl] - ld a, $8 - ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) - -.b - ld a, $4 - jr .asm_11c59f - -.select - ld a, [wcd2b] - xor $1 - ld [wcd2b], a - ld a, $15 - jr .asm_11c59f - -.asm_11c599 - ld a, $13 - jr .asm_11c59f - -.asm_11c59d - ld a, $8 - -.asm_11c59f - ld hl, wcd24 - set 1, [hl] - ld [wcf63], a - call PlayClickSFX - ret - -.asm_11c5ab - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - call Function11ca6a - call PlayClickSFX - ret - -.up - ld a, [hl] - cp $3 - ret c - sub $3 - jr .asm_11c5ee - -.down - ld a, [hl] - cp $f - ret nc - add $3 - jr .asm_11c5ee - -.left - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - cp $9 - ret z - cp $c - ret z - cp $f - ret z - dec a - jr .asm_11c5ee - -.right - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - cp $b - ret z - cp $e - ret z - cp $11 - ret z - inc a - -.asm_11c5ee - ld [hl], a - ret -; 11c5f0 - -Function11c5f0: ; 11c5f0 (47:45f0) - ld de, Strings_11da52 - ld bc, Unknown_11c63a - ld a, $f -.asm_11c5f8 - push af - ld a, [bc] - inc bc - ld l, a - ld a, [bc] - inc bc - ld h, a - push bc - call PlaceString -.asm_11c603 - inc de - ld a, [de] - cp $50 - jr z, .asm_11c603 - pop bc - pop af - dec a - jr nz, .asm_11c5f8 - hlcoord 1, 17 - ld de, String_11c62a - call PlaceString - ret - -Function11c618: ; 11c618 (47:4618) - ld a, $2 - hlcoord 0, 6, AttrMap - ld bc, $c8 - call ByteFill - callba Function104061 - ret -; 11c62a (47:462a) - -String_11c62a: ; 11c62a - db "けす モード やめる@" -; 11c63a - -Unknown_11c63a: ; 11c63a - dwcoord 1, 7 - dwcoord 7, 7 - dwcoord 13, 7 - dwcoord 1, 9 - dwcoord 7, 9 - dwcoord 13, 9 - dwcoord 1, 11 - dwcoord 7, 11 - dwcoord 13, 11 - dwcoord 1, 13 - dwcoord 7, 13 - dwcoord 13, 13 - dwcoord 1, 15 - dwcoord 7, 15 - dwcoord 13, 15 -; 11c658 - -Function11c658: ; 11c658 (47:4658) - call Function11c277 - call Function11c770 - ld de, Unknown_11cfc2 - call Function11d035 - call Function11c9ab - call Function11c7bc - call Function11c86e - ld hl, wcd24 - res 3, [hl] - call Function11cfb5 - -Function11c675: ; 11c675 (47:4675) - ld hl, wcd25 - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and A_BUTTON - jr nz, .a - ld a, [de] - and B_BUTTON - jr nz, .b - ld a, [de] - and START - jr nz, .start - ld a, [de] - and SELECT - jr z, .select - - ld a, [wcd26] - and a - ret z - sub $c - jr nc, .asm_11c699 - xor a -.asm_11c699 - ld [wcd26], a - jr .asm_11c6c4 - -.start - ld hl, wcd28 - ld a, [wcd26] - add $c - cp [hl] - ret nc - ld [wcd26], a - ld a, [hl] - ld b, a - ld hl, wcd25 - ld a, [wcd26] - add [hl] - jr c, .asm_11c6b9 - cp b - jr c, .asm_11c6c4 -.asm_11c6b9 - ld a, [wcd28] - ld hl, wcd26 - sub [hl] - dec a - ld [wcd25], a -.asm_11c6c4 - call Function11c992 - call Function11c7bc - call Function11c86e - ret - -.select - ld de, $ffa9 - ld a, [de] - and D_UP - jr nz, .asm_11c708 - ld a, [de] - and D_DOWN - jr nz, .asm_11c731 - ld a, [de] - and D_LEFT - jr nz, .asm_11c746 - ld a, [de] - and D_RIGHT - jr nz, .asm_11c755 - ret - -.a - call Function11c8f6 - ld a, $4 - ld [wcd35], a - jr .asm_11c6fc -.b - ld a, [wcd2b] - and a - jr nz, .asm_11c6fa - ld a, $6 - jr .asm_11c6fc -.asm_11c6fa - ld a, $15 -.asm_11c6fc - ld [wcf63], a - ld hl, wcd24 - set 3, [hl] - call PlayClickSFX - ret -.asm_11c708 - ld a, [hl] - cp $3 - jr c, .asm_11c711 - sub $3 - jr .asm_11c76e -.asm_11c711 - ld a, [wcd26] - sub $3 - ret c - ld [wcd26], a - jr .asm_11c6c4 -.asm_11c71c - ld hl, wcd28 - ld a, [wcd26] - add $c - ret c - cp [hl] - ret nc - ld a, [wcd26] - add $3 - ld [wcd26], a - jr .asm_11c6c4 -.asm_11c731 - ld a, [wcd28] - ld b, a - ld a, [wcd26] - add [hl] - add $3 - cp b - ret nc - ld a, [hl] - cp $9 - jr nc, .asm_11c71c - add $3 - jr .asm_11c76e -.asm_11c746 - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - cp $9 - ret z - dec a - jr .asm_11c76e -.asm_11c755 - ld a, [wcd28] - ld b, a - ld a, [wcd26] - add [hl] - inc a - cp b - ret nc - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - cp $b - ret z - inc a -.asm_11c76e - ld [hl], a - ret - -Function11c770: ; 11c770 (47:4770) - xor a - ld [wcd25], a - ld [wcd26], a - ld [wcd27], a - ld a, [wcd2b] - and a - jr nz, .asm_11c7ab - ld a, [wcd21] - and a - jr z, .asm_11c799 - dec a - sla a - ld hl, Unknown_11f220 - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld [wcd28], a - ld a, [hl] -.asm_11c795 - ld [wcd29], a - ret -.asm_11c799 - ld a, [wc7d2] - ld [wcd28], a -.asm_11c79f - ld c, $c - call SimpleDivide - and a - jr nz, .asm_11c7a8 - dec b -.asm_11c7a8 - ld a, b - jr .asm_11c795 -.asm_11c7ab - ld hl, $c68a + 30 - ld a, [CreditsTimer] - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, [hl] - ld [wcd28], a - jr .asm_11c79f - -Function11c7bc: ; 11c7bc (47:47bc) - ld bc, Unknown_11c854 - ld a, [wcd2b] - and a - jr nz, .asm_11c814 - ld a, [wcd21] - ld d, a - and a - jr z, .asm_11c7e9 - ld a, [wcd26] - ld e, a -.asm_11c7d0 - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - ret z - push bc - push de - call Function11c05d - pop de - pop bc - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c7d0 - ret -.asm_11c7e9 - ld hl, wd100 - ld a, [wcd26] - ld e, a - add hl, de -.asm_11c7f1 - push de - ld a, [hli] - ld e, a - ld d, $0 - push hl - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - jr z, .asm_11c811 - push bc - call Function11c05d - pop bc - pop hl - pop de - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c7f1 - ret -.asm_11c811 - pop hl - pop de - ret -.asm_11c814 - ld hl, $c648 - ld a, [wcd22] - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wcd26] - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [wcd26] - ld e, a -.asm_11c831 - push de - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - jr z, .asm_11c851 - push bc - call Function11c05d - pop bc - pop hl - pop de - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c831 - ret -.asm_11c851 - pop hl - pop de - ret -; 11c854 (47:4854) - -Unknown_11c854: ; 11c854 - dwcoord 2, 8 - dwcoord 8, 8 - dwcoord 14, 8 - dwcoord 2, 10 - dwcoord 8, 10 - dwcoord 14, 10 - dwcoord 2, 12 - dwcoord 8, 12 - dwcoord 14, 12 - dwcoord 2, 14 - dwcoord 8, 14 - dwcoord 14, 14 - dw -1 -; 11c86e - -Function11c86e: ; 11c86e (47:486e) - ld a, [wcd26] - and a - jr z, .asm_11c88a - hlcoord 2, 17 - ld de, String_11c8f0 - call PlaceString - hlcoord 6, 17 - ld c, $3 - xor a -.asm_11c883 - ld [hli], a - inc a - dec c - jr nz, .asm_11c883 - jr .asm_11c895 -.asm_11c88a - hlcoord 2, 17 - ld c, $7 - ld a, $7f -.asm_11c891 - ld [hli], a - dec c - jr nz, .asm_11c891 -.asm_11c895 - ld hl, wcd28 - ld a, [wcd26] - add $c - jr c, .asm_11c8b7 - cp [hl] - jr nc, .asm_11c8b7 - hlcoord 16, 17 - ld de, String_11c8f3 - call PlaceString - hlcoord 11, 17 - ld a, $3 - ld c, a -.asm_11c8b1 - ld [hli], a - inc a - dec c - jr nz, .asm_11c8b1 - ret -.asm_11c8b7 - hlcoord 17, 16 - ld a, $7f - ld [hl], a - hlcoord 11, 17 - ld c, $7 -.asm_11c8c2 - ld [hli], a - dec c - jr nz, .asm_11c8c2 - ret -; 11c8c7 (47:48c7) - -Function11c8c7: ; 11c8c7 - inc a - push af - and $f - ld [hDividend], a - pop af - and $f0 - swap a - ld [hQuotient], a - xor a - ld [$ffb5], a - push hl - callba Function11a80c - pop hl - ld a, [wcd63] - add $f6 - ld [hli], a - ld a, [wcd62] - add $f6 - ld [hli], a - ret -; 11c8ec - -String_11c8ec: ; 11c8ec - db "ぺージ@" -; 11c8f0 - -String_11c8f0: ; 11c8f0 - db "まえ@" -; 11c8f3 - -String_11c8f3: ; 11c8f3 - db "つぎ@" -; 11c8f6 - -Function11c8f6: ; 11c8f6 (47:48f6) - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - call Function11c95d - push hl - ld a, [wcd2b] - and a - jr nz, .asm_11c938 - ld a, [wcd21] - ld d, a - and a - jr z, .asm_11c927 - ld hl, wcd26 - ld a, [wcd25] - add [hl] -.asm_11c911 - ld e, a -.asm_11c912 - pop hl - push de - call Function11c05d - pop de - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - ld c, a - ld b, $0 - ld hl, wcd36 - add hl, bc - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret -.asm_11c927 - ld hl, wcd26 - ld a, [wcd25] - add [hl] - ld c, a - ld b, $0 - ld hl, wd100 - add hl, bc - ld a, [hl] - jr .asm_11c911 -.asm_11c938 - ld hl, $c648 - ld a, [wcd22] - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wcd26] - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [wcd25] - ld e, a - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - jr .asm_11c912 - -Function11c95d: ; 11c95d (47:495d) - sla a - ld c, a - ld b, 0 - ld hl, Unknown_11c986 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - push bc - push bc - pop hl - ld a, $5 - ld c, a - ld a, $7f -.asm_11c972 - ld [hli], a - dec c - jr nz, .asm_11c972 - dec hl - ld bc, -20 - add hl, bc - ld a, $5 - ld c, a - ld a, $7f -.asm_11c980 - ld [hld], a - dec c - jr nz, .asm_11c980 - pop hl - ret -; 11c986 (47:4986) - -Unknown_11c986: - dwcoord 1, 2 - dwcoord 7, 2 - dwcoord 13, 2 - dwcoord 1, 4 - dwcoord 7, 4 - dwcoord 13, 4 -; 11c992 - -Function11c992: ; 11c992 (47:4992) - ld a, $8 - hlcoord 2, 7 -.asm_11c997 - push af - ld a, $7f - push hl - ld bc, $11 - call ByteFill - pop hl - ld bc, $14 - add hl, bc - pop af - dec a - jr nz, .asm_11c997 - ret - -Function11c9ab: ; 11c9ab (47:49ab) - ld a, $7 - hlcoord 0, 6, AttrMap - ld bc, $c8 - call ByteFill - callba Function104061 - ret - -Function11c9bd: ; 11c9bd (47:49bd) - ld de, String_11ca38 - call Function11ca7f - -Function11c9c3: ; 11c9c3 (47:49c3) - ld hl, wcd2a - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $1 - jr nz, .asm_11c9de - ld a, [de] - and $2 - jr nz, .asm_11c9e9 - ld a, [de] - and $40 - jr nz, .asm_11c9f7 - ld a, [de] - and $80 - jr nz, .asm_11c9fc - ret -.asm_11c9de - ld a, [hl] - and a - jr nz, .asm_11c9e9 - call Function11ca5e - xor a - ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) -.asm_11c9e9 - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wcf63], a - call PlayClickSFX - ret -.asm_11c9f7 - ld a, [hl] - and a - ret z - dec [hl] - ret -.asm_11c9fc - ld a, [hl] - and a - ret nz - inc [hl] - ret - -Function11ca01: ; 11ca01 (47:4a01) - hlcoord 14, 7, AttrMap - ld de, $14 - ld a, $5 - ld c, a -.asm_11ca0a - push hl - ld a, $6 - ld b, a - ld a, $7 -.asm_11ca10 - ld [hli], a - dec b - jr nz, .asm_11ca10 - pop hl - add hl, de - dec c - jr nz, .asm_11ca0a - -Function11ca19: ; 11ca19 (47:4a19) - hlcoord 0, 12, AttrMap - ld de, $14 - ld a, $6 - ld c, a -.asm_11ca22 - push hl - ld a, $14 - ld b, a - ld a, $7 -.asm_11ca28 - ld [hli], a - dec b - jr nz, .asm_11ca28 - pop hl - add hl, de - dec c - jr nz, .asm_11ca22 - callba Function104061 - ret -; 11ca38 (47:4a38) - -String_11ca38: ; 11ca38 - db "とうろくちゅう", $25, "あいさつ", $1f, "ぜんぶ" - next "けしても よろしいですか?@" -; 11ca57 - -String_11ca57: ; 11ca57 - db "はい" - next "いいえ@" -; 11ca5e - -Function11ca5e: ; 11ca5e (47:4a5e) - xor a -.asm_11ca5f - push af - call Function11ca6a - pop af - inc a - cp $6 - jr nz, .asm_11ca5f - ret - -Function11ca6a: ; 11ca6a (47:4a6a) - ld hl, wcd36 - ld c, a - ld b, $0 - add hl, bc - add hl, bc - ld [hl], b - inc hl - ld [hl], b - call Function11c95d - ld de, String_11c3bc - call PlaceString - ret - -Function11ca7f: ; 11ca7f (47:4a7f) - push de - ld de, Unknown_11cfc6 - call Function11cfce - ld de, Unknown_11cfca - call Function11cfce - hlcoord 1, 14 - pop de - call PlaceString - hlcoord 16, 8 - ld de, String_11ca57 - call PlaceString - call Function11ca01 - ld a, $1 - ld [wcd2a], a - ld hl, wcd24 - res 4, [hl] - call Function11cfb5 - ret - -Function11caad: ; 11caad (47:4aad) - ld de, String_11cb1c - call Function11ca7f - -Function11cab3: ; 11cab3 (47:4ab3) - ld hl, wcd2a - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $1 - jr nz, .asm_11cace - ld a, [de] - and $2 - jr nz, .asm_11caf9 - ld a, [de] - and $40 - jr nz, .asm_11cb12 - ld a, [de] - and $80 - jr nz, .asm_11cb17 - ret -.asm_11cace - call PlayClickSFX - ld a, [hl] - and a - jr nz, .asm_11cafc - ld a, [wcd35] - and a - jr z, .asm_11caf3 - cp $ff - jr z, .asm_11caf3 - ld a, $ff - ld [wcd35], a - hlcoord 1, 14 - ld de, String_11cb31 - call PlaceString - ld a, $1 - ld [wcd2a], a - ret -.asm_11caf3 - ld hl, wcf63 - set 7, [hl] - ret -.asm_11caf9 - call PlayClickSFX -.asm_11cafc - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wcf63], a - ld a, [wcd35] - cp $ff - ret nz - ld a, $1 - ld [wcd35], a - ret -.asm_11cb12 - ld a, [hl] - and a - ret z - dec [hl] - ret -.asm_11cb17 - ld a, [hl] - and a - ret nz - inc [hl] - ret -; 11cb1c (47:4b1c) - -String_11cb1c: ; 11cb1c - db "あいさつ", $25, "とうろく", $1f, "ちゅうし" - next "しますか?@" -; 11cb31 - -String_11cb31: ; 11cb31 - db "とうろくちゅう", $25, "あいさつ", $24, "ほぞん" - next "されません", $4a, "よろしい ですか?@" -; 11cb52 - -Function11cb52: ; 11cb52 (47:4b52) - ld hl, Unknown_11cc01 - ld a, [wcfa9] -.asm_11cb58 - dec a - jr z, .asm_11cb5f - inc hl - inc hl - jr .asm_11cb58 -.asm_11cb5f - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - call Function11ca7f - -Function11cb66: ; 11cb66 (47:4b66) - ld hl, wcd2a - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $1 - jr nz, .asm_11cb81 - ld a, [de] - and $2 - jr nz, .asm_11cbd7 - ld a, [de] - and $40 - jr nz, .asm_11cbeb - ld a, [de] - and $80 - jr nz, .asm_11cbf0 - ret -.asm_11cb81 - ld a, [hl] - and a - jr nz, .asm_11cbd4 - ld a, $4 - call GetSRAMBank - ld hl, $a007 - ld a, [wcfa9] - dec a - sla a - sla a - ld c, a - sla a - add c - ld c, a - ld b, $0 - add hl, bc - ld de, wcd36 - ld c, $c -.asm_11cba2 - ld a, [de] - ld [hli], a - inc de - dec c - jr nz, .asm_11cba2 - call CloseSRAM - call PlayClickSFX - ld de, Unknown_11cfc6 - call Function11cfce - ld hl, Unknown_11cc7e - ld a, [wcfa9] -.asm_11cbba - dec a - jr z, .asm_11cbc1 - inc hl - inc hl - jr .asm_11cbba -.asm_11cbc1 - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - hlcoord 1, 14 - call PlaceString - ld hl, wcf63 - inc [hl] - inc hl - ld a, $10 - ld [hl], a - ret -.asm_11cbd4 - call PlayClickSFX -.asm_11cbd7 - ld de, Unknown_11cfba - call Function11cfce - call Function11c38a - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wcf63], a - ret -.asm_11cbeb - ld a, [hl] - and a - ret z - dec [hl] - ret -.asm_11cbf0 - ld a, [hl] - and a - ret nz - inc [hl] - ret - -Function11cbf5: ; 11cbf5 (47:4bf5) - call WaitSFX - ld hl, wcf64 - dec [hl] - ret nz - dec hl - set 7, [hl] - ret -; 11cc01 (47:4c01) - -Unknown_11cc01: ; 11cc01 - dw String_11cc09 - dw String_11cc23 - dw String_11cc42 - dw String_11cc60 - -String_11cc09: ; 11cc09 - db "じこしょうかい は" - next "この あいさつで いいですか?@" - -String_11cc23: ; 11cc23 - db "たいせん ", $4a, "はじまるとき は" - next "この あいさつで いいですか?@" - -String_11cc42: ; 11cc42 - db "たいせん ", $1d, "かったとき は" - next "この あいさつで いいですか?@" - -String_11cc60: ; 11cc60 - db "たいせん ", $1d, "まけたとき は" - next "この あいさつで いいですか?@" -; 11cc7e - -Unknown_11cc7e: ; 11cc7e - dw String_11cc86 - dw String_11cc9d - dw String_11ccb9 - dw String_11ccd4 - -String_11cc86: ; 11cc86 - db "じこしょうかい の" - next "あいさつ", $1f, "とうろくした!@" - -String_11cc9d: ; 11cc9d - db "たいせん ", $4a, "はじまるとき の" - next "あいさつ", $1f, "とうろくした!@" - -String_11ccb9: ; 11ccb9 - db "たいせん ", $1d, "かったとき の" - next "あいさつ", $1f, "とうろくした!@" - -String_11ccd4: ; 11ccd4 - db "たいせん ", $1d, "まけたとき の" - next "あいさつ", $1f, "とうろくした!@" -; 11ccef - -Function11ccef: ; 11ccef (47:4cef) - ld de, Unknown_11cfc6 - call Function11cfce - hlcoord 1, 14 - ld de, String_11cd10 - call PlaceString - call Function11ca19 - call Function11cfb5 - -Function11cd04: ; 11cd04 (47:4d04) - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and a - ret z - ld a, $4 - ld [wcf63], a - ret -; 11cd10 (47:4d10) - -String_11cd10: ; 11cd10 - db "なにか ことば", $1f, "いれてください@" -; 11cd20 - -Function11cd20: ; 11cd20 (47:4d20) - call Function11c277 - ld de, Unknown_11cfc6 - call Function11cfce - hlcoord 1, 14 - ld a, [wcd2b] - ld [wcd2c], a - and a - jr nz, .asm_11cd3a - ld de, String_11cdc7 - jr .asm_11cd3d -.asm_11cd3a - ld de, String_11cdd9 -.asm_11cd3d - call PlaceString - hlcoord 4, 8 - ld de, String_11cdf5 - call PlaceString - call Function11cdaa - ld hl, wcd24 - res 5, [hl] - call Function11cfb5 - -Function11cd54: ; 11cd54 (47:4d54) - ld hl, wcd2c - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and A_BUTTON - jr nz, .asm_11cd6f - ld a, [de] - and B_BUTTON - jr nz, .asm_11cd73 - ld a, [de] - and D_UP - jr nz, .asm_11cd8b - ld a, [de] - and D_DOWN - jr nz, .asm_11cd94 - ret - -.asm_11cd6f - ld a, [hl] - ld [wcd2b], a -.asm_11cd73 - ld a, [wcd2b] - and a - jr nz, .asm_11cd7d - ld a, $6 - jr .asm_11cd7f - -.asm_11cd7d - ld a, $15 -.asm_11cd7f - ld [wcf63], a - ld hl, wcd24 - set 5, [hl] - call PlayClickSFX - ret - -.asm_11cd8b - ld a, [hl] - and a - ret z - dec [hl] - ld de, String_11cdc7 - jr .asm_11cd9b - -.asm_11cd94 - ld a, [hl] - and a - ret nz - inc [hl] - ld de, String_11cdd9 -.asm_11cd9b - push de - ld de, Unknown_11cfc6 - call Function11cfce - pop de - hlcoord 1, 14 - call PlaceString - ret - -Function11cdaa: ; 11cdaa (47:4daa) - ld a, $2 - hlcoord 0, 6, AttrMap - ld bc, $78 - call ByteFill - ld a, $7 - hlcoord 0, 12, AttrMap - ld bc, $50 - call ByteFill - callba Function104061 - ret -; 11cdc7 (47:4dc7) - -String_11cdc7: ; 11cdc7 - db "ことば", $1f, "しゅるいべつに" - next "えらべます@" -; 11cdd9 - -String_11cdd9: ; 11cdd9 - db "ことば", $1f, "アイウエォ の" - next "じゅんばんで ひょうじ します@" -; 11cdf5 - -String_11cdf5: ; 11cdf5 - db "しゅるいべつ モード" - next "アイウエォ モード@" -; 11ce0b - -Function11ce0b: ; 11ce0b (47:4e0b) - call Function11c277 - hlcoord 1, 7 - ld de, String_11cf79 - call PlaceString - hlcoord 1, 17 - ld de, String_11c62a - call PlaceString - call Function11c618 - ld hl, wcd24 - res 2, [hl] - call Function11cfb5 - -Function11ce2b: ; 11ce2b (47:4e2b) - ld a, [CreditsTimer] - sla a - sla a - ld c, a - ld b, 0 - ld hl, Unknown_11ceb9 - add hl, bc - - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and START - jr nz, .start - ld a, [de] - and SELECT - jr nz, .select - ld a, [de] - and A_BUTTON - jr nz, .a - ld a, [de] - and B_BUTTON - jr nz, .b - - ld de, $ffa9 - ld a, [de] - and D_UP - jr nz, .up - ld a, [de] - and D_DOWN - jr nz, .down - ld a, [de] - and D_LEFT - jr nz, .left - ld a, [de] - and D_RIGHT - jr nz, .right - - ret - -.a - ld a, [CreditsTimer] - cp $2d - jr c, .asm_11ce92 - sub $2d - jr z, .asm_11cea4 - dec a - jr z, .asm_11ce96 - jr .b - -.start - ld hl, wcd24 - set 0, [hl] - ld a, $8 - ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) -.b - ld a, $4 - jr .asm_11ce98 -.select - ld a, [wcd2b] - xor $1 - ld [wcd2b], a - ld a, $6 - jr .asm_11ce98 - -.asm_11ce92 - ld a, $8 - jr .asm_11ce98 - -.asm_11ce96 - ld a, $13 -.asm_11ce98 - ld [wcf63], a - ld hl, wcd24 - set 2, [hl] - call PlayClickSFX - ret -.asm_11cea4 - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - call Function11ca6a - call PlayClickSFX - ret - -.left - inc hl -.down - inc hl -.right - inc hl -.up - ld a, [hl] - cp $ff - ret z - ld [CreditsTimer], a - ret -; 11ceb9 (47:4eb9) - -Unknown_11ceb9: ; 11ceb9 - ; up left down right - db $ff, $01, $05, $ff - db $ff, $02, $06, $00 - db $ff, $03, $07, $01 - db $ff, $04, $08, $02 - db $ff, $14, $09, $03 - db $00, $06, $0a, $ff - db $01, $07, $0b, $05 - db $02, $08, $0c, $06 - db $03, $09, $0d, $07 - db $04, $19, $0e, $08 - db $05, $0b, $0f, $ff - db $06, $0c, $10, $0a - db $07, $0d, $11, $0b - db $08, $0e, $12, $0c - db $09, $1e, $13, $0d - db $0a, $10, $2d, $ff - db $0b, $11, $2d, $0f - db $0c, $12, $2d, $10 - db $0d, $13, $2d, $11 - db $0e, $26, $2d, $12 - db $ff, $15, $19, $04 - db $ff, $16, $1a, $14 - db $ff, $17, $1b, $15 - db $ff, $18, $1c, $16 - db $ff, $23, $1d, $17 - db $14, $1a, $1e, $09 - db $15, $1b, $1f, $19 - db $16, $1c, $20, $1a - db $17, $1d, $21, $1b - db $18, $2b, $22, $1c - db $19, $1f, $26, $0e - db $1a, $20, $27, $1e - db $1b, $21, $28, $1f - db $1c, $22, $29, $20 - db $1d, $2c, $2a, $21 - db $ff, $24, $2b, $18 - db $ff, $25, $2b, $23 - db $ff, $ff, $2b, $24 - db $1e, $27, $2e, $13 - db $1f, $28, $2e, $26 - db $20, $29, $2e, $27 - db $21, $2a, $2e, $28 - db $22, $ff, $2e, $29 - db $23, $ff, $2c, $1d - db $2b, $ff, $2f, $22 - db $0f, $2e, $ff, $ff - db $26, $2f, $ff, $2d - db $2c, $ff, $ff, $2e -; 11cf79 - -String_11cf79: ; 11cf79 - db "あいうえお なにぬねの や ゆ よ" - next "かきくけこ はひふへほ わ" - next "さしすせそ まみむめも そのた" - next "たちつてと らりるれろ" - db "@" -; 11cfb5 - -Function11cfb5: ; 11cfb5 (47:4fb5) - ld hl, wcf63 - inc [hl] - ret -; 11cfba (47:4fba) - -Unknown_11cfba: - db 0, 0 ; start coords - db 20, 6 ; end coords - -Unknown_11cfbe: - db 0, 14 ; start coords - db 20, 4 ; end coords - -Unknown_11cfc2: - db 0, 6 ; start coords - db 20, 10 ; end coords - -Unknown_11cfc6: - db 0, 12 ; start coords - db 20, 6 ; end coords - -Unknown_11cfca: - db 14, 7 ; start coords - db 6, 5 ; end coords -; 11cfce - -Function11cfce: ; 11cfce (47:4fce) - ld hl, TileMap - ld bc, $14 - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.asm_11cfda - jr z, .asm_11cfe0 - add hl, bc - dec a - jr .asm_11cfda -.asm_11cfe0 - pop af - ld c, a - ld b, 0 - add hl, bc - push hl - ld a, $79 - ld [hli], a - ld a, [de] - inc de - dec a - dec a - jr z, .asm_11cff6 - ld c, a - ld a, $7a -.asm_11cff2 - ld [hli], a - dec c - jr nz, .asm_11cff2 -.asm_11cff6 - ld a, $7b - ld [hl], a - pop hl - ld bc, $14 - add hl, bc - ld a, [de] - dec de - dec a - dec a - jr z, .asm_11d022 - ld b, a -.asm_11d005 - push hl - ld a, $7c - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .asm_11d015 - ld c, a - ld a, $7f -.asm_11d011 - ld [hli], a - dec c - jr nz, .asm_11d011 -.asm_11d015 - ld a, $7c - ld [hl], a - pop hl - push bc - ld bc, $14 - add hl, bc - pop bc - dec b - jr nz, .asm_11d005 -.asm_11d022 - ld a, $7d - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .asm_11d031 - ld c, a - ld a, $7a -.asm_11d02d - ld [hli], a - dec c - jr nz, .asm_11d02d -.asm_11d031 - ld a, $7e - ld [hl], a - ret - -Function11d035: ; 11d035 (47:5035) - ld hl, TileMap - ld bc, $14 - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.asm_11d041 - jr z, .asm_11d047 - add hl, bc - dec a - jr .asm_11d041 -.asm_11d047 - pop af - ld c, a - ld b, $0 - add hl, bc - push hl - ld a, $79 - ld [hl], a - pop hl - push hl - ld a, [de] - dec a - inc de - ld c, a - add hl, bc - ld a, $7b - ld [hl], a - call Function11d0ac - ld a, $7e - ld [hl], a - pop hl - push hl - call Function11d0ac - ld a, $7d - ld [hl], a - pop hl - push hl - inc hl - push hl - call Function11d0ac - pop bc - dec de - ld a, [de] - cp $2 - jr z, .asm_11d082 - dec a - dec a -.asm_11d078 - push af - ld a, $7a - ld [hli], a - ld [bc], a - inc bc - pop af - dec a - jr nz, .asm_11d078 -.asm_11d082 - pop hl - ld bc, $14 - add hl, bc - push hl - ld a, [de] - dec a - ld c, a - ld b, $0 - add hl, bc - pop bc - inc de - ld a, [de] - cp $2 - ret z - push bc - dec a - dec a - ld c, a - ld b, a - ld de, $14 -.asm_11d09c - ld a, $7c - ld [hl], a - add hl, de - dec c - jr nz, .asm_11d09c - pop hl -.asm_11d0a4 - ld a, $7c - ld [hl], a - add hl, de - dec b - jr nz, .asm_11d0a4 - ret - -Function11d0ac: ; 11d0ac (47:50ac) - ld a, [de] - dec a - ld bc, $14 -.asm_11d0b1 - add hl, bc - dec a - jr nz, .asm_11d0b1 - ret - -Function11d0b6: ; 11d0b6 (47:50b6) - ld hl, $c - add hl, bc - ld a, [hl] - ld e, a - ld d, 0 - ld hl, Jumptable_11d0c7 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -Jumptable_11d0c7: ; 11d0c7 (47:50c7) - dw Function11d0dd - dw Function11d0e9 - dw Function11d0f5 - dw Function11d10f - dw Function11d134 - dw Function11d145 - dw Function11d156 - dw Function11d175 - dw Function11d1d7 - dw Function11d1d1 - dw Function11d1fc - - -Function11d0dd: ; 11d0dd (47:50dd) - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - sla a - ld hl, Unknown_11d208 - ld e, $1 - jr asm_11d11e - -Function11d0e9: ; 11d0e9 (47:50e9) - ld a, [wcd21] - sla a - ld hl, Unknown_11d21a - ld e, $2 - jr asm_11d11e - -Function11d0f5: ; 11d0f5 (47:50f5) - ld hl, Unknown_11d2be - ld a, [CreditsTimer] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call Function3b3c - ld a, [CreditsTimer] - sla a - ld hl, Unknown_11d23e - ld e, $4 - jr asm_11d11e - -Function11d10f: ; 11d10f (47:510f) - ld a, $27 - call Function3b3c - ld a, [wcd25] - sla a - ld hl, Unknown_11d29e - ld e, $8 - -asm_11d11e: ; 11d11e (47:511e) - push de - ld e, a - ld d, $0 - add hl, de - push hl - pop de - ld hl, $4 - add hl, bc - ld a, [de] - inc de - ld [hli], a - ld a, [de] - ld [hl], a - pop de - ld a, e - call Function11d2ee - ret - -Function11d134: ; 11d134 (47:5134) - ld a, $27 - call Function3b3c - ld a, [wcd2a] - sla a - ld hl, Unknown_11d2b6 - ld e, $10 - jr asm_11d11e - -Function11d145: ; 11d145 (47:5145) - ld a, $27 - call Function3b3c - ld a, [wcd2c] - sla a - ld hl, Unknown_11d2ba - ld e, $20 - jr asm_11d11e - -Function11d156: ; 11d156 (47:5156) - ld a, $2a - call Function3b3c - ld a, [wcd4a] - sla a - sla a - sla a - add $18 - ld hl, $4 - add hl, bc - ld [hli], a - ld a, $30 - ld [hl], a - ld a, $1 - ld e, a - call Function11d2ee - ret - -Function11d175: ; 11d175 (47:5175) - ld a, [wcd4d] - cp $4 - jr z, .asm_11d180 - ld a, $28 - jr .asm_11d182 -.asm_11d180 - ld a, $26 -.asm_11d182 - call Function3b3c - ld a, [wcd4d] - cp $4 - jr z, .asm_11d1b1 - ld a, [wcd4c] - sla a - sla a - sla a - add $20 - ld hl, $4 - add hl, bc - ld [hli], a - ld a, [wcd4d] - sla a - sla a - sla a - sla a - add $48 - ld [hl], a - ld a, $2 - ld e, a - call Function11d2ee - ret -.asm_11d1b1 - ld a, [wcd4c] - sla a - sla a - sla a - ld e, a - sla a - sla a - add e - add $18 - ld hl, $4 - add hl, bc - ld [hli], a - ld a, $8a - ld [hl], a - ld a, $2 - ld e, a - call Function11d2ee - ret - -Function11d1d1: ; 11d1d1 (47:51d1) - ld d, $98 - ld a, $2c - jr asm_11d1db - -Function11d1d7: ; 11d1d7 (47:51d7) - ld d, $10 - ld a, $2b - -asm_11d1db: ; 11d1db (47:51db) - push de - call Function3b3c - ld a, [wcd4a] - sla a - sla a - sla a - ld e, a - sla a - add e - add $40 - ld hl, $5 - add hl, bc - ld [hld], a - pop af - ld [hl], a - ld a, $4 - ld e, a - call Function11d2ee - ret - -Function11d1fc: ; 11d1fc (47:51fc) - ld a, $26 - call Function3b3c - ld a, $8 - ld e, a - call Function11d2ee - ret -; 11d208 (47:5208) - -Unknown_11d208: ; 11d208 -INCBIN "baserom.gbc",$11d208,$11d21a - $11d208 -Unknown_11d21a: ; 11d21a -INCBIN "baserom.gbc",$11d21a,$11d23e - $11d21a -Unknown_11d23e: ; 11d23e -INCBIN "baserom.gbc",$11d23e,$11d29e - $11d23e -Unknown_11d29e: ; 11d29e -INCBIN "baserom.gbc",$11d29e,$11d2b6 - $11d29e -Unknown_11d2b6: ; 11d2b6 -INCBIN "baserom.gbc",$11d2b6,$11d2ba - $11d2b6 -Unknown_11d2ba: ; 11d2ba -INCBIN "baserom.gbc",$11d2ba,$11d2be - $11d2ba -Unknown_11d2be: ; 11d2be -INCBIN "baserom.gbc",$11d2be,$11d2ee - $11d2be - -Function11d2ee: ; 11d2ee (47:52ee) - ld hl, wcd24 - and [hl] - jr nz, .asm_11d316 - ld a, e - ld hl, wcd23 - and [hl] - jr z, .asm_11d30f - ld hl, $e - add hl, bc - ld a, [hl] - and a - jr z, .asm_11d305 - dec [hl] - ret -.asm_11d305 - ld a, $0 - ld [hld], a - ld a, $1 - xor [hl] - ld [hl], a - and a - jr nz, .asm_11d316 -.asm_11d30f - ld hl, $7 - add hl, bc - xor a - ld [hl], a - ret -.asm_11d316 - ld hl, $5 - add hl, bc - ld a, $b0 - sub [hl] - ld hl, $7 - add hl, bc - ld [hl], a - ret - -Function11d323: ; 11d323 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_11d33a - ld de, Unkn1Pals - ld bc, $0080 - call CopyBytes - pop af - ld [rSVBK], a - ret -; 11d33a - -Palette_11d33a: - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 31, 16, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 23, 17, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; 11d3ba - -Function11d3ba: ; 11d3ba - ld a, [rSVBK] - push af - ld hl, BattleMonSpclDef - ld a, $0 - ld [wcd2d], a - ld [hli], a - ld a, $d8 - ld [wcd2e], a - ld [hl], a - ld a, $fe - ld [wcd2f], a - ld a, $54 - ld [wcd30], a - ld a, $a8 - ld [wcd31], a - ld a, $c6 - ld [wcd32], a - ld a, $4a - ld [wcd33], a - ld a, $c6 - ld [wcd34], a - ld hl, Unknown_11f23c - ld a, $2d - -Function11d3ef: ; 11d3ef - push af - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - push hl - ld hl, Unkn1Pals - add hl, de - ld a, [wcd2d] - ld e, a - ld a, [wcd2e] - ld d, a - push bc -.asm_11d406 - ld a, $3 - ld [rSVBK], a - ld a, [hli] - push af - ld a, $5 - ld [rSVBK], a - pop af - ld [de], a - inc de - ld a, $3 - ld [rSVBK], a - ld a, [hli] - push af - ld a, $5 - ld [rSVBK], a - pop af - ld [de], a - inc de - dec bc - ld a, c - or b - jr nz, .asm_11d406 - ld a, [wcd2f] - ld l, a - ld a, [wcd30] - ld h, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, l - ld [wcd2f], a - ld a, h - ld [wcd30], a - push bc - pop hl - ld c, $0 -.asm_11d43d - ld a, [hl] - cp $ff - jr z, .asm_11d453 - call Function11d493 - jr nz, .asm_11d44a - inc hl - jr .asm_11d43d - -.asm_11d44a - ld a, [hli] - ld [de], a - inc de - xor a - ld [de], a - inc de - inc c - jr .asm_11d43d - -.asm_11d453 - pop hl - ld b, $0 - add hl, bc - push hl - pop bc - ld a, [wcd31] - ld l, a - ld a, [wcd32] - ld h, a - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, l - ld [wcd31], a - ld a, h - ld [wcd32], a - ld a, [wcd33] - ld l, a - ld a, [wcd34] - ld h, a - ld a, e - ld [wcd2d], a - ld [hli], a - ld a, d - ld [wcd2e], a - ld [hli], a - ld a, l - ld [wcd33], a - ld a, h - ld [wcd34], a - pop hl - pop af - dec a - jr z, .asm_11d48f - jp Function11d3ef - -.asm_11d48f - pop af - ld [rSVBK], a - ret -; 11d493 - -Function11d493: ; 11d493 - push hl - push bc - push de - dec a - ld hl, rSVBK - ld e, $1 - ld [hl], e - call CheckSeenMon - ld hl, rSVBK - ld e, $5 - ld [hl], e - pop de - pop bc - pop hl - ret -; 11d4aa - -Function11d4aa: ; 11d4aa - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld hl, Unknown_11daac - ld bc, Unknown_11f220 - xor a - ld [wcd2d], a - inc a - ld [wcd2e], a - ld a, $e -.asm_11d4c1 - push af - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - ld hl, $0005 - add hl, de - ld a, [bc] - inc bc - inc bc - push bc -.asm_11d4cf - push af - push hl - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ld hl, wd000 - add hl, de - ld a, [wcd2d] - ld [hli], a - inc a - ld [wcd2d], a - ld a, [wcd2e] - ld [hl], a - pop hl - ld de, $0008 - add hl, de - pop af - dec a - jr nz, .asm_11d4cf - ld hl, wcd2d - xor a - ld [hli], a - inc [hl] - pop bc - pop hl - pop af - dec a - jr nz, .asm_11d4c1 - pop af - ld [rSVBK], a - ret -; 11d4fe - - -Unknown_11d4fe: -; Pokemon sorted by kana. -; Notably, Rhydon is missing. - - dw Unknown_11d558 - dw Unknown_11d55f - dw Unknown_11d565 - dw Unknown_11d56c - dw Unknown_11d574 - dw Unknown_11d57f - dw Unknown_11d58e - dw Unknown_11d598 - dw Unknown_11d59f - dw Unknown_11d5a3 - dw Unknown_11d5b2 - dw Unknown_11d5bb - dw Unknown_11d5c0 - dw Unknown_11d5c8 - dw Unknown_11d5cb - dw Unknown_11d5cd - dw Unknown_11d5d1 - dw Unknown_11d5d4 - dw Unknown_11d5d6 - dw Unknown_11d5dc - dw Unknown_11d5e7 - dw Unknown_11d5ea - dw Unknown_11d5f7 - dw Unknown_11d5f9 - dw Unknown_11d5fc - dw Unknown_11d5fe - dw Unknown_11d60e - dw Unknown_11d61d - dw Unknown_11d62e - dw Unknown_11d636 - dw Unknown_11d63e - dw Unknown_11d649 - dw Unknown_11d64e - dw Unknown_11d651 - dw Unknown_11d656 - dw Unknown_11d65a - dw Unknown_11d660 - dw Unknown_11d662 - dw Unknown_11d665 - dw Unknown_11d66d - dw Unknown_11d671 - dw Unknown_11d674 - dw Unknown_11d678 - dw Unknown_11d67a - dw Unknown_11d67d - -Unknown_11d558: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, $ff -Unknown_11d55f: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, $ff -Unknown_11d565: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, $ff -Unknown_11d56c: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, $ff -Unknown_11d574: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, $ff -Unknown_11d57f: db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, $ff -Unknown_11d58e: db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, $ff -Unknown_11d598: db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, $ff -Unknown_11d59f: db ABRA, GENGAR, TAUROS, $ff -Unknown_11d5a3: db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, $ff -Unknown_11d5b2: db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, $ff -Unknown_11d5bb: db SEADRA, SHELLDER, VAPOREON, DEWGONG, $ff -Unknown_11d5c0: db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, $ff -Unknown_11d5c8: db SQUIRTLE, CELEBI, $ff -Unknown_11d5cb: db WOBBUFFET, $ff -Unknown_11d5cd: db DUGTRIO, HORSEA, EXEGGCUTE, $ff -Unknown_11d5d1: db CHIKORITA, CHINCHOU, $ff -Unknown_11d5d4: db SHUCKLE, $ff -Unknown_11d5d6: db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, $ff -Unknown_11d5dc: db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, $ff -Unknown_11d5e7: db ODDISH, EXEGGUTOR, $ff -Unknown_11d5ea: db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, $ff -Unknown_11d5f7: db QUAGSIRE, $ff -Unknown_11d5f9: db NATU, XATU, $ff -Unknown_11d5fc: db DUNSPARCE, $ff -Unknown_11d5fe: db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, $ff -Unknown_11d60e: db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, $ff -Unknown_11d61d: db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, $ff -Unknown_11d62e: db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, $ff -Unknown_11d636: db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, $ff -Unknown_11d63e: db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, $ff -Unknown_11d649: db DRATINI, MEW, MEWTWO, MILTANK, $ff -Unknown_11d64e: db MISDREAVUS, SMOOCHUM, $ff -Unknown_11d651: db MEGANIUM, DITTO, TENTACOOL, MAREEP, $ff -Unknown_11d656: db FLAAFFY, VENOMOTH, TANGELA, $ff -Unknown_11d65a: db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, $ff -Unknown_11d660: db KADABRA, $ff -Unknown_11d662: db LARVITAR, NOCTOWL, $ff -Unknown_11d665: db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, $ff -Unknown_11d66d: db CHARMELEON, CHARIZARD, URSARING, $ff -Unknown_11d671: db JYNX, LUGIA, $ff -Unknown_11d674: db MAGNETON, LEDIAN, LEDYBA, $ff -Unknown_11d678: db VULPIX, $ff -Unknown_11d67a: db JUMPLUFF, TOTODILE, MACHOP -Unknown_11d67d: db $ff -; 11d67e - -GFX_11d67e: -INCBIN "gfx/pokedex/select_start.2bpp" -; 11d6de - -LZ_11d6de: -INCBIN "gfx/pokedex/slowpoke.2bpp.lz" -; 11da52 - -Strings_11da52: ; 11da52 - db "ポケモン@@" - db "タイプ@@@" - db "あいさつ@@" - db "ひと@@@@" - db "バトル@@@" - db "こえ@@@@" - db "かいわ@@@" - db "きもち@@@" - db "じょうたい@" - db "せいかつ@@" - db "しゅみ@@@" - db "こうどう@@" - db "じかん@@@" - db "むすび@@@" - db "あれこれ@@" -; 11daac - -Unknown_11daac: ; 11daac - dw Unknown_11dac8 - dw Unknown_11db58 - dw Unknown_11dc78 - dw Unknown_11dea0 - dw Unknown_11e0c8 - dw Unknown_11e2d8 - dw Unknown_11e4e8 - dw Unknown_11e710 - dw Unknown_11e920 - dw Unknown_11ea58 - dw Unknown_11eb90 - dw Unknown_11edb8 - dw Unknown_11eef0 - dw Unknown_11f100 - -Unknown_11dac8: ; 11dac8 - db "あく@@@", $26, $0, $0 - db "いわ@@@", $aa, $0, $0 - db "エスパー@", $da, $0, $0 - db "かくとう@", $4e, $1, $0 - db "くさ@@@", $ba, $1, $0 - db "ゴースト@", $e4, $1, $0 - db "こおり@@", $e6, $1, $0 - db "じめん@@", $68, $2, $0 - db "タイプ@@", $e8, $2, $0 - db "でんき@@", $8e, $3, $0 - db "どく@@@", $ae, $3, $0 - db "ドラゴン@", $bc, $3, $0 - db "ノーマル@", $22, $4, $0 - db "はがね@@", $36, $4, $0 - db "ひこう@@", $5e, $4, $0 - db "ほのお@@", $b2, $4, $0 - db "みず@@@", $f4, $4, $0 - db "むし@@@", $12, $5, $0 - -Unknown_11db58: ; 11db58 - db "ありがと@", $58, $0, $0 - db "ありがとう", $5a, $0, $0 - db "いくぜ!@", $80, $0, $0 - db "いくよ!@", $82, $0, $0 - db "いくわよ!", $84, $0, $0 - db "いやー@@", $a6, $0, $0 - db "おっす@@", $a, $1, $0 - db "おはつです", $22, $1, $0 - db "おめでとう", $2a, $1, $0 - db "ごめん@@", $f8, $1, $0 - db "ごめんよ@", $fa, $1, $0 - db "こらっ@@", $fc, $1, $0 - db "こんちは!", $a, $2, $0 - db "こんにちは", $10, $2, $0 - db "さようなら", $28, $2, $0 - db "サンキュー", $2e, $2, $0 - db "さんじょう", $30, $2, $0 - db "しっけい@", $48, $2, $0 - db "しつれい@", $4c, $2, $0 - db "じゃーね@", $6c, $2, $0 - db "すいません", $8c, $2, $0 - db "それじゃ@", $ca, $2, $0 - db "どうも@@", $a6, $3, $0 - db "なんじゃ@", $ee, $3, $0 - db "ハーイ@@", $2c, $4, $0 - db "はいはい@", $32, $4, $0 - db "バイバイ@", $34, $4, $0 - db "へイ@@@", $8a, $4, $0 - db "またね@@", $de, $4, $0 - db "もしもし@", $32, $5, $0 - db "やあ@@@", $3e, $5, $0 - db "やっほー@", $4e, $5, $0 - db "よう@@@", $62, $5, $0 - db "ようこそ@", $64, $5, $0 - db "よろしく@", $80, $5, $0 - db "らっしゃい", $94, $5, $0 - -Unknown_11dc78: ; 11dc78 - db "あいて@@", $1c, $0, $0 - db "あたし@@", $36, $0, $0 - db "あなた@@", $40, $0, $0 - db "あなたが@", $42, $0, $0 - db "あなたに@", $44, $0, $0 - db "あなたの@", $46, $0, $0 - db "あなたは@", $48, $0, $0 - db "あなたを@", $4a, $0, $0 - db "おかあさん", $e8, $0, $0 - db "おじいさん", $fc, $0, $0 - db "おじさん@", $2, $1, $0 - db "おとうさん", $e, $1, $0 - db "おとこのこ", $10, $1, $0 - db "おとな@@", $14, $1, $0 - db "おにいさん", $16, $1, $0 - db "おねえさん", $18, $1, $0 - db "おばあさん", $1c, $1, $0 - db "おばさん@", $20, $1, $0 - db "おれさま@", $34, $1, $0 - db "おんなのこ", $3a, $1, $0 - db "ガール@@", $40, $1, $0 - db "かぞく@@", $52, $1, $0 - db "かのじょ@", $72, $1, $0 - db "かれ@@@", $7c, $1, $0 - db "きみ@@@", $9a, $1, $0 - db "きみが@@", $9c, $1, $0 - db "きみに@@", $9e, $1, $0 - db "きみの@@", $a0, $1, $0 - db "きみは@@", $a2, $1, $0 - db "きみを@@", $a4, $1, $0 - db "ギャル@@", $ae, $1, $0 - db "きょうだい", $b2, $1, $0 - db "こども@@", $f0, $1, $0 - db "じぶん@@", $54, $2, $0 - db "じぶんが@", $56, $2, $0 - db "じぶんに@", $58, $2, $0 - db "じぶんの@", $5a, $2, $0 - db "じぶんは@", $5c, $2, $0 - db "じぶんを@", $5e, $2, $0 - db "だれ@@@", $18, $3, $0 - db "だれか@@", $1a, $3, $0 - db "だれが@@", $1c, $3, $0 - db "だれに@@", $1e, $3, $0 - db "だれの@@", $20, $3, $0 - db "だれも@@", $22, $3, $0 - db "だれを@@", $24, $3, $0 - db "ちゃん@@", $38, $3, $0 - db "ともだち@", $b8, $3, $0 - db "なかま@@", $d4, $3, $0 - db "ひと@@@", $62, $4, $0 - db "ボーイ@@", $98, $4, $0 - db "ボク@@@", $a0, $4, $0 - db "ボクが@@", $a2, $4, $0 - db "ボクに@@", $a4, $4, $0 - db "ボクの@@", $a6, $4, $0 - db "ボクは@@", $a8, $4, $0 - db "ボクを@@", $aa, $4, $0 - db "みんな@@", $4, $5, $0 - db "みんなが@", $6, $5, $0 - db "みんなに@", $8, $5, $0 - db "みんなの@", $a, $5, $0 - db "みんなは@", $c, $5, $0 - db "ライバル@", $8a, $5, $0 - db "わたし@@", $c2, $5, $0 - db "わたしが@", $c4, $5, $0 - db "わたしに@", $c6, $5, $0 - db "わたしの@", $c8, $5, $0 - db "わたしは@", $ca, $5, $0 - db "わたしを@", $cc, $5, $0 - -Unknown_11dea0: ; 11dea0 - db "あいしょう", $18, $0, $0 - db "いけ!@@", $88, $0, $0 - db "いちばん@", $96, $0, $0 - db "かくご@@", $4c, $1, $0 - db "かたせて@", $54, $1, $0 - db "かち@@@", $56, $1, $0 - db "かつ@@@", $58, $1, $0 - db "かった@@", $60, $1, $0 - db "かったら@", $62, $1, $0 - db "かって@@", $64, $1, $0 - db "かてない@", $66, $1, $0 - db "かてる@@", $68, $1, $0 - db "かなわない", $70, $1, $0 - db "きあい@@", $84, $1, $0 - db "きめた@@", $a8, $1, $0 - db "きりふだ@", $b6, $1, $0 - db "くらえ@@", $c2, $1, $0 - db "こい!@@", $da, $1, $0 - db "こうげき@", $e0, $1, $0 - db "こうさん@", $e2, $1, $0 - db "こんじょう", $8, $2, $0 - db "さいのう@", $16, $2, $0 - db "さくせん@", $1a, $2, $0 - db "さばき@@", $22, $2, $0 - db "しょうぶ@", $7e, $2, $0 - db "しょうり@", $80, $2, $0 - db "せめ@@@", $b4, $2, $0 - db "センス@@", $b6, $2, $0 - db "たいせん@", $e6, $2, $0 - db "たたかい@", $f6, $2, $0 - db "ちから@@", $32, $3, $0 - db "チャレンジ", $36, $3, $0 - db "つよい@@", $58, $3, $0 - db "つよすぎ@", $5a, $3, $0 - db "つらい@@", $5c, $3, $0 - db "つらかった", $5e, $3, $0 - db "てかげん@", $6c, $3, $0 - db "てき@@@", $6e, $3, $0 - db "てんさい@", $90, $3, $0 - db "でんせつ@", $94, $3, $0 - db "トレーナー", $c6, $3, $0 - db "にげ@@@", $4, $4, $0 - db "ぬるい@@", $10, $4, $0 - db "ねらう@@", $16, $4, $0 - db "バトル@@", $4a, $4, $0 - db "ファイト@", $72, $4, $0 - db "ふっかつ@", $78, $4, $0 - db "ポイント@", $94, $4, $0 - db "ポケモン@", $ac, $4, $0 - db "ほんき@@", $bc, $4, $0 - db "まいった!", $c4, $4, $0 - db "まけ@@@", $c8, $4, $0 - db "まけたら@", $ca, $4, $0 - db "まけて@@", $cc, $4, $0 - db "まける@@", $ce, $4, $0 - db "まもり@@", $ea, $4, $0 - db "みかた@@", $f2, $4, $0 - db "みとめない", $fe, $4, $0 - db "みとめる@", $0, $5, $0 - db "むてき@@", $16, $5, $0 - db "もらった!", $3c, $5, $0 - db "よゆう@@", $7a, $5, $0 - db "よわい@@", $82, $5, $0 - db "よわすぎ@", $84, $5, $0 - db "らくしょう", $8e, $5, $0 - db "りーダー@", $9e, $5, $0 - db "ルール@@", $a0, $5, $0 - db "レべル@@", $a6, $5, $0 - db "わざ@@@", $be, $5, $0 - -Unknown_11e0c8: ; 11e0c8 - db "!@@@@", $0, $0, $0 - db "!!@@@", $2, $0, $0 - db "!?@@@", $4, $0, $0 - db "?@@@@", $6, $0, $0 - db "…@@@@", $8, $0, $0 - db "…!@@@", $a, $0, $0 - db "………@@", $c, $0, $0 - db "ー@@@@", $e, $0, $0 - db "ーーー@@", $10, $0, $0 - db "あーあ@@", $14, $0, $0 - db "あーん@@", $16, $0, $0 - db "あははー@", $52, $0, $0 - db "あら@@@", $54, $0, $0 - db "いえ@@@", $72, $0, $0 - db "イエス@@", $74, $0, $0 - db "うう@@@", $ac, $0, $0 - db "うーん@@", $ae, $0, $0 - db "うおー!@", $b0, $0, $0 - db "うおりゃー", $b2, $0, $0 - db "うひょー@", $bc, $0, $0 - db "うふふ@@", $be, $0, $0 - db "うわー@@", $ca, $0, $0 - db "うわーん@", $cc, $0, $0 - db "ええ@@@", $d2, $0, $0 - db "えー@@@", $d4, $0, $0 - db "えーん@@", $d6, $0, $0 - db "えへへ@@", $dc, $0, $0 - db "おいおい@", $e0, $0, $0 - db "おお@@@", $e2, $0, $0 - db "おっと@@", $c, $1, $0 - db "がーん@@", $42, $1, $0 - db "キャー@@", $aa, $1, $0 - db "ギャー@@", $ac, $1, $0 - db "ぐふふふふ", $bc, $1, $0 - db "げっ@@@", $ce, $1, $0 - db "しくしく@", $3e, $2, $0 - db "ちえっ@@", $2e, $3, $0 - db "てへ@@@", $86, $3, $0 - db "ノー@@@", $20, $4, $0 - db "はあー@@", $2a, $4, $0 - db "はい@@@", $30, $4, $0 - db "はっはっは", $48, $4, $0 - db "ひいー@@", $56, $4, $0 - db "ひゃあ@@", $6a, $4, $0 - db "ふっふっふ", $7c, $4, $0 - db "ふにゃ@@", $7e, $4, $0 - db "ププ@@@", $80, $4, $0 - db "ふふん@@", $82, $4, $0 - db "ふん@@@", $88, $4, $0 - db "へっへっへ", $8e, $4, $0 - db "へへー@@", $90, $4, $0 - db "ほーほほほ", $9c, $4, $0 - db "ほら@@@", $b6, $4, $0 - db "まあ@@@", $c0, $4, $0 - db "むきー!!", $10, $5, $0 - db "むふー@@", $18, $5, $0 - db "むふふ@@", $1a, $5, $0 - db "むむ@@@", $1c, $5, $0 - db "よーし@@", $6a, $5, $0 - db "よし!@@", $72, $5, $0 - db "ラララ@@", $98, $5, $0 - db "わーい@@", $ac, $5, $0 - db "わーん!!", $b0, $5, $0 - db "ワォ@@@", $b2, $5, $0 - db "わっ!!@", $ce, $5, $0 - db "わははは!", $d0, $5, $0 - -Unknown_11e2d8: ; 11e2d8 - db "あのね@@", $50, $0, $0 - db "あんまり@", $6e, $0, $0 - db "いじわる@", $8e, $0, $0 - db "うそ@@@", $b6, $0, $0 - db "うむ@@@", $c4, $0, $0 - db "おーい@@", $e4, $0, $0 - db "おすすめ@", $6, $1, $0 - db "おばかさん", $1e, $1, $0 - db "かなり@@", $6e, $1, $0 - db "から@@@", $7a, $1, $0 - db "きぶん@@", $98, $1, $0 - db "けど@@@", $d6, $1, $0 - db "こそ@@@", $ea, $1, $0 - db "こと@@@", $ee, $1, $0 - db "さあ@@@", $12, $2, $0 - db "さっぱり@", $1e, $2, $0 - db "さて@@@", $20, $2, $0 - db "じゅうぶん", $72, $2, $0 - db "すぐ@@@", $94, $2, $0 - db "すごく@@", $98, $2, $0 - db "すこしは@", $9a, $2, $0 - db "すっっごい", $a0, $2, $0 - db "ぜーんぜん", $b0, $2, $0 - db "ぜったい@", $b2, $2, $0 - db "それで@@", $ce, $2, $0 - db "だけ@@@", $f2, $2, $0 - db "だって@@", $fc, $2, $0 - db "たぶん@@", $6, $3, $0 - db "たら@@@", $14, $3, $0 - db "ちょー@@", $3a, $3, $0 - db "ちょっと@", $3c, $3, $0 - db "ったら@@", $4e, $3, $0 - db "って@@@", $50, $3, $0 - db "ていうか@", $62, $3, $0 - db "でも@@@", $88, $3, $0 - db "どうしても", $9c, $3, $0 - db "とうぜん@", $a0, $3, $0 - db "どうぞ@@", $a2, $3, $0 - db "とりあえず", $be, $3, $0 - db "なあ@@@", $cc, $3, $0 - db "なんて@@", $f4, $3, $0 - db "なんでも@", $fc, $3, $0 - db "なんとか@", $fe, $3, $0 - db "には@@@", $8, $4, $0 - db "バッチり@", $46, $4, $0 - db "ばりばり@", $52, $4, $0 - db "ほど@@@", $b0, $4, $0 - db "ほんと@@", $be, $4, $0 - db "まさに@@", $d0, $4, $0 - db "マジ@@@", $d2, $4, $0 - db "マジで@@", $d4, $4, $0 - db "まったく@", $e4, $4, $0 - db "まで@@@", $e6, $4, $0 - db "まるで@@", $ec, $4, $0 - db "ムード@@", $e, $5, $0 - db "むしろ@@", $14, $5, $0 - db "めちゃ@@", $24, $5, $0 - db "めっぽう@", $28, $5, $0 - db "もう@@@", $2c, $5, $0 - db "モード@@", $2e, $5, $0 - db "もっと@@", $36, $5, $0 - db "もはや@@", $38, $5, $0 - db "やっと@@", $4a, $5, $0 - db "やっぱり@", $4c, $5, $0 - db "より@@@", $7c, $5, $0 - db "れば@@@", $a4, $5, $0 - -Unknown_11e4e8: ; 11e4e8 - db "あいたい@", $1a, $0, $0 - db "あそびたい", $32, $0, $0 - db "いきたい@", $7c, $0, $0 - db "うかれて@", $b4, $0, $0 - db "うれしい@", $c6, $0, $0 - db "うれしさ@", $c8, $0, $0 - db "エキサイト", $d8, $0, $0 - db "えらい@@", $de, $0, $0 - db "おかしい@", $ec, $0, $0 - db "ォッケー@", $8, $1, $0 - db "かえりたい", $48, $1, $0 - db "がっくし@", $5a, $1, $0 - db "かなしい@", $6c, $1, $0 - db "がんばって", $80, $1, $0 - db "きがしない", $86, $1, $0 - db "きがする@", $88, $1, $0 - db "ききたい@", $8a, $1, $0 - db "きになる@", $90, $1, $0 - db "きのせい@", $96, $1, $0 - db "きらい@@", $b4, $1, $0 - db "くやしい@", $be, $1, $0 - db "くやしさ@", $c0, $1, $0 - db "さみしい@", $24, $2, $0 - db "ざんねん@", $32, $2, $0 - db "しあわせ@", $36, $2, $0 - db "したい@@", $44, $2, $0 - db "したくない", $46, $2, $0 - db "しまった@", $64, $2, $0 - db "しょんぼり", $82, $2, $0 - db "すき@@@", $92, $2, $0 - db "だいきらい", $da, $2, $0 - db "たいくつ@", $dc, $2, $0 - db "だいじ@@", $de, $2, $0 - db "だいすき@", $e4, $2, $0 - db "たいへん@", $ea, $2, $0 - db "たのしい@", $0, $3, $0 - db "たのしすぎ", $2, $3, $0 - db "たべたい@", $8, $3, $0 - db "ダメダメ@", $e, $3, $0 - db "たりない@", $16, $3, $0 - db "ちくしょー", $34, $3, $0 - db "どうしよう", $9e, $3, $0 - db "ドキドキ@", $ac, $3, $0 - db "ナイス@@", $d0, $3, $0 - db "のみたい@", $26, $4, $0 - db "びっくり@", $60, $4, $0 - db "ふあん@@", $74, $4, $0 - db "ふらふら@", $86, $4, $0 - db "ほしい@@", $ae, $4, $0 - db "ボロボロ@", $b8, $4, $0 - db "まだまだ@", $e0, $4, $0 - db "まてない@", $e8, $4, $0 - db "まんぞく@", $f0, $4, $0 - db "みたい@@", $f8, $4, $0 - db "めずらしい", $22, $5, $0 - db "メラメラ@", $2a, $5, $0 - db "やだ@@@", $46, $5, $0 - db "やったー@", $48, $5, $0 - db "やばい@@", $50, $5, $0 - db "やばすぎる", $52, $5, $0 - db "やられた@", $54, $5, $0 - db "やられて@", $56, $5, $0 - db "よかった@", $6e, $5, $0 - db "ラブラブ@", $96, $5, $0 - db "ロマン@@", $a8, $5, $0 - db "ろんがい@", $aa, $5, $0 - db "わから@@", $b4, $5, $0 - db "わかり@@", $b6, $5, $0 - db "わくわく@", $ba, $5, $0 - -Unknown_11e710: ; 11e710 - db "あつい@@", $38, $0, $0 - db "あった@@", $3a, $0, $0 - db "あり@@@", $56, $0, $0 - db "ある@@@", $5e, $0, $0 - db "あわてて@", $6a, $0, $0 - db "いい@@@", $70, $0, $0 - db "いか@@@", $76, $0, $0 - db "イカス@@", $78, $0, $0 - db "いきおい@", $7a, $0, $0 - db "いける@@", $8a, $0, $0 - db "いじょう@", $8c, $0, $0 - db "いそがしい", $90, $0, $0 - db "いっしょに", $9a, $0, $0 - db "いっぱい@", $9c, $0, $0 - db "いない@@", $a0, $0, $0 - db "いや@@@", $a4, $0, $0 - db "いる@@@", $a8, $0, $0 - db "うまい@@", $c0, $0, $0 - db "うまく@@", $c2, $0, $0 - db "おおきい@", $e6, $0, $0 - db "おくれ@@", $f2, $0, $0 - db "おしい@@", $fa, $0, $0 - db "おもしろい", $2c, $1, $0 - db "おもしろく", $2e, $1, $0 - db "かっこいい", $5c, $1, $0 - db "かわいい@", $7e, $1, $0 - db "かんぺき@", $82, $1, $0 - db "けっこう@", $d0, $1, $0 - db "げんき@@", $d8, $1, $0 - db "こわい@@", $6, $2, $0 - db "さいこう@", $14, $2, $0 - db "さむい@@", $26, $2, $0 - db "さわやか@", $2c, $2, $0 - db "しかたない", $38, $2, $0 - db "すごい@@", $96, $2, $0 - db "すごすぎ@", $9c, $2, $0 - db "すてき@@", $a4, $2, $0 - db "たいした@", $e0, $2, $0 - db "だいじょぶ", $e2, $2, $0 - db "たかい@@", $ec, $2, $0 - db "ただしい@", $f8, $2, $0 - db "だめ@@@", $c, $3, $0 - db "ちいさい@", $2c, $3, $0 - db "ちがう@@", $30, $3, $0 - db "つかれ@@", $48, $3, $0 - db "とくい@@", $b0, $3, $0 - db "とまらない", $b6, $3, $0 - db "ない@@@", $ce, $3, $0 - db "なかった@", $d2, $3, $0 - db "なし@@@", $d8, $3, $0 - db "なって@@", $dc, $3, $0 - db "はやい@@", $50, $4, $0 - db "ひかる@@", $5a, $4, $0 - db "ひくい@@", $5c, $4, $0 - db "ひどい@@", $64, $4, $0 - db "ひとりで@", $66, $4, $0 - db "ひま@@@", $68, $4, $0 - db "ふそく@@", $76, $4, $0 - db "へた@@@", $8c, $4, $0 - db "まちがって", $e2, $4, $0 - db "やさしい@", $42, $5, $0 - db "よく@@@", $70, $5, $0 - db "よわって@", $86, $5, $0 - db "らく@@@", $8c, $5, $0 - db "らしい@@", $90, $5, $0 - db "わるい@@", $d4, $5, $0 - -Unknown_11e920: ; 11e920 - db "アルバイト", $64, $0, $0 - db "うち@@@", $ba, $0, $0 - db "おかね@@", $ee, $0, $0 - db "おこづかい", $f4, $0, $0 - db "おふろ@@", $24, $1, $0 - db "がっこう@", $5e, $1, $0 - db "きねん@@", $92, $1, $0 - db "グループ@", $c6, $1, $0 - db "ゲット@@", $d2, $1, $0 - db "こうかん@", $de, $1, $0 - db "しごと@@", $40, $2, $0 - db "しゅぎょう", $74, $2, $0 - db "じゅぎょう", $76, $2, $0 - db "じゅく@@", $78, $2, $0 - db "しんか@@", $88, $2, $0 - db "ずかん@@", $90, $2, $0 - db "せいかつ@", $ae, $2, $0 - db "せんせい@", $b8, $2, $0 - db "センター@", $ba, $2, $0 - db "タワー@@", $28, $3, $0 - db "つうしん@", $40, $3, $0 - db "テスト@@", $7e, $3, $0 - db "テレビ@@", $8c, $3, $0 - db "でんわ@@", $96, $3, $0 - db "どうぐ@@", $9a, $3, $0 - db "トレード@", $c4, $3, $0 - db "なまえ@@", $e8, $3, $0 - db "ニュース@", $a, $4, $0 - db "にんき@@", $c, $4, $0 - db "パーティー", $2e, $4, $0 - db "べんきょう", $92, $4, $0 - db "マシン@@", $d6, $4, $0 - db "めいし@@", $1e, $5, $0 - db "メッセージ", $26, $5, $0 - db "もようがえ", $3a, $5, $0 - db "ゆめ@@@", $5a, $5, $0 - db "ようちえん", $66, $5, $0 - db "ラジォ@@", $92, $5, $0 - db "ワールド@", $ae, $5, $0 - -Unknown_11ea58: ; 11ea58 - db "アイドル@", $1e, $0, $0 - db "アニメ@@", $4c, $0, $0 - db "うた@@@", $b8, $0, $0 - db "えいが@@", $d0, $0, $0 - db "おかし@@", $ea, $0, $0 - db "おしゃべり", $4, $1, $0 - db "おままごと", $28, $1, $0 - db "おもちゃ@", $30, $1, $0 - db "おんがく@", $38, $1, $0 - db "カード@@", $3e, $1, $0 - db "かいもの@", $46, $1, $0 - db "グルメ@@", $c8, $1, $0 - db "ゲーム@@", $cc, $1, $0 - db "ざっし@@", $1c, $2, $0 - db "さんぽ@@", $34, $2, $0 - db "じてんしゃ", $50, $2, $0 - db "しゅみ@@", $7a, $2, $0 - db "スポーツ@", $a8, $2, $0 - db "ダイエット", $d8, $2, $0 - db "たからもの", $f0, $2, $0 - db "たび@@@", $4, $3, $0 - db "ダンス@@", $2a, $3, $0 - db "つり@@@", $60, $3, $0 - db "デート@@", $6a, $3, $0 - db "でんしゃ@", $92, $3, $0 - db "ぬいぐるみ", $e, $4, $0 - db "パソコン@", $3e, $4, $0 - db "はな@@@", $4c, $4, $0 - db "ヒーロー@", $58, $4, $0 - db "ひるね@@", $6e, $4, $0 - db "ヒロイン@", $70, $4, $0 - db "ぼうけん@", $96, $4, $0 - db "ボード@@", $9a, $4, $0 - db "ボール@@", $9e, $4, $0 - db "ほん@@@", $ba, $4, $0 - db "マンガ@@", $ee, $4, $0 - db "やくそく@", $40, $5, $0 - db "やすみ@@", $44, $5, $0 - db "よてい@@", $74, $5, $0 - -Unknown_11eb90: ; 11eb90 - db "あう@@@", $20, $0, $0 - db "あきらめ@", $24, $0, $0 - db "あげる@@", $28, $0, $0 - db "あせる@@", $2e, $0, $0 - db "あそび@@", $30, $0, $0 - db "あそぶ@@", $34, $0, $0 - db "あつめ@@", $3e, $0, $0 - db "あるき@@", $60, $0, $0 - db "あるく@@", $62, $0, $0 - db "いく@@@", $7e, $0, $0 - db "いけ@@@", $86, $0, $0 - db "おき@@@", $f0, $0, $0 - db "おこり@@", $f6, $0, $0 - db "おこる@@", $f8, $0, $0 - db "おしえ@@", $fe, $0, $0 - db "おしえて@", $0, $1, $0 - db "おねがい@", $1a, $1, $0 - db "おぼえ@@", $26, $1, $0 - db "かえる@@", $4a, $1, $0 - db "がまん@@", $74, $1, $0 - db "きく@@@", $8c, $1, $0 - db "きたえ@@", $8e, $1, $0 - db "きめ@@@", $a6, $1, $0 - db "くる@@@", $c4, $1, $0 - db "さがし@@", $18, $2, $0 - db "さわぎ@@", $2a, $2, $0 - db "した@@@", $42, $2, $0 - db "しって@@", $4a, $2, $0 - db "して@@@", $4e, $2, $0 - db "しない@@", $52, $2, $0 - db "しまう@@", $60, $2, $0 - db "じまん@@", $66, $2, $0 - db "しらない@", $84, $2, $0 - db "しる@@@", $86, $2, $0 - db "しんじて@", $8a, $2, $0 - db "する@@@", $aa, $2, $0 - db "たべる@@", $a, $3, $0 - db "つかう@@", $42, $3, $0 - db "つかえ@@", $44, $3, $0 - db "つかって@", $46, $3, $0 - db "できない@", $70, $3, $0 - db "できる@@", $72, $3, $0 - db "でない@@", $84, $3, $0 - db "でる@@@", $8a, $3, $0 - db "なげる@@", $d6, $3, $0 - db "なやみ@@", $ea, $3, $0 - db "ねられ@@", $18, $4, $0 - db "ねる@@@", $1a, $4, $0 - db "のがし@@", $24, $4, $0 - db "のむ@@@", $28, $4, $0 - db "はしり@@", $3a, $4, $0 - db "はしる@@", $3c, $4, $0 - db "はたらき@", $40, $4, $0 - db "はたらく@", $42, $4, $0 - db "はまって@", $4e, $4, $0 - db "ぶつけ@@", $7a, $4, $0 - db "ほめ@@@", $b4, $4, $0 - db "みせて@@", $f6, $4, $0 - db "みて@@@", $fc, $4, $0 - db "みる@@@", $2, $5, $0 - db "めざす@@", $20, $5, $0 - db "もって@@", $34, $5, $0 - db "ゆずる@@", $58, $5, $0 - db "ゆるす@@", $5c, $5, $0 - db "ゆるせ@@", $5e, $5, $0 - db "られない@", $9a, $5, $0 - db "られる@@", $9c, $5, $0 - db "わかる@@", $b8, $5, $0 - db "わすれ@@", $c0, $5, $0 - -Unknown_11edb8: ; 11edb8 - db "あき@@@", $22, $0, $0 - db "あさ@@@", $2a, $0, $0 - db "あした@@", $2c, $0, $0 - db "いちにち@", $94, $0, $0 - db "いつか@@", $98, $0, $0 - db "いつも@@", $9e, $0, $0 - db "いま@@@", $a2, $0, $0 - db "えいえん@", $ce, $0, $0 - db "おととい@", $12, $1, $0 - db "おわり@@", $36, $1, $0 - db "かようび@", $78, $1, $0 - db "きのう@@", $94, $1, $0 - db "きょう@@", $b0, $1, $0 - db "きんようび", $b8, $1, $0 - db "げつようび", $d4, $1, $0 - db "このあと@", $f4, $1, $0 - db "このまえ@", $f6, $1, $0 - db "こんど@@", $c, $2, $0 - db "じかん@@", $3c, $2, $0 - db "じゅうねん", $70, $2, $0 - db "すいようび", $8e, $2, $0 - db "スタート@", $9e, $2, $0 - db "ずっと@@", $a2, $2, $0 - db "ストップ@", $a6, $2, $0 - db "そのうち@", $c4, $2, $0 - db "ついに@@", $3e, $3, $0 - db "つぎ@@@", $4a, $3, $0 - db "どようび@", $ba, $3, $0 - db "なつ@@@", $da, $3, $0 - db "にちようび", $6, $4, $0 - db "はじめ@@", $38, $4, $0 - db "はる@@@", $54, $4, $0 - db "ひる@@@", $6c, $4, $0 - db "ふゆ@@@", $84, $4, $0 - db "まいにち@", $c6, $4, $0 - db "もくようび", $30, $5, $0 - db "よなか@@", $76, $5, $0 - db "よる@@@", $7e, $5, $0 - db "らいしゅう", $88, $5, $0 - -Unknown_11eef0: ; 11eef0 - db "いたします", $92, $0, $0 - db "おります@", $32, $1, $0 - db "か!?@@", $3c, $1, $0 - db "かい?@@", $44, $1, $0 - db "かしら?@", $50, $1, $0 - db "かな?@@", $6a, $1, $0 - db "かも@@@", $76, $1, $0 - db "くれ@@@", $ca, $1, $0 - db "ございます", $e8, $1, $0 - db "しがち@@", $3a, $2, $0 - db "します@@", $62, $2, $0 - db "じゃ@@@", $6a, $2, $0 - db "じゃん@@", $6e, $2, $0 - db "しよう@@", $7c, $2, $0 - db "ぜ!@@@", $ac, $2, $0 - db "ぞ!@@@", $bc, $2, $0 - db "た@@@@", $d4, $2, $0 - db "だ@@@@", $d6, $2, $0 - db "だからね@", $ee, $2, $0 - db "だぜ@@@", $f4, $2, $0 - db "だった@@", $fa, $2, $0 - db "だね@@@", $fe, $2, $0 - db "だよ@@@", $10, $3, $0 - db "だよねー!", $12, $3, $0 - db "だわ@@@", $26, $3, $0 - db "ッス@@@", $4c, $3, $0 - db "ってかんじ", $52, $3, $0 - db "っぱなし@", $54, $3, $0 - db "つもり@@", $56, $3, $0 - db "ていない@", $64, $3, $0 - db "ている@@", $66, $3, $0 - db "でーす!@", $68, $3, $0 - db "でした@@", $74, $3, $0 - db "でしょ?@", $76, $3, $0 - db "でしょー!", $78, $3, $0 - db "です@@@", $7a, $3, $0 - db "ですか?@", $7c, $3, $0 - db "ですよ@@", $80, $3, $0 - db "ですわ@@", $82, $3, $0 - db "どうなの?", $a4, $3, $0 - db "どうよ?@", $a8, $3, $0 - db "とかいって", $aa, $3, $0 - db "なの@@@", $e0, $3, $0 - db "なのか@@", $e2, $3, $0 - db "なのだ@@", $e4, $3, $0 - db "なのよ@@", $e6, $3, $0 - db "なんだね@", $f2, $3, $0 - db "なんです@", $f8, $3, $0 - db "なんてね@", $fa, $3, $0 - db "ね@@@@", $12, $4, $0 - db "ねー@@@", $14, $4, $0 - db "の@@@@", $1c, $4, $0 - db "の?@@@", $1e, $4, $0 - db "ばっかり@", $44, $4, $0 - db "まーす!@", $c2, $4, $0 - db "ます@@@", $d8, $4, $0 - db "ますわ@@", $da, $4, $0 - db "ません@@", $dc, $4, $0 - db "みたいな@", $fa, $4, $0 - db "よ!@@@", $60, $5, $0 - db "よー@@@", $68, $5, $0 - db "よーん@@", $6c, $5, $0 - db "よね@@@", $78, $5, $0 - db "るよ@@@", $a2, $5, $0 - db "わけ@@@", $bc, $5, $0 - db "わよ!@@", $d2, $5, $0 - -Unknown_11f100: ; 11f100 - db "ああ@@@", $12, $0, $0 - db "あっち@@", $3c, $0, $0 - db "あの@@@", $4e, $0, $0 - db "ありゃ@@", $5c, $0, $0 - db "あれ@@@", $66, $0, $0 - db "あれは@@", $68, $0, $0 - db "あんな@@", $6c, $0, $0 - db "こう@@@", $dc, $1, $0 - db "こっち@@", $ec, $1, $0 - db "この@@@", $f2, $1, $0 - db "こりゃ@@", $fe, $1, $0 - db "これ@@@", $0, $2, $0 - db "これだ!@", $2, $2, $0 - db "これは@@", $4, $2, $0 - db "こんな@@", $e, $2, $0 - db "そう@@@", $be, $2, $0 - db "そっち@@", $c0, $2, $0 - db "その@@@", $c2, $2, $0 - db "そりゃ@@", $c6, $2, $0 - db "それ@@@", $c8, $2, $0 - db "それだ!@", $cc, $2, $0 - db "それは@@", $d0, $2, $0 - db "そんな@@", $d2, $2, $0 - db "どう@@@", $98, $3, $0 - db "どっち@@", $b2, $3, $0 - db "どの@@@", $b4, $3, $0 - db "どりゃ@@", $c0, $3, $0 - db "どれ@@@", $c2, $3, $0 - db "どれを@@", $c8, $3, $0 - db "どんな@@", $ca, $3, $0 - db "なに@@@", $de, $3, $0 - db "なんか@@", $ec, $3, $0 - db "なんだ@@", $f0, $3, $0 - db "なんで@@", $f6, $3, $0 - db "なんなんだ", $0, $4, $0 - db "なんの@@", $2, $4, $0 -; 11f220 - -Unknown_11f220: -INCBIN "baserom.gbc",$11f220,$11f23c - $11f220 - -Unknown_11f23c: -INCBIN "baserom.gbc",$11f23c,$11f2f0 - $11f23c - -Unknown_11f2f0: -INCBIN "baserom.gbc",$11f2f0,$11f332 - $11f2f0 - -Unknown_11f332: -INCBIN "baserom.gbc",$11f332,$11f3ce - $11f332 - -Unknown_11f3ce: -INCBIN "baserom.gbc",$11f3ce,$11f686 - $11f3ce - - - -SECTION "bank5B", ROMX, BANK[$5B] - -Function16c000: ; 16c000 - ld a, [hCGB] - and a - ret z - ld a, [$ffea] - and a - ret z - ld a, [wcfbe] - push af - set 7, a - ld [wcfbe], a - call Function16c108 - callba Function100063 - callba Function100082 - call Function16c031 - callba Function1000a4 - xor a - ld [$ffea], a - pop af - ld [wcfbe], a - ret -; 16c031 - -Function16c031: ; 16c031 - xor a - ld [wcf63], a - ld [wcf64], a - ld [DefaultFlypoint], a - ld [wd003], a -.asm_16c03e - call DelayFrame - callba Function10635c - ld a, [DefaultFlypoint] - ld hl, Jumptable_16c05c - rst JumpTable - call Function16cb2e - call Function16cbae - ld a, [DefaultFlypoint] - cp $ff - jr nz, .asm_16c03e - ret -; 16c05c - -Jumptable_16c05c: ; 16c05c - dw Function16c074 - dw Function16c0ba - dw Function16c089 - dw Function16c09e - dw Function16c0a8 - dw Function16c0dc - dw Function16c0ec - dw Function16c0ba - dw Function16c0ca - dw Function16c0dc - dw Function16c0ec - dw Function16c081 -; 16c074 - -Function16c074: ; 16c074 - ld a, [wcf64] - and a - ret z - ld [DefaultFlypoint], a - xor a - ld [wd003], a - ret -; 16c081 - -Function16c081: ; 16c081 - push af - ld a, $ff - ld [DefaultFlypoint], a - pop af - ret -; 16c089 - -Function16c089: ; 16c089 - ld a, $1 - ld [Buffer2], a - ld [wd1f1], a - xor a - ld [hWY], a - call Function16c0fa - ld a, [DefaultFlypoint] - ld [wcf64], a - ret -; 16c09e - -Function16c09e: ; 16c09e - ld a, [wcf64] - cp $4 - ret nz - call Function16c0fa - ret -; 16c0a8 - -Function16c0a8: ; 16c0a8 - xor a - ld [Buffer2], a - ld [wd1f1], a - call ClearSprites - ld a, $90 - ld [hWY], a - call Function16c0fa - ret -; 16c0ba - -Function16c0ba: ; 16c0ba - call Function16c943 - push af - ld a, [wd003] - inc a - ld [wd003], a - pop af - call c, Function16c0fa - ret -; 16c0ca - -Function16c0ca: ; 16c0ca - ld a, [wd003] - cp $28 - push af - ld a, [wd003] - inc a - ld [wd003], a - pop af - call z, Function16c0fa - ret -; 16c0dc - -Function16c0dc: ; 16c0dc - call Function16ca11 - push af - ld a, [wd003] - inc a - ld [wd003], a - pop af - call c, Function16c0fa - ret -; 16c0ec - -Function16c0ec: ; 16c0ec - call WhiteBGMap - call ClearScreen - push af - ld a, $ff - ld [DefaultFlypoint], a - pop af - ret -; 16c0fa - -Function16c0fa: ; 16c0fa - push af - ld a, [DefaultFlypoint] - inc a - ld [DefaultFlypoint], a - xor a - ld [wd003], a - pop af - ret -; 16c108 - -Function16c108: ; 16c108 - call DisableLCD - ld hl, VTiles2 - ld de, GFX_16c173 - lb bc, BANK(GFX_16c173), $68 - call Get2bpp - call Function16c130 - call Function16c145 - call Function16c15c - ld hl, VBGMap0 - call Function16cc73 - call Function16cc02 - xor a - ld [hBGMapMode], a - call EnableLCD - ret -; 16c130 - -Function16c130: ; 16c130 - ld de, Unkn1Pals - ld hl, Unknown_16c903 - ld bc, 8 - ld a, $5 - call FarCopyWRAM - callba Function96a4 - ret -; 16c145 - -Function16c145: ; 16c145 - ld hl, TileMap - ld bc, 20 - xor a - call ByteFill - ld hl, Tilemap_16c633 - decoord 0, 1 - ld bc, $0154 - call CopyBytes - ret -; 16c15c - -Function16c15c: ; 16c15c - ld hl, AttrMap - ld bc, $0014 - xor a - call ByteFill - ld hl, Tilemap_16c79b - decoord 0, 1, AttrMap - ld bc, $0154 - call CopyBytes - ret -; 16c173 - -GFX_16c173: -INCBIN "gfx/unknown/16c173.2bpp" - -Tilemap_16c633: -INCBIN "gfx/unknown/16c633.tilemap" - -Tilemap_16c79b: -INCBIN "gfx/unknown/16c79b.tilemap" - -Unknown_16c903: - RGB 31, 31, 31 - RGB 04, 10, 20 - RGB 16, 19, 25 - RGB 25, 27, 29 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 -; 16c943 - -Function16c943: ; 16c943 - ld a, [wd003] - and a - jr nz, .asm_16c95e - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld a, $ff - ld bc, $0008 - ld hl, Unkn1Pals - call ByteFill - pop af - ld [rSVBK], a - -.asm_16c95e - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld e, $0 - ld a, $0 -.asm_16c969 - ld hl, Unknown_16c903 - call Function16cab6 - call Function16cabb - ld d, a - ld hl, Unkn1Pals - call Function16cab6 - call Function16cabb - cp d - jr z, .asm_16c991 - ld b, $1 -.asm_16c981 - dec a - cp d - jr z, .asm_16c988 - dec b - jr nz, .asm_16c981 - -.asm_16c988 - ld hl, Unkn1Pals - call Function16cab6 - call Function16cadc - -.asm_16c991 - ld hl, Unknown_16c903 - call Function16cab6 - call Function16cad8 - ld d, a - ld hl, Unkn1Pals - call Function16cab6 - call Function16cad8 - cp d - jr z, .asm_16c9b9 - ld b, $1 -.asm_16c9a9 - dec a - cp d - jr z, .asm_16c9b0 - dec b - jr nz, .asm_16c9a9 - -.asm_16c9b0 - ld hl, Unkn1Pals - call Function16cab6 - call Function16cb08 - -.asm_16c9b9 - ld hl, Unknown_16c903 - call Function16cab6 - call Function16cac4 - ld d, a - ld hl, Unkn1Pals - call Function16cab6 - call Function16cac4 - cp d - jr z, .asm_16c9e1 - ld b, $1 -.asm_16c9d1 - dec a - cp d - jr z, .asm_16c9d8 - dec b - jr nz, .asm_16c9d1 - -.asm_16c9d8 - ld hl, Unkn1Pals - call Function16cab6 - call Function16cae8 - -.asm_16c9e1 - inc e - inc e - ld a, e - cp $8 - jr nz, .asm_16c969 - callba Function96a4 - call Function32f9 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [wd003] - cp $1f - jr z, .asm_16ca09 - pop af - ld [rSVBK], a - ld e, $0 - pop af - ld [rSVBK], a - and a - ret - -.asm_16ca09 - pop af - ld [rSVBK], a - pop af - ld [rSVBK], a - scf - ret -; 16ca11 - -Function16ca11: ; 16ca11 - ld a, [wd003] - and a - jr nz, .asm_16ca1d - callba Function96a4 - -.asm_16ca1d - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld e, $0 - ld a, $0 -.asm_16ca28 - ld hl, Unkn1Pals - call Function16cab6 - call Function16cabb - cp $1f - jr z, .asm_16ca48 - ld b, $1 -.asm_16ca37 - inc a - cp $1f - jr z, .asm_16ca3f - dec b - jr nz, .asm_16ca37 - -.asm_16ca3f - ld hl, Unkn1Pals - call Function16cab6 - call Function16cadc - -.asm_16ca48 - ld hl, Unkn1Pals - call Function16cab6 - call Function16cad8 - cp $1f - jr z, .asm_16ca68 - ld b, $1 -.asm_16ca57 - inc a - cp $1f - jr z, .asm_16ca5f - dec b - jr nz, .asm_16ca57 - -.asm_16ca5f - ld hl, Unkn1Pals - call Function16cab6 - call Function16cb08 - -.asm_16ca68 - ld hl, Unkn1Pals - call Function16cab6 - call Function16cac4 - cp $1f - jr z, .asm_16ca88 - ld b, $1 -.asm_16ca77 - inc a - cp $1f - jr z, .asm_16ca7f - dec b - jr nz, .asm_16ca77 - -.asm_16ca7f - ld hl, Unkn1Pals - call Function16cab6 - call Function16cae8 - -.asm_16ca88 - inc e - inc e - ld a, e - cp $8 - jr nz, .asm_16ca28 - callba Function96a4 - call Function32f9 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [wd003] - cp $1f - jr z, .asm_16caae - pop af - ld [rSVBK], a - pop af - ld [rSVBK], a - and a - ret - -.asm_16caae - pop af - ld [rSVBK], a - pop af - ld [rSVBK], a - scf - ret -; 16cab6 - -Function16cab6: ; 16cab6 - ld b, $0 - ld c, e - add hl, bc - ret -; 16cabb - -Function16cabb: ; 16cabb - inc hl - ld a, [hl] - srl a - srl a - and $1f - ret -; 16cac4 - -Function16cac4: ; 16cac4 - inc hl - ld a, [hld] - and $3 - ld b, a - ld a, [hl] - sla a - rl b - sla a - rl b - sla a - rl b - ld a, b - ret -; 16cad8 - -Function16cad8: ; 16cad8 - ld a, [hl] - and $1f - ret -; 16cadc - -Function16cadc: ; 16cadc - sla a - sla a - ld b, a - inc hl - ld a, [hl] - and $83 - or b - ld [hl], a - ret -; 16cae8 - -Function16cae8: ; 16cae8 - ld c, a - srl a - srl a - srl a - ld b, a - inc hl - ld a, [hl] - and $fc - or b - ld [hld], a - ld a, c - sla a - sla a - sla a - sla a - sla a - ld b, a - ld a, [hl] - and $1f - or b - ld [hl], a - ret -; 16cb08 - -Function16cb08: ; 16cb08 - ld b, a - ld a, [hl] - and $e0 - or b - ld [hl], a - ret -; 16cb0f - -Function16cb0f: ; 16cb0f - xor a - ld [Buffer1], a - ld [Buffer2], a - xor a - ld [wd1ec], a - ld a, $70 - ld [wd1ee], a - ld a, $4 - ld [wd1ed], a - ld a, $a0 - ld [wd1ef], a - xor a - ld [wd1f0], a - ret -; 16cb2e - -Function16cb2e: ; 16cb2e - ld a, [Buffer2] - and a - ret z - call Function16cb40 - ld hl, Unknown_16cb86 - ld de, Sprites - call Function16cb5d - ret -; 16cb40 - -Function16cb40: ; 16cb40 - ld hl, wd1ec - inc [hl] - ld a, [hl] - cp $18 - ret c - xor a - ld [hl], a - ld a, [wd1ef] - cp $a0 - jr nz, .asm_16cb57 - ld a, $a7 - ld [wd1ef], a - ret - -.asm_16cb57 - ld a, $a0 - ld [wd1ef], a - ret -; 16cb5d - -Function16cb5d: ; 16cb5d - ld a, [hli] - and a - ret z -.asm_16cb60 - push af - ld a, [wd1ee] - add [hl] - add $10 - ld [de], a - inc hl - inc de - ld a, [wd1ed] - add [hl] - add $8 - ld [de], a - inc hl - inc de - ld a, [wd1ef] - add [hl] - ld [de], a - inc hl - inc de - ld a, [wd1f0] - or [hl] - ld [de], a - inc hl - inc de - pop af - dec a - jr nz, .asm_16cb60 - ret -; 16cb86 - -Unknown_16cb86: - db 7 - db 0, 0, 0, 1 - db 8, 0, 1, 1 - db 8, 8, 2, 0 - db 8, 16, 3, 0 - db 16, 0, 4, 1 - db 16, 8, 5, 0 - db 16, 16, 6, 0 -; 16cba3 - -Function16cba3: ; 16cba3 - xor a - ld [wd1f1], a - ld [wd1f2], a - ld [wd1f3], a - ret -; 16cbae - -Function16cbae: ; 16cbae - ld a, [wd1f1] - and a - ret z - call Function16cbba - call Function16cbd1 - ret -; 16cbba - -Function16cbba: ; 16cbba - ld hl, wd1f2 - inc [hl] - ld a, [hl] - cp $c - ret c - xor a - ld [hl], a - ld a, [wd1f3] - inc a - cp $4 - jr c, .asm_16cbcd - xor a - -.asm_16cbcd - ld [wd1f3], a - ret -; 16cbd1 - -Function16cbd1: ; 16cbd1 - ld a, [wd1f3] - ld c, a - ld b, 0 - ld hl, Unknown_16cbfb - add hl, bc - ld a, [hl] - ld bc, $0002 - ld hl, Unknown_16cfa3 - call AddNTimes - ld de, wd00c - ld bc, $0002 - ld a, $5 - call FarCopyWRAM - callba Function96a4 - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 16cbfb - -Unknown_16cbfb: - db 0, 1, 2, 1, 0, 1, 2 -; 16cc02 - -Function16cc02: ; 16cc02 - call Function16cc18 - call Function16cc49 - call Function16cc62 - call Function16cc25 - call Function16cc6e - call Function16cb0f - call Function16cba3 - ret -; 16cc18 - -Function16cc18: ; 16cc18 - ld hl, VTiles1 - ld de, GFX_16cca3 - lb bc, BANK(GFX_16cca3), $2e - call Get2bpp - ret -; 16cc25 - -Function16cc25: ; 16cc25 - ld hl, Unknown_16cfa9 - ld de, wd008 - call Function16cc41 - ld hl, Unknown_16cfb1 - ld de, Unkn2Pals - call Function16cc41 - ld hl, Unknown_16cfb9 - ld de, wd048 - call Function16cc41 - ret -; 16cc41 - -Function16cc41: ; 16cc41 - ld bc, $0008 - ld a, $5 - jp FarCopyWRAM -; 16cc49 - -Function16cc49: ; 16cc49 - hlcoord 4, 15 - ld a, $80 - call Function16cc5a - hlcoord 4, 16 - ld a, $90 - call Function16cc5a - ret -; 16cc5a - -Function16cc5a: ; 16cc5a - ld c, $10 -.asm_16cc5c - ld [hli], a - inc a - dec c - jr nz, .asm_16cc5c - ret -; 16cc62 - -Function16cc62: ; 16cc62 - hlcoord 0, 15, AttrMap - ld bc, $0028 - ld a, $1 - call ByteFill - ret -; 16cc6e - -Function16cc6e: ; 16cc6e - ld hl, VBGMap1 - jr Function16cc73 - -Function16cc73: - ld a, [rVBK] - push af - ld a, $0 - ld [rVBK], a - push hl - ld de, TileMap - call Function16cc90 - pop hl - ld a, $1 - ld [rVBK], a - ld de, AttrMap - call Function16cc90 - pop af - ld [rVBK], a - ret -; 16cc90 - -Function16cc90: ; 16cc90 - ld bc, $1214 -.asm_16cc93 - push bc -.asm_16cc94 - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .asm_16cc94 - ld bc, $000c - add hl, bc - pop bc - dec b - jr nz, .asm_16cc93 - ret -; 16cca3 - -GFX_16cca3: -INCBIN "gfx/unknown/16cca3.2bpp" - -Unknown_16cfa3: - RGB 31, 31, 31 - RGB 25, 27, 29 - RGB 16, 19, 25 - -Unknown_16cfa9: - RGB 31, 31, 31 - RGB 25, 27, 29 - RGB 31, 31, 31 - RGB 07, 07, 07 - -Unknown_16cfb1: - RGB 31, 31, 31 - RGB 13, 09, 18 - RGB 26, 21, 16 - RGB 07, 07, 07 - -Unknown_16cfb9: - RGB 31, 31, 31 - RGB 18, 05, 02 - RGB 27, 11, 12 - RGB 07, 07, 07 -; 16cfc1 - -GFX_16cfc1: -INCBIN "gfx/unknown/16cfc1.2bpp" - -Function16d421: ; 16d421 - ld de, GFX_16cfc1 - ld hl, VTiles2 - lb bc, BANK(GFX_16cfc1), $46 - call Get2bpp - ret -; 16d42e - -Function16d42e: ; 16d42e - ld hl, Tilemap_16d465 - ld de, TileMap - ld bc, $0168 - call CopyBytes - ret -; 16d43b - -Function16d43b: ; 16d43b - call Function1d6e - call WhiteBGMap - call ClearTileMap - call ClearSprites - callba Function16d421 - callba Function16d42e - ld b, $8 - call GetSGBLayout - call Function32f9 - call WaitBGMap - call Functiona36 - call Function1d7d - ret -; 16d465 - -Tilemap_16d465: -INCBIN "gfx/unknown/16d465.tilemap" - -Tilemap_16d5cd: -INCBIN "gfx/unknown/16d5cd.tilemap" - -Tilemap_16d5f5: -INCBIN "gfx/unknown/16d5f5.tilemap" - -Function16d61d: ; 16d61d - ld h, d - ld l, e - push bc - push hl - call Function16d640 - pop hl - pop bc - ld de, AttrMap - TileMap - add hl, de - inc b - inc b - inc c - inc c - ld a, $7 -.asm_16d630 - push bc - push hl -.asm_16d632 - ld [hli], a - dec c - jr nz, .asm_16d632 - pop hl - ld de, $0014 - add hl, de - pop bc - dec b - jr nz, .asm_16d630 - ret -; 16d640 - -Function16d640: ; 16d640 - push hl - ld a, $30 - ld [hli], a - inc a - call Function16d66d - inc a - ld [hl], a - pop hl - ld de, $0014 - add hl, de -.asm_16d64f - push hl - ld a, $33 - ld [hli], a - ld a, $7f - call Function16d66d - ld [hl], $34 - pop hl - ld de, $0014 - add hl, de - dec b - jr nz, .asm_16d64f - ld a, $35 - ld [hli], a - ld a, $36 - call Function16d66d - ld [hl], $37 - ret -; 16d66d - -Function16d66d: ; 16d66d - ld d, c -.asm_16d66e - ld [hli], a - dec d - jr nz, .asm_16d66e - ret -; 16d673 - -Function16d673: ; 16d673 - call Function16d696 - call Function16d6ae - callba Function49856 - callba Functionfb60d - hlcoord 10, 17 - ld de, String_16d68f - call PlaceString - ret -; 16d68f - -String_16d68f: ; 16d68f - db "CANCEL@" -; 16d696 - -Function16d696: ; 16d696 - call Function16d421 - ret -; 16d69a - - -Function16d69a: ; 16d69a - ld de, GFX_16cfc1 + $300 - ld hl, $9760 - lb bc, BANK(GFX_16cfc1), 8 - call Get2bpp - ret -; 16d6a7 - -Function16d6a7: ; 16d6a7 - callba Function49811 - ret -; 16d6ae - -Function16d6ae: ; 16d6ae - call Function16d42e - ld hl, Tilemap_16d5cd - ld de, TileMap - ld bc, $0028 - call CopyBytes - ld hl, Tilemap_16d5f5 - decoord 0, 16 - ld bc, $0028 - call CopyBytes - ret -; 16d6ca - -Function16d6ca: ; 16d6ca - call Function16d61d - ret -; 16d6ce - -Function16d6ce: ; 16d6ce - call Function1d6e - call Function16d6e1 - callba Function87d - call Function1d7d - call Function3200 - ret -; 16d6e1 - -Function16d6e1: ; 16d6e1 - hlcoord 4, 10 - ld b, $1 - ld c, $a - predef Function28eef - hlcoord 5, 11 - ld de, String_16d701 - call PlaceString - call WaitBGMap - call Function3200 - ld c, $32 - jp DelayFrames -; 16d701 - -String_16d701: ; 16d701 - db "WAITING..!@" -; 16d70c - -Function16d70c: ; 16d70c - call Function16d725 - call Function16d713 - ret -; 16d713 - -Function16d713: ; 16d713 - push bc - push af - ld a, [$ffa9] - and $f0 - ld b, a - ld a, [hJoyPressed] - and $f - or b - ld b, a - pop af - ld a, b - pop bc - ld d, a - ret -; 16d725 - -Function16d725: ; 16d725 - ld hl, wcfa6 - res 7, [hl] - ld a, [hBGMapMode] - push af - call Function16d734 - pop af - ld [hBGMapMode], a - ret -; 16d734 - -Function16d734: ; 16d734 -.asm_16d734 - call Function16d77a - call Function16d759 - call Function16d76a - jr nc, .asm_16d758 - callba Function24270 - jr c, .asm_16d758 - ld a, [wcfa5] - bit 7, a - jr nz, .asm_16d758 - call Function16d713 - ld b, a - ld a, [wcfa8] - and b - jr z, .asm_16d734 - -.asm_16d758 - ret -; 16d759 - -Function16d759: ; 16d759 - ld a, [hOAMUpdate] - push af - ld a, $1 - ld [hOAMUpdate], a - call WaitBGMap - pop af - ld [hOAMUpdate], a - xor a - ld [hBGMapMode], a - ret -; 16d76a - -Function16d76a: ; 16d76a -.asm_16d76a - call RTC - call Function16d7e7 - ret c - ld a, [wcfa5] - bit 7, a - jr z, .asm_16d76a - and a - ret -; 16d77a - -Function16d77a: ; 16d77a - ld hl, wcfac - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hl] - cp $1f - jr nz, .asm_16d792 - ld a, [wcfab] - ld [hl], a - push hl - push bc - ld bc, $000b - add hl, bc - ld [hl], a - pop bc - pop hl - -.asm_16d792 - ld a, [wcfa1] - ld b, a - ld a, [wcfa2] - ld c, a - call GetTileCoord - ld a, [wcfa7] - swap a - and $f - ld c, a - ld a, [wcfa9] - ld b, a - xor a - dec b - jr z, .asm_16d7b1 -.asm_16d7ad - add c - dec b - jr nz, .asm_16d7ad - -.asm_16d7b1 - ld c, $14 - call AddNTimes - ld a, [wcfa7] - and $f - ld c, a - ld a, [wcfaa] - ld b, a - xor a - dec b - jr z, .asm_16d7c8 -.asm_16d7c4 - add c - dec b - jr nz, .asm_16d7c4 - -.asm_16d7c8 - ld c, a - add hl, bc - ld a, [hl] - cp $1f - jr z, .asm_16d7de - ld [wcfab], a - ld [hl], $1f - push hl - push bc - ld bc, $000b - add hl, bc - ld [hl], $1f - pop bc - pop hl - -.asm_16d7de - ld a, l - ld [wcfac], a - ld a, h - ld [wcfad], a - ret -; 16d7e7 - -Function16d7e7: ; 16d7e7 - ld a, [wcfa5] - bit 6, a - jr z, .asm_16d7f4 - callba Function8cf62 - -.asm_16d7f4 - call Functiona57 - call Function16d713 - and a - ret z - scf - ret -; 16d7fe - - -SECTION "bank5C", ROMX, BANK[$5C] - -Function170000: ; 170000 - ld a, [$c62b] - ld [$c6d0], a - ld hl, $c62e - ld de, $c6e7 - ld bc, $0005 - call CopyBytes - ld a, $50 - ld [de], a - ld hl, $c663 - ld de, $c6f2 - ld bc, $0005 - call CopyBytes - ld a, $50 - ld [de], a - ld hl, $c648 - ld a, [hli] - ld [$c6fd], a - ld a, [hl] - ld [$c6fe], a - ld hl, $c639 - ld a, [hli] - ld [$c6ff], a - ld a, [hl] - ld [wc700], a - ld bc, $c633 - callba GetCaughtGender - ld a, c - ld [wc701], a - ld a, [wcd81] - ld [wc74e], a - ld hl, $c608 - ld de, $d800 - ld bc, $008f - call CopyBytes - ret -; 17005a - -Function17005a: ; 17005a - ld a, $5 - call GetSRAMBank - ld a, [$a824] - ld [wc702], a - ld hl, $a827 - ld de, wc719 - ld bc, $0005 - call CopyBytes - ld a, $50 - ld [de], a - ld hl, $a85c - ld de, wc724 - ld bc, $0005 - call CopyBytes - ld a, $50 - ld [de], a - ld hl, $a841 - ld a, [hli] - ld [wc72f], a - ld a, [hl] - ld [wc730], a - ld hl, $a832 - ld a, [hli] - ld [wc731], a - ld a, [hl] - ld [wc732], a - ld bc, $a82c - callba GetCaughtGender - ld a, c - ld [wc733], a - ld a, [wcd81] - ld [wc74e], a - call CloseSRAM - ret -; 1700b0 - -Function1700b0: ; 1700b0 - call Function17021e - callba Function118121 - ret -; 1700ba - -Function1700ba: ; 1700ba - call Function17021e - callba Function11811a - ret -; 1700c4 - -Function1700c4: ; 1700c4 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - call Function17042c - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$be45], a - xor a - ld [$be46], a - ld hl, $dffc - ld de, $aa41 - ld bc, $0004 - call CopyBytes - ld hl, $d202 - ld de, $aa8e - ld bc, $0594 - call CopyBytes - ld hl, $aa5d - ld a, [hl] - inc [hl] - inc hl - sla a - sla a - ld e, a - ld d, $0 - add hl, de - ld e, l - ld d, h - ld hl, $dffc - ld bc, $0004 - call CopyBytes - call CloseSRAM - pop af - ld [rSVBK], a - ret -; 170114 - -Function170114: ; 170114 - call Function17021e - call Function170121 - callba Function11805f - ret -; 170121 - -Function170121: ; 170121 - ld a, $5 - call GetSRAMBank - ld hl, $a948 - ld de, $c608 - ld bc, $00f6 - call CopyBytes - call CloseSRAM - call Function170c8b - ret -; 170139 - -Function170139: ; 170139 - ld a, $5 - call GetSRAMBank - ld de, $aa41 - ld h, $0 - ld l, h - ld bc, $03e8 - call Function17020c - ld bc, $0064 - call Function17020c - ld bc, $000a - call Function17020c - ld a, [de] - ld c, a - ld b, $0 - add hl, bc - call CloseSRAM - ld a, h - ld [$c608], a - ld a, l - ld [$c608 + 1], a - ld hl, $c628 - ld a, [PlayerID] - ld [hli], a - ld a, [PlayerID + 1] - ld [hli], a - ld a, [wd84a] - ld [hli], a - ld a, [wd84b] - ld [hli], a - ld e, l - ld d, h - ld hl, PlayerName - ld bc, $0005 - call CopyBytes - ld bc, PlayerID - ld de, PlayerGender - callba Function4e929 - ld de, $c62c + 5 - ld a, c - ld [de], a - inc de - ld a, $df - ld [wcd49], a - ld a, $dc - ld [wcd4a], a - ld a, $41 - ld [wcd4b], a - ld a, $de - ld [wcd4c], a - ld a, $3 -.asm_1701ac - push af - ld a, [wcd49] - ld l, a - ld a, [wcd4a] - ld h, a - ld bc, $0030 - call CopyBytes - ld a, l - ld [wcd49], a - ld a, h - ld [wcd4a], a - ld a, [wcd4b] - ld l, a - ld a, [wcd4c] - ld h, a - ld bc, $0006 - call CopyBytes - ld a, l - ld [wcd4b], a - ld a, h - ld [wcd4c], a - pop af - dec a - jr nz, .asm_1701ac - ld a, $4 - call GetSRAMBank - ld hl, $a013 - ld bc, $0024 - call CopyBytes - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld hl, $a894 - ld bc, $0006 - call CopyBytes - ld hl, $c608 - ld de, $a948 - ld bc, $00f6 - call CopyBytes - call CloseSRAM - ret -; 17020c - -Function17020c: ; 17020c - ld a, [de] - inc de - and a - ret z -.asm_170210 - add hl, bc - dec a - jr nz, .asm_170210 - ret -; 170215 - -Function170215: ; 170215 - xor a - ld [wcf63], a - call Function17022c - ret -; 17021d - -Function17021d: ; 17021d - ret -; 17021e - -Function17021e: ; 17021e - xor a - ld [wcf63], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ret -; 17022c - -Function17022c: ; 17022c -.asm_17022c - call Function17023a - call DelayFrame - ld a, [wcf63] - cp $1 - jr nz, .asm_17022c - ret -; 17023a - -Function17023a: ; 17023a - ld a, [wcf63] - ld e, a - ld d, 0 - ld hl, Jumptable_170249 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 170249 - -Jumptable_170249: ; 170249 - dw Function17024d - dw Function1704c9 -; 17024d - -Function17024d: ; 17024d - ld a, [Options] - push af - ld hl, Options - set 6, [hl] - ld a, [wcfc0] - push af - or $1 - ld [wcfc0], a - xor a - ld [InLinkBattle], a - callba Function1060a2 - callba Functionc658 - call Function1702b7 - call Function170bf7 - predef StartBattle - callba Function1500c - callba Functionc658 - ld a, [wd0ee] - ld [ScriptVar], a - and a - jr nz, .asm_1702a9 - ld a, $1 - call GetSRAMBank - ld a, [$be46] - ld [wcf64], a - call CloseSRAM - ld hl, StringBuffer3 - ld a, [wcf64] - add $f7 - ld [hli], a - ld a, $50 - ld [hl], a - -.asm_1702a9 - pop af - ld [wcfc0], a - pop af - ld [Options], a - ld a, $1 - ld [wcf63], a - ret -; 1702b7 - -Function1702b7: ; 1702b7 - call Function1704a2 - ld de, $c643 - ld c, $b - callba Function17d073 - jr nc, .asm_1702db - ld a, [$c608 + 11] - ld [wd265], a - call GetPokemonName - ld l, e - ld h, d - ld de, $c643 - ld bc, $000b - call CopyBytes - -.asm_1702db - ld de, $c67e - ld c, $b - callba Function17d073 - jr nc, .asm_1702fc - ld a, [$c64e] - ld [wd265], a - call GetPokemonName - ld l, e - ld h, d - ld de, $c67e - ld bc, $000b - call CopyBytes - -.asm_1702fc - ld de, $c686 + 51 - ld c, $b - callba Function17d073 - jr nc, .asm_17031d - ld a, [$c689] - ld [wd265], a - call GetPokemonName - ld l, e - ld h, d - ld de, $c686 + 51 - ld bc, $000b - call CopyBytes - -.asm_17031d - ld a, $50 - ld [$c64d], a - ld [$c688], a - ld [$c68a + 57], a - call Function170c98 - ld de, $c608 - ld c, $a - callba Function17d073 - jr nc, .asm_17033d - ld hl, String_170426 - jr .asm_170340 - -.asm_17033d - ld hl, $c608 - -.asm_170340 - ld de, wd26b - ld bc, $000a - call CopyBytes - ld a, $50 - ld [de], a - ld hl, $c608 + 10 - ld a, [hli] - ld [OtherTrainerClass], a - ld a, $ea - ld [BGMapBuffer], a - ld a, $d3 - ld [wcd21], a - ld de, OTPartyMon1Species - ld bc, OTPartyCount - ld a, $3 - ld [bc], a - inc bc -.asm_170367 - push af - ld a, [hl] - ld [bc], a - inc bc - push bc - ld bc, $0030 - call CopyBytes - push de - ld a, [BGMapBuffer] - ld e, a - ld a, [wcd21] - ld d, a - ld bc, $000b - call CopyBytes - ld a, e - ld [BGMapBuffer], a - ld a, d - ld [wcd21], a - pop de - pop bc - pop af - dec a - and a - jr nz, .asm_170367 - ld a, $ff - ld [bc], a - ret -; 170394 - -Function170394: ; 170394 - ld hl, $c608 + 11 - ld d, $3 -.asm_170399 - push de - push hl - ld b, h - ld c, l - ld a, [hl] - and a - jr z, .asm_1703b1 - cp $ff - jr z, .asm_1703b1 - cp $fe - jr z, .asm_1703b1 - cp $fd - jr z, .asm_1703b1 - cp $fc - jr nz, .asm_1703b4 - -.asm_1703b1 - ld a, $eb - ld [hl], a - -.asm_1703b4 - ld [CurSpecies], a - call GetBaseData - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld e, a - ld hl, $001f - add hl, bc - ld a, [hl] - cp $2 - ld a, $2 - jr c, .asm_1703d6 - ld a, [hl] - cp e - jr c, .asm_1703d7 - ld a, e - -.asm_1703d6 - ld [hl], a - -.asm_1703d7 - ld [CurPartyLevel], a - ld hl, $0002 - add hl, bc - ld d, $3 - ld a, [hli] - and a - jr z, .asm_1703ea - cp $fc - jr nc, .asm_1703ea - jr .asm_1703f4 - -.asm_1703ea - dec hl - ld a, $1 - ld [hli], a - xor a - ld [hli], a - ld [hli], a - ld [hl], a - jr .asm_1703ff - -.asm_1703f4 - ld a, [hl] - cp $fc - jr c, .asm_1703fb - ld [hl], $0 - -.asm_1703fb - inc hl - dec d - jr nz, .asm_1703f4 - -.asm_1703ff - ld hl, $0024 - add hl, bc - ld d, h - ld e, l - push hl - push de - ld hl, $000a - add hl, bc - ld b, $1 - predef Functione167 - pop de - pop hl - dec de - dec de - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - pop hl - ld bc, $003b - add hl, bc - pop de - dec d - jp nz, .asm_170399 - ret -; 170426 - -String_170426: ; 170426 - db "CHRIS@" -; 17042c - -Function17042c: ; 17042c - ld hl, OTPartyMon2ID - ld a, $7 -.asm_170431 - push af - push hl - ld c, $12 -.asm_170435 - ld a, [hli] - ld b, a - ld a, [hli] - and a - jr z, .asm_170451 - cp $f - jr nc, .asm_17045b - push hl - ld hl, Unknown_170470 - dec a - ld e, a - ld d, 0 - add hl, de - ld a, [hl] - pop hl - cp b - jr c, .asm_17045b - jr z, .asm_17045b - jr .asm_170456 - -.asm_170451 - ld a, b - cp $fc - jr nc, .asm_17045b - -.asm_170456 - dec c - jr nz, .asm_170435 - jr .asm_170466 - -.asm_17045b - pop de - push de - ld hl, Unknown_17047e - ld bc, $0024 - call CopyBytes - -.asm_170466 - pop hl - ld de, $00e0 - add hl, de - pop af - dec a - jr nz, .asm_170431 - ret -; 170470 - -Unknown_170470: - db $12, $24, $45, $45, $42, $42, $45, $42, $27, $27, $45, $27, $42, $24 - -Unknown_17047e: - db $03, $04, $05, $08 - db $03, $05, $0e, $06 - db $03, $02, $00, $00 - db $39, $07, $07, $04 - db $00, $05, $04, $07 - db $01, $05, $00, $00 - db $0f, $05, $14, $07 - db $05, $05, $11, $0c - db $0c, $06, $06, $04 -; 1704a2 - -Function1704a2: ; 1704a2 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld hl, LYOverrides - ld de, $c608 - ld bc, $00e0 - call CopyBytes - pop af - ld [rSVBK], a - ld a, $1 - call GetSRAMBank - ld a, $2 - ld [$be45], a - ld hl, $be46 - inc [hl] - call CloseSRAM -Function1704c9: - ret -; 1704ca - -Function1704ca: ; 1704ca - ld a, [$be46] - cp $7 - jr c, .asm_1704d3 - ld a, $6 - -.asm_1704d3 - ld hl, $afce - ld de, -$e0 -.asm_1704d9 - and a - jr z, .asm_1704e0 - add hl, de - dec a - jr .asm_1704d9 - -.asm_1704e0 - ret -; 1704e1 - -Function1704e1: ; 1704e1 - call SpeechTextBox - call FadeToMenu - call Function17021e - call Function1704f1 - call Function2b3c - ret -; 1704f1 - -Function1704f1: ; 1704f1 - call WhiteBGMap - call ClearSprites - call ClearScreen -.asm_1704fa - call Functiona57 - ld a, [wcf63] - bit 7, a - jr nz, .asm_17050f - call Function170510 - callba Function104061 - jr .asm_1704fa - -.asm_17050f - ret -; 170510 - -Function170510: ; 170510 - ld a, [wcf63] - ld e, a - ld d, 0 - ld hl, Jumptable_17051f - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 17051f - -Jumptable_17051f: ; 17051f - dw Function170525 - dw Function170571 - dw Function170577 -; 170525 - -Function170525: ; 170525 - ld a, $5 - call GetSRAMBank - ld hl, $a89c - ld de, StringBuffer3 - ld bc, $0016 - call CopyBytes - ld hl, $a8b2 - ld de, $c608 - ld bc, $0096 - call CopyBytes - call CloseSRAM - hlcoord 1, 1 - ld de, StringBuffer3 - call PlaceString - hlcoord 1, 3 - ld de, String_170676 - call PlaceString - hlcoord 4, 3 - ld de, StringBuffer4 - call PlaceString - hlcoord 8, 3 - ld de, String_17067a - call PlaceString - call Function1705b7 - call Function1705f0 - jr Function1705b2 - -Function170571: - call Function32f9 - call Function1705b2 - -Function170577: - ld hl, hJoyPressed - ld a, [hl] - and $1 - jr nz, .asm_1705ac - ld a, [hl] - and $2 - jr nz, .asm_1705ac - ld a, [hl] - and $40 - jr nz, .asm_17058f - ld a, [hl] - and $80 - jr nz, .asm_17059d - ret - -.asm_17058f - ld a, [wcf64] - and a - ret z - sub $f - ld [wcf64], a - call Function1705f0 - ret - -.asm_17059d - ld a, [wcf64] - cp $3c - ret z - add $f - ld [wcf64], a - call Function1705f0 - ret - -.asm_1705ac - ld hl, wcf63 - set 7, [hl] - ret - -Function1705b2: - ld hl, wcf63 - inc [hl] - ret -; 1705b7 - -Function1705b7: ; 1705b7 - hlcoord 0, 4 - ld a, $79 - ld [hli], a - ld c, $12 -.asm_1705bf - ld a, $7a - ld [hli], a - dec c - jr nz, .asm_1705bf - ld a, $7b - ld [hli], a - ld de, $0014 - ld c, $c -.asm_1705cd - ld a, $7c - ld [hl], a - add hl, de - dec c - jr nz, .asm_1705cd - ld a, $7d - ld [hli], a - ld c, $12 -.asm_1705d9 - ld a, $7a - ld [hli], a - dec c - jr nz, .asm_1705d9 - ld a, $7e - ld [hl], a - ld de, $ffec - add hl, de - ld c, $c -.asm_1705e8 - ld a, $7c - ld [hl], a - add hl, de - dec c - jr nz, .asm_1705e8 - ret -; 1705f0 - -Function1705f0: ; 1705f0 - call Function17064b - call Function17065d - ld a, $50 - ld [wcd4e], a - ld hl, $c608 - ld a, [wcf64] - ld c, a - xor a - ld b, a - add hl, bc - push hl - pop bc - hlcoord 1, 6 - ld a, $6 -.asm_17060c - push af - push hl - ld a, $3 -.asm_170610 - push af - ld de, wcd49 - ld a, [bc] - and a - jr z, .asm_170625 - ld a, $5 -.asm_17061a - push af - ld a, [bc] - ld [de], a - inc bc - inc de - pop af - dec a - jr nz, .asm_17061a - jr .asm_170631 - -.asm_170625 - ld a, $5 -.asm_170627 - push af - ld a, $e3 - ld [de], a - inc de - inc bc - pop af - dec a - jr nz, .asm_170627 - -.asm_170631 - ld de, wcd49 - push bc - call PlaceString - ld de, $0006 - add hl, de - pop bc - pop af - dec a - jr nz, .asm_170610 - pop hl - ld de, $0028 - add hl, de - pop af - dec a - jr nz, .asm_17060c - ret -; 17064b - -Function17064b: ; 17064b - hlcoord 1, 5 - xor a - ld b, $c -.asm_170651 - ld c, $12 -.asm_170653 - ld [hli], a - dec c - jr nz, .asm_170653 - inc hl - inc hl - dec b - jr nz, .asm_170651 - ret -; 17065d - -Function17065d: ; 17065d - ld a, [wcf64] - and a - jr z, .asm_170669 - hlcoord 18, 5 - ld a, $61 - ld [hl], a - -.asm_170669 - ld a, [wcf64] - cp $3c - ret z - hlcoord 18, 16 - ld a, $ee - ld [hl], a - ret -; 170676 - -String_170676: ; 170676 - db "ルーム@" -; 17067a - -String_17067a: ; 17067a - db "れきだいりーダーいちらん@" -; 170687 - -Function170687: ; 170687 - ld a, [ScriptVar] - ld e, a - ld d, 0 - ld hl, Jumptable_170696 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 170696 - - -Jumptable_170696: ; 170696 (5c:4696) - dw Function17075f - dw Function170788 - dw Function170778 - dw Function170799 - dw Function17079d - dw Function1707ac - dw Function1707f4 - dw Function170868 - dw Function170881 - dw Function17089a - dw Function1708b1 - dw Function1708b9 - dw Function1708c8 - dw Function1708f0 - dw Function17093c - dw Function1709aa - dw Function1709bb - dw Function170a9c - dw Function170aa0 - dw Function170aaf - dw Function170abe - dw Function170ad7 - dw Function170807 - dw Function17081d - dw Function170ae8 - dw Function170b16 - dw Function1706d6 - dw Function1706ee - dw Function17071b - dw Function170729 - dw Function17073e - dw Function170737 - - -Function1706d6: ; 1706d6 (5c:46d6) - ld a, $1 - call GetSRAMBank - ld a, $ff - ld hl, $be48 - ld bc, $7 - call ByteFill - xor a - ld [$be46], a - call CloseSRAM - ret - -Function1706ee: ; 1706ee (5c:46ee) - ld a, $1 - call GetSRAMBank - ld a, [$be50] - call CloseSRAM - ld [ScriptVar], a - ld hl, NumItems - ld a, [hli] - cp $14 - ret c - ld b, $14 - ld a, [ScriptVar] - ld c, a -.asm_170709 - ld a, [hli] - cp c - jr nz, .asm_170711 - ld a, [hl] - cp $5f - ret c -.asm_170711 - inc hl - dec b - jr nz, .asm_170709 - ld a, $12 - ld [ScriptVar], a - ret - -Function17071b: ; 17071b (5c:471b) - ld a, $1 - call GetSRAMBank - ld a, $3 - ld [$be45], a - call CloseSRAM - ret - -Function170729: ; 170729 (5c:4729) - ld a, $1 - call GetSRAMBank - ld a, $4 - ld [$be45], a - call CloseSRAM - ret - -Function170737: ; 170737 (5c:4737) - callba Function14dbb - ret - -Function17073e: ; 17073e (5c:473e) - call Random - ld a, [hRandomAdd] ; $ff00+$e1 - and $7 - cp $6 - jr c, .asm_17074b - sub $6 -.asm_17074b - add $1a - cp $1e - jr z, Function17073e - push af - ld a, $1 - call GetSRAMBank - pop af - ld [$be50], a - call CloseSRAM - ret - -Function17075f: ; 17075f (5c:475f) - call Function17089a - ld a, [ScriptVar] - and a - ret z - ld a, $1 - call GetSRAMBank - ld a, [$be4f] - and $2 - ld [ScriptVar], a - call CloseSRAM - ret - -Function170778: ; 170778 (5c:4778) - ld hl, $be45 - ld a, $1 - call GetSRAMBank - ld a, [hl] - ld [ScriptVar], a - call CloseSRAM - ret - -Function170788: ; 170788 (5c:4788) - ld a, $1 - call GetSRAMBank - ld a, [$be4f] - or $2 - ld [$be4f], a - call CloseSRAM - ret - -Function170799: ; 170799 (5c:4799) - ld c, $1 - jr asm_17079f - -Function17079d: ; 17079d (5c:479d) - ld c, $0 -asm_17079f: ; 17079f (5c:479f) - ld a, $1 - call GetSRAMBank - ld a, c - ld [$be45], a - call CloseSRAM - ret - -Function1707ac: ; 1707ac (5c:47ac) - ld a, $5 - call GetSRAMBank - ld a, [$aa8c] - ld b, a - ld a, [$be46] - ld [ScriptVar], a - call CloseSRAM - and a - ret z - ld a, b - cp $2 - jr nc, .asm_1707ef - push bc - call UpdateTime - pop bc - ld a, $5 - call GetSRAMBank - ld a, [$aa8b] - call CloseSRAM - ld c, a - ld a, [CurDay] - sub c - jr c, .asm_1707e5 - cp $8 - jr nc, .asm_1707ef - ld a, b - and a - jr nz, .asm_1707ef - ret -.asm_1707e5 - ld hl, CurDay - ld a, $8c - sub c - add [hl] - cp $8 - ret c -.asm_1707ef - ld a, $8 - ld [ScriptVar], a - -Function1707f4: ; 1707f4 (5c:47f4) - ld a, $5 - call GetSRAMBank - xor a - ld [$be46], a - ld [$aa8b], a - ld [$aa8c], a - call CloseSRAM - ret - -Function170807: ; 170807 (5c:4807) - call UpdateTime - ld a, $5 - call GetSRAMBank - ld a, [CurDay] - ld [$b2f9], a - xor a - ld [$b2fa], a - call CloseSRAM - ret - -Function17081d: ; 17081d (5c:481d) - xor a - ld [ScriptVar], a - ld a, $5 - call GetSRAMBank - ld a, [$b2f9] - ld c, a - ld a, [$b2fa] - ld b, a - call CloseSRAM - cp $2 - jr nc, .asm_170853 - push bc - call UpdateTime - pop bc - ld a, [CurDay] - sub c - jr c, .asm_170849 - cp $b - jr nc, .asm_170853 - ld a, b - and a - jr nz, .asm_170853 - ret -.asm_170849 - ld hl, CurDay - ld a, $8c - sub c - add [hl] - cp $b - ret c -.asm_170853 - ld a, $1 - ld [ScriptVar], a - ld a, $5 - call GetSRAMBank - xor a - ld [$b2f9], a - ld [$b2fa], a - call CloseSRAM - ret - -Function170868: ; 170868 (5c:4868) - ld a, $1 - call GetSRAMBank - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $3 - ld [rSVBK], a ; $ff00+$70 - ld a, [wd000 + $800] - ld [$be47], a - pop af - ld [rSVBK], a ; $ff00+$70 - call CloseSRAM - ret - -Function170881: ; 170881 (5c:4881) - ld a, $1 - call GetSRAMBank - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $3 - ld [rSVBK], a ; $ff00+$70 - ld a, [$be47] - ld [wd000 + $800], a - pop af - ld [rSVBK], a ; $ff00+$70 - call CloseSRAM - ret - -Function17089a: ; 17089a - ld a, [wcfcd] - and a - jr z, .asm_1708ad - callba Function14bcb - jr z, .asm_1708ab - xor a - jr .asm_1708ad - -.asm_1708ab - ld a, $1 - -.asm_1708ad - ld [ScriptVar], a - ret -; 1708b1 - - -Function1708b1: ; 1708b1 (5c:48b1) - xor a - ld [MusicFade], a - call MaxVolume - ret - -Function1708b9: ; 1708b9 (5c:48b9) - ld a, $1 - call GetSRAMBank - ld a, [$be3c] - ld [ScriptVar], a - call CloseSRAM - ret - -Function1708c8: ; 1708c8 (5c:48c8) - call UpdateTime - ld a, $5 - call GetSRAMBank - ld a, [CurDay] - ld [$aa8b], a - xor a - ld [$aa8c], a - ld a, [$aa5d] - cp $2 - jr nc, .asm_1708ec - ld a, [CurDay] - ld [$aa48], a - ld a, $1 - ld [$aa47], a -.asm_1708ec - call CloseSRAM - ret - -Function1708f0: ; 1708f0 (5c:48f0) - xor a - ld [ScriptVar], a - call UpdateTime - ld a, $5 - call GetSRAMBank - ld a, [$aa48] - ld c, a - ld a, [$aa47] - call CloseSRAM - and a - ret z - ld hl, CurDay - ld a, c - cp [hl] - jr nz, Function170923 - ld a, $5 - call GetSRAMBank - ld a, [$aa5d] - call CloseSRAM - cp $5 - ret c - ld a, $1 - ld [ScriptVar], a - ret - - -Function170923: ; 170923 - ld a, $5 - call GetSRAMBank - xor a - ld [$aa48], a - ld [$aa47], a - ld hl, $aa5d - ld bc, $0011 - call ByteFill - call CloseSRAM - ret -; 17093c - - -Function17093c: ; 17093c (5c:493c) - xor a - ld [ScriptVar], a - ld a, EGG_TICKET - ld [CurItem], a - ld hl, NumItems - call CheckItem - ret nc - ld a, [PartyCount] - ld b, 0 - ld c, a - ld hl, PartySpecies -.asm_170955 - ld a, [hli] - cp EGG - jr nz, .asm_17099f - push hl - ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) - ld de, $6 - ld a, b - and a - jr z, .asm_170969 -.asm_170965 - add hl, de - dec a - jr nz, .asm_170965 -.asm_170969 - ld de, String_1709a4 - ld a, $6 -.asm_17096e - push af - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_17099d - pop af - dec a - jr nz, .asm_17096e - dec hl - dec hl - dec hl - dec hl - ld a, $50 - ld [hli], a - ld [hli], a - pop hl - ld a, EGG_TICKET - ld [CurItem], a - ld a, $1 - ld [wd10c], a - ld a, $ff - ld [wd107], a - ld hl, NumItems - call TossItem - ld a, $1 - ld [ScriptVar], a - ret - -.asm_17099d - pop af - pop hl -.asm_17099f - inc b - dec c - jr nz, .asm_170955 - ret -; 1709a4 (5c:49a4) - -String_1709a4: ; 1709a4 - db "なぞナゾ@@" - -Function1709aa: ; 1709aa (5c:49aa) - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $3 - ld [rSVBK], a ; $ff00+$70 - ld a, [StringBuffer2 + 10] - ld [ScriptVar], a - pop af - ld [rSVBK], a ; $ff00+$70 - ret - -Function1709bb: ; 1709bb (5c:49bb) - xor a - ld [ScriptVar], a - ld a, $5 - call GetSRAMBank - ld a, [$a800] - call CloseSRAM - cp 6 - jr nc, .asm_1709da - ld e, a - ld d, 0 - ld hl, Jumptable_1709e7 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -.asm_1709da - ld a, $5 - call GetSRAMBank - xor a - ld [$a800], a - call CloseSRAM - ret -; 1709e7 (5c:49e7) - -Jumptable_1709e7: ; 1709e7 - dw Function170a00 - dw Function170a00 - dw Function1709f3 - dw Function1709f3 - dw Function170a01 - dw Function170a33 -; 1709f3 - -Function1709f3: ; 1709f3 - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$a800], a - call CloseSRAM - -Function170a00: ; 170a00 - ret -; 170a01 - -Function170a01: ; 170a01 - ld a, $5 - call GetSRAMBank - ld hl, $b023 - ld de, $c608 - ld bc, $0069 - call CopyBytes - ld a, [$a825] - ld [wcd30], a - ld a, [$a826] - ld [wcd31], a - call CloseSRAM - callba Function11b6b4 - callba Function17d0f3 - ld a, $1 - ld [ScriptVar], a - ret -; 170a33 - -Function170a33: ; 170a33 - ld a, $0 - call GetSRAMBank - ld hl, wRTC - ld de, $c608 - ld bc, $0004 - call CopyBytes - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld hl, $b08c - ld de, $c608 - ld c, $4 -.asm_170a54 - ld a, [de] - inc de - cp [hl] - jr nz, .asm_170a78 - inc hl - dec c - jr nz, .asm_170a54 - call CloseSRAM - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetMapTrigger - ld a, d - or e - jr z, .asm_170a72 - ld a, [de] - and a - ret nz - -.asm_170a72 - ld a, $1 - ld [ScriptVar], a - ret - -.asm_170a78 - call CloseSRAM - ld a, $5 - call GetSRAMBank - xor a - ld [$a800], a - call CloseSRAM - ld [ScriptVar], a - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetMapTrigger - ld a, d - or e - jr z, .asm_170a9b - xor a - ld [de], a - -.asm_170a9b - ret -; 170a9c - -Function170a9c: ; 170a9c (5c:4a9c) - ld c, $0 - jr asm_170aa2 - -Function170aa0: ; 170aa0 (5c:4aa0) - ld c, $1 -asm_170aa2: ; 170aa2 (5c:4aa2) - ld a, $5 - call GetSRAMBank - ld a, c - ld [$aa8d], a - call CloseSRAM - ret - -Function170aaf: ; 170aaf (5c:4aaf) - ld a, $5 - call GetSRAMBank - ld a, [$aa8d] - ld [ScriptVar], a - call CloseSRAM - ret - -Function170abe: ; 170abe (5c:4abe) - call Function17089a - ld a, [ScriptVar] - and a - ret z - ld a, $1 - call GetSRAMBank - ld a, [$be4f] - and $1 - ld [ScriptVar], a - call CloseSRAM - ret - -Function170ad7: ; 170ad7 (5c:4ad7) - ld a, $1 - call GetSRAMBank - ld a, [$be4f] - or $1 - ld [$be4f], a - call CloseSRAM - ret - -Function170ae8: ; 170ae8 (5c:4ae8) - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld c, $a - call SimpleDivide - ld a, b - ld [wcd4f], a - xor a - ld [ScriptVar], a - callba Function119d93 - ret nc - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld [ScriptVar], a - ret - -Function170b16: ; 170b16 (5c:4b16) - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld c, 10 - call SimpleDivide - ld a, b - ld [wcd4f], a - xor a - ld [ScriptVar], a - callba Function119dd1 - ret nc - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld [ScriptVar], a - ret - -Function170b44: ; 170b44 - callba Function1f8000 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld hl, wd10a - ld a, [hl] - dec a - ld c, a - ld b, $0 - pop af - ld [rSVBK], a - ld hl, Unknown_170b90 - add hl, bc - ld a, [hl] - ld [wcd49], a - ld a, [ScriptVar] - dec a - sla a - ld e, a - sla a - sla a - sla a - ld c, a - ld b, $0 - ld d, $0 - ld hl, MapObjects - add hl, bc - inc hl - ld a, [wcd49] - ld [hl], a - ld hl, UsedSprites - add hl, de - ld [hli], a - ld [$ffbd], a - ld a, [hl] - ld [$ffbe], a - callba Function143c8 - ret -; 170b90 - -Unknown_170b90: -INCBIN "baserom.gbc",$170b90,$170bd2 - $170b90 - -Function170bd2: ; 170bd2 - ret -; 170bd3 - -Function170bd3: ; 170bd3 - callba Function8b201 - jr c, .asm_170bde - xor a - jr .asm_170be0 - -.asm_170bde - ld a, $1 - -.asm_170be0 - ld [ScriptVar], a - ret -; 170be4 - -Function170be4: ; 170be4 - ld a, $5 - call GetSRAMBank - xor a - ld hl, $a894 - ld bc, $0008 - call ByteFill - call CloseSRAM - ret -; 170bf7 - -Function170bf7: ; 170bf7 - ld a, $5 - call GetSRAMBank - ld hl, $a89a - xor a - ld [hli], a - ld [hl], a - call CloseSRAM - ret -; 170c06 - -Function170c06: ; 170c06 - ld a, $5 - call GetSRAMBank - ld hl, $a894 - ld a, [wd0ee] - and a - jr nz, .asm_170c15 - inc [hl] - -.asm_170c15 - inc hl - inc hl - ld a, [$a89b] - add [hl] - ld [hld], a - ld a, [$a89a] - adc [hl] - ld [hli], a - jr nc, .asm_170c27 - ld a, $ff - ld [hld], a - ld [hli], a - -.asm_170c27 - inc hl - push hl - ld de, 0 - xor a - ld [wd265], a -.asm_170c30 - ld hl, PartyMon1HP - ld a, [wd265] - call GetPartyLocation - ld a, [hli] - ld b, a - ld c, [hl] - inc hl - inc hl - ld a, [hld] - sub c - ld c, a - ld a, [hl] - sbc b - ld b, a - push de - pop hl - add hl, bc - push hl - pop de - jr c, .asm_170c58 - ld a, [wd265] - inc a - ld [wd265], a - cp $3 - jr c, .asm_170c30 - jr .asm_170c5b - -.asm_170c58 - ld de, -1 - -.asm_170c5b - pop hl - inc hl - ld a, e - add [hl] - ld [hld], a - ld a, d - adc [hl] - ld [hli], a - jr nc, .asm_170c69 - ld a, $ff - ld [hld], a - ld [hli], a - -.asm_170c69 - inc hl - push hl - ld b, $0 - ld c, $0 -.asm_170c6f - ld hl, PartyMon1HP - ld a, b - push bc - call GetPartyLocation - pop bc - ld a, [hli] - or [hl] - jr nz, .asm_170c7d - inc c - -.asm_170c7d - inc b - ld a, b - cp $3 - jr c, .asm_170c6f - pop hl - ld a, [hl] - add c - ld [hl], a - call CloseSRAM - ret -; 170c8b - -Function170c8b: ; 170c8b - ld hl, LastPlayerCounterMove - ld b, $5 -.asm_170c90 - ld a, [hl] - xor $ff - ld [hli], a - dec b - jr nz, .asm_170c90 - ret -; 170c98 - -Function170c98: ; 170c98 - ld c, $3 - ld hl, $c608 + 13 -.asm_170c9d - push hl - ld a, [hl] - cp $fc - jr c, .asm_170ca6 - ld a, $1 - ld [hl], a - -.asm_170ca6 - inc hl - ld b, $3 -.asm_170ca9 - ld a, [hl] - and a - jr z, .asm_170cb1 - cp $fc - jr c, .asm_170cb9 - -.asm_170cb1 - xor a - ld [hl], a - inc hl - dec b - jr nz, .asm_170cb1 - jr .asm_170cbd - -.asm_170cb9 - inc hl - dec b - jr nz, .asm_170ca9 - -.asm_170cbd - pop hl - ld de, $003b - add hl, de - dec c - jr nz, .asm_170c9d - ret -; 170cc6 - -Function170cc6: ; 170cc6 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - ld hl, LZ_170d16 - ld de, wd000 - call Decompress - ld a, $1 - ld [rVBK], a - ld de, wd000 - ld hl, VTiles0 - lb bc, $6, $c1 - call Get2bpp - xor a - ld [rVBK], a - ld hl, LZ_1715a4 - ld de, wd000 - call Decompress - ld de, Unkn1Pals - ld hl, VTiles0 - lb bc, $6, $53 - call Get2bpp - pop af - ld [rSVBK], a - ret -; 170d02 - -Function170d02: ; 170d02 - ld a, $1 - ld [rVBK], a - ld de, GFX_171848 - ld hl, $8c10 - lb bc, BANK(GFX_171848), $18 - call Get2bpp - xor a - ld [rVBK], a - ret -; 170d16 - -LZ_170d16: -INCBIN "gfx/unknown/170d16.2bpp.lz" - -LZ_1715a4: -INCBIN "gfx/unknown/1715a4.2bpp.lz" - -GFX_171848: -INCBIN "gfx/unknown/171848.2bpp" - -Function1719c8: ; 1719c8 (5c:59c8) - ld a, [$ffaa] - push af - ld a, $1 - ld [$ffaa], a - call Function1719d6 - pop af - ld [$ffaa], a - ret - -Function1719d6: ; 1719d6 (5c:59d6) - callba Function1183cb - call Function1719ed - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $5 - ld [rSVBK], a ; $ff00+$70 - call Function171a11 - pop af - ld [rSVBK], a ; $ff00+$70 - ret - -Function1719ed: ; 1719ed (5c:59ed) - xor a - ld [wcd49], a - ld [wcd4a], a - dec a - ld [wcd4b], a - call WhiteBGMap - call ClearSprites - callba Function171d2b - callba Function104061 - callba Function8cf53 - ret - -Function171a11: ; 171a11 (5c:5a11) - call Functiona57 - ld a, [wcd49] - bit 7, a - jr nz, .asm_171a2c - call Function171a36 - callba Function8cf69 - callba Function104061 - jr Function171a11 -.asm_171a2c - callba Function8cf53 - call ClearSprites - ret - -Function171a36: ; 171a36 (5c:5a36) - ld a, [wcd49] - ld e, a - ld d, 0 - ld hl, Jumptable_171a45 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -Jumptable_171a45: ; 171a45 (5c:5a45) - dw Function171a95 - dw Function171ac9 - dw Function171a5d - dw Function171ad7 - dw Function171a5d - dw Function171aec - dw Function171b4b - dw Function171b85 - dw Function171bcc - dw Function171c2c - dw Function171c39 - dw Function171c41 - - -Function171a5d: ; 171a5d (5c:5a5d) - ld a, [wc821] - bit 1, a - jr nz, .asm_171a6a - bit 0, a - ret nz - jp Function171c66 -.asm_171a6a - ld a, $0 - call Function3e32 - ld [wc300], a - ld a, l - ld [wc301], a - ld a, h - ld [wc302], a - ld a, $a - call Function3e32 - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $1 - ld [rSVBK], a ; $ff00+$70 - callba Function118452 - pop af - ld [rSVBK], a ; $ff00+$70 - ld a, $a - ld [wcd49], a - ret - -Function171a95: ; 171a95 (5c:5a95) - callba Function171ccd - hlcoord 2, 8 - ld de, String_171aa7 - call PlaceString - jp Function171c66 -; 171aa7 (5c:5aa7) - -String_171aa7: ; 171aa7 - db "モバイルアダプタに" - next "せつぞく しています" - next "しばらく おまちください" - db "@" -; 171ac9 - -Function171ac9: ; 171ac9 (5c:5ac9) - ld de, wcd81 - ld hl, $5c - ld a, $2 - call Function3e32 - jp Function171c66 - -Function171ad7: ; 171ad7 (5c:5ad7) - xor a - ld hl, $c608 - ld bc, $66 - call ByteFill - ld de, $c608 - ld a, $c - call Function3e32 - jp Function171c66 - -Function171aec: ; 171aec (5c:5aec) - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $1 - ld [rSVBK], a ; $ff00+$70 - callba Function118452 - pop af - ld [rSVBK], a ; $ff00+$70 - hlcoord 2, 6 - ld a, $8 -.asm_171b01 - push af - push hl - xor a - ld bc, $10 - call ByteFill - pop hl - ld de, $14 - add hl, de - pop af - dec a - jr nz, .asm_171b01 - hlcoord 2, 7 - ld a, $3 - ld de, $c608 -.asm_171b1b - push af - push hl - ld a, [de] - and a - jr z, .asm_171b34 - ld a, [wcd4b] - inc a - ld [wcd4b], a - push hl - call Function171b42 - pop hl - ld bc, $ffec - add hl, bc - call Function171b42 -.asm_171b34 - pop hl - ld bc, $14 - add hl, bc - add hl, bc - add hl, bc - pop af - dec a - jr nz, .asm_171b1b - jp Function171c66 - -Function171b42: ; 171b42 (5c:5b42) - ld a, [de] - inc de - and a - ret z - sub $20 - ld [hli], a - jr Function171b42 - -Function171b4b: ; 171b4b (5c:5b4b) - lb de, $40, $10 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $8 - ld [hl], a - lb de, $40, $98 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $9 - ld [hl], a - lb de, $8a, $70 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $a - ld [hl], a - ld a, $4 - ld [wcd23], a - ld a, $8 - ld [wcd24], a - jp Function171c66 - -Function171b85: ; 171b85 (5c:5b85) - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and $2 - jp nz, Function171b9f - ld a, [hl] - and $1 - jp nz, Function171bbd - ld a, [hl] - and $40 - jr nz, asm_171ba5 - ld a, [hl] - and $80 - jr nz, asm_171baf - ret - -Function171b9f: ; 171b9f (5c:5b9f) - ld a, $80 - ld [wcd49], a - ret -asm_171ba5: ; 171ba5 (5c:5ba5) - ld a, [wcd4a] - and a - ret z - dec a - ld [wcd4a], a - ret -asm_171baf: ; 171baf (5c:5baf) - ld a, [wcd4b] - ld c, a - ld a, [wcd4a] - cp c - ret z - inc a - ld [wcd4a], a - ret - -Function171bbd: ; 171bbd (5c:5bbd) - call PlayClickSFX - ld a, $8 - ld [wcd23], a - xor a - ld [wcd24], a - jp Function171c66 - -Function171bcc: ; 171bcc (5c:5bcc) - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and $2 - jp nz, Function171bdc - ld a, [hl] - and $1 - jp nz, Function171beb - ret - -Function171bdc: ; 171bdc (5c:5bdc) - ld a, $4 - ld [wcd23], a - ld a, $8 - ld [wcd24], a - ld hl, wcd49 - dec [hl] - ret - -Function171beb: ; 171beb (5c:5beb) - ld a, $5 - call GetSRAMBank - ld a, [wcd4a] - ld [$aa4a], a - call CloseSRAM - ld hl, MenuDataHeader_171c6b - call LoadMenuDataHeader - call Function1cbb - call Function1cfd - callba Function104061 - hlcoord 1, 14 - ld de, String_171c73 - call PlaceString - ld a, [wcd4a] - cp $2 - jr z, .asm_171c1f - ld a, $8 - jr .asm_171c21 -.asm_171c1f - ld a, $c -.asm_171c21 - ld [wcd24], a - ld a, $1e - ld [wcd4c], a - call Function171c66 - -Function171c2c: ; 171c2c (5c:5c2c) - ld hl, wcd4c - dec [hl] - ret nz - call Function1c07 - call WhiteBGMap - jr asm_171c60 - -Function171c39: ; 171c39 (5c:5c39) - ld a, $28 - ld [wcd4c], a - call Function171c66 - -Function171c41: ; 171c41 (5c:5c41) - ld hl, wcd4c - dec [hl] - ret nz - call WhiteBGMap - callba Function106462 - callba Function106464 - ld a, $2 - ld [wc303], a - callba Function17f555 -asm_171c60: ; 171c60 (5c:5c60) - ld a, $80 - ld [wcd49], a - ret - -Function171c66: ; 171c66 (5c:5c66) - ld hl, wcd49 - inc [hl] - ret -; 171c6b (5c:5c6b) - -MenuDataHeader_171c6b: ; 171c6b - db $40 ; flags - db 12, 0 ; start coords - db 17, 19 ; end coords - dw NULL - db 0 ; default option -; 171c73 - -String_171c73: ; 171c73 - db "モバイルセンターを けってい" - next "しました@" -; 171c87 - -Function171c87: ; 171c87 (5c:5c87) - call DisableLCD - ld hl, GFX_171db1 - ld de, $9000 - ld bc, $6e0 - call CopyBytes - ld hl, LZ_172abd - ld de, $8000 - call Decompress - call EnableLCD - ld hl, Tilemap_172491 - ld de, TileMap - ld bc, $168 - call CopyBytes - ld hl, Attrmap_1727ed - ld de, AttrMap - ld bc, $168 - call CopyBytes - hlcoord 3, 2 - ld de, String_172e31 - call PlaceString - hlcoord 3, 16 - ld de, String_172e3f - call PlaceString - ret - -Function171ccd: ; 171ccd (5c:5ccd) - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $5 - ld [rSVBK], a ; $ff00+$70 - ld hl, Palette_171d71 - ld de, Unkn1Pals - ld bc, $40 - call CopyBytes - ld hl, MovementAnimation - ld a, $ff - ld [hli], a - ld a, $7f - ld [hl], a - call Function32f9 - pop af - ld [rSVBK], a ; $ff00+$70 - ret - -Function171cf0: ; 171cf0 (5c:5cf0) - xor a - hlcoord 4, 15 - ld [hli], a - ld [hli], a - ld a, [wcd4b] - xor $1 - ld [wcd4b], a - and a - jr nz, .asm_171d16 - ld hl, Tilemap_17251d - decoord 0, 7 - ld bc, $8c - call CopyBytes - hlcoord 3, 16 - ld de, String_172e3f - jp PlaceString -.asm_171d16 - ld hl, Tilemap_1725f9 - decoord 0, 7 - ld bc, $8c - call CopyBytes - hlcoord 3, 16 - ld de, String_172e4e - jp PlaceString - -Function171d2b: ; 171d2b (5c:5d2b) - call DisableLCD - ld hl, GFX_171db1 - ld de, $9000 - ld bc, $6e0 - call CopyBytes - ld hl, LZ_172abd - ld de, $8000 - call Decompress - call EnableLCD - ld hl, Tilemap_172685 - ld de, TileMap - ld bc, $168 - call CopyBytes - ld hl, Attrmap_172955 - ld de, AttrMap - ld bc, $168 - call CopyBytes - hlcoord 2, 2 - ld de, String_172e5d - call PlaceString - hlcoord 14, 16 - ld de, String_172e58 - call PlaceString - ret -; 171d71 (5c:5d71) - -Palette_171d71: - RGB 0, 0, 0 - RGB 3, 0, 0 - RGB 5, 0, 0 - RGB 31, 31, 29 - RGB 0, 2, 10 - RGB 2, 10, 21 - RGB 0, 0, 0 - RGB 10, 26, 31 - RGB 0, 0, 0 - RGB 0, 7, 8 - RGB 31, 8, 0 - RGB 1, 17, 15 - RGB 31, 16, 0 - RGB 31, 22, 0 - RGB 31, 27, 0 - RGB 31, 31, 0 - RGB 31, 18, 6 - RGB 0, 3, 0 - RGB 0, 9, 0 - RGB 0, 12, 0 - RGB 0, 16, 0 - RGB 0, 22, 0 - RGB 0, 25, 0 - RGB 0, 27, 0 - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 31, 29 - RGB 21, 21, 20 - RGB 11, 11, 10 - RGB 0, 0, 0 -GFX_171db1: -INCBIN "gfx/unknown/171db1.2bpp" -Tilemap_172491: -INCBIN "gfx/unknown/172491.tilemap" -Tilemap_17251d: -INCBIN "gfx/unknown/17251d.tilemap" -Tilemap_1725f9: -INCBIN "gfx/unknown/1725f9.tilemap" -Tilemap_172685: -INCBIN "gfx/unknown/172685.tilemap" -Attrmap_1727ed: -INCBIN "gfx/unknown/1727ed.attrmap" -Attrmap_172955: -INCBIN "gfx/unknown/172955.attrmap" -LZ_172abd: -INCBIN "gfx/pokedex/slowpoke.2bpp.lz" - -String_172e31: ; 172e31 - db "パスワード", $1f, "いれてください@" -String_172e3f: ; 172e3f - db "きりかえ やめる けってい@" -String_172e4e: ; 172e4e - db "きりかえ やめる " -String_172e58: - db "けってい@" -String_172e5d: ; 172e5d - db "せつぞくする モバイルセンターを" - next "えらんで ください@" -; 172e78 - - -Function172e78: ; 172e78 (5c:6e78) - ld a, $7f - ld hl, TileMap - ld bc, $168 - call ByteFill - ld a, $7 - ld hl, AttrMap - ld bc, $168 - call ByteFill - call DisableLCD - ld hl, GFX_172f1f - ld de, $9000 - ld bc, $610 - call CopyBytes - call EnableLCD - ld hl, Tilemap_1733af - ld de, TileMap - ld bc, $168 - call CopyBytes - ld hl, Attrmap_173517 - ld de, AttrMap - ld bc, $168 - call CopyBytes - ret -; 172eb9 (5c:6eb9) - -Function172eb9: - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $5 - ld [rSVBK], a ; $ff00+$70 - ld hl, Palette_172edf - ld de, Unkn1Pals - ld bc, $40 - call CopyBytes - ld hl, Palette_172edf - ld de, BGPals - ld bc, $40 - call CopyBytes - call Function32f9 - pop af - ld [rSVBK], a ; $ff00+$70 - ret -; 172edf (5c:6edf) - -Palette_172edf: - RGB 5, 12, 17 - RGB 31, 31, 31 - RGB 18, 25, 28 - RGB 10, 17, 21 - RGB 6, 13, 18 - RGB 31, 31, 31 - RGB 20, 26, 28 - RGB 12, 19, 23 - RGB 3, 10, 16 - RGB 31, 31, 31 - RGB 6, 13, 18 - RGB 20, 26, 28 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -GFX_172f1f: -INCBIN "gfx/unknown/172f1f.2bpp" - -Tilemap_1733af: -INCBIN "gfx/unknown/1733af.tilemap" - -Attrmap_173517: -INCBIN "gfx/unknown/173517.attrmap" +INCLUDE "misc/mobile_45.asm" SECTION "bank5D", ROMX, BANK[$5D] @@ -139604,5239 +104960,7 @@ Function178000: ; 17801f (5e:401f) -SECTION "bank5F", ROMX, BANK[$5F] - -Function17c000: ; 17c000 - - call DisableLCD - - ld hl, VTiles2 - ld bc, $310 - xor a - call ByteFill - - call Functione51 - call Functione5f - - ld hl, HaveWantMap - ld de, TileMap - ld bc, AttrMap - - ld a, SCREEN_HEIGHT -.y - push af - ld a, SCREEN_WIDTH - - push hl -.x - push af - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - jr nz, .x - pop hl - - push bc - ld bc, BG_MAP_WIDTH * 2 - add hl, bc - pop bc - - pop af - dec a - jr nz, .y - - ld a, [rSVBK] - push af - - ld a, 5 ; BANK(Unkn1Pals) - ld [rSVBK], a - - ld hl, HaveWantPals - ld de, Unkn1Pals - ld bc, $80 - call CopyBytes - - pop af - ld [rSVBK], a - - ld hl, MobileSelectGFX - ld de, $8300 - ld bc, $200 - call CopyBytes - - ld a, 1 - ld [rVBK], a - - ld hl, HaveWantGFX - ld de, VTiles2 - ld bc, $800 - call CopyBytes - - ld hl, HaveWantGFX + $800 - ld de, VTiles1 - ld bc, $100 - call CopyBytes - - xor a - ld [rVBK], a - - call EnableLCD - callba Function104061 - ret -; 17c083 - -HaveWantGFX: ; 17c083 -INCBIN "gfx/mobile/havewant.2bpp" - -MobileSelectGFX: ; 17c983 -INCBIN "gfx/mobile/select.2bpp" - -HaveWantMap: ; 17cb83 -; Interleaved tile/palette map. -INCBIN "baserom.gbc", $17cb83, $17cff3 - $17cb83 - -HaveWantPals: ; 17cff3 -; BG and OBJ palettes. -INCBIN "baserom.gbc", $17cff3, $17d073 - $17cff3 - - -Function17d073: ; 17d073 -.asm_17d073 - ld a, [de] - inc de - and a - jr z, .asm_17d0ae - cp $60 - jr nc, .asm_17d0ae - cp $4e - jr z, .asm_17d0ae - cp $50 - jr z, .asm_17d0b1 - cp $5 - jr c, .asm_17d0ac - cp $14 - jr c, .asm_17d0ae - cp $19 - jr c, .asm_17d0ac - cp $1d - jr c, .asm_17d0ae - cp $26 - jr c, .asm_17d0ac - cp $35 - jr c, .asm_17d0ae - cp $3a - jr c, .asm_17d0ac - cp $3f - jr c, .asm_17d0ae - cp $40 - jr c, .asm_17d0ac - cp $49 - jr c, .asm_17d0ae - -.asm_17d0ac - scf - ret - -.asm_17d0ae - dec c - jr nz, .asm_17d073 - -.asm_17d0b1 - and a - ret -; 17d0b3 - -Function17d0b3: ; 17d0b3 -.asm_17d0b3 - ld a, [de] - inc de - and a - jr z, .asm_17d0ee - cp $60 - jr nc, .asm_17d0ee - cp $4e - jr z, .asm_17d0ee - cp $50 - jr z, .asm_17d0ee - cp $5 - jr c, .asm_17d0ec - cp $14 - jr c, .asm_17d0ee - cp $19 - jr c, .asm_17d0ec - cp $1d - jr c, .asm_17d0ee - cp $26 - jr c, .asm_17d0ec - cp $35 - jr c, .asm_17d0ee - cp $3a - jr c, .asm_17d0ec - cp $3f - jr c, .asm_17d0ee - cp $40 - jr c, .asm_17d0ec - cp $49 - jr c, .asm_17d0ee - -.asm_17d0ec - scf - ret - -.asm_17d0ee - dec c - jr nz, .asm_17d0b3 - and a - ret -; 17d0f3 - -Function17d0f3: ; 17d0f3 - ld a, [$c608 + 5] - ld [wc702], a - ld [CurPartySpecies], a - ld a, [wcd81] - ld [wc74e], a - ld hl, $c63d - ld de, wc724 - ld bc, $0005 - call CopyBytes - ld a, $50 - ld [de], a - ld a, [$c608 + 11] - ld [wc731], a - ld a, [$c608 + 12] - ld [wc732], a - ld hl, $c608 + 26 - ld a, [hli] - ld [wc72f], a - ld a, [hl] - ld [wc730], a - ld bc, $c608 + 5 - callba GetCaughtGender - ld a, c - ld [wc733], a - call SpeechTextBox - call FadeToMenu - callba Function10804d - callba Function17d1f1 - ld a, $1 - ld [wd1e9], a - ld a, $2 - ld [InLinkBattle], a - callba Function421d8 - xor a - ld [InLinkBattle], a - callba Function14a58 - ld a, $5 - call GetSRAMBank - ld a, $5 - ld [$a800], a - call CloseSRAM - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetMapTrigger - ld a, d - or e - jr z, .asm_17d180 - ld a, $1 - ld [de], a - -.asm_17d180 - call Function2b3c - call RestartMapMusic - ret -; 17d187 - -Function17d187: ; 17d187 - ld hl, Unknown_17d194 - ld de, $c63d - ld bc, $0005 - call CopyBytes - ret -; 17d194 - -Unknown_17d194: -INCBIN "baserom.gbc", $17d194, $17d199 - $17d194 - -Function17d199: ; 17d199 - ld hl, Unknown_17d1a6 - ld de, $c642 - ld bc, $0005 - call CopyBytes - ret -; 17d1a6 - -Unknown_17d1a6: -INCBIN "baserom.gbc", $17d1a6, $17d1ab - $17d1a6 - -Function17d1ab: ; 17d1ab - ld a, $50 - ld hl, $c647 - ld bc, $0021 - call ByteFill - ld hl, Unknown_17d1c3 - ld de, $c647 - ld bc, $0006 - call CopyBytes - ret -; 17d1c3 - -Unknown_17d1c3: -INCBIN "baserom.gbc", $17d1c3, $17d1c9 - $17d1c3 - -Function17d1c9: ; 17d1c9 - ld a, $50 - ld de, $c668 - ld bc, $0005 - call ByteFill - ld hl, Unknown_17d194 - ld de, $c668 - ld bc, $0005 - call CopyBytes - ret -; 17d1e1 - -Function17d1e1: ; 17d1e1 -.asm_17d1e1 - ld a, [de] - inc de - cp $4e - jr nz, .asm_17d1ea - dec b - jr z, .asm_17d1ef - -.asm_17d1ea - dec c - jr nz, .asm_17d1e1 - and a - ret - -.asm_17d1ef - scf - ret -; 17d1f1 - -Function17d1f1: ; 17d1f1 - ld a, [CurPartySpecies] - dec a - call SetSeenAndCaughtMon - - ld a, [CurPartySpecies] - cp UNOWN - jr nz, .asm_17d223 - - ld hl, PartyMon1DVs - ld a, [PartyCount] - dec a - ld bc, PartyMon2 - PartyMon1 - call AddNTimes - predef GetUnownLetter - callab Functionfba18 - ld a, [wdef4] - and a - jr nz, .asm_17d223 - - ld a, [UnownLetter] - ld [wdef4], a - -.asm_17d223 - ret -; 17d224 - -Function17d224: ; 17d224 - ld a, [ScriptVar] - and a - jr nz, .asm_17d234 - ld a, $4 - ld [ScriptVar], a - ld hl, MenuDataHeader_17d26a - jr .asm_17d23c - -.asm_17d234 - ld a, $4 - ld [ScriptVar], a - ld hl, MenuDataHeader_17d28f - -.asm_17d23c - call LoadMenuDataHeader - call Function17d246 - call Function1c17 - ret -; 17d246 - -Function17d246: ; 17d246 - call Function1d81 - jr c, .asm_17d264 - ld a, [ScriptVar] - cp $5 - jr nz, .asm_17d25d - ld a, [wcfa9] - cp $3 - ret z - jr c, .asm_17d25d - dec a - jr .asm_17d260 - -.asm_17d25d - ld a, [wcfa9] - -.asm_17d260 - ld [ScriptVar], a - ret - -.asm_17d264 - ld a, $4 - ld [ScriptVar], a - ret -; 17d26a - -MenuDataHeader_17d26a: ; 17d26a - db $40 ; flags - db 0, 0 ; start coords - db 9, 14 ; end coords - dw MenuData2_17d272 - db 1 ; default option - -MenuData2_17d272: ; 17d272 - db $a0 ; flags - db 4 - db "ニュース", $1f, "よみこむ@" - db "ニュース", $1f, "みる@" - db "せつめい@" - db "やめる@" -; 17d28f - -MenuDataHeader_17d28f: ; 17d28f - db $40 ; flags - db 0, 0 ; start coords - db 7, 14 ; end coords - dw MenuData2_17d297 - db 1 ; default option - -MenuData2_17d297: ; 17d297 - db $a0 ; flags - db 3 - db "Challenge@" - db "Explanation@" - db "Cancel@" -; 17d2b6 - -Function17d2b6: ; 17d2b6 - call Function17d2c0 - callba Function1181da - ret -; 17d2c0 - -Function17d2c0: ; 17d2c0 - xor a - ld [wcf63], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ret -; 17d2ce - -Function17d2ce: ; 17d2ce - ld a, $5 - call GetSRAMBank - ld a, [$aa72] - call CloseSRAM - and a - jr nz, .asm_17d2e2 - ld a, $1 - ld [ScriptVar], a - ret - -.asm_17d2e2 - call Function17d314 - ret c - call SpeechTextBox - call FadeToMenu - ld a, [rSVBK] - push af - ld a, $4 - ld [rSVBK], a - call Function17d370 - call Function17d45a - pop af - ld [rSVBK], a - ld de, MUSIC_MOBILE_CENTER - ld a, e - ld [wMapMusic], a - ld [MusicFadeIDLo], a - ld a, d - ld [MusicFadeIDHi], a - call PlayMusic - call Function222a - call Function2b3c - ret -; 17d314 - -Function17d314: ; 17d314 - ld a, $5 - call GetSRAMBank - ld a, [$b1b1] - call CloseSRAM - cp $21 - jr nc, .asm_17d354 - ld a, $6 - call GetSRAMBank - ld l, $0 - ld h, l - ld de, $a006 - ld a, [$a004] - ld c, a - ld a, [$a005] - ld b, a -.asm_17d336 - push bc - ld a, [de] - inc de - ld c, a - ld b, $0 - add hl, bc - pop bc - dec bc - ld a, b - or c - jr nz, .asm_17d336 - ld a, [$a002] - cp l - jr nz, .asm_17d354 - ld a, [$a003] - cp h - jr nz, .asm_17d354 - call CloseSRAM - and a - ret - -.asm_17d354 - call CloseSRAM - ld a, $5 - call GetSRAMBank - xor a - ld hl, $aa73 - ld bc, $000c - call ByteFill - call CloseSRAM - ld a, $2 - ld [ScriptVar], a - scf - ret -; 17d370 - -Function17d370: ; 17d370 - xor a - ld [wcd77], a - ld [wcd78], a - ld [wcd79], a - dec a - ld [wcd6c], a - call WhiteBGMap - call ClearSprites - call ClearScreen - callba Function104061 - call DisableLCD - ld hl, $8ee0 - ld de, $c608 - ld bc, $0010 - call CopyBytes - ld a, $1 - ld [rVBK], a - ld hl, PokemonNewsGFX - ld de, VTiles1 - ld bc, $0480 - call CopyBytes - xor a - ld hl, $97f0 - ld bc, $0010 - call ByteFill - ld hl, $c608 - ld de, $8ee0 - ld bc, $0010 - call CopyBytes - xor a - ld [rVBK], a - ld hl, GFX_17eb7e - ld de, $9600 - ld bc, $0010 - call CopyBytes - call EnableLCD - call Function17d60b - ld a, $0 - ld [BGMapBuffer], a - ld a, $d0 - ld [wcd21], a - ld a, $6 - call GetSRAMBank - ld hl, $a006 - ld de, Unkn1Pals - ld bc, $1000 - call CopyBytes - call CloseSRAM - ret -; 17d3f6 - -Function17d3f6: ; 17d3f6 - call WhiteBGMap - call ClearSprites - call ClearScreen - callba Function104061 - -Function17d405: - call DisableLCD - ld hl, $8ee0 - ld de, $c608 - ld bc, $0010 - call CopyBytes - ld a, $1 - ld [rVBK], a - ld hl, PokemonNewsGFX - ld de, VTiles1 - ld bc, $0480 - call CopyBytes - xor a - ld hl, $97f0 - ld bc, $0010 - call ByteFill - ld hl, $c608 - ld de, $8ee0 - ld bc, $0010 - call CopyBytes - xor a - ld [rVBK], a - call EnableLCD - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_17eff6 - ld de, Unkn1Pals - ld bc, $0040 - call CopyBytes - call Function32f9 - pop af - ld [rSVBK], a - ret -; 17d45a - -Function17d45a: ; 17d45a -.asm_17d45a - call Functiona57 - ld a, [wcd77] - bit 7, a - jr nz, .asm_17d46f - call Function17d474 - callba Function104061 - jr .asm_17d45a - -.asm_17d46f - xor a - ld [ScriptVar], a - ret -; 17d474 - -Function17d474: ; 17d474 - ld a, [wcd77] - ld e, a - ld d, 0 - ld hl, Jumptable_17d483 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 17d483 - -Jumptable_17d483: ; 17d483 - dw Function17d48d - dw Function17d5be - dw Function17d5c4 - dw Function17d6fd - dw Function17e427 -; 17d48d - -Function17d48d: ; 17d48d - ld hl, Palette_17eff6 - ld de, $c608 - ld bc, $0040 - call CopyBytes - ld hl, TileAttrmap_17eb8e - ld de, TileMap - ld bc, AttrMap - ld a, $12 -.asm_17d4a4 - push af - ld a, $14 - push hl -.asm_17d4a8 - push af - ld a, [hli] - cp $7f - jr z, .asm_17d4b0 - add $80 - -.asm_17d4b0 - ld [de], a - inc de - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - jr nz, .asm_17d4a8 - pop hl - push bc - ld bc, $0040 - add hl, bc - pop bc - pop af - dec a - jr nz, .asm_17d4a4 - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - ld a, [hli] - ld e, a - ld a, [wcd6c] - cp e - jr z, .asm_17d4e0 - ld a, e - ld [wcd6c], a - ld [wc2c0], a - ld d, $0 - call PlayMusic2 - -.asm_17d4e0 - ld a, [hli] - ld de, $c608 - ld c, $8 -.asm_17d4e6 - srl a - jr nc, .asm_17d4f6 - ld b, $8 - push af -.asm_17d4ed - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_17d4ed - pop af - jr .asm_17d4fc - -.asm_17d4f6 - push af - ld a, e - add $8 - ld e, a - pop af - -.asm_17d4fc - dec c - jr nz, .asm_17d4e6 - push hl - call Function17d5f6 - pop hl - ld a, [hli] - and a - jr z, .asm_17d539 -.asm_17d508 - push af - ld a, [hli] - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [wcd51], a - ld a, [hli] - ld [wcd52], a - ld a, [hli] - sla a - sla a - sla a - add $98 - ld [wcd53], a - ld de, wcd4f - call Function17e613 - ld a, [hli] - ld [wcd53], a - ld de, wcd4f - call Function17e691 - pop af - dec a - jr nz, .asm_17d508 - -.asm_17d539 - ld a, [hli] -.asm_17d53a - push af - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - push hl - pop de - ld hl, TileMap - add hl, bc - call PlaceString - push de - pop hl - inc hl - pop af - dec a - jr nz, .asm_17d53a - ld de, CreditsTimer - ld bc, $000c - call CopyBytes - xor a - ld [wcd2e], a - ld [wcd2f], a - inc a - ld [wcd30], a - ld [wcd31], a - ld de, wcd32 - ld bc, $0010 - call CopyBytes - ld a, [hli] - ld [wcd42], a - ld a, [hli] - ld [wcd43], a - ld a, [hli] - ld [wcd44], a - ld a, [hli] - ld [wcd45], a - ld a, [hli] - ld [wcd46], a - ld a, [hli] - and a - jr z, .asm_17d58a - call Function17d6a1 - -.asm_17d58a - ld a, l - ld [wcd49], a - ld a, h - ld [wcd4a], a - ld a, [wcd42] - ld c, a - ld b, $0 - add hl, bc - add hl, bc - ld a, l - ld [wcd4b], a - ld a, h - ld [wcd4c], a - add hl, bc - add hl, bc - ld a, l - ld [wcd4d], a - ld a, h - ld [wcd4e], a - call Function17e451 - call Function17e55b - call Function17e5af - callba Function104061 - jp Function17e438 -; 17d5be - -Function17d5be: ; 17d5be - call Function32f9 - call Function17e438 - -Function17d5c4: - ld a, [hJoyPressed] - and a - ret z - ld c, $0 - ld b, c - ld hl, wcd32 -.asm_17d5ce - srl a - jr c, .asm_17d5d6 - inc c - inc c - jr .asm_17d5ce - -.asm_17d5d6 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - and c - cp $ff - ret z - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, bc - ld a, l - ld [wcd78], a - ld a, h - ld [wcd79], a - ld a, $3 - ld [wcd77], a - ret -; 17d5f6 - -Function17d5f6: ; 17d5f6 - ld a, $5 - ld [rSVBK], a - ld hl, $c608 - ld de, Unkn1Pals - ld bc, $0040 - call CopyBytes - ld a, $4 - ld [rSVBK], a - ret -; 17d60b - -Function17d60b: ; 17d60b - ld a, $5 - call GetSRAMBank - ld hl, $b1d3 - ld de, $c608 - ld bc, $0020 - call CopyBytes - ld a, [$b1b1] - ld c, a - ld a, [$b1b2] - ld b, a - ld a, [$b1b3] - ld l, a - ld a, [$b1b4] - ld h, a - call CloseSRAM - ld a, $6 - call GetSRAMBank - ld de, wc708 - ld a, c - and a - jr z, .asm_17d684 -.asm_17d63b - push bc - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - inc de - ld bc, $000a - add hl, bc - pop bc - ld a, [hli] - ld [wcd4a], a - ld a, [hli] - ld [wcd49], a - push hl - push de - ld hl, $c608 - ld e, b - ld d, $0 - add hl, de - ld a, [hli] - ld [wcd4b], a - ld a, [hl] - ld [wcd4c], a - pop de - pop hl - inc b - inc b - dec c - dec c - jr z, .asm_17d684 - push bc - push de - ld a, [wcd49] - ld c, a - ld a, [wcd4a] - ld b, a - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld d, a -.asm_17d67a - add hl, de - dec bc - ld a, c - or b - jr nz, .asm_17d67a - pop de - pop bc - jr .asm_17d63b - -.asm_17d684 - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld hl, wc708 - ld de, $b1b3 - ld a, [$b1b1] - ld c, a - ld a, [$b1b2] - ld b, a - call CopyBytes - call CloseSRAM - ret -; 17d6a1 - - -Function17d6a1: ; 17d6a1 - push hl - ld a, [wcd6e] - ld c, a - ld b, $0 - ld a, $5 - call GetSRAMBank - ld hl, $b1d3 - add hl, bc - add hl, bc - ld a, [hli] - ld [wcd47], a - ld a, [hl] - ld [BGMapPalBuffer], a - ld hl, $b1b3 - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld h, a - ld l, c - call CloseSRAM - ld a, $6 - call GetSRAMBank - ld a, l - ld [wcd5e], a - ld a, h - ld [wcd5f], a - ld de, wcd60 - ld bc, $0004 - call CopyBytes - inc hl - inc hl - ld de, wcd64 - ld bc, $0004 - call CopyBytes - ld a, [hli] - ld [wcd69], a - ld a, [hli] - ld [wcd68], a - ld a, l - ld [wcd6a], a - ld a, h - ld [wcd6b], a - call CloseSRAM - pop hl - ret -; 17d6fd - -Function17d6fd: ; 17d6fd - ld a, [wcd77] - bit 7, a - jr nz, asm_17d721 - ld a, [wcd78] - ld l, a - ld a, [wcd79] - ld h, a - ld a, [hl] - cp $ff - jr z, asm_17d721 - -Function17d711: -.asm_17d711 - cp $31 - jr nc, .asm_17d711 - ld e, a - ld d, 0 - ld hl, Jumptable_17d72a - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -asm_17d721 - call Function17e5af - ld a, $2 - ld [wcd77], a - ret -; 17d72a - -Jumptable_17d72a: ; 17d72a - dw Function17d78c - dw Function17d78d - dw Function17d7b4 - dw Function17d7c2 - dw Function17d7d3 - dw Function17d7e5 - dw Function17d818 - dw Function17d833 - dw Function17d85d - dw Function17d902 - dw Function17d93a - dw Function17d98b - dw Function17d9e3 - dw Function17da31 - dw Function17da9c - dw Function17dadc - dw Function17db2d - dw Function17db56 - dw Function17db77 - dw Function17dbe9 - dw Function17dc1f - dw Function17dc9f - dw Function17dca9 - dw Function17dccf - dw Function17dd13 - dw Function17dd30 - dw Function17dd49 - dw Function17ddcd - dw Function17de32 - dw Function17de91 - dw Function17ded9 - dw Function17e0fd - dw Function17e133 - dw Function17e165 - dw Function17e1a1 - dw Function17e254 - dw Function17e261 - dw Function17e270 - dw Function17e27f - dw Function17e293 - dw Function17e2a7 - dw Function17e367 - dw Function17e37e - dw Function17e395 - dw Function17e3ac - dw Function17e3c3 - dw Function17e3e0 - dw Function17e3f0 - dw Function17e409 -; 17d78c - -Function17d78c: ; 17d78c - ret -; 17d78d - -Function17d78d: ; 17d78d - call Function17e415 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call Function17e41e - ld a, $6 - call GetSRAMBank - ld hl, $a006 - add hl, bc - ld de, Unkn1Pals - ld bc, $1000 - call CopyBytes - call CloseSRAM - xor a - ld [wcd77], a - call WhiteBGMap - ret -; 17d7b4 - -Function17d7b4: ; 17d7b4 - call Function17e415 - ld a, [hli] - ld e, a - ld d, $0 - call PlayMusic2 - call Function17e41e - ret -; 17d7c2 - -Function17d7c2: ; 17d7c2 - call Function17e415 - ld a, [hli] - ld e, a - ld d, $0 - call PlaySFX - call WaitSFX - call Function17e41e - ret -; 17d7d3 - -Function17d7d3: ; 17d7d3 - call Function17e415 - ld a, [hli] - dec a - ld e, a - ld d, $0 - call PlayCryHeader - call WaitSFX - call Function17e41e - ret -; 17d7e5 - -Function17d7e5: ; 17d7e5 - call Function17e415 - ld a, [hli] - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [wcd51], a - ld a, [hli] - ld [wcd52], a - ld a, [hli] - sla a - sla a - sla a - add $98 - ld [wcd53], a - ld de, wcd4f - call Function17e613 - ld a, [hli] - ld [wcd53], a - ld de, wcd4f - call Function17e691 - call Function17e41e - ret -; 17d818 - -Function17d818: ; 17d818 - call Function17e415 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - call Function17e41e - call Function17e447 - ld e, l - ld d, h - ld hl, TileMap - add hl, bc - call PlaceString - ret -; 17d833 - -Function17d833: ; 17d833 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call Function17e41e - push de - push bc - call Function17e32b - pop bc - pop de - call Function17e43d - ld c, l - ld b, h - ld hl, TileMap - add hl, de - ld e, l - ld d, h - callba Function11c08f - call Function17e349 - ret -; 17d85d - -Function17d85d: ; 17d85d - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - ld hl, Unkn1Pals - add hl, de - ld de, wcc60 -.asm_17d86c - ld a, [hli] - ld [de], a - inc de - and a - jr nz, .asm_17d86c - pop hl - ld de, $c608 - ld c, $0 -.asm_17d878 - ld a, [hli] - cp $ff - jr z, .asm_17d8c7 - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [wcd51], a - ld a, [hli] - ld [wcd52], a - ld a, [wcd51] - push af - cp $c0 - jr c, .asm_17d89b - ld a, [wcd4f] - ld [rSVBK], a - jr .asm_17d8a1 - -.asm_17d89b - ld a, [wcd4f] - call GetSRAMBank - -.asm_17d8a1 - push hl - ld a, [wcd50] - ld l, a - ld a, [wcd51] - ld h, a - ld a, [wcd52] -.asm_17d8ad - push af - ld a, [hli] - ld [de], a - inc de - inc c - pop af - dec a - jr nz, .asm_17d8ad - pop hl - pop af - cp $c0 - jr c, .asm_17d8c2 - ld a, $4 - ld [rSVBK], a - jr .asm_17d878 - -.asm_17d8c2 - call CloseSRAM - jr .asm_17d878 - -.asm_17d8c7 - call Function17e41e - push bc - ld a, $3 - ld [rSVBK], a - ld hl, $c608 - ld de, Unkn1Pals - ld b, $0 - call CopyBytes - ld a, $4 - ld [rSVBK], a - call Function17e32b - pop bc - ld a, c - ld [wcd3b], a - xor a - ld [wcf66], a - callba Function118329 - ld a, [wc300] - and a - jr z, .asm_17d8fe - cp $a - jr z, .asm_17d8fe - call Function17e309 - ret - -.asm_17d8fe - call Function17e349 - ret -; 17d902 - -Function17d902: ; 17d902 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - call Function17e41e - call Function17e32b - pop de - ld hl, Unkn1Pals - add hl, de - ld de, wcc60 -.asm_17d918 - ld a, [hli] - ld [de], a - inc de - and a - jr nz, .asm_17d918 - xor a - ld [wcf66], a - callba Function11837a - ld a, [wc300] - and a - jr z, .asm_17d936 - cp $a - jr z, .asm_17d936 - call Function17e309 - ret - -.asm_17d936 - call Function17e349 - ret -; 17d93a - -Function17d93a: ; 17d93a - call Function17e415 - ld de, wc708 - ld bc, $0005 - call CopyBytes - call Function17e41e - call Function17e32b - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [wc70c] - call Function17e6de - ld a, [wc70a] - ld [CurPartySpecies], a - ld a, [wc70c] - ld e, a - callba Function8bc6 - call Function32f9 - ld a, [wc708] - ld l, a - ld a, [wc709] - ld h, a - ld a, [wc70b] - ld c, a - ld de, TileMap - add hl, de - ld e, l - ld d, h - callba Functiond066e - pop af - ld [rSVBK], a - call Function17e349 - ret -; 17d98b - -Function17d98b: ; 17d98b - call Function17e415 - ld de, wc708 - ld bc, $0004 - call CopyBytes - call Function17e41e - call Function17e32b - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [wc70b] - call Function17e6de - ld a, [wc70a] - ld [TrainerClass], a - ld a, [wc70b] - ld e, a - callba Function8bbd - call Function32f9 - ld a, [wc708] - ld e, a - ld a, [wc709] - ld d, a - push de - ld de, VTiles2 - callba GetTrainerPic - pop hl - ld de, TileMap - add hl, de - ld bc, $0707 - predef FillBox - pop af - ld [rSVBK], a - call Function17e349 - ret -; 17d9e3 - -Function17d9e3: ; 17d9e3 - call Function17e415 - ld de, wc708 - ld bc, $0007 - call CopyBytes - call Function17e41e - ld a, [wc70b] - push af - cp $c0 - jr c, .asm_17da01 - ld a, [wc70c] - ld [rSVBK], a - jr .asm_17da07 - -.asm_17da01 - ld a, [wc70c] - call GetSRAMBank - -.asm_17da07 - ld a, [wc708] - ld l, a - ld a, [wc709] - ld h, a - ld a, [wc70a] - ld e, a - ld a, [wc70b] - ld d, a - ld a, [wc70d] - ld c, a - ld a, [wc70e] - ld b, a - call CopyBytes - pop af - cp $c0 - jr c, .asm_17da2d - ld a, $4 - ld [rSVBK], a - jr .asm_17da30 - -.asm_17da2d - call CloseSRAM - -.asm_17da30 - ret -; 17da31 - -Function17da31: ; 17da31 - call Function17e415 - ld de, wc708 - ld bc, $0004 - call CopyBytes - call Function17e41e - ld a, [wc709] - push af - cp $c0 - jr c, .asm_17da4f - ld a, [wc70a] - ld [rSVBK], a - jr .asm_17da55 - -.asm_17da4f - ld a, [wc70a] - call GetSRAMBank - -.asm_17da55 - ld a, [wc708] - ld e, a - ld a, [wc709] - ld d, a - ld a, [wc70b] - ld c, a - bit 7, c - jr nz, .asm_17da70 - ld hl, Unknown_17da8c - ld b, $0 - add hl, bc - ld a, [de] - or [hl] - ld [de], a - jr .asm_17da7d - -.asm_17da70 - ld hl, Unknown_17da94 - ld a, c - and $7f - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - and [hl] - ld [de], a - -.asm_17da7d - pop af - cp $c0 - jr c, .asm_17da88 - ld a, $4 - ld [rSVBK], a - jr .asm_17da8b - -.asm_17da88 - call CloseSRAM - -.asm_17da8b - ret -; 17da8c - -Unknown_17da8c: -x = 0 - rept 8 - db 1 << x -x = x + 1 - endr - -Unknown_17da94: -x = 0 - rept 8 - db (1 << x) ^ $ff -x = x + 1 - endr -; 17da9c - -Function17da9c: ; 17da9c - ld a, [wcd31] - dec a - jr z, .asm_17dabd - push af - call Function17e566 - pop af - ld [wcd31], a - ld hl, wcd24 - ld a, [wcd2e] - sub [hl] - ld [wcd2e], a - call Function17e55b - call Function17e5af -.asm_17daba - jp Function17e415 - -.asm_17dabd - ld a, [wcd2f] - and a - jr z, .asm_17daba - ld hl, wcd24 - sub [hl] - ld [wcd2f], a - ld a, [wcd2e] - sub [hl] - ld [wcd2e], a - call Function17e451 - call Function17e55b - call Function17e5af - jr .asm_17daba -; 17dadc - -Function17dadc: ; 17dadc - ld a, [wcd2e] - ld hl, wcd24 - add [hl] - ld hl, wcd42 - cp [hl] - jr z, .asm_17db0e - jr nc, .asm_17db0e - ld hl, wcd31 - ld a, [wcd2b] - cp [hl] - jr z, .asm_17db11 - call Function17e566 - ld a, [wcd31] - inc a - ld [wcd31], a - ld hl, wcd24 - ld a, [wcd2e] - add [hl] - ld [wcd2e], a - call Function17e55b - call Function17e5af - -.asm_17db0e - jp Function17e415 - -.asm_17db11 - ld hl, wcd24 - ld a, [wcd2f] - add [hl] - ld [wcd2f], a - ld a, [wcd2e] - add [hl] - ld [wcd2e], a - call Function17e451 - call Function17e55b - call Function17e5af - jr .asm_17db0e -; 17db2d - -Function17db2d: ; 17db2d - ld a, [wcd30] - ld hl, wcd24 - cp [hl] - jr z, .asm_17db53 - ld hl, wcd42 - ld a, [wcd2e] - inc a - cp [hl] - jr z, .asm_17db53 - ld [wcd2e], a - call Function17e566 - ld a, [wcd30] - inc a - ld [wcd30], a - call Function17e55b - call Function17e5af - -.asm_17db53 - jp Function17e415 -; 17db56 - -Function17db56: ; 17db56 - ld a, [wcd30] - cp $1 - jr z, .asm_17db74 - call Function17e566 - ld a, [wcd30] - dec a - ld [wcd30], a - ld a, [wcd2e] - dec a - ld [wcd2e], a - call Function17e55b - call Function17e5af - -.asm_17db74 - jp Function17e415 -; 17db77 - -Function17db77: ; 17db77 - ld hl, wcd2d - ld a, [wcd2f] - add [hl] - ld hl, wcd42 - cp [hl] - jr z, .asm_17dbae - jr nc, .asm_17dbae - call Function17e566 - ld hl, wcd2d - ld a, [wcd2f] - add [hl] - ld [wcd2f], a - ld a, [wcd2e] - add [hl] - ld hl, wcd42 - cp [hl] - jr c, .asm_17db9f - ld a, [hl] - dec a - -.asm_17db9f - ld [wcd2e], a - call Function17dbb1 - call Function17e451 - call Function17e55b - call Function17e5af - -.asm_17dbae - jp Function17e415 -; 17dbb1 - -Function17dbb1: ; 17dbb1 - ld hl, wcd2f - ld a, [wcd42] - sub [hl] - ld hl, wcd2d - cp [hl] - ret nc - ld a, $1 - ld [wcd30], a - ld [wcd31], a - ld a, [wcd24] - ld c, a - ld a, [wcd24] - ld b, a - ld a, [wcd2e] - ld hl, wcd2f - sub [hl] -.asm_17dbd4 - and a - ret z - push af - ld hl, wcd30 - ld a, b - cp [hl] - jr nz, .asm_17dbe4 - ld a, $1 - ld [hl], a - ld hl, wcd31 - -.asm_17dbe4 - inc [hl] - pop af - dec a - jr .asm_17dbd4 -; 17dbe9 - -Function17dbe9: ; 17dbe9 - ld hl, wcd2d - ld a, [wcd2f] - sub [hl] - bit 7, a - jr z, .asm_17dbf5 - xor a - -.asm_17dbf5 - ld [wcd2f], a - ld a, [wcd30] - dec a - ld c, a - ld a, [wcd31] - ld b, a - xor a - ld hl, wcd24 -.asm_17dc05 - dec b - jr z, .asm_17dc0b - add [hl] - jr .asm_17dc05 - -.asm_17dc0b - add c - ld hl, wcd2f - add [hl] - ld [wcd2e], a - call Function17e451 - call Function17e55b - call Function17e5af - jp Function17e415 -; 17dc1f - -Function17dc1f: ; 17dc1f - call Function17e415 - ld de, $c688 - ld bc, $0006 - call CopyBytes - call Function17e32b - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld hl, $c688 - ld a, $40 - ld [wc708], a - ld a, [hli] - ld [wc70a], a - add $5 - ld [wc70c], a - ld a, [hli] - ld [wc709], a - add $4 - ld [wc70b], a - ld a, $96 - ld [wc70d], a - ld a, $5c - ld [wc70e], a - ld a, $1 - ld [wc70f], a - ld hl, wc708 - call LoadMenuDataHeader - call Function1d81 - jr nc, .asm_17dc6e - ld a, $2 - ld [wcfa9], a - -.asm_17dc6e - call Function1c17 - pop af - ld [rSVBK], a - ld a, [wcfa9] - cp $1 - jr nz, .asm_17dc85 - ld a, [$c68a] - ld l, a - ld a, [$c68a + 1] - ld h, a - jr .asm_17dc8d - -.asm_17dc85 - ld a, [$c68a + 2] - ld l, a - ld a, [$c68a + 3] - ld h, a - -.asm_17dc8d - push hl - call Function17e349 - pop hl - call Function17e40f - ret -; 17dc96 - -MenuData2_17dc96: - db $e0 ; flags - db 2 - db "はい@" - db "いいえ@" -; 17dc9f - -Function17dc9f: ; 17dc9f - call Function17e415 - call Function17e41e - call Function4dd - ret -; 17dca9 - -Function17dca9: ; 17dca9 - call Function17e415 - call Function17e41e - -Function17dcaf: - ld a, $5 - ld [rSVBK], a - ld hl, Unkn1Pals - ld de, $0008 - ld c, $8 -.asm_17dcbb - push hl - ld a, $ff - ld [hli], a - ld a, $7f - ld [hl], a - pop hl - add hl, de - dec c - jr nz, .asm_17dcbb - call Function4b6 - ld a, $4 - ld [rSVBK], a - ret -; 17dccf - -Function17dccf: ; 17dccf - call Function17e415 - push hl - ld a, [wcd4b] - ld l, a - ld a, [wcd4c] - ld h, a - ld a, [wcd2e] - ld c, a - ld b, $0 - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - call Function17e43d - call Function17e41e -.asm_17dced - ld a, [wcd78] - ld l, a - ld a, [wcd79] - ld h, a - ld a, [hl] - cp $ff - jr z, .asm_17dd0d -.asm_17dcfa - cp $31 - jr nc, .asm_17dcfa - call Function17d711 - ld a, [wcd77] - bit 7, a - jr nz, .asm_17dd0d - and a - jr z, .asm_17dd11 - jr .asm_17dced - -.asm_17dd0d - pop hl - jp Function17e41e - -.asm_17dd11 - pop hl - ret -; 17dd13 - -Function17dd13: ; 17dd13 - call Function17e415 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - call Function17e41e - call Function17e447 - push hl - ld hl, TileMap - add hl, bc - push hl - pop bc - pop hl - call Function13e5 - ret -; 17dd30 - -Function17dd30: ; 17dd30 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld b, $0 - ld a, [hli] - push af - call Function17e41e - pop af - ld hl, TileMap - add hl, de - call Function17e600 - ret -; 17dd49 - -Function17dd49: ; 17dd49 - call Function17e415 - ld de, wc708 - ld bc, $000a - call CopyBytes - ld a, [wc711] - ld c, a - ld b, $0 - call CopyBytes - ld a, [wc70a] - cp $c0 - jr c, .asm_17dd6c - ld a, [wc708] - ld [rSVBK], a - jr .asm_17dd72 - -.asm_17dd6c - ld a, [wc708] - call GetSRAMBank - -.asm_17dd72 - ld a, [wc709] - ld l, a - ld a, [wc70a] - ld h, a - ld de, $c688 - ld a, [wc711] - ld c, a - ld b, $0 - call CopyBytes - ld a, [wc70a] - cp $c0 - jr c, .asm_17dd93 - ld a, $4 - ld [rSVBK], a - jr .asm_17dd96 - -.asm_17dd93 - call CloseSRAM - -.asm_17dd96 - ld a, [wc711] - ld c, a - ld hl, wc712 - ld de, $c688 -.asm_17dda0 - ld a, [de] - inc de - cp [hl] - inc hl - jr z, .asm_17ddaa - jr c, .asm_17ddc1 - jr .asm_17ddb7 - -.asm_17ddaa - dec c - jr nz, .asm_17dda0 - ld a, [wc70d] - ld l, a - ld a, [wc70e] - ld h, a - jr .asm_17ddc9 - -.asm_17ddb7 - ld a, [wc70f] - ld l, a - ld a, [wc710] - ld h, a - jr .asm_17ddc9 - -.asm_17ddc1 - ld a, [wc70b] - ld l, a - ld a, [wc70c] - ld h, a - -.asm_17ddc9 - call Function17e40f - ret -; 17ddcd - -Function17ddcd: ; 17ddcd - call Function17e415 - ld de, wc708 - ld bc, $0008 - call CopyBytes - ld a, [wc70a] - cp $c0 - jr c, .asm_17dde7 - ld a, [wc708] - ld [rSVBK], a - jr .asm_17dded - -.asm_17dde7 - ld a, [wc708] - call GetSRAMBank - -.asm_17dded - ld a, [wc709] - ld e, a - ld a, [wc70a] - ld d, a - ld a, [de] - ld [wc710], a - ld a, [wc70b] - ld c, a - ld b, $0 - ld a, [wc70a] - cp $c0 - jr c, .asm_17de0c - ld a, $4 - ld [rSVBK], a - jr .asm_17de0f - -.asm_17de0c - call CloseSRAM - -.asm_17de0f - push hl - ld hl, Unknown_17da8c - add hl, bc - ld a, [hl] - ld hl, wc710 - and [hl] - pop hl - jr nz, .asm_17de26 - ld a, [wc70e] - ld l, a - ld a, [wc70f] - ld h, a - jr .asm_17de2e - -.asm_17de26 - ld a, [wc70c] - ld l, a - ld a, [wc70d] - ld h, a - -.asm_17de2e - call Function17e40f - ret -; 17de32 - -Function17de32: ; 17de32 - call Function17e415 - ld de, wc708 - ld bc, $0009 - call CopyBytes - ld a, [wc710] - ld c, a - ld b, $0 - call CopyBytes - ld a, $6 - call GetSRAMBank - call Function17f4f6 - ld a, [wc708] - ld e, a - ld a, [wc709] - ld d, a - add hl, de - ld e, l - ld d, h - ld a, [wc710] - ld c, a - ld hl, wc711 -.asm_17de61 - ld a, [de] - inc de - cp [hl] - inc hl - jr z, .asm_17de6b - jr c, .asm_17de82 - jr .asm_17de78 - -.asm_17de6b - dec c - jr nz, .asm_17de61 - ld a, [wc70c] - ld l, a - ld a, [wc70d] - ld h, a - jr .asm_17de8a - -.asm_17de78 - ld a, [wc70e] - ld l, a - ld a, [wc70f] - ld h, a - jr .asm_17de8a - -.asm_17de82 - ld a, [wc70a] - ld l, a - ld a, [wc70b] - ld h, a - -.asm_17de8a - call CloseSRAM - call Function17e40f - ret -; 17de91 - -Function17de91: ; 17de91 - call Function17e415 - ld de, wc708 - ld bc, $0007 - call CopyBytes - ld a, $6 - call GetSRAMBank - call Function17f4f6 - ld a, [wc708] - ld e, a - ld a, [wc709] - ld d, a - add hl, de - ld e, l - ld d, h - ld a, [wc70a] - ld c, a - ld b, $0 - ld hl, Unknown_17da8c - add hl, bc - ld a, [hl] - ld l, e - ld h, d - and [hl] - jr nz, .asm_17deca - ld a, [wc70d] - ld l, a - ld a, [wc70e] - ld h, a - jr .asm_17ded2 - -.asm_17deca - ld a, [wc70b] - ld l, a - ld a, [wc70c] - ld h, a - -.asm_17ded2 - call CloseSRAM - call Function17e40f - ret -; 17ded9 - -Function17ded9: ; 17ded9 - call Function17e415 - ld de, wc708 - ld bc, $001f - call CopyBytes - call Function17e32b - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld hl, wc708 - ld a, [hli] - ld [CurPartySpecies], a - ld [TempEnemyMonSpecies], a - ld a, [hli] - ld [CurPartyLevel], a - ld a, [hli] - ld b, a - ld a, [PartyCount] - cp $6 - jp nc, Function17e026 - xor a - ld [MonType], a - push hl - push bc - predef Functiond88c - callba Function4db49 - pop bc - pop hl - bit 1, b - jr z, .asm_17df33 - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMonNicknames - call SkipNames - ld d, h - ld e, l - pop hl - call CopyBytes - pop bc - jr .asm_17df37 - -.asm_17df33 - ld de, $0006 - add hl, de - -.asm_17df37 - bit 2, b - jr z, .asm_17df5a - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMonOT - call SkipNames - ld d, h - ld e, l - pop hl - call CopyBytes - ld a, [hli] - ld b, a - push hl - callba Function4dba3 - pop hl - pop bc - jr .asm_17df5e - -.asm_17df5a - ld de, $0007 - add hl, de - -.asm_17df5e - bit 3, b - jr z, .asm_17df79 - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMon1ID - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - pop bc - jr .asm_17df7b - -.asm_17df79 - inc hl - inc hl - -.asm_17df7b - bit 4, b - jr z, .asm_17dfd0 - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMon1DVs - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMon1Species - call GetPartyLocation - ld a, [hl] - ld [CurSpecies], a - call GetBaseData - ld a, [PartyCount] - dec a - ld hl, PartyMon1MaxHP - call GetPartyLocation - ld d, h - ld e, l - push hl - ld b, $0 - callba Functione167 - ld a, [PartyCount] - dec a - ld hl, PartyMon1HP - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - pop hl - pop bc - jr .asm_17dfd2 - -.asm_17dfd0 - inc hl - inc hl - -.asm_17dfd2 - bit 5, b - jr z, .asm_17dfea - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMon1Item - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - pop bc - jr .asm_17dfeb - -.asm_17dfea - inc hl - -.asm_17dfeb - bit 6, b - jr z, .asm_17e01f - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMon1Moves - call GetPartyLocation - ld d, h - ld e, l - pop hl - push de - ld bc, $0004 - call CopyBytes - pop de - push hl - push de - ld a, [PartyCount] - dec a - ld hl, PartyMon1PP - call GetPartyLocation - ld d, h - ld e, l - pop hl - predef FillPP - pop hl - pop bc - jp asm_17e0ee - -.asm_17e01f - ld de, $0004 - add hl, de - jp asm_17e0ee -; 17e026 - -Function17e026: ; 17e026 - ld a, $1 - call GetSRAMBank - ld a, [sBoxCount] - call CloseSRAM - cp $14 - jp nc, .asm_17e0ea - bit 0, b - jp z, .asm_17e0ea - push bc - push hl - callba LoadEnemyMon - callba Functionde6e - callba Function4db83 - pop hl - pop bc - ld a, $1 - call GetSRAMBank - bit 1, b - jr z, .asm_17e067 - push bc - ld bc, $000b - ld de, sBoxMonNicknames - call CopyBytes - pop bc - jr .asm_17e06b - -.asm_17e067 - ld de, $0006 - add hl, de - -.asm_17e06b - bit 2, b - jr z, .asm_17e08e - push bc - ld bc, $0006 - ld de, sBoxMonOT - call CopyBytes - ld a, [hli] - ld b, a - push hl - call CloseSRAM - callba Function4db92 - ld a, $1 - call GetSRAMBank - pop hl - pop bc - jr .asm_17e092 - -.asm_17e08e - ld de, $0007 - add hl, de - -.asm_17e092 - bit 3, b - jr z, .asm_17e0a2 - push bc - ld de, sBoxMon1ID - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - pop bc - jr .asm_17e0a4 - -.asm_17e0a2 - inc hl - inc hl - -.asm_17e0a4 - bit 4, b - jr z, .asm_17e0b4 - push bc - ld de, sBoxMon1DVs - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - pop bc - jr .asm_17e0b6 - -.asm_17e0b4 - inc hl - inc hl - -.asm_17e0b6 - bit 5, b - ld a, [hli] - jr z, .asm_17e0be - ld [sBoxMon1Item], a - -.asm_17e0be - bit 6, b - jr z, .asm_17e0e1 - push bc - ld de, sBoxMon1Moves - ld bc, $0004 - call CopyBytes - push hl - ld hl, sBoxMon1Moves - ld de, sBoxMon1PP - predef FillPP - call CloseSRAM - pop hl - pop bc - inc hl - inc hl - jr asm_17e0ee - -.asm_17e0e1 - call CloseSRAM - ld de, $0006 - add hl, de - jr asm_17e0ee - -.asm_17e0ea - ld bc, $001a - add hl, bc - -asm_17e0ee - ld a, [hli] - ld h, [hl] - ld l, a - pop af - ld [rSVBK], a - push hl - call Function17e349 - pop hl - call Function17e40f - ret -; 17e0fd - -Function17e0fd: ; 17e0fd - call Function17e415 - ld de, wc708 - ld bc, $0006 - call CopyBytes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld hl, wc708 - ld a, [hli] - ld [CurItem], a - ld a, [hli] - ld [wd10c], a - push hl - ld hl, NumItems - call ReceiveItem - pop hl - jr c, .asm_17e127 - inc hl - inc hl - -.asm_17e127 - ld a, [hli] - ld b, a - ld a, [hl] - ld h, a - ld l, b - pop af - ld [rSVBK], a - call Function17e40f - ret -; 17e133 - -Function17e133: ; 17e133 - call Function17e415 - ld de, wc708 - ld bc, $0005 - call CopyBytes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld hl, wc708 - ld a, [hli] - ld [ScriptVar], a - push hl - callba Function4a843 - pop hl - jr c, .asm_17e159 - inc hl - inc hl - -.asm_17e159 - ld a, [hli] - ld b, a - ld a, [hl] - ld h, a - ld l, b - pop af - ld [rSVBK], a - call Function17e40f - ret -; 17e165 - -Function17e165: ; 17e165 - call Function17e415 - ld de, wc708 - ld bc, $0005 - call CopyBytes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld hl, wc708 - ld a, [hli] - ld [CurItem], a - push hl - ld hl, NumItems - call CheckItem - pop hl - jr c, .asm_17e195 - push hl - ld hl, PCItems - call CheckItem - pop hl - jr c, .asm_17e195 - inc hl - inc hl - -.asm_17e195 - ld a, [hli] - ld b, a - ld a, [hl] - ld h, a - ld l, b - pop af - ld [rSVBK], a - call Function17e40f - ret -; 17e1a1 - -Function17e1a1: ; 17e1a1 - call Function17e415 - ld de, wc708 - ld bc, $000d - call CopyBytes - ld a, [wc70a] - cp $c0 - jr c, .asm_17e1bb - ld a, [wc708] - ld [rSVBK], a - jr .asm_17e1c1 - -.asm_17e1bb - ld a, [wc708] - call GetSRAMBank - -.asm_17e1c1 - ld a, [wc709] - ld l, a - ld a, [wc70a] - ld h, a - ld de, $c608 - ld a, [wc70b] - ld c, a - ld b, $0 - call CopyBytes - ld a, [wc70a] - cp $c0 - jr c, .asm_17e1e2 - ld a, $4 - ld [rSVBK], a - jr .asm_17e1e5 - -.asm_17e1e2 - call CloseSRAM - -.asm_17e1e5 - ld a, [wc70e] - cp $c0 - jr c, .asm_17e1f3 - ld a, [wc70c] - ld [rSVBK], a - jr .asm_17e1f9 - -.asm_17e1f3 - ld a, [wc70c] - call GetSRAMBank - -.asm_17e1f9 - ld a, [wc70d] - ld l, a - ld a, [wc70e] - ld h, a - ld de, $c688 - ld a, [wc70b] - ld c, a - ld b, $0 - call CopyBytes - ld a, [wc70e] - cp $c0 - jr c, .asm_17e21a - ld a, $4 - ld [rSVBK], a - jr .asm_17e21d - -.asm_17e21a - call CloseSRAM - -.asm_17e21d - ld a, [wc70b] - ld c, a - ld hl, $c688 - ld de, $c608 -.asm_17e227 - ld a, [de] - inc de - cp [hl] - inc hl - jr z, .asm_17e231 - jr c, .asm_17e23e - jr .asm_17e248 - -.asm_17e231 - dec c - jr nz, .asm_17e227 - ld a, [wc711] - ld l, a - ld a, [wc712] - ld h, a - jr .asm_17e250 - -.asm_17e23e - ld a, [wc70f] - ld l, a - ld a, [wc710] - ld h, a - jr .asm_17e250 - -.asm_17e248 - ld a, [wc712 + 1] - ld l, a - ld a, [wc712 + 2] - ld h, a - -.asm_17e250 - call Function17e40f - ret -; 17e254 - -Function17e254: ; 17e254 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [de], a - call Function17e41e - ret -; 17e261 - -Function17e261: ; 17e261 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [de] - add [hl] - ld [de], a - inc hl - call Function17e41e - ret -; 17e270 - -Function17e270: ; 17e270 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [de] - sub [hl] - ld [de], a - inc hl - call Function17e41e - ret -; 17e27f - -Function17e27f: ; 17e27f - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call Function17e41e - ld l, c - ld h, b - ld a, [de] - add [hl] - ld [de], a - ret -; 17e293 - -Function17e293: ; 17e293 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call Function17e41e - ld l, c - ld h, b - ld a, [de] - sub [hl] - ld [de], a - ret -; 17e2a7 - -Function17e2a7: ; 17e2a7 - call Function17e415 - call Function17e41e - call Function17e32b - xor a - ld [wcf66], a - callba Function118233 - ld de, GFX_17eb7e - ld hl, $9600 - lb bc, BANK(GFX_17eb7e), 1 - call Get2bpp - ld a, [wc300] - and a - jr z, .asm_17e2d8 - cp $a - jr z, .asm_17e2f7 - cp $b - jr z, .asm_17e300 - call Function17e309 - ret - -.asm_17e2d8 - call Function17d60b - call Function17e349 - xor a - ld [wcd7a], a - ld a, $5 - call GetSRAMBank - ld hl, $aa73 - ld de, $aa7f - ld bc, $000c - call CopyBytes - call CloseSRAM - ret - -.asm_17e2f7 - call Function17e349 - ld a, $1 - ld [wcd7a], a - ret - -.asm_17e300 - call Function17e349 - ld a, $2 - ld [wcd7a], a - ret -; 17e309 - -Function17e309: ; 17e309 - ld a, $2 - ld [wc303], a - call Function17dcaf - call ClearScreen - call Function17e349 - call Function17d5f6 - callba Function17f555 - call Function17e349 - call Function17dcaf - xor a - ld [wcd77], a - ret -; 17e32b - -Function17e32b: ; 17e32b - ld a, $5 - call GetSRAMBank - ld hl, $c608 - ld de, $b0b1 - ld bc, $0040 - call CopyBytes - ld hl, BGMapBuffer - ld bc, $005b - call CopyBytes - call CloseSRAM - ret -; 17e349 - -Function17e349: ; 17e349 - ld a, $5 - call GetSRAMBank - ld hl, $b0b1 - ld de, $c608 - ld bc, $0040 - call CopyBytes - ld de, BGMapBuffer - ld bc, $005b - call CopyBytes - call CloseSRAM - ret -; 17e367 - -Function17e367: ; 17e367 - call Function17e415 - call Function17e41e - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba Function14c10 - pop af - ld [rSVBK], a - ret -; 17e37e - -Function17e37e: ; 17e37e - call Function17e415 - call Function17e41e - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba Function14a58 - pop af - ld [rSVBK], a - ret -; 17e395 - -Function17e395: ; 17e395 - call Function17e415 - call Function17e41e - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba Function14e0c - pop af - ld [rSVBK], a - ret -; 17e3ac - -Function17e3ac: ; 17e3ac - call Function17e415 - call Function17e41e - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba Function14e13 - pop af - ld [rSVBK], a - ret -; 17e3c3 - -Function17e3c3: ; 17e3c3 - call Function17e415 - call Function17e41e - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba Function106155 - callba Function106187 - pop af - ld [rSVBK], a - ret -; 17e3e0 - -Function17e3e0: ; 17e3e0 - call Function17e415 - ld a, [hli] - ld c, a - call Function17e41e - ld a, $1 - ld [hBGMapMode], a - call DelayFrames - ret -; 17e3f0 - -Function17e3f0: ; 17e3f0 - call Function17e415 - call Function17e41e -.asm_17e3f6 - call Functiona57 - ld hl, hJoyPressed - ld a, [hl] - and $1 - ret nz - ld a, [hl] - and $2 - ret nz - call WaitBGMap - jr .asm_17e3f6 -; 17e409 - -Function17e409: ; 17e409 - ld hl, wcd77 - set 7, [hl] - ret -; 17e40f - -Function17e40f: ; 17e40f - ld de, Unkn1Pals - add hl, de - jr Function17e41e - -Function17e415: - ld a, [wcd78] - ld l, a - ld a, [wcd79] - ld h, a - inc hl - -Function17e41e: - ld a, l - ld [wcd78], a - ld a, h - ld [wcd79], a - ret -; 17e427 - -Function17e427: ; 17e427 - ld hl, hJoyPressed - ld a, [hl] - and $1 - jr nz, .asm_17e432 - and $2 - ret z - -.asm_17e432 - ld a, $3 - ld [wcd77], a - ret -; 17e438 - -Function17e438: ; 17e438 - ld hl, wcd77 - inc [hl] - ret -; 17e43d - -Function17e43d: ; 17e43d - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, bc - ret -; 17e447 - -Function17e447: ; 17e447 - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, de - ret -; 17e451 - -Function17e451: ; 17e451 - ld a, [wcd42] - and a - ret z - call Function17e51b - call Function17e4dd - ld a, [wcd2e] - push af - ld a, [wcd49] - ld l, a - ld a, [wcd4a] - ld h, a - ld a, [wcd2f] - ld [wcd2e], a - ld c, a - ld b, $0 - add hl, bc - add hl, bc - push hl - ld hl, TileMap - ld bc, $0014 - ld a, [wcd23] - call AddNTimes - ld a, [CreditsTimer] - ld c, a - ld b, $0 - add hl, bc - pop bc - ld a, [wcd25] -.asm_17e48b - push af - push hl - ld a, [wcd24] -.asm_17e490 - push af - push hl - ld a, [bc] - inc bc - ld e, a - ld a, [bc] - inc bc - ld d, a - push bc - push hl - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, de - push hl - pop de - pop hl - call PlaceString - pop bc - pop hl - ld a, [wcd26] - ld e, a - ld d, $0 - add hl, de - ld a, [wcd2e] - inc a - ld [wcd2e], a - ld e, a - ld a, [wcd42] - cp e - jr z, .asm_17e4d5 - pop af - dec a - jr nz, .asm_17e490 - pop hl - ld a, [wcd27] - ld de, $0014 -.asm_17e4cb - add hl, de - dec a - jr nz, .asm_17e4cb - pop af - dec a - jr nz, .asm_17e48b - jr .asm_17e4d8 - -.asm_17e4d5 - pop af - pop hl - pop af - -.asm_17e4d8 - pop af - ld [wcd2e], a - ret -; 17e4dd - -Function17e4dd: ; 17e4dd - ld a, [wcd2c] - and $1 - ret z - ld a, [wcd29] - ld hl, TileMap - ld bc, $0014 - call AddNTimes - ld a, [wcd28] - ld c, a - ld b, $0 - add hl, bc - ld a, [wcd2f] - and a - jr z, .asm_17e4ff - ld a, $61 - ld [hl], a - -.asm_17e4ff - ld a, [wcd2a] - ld bc, $0014 - call AddNTimes - ld a, [wcd42] - ld c, a - ld a, [wcd2e] - ld b, a - ld a, [wcd24] - add b - cp c - ret z - ret nc - ld a, $ee - ld [hl], a - ret -; 17e51b - -Function17e51b: ; 17e51b - ld a, [wcd28] - ld hl, CreditsTimer - sub [hl] - inc a - ld [wcd4f], a - ld hl, TileMap - ld bc, $0014 - ld a, [wcd23] - dec a - call AddNTimes - ld a, [CreditsTimer] - ld c, a - ld b, $0 - add hl, bc - ld a, [wcd25] - ld c, a - ld a, [wcd27] - call SimpleMultiply -.asm_17e544 - push af - push hl - ld a, [wcd4f] - ld c, a - ld b, $0 - ld a, $7f - call ByteFill - pop hl - ld bc, $0014 - add hl, bc - pop af - dec a - jr nz, .asm_17e544 - ret -; 17e55b - -Function17e55b: ; 17e55b - ld a, [wcd42] - and a - ret z - ld a, $ed - call Function17e571 - ret -; 17e566 - -Function17e566: ; 17e566 - ld a, [wcd42] - and a - ret z - ld a, $7f - call Function17e571 - ret -; 17e571 - -Function17e571: ; 17e571 - push af - ld hl, TileMap - ld bc, $0014 - ld a, [wcd23] - call AddNTimes - ld a, [CreditsTimer] - ld c, a - ld b, $0 - add hl, bc - dec hl - push hl - ld a, [wcd31] - dec a - ld c, a - ld a, [wcd27] - call SimpleMultiply - ld l, $0 - ld h, l - ld bc, $0014 - call AddNTimes - ld a, [wcd30] - dec a - ld c, a - ld a, [wcd26] - call SimpleMultiply - ld c, a - ld b, $0 - add hl, bc - pop bc - add hl, bc - pop af - ld [hl], a - ret -; 17e5af - -Function17e5af: ; 17e5af - ld a, [wcd2c] - and $2 - ret z - ld a, [wcd43] - ld l, a - ld a, [wcd44] - ld h, a - ld bc, TileMap - add hl, bc - ld bc, $ffec - add hl, bc - ld a, [wcd45] - ld c, a - ld b, $0 - ld a, [wcd46] - call Function17e600 - ld a, [wcd2e] - ld c, a - ld b, $0 - ld a, [wcd4d] - ld l, a - ld a, [wcd4e] - ld h, a - add hl, bc - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, de - push hl - pop de - ld a, [wcd43] - ld l, a - ld a, [wcd44] - ld h, a - ld bc, TileMap - add hl, bc - call PlaceString - ret -; 17e600 - -Function17e600: ; 17e600 -.asm_17e600 - push af - push hl - push bc - ld a, $7f - call ByteFill - pop bc - pop hl - ld de, $0014 - add hl, de - pop af - dec a - jr nz, .asm_17e600 - ret -; 17e613 - -Function17e613: ; 17e613 - push hl - ld hl, TileMap - ld bc, $0014 - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.asm_17e620 - jr z, .asm_17e626 - add hl, bc - dec a - jr .asm_17e620 - -.asm_17e626 - pop af - ld c, a - ld b, $0 - add hl, bc - push hl - ld a, [wcd53] - ld [hli], a - ld a, [de] - inc de - dec a - dec a - jr z, .asm_17e63f - ld c, a - ld a, [wcd53] - inc a -.asm_17e63b - ld [hli], a - dec c - jr nz, .asm_17e63b - -.asm_17e63f - ld a, [wcd53] - add $2 - ld [hl], a - pop hl - ld bc, $0014 - add hl, bc - ld a, [de] - dec de - dec a - dec a - jr z, .asm_17e674 - ld b, a -.asm_17e651 - push hl - ld a, [wcd53] - add $3 - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .asm_17e664 - ld c, a - ld a, $7f -.asm_17e660 - ld [hli], a - dec c - jr nz, .asm_17e660 - -.asm_17e664 - ld a, [wcd53] - add $4 - ld [hl], a - pop hl - push bc - ld bc, $0014 - add hl, bc - pop bc - dec b - jr nz, .asm_17e651 - -.asm_17e674 - ld a, [wcd53] - add $5 - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .asm_17e689 - ld c, a - ld a, [wcd53] - add $6 -.asm_17e685 - ld [hli], a - dec c - jr nz, .asm_17e685 - -.asm_17e689 - ld a, [wcd53] - add $7 - ld [hl], a - pop hl - ret -; 17e691 - -Function17e691: ; 17e691 - push hl - ld hl, NULL - ld bc, $0014 - ld a, [de] - inc de - push af - ld a, [de] - inc de - inc de - and a -.asm_17e69f - jr z, .asm_17e6a5 - add hl, bc - dec a - jr .asm_17e69f - -.asm_17e6a5 - pop af - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - dec de -.asm_17e6ac - push af - push hl - ld a, [de] -.asm_17e6af - push af - push hl - push hl - ld bc, TileMap - add hl, bc - ld a, [hl] - cp $7f - jr z, .asm_17e6c2 - ld a, [wcd53] - add $8 - jr .asm_17e6c7 - -.asm_17e6c2 - ld a, [wcd53] - jr .asm_17e6c7 - -.asm_17e6c7 - pop hl - ld bc, AttrMap - add hl, bc - ld [hl], a - pop hl - inc hl - pop af - dec a - jr nz, .asm_17e6af - pop hl - ld bc, $0014 - add hl, bc - pop af - dec a - jr nz, .asm_17e6ac - pop hl - ret -; 17e6de - -Function17e6de: ; 17e6de - push af - ld a, [wc708] - ld l, a - ld a, [wc709] - ld h, a - ld de, AttrMap - add hl, de - pop af - ld b, $7 -.asm_17e6ee - push hl - ld c, $7 -.asm_17e6f1 - ld [hli], a - dec c - jr nz, .asm_17e6f1 - pop hl - ld de, $0014 - add hl, de - dec b - jr nz, .asm_17e6ee - ret -; 17e6fe - - -PokemonNewsGFX: ; 17e6fe -INCBIN "gfx/mobile/pokemon_news.2bpp" - -GFX_17eb7e: -INCBIN "gfx/unknown/17eb7e.2bpp" - -TileAttrmap_17eb8e: -INCBIN "gfx/unknown/17eb8e.attrmap" - -Palette_17eff6: - RGB 24, 9, 8 - RGB 4, 9, 18 - RGB 18, 18, 12 - RGB 0, 0, 0 - RGB 24, 24, 18 - RGB 18, 18, 12 - RGB 4, 9, 18 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 23, 11, 10 - RGB 13, 6, 5 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 15, 25, 5 - RGB 10, 20, 0 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 20, 28, 20 - RGB 10, 18, 15 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 22, 22, 12 - RGB 17, 12, 5 - RGB 0, 0, 0 - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 27, 24, 0 - RGB 24, 16, 3 - RGB 0, 0, 0 - - -Function17f036:: ; 17f036 - ld a, $6 - call GetSRAMBank - inc de -.asm_17f03c - call Function17f047 - jr c, .asm_17f043 - jr .asm_17f03c - -.asm_17f043 - call CloseSRAM - ret -; 17f047 - -Function17f047: ; 17f047 - ld a, [de] - inc de - cp $50 - jr z, .asm_17f05f - cp $10 - jr nc, .asm_17f05f - dec a - push de - ld e, a - ld d, 0 - ld hl, Jumptable_17f061 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -.asm_17f05f - scf - ret -; 17f061 - -Jumptable_17f061: ; 17f061 - dw Function17f081 - dw Function17f0f8 - dw Function17f154 - dw Function17f181 - dw Function17f1d0 - dw Function17f220 - dw Function17f27b - dw Function17f2cb - dw Function17f2ff - dw Function17f334 - dw Function17f382 - dw Function17f3c9 - dw Function17f3f0 - dw Function17f41d - dw Function17f44f - dw Function17f44f -; 17f081 - -Function17f081: ; 17f081 - pop hl - call Function17f524 - jr c, .asm_17f09f - ld de, $0004 - add hl, de - ld a, [hli] - inc hl - inc hl - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f09d - and a - ret - -.asm_17f09d - scf - ret - -.asm_17f09f - push bc - ld de, wcd54 - ld bc, $0007 - call CopyBytes - pop bc - push hl - push bc - call Function17f4f6 - pop bc - ld a, [wcd54] - ld e, a - ld a, [wcd55] - ld d, a - add hl, de - ld e, l - ld d, h - ld l, c - ld h, b - push hl - ld a, [wcd56] - ld b, a - ld a, [wcd57] - ld c, a - call Function31a4 - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - ld a, [wcd59] - and a - jr z, .asm_17f0ee - ld c, a - ld a, [wcd57] - inc a - ld b, a - ld e, l - ld d, h - dec de -.asm_17f0e0 - ld a, c - cp b - jr z, .asm_17f0ea - ld a, [de] - dec de - ld [hld], a - dec b - jr .asm_17f0e0 - -.asm_17f0ea - ld a, [wcd5a] - ld [hl], a - -.asm_17f0ee - pop hl - ld a, [wcd58] - call Function17f50f - pop de - and a - ret -; 17f0f8 - -Function17f0f8: ; 17f0f8 - pop hl - call Function17f524 - jr c, .asm_17f114 - ld de, $0003 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f112 - and a - ret - -.asm_17f112 - scf - ret - -.asm_17f114 - push bc - ld de, wcd54 - ld bc, $0004 - call CopyBytes - pop bc - push hl - push bc - call Function17f4f6 - ld a, [wcd54] - ld e, a - ld a, [wcd55] - ld d, a - add hl, de - ld de, $c608 - ld a, [wcd56] - ld c, a - ld b, $0 - call CopyBytes - ld a, $50 - ld [de], a - pop hl - ld de, $c608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd57] - call Function17f50f - pop de - and a - ret -; 17f154 - -Function17f154: ; 17f154 - pop hl - call Function17f524 - jr c, .asm_17f167 - inc hl - inc hl - ld e, l - ld d, h - ld a, [de] - cp $50 - jr z, .asm_17f165 - and a - ret - -.asm_17f165 - scf - ret - -.asm_17f167 - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld c, l - ld b, h - pop de - callba Function11c08f - ld c, l - ld b, h - pop de - and a - ret -; 17f181 - -Function17f181: ; 17f181 - pop hl - call Function17f524 - jr c, .asm_17f19d - ld de, $0002 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f19b - and a - ret - -.asm_17f19b - scf - ret - -.asm_17f19d - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld c, a - ld de, $c608 - callba Function48c63 - pop hl - ld de, $c608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f1d0 - -Function17f1d0: ; 17f1d0 - pop hl - call Function17f524 - jr c, .asm_17f1ec - ld de, $0002 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f1ea - and a - ret - -.asm_17f1ea - scf - ret - -.asm_17f1ec - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld a, $1 - ld [rSVBK], a - ld [wd265], a - call GetPokemonName - pop hl - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, $4 - ld [rSVBK], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f220 - -Function17f220: ; 17f220 - pop hl - call Function17f524 - jr c, .asm_17f23c - ld de, $0002 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f23a - and a - ret - -.asm_17f23a - scf - ret - -.asm_17f23c - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld e, a - ld d, 0 - ld hl, .Genders - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - pop hl - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f26e - -.Genders: dw .Boy, .Girl -.Boy: db "Boy@" -.Girl: db "Girl@" - -Function17f27b: ; 17f27b - pop hl - call Function17f524 - jr c, .asm_17f297 - ld de, $0002 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f295 - and a - ret - -.asm_17f295 - scf - ret - -.asm_17f297 - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld a, $1 - ld [rSVBK], a - ld [wd265], a - call GetItemName - pop hl - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, $4 - ld [rSVBK], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f2cb - -Function17f2cb: ; 17f2cb - pop hl - push bc - ld a, [hli] - ld [wcd54], a - ld a, [hli] - ld [wcd55], a - ld a, [wcd2e] - inc a - ld [wcd56], a - pop bc - push hl - ld l, c - ld h, b - push hl - ld de, wcd56 - ld b, $1 - ld a, [wcd54] - ld c, a - call Function31a4 - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - pop hl - ld a, [wcd55] - call Function17f50f - pop de - and a - ret -; 17f2ff - -Function17f2ff: ; 17f2ff - pop hl - push bc - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - ld a, $1 - ld [rSVBK], a - ld hl, PlayerName - ld de, $c608 - ld bc, $0006 - call CopyBytes - ld a, $4 - ld [rSVBK], a - pop hl - ld de, $c608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f334 - -Function17f334: ; 17f334 - pop hl - push bc - ld a, [hli] - ld [wcd55], a - and $f - ld [wcd54], a - pop bc - push hl - ld l, c - ld h, b - push hl - ld a, [wcd55] - bit 7, a - jr nz, .asm_17f355 - ld a, $1 - call GetSRAMBank - ld a, [$be3f] - jr .asm_17f35d - -.asm_17f355 - ld a, $5 - call GetSRAMBank - ld a, [$b2f3] - -.asm_17f35d - ld c, a - call CloseSRAM - ld de, $c608 - callba Function48c63 - pop hl - ld de, $c608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f382 - -Function17f382: ; 17f382 - pop hl - push bc - ld a, [hli] - ld [wcd55], a - and $f - ld [wcd54], a - pop bc - push hl - push bc - ld l, c - ld h, b - ld a, [wcd55] - bit 7, a - jr nz, .asm_17f3a3 - ld a, $1 - call GetSRAMBank - ld de, $be40 - jr .asm_17f3ab - -.asm_17f3a3 - ld a, $5 - call GetSRAMBank - ld de, $b2f4 - -.asm_17f3ab - ld a, $82 - ld b, a - ld a, $3 - ld c, a - call PrintNum - call CloseSRAM - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - pop hl - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f3c9 - -Function17f3c9: ; 17f3c9 - push bc - ld hl, wcd36 - ld de, wc708 - ld bc, $000c - call CopyBytes - pop de - ld c, $0 - callba Function11c075 - push hl - ld hl, wc708 - ld de, wcd36 - ld bc, $000c - call CopyBytes - pop bc - pop de - and a - ret -; 17f3f0 - -Function17f3f0: ; 17f3f0 - pop hl - push hl - ld a, [hli] - push af - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [de] - ld c, a - ld b, $0 - add hl, bc - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, Unkn1Pals - add hl, de - ld e, l - ld d, h - pop hl - call PlaceString - pop af - ld e, a - ld d, $0 - pop hl - add hl, de - add hl, de - inc hl - inc hl - inc hl - ld e, l - ld d, h - ld l, c - ld h, b - scf - ret -; 17f41d - -Function17f41d: ; 17f41d - pop hl - ld a, [hli] - push hl - push af - ld l, c - ld h, b - ld bc, -TileMap + $10000 - add hl, bc - ld de, -SCREEN_WIDTH - ld c, $1 -.asm_17f42c - ld a, h - and a - jr nz, .asm_17f435 - ld a, l - cp SCREEN_WIDTH - jr c, .asm_17f439 - -.asm_17f435 - add hl, de - inc c - jr .asm_17f42c - -.asm_17f439 - ld hl, TileMap - ld de, SCREEN_WIDTH - ld a, c -.asm_17f440 - and a - jr z, .asm_17f447 - add hl, de - dec a - jr .asm_17f440 - -.asm_17f447 - pop af - ld e, a - ld d, 0 - add hl, de - pop de - and a - ret -; 17f44f - -Function17f44f: ; 17f44f - pop hl - call Function17f524 - jr c, .asm_17f46d - ld de, $0005 - add hl, de - ld a, [hli] - inc hl - inc hl - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f46b - and a - ret - -.asm_17f46b - scf - ret - -.asm_17f46d - push bc - ld de, wcd54 - ld bc, $0008 - call CopyBytes - pop bc - push hl - push bc - ld a, [wcd56] - cp $c0 - jr c, .asm_17f488 - ld a, [wcd54] - ld [rSVBK], a - jr .asm_17f48e - -.asm_17f488 - ld a, [wcd54] - call GetSRAMBank - -.asm_17f48e - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, $c608 - ld a, [wcd57] - ld c, a - ld b, $0 - call CopyBytes - ld a, [wcd56] - cp $c0 - jr c, .asm_17f4af - ld a, $4 - ld [rSVBK], a - jr .asm_17f4b7 - -.asm_17f4af - call CloseSRAM - ld a, $6 - call GetSRAMBank - -.asm_17f4b7 - ld de, $c608 - pop hl - push hl - ld a, [wcd57] - ld b, a - ld a, [wcd58] - ld c, a - call Function31a4 - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - ld a, [wcd5a] - and a - jr z, .asm_17f4ec - ld c, a - ld a, [wcd58] - inc a - ld b, a - ld e, l - ld d, h - dec de -.asm_17f4de - ld a, c - cp b - jr z, .asm_17f4e8 - ld a, [de] - dec de - ld [hld], a - dec b - jr .asm_17f4de - -.asm_17f4e8 - ld a, [wcd5b] - ld [hl], a - -.asm_17f4ec - pop hl - ld a, [wcd59] - call Function17f50f - pop de - and a - ret -; 17f4f6 - -Function17f4f6: ; 17f4f6 - ld a, [wcd6a] - ld l, a - ld a, [wcd6b] - ld h, a - ld a, [wcd47] - ld c, a - ld a, [BGMapPalBuffer] - ld b, a - ld a, [wcd2e] -.asm_17f509 - and a - ret z - dec a - add hl, bc - jr .asm_17f509 -; 17f50f - -Function17f50f: ; 17f50f - and a - jr z, .asm_17f519 - ld c, a - ld b, $0 - add hl, bc - ld c, l - ld b, h - ret - -.asm_17f519 - ld a, [wcd52] - ld c, a - ld l, a - ld a, [wcd53] - ld b, a - ld h, a - ret -; 17f524 - -Function17f524: ; 17f524 - push hl - push bc - push de - ld a, [wcd42] - dec a - ld b, a - ld a, [wcd2e] - cp b - jr z, .asm_17f53a - ld hl, wcd68 - cp [hl] -.asm_17f536 - pop de - pop bc - pop hl - ret - -.asm_17f53a - scf - jr .asm_17f536 -; 17f53d - -Function17f53d: ; 17f53d - call FadeToMenu - xor a - ld [wc303], a - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - call Function17f555 - pop af - ld [rSVBK], a - call Function2b4d - ret -; 17f555 - -Function17f555: ; 17f555 -.asm_17f555 - call Functiona57 - call Function17f5ae - ld a, [wc303] - bit 7, a - jr nz, .asm_17f56a - callba Function104000 - jr .asm_17f555 - -.asm_17f56a - call Function17f56e - ret -; 17f56e - -Function17f56e: ; 17f56e - ld a, [wc300] - cp $22 - jr z, .asm_17f597 - cp $31 - jr z, .asm_17f58a - cp $33 - ret nz - ld a, [wc301] - cp $1 - ret nz - ld a, [wc302] - cp $2 - ret nz - jr .asm_17f5a1 - -.asm_17f58a - ld a, [wc301] - cp $3 - ret nz - ld a, [wc302] - and a - ret nz - jr .asm_17f5a1 - -.asm_17f597 - ld a, [wc301] - and a - ret nz - ld a, [wc302] - and a - ret nz - -.asm_17f5a1 - ld a, $5 - call GetSRAMBank - xor a - ld [$aa4b], a - call CloseSRAM - ret -; 17f5ae - -Function17f5ae: ; 17f5ae - ld a, [wc303] - ld e, a - ld d, 0 - ld hl, Table17f5bd - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 17f5bd - -Table17f5bd: ; 17f5bd - dw Function17f5c3 - dw Function17ff23 - dw Function17f5d2 -; 17f5c3 - -Function17f5c3: ; 17f5c3 - call Function17f5e4 - callba Function2b5c - ld a, $1 - ld [wc303], a - ret -; 17f5d2 - -Function17f5d2: ; 17f5d2 - call Function17f5e4 - callba Function104000 - call Function32f9 - ld a, $1 - ld [wc303], a - ret -; 17f5e4 - -Function17f5e4: ; 17f5e4 - ld a, $8 - ld [MusicFade], a - ld de, MUSIC_NONE - ld a, e - ld [MusicFadeIDLo], a - ld a, d - ld [MusicFadeIDHi], a - ld a, " " - ld hl, TileMap - ld bc, $0168 - call ByteFill - ld a, $6 - ld hl, AttrMap - ld bc, $0168 - call ByteFill - hlcoord 2, 1 - ld b, $1 - ld c, $e - call Function3eea - hlcoord 1, 4 - ld b, $c - ld c, $10 - call Function3eea - hlcoord 3, 2 - ld de, String_17f6dc - call PlaceString - call Function17ff3c - jr nc, .asm_17f632 - hlcoord 11, 2 - call Function17f6b7 - -.asm_17f632 - ld a, [wc300] - cp $d0 - jr nc, .asm_17f684 - cp $10 - jr c, .asm_17f679 - sub $10 - cp $24 - jr nc, .asm_17f679 - ld e, a - ld d, $0 - ld hl, Table_17f706 - add hl, de - add hl, de - ld a, [wc301] - ld e, a - ld a, [wc302] - ld d, a - ld a, [hli] - ld c, a - ld a, [hl] - ld h, a - ld l, c - ld a, [hli] - and a - jr z, .asm_17f679 - ld c, a -.asm_17f65d - ld a, [hli] - ld b, a - ld a, [hli] - cp $ff - jr nz, .asm_17f667 - cp b - jr z, .asm_17f66e - -.asm_17f667 - xor d - jr nz, .asm_17f674 - ld a, b - xor e - jr nz, .asm_17f674 - -.asm_17f66e - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - jr .asm_17f67d - -.asm_17f674 - inc hl - inc hl - dec c - jr nz, .asm_17f65d - -.asm_17f679 - ld a, $d9 - jr .asm_17f684 - -.asm_17f67d - hlcoord 2, 6 - call PlaceString - ret - -.asm_17f684 - sub $d0 - ld e, a - ld d, 0 - ld hl, Table_17f699 - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - hlcoord 2, 6 - call PlaceString - ret -; 17f699 - -Table_17f699: ; 17f699 - dw String_17fedf - dw String_17fdd9 - dw String_17fdd9 - dw String_17fe03 - dw String_17fd84 - dw String_17fe63 - dw String_17fdb2 - dw String_17fe4b - dw String_17fe03 - dw String_17fe03 - dw String_17fe03 -; 17f6af - -Palette_17f6af: ; 17f6af - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 -; 17f6b7 - -Function17f6b7: ; 17f6b7 - ld a, [wc300] - call Function17f6cd - inc hl - ld a, [wc302] - and $f - call Function17f6d8 - ld a, [wc301] - call Function17f6cd - ret -; 17f6cd - -Function17f6cd: ; 17f6cd - ld c, a - and $f0 - swap a - call Function17f6d8 - ld a, c - and $f - -Function17f6d8: ; 17f6d8 - add $f6 - ld [hli], a - ret -; 17f6dc - -String_17f6dc: ; 17f6dc - db "つうしんエラー ー@" -; 17f6e8 - -String_17f6e8: ; 17f6e8 - db "みていぎ", $25, "エラーです" - next "プログラム", $1f - next "かくにん してください" - db "@" -; 17f706 - -Table_17f706: - dw Unknown_17f74e - dw Unknown_17f753 - dw Unknown_17f758 - dw Unknown_17f75d - dw Unknown_17f762 - dw Unknown_17f767 - dw Unknown_17f778 - dw Unknown_17f77d - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f787 - dw Unknown_17f78c - dw Unknown_17f791 - dw Unknown_17f796 - dw Unknown_17f79b - dw Unknown_17f7a0 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7ea - dw Unknown_17f7ff - dw Unknown_17f844 - -Unknown_17f74e: db 1 - dbbw $0, $0, String_17f891 - -Unknown_17f753: db 1 - dbbw $0, $0, String_17f8d1 - -Unknown_17f758: db 1 - dbbw $0, $0, String_17f913 - -Unknown_17f75d: db 1 - dbbw $0, $0, String_17f8d1 - -Unknown_17f762: db 1 - dbbw $0, $0, String_17fa71 - -Unknown_17f767: db 4 - dbbw $0, $0, String_17f946 - dbbw $1, $0, String_17f946 - dbbw $2, $0, String_17f946 - dbbw $3, $0, String_17f946 - -Unknown_17f778: db 1 - dbbw $0, $0, String_17f98e - -Unknown_17f77d: db 1 - dbbw $0, $0, String_17f98e - -Unknown_17f782: db 1 - dbbw $0, $0, String_17f98e - -Unknown_17f787: db 1 - dbbw $0, $0, String_17f98e - -Unknown_17f78c: db 1 - dbbw $0, $0, String_17f9d0 - -Unknown_17f791: db 1 - dbbw $0, $0, String_17fa14 - -Unknown_17f796: db 1 - dbbw $0, $0, String_17fcbf - -Unknown_17f79b: db 1 - dbbw $0, $0, String_17fa71 - -Unknown_17f7a0: db 1 - dbbw $0, $0, String_17fbfe - -Unknown_17f7a5: db 17 - dbbw $0, $0, String_17f98e - dbbw $21, $2, String_17fcbf - dbbw $21, $4, String_17fcbf - dbbw $50, $4, String_17faf9 - dbbw $51, $4, String_17fcbf - dbbw $52, $4, String_17fcbf - dbbw $0, $5, String_17f98e - dbbw $1, $5, String_17f98e - dbbw $2, $5, String_17f98e - dbbw $3, $5, String_17f98e - dbbw $4, $5, String_17f98e - dbbw $50, $5, String_17faf9 - dbbw $51, $5, String_17faf9 - dbbw $52, $5, String_17fcbf - dbbw $53, $5, String_17faf9 - dbbw $54, $5, String_17fcbf - dbbw $ff, $ff, String_17fcbf - -Unknown_17f7ea: db 5 - dbbw $0, $0, String_17f98e - dbbw $2, $0, String_17fb2a - dbbw $3, $0, String_17fb6e - dbbw $4, $0, String_17f98e - dbbw $ff, $ff, String_17fcbf - -Unknown_17f7ff: db 17 - dbbw $0, $0, String_17f98e - dbbw $1, $3, String_17f98e - dbbw $2, $3, String_17f98e - dbbw $0, $4, String_17f98e - dbbw $1, $4, String_17f98e - dbbw $3, $4, String_17fbb6 - dbbw $4, $4, String_17fbb6 - dbbw $5, $4, String_17f98e - dbbw $6, $4, String_17f98e - dbbw $7, $4, String_17f98e - dbbw $8, $4, String_17fbfe - dbbw $0, $5, String_17fa49 - dbbw $1, $5, String_17f98e - dbbw $2, $5, String_17fa49 - dbbw $3, $5, String_17fab0 - dbbw $4, $5, String_17fa49 - dbbw $ff, $ff, String_17fa49 - -Unknown_17f844: db 19 - dbbw $1, $1, String_17fc3e - dbbw $2, $1, String_17fc88 - dbbw $3, $1, String_17fcff - dbbw $4, $1, String_17fd84 - dbbw $5, $1, String_17fd84 - dbbw $6, $1, String_17fd47 - dbbw $1, $2, String_17fb6e - dbbw $2, $2, String_17f98e - dbbw $3, $2, String_17fd84 - dbbw $4, $2, String_17f98e - dbbw $5, $2, String_17fa49 - dbbw $6, $2, String_17fd84 - dbbw $99, $2, String_17fc88 - dbbw $1, $3, String_17fa49 - dbbw $1, $4, String_17fa49 - dbbw $2, $4, String_17fa49 - dbbw $3, $4, String_17fa49 - dbbw $4, $4, String_17fa49 - dbbw $ff, $ff, String_17fa49 - -String_17f891: ; 17f891 - db "モバイルアダプタが ただしく" - next "さしこまれていません" - next "とりあつかいせつめいしょを" - next "ごらんのうえ しっかりと" - next "さしこんで ください" - db "@" - -String_17f8d1: ; 17f8d1 - db "でんわが うまく かけられないか" - next "でんわかいせんが こんでいるので" - next "つうしん できません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17f913: ; 17f913 - db "でんわかいせんが こんでいるため" - next "でんわが かけられません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17f946: ; 17f946 - db "モバイルアダプタの エラーです" - next "しばらく まって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -String_17f98e: ; 17f98e - db "つうしんエラーです" - next "しばらく まって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -String_17f9d0: ; 17f9d0 - db "ログインパスワードか" - next "ログイン アイディーに" - next "まちがいがあります" - next "パスワードを かくにんして" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17fa14: ; 17fa14 - db "でんわが きれました" - next "とりあつかいせつめいしょを" - next "ごらんのうえ" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17fa49: ; 17fa49 - db "モバイルセンターの" - next "つうしんエラーです" - next "しばらくまって" - next "かけなおして ください" - db "@" - -String_17fa71: ; 17fa71 - db "モバイルアダプタに" - next "とうろくされた じょうほうが" - next "ただしく ありません" - next "モバイルトレーナーで" - next "しょきとうろくを してください" - db "@" - -String_17fab0: ; 17fab0 - db "モバイルセンターが" - next "こんでいて つながりません" - next "しばらくまって" - next "かけなおして ください" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17faf9: ; 17faf9 - db "あてさき メールアドレスに" - next "まちがいがあります" - next "ただしい メールアドレスを" - next "いれなおしてください" - db "@" - -String_17fb2a: ; 17fb2a - db "メールアドレスに" - next "まちがいが あります" - next "とりあつかいせつめいしょを" - next "ごらんのうえ" - next "モバイルトレーナーで" - next "しょきとうろくを してください" - db "@" - -String_17fb6e: ; 17fb6e - db "ログインパスワードに" - next "まちがいが あるか" - next "モバイルセンターの エラーです" - next "パスワードを かくにんして" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17fbb6: ; 17fbb6 - db "データの よみこみが できません" - next "しばらくまって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -String_17fbfe: ; 17fbfe - db "じかんぎれです" - next "でんわが きれました" - next "でんわを かけなおしてください" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fc3e: ; 17fc3e - db "ごりよう りょうきんの " - next "おしはらいが おくれたばあいには" - next "ごりようが できなくなります" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fc88: ; 17fc88 - db "おきゃくさまの ごつごうにより" - next "ごりようできません" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fcbf: ; 17fcbf - db "でんわかいせんが こんでいるか" - next "モバイルセンターの エラーで" - next "つうしんが できません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17fcff: ; 17fcff - db "ごりよう りょうきんが" - next "じょうげんを こえているため" - next "こんげつは ごりようできません" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fd47: ; 17fd47 - db "げんざい モバイルセンターの" - next "てんけんを しているので" - next "つうしんが できません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17fd84: ; 17fd84 - db "データの よみこみが できません" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - - -String_17fdb2: ; 17fdb2 - db "3ぷん いじょう なにも" - next "にゅうりょく しなかったので" - next "でんわが きれました" - db "@" - -String_17fdd9: ; 17fdd9 - db "つうしんが うまく" - next "できませんでした" - next "もういちど はじめから" - next "やりなおしてください" - db "@" - -String_17fe03: ; 17fe03 - db "データの よみこみが できません" - next "しばらくまって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -String_17fe4b: ; 17fe4b - db "まちじかんが ながいので" - next "でんわが きれました" - db "@" - -String_17fe63: ; 17fe63 - db "あいての モバイルアダプタと" - next "タイプが ちがいます" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fe9a: ; 17fe9a ; unreferenced - db "ポケモンニュースが" - next "あたらしくなっているので" - next "レポートを おくれません" - next "あたらしい ポケモンニュースの" - next "よみこみを さきに してください" - db "@" - -String_17fedf: ; 17fedf - db "つうしんの じょうきょうが" - next "よくないか かけるあいてが" - next "まちがっています" - next "もういちど かくにんをして" - next "でんわを かけなおして ください" - db "@" -; 17ff23 - -Function17ff23: ; 17ff23 - ld a, [hJoyPressed] - and a - ret z - ld a, $8 - ld [MusicFade], a - ld a, [wMapMusic] - ld [MusicFadeIDLo], a - xor a - ld [MusicFadeIDHi], a - ld hl, wc303 - set 7, [hl] - ret -; 17ff3c - -Function17ff3c: ; 17ff3c - nop - ld a, [wc300] - cp $d0 - ret c - hlcoord 10, 2 - ld de, String_17ff68 - call PlaceString - ld a, [wc300] - push af - sub $d0 - inc a - ld [wc300], a - hlcoord 14, 2 - ld de, wc300 - ld bc, $8103 - call PrintNum - pop af - ld [wc300], a - and a - ret -; 17ff68 - -String_17ff68: ; 17ff68 - db "101@" -; 17ff6c - +INCLUDE "misc/mobile_5f.asm" SECTION "Common Text 1", ROMX, BANK[$6C] @@ -144871,18 +104995,14 @@ INCLUDE "text/common_4.asm" SECTION "bank72", ROMX, BANK[$72] -; Item names & descriptions - ItemNames:: INCLUDE "items/item_names.asm" INCLUDE "items/item_descriptions.asm" - MoveNames:: INCLUDE "battle/move_names.asm" - INCLUDE "engine/landmarks.asm" @@ -145262,9 +105382,15 @@ MobileLvIcon: ; 1dc599 INCBIN "gfx/mobile/lv.1bpp" + +SECTION "Tileset Data 7", ROMX, BANK[TILESETS_7] + INCLUDE "tilesets/data_7.asm" + +SECTION "bank77_2", ROMX, BANK[$77] + Function1dd6a9: ; 1dd6a9 ld a, b ld b, c diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm new file mode 100644 index 000000000..12cbd326c --- /dev/null +++ b/misc/mobile_40.asm @@ -0,0 +1,8080 @@ + +SECTION "bank40", ROMX, BANK[$40] + +Function100000: ; 100000 + 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 Function100063 + pop bc + pop de + ld a, d + ld [wcd21], a + ld a, e + ld [CreditsTimer], a + ld a, c + ld [wcd23], a + ld a, b + ld [wcd24], a + callba Function10127e + callba Function106462 + callba Function106464 + callba Function11615a + ld hl, VramState + set 1, [hl] + ret +; 100057 + +Function100057: ; 100057 + call Function1000a4 + call Function222a + ld hl, VramState + res 1, [hl] + ret +; 100063 + +Function100063: ; 100063 + xor a + ld hl, BGMapBuffer + ld bc, $0065 + call ByteFill + xor a + ld hl, wc300 + ld bc, $100 + call ByteFill + ld a, [rIE] + ld [BGMapBuffer], a + xor a + ld [$ffde], a + ld [hLCDStatCustom], a + ret +; 100082 + +Function100082: ; 100082 + xor a + ld hl, OverworldMap + ld bc, 1300 + 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 [$ffde], a + ld [hLCDStatCustom], a + ld a, $1 + ld [$ffc9], a + ld [$ffe9], a + ei + ret +; 0x1000a4 + +Function1000a4: ; 1000a4 + di + xor a + ld [$ffc9], a + ld [$ffe9], a + xor a + ld [hVBlank], a + call NormalSpeed + xor a + ld [rIF], a + ld a, [BGMapBuffer] + ld [rIE], a + ei + ret +; 1000ba + +Function1000ba: ; 1000ba +.asm_1000ba + ld hl, wcd23 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wcd25] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [CreditsTimer] + call GetFarHalfword + ld a, [CreditsTimer] + rst FarCall + call Function1000e8 + call Function1000fa + call Function100144 + call Function100163 + ld a, [wcd2b] + and a + jr z, .asm_1000ba + 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 [$ffc9], a + ld [$ffe9], a + ei + ld a, [InLinkBattle] + push af + xor a + ld [InLinkBattle], a + ld a, $4 + ld [wc319], a + callba Function11619d + ld hl, wcd29 + set 6, [hl] + pop af + ld [InLinkBattle], 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 Function10402d + 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 $1 + ret z + cp $2 + 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, $0000 + jr .asm_1001d7 + +.asm_1001b6 + ld a, $d5 + ld de, $0000 + jr .asm_1001d7 + +.asm_1001bd + ld a, $d6 + ld de, $0000 + jr .asm_1001d7 + +.asm_1001c4 + ld a, $d2 + ld de, $0002 + jr .asm_1001d7 + +.asm_1001cb + ld a, $d1 + ld de, $0001 + jr .asm_1001d7 + +.asm_1001d2 + ld a, $d0 + ld de, $0000 + +.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 Function8c084 + callba Function106464 + call HideSprites + call DelayFrame + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function17f555 + pop af + ld [rSVBK], a + ret +; 100232 + +Function100232: ; 100232 + push de + callba Function106464 + call Function3f20 + call Function1ad2 + hlcoord 1, 2 + pop de + call PlaceString + call Function100320 + call Functiona36 + ret +; 10024d + +String10024d: ; 10024d + db "つうしんを キャンセル しました@" +; 10025e + +String10025e: ; 10025e + db "おともだちと えらんだ へやが" + next "ちがうようです@" +; 100276 + +Function100276: ; 100276 + ld a, [wcd2b] + cp $1 + jr z, .asm_10029f + cp $2 + 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, $2 + ret + +.asm_100296 + callba Script_reloadmappart + ld c, $4 + ret + +.asm_10029f + call Function1002dc + ld c, $0 + ret + +.asm_1002a5 + callba Script_reloadmappart + call Function1002ed + ld c, $3 + ret + +.asm_1002b1 + call Function1002c9 + call Function1002dc + ld de, String10024d + call Function100232 + ld c, $2 + ret + +.asm_1002c0 + call Function1002c9 + call Function1002dc + ld c, $1 + ret +; 1002c9 + +Function1002c9: ; 1002c9 + ld hl, wcd2a + bit 0, [hl] + ret z + callba Function3f6d0 + callba Function1500c + ret +; 1002dc + +Function1002dc: ; 1002dc + ld a, $f8 + ld [$ff9f], a + callba RunMapSetupScript + xor a + ld [$ff9f], a + call Functione51 + ret +; 1002ed + +Function1002ed: ; 1002ed + callba Function49409 + callba Function96a4 + ld a, $1 + 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 Functiona36 + ret +; 100320 + +Function100320: ; 100320 + callba Function104099 + ret +; 100327 + +Function100327: ; 100327 + callba Function10402d + 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, $1 + and a + ret + +.asm_100364 + xor a + ret + +.asm_100366 + ld a, $2 + 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, wd000 + ld bc, $0054 + ld a, $3 + call FarCopyWRAM + ret +; 1003ab + +Function1003ab: ; 1003ab + ld hl, wd000 + ld de, wcc60 + ld bc, $0054 + ld a, $3 + call FarCopyWRAM + ret +; 1003ba + +Function1003ba: ; 1003ba + ld hl, wccb4 + ld de, $d080 + ld bc, $0054 + ld a, $3 + call FarCopyWRAM + ret +; 1003c9 + +Function1003c9: ; 1003c9 + ld hl, $d080 + ld de, wccb4 + ld bc, $0054 + ld a, $3 + 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 $2 + ld [wccb4], a + ret +; 1003f5 + +Function1003f5: ; 1003f5 + ld a, [wcc60] + sub $3 + ld [wcc60], a + ld a, [wccb4] + sub $3 + ld [wccb4], a + ret +; 100406 + +Function100406: ; 100406 + ld a, [wcc60] + sub $2 + 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, $0000 +.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 $2 + jr z, .asm_100487 + jr .asm_10048d + +.asm_100487 + ld a, $8 + ld [wcd27], a + ret + +.asm_10048d + ld a, $2 + 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, $8 + ld [wcd27], a + ret +; 1004ce + +Function1004ce: ; 1004ce + call Function100337 + ret c + ret z + cp $2 + 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 Function1ad2 + pop de + hlcoord 4, 2 + call PlaceString + ret +; 100513 + +Function100513: ; 100513 + call Function3f7c + call Function1c89 + call Function1c10 + ld hl, wcfa5 + 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 Function1ad2 + call Function321c + 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 Function241ba + ld a, c + ld hl, wcfa8 + and [hl] + ret z + call Function1ff8 + 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 [wcfa9], a + +.asm_1005a6 + call Function1c07 + 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 [wcfa9], a +.asm_1005f0 + call Function1c07 + 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 + +Function10060d: ; 10060d + hlcoord 3, 10 + ld b, $1 + ld c, $b + call Function3eea + ld de, String_100621 + hlcoord 4, 11 + call PlaceString + ret +; 100621 + +String_100621: ; 100621 + db "つうしんたいきちゅう!@" +; 10062d + +Function10062d: ; 10062d + push bc + call Function10064e + pop bc + ld a, [wcd44] + cp b + jr nc, .asm_10063a + and a + ret + +.asm_10063a + ld a, $fa + ld [wcd2b], a + scf + ret +; 100641 + +Function100641: ; 100641 + xor a + ld [wcd44], a + ld [wcd45], a + ld [wcd46], a + ret +; 10064c + +Function10064c: ; 10064c + ld c, 1 + +Function10064e: ; 10064e + ld hl, wcd46 + ld a, [hl] + add c + cp $3c + jr c, .asm_100658 + xor a + +.asm_100658 + ld [hld], a + ret c + ld a, [hl] + inc a + cp $3c + jr c, .asm_100661 + xor a + +.asm_100661 + 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 + ld bc, $8102 + 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, $4 + ld hl, $a800 + call GetSRAMBank + xor a + ld [hli], a + ld [hli], a + ld [hli], a + call CloseSRAM + ret +; 10070d + +Function10070d: ; 10070d + ld a, $4 + ld hl, $a800 + call GetSRAMBank + xor a + ld [hli], a + ld a, $a + 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, $4 + 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 $1 + jr nz, .asm_1007f4 + ld hl, wcd2a + bit 5, [hl] + jr nz, .asm_1007f4 + ld hl, wcd2a + bit 6, [hl] + jr nz, .asm_1007f4 + ld a, [wcd6a] + add c + cp $3c + jr nc, .asm_1007be + ld [wcd6a], a + and a + ret + +.asm_1007be + sub $3c + ld [wcd6a], a + ld d, b + push de + call Function1007f6 + pop de + jr c, .asm_1007e5 + ld a, c + and a + jr nz, .asm_1007e5 + ld a, b + cp $a + jr nc, .asm_1007e5 + 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 + +.asm_1007e5 + call Function1008e0 + ld hl, wcd2a + set 4, [hl] + ld a, $fc + ld [wcd2b], a + scf + ret + +.asm_1007f4 + and a + ret +; 1007f6 + +Function1007f6: ; 1007f6 + call UpdateTime + ld hl, wcd74 + ld de, wcd71 + call Function1006dc + ld a, $4 + 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, $a + 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, $4 + 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, $a + 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, $3 + 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, $1 + ld c, $b + call TextBox + ld a, [wcd6d] + ld c, a + ld a, $a + sub c + ld [StringBuffer2], a + jr z, .asm_10093f + ld de, .string_100966 + hlcoord 4, 11 + call PlaceString + hlcoord 8, 11 + ld bc, $0102 + ld de, StringBuffer2 + call PrintNum + ld de, SFX_TWO_PC_BEEPS + call PlaySFX + callba Function104061 + 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 Function104061 + ld c, $78 + call DelayFrames + ret +; 10095a + +.string_10095a ; 10095a + db "たいせん しゅうりょう@" +.string_100966 ; 100966 + db "のこり ふん", $e7, "@" +; 100970 + + +Function100970: ; 100970 + ld hl, TileMap + ld de, wdc00 + call Function1009a5 + ld hl, AttrMap + ld de, $dd68 + call Function1009a5 + call Function1009d2 + call Function1009ae + ret +; 100989 + +Function100989: ; 100989 + ld hl, wdc00 + ld de, TileMap + call Function1009a5 + call Function1009ae + callba Function104061 + ld hl, $dd68 + ld de, AttrMap + call Function1009a5 + ret +; 1009a5 + +Function1009a5: ; 1009a5 + ld bc, $0168 + ld a, $3 + call FarCopyWRAM + ret +; 1009ae + +Function1009ae: ; 1009ae + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, $d800 + ld de, AttrMap + ld c, $14 + ld b, $12 +.asm_1009bf + push bc +.asm_1009c0 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_1009c0 + ld bc, $000c + add hl, bc + pop bc + dec b + jr nz, .asm_1009bf + pop af + ld [rSVBK], a + ret +; 1009d2 + +Function1009d2: ; 1009d2 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [rVBK] + push af + ld a, $1 + ld [rVBK], a + ld hl, $d800 + ld de, VBGMap0 + lb bc, $3, $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, .asm_100a07 + ld hl, wcd2a + set 4, [hl] + ld a, $f8 + ld [wcd2b], a + scf + ret + +.asm_100a07 + xor a + ret +; 100a09 + +Function100a09: ; 100a09 + call Function100a2e + ld [wd431], a + callba Function4000 + ld a, [InLinkBattle] + cp $4 + jr nz, .asm_100a2a + call Function100a87 + call Function100da5 + callba Function3ee27 + jr .asm_100a2d + +.asm_100a2a + call Function100a53 + +.asm_100a2d + ret +; 100a2e + +Function100a2e: ; 100a2e + ld a, [wd0ec] + and a + jr nz, .asm_100a48 + ld a, [CurPlayerMove] + ld b, $e + cp STRUGGLE + jr z, .asm_100a4f + ld b, $d + cp $ff + jr z, .asm_100a4f + ld a, [CurMoveNum] + jr .asm_100a50 + +.asm_100a48 + ld a, [CurPartyMon] + add $4 + jr .asm_100a50 + +.asm_100a4f + ld a, b + +.asm_100a50 + and $f + ret +; 100a53 + +Function100a53: ; 100a53 + ld a, [wd431] + ld [wcf56], a + ld a, $ff + ld [wcf52], a +.asm_100a5e + call Function8c1 + call DelayFrame + ld a, [wcf52] + inc a + jr z, .asm_100a5e + ld b, $a +.asm_100a6c + call DelayFrame + call Function8c1 + dec b + jr nz, .asm_100a6c + ld b, $a +.asm_100a77 + call DelayFrame + call Function908 + dec b + jr nz, .asm_100a77 + ld a, [wcf52] + ld [wd430], a + ret +; 100a87 + +Function100a87: ; 100a87 + call Function100acf + call Function100641 + ld a, $0 + ld [wcd27], a +.asm_100a92 + call DelayFrame + call GetJoypad + callba Function100382 + ld c, $1 + ld b, $3 + push bc + call Function10062d + pop bc + jr c, .asm_100ac7 + ld b, $1 + 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, $f + 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, $1 +.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, $f + ld [wd430], a + ld a, $f1 + ld [wcd2b], a + ret +; 100b0a + + +SECTION "tetsuji", ROMX, BANK[$40] + + charmap " ", $20 ; revert to ascii + +Unknown_100b0a: ; 100b0a + db "tetsuji", 0 +; 100b12 + + +SECTION "bank40_2", ROMX, BANK[$40] + +Function100b12: ; 100b12 + call Function100dd8 + ret c + ld hl, BattleMenuDataHeader + ld a, BANK(BattleMenuDataHeader) + ld de, LoadMenuDataHeader + call FarCall_de + ld a, BANK(BattleMenuDataHeader) + ld [wcf94], a + ld a, [wd0d2] + ld [wcf88], a + call Function100e72 + call Function100b45 + callba Function8e85 + call Function100ed4 + ld a, [wcf88] + ld [wd0d2], a + call Function1c07 + ret +; 100b45 + +Function100b45: ; 100b45 + call Function100b7a +.asm_100b48 + call Function100dd2 + callba Function241ba + push bc + callba Function10402d + call Function100e2d + pop bc + jr c, .asm_100b6b + ld a, [wcfa8] + and c + jr z, .asm_100b48 + callba Function24098 + ret + +.asm_100b6b + ld a, [wcfa4] + ld c, a + ld a, [wcfa3] + call SimpleMultiply + ld [wcf88], a + and a + ret +; 100b7a + +Function100b7a: ; 100b7a + ld hl, Function1c66 + ld a, [wcf94] + rst FarCall + callba Function24085 + callba MobileTextBorder + call Function1ad2 + call Function321c + callba Function2411a + ld hl, wcfa5 + set 7, [hl] + ret +; 100b9f + +Function100b9f: ; 100b9f + xor a + ld [wd0e3], a + callba Function3e786 + ret z + call Function100dd8 + jp c, Function2ec8 + call Function100e72 + call Function100bc2 + push af + callba Function8e85 + call Function100ed4 + pop af + ret +; 100bc2 + +Function100bc2: ; 100bc2 + xor a + ld [hBGMapMode], a + call Function100c74 + call Function100c98 +.asm_100bcb + callba MoveInfoBox +.asm_100bd1 + call Function100dd2 + callba Function241ba + push bc + callba Function10402d + call Function100e2d + pop bc + jr c, .asm_100c25 + ld a, [wcfa8] + and c + bit 6, a + jp nz, .asm_100bff + bit 7, a + jp nz, .asm_100c10 + bit 0, a + jr nz, .asm_100c30 + bit 1, a + jr nz, .asm_100c25 + jr .asm_100bd1 + +.asm_100bff + ld a, [wcfa9] + and a + jp nz, .asm_100bcb + ld a, [wd0eb] + inc a + ld [wcfa9], a + jp .asm_100bcb + +.asm_100c10 + ld a, [wcfa9] + ld b, a + ld a, [wd0eb] + inc a + inc a + cp b + jp nz, .asm_100bcb + ld a, $1 + ld [wcfa9], a + jp .asm_100bcb + +.asm_100c25 + ld a, [wcfa9] + dec a + ld [CurMoveNum], a + ld a, $1 + and a + ret + +.asm_100c30 + ld a, [wcfa9] + dec a + ld [CurMoveNum], a + ld a, [wcfa9] + dec a + ld c, a + ld b, 0 + ld hl, BattleMonPP + add hl, bc + ld a, [hl] + and $3f + jr z, .asm_100c68 + ld a, [PlayerDisableCount] + swap a + and $f + dec a + cp c + jr z, .asm_100c63 + ld a, [wcfa9] + dec a + ld c, a + ld b, 0 + ld hl, BattleMonMoves + add hl, bc + ld a, [hl] + ld [CurPlayerMove], a + xor a + ret + +.asm_100c63 + ld hl, BattleText_0x80c5b + jr .asm_100c6b + +.asm_100c68 + ld hl, BattleText_0x80c39 + +.asm_100c6b + call StdBattleTextBox + call Function30b4 + jp Function100bc2 +; 100c74 + +Function100c74: ; 100c74 + hlcoord 0, 8 + ld b, 8 + ld c, 8 + call TextBox + ld hl, BattleMonMoves + ld de, wd25e + 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, Unknown_100cad + call Function1bb1 + ld a, [wd0eb] + inc a + ld [wcfa3], a + ld a, [CurMoveNum] + inc a + ld [wcfa9], a + ret +; 100cad + +Unknown_100cad: ; 100cad +INCBIN "baserom.gbc",$100cad,$100cb5 - $100cad + + +Function100cb5: ; 100cb5 + call Function100dd8 + ret c + ld hl, wcfa5 + set 7, [hl] + res 6, [hl] +.asm_100cc0 + call Function100dd2 + callba Function241ba + push bc + callba Function8cf69 + callba Function10402d + call Function100dfd + pop bc + jr c, .asm_100d17 + ld a, [wcfa8] + and c + jr z, .asm_100cc0 + call Function1bee + ld a, [PartyCount] + inc a + ld b, a + ld a, [wcfa9] + cp b + jr z, .asm_100d17 + ld [wd0d8], a + ld a, [$ffa9] + ld b, a + bit 1, b + jr nz, .asm_100d17 + ld a, [wcfa9] + 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 + +.asm_100d17 + ld de, SFX_READ_TEXT_2 + call PlaySFX + call WaitSFX + scf + ret +; 100d22 + +Function100d22: ; 100d22 + call Function100dd8 + ret c + call Function100d67 + ld hl, wcfa5 + set 7, [hl] + res 6, [hl] +.asm_100d30 + call Function100dd2 + callba Function241ba + push bc + callba Function8cf69 + callba Function10402d + call Function100dfd + pop bc + jr c, .asm_100d54 + ld a, [wcfa8] + 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_100d88 + call Function1d3c + xor a + ld [hBGMapMode], a + call Function1cbb + call Function1ad2 + call Function1c89 + call WaitBGMap + call Function1c66 + call Function1c10 + ld hl, wcfa5 + set 6, [hl] + ret +; 100d88 + +MenuDataHeader_100d88: ; 100d88 + db 0 ; flags + db 11, 11 ; start coords + db 17, 19 ; end coords + dw MenuData2_100d90 + db 1 ; default option + +MenuData2_100d90: ; 100d90 + db $c0 ; flags + db 3 + db "いれかえる@" + db "つよさをみる@" + db "キャンセル@" +; 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, [InLinkBattle] + cp $4 + jr nz, .asm_100dd0 + ld hl, wcd2a + bit 3, [hl] + jr z, .asm_100dd0 + scf + ret + +.asm_100dd0 + xor a + ret +; 100dd2 + +Function100dd2: ; 100dd2 + ld a, 30 + ld [OverworldDelay], a + ret +; 100dd8 + +Function100dd8: ; 100dd8 + ld c, $1 + ld b, $3 + callba Function10062d + jr c, .asm_100dfb + ld c, $3c + ld b, $1 + 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 + +Function100dfd: ; 100dfd + ld a, [OverworldDelay] + ld c, a + ld a, 30 + sub c + ld c, a + ld b, 3 + push bc + callba Function10062d + pop bc + jr c, .asm_100e2b + ld b, 1 + call Function10079c + jr c, .asm_100e2b + call Function1009f3 + jr c, .asm_100e2b + callba Function10032e + ld a, [wcd2b] + and a + jr nz, .asm_100e2b + xor a + ret + +.asm_100e2b + 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 Function10062d + 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 $2 + 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, $a + +.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 $2 + ret c + ld [hl], $0 + jr Function100ec5 + +Function100ec4: ; 100ec4 + ret + +Function100ec5 + ld hl, wcd67 + inc [hl] + ret +; 100eca + +Function100eca: ; 100eca + callba Function8e8b + call Function100ed4 + ret +; 100ed4 + +Function100ed4: ; 100ed4 + callba Function96a4 + ld a, $1 + 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 + ld a, e + ld [StringBuffer2 + 1], a + ld a, d + ld [StringBuffer2 + 2], a + xor a + ld [StringBuffer2 + 4], a + ld [StringBuffer2 + 5], a +.asm_100f15 + ld a, [hl] + cp $ff + jr z, .asm_100f34 + ld [StringBuffer2 + 3], a + push hl + inc hl + 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 h, [hl] + ld l, a + call Function100f3d + pop hl + ld de, $0007 + add hl, de + jr .asm_100f15 + +.asm_100f34 + ld a, [StringBuffer2 + 4] + ld c, a + ld a, [StringBuffer2 + 5] + ld b, a + ret +; 100f3d + +Function100f3d: ; 100f3d + ld a, [StringBuffer2] + cp $2 + jr z, .asm_100f61 + cp $1 + jr z, .asm_100f77 + cp $3 + jr z, .asm_100f4d + ret + +.asm_100f4d + 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 + +.asm_100f61 + 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 + +.asm_100f77 + 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, .asm_100fb6 + and a + jr nz, .asm_100fb0 + call CopyBytes + ret + +.asm_100fb0 + and $7f + call FarCopyWRAM + ret + +.asm_100fb6 + call GetSRAMBank + call CopyBytes + call CloseSRAM + ret +; 100fc0 + +Unknown_100fc0: ; 100fc0 + dbwww $80, PlayerName, NAME_LENGTH, wd26b + dbwww $80, PartyCount, 1 + PARTY_LENGTH + 1, OTPartyCount + dbwww $80, PlayerID, 2, wd276 + dbwww $80, PartyMons, $30 * 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, $a600, $2f * 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, wd84a, 2, NULL + dbwww $80, PlayerGender, 1, NULL + dbwww $04, $a603, 8, NULL + dbwww $04, $a007, $30, NULL + db -1 + +Unknown_10102c: ; 10102c + dbwww $80, wd26b, 11, NULL + dbwww $80, wd276, 2, NULL + dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL + dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL + dbwww $80, OTPartyMons, $30 * PARTY_LENGTH, NULL + db -1 +; 10104f + +Function101050: ; 101050 + call Function10107d + ld a, [OTPartyCount] + ld hl, $c608 + ld hl, $c608 + ld bc, $01b3 + call Function1010de + ld hl, wc7bb + ld [hl], e + inc hl + ld [hl], d + ld a, $7 + call GetSRAMBank + ld hl, $c608 + ld de, $a001 + ld bc, $01b5 + call CopyBytes + call CloseSRAM + ret +; 10107d + +Function10107d: ; 10107d + xor a + ld hl, $c608 + ld bc, $01b5 + call ByteFill + ld hl, wd26b + ld de, $c608 + ld bc, $000b + call CopyBytes + ld hl, wd271 + ld a, [hli] + ld [$c608 + 11], a + ld a, [hl] + ld [$c608 + 12], a + ld hl, OTPartyMonNicknames + ld de, $c608 + 13 + ld bc, $000b + call Function1010cd + ld hl, OTPartyMonOT + ld de, $c656 + 1 + ld bc, $000b + call Function1010cd + ld hl, OTPartyMon1Species + ld de, $c68a + 15 + ld bc, $0030 + call Function1010cd + ld a, $50 + ld [wc7b9], a + ld a, $33 + ld [wc7ba], a + ret +; 1010cd + +Function1010cd: ; 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 +.asm_1010e3 + 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_1010e3 + pop bc + pop hl + ret +; 1010f2 + +Function1010f2: ; 1010f2 + xor a + ld hl, StringBuffer2 + ld bc, $0009 + call ByteFill + ld hl, wdc5c + ld de, PartyCount + call Function101145 + ld hl, wdc5c + ld de, PartyMon1Species + call Function10117c + ld hl, wdc5c + ld de, PartyMonOT + call Function101181 + ld hl, wdc5c + ld de, PartyMonNicknames + call Function101181 + ld hl, wcd75 + ld de, OTPartyCount + call Function101145 + ld hl, wcd75 + ld de, OTPartyMon1Species + call Function10117c + ld hl, wcd75 + ld de, OTPartyMonOT + call Function101181 + ld hl, wcd75 + ld de, OTPartyMonNicknames + call Function101181 + ret +; 101145 + +Function101145: ; 101145 + push de + ld bc, StringBuffer2 + 6 + xor a +.asm_10114a + push af + call Function101168 + ld [bc], a + inc bc + pop af + inc a + cp $3 + jr nz, .asm_10114a + pop de + ld a, $3 + ld [de], a + inc de + ld hl, StringBuffer2 + 6 + ld bc, $0003 + call CopyBytes + ld a, $ff + ld [de], a + ret +; 101168 + +Function101168: ; 101168 + push hl + add l + ld l, a + ld a, h + adc $0 + ld h, a + ld a, [hl] + pop hl + push de + inc de + add e + ld e, a + ld a, d + adc $0 + ld d, a + ld a, [de] + pop de + ret +; 10117c + +Function10117c: ; 10117c + ld bc, $0030 + jr asm_101184 + +Function101181: ; 101181 + ld bc, $000b + +asm_101184: + ld a, $c608 % $100 + ld [StringBuffer2], a + ld a, $c608 / $100 + ld [StringBuffer2 + 1], a + ld a, c + ld [StringBuffer2 + 2], a + ld a, b + ld [StringBuffer2 + 3], a + ld a, e + ld [StringBuffer2 + 4], a + ld a, d + ld [StringBuffer2 + 5], a + ld a, $3 +.asm_1011a0 + push af + ld a, [hli] + push hl + push af + call Function1011df + call Function1011e8 + 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, .asm_1011a0 + call Function1011e8 + ld a, 3 + ld hl, 0 + call AddNTimes + ld b, h + ld c, l + call Function1011df + ld d, h + ld e, l + ld hl, $c608 + call CopyBytes + ret +; 1011df + +Function1011df: ; 1011df + ld a, [StringBuffer2 + 4] + ld l, a + ld a, [StringBuffer2 + 5] + ld h, a + ret +; 1011e8 + +Function1011e8: ; 1011e8 + ld a, [StringBuffer2 + 2] + ld c, a + ld a, [StringBuffer2 + 3] + ld b, a + ret +; 1011f1 + +Function1011f1: ; 1011f1 + ld a, $4 + call GetSRAMBank + ld a, [$a60c] + ld [wdc41], a + call CloseSRAM + ld hl, wdc41 + res 4, [hl] + ld hl, GameTimerPause + bit 7, [hl] + jr z, .asm_101210 + ld hl, wdc41 + set 4, [hl] + +.asm_101210 + call Function10209c + xor a + ld [wdc5f], a + ld [wdc60], a + ld a, $4 + ld [InLinkBattle], a + ret +; 101220 + +Function101220: ; 101220 + xor a + ld [InLinkBattle], 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 Function1ad2 + call ResetWindow + 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 Function1ad2 + 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, .asm_101290 + cp $1 + ld c, $27 + jr z, .asm_101292 + cp $2 + ld c, $37 + jr z, .asm_101292 + +.asm_101290 + ld c, $0 + +.asm_101292 + ld a, c + ld [wcd25], a + ret +; 101297 + +Jumptable_101297: ; 101297 + dw Function101a97 + dw Function101ab4 + dw Function101475 + dw Function101b0f + dw Function101438 + dw Function101b2b + dw Function101b59 + dw Function101475 + dw Function101b70 + dw Function101438 + dw Function101b8f + dw Function101d7b + dw Function101d95 + dw Function101475 + dw Function101db2 + dw Function101e4f + dw Function101475 + dw Function101e64 + dw Function101e4f + dw Function101475 + dw Function101e64 + dw Function101d95 + dw Function101475 + dw Function101db2 + dw Function101dd0 + dw Function101de3 + dw Function101e39 + dw Function101e09 + dw Function101e4f + dw Function101475 + dw Function101e64 + dw Function101d95 + dw Function101475 + dw Function101db2 + dw Function101e09 + dw Function101e31 + dw Function101bc8 + dw Function101438 + dw Function101be5 + dw Function101ac6 + dw Function101ab4 + dw Function101475 + dw Function101c11 + dw Function1014f4 + dw Function101cc8 + dw Function1014e2 + dw Function1014e2 + dw Function101d10 + dw Function101d2a + dw Function101d2a + dw Function101507 + dw Function10156d + dw Function101557 + dw Function10158a + dw Function101c42 + dw Function101aed + dw Function101ab4 + dw Function101475 + dw Function101c2b + dw Function1014f4 + dw Function101cdf + dw Function1014e2 + dw Function1014e2 + dw Function101d1e + dw Function101d2a + dw Function101d2a + dw Function101507 + dw Function10156d + dw Function101544 + dw Function10158a + dw Function101c42 + dw Function101c50 + dw Function1014ce + dw Function101cf6 + dw Function101826 + dw Function1017e4 + dw Function1017f1 + dw Function1018a8 + dw Function1018d6 + dw Function1017e4 + dw Function1017f1 + dw Function1018e1 + dw Function1015df + dw Function10167d + dw Function10168a + dw Function10162a + dw Function1015be + dw Function10167d + dw Function10168a + dw Function10161f + dw Function10159d + dw Function10167d + dw Function10168a + dw Function101600 + dw Function101d03 + dw Function101d6b + dw Function10159d + dw Function1014ce + dw Function10168e + dw Function101600 + dw Function101913 + dw Function10194b + dw Function10196d + dw Function1017e4 + dw Function1017f5 + dw Function1019ab + dw Function101537 + dw Function101571 + dw Function101c92 + dw Function10152a + dw Function101571 + dw Function101a4f + dw Function101cbc + dw Function101c62 + dw Function101537 + dw Function101571 + dw Function101c92 + dw Function10152a + dw Function101571 + dw Function101ca0 + dw Function101475 + dw Function101cbc +; 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 $1 + jr z, .asm_1013a9 + inc c + +.asm_1013a9 + ret +; 1013aa + +Function1013aa: ; 1013aa + call WhiteBGMap + call Function1d7d + call Function2bae + callba Function106464 + call Function1ad2 + call Function2b5c + ret +; 1013c0 + +Function1013c0: ; 1013c0 + callba Function8000 + callba Function106462 + callba Function106464 + call Function2b5c + ret +; 1013d6 + +Function1013d6: ; 1013d6 + callba Function104000 + ret +; 1013dd + +Function1013dd: ; 1013dd + call Function3238 + 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, $1 + 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, [wcd25] + inc a + ld [wcd25], 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, [wcd25] + inc a + ld [wcd25], 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 $3 + 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 Function100641 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1014e2 + +Function1014e2: ; 1014e2 + ld hl, wcd29 + set 6, [hl] + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1014f4 + +Function1014f4: ; 1014f4 + callba Function100082 + ld hl, wcd29 + set 6, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101507 + +Function101507: ; 101507 + ld de, wcd30 + ld hl, $0040 + ld bc, $0040 + ld a, $2 + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10151d + +Function10151d: ; 10151d ; unreferenced + ld a, $34 + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10152a + +Function10152a: ; 10152a + ld a, $36 + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101537 + +Function101537: ; 101537 + ld a, $a + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101544 + +Function101544: ; 101544 + callba Function100641 + ld a, $12 + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101557 + +Function101557: ; 101557 + callba Function100641 + ld hl, wcd53 + ld a, $8 + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10156d + +Function10156d: ; 10156d + call Function101418 + ret c + +Function101571: ; 101571 + callba Function10032e + ret c + ret z + ld a, e + cp $1 + jr z, .asm_101582 + ld [wcd2b], a + ret + +.asm_101582 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10158a + +Function10158a: ; 10158a + callba Function10064c + ld a, [wcd44] + cp $a + jr c, Function10156d + ld a, $fb + ld [wcd2b], a + ret +; 10159d + +Function10159d: ; 10159d + ld de, $c608 + callba Function100edf + ld de, $c608 + ld a, $5 + ld hl, $d800 + call Function10174c + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1015be + +Function1015be: ; 1015be + ld de, $c608 + callba Function100eed + ld de, $c608 + ld a, $5 + ld hl, $d800 + call Function10174c + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1015df + +Function1015df: ; 1015df + ld de, $c608 + callba Function100ef4 + ld de, $c608 + ld a, $5 + ld hl, $d800 + call Function10174c + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101600 + +Function101600: ; 101600 + ld hl, $d800 + ld de, $c608 + ld bc, $01e0 + ld a, $5 + call FarCopyWRAM + ld de, $c608 + callba Function100ee6 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10161f + +Function10161f: ; 10161f + call Function101649 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10162a + +Function10162a: ; 10162a + call Function101663 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101635 + +Function101635: ; 101635 + ld de, $c608 + ld bc, $01e0 + call FarCopyWRAM + ret +; 10163f + +Function10163f: ; 10163f + ld hl, $c608 + ld bc, $01e0 + call FarCopyWRAM + ret +; 101649 + +Function101649: ; 101649 + ld a, $5 + ld hl, $d800 + call Function101635 + ld a, $5 + ld de, wda00 + call Function10163f + ret +; 10165a + +Function10165a: ; 10165a + ld a, $5 + ld hl, wda00 + call Function101635 + ret +; 101663 + +Function101663: ; 101663 + ld a, $5 + ld hl, $d800 + call Function101635 + ld a, $5 + ld de, wdc00 + call Function10163f + ret +; 101674 + +Function101674: ; 101674 ; unreferenced + ld a, $5 + ld hl, wdc00 + call Function101635 + ret +; 10167d + +Function10167d: ; 10167d + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10168a + +Function10168a: ; 10168a + call Function101418 + ret c + +Function10168e: ; 10168e + ld b, $0 + ld c, $1 + callba Function10079c + ret c + ld c, $1 + ld b, $3 + callba Function10062d + 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, [wcd25] + inc a + ld [wcd25], 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, $0054 + ld a, $11 + call ByteFill + ret +; 10177b + +Function10177b: ; 10177b + ld a, [Unknown_10173a] + ld c, a + ld b, $0 + ld a, [wcd3a] + ld hl, $0000 + 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, [wcd25] + inc a + ld [wcd25], a + ret +; 1017f1 + +Function1017f1: ; 1017f1 + call Function101418 + ret c + +Function1017f5: ; 1017f5 + ld b, $0 + ld c, $1 + callba Function10079c + ret c + ld c, $1 + ld b, $3 + callba Function10062d + ret c + callba Function100382 + ld a, [wcd27] + bit 7, a + jr nz, .asm_10181e + ld hl, wcd29 + set 6, [hl] + ret + +.asm_10181e + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101826 + +Function101826: ; 101826 + ld a, [wcd21] + cp $2 + jr z, .asm_101833 + cp $1 + jr z, .asm_101844 + jr .asm_101869 + +.asm_101833 + ld hl, Unknown_10186f + ld de, wccb4 + call Function1013f5 + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101844 + callba Function103654 + ld a, c + ld hl, Unknown_101882 + cp $1 + jr z, .asm_10185b + ld hl, Unknown_101895 + cp $2 + jr z, .asm_10185b + jr .asm_101869 + +.asm_10185b + ld de, wccb4 + call Function1013f5 + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101869 + ld a, $fe + ld [wcd2b], a + ret +; 10186f + + +SECTION "ascii 10186f", ROMX, BANK[$40] + + 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, BANK[$40] + +Function1018a8: ; 1018a8 + ld hl, wccb5 + ld de, wcc61 + ld a, $4 + call Function101406 + jr c, .asm_1018d0 + ld hl, wccb9 + ld de, wcc65 + ld a, $6 + call Function101406 + jr c, .asm_1018ca + ld a, [wcd25] + inc a + ld [wcd25], 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, [wcd25] + inc a + ld [wcd25], a + ret +; 1018e1 + +Function1018e1: ; 1018e1 + call Function1018fb + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1018ec + +Function1018ec: ; 1018ec + ld a, $a + 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, $000a + 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 $1 + jr z, .asm_10193f + cp $2 + jr z, .asm_101945 + ld a, $71 + ld [wcd25], a + ret + +.asm_10193f + ld a, $66 + ld [wcd25], a + ret + +.asm_101945 + ld a, $65 + ld [wcd25], a + ret +; 10194b + +Function10194b: ; 10194b + call Function2ed3 + call ClearSprites + callba Function1021f9 + ld hl, wcd29 + bit 3, [hl] + jr nz, .asm_101967 + call Function1013c0 + ld a, $71 + ld [wcd25], a + ret + +.asm_101967 + ld a, $60 + ld [wcd25], a + ret +; 10196d + +Function10196d: ; 10196d + callba Function8000 + callba Function10060d + ld hl, wcd29 + set 5, [hl] + ld hl, wcd2a + set 6, [hl] + ld a, $6 + ld [wccb4], a + ld hl, wdc5c + ld de, wccb5 + ld bc, $0003 + 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, [wcd25] + inc a + ld [wcd25], a + ret +; 1019ab + +Function1019ab: ; 1019ab + call Function101a75 + callba Function100754 + xor a + ld [wdc5f], a + ld [wdc60], a + callba Function8000 + call SpeechTextBox + callba Function100846 + ld c, $78 + call DelayFrames + callba ClearTileMap + call Function1019ee + call Function101a21 + ld a, [wcd2b] + cp $fc + jr nz, .asm_1019e6 + xor a + ld [wcd2b], a + +.asm_1019e6 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1019ee + +Function1019ee: ; 1019ee + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld bc, wdc0d + ld de, wdc11 + callba Function4e929 + pop af + ld [rSVBK], a + ld a, c + ld [OtherTrainerClass], a + ld hl, wd26b + ld de, $c656 + ld bc, $000b + call CopyBytes + ld a, [wcd2f] + and a + ld a, $2 + jr z, .asm_101a1e + ld a, $1 + +.asm_101a1e + ld [$ffcb], a + ret +; 101a21 + +Function101a21: ; 101a21 + ld hl, Options + ld a, [hl] + push af + and $20 + or $1 + ld [hl], a + ld a, $1 + ld [wc2d7], a + callba Function3f4dd + callba Function3c000 + callba Function3f759 + xor a + ld [wc2d7], a + ld a, $ff + ld [$ffcb], a + pop af + ld [Options], a + ret +; 101a4f + +Function101a4f: ; 101a4f + ld a, $1 + ld [wc2d7], a + callba Function3f77c + xor a + ld [wc2d7], a + callba Function3f6d0 + callba Function1500c + call Function1013c0 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101a75 + +Function101a75: ; 101a75 + ld hl, wcc61 + ld de, wcd75 + ld bc, $0003 + call CopyBytes + ld de, wcc64 + callba Function100772 + callba Function101050 + callba Function1010f2 + ret +; 101a97 + +Function101a97: ; 101a97 + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $2 + call Function10142c + ld hl, wcd29 + set 6, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101ab4 + +Function101ab4: ; 101ab4 + ld e, $1 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101ac6 + +Function101ac6: ; 101ac6 + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $2 + call Function10142c + ld hl, wcd29 + set 6, [hl] + xor a + ld [wcd2f], a + ld de, wdc42 + call Function102068 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101aed + +Function101aed: ; 101aed + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $2 + call Function10142c + ld hl, wcd29 + set 6, [hl] + ld a, $1 + ld [wcd2f], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101b0f + +Function101b0f: ; 101b0f + ld c, $0 + call Function10142c + ld e, $3 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], 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, [wcfa9] + cp $1 + jr z, .asm_101b51 + ld a, $2 + ld [wcd2b], a + ret + +.asm_101b51 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101b59 + +Function101b59: ; 101b59 + ld c, $2 + call Function10142c + ld e, $2 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101b70 + +Function101b70: ; 101b70 + ld c, $2 + call Function10142c + ld e, $4 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + call Function1ad2 + ld a, [wcd25] + inc a + ld [wcd25], 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, [wcfa9] + cp $1 + jr z, .asm_101bbc + ld a, $1 + ld [wcd2f], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101bbc + xor a + ld [wcd2f], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101bc8 + +Function101bc8: ; 101bc8 + ld c, $2 + call Function10142c + ld e, $8 + call Function101ee4 + call Function102048 + call Function1013dd + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], 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, [wcfa9] + cp $1 + jr nz, .asm_101c0b + ld a, $2a + ld [wcd25], a + ret + +.asm_101c0b + ld a, $2 + ld [wcd2b], a + ret +; 101c11 + +Function101c11: ; 101c11 + ld a, $1 + ld [wdc5f], a + ld e, $9 + call Function101ee4 + call Function102048 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101c2b + +Function101c2b: ; 101c2b + ld a, $2 + ld [wdc5f], a + ld e, $7 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101c42 + +Function101c42: ; 101c42 + ld hl, wcd2a + set 1, [hl] + call Function100665 + ld a, $47 + ld [wcd25], a + ret +; 101c50 + +Function101c50: ; 101c50 + ld e, $a + call Function101ee4 + ld hl, wcd29 + set 2, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101c62 + +Function101c62: ; 101c62 + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $1 + call Function10142c + xor a + ld [wc30d], a + ld hl, wcd29 + res 4, [hl] + ld e, $b + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ld a, $0 + ld [wcd26], a + ret +; 101c92 + +Function101c92: ; 101c92 + callba Function100675 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101ca0 + +Function101ca0: ; 101ca0 + ld c, $2 + call Function10142c + ld e, $c + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ld a, $0 + ld [wcd26], a + ret +; 101cbc + +Function101cbc: ; 101cbc + ld a, $1 + ld [wcd2b], a + ret +; 101cc2 + +Function101cc2: ; 101cc2 ; unreferenced + ld a, $2 + ld [wcd2b], a + ret +; 101cc8 + +Function101cc8: ; 101cc8 + ld a, $1 + ld [wc314], a + ld a, $1 + ld [wc30d], a + ld hl, wcd29 + set 4, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101cdf + +Function101cdf: ; 101cdf + ld a, $6 + ld [wc314], a + ld a, $1 + ld [wc30d], a + ld hl, wcd29 + set 4, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101cf6 + +Function101cf6: ; 101cf6 + ld a, $b + ld [wc315], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101d03 + +Function101d03: ; 101d03 + ld a, $e + ld [wc315], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101d10 + +Function101d10: ; 101d10 + ld c, $1 + call Function10142c + ld a, [wcd25] + inc a + ld [wcd25], a + jr Function101d2a + +Function101d1e: ; 101d1e + ld c, $3 + call Function10142c + ld a, [wcd25] + inc a + ld [wcd25], 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, [wcd25] + inc a + ld [wcd25], 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 [wcd25], a + ret +; 101d7b + +Function101d7b: ; 101d7b + callba Function10138b + ld b, 0 + ld hl, Unknown_101d8d + add hl, bc + ld c, [hl] + ld a, c + ld [wcd25], a + ret +; 101d8d + +Unknown_101d8d: ; 101d8d + db $15, $15, $1f, $1f, $0c, $12, $3a, $3a +; 101d95 + +Function101d95: ; 101d95 + call Function101ee2 + call Function1d6e + ld e, $e + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ld a, $0 + ld [wcd26], a + ret +; 101db2 + +Function101db2: ; 101db2 + callba Function103302 + call Function1c07 + ld hl, wcd29 + set 5, [hl] + jr c, .asm_101dca + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101dca + ld a, $2 + ld [wcd2b], a + ret +; 101dd0 + +Function101dd0: ; 101dd0 + ld hl, wdc41 + bit 1, [hl] + jr nz, .asm_101ddd + ld a, $19 + ld [wcd25], a + ret + +.asm_101ddd + ld a, $1b + ld [wcd25], a + ret +; 101de3 + +Function101de3: ; 101de3 + call Function101ecc + call Function101ead + jr c, .asm_101df3 + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101df3 + call Function101e98 + jr c, .asm_101e00 + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101e00 + call Function101ed3 + ld a, $2 + ld [wcd2b], a + ret +; 101e09 + +Function101e09: ; 101e09 + call Function101ead + jr c, .asm_101e16 + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101e16 + call Function101ecc + call Function101e98 + push af + call Function101ed3 + pop af + jr c, .asm_101e2b + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101e2b + ld a, $2 + ld [wcd2b], a + ret +; 101e31 + +Function101e31: ; 101e31 + ld a, $3a + ld [wcd25], a + jp Function101c2b +; 101e39 + +Function101e39: ; 101e39 + call Function1020bf + push af + call Function101ed3 + pop af + jr c, .asm_101e49 + ld a, $2a + ld [wcd25], a + ret + +.asm_101e49 + ld a, $2 + ld [wcd2b], a + ret +; 101e4f + +Function101e4f: ; 101e4f + ld e, $6 + call Function101ee4 + call Function1013d6 + ld a, [wcd25] + inc a + ld [wcd25], 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 [wcd25], a + ret + +.asm_101e77 + ld hl, wcd29 + set 5, [hl] + ld a, $2 + ld [wcd2b], a + ret +; 101e82 + +Function101e82: ; 101e82 ; unreferenced + call Function101ecc + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101e8d + +Function101e8d: ; 101e8d ; unreferenced + call Function101ed3 + ld a, [wcd25] + inc a + ld [wcd25], 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, $2 + call Function10142c + ld e, $d + 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 $a + 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, $8 +.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 $f + cp $f + 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, $0008 + call CopyBytes + pop de + ret +; 10209c + +Function10209c: ; 10209c + ld a, $ff + ld hl, wdc42 + ld bc, $0008 + call ByteFill + ret +; 1020a8 + +Function1020a8: ; 1020a8 + call Function10209c + ld c, $1 + 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, $0025 + call AddNTimes + ld d, h + ld e, l + ld a, $4 + 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, .asm_102110 + ld hl, wdc41 + bit 2, [hl] + jr nz, .asm_102110 + call Function10218d + ld hl, $c608 + bit 4, [hl] + jr z, .asm_102110 + ld hl, $c608 + bit 2, [hl] + jr nz, .asm_102110 + call Function102112 + jr z, .asm_102110 + and a + ret + +.asm_102110 + scf + ret +; 102112 + +Function102112: ; 102112 + ld a, $4 + call GetSRAMBank + ld hl, $a041 + ld c, $28 +.asm_10211c + push hl + ld de, $c60f + ld b, $1f +.asm_102122 + ld a, [de] + cp [hl] + jr nz, .asm_10212f + inc de + inc hl + dec b + jr nz, .asm_102122 + pop hl + xor a + jr .asm_10213c + +.asm_10212f + pop hl + ld de, $0025 + add hl, de + dec c + jr nz, .asm_10211c + ld a, $1 + and a + jr .asm_10213c + +.asm_10213c + push af + call CloseSRAM + pop af + ret +; 102142 + +Function102142: ; 102142 + call Function10218d + call Function102180 + ld hl, UnknownText_0x1021d1 + call Function1d4f + ld de, SFX_LEVEL_UP + call PlaySFX + call Functiona36 + call Function1c07 + call Function10219f + ld hl, UnknownText_0x1021d6 + call Function1d4f + call YesNoBox + call Function1c07 + 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, $c608 + 1 + ld de, StringBuffer2 + ld bc, $000b + call CopyBytes + ret +; 10218d + +Function10218d: ; 10218d + ld hl, wdc00 + ld de, $c608 + ld bc, $0026 + ld a, $5 + call FarCopyWRAM + ld de, $c608 + 1 + ret +; 10219f + +Function10219f: ; 10219f + call FadeToMenu + call Function10218d + ld de, $c608 + 1 + callba Function8ac4e + call Functiona36 + call PlayClickSFX + call Function1013aa + ret +; 1021b8 + +Function1021b8: ; 1021b8 + call FadeToMenu + call Function10218d + ld de, $c60f + 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 Function1d4f + call Functiona36 + call Function1c07 + 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 + ld [wcd49], a + ld hl, wcd29 + bit 3, [hl] + res 3, [hl] + jr z, .asm_10220f + ld a, $1 + 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, $000a + 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 Function104099 + 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, $0008 + call PlaySFX + ret +; 102283 + +Function102283: ; 102283 + ld a, $1 + 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 $2 + 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, $1 + 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, $3 + callba Function10062d + jr c, .asm_1022f3 + xor a + ret + +.asm_1022f3 + scf + ret +; 1022f5 + +Jumptable_1022f5: ; 1022f5 + dw Function10234b + dw Function102361 + dw Function10236e + dw Function102387 + dw Function1023a1 + dw Function1025c7 + dw Function1025dc + dw Function1024f6 + dw Function10250c + dw Function1024a8 + dw Function102591 + dw Function1024a8 + dw Function1025b0 + dw Function1025bd + dw Function102814 + dw Function10283c + dw Function102862 + dw Function10286f + dw Function1024a8 + dw Function1028a5 + dw Function1028ab + dw Function1023b5 + dw Function1023c6 + dw Function1024af + dw Function102416 + dw Function102423 + dw Function10244b + dw Function1024af + dw Function10246a + dw Function102652 + dw Function10266b + dw Function1025e9 + dw Function1025ff + dw Function102738 + dw Function102754 + dw Function1026b7 + dw Function1026c8 + dw Function1028bf + dw Function1028c6 + dw Function1028d3 + dw Function1028da + dw Function1024a8 + dw Function10248d +; 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, $1 + ld [wcfa9], 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 [wd10b], a + callba Functione039 + 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 Function14a58 + callba Function1060af + callba Function106187 + 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 Function1bee + 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 $f + jr z, .asm_10254b + and a + jr z, .asm_102572 + cp $aa + jr z, .asm_102572 + cp $7 + jr nc, .asm_102572 + ld [wcd4d], a + dec a + ld [wd003], a + ld a, [wcd4c] + dec a + ld [DefaultFlypoint], a + call Function102b9c + call Function102bdc + jr c, .asm_10256d + callba Functionfb5dd + jr c, .asm_102568 + ld hl, wcd4b + set 1, [hl] + ld a, $e + 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, $9 + 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, $9 + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1025bd + +Function1025bd: ; 1025bd + call Function1028fc + ret nc + ld a, $4 + ld [wcd49], a + ret +; 1025c7 + +Function1025c7: ; 1025c7 + call Function102f6d + ld hl, wcd4b + set 1, [hl] + ld a, $f + 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 Function241ba + ld a, [wcfa8] + and c + ret z + bit 0, c + jr nz, .asm_102623 + bit 6, c + jr nz, .asm_10262e + bit 7, c + jr nz, .asm_102646 + ret + +.asm_102623 + ld hl, wcd4b + set 3, [hl] + ld a, $27 + ld [wcd49], a + ret + +.asm_10262e + ld a, [wcfa9] + ld b, a + ld a, [OTPartyCount] + cp b + ret nz + call Function1bf7 + ld a, [PartyCount] + ld [wcfa9], a + ld a, $1d + ld [wcd49], a + ret + +.asm_102646 + ld a, [wcfa9] + cp $1 + ret nz + ld a, $23 + 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 Function241ba + ld a, [wcfa8] + and c + ret z + bit 0, c + jr nz, .asm_10268f + bit 7, c + jr nz, .asm_10269a + bit 6, c + jr nz, .asm_1026a8 + ret + +.asm_10268f + ld hl, wcd4b + set 3, [hl] + ld a, $21 + ld [wcd49], a + ret + +.asm_10269a + ld a, [wcfa9] + dec a + ret nz + call Function1bf7 + ld a, $1f + ld [wcd49], a + ret + +.asm_1026a8 + ld a, [wcfa9] + ld b, a + ld a, [PartyCount] + cp b + ret nz + ld a, $23 + 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 Function1bf7 + 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 0, a + jr nz, .asm_102723 + bit 6, a + jr nz, .asm_102712 + bit 7, a + jr nz, .asm_102702 + ret + +.asm_102702 + hlcoord 9, 17 + ld [hl], $7f + ld a, $1 + ld [wcfa9], a + ld a, $1d + ld [wcd49], a + ret + +.asm_102712 + hlcoord 9, 17 + ld [hl], $7f + ld a, [OTPartyCount] + ld [wcfa9], a + ld a, $1f + ld [wcd49], a + ret + +.asm_102723 + hlcoord 9, 17 + ld [hl], $ec + ld hl, wcd4b + set 3, [hl] + ld hl, wcd4b + set 2, [hl] + ld a, $5 + ld [wcd49], a + ret +; 102738 + +Function102738: ; 102738 + ld hl, wcd4b + set 6, [hl] + call Function1bee + 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, $1 + ld [wcd4a], a + +Function102775: ; 102775 + hlcoord 1, 16 + ld [hl], $ed + hlcoord 11, 16 + ld [hl], $7f + ld hl, wcd4b + set 2, [hl] + ld a, [wcd4a] + inc a + ld [wcd4a], a + ret +; 10278c + +Function10278c: ; 10278c + ld a, [hJoyPressed] + bit 0, a + jr nz, asm_1027c6 + bit 1, a + jr nz, asm_1027e2 + bit 4, a + jr nz, .asm_10279b + ret + +.asm_10279b + ld a, $3 + ld [wcd4a], a + +Function1027a0: ; 1027a0 + hlcoord 1, 16 + ld [hl], $7f + hlcoord 11, 16 + ld [hl], $ed + ld hl, wcd4b + set 2, [hl] + ld a, [wcd4a] + inc a + ld [wcd4a], a + ret + +Function1027b7: ; 1027b7 + ld a, [hJoyPressed] + bit 0, a + jr nz, asm_1027d1 + bit 1, a + jr nz, asm_1027e2 + bit 5, a + jr nz, Function102770 + ret + +asm_1027c6: + ld hl, wcd4b + set 3, [hl] + ld a, $25 + ld [wcd49], a + ret + +asm_1027d1: + ld hl, wcd4b + set 3, [hl] + ld a, [wcfa9] + ld [wcd4c], a + ld a, $7 + ld [wcd49], a + ret + +asm_1027e2: + call Function102db7 + ld a, $1d + ld [wcd49], a + ret +; 1027eb + +Function1027eb: ; 1027eb + hlcoord 0, 14 + ld b, $2 + ld c, $12 + ld d, h + ld e, l + callba Function16d61d + ld de, String_102804 + hlcoord 2, 16 + call PlaceString + ret +; 102804 + +String_102804: ; 102804 + db "STATS TRADE@" +; 102814 + +Function102814: ; 102814 + ld a, [wcfa9] + ld [wcd52], a + ld a, [wcd4c] + dec a + ld [DefaultFlypoint], 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 + ld [wcd49], a + ld hl, wcd4b + set 1, [hl] + ret + +.asm_102852 + ld a, $14 + ld [wcd49], a + ld hl, wcd4b + set 3, [hl] + ld hl, wcd4b + set 1, [hl] + ret +; 102862 + +Function102862: ; 102862 + ld a, $8 + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10286f + +Function10286f: ; 10286f + call Function1028fc + ret nc + ld a, [wcd52] + ld [wcfa9], a + ld a, [wcd51] + cp $8 + jr nz, .asm_102886 + ld a, $15 + 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 + ld [wcd49], a + ret +; 1028ab + +Function1028ab: ; 1028ab + ld a, [wcd52] + ld [wcfa9], a + call Function102f15 + ld hl, wcd4b + set 1, [hl] + ld a, $c + 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 + ld [wcd49], a + ret +; 1028d3 + +Function1028d3: ; 1028d3 + ld a, [wcd49] + inc a + ld [wcd49], a + +Function1028da: ; 1028da + ld a, $1 + ld [MonType], a + call Function102bac + ld a, $1f + ld [wcd49], a + ret +; 1028e8 + +Function1028e8: ; 1028e8 + ld hl, wcd4b + res 6, [hl] + ld [wcd50], a + callba Function100641 + 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 Function1c07 + scf + ret +; 10299e + +Function10299e: ; 10299e + ld a, $1 + 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 Function1d6e + hlcoord 10, 7 + ld b, $3 + ld c, $8 + ld d, h + ld e, l + callba Function16d61d + ld de, String_102a26 + hlcoord 12, 8 + call PlaceString + ld hl, wcd4b + set 1, [hl] + ld de, Unknown_102a33 + call Function1bb1 + ld a, [wcd4a] + inc a + ld [wcd4a], a + xor a + ret +; 1029fe + +Function1029fe: ; 1029fe + callba Function1009f3 + ret c + callba Function241ba + ld a, c + ld hl, wcfa8 + and [hl] + ret z + push af + call Function1c07 + pop af + ld a, [wcfa9] + cp $1 + jr nz, .asm_102a21 + ld a, $1 + and a + ret + +.asm_102a21 + ld a, $1 + and a + scf + ret +; 102a26 + +String_102a26: ; 102a26 + db "TRADE" + next "CANCEL" + db "@" +; 102a33 + +Unknown_102a33: +INCBIN "baserom.gbc", $102a33, $102a3b - $102a33 + +Function102a3b: ; 102a3b + ld a, [wcd30] + ld [wc74e], a + ld hl, PlayerName + ld de, $c6e7 + ld bc, $000b + call CopyBytes + ld a, [wcd4c] + dec a + ld c, a + ld b, $0 + ld hl, PartySpecies + add hl, bc + ld a, [hl] + ld [$c6d0], a + ld a, [wcd4c] + dec a + ld hl, PartyMonOT + call SkipNames + ld de, $c6f2 + ld bc, $000b + call CopyBytes + ld a, [wcd4c] + dec a + ld hl, PartyMon1ID + call GetPartyLocation + ld a, [hli] + ld [$c6ff], a + ld a, [hl] + ld [wc700], a + ld a, [wcd4c] + dec a + ld hl, PartyMon1DVs + call GetPartyLocation + ld a, [hli] + ld [$c6fd], a + ld a, [hl] + ld [$c6fe], a + ld a, [wcd4c] + dec a + ld hl, PartyMon1Species + call GetPartyLocation + ld b, h + ld c, l + callba GetCaughtGender + ld a, c + ld [wc701], a + ld hl, wd26b + ld de, wc719 + ld bc, $000b + call CopyBytes + ld a, [wcd4d] + dec a + ld c, a + ld b, $0 + ld hl, OTPartySpecies + add hl, bc + ld a, [hl] + ld [wc702], a + ld a, [wcd4d] + dec a + ld hl, OTPartyMonOT + call SkipNames + ld de, wc724 + ld bc, $000b + call CopyBytes + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1ID + call GetPartyLocation + ld a, [hli] + ld [wc731], a + ld a, [hl] + ld [wc732], a + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1DVs + call GetPartyLocation + ld a, [hli] + ld [wc72f], a + ld a, [hl] + ld [wc730], a + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1Species + call GetPartyLocation + ld b, h + ld c, l + callba GetCaughtGender + ld a, c + ld [wc733], a + ret +; 102b12 + +Function102b12: ; 102b12 + ld c, $64 + call DelayFrames + call Function102d9a + call Functione58 + 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, $1 + ld [wd1e9], a + callba Function421d8 + call Function102d9a + call Function102dd3 + call Function102dec + ret +; 102b4e + +Function102b4e: ; 102b4e + ld a, $1 + ld [MonType], a + ld a, [wcfa9] + push af + ld de, Unknown_102b73 + call Function1bb1 + pop af + ld [wcfa9], a + ld a, [OTPartyCount] + ld [wcfa3], a + ret +; 102b68 + +Function102b68: ; 102b68 ; unreferenced + xor a + ld hl, wcf71 + ld bc, $0010 + call ByteFill + ret +; 102b73 + +Unknown_102b73: +INCBIN "baserom.gbc", $102b73, $102b7b - $102b73 + +Function102b7b: ; 102b7b + xor a + ld [MonType], a + ld a, [wcfa9] + push af + ld de, Unknown_102b94 + call Function1bb1 + pop af + ld [wcfa9], a + ld a, [PartyCount] + ld [wcfa3], a + ret +; 102b94 + +Unknown_102b94: +INCBIN "baserom.gbc", $102b94, $102b9c - $102b94 + +Function102b9c: ; 102b9c + ld a, [wcd4d] + dec a + hlcoord 6, 9 + ld bc, $0014 + call AddNTimes + ld [hl], $ec + ret +; 102bac + +Function102bac: ; 102bac + ld a, [wcfa9] + dec a + ld [CurPartyMon], a + call LowVolume + call ClearSprites + callba Function4dc8f + ld a, [CurPartyMon] + inc a + ld [wcfa9], 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, OTPartyMon1Level - OTPartyMon1 + 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, $0001 + call Function102c71 + ret +; 102c21 + +Function102c21: ; 102c21 + ld hl, PartyMonNicknames + ld de, OTPartyMonNicknames + ld bc, $000b + call Function102c71 + ret +; 102c2e + +Function102c2e: ; 102c2e + ld hl, PartyMonOT + ld de, OTPartyMonOT + ld bc, $000b + call Function102c71 + ret +; 102c3b + +Function102c3b: ; 102c3b + ld hl, PartyMon1 + ld de, OTPartyMon1 + ld bc, $0030 + call Function102c71 + ret +; 102c48 + +Function102c48: ; 102c48 + callba Function10165a + ld a, $0 + call GetSRAMBank + ld hl, $a600 + ld de, $c608 + ld bc, $002f + call Function102c71 + call CloseSRAM + ld hl, $c608 + ld de, wda00 + ld bc, $01e0 + ld a, $5 + 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, [wcf63] + push af + ld a, [wcf64] + push af + ld a, [wcd4c] + ld [wcf63], a + ld a, [PartyCount] + ld [wcf64], a + ld a, $0 + ld hl, $a600 + ld de, $c608 + ld bc, $011a + call Function102d3e + call Function102cee + ld a, $0 + ld hl, $c608 + ld de, $a600 + ld bc, $011a + call Function102d3e + ld a, [wcd4d] + ld [wcf63], a + ld a, [OTPartyCount] + ld [wcf64], a + ld a, $5 + ld hl, wda00 + ld de, $c608 + ld bc, $011a + call FarCopyWRAM + call Function102cee + ld a, $5 + ld hl, $c608 + ld de, wda00 + ld bc, $011a + call FarCopyWRAM + pop af + ld [wcf64], a + pop af + ld [wcf63], a + ret +; 102cee + +Function102cee: ; 102cee + ld a, [wcf63] + dec a + call Function102d34 + ld de, DefaultFlypoint + ld bc, $002f + call CopyBytes + ld a, [wcf63] + ld c, a + ld a, $6 + sub c + ret z + ld bc, $002f + ld hl, $0000 + call AddNTimes + push hl + ld a, [wcf63] + dec a + call Function102d34 + ld d, h + ld e, l + ld hl, $002f + add hl, de + pop bc + call CopyBytes + ld a, [wcf64] + dec a + call Function102d34 + ld d, h + ld e, l + ld hl, DefaultFlypoint + ld bc, $002f + call CopyBytes + ret +; 102d34 + +Function102d34: ; 102d34 + ld hl, $c608 + ld bc, $002f + 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, PartyMon2 - PartyMon1 + 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, PartyMon2 - PartyMon1 + ld hl, PartyMon1DVs + call AddNTimes + predef GetUnownLetter + callba Functionfba18 + ld a, [wdef4] + and a + jr nz, .asm_102d98 + ld a, [UnownLetter] + ld [wdef4], a + +.asm_102d98 + and a + ret +; 102d9a + +Function102d9a: ; 102d9a + ld a, $7f + ld hl, SpritesEnd + ld bc, $0168 + call ByteFill + ld a, $7 + ld hl, AttrMap + ld bc, $0168 + call ByteFill + callba Function104000 + 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, $12 + ld d, h + ld e, l + callba Function16d61d + ret +; 102dd3 + +Function102dd3: ; 102dd3 + call DisableLCD + ld de, GFX_1032a2 + ld hl, VTiles0 + lb bc, BANK(GFX_1032a2), 4 + call Get2bpp + callba Function16d421 + call EnableLCD + ret +; 102dec + +Function102dec: ; 102dec + ld hl, Unknown_1032e2 + ld de, Unkn2Pals + ld bc, $0020 + ld a, $5 + call FarCopyWRAM + callba Function49742 + call Function32f9 + call DelayFrame + ret +; 102e07 + +Function102e07: ; 102e07 + hlcoord 3, 10 + ld b, $1 + ld c, $b + ld a, [IsInBattle] + and a + jr z, .asm_102e19 + call TextBox + jr .asm_102e28 + +.asm_102e19 + hlcoord 3, 10 + ld b, $1 + ld c, $b + ld d, h + ld e, l + callba Function16d61d + +.asm_102e28 + ld de, String_102e32 + hlcoord 4, 11 + call PlaceString + ret +; 102e32 + +String_102e32: ; 102e32 + db "Waiting...!@" +; 102e3e + +Function102e3e: ; 102e3e + ld de, String_102e48 + hlcoord 10, 17 + call PlaceString + ret +; 102e48 + +String_102e48: ; 102e48 + db "CANCEL@" +; 102e4f + +Function102e4f: ; 102e4f + callba Function16d42e + callba Function49797 + ld de, PlayerName + hlcoord 4, 0 + call PlaceString + ld a, $14 + ld [bc], a + ld de, wd26b + hlcoord 4, 8 + call PlaceString + ld a, $14 + ld [bc], a + hlcoord 7, 1 + ld de, PartySpecies + call Function102e86 + hlcoord 7, 9 + ld de, OTPartySpecies + call Function102e86 + ret +; 102e86 + +Function102e86: ; 102e86 + ld c, $0 +.asm_102e88 + 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, $0014 + add hl, bc + pop bc + inc c + jr .asm_102e88 +; 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, $000b + 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, String_102f22 + hlcoord 1, 14 + call PlaceString + ret +; 102f22 + +String_102f22: ; 102f22 + db "こうかんを キャンセルしました@" +; 102f32 + +Function102f32: ; 102f32 + call Function102dc3 + ld de, String_102f3f + hlcoord 1, 14 + call PlaceString + ret +; 102f3f + +String_102f3f: ; 102f3f + db "Trade completed!@" +; 102f50 + +Function102f50: ; 102f50 + call Function102dc3 + ld de, String_102f5d + hlcoord 1, 14 + call PlaceString + ret +; 102f5d + +String_102f5d: ; 102f5d + db "しょうしょう おまち ください@" +; 102f6d + +Function102f6d: ; 102f6d + call Function102dc3 + ld de, String_102f7a + hlcoord 1, 14 + call PlaceString + ret +; 102f7a + +String_102f7a: ; 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 "あいてがわ", $4a, "えらんだ " + next "いじょう", $4a, "あるようです!!" + 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 "あいてがわ", $25, "せんたくに" + next "いじょう", $4a, "あるようです!!" + 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, $1 + ld [hOAMUpdate], a + call ClearSprites + ld de, Sprites + call Function1030cd + xor a + ld [hOAMUpdate], a + ret +; 10307f + +Function10307f: ; 10307f + ld c, $2 + ld hl, wcd4b + bit 7, [hl] + jr z, .asm_10308a + ld c, $1 + +.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, $8 +.asm_1030de + push hl + ld hl, wcd4b + bit 7, [hl] + pop hl + ld a, $0 + jr z, .asm_1030eb + ld a, $5 +.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, $a + 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 $8 + 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" + +Unknown_1032e2: + db $00, $00, $ff, $1f + db $f4, $1b, $8d, $42 + db $00, $00, $67, $45 + db $00, $00, $00, $00 + db $00, $00, $1f, $13 + db $99, $01, $ff, $10 + db $00, $00, $19, $00 + db $00, $00, $00, $00 +; 103302 + +Function103302: ; 103302 + call Function103309 + call Function103362 + ret +; 103309 + +Function103309: ; 103309 + xor a + ld [hBGMapMode], a + ld hl, Buffer1 + ld bc, $000a + xor a + call ByteFill + ld a, $4 + 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 Function1ad2 + callba Function104000 + ld a, $1 + ld [wd1f0], a + call Function10339a + ret +; 103362 + +Function103362: ; 103362 +.asm_103362 + ld a, [wd1f0] + ld [wd1f1], a + call Function1033af + call Function10339a + call Function10342c + callba Function10402d + ld a, [Buffer2] + bit 7, a + jr z, .asm_103362 + ld hl, Buffer2 + bit 6, [hl] + jr z, .asm_103398 + ld a, $4 + 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 5, a + jr nz, .left + bit 4, a + jr nz, .right + bit 1, a + jr nz, .b + bit 0, a + jr nz, .a + bit 6, a + jr nz, .up + bit 7, 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, .asm_103412 + ld de, SFX_TRANSACTION + call PlaySFX + ld hl, Buffer2 + set 7, [hl] + ld hl, Buffer2 + set 6, [hl] + ret + +.left +.right +.asm_103412 + ld a, [wd1f3] + cp $3 + ret z + ld de, SFX_PUSH_BUTTON + call PlaySFX + ld bc, $0008 + 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 $2 + jr nz, .asm_103452 + ld bc, $0001 + call Function1034f7 + ld c, $12 + ld b, $1 + call Function1034e0 + jr .asm_10345f + +.asm_103452 + ld bc, $ffed + call Function1034f7 + ld c, $12 + ld b, $2 + call Function1034e0 + +.asm_10345f + ld bc, $0000 + call Function10350f + ld bc, $0001 + call Function103487 + ld bc, $0008 + call Function10350f + ld a, [Buffer1] + and e + ld bc, $0002 + jr z, .asm_10347d + ld bc, $0004 + +.asm_10347d + call Function10350f + ld bc, $000b + 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, $3 + call Function1034e0 + ld bc, $0006 + call Function10350f + hlcoord 1, 16 + call PlaceString + ret +; 1034a7 + +Function1034a7: ; 1034a7 + ld a, [wd1f1] + ld [wd1f2], a + ld bc, $000a + call Function1034f7 + ld [hl], $7f + ld bc, $000a + call Function1034f1 + ld [hl], $ed + ret +; 1034be + +Function1034be: ; 1034be + ld a, $1 + 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, $6 + call Functionfb8 + ret +; 1034f1 + +Function1034f1: ; 1034f1 + ld a, [wd1f0] + ld [wd1f2], a + +Function1034f7: ; 10134f7 + ld hl, TileMap + 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, $0009 + 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 $1 + dw String_10354f + dw String_1035a8 + dw String_1035b1 + dw String_103571 + db $2 + dw String_103557 + dw String_1035ba + dw String_1035bd + dw String_103585 + db $4 + 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 Function103612 + dw Function103612 + dw Function103612 + +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 + +Function103612: ; 103612 + ld hl, MenuDataHeader_103640 + call LoadMenuDataHeader + ld a, [wdc40] + and $f + jr z, .asm_103622 + ld [wcf88], a + +.asm_103622 + call Function1d81 + call Function1c17 + jr c, .asm_10363b + ld a, [wcfa9] + ld [ScriptVar], a + ld c, a + ld a, [wdc40] + and $f0 + or c + ld [wdc40], a + ret + +.asm_10363b + 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 Function10632f + bit 7, c + jr nz, .asm_103666 + ld hl, wcd2a + res 5, [hl] + ld c, $2 + ret + +.asm_103666 + ld hl, wcd2a + set 5, [hl] + ld c, $1 + ret +; 10366e + +Function10366e: ; 10366e + callba Function10632f + bit 7, c + jr z, .asm_10369b + ld hl, UnknownText_0x10375d + call PrintText + call YesNoBox + jr c, .asm_103696 + callba Function8b1e1 + jr nc, .asm_103690 + call Functiona36 + jr .asm_103696 + +.asm_103690 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_103696 + xor a + ld [ScriptVar], a + ret + +.asm_10369b + ld hl, wdc40 + 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 Functiona36 + +.asm_1036b5 + call Function103700 + jr c, .asm_1036f4 + ld hl, MenuDataHeader_103747 + call LoadMenuDataHeader + call Function1d81 + call Function1c07 + jr c, .asm_1036f4 + ld a, [wcfa9] + cp $1 + jr z, .asm_1036d9 + cp $2 + jr z, .asm_1036f4 + cp $3 + jr z, .asm_1036ec + jr .asm_1036b5 + +.asm_1036d9 + callba Function8b1e1 + jr nc, .asm_1036e6 + call Functiona36 + jr .asm_1036f4 + +.asm_1036e6 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_1036ec + call Function1036f9 + call Functiona36 + 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, $a + ld hl, wdc20 + bit 4, [hl] + jr z, .asm_10370f + callba Function1008a6 + +.asm_10370f + ld a, c + ld [StringBuffer2], a + ld a, [StringBuffer2] + cp $5 + jr nc, .asm_103724 + cp $2 + jr nc, .asm_10372c + cp $1 + 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 Functiona36 + 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, wdc20 + bit 4, [hl] + jr nz, .asm_10379c + ld c, $1 + ld hl, wdc20 + set 4, [hl] + +.asm_10379c + push bc + callba Function14ab2 + pop bc + jr c, .asm_1037b5 + ld a, $1 + ld [ScriptVar], a + ld a, c + and a + ret z + callba Function1006fd + ret + +.asm_1037b5 + xor a + ld [ScriptVar], a + ld a, c + and a + ret z + ld hl, wdc20 + res 4, [hl] + ret +; 1037c2 + +Function1037c2: ; 1037c2 + call Function103823 + jr c, .asm_1037de + ld a, [wdc5f] + and a + jr z, .asm_1037de + ld hl, UnknownText_0x1037e6 + call PrintText + call YesNoBox + jr c, .asm_1037de + ld a, $1 + ld [ScriptVar], a + ret + +.asm_1037de + 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 Functiona36 + ld hl, UnknownText_0x10381e + call PrintText + call Functiona36 + xor a + ld [ScriptVar], a + ret + +.asm_103807 + ld a, [wdc60] + and a + jr nz, .asm_103813 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_103813 + ld a, $2 + 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 Function10632f + bit 7, c + jr nz, .asm_103838 + callba Function1008a6 + ld a, c + cp $1 + jr c, .asm_10383a + +.asm_103838 + xor a + ret + +.asm_10383a + scf + ret +; 10383c + +Function10383c: ; 10383c + ld a, $1 + ld [wdc60], a + xor a + ld hl, wdc5c + ld [hli], a + ld [hli], a + ld [hl], a + ld hl, UnknownText_0x103876 + call PrintText + call Functiona36 + callba Script_reloadmappart + callba Function4a94e + jr c, .asm_103870 + ld hl, DefaultFlypoint + ld de, wdc5c + ld bc, $0003 + call CopyBytes + xor a + ld [ScriptVar], a + ret + +.asm_103870 + ld a, $1 + ld [ScriptVar], a + ret +; 103876 + +UnknownText_0x103876: ; 0x103876 + text_jump UnknownText_0x1c4508 + db "@" +; 0x10387b + +Function10387b: ; 10387b + callba Function10632f + bit 7, c + ret nz + callba Function1008a6 + ld a, c + ld [StringBuffer2], a + ld hl, UnknownText_0x103898 + call PrintText + call Functiona36 + ret +; 103898 + +UnknownText_0x103898: ; 0x103898 + text_jump UnknownText_0x1c4525 + db "@" +; 0x10389d + + diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm new file mode 100644 index 000000000..310ceb622 --- /dev/null +++ b/misc/mobile_42.asm @@ -0,0 +1,1947 @@ + +SECTION "bank42", ROMX, BANK[$42] + +Function108000: ; 108000 + ld a, $80 + ld [wcf65], a + ld de, Unknown_10800b + jp Function108089 +; 10800b + +Unknown_10800b: +INCBIN "baserom.gbc", $10800b, $108012 - $10800b + +Function108012: + ld a, $80 + jr asm_108018 + +Function108016: ; 108016 + ld a, $0 +asm_108018: + ld [wcf65], a + ld de, Unknown_108021 + jp Function108089 +; 108021 + +Unknown_108021: +INCBIN "baserom.gbc", $108021, $108026 - $108021 + +Function108026: ; 108026 + ld a, $0 + jr asm_10802c + +Function10802a: ; 10802a + ld a, $1 + +asm_10802c: + ld [wcf65], a + ld de, Unknown_108035 + jp Function10805b +; 108035 + +Unknown_108035: +INCBIN "baserom.gbc", $108035, $10803d - $108035 + +Function10803d: ; 10803d + ld a, $0 + ld [wcf65], a + ld de, Unknown_108048 + jp Function108089 +; 108048 + +Unknown_108048: +INCBIN "baserom.gbc", $108048, $10804d - $108048 + +Function10804d: ; 10804d + ld a, $0 + ld [wcf65], a + ld de, Unknown_108058 + jp Function108089 +; 108058 + +Unknown_108058: +INCBIN "baserom.gbc", $108058, $10805b - $108058 + +Function10805b: ; 10805b + ld hl, wc734 + ld [hl], e + inc hl + ld [hl], d + ld a, [$ffde] + push af + xor a + ld [$ffde], a + ld hl, VramState + ld a, [hl] + push af + res 0, [hl] + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + call Function1080b7 +.asm_108078 + call Function10824b + jr nc, .asm_108078 + pop af + ld [Options], a + pop af + ld [VramState], a + pop af + ld [$ffde], a + ret +; 108089 + +Function108089: ; 108089 + ld hl, BattleEnded + ld [hl], e + inc hl + ld [hl], d + ld a, [$ffde] + push af + xor a + ld [$ffde], a + ld hl, VramState + ld a, [hl] + push af + res 0, [hl] + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + call Function108157 +.asm_1080a6 + call Function10824b + jr nc, .asm_1080a6 + pop af + ld [Options], a + pop af + ld [VramState], a + pop af + ld [$ffde], a + ret +; 1080b7 + +Function1080b7: ; 1080b7 + xor a + ld [wcf63], a + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ad + call Function1081ca + call Functione51 + call Functione58 + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, $8200 + call Decompress + call EnableLCD + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + callba Function8cf53 + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld hl, wc300 + ld [hli], a + ld [hl], $0 + ld a, [$c6d0] + ld hl, $c6fd + ld de, $8300 + call Function1081e9 + ld a, [wc702] + ld hl, wc72f + ld de, $9310 + call Function1081e9 + ld a, [$c6d0] + ld de, $c6d1 + call Function108239 + ld a, [wc702] + ld de, wc703 + call Function108239 + xor a + call Function108b98 + call Function108af4 + ret +; 108157 + +Function108157: ; 108157 + xor a + ld [wcf63], a + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ad + call Function1081ca + call Functione51 + call Functione58 + call EnableLCD + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + callba Function8cf53 + xor a + ld hl, wc300 + ld [hli], a + ld [hl], $0 + call DelayFrame + ld a, [$c6d0] + ld de, $c6d1 + call Function108239 + ld a, [wc702] + ld de, wc703 + call Function108239 + xor a + call Function108b98 + call Function108af4 + ret +; 1081ad + +Function1081ad: ; 1081ad + ld a, $1 + ld [rVBK], a + ld hl, VTiles0 + ld bc, $1800 + xor a + call ByteFill + ld a, $0 + ld [rVBK], a + ld hl, VTiles0 + ld bc, $1800 + xor a + call ByteFill + ret +; 1081ca + +Function1081ca: ; 1081ca + ld a, $1 + ld [rVBK], a + ld hl, VBGMap0 + ld bc, $0800 + ld a, $0 + call ByteFill + ld a, $0 + ld [rVBK], a + ld hl, VBGMap0 + ld bc, $0800 + ld a, $7f + call ByteFill + ret +; 1081e9 + +Function1081e9: ; 1081e9 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef GetFrontpic + ret +; 108201 + +Function108201: ; 108201 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef Function5108b + ret +; 108219 + +Function108219: ; 108219 + ld [CurPartySpecies], a + hlcoord 7, 2 + ld d, $0 + ld e, $3 + predef Functiond008e + ret +; 108229 + +Function108229: ; 108229 + ld [CurPartySpecies], a + hlcoord 7, 2 + ld d, $0 + ld e, $3 + predef Functiond00a3 + ret +; 108239 + +Function108239: ; 108239 + push de + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + pop de + ld bc, $000b + call CopyBytes + ret +; 10824b + +Function10824b: ; 10824b + ld a, [wcf63] + bit 7, a + jr nz, .asm_10825a + call Function10827b + call DelayFrame + and a + ret + +.asm_10825a + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + call Functione51 + call Functione58 + callba Function106462 + callba Function106464 + scf + ret +; 10827b + +Function10827b: ; 10827b + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_10828a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 10828a + +Jumptable_10828a: ; 10828a + dw Function1082b7 + dw Function10830e + dw Function108638 + dw Function108763 + dw Function1087cf + dw Function108811 + dw Function108838 + dw Function10884c + dw Function108863 + dw Function108894 + dw Function10890a + dw Function10839b + dw Function1082c6 + dw Function10842c + dw Function1084d7 + dw Function108919 + dw Function108689 + dw Function1086f4 + dw Function10893d + dw Function108589 +; 1082b2 + +Function1082b2: ; 1082b2 + ld hl, wcf63 + inc [hl] + ret +; 1082b7 + +Function1082b7: ; 1082b7 + ld hl, wc734 + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + ld [wcf63], a + inc de + ld [hl], d + dec hl + ld [hl], e + ret +; 1082c6 + +Function1082c6: ; 1082c6 + ld hl, wcf63 + set 7, [hl] + ret +; 1082cc + +Function1082cc: ; 1082cc +.asm_1082cc + push bc + callba Function8cf69 + pop bc + call DelayFrame + dec c + jr nz, .asm_1082cc + ret +; 1082db + +Function1082db: ; 1082db +.asm_1082db + callba Function8cf69 + callba Functiond00b4 + callba Function10402d + jr nc, .asm_1082db + ret +; 1082f0 + +Function1082f0: ; 1082f0 +.asm_1082f0 + call Function108b78 + call DelayFrame + dec c + jr nz, .asm_1082f0 + ret +; 1082fa + +Function1082fa: ; 1082fa +.asm_1082fa + call Function108b78 + push hl + push bc + callba Function8cf69 + pop bc + pop hl + call DelayFrame + dec c + jr nz, .asm_1082fa + ret +; 10830e + +Function10830e: ; 10830e + ld de, MUSIC_EVOLUTION + call PlayMusic2 + ld a, $80 + ld [hSCX], a + xor a + ld [hSCY], a + ld a, $87 + ld [hWX], a + ld a, $50 + ld [hWY], a + call Function1089a8 + ld a, [$c6d0] + ld [CurPartySpecies], a + call Function10895e + ld a, [$c6fd] + ld [TempMonDVs], a + ld a, [$c6fe] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + call WaitBGMap +.asm_108348 + ld a, [hWX] + cp $7 + jr z, .asm_10835d + sub $4 + ld [hWX], a + ld a, [hSCX] + sub $4 + ld [hSCX], a + call DelayFrame + jr .asm_108348 + +.asm_10835d + ld a, $7 + ld [hWX], a + xor a + ld [hSCX], a + ld a, [$c6d0] + call GetCryIndex + jr c, .asm_108371 + ld e, c + ld d, b + call PlayCryHeader + +.asm_108371 + ld c, $50 + call DelayFrames + call Function108bec + lb de, $54, $58 + ld a, $20 + call Function3b2a + ld de, SFX_BALL_POOF + call PlaySFX + ld hl, TileMap + ld bc, $00f0 + ld a, $7f + call ByteFill + ld c, $50 + call Function1082cc + call Function1082b7 + ret +; 10839b + +Function10839b: ; 10839b + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ca + ld a, [wc702] + ld [CurPartySpecies], a + ld hl, wc72f + ld de, VTiles2 + call Function108201 + call EnableLCD + callba Function8d03d + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + lb de, $54, $58 + ld a, $21 + call Function3b2a + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, $30 + call Function1082cc + ld de, SFX_BALL_POOF + call PlaySFX + call Function1089d2 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wc702] + ld [CurPartySpecies], a + ld a, [wc72f] + ld [TempMonDVs], a + ld a, [wc730] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + call Function108963 + ld a, [wc702] + call Function108229 + call Function1082db + call Function108c16 + call Function1082b7 + ret +; 10842c + +Function10842c: ; 10842c + ld de, MUSIC_EVOLUTION + call PlayMusic2 + ld a, $80 + ld [hSCX], a + xor a + ld [hSCY], a + ld a, $87 + ld [hWX], a + ld a, $50 + ld [hWY], a + call Function1089a8 + ld a, [$c6d0] + ld [CurPartySpecies], a + ld hl, $c6fd + call Function10898a + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + ld a, [$c6fd] + ld [TempMonDVs], a + ld a, [$c6fe] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + call WaitBGMap +.asm_108484 + ld a, [hWX] + cp $7 + jr z, .asm_108499 + sub $4 + ld [hWX], a + ld a, [hSCX] + sub $4 + ld [hSCX], a + call DelayFrame + jr .asm_108484 + +.asm_108499 + ld a, $7 + ld [hWX], a + xor a + ld [hSCX], a + ld a, [$c6d0] + call GetCryIndex + jr c, .asm_1084ad + ld e, c + ld d, b + call PlayCryHeader + +.asm_1084ad + ld c, $50 + call DelayFrames + call Function108c2b + lb de, $54, $58 + ld a, $20 + call Function3b2a + ld de, SFX_BALL_POOF + call PlaySFX + ld hl, TileMap + ld bc, $00f0 + ld a, $7f + call ByteFill + ld c, $50 + call Function1082cc + call Function1082b7 + ret +; 1084d7 + +Function1084d7: ; 1084d7 + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ca + ld a, [wc702] + ld [CurPartySpecies], a + ld hl, wc72f + ld de, VTiles2 + call Function108201 + call EnableLCD + callba Function8d03d + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + lb de, $54, $58 + ld a, $21 + call Function3b2a + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, $30 + call Function1082cc + ld de, SFX_BALL_POOF + call PlaySFX + call Function1089d2 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wc702] + ld [CurPartySpecies], a + ld a, [wc72f] + ld [TempMonDVs], a + ld a, [wc730] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + ld a, [wc702] + ld hl, wc72f + call Function10898a + ld a, [wc702] + call Function108229 + call Function1082db + call Function108c40 + call Function1082b7 + ret +; 108589 + +Function108589: ; 108589 + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ca + ld a, [wc702] + ld [CurPartySpecies], a + ld hl, wc72f + ld de, VTiles2 + call Function108201 + call EnableLCD + callba Function8d03d + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + lb de, $54, $58 + ld a, $21 + call Function3b2a + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, $30 + call Function1082cc + ld de, SFX_BALL_POOF + call PlaySFX + call Function108a33 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wc702] + ld [CurPartySpecies], a + ld a, [wc72f] + ld [TempMonDVs], a + ld a, [wc730] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + ld a, [wc702] + ld hl, wc72f + call Function10898a + ld a, [wc702] + call Function108229 + call Function1082db + call Function1082b7 + ret +; 108638 + +Function108638: ; 108638 + callba Function8d03d + call WhiteBGMap + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + call Function1081ca + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $c + ld [hSCX], a + ld a, $78 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call Function1082b7 + ret +; 108689 + +Function108689: ; 108689 + callba Function8d03d + call WhiteBGMap + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + call Function1081ca + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, $8200 + call Decompress + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $c + ld [hSCX], a + ld a, $78 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call Function1082b7 + ret +; 1086f4 + +Function1086f4: ; 1086f4 + call WhiteBGMap + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, $8200 + call Decompress + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $80 + ld [hSCX], a + ld a, $90 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call Function108b5a + ld a, $e0 + ld [hSCX], a + ld de, MUSIC_EVOLUTION + call PlayMusic2 + call Function1082b7 + ret +; 108763 + +Function108763: ; 108763 + ld de, SFX_GIVE_TRADEMON + call PlaySFX + ld c, $28 + ld hl, $d0b0 + call Function1082f0 + call Function108af4 +.asm_108774 + ld a, [hSCX] + cp $e0 + jr z, .asm_108791 + dec a + dec a + ld [hSCX], a + cp $f8 + jr nz, .asm_10878a + lb de, $54, $58 + ld a, $22 + call Function3b2a + +.asm_10878a + ld c, $1 + call Function1082cc + jr .asm_108774 + +.asm_108791 + ld a, [hSCY] + cp $f8 + jr z, .asm_1087cb + dec a + dec a + ld [hSCY], a + cp $40 + jr z, .asm_1087a9 + cp $30 + jr z, .asm_1087b7 + cp $68 + jr z, .asm_1087bc + jr .asm_1087c4 + +.asm_1087a9 + lb de, $54, $58 + ld a, $22 + call Function3b2a + xor a + call Function108ad4 + jr .asm_1087c4 + +.asm_1087b7 + call Function108bbd + jr .asm_1087c4 + +.asm_1087bc + call Function108bbd + ld a, $1 + call Function108ad4 + +.asm_1087c4 + ld c, $1 + call Function1082cc + jr .asm_108791 + +.asm_1087cb + call Function1082b2 + ret +; 1087cf + +Function1087cf: ; 1087cf + ld c, $28 + ld hl, StringBuffer2 + 2 + call Function1082f0 + call Function108af4 + call Function108b5a + lb de, $4a, $50 + ld a, $25 + call Function3b2a + ld de, SFX_FORESIGHT + call PlaySFX + ld c, $a + call Function1082cc + xor a + ld [wcf64], a + lb de, $4a, $50 + ld a, $23 + call Function3b2a +.asm_1087fc + ld a, [hSCY] + cp $90 + jr z, .asm_10880d + sub $8 + ld [hSCY], a + ld c, $1 + call Function1082cc + jr .asm_1087fc + +.asm_10880d + call Function1082b7 + ret +; 108811 + +Function108811: ; 108811 + ld c, $28 + call Function1082cc + ld a, $1 + ld [wcf64], a + ld de, SFX_SHARPEN + call PlaySFX + ld c, $3c + call Function1082cc + lb de, $f2, $50 + ld a, $24 + call Function3b2a + call Function1082b7 + ld de, SFX_THROW_BALL + call PlaySFX + ret +; 108838 + +Function108838: ; 108838 + ld c, $28 + call Function1082cc + ld a, $1 + ld [wcf64], a + ld de, SFX_SHARPEN + call PlaySFX + call Function1082b7 + ret +; 10884c + +Function10884c: ; 10884c + ld c, $50 + call DelayFrames + lb de, $f2, $50 + ld a, $24 + call Function3b2a + call Function1082b7 + ld de, SFX_THROW_BALL + call PlaySFX + ret +; 108863 + +Function108863: ; 108863 + ld c, $28 + call Function1082cc +.asm_108868 + ld a, [hSCY] + cp $f8 + jr z, .asm_108879 + add $8 + ld [hSCY], a + ld c, $1 + call Function1082cc + jr .asm_108868 + +.asm_108879 + callba Function8d03d + lb de, $4a, $50 + ld a, $25 + call Function3b2a + ld de, SFX_GLASS_TING_2 + call PlaySFX + call Function108af4 + call Function1082b2 + ret +; 108894 + +Function108894: ; 108894 + ld c, $14 + ld hl, StringBuffer2 + 2 + call Function1082fa + ld de, SFX_GIVE_TRADEMON + call PlaySFX + ld c, $14 + ld hl, StringBuffer2 + 2 + call Function1082fa + call Function108af4 +.asm_1088ad + ld a, [hSCY] + cp $78 + jr z, .asm_1088ee + inc a + inc a + ld [hSCY], a + cp $30 + jr z, .asm_1088c5 + cp $40 + jr z, .asm_1088dd + cp $68 + jr z, .asm_1088cf + jr .asm_1088e7 + +.asm_1088c5 + lb de, $54, $58 + ld a, $22 + call Function3b2a + jr .asm_1088e7 + +.asm_1088cf + lb de, $54, $58 + ld a, $22 + call Function3b2a + xor a + call Function108ad4 + jr .asm_1088e7 + +.asm_1088dd + call Function108bbd + ld a, $1 + call Function108ad4 + jr .asm_1088e7 + +.asm_1088e7 + ld c, $1 + call Function1082cc + jr .asm_1088ad + +.asm_1088ee + ld a, [hSCX] + cp $c + jr z, .asm_108906 + inc a + inc a + ld [hSCX], a + cp $f8 + jr nz, .asm_1088e7 + call Function108bbd + ld c, $1 + call Function1082cc + jr .asm_1088ee + +.asm_108906 + call Function1082b2 + ret +; 10890a + +Function10890a: ; 10890a + ld c, $28 + ld hl, $d0b0 + call Function1082f0 + call Function108af4 + call Function1082b7 + ret +; 108919 + +Function108919: ; 108919 + ld c, $28 + call Function1082cc + callba Function8d03d + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ad + call Function1081ca + call EnableLCD + call Function1082b7 + ret +; 10893d + +Function10893d: ; 10893d +.asm_10893d + ld a, [rBGP] + and a + jr z, .asm_108953 + sla a + sla a + call DmgToCgbBGPals + call Functioncf8 + ld c, $4 + call DelayFrames + jr .asm_10893d + +.asm_108953 + xor a + call DmgToCgbBGPals + call Functioncf8 + call Function1082b7 + ret +; 10895e + +Function10895e: ; 10895e + ld de, $8300 + jr asm_108966 + +Function108963: + ld de, $9310 + +asm_108966 + call DelayFrame + ld hl, VTiles2 + lb bc, $0a, $31 + call Request2bpp + call WaitTop + call Function108ac8 + hlcoord 7, 2 + xor a + ld [$ffad], a + ld bc, $0707 + predef FillBox + call WaitBGMap + ret +; 10898a + +Function10898a: ; 10898a + ld de, VTiles2 + call Function1081e9 + call WaitTop + call Function108ac8 + hlcoord 7, 2 + xor a + ld [$ffad], a + ld bc, $0707 + predef FillBox + call WaitBGMap + ret +; 1089a8 + +Function1089a8: ; 1089a8 + ld de, $c6d0 + ld a, [de] + cp $fd + jr z, asm_1089fc + call Function108a5b + ld de, $c6d0 + call Function108a92 + ld de, $c6d1 + call Function108a9c + ld a, [wc701] + ld de, $c6f2 + call Function108aa3 + ld de, $c6ff + call Function108abe + call Function108a87 + ret + +Function1089d2: + ld de, wc702 + ld a, [de] + cp $fd + jr z, asm_1089fc + call Function108a5b + ld de, wc702 + call Function108a92 + ld de, wc703 + call Function108a9c + ld a, [wc733] + ld de, wc724 + call Function108aa3 + ld de, wc731 + call Function108abe + call Function108a87 + ret + +asm_1089fc + call WaitTop + call Function108ac8 + ld a, $9c + ld [$ffd7], a + hlcoord 5, 0 + ld b, $6 + ld c, $9 + call TextBox + hlcoord 6, 2 + ld de, String_108a1d + call PlaceString + call Function108a87 + ret +; 108a1d + +String_108a1d: ; 108a1d + db "タマゴ" + next "おや/?????" + next $73, "№", $f2, "?????" + db "@" +; 108a33 + +Function108a33: ; 108a33 + call WaitTop + call Function108ac8 + ld a, $9c + ld [$ffd7], a + hlcoord 5, 0 + ld b, $6 + ld c, $9 + call TextBox + hlcoord 7, 4 + ld de, String_108a54 + call PlaceString + call Function108a87 + ret +; 108a54 + +String_108a54: ; 108a54 + db "なぞのタマゴ@" +; 108a5b + +Function108a5b: ; 108a5b + call WaitTop + call Function108ac8 + ld a, $9c + ld [$ffd7], a + hlcoord 4, 0 + ld b, $6 + ld c, $a + call TextBox + hlcoord 5, 0 + ld de, String_108a79 + call PlaceString + ret +; 108a79 + +String_108a79: ; 108a79 + db "─ №", $f2 + next "" + next "おや/" + next $73, "№", $f2, "" + db "@" +; 108a87 + +Function108a87: ; 108a87 + call WaitBGMap + call WaitTop + ld a, $98 + ld [$ffd7], a + ret +; 108a92 + +Function108a92: ; 108a92 + hlcoord 9, 0 + ld bc, $8103 + call PrintNum + ret +; 108a9c + +Function108a9c: ; 108a9c + hlcoord 5, 2 + call PlaceString + ret +; 108aa3 + +Function108aa3: ; 108aa3 + cp $3 + jr c, .asm_108aa8 + xor a + +.asm_108aa8 + push af + hlcoord 8, 4 + call PlaceString + inc bc + pop af + ld hl, Unknown_108abb + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + ld [bc], a + ret +; 108abb + +Unknown_108abb: ; 108abb + db " ", "♂", "♀" +; 108abe + +Function108abe: ; 108abe + hlcoord 8, 6 + ld bc, $8205 + call PrintNum + ret +; 108ac8 + +Function108ac8: ; 108ac8 + ld hl, TileMap + ld bc, $0168 + ld a, $7f + call ByteFill + ret +; 108ad4 + +Function108ad4: ; 108ad4 + and a + jr z, .asm_108adc + ld de, GFX_1092c7 + jr .asm_108adf + +.asm_108adc + ld de, GFX_1091c7 + +.asm_108adf + ld a, $1 + ld [rVBK], a + ld hl, $94a0 + lb bc, $42, $10 + call Functiondc9 + call DelayFrame + ld a, $0 + ld [rVBK], a + ret +; 108af4 + +Function108af4: ; 108af4 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, [wcf65] + and $1 + jr z, .asm_108b1c + ld hl, Palette_109187 + ld de, Unkn2Pals + ld bc, $0040 + call CopyBytes + ld hl, Palette_109187 + ld de, OBPals + ld bc, $0040 + call CopyBytes + jr .asm_108b34 + +.asm_108b1c + ld hl, Palette_109147 + ld de, Unkn2Pals + ld bc, $0040 + call CopyBytes + ld hl, Palette_109147 + ld de, OBPals + ld bc, $0040 + call CopyBytes + +.asm_108b34 + pop af + ld [rSVBK], a + ld a, $e4 + call Functioncf8 + ld a, $e4 + call DmgToCgbBGPals + call DelayFrame + ret +; 108b45 + +Function108b45: ; 108b45 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld de, $7fff + ld hl, Unkn1Pals + ld a, e + ld [hli], a + ld d, a + ld [hli], a + pop af + ld [rSVBK], a + ret +; 108b5a + +Function108b5a: ; 108b5a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld de, $3ff2 + ld hl, $d0a0 + ld c, $10 +.asm_108b69 + ld a, e + ld [hli], a + ld a, d + ld [hli], a + dec c + jr nz, .asm_108b69 + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 108b78 + +Function108b78: ; 108b78 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, c + and $2 + jr z, .asm_108b89 + ld de, $7fff + jr .asm_108b8c + +.asm_108b89 + ld de, $05ff + +.asm_108b8c + ld a, e + ld [hli], a + ld a, d + ld [hld], a + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 108b98 + +Palette_108b98: +; removed + +Function108b98: ; 108b98 + ld d, a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, [wcf65] + and $1 + xor d + jr z, .asm_108bad + ld hl, Palette_108b98 + 8 + jr .asm_108bb0 + +.asm_108bad + ld hl, Palette_108b98 + +.asm_108bb0 + ld de, Unkn1Pals + 8 * 7 + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + ret +; 108bbd + +Function108bbd: ; 108bbd + callba Function8d03d + call ClearSprites + ret +; 108bc7 + +Function108bc7: ; 108bc7 (42:4bc7) + ld a, [wcf64] + and a + ret z + ld hl, $5 + add hl, bc + ld a, [hl] + cp $f2 + jr z, .asm_108bd9 + sub $8 + ld [hl], a + ret +.asm_108bd9 + callba Function8d036 + ret + +Function108be0: ; 108be0 (42:4be0) + ld hl, $5 + add hl, bc + ld a, [hl] + cp $4a + ret z + add $8 + ld [hl], a + ret +; 108bec (42:4bec) + +Function108bec: ; 108bec + ld a, $90 + ld [hWY], a + ld hl, UnknownText_0x108c07 + call PrintText + ld c, $50 + call DelayFrames + ld hl, UnknownText_0x108c0c + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c07 + +UnknownText_0x108c07: ; 0x108c07 + text_jump UnknownText_0x1bc787 + db "@" +; 0x108c0c + +UnknownText_0x108c0c: ; 0x108c0c + text_jump UnknownText_0x1bc79d + db "@" +; 0x108c11 + +UnknownText_0x108c11: ; 0x108c11 + text_jump UnknownText_0x1bc7b0 + db "@" +; 0x108c16 + +Function108c16: ; 108c16 + ld a, $90 + ld [hWY], a + ld hl, UnknownText_0x108c26 + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c26 + +UnknownText_0x108c26: ; 0x108c26 + text_jump UnknownText_0x1bc7c3 + db "@" +; 0x108c2b + +Function108c2b: ; 108c2b + ld a, $90 + ld [hWY], a + ld hl, UnknownText_0x108c3b + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c3b + +UnknownText_0x108c3b: ; 0x108c3b + text_jump UnknownText_0x1bc7dd + db $50 +; 0x108c40 + +Function108c40: ; 108c40 + ld a, $90 + ld [hWY], a + ld a, [wcf65] + and $80 + jr z, .asm_108c57 + ld hl, UnknownText_0x108c68 + call PrintText + ld c, $50 + call DelayFrames + ret + +.asm_108c57 + ld hl, UnknownText_0x108c63 + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c63 + +UnknownText_0x108c63: ; 0x108c63 + text_jump UnknownText_0x1bc7f0 + db "@" +; 0x108c68 + +UnknownText_0x108c68: ; 0x108c68 + text_jump UnknownText_0x1bc80a + db "@" +; 0x108c6d + +Function108c6d: ; 108c6d + ld hl, LZ_108fe7 + ld de, VBGMap0 + call Decompress + ld hl, LZ_108fe7 + ld de, VBGMap1 + call Decompress + ret +; 108c80 + +Function108c80: ; 108c80 + ld a, $1 + ld [rVBK], a + ld hl, LZ_1090a7 + ld de, VBGMap0 + call Decompress + ld hl, LZ_1090a7 + ld de, VBGMap1 + call Decompress + ld a, $0 + ld [rVBK], a + ret +; 108c9b + +Function108c9b: ; 108c9b +; localization error: $b should be 6 here + + ld hl, Unknown_108ce9 + ld a, [hli] + ld [$c6d0], a + + ld de, $c6e7 + ld c, $b +.asm_108ca7 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108ca7 + + ld de, $c6ff + ld c, $2 +.asm_108cb2 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108cb2 + + ld de, $c6f2 + ld c, $b +.asm_108cbd + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108cbd + + ld a, [hli] + ld [wc702], a + + ld de, wc719 + ld c, $b +.asm_108ccc + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108ccc + + ld de, wc731 + ld c, $2 +.asm_108cd7 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108cd7 + + ld de, wc724 + ld c, $b +.asm_108ce2 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108ce2 + + ret +; 108ce9 + +Unknown_108ce9: + db 3 + db "ゲーフり@@" + db $23, $01 + db "かびーん@@" + db 6 + db "クりーチャ@" + db $56, $04 + db "マツミヤ@@" +; 108d07 + +Function108d07: ; 108d07 + ld a, [wc74e] + and $7f + cp $8 + jr c, .asm_108d12 + ld a, $7 + +.asm_108d12 + ld bc, $0008 + ld hl, Palette_1093c7 + call AddNTimes + ld a, $5 + ld de, wd020 + ld bc, $0008 + call FarCopyWRAM + ret +; 108d27 + +LZ_108d27: +INCBIN "gfx/unknown/108d27.2bpp.lz" + +LZ_108da7: +INCBIN "gfx/unknown/108da7.2bpp.lz" + +LZ_108fe7: +INCBIN "gfx/unknown/108fe7.tilemap.lz" + +LZ_1090a7: +INCBIN "gfx/unknown/1090a7.tilemap.lz" + +Palette_1090f7: + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 31, 0, 25 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 9, 19, 31 + RGB 0, 0, 0 + +Palette_109107: + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 15, 1 + RGB 14, 14, 31 + RGB 12, 9, 31 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 14, 14, 31 + RGB 12, 9, 31 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 7, 9 + RGB 18, 0, 1 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 15, 1 + RGB 18, 0, 30 + RGB 9, 0, 17 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 18, 0, 30 + RGB 9, 0, 17 + RGB 0, 0, 0 + +Palette_109147: + RGB 31, 31, 31 + RGB 31, 31, 12 + RGB 31, 13, 12 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 23, 15 + RGB 31, 18, 7 + RGB 31, 15, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 25 + RGB 31, 0, 25 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 9, 19, 31 + RGB 9, 19, 31 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +Palette_109187: + RGB 31, 31, 31 + RGB 31, 31, 12 + RGB 31, 13, 12 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 23, 15 + RGB 31, 18, 7 + RGB 31, 15, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 9, 19, 31 + RGB 9, 19, 31 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 25 + RGB 31, 0, 25 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +GFX_1091c7: +INCBIN "gfx/unknown/1091c7.2bpp" +GFX_1092c7: +INCBIN "gfx/unknown/1092c7.2bpp" + +Palette_1093c7: + RGB 18, 31, 15 + RGB 4, 13, 31 + RGB 0, 0, 31 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 31, 0 + RGB 31, 15, 0 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 9, 24, 0 + RGB 2, 16, 0 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 7, 9 + RGB 18, 0, 1 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 28, 5, 31 + RGB 17, 0, 17 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 9, 9, 9 + RGB 4, 4, 4 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 13, 21 + RGB 27, 7, 12 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 21, 20, 20 + RGB 14, 14, 31 + RGB 0, 0, 0 + diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm new file mode 100644 index 000000000..ed301ae6b --- /dev/null +++ b/misc/mobile_45.asm @@ -0,0 +1,24075 @@ + +SECTION "bank45", ROMX, BANK[$45] + + charmap " ", $20 ; revert to ascii + +String_114000: + db "---", 0 +String_114004: + db "CGB-AAAA-00", 0, 0 + +Unknown_114011: ; 114011 + dw String_114033 + dw String_11403a + dw String_114043 + dw String_11404e + dw String_114053 + dw String_114058 + dw String_114062 + dw String_114074 + dw String_11408d + dw String_11409f + dw String_1140b8 + dw String_1140e6 + dw String_114110 + dw String_11413f + dw String_114160 + dw String_114160 + dw String_114163 + +String_114033: ; 114033 + db "From: ", 0 +String_11403a: ; 11403a + db "Sender: ", 0 +String_114043: ; 114043 + db "Reply-To: ", 0 +String_11404e: ; 11404e + db "To: ", 0 +String_114053: ; 114053 + db "Cc: ", 0 +String_114058: ; 114058 + db "Subject: ", 0 +String_114062: ; 114062 + db "MIME-Version: 1.0", 0 +String_114074: ; 114074 + db "X-Game-title: XXXXXXXXXX", 0 +String_11408d: ; 11408d + db "X-Game-code: CGB-", 0 +String_11409f: ; 11409f + db "X-GBmail-type: exclusive", 0 +String_1140b8: ; 1140b8 + db "Content-Type: text/plain; charset=iso-2022-jp", 0 +String_1140e6: ; 1140e6 + db "Content-Type: multipart/mixed; boundary=\"", 0 +String_114110: ; 114110 + db "Content-Type: Application/Octet-Stream; name=\"", 0 +String_11413f: ; 11413f + db "Content-Transfer-Encoding:Base64", 0 +String_114160: ; 114160 + db "--", 0 +String_114163: ; 114163 + db ".", 0 +; 114165 + +Jumptable_114165: ; 114165 + dw Function114268 + dw Function114269 + dw Function11433c + dw Function1143b7 + dw Function1144d1 + dw Function114b55 + dw Function114bbc + dw Function114cd9 + dw Function114e62 + dw Function1152b8 + dw Function1154d4 + dw Function1156cc + dw Function1159fb +; 11417f + +Unknown_11417f: ; 11417f + dw String_114199 + dw String_11419f + dw String_1141a7 + dw String_1141b1 + dw String_1141b5 + dw String_1141b9 + dw String_1141c2 + dw String_1141c8 + dw String_1141d6 + dw String_1141e4 + dw String_1141ee + dw String_1141fc + dw String_114209 + +String_114199: ; 114199 + db "FROM:", 0 +String_11419f: ; 11419f + db "SENDER:", 0 +String_1141a7: ; 1141a7 + db "REPLY-TO:", 0 +String_1141b1: ; 1141b1 + db "TO:", 0 +String_1141b5: ; 1141b5 + db "CC:", 0 +String_1141b9: ; 1141b9 + db "SUBJECT:", 0 +String_1141c2: ; 1141c2 + db "DATE:", 0 +String_1141c8: ; 1141c8 + db "CONTENT-TYPE:", 0 +String_1141d6: ; 1141d6 + db "MIME-VERSION:", 0 +String_1141e4: ; 1141e4 + db "X-MAILER:", 0 +String_1141ee: ; 1141ee + db "X-GAME-TITLE:", 0 +String_1141fc: ; 1141fc + db "X-GAME-CODE:", 0 +String_114209: ; 114209 + db "X-GBMAIL-TYPE:", 0 +; 114218 + +String_114218: ; 114218 + db "NAME=", 0 +String_11421e: ; 11421e + db "MULTIPART", 0 +String_114228: ; 114228 + db "BOUNDARY=", 0 +String_114232: ; 114232 + db "=?ISO-2022-JP?B?", 0 +; 114243 + +Function114243:: ; 114243 + ld a, $a + ld [MBC3SRamEnable], a + ld a, [$ff8c] + push af + push de + ld a, [wdc02] + add a + ld e, a + ld d, 0 + ld hl, Jumptable_114165 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + pop de + jp [hl] +; 11425c + +Function11425c: ; 11425c + ld [wdc02], a + pop af + ld [$ff8c], a + ld [$ff8c], a + ld [$4000], a + ret +; 114268 + +Function114268: ; 114268 + ret +; 114269 + +Function114269: ; 114269 + ld h, d + ld l, e + xor a + ld [wdc02], a + ld [wdc03], a + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld c, [hl] + inc hl + ld b, [hl] +.asm_114282 + ld a, [de] + and a + jr z, .asm_1142a4 + ld h, a + ld a, [wdc03] + and a + jr nz, .asm_114292 + ld a, h + cp $80 + jr nc, .asm_1142ae + +.asm_114292 + ld a, h + cp $d + jr z, .asm_1142bb + xor a + ld [wdc02], a +.asm_11429b + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr nz, .asm_114282 + +.asm_1142a4 + ld a, [wdc03] + and a + jr nz, .asm_114303 + ld b, $80 + jr .asm_1142b0 + +.asm_1142ae + ld b, $81 + +.asm_1142b0 + ld a, [wdc00] + ld c, a + ld a, $1 + ld h, d + ld l, e + jp Function11425c + +.asm_1142bb + and a + jr z, .asm_1142a4 + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr z, .asm_1142a4 + ld a, [de] + ld h, a + ld a, [wdc03] + and a + jr nz, .asm_1142d4 + ld a, h + cp $80 + jr nc, .asm_1142ae + +.asm_1142d4 + ld a, h + cp $a + jr nz, .asm_1142ae + ld a, [wdc03] + and a + jr nz, .asm_11430d + ld a, [wdc02] + and a + jr nz, .asm_114309 + ld a, $1 + ld [wdc02], a + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr z, .asm_1142a4 + ld a, [de] + cp $20 + jr z, .asm_11429b + cp $9 + jr z, .asm_11429b + jr .asm_114282 + +.asm_1142fe + xor a + ld b, a + jp Function11425c + +.asm_114303 + xor a + ld b, $1 + jp Function11425c + +.asm_114309 + xor a + ld [wdc02], a + +.asm_11430d + ld a, [wdc02] + and a + jr nz, .asm_1142fe + ld a, $1 + ld [wdc03], a + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr z, .asm_1142a4 + ld a, [de] + and a + jp z, .asm_1142a4 + cp $2e + jp nz, .asm_114282 + ld a, $1 + ld [wdc02], a + jp .asm_11429b +; 114333 + +Function114333: ; 114333 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 11433c + +Function11433c: ; 11433c + push de + ld h, d + ld l, e + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + ld b, $b + call Function1143f3 + cp $2 + jr z, .asm_114358 + and a + jr z, .asm_114360 + pop hl +.asm_114351 + xor a + ld b, $3 + jp Function11425c + +.asm_114357 + pop hl + +.asm_114358 + pop hl + ld a, $1 + ld b, $82 + jp Function11425c + +.asm_114360 + ld a, h + ld [wdc03], a + pop hl + push bc + push de + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld b, $c + call Function1143f3 + cp $2 + jr z, .asm_114357 + and a + jr z, .asm_114381 + xor a + ld b, $2 + pop hl + pop hl + jp Function11425c + +.asm_114381 + pop de + pop bc + ld a, [wdc03] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + call Function114c0b + ld hl, String_114004 +.asm_114394 + ld de, wdc24 +.asm_114397 + ld a, [hli] + and a + jr z, .asm_1143ad + ld b, a + ld a, [de] + inc de + cp b + jr z, .asm_114397 +.asm_1143a1 + ld a, [hli] + and a + jr nz, .asm_1143a1 + ld a, [hl] + and a + jr nz, .asm_114394 + ld b, a + jp Function11425c + +.asm_1143ad + ld a, [de] + and a + jr nz, .asm_114351 + xor a + ld b, $1 + jp Function11425c +; 1143b7 + +Function1143b7: ; 1143b7 + ld a, [de] + ld b, a + inc de + ld a, [de] + ld c, a + inc de + ld a, [de] + ld h, a + inc de + ld a, [de] + inc de + push de + ld d, a + ld e, h + call Function1143f3 + cp $2 + jr z, .asm_1143eb + and a + jr nz, .asm_1143ed + ld a, h + pop hl + push af + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld h, [hl] + ld l, a + pop af + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + jp Function11425c + +.asm_1143eb + ld b, $82 + +.asm_1143ed + ld a, $1 + pop hl + jp Function11425c +; 1143f3 + +Function1143f3: ; 1143f3 + call Function114412 + and a + jr nz, .asm_11440d + ld a, $4 + cp b + jr c, .asm_114407 + jr z, .asm_114402 +.asm_114400 + xor a + ret + +.asm_114402 + ld a, $0 + cp c + jr nc, .asm_114400 + +.asm_114407 + ld bc, VBlank5 + ld a, $2 + ret + +.asm_11440d + ld a, $1 + ld b, $84 + ret +; 114412 + +Function114412: ; 114412 + ld a, c + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld hl, Unknown_11417f + ld a, b + add a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld c, $0 + jr .asm_11444a + +.asm_11442b + ld a, [de] + and a + jp z, .asm_1144c2 + inc e + call z, Function1144c8 + cp $d + jr nz, .asm_11442b + ld a, [de] + inc e + call z, Function1144c8 + cp $a + jr nz, .asm_11442b + ld a, [de] + cp $2e + jr z, .asm_1144ae + cp $d + jr z, .asm_1144b8 + +.asm_11444a + ld a, [wdc00] + ld [wdc02], a + ld a, [de] + and a + jr z, .asm_1144c2 + inc e + call z, Function1144c8 + cp $61 + jr c, .asm_114462 + cp $7b + jr nc, .asm_114462 + sub $20 + +.asm_114462 + ld b, a + ld a, [hl] + and a + jr z, .asm_114476 + cp b + jr nz, .asm_11446e + inc c + inc hl + jr .asm_11444a + +.asm_11446e + ld a, c + and a + jr z, .asm_11442b + dec c + dec hl + jr .asm_11446e + +.asm_114476 + ld a, $20 + cp b + jr z, .asm_114481 + ld a, $a + cp b + jr z, .asm_114481 + dec de + +.asm_114481 + ld h, d + ld l, e + ld bc, NULL +.asm_114486 + ld a, [de] + and a + jr z, .asm_1144c2 + inc bc + inc e + call z, Function1144c8 + cp $d + jr nz, .asm_114486 + ld a, [de] + inc bc + inc e + call z, Function1144c8 + cp $a + jr nz, .asm_114486 + ld a, [de] + cp $20 + jr z, .asm_114486 + cp $9 + jr z, .asm_114486 + ld d, h + ld e, l + ld a, [wdc02] + ld h, a + xor a + ret + +.asm_1144ae + inc e + call z, Function1144c8 + ld a, [de] + cp $d + jp nz, .asm_11442b + +.asm_1144b8 + inc e + call z, Function1144c8 + ld a, [de] + cp $a + jp nz, .asm_11442b + +.asm_1144c2 + ld a, $0 + ld [hl], a + ld a, $1 + ret +; 1144c8 + +Function1144c8: ; 1144c8 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 1144d1 + +Function1144d1: ; 1144d1 + call Function114561 + dec de + dec de + push de + inc de + inc de + inc de + inc hl + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc hl + ld a, [de] + ld [hld], a + dec de + ld a, [de] + ld [hl], a + xor a + ld [BigDoll], a + ld [wdc17], a + ld a, $2 + ld [wdc0e], a + ld hl, wdc03 + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + call Function114576 + cp $2 + jr z, .asm_11455b + and a + jr z, .asm_114511 + ld a, $1 + ld [wdc0d], a + call Function1146fa + and a + jr nz, .asm_11455b + jr .asm_11451c + +.asm_114511 + call Function1146a4 + and a + jr nz, .asm_11455b + ld a, $2 + ld [wdc0d], a + +.asm_11451c + pop hl + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, [wdc0d] + ld [de], a + ld b, $0 + ld a, [BigDoll] + and a + jr z, .asm_114537 + ld b, $1 + +.asm_114537 + ld hl, wdc06 + ld a, [hl] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld hl, wdc09 + ld e, [hl] + inc hl + ld d, [hl] + dec de + ld a, d + or e + jr z, .asm_114559 + ld hl, wdc07 + ld e, [hl] + inc hl + ld d, [hl] + xor a + ld [de], a + jp Function11425c + +.asm_114559 + ld b, $83 + +.asm_11455b + pop hl + ld a, $1 + jp Function11425c +; 114561 + +Function114561: ; 114561 + ld hl, wdc03 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + ret +; 114576 + +Function114576: ; 114576 + xor a + ld [Bed], a + ld b, $7 + call Function1143f3 + cp $2 + jr z, .asm_1145b6 + and a + jr nz, .asm_1145b4 + ld a, h + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + push hl + push de + push bc + ld hl, wdc24 + call Function115d53 + call Function1145c5 + pop bc + pop de + pop hl + and a + jr z, .asm_1145bf + ld a, b + and a + jr nz, .asm_1145ba + ld a, h + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld hl, String_114218 + call Function114acf + +.asm_1145b4 + xor a + ret + +.asm_1145b6 + ld b, $82 + jr .asm_1145bc + +.asm_1145ba + ld b, $81 + +.asm_1145bc + ld a, $2 + ret + +.asm_1145bf + ld a, $1 + ld [Bed], a + ret +; 1145c5 + +Function1145c5: ; 1145c5 + ld hl, wdc24 + ld de, String_11421e + ld c, $0 +.asm_1145cd + ld a, [hli] + and a + jr z, .asm_1145ef + cp $20 + jr z, .asm_1145cd + cp $d + jr z, .asm_1145f8 + cp $61 + jr c, .asm_1145e3 + cp $7b + jr nc, .asm_1145e3 + sub $20 + +.asm_1145e3 + ld b, a + ld a, [de] + and a + jr z, .asm_11460e + inc de + cp b + jr z, .asm_1145cd + dec de + jr .asm_1145cd + +.asm_1145ef + ld b, $0 + jr .asm_1145f5 + +.asm_1145f3 + ld b, $81 + +.asm_1145f5 + ld a, $1 + ret + +.asm_1145f8 + ld a, [hli] + and a + jr z, .asm_1145f3 + cp $a + jr nz, .asm_1145f3 + ld a, [hli] + and a + jr z, .asm_1145f3 + cp $20 + jr z, .asm_1145cd + cp $9 + jr z, .asm_1145cd + jr .asm_1145f3 + +.asm_11460e + ld a, c + and a + jr nz, .asm_114619 + ld c, $1 + ld de, String_114228 + jr .asm_1145cd + +.asm_114619 + dec hl + ld a, [hl] + cp $22 + jr nz, .asm_114620 + inc hl + +.asm_114620 + ld de, $ddc8 + ld b, $0 + ld c, $40 +.asm_114627 + ld a, [hli] + cp $22 + jr z, .asm_114636 + cp $d + jr z, .asm_114636 + ld [de], a + inc de + inc b + dec c + jr nz, .asm_114627 + +.asm_114636 + ld a, b + ld [PartyMon5Defense], a + xor a + ret +; 11463c + +Function11463c: ; 11463c + ld a, [wdc00] + push af + push de + ld hl, $ddc8 + ld a, [PartyMon5Defense] + ld b, a +.asm_114648 + ld a, [de] + ld c, a + ld a, [hli] + cp c + jr nz, .asm_11468a + inc e + call z, Function11469b + dec b + jr nz, .asm_114648 + ld a, [de] + cp $2d + jr z, .asm_114673 + cp $d + jr nz, .asm_11468a + xor a + ld [Carpet], a +.asm_114662 + inc e + call z, Function11469b + ld a, [de] + cp $a + jr nz, .asm_11468a + inc e + call z, Function11469b + xor a + pop hl + pop hl + ret + +.asm_114673 + inc e + call z, Function11469b + ld a, [de] + cp $2d + jr nz, .asm_11468a + inc e + call z, Function11469b + ld a, $1 + ld [Carpet], a + ld a, [de] + cp $d + jr z, .asm_114662 + +.asm_11468a + pop de + pop af + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + xor a + ld [Carpet], a + ld a, $1 + ret +; 11469b + +Function11469b: ; 11469b + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 1146a4 + +Function1146a4: ; 1146a4 + call Function114867 + and a + jr nz, .asm_1146e4 + ld hl, wdc03 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + call Function114a18 + and a + jr nz, .asm_1146e8 + call Function1148c2 + and a + jr nz, .asm_1146e4 + ld hl, wdc03 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + call Function114a7a + and a + jr nz, .asm_1146e8 +.asm_1146da + dec bc + dec bc + call Function1149cc + and a + jr nz, .asm_1146e4 + xor a + ret + +.asm_1146e4 + ld b, $83 + jr .asm_1146f7 + +.asm_1146e8 + ld a, [wdc17] + and a + jr z, .asm_1146f5 + ld a, $1 + ld [BigDoll], a + jr .asm_1146da + +.asm_1146f5 + ld b, $81 + +.asm_1146f7 + ld a, $1 + ret +; 1146fa + +Function1146fa: ; 1146fa + call Function114867 + and a + jp nz, .asm_11478a + ld hl, wdc03 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + call Function114a18 + and a + jp nz, .asm_11478e + call Function1149cc + and a + jp nz, .asm_11478a + ld a, $1 + ld [wdc0e], a + ld a, [wdc00] + ld [$ff8c], a + ld [$4000], a + ld a, $1 + ld [RightOrnament], a + call Function1147cd + and a + jp nz, .asm_1147b7 +.asm_114737 + call Function114843 + cp $1 + jr nz, .asm_114749 + ld a, [wdc17] + and a + jr z, .asm_114794 + ld a, $1 + ld [BigDoll], a + +.asm_114749 + call Function11494d + and a + jr nz, .asm_11478a + ld a, [BigDoll] + and a + jr nz, .asm_114786 + ld hl, wdc03 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + call Function1147cd + and a + jr nz, .asm_1147b7 + ld a, [wdc0e] + cp $3 + jr nz, .asm_114773 + dec bc + dec bc + +.asm_114773 + call Function1149cc + and a + jr nz, .asm_11478a + ld a, [wdc0d] + inc a + ld [wdc0d], a + ld a, [BigDoll] + and a + jr z, .asm_114799 + +.asm_114786 + ld b, $1 + jr .asm_1147cb + +.asm_11478a + ld b, $83 + jr .asm_114796 + +.asm_11478e + ld a, [wdc17] + and a + jr nz, .asm_114796 + +.asm_114794 + ld b, $81 + +.asm_114796 + ld a, $1 + ret + +.asm_114799 + ld a, [Carpet] + and a + jr z, .asm_114737 + jr .asm_1147cb + + ld hl, wdc03 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + call Function114a7a + and a + jr z, .asm_1147cb + xor a + ld [BigDoll], a + +.asm_1147b7 + ld a, [wdc17] + and a + jr z, .asm_114794 + ld a, $1 + ld [BigDoll], a + ld a, [wdc0d] + cp $1 + jr nz, .asm_114773 + ld b, $1 + +.asm_1147cb + xor a + ret +; 1147cd + +Function1147cd: ; 1147cd + ld bc, NULL + ld a, [RightOrnament] + and a + jr nz, .asm_11480c +.asm_1147d6 + ld a, [de] + and a + jr z, .asm_11482f + inc e + call z, Function11483a + inc bc + cp $d + jr nz, .asm_1147d6 + ld a, [de] + cp $a + jr nz, .asm_11482f +.asm_1147e8 + inc bc + inc e + call z, Function11483a + ld a, [de] + cp $20 + jr z, .asm_114827 + cp $9 + jr z, .asm_114827 + cp $d + jr nz, .asm_11482b + inc e + call z, Function11483a + ld a, [de] + cp $a + jr nz, .asm_11482f + inc e + call z, Function11483a + ld a, h + and a + jr z, .asm_11480c + dec bc + +.asm_11480c + ld a, [de] + cp $2d + jr nz, .asm_1147d6 + inc e + call z, Function11483a + ld a, [de] + cp $2d + jr nz, .asm_1147d6 + inc e + call z, Function11483a + push bc + call Function11463c + pop bc + and a + jr nz, .asm_1147d6 + ret + +.asm_114827 + ld h, $1 + jr .asm_1147e8 + +.asm_11482b + ld h, $0 + jr .asm_11480c + +.asm_11482f + and a + jr nz, .asm_114837 + ld a, $1 + ld [wdc17], a + +.asm_114837 + ld a, $1 + ret +; 11483a + +Function11483a: ; 11483a + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 114843 + +Function114843: ; 114843 + ld a, [wdc00] + push af + push de + ld [$ff8c], a + ld [$4000], a + call Function114a18 + and a + jr nz, .asm_11485f + pop de + pop af + ld [wdc00], a + ld hl, String_114218 + call Function114acf + ret + +.asm_11485f + pop de + pop af + ld [wdc00], a + ld a, $1 + ret +; 114867 + +Function114867: ; 114867 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, $2 + ld [de], a + inc e + call z, Function1148b9 + ld a, $1 + ld [de], a + inc e + call z, Function1148b9 + ld hl, wdc03 + ld a, [hli] + ld [de], a + inc e + call z, Function1148b9 + ld a, [hli] + ld [de], a + inc e + call z, Function1148b9 + ld a, [hli] + ld [de], a + inc e + call z, Function1148b9 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl + ld c, [hl] + inc hl + ld b, [hl] + ld d, $5 +.asm_1148a9 + dec bc + ld a, b + or c + jr z, .asm_1148b6 + dec d + jr nz, .asm_1148a9 + ld [hl], b + dec hl + ld [hl], c + xor a + ret + +.asm_1148b6 + ld a, $1 + ret +; 1148b9 + +Function1148b9: ; 1148b9 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 1148c2 + +Function1148c2: ; 1148c2 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, c + ld [de], a + inc e + call z, Function114944 + ld a, b + ld [de], a + inc e + call z, Function114944 + ld a, [wdc0e] + ld [de], a + inc e + call z, Function114944 + cp $3 + jr nz, .asm_114904 + ld hl, Plant + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + +.asm_114904 + ld hl, wdc03 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl + ld c, [hl] + inc hl + ld b, [hl] + ld a, [wdc0e] + cp $3 + jr z, .asm_114932 + ld d, $6 + jr .asm_114934 + +.asm_114932 + ld d, $a + +.asm_114934 + dec bc + ld a, b + or c + jr z, .asm_114941 + dec d + jr nz, .asm_114934 + ld [hl], b + dec hl + ld [hl], c + xor a + ret + +.asm_114941 + ld a, $1 + ret +; 114944 + +Function114944: ; 114944 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 11494d + +Function11494d: ; 11494d + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, [wdc0e] + ld [de], a + inc e + call z, Function1149c3 + cp $3 + jr nz, .asm_114983 + ld hl, Plant + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + +.asm_114983 + ld hl, wdc03 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl + ld c, [hl] + inc hl + ld b, [hl] + ld a, [wdc0e] + cp $3 + jr z, .asm_1149b1 + ld d, $4 + jr .asm_1149b3 + +.asm_1149b1 + ld d, $8 + +.asm_1149b3 + dec bc + ld a, b + or c + jr z, .asm_1149c0 + dec d + jr nz, .asm_1149b3 + ld [hl], b + dec hl + ld [hl], c + xor a + ret + +.asm_1149c0 + ld a, $1 + ret +; 1149c3 + +Function1149c3: ; 1149c3 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 1149cc + +Function1149cc: ; 1149cc + ld hl, wdc06 + ld a, [hl] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + push de + ld hl, wdc09 + ld e, [hl] + inc hl + ld d, [hl] + dec de + ld a, d + or e + jr z, .asm_114a0b + dec de + ld a, d + or e + jr z, .asm_114a0b + ld [hl], d + dec hl + ld [hl], e + ld hl, wdc07 + ld e, [hl] + inc hl + ld d, [hl] + ld a, c + ld [de], a + inc e + call z, Function114a0f + ld a, b + ld [de], a + inc e + call z, Function114a0f + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + pop de + xor a + ret + +.asm_114a0b + pop de + ld a, $1 + ret +; 114a0f + +Function114a0f: ; 114a0f + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 114a18 + +Function114a18: ; 114a18 + ld bc, NULL + ld h, b +.asm_114a1c + inc bc + ld a, [de] + and a + jr z, .asm_114a66 + inc e + call z, Function114a71 + cp $d + jr nz, .asm_114a1c + ld a, [de] + cp $a + jr nz, .asm_114a66 +.asm_114a2e + inc bc + inc e + call z, Function114a71 + ld a, [de] + cp $20 + jr z, .asm_114a5e + cp $9 + jr z, .asm_114a5e + cp $d + jr nz, .asm_114a62 + inc e + call z, Function114a71 + ld a, [de] + cp $a + jr nz, .asm_114a66 + inc e + call z, Function114a71 + ld a, h + and a + jr z, .asm_114a52 + dec bc + +.asm_114a52 + ld hl, wdc03 + ld a, [wdc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + xor a + ret + +.asm_114a5e + ld h, $1 + jr .asm_114a2e + +.asm_114a62 + ld h, $0 + jr .asm_114a1c + +.asm_114a66 + and a + jr nz, .asm_114a6e + ld a, $1 + ld [wdc17], a + +.asm_114a6e + ld a, $1 + ret +; 114a71 + +Function114a71: ; 114a71 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 114a7a + +Function114a7a: ; 114a7a + ld bc, NULL +.asm_114a7d + inc bc + ld a, [de] + and a + jr z, .asm_114abb + inc e + call z, Function114ac6 + cp $d + jr nz, .asm_114a7d + ld a, [de] + cp $a + jr nz, .asm_114abb + inc e + call z, Function114ac6 + inc bc + ld a, [de] + cp $2e + jr nz, .asm_114a7d + inc e + call z, Function114ac6 + ld a, [de] + cp $d + jr nz, .asm_114a7d + inc e + call z, Function114ac6 + ld a, [de] + cp $a + jr nz, .asm_114abb + inc e + call z, Function114ac6 + ld hl, wdc03 + ld a, [wdc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + xor a + ret + +.asm_114abb + and a + jr nz, .asm_114ac3 + ld a, $1 + ld [wdc17], a + +.asm_114ac3 + ld a, $1 + ret +; 114ac6 + +Function114ac6: ; 114ac6 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 114acf + +Function114acf: ; 114acf +.asm_114acf + push hl + push bc +.asm_114ad1 + ld a, [hl] + ld b, a + ld a, [de] + inc e + call z, Function114b4c + cp $61 + jr c, .asm_114ae2 + cp $7b + jr nc, .asm_114ae2 + sub $20 + +.asm_114ae2 + cp b + jr z, .asm_114af4 + pop bc + dec bc + push bc + ld a, b + or c + jr nz, .asm_114ad1 +.asm_114aec + ld a, $2 + ld [wdc0e], a + pop bc + pop hl + ret + +.asm_114af4 + inc hl +.asm_114af5 + ld a, [hli] + and a + jr z, .asm_114b19 + ld b, a + ld a, [de] + inc e + call z, Function114b4c + cp $61 + jr c, .asm_114b09 + cp $7b + jr nc, .asm_114b09 + sub $20 + +.asm_114b09 + cp b + jr nz, .asm_114b15 + pop bc + dec bc + push bc + ld a, b + or c + jr nz, .asm_114af5 + jr .asm_114aec + +.asm_114b15 + pop bc + pop hl + jr .asm_114acf + +.asm_114b19 + ld b, $0 + ld c, $40 + ld a, [de] + cp $22 + jr nz, .asm_114b26 + inc e + call z, Function114b4c + +.asm_114b26 + ld hl, Plant + ld a, [wdc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl +.asm_114b31 + ld a, [de] + cp $22 + jr z, .asm_114b42 + cp $d + jr z, .asm_114b42 + inc e + call z, Function114b4c + inc b + dec c + jr nz, .asm_114b31 + +.asm_114b42 + ld [hl], b + pop bc + pop hl + ld a, $3 + ld [wdc0e], a + xor a + ret +; 114b4c + +Function114b4c: ; 114b4c + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 114b55 + +Function114b55: ; 114b55 + call Function114561 + ld b, $0 + ld hl, wdc03 + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc24 +.asm_114b65 + push de + push bc + push hl + call Function1143f3 + cp $2 + jr z, .asm_114bb2 + and a + jr nz, .asm_114b8c + ld a, h + pop hl + inc hl + ld [hld], a + ld a, $1 + ld [hli], a + inc hl + ld [hl], e + inc hl + ld [hl], d + inc hl + ld [hl], c + inc hl + ld [hl], b + inc hl +.asm_114b82 + pop bc + pop de + inc b + ld a, b + cp $d + jr z, .asm_114b96 + jr .asm_114b65 + +.asm_114b8c + pop hl + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + jr .asm_114b82 + +.asm_114b96 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld bc, $004e + ld hl, wdc24 + call Function115d6a + jp Function11425c + +.asm_114bb2 + ld a, $1 + pop bc + pop bc + pop bc + ld b, $82 + jp Function11425c +; 114bbc + +Function114bbc: ; 114bbc + ld h, d + ld l, e + ld a, [hli] + ld b, a + ld a, [hli] + ld c, a + ld a, [hli] + ld e, a + ld d, [hl] + inc hl + push hl + call Function1143f3 + cp $2 + jr z, .asm_114c03 + and a + jr nz, .asm_114bff + ld a, h + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + call Function114c0b + ld hl, wdc24 + call Function114c5e + ld a, b + or c + jr z, .asm_114bff + pop hl + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld d, [hl] + ld hl, wdc24 + push bc + call Function115d6a + pop hl + jp Function11425c + +.asm_114bff + ld b, $84 + jr .asm_114c05 + +.asm_114c03 + ld b, $82 + +.asm_114c05 + ld a, $1 + pop hl + jp Function11425c +; 114c0b + +Function114c0b: ; 114c0b + ld hl, wdc24 + push bc + call Function115d53 + pop bc + ld hl, wdc24 + ld d, h + ld e, l +.asm_114c18 + ld a, [hli] + cp $d + jr z, .asm_114c34 + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_114c18 +.asm_114c24 + xor a + ld [de], a + ld hl, wdc24 + ld bc, NULL +.asm_114c2c + ld a, [hli] + inc bc + and a + jr nz, .asm_114c2c + dec bc + xor a + ret + +.asm_114c34 + dec bc + ld a, b + or c + jr z, .asm_114c24 + ld a, [hli] + cp $a + jr nz, .asm_114c18 + dec bc + ld a, b + or c + jr z, .asm_114c24 + ld a, [hli] + cp $20 + jr z, .asm_114c4e + cp $9 + jr z, .asm_114c4e + jr .asm_114c24 + +.asm_114c4e + dec bc + ld a, b + or c + jr z, .asm_114c24 + jr .asm_114c18 +; 114c55 + +Function114c55: ; 114c55 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 114c5e + +Function114c5e: ; 114c5e + ld de, PartyMon5Defense + push hl +.asm_114c62 + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_114cc6 + cp $3d + jr nz, .asm_114c62 + ld a, [hli] + ld [de], a + inc de + cp $3f + jr nz, .asm_114c62 + dec de + dec de +.asm_114c75 + ld a, [hli] + cp $3f + jr nz, .asm_114c75 + ld a, [hli] + cp $42 + jr nz, .asm_114cb8 + inc hl + ld bc, NULL + push hl +.asm_114c84 + inc bc + ld a, [hli] + cp $3f + jr nz, .asm_114c84 + inc bc + ld a, [hli] + cp $3d + jr nz, .asm_114c84 + dec bc + dec bc + ld a, l + ld [wdc03], a + ld a, h + ld [wdc04], a + pop hl + push de + call Function115c49 + pop de + ld h, d + ld l, e + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +.asm_114ca6 + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_114ca6 + ld a, [wdc03] + ld l, a + ld a, [wdc04] + ld h, a + jr .asm_114c62 + +.asm_114cb8 + ld a, $3d + ld [de], a + inc de + ld a, $3f + ld [de], a + inc de +.asm_114cc0 + ld a, [hli] + ld [de], a + inc de + and a + jr nz, .asm_114cc0 + +.asm_114cc6 + ld [de], a + pop hl + ld de, PartyMon5Defense + ld bc, NULL +.asm_114cce + inc bc + ld a, [de] + ld [hli], a + inc de + and a + jr z, .asm_114cd7 + jr .asm_114cce + +.asm_114cd7 + dec bc + ret +; 114cd9 + +Function114cd9: ; 114cd9 + ld h, d + ld l, e + ld b, [hl] + inc hl + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + inc hl + push hl + call Function1143f3 + and a + jr nz, .asm_114d33 + ld [wdc03], a + ld [wdc04], a + ld a, h + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld hl, wdc24 + call Function114d39 + ld hl, wdc24 + call Function114d99 + pop hl + push hl + inc hl + inc hl + inc hl + inc hl + ld a, [hld] + cp b + jr c, .asm_114d2d + jr z, .asm_114d29 +.asm_114d11 + pop hl + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, PartyMon5Defense + call Function115d6a + xor a + jp Function11425c + +.asm_114d29 + ld a, [hli] + cp c + jr nc, .asm_114d11 + +.asm_114d2d + ld b, $83 + jr .asm_114d33 + + ld b, $82 + +.asm_114d33 + pop hl + ld a, $1 + jp Function11425c +; 114d39 + +Function114d39: ; 114d39 +.asm_114d39 + ld a, [wdc04] + and a + jr nz, .asm_114d4a + ld a, [de] + cp $28 + jr z, .asm_114d55 + cp $22 + jr z, .asm_114d55 + jr .asm_114d7f + +.asm_114d4a + ld a, [de] + cp $29 + jr z, .asm_114d5f + cp $22 + jr z, .asm_114d6f + jr .asm_114d84 + +.asm_114d55 + ld [wdc03], a + ld a, $1 + ld [wdc04], a + jr .asm_114d84 + +.asm_114d5f + ld a, [wdc03] + cp $28 + jr nz, .asm_114d84 + xor a + ld [wdc03], a + ld [wdc04], a + jr .asm_114d84 + +.asm_114d6f + ld a, [wdc03] + cp $22 + jr nz, .asm_114d84 + xor a + ld [wdc03], a + ld [wdc04], a + jr .asm_114d84 + +.asm_114d7f + cp $20 + jr z, .asm_114d84 + ld [hli], a + +.asm_114d84 + dec bc + ld a, b + or c + jr z, .asm_114d96 + inc e + jr nz, .asm_114d39 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + jr .asm_114d39 + +.asm_114d96 + xor a + ld [hli], a + ret +; 114d99 + +Function114d99: ; 114d99 + ld de, PartyMon5Defense + xor a + ld [de], a +.asm_114d9e + ld a, [hli] + call Function114df1 + and a + jr z, .asm_114dde + cp $40 + jr nz, .asm_114d9e + dec hl +.asm_114daa + dec hl + ld a, [hl] + call Function114e2d + and a + jr z, .asm_114daa + inc hl + push hl + ld b, $0 +.asm_114db6 + ld a, [hli] + cp $40 + jr z, .asm_114dc1 + call Function114e2d + and a + jr nz, .asm_114dc4 + +.asm_114dc1 + inc b + jr .asm_114db6 + +.asm_114dc4 + pop hl + ld a, [PartyMon5Defense] + and a + jr z, .asm_114dd2 + ld a, $2c + inc de + ld [de], a + ld a, [PartyMon5Defense] + +.asm_114dd2 + inc a + ld [PartyMon5Defense], a +.asm_114dd6 + inc de + ld a, [hli] + ld [de], a + dec b + jr nz, .asm_114dd6 + jr .asm_114d9e + +.asm_114dde + inc de + xor a + ld [de], a + ld a, $dd + cpl + ld h, a + ld a, $c8 + cpl + ld l, a + inc hl + add hl, de + ld b, h + ld c, l + inc bc + inc bc + xor a + ret +; 114df1 + +Function114df1: ; 114df1 + cp $1b + ret nz + ld a, [hli] + and a + jr z, .asm_114e2b + cp $24 + jr nz, .asm_114e09 + ld a, [hli] + and a + jr z, .asm_114e2b + cp $42 + jr z, .asm_114e0b + cp $40 + jr z, .asm_114e0b + dec hl + +.asm_114e09 + dec hl + ret + +.asm_114e0b + ld a, [hli] + and a + jr z, .asm_114e2b + cp $1b + jr nz, .asm_114e0b + ld a, [hli] + and a + jr z, .asm_114e2b + cp $28 + jr nz, .asm_114e0b + ld a, [hli] + and a + jr z, .asm_114e2b + cp $42 + jr z, .asm_114e29 + cp $4a + jr z, .asm_114e29 + jr .asm_114e0b + +.asm_114e29 + ld a, [hli] + ret + +.asm_114e2b + xor a + ret +; 114e2d + +Function114e2d: ; 114e2d + cp $30 + jr c, .asm_114e45 + cp $40 + jr c, .asm_114e58 + cp $41 + jr c, .asm_114e45 + cp $5b + jr c, .asm_114e58 + cp $61 + jr c, .asm_114e45 + cp $7b + jr c, .asm_114e58 + +.asm_114e45 + cp $20 + jr z, .asm_114e58 + cp $2d + jr z, .asm_114e58 + cp $2e + jr z, .asm_114e58 + cp $5f + jr z, .asm_114e58 +.asm_114e55 + ld a, $1 + ret + +.asm_114e58 + cp $3c + jr z, .asm_114e55 + cp $3e + jr z, .asm_114e55 + xor a + ret +; 114e62 + +Function114e62: ; 114e62 + ld a, c + and a + jr nz, .asm_114e6f + ld a, [wdc23] + and a + jp z, Function11425c + jr .asm_114e76 + +.asm_114e6f + xor a + ld [wdc23], a + call Function114ee9 + +.asm_114e76 + call Function114f0a + cp $ff + jp z, Function11425c + and a + jr nz, .asm_114e99 + call Function114ea0 + and a + jr nz, .asm_114e99 + ld hl, wdc09 + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + jp Function11425c + +.asm_114e99 + ld a, $1 + ld b, $83 + jp Function11425c +; 114ea0 + +Function114ea0: ; 114ea0 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + 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, $d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_114edb + inc e + call z, Function114ee0 + ld a, $a + ld [de], a + dec bc + inc e + call z, Function114ee0 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ld [wdc23], a + ret + +.asm_114edb + ld a, $1 + ld b, $83 + ret +; 114ee0 + +Function114ee0: ; 114ee0 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 114ee9 + +Function114ee9: ; 114ee9 + ld hl, wdc03 + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld c, a + ld [hli], a + inc de + ld a, [de] + ld b, a + ld [hli], a + inc de + ld a, c + ld [hli], a + ld a, b + ld [hli], a + ld a, e + ld [hli], a + ld [hl], d + ret +; 114f0a + +Function114f0a: ; 114f0a + call Function114f39 + and a + jr nz, .asm_114f26 + ld a, [wdc03] + cp $6 + jr c, .asm_114f21 + cp $c + jr z, .asm_114f23 + call Function114f59 + and a + jr nz, .asm_114f23 + +.asm_114f21 + xor a + ret + +.asm_114f23 + ld a, $1 + ret + +.asm_114f26 + call Function114f59 + and a + jr nz, .asm_114f23 + ld hl, wdc0d + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + and a + jr z, .asm_114f21 + ld a, $ff + ret +; 114f39 + +Function114f39: ; 114f39 + ld hl, wdc0d + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld a, [de] + and a + jr z, .asm_114f58 + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld hl, wdc0d + ld [hl], e + inc hl + ld [hl], d + ld a, $1 + ret + +.asm_114f58 + ret +; 114f59 + +Function114f59: ; 114f59 + ld a, [wdc23] + and a + jr nz, .asm_114f7c + ld a, [wdc03] + cp $11 + jr z, .asm_114fa7 + add a + ld e, a + ld d, 0 + ld hl, Unknown_114011 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call Function115020 + and a + jr nz, .asm_114fe7 + ld a, $1 + ld [wdc23], a + +.asm_114f7c + ld a, [wdc03] + cp $5 + jr c, .asm_114fc9 + jr z, .asm_114fec + cp $8 + jr c, .asm_114fa5 + jr z, .asm_114ff4 + cp $b + jr c, .asm_114fa5 + jr z, .asm_114ffc + cp $c + jr z, .asm_115007 + cp $d + jr z, .asm_114fa5 + cp $10 + jr c, .asm_115015 + jr z, .asm_114fa5 + cp $12 + jr c, .asm_114fa5 + jr .asm_114fe7 + +.asm_114fa5 + xor a + ret + +.asm_114fa7 + ld hl, Bed + ld c, [hl] + inc hl + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc24 + call Function115d53 + ld hl, wdc24 + call Function115020 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_114fc9 + call Function115062 + and a + jr nz, .asm_114fe7 + ld a, [wdc04] + dec a + ld [wdc04], a + and a + jr z, .asm_114fdf + call Function114f39 + and a + jr nz, .asm_114fc9 + +.asm_114fdf + ld a, [wdc05] + ld [wdc04], a + jr .asm_11501e + +.asm_114fe7 + ld a, $1 + ld b, $83 + ret + +.asm_114fec + call Function115062 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_114ff4 + call Function115179 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_114ffc + ld hl, String_114000 + call Function115217 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_115007 + call Function11528f + ld hl, wdc24 + call Function115217 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_115015 + ld hl, String_114000 + call Function115217 + and a + jr nz, .asm_114fe7 + +.asm_11501e + xor a + ret +; 115020 + +Function115020: ; 115020 + push hl + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + pop hl +.asm_115036 + ld a, [hli] + and a + jr z, .asm_115046 + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115056 + inc e + call z, Function115059 + jr .asm_115036 + +.asm_115046 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret + +.asm_115056 + ld a, $1 + ret +; 115059 + +Function115059: ; 115059 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 115062 + +Function115062: ; 115062 + ld hl, Bed + ld a, [hli] + and a + jr z, .asm_1150ae + ld c, a + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld b, $0 + ld hl, wdc24 + ld a, [wdc23] + cp $1 + jr z, .asm_11509b + cp $2 + jr z, .asm_115098 + cp $3 + jr nz, .asm_1150b2 + ld a, $2c + ld [hli], a + ld a, $d + ld [hli], a + ld a, $a + ld [hli], a + ld a, $9 + ld [hli], a + jr .asm_11509b + +.asm_115098 + ld a, $2c + ld [hli], a + +.asm_11509b + call Function115d53 + call Function1150b3 + call Function115136 + ld a, [wdc23] + inc a + cp $4 + jr nz, .asm_1150ae + ld a, $2 + +.asm_1150ae + ld [wdc23], a + xor a + +.asm_1150b2 + ret +; 1150b3 + +Function1150b3: ; 1150b3 + ld hl, wdc24 + ld de, PartyMon5Defense + ld b, $0 +.asm_1150bb + ld c, $0 + ld a, [hli] + cp $1b + jr z, .asm_1150c9 + ld [de], a + inc de + and a + jr z, .asm_115133 + jr .asm_1150bb + +.asm_1150c9 + inc c + ld a, [hl] + cp $24 + jr nz, .asm_1150bb + inc hl + inc c + ld a, [hl] + cp $42 + jr z, .asm_1150dc + cp $40 + jr z, .asm_1150dc + jr .asm_1150bb + +.asm_1150dc + push hl +.asm_1150dd + inc c + ld a, [hli] + and a + jr z, .asm_115133 + cp $1b + jr nz, .asm_1150dd + inc c + ld a, [hli] + cp $28 + jr nz, .asm_1150dd + inc c + ld a, [hli] + cp $42 + jr z, .asm_1150f8 + cp $4a + jr z, .asm_1150f8 + jr .asm_1150dd + +.asm_1150f8 + ld a, l + ld [Console], a + ld a, h + ld [LeftOrnament], a + ld hl, String_114232 +.asm_115103 + ld a, [hli] + and a + jr z, .asm_11510b + ld [de], a + inc de + jr .asm_115103 + +.asm_11510b + pop hl + dec hl + dec hl + push de + call Function1158c2 + pop de + ld h, d + ld l, e + ld c, [hl] + inc hl + ld b, [hl] + inc hl +.asm_115119 + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_115119 + ld a, $3f + ld [de], a + inc de + ld a, $3d + ld [de], a + inc de + ld a, [Console] + ld l, a + ld a, [LeftOrnament] + ld h, a + jr .asm_1150bb + +.asm_115133 + xor a + ld [de], a + ret +; 115136 + +Function115136: ; 115136 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + 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 hl, PartyMon5Defense +.asm_11514d + ld a, [hli] + and a + jr z, .asm_11515d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_11516d + inc e + call z, Function115170 + jr .asm_11514d + +.asm_11515d + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret + +.asm_11516d + ld a, $1 + ret +; 115170 + +Function115170: ; 115170 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 115179 + +Function115179: ; 115179 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + 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 hl, $013f + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, $2d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [$014c] + ld h, a + and $f0 + swap a + cp $a + jr nc, .asm_1151d8 + add $30 + jr .asm_1151da + +.asm_1151d8 + add $37 + +.asm_1151da + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, h + and $f + cp $a + jr nc, .asm_1151f2 + add $30 + jr .asm_1151f4 + +.asm_1151ef + ld a, $1 + ret + +.asm_1151f2 + add $37 + +.asm_1151f4 + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret +; 11520e + +Function11520e: ; 11520e + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 115217 + +Function115217: ; 115217 + push hl + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + pop hl +.asm_11522d + ld a, [hli] + and a + jr z, .asm_11523d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115262 + inc e + call z, Function115286 + jr .asm_11522d + +.asm_11523d + ld a, [wdc03] + cp $b + jr z, .asm_115278 + cp $c + jr z, .asm_115278 + cp $e + jr z, .asm_115252 + cp $f + jr z, .asm_115265 + jr .asm_115262 + +.asm_115252 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret + +.asm_115262 + ld a, $1 + ret + +.asm_115265 + ld h, $2 +.asm_115267 + ld a, $2d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115262 + inc e + call z, Function115286 + dec h + jr nz, .asm_115267 + jr .asm_115252 + +.asm_115278 + ld a, $22 + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115262 + inc e + call z, Function115286 + jr .asm_115252 +; 115286 + +Function115286: ; 115286 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 11528f + +Function11528f: ; 11528f + ld hl, Bed + ld c, [hl] + inc hl + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, wdc24 +.asm_1152a4 + ld a, [de] + ld [hli], a + inc e + call z, Function1152af + dec c + jr nz, .asm_1152a4 + ld [hl], c + ret +; 1152af + +Function1152af: ; 1152af + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 1152b8 + +Function1152b8: ; 1152b8 + push bc + call Function11537d + push de + ld h, d + ld l, e + ld a, [hli] + ld b, a + ld c, $1 + call Function1153d2 + pop de + and a + jr nz, .asm_1152f9 +.asm_1152ca + ld hl, wdc0d + ld e, [hl] + inc hl + ld d, [hl] +.asm_1152d0 + ld a, [wdc03] + cp $3 + jr nz, .asm_1152d8 + push de + +.asm_1152d8 + cp $5 + jr nz, .asm_1152e7 + pop hl + ld a, [hli] + ld b, a + ld c, $3 + call Function1153d2 + and a + jr nz, .asm_1152f9 + +.asm_1152e7 + ld a, [de] + inc de + and a + jr nz, .asm_115301 + ld a, [wdc03] + cp $6 + jr z, .asm_115335 + inc a + ld [wdc03], a + jr .asm_1152d0 + +.asm_1152f9 + pop hl + ld a, $1 + ld b, $83 + jp Function11425c + +.asm_115301 + ld hl, wdc0d + ld [hl], e + inc hl + ld [hl], d +.asm_115307 + ld [wdc05], a + ld a, $1 + ld [wdc04], a + call Function1153b5 + call Function114f59 + and a + jr nz, .asm_1152f9 + ld a, [wdc05] + dec a + jr nz, .asm_115307 + ld a, [wdc03] + inc a + ld [wdc03], a + call Function114ea0 + and a + jr nz, .asm_1152f9 + ld [wdc23], a + ld a, [wdc03] + cp $6 + jr nz, .asm_1152ca + +.asm_115335 + call Function1153b5 + xor a + ld [wdc23], a + call Function114f59 + and a + jr nz, .asm_1152f9 + call Function114ea0 + and a + jr nz, .asm_1152f9 + ld a, [wdc03] + inc a + ld [wdc03], a + cp $9 + jr nz, .asm_115335 + pop bc + ld a, b + and a + jr z, .asm_11536b + call Function1153b5 + xor a + ld [wdc23], a + call Function114f59 + and a + jr nz, .asm_1152f9 + call Function114ea0 + and a + jr nz, .asm_1152f9 + +.asm_11536b + ld hl, wdc09 + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + jp Function11425c +; 11537d + +Function11537d: ; 11537d + ld hl, wdc06 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + ld b, a + inc de + ld a, [de] + ld [hli], a + inc hl + ld a, [de] + ld [hld], a + ld a, b + ld [hli], a + inc de + ld hl, RightOrnament + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld hl, wdc0d + ld [hl], e + inc hl + ld [hl], d + xor a + ld [wdc03], a + ld [wdc23], a + ret +; 1153b5 + +Function1153b5: ; 1153b5 + ld hl, wdc0d + ld e, [hl] + inc hl + ld d, [hl] + inc hl + inc hl + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + inc de + ld a, [de] + ld [Bed], a + inc de + ld hl, wdc0d + ld [hl], e + inc hl + ld [hl], d + ret +; 1153d2 + +Function1153d2: ; 1153d2 + ld a, [wdc03] + ld d, a + ld a, [wdc04] + ld e, a + push de + xor a + ld [wdc03], a + ld [wdc04], a + ld a, $24 + ld [Console], a + ld a, $dc + ld [LeftOrnament], a + push bc + jr .asm_1153f4 + +.asm_1153ef + ld a, [hli] + and a + jr z, .asm_115426 + ld b, a + +.asm_1153f4 + push bc +.asm_1153f5 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld c, [hl] + inc hl + push hl + ld a, [Console] + ld l, a + ld a, [LeftOrnament] + ld h, a + push bc + ld b, $0 + call Function115d53 + inc hl + ld [hl], a + pop bc + ld a, l + ld e, a + ld [Console], a + ld a, h + ld d, a + ld [LeftOrnament], a + dec b + jr z, .asm_11542b + pop hl + jr .asm_1153f5 + +.asm_115426 + dec c + jr nz, .asm_1153ef + jr .asm_115430 + +.asm_11542b + pop hl + pop bc + dec c + jr nz, .asm_1153ef + +.asm_115430 + ld a, l + ld [Console], a + ld a, h + ld [LeftOrnament], a + xor a + ld [de], a + ld hl, wdc24 +.asm_11543d + ld a, [hli] + and a + jr nz, .asm_11543d + ld a, [hl] + and a + jr z, .asm_115457 + dec hl + ld a, $2c + ld [hli], a + jr .asm_11543d + +.asm_11544b + pop hl + ld a, h + ld [wdc03], a + ld a, l + ld [wdc04], a + ld a, $1 + ret + +.asm_115457 + ld hl, wdc24 + call Function114d99 + ld hl, $ddc8 +.asm_115460 + ld a, [hli] + and a + jr z, .asm_11546d + cp $2c + jr nz, .asm_115460 + dec hl + xor a + ld [hli], a + jr .asm_115460 + +.asm_11546d + pop de + ld a, e + cp $1 + jr z, .asm_115477 + xor a + ld [hli], a + jr .asm_115478 + +.asm_115477 + dec bc + +.asm_115478 + ld hl, $dc18 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, b + cp h + jr c, .asm_11548c + jr nz, .asm_11544b + ld a, c + cp l + jr c, .asm_11548c + jr z, .asm_11548c + jr .asm_11544b + +.asm_11548c + ld hl, $dc18 + ld a, c + cpl + ld e, a + ld a, b + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld de, $dc18 + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + ld hl, RightOrnament + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $ddc8 + call Function115d6a + ld hl, RightOrnament + ld a, [wdc01] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + ld a, [Console] + ld e, a + ld a, [LeftOrnament] + ld d, a + pop hl + ld a, h + ld [wdc03], a + ld a, l + ld [wdc04], a + xor a + ret +; 1154d4 + +Function1154d4: ; 1154d4 + xor a + ld [wdc23], a + call Function1155af + call Function11560a + and a + jr nz, .asm_11552c + call Function1155d1 + ld a, [RightOrnament] + dec a + ld [RightOrnament], a + and a + jp z, .asm_115577 + cp $1 + jr nz, .asm_115531 + xor a + ld [wdc1c], a +.asm_1154f7 + ld a, [BigDoll] + cp $2 + jr z, .asm_115502 + cp $3 + jr z, .asm_11550f + +.asm_115502 + ld a, $a + ld [wdc03], a + call Function114f59 + and a + jr z, .asm_11551a + jr .asm_11552c + +.asm_11550f + ld a, $c + ld [wdc03], a + call Function114f59 + and a + jr nz, .asm_11552c + +.asm_11551a + call Function114ea0 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c + call Function11560a + and a + jr z, .asm_1155a0 + +.asm_11552c + ld a, $1 + jp Function11425c + +.asm_115531 + ld a, $1 + ld [wdc1c], a + ld a, $b + ld [wdc03], a + call Function114f59 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c +.asm_115547 + call Function114ea0 + and a + jr nz, .asm_11552c + ld a, $e + ld [wdc03], a + call Function114f59 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c + jr .asm_1154f7 + +.asm_115560 + call Function114ea0 + and a + jr nz, .asm_11552c + ld a, [wdc1c] + and a + jr z, .asm_11557d + ld a, $f + ld [wdc03], a + call Function114f59 + and a + jr nz, .asm_11552c + +.asm_115577 + call Function114ea0 + and a + jr nz, .asm_11552c + +.asm_11557d + ld a, $10 + ld [wdc03], a + call Function114f59 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c + ld hl, wdc09 + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + jp Function11425c + +.asm_1155a0 + ld a, [RightOrnament] + dec a + ld [RightOrnament], a + and a + jr z, .asm_115560 + call Function1155d1 + jr .asm_115547 +; 1155af + +Function1155af: ; 1155af + ld hl, wdc06 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + ld b, a + inc de + ld a, [de] + ld [hli], a + ld [hl], b + inc hl + ld [hli], a + inc de + ld a, [de] + ld [RightOrnament], a + inc de + ld a, e + ld [hli], a + ld [hl], d + call Function1155d1 + ret +; 1155d1 + +Function1155d1: ; 1155d1 + ld a, [wdc0d] + ld l, a + ld a, [wdc0e] + ld h, a + ld a, [hli] + ld [BigDoll], a + cp $3 + jr nz, .asm_1155f0 + ld de, Carpet + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld a, [hli] + ld [Bed], a + +.asm_1155f0 + ld de, wdc17 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld a, l + ld [wdc0d], a + ld a, h + ld [wdc0e], a + ret +; 11560a + +Function11560a: ; 11560a + ld a, [wdc06] + ld [wdc01], a + ld a, [wdc17] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld hl, wdc1a + ld c, [hl] + inc hl + ld b, [hl] + ld a, [wdc0a] + cp b + jp c, .asm_1156b1 + jr nz, .asm_115631 + ld a, [wdc09] + cp c + jp c, .asm_1156b1 + +.asm_115631 + ld a, b + or c + jr z, .asm_1156a9 + ld a, [wdc09] + ld l, a + ld a, [wdc0a] + ld h, a + ld a, c + cpl + ld e, a + ld a, b + cpl + ld d, a + inc de + add hl, de + ld a, l + ld [wdc09], a + ld a, h + ld [wdc0a], a +.asm_11564d + ld a, $3 + cp b + jr c, .asm_1156b6 + jr nz, .asm_115659 + ld a, $db + cp c + jr c, .asm_1156b6 + +.asm_115659 + ld a, [wdc1a] + ld e, a + ld a, [wdc1b] + ld d, a + ld a, c + cpl + ld l, a + ld a, b + cpl + ld h, a + inc hl + add hl, de + ld a, l + ld [wdc1a], a + ld a, h + ld [wdc1b], a + push bc + ld hl, $dc18 + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc24 + call Function115d53 + ld hl, $dc18 + ld [hl], e + inc hl + ld [hl], d + pop bc + ld a, [wdc01] + ld [$ff8c], a + ld [$4000], a + ld hl, wdc07 + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc24 + call Function115d6a + ld hl, wdc07 + ld [hl], e + inc hl + ld [hl], d + ld hl, wdc1a + ld c, [hl] + inc hl + ld b, [hl] + ld a, b + or c + jr nz, .asm_11564d + +.asm_1156a9 + ld a, [wdc01] + ld [wdc06], a + xor a + ret + +.asm_1156b1 + ld a, $1 + ld b, $83 + ret + +.asm_1156b6 + ld a, $3 + cpl + ld h, a + ld a, $db + cpl + ld l, a + add hl, bc + ld de, wdc1a + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + ld bc, $03db + jr .asm_115659 +; 1156cc + +Function1156cc: ; 1156cc + ld a, [wdc23] + and a + jp z, Function11425c + cp $2 + jr z, .asm_1156fa + cp $3 + jr z, .asm_1156fd + cp $4 + jr z, .asm_1156fd + cp $5 + jr z, .asm_115716 + cp $ff + jr z, .asm_11572b + cp $1 + jp nz, Function11425c + call Function115732 + call Function11575c + ld a, h + ld [Poster], a + ld a, l + ld [Plant], a + +.asm_1156fa + call Function1157d0 + +.asm_1156fd + call Function11581e + and a + jr nz, .asm_11572b + ld a, [wdc23] + cp $5 + jr z, .asm_115716 + ld a, [Poster] + ld h, a + ld a, [Plant] + ld l, a + xor a + jp Function11425c + +.asm_115716 + ld hl, wdc0a + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + ld [wdc23], a + jp Function11425c + +.asm_11572b + ld a, $1 + ld b, $83 + jp Function11425c +; 115732 + +Function115732: ; 115732 + ld hl, wdc02 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + dec de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + ret +; 11575c + +Function11575c: ; 11575c + ld hl, wdc05 + ld a, [hli] + ld h, [hl] + ld l, a + ld e, $10 + ld b, $0 + ld c, b + ld d, b + ld a, $3 +.asm_11576a + rl l + rl h + rl d + cp d + jr c, .asm_11577c + rl c + rl b + dec e + jr nz, .asm_11576a + jr .asm_11578a + +.asm_11577c + ld a, d + sub $3 + ld d, a + ld a, $3 + scf + rl c + rl b + dec e + jr nz, .asm_11576a + +.asm_11578a + ld a, d + and a + jr z, .asm_11578f + inc bc + +.asm_11578f + sla c + rl b + sla c + rl b + ld h, b + ld l, c + push hl + ld e, $10 + ld b, $0 + ld c, b + ld d, b + ld a, $40 +.asm_1157a2 + rl l + rl h + rl d + cp d + jr c, .asm_1157b4 + rl c + rl b + dec e + jr nz, .asm_1157a2 + jr .asm_1157c3 + +.asm_1157b4 + ld a, d + sub $40 + ld d, a + ld a, $40 + scf + rl c + rl b + dec e + jr nz, .asm_1157a2 + inc bc + +.asm_1157c3 + and a + sla c + rl b + pop hl + add hl, bc + ld a, $2 + ld [wdc23], a + ret +; 1157d0 + +Function1157d0: ; 1157d0 + ld hl, wdc05 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wdc0e] + ld c, a + ld a, [Bed] + ld b, a + cp h + jr c, .asm_1157eb + jr nz, .asm_1157e9 + ld a, c + cp l + jr c, .asm_1157eb + jr z, .asm_1157eb + +.asm_1157e9 + ld b, h + ld c, l + +.asm_1157eb + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [wdc05], a + ld a, h + ld [wdc06], a + ld a, h + or l + jr nz, .asm_11580f + pop bc + ld a, c + ld [wdc0e], a + ld a, b + ld [Bed], a + ld a, $4 + ld [wdc23], a + ret + +.asm_11580f + pop bc + ld a, c + ld [wdc0e], a + ld a, b + ld [Bed], a + ld a, $3 + ld [wdc23], a + ret +; 11581e + +Function11581e: ; 11581e + ld a, [wdc23] + and a + ret z + ld a, [wdc0e] + ld c, a + ld a, [Bed] + ld b, a + ld hl, wdc02 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc24 + push bc + call Function115d53 + pop bc + ld hl, wdc02 + ld a, [wdc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + ld hl, wdc24 + ld de, PartyMon5Defense + call Function1158c2 + ld hl, PartyMon5Defense + ld c, [hl] + inc hl + ld b, [hl] + inc hl + push hl + ld a, [wdc0a] + ld l, a + ld a, [wdc0b] + ld h, a + cp b + jr c, .asm_1158bb + jr nz, .asm_11586e + ld a, l + cp c + jr c, .asm_1158bb + +.asm_11586e + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [wdc0a], a + ld a, h + ld [wdc0b], a + pop bc + pop hl + ld hl, wdc07 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, PartyMon5Speed + call Function115d6a + ld hl, wdc07 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld [hl], d + ld a, [wdc23] + cp $3 + jr z, .asm_1158b4 + cp $4 + jr z, .asm_1158ad + jr .asm_1158bc + +.asm_1158ad + ld a, $5 + ld [wdc23], a + jr .asm_1158b9 + +.asm_1158b4 + ld a, $2 + ld [wdc23], a + +.asm_1158b9 + xor a + ret + +.asm_1158bb + pop hl + +.asm_1158bc + ld a, $ff + ld [wdc23], a + ret +; 1158c2 + +Function1158c2: ; 1158c2 + ld a, e + ld [wdc20], a + ld a, d + ld [wdc21], a + xor a + ld [wdc22], a + xor a + ld [de], a + inc de + ld [de], a + inc de + ld a, c + ld [wdc19], a + ld a, b + ld [wdc1a], a + ld c, e + ld b, d + ld e, l + ld d, h + ld l, c + ld h, b + xor a + ld [wdc1f], a + +.asm_1158e5 + ld b, $3 + push hl + ld hl, wdc1b +.asm_1158eb + ld a, [de] + inc de + ld [hli], a + dec b + jr nz, .asm_1158eb + ld a, [wdc19] + ld c, a + ld a, [wdc1a] + ld b, a + xor a + or b + jr nz, .asm_115914 + ld a, $2 + cp c + jr c, .asm_115914 + push hl + dec hl + ld a, c + ld [wdc1f], a +.asm_115908 + xor a + ld [hld], a + inc c + ld a, $3 + cp c + jr nz, .asm_115908 + pop hl + ld bc, $0003 + +.asm_115914 + dec bc + dec bc + dec bc + ld a, c + ld [wdc19], a + ld a, b + ld [wdc1a], a + push de + push hl + ld hl, wdc20 + ld a, [hli] + ld h, [hl] + ld l, a + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + pop hl + dec hl + ld c, [hl] + dec hl + ld b, [hl] + dec hl + ld a, [hl] + ld d, a + srl a + srl a + ld [hli], a + ld a, $3 + and d + ld d, a + ld a, $f0 + and b + or d + swap a + ld [hli], a + ld a, $f + and b + ld d, a + ld a, c + and $c0 + or d + rlca + rlca + ld [hli], a + ld a, $3f + and c + ld [hld], a + dec hl + dec hl + pop de + ld b, h + ld c, l + pop hl + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [wdc22] + inc a + cp $10 + jr nz, .asm_1159b1 + push af + push bc + ld a, [wdc19] + ld b, a + ld a, [wdc1a] + or b + jr nz, .asm_115998 + ld a, [wdc05] + ld b, a + ld a, [wdc06] + or b + jr nz, .asm_115998 + pop bc + pop af + jr .asm_1159c4 + +.asm_115998 + pop bc + pop af + ld a, $d + ld [hli], a + ld a, $a + ld [hli], a + push hl + ld hl, wdc20 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hli] + ld c, a + ld b, [hl] + inc bc + inc bc + ld a, b + ld [hld], a + ld [hl], c + pop hl + xor a + +.asm_1159b1 + ld [wdc22], a + ld a, [wdc19] + cp $0 + jp nz, .asm_1158e5 + ld a, [wdc1a] + cp $0 + jp nz, .asm_1158e5 + +.asm_1159c4 + ld a, [wdc1f] + cp $0 + jr z, .asm_1159d8 + push hl + dec hl + ld b, a +.asm_1159ce + ld a, $3d + ld [hld], a + inc b + ld a, $3 + cp b + jr nz, .asm_1159ce + pop hl + +.asm_1159d8 + ld a, $0 + ld [hl], a + ret +; 1159dc + +Function1159dc: ; 1159dc + cp $1a + jr c, .asm_1159ef + cp $34 + jr c, .asm_1159f2 + cp $3e + jr c, .asm_1159f5 + cp $3e + jr z, .asm_1159f8 + ld a, $2f + ret + +.asm_1159ef + add $41 + ret + +.asm_1159f2 + add $47 + ret + +.asm_1159f5 + sub $4 + ret + +.asm_1159f8 + ld a, $2b + ret +; 1159fb + +Function1159fb: ; 1159fb + ld a, [wdc23] + and a + jp z, Function11425c + cp $2 + jr z, .asm_115a29 + cp $3 + jr z, .asm_115a2c + cp $4 + jr z, .asm_115a2c + cp $5 + jr z, .asm_115a45 + cp $ff + jr z, .asm_115a5a + cp $1 + jp nz, Function11425c + call Function115732 + call Function115a5f + ld a, h + ld [Plant], a + ld a, l + ld [Poster], a + +.asm_115a29 + call Function115ab0 + +.asm_115a2c + call Function115b00 + and a + jr nz, .asm_115a5a + ld a, [wdc23] + cp $5 + jr z, .asm_115a45 + ld a, [Poster] + ld h, a + ld a, [Plant] + ld l, a + xor a + jp Function11425c + +.asm_115a45 + ld hl, wdc0a + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + ld [wdc23], a + jp Function11425c + +.asm_115a5a + ld a, $1 + jp Function11425c +; 115a5f + +Function115a5f: ; 115a5f + ld hl, wdc05 + ld a, [hli] + ld h, [hl] + ld l, a + push hl + ld e, $10 + ld b, $0 + ld c, b + ld d, b + ld a, $42 +.asm_115a6e + rl l + rl h + rl d + cp d + jr c, .asm_115a80 + rl c + rl b + dec e + jr nz, .asm_115a6e + jr .asm_115a8e + +.asm_115a80 + ld a, d + sub $42 + ld d, a + ld a, $42 + scf + rl c + rl b + dec e + jr nz, .asm_115a6e + +.asm_115a8e + sla c + rl b + pop hl + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + srl h + rr l + srl h + rr l + ld b, h + ld c, l + sla c + rl b + add hl, bc + ld a, $2 + ld [wdc23], a + ret +; 115ab0 + +Function115ab0: ; 115ab0 + ld hl, wdc05 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wdc0e] + ld c, a + ld a, [Bed] + ld b, a + cp h + jr c, .asm_115acb + jr nz, .asm_115ac9 + ld a, c + cp l + jr c, .asm_115acb + jr z, .asm_115acb + +.asm_115ac9 + ld b, h + ld c, l + +.asm_115acb + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [wdc05], a + ld a, h + ld [wdc06], a + ld a, h + or l + jr nz, .asm_115af0 + pop bc + ld a, c + ld [wdc0e], a + ld a, b + ld [Bed], a + ld a, $4 + ld [wdc23], a + xor a + ret + +.asm_115af0 + pop bc + ld a, c + ld [wdc0e], a + ld a, b + ld [Bed], a + ld a, $3 + ld [wdc23], a + xor a + ret +; 115b00 + +Function115b00: ; 115b00 + ld a, [wdc23] + and a + ret z + ld a, [wdc0e] + ld c, a + ld a, [Bed] + ld b, a + ld hl, wdc02 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, PartyMon5Defense + push bc + call Function115bc8 + pop hl + and a + jr z, .asm_115b43 + cp $2 + jr z, .asm_115b3b + ld a, [wdc23] + cp $4 + jr z, .asm_115b43 + inc hl + inc hl + jr .asm_115b43 + +.asm_115b36 + pop hl + ld b, $83 + jr .asm_115b3d + +.asm_115b3b + ld b, $81 + +.asm_115b3d + ld a, $ff + ld [wdc23], a + ret + +.asm_115b43 + ld a, [Carpet] + add a + cpl + ld c, a + ld b, $ff + inc bc + add hl, bc + ld b, h + ld c, l + ld hl, wdc02 + ld a, [wdc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + ld hl, PartyMon5Defense + ld de, wdc24 + call Function115c49 + ld hl, wdc24 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + push hl + ld a, [wdc0a] + ld l, a + ld a, [wdc0b] + ld h, a + cp b + jr c, .asm_115b36 + jr nz, .asm_115b7b + ld a, l + cp c + jr c, .asm_115b36 + +.asm_115b7b + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [wdc0a], a + ld a, h + ld [wdc0b], a + pop bc + pop hl + ld hl, wdc07 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc26 + call Function115d6a + ld hl, wdc07 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld [hl], d + ld a, [wdc23] + cp $3 + jr z, .asm_115bc1 + cp $4 + jr z, .asm_115bba + jr .asm_115b3b + +.asm_115bba + ld a, $5 + ld [wdc23], a + jr .asm_115bc6 + +.asm_115bc1 + ld a, $2 + ld [wdc23], a + +.asm_115bc6 + xor a + ret +; 115bc8 + +Function115bc8: ; 115bc8 + xor a + ld [Carpet], a +.asm_115bcc + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c46 + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c1b + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c46 + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c3a + ld a, [de] + cp $d + jr nz, .asm_115bcc + inc e + call z, .Function115c3d + ld a, [de] + cp $a + jr nz, .asm_115c46 + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c46 + ld a, [Carpet] + inc a + ld [Carpet], a + dec bc + ld a, b + or c + jr nz, .asm_115bcc + +.asm_115c1b + ld a, [wdc23] + cp $4 + jr z, .asm_115c33 + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + xor a + ld [hl], a + ld a, $1 + ret + +.asm_115c33 + dec hl + dec hl + xor a + ld [hl], a + ld a, $1 + ret + +.asm_115c3a + xor a + ld [hl], a + ret + +.Function115c3d: + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret + +.asm_115c46 + ld a, $2 + ret +; 115c49 + +Function115c49: ; 115c49 + ld a, e + ld [wdc1f], a + ld a, d + ld [wdc20], a + xor a + ld [de], a + inc de + ld [de], a + inc de + + ld a, c + ld [wdc19], a + ld a, b + ld [wdc1a], a + ld c, e + ld b, d + ld e, l + ld d, h + ld l, c + ld h, b + +.asm_115c64 + ld a, [wdc1a] + or a + jr nz, .asm_115c71 + ld a, [wdc19] + cp $4 + jr c, .asm_115c99 + +.asm_115c71 + ld b, $4 + push hl + ld hl, wdc1b +.asm_115c77 + ld a, [de] + inc de + call Function115cfd + ld [hli], a + dec b + jr nz, .asm_115c77 + ld a, [wdc19] + ld c, a + ld a, [wdc1a] + ld b, a + dec bc + dec bc + dec bc + dec bc +.asm_115c8c + ld a, [de] + cp $d + jr z, .asm_115c95 + cp $a + jr nz, .asm_115c9f + +.asm_115c95 + inc de + dec bc + jr .asm_115c8c + +.asm_115c99 + ld a, $ff + ld [wdc23], a + ret + +.asm_115c9f + ld a, c + ld [wdc19], a + ld a, b + ld [wdc1a], a + push de + push hl + ld hl, wdc1f + ld a, [hli] + ld h, [hl] + ld l, a + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + pop hl + dec hl + ld d, [hl] + dec hl + ld c, [hl] + dec hl + ld b, [hl] + dec hl + ld a, [hl] + sla b + sla b + sla b + rla + sla b + rla + ld [hli], a + ld [hl], b + inc hl + rrc c + rrc c + ld [hl], c + dec hl + ld a, $f + and c + or [hl] + ld [hli], a + ld a, [hli] + and $c0 + or [hl] + dec hl + ld [hld], a + dec hl + pop de + ld b, h + ld c, l + pop hl + ld a, [bc] + ld [hli], a + inc bc + ld a, [bc] + ld [hli], a + inc bc + ld a, [bc] + ld [hli], a + ld a, [wdc19] + cp $0 + jp nz, .asm_115c64 + ld a, [wdc1a] + cp $0 + jp nz, .asm_115c64 + ret +; 115cfd + +Function115cfd: ; 115cfd + cp $2b + jr c, .asm_115d27 + jr z, .asm_115d2f + cp $2f + jr c, .asm_115d27 + jr z, .asm_115d32 + cp $30 + jr c, .asm_115d27 + cp $3a + jr c, .asm_115d35 + cp $3d + jr c, .asm_115d27 + jr z, .asm_115d38 + cp $41 + jr c, .asm_115d27 + cp $5b + jr c, .asm_115d4d + cp $61 + jr c, .asm_115d27 + cp $7b + jr c, .asm_115d50 + +.asm_115d27 + pop hl + pop hl + ld a, $ff + ld [wdc23], a + ret + +.asm_115d2f + ld a, $3e + ret + +.asm_115d32 + ld a, $3f + ret + +.asm_115d35 + add $4 + ret + +.asm_115d38 + push de + push hl + ld a, [wdc1f] + ld l, a + ld a, [wdc20] + ld h, a + ld e, [hl] + inc hl + ld d, [hl] + dec de + ld [hl], d + dec hl + ld [hl], e + pop hl + pop de + xor a + ret + +.asm_115d4d + sub $41 + ret + +.asm_115d50 + sub $47 + ret +; 115d53 + +Function115d53: ; 115d53 +.asm_115d53 + ld a, [de] + ld [hli], a + inc e + call z, Function115d61 + dec bc + ld a, b + or c + jr nz, .asm_115d53 + xor a + ld [hl], a + ret +; 115d61 + +Function115d61: ; 115d61 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 115d6a + +Function115d6a: ; 115d6a +.asm_115d6a + ld a, [hli] + ld [de], a + inc e + call z, Function115d77 + dec bc + ld a, b + or c + jr nz, .asm_115d6a + xor a + ret +; 115d77 + +Function115d77: ; 115d77 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 115d80 + +Function115d80: ; 115d80 + ld e, a + ld a, d + cp $bf + jr z, .asm_115d8b + inc d + ld a, e + ld e, $0 + ret + +.asm_115d8b + ld a, [bc] + inc a + ld [bc], a + ld [$ff8c], a + ld [$4000], a + ld a, e + ld d, $a0 + ld e, $0 + ret +; 115d99 + +Function115d99: ; 115d99 + ld de, GFX_11601a + ld hl, $8600 + lb bc, BANK(GFX_11601a), $14 + call Get2bpp + xor a + ld [wc305], a + ld [wc306], a + ld [wc309], a + ld [wc30a], a + ld [wc30b], a + ld [wc30c], a + ld a, $10 + ld [wc307], a + ld a, $18 + ld [wc308], a + ret +; 115dc3 + +Function115dc3: ; 115dc3 + xor a + ld [wc305], a + ld a, $a0 + ld hl, Sprites + $7c + ld bc, $0020 + call ByteFill + ret +; 115dd3 + +Function115dd3: ; 115dd3 + ld a, [wc305] + and a + ret z + ld a, $a0 + ld hl, Sprites + $7c + ld bc, $0020 + call ByteFill + call Function115e22 + ld a, [wc309] + sla a + ld c, a + ld b, 0 + ld hl, Unknown_115e86 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld de, Sprites + $7c + ld a, [wc307] + ld c, a + ld a, [wc308] + ld b, a + ld a, [hli] +.asm_115e04 + push af + ld a, [hli] + add b + ld [de], a + inc de + ld a, [hli] + add c + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop af + dec a + jr nz, .asm_115e04 + ret +; 115e18 + +Function115e18: ; 115e18 + ld a, c + ld [wc30a], a + xor a + ld [wc30b], a + jr Function115e2b +; 115e22 + +Function115e22: ; 115e22 + ld hl, wc30c + dec [hl] + ret nz + ld hl, wc30b + inc [hl] + +Function115e2b: ; 115e2b + ld a, [wc30a] + sla a + ld c, a + ld b, 0 + ld hl, Unknown_115e59 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + pop hl + ld a, [wc30b] + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + cp $ff + jr nz, .asm_115e51 + xor a + ld [wc30b], a + jr Function115e2b + +.asm_115e51 + ld [wc309], a + ld a, [hl] + ld [wc30c], a + ret +; 115e59 + +Unknown_115e59: + dw Unknown_115e61 + dw Unknown_115e6c + dw Unknown_115e76 + dw Unknown_115e79 + +Unknown_115e61: ; 115e61 + db $4, $8 + db $5, $8 + db $6, $8 + db $7, $8 + db $8, $8 + db $ff + +Unknown_115e6c: ; 115e6c + db $1, $8 + db $2, $8 + db $3, $8 + db $9, $8 + db $a, $8 + +Unknown_115e76: ; 115e76 + db $0, $8 + db $ff + +Unknown_115e79: ; 115e79 + db $b, $8 + db $c, $8 + db $d, $8 + db $e, $8 + db $f, $8 + db $0, $8 + db $ff +; 115e86 + +Unknown_115e86: + dw Unknown_115ea6 + dw Unknown_115eb7 + dw Unknown_115ecc + dw Unknown_115ee1 + dw Unknown_115ef6 + dw Unknown_115f13 + dw Unknown_115f30 + dw Unknown_115f4d + dw Unknown_115f6a + dw Unknown_115f87 + dw Unknown_115f9c + dw Unknown_115fb1 + dw Unknown_115fc6 + dw Unknown_115fdb + dw Unknown_115ff0 + dw Unknown_116005 + +Unknown_115ea6: ; 115ea6 + db $4 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115eb7: ; 115eb7 + db $5 + db $0, $8, $64, $0 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115ecc: ; 115ecc + db $5 + db $0, $8, $65, $0 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115ee1: ; 115ee1 + db $5 + db $0, $8, $66, $0 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115ef6: ; 115ef6 + db $7 + db $0, $0, $67, $1 + db $8, $0, $68, $1 + db $10, $0, $6d, $0 + db $10, $8, $69, $0 + db $10, $10, $6a, $0 + db $18, $8, $6b, $0 + db $18, $10, $6c, $0 + +Unknown_115f13: ; 115f13 + db $7 + db $0, $0, $67, $1 + db $8, $0, $68, $1 + db $10, $0, $6e, $0 + db $10, $8, $69, $0 + db $10, $10, $6a, $0 + db $18, $8, $6b, $0 + db $18, $10, $6c, $0 + +Unknown_115f30: ; 115f30 + db $7 + db $0, $0, $67, $1 + db $8, $0, $68, $1 + db $10, $0, $6f, $0 + db $10, $8, $69, $0 + db $10, $10, $6a, $0 + db $18, $8, $6b, $0 + db $18, $10, $6c, $0 + +Unknown_115f4d: ; 115f4d + db $7 + db $0, $0, $67, $1 + db $8, $0, $68, $1 + db $10, $0, $70, $0 + db $10, $8, $69, $0 + db $10, $10, $6a, $0 + db $18, $8, $6b, $0 + db $18, $10, $6c, $0 + +Unknown_115f6a: ; 115f6a + db $7 + db $0, $0, $67, $1 + db $8, $0, $68, $1 + db $10, $0, $71, $0 + db $10, $8, $69, $0 + db $10, $10, $6a, $0 + db $18, $8, $6b, $0 + db $18, $10, $6c, $0 + +Unknown_115f87: ; 115f87 + db $5 + db $0, $8, $72, $0 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115f9c: ; 115f9c + db $5 + db $0, $8, $73, $0 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115fb1: ; 115fb1 + db $5 + db $1, $8, $64, $60 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115fc6: ; 115fc6 + db $5 + db $1, $8, $65, $60 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115fdb: ; 115fdb + db $5 + db $1, $8, $66, $60 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115ff0: ; 115ff0 + db $5 + db $1, $8, $72, $60 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_116005: ; 116005 + db $5 + db $1, $8, $73, $60 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 +; 11601a + +GFX_11601a:: ; 11601a +INCBIN "gfx/unknown/11601a.2bpp" + +Function11615a: ; 11615a + xor a + ld [wc30d], a + ld [wc319], a + ld [wc310], a + ld [wc311], a + ld [wc312], a + ld [wc313], a + ld [wc314], a + ld [wc315], a + ld [wc318], a + ld [wc3f6], a + ld [wc3f8], a + ld [wc3f2], a + ld [wc3f4], a + ld a, $24 + ld [wc3f5], a + ld a, $7 + ld [wc3f7], a + ld a, $b0 + ld [wc30e], a + ld [wc3f1], a + ld a, $48 + ld [wc30f], a + ld [wc3f3], a + ret +; 11619d + +Function11619d: ; 11619d + ld a, [wc30d] + and a + ret z + ld a, [wc319] + cp $2 + jr c, .asm_1161b4 + ld a, $a0 + ld hl, Sprites + ld bc, $0064 + call ByteFill + +.asm_1161b4 + call Function1161b8 + ret +; 1161b8 + +Function1161b8: ; 1161b8 + ld a, [wc319] + ld e, a + ld d, 0 + ld hl, Jumptable_1161c7 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1161c7 + +Jumptable_1161c7: ; 1161c7 + dw Function1161d5 + dw Function116294 + dw Function1162cb + dw Function1162f2 + dw Function1163c0 + dw Function11636e + dw Function116441 +; 1161d5 + +Function1161d5: ; 1161d5 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + ld hl, Unknown_117356 + ld de, w6_d000 + ld bc, $0300 + call CopyBytes + di +.asm_1161e9 + ld a, [rLY] + cp $91 + jr nz, .asm_1161e9 + ld a, $d0 + ld [rHDMA1], a + ld a, $0 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + ld a, $d0 + ld [rHDMA1], a + ld a, $80 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + ld a, $80 + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + ld a, $d1 + ld [rHDMA1], a + ld a, $0 + ld [rHDMA2], a + ld a, $1d + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + ld a, $1 + ld [rVBK], a + ld a, $d1 + ld [rHDMA1], a + ld a, $80 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + ld a, $d2 + ld [rHDMA1], a + ld a, $0 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + ld a, $80 + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + ld a, $d2 + ld [rHDMA1], a + ld a, $80 + ld [rHDMA2], a + ld a, $1d + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + xor a + ld [rVBK], a + ei + pop af + ld [rSVBK], a + callba Function104061 + ld a, $8 + ld [MusicFade], a + ld de, MUSIC_MOBILE_ADAPTER + ld a, e + ld [wc2a9], a + ld a, d + ld [wc2aa], a + ld a, [wc319] + inc a + ld [wc319], a + ret +; 11628c + +MenuDataHeader_11628c: ; 11628c + db $40 ; flags + db 6, 0 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 116294 + +Function116294: ; 116294 + callba Function170d02 + ld a, [wc319] + inc a + ld [wc319], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, wd030 + ld de, wc320 + ld bc, $0010 + call CopyBytes + ld hl, Palette_11734e + ld de, Unkn1Pals + 8 * 7 + ld bc, $0008 + call CopyBytes + call Function32f9 + pop af + ld [rSVBK], a + ld a, $30 + ld [hWY], a + ret +; 1162cb + +Function1162cb: ; 1162cb + callba Function170cc6 + ld a, [wc319] + inc a + ld [wc319], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_11730e + ld de, wd050 + ld bc, $0030 + call CopyBytes + call Function32f9 + pop af + ld [rSVBK], a + ret +; 1162f2 + +Function1162f2: ; 1162f2 + call Function11659d + call Function116758 + call Function1167a6 + ld a, [wc310] + cp $fd + ret z + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1168c5 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wc30e] + ld c, a + ld a, [wc30f] + ld b, a + ld a, [wc318] + ld e, a + ld a, [hli] + sub e + ld de, Sprites + $24 +.asm_116321 + push af + ld a, [hli] + add b + ld [de], a + inc de + ld a, [hli] + add c + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop af + dec a + jr nz, .asm_116321 + call Function116468 + ld a, [wc3f5] + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1168c5 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wc3f1] + ld c, a + ld a, [wc3f3] + ld b, a + ld a, [wc3f8] + ld e, a + ld a, [hli] + sub e + ld de, Sprites +.asm_11635a + push af + ld a, [hli] + add b + ld [de], a + inc de + ld a, [hli] + add c + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop af + dec a + jr nz, .asm_11635a + ret +; 11636e + +Function11636e: ; 11636e + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, BGPals + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function32f9 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, $a0 + ld hl, Sprites + ld bc, $0040 + call ByteFill + ld a, $90 + ld [hWY], a + call Function1ad2 + pop af + ld [rSVBK], a + callba Function104061 + ld a, $8 + ld [MusicFade], a + ld a, [wc2c0] + ld [wc2a9], a + xor a + ld [wc2aa], a + xor a + ld [wc319], a + ld [wc30d], a + ret +; 1163c0 + +Function1163c0: ; 1163c0 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, $a0 + ld hl, Sprites + ld bc, $0040 + call ByteFill + call DelayFrame + callba Function14146 + ld b, $9 + call GetSGBLayout + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, wc320 + ld de, wd030 + ld bc, $0010 + call CopyBytes + pop af + ld [rSVBK], a + call Function32f9 + call DelayFrame + ld a, $90 + ld [hWY], a + call Function1ad2 + callba Function14157 + pop af + ld [rSVBK], a + callba Function104061 + ld a, [InLinkBattle] + cp $4 + jr z, .asm_11642a + ld a, $8 + ld [MusicFade], a + ld a, [wc2c0] + ld [wc2a9], a + xor a + ld [wc2aa], a + jr .asm_116439 + +.asm_11642a + ld a, $8 + ld [MusicFade], a + ld a, $0 + ld [wc2a9], a + ld a, $0 + ld [wc2aa], a + +.asm_116439 + xor a + ld [wc319], a + ld [wc30d], a + ret +; 116441 + +Function116441: ; 116441 + callba Function17d405 + ld a, $90 + ld [hWY], a + callba Function104061 + ld a, $8 + ld [MusicFade], a + ld a, [wc2c0] + ld [wc2a9], a + xor a + ld [wc2aa], a + xor a + ld [wc319], a + ld [wc30d], a + ret +; 116468 + +Function116468: ; 116468 + call Function116567 + ld a, [wc314] + cp $d + jr nz, .asm_1164a8 + ld hl, wc30e + ld a, [hl] + cp $50 + jr nc, .asm_116484 + ld a, $50 + sub [hl] + add $50 + ld [wc3f1], a + jr .asm_11648d + +.asm_116484 + sub $50 + ld c, a + ld a, $50 + sub c + ld [wc3f1], a + +.asm_11648d + ld hl, wc30f + ld a, [hl] + cp $60 + jr nc, .asm_11649e + ld a, $60 + sub [hl] + add $60 + ld [wc3f3], a + ret + +.asm_11649e + sub $60 + ld c, a + ld a, $60 + sub c + ld [wc3f3], a + ret + +.asm_1164a8 + ld hl, wc30e + ld a, $b0 + cp [hl] + jr nc, .asm_1164b8 + ld a, [wc3f1] + and a + jr z, .asm_11650b + jr .asm_1164f2 + +.asm_1164b8 + ld a, [wc3f1] + sub [hl] + jr nc, .asm_1164c1 + xor $ff + inc a + +.asm_1164c1 + ld b, a + ld c, $0 + ld a, $5 +.asm_1164c6 + srl b + rr c + dec a + jr nz, .asm_1164c6 + ld a, c + ld [wc3fa], a + ld a, b + ld [wc3f9], a + ld a, [wc3f1] + sub [hl] + jr c, .asm_1164f2 + ld c, $0 + ld a, [wc3fa] + xor $ff + add $1 + rl c + ld [wc3fa], a + ld a, [wc3f9] + xor $ff + add c + ld [wc3f9], a + +.asm_1164f2 + ld a, [wc3f2] + ld l, a + ld a, [wc3f1] + ld h, a + ld a, [wc3fa] + ld e, a + ld a, [wc3f9] + ld d, a + add hl, de + ld a, l + ld [wc3f2], a + ld a, h + ld [wc3f1], a + +.asm_11650b + ld hl, wc30f + ld a, $b0 + cp [hl] + jr c, .asm_11654d + ld a, [wc3f3] + sub [hl] + jr nc, .asm_11651c + xor $ff + inc a + +.asm_11651c + ld b, a + ld c, $0 + ld a, $5 +.asm_116521 + srl b + rr c + dec a + jr nz, .asm_116521 + ld a, c + ld [wc3fc], a + ld a, b + ld [wc3fb], a + ld a, [wc3f3] + sub [hl] + jr c, .asm_11654d + ld c, $0 + ld a, [wc3fc] + xor $ff + add $1 + rl c + ld [wc3fc], a + ld a, [wc3fb] + xor $ff + add c + ld [wc3fb], a + +.asm_11654d + ld a, [wc3f4] + ld l, a + ld a, [wc3f3] + ld h, a + ld a, [wc3fc] + ld e, a + ld a, [wc3fb] + ld d, a + add hl, de + ld a, l + ld [wc3f4], a + ld a, h + ld [wc3f3], a + ret +; 116567 + +Function116567: ; 116567 + ld hl, wc3f7 + dec [hl] + ret nz + ld hl, wc3f6 + inc [hl] +.asm_116570 + ld a, $7 + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1167eb + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + pop hl + ld a, [wc3f6] + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + cp $fe + jr nz, .asm_116595 + xor a + ld [wc3f6], a + jr .asm_116570 + +.asm_116595 + ld [wc3f5], a + ld a, [hl] + ld [wc3f7], a + ret +; 11659d + +Function11659d: ; 11659d + ld a, [wc314] + cp $12 + ret nc + ld e, a + ld d, 0 + ld hl, Jumptable_1165af + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1165af + +Jumptable_1165af: ; 1165af + dw Function11677e + dw Function1165d5 + dw Function1165d8 + dw Function1165e3 + dw Function1165f5 + dw Function116600 + dw Function116615 + dw Function116618 + dw Function116623 + dw Function116635 + dw Function116640 + dw Function116655 + dw Function11665c + dw Function11668d + dw Function11669f + dw Function1166a2 + dw Function1166c4 + dw Function1166d6 + dw Function1166d6 +; 1165d5 + +Function1165d5: ; 1165d5 + call Function11678e + +Function1165d8: + ld a, $0 + ld c, a + ld a, $ff + ld b, a + ld a, $a8 + call Function1166f4 + +Function1165e3: + call Function116747 + ld a, [wc30e] + cp $e8 + ret nz + ld a, $1 + call Function116780 + ret c + jp Function116797 +; 1165f5 + +Function1165f5: ; 1165f5 + ld a, $1 + ld c, a + ld a, $1 + ld b, a + ld a, $e8 + call Function1166f4 + +Function116600: + call Function116747 + ld a, [wc30e] + cp $a8 + ret nz + ld a, $1 + call Function116780 + ret c + ld a, $2 + ld [wc314], a + ret +; 116615 + +Function116615: ; 116615 + call Function11678e + +Function116618: + ld a, $3 + ld c, a + ld a, $1 + ld b, a + ld a, $28 + call Function11671f + +Function116623: + call Function116747 + ld a, [wc30f] + cp $a0 + ret nz + ld a, $6 + call Function116780 + ret c + jp Function116797 +; 116635 + +Function116635: ; 116635 + ld a, $2 + ld c, a + ld a, $ff + ld b, a + ld a, $a0 + call Function11671f + +Function116640: + call Function116747 + ld a, [wc30f] + cp $28 + ret nz + ld a, $6 + call Function116780 + ret c + ld a, $7 + ld [wc314], a + ret +; 116655 + +Function116655: ; 116655 + xor a + ld [wc317], a + call Function11678e + +Function11665c: + ld hl, wc317 + ld a, $1 + xor [hl] + ld [hl], a + add $4 + ld c, a + call Function11679c + ld a, [wc317] + and a + jr nz, .asm_116673 + ld a, $48 + jr .asm_116675 + +.asm_116673 + ld a, $78 + +.asm_116675 + ld [wc30f], a + call Random + ld a, [hRandomAdd] + and $7 + sla a + sla a + sla a + add $30 + ld [wc30e], a + call Function116797 + +Function11668d: + ld a, [wc311] + cp $ff + ret nz + ld a, $b + call Function116780 + ret c + ld a, $c + ld [wc314], a + ret +; 11669f + +Function11669f: ; 11669f + call Function11678e + +Function1166a2: + ld a, $a8 + ld [wc30e], a + ld [wc3f1], a + ld a, $60 + ld [wc30f], a + ld [wc3f3], a + ld a, $ff + ld [wc316], a + xor a + ld [wc317], a + ld a, $0 + ld c, a + call Function11679c + call Function116797 + +Function1166c4: + call Function116747 + ld a, [wc30e] + cp $58 + ret nz + ld a, $6 + ld c, a + call Function11679c + call Function116797 + +Function1166d6: + call Function116747 + ld a, [wc30e] + cp $48 + jr nz, .asm_1166e4 + xor a + ld [wc316], a + +.asm_1166e4 + ld a, [wc311] + cp $ff + ret nz + ld a, $4 + ld [wc319], a + xor a + ld [wc314], a + ret +; 1166f4 + +Function1166f4: ; 1166f4 + ld [wc30e], a + ld a, b + ld [wc316], a + xor a + ld [wc317], a + ld hl, wc30f +.asm_116702 + call Random + ld a, [hRandomAdd] + and $7 + jr z, .asm_11670c + dec a + +.asm_11670c + sla a + sla a + sla a + add $48 + cp [hl] + jr z, .asm_116702 + ld [hl], a + call Function11679c + call Function116797 + ret +; 11671f + +Function11671f: ; 11671f + ld [wc30f], a + ld a, b + ld [wc317], a + xor a + ld [wc316], a + ld hl, wc30e +.asm_11672d + call Random + ld a, [hRandomAdd] + and $7 + sla a + sla a + sla a + add $30 + cp [hl] + jr z, .asm_11672d + ld [hl], a + call Function11679c + call Function116797 + ret +; 116747 + +Function116747: ; 116747 + ld hl, wc30e + ld a, [wc316] + add [hl] + ld [hl], a + ld hl, wc30f + ld a, [wc317] + add [hl] + ld [hl], a + ret +; 116758 + +Function116758: ; 116758 + ld a, [wc30f] + cp $30 + jr c, .asm_116770 + jr z, .asm_116770 + cp $38 + jr c, .asm_116774 + jr z, .asm_116774 + cp $40 + jr c, .asm_116778 + jr z, .asm_116778 + xor a + jr .asm_11677a + +.asm_116770 + ld a, $c + jr .asm_11677a + +.asm_116774 + ld a, $8 + jr .asm_11677a + +.asm_116778 + ld a, $4 + +.asm_11677a + ld [wc318], a + ret +; 11677e + +Function11677e: ; 11677e + ld a, $0 + +Function116780: + ld hl, wc315 + cp [hl] + jr z, .asm_11678c + ld a, [hl] + ld [wc314], a + scf + ret + +.asm_11678c + and a + ret +; 11678e + +Function11678e: ; 11678e + ld hl, wc314 + ld a, [hl] + ld [wc315], a + inc [hl] + ret +; 116797 + +Function116797: ; 116797 + ld hl, wc314 + inc [hl] + ret +; 11679c + +Function11679c: + ld a, c + ld [wc311], a + xor a + ld [wc312], a + jr asm_1167af + +Function1167a6: ; 1167a6 + ld hl, wc313 + dec [hl] + ret nz + ld hl, wc312 + inc [hl] + +asm_1167af +.asm_1167af + ld a, [wc311] + cp $ff + ret z + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1167eb + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + pop hl + ld a, [wc312] + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + cp $ff + jr z, .asm_1167dc + cp $fe + jr nz, .asm_1167e3 + xor a + ld [wc312], a + jr .asm_1167af + +.asm_1167dc + ld a, $ff + ld [wc311], a + ld a, $fd + +.asm_1167e3 + ld [wc310], a + ld a, [hl] + ld [wc313], a + ret +; 1167eb + +Unknown_1167eb: + dw Unknown_1167fb + dw Unknown_116808 + dw Unknown_116867 + dw Unknown_116870 + dw Unknown_116815 + dw Unknown_11683e + dw Unknown_116881 + dw Unknown_1168ae + +Unknown_1167fb: ; 1167fb + db $0, $6 + db $1, $4 + db $2, $4 + db $3, $6 + db $2, $4 + db $1, $4 + db $fe + +Unknown_116808: ; 116808 + db $4, $6 + db $5, $4 + db $6, $4 + db $7, $6 + db $6, $4 + db $5, $4 + db $fe + +Unknown_116815: ; 116815 + db $fd, $20 + db $8, $c + db $9, $24 + db $a, $4 + db $b, $8 + db $a, $4 + db $9, $6 + db $c, $4 + db $d, $8 + db $c, $5 + db $9, $24 + db $a, $4 + db $b, $8 + db $a, $4 + db $9, $6 + db $c, $4 + db $d, $8 + db $c, $5 + db $9, $8 + db $8, $4 + db $ff + +Unknown_11683e: ; 11683e + db $fd, $20 + db $e, $c + db $f, $24 + db $10, $4 + db $11, $8 + db $10, $4 + db $f, $6 + db $12, $4 + db $13, $8 + db $12, $5 + db $f, $24 + db $10, $4 + db $11, $8 + db $10, $4 + db $f, $6 + db $12, $4 + db $13, $8 + db $12, $5 + db $f, $8 + db $e, $4 + db $ff + +Unknown_116867: ; 116867 + db $14, $8 + db $15, $8 + db $16, $8 + db $15, $8 + db $fe + +Unknown_116870: ; 116870 + db $17, $5 + db $18, $5 + db $19, $5 + db $1a, $5 + db $1b, $5 + db $1a, $5 + db $19, $5 + db $18, $5 + db $fe + +Unknown_116881: ; 116881 + db $1c, $7 + db $1d, $7 + db $1e, $a + db $1f, $a + db $20, $5 + db $21, $5 + db $20, $5 + db $21, $5 + db $20, $18 + db $22, $4 + db $23, $2 + db $22, $2 + db $23, $2 + db $22, $1 + db $23, $1 + db $22, $1 + db $23, $4 + db $fd, $1 + db $23, $1 + db $fd, $2 + db $23, $2 + db $fd, $40 + db $ff + +Unknown_1168ae: ; 1168ae + db $24, $4 + db $25, $4 + db $26, $4 + db $27, $4 + db $28, $4 + db $29, $4 + db $2a, $4 + db $2b, $4 + db $2c, $4 + db $2d, $4 + db $2e, $4 + db $fe +; 1168c5 + +Unknown_1168c5: + dw Unknown_116923 + dw Unknown_116960 + dw Unknown_1169a1 + dw Unknown_1169de + dw Unknown_116a1b + dw Unknown_116a58 + dw Unknown_116a99 + dw Unknown_116ad6 + dw Unknown_116d1b + dw Unknown_116d4c + dw Unknown_116d85 + dw Unknown_116dbe + dw Unknown_116df7 + dw Unknown_116e30 + dw Unknown_116e69 + dw Unknown_116e9a + dw Unknown_116ed3 + dw Unknown_116f0c + dw Unknown_116f45 + dw Unknown_116f7e + dw Unknown_116b13 + dw Unknown_116b54 + dw Unknown_116b95 + dw Unknown_116bd6 + dw Unknown_116c17 + dw Unknown_116c58 + dw Unknown_116c99 + dw Unknown_116cda + dw Unknown_116fb7 + dw Unknown_116fec + dw Unknown_117025 + dw Unknown_117056 + dw Unknown_117083 + dw Unknown_1170c0 + dw Unknown_1170fd + dw Unknown_11713a + dw Unknown_117177 + dw Unknown_11719c + dw Unknown_1171c1 + dw Unknown_1171e6 + dw Unknown_11720b + dw Unknown_117230 + dw Unknown_117255 + dw Unknown_11727a + dw Unknown_11729f + dw Unknown_1172c4 + dw Unknown_1172e9 + +Unknown_116923: ; 116923 + db $f + db $0, $0, $1, $a + db $0, $8, $2, $d + db $0, $10, $3, $d + db $0, $18, $4, $d + db $8, $0, $11, $a + db $8, $8, $12, $a + db $8, $10, $13, $a + db $8, $18, $14, $d + db $10, $0, $21, $a + db $10, $8, $22, $a + db $10, $10, $23, $a + db $10, $18, $24, $a + db $18, $0, $31, $a + db $18, $8, $32, $a + db $18, $10, $33, $a + +Unknown_116960: ; 116960 + db $10 + db $1, $0, $1, $a + db $1, $8, $2, $d + db $1, $10, $3, $d + db $1, $18, $4, $d + db $9, $0, $11, $a + db $9, $8, $12, $a + db $9, $10, $13, $a + db $9, $18, $14, $d + db $11, $0, $5, $a + db $11, $8, $6, $a + db $11, $10, $7, $a + db $11, $18, $34, $a + db $19, $0, $15, $a + db $19, $8, $16, $a + db $19, $10, $17, $a + db $19, $18, $35, $a + +Unknown_1169a1: ; 1169a1 + db $f + db $1, $0, $1, $a + db $1, $8, $2, $d + db $1, $10, $3, $d + db $1, $18, $4, $d + db $9, $0, $11, $a + db $9, $8, $12, $a + db $9, $10, $13, $a + db $9, $18, $14, $d + db $11, $0, $25, $a + db $11, $8, $26, $a + db $11, $10, $27, $a + db $11, $18, $34, $a + db $19, $8, $36, $a + db $19, $10, $37, $a + db $19, $18, $35, $a + +Unknown_1169de: ; 1169de + db $f + db $0, $0, $1, $a + db $0, $8, $2, $d + db $0, $10, $3, $d + db $0, $18, $4, $d + db $8, $0, $11, $a + db $8, $8, $12, $a + db $8, $10, $13, $a + db $8, $18, $14, $d + db $10, $0, $10, $a + db $10, $8, $20, $a + db $10, $10, $30, $a + db $10, $18, $24, $a + db $18, $0, $31, $a + db $18, $8, $32, $a + db $18, $10, $33, $a + +Unknown_116a1b: ; 116a1b + db $f + db $0, $0, $4, $2d + db $0, $8, $3, $2d + db $0, $10, $2, $2d + db $0, $18, $1, $2a + db $8, $0, $14, $2d + db $8, $8, $13, $2a + db $8, $10, $12, $2a + db $8, $18, $11, $2a + db $10, $0, $24, $2a + db $10, $8, $23, $2a + db $10, $10, $22, $2a + db $10, $18, $21, $2a + db $18, $8, $33, $2a + db $18, $10, $32, $2a + db $18, $18, $31, $2a + +Unknown_116a58: ; 116a58 + db $10 + db $1, $0, $4, $2d + db $1, $8, $3, $2d + db $1, $10, $2, $2d + db $1, $18, $1, $2a + db $9, $0, $14, $2d + db $9, $8, $13, $2a + db $9, $10, $12, $2a + db $9, $18, $11, $2a + db $11, $0, $34, $2a + db $11, $8, $7, $2a + db $11, $10, $6, $2a + db $11, $18, $5, $2a + db $19, $0, $35, $2a + db $19, $8, $17, $2a + db $19, $10, $16, $2a + db $19, $18, $15, $2a + +Unknown_116a99: ; 116a99 + db $f + db $1, $0, $4, $2d + db $1, $8, $3, $2d + db $1, $10, $2, $2d + db $1, $18, $1, $2a + db $9, $0, $14, $2d + db $9, $8, $13, $2a + db $9, $10, $12, $2a + db $9, $18, $11, $2a + db $11, $0, $34, $2a + db $11, $8, $27, $2a + db $11, $10, $26, $2a + db $11, $18, $25, $2a + db $19, $0, $35, $2a + db $19, $8, $37, $2a + db $19, $10, $36, $2a + +Unknown_116ad6: ; 116ad6 + db $f + db $0, $0, $4, $2d + db $0, $8, $3, $2d + db $0, $10, $2, $2d + db $0, $18, $1, $2a + db $8, $0, $14, $2d + db $8, $8, $13, $2a + db $8, $10, $12, $2a + db $8, $18, $11, $2a + db $10, $0, $24, $2a + db $10, $8, $30, $2a + db $10, $10, $20, $2a + db $10, $18, $10, $2a + db $18, $8, $33, $2a + db $18, $10, $32, $2a + db $18, $18, $31, $2a + +Unknown_116b13: ; 116b13 + db $10 + db $18, $0, $0, $b + db $18, $8, $8, $b + db $18, $10, $5c, $b + db $18, $18, $0, $b + db $10, $0, $0, $b + db $10, $8, $5d, $b + db $10, $10, $5e, $b + db $10, $18, $0, $b + db $8, $0, $50, $b + db $8, $8, $51, $b + db $8, $10, $52, $b + db $8, $18, $50, $2b + db $0, $0, $43, $b + db $0, $8, $44, $b + db $0, $10, $44, $2b + db $0, $18, $43, $2b + +Unknown_116b54: ; 116b54 + db $10 + db $19, $0, $0, $b + db $19, $8, $18, $b + db $19, $10, $c, $b + db $19, $18, $0, $b + db $11, $0, $42, $b + db $11, $8, $3a, $b + db $11, $10, $3a, $2b + db $11, $18, $42, $2b + db $9, $0, $58, $b + db $9, $8, $45, $b + db $9, $10, $45, $2b + db $9, $18, $58, $2b + db $1, $0, $d, $b + db $1, $8, $44, $b + db $1, $10, $44, $2b + db $1, $18, $d, $2b + +Unknown_116b95: ; 116b95 + db $10 + db $18, $0, $0, $b + db $18, $8, $5c, $2b + db $18, $10, $8, $2b + db $18, $18, $0, $b + db $10, $0, $0, $b + db $10, $8, $5e, $2b + db $10, $10, $5d, $2b + db $10, $18, $0, $b + db $8, $0, $50, $b + db $8, $8, $52, $2b + db $8, $10, $51, $2b + db $8, $18, $50, $2b + db $0, $0, $43, $b + db $0, $8, $44, $b + db $0, $10, $44, $2b + db $0, $18, $43, $2b + +Unknown_116bd6: ; 116bd6 + db $10 + db $18, $0, $0, $a + db $18, $8, $56, $a + db $18, $10, $57, $a + db $18, $18, $0, $a + db $10, $0, $64, $a + db $10, $8, $4a, $a + db $10, $10, $4b, $a + db $10, $18, $71, $a + db $8, $0, $54, $a + db $8, $8, $55, $a + db $8, $10, $55, $2a + db $8, $18, $54, $2a + db $0, $0, $48, $a + db $0, $8, $49, $a + db $0, $10, $49, $2a + db $0, $18, $48, $2a + +Unknown_116c17: ; 116c17 + db $10 + db $19, $0, $0, $a + db $19, $8, $76, $a + db $19, $10, $77, $a + db $19, $18, $0, $a + db $11, $0, $64, $a + db $11, $8, $69, $a + db $11, $10, $6a, $a + db $11, $18, $6b, $a + db $9, $0, $6f, $a + db $9, $8, $70, $a + db $9, $10, $70, $2a + db $9, $18, $6f, $2a + db $1, $0, $63, $a + db $1, $8, $19, $a + db $1, $10, $19, $2a + db $1, $18, $63, $2a + +Unknown_116c58: ; 116c58 + db $10 + db $1a, $0, $6c, $a + db $1a, $8, $6d, $a + db $1a, $10, $6e, $a + db $1a, $18, $0, $a + db $12, $0, $5f, $a + db $12, $8, $60, $a + db $12, $10, $61, $a + db $12, $18, $62, $a + db $a, $0, $53, $a + db $a, $8, $55, $a + db $a, $10, $55, $2a + db $a, $18, $53, $2a + db $2, $0, $46, $a + db $2, $8, $47, $a + db $2, $10, $47, $2a + db $2, $18, $46, $2a + +Unknown_116c99: ; 116c99 + db $10 + db $19, $0, $0, $2a + db $19, $8, $77, $2a + db $19, $10, $76, $2a + db $19, $18, $0, $2a + db $11, $0, $6b, $2a + db $11, $8, $6a, $2a + db $11, $10, $69, $2a + db $11, $18, $64, $2a + db $9, $0, $6f, $a + db $9, $8, $70, $a + db $9, $10, $70, $2a + db $9, $18, $6f, $2a + db $1, $0, $63, $a + db $1, $8, $19, $a + db $1, $10, $19, $2a + db $1, $18, $63, $2a + +Unknown_116cda: ; 116cda + db $10 + db $18, $0, $0, $a + db $18, $8, $57, $2a + db $18, $10, $56, $2a + db $18, $18, $0, $a + db $10, $0, $71, $2a + db $10, $8, $4b, $2a + db $10, $10, $4a, $2a + db $10, $18, $64, $2a + db $8, $0, $54, $a + db $8, $8, $55, $a + db $8, $10, $55, $2a + db $8, $18, $54, $2a + db $0, $0, $48, $a + db $0, $8, $49, $a + db $0, $10, $49, $2a + db $0, $18, $48, $2a + +Unknown_116d1b: ; 116d1b + db $c + db $0, $0, $38, $4a + db $0, $8, $39, $4a + db $0, $10, $39, $6a + db $0, $18, $38, $6a + db $8, $0, $28, $4a + db $8, $8, $29, $4a + db $8, $10, $29, $6a + db $8, $18, $28, $6a + db $10, $0, $9, $4d + db $10, $8, $19, $4a + db $10, $10, $19, $6a + db $10, $18, $9, $6d + +Unknown_116d4c: ; 116d4c + db $e + db $0, $8, $3b, $4a + db $0, $10, $3b, $6a + db $8, $0, $2a, $4a + db $8, $8, $2b, $4a + db $8, $10, $2b, $6a + db $8, $18, $2a, $6a + db $10, $0, $1a, $4a + db $10, $8, $1b, $4a + db $10, $10, $1b, $6a + db $10, $18, $1a, $6a + db $18, $0, $a, $4a + db $18, $8, $b, $4a + db $18, $10, $b, $6a + db $18, $18, $a, $6a + +Unknown_116d85: ; 116d85 + db $e + db $0, $0, $35, $2a + db $0, $8, $3c, $4a + db $0, $10, $3d, $4a + db $0, $18, $3e, $4a + db $8, $0, $2c, $4a + db $8, $8, $2d, $4a + db $8, $10, $2e, $4a + db $8, $18, $2f, $4a + db $10, $0, $1c, $4a + db $10, $8, $1d, $4a + db $10, $10, $1e, $4d + db $10, $18, $1f, $4d + db $18, $10, $e, $4d + db $18, $18, $f, $4a + +Unknown_116dbe: ; 116dbe + db $e + db $0, $0, $65, $4a + db $0, $8, $66, $4a + db $0, $10, $67, $4a + db $0, $18, $68, $4a + db $8, $8, $59, $4a + db $8, $10, $5a, $4a + db $8, $18, $5b, $4a + db $10, $0, $4c, $4a + db $10, $8, $4d, $4d + db $10, $10, $4e, $4d + db $10, $18, $4f, $4a + db $18, $0, $3f, $4d + db $18, $8, $40, $4d + db $18, $10, $41, $4d + +Unknown_116df7: ; 116df7 + db $e + db $0, $0, $3e, $6a + db $0, $8, $3d, $6a + db $0, $10, $3c, $6a + db $0, $18, $35, $a + db $8, $0, $2f, $6a + db $8, $8, $2e, $6a + db $8, $10, $2d, $6a + db $8, $18, $2c, $6a + db $10, $0, $1f, $6d + db $10, $8, $1e, $6d + db $10, $10, $1d, $6a + db $10, $18, $1c, $6a + db $18, $0, $f, $6a + db $18, $8, $e, $6d + +Unknown_116e30: ; 116e30 + db $e + db $0, $0, $68, $6a + db $0, $8, $67, $6a + db $0, $10, $66, $6a + db $0, $18, $65, $6a + db $8, $0, $5b, $6a + db $8, $8, $5a, $6a + db $8, $10, $59, $6a + db $10, $0, $4f, $6a + db $10, $8, $4e, $6d + db $10, $10, $4d, $6d + db $10, $18, $4c, $6a + db $18, $8, $41, $6d + db $18, $10, $40, $6d + db $18, $18, $3f, $6d + +Unknown_116e69: ; 116e69 + db $c + db $8, $0, $9, $d + db $8, $8, $19, $a + db $8, $10, $19, $2a + db $8, $18, $9, $2d + db $10, $0, $28, $a + db $10, $8, $29, $a + db $10, $10, $29, $2a + db $10, $18, $28, $2a + db $18, $0, $38, $a + db $18, $8, $39, $a + db $18, $10, $39, $2a + db $18, $18, $38, $2a + +Unknown_116e9a: ; 116e9a + db $e + db $0, $0, $a, $a + db $0, $8, $b, $a + db $0, $10, $b, $2a + db $0, $18, $a, $2a + db $8, $0, $1a, $a + db $8, $8, $1b, $a + db $8, $10, $1b, $2a + db $8, $18, $1a, $2a + db $10, $0, $2a, $a + db $10, $8, $2b, $a + db $10, $10, $2b, $2a + db $10, $18, $2a, $2a + db $18, $8, $3b, $a + db $18, $10, $3b, $2a + +Unknown_116ed3: ; 116ed3 + db $e + db $0, $10, $e, $d + db $0, $18, $f, $a + db $8, $0, $1c, $a + db $8, $8, $1d, $a + db $8, $10, $1e, $d + db $8, $18, $1f, $d + db $10, $0, $2c, $a + db $10, $8, $2d, $a + db $10, $10, $2e, $a + db $10, $18, $2f, $a + db $18, $0, $35, $6a + db $18, $8, $3c, $a + db $18, $10, $3d, $a + db $18, $18, $3e, $a + +Unknown_116f0c: ; 116f0c + db $e + db $0, $0, $3f, $d + db $0, $8, $40, $d + db $0, $10, $41, $d + db $8, $0, $4c, $a + db $8, $8, $4d, $d + db $8, $10, $4e, $d + db $8, $18, $4f, $a + db $10, $8, $59, $a + db $10, $10, $5a, $a + db $10, $18, $5b, $a + db $18, $0, $65, $a + db $18, $8, $66, $a + db $18, $10, $67, $a + db $18, $18, $68, $a + +Unknown_116f45: ; 116f45 + db $e + db $0, $0, $f, $2a + db $0, $8, $e, $2d + db $8, $0, $1f, $2d + db $8, $8, $1e, $2d + db $8, $10, $1d, $2a + db $8, $18, $1c, $2a + db $10, $0, $2f, $2a + db $10, $8, $2e, $2a + db $10, $10, $2d, $2a + db $10, $18, $2c, $2a + db $18, $0, $3e, $2a + db $18, $8, $3d, $2a + db $18, $10, $3c, $2a + db $18, $18, $35, $4a + +Unknown_116f7e: ; 116f7e + db $e + db $0, $8, $41, $2d + db $0, $10, $40, $2d + db $0, $18, $3f, $2d + db $8, $0, $4f, $2a + db $8, $8, $4e, $2d + db $8, $10, $4d, $2d + db $8, $18, $4c, $2a + db $10, $0, $5b, $2a + db $10, $8, $5a, $2a + db $10, $10, $59, $2a + db $18, $0, $68, $2a + db $18, $8, $67, $2a + db $18, $10, $66, $2a + db $18, $18, $65, $2a + +Unknown_116fb7: ; 116fb7 + db $d + db $fa, $0, $72, $a + db $fa, $8, $73, $d + db $fa, $10, $74, $d + db $fa, $18, $75, $d + db $2, $0, $81, $a + db $2, $8, $82, $a + db $2, $10, $83, $a + db $2, $18, $84, $a + db $a, $0, $91, $a + db $a, $8, $92, $a + db $a, $10, $93, $a + db $a, $18, $94, $a + db $12, $10, $a3, $a + +Unknown_116fec: ; 116fec + db $e + db $fd, $0, $85, $d + db $fd, $8, $86, $d + db $5, $0, $95, $d + db $5, $8, $96, $a + db $5, $10, $97, $a + db $5, $18, $98, $a + db $d, $0, $a5, $a + db $d, $8, $a6, $a + db $d, $10, $a7, $a + db $d, $18, $a8, $a + db $15, $0, $b3, $a + db $15, $8, $b4, $a + db $15, $10, $b5, $a + db $15, $18, $b6, $a + +Unknown_117025: ; 117025 + db $c + db $8, $0, $79, $d + db $8, $8, $7a, $d + db $8, $10, $7b, $a + db $8, $18, $7c, $a + db $10, $0, $89, $d + db $10, $8, $8a, $a + db $10, $10, $8b, $a + db $10, $18, $8c, $a + db $18, $0, $99, $a + db $18, $8, $9a, $a + db $18, $10, $9b, $a + db $18, $18, $9c, $a + +Unknown_117056: ; 117056 + db $b + db $8, $0, $7d, $a + db $8, $8, $7e, $d + db $8, $10, $7f, $d + db $8, $18, $80, $a + db $10, $0, $8d, $a + db $10, $8, $8e, $a + db $10, $10, $8f, $a + db $10, $18, $90, $a + db $18, $8, $9e, $a + db $18, $10, $9f, $a + db $18, $18, $a0, $a + +Unknown_117083: ; 117083 + db $f + db $0, $0, $a1, $a + db $0, $8, $a2, $a + db $0, $10, $a2, $2a + db $0, $18, $a1, $2a + db $8, $0, $b1, $a + db $8, $8, $b2, $d + db $8, $10, $b2, $2d + db $8, $18, $b1, $2a + db $10, $0, $ab, $a + db $10, $8, $ac, $a + db $10, $10, $ac, $2a + db $10, $18, $ab, $2a + db $18, $8, $a4, $a + db $18, $10, $87, $a + db $18, $18, $88, $a + +Unknown_1170c0: ; 1170c0 + db $f + db $0, $0, $a1, $a + db $0, $8, $a2, $d + db $0, $10, $a2, $2a + db $0, $18, $a1, $2a + db $8, $0, $b1, $a + db $8, $8, $78, $d + db $8, $10, $78, $2d + db $8, $18, $b1, $2a + db $10, $0, $ab, $a + db $10, $8, $ac, $a + db $10, $10, $ac, $2a + db $10, $18, $ab, $2a + db $18, $8, $a4, $a + db $18, $10, $87, $a + db $18, $18, $88, $a + +Unknown_1170fd: ; 1170fd + db $f + db $0, $0, $a9, $a + db $0, $8, $aa, $a + db $0, $10, $aa, $2a + db $0, $18, $a9, $2a + db $8, $0, $b7, $a + db $8, $8, $b8, $a + db $8, $10, $b8, $2a + db $8, $18, $b7, $2a + db $10, $0, $ab, $a + db $10, $8, $ac, $a + db $10, $10, $ac, $2a + db $10, $18, $ad, $a + db $18, $8, $a4, $a + db $18, $10, $ba, $a + db $18, $18, $bb, $a + +Unknown_11713a: ; 11713a + db $f + db $0, $0, $ae, $c + db $0, $8, $af, $c + db $0, $10, $af, $2c + db $0, $18, $ae, $2c + db $8, $0, $bc, $c + db $8, $8, $bd, $c + db $8, $10, $bd, $2c + db $8, $18, $bc, $2c + db $10, $0, $bf, $c + db $10, $8, $9d, $c + db $10, $10, $9d, $2c + db $10, $18, $b0, $c + db $18, $8, $b9, $c + db $18, $10, $c0, $c + db $18, $18, $be, $c + +Unknown_117177: ; 117177 + db $9 + db $14, $0, $1f, $6 + db $14, $8, $20, $6 + db $14, $10, $21, $6 + db $c, $0, $10, $6 + db $c, $8, $11, $6 + db $c, $10, $12, $6 + db $4, $0, $1, $6 + db $4, $8, $2, $6 + db $4, $10, $3, $6 + +Unknown_11719c: ; 11719c + db $9 + db $14, $0, $22, $6 + db $14, $8, $23, $6 + db $14, $10, $24, $6 + db $c, $0, $13, $6 + db $c, $8, $14, $6 + db $c, $10, $15, $6 + db $4, $0, $4, $6 + db $4, $8, $5, $6 + db $4, $10, $6, $6 + +Unknown_1171c1: ; 1171c1 + db $9 + db $14, $0, $25, $6 + db $14, $8, $26, $6 + db $14, $10, $27, $6 + db $c, $0, $16, $6 + db $c, $8, $17, $6 + db $c, $10, $18, $6 + db $4, $0, $7, $6 + db $4, $8, $8, $6 + db $4, $10, $9, $6 + +Unknown_1171e6: ; 1171e6 + db $9 + db $14, $0, $28, $6 + db $14, $8, $29, $6 + db $14, $10, $2a, $6 + db $c, $0, $19, $6 + db $c, $8, $1a, $6 + db $c, $10, $1b, $6 + db $4, $0, $a, $6 + db $4, $8, $b, $6 + db $4, $10, $c, $6 + +Unknown_11720b: ; 11720b + db $9 + db $14, $0, $2b, $6 + db $14, $8, $2c, $6 + db $14, $10, $2d, $6 + db $c, $0, $1c, $6 + db $c, $8, $1d, $6 + db $c, $10, $1e, $6 + db $4, $0, $d, $6 + db $4, $8, $e, $6 + db $4, $10, $f, $6 + +Unknown_117230: ; 117230 + db $9 + db $14, $0, $47, $6 + db $14, $8, $48, $6 + db $14, $10, $49, $6 + db $c, $0, $3b, $6 + db $c, $8, $3c, $6 + db $c, $10, $3b, $26 + db $4, $0, $2e, $6 + db $4, $8, $2f, $6 + db $4, $10, $30, $6 + +Unknown_117255: ; 117255 + db $9 + db $14, $0, $35, $6 + db $14, $8, $4a, $6 + db $14, $10, $35, $6 + db $c, $0, $3d, $6 + db $c, $8, $35, $6 + db $c, $10, $3d, $26 + db $4, $0, $31, $6 + db $4, $8, $32, $6 + db $4, $10, $31, $26 + +Unknown_11727a: ; 11727a + db $9 + db $14, $0, $4b, $6 + db $14, $8, $4c, $6 + db $14, $10, $4d, $6 + db $c, $0, $3e, $6 + db $c, $8, $3f, $6 + db $c, $10, $40, $6 + db $4, $0, $33, $6 + db $4, $8, $34, $6 + db $4, $10, $35, $6 + +Unknown_11729f: ; 11729f + db $9 + db $14, $0, $4e, $6 + db $14, $8, $4f, $6 + db $14, $10, $50, $6 + db $c, $0, $41, $6 + db $c, $8, $42, $6 + db $c, $10, $43, $6 + db $4, $0, $35, $6 + db $4, $8, $36, $6 + db $4, $10, $37, $6 + +Unknown_1172c4: ; 1172c4 + db $9 + db $14, $0, $51, $6 + db $14, $8, $52, $6 + db $14, $10, $35, $6 + db $c, $0, $44, $6 + db $c, $8, $45, $6 + db $c, $10, $46, $6 + db $4, $0, $38, $6 + db $4, $8, $39, $6 + db $4, $10, $3a, $6 + +Unknown_1172e9: ; 1172e9 + db $9 + db $10, $0, $0, $2 + db $10, $8, $0, $2 + db $10, $10, $0, $2 + db $8, $0, $0, $2 + db $8, $8, $0, $2 + db $c, $10, $1f, $6 + db $0, $0, $0, $2 + db $0, $8, $0, $2 + db $4, $10, $10, $6 +; 11730e + +Palette_11730e: + RGB 31, 31, 31 + RGB 7, 5, 4 + RGB 31, 28, 4 + RGB 31, 5, 5 + RGB 31, 31, 31 + RGB 7, 5, 4 + RGB 31, 23, 0 + RGB 31, 28, 4 + RGB 31, 31, 31 + RGB 16, 19, 31 + RGB 17, 31, 31 + RGB 31, 31, 31 + RGB 5, 5, 5 + RGB 7, 5, 4 + RGB 31, 28, 4 + RGB 19, 11, 6 + RGB 31, 31, 31 + RGB 3, 15, 31 + RGB 4, 25, 25 + RGB 0, 7, 12 + RGB 31, 31, 31 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 4, 11, 22 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 22, 11, 8 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 0, 16, 0 + +Palette_11734e: + RGB 31, 30, 30 + RGB 2, 0, 0 + RGB 10, 9, 9 + RGB 15, 14, 14 + +Unknown_117356: +INCBIN "baserom.gbc", $117356, $117656 - $117356 + + +SECTION "Mobile Stadium", ROMX, BANK[$45] + +Function117656: ; 117656 + callba GiveOddEgg + ret +; 11765d + +Function11765d: ; 11765d (45:765d) + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + call Function11766b + pop af + ld [$ffaa], a + ret + +Function11766b: ; 11766b (45:766b) + call Function117699 + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $5 + ld [rSVBK], a ; $ff00+$70 + call Function1176ee + ld a, $5 + call GetSRAMBank + ld hl, $b1f3 + ld de, wcd49 + ld bc, $8 + call CopyBytes + ld de, wc708 + ld bc, $11 + call CopyBytes + call CloseSRAM + pop af + ld [rSVBK], a ; $ff00+$70 + ret + +Function117699: ; 117699 (45:7699) + ld a, $5 + call GetSRAMBank + ld hl, wcd49 + ld de, $b1f3 + ld bc, $8 + call CopyBytes + ld hl, wc708 + ld bc, $11 + call CopyBytes + call CloseSRAM + xor a + ld [wcd49], a + ld [wcd4a], a + ld [wcd4b], a + ld [wcd4c], a + ld [wcd4d], a + ld [wcd4e], a + ld [wcd4f], a + ld hl, wc708 + ld bc, $11 + call ByteFill + call WhiteBGMap + call ClearSprites + callba Function171c87 + callba Function104061 + callba Function8cf53 + ret + +Function1176ee: ; 1176ee (45:76ee) + call Functiona57 + ld a, [wcd49] + bit 7, a + jr nz, .asm_117709 + call Function117719 + callba Function8cf69 + callba Function104061 + jr Function1176ee +.asm_117709 + callba Function8cf53 + call WhiteBGMap + call ClearScreen + call ClearSprites + ret + +Function117719: ; 117719 (45:7719) + ld a, [wcd49] + ld e, a + ld d, 0 + ld hl, Jumptable_117728 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Jumptable_117728: ; 117728 (45:7728) + dw Function117738 + dw Function117764 + dw Function1178aa + dw Function1178e8 + dw Function117942 + dw Function117976 + dw Function117984 + dw Function1179a7 + + +Function117738: ; 117738 (45:7738) + callba Function171ccd + lb de, $30, $18 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $6 + ld [hl], a + lb de, $48, $20 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $7 + ld [hl], a + ld a, $3 + ld [wcd23], a + jp Function117a0a + +Function117764: ; 117764 (45:7764) + ld a, [wcd4a] + cp $10 + jr nz, .asm_11776f + ld a, $1 + jr .asm_117770 +.asm_11776f + xor a +.asm_117770 + ld [wcd24], a + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and $4 + jr nz, Function1177a5 + ld a, [hl] + and $8 + jr nz, Function1177ac + ld a, [hl] + and $1 + jp nz, Function11784c + ld a, [hl] + and $2 + jr nz, asm_1177d6 + ld hl, $ffa9 + ld a, [hl] + and $40 + jr nz, asm_1177f1 + ld a, [hl] + and $80 + jr nz, asm_11780a + ld a, [hl] + and $20 + jp nz, Function11782d + ld a, [hl] + and $10 + jp nz, Function117837 + ret + +Function1177a5: ; 1177a5 (45:77a5) + callba Function171cf0 + ret + +Function1177ac: ; 1177ac (45:77ac) + ld a, $2 + ld [wcd4c], a + ld a, $4 + ld [wcd4d], a + ret + +Function1177b7: ; 1177b7 (45:77b7) + ld a, $3 + ld [wcd24], a + ld a, [wcd4a] + and a + jr z, .asm_1177c5 + jp Function117a0a +.asm_1177c5 + ld a, $6 + ld [wcd49], a + ret + +Function1177cb: ; 1177cb (45:77cb) + ld a, $80 + ld [wcd49], a + ld [ScriptVar], a + jp Function117a0a +asm_1177d6: ; 1177d6 (45:77d6) + call PlayClickSFX + ld a, [wcd4a] + and a + ret z + dec a + ld [wcd4a], a + ld e, a + ld d, $0 + ld hl, wc708 + add hl, de + xor a + ld [hl], a + hlcoord 2, 4 + add hl, de + ld [hl], a + ret +asm_1177f1: ; 1177f1 (45:77f1) + ld a, [wcd4d] + and a + ret z + dec a + ld [wcd4d], a + cp $3 + ret nz + ld a, [wcd4c] + ld e, a + sla a + sla a + add e +asm_117806: ; 117806 (45:7806) + ld [wcd4c], a + ret +asm_11780a: ; 11780a (45:780a) + ld a, [wcd4d] + cp $4 + ret z + inc a + ld [wcd4d], a + cp $4 + ret nz + ld a, [wcd4c] + cp $a + jr nc, .asm_117825 + cp $5 + jr nc, .asm_117829 + xor a + jr asm_117806 +.asm_117825 + ld a, $2 + jr asm_117806 +.asm_117829 + ld a, $1 + jr asm_117806 + +Function11782d: ; 11782d (45:782d) + ld a, [wcd4c] + and a + ret z + dec a + ld [wcd4c], a + ret + +Function117837: ; 117837 (45:7837) + ld e, $d + ld a, [wcd4d] + cp $4 + jr nz, .asm_117842 + ld e, $2 +.asm_117842 + ld a, [wcd4c] + cp e + ret z + inc a + ld [wcd4c], a + ret + +Function11784c: ; 11784c (45:784c) + call PlayClickSFX + ld a, [wcd4d] + cp $4 + jr nz, .asm_117866 + ld a, [wcd4c] + cp $2 + jp z, Function1177b7 + cp $1 + jp z, Function1177cb + jp Function1177a5 +.asm_117866 + ld a, [wcd4a] + ld e, a + cp $10 + jp z, Function1177ac + inc a + ld [wcd4a], a + ld d, $0 + ld a, [wcd4b] + and a + jr nz, .asm_117880 + ld hl, Unknown_117a0f + jr .asm_117883 +.asm_117880 + ld hl, Unknown_117a47 +.asm_117883 + push de + ld a, [wcd4c] + ld b, a + ld a, [wcd4d] + ld c, $e + call SimpleMultiply + add b + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + ld hl, wc708 + add hl, de + ld [hl], a + pop de + hlcoord 2, 4 + add hl, de + sub $20 + ld [hl], a + ld a, e + cp $f + ret nz + jp Function1177ac + +Function1178aa: ; 1178aa (45:78aa) + ld hl, MenuDataHeader_1179b5 + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + ld hl, MenuDataHeader_1179bd + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + callba Function104061 + hlcoord 16, 8 + ld de, String_1179c5 + call PlaceString + hlcoord 15, 10 + ld a, $ed + ld [hl], a + hlcoord 1, 14 + ld de, String_1179cc + call PlaceString + ld a, $1 + ld [wcd4e], a + jp Function117a0a + +Function1178e8: ; 1178e8 (45:78e8) + ld a, [hJoyPressed] ; $ff00+$a7 + cp $2 + jr z, .asm_117939 + cp $1 + jr z, .asm_117925 + cp $80 + jr z, .asm_11790f + cp $40 + ret nz + ld a, [wcd4e] + and a + ret z + dec a + ld [wcd4e], a + hlcoord 15, 8 + ld a, $ed + ld [hl], a + hlcoord 15, 10 + ld a, $7f + ld [hl], a + ret +.asm_11790f + ld a, [wcd4e] + and a + ret nz + inc a + ld [wcd4e], a + hlcoord 15, 8 + ld a, $7f + ld [hl], a + hlcoord 15, 10 + ld a, $ed + ld [hl], a + ret +.asm_117925 + call PlayClickSFX + ld a, [wcd4e] + and a + jr nz, .asm_117939 + call Function1c07 + ld a, $1 + ld [wcd4f], a + jp Function117a0a +.asm_117939 + call Function1c07 + call Function1c07 + jp Function117a0a + +Function117942: ; 117942 (45:7942) + call SpeechTextBox + hlcoord 1, 14 + ld de, String_1179f7 + call PlaceString + ld a, $1e + ld [wcd4e], a + ld a, $5 + call GetSRAMBank + ld a, [wcd4f] + ld [$aa4b], a + ld hl, wc708 + ld de, $aa4c + ld bc, $11 + call CopyBytes + call CloseSRAM + ld a, [wcd4f] + and a + jr z, asm_11797e + call Function117a0a + +Function117976: ; 117976 (45:7976) + ld hl, wcd4e + dec [hl] + ret nz + call Function1c07 +asm_11797e: ; 11797e (45:797e) + ld a, $80 + ld [wcd49], a + ret + +Function117984: ; 117984 (45:7984) + ld hl, MenuDataHeader_1179b5 + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + callba Function104061 + hlcoord 1, 14 + ld de, String_1179e1 + call PlaceString + ld a, $1e + ld [wcd4e], a + call Function117a0a + +Function1179a7: ; 1179a7 (45:79a7) + ld hl, wcd4e + dec [hl] + ret nz + call Function1c07 + ld a, $1 + ld [wcd49], a + ret +; 1179b5 (45:79b5) + +MenuDataHeader_1179b5: ; 1179b5 + db $40 ; flags + db 12, 0 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 1179bd + +MenuDataHeader_1179bd: ; 1179bd + db $40 ; flags + db 7, 14 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 1179c5 + + +String_1179c5: ; 1179c5 + db "はい" + next "いいえ@" +; 1179cc + +String_1179cc: ; 1179cc + db "こ", $25, "パスワード", $1f, "ほぞんして" + line "おきますか?@" +; 1179e1 + +String_1179e1: ; 1179e1 + db "パスワード", $4a, "にゅうりょく" + line "されていません!@" +; 1179f7 + +String_1179f7: ; 1179f7 + db "ログインパスワード", $1f, "ほぞん" + line "しました@" +; 117a0a + +Function117a0a: ; 117a0a (45:7a0a) + ld hl, wcd49 + inc [hl] + ret +; 117a0f (45:7a0f) + +Unknown_117a0f: +INCBIN "data/mobile/ascii-alpha.txt" + +Unknown_117a47: +INCBIN "data/mobile/ascii-sym.txt" +; 117a7f + + +; everything from here to the end of the bank is related to the +; Mobile Stadium option from the continue/newgame menu. +; XXX better function names +MobileStudium: ; 0x117a7f + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + call Function117a8d + pop af + ld [$ffaa], a + ret +; 0x117a8d + +Function117a8d: ; 0x117a8d + call Function117a94 + call Function117acd + ret +; 0x117a94 + +Function117a94: ; 0x117a94 + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + call WhiteBGMap + call ClearSprites + callba Function172e78 + callba Function104000 + ret +; 0x117ab4 + +Function117ab4: ; 0x117ab4 + call WhiteBGMap + call ClearSprites + callba Function172e78 + callba Function172eb9 + callba Function104061 + ret +; 0x117acd + +Function117acd: ; 0x117acd + call Functiona57 + ld a, [wcf63] + bit 7, a + jr nz, .asm_117ae2 ; 0x117ad5 $b + call Function117ae9 + callba Function104000 + jr Function117acd +.asm_117ae2 + call WhiteBGMap + call ClearSprites + ret + +Function117ae9: ; 0x117ae9 + ld a, [wcf63] + ld e, a + ld d, $0 + ld hl, Pointers117af8 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Pointers117af8: ; 0x117af8 + dw Function117b06 + dw Function117b14 + dw Function117b28 + dw Function117b31 + dw Function117b4f + dw Function117bb6 + dw Function117c4a + +Function117b06: + callba Function172eb9 + ld a, $10 + ld [wcf64], a + jp Function117cdd + +Function117b14: + ld hl, wcf64 + dec [hl] + ret nz + ld hl, Data117cbc + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + jp Function117cdd + +Function117b28: + ld hl, MobileStadiumEntryText + call PrintText + jp Function117cdd + +Function117b31: + ld hl, Data117cc4 + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + hlcoord 16, 8 + ld de, YesNo117ccc + call PlaceString + hlcoord 15, 8 + ld a, "▶" + ld [hl], a + jp Function117cdd + +Function117b4f: + ld a, [hJoyPressed] + cp $2 + jr z, .asm_117ba4 ; 0x117b53 $4f + cp $1 + jr z, .asm_117b8c ; 0x117b57 $33 + cp $80 + jr z, .asm_117b76 ; 0x117b5b $19 + cp $40 + ret nz + ld a, [wcf64] + and a + ret z + dec a + ld [wcf64], a + hlcoord 15, 8 + ld a, "▶" + ld [hl], a + hlcoord 15, 10 + ld a, " " + ld [hl], a + ret +.asm_117b76 + ld a, [wcf64] + and a + ret nz + inc a + ld [wcf64], a + hlcoord 15, 8 + ld a, " " + ld [hl], a + hlcoord 15, 10 + ld a, "▶" + ld [hl], a + ret +.asm_117b8c + call PlayClickSFX + ld a, [wcf64] + and a + jr nz, .asm_117ba4 ; 0x117b93 $f + call Function1c07 + call Function1c07 + callba Function104061 + jp Function117cdd +.asm_117ba4 + call Function1c07 + call Function1c07 + callba Function104061 + ld a, $80 + ld [wcf63], a + ret + +Function117bb6: + call Function117c89 + ld a, $1 + ld [hBGMapMode], a + callba Function118284 + call ClearSprites + ld a, [wc300] + and a + jr z, .asm_117be7 ; 0x117bca $1b + cp $a + jr z, .asm_117be1 ; 0x117bce $11 +.asm_117bd0 + ld a, $2 + ld [wc303], a + callba Function17f555 + ld a, $80 + ld [wcf63], a + ret +.asm_117be1 + ld a, $80 + ld [wcf63], a + ret +.asm_117be7 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [wcd89] + and $1 + jr nz, .asm_117c16 ; 0x117bf3 $21 + ld a, [wd000] + cp $fe + jr nz, .asm_117c16 ; 0x117bfa $1a + ld a, [wd001] + cp $f + jr nz, .asm_117c16 ; 0x117c01 $13 + ld hl, wdfec + ld de, wcd69 + ld c, $10 +.asm_117c0b + ld a, [de] + inc de + cp [hl] + jr nz, .asm_117c16 ; 0x117c0e $6 + inc hl + dec c + jr nz, .asm_117c0b ; 0x117c12 $f7 + jr .asm_117c20 ; 0x117c14 $a +.asm_117c16 + pop af + ld [rSVBK], a + ld a, $d3 + ld [wc300], a + jr .asm_117bd0 ; 0x117c1e $b0 +.asm_117c20 + pop af + ld [rSVBK], a + callba Function172eb9 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, $7 + call GetSRAMBank + ld hl, DefaultFlypoint + ld de, $b000 + ld bc, $1000 + call CopyBytes + call CloseSRAM + pop af + ld [rSVBK], a + jp Function117cdd + +Function117c4a: + ld hl, Data117cbc + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + callba Function104061 + ld hl, MobileStadiumSuccessText + call PrintText + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, wd000 + ld de, $0008 + ld c, $8 +.asm_117c71 + push hl + ld a, $ff + ld [hli], a + ld a, " " + ld [hl], a + pop hl + add hl, de + dec c + jr nz, .asm_117c71 ; 0x117c7b $f4 + call Function4b6 + pop af + ld [rSVBK], a + ld a, $80 + ld [wcf63], a + ret + +Function117c89: + ld a, $7 + call GetSRAMBank + ld l, $0 + ld h, l + ld de, $b000 + ld bc, $0ffc +.asm_117c97 + push bc + ld a, [de] + inc de + ld c, a + ld b, $0 + add hl, bc + pop bc + dec bc + ld a, b + or c + jr nz, .asm_117c97 ; 0x117ca2 $f3 + ld a, l + ld [wcd83], a + ld a, h + ld [wcd84], a + ld hl, $bfea + ld de, wcd69 + ld bc, $0010 + call CopyBytes + call CloseSRAM + ret + +Data117cbc: ; 0x117cbc + db $40, $0c, $00, $11, $13, $00, $00, $00 + +Data117cc4: ; 0x117cc4 + db $40, $07, $0e, $0b, $13, $00, $00, $00 ; XXX what is this + +YesNo117ccc: ; 0x117ccc + db "はい" + next "いいえ" + db "@" + +MobileStadiumEntryText: ; 0x117cd3 + TX_FAR _MobileStadiumEntryText + db "@" + +MobileStadiumSuccessText: ; 0x117cd8 + TX_FAR _MobileStadiumSuccessText + db "@" + +Function117cdd: ; 0x117cdd + ld hl, wcf63 + inc [hl] + ret + + +SECTION "bank46", ROMX, BANK[$46] + +Function118000: ; 118000 + ld a, $1 + ld [wcd38], a + jr asm_11800b + +Function118007: ; 118007 + xor a + ld [wcd38], a + +asm_11800b + call Function1183cb + ld a, $18 + ld [wcd33], a + ld a, $19 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_118024 + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $1b + jr c, .asm_118037 + ld a, [wcd34] + ld [wcf66], a + +.asm_118037 + call Function1184a5 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_118024 + pop af + ld [rSVBK], a + call Function118452 + call Function222a +Function11805e: ; 11805e (46:405e) + ret +; 11805f + +Function11805f: ; 11805f + ld a, $1 + ld [wcd38], a + call Function1183cb + ld a, $18 + ld [wcd33], a + ld a, $19 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_11807d + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $1b + jr c, .asm_118090 + ld a, [wcd34] + ld [wcf66], a + +.asm_118090 + call Function11857c + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11807d + pop af + ld [rSVBK], a + call Function118452 + call Function222a + ret +; 1180b8 + +Function1180b8: ; 1180b8 + call Function1183cb + ld a, $22 + ld [wcd33], a + ld a, $23 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_1180d1 + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $28 + jr c, .asm_1180e4 + ld a, [wcd34] + ld [wcf66], a + +.asm_1180e4 + ld a, [wcf66] + cp $10 + jr c, .asm_1180f2 + cp $16 + jr nc, .asm_1180f2 + call Function11884c + +.asm_1180f2 + call Function1184ec + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_1180d1 + pop af + ld [rSVBK], a + call Function118452 + call Function222a + ret +; 11811a + +Function11811a: ; 11811a + ld a, 1 + ld [wcd38], a + jr Function118125 + +Function118121: ; 118121 + xor a + ld [wcd38], a + +Function118125: ; 118125 + call Function1183cb + ld a, $3 + ld [wcd33], a + ld a, $d + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_11813e + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $f + jr c, .asm_118151 + ld a, [wcd34] + ld [wcf66], a + +.asm_118151 + call Function11854d + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11813e + xor a + ld [Unkn1Pals], a + pop af + ld [rSVBK], a + call Function118452 + call Function118180 + call Function222a + ret +; 118180 + +Function118180: ; 118180 + ld a, [ScriptVar] + and a + ret nz + ld a, [wcd38] + and a + ret z + ld a, $5 + call GetSRAMBank + ld hl, wcd69 + ld de, $a89c + ld bc, $0016 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld de, $d202 + ld c, $96 + callba Function17d0b3 + jr c, .asm_1181d0 + ld de, $d202 + ld bc, $0196 + callba Function17d1e1 + jr c, .asm_1181d0 + ld hl, $d202 + ld de, $a8b2 + ld bc, $0096 + call CopyBytes +.asm_1181c9 + pop af + ld [rSVBK], a + call CloseSRAM + ret + +.asm_1181d0 + ld a, $d3 + ld [wc300], a + ld [ScriptVar], a + jr .asm_1181c9 +; 1181da + +Function1181da: ; 1181da + call Function1183cb + ld a, $2 + ld [wcd38], a + ld a, $21 + ld [wcd33], a + ld a, $22 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_1181f8 + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $28 + jr c, .asm_11820b + ld a, [wcd34] + ld [wcf66], a + +.asm_11820b + call Function1185c3 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_1181f8 + pop af + ld [rSVBK], a + call Function118452 + call Function222a + ret +; 118233 + +Function118233: ; 118233 + call Function1183cb + ld a, $1b + ld [wcd33], a + ld a, $1c + ld [wcd34], a + ld a, $6 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_11824c + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $1e + jr c, .asm_11825f + ld a, [wcd34] + ld [wcf66], a + +.asm_11825f + call Function118624 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11824c + pop af + ld [rSVBK], a + call Function118452 + ret +; 118284 + +Function118284: ; 118284 + call Function1183cb + ld a, $19 + ld [wcd33], a + ld a, $1e + ld [wcd34], a + ld a, $5 + ld [wc3f0], a + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $3 + ld [rSVBK], a ; $ff00+$70 +.asm_11829d + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $20 + jr c, .asm_1182b0 + ld a, [wcd34] + ld [wcf66], a +.asm_1182b0 + call Function1186f5 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11829d + pop af + ld [rSVBK], a ; $ff00+$70 + call Function118452 + ret +; 1182d5 (46:42d5) + + +Function1182d5: ; 1182d5 + call Function1183cb + ld a, $18 + ld [wcd33], a + ld a, $19 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_1182ee + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $1b + jr c, .asm_118301 + ld a, [wcd34] + ld [wcf66], a + +.asm_118301 + call Function118746 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_1182ee + pop af + ld [rSVBK], a + call Function118452 + call Function222a + ret +; 118329 + +Function118329: ; 118329 + call Function1183cb + ld a, $15 + ld [wcd33], a + ld a, $16 + ld [wcd34], a + ld a, $6 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_118342 + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $18 + jr c, .asm_118355 + ld a, [wcd34] + ld [wcf66], a + +.asm_118355 + call Function118671 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_118342 + pop af + ld [rSVBK], a + call Function118452 + ret +; 11837a + +Function11837a: ; 11837a + call Function1183cb + ld a, $16 + ld [wcd33], a + ld a, $17 + ld [wcd34], a + ld a, $6 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_118393 + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $19 + jr c, .asm_1183a6 + ld a, [wcd34] + ld [wcf66], a + +.asm_1183a6 + call Function1186b2 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_118393 + pop af + ld [rSVBK], a + call Function118452 + ret +; 1183cb + +Function1183cb: ; 1183cb + di + ld a, [rIE] + ld [wcd32], a + call DoubleSpeed + xor a + ld [rIF], a + ld [wc300], a + ld [wc301], a + ld [wc302], a + ld [wcd80], a + ld [wcd65], a + ld [wcd66], a + ld [wcd67], a + ld [wcd68], a + ld [wc31a], a + ld [wcd89], a + ld [wcd8a], a + ld [wcd8b], a + ld [wc3ec], a + ld [wc3ed], a + ld [wc3ee], a + ld [wc3ef], a + ld hl, VramState + ld a, [hl] + ld [wcd7f], a + set 1, [hl] + ld a, $f + ld [rIE], a + ld a, $1 + ld [$ffc9], a + ld [$ffe9], a + ei + callba Function106462 + callba Function106464 + callba Function115d99 + callba Function11615a + ld a, $5 + call GetSRAMBank + xor a + ld [$bfff], a + call CloseSRAM + ret +; 118440 + +Function118440: ; 118440 + push af + ld a, $5 + call GetSRAMBank + ld a, [$bfff] + inc a + ld [$bfff], a + call CloseSRAM + pop af + ret +; 118452 + +Function118452: ; 118452 + di + xor a + ld [$ffc9], a + ld [$ffe9], a + ld [hVBlank], a + call NormalSpeed + xor a + ld [rIF], a + ld a, [wcd32] + ld [rIE], a + ei + ld a, [wcd7f] + ld [VramState], a + ld a, [wc300] + ld [ScriptVar], a + ret +; 118473 + +Function118473: ; 118473 + ld a, [wcd65] + and a + ret z + ld a, [wcd66] + inc a + ld [wcd66], a + cp $3c + ret nz + xor a + ld [wcd66], a + ld a, [wcd67] + inc a + ld [wcd67], a + cp $3c + ret nz + ld a, [wcd68] + inc a + ld [wcd68], a + cp $63 + jr z, .asm_1184a0 + xor a + ld [wcd67], a + ret + +.asm_1184a0 + xor a + ld [wcd65], a + ret +; 1184a5 + +Function1184a5: ; 1184a5 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_1184b4 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1184b4 + +Jumptable_1184b4: ; 1184b4 + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118a8f + dw Function11878d + dw Function118d80 + dw Function118d9b + dw Function11878d + dw Function118ded + dw Function118e6d + dw Function11878d + dw Function11984e + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 1184ec + +Function1184ec: ; 1184ec + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_1184fb + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1184fb + +Jumptable_1184fb: ; 1184fb + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function119954 + dw Function11878d + dw Function119973 + dw Function11878d + dw Function119987 + dw Function11878d + dw Function1199b4 + dw Function1199ca + dw Function11878d + dw Function1199e2 + dw Function119b0d + dw Function11878d + dw Function119b6b + dw Function119b3b + dw Function11878d + dw Function119b52 + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function119b45 + dw Function11878d + dw Function119ac9 + dw Function118e76 +; 11854d + +Function11854d: ; 11854d + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_11855c + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11855c + +Jumptable_11855c: ; 11855c + dw Function118922 + dw Function118936 + dw Function118982 + dw Function11805e + dw Function119ca2 + dw Function119cab + dw Function119cb8 + dw Function119cc3 + dw Function119cdf + dw Function119cec + dw Function119c97 + dw Function119cab + dw Function119cb8 + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 11857c + +Function11857c: ; 11857c + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_11858b + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11858b + +Jumptable_11858b: ; 11858b + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118a7a + dw Function11878d + dw Function11891c + dw Function1198ee + dw Function1198f7 + dw Function11878d + dw Function119937 + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 1185c3 + +Function1185c3: ; 1185c3 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_1185d2 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1185d2 + +Jumptable_1185d2: ; 1185d2 + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118aa4 + dw Function11878d + dw Function118e92 + dw Function11878d + dw Function118eb0 + dw Function118ec6 + dw Function118f0d + dw Function118f14 + dw Function118f5e + dw Function11878d + dw Function118fc0 + dw Function11878d + dw Function119054 + dw Function1190d0 + dw Function11878d + dw Function1190ec + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function119cc3 + dw Function119cdf + dw Function119cec + dw Function11914e + dw Function118e76 +; 118624 + +Function118624: ; 118624 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_118633 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 118633 + +Jumptable_118633: ; 118633 + dw Function118866 + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118aa4 + dw Function11878d + dw Function118e92 + dw Function11878d + dw Function11915d + dw Function118f68 + dw Function11878d + dw Function119009 + dw Function11878d + dw Function119054 + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 118671 + +Function118671: ; 118671 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_118680 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 118680 + +Jumptable_118680: ; 118680 + dw Function118866 + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function119380 + dw Function119388 + dw Function1193a0 + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 1186b2 + +Function1186b2: ; 1186b2 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_1186c1 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1186c1 + +Jumptable_1186c1: ; 1186c1 + dw Function118866 + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function119380 + dw Function1193e3 + dw Function1193fb + dw Function11878d + dw Function119413 + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 1186f5 + +Function1186f5: ; 1186f5 (46:46f5) + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_118704 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 118704 (46:4704) + +Jumptable_118704: ; 118704 (46:4704) + dw Function11886a + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118abc + dw Function11878d + dw Function119451 + dw Function1195f8 + dw Function119612 + dw Function119629 + dw Function119648 + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function11967d + dw Function119685 + dw Function119665 + dw Function11966d + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 118746 (46:4746) + +Function118746: ; 118746 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_118755 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 118755 + +Jumptable_118755: ; 118755 + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118ad0 + dw Function11878d + dw Function1196f2 + dw Function1197c9 + dw Function1197dc + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function119800 + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 11878d + +Function11878d: ; 11878d (46:478d) + ld a, [wc821] + bit 1, a + jr nz, .asm_1187af + bit 2, a + jr nz, .asm_1187d1 + bit 0, a + jr nz, .asm_1187aa + ld a, [wcd89] + and $1 + jr z, .asm_1187a7 + ld a, $3 + ld [rSVBK], a ; $ff00+$70 +.asm_1187a7 + jp Function119e2e +.asm_1187aa + call Function118821 + ret c + ret +.asm_1187af + ld a, $0 + call Function3e32 + ld [wc300], a + ld a, l + ld [wc301], a + ld a, h + ld [wc302], a + ld a, $a + call Function3e32 + ld a, [wc3f0] + ld [wc319], a + ld a, [wcd34] + ld [wcf66], a + ret +.asm_1187d1 + ld hl, wcd89 + bit 0, [hl] + jr nz, .asm_118803 + set 0, [hl] + ld a, $6 + ld [rSVBK], a ; $ff00+$70 + ld de, Unkn1Pals + ld bc, $1000 + ld a, [hl] + sla a + jr c, .asm_1187f9 + sla a + jr c, .asm_1187fd + sla a + jr c, .asm_1187f5 + ld a, $24 + jr .asm_1187ff +.asm_1187f5 + ld a, $28 + jr .asm_1187ff +.asm_1187f9 + ld a, $2a + jr .asm_1187ff +.asm_1187fd + ld a, $2c +.asm_1187ff + call Function3e32 + ret +.asm_118803 + ld a, $d3 + +Function118805: ; 118805 (46:4805) + ld [wc300], a + xor a + ld [wc301], a + ld [wc302], a + ld a, $a + call Function3e32 + ld a, [wc3f0] + ld [wc319], a + ld a, [wcd34] + ld [wcf66], a + ret + +Function118821: ; 118821 (46:4821) + ld a, [wc319] + cp $3 + jr c, .asm_11884a + cp $4 + jr z, .asm_11884a + ld a, [hJoyDown] ; $ff00+$a8 + cp $5 + jr nz, .asm_11884a + ld a, $a + call Function3e32 + ld a, $a + ld [wc300], a + ld a, [wc3f0] + ld [wc319], a + ld a, [wcd34] + ld [wcf66], a + scf + ret +.asm_11884a + and a + ret +; 11884c (46:484c) + +Function11884c: ; 11884c + ld a, [hJoyDown] + cp $5 + jr nz, .asm_118864 + ld a, $a + call Function3e32 + ld a, $a + ld [wc300], a + ld a, [wcd34] + ld [wcf66], a + scf + ret + +.asm_118864 + and a + ret +; 118866 + +Function118866: + ld a, 2 + jr asm_11886f + +Function11886a: ; 11886a (46:486a) + ld a, 1 + jr asm_11886f +; 11886e (46:486e) + +Function11886e: + xor a + +asm_11886f + ld [BGMapPalBuffer], a + ld a, $0 + ld [wcd3c], a + call Function119e2e + ld a, [wcd33] + ld [wcd45], a + +Function118880: ; 118880 (46:4880) + call Function119ed8 + ret c + xor a + ld [wcf64], a + ld [wc807], a + ld de, wcd81 + ld hl, $46 + ld a, $2 + jp Function119e2b +; 118896 (46:4896) + +Function118896: ; 118896 + ld a, [wc821] + bit 1, a + jr nz, .asm_1188a5 + bit 2, a + jr nz, .asm_1188a5 + bit 0, a + jr z, .asm_1188aa + +.asm_1188a5 + ld a, $34 + jp Function119e2b + +.asm_1188aa + call Function119e2e + jp Function119e2e +; 1188b0 + +Function1188b0: ; 1188b0 (46:48b0) + ld de, wc346 + ld a, $c + jp Function119e2b + +Function1188b8: ; 1188b8 (46:48b8) + ld de, wc3ac + ld a, $e + jp Function119e2b + +Function1188c0: ; 1188c0 (46:48c0) + ld de, wc3cd + ld a, $10 + jp Function119e2b + +Function1188c8: ; 1188c8 (46:48c8) + ld a, $1 + ld [wcd65], a + call Function1188e7 + ld hl, wc708 +.asm_1188d3 + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .asm_1188d3 + call Function119eb4 + call Function119ec2 + ld hl, wc708 + ld a, $6 + jp Function119e2b + +Function1188e7: ; 1188e7 (46:48e7) + ld de, wc346 + ld a, $5 + call GetSRAMBank + ld a, [$aa4a] + call CloseSRAM + and a + ret z + sla a + ld c, a +.asm_1188fa + ld a, [de] + inc de + and a + jr nz, .asm_1188fa + dec c + jr nz, .asm_1188fa + ret + +Function118903: ; 118903 (46:4903) + ld a, [wc3f0] + ld [wc319], a + ld c, $1 + callba Function115e18 + ld a, $8 + ld [wcd3c], a + call Function119ed8 + jp Function119e2e +; 11891c (46:491c) + +Function11891c: ; 11891c + call Function118b42 + jp Function119e2e +; 118922 + +Function118922: ; 118922 + ld a, [wcd38] + and a + jr nz, .asm_11892d + ld hl, UnknownText_0x11aba5 + jr .asm_118930 + +.asm_11892d + ld hl, UnknownText_0x11abcb + +.asm_118930 + call Function11a9c0 + call Function119e2e + +Function118936: + ld a, [wc31a] + and a + ret nz + ld hl, MenuDataHeader_119cf7 + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + call Function321c + hlcoord 16, 8, AttrMap + ld a, $40 + or [hl] + ld [hl], a + call Function3200 + ld a, $1 + ld [wcd4f], a + ld a, $1 + ld [rSVBK], a + ld a, [StatusFlags] + bit 6, a + jr nz, .asm_11896b + ld hl, Strings_119d64 + ld a, $5 + jr .asm_118970 + +.asm_11896b + ld hl, Strings_119d0c + ld a, $b + +.asm_118970 + ld [wcd4a], a + ld a, l + ld [wcd4b], a + ld a, h + ld [wcd4c], a + ld a, $3 + ld [rSVBK], a + call Function119e2e + +Function118982: + hlcoord 13, 8 + ld de, String_119d07 + call PlaceString + hlcoord 13, 10 + ld de, String_119d07 + call PlaceString + ld a, [wcd4b] + ld l, a + ld a, [wcd4c] + ld h, a + ld d, $0 + ld a, [wcd4f] + dec a + rlca + rlca + rlca + ld e, a + add hl, de + ld a, l + ld e, a + ld a, h + ld d, a + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld bc, StringBuffer3 +.asm_1189b5 + ld a, [hli] + cp $50 + jr z, .asm_1189c4 + cp $7f + jr z, .asm_1189c2 + ld [bc], a + inc bc + jr .asm_1189b5 + +.asm_1189c2 + ld a, $50 + +.asm_1189c4 + ld [bc], a + pop af + ld [rSVBK], a + hlcoord 13, 9 + call PlaceString + ld hl, hJoyPressed + ld a, [hl] + and $2 + jr nz, .asm_118a39 + ld a, [hl] + and $1 + jr nz, .asm_118a01 + ld a, [hl] + and $80 + jr nz, .asm_1189e6 + ld a, [hl] + and $40 + jr nz, .asm_1189f2 +.asm_1189e5 + ret + +.asm_1189e6 + ld hl, wcd4f + dec [hl] + jr nz, .asm_1189e5 + ld a, [wcd4a] + ld [hl], a + jr .asm_1189e5 + +.asm_1189f2 + ld a, [wcd4a] + ld hl, wcd4f + inc [hl] + cp [hl] + jr nc, .asm_1189e5 + ld a, $1 + ld [hl], a + jr .asm_1189e5 + +.asm_118a01 + call PlayClickSFX + ld a, [wcd4f] + ld hl, wcd4a + cp [hl] + jr z, .asm_118a3c + dec a + and $fe + srl a + ld [wcf65], a + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + call Function1c17 + pop af + ld [rSVBK], a + ld a, [wcd38] + and a + jr nz, .asm_118a30 + call Function119d93 + ret c + call Function119dd1 + ret c + +.asm_118a30 + ld a, [wcd4f] + ld [wd000 + $800], a + jp Function119e2e + +.asm_118a39 + call PlayClickSFX + +.asm_118a3c + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + call Function1c17 + pop af + ld [rSVBK], a + ld a, $7 + ld [wcf66], a + ld a, $0 + ld [wcd46], a + ret +; 118a54 + +Function118a54: ; 118a54 + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, wc3ec + ld bc, $0004 + jp Function118ae4 +; 118a65 + +Function118a65: ; 118a65 + ld hl, BattleDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, Unkn1Pals + ld bc, $1000 + jp Function118b10 +; 118a7a + +Function118a7a: ; 118a7a + ld hl, BattleDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, Unkn1Pals + ld bc, $1000 + jp Function118b10 +; 118a8f + +Function118a8f: ; 118a8f + ld hl, ExchangeDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, Unkn1Pals + ld bc, $1000 + jp Function118b10 +; 118aa4 + +Function118aa4: ; 118aa4 + ld hl, NewsDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld a, $5 + ld [rSVBK], a + ld de, LYOverrides + ld bc, $e00 + jr Function118b10 +; 118abc + +Function118abc: ; 118abc (46:4abc) + ld hl, MenuDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, Unkn1Pals + ld bc, $1000 + jr Function118b10 +; 118ad0 (46:4ad0) + +Function118ad0: + ld hl, IndexDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, Unkn1Pals + ld bc, $1000 + jr Function118b10 + +Function118ae4: + push bc + push de + push hl + ld a, $8 + ld [wcd3c], a + call Function119ed8 + pop hl + ld c, $0 + ld de, wcc60 +.asm_118af5 + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_118b06 + inc c + ld a, c + cp $a6 + jr c, .asm_118af5 + ld a, $da + jp Function118805 + +.asm_118b06 + call Function118b24 + pop de + pop bc + ld a, $2a + jp Function119e2b +; 118b10 + +Function118b10: + push de + push bc + ld a, $8 + ld [wcd3c], a + call Function119ed8 + call Function118b24 + pop bc + pop de + ld a, $2a + jp Function119e2b + +Function118b24: ; 118b24 (46:4b24) + ld hl, wc346 + ld a, $8 + ld [hli], a + ld a, $c7 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $80 + ld [wcd89], a + ld hl, wc346 + ret +; 118b42 (46:4b42) + +Function118b42: ; 118b42 + ld hl, DefaultFlypoint + ld a, l + ld [wcd51], a + ld a, h + ld [wcd52], a + call Function118b8c + ld a, l + ld [wcd55], a + ld [wcd59], a + ld a, h + ld [wcd56], a + ld [wcd5a], a + call Function118b8c + ld a, l + ld [wcd53], a + ld [wcd5d], a + ld a, h + ld [wcd54], a + ld [wcd5e], a + call Function118b8c + ld a, l + ld [wcd57], a + ld [wcd5b], a + ld a, h + ld [wcd58], a + ld [wcd5c], a + call Function118b8c + ld a, l + ld [wcd5f], a + ld a, h + ld [wcd60], a + ret +; 118b8c + +Function118b8c: ; 118b8c +.asm_118b8c + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_118b8c + dec hl + xor a + ld [hli], a + ld [hli], a + ret +; 118b9a + +Function118b9a: ; 118b9a + ld a, h + cp $e0 + ret c + ld a, $d3 + call Function118805 + and a + ret +; 118ba5 + + + charmap " ", $20 ; revert to ascii + +ExchangeDownloadURL: ; 0x118ba5 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0 + +BattleDownloadURL: ; 0x118bf7 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/battle/index.txt", 0 + +NewsDownloadURL: ; 0x118c47 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/news/index.txt", 0 + +MenuDownloadURL: ; 0x118c95 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/POKESTA/menu.cgb", 0 + +IndexDownloadURL: ; 0x118ce5 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0 + + +Function118d35: ; 118d35 + ld hl, LYOverridesBackup + ld a, [wcd38] + and a + jr nz, .asm_118d6e + ld a, [hli] + cp $94 + jr nz, .asm_118d7b + ld a, [hl] + cp $5 + jr nz, .asm_118d7b + ld a, [wcd4f] + sla a + ld b, a + sla a + sla a + add b + ld b, a + ld a, $5 + call GetSRAMBank + ld a, b + ld [$b2fb], a + call CloseSRAM + callba Function170be4 + callba Function1700c4 + jr .asm_118d78 + +.asm_118d6e + ld a, [hli] + cp $96 + jr nz, .asm_118d7b + ld a, [hl] + cp $0 + jr nz, .asm_118d7b + +.asm_118d78 + jp Function119e2e + +.asm_118d7b + ld a, $d3 + jp Function118805 +; 118d80 + +Function118d80: ; 118d80 + call Function118e06 + ld a, [wcd38] + and a + jr z, .asm_118d8e + call Function119e2e + jr asm_118d9f + +.asm_118d8e + ld a, $9 + ld [wcd3c], a + ld a, $12 + ld [wcd45], a + call Function119e2e + +Function118d9b: + call Function119ed8 + ret c + +asm_118d9f + ld hl, $c608 + call Function119940 + ld a, [wcd38] + and a + jr nz, .asm_118db2 + ld a, $8f + ld [wcd3b], a + jr .asm_118db7 + +.asm_118db2 + ld a, $26 + ld [wcd3b], a + +.asm_118db7 + ld hl, $d800 + ld a, $8 + ld [hli], a + ld a, $c6 + ld [hli], a + ld a, [wcd3b] + ld [hli], a + xor a + ld [hli], a + ld a, $8 + ld [hli], a + ld a, $c7 + ld [hli], a + ld a, [wcd39] + ld [hli], a + ld a, [wcd3a] + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, $d800 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b +; 118ded + +Function118ded: ; 118ded + ld a, [wcd38] + and a + jr z, .asm_118e03 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function11b93b + pop af + ld [rSVBK], a + +.asm_118e03 + jp Function119e2e +; 118e06 + +Function118e06: ; 118e06 + ld hl, DefaultFlypoint + ld a, [wcd38] + and a + jr z, .asm_118e1d +.asm_118e0f + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_118e0f + ld a, [hli] + cp $a + jr nz, .asm_118e0f + +.asm_118e1d + ld a, l + ld [wcd39], a + ld a, h + ld [wcd3a], a +.asm_118e25 + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_118e25 + ld a, [hli] + cp $a + jr nz, .asm_118e25 + dec hl + xor a + ld [hld], a + ld [hl], a + jr asm_118e3e + +Function118e39: ; 118e39 (46:4e39) +.asm_118e39 + ld a, [hli] + and a + jr nz, .asm_118e39 + dec hl +asm_118e3e +.asm_118e3e + ld a, [hld] + cp $2f + jr nz, .asm_118e3e + inc hl + inc hl + ld de, wcd85 + ld c, $4 +.asm_118e4a + ld a, [hli] + cp $2e + jr z, .asm_118e63 + cp $30 + jr c, .asm_118e67 + cp $3a + jr nc, .asm_118e67 + sub $30 + add $f6 + ld [de], a + inc de + dec c + jr nz, .asm_118e4a + ld de, wcd85 +.asm_118e63 + ld a, $50 + ld [de], a + ret +.asm_118e67 + ld a, $f3 + ld [de], a + inc de + jr .asm_118e63 + +Function118e6d: ; 118e6d (46:4e6d) + xor a + ld [wcd65], a + ld a, $a + jp Function119e2b + +Function118e76: ; 118e76 (46:4e76) + ld a, $c + ld [wcd3c], a + jp Function119e2e + +Function118e7e: ; 118e7e (46:4e7e) + call Function119ed8 + ret c + ld a, $36 + jp Function119e2b + +Function118e87: ; 118e87 (46:4e87) + call Function119ed8 + ret c + ld a, [wcd33] + ld [wcf66], a + ret +; 118e92 (46:4e92) + +Function118e92: ; 118e92 + call Function118440 + call Function1191d3 + ld a, [wcd53] + ld l, a + ld a, [wcd54] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld de, $d800 + ld bc, $0800 + jp Function118b10 +; 118eb0 + +Function118eb0: ; 118eb0 + call Function118440 + ld hl, $d802 + ld de, BGMapBuffer + ld bc, $000c + call CopyBytes + call Function1192cc + ret c + jp Function119e2e +; 118ec6 + +Function118ec6: ; 118ec6 + call Function118440 + call SpeechTextBox + ld hl, $d80e + ld de, wc320 + ld bc, $0026 + call CopyBytes + xor a + ld [wc31f], a + ld a, $20 + ld [wc31b], a + ld a, $c3 + ld [wc31c], a + hlcoord 1, 14 + ld a, l + ld [wc31d], a + ld a, h + ld [wc31e], a + ld a, $2 + ld [wc31a], a + ld a, $1d + ld [wcd3c], a + ld a, $24 + ld [wcd45], a + ld a, $11 + ld [wcd46], a + ld a, $1c + ld [wcd47], a + jp Function119e2e +; 118f0d + +Function118f0d: ; 118f0d + call Function119ed8 + ret c + call Function118440 + +Function118f14: + call Function118440 + ld a, [wcd51] + ld l, a + ld a, [wcd52] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118f32 + ld hl, UnknownText_0x11aa13 + call Function11a9c0 + +.asm_118f32 + ld a, [wcd57] + ld l, a + ld a, [wcd58] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld hl, wcc60 + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $24 + ld [wcd45], a + ld a, $13 + ld [wcd46], a + ld a, $1c + ld [wcd47], a + jp Function119e2e +; 118f5e + +Function118f5e: ; 118f5e + call Function119ed8 + ret c + call Function118440 + call DelayFrame + +Function118f68: + call Function119223 + ret c + call Function118440 + ld a, [wcd51] + ld l, a + ld a, [wcd52] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118fba + ld hl, wc346 + ld a, $c608 % $100 + ld [hli], a + ld a, $c608 / $100 + ld [hli], a + ld a, [wcd4b] + ld [hli], a + ld a, [wcd4c] + ld [hli], a + ld a, wc708 % $100 + ld [hli], a + ld a, wc708 / $100 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, wc346 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b + +.asm_118fba + call Function119e2e + jp Function119e2e +; 118fc0 + +Function118fc0: ; 118fc0 + call Function118440 + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118ffa + ld a, [wcd51] + ld l, a + ld a, [wcd52] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118ff2 + ld hl, UnknownText_0x11aa2c + jr .asm_118ff5 + +.asm_118ff2 + ld hl, UnknownText_0x11aa4b + +.asm_118ff5 + call Function11a9c0 + jr Function119009 + +.asm_118ffa + ld hl, UnknownText_0x11aa4b + call Function11a9c0 + call Function119e2e + call Function119e2e + jp Function119e2e + +Function119009: + call Function118440 + call Function119300 + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld hl, wc346 + ld a, $8 + ld [hli], a + ld a, $c6 + ld [hli], a + ld a, [wcd4b] + ld [hli], a + ld a, [wcd4c] + ld [hli], a + ld a, $8 + ld [hli], a + ld a, $c7 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, wc346 + ld de, Unkn1Pals + ld bc, $1000 + ld a, $2c + jp Function119e2b +; 119054 + +Function119054: ; 119054 + ld a, $6 + call GetSRAMBank + ld hl, DefaultFlypoint + ld a, [wcd4f] + ld e, a + ld a, [wcd50] + ld d, a + ld a, [Unkn1Pals] + ld c, a + ld a, [wd001] + ld b, a + call Function119192 + ret c + ld a, [wcd89] + and $1 + jr z, .asm_11908a + ld a, $6 + ld [rSVBK], a + ld hl, DefaultFlypoint + ld a, [Unkn1Pals] + ld c, a + ld a, [wd001] + ld b, a + call Function119192 + ret c + +.asm_11908a + call CloseSRAM + ld a, $3 + ld [rSVBK], a + ld a, $5 + call GetSRAMBank + ld a, [wcd4f] + ld [$b1b3], a + ld a, [wcd50] + ld [$b1b4], a + ld hl, BGMapBuffer + ld de, $aa7f + ld bc, $000c + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wd474] + ld [$b2f3], a + ld hl, wd475 + ld de, $b2f4 + ld bc, $0004 + call CopyBytes + pop af + ld [rSVBK], a + call CloseSRAM + jp Function119e2e +; 1190d0 + +Function1190d0: ; 1190d0 + ld a, $3 + ld [rSVBK], a + ld a, [wcd57] + ld l, a + ld a, [wcd58] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld de, Unkn1Pals + ld bc, $1000 + jp Function118b10 +; 1190ec + +Function1190ec: ; 1190ec + ld a, $5 + call GetSRAMBank + ld hl, BGMapBuffer + ld de, $aa73 + ld bc, $000c + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$aa72], a + call CloseSRAM + ld a, $6 + call GetSRAMBank + ld a, [Unkn1Pals] + ld c, a + ld a, [wd001] + ld b, a + ld hl, DefaultFlypoint + ld de, $a000 + call Function119192 + ret c + ld a, [wcd89] + and $1 + jr z, .asm_11913e + ld a, $6 + ld [rSVBK], a + ld a, [Unkn1Pals] + ld c, a + ld a, [wd001] + ld b, a + ld hl, DefaultFlypoint + call Function119192 + ret c + +.asm_11913e + ld a, $3 + ld [rSVBK], a + call CloseSRAM + ld hl, UnknownText_0x11aa5a + call Function11a9c0 + jp Function119e2e +; 11914e + +Function11914e: ; 11914e + call Function119ed8 + ret c + ld a, $1c + ld [wcf66], a + ld a, $a + ld [wc300], a + ret +; 11915d + +Function11915d: ; 11915d + ld hl, $d802 + ld de, BGMapBuffer + ld bc, $000c + call CopyBytes + ld a, $5 + call GetSRAMBank + ld hl, BGMapBuffer + ld de, $aa7f + ld c, $c +.asm_119176 + ld a, [de] + inc de + cp [hl] + jr nz, .asm_119184 + inc hl + dec c + jr nz, .asm_119176 + call Function119e2e + jr .asm_11918e + +.asm_119184 + ld a, $16 + ld [wcf66], a + ld a, $b + ld [wc300], a + +.asm_11918e + call CloseSRAM + ret +; 119192 + +Function119192: ; 119192 + inc b + inc c + jr .asm_11919e + +.asm_119196 + ld a, [hli] + ld [de], a + inc de + ld a, $bf + cp d + jr c, .asm_1191a6 + +.asm_11919e + dec c + jr nz, .asm_119196 + dec b + jr nz, .asm_119196 + and a + ret + +.asm_1191a6 + ld a, $d3 + call Function118805 + scf + ret +; 1191ad + +Function1191ad: ; 1191ad + push bc + ld c, $0 + ld a, $5 + ld [rSVBK], a +.asm_1191b4 + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_1191cc + inc c + ld a, c + cp $a6 + jr c, .asm_1191b4 + ld a, $da + call Function118805 + ld a, $3 + ld [rSVBK], a + pop bc + scf + ret + +.asm_1191cc + ld a, $3 + ld [rSVBK], a + pop bc + and a + ret +; 1191d3 + +Function1191d3: ; 1191d3 + ld hl, wd102 + ld a, l + ld [wcd53], a + ld a, h + ld [wcd54], a + call Function11920f + ld a, l + ld [wcd51], a + ld a, [wcd4a] + ld a, h + ld [wcd52], a + call Function11920f + ld a, l + ld [wcd55], a + ld a, [wcd4a] + ld a, h + ld [wcd56], a + call Function11920f + ld a, [wcd49] + ld a, l + ld [wcd57], a + ld a, [wcd4a] + ld a, h + ld [wcd58], a + call Function11920f + ret +; 11920f + +Function11920f: ; 11920f +.asm_11920f + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_11920f + ld a, [hli] + cp $a + jr nz, .asm_11920f + dec hl + xor a + ld [hld], a + ld [hli], a + inc hl + ret +; 119223 + +Function119223: ; 119223 + xor a + ld [wcd4b], a + ld [wcd4c], a + ld a, $5 + call GetSRAMBank + ld hl, wc3cd + ld de, $b092 + ld bc, $001f + call CopyBytes + dec de + xor a + ld [de], a + ld hl, $d810 +.asm_119241 + ld a, [hli] + cp $50 + jr nz, .asm_119241 + ld a, [hli] + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [$b1b1], a + ld c, a + ld a, [hli] + ld [$b1b2], a + ld b, a + ld de, $b1d3 + call CopyBytes + call CloseSRAM + ld e, l + ld d, h + ld hl, $c608 +.asm_119266 + ld a, [de] + inc de + cp $ff + jr z, .asm_1192c2 + cp $fe + jr z, .asm_1192a5 + call GetSRAMBank + ld a, [de] + inc de + ld c, a + ld a, [de] + inc de + ld b, a + ld a, [de] + inc de + push de + push af + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld d, a + pop af +.asm_119286 + push af + ld a, [bc] + inc bc + ld [hli], a + inc de + pop af + dec a + jr nz, .asm_119286 + call CloseSRAM + ld a, e + ld [wcd4b], a + ld a, d + ld [wcd4c], a + pop de +.asm_11929b + and a + jr z, .asm_119266 + ld a, $d3 + call Function118805 + scf + ret + +.asm_1192a5 + ld a, [wcd4b] + ld c, a + ld a, [wcd4c] + ld b, a + ld a, [de] + inc de +.asm_1192af + push af + ld a, [de] + inc de + ld [hli], a + inc bc + pop af + dec a + jr nz, .asm_1192af + ld a, c + ld [wcd4b], a + ld a, b + ld [wcd4c], a + jr .asm_11929b + +.asm_1192c2 + ld a, e + ld [wcd4d], a + ld a, d + ld [wcd4e], a + and a + ret +; 1192cc + +Function1192cc: ; 1192cc + ld a, $5 + call GetSRAMBank + ld hl, $aa73 + ld de, $c608 + ld bc, $000c + call CopyBytes + call CloseSRAM + ld hl, $c608 + ld de, BGMapBuffer + ld c, $c +.asm_1192e8 + ld a, [de] + inc de + ld b, a + ld a, [hli] + cp b + jr nz, .asm_1192fe + dec c + jr nz, .asm_1192e8 + ld a, $1f + ld [wcd3c], a + ld a, $27 + ld [wcf66], a + scf + ret + +.asm_1192fe + and a + ret +; 119300 + +Function119300: ; 119300 + xor a + ld [wcd4b], a + ld [wcd4c], a + ld a, [wcd4d] + ld e, a + ld a, [wcd4e] + ld d, a + ld hl, $c608 + ld a, [wcd4b] + ld c, a + ld a, [wcd4c] + ld b, a +.asm_11931a + ld a, [de] + inc de + cp $50 + jr z, .asm_119324 + ld [hli], a + inc bc + jr .asm_11931a + +.asm_119324 + ld a, $3d + ld [hli], a + inc bc + ld a, c + ld [wcd4b], a + ld a, b + ld [wcd4c], a + ld a, [de] + inc de + call GetSRAMBank + ld a, [de] + inc de + ld c, a + ld a, [de] + inc de + ld b, a + ld a, [de] + inc de + push de + push af + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld d, a + pop af +.asm_119348 + push af + ld a, [bc] + and $f0 + swap a + call Function1197bf + ld [hli], a + inc de + ld a, [bc] + inc bc + and $f + call Function1197bf + ld [hli], a + inc de + pop af + dec a + jr nz, .asm_119348 + call CloseSRAM + ld a, e + ld [wcd4b], a + ld a, d + ld [wcd4c], a + pop de + ld a, [de] + cp $50 + jr z, .asm_11937f + ld a, [wcd4b] + ld c, a + ld a, [wcd4c] + ld b, a + ld a, $26 + ld [hli], a + inc bc + jr .asm_11931a + +.asm_11937f + ret +; 119380 + +Function119380: ; 119380 + ld a, $80 + ld [wcd49], a + jp Function119e2e +; 119388 + +Function119388: ; 119388 + ld hl, wcd49 + dec [hl] + ret nz + ld hl, wcc60 + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $10 + ld [wcd45], a + call Function119e2e + +Function1193a0: + call Function119ed8 + ret c + call DelayFrame + ld a, $8 + ld [wcd3c], a + call Function119ed8 + ld hl, wc346 + ld a, wd000 % $100 + ld [hli], a + ld a, wd000 / $100 + ld [hli], a + ld a, [wcd3b] + ld [hli], a + xor a + ld [hli], a + ld a, wc708 % $100 + ld [hli], a + ld a, wc708 / $100 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, wc346 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b +; 1193e3 + +Function1193e3: ; 1193e3 + ld hl, wcd49 + dec [hl] + ret nz + ld hl, wcc60 + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $11 + ld [wcd45], a + call Function119e2e + +Function1193fb: + call Function119ed8 + ret c + call DelayFrame + ld a, $8 + ld [wcd3c], a + call Function119ed8 + ld de, Unkn1Pals + ld bc, $1000 + jp Function118b10 +; 119413 + +Function119413: ; 119413 + ld a, $6 + call GetSRAMBank + ld a, [Unkn1Pals] + ld c, a + ld a, [wd001] + ld b, a + dec bc + dec bc + ld hl, wd002 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + call Function119192 + ret c + ld a, [wcd89] + and $1 + jr z, .asm_119447 + ld a, $6 + ld [rSVBK], a + ld a, [wd000] + ld c, a + ld a, [wd001] + ld b, a + ld hl, wd002 + call Function119192 + ret c + +.asm_119447 + ld a, $3 + ld [rSVBK], a + call CloseSRAM + jp Function119e2e +; 119451 + +Function119451: ; 119451 (46:5451) + ld a, [wcd89] + and $1 + jr z, .asm_11945d + ld a, $d3 + jp Function118805 +.asm_11945d + xor a + ld [wcd50], a + call Function119694 + ld a, b + ld [wcd49], a + call Function1196cd + ld a, [DefaultFlypoint] + ld hl, wd003 + +Function119471: ; 119471 (46:5471) + push af + ld a, [hli] + ld [$c608], a + ld a, [hli] + ld [$c608 + 3], a + ld a, [hli] + ld [$c608 + 1], a + ld a, [hli] + ld [$c608 + 2], a + ld a, [hli] + ld [$c608 + 4], a + ld a, [hli] + ld [$c608 + 5], a ; $c608 + 5 + push hl + ld a, [$c608] + cp $ff + jr z, .asm_1194a7 + ld a, [$c608 + 2] + cp $ff + jr z, .asm_1194a7 + ld a, [$c608 + 1] + cp $ff + jr nz, .asm_1194a7 + call Function119584 + jr c, .asm_11950c + jr .asm_1194f0 +.asm_1194a7 + ld hl, $c608 + ld de, $c608 + 3 + ld c, $3 +.asm_1194af + ld a, [de] + inc de + cp [hl] + inc hl + jr c, .asm_1194f3 + jr z, .asm_1194b9 + jr nc, .asm_1194bc +.asm_1194b9 + dec c + jr nz, .asm_1194af +.asm_1194bc + ld c, $3 + ld hl, wcd49 + ld de, $c608 +.asm_1194c4 + ld a, [de] + inc de + cp $ff + jr z, .asm_1194d1 + cp [hl] + jr z, .asm_1194d1 + jr c, .asm_1194d5 + jr nc, .asm_1194f0 +.asm_1194d1 + inc hl + dec c + jr nz, .asm_1194c4 +.asm_1194d5 + ld c, $3 + ld hl, wcd49 + ld de, $c608 + 3 +.asm_1194dd + ld a, [de] + inc de + cp $ff + jr z, .asm_1194ea + cp [hl] + jr c, .asm_1194f0 + jr z, .asm_1194ea + jr nc, .asm_11950c +.asm_1194ea + inc hl + dec c + jr nz, .asm_1194dd + jr .asm_11950c +.asm_1194f0 + pop hl + jr .asm_119557 +.asm_1194f3 + ld c, $3 + ld hl, wcd49 + ld de, $c608 +.asm_1194fb + ld a, [de] + inc de + cp $ff + jr z, .asm_119508 + cp [hl] + jr c, .asm_11950c + jr z, .asm_119508 + jr nc, .asm_1194d5 +.asm_119508 + inc hl + dec c + jr nz, .asm_1194fb +.asm_11950c + pop hl + ld a, $1 + ld [wcd50], a + ld a, l + ld [$c608], a + ld a, h + ld [$c608 + 1], a + ld de, wcd69 + ld c, $10 + ld b, $0 +.asm_119521 + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_119528 + inc b +.asm_119528 + dec c + jr nz, .asm_119521 + ld a, $10 + cp b + jr z, .asm_119536 + inc hl + inc hl + inc hl + inc hl + jr .asm_11957a +.asm_119536 + ld a, [hli] + cp $50 + jr nz, .asm_119552 + ld a, [hli] + cp $33 + jr nz, .asm_119553 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [wcd83] + cp c + jr nz, .asm_119576 + ld a, [wcd84] + cp b + jr nz, .asm_119576 + jr .asm_11955b +.asm_119552 + inc hl +.asm_119553 + inc hl + inc hl + jr .asm_11955b +.asm_119557 + ld de, $14 + add hl, de +.asm_11955b + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + add hl, de + pop af + dec a + jp nz, Function119471 + ld a, [wcd50] + and a + jr z, .asm_119571 + ld a, $1a + ld [wcf66], a + ret +.asm_119571 + ld a, $d8 + jp Function118805 +.asm_119576 + ld a, $10 + jr .asm_11957c +.asm_11957a + ld a, $f +.asm_11957c + ld [wcf66], a + pop af + call Function1195c4 + ret + +Function119584: ; 119584 (46:5584) + ld a, [$c608] + ld b, a + ld a, [$c608 + 3] + ld c, a + cp b + jr c, .asm_11959c + ld a, [wcd49] + cp b + jr c, .asm_1195c2 +.asm_119595 + cp c + jr c, .asm_1195a2 + jr z, .asm_1195a2 + jr .asm_1195c2 +.asm_11959c + ld a, [wcd49] + cp b + jr c, .asm_119595 +.asm_1195a2 + ld a, [$c608 + 2] + ld b, a + ld a, [$c608 + 5] ; $c608 + 5 + ld c, a + cp b + jr c, .asm_1195ba + ld a, [wcd4b] + cp b + jr c, .asm_1195c2 +.asm_1195b3 + cp c + jr c, .asm_1195c0 + jr z, .asm_1195c0 + jr .asm_1195c2 +.asm_1195ba + ld a, [wcd4b] + cp b + jr c, .asm_1195b3 +.asm_1195c0 + scf + ret +.asm_1195c2 + and a + ret + +Function1195c4: ; 1195c4 (46:55c4) + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld de, $a5 + ld a, b + cp d + jr c, .asm_1195d9 + jr z, .asm_1195d3 + jr nc, .asm_1195f3 +.asm_1195d3 + ld a, c + cp e + jr z, .asm_1195d9 + jr nc, .asm_1195f3 +.asm_1195d9 + ld de, wcc60 + call CopyBytes + xor a + ld [de], a + ld a, [$c608] + ld l, a + ld a, [$c608 + 1] + ld h, a + ld de, wcd69 + ld bc, $10 + call CopyBytes + ret +.asm_1195f3 + ld a, $d8 + jp Function118805 + +Function1195f8: ; 1195f8 (46:55f8) + ld a, $11 + ld [wcd3c], a + ld a, $1c + ld [wcd45], a + ld a, $f + ld [wcd46], a + ld a, $14 + ld [wcd47], a + call Function119e2e + jp Function119e2e + +Function119612: ; 119612 (46:5612) + ld a, $14 + ld [wcd3c], a + ld a, $1c + ld [wcd45], a + ld a, $10 + ld [wcd46], a + ld a, $14 + ld [wcd47], a + jp Function119e2e + +Function119629: ; 119629 (46:5629) + call Function119ed8 + ret c + ld a, $60 + ld l, a + ld a, $cc + ld h, a + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $1c + ld [wcd45], a + ld a, $14 + ld [wcd47], a + call Function119e2e + +Function119648: ; 119648 (46:5648) + call Function119ed8 + ret c + call DelayFrame + ld a, $8 + ld [wcd3c], a + call Function119ed8 + call Function118b24 + ld de, Unkn1Pals + ld bc, $1000 + ld a, $2a + jp Function119e2b + +Function119665: ; 119665 (46:5665) + ld a, $1a + ld [wcd3c], a + call Function119e2e + +Function11966d: ; 11966d (46:566d) + call Function119ed8 + ret c + ld a, [wcd47] + ld [wcf66], a + ld a, $a + ld [wc300], a + ret + +Function11967d: ; 11967d (46:567d) + ld a, $18 + ld [wcd3c], a + call Function119e2e + +Function119685: ; 119685 (46:5685) + call Function119ed8 + ret c + ld a, $14 + ld [wcf66], a + ld a, $a + ld [wc300], a + ret + +Function119694: ; 119694 (46:5694) + ld b, 0 + ld hl, Unknown_1196b8 +.asm_119699 + ld de, wc708 + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_1196af + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_1196b0 + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_1196b1 + ret +.asm_1196af + inc hl +.asm_1196b0 + inc hl +.asm_1196b1 + inc b + ld a, b + cp $7 + jr nz, .asm_119699 + ret +; 1196b8 (46:56b8) + +Unknown_1196b8: ; 1196b8 + db "Mon" + db "Tue" + db "Wed" + db "Thu" + db "Fri" + db "Sat" + db "Sun" +; 1196cd + +SECTION "bank46_2", ROMX, BANK[$46] +; A hack to use ascii above. + +Function1196cd: ; 1196cd (46:56cd) + ld de, wc719 + call Function1196de + ld [wcd4a], a + inc de + call Function1196de + ld [wcd4b], a + ret + +Function1196de: ; 1196de (46:56de) + ld a, [de] + inc de + sub $30 + sla a + ld b, a + sla a + sla a + add b + ld c, a + add hl, bc + ld a, [de] + inc de + sub $30 + add c + ret +; 1196f2 (46:56f2) + +Function1196f2: ; 1196f2 + ld hl, DefaultFlypoint +.asm_1196f5 + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_1196f5 + ld a, [hl] + cp $a + jr nz, .asm_1196f5 + xor a + ld [hld], a + ld [hli], a + ld a, l + ld [wcd5b], a + ld a, h + ld [wcd5c], a + inc hl + ld e, l + ld d, h + ld a, [de] + inc de + cp $d + jr nz, .asm_119722 + ld a, [de] + inc de + cp $a + jr nz, .asm_119722 + ld a, $b + jp Function118805 + +.asm_119722 + call Random + ld c, $0 + ld b, c +.asm_119728 + call Function119798 + ld a, d + cp $ff + jr nz, .asm_119735 + ld a, e + cp $ff + jr z, .asm_11974c + +.asm_119735 + ld a, [hRandomSub] + cp d + jr c, .asm_11974c + jr z, .asm_11973e + jr .asm_119745 + +.asm_11973e + ld a, [hRandomAdd] + cp e + jr c, .asm_11974c + jr z, .asm_11974c + +.asm_119745 + inc bc + ld a, c + or b + jr z, .asm_119770 + jr .asm_119728 + +.asm_11974c + ld a, [wcd5b] + ld l, a + ld a, [wcd5c] + ld h, a +.asm_119754 + ld a, [hld] + cp $58 + jr nz, .asm_119754 + ld d, $0 +.asm_11975b + inc d + ld a, [hld] + cp $58 + jr z, .asm_11975b + inc hl + inc hl + ld a, d + dec a + jr z, .asm_11978e + dec a + jr z, .asm_119785 + dec a + jr z, .asm_11977e + dec a + jr z, .asm_119775 + +.asm_119770 + ld a, $d3 + jp Function118805 + +.asm_119775 + ld a, b + and $f0 + swap a + call Function1197bf + ld [hli], a + +.asm_11977e + ld a, b + and $f + call Function1197bf + ld [hli], a + +.asm_119785 + ld a, c + and $f0 + swap a + call Function1197bf + ld [hli], a + +.asm_11978e + ld a, c + and $f + call Function1197bf + ld [hli], a + jp Function119e2e +; 119798 + +Function119798: ; 119798 + ld d, $0 + ld e, d + call Function1197b4 + swap a + or d + ld d, a + call Function1197b4 + or d + ld d, a + call Function1197b4 + swap a + or e + ld e, a + call Function1197b4 + or e + ld e, a + ret +; 1197b4 + +Function1197b4: ; 1197b4 + ld a, [hli] + cp $61 + jr nc, .asm_1197bc + sub $30 + ret + +.asm_1197bc + sub $57 + ret +; 1197bf + +Function1197bf: ; 1197bf + cp $a + jr nc, .asm_1197c6 + add $30 + ret + +.asm_1197c6 + add $57 + ret +; 1197c9 + +Function1197c9: ; 1197c9 + ld hl, DefaultFlypoint + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $12 + ld [wcd45], a + call Function119e2e + +Function1197dc: + call Function119ed8 + ret c + call DelayFrame + ld hl, DefaultFlypoint + ld de, wcc60 + ld bc, $0080 + call CopyBytes + dec de + xor a + ld [de], a + call Function118b24 + ld de, Unkn1Pals + ld bc, $1000 + ld a, $2a + jp Function119e2b +; 119800 + +Function119800: ; 119800 + ld a, $fd + ld [$c6d0], a + ld [wc702], a + ld a, [wcd81] + ld [wc74e], a + ld a, [wcf63] + push af + ld a, [wcf64] + push af + ld a, [wcf65] + push af + ld a, [wcf66] + push af + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba Function10803d + call Function11a9ce + call RestartMapMusic + ld a, $3 + ld [rSVBK], a + pop af + ld [wcf66], a + pop af + ld [wcf65], a + pop af + ld [wcf64], a + pop af + ld [wcf63], a + callba Function115dc3 + jp Function119e2e +; 11984e + +Function11984e: ; 11984e + ld a, [wcd80] + and a + jr nz, .asm_1198a0 + ld a, [wcd38] + and a + jr nz, .asm_1198a8 + callba Function170000 + ld a, [wcf63] + push af + ld a, [wcf64] + push af + ld a, [wcf65] + push af + ld a, [wcf66] + push af + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba Function108000 + call Function11a9ce + call RestartMapMusic + ld a, $3 + ld [rSVBK], a + pop af + ld [wcf66], a + pop af + ld [wcf65], a + pop af + ld [wcf64], a + pop af + ld [wcf63], a + callba Function115dc3 + jp Function119e2e + +.asm_1198a0 + ld a, $a + ld [wc300], a + jp Function119e2e + +.asm_1198a8 + callba Function17005a + ld a, [wcf63] + push af + ld a, [wcf64] + push af + ld a, [wcf65] + push af + ld a, [wcf66] + push af + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba Function108012 + call Function11a9ce + call RestartMapMusic + ld a, $3 + ld [rSVBK], a + pop af + ld [wcf66], a + pop af + ld [wcf65], a + pop af + ld [wcf64], a + pop af + ld [wcf63], a + callba Function115dc3 + jp Function119e2e +; 1198ee + +Function1198ee: ; 1198ee + ld hl, UnknownText_0x11aab2 + call Function11a9c0 + call Function119e2e + +Function1198f7: + ld a, [wc31a] + and a + ret nz + ld hl, $c608 + 2 + call Function119940 + ld hl, $d800 + ld a, $c608 % $100 + ld [hli], a + ld a, $c608 / $100 + ld [hli], a + ld a, $f6 + ld [hli], a + xor a + ld [hli], a + ld a, wc708 % $100 + ld [hli], a + ld a, wc708 / $100 + ld [hli], a + ld a, [wcd51] + ld [hli], a + ld a, [wcd52] + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, $d800 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b +; 119937 + +Function119937: ; 119937 + callba Function1707f4 + jp Function119e2e +; 119940 + +Function119940: ; 119940 + ld de, wc3cd + ld c, $1e +.asm_119945 + ld a, [de] + inc de + ld [hli], a + dec c + jr z, .asm_119953 + and a + jr nz, .asm_119945 + xor a +.asm_11994f + ld [hli], a + dec c + jr nz, .asm_11994f + +.asm_119953 + ret +; 119954 + +Function119954: ; 119954 + ld a, $1c + ld [wcd3c], a + call Function119ed8 + ld hl, $c608 + ld de, wc3cd +.asm_119962 + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .asm_119962 + call Function119ec2 + ld hl, $c608 + ld a, $1e + jp Function119e2b +; 119973 + +Function119973: ; 119973 + ld a, $1 + ld [wcf64], a + xor a + ld [wcf65], a + ld [StringBuffer2 + 10], a + ld de, Unkn1Pals + ld a, $20 + jp Function119e2b +; 119987 + +Function119987: ; 119987 + ld hl, wd001 + ld a, [Unkn1Pals] + or [hl] + jr z, .asm_1199a0 + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + ld de, BGPals + ld a, $22 + jp Function119e2b + +.asm_1199a0 + ld a, [StringBuffer2 + 10] + and a + jr z, .asm_1199ae + ld a, $16 + ld [wcf66], a + jp Function119b0d + +.asm_1199ae + ld a, $1b + ld [wcf66], a + ret +; 1199b4 + +Function1199b4: ; 1199b4 + ld a, [wd000 + 130] + and a + jr nz, .asm_1199c7 + ld a, [wd000 + 129] + cp $7 + jr nc, .asm_1199c7 + call Function119e2e + jp Function1199ca + +.asm_1199c7 + jp Function119ac9 +; 1199ca + +Function1199ca: ; 1199ca + ld a, $20 + ld [wcd89], a + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + ld de, LYOverrides + ld bc, $0700 + ld a, $28 + jp Function119e2b +; 1199e2 + +Function1199e2: ; 1199e2 + ld c, $c + ld de, Unknown_119e33 + call Function119e4f + jp c, Function119ac9 + ld a, c + cp $1 + jp nz, Function119ac9 + ld hl, $d880 + ld bc, Unknown_119af1 +.asm_1199f9 + ld a, [bc] + and a + jr z, .asm_119a05 + cp [hl] + jp nz, Function119ac9 + inc bc + inc hl + jr .asm_1199f9 + +.asm_119a05 + ld c, $17 + ld de, Unknown_119e40 + call Function119e4f + jp c, .asm_119aa7 + ld a, c + cp $1 + jp nz, .asm_119aa7 + ld a, [wd000 + $880] + cp $31 + jp nz, .asm_119aa7 + ld a, [wd000 + $881] + cp $20 + jp nz, .asm_119aa7 + ld a, [wd000 + $88a] + cp $20 + jp nz, .asm_119aa7 + ld a, [wd000 + $894] + cp $20 + jp nz, .asm_119aa7 + xor a + ld [wd000 + $8a0], a + ld [wd000 + $8a1], a + ld [wd000 + $8a2], a + ld [wd000 + $8a3], a + ld hl, $d8a0 + ld bc, $d889 + call Function119e98 + call Function119e98 + ld hl, $d8a0 + ld a, [wcd2d] + cp [hl] + jr nz, Function119ac9 + inc hl + ld a, [wcd2c] + cp [hl] + jr nz, Function119ac9 + inc hl + ld a, [wcd2b] + cp [hl] + jr nz, Function119ac9 + inc hl + ld a, [wcd2a] + cp [hl] + jr nz, Function119ac9 + xor a + ld [wd000 + $8a0], a + ld [wd000 + $8a1], a + ld [wd000 + $8a2], a + ld [wd000 + $8a3], a + ld hl, $d8a0 + ld bc, $d88e + call Function119e98 + ld bc, $d893 + call Function119e98 + ld hl, $d8a0 + ld a, [wcd2f] + cp [hl] + jr nz, .asm_119aa7 + inc hl + ld a, [wcd2e] + cp [hl] + jr nz, .asm_119aa7 + inc hl + ld a, [wcd31] + cp [hl] + jr nz, .asm_119aa7 + inc hl + ld a, [wcd30] + cp [hl] + jr z, .asm_119aaf + +.asm_119aa7 + ld a, $25 + ld [wcf66], a + jp Function119b45 + +.asm_119aaf + ld a, [StringBuffer2 + 10] + and a + jr nz, .asm_119aa7 + ld a, [wd000 + $895] + sub $30 + ld [StringBuffer2 + 10], a + ld a, [wcf64] + ld [StringBuffer2 + 11], a + ld a, [wcf65] + ld [StringBuffer2 + 12], a + +Function119ac9: + ld a, [Unkn1Pals] + ld l, a + ld a, [wd001] + ld h, a + dec hl + ld a, l + ld [Unkn1Pals], a + ld a, h + ld [wd001], a + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + inc hl + ld a, l + ld [wcf64], a + ld a, h + ld [wcf65], a + ld a, $10 + ld [wcf66], a + ret +; 119af1 + +Unknown_119af1: + INCBIN "data/mobile/x-game-code.txt" + INCBIN "data/mobile/x-game-result.txt" +; 119b0d + +Function119b0d: ; 119b0d + ld a, $8 + ld [wcd3c], a + call Function119ed8 + ld a, [StringBuffer2 + 10] + cp $1 + jr z, .asm_119b23 + ld a, $19 + ld [wcf66], a + jr Function119b3b + +.asm_119b23 + ld a, $10 + ld [wcd89], a + ld a, [StringBuffer2 + 11] + ld l, a + ld a, [StringBuffer2 + 12] + ld h, a + ld de, LYOverrides + ld bc, $0700 + ld a, $24 + jp Function119e2b + +Function119b3b: + ld a, [StringBuffer2 + 11] + ld l, a + ld a, [StringBuffer2 + 12] + ld h, a + jr asm_119b4d + +Function119b45: + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + +asm_119b4d + ld a, $26 + jp Function119e2b +; 119b52 + +Function119b52: ; 119b52 + ld a, [StringBuffer2 + 10] + cp $1 + jr nz, .asm_119b66 + ld a, $5 + call GetSRAMBank + ld a, $4 + ld [$a800], a + call CloseSRAM + +.asm_119b66 + ld a, $1c + jp Function119e2b +; 119b6b + +Function119b6b: ; 119b6b + ld a, [StringBuffer2 + 10] + cp $1 + jr z, .asm_119b75 + jp Function119e2e + +.asm_119b75 + ld a, [LYOverrides] + ld b, a + ld a, [wd101] + or b + jr z, .asm_119be3 + ld hl, $d800 + ld de, wd102 +.asm_119b85 + ld a, [de] + inc de + cp $d + jr nz, .asm_119b85 + inc de + ld a, [de] + cp $d + jr nz, .asm_119b85 + inc de + inc de +.asm_119b93 + ld a, [de] + inc de + cp $d + jr z, .asm_119bfa + call Function119c3e + ret c + ld [hli], a + ld a, [de] + inc de + call Function119c3e + ret c + ld [hli], a + ld a, [de] + inc de + call Function119c3e + ret c + ld [hli], a + ld a, [de] + inc de + call Function119c3e + ret c + ld [hl], a + push de + ld d, [hl] + dec hl + ld c, [hl] + dec hl + ld b, [hl] + dec hl + ld a, [hl] + sla b + sla b + sla b + rla + sla b + rla + ld [hli], a + ld [hl], b + inc hl + rrc c + rrc c + ld [hl], c + dec hl + ld a, $f + and c + or [hl] + ld [hli], a + ld a, [hli] + and $c0 + or [hl] + dec hl + ld [hld], a + dec hl + pop de + inc hl + inc hl + inc hl + ld a, h + cp $e0 + jr c, .asm_119b93 + +.asm_119be3 + ld a, $19 + ld [wcf66], a + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$a800], a + call CloseSRAM + xor a + ld [StringBuffer2 + 10], a + ret + +.asm_119bfa + inc de + ld a, [de] + cp $d + jr nz, .asm_119b93 + ld a, l + cp (wd000 + $800 + $69) % $100 + jr nz, .asm_119be3 + ld a, h + cp (wd000 + $800 + $69) / $100 + jr nz, .asm_119be3 + ld a, $5 + call GetSRAMBank + ld a, [wcf64] + ld [$b090], a + ld a, [wcf65] + ld [$b091], a + ld hl, $d800 + ld de, $b023 + ld bc, $0069 + call CopyBytes + ld a, $3 + ld [$a800], a + call CloseSRAM + ld hl, $d800 + ld de, $c608 + ld bc, $0069 + call CopyBytes + jp Function119e2e +; 119c3e + +Function119c3e: ; 119c3e + cp $2b + jr c, .asm_119c68 + jr z, .asm_119c80 + cp $2f + jr c, .asm_119c68 + jr z, .asm_119c84 + cp $30 + jr c, .asm_119c68 + cp $3a + jr c, .asm_119c88 + cp $3d + jr c, .asm_119c68 + jr z, .asm_119c8c + cp $41 + jr c, .asm_119c68 + cp $5b + jr c, .asm_119c8f + cp $61 + jr c, .asm_119c68 + cp $7b + jr c, .asm_119c93 + +.asm_119c68 + ld a, $19 + ld [wcf66], a + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$a800], a + call CloseSRAM + xor a + ld [StringBuffer2 + 10], a + scf + ret + +.asm_119c80 + ld a, $3e + and a + ret + +.asm_119c84 + ld a, $3f + and a + ret + +.asm_119c88 + add $4 + and a + ret + +.asm_119c8c + xor a + and a + ret + +.asm_119c8f + sub $41 + and a + ret + +.asm_119c93 + sub $47 + and a + ret +; 119c97 + +Function119c97: ; 119c97 + ld hl, UnknownText_0x11ab0f + call Function11a9c0 + call Function119e2e + jr Function119cab + +Function119ca2: + ld hl, UnknownText_0x11aaf0 + call Function11a9c0 + call Function119e2e + +Function119cab: + ld a, [wc31a] + and a + ret nz + ld a, $80 + ld [wcd50], a + call Function119e2e + +Function119cb8: + ld hl, wcd50 + dec [hl] + ret nz + ld a, $0 + ld [wcf66], a + ret +; 119cc3 + +Function119cc3: ; 119cc3 + ld a, [wcd38] + and a + jr z, .asm_119cd1 + dec a + jr z, .asm_119cd6 + ld hl, UnknownText_0x11aa6a + jr .asm_119cd9 + +.asm_119cd1 + ld hl, UnknownText_0x11ab4a + jr .asm_119cd9 + +.asm_119cd6 + ld hl, UnknownText_0x11ab6e + +.asm_119cd9 + call Function11a9c0 + call Function119e2e + +Function119cdf: + ld a, [wc31a] + and a + ret nz + ld a, $f + ld [wcd3c], a + call Function119e2e + +Function119cec: + call Function119ed8 + ret c + ld a, [wcd46] + ld [wcf66], a + ret +; 119cf7 + +MenuDataHeader_119cf7: ; 119cf7 + db $40 ; flags + db 7, 12 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 119cff + +MenuData_119cff: ; 119cff + db $40 ; flags + db 7, 15 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 119d07 + +String_119d07: + db " ▼@" + +Strings_119d0c: + db " L:10 @@" + db " L:20 @@" + db " L:30 @@" + db " L:40 @@" + db " L:50 @@" + db " L:60 @@" + db " L:70 @@" + db " L:80 @@" + db " L:90 @@" + db " L:100@@" + db "CANCEL@@" + +Strings_119d64: + db " L:10 @@" + db " L:20 @@" + db " L:30 @@" + db " L:40 @@" + db "CANCEL@@" + +String_119d8c: + db "CANCEL@" +; 119d93 + +Function119d93: ; 119d93 (46:5d93) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $1 + ld [rSVBK], a ; $ff00+$70 + ld a, [wcd4f] + ld c, 10 + call SimpleMultiply + ld hl, wcd50 + ld [hl], a + ld bc, PartyMon2 - PartyMon1 + ld de, PartyMon1Level + ld a, [PartyCount] +.asm_119daf + push af + ld a, [de] + push hl + push de + pop hl + add hl, bc + push hl + pop de + pop hl + cp [hl] + jr z, .asm_119dbd + jr nc, .asm_119dc6 +.asm_119dbd + pop af + dec a + jr nz, .asm_119daf + pop af + ld [rSVBK], a ; $ff00+$70 + and a + ret +.asm_119dc6 + pop af + ld a, $4 + ld [wcf66], a + pop af + ld [rSVBK], a ; $ff00+$70 + scf + ret + +Function119dd1: ; 119dd1 (46:5dd1) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, [wcd4f] + cp 70 / 10 + jr nc, .asm_119e08 + ld a, $1 + ld [rSVBK], a ; $ff00+$70 + ld hl, PartyMon1Level + ld bc, PartyMon2 - PartyMon1 + ld de, PartySpecies + ld a, [PartyCount] +.asm_119deb + push af + ld a, [de] + cp MEWTWO + jr z, .asm_119dfd + cp MEW + jr z, .asm_119dfd + cp LUGIA + jr c, .asm_119e02 + cp NUM_POKEMON + 1 + jr nc, .asm_119e02 +.asm_119dfd + ld a, [hl] + cp 70 + jr c, .asm_119e0d +.asm_119e02 + add hl, bc + inc de + pop af + dec a + jr nz, .asm_119deb +.asm_119e08 + pop af + ld [rSVBK], a ; $ff00+$70 + and a + ret +.asm_119e0d + pop af + ld a, [de] + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + ld de, wcd49 + ld bc, PKMN_NAME_LENGTH + call CopyBytes + ld a, $a + ld [wcf66], a + pop af + ld [rSVBK], a ; $ff00+$70 + scf + ret +; 119e2b (46:5e2b) + +Function119e2b: ; 119e2b (46:5e2b) + call Function3e32 + +Function119e2e: ; 119e2e (46:5e2e) + ld hl, wcf66 + inc [hl] + ret +; 119e33 (46:5e33) + +Unknown_119e33: ; 119e33 + INCBIN "data/mobile/x-game-code-prefix.txt" +Unknown_119e40: + INCBIN "data/mobile/x-game-result-prefix.txt" +; 119e4f + +Function119e4f: ; 119e4f + push bc + ld hl, LYOverrides + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +.asm_119e57 + ld a, [de] + cp [hl] + jr z, .asm_119e64 +.asm_119e5b + inc hl + dec bc + ld a, b + or c + jr nz, .asm_119e57 +.asm_119e61 + pop bc + scf + ret + +.asm_119e64 + push de +.asm_119e65 + ld a, [de] + inc de + cp "\n" + jr z, .asm_119e7a + cp [hl] + jr nz, .asm_119e77 + inc hl + dec bc + ld a, b + or c + jr nz, .asm_119e65 + pop de + jr .asm_119e61 + +.asm_119e77 + pop de + jr .asm_119e5b + +.asm_119e7a + pop de + pop bc + inc hl + ld de, $d880 +.asm_119e80 + ld a, [hli] + ld [de], a + inc de + cp $d + jr z, .asm_119e8c + dec c + jr nz, .asm_119e80 + scf + ret + +.asm_119e8c + and a + ret +; 119e8e + +Function119e8e: ; 119e8e + cp $60 + jr c, .asm_119e95 + sub $57 + ret + +.asm_119e95 + sub $30 + ret +; 119e98 + +Function119e98: ; 119e98 + ld a, $2 +.asm_119e9a + push af + ld a, [bc] + dec bc + call Function119e8e + or [hl] + ld [hl], a + ld a, [bc] + dec bc + call Function119e8e + rlca + rlca + rlca + rlca + or [hl] + ld [hl], a + inc hl + pop af + dec a + and a + jr nz, .asm_119e9a + ret +; 119eb4 + +Function119eb4: ; 119eb4 (46:5eb4) + xor a + ld [wc3cc], a + ld de, wc3ac +.asm_119ebb + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .asm_119ebb + ret + +Function119ec2: ; 119ec2 (46:5ec2) + ld a, $5 + call GetSRAMBank + xor a + ld [$aa5c], a + ld de, $aa4c +.asm_119ece + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .asm_119ece + call CloseSRAM + ret + +Function119ed8: ; 119ed8 (46:5ed8) + ld a, [rSVBK] ; $ff00+$70 + ld [wcd8c], a + ld a, $1 + ld [rSVBK], a ; $ff00+$70 + call Function119eee + ld a, [wcd8c] + ld [rSVBK], a ; $ff00+$70 + ld a, $1 + ld [hBGMapMode], a ; $ff00+$d4 + ret + +Function119eee: ; 119eee (46:5eee) + ld a, [wcd3c] + ld e, a + ld d, 0 + ld hl, Jumptable_119efd + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 119efd (46:5efd) + +Jumptable_119efd: ; 119efd + dw Function119f3f + dw Function119f45 + dw Function119f56 + dw Function119f76 + dw Function119f98 + dw Function11a113 + dw Function11a129 + dw Function11a131 + dw Function11a13d + dw Function11a14b + dw Function11a16d + dw Function11a192 + dw Function11a2e6 + dw Function11a302 + dw Function11a33a + dw Function11a207 + dw Function11a235 + dw Function11a357 + dw Function11a36b + dw Function11a38d + dw Function11a3c5 + dw Function11a3d9 + dw Function11a3f9 + dw Function11a41b + dw Function11a452 + dw Function11a47a + dw Function11a488 + dw Function11a49e + dw Function11a4db + dw Function11a4e8 + dw Function11a4fe + dw Function11a466 + dw Function11a47a +; 119f3f + +Function119f3f: ; 119f3f + call Function11a5b9 + jp Function11a5b0 +; 119f45 + +Function119f45: ; 119f45 + hlcoord 4, 2 + ld de, String_11a661 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 119f56 + +Function119f56: ; 119f56 + ld a, [wcd44] + and a + jr z, .asm_119f62 + dec a + ld [wcd44], a + scf + ret + +.asm_119f62 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6aa + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 119f76 + +Function119f76: ; 119f76 + ld a, [wcd44] + and a + jr z, .asm_119f82 + dec a + ld [wcd44], a + scf + ret + +.asm_119f82 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a679 + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 119f98 + +Function119f98: ; 119f98 + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_119fef + call Function1c07 + call Function11a63c + xor a + ld [ScriptVar], a + call Function11a00e + ld a, [ScriptVar] + and a + jr z, .asm_119fd4 + call Function1c07 + callba Function104061 + callba Function115dc3 + ld a, [wcd33] + ld [wcf66], a + ld a, $a + ld [wc300], a + scf + ret + +.asm_119fd4 + hlcoord 4, 2 + ld de, String_11a692 + call PlaceString + ld a, $1 + ld [wc30d], a + ld a, $1 + ld [wc314], a + callba Function104061 + and a + ret + +.asm_119fef + call Function1c07 + call Function1c07 + callba Function104061 + ld a, [wcd45] + ld [wcf66], a + callba Function115dc3 + ld a, $a + ld [wc300], a + scf + ret +; 11a00e + +Function11a00e: ; 11a00e + ld a, $5 + call GetSRAMBank + ld a, [$aa4b] + and a + jr z, .asm_11a02a + ld a, [$aa4c] + call CloseSRAM + and a + ret nz + ld a, $5 + call GetSRAMBank + xor a + ld [$aa4b], a + +.asm_11a02a + call CloseSRAM + ld a, [BGMapPalBuffer] + and a + jr z, .asm_11a039 + dec a + jr z, .asm_11a081 + jp Function11a0ca + +.asm_11a039 + ld a, $3 + ld [rSVBK], a + ld hl, $c608 + ld de, $d800 + ld bc, $00f6 + call CopyBytes + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba Function11765d + call Function11a9ce + ld a, $3 + ld [rSVBK], a + ld hl, $d800 + ld de, $c608 + ld bc, $00f6 + call CopyBytes + ld a, $1 + ld [rSVBK], a + callba Function115d99 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret + +.asm_11a081 + xor a + ld [wcf83], a + ld [wcf82], a + ld a, $13 + ld [wcf85], a + ld a, $5 + ld [wcf84], a + call Function1c00 + callba Function11765d + callba Function117ab4 + callba Function106462 + callba Function106464 + call Function1c07 + callba Function104061 + callba Function115d99 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret +; 11a0ca + +Function11a0ca: ; 11a0ca + xor a + ld [wcf83], a + ld [wcf82], a + ld a, $13 + ld [wcf85], a + ld a, $11 + ld [wcf84], a + call Function1c00 + callba Function11765d + callba Function17d3f6 + callba Function106462 + callba Function106464 + call Function1c07 + callba Function104061 + callba Function115d99 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret +; 11a113 + +Function11a113: ; 11a113 + call Function11a63c + ld c, $1 + callba Function115e18 + hlcoord 4, 2 + ld de, String_11a6c8 + call PlaceString + and a + ret +; 11a129 + +Function11a129: ; 11a129 + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a131 + +Function11a131: ; 11a131 + ld hl, wcd44 + dec [hl] + ret nz + ld a, [wcd3c] + inc a + ld [wcd3c], a + +Function11a13d: + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret +; 11a14b + +Function11a14b: ; 11a14b + ld hl, wcd85 + ld a, [hl] + cp $f3 + jr nz, .asm_11a155 + and a + ret + +.asm_11a155 + call Function11a1d6 + ret c + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6f1 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a16d + +Function11a16d: ; 11a16d + ld a, [wcd44] + and a + jr z, .asm_11a179 + dec a + ld [wcd44], a + scf + ret + +.asm_11a179 + call Function11a63c + call Function11a1e6 + hlcoord 4, 2 + ld de, wc346 + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a192 + +Function11a192: ; 11a192 + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a1b6 + call Function1c07 + callba Function104061 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a1b6 + call Function1c07 + callba Function104061 + ld a, [wcd45] + ld [wcf66], a + ld [wcd80], a + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + scf + ret +; 11a1d6 + +Function11a1d6: ; 11a1d6 + ld a, [wcd85] + cp $50 + jr nz, .asm_11a1e4 + ld a, $d3 + call Function118805 + scf + ret + +.asm_11a1e4 + and a + ret +; 11a1e6 + +Function11a1e6: ; 11a1e6 + ld hl, String_11a706 + ld de, wc346 + call Function11a1ff + ld hl, wcd85 + call Function11a1ff + ld hl, String_11a70b + call Function11a1ff + ld a, $50 + ld [de], a + ret +; 11a1ff + +Function11a1ff: ; 11a1ff +.asm_11a1ff + ld a, [hli] + cp $50 + ret z + ld [de], a + inc de + jr .asm_11a1ff +; 11a207 + +Function11a207: ; 11a207 + ld hl, MenuDataHeader_11a2de + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + call Function321c + hlcoord 16, 8 + ld de, String_11a2cf + call PlaceString + hlcoord 16, 10 + ld de, String_11a2d3 + call PlaceString + hlcoord 15, 8 + ld a, $ed + ld [hl], a + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a235 + +Function11a235: ; 11a235 + ld hl, hJoyPressed + ld a, [hl] + and A_BUTTON + jr nz, .asm_11a28f + ld a, [hl] + and B_BUTTON + jr nz, .asm_11a2c1 + ld a, [hl] + and D_UP + jr nz, .asm_11a251 + ld a, [hl] + and D_DOWN + jr nz, .asm_11a270 +.asm_11a24c + call Function11a9f0 + scf + ret + +.asm_11a251 + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wcd44] + and a + jr z, .asm_11a24c + xor a + ld [wcd44], a + hlcoord 15, 8 + ld a, $ed + ld [hl], a + hlcoord 15, 10 + ld a, $7f + ld [hl], a + jr .asm_11a24c + +.asm_11a270 + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wcd44] + and a + jr nz, .asm_11a24c + inc a + ld [wcd44], a + hlcoord 15, 8 + ld a, $7f + ld [hl], a + hlcoord 15, 10 + ld a, $ed + ld [hl], a + jr .asm_11a24c + +.asm_11a28f + xor a + ld [wcd8a], a + ld [wcd8b], a + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a2c4 + call Function1c07 + callba Function104061 + ld a, [wcd46] + cp $0 + jr z, .asm_11a2b4 + ld a, [wcd47] + jr .asm_11a2b7 + +.asm_11a2b4 + ld a, [wcd33] + +.asm_11a2b7 + ld [wcf66], a + ld a, $a + ld [wc300], a + scf + ret + +.asm_11a2c1 + call PlayClickSFX + +.asm_11a2c4 + call Function1c07 + callba Function104061 + and a + ret +; 11a2cf + +String_11a2cf: ; 11a2cf + db "YES@" +; 11a2d3 + +String_11a2d3: ; 11a2d3 + db "NO@" +; 11a2d6 + +MenuDataHeader_11a2d6: ; 11a2d6 + db $40 ; flags + db 6, 14 ; start coords + db 10, 19 ; end coords + dw NULL + db 0 ; default option +; 11a2de + +MenuDataHeader_11a2de: ; 11a2de + db $40 ; flags + db 7, 14 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 11a2e6 + +Function11a2e6: ; 11a2e6 + call Function11a63c + ld c, $2 + callba Function115e18 + hlcoord 4, 2 + ld de, String_11a71e + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a302 + +Function11a302: ; 11a302 + ld a, [wcd44] + and a + jr z, .asm_11a30e + dec a + ld [wcd44], a + scf + ret + +.asm_11a30e + call Function11a63c + hlcoord 4, 2 + ld de, String_11a72a + call PlaceString + hlcoord 9, 4 + ld de, wcd68 + ld bc, $8102 + call PrintNum + hlcoord 14, 4 + ld de, wcd67 + ld bc, $8102 + call PrintNum + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a33a + +Function11a33a: ; 11a33a + ld a, [wcd44] + and a + jr z, .asm_11a346 + dec a + ld [wcd44], a + scf + ret + +.asm_11a346 + call Function1c07 + callba Function104061 + callba Function115dc3 + and a + ret +; 11a357 + +Function11a357: ; 11a357 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a743 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a36b + +Function11a36b: ; 11a36b + ld a, [wcd44] + and a + jr z, .asm_11a377 + dec a + ld [wcd44], a + scf + ret + +.asm_11a377 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a755 + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a38d + +Function11a38d: ; 11a38d + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a3b1 + call Function1c07 + callba Function104061 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a3b1 + call Function1c07 + callba Function104061 + ld a, [wcd45] + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a3c5 + +Function11a3c5: ; 11a3c5 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a762 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a3d9 + +Function11a3d9: ; 11a3d9 + ld a, [wcd44] + and a + jr z, .asm_11a3e5 + dec a + ld [wcd44], a + scf + ret + +.asm_11a3e5 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a779 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a3f9 + +Function11a3f9: ; 11a3f9 + ld a, [wcd44] + and a + jr z, .asm_11a405 + dec a + ld [wcd44], a + scf + ret + +.asm_11a405 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a755 + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a41b + +Function11a41b: ; 11a41b + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a43f + call Function1c07 + callba Function104061 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a43f + call Function1c07 + callba Function104061 + ld a, $1c + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a452 + +Function11a452: ; 11a452 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a791 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a466 + +Function11a466: ; 11a466 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a7c1 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a47a + +Function11a47a: ; 11a47a + ld a, [wcd44] + and a + jr z, .asm_11a486 + dec a + ld [wcd44], a + scf + ret + +.asm_11a486 + and a + ret +; 11a488 + +Function11a488: ; 11a488 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a7ac + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a49e + +Function11a49e: ; 11a49e + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a4c7 + call Function1c07 + callba Function104061 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + ld a, $14 + ld [wcf66], a + and a + ret + +.asm_11a4c7 + call Function1c07 + callba Function104061 + ld a, [wcd46] + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a4db + +Function11a4db: ; 11a4db + call Function11a63c + ld de, String_11a6db + hlcoord 4, 2 + call PlaceString + ret +; 11a4e8 + +Function11a4e8: ; 11a4e8 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a7d7 + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a4fe + +Function11a4fe: ; 11a4fe + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a522 + call Function1c07 + callba Function104061 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a522 + call Function1c07 + callba Function104061 + ld a, [wcd45] + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a536 + +Function11a536: ; 11a536 + ld hl, hJoyPressed + ld a, [hl] + and $1 + jr nz, .asm_11a5a7 + ld a, [hl] + and $2 + jr nz, .asm_11a5a2 + ld a, [hl] + and $40 + jr nz, .asm_11a564 + ld a, [hl] + and $80 + jr nz, .asm_11a583 +.asm_11a54d + ld a, [wcd3c] + cp $4 + jr z, .asm_11a562 + call Function11a9f0 + jr nz, .asm_11a562 + call Function1c07 + callba Function104061 + +.asm_11a562 + scf + ret + +.asm_11a564 + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wcd44] + and a + jr z, .asm_11a54d + xor a + ld [wcd44], a + hlcoord 15, 7 + ld a, $ed + ld [hl], a + hlcoord 15, 9 + ld a, $7f + ld [hl], a + jr .asm_11a54d + +.asm_11a583 + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wcd44] + and a + jr nz, .asm_11a54d + inc a + ld [wcd44], a + hlcoord 15, 7 + ld a, $7f + ld [hl], a + hlcoord 15, 9 + ld a, $ed + ld [hl], a + jr .asm_11a54d + +.asm_11a5a2 + ld a, $1 + ld [wcd44], a + +.asm_11a5a7 + xor a + ld [wcd8a], a + ld [wcd8b], a + and a + ret +; 11a5b0 + +Function11a5b0: ; 11a5b0 + ld a, [wcd3c] + inc a + ld [wcd3c], a + scf + ret +; 11a5b9 + +Function11a5b9: ; 11a5b9 + xor a + ld [wcf83], a + ld [wcf82], a + ld a, $13 + ld [wcf85], a + ld a, $5 + ld [wcf84], a + call Function1c00 + ld hl, AttrMap + ld b, $6 + ld c, $14 + ld hl, TileMap + ld b, $4 + ld c, $12 + call Function3eea + callba Function104061 + call Function1ad2 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret +; 11a5f5 + +Function11a5f5: ; 11a5f5 + ld a, $e + ld [wcf83], a + ld a, $13 + ld [wcf85], a + ld a, $6 + ld [wcf82], a + ld a, $a + ld [wcf84], a + call Function1c00 + hlcoord 14, 6, AttrMap + ld b, $5 + ld c, $6 + hlcoord 14, 6 + ld b, $3 + ld c, $4 + call Function3eea + hlcoord 16, 7 + ld de, String_11a2cf + call PlaceString + hlcoord 16, 9 + ld de, String_11a2d3 + call PlaceString + hlcoord 15, 7 + ld a, $ed + ld [hl], a + callba Function104061 + ret +; 11a63c + +Function11a63c: ; 11a63c + hlcoord 4, 1 + ld de, String_11a7f4 + call PlaceString + hlcoord 4, 2 + ld de, String_11a7f4 + call PlaceString + hlcoord 4, 3 + ld de, String_11a7f4 + call PlaceString + hlcoord 4, 4 + ld de, String_11a7f4 + call PlaceString + ret +; 11a661 + +String_11a661: ; 11a661 + db "これから モバイルセンターに" + next "でんわ", $1f, "かけます@" +; 11a679 + +String_11a679: ; 11a679 + db "モバイルアダプタ", $25, "じゅんびは" + next "できて いますか?@" +; 11a692 + +String_11a692: ; 11a692 + db "でんわ", $1f, "かけています" + next "しばらく おまちください@" +; 11a6aa + +String_11a6aa: ; 11a6aa + db "でんわをかけると つうわりょう" + next "せつぞくりょう", $4a, "かかります@" +; 11a6c8 + +String_11a6c8: ; 11a6c8 + db "せつぞく しました@" +; 11a6d2 + +String_11a6d2: ; 11a6d2 + db "つうしん ちゅう@" +; 11a6db + +String_11a6db: ; 11a6db + db "つうしん ちゅう" + next "セレクト エーでちゅうし@" +; 11a6f1 + +String_11a6f1: ; 11a6f1 + db "この サービスには" + next "つうわりょう", $25, "ほかに@" +; 11a706 + +String_11a706: ; 11a706 + db "おかね", $4a, "@" +; 11a70b + +String_11a70b: ; 11a70b + db "えん" + next "かかります よろしい ですか?@" +; 11a71e + +String_11a71e: ; 11a71e + db "つうしん しゅうりょう@" +; 11a72a + +String_11a72a: ; 11a72a + db "つないだ じかん" + next " やく ふん びょう@" +; 11a743 + +String_11a743: ; 11a743 + db "もっていない データが" + next "あります!@" +; 11a755 + +String_11a755: ; 11a755 + db "データ", $1f, "よみこみますか?@" +; 11a762 + +String_11a762: ; 11a762 + db "おなじ データ", $1f, "よみこんだ" + next "こと", $4a, "ありますが@" +; 11a779 + +String_11a779: ; 11a779 + db "そのデータ", $24, "なくなっているか" + next "こわれて います@" +; 11a791 + +String_11a791: ; 11a791 + db "もっている データと" + next "おなじデータしか ありません!@" +; 11a7ac + +String_11a7ac: ; 11a7ac + db "データ", $25, "よみこみを" + next "ちゅうし しますか?@" +; 11a7c1 + +String_11a7c1: ; 11a7c1 + db "あたらしい ニュースは" + next "ありません でした@" +; 11a7d7 + +String_11a7d7: ; 11a7d7 + db "あたらしいニュース", $4a, "あります" + next "ニュース", $1f, "よみこみますか?@" +; 11a7f4 + +String_11a7f4: ; 11a7f4 + db " @" +; 11a804 + +MenuDataHeader_11a804: ; 11a804 + db $40 ; flags + db 0, 0 ; start coords + db 5, 19 ; end coords + dw NULL + db 0 ; default option +; 11a80c + +Function11a80c: ; 11a80c + ld de, hDivisor + ld bc, hDividend + ld hl, Unknown_11a89a + call Function11a88c + ld bc, hQuotient + ld hl, Unknown_11a8ba + call Function11a88c + ld bc, $ffb5 + ld hl, Unknown_11a8da + call Function11a88c + xor a + ld b, a + ld a, [hDivisor] + and $f + ld e, a + ld a, [$ffb9] + and $f + call Function11a884 + ld e, a + ld a, [$ffbb] + and $f + call Function11a884 + ld [wcd62], a + ld e, b + xor a + ld b, a + ld a, [hDivisor] + and $f0 + swap a + call Function11a884 + ld e, a + ld a, [$ffb9] + and $f0 + swap a + call Function11a884 + ld e, a + ld a, [$ffbb] + and $f0 + swap a + call Function11a884 + ld [wcd63], a + ld e, b + xor a + ld b, a + ld a, [hMathBuffer] + and $f + call Function11a884 + ld e, a + ld a, [$ffba] + and $f + call Function11a884 + ld e, a + ld a, [$ffbc] + and $f + call Function11a884 + ld [wcd64], a + ret +; 11a884 + +Function11a884: ; 11a884 + add e + cp $a + ret c + sub $a + inc b + ret +; 11a88c + +Function11a88c: ; 11a88c + ld a, [bc] + sla a + ld c, a + xor a + ld b, a + add hl, bc + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + inc de + ret +; 11a89a + +Unknown_11a89a: ; 11a89a +x = 0 +rept 16 + bcd x % 100, x / 100 +x = x + 1 +endr + +Unknown_11a8ba: ; 11a8ba +x = 0 +rept 16 + bcd x % 100, x / 100 +x = x + 16 +endr + +Unknown_11a8da: ; 11a8da +x = 0 +rept 16 + bcd x % 100, x / 100 +x = x + 256 +endr +; 11a8fa + +Function11a8fa: ; 11a8fa + ld a, [wc31a] + ld e, a + ld d, 0 + ld hl, Jumptable_11a909 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11a909 + +Jumptable_11a909: ; 11a909 + dw Function11a970 + dw Function11a90f + dw Function11a971 +; 11a90f + +Function11a90f: ; 11a90f + ld a, $1 + ld [rSVBK], a + call SpeechTextBox + ld a, $50 + ld hl, wc320 + ld bc, $008c + call ByteFill + ld a, [wc31b] + ld l, a + ld a, [wc31c] + ld h, a + ld de, wc320 +.asm_11a92c + ld a, [hli] + cp $57 + jr z, .asm_11a94f + cp $0 + jr z, .asm_11a92c + cp $50 + jr z, .asm_11a92c + cp $1 + jr z, .asm_11a941 + ld [de], a + inc de + jr .asm_11a92c + +.asm_11a941 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +.asm_11a945 + ld a, [bc] + inc bc + cp $50 + jr z, .asm_11a92c + ld [de], a + inc de + jr .asm_11a945 + +.asm_11a94f + xor a + ld [wc31f], a + ld a, $20 + ld [wc31b], a + ld a, $c3 + ld [wc31c], a + hlcoord 1, 14 + ld a, l + ld [wc31d], a + ld a, h + ld [wc31e], a + ld hl, wc31a + inc [hl] + ld a, $3 + ld [rSVBK], a + +Function11a970: + ret +; 11a971 + +Function11a971: ; 11a971 + ld hl, wc31f + ld a, [hJoyDown] + and a + jr nz, .asm_11a97f + ld a, [hl] + and a + jr z, .asm_11a97f + dec [hl] + ret + +.asm_11a97f + ld a, [Options] + and $7 + ld [hl], a + ld hl, wcd8d + ld a, [wc31b] + ld e, a + ld a, [wc31c] + ld d, a + ld a, [de] + inc de + ld [hli], a + ld a, e + ld [wc31b], a + ld a, d + ld [wc31c], a + ld a, $50 + ld [hl], a + ld a, [wc31d] + ld l, a + ld a, [wc31e] + ld h, a + ld de, wcd8d + call PlaceString + ld a, c + ld [wc31d], a + ld a, b + ld [wc31e], a + ld a, [wcd8d] + cp $50 + jr nz, .asm_11a9bf + xor a + ld [wc31a], a + +.asm_11a9bf + ret +; 11a9c0 + +Function11a9c0: ; 11a9c0 + ld a, l + ld [wc31b], a + ld a, h + ld [wc31c], a + ld a, $1 + ld [wc31a], a + ret +; 11a9ce + +Function11a9ce: ; 11a9ce + call WhiteBGMap + call Function2bae + call Function1d7d + callba Function106462 + callba Function106464 + call Functiond90 + callba Function2b5c + call Function1ad2 + ret +; 11a9f0 + +Function11a9f0: ; 11a9f0 + ld a, $1 + and a + ret +; 11a9f4 + +Function11a9f4: ; 11a9f4 + ld a, [wcd8a] + ld l, a + ld a, [wcd8b] + ld h, a + inc hl + ld a, l + ld [wcd8a], a + ld a, h + ld [wcd8b], a + ld de, $d5d0 + add hl, de + bit 7, h + ret nz + ld a, $d6 + call Function118805 + and a + ret +; 11aa13 + +UnknownText_0x11aa13: ; 0x11aa13 + text "SAVE FILE will be" + line "sent." + done +; 0x11aa2c + +UnknownText_0x11aa2c: ; 0x11aa2c + text "Sent SAVE FILE." + line "Reading NEWS…" + done +; 0x11aa4b + +UnknownText_0x11aa4b: ; 0x11aa4b + text "Reading NEWS…" + done +; 0x11aa5a + +UnknownText_0x11aa5a: ; 0x11aa5a + text "Received NEWS!" + done +; 0x11aa6a + +UnknownText_0x11aa6a: ; 0x11aa6a + text "Quit reading NEWS?" + done +; 0x11aa7e + +UnknownText_0x11aa7e: ; 0x11aa7e + text "Canceled sending" + line "SAVE FILE." + done +; 0x11aa9b + +UnknownText_0x11aa9b: ; 0x11aa9b + text "ODD EGG" + line "was received!" + done +; 0x11aab2 + +UnknownText_0x11aab2: ; 0x11aab2 + text "Registering your" + line "record…" + done +; 0x11aacc + +UnknownText_0x11aacc: ; 0x11aacc + text "One visit per day" + line "per BATTLE ROOM!" + done +; 0x11aaf0 + +UnknownText_0x11aaf0: ; 0x11aaf0 + text "A party #MON" + line "tops this level." + done +; 0x11ab0f + +UnknownText_0x11ab0f: ; 0x11ab0f + text_from_ram wcd49 + text " may go" + line "only to BATTLE" + + para "ROOMS that are" + line "Lv.70 or higher." + done +; 0x11ab4a + +UnknownText_0x11ab4a: ; 0x11ab4a + text "Cancel your BATTLE" + line "ROOM challenge?" + done +; 0x11ab6e + +UnknownText_0x11ab6e: ; 0x11ab6e + text "Exit GYM LEADER" + line "HONOR ROLL?" + done +; 0x11ab8b + +UnknownText_0x11ab8b: ; 0x11ab8b + text "Linking with the" + line "CENTER…" + done +; 0x11aba5 + +UnknownText_0x11aba5: ; 0x11aba5 + text "What level do you" + line "want to challenge?" + done +; 0x11abcb + +UnknownText_0x11abcb: ; 0x11abcb + text "Check BATTLE ROOM" + line "list by max level?" + done +; 0x11abf1 + +UnknownText_0x11abf1: ; 0x11abf1 + text "Enter which" + line "BATTLE ROOM?" + done +; 0x11ac0b + +UnknownText_0x11ac0b: ; 0x11ac0b + text "Which BATTLE ROOM?" + done +; 0x11ac1f + +UnknownText_0x11ac1f: ; 0x11ac1f + text_from_ram StringBuffer3 + text "'s ROOM" + line "@" + text_from_ram StringBuffer4 + text "?" + cont "Please wait…" + done +; 0x11ac3e + +Function11ac3e: ; 11ac3e + call SpeechTextBox + call FadeToMenu + callab Function8e814 + call Function11ac51 + call Function2b3c + ret +; 11ac51 + +Function11ac51: ; 11ac51 + xor a + ld [hBGMapMode], a + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + ld a, [VramState] + push af + xor a + ld [VramState], a + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + xor a + ld [$ffde], a + ld [wcd49], a + ld [wcd4a], a + ld [wcd4c], a + ld [wcd4d], a + ld [wcd4e], a + call Function11ad1b + call DelayFrame +.asm_11ac82 + call Functiona57 + ld a, [wcf63] + bit 7, a + jr nz, .asm_11aca8 + call Function11b314 + call Function11acb7 + call Function11ad6e + ld a, $78 + ld [wc3b5], a + callba Function8cf7a + callba Function104061 + jr .asm_11ac82 + +.asm_11aca8 + call ClearSprites + pop af + ld [$ffaa], a + pop af + ld [VramState], a + pop af + ld [Options], a + ret +; 11acb7 + +Function11acb7: ; 11acb7 + ld hl, Unknown_11ba44 + ld a, [wcd49] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + add hl, bc + decoord 6, 6 + ld a, [hli] + ld [de], a + decoord 0, 7 + ld bc, $0007 + call CopyBytes + ld a, [wcd49] + inc a + ld [wcd49], a + ld a, [hl] + cp $ff + jr nz, .asm_11aceb + xor a + ld [wcd49], a + +.asm_11aceb + ld hl, Unknown_11bb7d + ld a, [wcd4a] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + add hl, bc + decoord 3, 9 + ld bc, $0007 + call CopyBytes + ld a, [wcd4a] + inc a + ld [wcd4a], a + inc hl + ld a, [hl] + cp $ff + ret nz + xor a + ld [wcd4a], a + ret +; 11ad1b + +Function11ad1b: ; 11ad1b + call WhiteBGMap + call ClearSprites + call ClearTileMap + callba Function17c000 + ld a, [wcfa9] + ld [wcd82], a + dec a + ld [$ffb0], a + ld a, $10 + ld [wc3b7], a + ld hl, Function8e83f + ld a, BANK(Function8e83f) + ld e, $4 + rst FarCall + ld hl, Function8e83f + ld a, BANK(Function8e83f) + ld e, $5 + rst FarCall + ld hl, $c6d0 + ld bc, $0115 + xor a + call ByteFill + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ld [wcd30], a + ld a, $2 + ld [wc7d4], a + callba Function40bdc + ret +; 11ad6e + +Function11ad6e: ; 11ad6e + ld a, [wcf63] + ld hl, Jumptable_11ad78 + call Function11b239 + jp [hl] +; 11ad78 + +Jumptable_11ad78: ; 11ad78 + dw Function11b082 + dw Function11b0ff + dw Function11ad95 + dw Function11adc4 + dw Function11ae4e + dw Function11ae98 + dw Function11ad8f + dw Function11af04 + dw Function11af4e +; 11ad8a + +Function11ad8a: ; 11ad8a + ld hl, wcf63 + inc [hl] + ret +; 11ad8f + +Function11ad8f: ; 11ad8f + ld hl, wcf63 + set 7, [hl] + ret +; 11ad95 + +Function11ad95: ; 11ad95 + ld hl, MenuDataHeader_11ae38 + call LoadMenuDataHeader + call Function1cbb + hlcoord 12, 12 + ld de, String_11ae40 + call PlaceString + hlcoord 10, 10, AttrMap + ld bc, $0808 + call Function11afd6 + callba Function104061 + call Function11ad8a + ld a, $1 + ld [wcfa9], a + ld hl, Unknown_11afcc + call Function11afb7 + +Function11adc4: + ld hl, hJoyPressed + ld a, [hl] + and a + ret z + ld a, [hl] + and $40 + jr nz, .asm_11ade6 + ld a, [hl] + and $80 + jr nz, .asm_11aded + ld a, [hl] + and $1 + jr nz, .asm_11ae06 + ld a, [hl] + and $2 + ret z + call PlayClickSFX + xor a + ld [wcf63], a + jr .asm_11ae2e + +.asm_11ade6 + ld a, [wcfa9] + dec a + ret z + jr .asm_11adf4 + +.asm_11aded + ld a, [wcfa9] + inc a + cp $4 + ret z + +.asm_11adf4 + push af + ld hl, Unknown_11afcc + call Function11afbb + pop af + ld [wcfa9], a + ld hl, Unknown_11afcc + call Function11afb7 + ret + +.asm_11ae06 + call PlayClickSFX + ld a, [wcfa9] + dec a + ld hl, wcd30 + ld [hl], a + and a + jr z, .asm_11ae28 + hlcoord 2, 14 + ld a, [wcfa9] + cp $2 + jr z, .asm_11ae23 + call Function11b272 + jr .asm_11ae2b + +.asm_11ae23 + call Function11b267 + jr .asm_11ae2b + +.asm_11ae28 + ld a, $3 + ld [hl], a + +.asm_11ae2b + call Function11ad8a + +.asm_11ae2e + call Function1c07 + callba Function104061 + ret +; 11ae38 + +MenuDataHeader_11ae38: ; 11ae38 + db $40 ; flags + db 10, 10 ; start coords + db 17, 17 ; end coords + dw NULL + db 0 ; default option +; 11ae40 + +String_11ae40: ; 11ae40 + db "どちらでも" + next "♂ォス" + next "♀メス" + db "@" +; 11ae4e + +Function11ae4e: ; 11ae4e + ld hl, MenuDataHeader_11afe8 + call LoadMenuDataHeader + call Function1cbb + hlcoord 10, 14 + ld de, String_11aff0 + call PlaceString + ld hl, MenuDataHeader_11b013 + call LoadMenuDataHeader + call Function1cbb + hlcoord 16, 8 + ld de, String_11b01b + call PlaceString + hlcoord 14, 7, AttrMap + lb bc, 5, 6 + call Function11afd6 + hlcoord 9, 12, AttrMap + lb bc, 6, 11 + call Function11afd6 + callba Function104061 + call Function11ad8a + ld a, $1 + ld [wcfa9], a + ld hl, Unknown_11afd2 + call Function11afb7 + +Function11ae98: + ld hl, hJoyPressed + ld a, [hl] + and a + ret z + ld a, [hl] + and D_UP + jr nz, .asm_11aec1 + ld a, [hl] + and D_DOWN + jr nz, .asm_11aec8 + ld a, [hl] + and A_BUTTON + jr nz, .asm_11aee1 + ld a, [hl] + and B_BUTTON + ret z + call PlayClickSFX +.asm_11aeb4 + hlcoord 2, 14 + ld a, $7f + ld [hl], a + ld a, $1 + ld [wcf63], a + jr .asm_11aef7 + +.asm_11aec1 + ld a, [wcfa9] + dec a + ret z + jr .asm_11aecf + +.asm_11aec8 + ld a, [wcfa9] + inc a + cp $3 + ret z + +.asm_11aecf + push af + ld hl, Unknown_11afd2 + call Function11afbb + pop af + ld [wcfa9], a + ld hl, Unknown_11afd2 + call Function11afb7 + ret + +.asm_11aee1 + call PlayClickSFX + ld a, [wcfa9] + cp $2 + jr z, .asm_11aeb4 + ld a, [wcd4b] + ld [ScriptVar], a + call Function11b022 + call Function11ad8a + +.asm_11aef7 + call Function1c07 + call Function1c07 + callba Function104061 + ret +; 11af04 + +Function11af04: ; 11af04 + ld hl, MenuDataHeader_11afe8 + call LoadMenuDataHeader + call Function1cbb + hlcoord 10, 14 + ld de, String_11b003 + call PlaceString + ld hl, MenuDataHeader_11b013 + call LoadMenuDataHeader + call Function1cbb + hlcoord 16, 8 + ld de, String_11b01b + call PlaceString + hlcoord 14, 7, AttrMap + lb bc, 5, 6 + call Function11afd6 + hlcoord 9, 12, AttrMap + lb bc, 6, 11 + call Function11afd6 + callba Function104061 + call Function11ad8a + ld a, $2 + ld [wcfa9], a + ld hl, Unknown_11afd2 + call Function11afb7 + +Function11af4e: + ld hl, hJoyPressed + ld a, [hl] + and a + ret z + ld a, [hl] + and D_UP + jr nz, .asm_11af77 + ld a, [hl] + and D_DOWN + jr nz, .asm_11af7e + ld a, [hl] + and A_BUTTON + jr nz, .asm_11af97 + ld a, [hl] + and B_BUTTON + ret z + call PlayClickSFX +.asm_11af6a + hlcoord 2, 14 + ld a, $7f + ld [hl], a + ld a, $1 + ld [wcf63], a + jr .asm_11afaa + +.asm_11af77 + ld a, [wcfa9] + dec a + ret z + jr .asm_11af85 + +.asm_11af7e + ld a, [wcfa9] + inc a + cp $3 + ret z + +.asm_11af85 + push af + ld hl, Unknown_11afd2 + call Function11afbb + pop af + ld [wcfa9], a + ld hl, Unknown_11afd2 + call Function11afb7 + ret + +.asm_11af97 + call PlayClickSFX + ld a, [wcfa9] + cp $2 + jr z, .asm_11af6a + ld a, $6 + ld [wcf63], a + xor a + ld [ScriptVar], a + +.asm_11afaa + call Function1c07 + call Function1c07 + callba Function104061 + ret +; 11afb7 + +Function11afb7: ; 11afb7 + ld e, $ed + jr asm_11afbd + +Function11afbb: + ld e, $7f + +asm_11afbd: + ld a, [wcfa9] + dec a + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, e + ld e, [hl] + inc hl + ld d, [hl] + ld [de], a + ret +; 11afcc + +Unknown_11afcc: + dwcoord 11, 12 + dwcoord 11, 14 + dwcoord 11, 16 + +Unknown_11afd2: + dwcoord 15, 8 + dwcoord 15, 10 +; 11afd6 + +Function11afd6: ; 11afd6 + ld de, $0014 + ld a, $3 +.asm_11afdb + push bc + push hl +.asm_11afdd + ld [hli], a + dec c + jr nz, .asm_11afdd + pop hl + add hl, de + pop bc + dec b + jr nz, .asm_11afdb + ret +; 11afe8 + +MenuDataHeader_11afe8: ; 11afe8 + db $40 ; flags + db 12, 9 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 11aff0 + +String_11aff0: ; 11aff0 + db "この じょうけんで" + next "よろしいですか?@" +; 11b003 + +String_11b003: ; 11b003 + db "こうかんを" + next "ちゅうししますか?@" +; 11b013 + +MenuDataHeader_11b013: ; 11b013 + db $40 ; flags + db 7, 14 ; start coords + db 11, 19 ; end coords + dw NULL + db 1 ; default option +; 11b01b + +String_11b01b: + db "はい" + next "いいえ@" +; 11b022 + +Function11b022: ; 11b022 + ld a, [wcd2e] + and a + jr z, .asm_11b02e + ld hl, StringBuffer3 + call Function11b03d + +.asm_11b02e + ld a, [wcd30] + and a + ret z + cp $3 + ret z + ld hl, StringBuffer4 + call Function11b03d + ret +; 11b03d + +Function11b03d: ; 11b03d + push hl + push af + ld c, $1 +.asm_11b041 + ld a, [hli] + cp $ef + jr z, .asm_11b051 + cp $f5 + jr z, .asm_11b051 + cp $50 + jr z, .asm_11b055 + inc c + jr .asm_11b041 + +.asm_11b051 + dec hl + ld a, $50 + ld [hli], a + +.asm_11b055 + dec hl + push hl + ld e, $4 + ld d, $0 + add hl, de + ld e, l + ld d, h + pop hl +.asm_11b05f + ld a, [hld] + ld [de], a + dec de + dec c + jr nz, .asm_11b05f + pop af + pop de + cp $1 + jr nz, .asm_11b070 + ld hl, String_11b07a + jr .asm_11b073 + +.asm_11b070 + ld hl, String_11b07e + +.asm_11b073 + ld bc, 4 + call CopyBytes + ret +; 11b07a + +String_11b07a: db "ォスの " +String_11b07e: db "メスの " + +Function11b082: ; 11b082 + call Function11b242 + ld a, $7 + ld [wc7d3], a + call Function11b099 + call Function11b295 + call Function11b275 + call Function32f9 + jp Function11ad8a +; 11b099 + +Function11b099: ; 11b099 + ld c, $6 + hlcoord 11, 1 + ld a, [wc7d3] + add a + ld b, a + xor a + call Function11b236 + ld a, [wc7d0] + ld e, a + ld d, $0 + ld hl, $c6d0 + add hl, de + ld e, l + ld d, h + hlcoord 11, 2 + ld a, [wc7d3] +.asm_11b0b9 + push af + ld a, [de] + ld [wd265], a + push de + push hl + call Function11b0cf + pop hl + ld de, $0028 + add hl, de + pop de + inc de + pop af + dec a + jr nz, .asm_11b0b9 + ret +; 11b0cf + +Function11b0cf: ; 11b0cf + and a + ret z + call Function11b0ec + ret c + call Function11b0e1 + push hl + call GetPokemonName + pop hl + call PlaceString + ret +; 11b0e1 + +Function11b0e1: ; 11b0e1 + call Function11b21e + jr nz, .asm_11b0e8 + inc hl + ret + +.asm_11b0e8 + ld a, $1 + ld [hli], a + ret +; 11b0ec + +Function11b0ec: ; 11b0ec + call Function11b22a + ret nz + inc hl + ld de, String_11b0f9 + call PlaceString + scf + ret +; 11b0f9 + +String_11b0f9: ; 11b0f9 + db "ーーーーー@" +; 11b0ff + +Function11b0ff: ; 11b0ff + ld hl, hJoyPressed + ld a, [hl] + and $2 + jr nz, .asm_11b141 + ld a, [hl] + and $1 + jr nz, .asm_11b131 + call Function11b175 + jr nc, .asm_11b125 + ld a, [wcd4c] + inc a + and $3 + ld [wcd4c], a + xor a + ld [hBGMapMode], a + call Function11b099 + ld a, $1 + ld [hBGMapMode], a + ret + +.asm_11b125 + ld a, [wcd4c] + and a + ret z + inc a + and $3 + ld [wcd4c], a + ret + +.asm_11b131 + call Function11b20b + call Function11b22a + jr z, .asm_11b13d + ld a, $1 + jr .asm_11b148 + +.asm_11b13d + ld a, $2 + jr .asm_11b148 + +.asm_11b141 + ld hl, wcf63 + ld a, $7 + ld [hl], a + ret + +.asm_11b148 + call PlayClickSFX + ld [wcd4b], a + and a + jr z, .asm_11b16c + ld a, [wcf65] + cp $0 + jr z, .asm_11b163 + cp $fe + jr z, .asm_11b167 + cp $ff + jr z, .asm_11b16b + jp Function11ad8a + +.asm_11b163 + ld a, $1 + jr .asm_11b16c + +.asm_11b167 + ld a, $2 + jr .asm_11b16c + +.asm_11b16b + xor a + +.asm_11b16c + ld [wcd30], a + ld a, $4 + ld [wcf63], a + ret +; 11b175 + +Function11b175: ; 11b175 + ld a, [wc7d3] + ld d, a + ld a, [wc7d2] + ld e, a + ld hl, $ffa9 + ld a, [hl] + and $40 + jr nz, .asm_11b19a + ld a, [hl] + and $80 + jr nz, .asm_11b1ae + ld a, d + cp e + jr nc, .asm_11b1ed + ld a, [hl] + and $20 + jr nz, .asm_11b1c6 + ld a, [hl] + and $10 + jr nz, .asm_11b1d8 + jr .asm_11b1ed + +.asm_11b19a + ld hl, wc7d1 + ld a, [hl] + and a + jr z, .asm_11b1a4 + dec [hl] + jr .asm_11b1ef + +.asm_11b1a4 + ld hl, wc7d0 + ld a, [hl] + and a + jr z, .asm_11b1ed + dec [hl] + jr .asm_11b1ef + +.asm_11b1ae + ld hl, wc7d1 + ld a, [hl] + inc a + cp e + jr nc, .asm_11b1ed + cp d + jr nc, .asm_11b1bc + inc [hl] + jr .asm_11b1ef + +.asm_11b1bc + ld hl, wc7d0 + add [hl] + cp e + jr nc, .asm_11b1ed + inc [hl] + jr .asm_11b1ef + +.asm_11b1c6 + ld hl, wc7d0 + ld a, [hl] + and a + jr z, .asm_11b1ed + cp d + jr nc, .asm_11b1d4 + xor a + ld [hl], a + jr .asm_11b1ef + +.asm_11b1d4 + sub d + ld [hl], a + jr .asm_11b1ef + +.asm_11b1d8 + ld hl, wc7d0 + ld a, d + add a + add [hl] + jr c, .asm_11b1e3 + cp e + jr c, .asm_11b1e8 + +.asm_11b1e3 + ld a, e + sub d + ld [hl], a + jr .asm_11b1ef + +.asm_11b1e8 + ld a, [hl] + add d + ld [hl], a + jr .asm_11b1ef + +.asm_11b1ed + and a + ret + +.asm_11b1ef + call Function11b295 + call Function11b275 + scf + ret +; 11b1f7 + +Function11b1f7: ; 11b1f7 + ld hl, TileMap + ld a, $32 + ld bc, $0168 + call ByteFill + ret +; 11b203 + +Function11b203: ; 11b203 +.asm_11b203 + ld a, [de] + cp $ff + ret z + inc de + ld [hli], a + jr .asm_11b203 +; 11b20b + +Function11b20b: ; 11b20b + ld a, [wc7d1] + ld hl, wc7d0 + add [hl] + ld e, a + ld d, $0 + ld hl, $c6d0 + add hl, de + ld a, [hl] + ld [wd265], a + ret +; 11b21e + +Function11b21e: ; 11b21e + push de + push hl + ld a, [wd265] + dec a + call CheckCaughtMon + pop hl + pop de + ret +; 11b22a + +Function11b22a: ; 11b22a + push de + push hl + ld a, [wd265] + dec a + call CheckSeenMon + pop hl + pop de + ret +; 11b236 + +Function11b236: ; 11b236 + jp Functionfb8 +; 11b239 + +Function11b239: ; 11b239 + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ret +; 11b242 + +Function11b242: ; 11b242 + hlcoord 3, 4 + ld de, StringBuffer3 + call PlaceString + xor a + ld [MonType], a + callba GetGender + hlcoord 1, 4 + ld a, [CurPartySpecies] + ld bc, wcd2f + ld [bc], a + dec bc + jr c, asm_11b26a + jr z, asm_11b26f + ld a, $1 + ld [bc], a + +Function11b267: + ld [hl], $ef + ret + +asm_11b26a + xor a + ld [bc], a + ld [hl], $7f + ret + +asm_11b26f + ld a, $2 + ld [bc], a + +Function11b272: + ld [hl], $f5 + ret +; 11b275 + +Function11b275: ; 11b275 + call Function11b279 + ret +; 11b279 + +Function11b279: ; 11b279 + ld a, [wd265] + ld [CurSpecies], a + call Function11b22a + jr z, .asm_11b28f + call GetBaseData + ld a, [BaseGender] + ld [wcf65], a + jr .asm_11b294 + +.asm_11b28f + ld a, $ff + ld [wcf65], a + +.asm_11b294 + ret +; 11b295 + +Function11b295: ; 11b295 + hlcoord 4, 13 + ld de, String_11b308 + call PlaceString + hlcoord 4, 14 + ld de, String_11b308 + call PlaceString + call Function11b20b + call Function11b22a + jr z, .asm_11b2d1 + ld a, [$c608] + ld c, a + ld a, [$c608 + 1] + ld b, a + ld hl, $0007 + add hl, bc + xor a + ld [hl], a + ld hl, $0003 + add hl, bc + ld e, [hl] + callba Function8e9bc + hlcoord 4, 14 + push hl + call GetPokemonName + jr .asm_11b2e7 + +.asm_11b2d1 + ld a, [$c608] + ld c, a + ld a, [$c608 + 1] + ld b, a + ld hl, $0007 + add hl, bc + ld a, $50 + ld [hl], a + hlcoord 4, 13 + push hl + ld de, String_11b30e + +.asm_11b2e7 + ld a, $6 + ld bc, StringBuffer4 +.asm_11b2ec + push af + ld a, [de] + ld [bc], a + inc de + inc bc + pop af + dec a + and a + jr nz, .asm_11b2ec + pop hl + ld de, StringBuffer4 + call PlaceString + ret +; 11b2fe + +String_11b2fe: ; 11b2fe + db "あげる#@" +; 11b303 + +String_11b303: ; 11b303 + db "ほしい#@" +; 11b308 + +String_11b308: ; 11b308 + db " @" +; 11b30e + +String_11b30e: ; 11b30e + db "みはっけん@" +; 11b314 + +Function11b314: ; 11b314 + call Function11b31b + call Function11b3d9 + ret +; 11b31b + +Function11b31b: ; 11b31b + ld hl, Unknown_11b350 + ld a, [wcf63] + cp $2 + jr c, .asm_11b349 + ld a, [wc7d1] + cp $4 + jr nc, .asm_11b344 + cp $3 + jr c, .asm_11b349 + ld a, [wcf63] + cp $2 + jr z, .asm_11b349 + cp $3 + jr z, .asm_11b349 + cp $6 + jr z, .asm_11b349 + + ld bc, Unknown_11b37b + jr .asm_11b34c + +.asm_11b344 + ld bc, Unknown_11b389 + jr .asm_11b34c + +.asm_11b349 + ld bc, Unknown_11b36d + +.asm_11b34c + call Function11b397 + ret +; 11b350 + +Unknown_11b350: +INCBIN "baserom.gbc",$11b350,$11b36d - $11b350 + +Unknown_11b36d: +INCBIN "baserom.gbc",$11b36d,$11b37b - $11b36d +Unknown_11b37b: +INCBIN "baserom.gbc",$11b37b,$11b389 - $11b37b +Unknown_11b389: +INCBIN "baserom.gbc",$11b389,$11b397 - $11b389 + +Function11b397: ; 11b397 + ld de, Sprites +.asm_11b39a + ld a, [hl] + cp $ff + ret z + ld a, [wc7d1] + and $7 + swap a + add [hl] + inc hl + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [bc] + inc bc + ld [de], a + inc de + ld a, $5 + ld [de], a + inc de + jr .asm_11b39a +; 11b3b6 + +Function11b3b6: ; 11b3b6 +.asm_11b3b6 + ld a, [hl] + cp $ff + ret z + ld a, [wcd4d] + and $7 + swap a + add [hl] + inc hl + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + push hl + ld l, c + ld h, b + ld a, [wcd4e] + add [hl] + inc bc + ld [de], a + inc de + pop hl + ld a, $5 + ld [de], a + inc de + jr .asm_11b3b6 +; 11b3d9 + +Function11b3d9: ; 11b3d9 + ld de, Sprites + $70 + push de + ld a, [wc7d2] + dec a + ld e, a + ld a, [wc7d1] + ld hl, wc7d0 + add [hl] + cp e + jr z, .asm_11b40d + ld hl, $0000 + ld bc, $0070 + call AddNTimes + ld e, l + ld d, h + ld b, $0 + ld a, d + or e + jr z, .asm_11b40f + ld a, [wc7d2] + ld c, a +.asm_11b401 + ld a, e + sub c + ld e, a + ld a, d + sbc $0 + ld d, a + jr c, .asm_11b40f + inc b + jr .asm_11b401 + +.asm_11b40d + ld b, $70 + +.asm_11b40f + ld a, $15 + add b + pop hl + ld [hli], a + cp $41 + jr c, .asm_11b42b + ld a, [wcf63] + cp $4 + jr z, .asm_11b43b + cp $5 + jr z, .asm_11b43b + cp $7 + jr z, .asm_11b43b + cp $8 + jr z, .asm_11b43b + +.asm_11b42b + ld a, $9b + ld [hli], a + ld a, [wcd4c] + add $3c + ld [hli], a + ld a, [wcd4c] + add $1 + ld [hl], a + ret + +.asm_11b43b + ld a, $9b + ld [hli], a + ld a, $39 + ld [hli], a + xor a + ld [hl], a + ret +; 11b444 + +Function11b444: ; 11b444 + call Function11b44b + call Function11b45c + ret +; 11b44b + +Function11b44b: ; 11b44b + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + call UpdateTime + ret +; 11b45c + +Function11b45c: ; 11b45c +.asm_11b45c + call Function11b46a + call DelayFrame + ld a, [wcf63] + cp $4 + jr nz, .asm_11b45c + ret +; 11b46a + +Function11b46a: ; 11b46a + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_11b479 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11b479 + +Jumptable_11b479: ; 11b479 + dw Function11b483 + dw Function11b570 + dw Function11b5c0 + dw Function11b5e0 + dw Function11b5e7 +; 11b483 + +Function11b483: ; 11b483 + call Function11b538 + ld hl, PlayerName + ld a, $5 +.asm_11b48b + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .asm_11b48b + ld de, $0030 + ld hl, PartyMon1Species + ld a, [wcd82] + dec a + push af +.asm_11b49f + and a + jr z, .asm_11b4a6 + add hl, de + dec a + jr .asm_11b49f + +.asm_11b4a6 + push bc + ld a, $30 +.asm_11b4a9 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .asm_11b4a9 + pop de + push bc + ld a, [de] + ld [CurSpecies], a + call GetBaseData + ld hl, $001f + add hl, de + ld a, [hl] + ld [CurPartyLevel], a + ld hl, $0024 + add hl, de + push hl + ld hl, $000a + add hl, de + pop de + push de + ld b, $1 + predef Functione167 + pop de + ld h, d + ld l, e + dec hl + dec hl + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + pop bc + ld de, $000b + ld hl, PartyMonOT + pop af + push af +.asm_11b4e8 + and a + jr z, .asm_11b4ef + add hl, de + dec a + jr .asm_11b4e8 + +.asm_11b4ef + ld a, $a +.asm_11b4f1 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .asm_11b4f1 + ld de, $000b + ld hl, PartyMonNicknames + pop af + push af +.asm_11b502 + and a + jr z, .asm_11b509 + add hl, de + dec a + jr .asm_11b502 + +.asm_11b509 + ld a, $a +.asm_11b50b + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .asm_11b50b + ld de, $002f + ld hl, $a600 + pop af +.asm_11b51b + and a + jr z, .asm_11b522 + add hl, de + dec a + jr .asm_11b51b + +.asm_11b522 + ld a, $0 + call GetSRAMBank + ld a, $2f +.asm_11b529 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .asm_11b529 + call CloseSRAM + jp Function11ad8a +; 11b538 + +Function11b538: ; 11b538 + ld bc, BattleMonNick + 5 + ld a, [PlayerID] + ld [wcd2a], a + ld [bc], a + inc bc + ld a, [PlayerID + 1] + ld [wcd2b], a + ld [bc], a + inc bc + ld a, [wd84a] + ld [wcd2c], a + ld [bc], a + inc bc + ld a, [wd84b] + ld [wcd2d], a + ld [bc], a + inc bc + ld a, [wcd2e] + ld [bc], a + inc bc + ld a, [wcd2f] + ld [bc], a + inc bc + ld a, [wcd30] + ld [bc], a + inc bc + ld a, [wd265] + ld [bc], a + inc bc + ret +; 11b570 + +Function11b570: ; 11b570 + call Function118007 + ld a, [ScriptVar] + and a + jr nz, .asm_11b57f + call Function11b585 + jp Function11ad8a + +.asm_11b57f + ld a, $4 + ld [wcf63], a + ret +; 11b585 + +Function11b585: ; 11b585 + ld a, $3 + ld [rSVBK], a + ld hl, $d800 + ld de, $c608 + ld bc, $008f + call CopyBytes + ld a, $1 + ld [rSVBK], a + ld a, $5 + call GetSRAMBank + ld de, $a800 + ld a, $1 + ld [de], a + inc de + ld hl, $c608 + ld bc, $008f + call CopyBytes + push de + pop hl + ld a, [hRTCMinutes] + ld [hli], a + ld a, [hRTCHours] + ld [hli], a + ld a, [hRTCDayLo] + ld [hli], a + ld a, [hRTCDayHi] + ld [hl], a + call CloseSRAM + ret +; 11b5c0 + +Function11b5c0: ; 11b5c0 + ld a, [wcd82] + dec a + ld [CurPartyMon], a + xor a + ld [wd10b], a + callba Functione039 + callba Function170807 + callba Function14a58 + jp Function11ad8a +; 11b5e0 + +Function11b5e0: ; 11b5e0 + xor a + ld [ScriptVar], a + jp Function11ad8a +; 11b5e7 + +Function11b5e7: ; 11b5e7 + ret +; 11b5e8 + +Function11b5e8: ; 11b5e8 + ld a, $0 + call GetSRAMBank + ld hl, wRTC + ld de, $c608 + ld bc, $0004 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $c608 + ld de, $b08c + ld bc, $0004 + call CopyBytes + ld a, $2 + ld [$a800], a + ld a, [$a81f] + ld [wcd2a], a + ld a, [$a820] + ld [wcd2b], a + ld a, [$a821] + ld [wcd2c], a + ld a, [$a822] + ld [wcd2d], a + ld a, [$a823] + ld [wcd2e], a + ld a, [$a824] + ld [wcd2f], a + ld a, [$a825] + ld [wcd30], a + ld a, [$a826] + ld [wcd31], a + call CloseSRAM + call Function11b44b + call Function11b64c + ret +; 11b64c + +Function11b64c: ; 11b64c +.asm_11b64c + call Function11b65a + call DelayFrame + ld a, [wcf63] + cp $1 + jr nz, .asm_11b64c + ret +; 11b65a + +Function11b65a: ; 11b65a + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_11b669 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11b669 + +Jumptable_11b669: ; 11b669 + dw Function11b66d + dw Function11b6b3 +; 11b66d + +Function11b66d: ; 11b66d + call Function1180b8 + ld a, [ScriptVar] + and a + jr nz, .asm_11b6b0 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [StringBuffer2 + 10] + ld b, a + pop af + ld [rSVBK], a + ld a, b + and a + jr z, .asm_11b691 + cp $1 + jr nz, .asm_11b6b0 + call Function11b6b4 + jr .asm_11b6b0 + +.asm_11b691 + callba Function17081d + ld a, [ScriptVar] + and a + jr z, .asm_11b6b0 + xor a + ld [ScriptVar], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, $2 + ld [StringBuffer2 + 10], a + pop af + ld [rSVBK], a + +.asm_11b6b0 + jp Function11ad8a +; 11b6b3 + +Function11b6b3: ; 11b6b3 + ret +; 11b6b4 + +Function11b6b4: ; 11b6b4 + ld a, $5 + call GetSRAMBank + ld a, [wcd30] + ld [wc708], a + ld a, [wcd31] + ld [wc709], a + ld a, $8 + ld [BGMapBuffer], a + ld a, $c7 + ld [wcd21], a + ld a, $d + ld [CreditsTimer], a + ld a, $c6 + ld [wcd23], a + ld a, $3d + ld [wcd24], a + ld a, $c6 + ld [wcd25], a + ld a, $42 + ld [wcd26], a + ld a, $c6 + ld [wcd27], a + ld a, $47 + ld [wcd28], a + ld a, $c6 + ld [wcd29], a + ld a, $46 + ld [$c628], a + ld de, $c63d + ld c, $5 + callba Function17d073 + jr nc, .asm_11b70f + callba Function17d187 + +.asm_11b70f + ld de, $c63d + ld bc, $0105 + callba Function17d1e1 + jr nc, .asm_11b723 + callba Function17d187 + +.asm_11b723 + ld de, $c642 + ld c, $5 + callba Function17d073 + jr nc, .asm_11b736 + callba Function17d199 + +.asm_11b736 + ld de, $c642 + ld bc, $0105 + callba Function17d1e1 + jr nc, .asm_11b74a + callba Function17d199 + +.asm_11b74a + ld de, $c647 + ld c, $21 + callba Function17d073 + jr nc, .asm_11b75d + callba Function17d1ab + +.asm_11b75d + ld de, $c647 + ld bc, $0221 + callba Function17d1e1 + jr c, .asm_11b770 + ld a, b + cp $2 + jr nz, .asm_11b776 + +.asm_11b770 + callba Function17d1ab + +.asm_11b776 + ld de, $c668 + ld c, $5 + callba Function17d073 + jr nc, .asm_11b789 + callba Function17d1c9 + +.asm_11b789 + ld de, $c668 + ld bc, $0105 + callba Function17d1e1 + jr nc, .asm_11b79d + callba Function17d1c9 + +.asm_11b79d + ld a, [$c608 + 6] + cp $ff + jr nz, .asm_11b7a8 + xor a + ld [$c608 + 6], a + +.asm_11b7a8 + ld a, [wcd31] + ld [$c608 + 5], a + ld [CurSpecies], a + call GetBaseData + + ld hl, $c62c + ld a, [hl] + cp MIN_LEVEL + ld a, MIN_LEVEL + jr c, .asm_11b7c5 + ld a, [hl] + cp MAX_LEVEL + jr c, .asm_11b7c6 + ld a, MAX_LEVEL +.asm_11b7c5 + ld [hl], a +.asm_11b7c6 + ld [CurPartyLevel], a + + ld hl, $c616 + 1 + ld de, $c62c + 5 + ld b, $1 + predef Functione167 + ld de, $c62c + 5 + ld hl, $c62c + 3 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + call Function11b98f + ret +; 11b7e5 + +Function11b7e5: ; 11b7e5 + ld a, [$c608 + 5] + ld [wc702], a + ld [CurPartySpecies], a + ld a, [wcd81] + ld [wc74e], a + ld hl, $c63d + ld de, wc724 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld a, [$c608 + 11] + ld [wc731], a + ld a, [$c608 + 12] + ld [wc732], a + ld hl, $c608 + 26 + ld a, [hli] + ld [wc72f], a + ld a, [hl] + ld [wc730], a + ld bc, $c608 + 5 + callba GetCaughtGender + ld a, c + ld [wc733], a + call SpeechTextBox + call FadeToMenu + callba Function108016 + callba Function17d1f1 + ld a, $1 + ld [wd1e9], a + ld a, $2 + ld [InLinkBattle], a + callba Function421d8 + xor a + ld [InLinkBattle], a + callba Function14a58 + ld a, $5 + call GetSRAMBank + ld a, $5 + ld [$a800], a + call CloseSRAM + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_11b872 + ld a, $1 + ld [de], a + +.asm_11b872 + call Function2b3c + call RestartMapMusic + ret +; 11b879 + +Function11b879: ; 11b879 + callba Function17089a + ld a, [ScriptVar] + and a + ret z + ld a, $5 + call GetSRAMBank + ld a, [$a800] + ld [ScriptVar], a + ld a, [$a890] + ld [wcd49], a + ld a, [$a891] + ld [wcd4a], a + ld a, [$a892] + ld [wcd4b], a + ld a, [$a893] + ld [wcd4c], a + call CloseSRAM + ld a, [ScriptVar] + and a + ret z + ld hl, wcd4c + ld a, [hRTCDayHi] + cp [hl] + ret nz + dec hl + ld a, [hRTCDayLo] + cp [hl] + ret nz + ld hl, wcd4a + ld a, [hRTCHours] + cp [hl] + jr nc, .asm_11b8d8 + ld a, $18 + sub [hl] + ld hl, hRTCHours + add [hl] + ld [wcd4c], a + ld a, [hRTCMinutes] + ld [wcd4b], a + xor a + ld [wcd4a], a + jr .asm_11b8e2 + +.asm_11b8d8 + ld a, [hRTCMinutes] + ld [wcd4b], a + ld a, [hRTCHours] + ld [wcd4c], a + +.asm_11b8e2 + xor a + ld l, a + ld h, a + ld b, a + ld d, a + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld c, $3c + call AddNTimes + add hl, de + push hl + xor a + ld l, a + ld h, a + ld b, a + ld d, a + ld a, [wcd49] + ld e, a + ld a, [wcd4a] + ld c, $3c + call AddNTimes + add hl, de + ld a, l + cpl + add $1 + ld e, a + ld a, h + cpl + adc $0 + ld d, a + pop hl + add hl, de + ld de, $ff88 + add hl, de + bit 7, h + ret z + ld a, $2 + ld [ScriptVar], a + ret +; 11b920 + +Function11b920: ; 11b920 + call Function11b44b + ld a, $5 + call GetSRAMBank + ld hl, $a81f + ld de, BattleMonNick + 5 + ld bc, $0008 + call CopyBytes + call CloseSRAM + call Function118000 + ret +; 11b93b + +Function11b93b: ; 11b93b + ld a, $5 + call GetSRAMBank + xor a + ld [$a800], a + ld hl, $a823 + ld de, $c608 + ld bc, $008f + call CopyBytes + call CloseSRAM + ld a, $8 + ld [BGMapBuffer], a + ld a, $c6 + ld [wcd21], a + ld a, $11 + ld [CreditsTimer], a + ld a, $c6 + ld [wcd23], a + ld a, $41 + ld [wcd24], a + ld a, $c6 + ld [wcd25], a + ld a, $46 + ld [wcd26], a + ld a, $c6 + ld [wcd27], a + ld a, $4b + ld [wcd28], a + ld a, $c6 + ld [wcd29], a + call Function11b98f + callba Function14a58 + ret +; 11b98f + +Function11b98f: ; 11b98f + ld hl, PartyCount + ld a, [hl] + ld e, a + inc [hl] + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + inc hl + ld bc, PartySpecies + ld d, e +.asm_11b9a2 + inc bc + dec d + jr nz, .asm_11b9a2 + ld a, e + ld [CurPartyMon], a + ld a, [hl] + ld [bc], a + inc bc + ld a, $ff + ld [bc], a + ld hl, PartyMon1Species + ld bc, PartyMon2 - PartyMon1 + ld a, e + ld [wcd2a], a +.asm_11b9ba + add hl, bc + dec a + and a + jr nz, .asm_11b9ba + ld e, l + ld d, h + ld a, [CreditsTimer] + ld l, a + ld a, [wcd23] + ld h, a + ld bc, PartyMon2 - PartyMon1 + call CopyBytes + ld hl, PartyMonOT + ld bc, $000b + ld a, [wcd2a] +.asm_11b9d8 + add hl, bc + dec a + and a + jr nz, .asm_11b9d8 + ld e, l + ld d, h + ld a, [wcd24] + ld l, a + ld a, [wcd25] + ld h, a + ld bc, $000a + call CopyBytes + ld a, $50 + ld [de], a + ld hl, PartyMonNicknames + ld bc, $000b + ld a, [wcd2a] +.asm_11b9f9 + add hl, bc + dec a + and a + jr nz, .asm_11b9f9 + ld e, l + ld d, h + ld a, [wcd26] + ld l, a + ld a, [wcd27] + ld h, a + ld bc, $000a + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $a600 + ld bc, $002f + ld a, [wcd2a] +.asm_11ba1a + add hl, bc + dec a + and a + jr nz, .asm_11ba1a + ld a, $0 + call GetSRAMBank + ld e, l + ld d, h + ld a, [wcd28] + ld l, a + ld a, [wcd29] + ld h, a + ld bc, $002f + call CopyBytes + call CloseSRAM + ret +; 11ba38 + +Function11ba38: ; 11ba38 + callba Functione538 + ret c + xor a + ld [ScriptVar], a + ret +; 11ba44 + +Unknown_11ba44: +INCBIN "baserom.gbc",$11ba44,$11bb7d - $11ba44 + +Unknown_11bb7d: +INCBIN "baserom.gbc",$11bb7d,$11bc9e - $11bb7d + + +SECTION "bank47", ROMX, BANK[$47] + +Function11c000:: ; 11c000 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, wd105 + ld a, [hl] + dec a + ld e, a + ld d, 0 + ld hl, Unknown_11f2f0 + add hl, de + ld a, [hl] + and a + jr nz, .asm_11c026 + ld a, [hRandomAdd] + and $1f + cp $19 + jr c, .asm_11c021 + sub $19 + +.asm_11c021 + ld hl, Unknown_11f332 + jr .asm_11c033 + +.asm_11c026 + ld a, [hRandomAdd] + and $f + cp $f + jr c, .asm_11c030 + sub $f + +.asm_11c030 + ld hl, Unknown_11f3ce + +.asm_11c033 + ld b, 0 + dec c + jr nz, .asm_11c03d + ld [wd000 + $200], a + jr .asm_11c040 + +.asm_11c03d + ld a, [wd000 + $200] + +.asm_11c040 + push af + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld h, a + ld l, c + pop af + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld l, c + ld h, a + bccoord 1, 14 + pop af + ld [rSVBK], a + call Function13e5 + ret +; 11c05d + +Function11c05d: ; 11c05d + ld a, e + or d + jr z, .asm_11c071 + ld a, e + and d + cp $ff + jr z, .asm_11c071 + push hl + call Function11c156 + pop hl + call PlaceString + and a + ret + +.asm_11c071 + ld c, l + ld b, h + scf + ret +; 11c075 + +Function11c075: ; 11c075 + push de + ld a, c + call Function11c254 + pop de + ld bc, wcd36 + call Function11c08f + ret +; 11c082 + +Function11c082: ; 11c082 + push de + ld a, c + call Function11c254 + pop de + ld bc, wcd36 + call Function11c0c6 + ret +; 11c08f + +Function11c08f: ; 11c08f + ld l, e + ld h, d + push hl + ld a, $3 +.asm_11c094 + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + push bc + call Function11c05d + jr c, .asm_11c0a2 + inc bc + +.asm_11c0a2 + ld l, c + ld h, b + pop bc + pop af + dec a + jr nz, .asm_11c094 + pop hl + ld de, $0028 + add hl, de + ld a, $3 +.asm_11c0b0 + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + push bc + call Function11c05d + jr c, .asm_11c0be + inc bc + +.asm_11c0be + ld l, c + ld h, b + pop bc + pop af + dec a + jr nz, .asm_11c0b0 + ret +; 11c0c6 + + +Function11c0c6: ; 11c0c6 + ld a, [wcf63] + ld l, a + ld a, [wcf64] + ld h, a + push hl + ld hl, $c608 + 16 + ld a, $0 + ld [hli], a + push de + xor a + ld [wcf63], a + ld a, $12 + ld [wcf64], a + ld a, $6 +.asm_11c0e1 + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + or e + jr z, .asm_11c133 + push hl + push bc + call Function11c156 + call Function11c14a + ld e, c + pop bc + pop hl + ld a, e + or a + jr z, .asm_11c133 +.asm_11c0fa + ld a, [wcf64] + cp $12 + jr z, .asm_11c102 + inc e + +.asm_11c102 + cp e + jr nc, .asm_11c11c + ld a, [wcf63] + inc a + ld [wcf63], a + ld [hl], $4e + rra + jr c, .asm_11c113 + ld [hl], $55 + +.asm_11c113 + inc hl + ld a, $12 + ld [wcf64], a + dec e + jr .asm_11c0fa + +.asm_11c11c + cp $12 + jr z, .asm_11c123 + ld [hl], $7f + inc hl + +.asm_11c123 + sub e + ld [wcf64], a + ld de, $c608 +.asm_11c12a + ld a, [de] + cp $50 + jr z, .asm_11c133 + inc de + ld [hli], a + jr .asm_11c12a + +.asm_11c133 + pop af + dec a + jr nz, .asm_11c0e1 + ld [hl], $57 + pop bc + ld hl, $c608 + 16 + call Function13e5 + pop hl + ld a, l + ld [wcf63], a + ld a, h + ld [wcf64], a + ret +; 11c14a + +Function11c14a: ; 11c14a + ld c, $0 + ld hl, $c608 +.asm_11c14f + ld a, [hli] + cp $50 + ret z + inc c + jr .asm_11c14f +; 11c156 + +Function11c156: ; 11c156 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, $50 + ld hl, $c608 + ld bc, $000b + call ByteFill + ld a, d + and a + jr z, .asm_11c19c + ld hl, Unknown_11daac + dec d + sla d + ld c, d + ld b, $0 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + push bc + pop hl + ld c, e + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + add hl, bc + ld bc, $0005 +.asm_11c18f + ld de, $c608 + call CopyBytes + ld de, $c608 + pop af + ld [rSVBK], a + ret + +.asm_11c19c + ld a, e + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + ld bc, $000a + jr .asm_11c18f +; 11c1ab + +Function11c1ab: ; 11c1ab + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + call Function11c1b9 + pop af + ld [$ffaa], a + ret +; 11c1b9 + +Function11c1b9: ; 11c1b9 + call Function11c1ca + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + call Function11c283 + pop af + ld [rSVBK], a + ret +; 11c1ca + +Function11c1ca: ; 11c1ca + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ld [wcd23], a + ld [BGMapBuffer], a + ld [wcd21], a + ld [CreditsTimer], a + ld [wcd35], a + ld [wcd2b], a + ld a, $ff + ld [wcd24], a + ld a, [wcfa9] + dec a + call Function11c254 + call WhiteBGMap + call ClearSprites + call ClearScreen + call Function11d323 + call Function32f9 + call DisableLCD + ld hl, GFX_11d67e + ld de, VTiles2 + ld bc, $60 + call CopyBytes + ld hl, LZ_11d6de + ld de, VTiles0 + call Decompress + call EnableLCD + callba Function104061 + callba Function8cf53 + callba Function1500c + callba Function40c30 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, $c6d0 + ld de, LYOverrides + ld bc, $100 + call CopyBytes + pop af + ld [rSVBK], a + call Function11d4aa + call Function11d3ba + ret +; 11c254 + +Function11c254: ; 11c254 + push af + ld a, $4 + call GetSRAMBank + ld hl, $a007 + pop af + sla a + sla a + ld c, a + sla a + add c + ld c, a + ld b, $0 + add hl, bc + ld de, wcd36 + ld bc, $000c + call CopyBytes + call CloseSRAM + ret +; 11c277 + + +Function11c277: ; 11c277 (47:4277) + ld a, $7f + hlcoord 0, 6 + ld bc, $f0 + call ByteFill + ret + +Function11c283: ; 11c283 +.asm_11c283 + call Functiona57 + ld a, [hJoyPressed] + ld [hJoypadPressed], a + ld a, [wcf63] + bit 7, a + jr nz, .asm_11c2a2 + call Function11c2ac + callba Function8cf69 + callba Function104061 + jr .asm_11c283 + +.asm_11c2a2 + callba Function8cf53 + call ClearSprites + ret +; 11c2ac + +Function11c2ac: ; 11c2ac + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_11c2bb + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11c2bb + + +Jumptable_11c2bb: ; 11c2bb (47:42bb) + dw Function11c2e9 + dw Function11c346 + dw Function11c35f + dw Function11c373 + dw Function11c3c2 + dw Function11c3ed + dw Function11c52c + dw Function11c53d + dw Function11c658 + dw Function11c675 + dw Function11c9bd + dw Function11c9c3 + dw Function11caad + dw Function11cab3 + dw Function11cb52 + dw Function11cb66 + dw Function11cbf5 + dw Function11ccef + dw Function11cd04 + dw Function11cd20 + dw Function11cd54 + dw Function11ce0b + dw Function11ce2b + + +Function11c2e9: ; 11c2e9 (47:42e9) + lb de, $1a, $0d + ld a, $1d + call Function3b2a + lb de, $42, $0d + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $1 + ld [hl], a + lb de, $4a, $10 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $3 + ld [hl], a + lb de, $50, $80 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $4 + ld [hl], a + lb de, $50, $20 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $5 + ld [hl], a + lb de, $50, $10 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $2 + ld [hl], a + ld hl, wcd23 + set 1, [hl] + set 2, [hl] + jp Function11cfb5 + +Function11c346: ; 11c346 (47:4346) + ld a, $9 + ld [wcd2d], a + ld a, $2 + ld [wcd2e], a + ld [wcd2f], a + ld [wcd30], a + ld de, wcd2d + call Function11cfce + jp Function11cfb5 + +Function11c35f: ; 11c35f (47:435f) + ld hl, wcd2f + inc [hl] + inc [hl] + dec hl + dec hl + dec [hl] + push af + ld de, wcd2d + call Function11cfce + pop af + ret nz + jp Function11cfb5 + +Function11c373: ; 11c373 (47:4373) + ld hl, wcd30 + inc [hl] + inc [hl] + dec hl + dec hl + dec [hl] + push af + ld de, wcd2d + call Function11cfce + pop af + ret nz + call Function11c38a + jp Function11cfb5 + +Function11c38a: ; 11c38a (47:438a) + ld hl, Unknown_11c986 + ld bc, wcd36 + ld a, $6 +.asm_11c392 + push af + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + push de + pop hl + ld a, [bc] + inc bc + ld e, a + ld a, [bc] + inc bc + ld d, a + push bc + or e + jr z, .asm_11c3af + ld a, e + and d + cp $ff + jr z, .asm_11c3af + call Function11c05d + jr .asm_11c3b5 +.asm_11c3af + ld de, String_11c3bc + call PlaceString +.asm_11c3b5 + pop bc + pop hl + pop af + dec a + jr nz, .asm_11c392 + ret +; 11c3bc (47:43bc) + +String_11c3bc: ; 11c3bc + db "ーーーーー@" +; 11c3c2 + +Function11c3c2: ; 11c3c2 (47:43c2) + call Function11c277 + ld de, Unknown_11cfbe + call Function11d035 + hlcoord 1, 7 + ld de, String_11c4db + call PlaceString + hlcoord 1, 16 + ld de, String_11c51b + call PlaceString + call Function11c4be + ld hl, wcd23 + set 0, [hl] + ld hl, wcd24 + res 0, [hl] + call Function11cfb5 + +Function11c3ed: ; 11c3ed (47:43ed) + ld hl, BGMapBuffer ; wcd20 (aliases: CreditsPos) + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $8 + jr nz, .asm_11c426 + ld a, [de] + and $2 + jr nz, .asm_11c41a + ld a, [de] + and $1 + jr nz, .asm_11c42c + ld de, $ffa9 + ld a, [de] + and $40 + jr nz, .asm_11c47c + ld a, [de] + and $80 + jr nz, .asm_11c484 + ld a, [de] + and $20 + jr nz, .asm_11c48c + ld a, [de] + and $10 + jr nz, .asm_11c498 + ret +.asm_11c41a + call PlayClickSFX +.asm_11c41d + ld hl, wcd24 + set 0, [hl] + ld a, $c + jr .asm_11c475 +.asm_11c426 + ld a, $8 + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) + ret +.asm_11c42c + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + cp $6 + jr c, .asm_11c472 + sub $6 + jr z, .asm_11c469 + dec a + jr z, .asm_11c41d + ld hl, wcd36 + ld c, $c + xor a +.asm_11c440 + or [hl] + inc hl + dec c + jr nz, .asm_11c440 + and a + jr z, .asm_11c460 + ld de, Unknown_11cfba + call Function11cfce + decoord 1, 2 + ld bc, wcd36 + call Function11c08f + ld hl, wcd24 + set 0, [hl] + ld a, $e + jr .asm_11c475 +.asm_11c460 + ld hl, wcd24 + set 0, [hl] + ld a, $11 + jr .asm_11c475 +.asm_11c469 + ld hl, wcd24 + set 0, [hl] + ld a, $a + jr .asm_11c475 +.asm_11c472 + call Function11c4a5 +.asm_11c475 + ld [wcf63], a + call PlayClickSFX + ret +.asm_11c47c + ld a, [hl] + cp $3 + ret c + sub $3 + jr .asm_11c4a3 +.asm_11c484 + ld a, [hl] + cp $6 + ret nc + add $3 + jr .asm_11c4a3 +.asm_11c48c + ld a, [hl] + and a + ret z + cp $3 + ret z + cp $6 + ret z + dec a + jr .asm_11c4a3 +.asm_11c498 + ld a, [hl] + cp $2 + ret z + cp $5 + ret z + cp $8 + ret z + inc a +.asm_11c4a3 + ld [hl], a + ret + +Function11c4a5: ; 11c4a5 (47:44a5) + ld hl, wcd23 + res 0, [hl] + ld a, [wcd2b] + and a + jr nz, .asm_11c4b7 + xor a + ld [wcd21], a + ld a, $6 + ret +.asm_11c4b7 + xor a + ld [CreditsTimer], a + ld a, $15 + ret + +Function11c4be: ; 11c4be (47:44be) + ld a, $1 + hlcoord 0, 6, AttrMap + ld bc, $a0 + call ByteFill + ld a, $7 + hlcoord 0, 14, AttrMap + ld bc, $28 + call ByteFill + callba Function104061 + ret +; 11c4db (47:44db) + +String_11c4db: ; 11c4db + db "6つのことば", $1f, "くみあわせます" + next "かえたいところ", $1f, "えらぶと でてくる" + next "ことばのグループから いれかえたい" + next "たんご", $1f, "えらんでください" + db "@" +; 11c51b + +String_11c51b: ; 11c51b + db "ぜんぶけす やめる けってい@" +; 11c52c + +Function11c52c: ; 11c52c (47:452c) + call Function11c277 + call Function11c5f0 + call Function11c618 + ld hl, wcd24 + res 1, [hl] + call Function11cfb5 + +Function11c53d: ; 11c53d (47:453d) + ld hl, wcd21 + ld de, hJoypadPressed ; $ffa3 + + ld a, [de] + and START + jr nz, .start + + ld a, [de] + and SELECT + jr nz, .select + + ld a, [de] + and B_BUTTON + jr nz, .b + + ld a, [de] + and A_BUTTON + jr nz, .a + + ld de, $ffa9 + + ld a, [de] + and D_UP + jr nz, .up + + ld a, [de] + and D_DOWN + jr nz, .down + + ld a, [de] + and D_LEFT + jr nz, .left + + ld a, [de] + and D_RIGHT + jr nz, .right + + ret + +.a + ld a, [wcd21] + cp $f + jr c, .asm_11c59d + sub $f + jr z, .asm_11c5ab + dec a + jr z, .asm_11c599 + jr .b + +.start + ld hl, wcd24 + set 0, [hl] + ld a, $8 + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) + +.b + ld a, $4 + jr .asm_11c59f + +.select + ld a, [wcd2b] + xor $1 + ld [wcd2b], a + ld a, $15 + jr .asm_11c59f + +.asm_11c599 + ld a, $13 + jr .asm_11c59f + +.asm_11c59d + ld a, $8 + +.asm_11c59f + ld hl, wcd24 + set 1, [hl] + ld [wcf63], a + call PlayClickSFX + ret + +.asm_11c5ab + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + call Function11ca6a + call PlayClickSFX + ret + +.up + ld a, [hl] + cp $3 + ret c + sub $3 + jr .asm_11c5ee + +.down + ld a, [hl] + cp $f + ret nc + add $3 + jr .asm_11c5ee + +.left + ld a, [hl] + and a + ret z + cp $3 + ret z + cp $6 + ret z + cp $9 + ret z + cp $c + ret z + cp $f + ret z + dec a + jr .asm_11c5ee + +.right + ld a, [hl] + cp $2 + ret z + cp $5 + ret z + cp $8 + ret z + cp $b + ret z + cp $e + ret z + cp $11 + ret z + inc a + +.asm_11c5ee + ld [hl], a + ret +; 11c5f0 + +Function11c5f0: ; 11c5f0 (47:45f0) + ld de, Strings_11da52 + ld bc, Unknown_11c63a + ld a, $f +.asm_11c5f8 + push af + ld a, [bc] + inc bc + ld l, a + ld a, [bc] + inc bc + ld h, a + push bc + call PlaceString +.asm_11c603 + inc de + ld a, [de] + cp $50 + jr z, .asm_11c603 + pop bc + pop af + dec a + jr nz, .asm_11c5f8 + hlcoord 1, 17 + ld de, String_11c62a + call PlaceString + ret + +Function11c618: ; 11c618 (47:4618) + ld a, $2 + hlcoord 0, 6, AttrMap + ld bc, $c8 + call ByteFill + callba Function104061 + ret +; 11c62a (47:462a) + +String_11c62a: ; 11c62a + db "けす モード やめる@" +; 11c63a + +Unknown_11c63a: ; 11c63a + dwcoord 1, 7 + dwcoord 7, 7 + dwcoord 13, 7 + dwcoord 1, 9 + dwcoord 7, 9 + dwcoord 13, 9 + dwcoord 1, 11 + dwcoord 7, 11 + dwcoord 13, 11 + dwcoord 1, 13 + dwcoord 7, 13 + dwcoord 13, 13 + dwcoord 1, 15 + dwcoord 7, 15 + dwcoord 13, 15 +; 11c658 + +Function11c658: ; 11c658 (47:4658) + call Function11c277 + call Function11c770 + ld de, Unknown_11cfc2 + call Function11d035 + call Function11c9ab + call Function11c7bc + call Function11c86e + ld hl, wcd24 + res 3, [hl] + call Function11cfb5 + +Function11c675: ; 11c675 (47:4675) + ld hl, wcd25 + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and A_BUTTON + jr nz, .a + ld a, [de] + and B_BUTTON + jr nz, .b + ld a, [de] + and START + jr nz, .start + ld a, [de] + and SELECT + jr z, .select + + ld a, [wcd26] + and a + ret z + sub $c + jr nc, .asm_11c699 + xor a +.asm_11c699 + ld [wcd26], a + jr .asm_11c6c4 + +.start + ld hl, wcd28 + ld a, [wcd26] + add $c + cp [hl] + ret nc + ld [wcd26], a + ld a, [hl] + ld b, a + ld hl, wcd25 + ld a, [wcd26] + add [hl] + jr c, .asm_11c6b9 + cp b + jr c, .asm_11c6c4 +.asm_11c6b9 + ld a, [wcd28] + ld hl, wcd26 + sub [hl] + dec a + ld [wcd25], a +.asm_11c6c4 + call Function11c992 + call Function11c7bc + call Function11c86e + ret + +.select + ld de, $ffa9 + ld a, [de] + and D_UP + jr nz, .asm_11c708 + ld a, [de] + and D_DOWN + jr nz, .asm_11c731 + ld a, [de] + and D_LEFT + jr nz, .asm_11c746 + ld a, [de] + and D_RIGHT + jr nz, .asm_11c755 + ret + +.a + call Function11c8f6 + ld a, $4 + ld [wcd35], a + jr .asm_11c6fc +.b + ld a, [wcd2b] + and a + jr nz, .asm_11c6fa + ld a, $6 + jr .asm_11c6fc +.asm_11c6fa + ld a, $15 +.asm_11c6fc + ld [wcf63], a + ld hl, wcd24 + set 3, [hl] + call PlayClickSFX + ret +.asm_11c708 + ld a, [hl] + cp $3 + jr c, .asm_11c711 + sub $3 + jr .asm_11c76e +.asm_11c711 + ld a, [wcd26] + sub $3 + ret c + ld [wcd26], a + jr .asm_11c6c4 +.asm_11c71c + ld hl, wcd28 + ld a, [wcd26] + add $c + ret c + cp [hl] + ret nc + ld a, [wcd26] + add $3 + ld [wcd26], a + jr .asm_11c6c4 +.asm_11c731 + ld a, [wcd28] + ld b, a + ld a, [wcd26] + add [hl] + add $3 + cp b + ret nc + ld a, [hl] + cp $9 + jr nc, .asm_11c71c + add $3 + jr .asm_11c76e +.asm_11c746 + ld a, [hl] + and a + ret z + cp $3 + ret z + cp $6 + ret z + cp $9 + ret z + dec a + jr .asm_11c76e +.asm_11c755 + ld a, [wcd28] + ld b, a + ld a, [wcd26] + add [hl] + inc a + cp b + ret nc + ld a, [hl] + cp $2 + ret z + cp $5 + ret z + cp $8 + ret z + cp $b + ret z + inc a +.asm_11c76e + ld [hl], a + ret + +Function11c770: ; 11c770 (47:4770) + xor a + ld [wcd25], a + ld [wcd26], a + ld [wcd27], a + ld a, [wcd2b] + and a + jr nz, .asm_11c7ab + ld a, [wcd21] + and a + jr z, .asm_11c799 + dec a + sla a + ld hl, Unknown_11f220 + ld c, a + ld b, 0 + add hl, bc + ld a, [hli] + ld [wcd28], a + ld a, [hl] +.asm_11c795 + ld [wcd29], a + ret +.asm_11c799 + ld a, [wc7d2] + ld [wcd28], a +.asm_11c79f + ld c, $c + call SimpleDivide + and a + jr nz, .asm_11c7a8 + dec b +.asm_11c7a8 + ld a, b + jr .asm_11c795 +.asm_11c7ab + ld hl, $c68a + 30 + ld a, [CreditsTimer] + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, [hl] + ld [wcd28], a + jr .asm_11c79f + +Function11c7bc: ; 11c7bc (47:47bc) + ld bc, Unknown_11c854 + ld a, [wcd2b] + and a + jr nz, .asm_11c814 + ld a, [wcd21] + ld d, a + and a + jr z, .asm_11c7e9 + ld a, [wcd26] + ld e, a +.asm_11c7d0 + ld a, [bc] + ld l, a + inc bc + ld a, [bc] + ld h, a + inc bc + and l + cp $ff + ret z + push bc + push de + call Function11c05d + pop de + pop bc + inc e + ld a, [wcd28] + cp e + jr nz, .asm_11c7d0 + ret +.asm_11c7e9 + ld hl, wd100 + ld a, [wcd26] + ld e, a + add hl, de +.asm_11c7f1 + push de + ld a, [hli] + ld e, a + ld d, $0 + push hl + ld a, [bc] + ld l, a + inc bc + ld a, [bc] + ld h, a + inc bc + and l + cp $ff + jr z, .asm_11c811 + push bc + call Function11c05d + pop bc + pop hl + pop de + inc e + ld a, [wcd28] + cp e + jr nz, .asm_11c7f1 + ret +.asm_11c811 + pop hl + pop de + ret +.asm_11c814 + ld hl, $c648 + ld a, [wcd22] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wcd26] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [wcd26] + ld e, a +.asm_11c831 + push de + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + ld a, [bc] + ld l, a + inc bc + ld a, [bc] + ld h, a + inc bc + and l + cp $ff + jr z, .asm_11c851 + push bc + call Function11c05d + pop bc + pop hl + pop de + inc e + ld a, [wcd28] + cp e + jr nz, .asm_11c831 + ret +.asm_11c851 + pop hl + pop de + ret +; 11c854 (47:4854) + +Unknown_11c854: ; 11c854 + dwcoord 2, 8 + dwcoord 8, 8 + dwcoord 14, 8 + dwcoord 2, 10 + dwcoord 8, 10 + dwcoord 14, 10 + dwcoord 2, 12 + dwcoord 8, 12 + dwcoord 14, 12 + dwcoord 2, 14 + dwcoord 8, 14 + dwcoord 14, 14 + dw -1 +; 11c86e + +Function11c86e: ; 11c86e (47:486e) + ld a, [wcd26] + and a + jr z, .asm_11c88a + hlcoord 2, 17 + ld de, String_11c8f0 + call PlaceString + hlcoord 6, 17 + ld c, $3 + xor a +.asm_11c883 + ld [hli], a + inc a + dec c + jr nz, .asm_11c883 + jr .asm_11c895 +.asm_11c88a + hlcoord 2, 17 + ld c, $7 + ld a, $7f +.asm_11c891 + ld [hli], a + dec c + jr nz, .asm_11c891 +.asm_11c895 + ld hl, wcd28 + ld a, [wcd26] + add $c + jr c, .asm_11c8b7 + cp [hl] + jr nc, .asm_11c8b7 + hlcoord 16, 17 + ld de, String_11c8f3 + call PlaceString + hlcoord 11, 17 + ld a, $3 + ld c, a +.asm_11c8b1 + ld [hli], a + inc a + dec c + jr nz, .asm_11c8b1 + ret +.asm_11c8b7 + hlcoord 17, 16 + ld a, $7f + ld [hl], a + hlcoord 11, 17 + ld c, $7 +.asm_11c8c2 + ld [hli], a + dec c + jr nz, .asm_11c8c2 + ret +; 11c8c7 (47:48c7) + +Function11c8c7: ; 11c8c7 + inc a + push af + and $f + ld [hDividend], a + pop af + and $f0 + swap a + ld [hQuotient], a + xor a + ld [$ffb5], a + push hl + callba Function11a80c + pop hl + ld a, [wcd63] + add $f6 + ld [hli], a + ld a, [wcd62] + add $f6 + ld [hli], a + ret +; 11c8ec + +String_11c8ec: ; 11c8ec + db "ぺージ@" +; 11c8f0 + +String_11c8f0: ; 11c8f0 + db "まえ@" +; 11c8f3 + +String_11c8f3: ; 11c8f3 + db "つぎ@" +; 11c8f6 + +Function11c8f6: ; 11c8f6 (47:48f6) + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + call Function11c95d + push hl + ld a, [wcd2b] + and a + jr nz, .asm_11c938 + ld a, [wcd21] + ld d, a + and a + jr z, .asm_11c927 + ld hl, wcd26 + ld a, [wcd25] + add [hl] +.asm_11c911 + ld e, a +.asm_11c912 + pop hl + push de + call Function11c05d + pop de + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + ld c, a + ld b, $0 + ld hl, wcd36 + add hl, bc + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret +.asm_11c927 + ld hl, wcd26 + ld a, [wcd25] + add [hl] + ld c, a + ld b, $0 + ld hl, wd100 + add hl, bc + ld a, [hl] + jr .asm_11c911 +.asm_11c938 + ld hl, $c648 + ld a, [wcd22] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wcd26] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [wcd25] + ld e, a + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + jr .asm_11c912 + +Function11c95d: ; 11c95d (47:495d) + sla a + ld c, a + ld b, 0 + ld hl, Unknown_11c986 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + push bc + push bc + pop hl + ld a, $5 + ld c, a + ld a, $7f +.asm_11c972 + ld [hli], a + dec c + jr nz, .asm_11c972 + dec hl + ld bc, -20 + add hl, bc + ld a, $5 + ld c, a + ld a, $7f +.asm_11c980 + ld [hld], a + dec c + jr nz, .asm_11c980 + pop hl + ret +; 11c986 (47:4986) + +Unknown_11c986: + dwcoord 1, 2 + dwcoord 7, 2 + dwcoord 13, 2 + dwcoord 1, 4 + dwcoord 7, 4 + dwcoord 13, 4 +; 11c992 + +Function11c992: ; 11c992 (47:4992) + ld a, $8 + hlcoord 2, 7 +.asm_11c997 + push af + ld a, $7f + push hl + ld bc, $11 + call ByteFill + pop hl + ld bc, $14 + add hl, bc + pop af + dec a + jr nz, .asm_11c997 + ret + +Function11c9ab: ; 11c9ab (47:49ab) + ld a, $7 + hlcoord 0, 6, AttrMap + ld bc, $c8 + call ByteFill + callba Function104061 + ret + +Function11c9bd: ; 11c9bd (47:49bd) + ld de, String_11ca38 + call Function11ca7f + +Function11c9c3: ; 11c9c3 (47:49c3) + ld hl, wcd2a + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $1 + jr nz, .asm_11c9de + ld a, [de] + and $2 + jr nz, .asm_11c9e9 + ld a, [de] + and $40 + jr nz, .asm_11c9f7 + ld a, [de] + and $80 + jr nz, .asm_11c9fc + ret +.asm_11c9de + ld a, [hl] + and a + jr nz, .asm_11c9e9 + call Function11ca5e + xor a + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) +.asm_11c9e9 + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wcf63], a + call PlayClickSFX + ret +.asm_11c9f7 + ld a, [hl] + and a + ret z + dec [hl] + ret +.asm_11c9fc + ld a, [hl] + and a + ret nz + inc [hl] + ret + +Function11ca01: ; 11ca01 (47:4a01) + hlcoord 14, 7, AttrMap + ld de, $14 + ld a, $5 + ld c, a +.asm_11ca0a + push hl + ld a, $6 + ld b, a + ld a, $7 +.asm_11ca10 + ld [hli], a + dec b + jr nz, .asm_11ca10 + pop hl + add hl, de + dec c + jr nz, .asm_11ca0a + +Function11ca19: ; 11ca19 (47:4a19) + hlcoord 0, 12, AttrMap + ld de, $14 + ld a, $6 + ld c, a +.asm_11ca22 + push hl + ld a, $14 + ld b, a + ld a, $7 +.asm_11ca28 + ld [hli], a + dec b + jr nz, .asm_11ca28 + pop hl + add hl, de + dec c + jr nz, .asm_11ca22 + callba Function104061 + ret +; 11ca38 (47:4a38) + +String_11ca38: ; 11ca38 + db "とうろくちゅう", $25, "あいさつ", $1f, "ぜんぶ" + next "けしても よろしいですか?@" +; 11ca57 + +String_11ca57: ; 11ca57 + db "はい" + next "いいえ@" +; 11ca5e + +Function11ca5e: ; 11ca5e (47:4a5e) + xor a +.asm_11ca5f + push af + call Function11ca6a + pop af + inc a + cp $6 + jr nz, .asm_11ca5f + ret + +Function11ca6a: ; 11ca6a (47:4a6a) + ld hl, wcd36 + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld [hl], b + inc hl + ld [hl], b + call Function11c95d + ld de, String_11c3bc + call PlaceString + ret + +Function11ca7f: ; 11ca7f (47:4a7f) + push de + ld de, Unknown_11cfc6 + call Function11cfce + ld de, Unknown_11cfca + call Function11cfce + hlcoord 1, 14 + pop de + call PlaceString + hlcoord 16, 8 + ld de, String_11ca57 + call PlaceString + call Function11ca01 + ld a, $1 + ld [wcd2a], a + ld hl, wcd24 + res 4, [hl] + call Function11cfb5 + ret + +Function11caad: ; 11caad (47:4aad) + ld de, String_11cb1c + call Function11ca7f + +Function11cab3: ; 11cab3 (47:4ab3) + ld hl, wcd2a + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $1 + jr nz, .asm_11cace + ld a, [de] + and $2 + jr nz, .asm_11caf9 + ld a, [de] + and $40 + jr nz, .asm_11cb12 + ld a, [de] + and $80 + jr nz, .asm_11cb17 + ret +.asm_11cace + call PlayClickSFX + ld a, [hl] + and a + jr nz, .asm_11cafc + ld a, [wcd35] + and a + jr z, .asm_11caf3 + cp $ff + jr z, .asm_11caf3 + ld a, $ff + ld [wcd35], a + hlcoord 1, 14 + ld de, String_11cb31 + call PlaceString + ld a, $1 + ld [wcd2a], a + ret +.asm_11caf3 + ld hl, wcf63 + set 7, [hl] + ret +.asm_11caf9 + call PlayClickSFX +.asm_11cafc + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wcf63], a + ld a, [wcd35] + cp $ff + ret nz + ld a, $1 + ld [wcd35], a + ret +.asm_11cb12 + ld a, [hl] + and a + ret z + dec [hl] + ret +.asm_11cb17 + ld a, [hl] + and a + ret nz + inc [hl] + ret +; 11cb1c (47:4b1c) + +String_11cb1c: ; 11cb1c + db "あいさつ", $25, "とうろく", $1f, "ちゅうし" + next "しますか?@" +; 11cb31 + +String_11cb31: ; 11cb31 + db "とうろくちゅう", $25, "あいさつ", $24, "ほぞん" + next "されません", $4a, "よろしい ですか?@" +; 11cb52 + +Function11cb52: ; 11cb52 (47:4b52) + ld hl, Unknown_11cc01 + ld a, [wcfa9] +.asm_11cb58 + dec a + jr z, .asm_11cb5f + inc hl + inc hl + jr .asm_11cb58 +.asm_11cb5f + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + call Function11ca7f + +Function11cb66: ; 11cb66 (47:4b66) + ld hl, wcd2a + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $1 + jr nz, .asm_11cb81 + ld a, [de] + and $2 + jr nz, .asm_11cbd7 + ld a, [de] + and $40 + jr nz, .asm_11cbeb + ld a, [de] + and $80 + jr nz, .asm_11cbf0 + ret +.asm_11cb81 + ld a, [hl] + and a + jr nz, .asm_11cbd4 + ld a, $4 + call GetSRAMBank + ld hl, $a007 + ld a, [wcfa9] + dec a + sla a + sla a + ld c, a + sla a + add c + ld c, a + ld b, $0 + add hl, bc + ld de, wcd36 + ld c, $c +.asm_11cba2 + ld a, [de] + ld [hli], a + inc de + dec c + jr nz, .asm_11cba2 + call CloseSRAM + call PlayClickSFX + ld de, Unknown_11cfc6 + call Function11cfce + ld hl, Unknown_11cc7e + ld a, [wcfa9] +.asm_11cbba + dec a + jr z, .asm_11cbc1 + inc hl + inc hl + jr .asm_11cbba +.asm_11cbc1 + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + hlcoord 1, 14 + call PlaceString + ld hl, wcf63 + inc [hl] + inc hl + ld a, $10 + ld [hl], a + ret +.asm_11cbd4 + call PlayClickSFX +.asm_11cbd7 + ld de, Unknown_11cfba + call Function11cfce + call Function11c38a + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wcf63], a + ret +.asm_11cbeb + ld a, [hl] + and a + ret z + dec [hl] + ret +.asm_11cbf0 + ld a, [hl] + and a + ret nz + inc [hl] + ret + +Function11cbf5: ; 11cbf5 (47:4bf5) + call WaitSFX + ld hl, wcf64 + dec [hl] + ret nz + dec hl + set 7, [hl] + ret +; 11cc01 (47:4c01) + +Unknown_11cc01: ; 11cc01 + dw String_11cc09 + dw String_11cc23 + dw String_11cc42 + dw String_11cc60 + +String_11cc09: ; 11cc09 + db "じこしょうかい は" + next "この あいさつで いいですか?@" + +String_11cc23: ; 11cc23 + db "たいせん ", $4a, "はじまるとき は" + next "この あいさつで いいですか?@" + +String_11cc42: ; 11cc42 + db "たいせん ", $1d, "かったとき は" + next "この あいさつで いいですか?@" + +String_11cc60: ; 11cc60 + db "たいせん ", $1d, "まけたとき は" + next "この あいさつで いいですか?@" +; 11cc7e + +Unknown_11cc7e: ; 11cc7e + dw String_11cc86 + dw String_11cc9d + dw String_11ccb9 + dw String_11ccd4 + +String_11cc86: ; 11cc86 + db "じこしょうかい の" + next "あいさつ", $1f, "とうろくした!@" + +String_11cc9d: ; 11cc9d + db "たいせん ", $4a, "はじまるとき の" + next "あいさつ", $1f, "とうろくした!@" + +String_11ccb9: ; 11ccb9 + db "たいせん ", $1d, "かったとき の" + next "あいさつ", $1f, "とうろくした!@" + +String_11ccd4: ; 11ccd4 + db "たいせん ", $1d, "まけたとき の" + next "あいさつ", $1f, "とうろくした!@" +; 11ccef + +Function11ccef: ; 11ccef (47:4cef) + ld de, Unknown_11cfc6 + call Function11cfce + hlcoord 1, 14 + ld de, String_11cd10 + call PlaceString + call Function11ca19 + call Function11cfb5 + +Function11cd04: ; 11cd04 (47:4d04) + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and a + ret z + ld a, $4 + ld [wcf63], a + ret +; 11cd10 (47:4d10) + +String_11cd10: ; 11cd10 + db "なにか ことば", $1f, "いれてください@" +; 11cd20 + +Function11cd20: ; 11cd20 (47:4d20) + call Function11c277 + ld de, Unknown_11cfc6 + call Function11cfce + hlcoord 1, 14 + ld a, [wcd2b] + ld [wcd2c], a + and a + jr nz, .asm_11cd3a + ld de, String_11cdc7 + jr .asm_11cd3d +.asm_11cd3a + ld de, String_11cdd9 +.asm_11cd3d + call PlaceString + hlcoord 4, 8 + ld de, String_11cdf5 + call PlaceString + call Function11cdaa + ld hl, wcd24 + res 5, [hl] + call Function11cfb5 + +Function11cd54: ; 11cd54 (47:4d54) + ld hl, wcd2c + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and A_BUTTON + jr nz, .asm_11cd6f + ld a, [de] + and B_BUTTON + jr nz, .asm_11cd73 + ld a, [de] + and D_UP + jr nz, .asm_11cd8b + ld a, [de] + and D_DOWN + jr nz, .asm_11cd94 + ret + +.asm_11cd6f + ld a, [hl] + ld [wcd2b], a +.asm_11cd73 + ld a, [wcd2b] + and a + jr nz, .asm_11cd7d + ld a, $6 + jr .asm_11cd7f + +.asm_11cd7d + ld a, $15 +.asm_11cd7f + ld [wcf63], a + ld hl, wcd24 + set 5, [hl] + call PlayClickSFX + ret + +.asm_11cd8b + ld a, [hl] + and a + ret z + dec [hl] + ld de, String_11cdc7 + jr .asm_11cd9b + +.asm_11cd94 + ld a, [hl] + and a + ret nz + inc [hl] + ld de, String_11cdd9 +.asm_11cd9b + push de + ld de, Unknown_11cfc6 + call Function11cfce + pop de + hlcoord 1, 14 + call PlaceString + ret + +Function11cdaa: ; 11cdaa (47:4daa) + ld a, $2 + hlcoord 0, 6, AttrMap + ld bc, $78 + call ByteFill + ld a, $7 + hlcoord 0, 12, AttrMap + ld bc, $50 + call ByteFill + callba Function104061 + ret +; 11cdc7 (47:4dc7) + +String_11cdc7: ; 11cdc7 + db "ことば", $1f, "しゅるいべつに" + next "えらべます@" +; 11cdd9 + +String_11cdd9: ; 11cdd9 + db "ことば", $1f, "アイウエォ の" + next "じゅんばんで ひょうじ します@" +; 11cdf5 + +String_11cdf5: ; 11cdf5 + db "しゅるいべつ モード" + next "アイウエォ モード@" +; 11ce0b + +Function11ce0b: ; 11ce0b (47:4e0b) + call Function11c277 + hlcoord 1, 7 + ld de, String_11cf79 + call PlaceString + hlcoord 1, 17 + ld de, String_11c62a + call PlaceString + call Function11c618 + ld hl, wcd24 + res 2, [hl] + call Function11cfb5 + +Function11ce2b: ; 11ce2b (47:4e2b) + ld a, [CreditsTimer] + sla a + sla a + ld c, a + ld b, 0 + ld hl, Unknown_11ceb9 + add hl, bc + + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and START + jr nz, .start + ld a, [de] + and SELECT + jr nz, .select + ld a, [de] + and A_BUTTON + jr nz, .a + ld a, [de] + and B_BUTTON + jr nz, .b + + ld de, $ffa9 + ld a, [de] + and D_UP + jr nz, .up + ld a, [de] + and D_DOWN + jr nz, .down + ld a, [de] + and D_LEFT + jr nz, .left + ld a, [de] + and D_RIGHT + jr nz, .right + + ret + +.a + ld a, [CreditsTimer] + cp $2d + jr c, .asm_11ce92 + sub $2d + jr z, .asm_11cea4 + dec a + jr z, .asm_11ce96 + jr .b + +.start + ld hl, wcd24 + set 0, [hl] + ld a, $8 + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) +.b + ld a, $4 + jr .asm_11ce98 +.select + ld a, [wcd2b] + xor $1 + ld [wcd2b], a + ld a, $6 + jr .asm_11ce98 + +.asm_11ce92 + ld a, $8 + jr .asm_11ce98 + +.asm_11ce96 + ld a, $13 +.asm_11ce98 + ld [wcf63], a + ld hl, wcd24 + set 2, [hl] + call PlayClickSFX + ret +.asm_11cea4 + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + call Function11ca6a + call PlayClickSFX + ret + +.left + inc hl +.down + inc hl +.right + inc hl +.up + ld a, [hl] + cp $ff + ret z + ld [CreditsTimer], a + ret +; 11ceb9 (47:4eb9) + +Unknown_11ceb9: ; 11ceb9 + ; up left down right + db $ff, $01, $05, $ff + db $ff, $02, $06, $00 + db $ff, $03, $07, $01 + db $ff, $04, $08, $02 + db $ff, $14, $09, $03 + db $00, $06, $0a, $ff + db $01, $07, $0b, $05 + db $02, $08, $0c, $06 + db $03, $09, $0d, $07 + db $04, $19, $0e, $08 + db $05, $0b, $0f, $ff + db $06, $0c, $10, $0a + db $07, $0d, $11, $0b + db $08, $0e, $12, $0c + db $09, $1e, $13, $0d + db $0a, $10, $2d, $ff + db $0b, $11, $2d, $0f + db $0c, $12, $2d, $10 + db $0d, $13, $2d, $11 + db $0e, $26, $2d, $12 + db $ff, $15, $19, $04 + db $ff, $16, $1a, $14 + db $ff, $17, $1b, $15 + db $ff, $18, $1c, $16 + db $ff, $23, $1d, $17 + db $14, $1a, $1e, $09 + db $15, $1b, $1f, $19 + db $16, $1c, $20, $1a + db $17, $1d, $21, $1b + db $18, $2b, $22, $1c + db $19, $1f, $26, $0e + db $1a, $20, $27, $1e + db $1b, $21, $28, $1f + db $1c, $22, $29, $20 + db $1d, $2c, $2a, $21 + db $ff, $24, $2b, $18 + db $ff, $25, $2b, $23 + db $ff, $ff, $2b, $24 + db $1e, $27, $2e, $13 + db $1f, $28, $2e, $26 + db $20, $29, $2e, $27 + db $21, $2a, $2e, $28 + db $22, $ff, $2e, $29 + db $23, $ff, $2c, $1d + db $2b, $ff, $2f, $22 + db $0f, $2e, $ff, $ff + db $26, $2f, $ff, $2d + db $2c, $ff, $ff, $2e +; 11cf79 + +String_11cf79: ; 11cf79 + db "あいうえお なにぬねの や ゆ よ" + next "かきくけこ はひふへほ わ" + next "さしすせそ まみむめも そのた" + next "たちつてと らりるれろ" + db "@" +; 11cfb5 + +Function11cfb5: ; 11cfb5 (47:4fb5) + ld hl, wcf63 + inc [hl] + ret +; 11cfba (47:4fba) + +Unknown_11cfba: + db 0, 0 ; start coords + db 20, 6 ; end coords + +Unknown_11cfbe: + db 0, 14 ; start coords + db 20, 4 ; end coords + +Unknown_11cfc2: + db 0, 6 ; start coords + db 20, 10 ; end coords + +Unknown_11cfc6: + db 0, 12 ; start coords + db 20, 6 ; end coords + +Unknown_11cfca: + db 14, 7 ; start coords + db 6, 5 ; end coords +; 11cfce + +Function11cfce: ; 11cfce (47:4fce) + ld hl, TileMap + ld bc, $14 + ld a, [de] + inc de + push af + ld a, [de] + inc de + and a +.asm_11cfda + jr z, .asm_11cfe0 + add hl, bc + dec a + jr .asm_11cfda +.asm_11cfe0 + pop af + ld c, a + ld b, 0 + add hl, bc + push hl + ld a, $79 + ld [hli], a + ld a, [de] + inc de + dec a + dec a + jr z, .asm_11cff6 + ld c, a + ld a, $7a +.asm_11cff2 + ld [hli], a + dec c + jr nz, .asm_11cff2 +.asm_11cff6 + ld a, $7b + ld [hl], a + pop hl + ld bc, $14 + add hl, bc + ld a, [de] + dec de + dec a + dec a + jr z, .asm_11d022 + ld b, a +.asm_11d005 + push hl + ld a, $7c + ld [hli], a + ld a, [de] + dec a + dec a + jr z, .asm_11d015 + ld c, a + ld a, $7f +.asm_11d011 + ld [hli], a + dec c + jr nz, .asm_11d011 +.asm_11d015 + ld a, $7c + ld [hl], a + pop hl + push bc + ld bc, $14 + add hl, bc + pop bc + dec b + jr nz, .asm_11d005 +.asm_11d022 + ld a, $7d + ld [hli], a + ld a, [de] + dec a + dec a + jr z, .asm_11d031 + ld c, a + ld a, $7a +.asm_11d02d + ld [hli], a + dec c + jr nz, .asm_11d02d +.asm_11d031 + ld a, $7e + ld [hl], a + ret + +Function11d035: ; 11d035 (47:5035) + ld hl, TileMap + ld bc, $14 + ld a, [de] + inc de + push af + ld a, [de] + inc de + and a +.asm_11d041 + jr z, .asm_11d047 + add hl, bc + dec a + jr .asm_11d041 +.asm_11d047 + pop af + ld c, a + ld b, $0 + add hl, bc + push hl + ld a, $79 + ld [hl], a + pop hl + push hl + ld a, [de] + dec a + inc de + ld c, a + add hl, bc + ld a, $7b + ld [hl], a + call Function11d0ac + ld a, $7e + ld [hl], a + pop hl + push hl + call Function11d0ac + ld a, $7d + ld [hl], a + pop hl + push hl + inc hl + push hl + call Function11d0ac + pop bc + dec de + ld a, [de] + cp $2 + jr z, .asm_11d082 + dec a + dec a +.asm_11d078 + push af + ld a, $7a + ld [hli], a + ld [bc], a + inc bc + pop af + dec a + jr nz, .asm_11d078 +.asm_11d082 + pop hl + ld bc, $14 + add hl, bc + push hl + ld a, [de] + dec a + ld c, a + ld b, $0 + add hl, bc + pop bc + inc de + ld a, [de] + cp $2 + ret z + push bc + dec a + dec a + ld c, a + ld b, a + ld de, $14 +.asm_11d09c + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .asm_11d09c + pop hl +.asm_11d0a4 + ld a, $7c + ld [hl], a + add hl, de + dec b + jr nz, .asm_11d0a4 + ret + +Function11d0ac: ; 11d0ac (47:50ac) + ld a, [de] + dec a + ld bc, $14 +.asm_11d0b1 + add hl, bc + dec a + jr nz, .asm_11d0b1 + ret + +Function11d0b6: ; 11d0b6 (47:50b6) + ld hl, $c + add hl, bc + ld a, [hl] + ld e, a + ld d, 0 + ld hl, Jumptable_11d0c7 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Jumptable_11d0c7: ; 11d0c7 (47:50c7) + dw Function11d0dd + dw Function11d0e9 + dw Function11d0f5 + dw Function11d10f + dw Function11d134 + dw Function11d145 + dw Function11d156 + dw Function11d175 + dw Function11d1d7 + dw Function11d1d1 + dw Function11d1fc + + +Function11d0dd: ; 11d0dd (47:50dd) + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + sla a + ld hl, Unknown_11d208 + ld e, $1 + jr asm_11d11e + +Function11d0e9: ; 11d0e9 (47:50e9) + ld a, [wcd21] + sla a + ld hl, Unknown_11d21a + ld e, $2 + jr asm_11d11e + +Function11d0f5: ; 11d0f5 (47:50f5) + ld hl, Unknown_11d2be + ld a, [CreditsTimer] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call Function3b3c + ld a, [CreditsTimer] + sla a + ld hl, Unknown_11d23e + ld e, $4 + jr asm_11d11e + +Function11d10f: ; 11d10f (47:510f) + ld a, $27 + call Function3b3c + ld a, [wcd25] + sla a + ld hl, Unknown_11d29e + ld e, $8 + +asm_11d11e: ; 11d11e (47:511e) + push de + ld e, a + ld d, $0 + add hl, de + push hl + pop de + ld hl, $4 + add hl, bc + ld a, [de] + inc de + ld [hli], a + ld a, [de] + ld [hl], a + pop de + ld a, e + call Function11d2ee + ret + +Function11d134: ; 11d134 (47:5134) + ld a, $27 + call Function3b3c + ld a, [wcd2a] + sla a + ld hl, Unknown_11d2b6 + ld e, $10 + jr asm_11d11e + +Function11d145: ; 11d145 (47:5145) + ld a, $27 + call Function3b3c + ld a, [wcd2c] + sla a + ld hl, Unknown_11d2ba + ld e, $20 + jr asm_11d11e + +Function11d156: ; 11d156 (47:5156) + ld a, $2a + call Function3b3c + ld a, [wcd4a] + sla a + sla a + sla a + add $18 + ld hl, $4 + add hl, bc + ld [hli], a + ld a, $30 + ld [hl], a + ld a, $1 + ld e, a + call Function11d2ee + ret + +Function11d175: ; 11d175 (47:5175) + ld a, [wcd4d] + cp $4 + jr z, .asm_11d180 + ld a, $28 + jr .asm_11d182 +.asm_11d180 + ld a, $26 +.asm_11d182 + call Function3b3c + ld a, [wcd4d] + cp $4 + jr z, .asm_11d1b1 + ld a, [wcd4c] + sla a + sla a + sla a + add $20 + ld hl, $4 + add hl, bc + ld [hli], a + ld a, [wcd4d] + sla a + sla a + sla a + sla a + add $48 + ld [hl], a + ld a, $2 + ld e, a + call Function11d2ee + ret +.asm_11d1b1 + ld a, [wcd4c] + sla a + sla a + sla a + ld e, a + sla a + sla a + add e + add $18 + ld hl, $4 + add hl, bc + ld [hli], a + ld a, $8a + ld [hl], a + ld a, $2 + ld e, a + call Function11d2ee + ret + +Function11d1d1: ; 11d1d1 (47:51d1) + ld d, $98 + ld a, $2c + jr asm_11d1db + +Function11d1d7: ; 11d1d7 (47:51d7) + ld d, $10 + ld a, $2b + +asm_11d1db: ; 11d1db (47:51db) + push de + call Function3b3c + ld a, [wcd4a] + sla a + sla a + sla a + ld e, a + sla a + add e + add $40 + ld hl, $5 + add hl, bc + ld [hld], a + pop af + ld [hl], a + ld a, $4 + ld e, a + call Function11d2ee + ret + +Function11d1fc: ; 11d1fc (47:51fc) + ld a, $26 + call Function3b3c + ld a, $8 + ld e, a + call Function11d2ee + ret +; 11d208 (47:5208) + +Unknown_11d208: ; 11d208 +INCBIN "baserom.gbc",$11d208,$11d21a - $11d208 +Unknown_11d21a: ; 11d21a +INCBIN "baserom.gbc",$11d21a,$11d23e - $11d21a +Unknown_11d23e: ; 11d23e +INCBIN "baserom.gbc",$11d23e,$11d29e - $11d23e +Unknown_11d29e: ; 11d29e +INCBIN "baserom.gbc",$11d29e,$11d2b6 - $11d29e +Unknown_11d2b6: ; 11d2b6 +INCBIN "baserom.gbc",$11d2b6,$11d2ba - $11d2b6 +Unknown_11d2ba: ; 11d2ba +INCBIN "baserom.gbc",$11d2ba,$11d2be - $11d2ba +Unknown_11d2be: ; 11d2be +INCBIN "baserom.gbc",$11d2be,$11d2ee - $11d2be + +Function11d2ee: ; 11d2ee (47:52ee) + ld hl, wcd24 + and [hl] + jr nz, .asm_11d316 + ld a, e + ld hl, wcd23 + and [hl] + jr z, .asm_11d30f + ld hl, $e + add hl, bc + ld a, [hl] + and a + jr z, .asm_11d305 + dec [hl] + ret +.asm_11d305 + ld a, $0 + ld [hld], a + ld a, $1 + xor [hl] + ld [hl], a + and a + jr nz, .asm_11d316 +.asm_11d30f + ld hl, $7 + add hl, bc + xor a + ld [hl], a + ret +.asm_11d316 + ld hl, $5 + add hl, bc + ld a, $b0 + sub [hl] + ld hl, $7 + add hl, bc + ld [hl], a + ret + +Function11d323: ; 11d323 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_11d33a + ld de, Unkn1Pals + ld bc, $0080 + call CopyBytes + pop af + ld [rSVBK], a + ret +; 11d33a + +Palette_11d33a: + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 16, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 23, 17, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; 11d3ba + +Function11d3ba: ; 11d3ba + ld a, [rSVBK] + push af + ld hl, BattleMonSpclDef + ld a, $0 + ld [wcd2d], a + ld [hli], a + ld a, $d8 + ld [wcd2e], a + ld [hl], a + ld a, $fe + ld [wcd2f], a + ld a, $54 + ld [wcd30], a + ld a, $a8 + ld [wcd31], a + ld a, $c6 + ld [wcd32], a + ld a, $4a + ld [wcd33], a + ld a, $c6 + ld [wcd34], a + ld hl, Unknown_11f23c + ld a, $2d + +Function11d3ef: ; 11d3ef + push af + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + push hl + ld hl, Unkn1Pals + add hl, de + ld a, [wcd2d] + ld e, a + ld a, [wcd2e] + ld d, a + push bc +.asm_11d406 + ld a, $3 + ld [rSVBK], a + ld a, [hli] + push af + ld a, $5 + ld [rSVBK], a + pop af + ld [de], a + inc de + ld a, $3 + ld [rSVBK], a + ld a, [hli] + push af + ld a, $5 + ld [rSVBK], a + pop af + ld [de], a + inc de + dec bc + ld a, c + or b + jr nz, .asm_11d406 + ld a, [wcd2f] + ld l, a + ld a, [wcd30] + ld h, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, l + ld [wcd2f], a + ld a, h + ld [wcd30], a + push bc + pop hl + ld c, $0 +.asm_11d43d + ld a, [hl] + cp $ff + jr z, .asm_11d453 + call Function11d493 + jr nz, .asm_11d44a + inc hl + jr .asm_11d43d + +.asm_11d44a + ld a, [hli] + ld [de], a + inc de + xor a + ld [de], a + inc de + inc c + jr .asm_11d43d + +.asm_11d453 + pop hl + ld b, $0 + add hl, bc + push hl + pop bc + ld a, [wcd31] + ld l, a + ld a, [wcd32] + ld h, a + ld a, c + ld [hli], a + ld a, b + ld [hli], a + ld a, l + ld [wcd31], a + ld a, h + ld [wcd32], a + ld a, [wcd33] + ld l, a + ld a, [wcd34] + ld h, a + ld a, e + ld [wcd2d], a + ld [hli], a + ld a, d + ld [wcd2e], a + ld [hli], a + ld a, l + ld [wcd33], a + ld a, h + ld [wcd34], a + pop hl + pop af + dec a + jr z, .asm_11d48f + jp Function11d3ef + +.asm_11d48f + pop af + ld [rSVBK], a + ret +; 11d493 + +Function11d493: ; 11d493 + push hl + push bc + push de + dec a + ld hl, rSVBK + ld e, $1 + ld [hl], e + call CheckSeenMon + ld hl, rSVBK + ld e, $5 + ld [hl], e + pop de + pop bc + pop hl + ret +; 11d4aa + +Function11d4aa: ; 11d4aa + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, Unknown_11daac + ld bc, Unknown_11f220 + xor a + ld [wcd2d], a + inc a + ld [wcd2e], a + ld a, $e +.asm_11d4c1 + push af + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + ld hl, $0005 + add hl, de + ld a, [bc] + inc bc + inc bc + push bc +.asm_11d4cf + push af + push hl + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld hl, wd000 + add hl, de + ld a, [wcd2d] + ld [hli], a + inc a + ld [wcd2d], a + ld a, [wcd2e] + ld [hl], a + pop hl + ld de, $0008 + add hl, de + pop af + dec a + jr nz, .asm_11d4cf + ld hl, wcd2d + xor a + ld [hli], a + inc [hl] + pop bc + pop hl + pop af + dec a + jr nz, .asm_11d4c1 + pop af + ld [rSVBK], a + ret +; 11d4fe + + +Unknown_11d4fe: +; Pokemon sorted by kana. +; Notably, Rhydon is missing. + + dw Unknown_11d558 + dw Unknown_11d55f + dw Unknown_11d565 + dw Unknown_11d56c + dw Unknown_11d574 + dw Unknown_11d57f + dw Unknown_11d58e + dw Unknown_11d598 + dw Unknown_11d59f + dw Unknown_11d5a3 + dw Unknown_11d5b2 + dw Unknown_11d5bb + dw Unknown_11d5c0 + dw Unknown_11d5c8 + dw Unknown_11d5cb + dw Unknown_11d5cd + dw Unknown_11d5d1 + dw Unknown_11d5d4 + dw Unknown_11d5d6 + dw Unknown_11d5dc + dw Unknown_11d5e7 + dw Unknown_11d5ea + dw Unknown_11d5f7 + dw Unknown_11d5f9 + dw Unknown_11d5fc + dw Unknown_11d5fe + dw Unknown_11d60e + dw Unknown_11d61d + dw Unknown_11d62e + dw Unknown_11d636 + dw Unknown_11d63e + dw Unknown_11d649 + dw Unknown_11d64e + dw Unknown_11d651 + dw Unknown_11d656 + dw Unknown_11d65a + dw Unknown_11d660 + dw Unknown_11d662 + dw Unknown_11d665 + dw Unknown_11d66d + dw Unknown_11d671 + dw Unknown_11d674 + dw Unknown_11d678 + dw Unknown_11d67a + dw Unknown_11d67d + +Unknown_11d558: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, $ff +Unknown_11d55f: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, $ff +Unknown_11d565: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, $ff +Unknown_11d56c: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, $ff +Unknown_11d574: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, $ff +Unknown_11d57f: db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, $ff +Unknown_11d58e: db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, $ff +Unknown_11d598: db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, $ff +Unknown_11d59f: db ABRA, GENGAR, TAUROS, $ff +Unknown_11d5a3: db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, $ff +Unknown_11d5b2: db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, $ff +Unknown_11d5bb: db SEADRA, SHELLDER, VAPOREON, DEWGONG, $ff +Unknown_11d5c0: db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, $ff +Unknown_11d5c8: db SQUIRTLE, CELEBI, $ff +Unknown_11d5cb: db WOBBUFFET, $ff +Unknown_11d5cd: db DUGTRIO, HORSEA, EXEGGCUTE, $ff +Unknown_11d5d1: db CHIKORITA, CHINCHOU, $ff +Unknown_11d5d4: db SHUCKLE, $ff +Unknown_11d5d6: db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, $ff +Unknown_11d5dc: db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, $ff +Unknown_11d5e7: db ODDISH, EXEGGUTOR, $ff +Unknown_11d5ea: db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, $ff +Unknown_11d5f7: db QUAGSIRE, $ff +Unknown_11d5f9: db NATU, XATU, $ff +Unknown_11d5fc: db DUNSPARCE, $ff +Unknown_11d5fe: db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, $ff +Unknown_11d60e: db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, $ff +Unknown_11d61d: db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, $ff +Unknown_11d62e: db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, $ff +Unknown_11d636: db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, $ff +Unknown_11d63e: db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, $ff +Unknown_11d649: db DRATINI, MEW, MEWTWO, MILTANK, $ff +Unknown_11d64e: db MISDREAVUS, SMOOCHUM, $ff +Unknown_11d651: db MEGANIUM, DITTO, TENTACOOL, MAREEP, $ff +Unknown_11d656: db FLAAFFY, VENOMOTH, TANGELA, $ff +Unknown_11d65a: db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, $ff +Unknown_11d660: db KADABRA, $ff +Unknown_11d662: db LARVITAR, NOCTOWL, $ff +Unknown_11d665: db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, $ff +Unknown_11d66d: db CHARMELEON, CHARIZARD, URSARING, $ff +Unknown_11d671: db JYNX, LUGIA, $ff +Unknown_11d674: db MAGNETON, LEDIAN, LEDYBA, $ff +Unknown_11d678: db VULPIX, $ff +Unknown_11d67a: db JUMPLUFF, TOTODILE, MACHOP +Unknown_11d67d: db $ff +; 11d67e + +GFX_11d67e: +INCBIN "gfx/pokedex/select_start.2bpp" +; 11d6de + +LZ_11d6de: +INCBIN "gfx/pokedex/slowpoke.2bpp.lz" +; 11da52 + +Strings_11da52: ; 11da52 + db "ポケモン@@" + db "タイプ@@@" + db "あいさつ@@" + db "ひと@@@@" + db "バトル@@@" + db "こえ@@@@" + db "かいわ@@@" + db "きもち@@@" + db "じょうたい@" + db "せいかつ@@" + db "しゅみ@@@" + db "こうどう@@" + db "じかん@@@" + db "むすび@@@" + db "あれこれ@@" +; 11daac + +Unknown_11daac: ; 11daac + dw Unknown_11dac8 + dw Unknown_11db58 + dw Unknown_11dc78 + dw Unknown_11dea0 + dw Unknown_11e0c8 + dw Unknown_11e2d8 + dw Unknown_11e4e8 + dw Unknown_11e710 + dw Unknown_11e920 + dw Unknown_11ea58 + dw Unknown_11eb90 + dw Unknown_11edb8 + dw Unknown_11eef0 + dw Unknown_11f100 + +Unknown_11dac8: ; 11dac8 + db "あく@@@", $26, $0, $0 + db "いわ@@@", $aa, $0, $0 + db "エスパー@", $da, $0, $0 + db "かくとう@", $4e, $1, $0 + db "くさ@@@", $ba, $1, $0 + db "ゴースト@", $e4, $1, $0 + db "こおり@@", $e6, $1, $0 + db "じめん@@", $68, $2, $0 + db "タイプ@@", $e8, $2, $0 + db "でんき@@", $8e, $3, $0 + db "どく@@@", $ae, $3, $0 + db "ドラゴン@", $bc, $3, $0 + db "ノーマル@", $22, $4, $0 + db "はがね@@", $36, $4, $0 + db "ひこう@@", $5e, $4, $0 + db "ほのお@@", $b2, $4, $0 + db "みず@@@", $f4, $4, $0 + db "むし@@@", $12, $5, $0 + +Unknown_11db58: ; 11db58 + db "ありがと@", $58, $0, $0 + db "ありがとう", $5a, $0, $0 + db "いくぜ!@", $80, $0, $0 + db "いくよ!@", $82, $0, $0 + db "いくわよ!", $84, $0, $0 + db "いやー@@", $a6, $0, $0 + db "おっす@@", $a, $1, $0 + db "おはつです", $22, $1, $0 + db "おめでとう", $2a, $1, $0 + db "ごめん@@", $f8, $1, $0 + db "ごめんよ@", $fa, $1, $0 + db "こらっ@@", $fc, $1, $0 + db "こんちは!", $a, $2, $0 + db "こんにちは", $10, $2, $0 + db "さようなら", $28, $2, $0 + db "サンキュー", $2e, $2, $0 + db "さんじょう", $30, $2, $0 + db "しっけい@", $48, $2, $0 + db "しつれい@", $4c, $2, $0 + db "じゃーね@", $6c, $2, $0 + db "すいません", $8c, $2, $0 + db "それじゃ@", $ca, $2, $0 + db "どうも@@", $a6, $3, $0 + db "なんじゃ@", $ee, $3, $0 + db "ハーイ@@", $2c, $4, $0 + db "はいはい@", $32, $4, $0 + db "バイバイ@", $34, $4, $0 + db "へイ@@@", $8a, $4, $0 + db "またね@@", $de, $4, $0 + db "もしもし@", $32, $5, $0 + db "やあ@@@", $3e, $5, $0 + db "やっほー@", $4e, $5, $0 + db "よう@@@", $62, $5, $0 + db "ようこそ@", $64, $5, $0 + db "よろしく@", $80, $5, $0 + db "らっしゃい", $94, $5, $0 + +Unknown_11dc78: ; 11dc78 + db "あいて@@", $1c, $0, $0 + db "あたし@@", $36, $0, $0 + db "あなた@@", $40, $0, $0 + db "あなたが@", $42, $0, $0 + db "あなたに@", $44, $0, $0 + db "あなたの@", $46, $0, $0 + db "あなたは@", $48, $0, $0 + db "あなたを@", $4a, $0, $0 + db "おかあさん", $e8, $0, $0 + db "おじいさん", $fc, $0, $0 + db "おじさん@", $2, $1, $0 + db "おとうさん", $e, $1, $0 + db "おとこのこ", $10, $1, $0 + db "おとな@@", $14, $1, $0 + db "おにいさん", $16, $1, $0 + db "おねえさん", $18, $1, $0 + db "おばあさん", $1c, $1, $0 + db "おばさん@", $20, $1, $0 + db "おれさま@", $34, $1, $0 + db "おんなのこ", $3a, $1, $0 + db "ガール@@", $40, $1, $0 + db "かぞく@@", $52, $1, $0 + db "かのじょ@", $72, $1, $0 + db "かれ@@@", $7c, $1, $0 + db "きみ@@@", $9a, $1, $0 + db "きみが@@", $9c, $1, $0 + db "きみに@@", $9e, $1, $0 + db "きみの@@", $a0, $1, $0 + db "きみは@@", $a2, $1, $0 + db "きみを@@", $a4, $1, $0 + db "ギャル@@", $ae, $1, $0 + db "きょうだい", $b2, $1, $0 + db "こども@@", $f0, $1, $0 + db "じぶん@@", $54, $2, $0 + db "じぶんが@", $56, $2, $0 + db "じぶんに@", $58, $2, $0 + db "じぶんの@", $5a, $2, $0 + db "じぶんは@", $5c, $2, $0 + db "じぶんを@", $5e, $2, $0 + db "だれ@@@", $18, $3, $0 + db "だれか@@", $1a, $3, $0 + db "だれが@@", $1c, $3, $0 + db "だれに@@", $1e, $3, $0 + db "だれの@@", $20, $3, $0 + db "だれも@@", $22, $3, $0 + db "だれを@@", $24, $3, $0 + db "ちゃん@@", $38, $3, $0 + db "ともだち@", $b8, $3, $0 + db "なかま@@", $d4, $3, $0 + db "ひと@@@", $62, $4, $0 + db "ボーイ@@", $98, $4, $0 + db "ボク@@@", $a0, $4, $0 + db "ボクが@@", $a2, $4, $0 + db "ボクに@@", $a4, $4, $0 + db "ボクの@@", $a6, $4, $0 + db "ボクは@@", $a8, $4, $0 + db "ボクを@@", $aa, $4, $0 + db "みんな@@", $4, $5, $0 + db "みんなが@", $6, $5, $0 + db "みんなに@", $8, $5, $0 + db "みんなの@", $a, $5, $0 + db "みんなは@", $c, $5, $0 + db "ライバル@", $8a, $5, $0 + db "わたし@@", $c2, $5, $0 + db "わたしが@", $c4, $5, $0 + db "わたしに@", $c6, $5, $0 + db "わたしの@", $c8, $5, $0 + db "わたしは@", $ca, $5, $0 + db "わたしを@", $cc, $5, $0 + +Unknown_11dea0: ; 11dea0 + db "あいしょう", $18, $0, $0 + db "いけ!@@", $88, $0, $0 + db "いちばん@", $96, $0, $0 + db "かくご@@", $4c, $1, $0 + db "かたせて@", $54, $1, $0 + db "かち@@@", $56, $1, $0 + db "かつ@@@", $58, $1, $0 + db "かった@@", $60, $1, $0 + db "かったら@", $62, $1, $0 + db "かって@@", $64, $1, $0 + db "かてない@", $66, $1, $0 + db "かてる@@", $68, $1, $0 + db "かなわない", $70, $1, $0 + db "きあい@@", $84, $1, $0 + db "きめた@@", $a8, $1, $0 + db "きりふだ@", $b6, $1, $0 + db "くらえ@@", $c2, $1, $0 + db "こい!@@", $da, $1, $0 + db "こうげき@", $e0, $1, $0 + db "こうさん@", $e2, $1, $0 + db "こんじょう", $8, $2, $0 + db "さいのう@", $16, $2, $0 + db "さくせん@", $1a, $2, $0 + db "さばき@@", $22, $2, $0 + db "しょうぶ@", $7e, $2, $0 + db "しょうり@", $80, $2, $0 + db "せめ@@@", $b4, $2, $0 + db "センス@@", $b6, $2, $0 + db "たいせん@", $e6, $2, $0 + db "たたかい@", $f6, $2, $0 + db "ちから@@", $32, $3, $0 + db "チャレンジ", $36, $3, $0 + db "つよい@@", $58, $3, $0 + db "つよすぎ@", $5a, $3, $0 + db "つらい@@", $5c, $3, $0 + db "つらかった", $5e, $3, $0 + db "てかげん@", $6c, $3, $0 + db "てき@@@", $6e, $3, $0 + db "てんさい@", $90, $3, $0 + db "でんせつ@", $94, $3, $0 + db "トレーナー", $c6, $3, $0 + db "にげ@@@", $4, $4, $0 + db "ぬるい@@", $10, $4, $0 + db "ねらう@@", $16, $4, $0 + db "バトル@@", $4a, $4, $0 + db "ファイト@", $72, $4, $0 + db "ふっかつ@", $78, $4, $0 + db "ポイント@", $94, $4, $0 + db "ポケモン@", $ac, $4, $0 + db "ほんき@@", $bc, $4, $0 + db "まいった!", $c4, $4, $0 + db "まけ@@@", $c8, $4, $0 + db "まけたら@", $ca, $4, $0 + db "まけて@@", $cc, $4, $0 + db "まける@@", $ce, $4, $0 + db "まもり@@", $ea, $4, $0 + db "みかた@@", $f2, $4, $0 + db "みとめない", $fe, $4, $0 + db "みとめる@", $0, $5, $0 + db "むてき@@", $16, $5, $0 + db "もらった!", $3c, $5, $0 + db "よゆう@@", $7a, $5, $0 + db "よわい@@", $82, $5, $0 + db "よわすぎ@", $84, $5, $0 + db "らくしょう", $8e, $5, $0 + db "りーダー@", $9e, $5, $0 + db "ルール@@", $a0, $5, $0 + db "レべル@@", $a6, $5, $0 + db "わざ@@@", $be, $5, $0 + +Unknown_11e0c8: ; 11e0c8 + db "!@@@@", $0, $0, $0 + db "!!@@@", $2, $0, $0 + db "!?@@@", $4, $0, $0 + db "?@@@@", $6, $0, $0 + db "…@@@@", $8, $0, $0 + db "…!@@@", $a, $0, $0 + db "………@@", $c, $0, $0 + db "ー@@@@", $e, $0, $0 + db "ーーー@@", $10, $0, $0 + db "あーあ@@", $14, $0, $0 + db "あーん@@", $16, $0, $0 + db "あははー@", $52, $0, $0 + db "あら@@@", $54, $0, $0 + db "いえ@@@", $72, $0, $0 + db "イエス@@", $74, $0, $0 + db "うう@@@", $ac, $0, $0 + db "うーん@@", $ae, $0, $0 + db "うおー!@", $b0, $0, $0 + db "うおりゃー", $b2, $0, $0 + db "うひょー@", $bc, $0, $0 + db "うふふ@@", $be, $0, $0 + db "うわー@@", $ca, $0, $0 + db "うわーん@", $cc, $0, $0 + db "ええ@@@", $d2, $0, $0 + db "えー@@@", $d4, $0, $0 + db "えーん@@", $d6, $0, $0 + db "えへへ@@", $dc, $0, $0 + db "おいおい@", $e0, $0, $0 + db "おお@@@", $e2, $0, $0 + db "おっと@@", $c, $1, $0 + db "がーん@@", $42, $1, $0 + db "キャー@@", $aa, $1, $0 + db "ギャー@@", $ac, $1, $0 + db "ぐふふふふ", $bc, $1, $0 + db "げっ@@@", $ce, $1, $0 + db "しくしく@", $3e, $2, $0 + db "ちえっ@@", $2e, $3, $0 + db "てへ@@@", $86, $3, $0 + db "ノー@@@", $20, $4, $0 + db "はあー@@", $2a, $4, $0 + db "はい@@@", $30, $4, $0 + db "はっはっは", $48, $4, $0 + db "ひいー@@", $56, $4, $0 + db "ひゃあ@@", $6a, $4, $0 + db "ふっふっふ", $7c, $4, $0 + db "ふにゃ@@", $7e, $4, $0 + db "ププ@@@", $80, $4, $0 + db "ふふん@@", $82, $4, $0 + db "ふん@@@", $88, $4, $0 + db "へっへっへ", $8e, $4, $0 + db "へへー@@", $90, $4, $0 + db "ほーほほほ", $9c, $4, $0 + db "ほら@@@", $b6, $4, $0 + db "まあ@@@", $c0, $4, $0 + db "むきー!!", $10, $5, $0 + db "むふー@@", $18, $5, $0 + db "むふふ@@", $1a, $5, $0 + db "むむ@@@", $1c, $5, $0 + db "よーし@@", $6a, $5, $0 + db "よし!@@", $72, $5, $0 + db "ラララ@@", $98, $5, $0 + db "わーい@@", $ac, $5, $0 + db "わーん!!", $b0, $5, $0 + db "ワォ@@@", $b2, $5, $0 + db "わっ!!@", $ce, $5, $0 + db "わははは!", $d0, $5, $0 + +Unknown_11e2d8: ; 11e2d8 + db "あのね@@", $50, $0, $0 + db "あんまり@", $6e, $0, $0 + db "いじわる@", $8e, $0, $0 + db "うそ@@@", $b6, $0, $0 + db "うむ@@@", $c4, $0, $0 + db "おーい@@", $e4, $0, $0 + db "おすすめ@", $6, $1, $0 + db "おばかさん", $1e, $1, $0 + db "かなり@@", $6e, $1, $0 + db "から@@@", $7a, $1, $0 + db "きぶん@@", $98, $1, $0 + db "けど@@@", $d6, $1, $0 + db "こそ@@@", $ea, $1, $0 + db "こと@@@", $ee, $1, $0 + db "さあ@@@", $12, $2, $0 + db "さっぱり@", $1e, $2, $0 + db "さて@@@", $20, $2, $0 + db "じゅうぶん", $72, $2, $0 + db "すぐ@@@", $94, $2, $0 + db "すごく@@", $98, $2, $0 + db "すこしは@", $9a, $2, $0 + db "すっっごい", $a0, $2, $0 + db "ぜーんぜん", $b0, $2, $0 + db "ぜったい@", $b2, $2, $0 + db "それで@@", $ce, $2, $0 + db "だけ@@@", $f2, $2, $0 + db "だって@@", $fc, $2, $0 + db "たぶん@@", $6, $3, $0 + db "たら@@@", $14, $3, $0 + db "ちょー@@", $3a, $3, $0 + db "ちょっと@", $3c, $3, $0 + db "ったら@@", $4e, $3, $0 + db "って@@@", $50, $3, $0 + db "ていうか@", $62, $3, $0 + db "でも@@@", $88, $3, $0 + db "どうしても", $9c, $3, $0 + db "とうぜん@", $a0, $3, $0 + db "どうぞ@@", $a2, $3, $0 + db "とりあえず", $be, $3, $0 + db "なあ@@@", $cc, $3, $0 + db "なんて@@", $f4, $3, $0 + db "なんでも@", $fc, $3, $0 + db "なんとか@", $fe, $3, $0 + db "には@@@", $8, $4, $0 + db "バッチり@", $46, $4, $0 + db "ばりばり@", $52, $4, $0 + db "ほど@@@", $b0, $4, $0 + db "ほんと@@", $be, $4, $0 + db "まさに@@", $d0, $4, $0 + db "マジ@@@", $d2, $4, $0 + db "マジで@@", $d4, $4, $0 + db "まったく@", $e4, $4, $0 + db "まで@@@", $e6, $4, $0 + db "まるで@@", $ec, $4, $0 + db "ムード@@", $e, $5, $0 + db "むしろ@@", $14, $5, $0 + db "めちゃ@@", $24, $5, $0 + db "めっぽう@", $28, $5, $0 + db "もう@@@", $2c, $5, $0 + db "モード@@", $2e, $5, $0 + db "もっと@@", $36, $5, $0 + db "もはや@@", $38, $5, $0 + db "やっと@@", $4a, $5, $0 + db "やっぱり@", $4c, $5, $0 + db "より@@@", $7c, $5, $0 + db "れば@@@", $a4, $5, $0 + +Unknown_11e4e8: ; 11e4e8 + db "あいたい@", $1a, $0, $0 + db "あそびたい", $32, $0, $0 + db "いきたい@", $7c, $0, $0 + db "うかれて@", $b4, $0, $0 + db "うれしい@", $c6, $0, $0 + db "うれしさ@", $c8, $0, $0 + db "エキサイト", $d8, $0, $0 + db "えらい@@", $de, $0, $0 + db "おかしい@", $ec, $0, $0 + db "ォッケー@", $8, $1, $0 + db "かえりたい", $48, $1, $0 + db "がっくし@", $5a, $1, $0 + db "かなしい@", $6c, $1, $0 + db "がんばって", $80, $1, $0 + db "きがしない", $86, $1, $0 + db "きがする@", $88, $1, $0 + db "ききたい@", $8a, $1, $0 + db "きになる@", $90, $1, $0 + db "きのせい@", $96, $1, $0 + db "きらい@@", $b4, $1, $0 + db "くやしい@", $be, $1, $0 + db "くやしさ@", $c0, $1, $0 + db "さみしい@", $24, $2, $0 + db "ざんねん@", $32, $2, $0 + db "しあわせ@", $36, $2, $0 + db "したい@@", $44, $2, $0 + db "したくない", $46, $2, $0 + db "しまった@", $64, $2, $0 + db "しょんぼり", $82, $2, $0 + db "すき@@@", $92, $2, $0 + db "だいきらい", $da, $2, $0 + db "たいくつ@", $dc, $2, $0 + db "だいじ@@", $de, $2, $0 + db "だいすき@", $e4, $2, $0 + db "たいへん@", $ea, $2, $0 + db "たのしい@", $0, $3, $0 + db "たのしすぎ", $2, $3, $0 + db "たべたい@", $8, $3, $0 + db "ダメダメ@", $e, $3, $0 + db "たりない@", $16, $3, $0 + db "ちくしょー", $34, $3, $0 + db "どうしよう", $9e, $3, $0 + db "ドキドキ@", $ac, $3, $0 + db "ナイス@@", $d0, $3, $0 + db "のみたい@", $26, $4, $0 + db "びっくり@", $60, $4, $0 + db "ふあん@@", $74, $4, $0 + db "ふらふら@", $86, $4, $0 + db "ほしい@@", $ae, $4, $0 + db "ボロボロ@", $b8, $4, $0 + db "まだまだ@", $e0, $4, $0 + db "まてない@", $e8, $4, $0 + db "まんぞく@", $f0, $4, $0 + db "みたい@@", $f8, $4, $0 + db "めずらしい", $22, $5, $0 + db "メラメラ@", $2a, $5, $0 + db "やだ@@@", $46, $5, $0 + db "やったー@", $48, $5, $0 + db "やばい@@", $50, $5, $0 + db "やばすぎる", $52, $5, $0 + db "やられた@", $54, $5, $0 + db "やられて@", $56, $5, $0 + db "よかった@", $6e, $5, $0 + db "ラブラブ@", $96, $5, $0 + db "ロマン@@", $a8, $5, $0 + db "ろんがい@", $aa, $5, $0 + db "わから@@", $b4, $5, $0 + db "わかり@@", $b6, $5, $0 + db "わくわく@", $ba, $5, $0 + +Unknown_11e710: ; 11e710 + db "あつい@@", $38, $0, $0 + db "あった@@", $3a, $0, $0 + db "あり@@@", $56, $0, $0 + db "ある@@@", $5e, $0, $0 + db "あわてて@", $6a, $0, $0 + db "いい@@@", $70, $0, $0 + db "いか@@@", $76, $0, $0 + db "イカス@@", $78, $0, $0 + db "いきおい@", $7a, $0, $0 + db "いける@@", $8a, $0, $0 + db "いじょう@", $8c, $0, $0 + db "いそがしい", $90, $0, $0 + db "いっしょに", $9a, $0, $0 + db "いっぱい@", $9c, $0, $0 + db "いない@@", $a0, $0, $0 + db "いや@@@", $a4, $0, $0 + db "いる@@@", $a8, $0, $0 + db "うまい@@", $c0, $0, $0 + db "うまく@@", $c2, $0, $0 + db "おおきい@", $e6, $0, $0 + db "おくれ@@", $f2, $0, $0 + db "おしい@@", $fa, $0, $0 + db "おもしろい", $2c, $1, $0 + db "おもしろく", $2e, $1, $0 + db "かっこいい", $5c, $1, $0 + db "かわいい@", $7e, $1, $0 + db "かんぺき@", $82, $1, $0 + db "けっこう@", $d0, $1, $0 + db "げんき@@", $d8, $1, $0 + db "こわい@@", $6, $2, $0 + db "さいこう@", $14, $2, $0 + db "さむい@@", $26, $2, $0 + db "さわやか@", $2c, $2, $0 + db "しかたない", $38, $2, $0 + db "すごい@@", $96, $2, $0 + db "すごすぎ@", $9c, $2, $0 + db "すてき@@", $a4, $2, $0 + db "たいした@", $e0, $2, $0 + db "だいじょぶ", $e2, $2, $0 + db "たかい@@", $ec, $2, $0 + db "ただしい@", $f8, $2, $0 + db "だめ@@@", $c, $3, $0 + db "ちいさい@", $2c, $3, $0 + db "ちがう@@", $30, $3, $0 + db "つかれ@@", $48, $3, $0 + db "とくい@@", $b0, $3, $0 + db "とまらない", $b6, $3, $0 + db "ない@@@", $ce, $3, $0 + db "なかった@", $d2, $3, $0 + db "なし@@@", $d8, $3, $0 + db "なって@@", $dc, $3, $0 + db "はやい@@", $50, $4, $0 + db "ひかる@@", $5a, $4, $0 + db "ひくい@@", $5c, $4, $0 + db "ひどい@@", $64, $4, $0 + db "ひとりで@", $66, $4, $0 + db "ひま@@@", $68, $4, $0 + db "ふそく@@", $76, $4, $0 + db "へた@@@", $8c, $4, $0 + db "まちがって", $e2, $4, $0 + db "やさしい@", $42, $5, $0 + db "よく@@@", $70, $5, $0 + db "よわって@", $86, $5, $0 + db "らく@@@", $8c, $5, $0 + db "らしい@@", $90, $5, $0 + db "わるい@@", $d4, $5, $0 + +Unknown_11e920: ; 11e920 + db "アルバイト", $64, $0, $0 + db "うち@@@", $ba, $0, $0 + db "おかね@@", $ee, $0, $0 + db "おこづかい", $f4, $0, $0 + db "おふろ@@", $24, $1, $0 + db "がっこう@", $5e, $1, $0 + db "きねん@@", $92, $1, $0 + db "グループ@", $c6, $1, $0 + db "ゲット@@", $d2, $1, $0 + db "こうかん@", $de, $1, $0 + db "しごと@@", $40, $2, $0 + db "しゅぎょう", $74, $2, $0 + db "じゅぎょう", $76, $2, $0 + db "じゅく@@", $78, $2, $0 + db "しんか@@", $88, $2, $0 + db "ずかん@@", $90, $2, $0 + db "せいかつ@", $ae, $2, $0 + db "せんせい@", $b8, $2, $0 + db "センター@", $ba, $2, $0 + db "タワー@@", $28, $3, $0 + db "つうしん@", $40, $3, $0 + db "テスト@@", $7e, $3, $0 + db "テレビ@@", $8c, $3, $0 + db "でんわ@@", $96, $3, $0 + db "どうぐ@@", $9a, $3, $0 + db "トレード@", $c4, $3, $0 + db "なまえ@@", $e8, $3, $0 + db "ニュース@", $a, $4, $0 + db "にんき@@", $c, $4, $0 + db "パーティー", $2e, $4, $0 + db "べんきょう", $92, $4, $0 + db "マシン@@", $d6, $4, $0 + db "めいし@@", $1e, $5, $0 + db "メッセージ", $26, $5, $0 + db "もようがえ", $3a, $5, $0 + db "ゆめ@@@", $5a, $5, $0 + db "ようちえん", $66, $5, $0 + db "ラジォ@@", $92, $5, $0 + db "ワールド@", $ae, $5, $0 + +Unknown_11ea58: ; 11ea58 + db "アイドル@", $1e, $0, $0 + db "アニメ@@", $4c, $0, $0 + db "うた@@@", $b8, $0, $0 + db "えいが@@", $d0, $0, $0 + db "おかし@@", $ea, $0, $0 + db "おしゃべり", $4, $1, $0 + db "おままごと", $28, $1, $0 + db "おもちゃ@", $30, $1, $0 + db "おんがく@", $38, $1, $0 + db "カード@@", $3e, $1, $0 + db "かいもの@", $46, $1, $0 + db "グルメ@@", $c8, $1, $0 + db "ゲーム@@", $cc, $1, $0 + db "ざっし@@", $1c, $2, $0 + db "さんぽ@@", $34, $2, $0 + db "じてんしゃ", $50, $2, $0 + db "しゅみ@@", $7a, $2, $0 + db "スポーツ@", $a8, $2, $0 + db "ダイエット", $d8, $2, $0 + db "たからもの", $f0, $2, $0 + db "たび@@@", $4, $3, $0 + db "ダンス@@", $2a, $3, $0 + db "つり@@@", $60, $3, $0 + db "デート@@", $6a, $3, $0 + db "でんしゃ@", $92, $3, $0 + db "ぬいぐるみ", $e, $4, $0 + db "パソコン@", $3e, $4, $0 + db "はな@@@", $4c, $4, $0 + db "ヒーロー@", $58, $4, $0 + db "ひるね@@", $6e, $4, $0 + db "ヒロイン@", $70, $4, $0 + db "ぼうけん@", $96, $4, $0 + db "ボード@@", $9a, $4, $0 + db "ボール@@", $9e, $4, $0 + db "ほん@@@", $ba, $4, $0 + db "マンガ@@", $ee, $4, $0 + db "やくそく@", $40, $5, $0 + db "やすみ@@", $44, $5, $0 + db "よてい@@", $74, $5, $0 + +Unknown_11eb90: ; 11eb90 + db "あう@@@", $20, $0, $0 + db "あきらめ@", $24, $0, $0 + db "あげる@@", $28, $0, $0 + db "あせる@@", $2e, $0, $0 + db "あそび@@", $30, $0, $0 + db "あそぶ@@", $34, $0, $0 + db "あつめ@@", $3e, $0, $0 + db "あるき@@", $60, $0, $0 + db "あるく@@", $62, $0, $0 + db "いく@@@", $7e, $0, $0 + db "いけ@@@", $86, $0, $0 + db "おき@@@", $f0, $0, $0 + db "おこり@@", $f6, $0, $0 + db "おこる@@", $f8, $0, $0 + db "おしえ@@", $fe, $0, $0 + db "おしえて@", $0, $1, $0 + db "おねがい@", $1a, $1, $0 + db "おぼえ@@", $26, $1, $0 + db "かえる@@", $4a, $1, $0 + db "がまん@@", $74, $1, $0 + db "きく@@@", $8c, $1, $0 + db "きたえ@@", $8e, $1, $0 + db "きめ@@@", $a6, $1, $0 + db "くる@@@", $c4, $1, $0 + db "さがし@@", $18, $2, $0 + db "さわぎ@@", $2a, $2, $0 + db "した@@@", $42, $2, $0 + db "しって@@", $4a, $2, $0 + db "して@@@", $4e, $2, $0 + db "しない@@", $52, $2, $0 + db "しまう@@", $60, $2, $0 + db "じまん@@", $66, $2, $0 + db "しらない@", $84, $2, $0 + db "しる@@@", $86, $2, $0 + db "しんじて@", $8a, $2, $0 + db "する@@@", $aa, $2, $0 + db "たべる@@", $a, $3, $0 + db "つかう@@", $42, $3, $0 + db "つかえ@@", $44, $3, $0 + db "つかって@", $46, $3, $0 + db "できない@", $70, $3, $0 + db "できる@@", $72, $3, $0 + db "でない@@", $84, $3, $0 + db "でる@@@", $8a, $3, $0 + db "なげる@@", $d6, $3, $0 + db "なやみ@@", $ea, $3, $0 + db "ねられ@@", $18, $4, $0 + db "ねる@@@", $1a, $4, $0 + db "のがし@@", $24, $4, $0 + db "のむ@@@", $28, $4, $0 + db "はしり@@", $3a, $4, $0 + db "はしる@@", $3c, $4, $0 + db "はたらき@", $40, $4, $0 + db "はたらく@", $42, $4, $0 + db "はまって@", $4e, $4, $0 + db "ぶつけ@@", $7a, $4, $0 + db "ほめ@@@", $b4, $4, $0 + db "みせて@@", $f6, $4, $0 + db "みて@@@", $fc, $4, $0 + db "みる@@@", $2, $5, $0 + db "めざす@@", $20, $5, $0 + db "もって@@", $34, $5, $0 + db "ゆずる@@", $58, $5, $0 + db "ゆるす@@", $5c, $5, $0 + db "ゆるせ@@", $5e, $5, $0 + db "られない@", $9a, $5, $0 + db "られる@@", $9c, $5, $0 + db "わかる@@", $b8, $5, $0 + db "わすれ@@", $c0, $5, $0 + +Unknown_11edb8: ; 11edb8 + db "あき@@@", $22, $0, $0 + db "あさ@@@", $2a, $0, $0 + db "あした@@", $2c, $0, $0 + db "いちにち@", $94, $0, $0 + db "いつか@@", $98, $0, $0 + db "いつも@@", $9e, $0, $0 + db "いま@@@", $a2, $0, $0 + db "えいえん@", $ce, $0, $0 + db "おととい@", $12, $1, $0 + db "おわり@@", $36, $1, $0 + db "かようび@", $78, $1, $0 + db "きのう@@", $94, $1, $0 + db "きょう@@", $b0, $1, $0 + db "きんようび", $b8, $1, $0 + db "げつようび", $d4, $1, $0 + db "このあと@", $f4, $1, $0 + db "このまえ@", $f6, $1, $0 + db "こんど@@", $c, $2, $0 + db "じかん@@", $3c, $2, $0 + db "じゅうねん", $70, $2, $0 + db "すいようび", $8e, $2, $0 + db "スタート@", $9e, $2, $0 + db "ずっと@@", $a2, $2, $0 + db "ストップ@", $a6, $2, $0 + db "そのうち@", $c4, $2, $0 + db "ついに@@", $3e, $3, $0 + db "つぎ@@@", $4a, $3, $0 + db "どようび@", $ba, $3, $0 + db "なつ@@@", $da, $3, $0 + db "にちようび", $6, $4, $0 + db "はじめ@@", $38, $4, $0 + db "はる@@@", $54, $4, $0 + db "ひる@@@", $6c, $4, $0 + db "ふゆ@@@", $84, $4, $0 + db "まいにち@", $c6, $4, $0 + db "もくようび", $30, $5, $0 + db "よなか@@", $76, $5, $0 + db "よる@@@", $7e, $5, $0 + db "らいしゅう", $88, $5, $0 + +Unknown_11eef0: ; 11eef0 + db "いたします", $92, $0, $0 + db "おります@", $32, $1, $0 + db "か!?@@", $3c, $1, $0 + db "かい?@@", $44, $1, $0 + db "かしら?@", $50, $1, $0 + db "かな?@@", $6a, $1, $0 + db "かも@@@", $76, $1, $0 + db "くれ@@@", $ca, $1, $0 + db "ございます", $e8, $1, $0 + db "しがち@@", $3a, $2, $0 + db "します@@", $62, $2, $0 + db "じゃ@@@", $6a, $2, $0 + db "じゃん@@", $6e, $2, $0 + db "しよう@@", $7c, $2, $0 + db "ぜ!@@@", $ac, $2, $0 + db "ぞ!@@@", $bc, $2, $0 + db "た@@@@", $d4, $2, $0 + db "だ@@@@", $d6, $2, $0 + db "だからね@", $ee, $2, $0 + db "だぜ@@@", $f4, $2, $0 + db "だった@@", $fa, $2, $0 + db "だね@@@", $fe, $2, $0 + db "だよ@@@", $10, $3, $0 + db "だよねー!", $12, $3, $0 + db "だわ@@@", $26, $3, $0 + db "ッス@@@", $4c, $3, $0 + db "ってかんじ", $52, $3, $0 + db "っぱなし@", $54, $3, $0 + db "つもり@@", $56, $3, $0 + db "ていない@", $64, $3, $0 + db "ている@@", $66, $3, $0 + db "でーす!@", $68, $3, $0 + db "でした@@", $74, $3, $0 + db "でしょ?@", $76, $3, $0 + db "でしょー!", $78, $3, $0 + db "です@@@", $7a, $3, $0 + db "ですか?@", $7c, $3, $0 + db "ですよ@@", $80, $3, $0 + db "ですわ@@", $82, $3, $0 + db "どうなの?", $a4, $3, $0 + db "どうよ?@", $a8, $3, $0 + db "とかいって", $aa, $3, $0 + db "なの@@@", $e0, $3, $0 + db "なのか@@", $e2, $3, $0 + db "なのだ@@", $e4, $3, $0 + db "なのよ@@", $e6, $3, $0 + db "なんだね@", $f2, $3, $0 + db "なんです@", $f8, $3, $0 + db "なんてね@", $fa, $3, $0 + db "ね@@@@", $12, $4, $0 + db "ねー@@@", $14, $4, $0 + db "の@@@@", $1c, $4, $0 + db "の?@@@", $1e, $4, $0 + db "ばっかり@", $44, $4, $0 + db "まーす!@", $c2, $4, $0 + db "ます@@@", $d8, $4, $0 + db "ますわ@@", $da, $4, $0 + db "ません@@", $dc, $4, $0 + db "みたいな@", $fa, $4, $0 + db "よ!@@@", $60, $5, $0 + db "よー@@@", $68, $5, $0 + db "よーん@@", $6c, $5, $0 + db "よね@@@", $78, $5, $0 + db "るよ@@@", $a2, $5, $0 + db "わけ@@@", $bc, $5, $0 + db "わよ!@@", $d2, $5, $0 + +Unknown_11f100: ; 11f100 + db "ああ@@@", $12, $0, $0 + db "あっち@@", $3c, $0, $0 + db "あの@@@", $4e, $0, $0 + db "ありゃ@@", $5c, $0, $0 + db "あれ@@@", $66, $0, $0 + db "あれは@@", $68, $0, $0 + db "あんな@@", $6c, $0, $0 + db "こう@@@", $dc, $1, $0 + db "こっち@@", $ec, $1, $0 + db "この@@@", $f2, $1, $0 + db "こりゃ@@", $fe, $1, $0 + db "これ@@@", $0, $2, $0 + db "これだ!@", $2, $2, $0 + db "これは@@", $4, $2, $0 + db "こんな@@", $e, $2, $0 + db "そう@@@", $be, $2, $0 + db "そっち@@", $c0, $2, $0 + db "その@@@", $c2, $2, $0 + db "そりゃ@@", $c6, $2, $0 + db "それ@@@", $c8, $2, $0 + db "それだ!@", $cc, $2, $0 + db "それは@@", $d0, $2, $0 + db "そんな@@", $d2, $2, $0 + db "どう@@@", $98, $3, $0 + db "どっち@@", $b2, $3, $0 + db "どの@@@", $b4, $3, $0 + db "どりゃ@@", $c0, $3, $0 + db "どれ@@@", $c2, $3, $0 + db "どれを@@", $c8, $3, $0 + db "どんな@@", $ca, $3, $0 + db "なに@@@", $de, $3, $0 + db "なんか@@", $ec, $3, $0 + db "なんだ@@", $f0, $3, $0 + db "なんで@@", $f6, $3, $0 + db "なんなんだ", $0, $4, $0 + db "なんの@@", $2, $4, $0 +; 11f220 + +Unknown_11f220: +INCBIN "baserom.gbc",$11f220,$11f23c - $11f220 + +Unknown_11f23c: +INCBIN "baserom.gbc",$11f23c,$11f2f0 - $11f23c + +Unknown_11f2f0: +INCBIN "baserom.gbc",$11f2f0,$11f332 - $11f2f0 + +Unknown_11f332: +INCBIN "baserom.gbc",$11f332,$11f3ce - $11f332 + +Unknown_11f3ce: +INCBIN "baserom.gbc",$11f3ce,$11f686 - $11f3ce + + + +SECTION "bank5B", ROMX, BANK[$5B] + +Function16c000: ; 16c000 + ld a, [hCGB] + and a + ret z + ld a, [$ffea] + and a + ret z + ld a, [wcfbe] + push af + set 7, a + ld [wcfbe], a + call Function16c108 + callba Function100063 + callba Function100082 + call Function16c031 + callba Function1000a4 + xor a + ld [$ffea], a + pop af + ld [wcfbe], a + ret +; 16c031 + +Function16c031: ; 16c031 + xor a + ld [wcf63], a + ld [wcf64], a + ld [DefaultFlypoint], a + ld [wd003], a +.asm_16c03e + call DelayFrame + callba Function10635c + ld a, [DefaultFlypoint] + ld hl, Jumptable_16c05c + rst JumpTable + call Function16cb2e + call Function16cbae + ld a, [DefaultFlypoint] + cp $ff + jr nz, .asm_16c03e + ret +; 16c05c + +Jumptable_16c05c: ; 16c05c + dw Function16c074 + dw Function16c0ba + dw Function16c089 + dw Function16c09e + dw Function16c0a8 + dw Function16c0dc + dw Function16c0ec + dw Function16c0ba + dw Function16c0ca + dw Function16c0dc + dw Function16c0ec + dw Function16c081 +; 16c074 + +Function16c074: ; 16c074 + ld a, [wcf64] + and a + ret z + ld [DefaultFlypoint], a + xor a + ld [wd003], a + ret +; 16c081 + +Function16c081: ; 16c081 + push af + ld a, $ff + ld [DefaultFlypoint], a + pop af + ret +; 16c089 + +Function16c089: ; 16c089 + ld a, $1 + ld [Buffer2], a + ld [wd1f1], a + xor a + ld [hWY], a + call Function16c0fa + ld a, [DefaultFlypoint] + ld [wcf64], a + ret +; 16c09e + +Function16c09e: ; 16c09e + ld a, [wcf64] + cp $4 + ret nz + call Function16c0fa + ret +; 16c0a8 + +Function16c0a8: ; 16c0a8 + xor a + ld [Buffer2], a + ld [wd1f1], a + call ClearSprites + ld a, $90 + ld [hWY], a + call Function16c0fa + ret +; 16c0ba + +Function16c0ba: ; 16c0ba + call Function16c943 + push af + ld a, [wd003] + inc a + ld [wd003], a + pop af + call c, Function16c0fa + ret +; 16c0ca + +Function16c0ca: ; 16c0ca + ld a, [wd003] + cp $28 + push af + ld a, [wd003] + inc a + ld [wd003], a + pop af + call z, Function16c0fa + ret +; 16c0dc + +Function16c0dc: ; 16c0dc + call Function16ca11 + push af + ld a, [wd003] + inc a + ld [wd003], a + pop af + call c, Function16c0fa + ret +; 16c0ec + +Function16c0ec: ; 16c0ec + call WhiteBGMap + call ClearScreen + push af + ld a, $ff + ld [DefaultFlypoint], a + pop af + ret +; 16c0fa + +Function16c0fa: ; 16c0fa + push af + ld a, [DefaultFlypoint] + inc a + ld [DefaultFlypoint], a + xor a + ld [wd003], a + pop af + ret +; 16c108 + +Function16c108: ; 16c108 + call DisableLCD + ld hl, VTiles2 + ld de, GFX_16c173 + lb bc, BANK(GFX_16c173), $68 + call Get2bpp + call Function16c130 + call Function16c145 + call Function16c15c + ld hl, VBGMap0 + call Function16cc73 + call Function16cc02 + xor a + ld [hBGMapMode], a + call EnableLCD + ret +; 16c130 + +Function16c130: ; 16c130 + ld de, Unkn1Pals + ld hl, Unknown_16c903 + ld bc, 8 + ld a, $5 + call FarCopyWRAM + callba Function96a4 + ret +; 16c145 + +Function16c145: ; 16c145 + ld hl, TileMap + ld bc, 20 + xor a + call ByteFill + ld hl, Tilemap_16c633 + decoord 0, 1 + ld bc, $0154 + call CopyBytes + ret +; 16c15c + +Function16c15c: ; 16c15c + ld hl, AttrMap + ld bc, $0014 + xor a + call ByteFill + ld hl, Tilemap_16c79b + decoord 0, 1, AttrMap + ld bc, $0154 + call CopyBytes + ret +; 16c173 + +GFX_16c173: +INCBIN "gfx/unknown/16c173.2bpp" + +Tilemap_16c633: +INCBIN "gfx/unknown/16c633.tilemap" + +Tilemap_16c79b: +INCBIN "gfx/unknown/16c79b.tilemap" + +Unknown_16c903: + RGB 31, 31, 31 + RGB 04, 10, 20 + RGB 16, 19, 25 + RGB 25, 27, 29 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 +; 16c943 + +Function16c943: ; 16c943 + ld a, [wd003] + and a + jr nz, .asm_16c95e + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, $ff + ld bc, $0008 + ld hl, Unkn1Pals + call ByteFill + pop af + ld [rSVBK], a + +.asm_16c95e + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld e, $0 + ld a, $0 +.asm_16c969 + ld hl, Unknown_16c903 + call Function16cab6 + call Function16cabb + ld d, a + ld hl, Unkn1Pals + call Function16cab6 + call Function16cabb + cp d + jr z, .asm_16c991 + ld b, $1 +.asm_16c981 + dec a + cp d + jr z, .asm_16c988 + dec b + jr nz, .asm_16c981 + +.asm_16c988 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cadc + +.asm_16c991 + ld hl, Unknown_16c903 + call Function16cab6 + call Function16cad8 + ld d, a + ld hl, Unkn1Pals + call Function16cab6 + call Function16cad8 + cp d + jr z, .asm_16c9b9 + ld b, $1 +.asm_16c9a9 + dec a + cp d + jr z, .asm_16c9b0 + dec b + jr nz, .asm_16c9a9 + +.asm_16c9b0 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cb08 + +.asm_16c9b9 + ld hl, Unknown_16c903 + call Function16cab6 + call Function16cac4 + ld d, a + ld hl, Unkn1Pals + call Function16cab6 + call Function16cac4 + cp d + jr z, .asm_16c9e1 + ld b, $1 +.asm_16c9d1 + dec a + cp d + jr z, .asm_16c9d8 + dec b + jr nz, .asm_16c9d1 + +.asm_16c9d8 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cae8 + +.asm_16c9e1 + inc e + inc e + ld a, e + cp $8 + jr nz, .asm_16c969 + callba Function96a4 + call Function32f9 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wd003] + cp $1f + jr z, .asm_16ca09 + pop af + ld [rSVBK], a + ld e, $0 + pop af + ld [rSVBK], a + and a + ret + +.asm_16ca09 + pop af + ld [rSVBK], a + pop af + ld [rSVBK], a + scf + ret +; 16ca11 + +Function16ca11: ; 16ca11 + ld a, [wd003] + and a + jr nz, .asm_16ca1d + callba Function96a4 + +.asm_16ca1d + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld e, $0 + ld a, $0 +.asm_16ca28 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cabb + cp $1f + jr z, .asm_16ca48 + ld b, $1 +.asm_16ca37 + inc a + cp $1f + jr z, .asm_16ca3f + dec b + jr nz, .asm_16ca37 + +.asm_16ca3f + ld hl, Unkn1Pals + call Function16cab6 + call Function16cadc + +.asm_16ca48 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cad8 + cp $1f + jr z, .asm_16ca68 + ld b, $1 +.asm_16ca57 + inc a + cp $1f + jr z, .asm_16ca5f + dec b + jr nz, .asm_16ca57 + +.asm_16ca5f + ld hl, Unkn1Pals + call Function16cab6 + call Function16cb08 + +.asm_16ca68 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cac4 + cp $1f + jr z, .asm_16ca88 + ld b, $1 +.asm_16ca77 + inc a + cp $1f + jr z, .asm_16ca7f + dec b + jr nz, .asm_16ca77 + +.asm_16ca7f + ld hl, Unkn1Pals + call Function16cab6 + call Function16cae8 + +.asm_16ca88 + inc e + inc e + ld a, e + cp $8 + jr nz, .asm_16ca28 + callba Function96a4 + call Function32f9 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wd003] + cp $1f + jr z, .asm_16caae + pop af + ld [rSVBK], a + pop af + ld [rSVBK], a + and a + ret + +.asm_16caae + pop af + ld [rSVBK], a + pop af + ld [rSVBK], a + scf + ret +; 16cab6 + +Function16cab6: ; 16cab6 + ld b, $0 + ld c, e + add hl, bc + ret +; 16cabb + +Function16cabb: ; 16cabb + inc hl + ld a, [hl] + srl a + srl a + and $1f + ret +; 16cac4 + +Function16cac4: ; 16cac4 + inc hl + ld a, [hld] + and $3 + ld b, a + ld a, [hl] + sla a + rl b + sla a + rl b + sla a + rl b + ld a, b + ret +; 16cad8 + +Function16cad8: ; 16cad8 + ld a, [hl] + and $1f + ret +; 16cadc + +Function16cadc: ; 16cadc + sla a + sla a + ld b, a + inc hl + ld a, [hl] + and $83 + or b + ld [hl], a + ret +; 16cae8 + +Function16cae8: ; 16cae8 + ld c, a + srl a + srl a + srl a + ld b, a + inc hl + ld a, [hl] + and $fc + or b + ld [hld], a + ld a, c + sla a + sla a + sla a + sla a + sla a + ld b, a + ld a, [hl] + and $1f + or b + ld [hl], a + ret +; 16cb08 + +Function16cb08: ; 16cb08 + ld b, a + ld a, [hl] + and $e0 + or b + ld [hl], a + ret +; 16cb0f + +Function16cb0f: ; 16cb0f + xor a + ld [Buffer1], a + ld [Buffer2], a + xor a + ld [wd1ec], a + ld a, $70 + ld [wd1ee], a + ld a, $4 + ld [wd1ed], a + ld a, $a0 + ld [wd1ef], a + xor a + ld [wd1f0], a + ret +; 16cb2e + +Function16cb2e: ; 16cb2e + ld a, [Buffer2] + and a + ret z + call Function16cb40 + ld hl, Unknown_16cb86 + ld de, Sprites + call Function16cb5d + ret +; 16cb40 + +Function16cb40: ; 16cb40 + ld hl, wd1ec + inc [hl] + ld a, [hl] + cp $18 + ret c + xor a + ld [hl], a + ld a, [wd1ef] + cp $a0 + jr nz, .asm_16cb57 + ld a, $a7 + ld [wd1ef], a + ret + +.asm_16cb57 + ld a, $a0 + ld [wd1ef], a + ret +; 16cb5d + +Function16cb5d: ; 16cb5d + ld a, [hli] + and a + ret z +.asm_16cb60 + push af + ld a, [wd1ee] + add [hl] + add $10 + ld [de], a + inc hl + inc de + ld a, [wd1ed] + add [hl] + add $8 + ld [de], a + inc hl + inc de + ld a, [wd1ef] + add [hl] + ld [de], a + inc hl + inc de + ld a, [wd1f0] + or [hl] + ld [de], a + inc hl + inc de + pop af + dec a + jr nz, .asm_16cb60 + ret +; 16cb86 + +Unknown_16cb86: + db 7 + db 0, 0, 0, 1 + db 8, 0, 1, 1 + db 8, 8, 2, 0 + db 8, 16, 3, 0 + db 16, 0, 4, 1 + db 16, 8, 5, 0 + db 16, 16, 6, 0 +; 16cba3 + +Function16cba3: ; 16cba3 + xor a + ld [wd1f1], a + ld [wd1f2], a + ld [wd1f3], a + ret +; 16cbae + +Function16cbae: ; 16cbae + ld a, [wd1f1] + and a + ret z + call Function16cbba + call Function16cbd1 + ret +; 16cbba + +Function16cbba: ; 16cbba + ld hl, wd1f2 + inc [hl] + ld a, [hl] + cp $c + ret c + xor a + ld [hl], a + ld a, [wd1f3] + inc a + cp $4 + jr c, .asm_16cbcd + xor a + +.asm_16cbcd + ld [wd1f3], a + ret +; 16cbd1 + +Function16cbd1: ; 16cbd1 + ld a, [wd1f3] + ld c, a + ld b, 0 + ld hl, Unknown_16cbfb + add hl, bc + ld a, [hl] + ld bc, $0002 + ld hl, Unknown_16cfa3 + call AddNTimes + ld de, wd00c + ld bc, $0002 + ld a, $5 + call FarCopyWRAM + callba Function96a4 + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 16cbfb + +Unknown_16cbfb: + db 0, 1, 2, 1, 0, 1, 2 +; 16cc02 + +Function16cc02: ; 16cc02 + call Function16cc18 + call Function16cc49 + call Function16cc62 + call Function16cc25 + call Function16cc6e + call Function16cb0f + call Function16cba3 + ret +; 16cc18 + +Function16cc18: ; 16cc18 + ld hl, VTiles1 + ld de, GFX_16cca3 + lb bc, BANK(GFX_16cca3), $2e + call Get2bpp + ret +; 16cc25 + +Function16cc25: ; 16cc25 + ld hl, Unknown_16cfa9 + ld de, wd008 + call Function16cc41 + ld hl, Unknown_16cfb1 + ld de, Unkn2Pals + call Function16cc41 + ld hl, Unknown_16cfb9 + ld de, wd048 + call Function16cc41 + ret +; 16cc41 + +Function16cc41: ; 16cc41 + ld bc, $0008 + ld a, $5 + jp FarCopyWRAM +; 16cc49 + +Function16cc49: ; 16cc49 + hlcoord 4, 15 + ld a, $80 + call Function16cc5a + hlcoord 4, 16 + ld a, $90 + call Function16cc5a + ret +; 16cc5a + +Function16cc5a: ; 16cc5a + ld c, $10 +.asm_16cc5c + ld [hli], a + inc a + dec c + jr nz, .asm_16cc5c + ret +; 16cc62 + +Function16cc62: ; 16cc62 + hlcoord 0, 15, AttrMap + ld bc, $0028 + ld a, $1 + call ByteFill + ret +; 16cc6e + +Function16cc6e: ; 16cc6e + ld hl, VBGMap1 + jr Function16cc73 + +Function16cc73: + ld a, [rVBK] + push af + ld a, $0 + ld [rVBK], a + push hl + ld de, TileMap + call Function16cc90 + pop hl + ld a, $1 + ld [rVBK], a + ld de, AttrMap + call Function16cc90 + pop af + ld [rVBK], a + ret +; 16cc90 + +Function16cc90: ; 16cc90 + ld bc, $1214 +.asm_16cc93 + push bc +.asm_16cc94 + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_16cc94 + ld bc, $000c + add hl, bc + pop bc + dec b + jr nz, .asm_16cc93 + ret +; 16cca3 + +GFX_16cca3: +INCBIN "gfx/unknown/16cca3.2bpp" + +Unknown_16cfa3: + RGB 31, 31, 31 + RGB 25, 27, 29 + RGB 16, 19, 25 + +Unknown_16cfa9: + RGB 31, 31, 31 + RGB 25, 27, 29 + RGB 31, 31, 31 + RGB 07, 07, 07 + +Unknown_16cfb1: + RGB 31, 31, 31 + RGB 13, 09, 18 + RGB 26, 21, 16 + RGB 07, 07, 07 + +Unknown_16cfb9: + RGB 31, 31, 31 + RGB 18, 05, 02 + RGB 27, 11, 12 + RGB 07, 07, 07 +; 16cfc1 + +GFX_16cfc1: +INCBIN "gfx/unknown/16cfc1.2bpp" + +Function16d421: ; 16d421 + ld de, GFX_16cfc1 + ld hl, VTiles2 + lb bc, BANK(GFX_16cfc1), $46 + call Get2bpp + ret +; 16d42e + +Function16d42e: ; 16d42e + ld hl, Tilemap_16d465 + ld de, TileMap + ld bc, $0168 + call CopyBytes + ret +; 16d43b + +Function16d43b: ; 16d43b + call Function1d6e + call WhiteBGMap + call ClearTileMap + call ClearSprites + callba Function16d421 + callba Function16d42e + ld b, $8 + call GetSGBLayout + call Function32f9 + call WaitBGMap + call Functiona36 + call Function1d7d + ret +; 16d465 + +Tilemap_16d465: +INCBIN "gfx/unknown/16d465.tilemap" + +Tilemap_16d5cd: +INCBIN "gfx/unknown/16d5cd.tilemap" + +Tilemap_16d5f5: +INCBIN "gfx/unknown/16d5f5.tilemap" + +Function16d61d: ; 16d61d + ld h, d + ld l, e + push bc + push hl + call Function16d640 + pop hl + pop bc + ld de, AttrMap - TileMap + add hl, de + inc b + inc b + inc c + inc c + ld a, $7 +.asm_16d630 + push bc + push hl +.asm_16d632 + ld [hli], a + dec c + jr nz, .asm_16d632 + pop hl + ld de, $0014 + add hl, de + pop bc + dec b + jr nz, .asm_16d630 + ret +; 16d640 + +Function16d640: ; 16d640 + push hl + ld a, $30 + ld [hli], a + inc a + call Function16d66d + inc a + ld [hl], a + pop hl + ld de, $0014 + add hl, de +.asm_16d64f + push hl + ld a, $33 + ld [hli], a + ld a, $7f + call Function16d66d + ld [hl], $34 + pop hl + ld de, $0014 + add hl, de + dec b + jr nz, .asm_16d64f + ld a, $35 + ld [hli], a + ld a, $36 + call Function16d66d + ld [hl], $37 + ret +; 16d66d + +Function16d66d: ; 16d66d + ld d, c +.asm_16d66e + ld [hli], a + dec d + jr nz, .asm_16d66e + ret +; 16d673 + +Function16d673: ; 16d673 + call Function16d696 + call Function16d6ae + callba Function49856 + callba Functionfb60d + hlcoord 10, 17 + ld de, String_16d68f + call PlaceString + ret +; 16d68f + +String_16d68f: ; 16d68f + db "CANCEL@" +; 16d696 + +Function16d696: ; 16d696 + call Function16d421 + ret +; 16d69a + + +Function16d69a: ; 16d69a + ld de, GFX_16cfc1 + $300 + ld hl, $9760 + lb bc, BANK(GFX_16cfc1), 8 + call Get2bpp + ret +; 16d6a7 + +Function16d6a7: ; 16d6a7 + callba Function49811 + ret +; 16d6ae + +Function16d6ae: ; 16d6ae + call Function16d42e + ld hl, Tilemap_16d5cd + ld de, TileMap + ld bc, $0028 + call CopyBytes + ld hl, Tilemap_16d5f5 + decoord 0, 16 + ld bc, $0028 + call CopyBytes + ret +; 16d6ca + +Function16d6ca: ; 16d6ca + call Function16d61d + ret +; 16d6ce + +Function16d6ce: ; 16d6ce + call Function1d6e + call Function16d6e1 + callba Function87d + call Function1d7d + call Function3200 + ret +; 16d6e1 + +Function16d6e1: ; 16d6e1 + hlcoord 4, 10 + ld b, $1 + ld c, $a + predef Function28eef + hlcoord 5, 11 + ld de, String_16d701 + call PlaceString + call WaitBGMap + call Function3200 + ld c, $32 + jp DelayFrames +; 16d701 + +String_16d701: ; 16d701 + db "WAITING..!@" +; 16d70c + +Function16d70c: ; 16d70c + call Function16d725 + call Function16d713 + ret +; 16d713 + +Function16d713: ; 16d713 + push bc + push af + ld a, [$ffa9] + and $f0 + ld b, a + ld a, [hJoyPressed] + and $f + or b + ld b, a + pop af + ld a, b + pop bc + ld d, a + ret +; 16d725 + +Function16d725: ; 16d725 + ld hl, wcfa6 + res 7, [hl] + ld a, [hBGMapMode] + push af + call Function16d734 + pop af + ld [hBGMapMode], a + ret +; 16d734 + +Function16d734: ; 16d734 +.asm_16d734 + call Function16d77a + call Function16d759 + call Function16d76a + jr nc, .asm_16d758 + callba Function24270 + jr c, .asm_16d758 + ld a, [wcfa5] + bit 7, a + jr nz, .asm_16d758 + call Function16d713 + ld b, a + ld a, [wcfa8] + and b + jr z, .asm_16d734 + +.asm_16d758 + ret +; 16d759 + +Function16d759: ; 16d759 + ld a, [hOAMUpdate] + push af + ld a, $1 + ld [hOAMUpdate], a + call WaitBGMap + pop af + ld [hOAMUpdate], a + xor a + ld [hBGMapMode], a + ret +; 16d76a + +Function16d76a: ; 16d76a +.asm_16d76a + call RTC + call Function16d7e7 + ret c + ld a, [wcfa5] + bit 7, a + jr z, .asm_16d76a + and a + ret +; 16d77a + +Function16d77a: ; 16d77a + ld hl, wcfac + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hl] + cp $1f + jr nz, .asm_16d792 + ld a, [wcfab] + ld [hl], a + push hl + push bc + ld bc, $000b + add hl, bc + ld [hl], a + pop bc + pop hl + +.asm_16d792 + ld a, [wcfa1] + ld b, a + ld a, [wcfa2] + ld c, a + call GetTileCoord + ld a, [wcfa7] + swap a + and $f + ld c, a + ld a, [wcfa9] + ld b, a + xor a + dec b + jr z, .asm_16d7b1 +.asm_16d7ad + add c + dec b + jr nz, .asm_16d7ad + +.asm_16d7b1 + ld c, $14 + call AddNTimes + ld a, [wcfa7] + and $f + ld c, a + ld a, [wcfaa] + ld b, a + xor a + dec b + jr z, .asm_16d7c8 +.asm_16d7c4 + add c + dec b + jr nz, .asm_16d7c4 + +.asm_16d7c8 + ld c, a + add hl, bc + ld a, [hl] + cp $1f + jr z, .asm_16d7de + ld [wcfab], a + ld [hl], $1f + push hl + push bc + ld bc, $000b + add hl, bc + ld [hl], $1f + pop bc + pop hl + +.asm_16d7de + ld a, l + ld [wcfac], a + ld a, h + ld [wcfad], a + ret +; 16d7e7 + +Function16d7e7: ; 16d7e7 + ld a, [wcfa5] + bit 6, a + jr z, .asm_16d7f4 + callba Function8cf62 + +.asm_16d7f4 + call Functiona57 + call Function16d713 + and a + ret z + scf + ret +; 16d7fe + + +SECTION "bank5C", ROMX, BANK[$5C] + +Function170000: ; 170000 + ld a, [$c62b] + ld [$c6d0], a + ld hl, $c62e + ld de, $c6e7 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $c663 + ld de, $c6f2 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $c648 + ld a, [hli] + ld [$c6fd], a + ld a, [hl] + ld [$c6fe], a + ld hl, $c639 + ld a, [hli] + ld [$c6ff], a + ld a, [hl] + ld [wc700], a + ld bc, $c633 + callba GetCaughtGender + ld a, c + ld [wc701], a + ld a, [wcd81] + ld [wc74e], a + ld hl, $c608 + ld de, $d800 + ld bc, $008f + call CopyBytes + ret +; 17005a + +Function17005a: ; 17005a + ld a, $5 + call GetSRAMBank + ld a, [$a824] + ld [wc702], a + ld hl, $a827 + ld de, wc719 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $a85c + ld de, wc724 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $a841 + ld a, [hli] + ld [wc72f], a + ld a, [hl] + ld [wc730], a + ld hl, $a832 + ld a, [hli] + ld [wc731], a + ld a, [hl] + ld [wc732], a + ld bc, $a82c + callba GetCaughtGender + ld a, c + ld [wc733], a + ld a, [wcd81] + ld [wc74e], a + call CloseSRAM + ret +; 1700b0 + +Function1700b0: ; 1700b0 + call Function17021e + callba Function118121 + ret +; 1700ba + +Function1700ba: ; 1700ba + call Function17021e + callba Function11811a + ret +; 1700c4 + +Function1700c4: ; 1700c4 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + call Function17042c + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$be45], a + xor a + ld [$be46], a + ld hl, $dffc + ld de, $aa41 + ld bc, $0004 + call CopyBytes + ld hl, $d202 + ld de, $aa8e + ld bc, $0594 + call CopyBytes + ld hl, $aa5d + ld a, [hl] + inc [hl] + inc hl + sla a + sla a + ld e, a + ld d, $0 + add hl, de + ld e, l + ld d, h + ld hl, $dffc + ld bc, $0004 + call CopyBytes + call CloseSRAM + pop af + ld [rSVBK], a + ret +; 170114 + +Function170114: ; 170114 + call Function17021e + call Function170121 + callba Function11805f + ret +; 170121 + +Function170121: ; 170121 + ld a, $5 + call GetSRAMBank + ld hl, $a948 + ld de, $c608 + ld bc, $00f6 + call CopyBytes + call CloseSRAM + call Function170c8b + ret +; 170139 + +Function170139: ; 170139 + ld a, $5 + call GetSRAMBank + ld de, $aa41 + ld h, $0 + ld l, h + ld bc, $03e8 + call Function17020c + ld bc, $0064 + call Function17020c + ld bc, $000a + call Function17020c + ld a, [de] + ld c, a + ld b, $0 + add hl, bc + call CloseSRAM + ld a, h + ld [$c608], a + ld a, l + ld [$c608 + 1], a + ld hl, $c628 + ld a, [PlayerID] + ld [hli], a + ld a, [PlayerID + 1] + ld [hli], a + ld a, [wd84a] + ld [hli], a + ld a, [wd84b] + ld [hli], a + ld e, l + ld d, h + ld hl, PlayerName + ld bc, $0005 + call CopyBytes + ld bc, PlayerID + ld de, PlayerGender + callba Function4e929 + ld de, $c62c + 5 + ld a, c + ld [de], a + inc de + ld a, $df + ld [wcd49], a + ld a, $dc + ld [wcd4a], a + ld a, $41 + ld [wcd4b], a + ld a, $de + ld [wcd4c], a + ld a, $3 +.asm_1701ac + push af + ld a, [wcd49] + ld l, a + ld a, [wcd4a] + ld h, a + ld bc, $0030 + call CopyBytes + ld a, l + ld [wcd49], a + ld a, h + ld [wcd4a], a + ld a, [wcd4b] + ld l, a + ld a, [wcd4c] + ld h, a + ld bc, $0006 + call CopyBytes + ld a, l + ld [wcd4b], a + ld a, h + ld [wcd4c], a + pop af + dec a + jr nz, .asm_1701ac + ld a, $4 + call GetSRAMBank + ld hl, $a013 + ld bc, $0024 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $a894 + ld bc, $0006 + call CopyBytes + ld hl, $c608 + ld de, $a948 + ld bc, $00f6 + call CopyBytes + call CloseSRAM + ret +; 17020c + +Function17020c: ; 17020c + ld a, [de] + inc de + and a + ret z +.asm_170210 + add hl, bc + dec a + jr nz, .asm_170210 + ret +; 170215 + +Function170215: ; 170215 + xor a + ld [wcf63], a + call Function17022c + ret +; 17021d + +Function17021d: ; 17021d + ret +; 17021e + +Function17021e: ; 17021e + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ret +; 17022c + +Function17022c: ; 17022c +.asm_17022c + call Function17023a + call DelayFrame + ld a, [wcf63] + cp $1 + jr nz, .asm_17022c + ret +; 17023a + +Function17023a: ; 17023a + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_170249 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 170249 + +Jumptable_170249: ; 170249 + dw Function17024d + dw Function1704c9 +; 17024d + +Function17024d: ; 17024d + ld a, [Options] + push af + ld hl, Options + set 6, [hl] + ld a, [wcfc0] + push af + or $1 + ld [wcfc0], a + xor a + ld [InLinkBattle], a + callba Function1060a2 + callba Functionc658 + call Function1702b7 + call Function170bf7 + predef StartBattle + callba Function1500c + callba Functionc658 + ld a, [wd0ee] + ld [ScriptVar], a + and a + jr nz, .asm_1702a9 + ld a, $1 + call GetSRAMBank + ld a, [$be46] + ld [wcf64], a + call CloseSRAM + ld hl, StringBuffer3 + ld a, [wcf64] + add $f7 + ld [hli], a + ld a, $50 + ld [hl], a + +.asm_1702a9 + pop af + ld [wcfc0], a + pop af + ld [Options], a + ld a, $1 + ld [wcf63], a + ret +; 1702b7 + +Function1702b7: ; 1702b7 + call Function1704a2 + ld de, $c643 + ld c, $b + callba Function17d073 + jr nc, .asm_1702db + ld a, [$c608 + 11] + ld [wd265], a + call GetPokemonName + ld l, e + ld h, d + ld de, $c643 + ld bc, $000b + call CopyBytes + +.asm_1702db + ld de, $c67e + ld c, $b + callba Function17d073 + jr nc, .asm_1702fc + ld a, [$c64e] + ld [wd265], a + call GetPokemonName + ld l, e + ld h, d + ld de, $c67e + ld bc, $000b + call CopyBytes + +.asm_1702fc + ld de, $c686 + 51 + ld c, $b + callba Function17d073 + jr nc, .asm_17031d + ld a, [$c689] + ld [wd265], a + call GetPokemonName + ld l, e + ld h, d + ld de, $c686 + 51 + ld bc, $000b + call CopyBytes + +.asm_17031d + ld a, $50 + ld [$c64d], a + ld [$c688], a + ld [$c68a + 57], a + call Function170c98 + ld de, $c608 + ld c, $a + callba Function17d073 + jr nc, .asm_17033d + ld hl, String_170426 + jr .asm_170340 + +.asm_17033d + ld hl, $c608 + +.asm_170340 + ld de, wd26b + ld bc, $000a + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $c608 + 10 + ld a, [hli] + ld [OtherTrainerClass], a + ld a, $ea + ld [BGMapBuffer], a + ld a, $d3 + ld [wcd21], a + ld de, OTPartyMon1Species + ld bc, OTPartyCount + ld a, $3 + ld [bc], a + inc bc +.asm_170367 + push af + ld a, [hl] + ld [bc], a + inc bc + push bc + ld bc, $0030 + call CopyBytes + push de + ld a, [BGMapBuffer] + ld e, a + ld a, [wcd21] + ld d, a + ld bc, $000b + call CopyBytes + ld a, e + ld [BGMapBuffer], a + ld a, d + ld [wcd21], a + pop de + pop bc + pop af + dec a + and a + jr nz, .asm_170367 + ld a, $ff + ld [bc], a + ret +; 170394 + +Function170394: ; 170394 + ld hl, $c608 + 11 + ld d, $3 +.asm_170399 + push de + push hl + ld b, h + ld c, l + ld a, [hl] + and a + jr z, .asm_1703b1 + cp $ff + jr z, .asm_1703b1 + cp $fe + jr z, .asm_1703b1 + cp $fd + jr z, .asm_1703b1 + cp $fc + jr nz, .asm_1703b4 + +.asm_1703b1 + ld a, $eb + ld [hl], a + +.asm_1703b4 + ld [CurSpecies], a + call GetBaseData + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld e, a + ld hl, $001f + add hl, bc + ld a, [hl] + cp $2 + ld a, $2 + jr c, .asm_1703d6 + ld a, [hl] + cp e + jr c, .asm_1703d7 + ld a, e + +.asm_1703d6 + ld [hl], a + +.asm_1703d7 + ld [CurPartyLevel], a + ld hl, $0002 + add hl, bc + ld d, $3 + ld a, [hli] + and a + jr z, .asm_1703ea + cp $fc + jr nc, .asm_1703ea + jr .asm_1703f4 + +.asm_1703ea + dec hl + ld a, $1 + ld [hli], a + xor a + ld [hli], a + ld [hli], a + ld [hl], a + jr .asm_1703ff + +.asm_1703f4 + ld a, [hl] + cp $fc + jr c, .asm_1703fb + ld [hl], $0 + +.asm_1703fb + inc hl + dec d + jr nz, .asm_1703f4 + +.asm_1703ff + ld hl, $0024 + add hl, bc + ld d, h + ld e, l + push hl + push de + ld hl, $000a + add hl, bc + ld b, $1 + predef Functione167 + pop de + pop hl + dec de + dec de + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + pop hl + ld bc, $003b + add hl, bc + pop de + dec d + jp nz, .asm_170399 + ret +; 170426 + +String_170426: ; 170426 + db "CHRIS@" +; 17042c + +Function17042c: ; 17042c + ld hl, OTPartyMon2ID + ld a, $7 +.asm_170431 + push af + push hl + ld c, $12 +.asm_170435 + ld a, [hli] + ld b, a + ld a, [hli] + and a + jr z, .asm_170451 + cp $f + jr nc, .asm_17045b + push hl + ld hl, Unknown_170470 + dec a + ld e, a + ld d, 0 + add hl, de + ld a, [hl] + pop hl + cp b + jr c, .asm_17045b + jr z, .asm_17045b + jr .asm_170456 + +.asm_170451 + ld a, b + cp $fc + jr nc, .asm_17045b + +.asm_170456 + dec c + jr nz, .asm_170435 + jr .asm_170466 + +.asm_17045b + pop de + push de + ld hl, Unknown_17047e + ld bc, $0024 + call CopyBytes + +.asm_170466 + pop hl + ld de, $00e0 + add hl, de + pop af + dec a + jr nz, .asm_170431 + ret +; 170470 + +Unknown_170470: + db $12, $24, $45, $45, $42, $42, $45, $42, $27, $27, $45, $27, $42, $24 + +Unknown_17047e: + db $03, $04, $05, $08 + db $03, $05, $0e, $06 + db $03, $02, $00, $00 + db $39, $07, $07, $04 + db $00, $05, $04, $07 + db $01, $05, $00, $00 + db $0f, $05, $14, $07 + db $05, $05, $11, $0c + db $0c, $06, $06, $04 +; 1704a2 + +Function1704a2: ; 1704a2 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, LYOverrides + ld de, $c608 + ld bc, $00e0 + call CopyBytes + pop af + ld [rSVBK], a + ld a, $1 + call GetSRAMBank + ld a, $2 + ld [$be45], a + ld hl, $be46 + inc [hl] + call CloseSRAM +Function1704c9: + ret +; 1704ca + +Function1704ca: ; 1704ca + ld a, [$be46] + cp $7 + jr c, .asm_1704d3 + ld a, $6 + +.asm_1704d3 + ld hl, $afce + ld de, -$e0 +.asm_1704d9 + and a + jr z, .asm_1704e0 + add hl, de + dec a + jr .asm_1704d9 + +.asm_1704e0 + ret +; 1704e1 + +Function1704e1: ; 1704e1 + call SpeechTextBox + call FadeToMenu + call Function17021e + call Function1704f1 + call Function2b3c + ret +; 1704f1 + +Function1704f1: ; 1704f1 + call WhiteBGMap + call ClearSprites + call ClearScreen +.asm_1704fa + call Functiona57 + ld a, [wcf63] + bit 7, a + jr nz, .asm_17050f + call Function170510 + callba Function104061 + jr .asm_1704fa + +.asm_17050f + ret +; 170510 + +Function170510: ; 170510 + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_17051f + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 17051f + +Jumptable_17051f: ; 17051f + dw Function170525 + dw Function170571 + dw Function170577 +; 170525 + +Function170525: ; 170525 + ld a, $5 + call GetSRAMBank + ld hl, $a89c + ld de, StringBuffer3 + ld bc, $0016 + call CopyBytes + ld hl, $a8b2 + ld de, $c608 + ld bc, $0096 + call CopyBytes + call CloseSRAM + hlcoord 1, 1 + ld de, StringBuffer3 + call PlaceString + hlcoord 1, 3 + ld de, String_170676 + call PlaceString + hlcoord 4, 3 + ld de, StringBuffer4 + call PlaceString + hlcoord 8, 3 + ld de, String_17067a + call PlaceString + call Function1705b7 + call Function1705f0 + jr Function1705b2 + +Function170571: + call Function32f9 + call Function1705b2 + +Function170577: + ld hl, hJoyPressed + ld a, [hl] + and $1 + jr nz, .asm_1705ac + ld a, [hl] + and $2 + jr nz, .asm_1705ac + ld a, [hl] + and $40 + jr nz, .asm_17058f + ld a, [hl] + and $80 + jr nz, .asm_17059d + ret + +.asm_17058f + ld a, [wcf64] + and a + ret z + sub $f + ld [wcf64], a + call Function1705f0 + ret + +.asm_17059d + ld a, [wcf64] + cp $3c + ret z + add $f + ld [wcf64], a + call Function1705f0 + ret + +.asm_1705ac + ld hl, wcf63 + set 7, [hl] + ret + +Function1705b2: + ld hl, wcf63 + inc [hl] + ret +; 1705b7 + +Function1705b7: ; 1705b7 + hlcoord 0, 4 + ld a, $79 + ld [hli], a + ld c, $12 +.asm_1705bf + ld a, $7a + ld [hli], a + dec c + jr nz, .asm_1705bf + ld a, $7b + ld [hli], a + ld de, $0014 + ld c, $c +.asm_1705cd + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .asm_1705cd + ld a, $7d + ld [hli], a + ld c, $12 +.asm_1705d9 + ld a, $7a + ld [hli], a + dec c + jr nz, .asm_1705d9 + ld a, $7e + ld [hl], a + ld de, $ffec + add hl, de + ld c, $c +.asm_1705e8 + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .asm_1705e8 + ret +; 1705f0 + +Function1705f0: ; 1705f0 + call Function17064b + call Function17065d + ld a, $50 + ld [wcd4e], a + ld hl, $c608 + ld a, [wcf64] + ld c, a + xor a + ld b, a + add hl, bc + push hl + pop bc + hlcoord 1, 6 + ld a, $6 +.asm_17060c + push af + push hl + ld a, $3 +.asm_170610 + push af + ld de, wcd49 + ld a, [bc] + and a + jr z, .asm_170625 + ld a, $5 +.asm_17061a + push af + ld a, [bc] + ld [de], a + inc bc + inc de + pop af + dec a + jr nz, .asm_17061a + jr .asm_170631 + +.asm_170625 + ld a, $5 +.asm_170627 + push af + ld a, $e3 + ld [de], a + inc de + inc bc + pop af + dec a + jr nz, .asm_170627 + +.asm_170631 + ld de, wcd49 + push bc + call PlaceString + ld de, $0006 + add hl, de + pop bc + pop af + dec a + jr nz, .asm_170610 + pop hl + ld de, $0028 + add hl, de + pop af + dec a + jr nz, .asm_17060c + ret +; 17064b + +Function17064b: ; 17064b + hlcoord 1, 5 + xor a + ld b, $c +.asm_170651 + ld c, $12 +.asm_170653 + ld [hli], a + dec c + jr nz, .asm_170653 + inc hl + inc hl + dec b + jr nz, .asm_170651 + ret +; 17065d + +Function17065d: ; 17065d + ld a, [wcf64] + and a + jr z, .asm_170669 + hlcoord 18, 5 + ld a, $61 + ld [hl], a + +.asm_170669 + ld a, [wcf64] + cp $3c + ret z + hlcoord 18, 16 + ld a, $ee + ld [hl], a + ret +; 170676 + +String_170676: ; 170676 + db "ルーム@" +; 17067a + +String_17067a: ; 17067a + db "れきだいりーダーいちらん@" +; 170687 + +Function170687: ; 170687 + ld a, [ScriptVar] + ld e, a + ld d, 0 + ld hl, Jumptable_170696 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 170696 + + +Jumptable_170696: ; 170696 (5c:4696) + dw Function17075f + dw Function170788 + dw Function170778 + dw Function170799 + dw Function17079d + dw Function1707ac + dw Function1707f4 + dw Function170868 + dw Function170881 + dw Function17089a + dw Function1708b1 + dw Function1708b9 + dw Function1708c8 + dw Function1708f0 + dw Function17093c + dw Function1709aa + dw Function1709bb + dw Function170a9c + dw Function170aa0 + dw Function170aaf + dw Function170abe + dw Function170ad7 + dw Function170807 + dw Function17081d + dw Function170ae8 + dw Function170b16 + dw Function1706d6 + dw Function1706ee + dw Function17071b + dw Function170729 + dw Function17073e + dw Function170737 + + +Function1706d6: ; 1706d6 (5c:46d6) + ld a, $1 + call GetSRAMBank + ld a, $ff + ld hl, $be48 + ld bc, $7 + call ByteFill + xor a + ld [$be46], a + call CloseSRAM + ret + +Function1706ee: ; 1706ee (5c:46ee) + ld a, $1 + call GetSRAMBank + ld a, [$be50] + call CloseSRAM + ld [ScriptVar], a + ld hl, NumItems + ld a, [hli] + cp $14 + ret c + ld b, $14 + ld a, [ScriptVar] + ld c, a +.asm_170709 + ld a, [hli] + cp c + jr nz, .asm_170711 + ld a, [hl] + cp $5f + ret c +.asm_170711 + inc hl + dec b + jr nz, .asm_170709 + ld a, $12 + ld [ScriptVar], a + ret + +Function17071b: ; 17071b (5c:471b) + ld a, $1 + call GetSRAMBank + ld a, $3 + ld [$be45], a + call CloseSRAM + ret + +Function170729: ; 170729 (5c:4729) + ld a, $1 + call GetSRAMBank + ld a, $4 + ld [$be45], a + call CloseSRAM + ret + +Function170737: ; 170737 (5c:4737) + callba Function14dbb + ret + +Function17073e: ; 17073e (5c:473e) + call Random + ld a, [hRandomAdd] ; $ff00+$e1 + and $7 + cp $6 + jr c, .asm_17074b + sub $6 +.asm_17074b + add $1a + cp $1e + jr z, Function17073e + push af + ld a, $1 + call GetSRAMBank + pop af + ld [$be50], a + call CloseSRAM + ret + +Function17075f: ; 17075f (5c:475f) + call Function17089a + ld a, [ScriptVar] + and a + ret z + ld a, $1 + call GetSRAMBank + ld a, [$be4f] + and $2 + ld [ScriptVar], a + call CloseSRAM + ret + +Function170778: ; 170778 (5c:4778) + ld hl, $be45 + ld a, $1 + call GetSRAMBank + ld a, [hl] + ld [ScriptVar], a + call CloseSRAM + ret + +Function170788: ; 170788 (5c:4788) + ld a, $1 + call GetSRAMBank + ld a, [$be4f] + or $2 + ld [$be4f], a + call CloseSRAM + ret + +Function170799: ; 170799 (5c:4799) + ld c, $1 + jr asm_17079f + +Function17079d: ; 17079d (5c:479d) + ld c, $0 +asm_17079f: ; 17079f (5c:479f) + ld a, $1 + call GetSRAMBank + ld a, c + ld [$be45], a + call CloseSRAM + ret + +Function1707ac: ; 1707ac (5c:47ac) + ld a, $5 + call GetSRAMBank + ld a, [$aa8c] + ld b, a + ld a, [$be46] + ld [ScriptVar], a + call CloseSRAM + and a + ret z + ld a, b + cp $2 + jr nc, .asm_1707ef + push bc + call UpdateTime + pop bc + ld a, $5 + call GetSRAMBank + ld a, [$aa8b] + call CloseSRAM + ld c, a + ld a, [CurDay] + sub c + jr c, .asm_1707e5 + cp $8 + jr nc, .asm_1707ef + ld a, b + and a + jr nz, .asm_1707ef + ret +.asm_1707e5 + ld hl, CurDay + ld a, $8c + sub c + add [hl] + cp $8 + ret c +.asm_1707ef + ld a, $8 + ld [ScriptVar], a + +Function1707f4: ; 1707f4 (5c:47f4) + ld a, $5 + call GetSRAMBank + xor a + ld [$be46], a + ld [$aa8b], a + ld [$aa8c], a + call CloseSRAM + ret + +Function170807: ; 170807 (5c:4807) + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [CurDay] + ld [$b2f9], a + xor a + ld [$b2fa], a + call CloseSRAM + ret + +Function17081d: ; 17081d (5c:481d) + xor a + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + ld a, [$b2f9] + ld c, a + ld a, [$b2fa] + ld b, a + call CloseSRAM + cp $2 + jr nc, .asm_170853 + push bc + call UpdateTime + pop bc + ld a, [CurDay] + sub c + jr c, .asm_170849 + cp $b + jr nc, .asm_170853 + ld a, b + and a + jr nz, .asm_170853 + ret +.asm_170849 + ld hl, CurDay + ld a, $8c + sub c + add [hl] + cp $b + ret c +.asm_170853 + ld a, $1 + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + xor a + ld [$b2f9], a + ld [$b2fa], a + call CloseSRAM + ret + +Function170868: ; 170868 (5c:4868) + ld a, $1 + call GetSRAMBank + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $3 + ld [rSVBK], a ; $ff00+$70 + ld a, [wd000 + $800] + ld [$be47], a + pop af + ld [rSVBK], a ; $ff00+$70 + call CloseSRAM + ret + +Function170881: ; 170881 (5c:4881) + ld a, $1 + call GetSRAMBank + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $3 + ld [rSVBK], a ; $ff00+$70 + ld a, [$be47] + ld [wd000 + $800], a + pop af + ld [rSVBK], a ; $ff00+$70 + call CloseSRAM + ret + +Function17089a: ; 17089a + ld a, [wcfcd] + and a + jr z, .asm_1708ad + callba Function14bcb + jr z, .asm_1708ab + xor a + jr .asm_1708ad + +.asm_1708ab + ld a, $1 + +.asm_1708ad + ld [ScriptVar], a + ret +; 1708b1 + + +Function1708b1: ; 1708b1 (5c:48b1) + xor a + ld [MusicFade], a + call MaxVolume + ret + +Function1708b9: ; 1708b9 (5c:48b9) + ld a, $1 + call GetSRAMBank + ld a, [$be3c] + ld [ScriptVar], a + call CloseSRAM + ret + +Function1708c8: ; 1708c8 (5c:48c8) + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [CurDay] + ld [$aa8b], a + xor a + ld [$aa8c], a + ld a, [$aa5d] + cp $2 + jr nc, .asm_1708ec + ld a, [CurDay] + ld [$aa48], a + ld a, $1 + ld [$aa47], a +.asm_1708ec + call CloseSRAM + ret + +Function1708f0: ; 1708f0 (5c:48f0) + xor a + ld [ScriptVar], a + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [$aa48] + ld c, a + ld a, [$aa47] + call CloseSRAM + and a + ret z + ld hl, CurDay + ld a, c + cp [hl] + jr nz, Function170923 + ld a, $5 + call GetSRAMBank + ld a, [$aa5d] + call CloseSRAM + cp $5 + ret c + ld a, $1 + ld [ScriptVar], a + ret + + +Function170923: ; 170923 + ld a, $5 + call GetSRAMBank + xor a + ld [$aa48], a + ld [$aa47], a + ld hl, $aa5d + ld bc, $0011 + call ByteFill + call CloseSRAM + ret +; 17093c + + +Function17093c: ; 17093c (5c:493c) + xor a + ld [ScriptVar], a + ld a, EGG_TICKET + ld [CurItem], a + ld hl, NumItems + call CheckItem + ret nc + ld a, [PartyCount] + ld b, 0 + ld c, a + ld hl, PartySpecies +.asm_170955 + ld a, [hli] + cp EGG + jr nz, .asm_17099f + push hl + ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) + ld de, $6 + ld a, b + and a + jr z, .asm_170969 +.asm_170965 + add hl, de + dec a + jr nz, .asm_170965 +.asm_170969 + ld de, String_1709a4 + ld a, $6 +.asm_17096e + push af + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_17099d + pop af + dec a + jr nz, .asm_17096e + dec hl + dec hl + dec hl + dec hl + ld a, $50 + ld [hli], a + ld [hli], a + pop hl + ld a, EGG_TICKET + ld [CurItem], a + ld a, $1 + ld [wd10c], a + ld a, $ff + ld [wd107], a + ld hl, NumItems + call TossItem + ld a, $1 + ld [ScriptVar], a + ret + +.asm_17099d + pop af + pop hl +.asm_17099f + inc b + dec c + jr nz, .asm_170955 + ret +; 1709a4 (5c:49a4) + +String_1709a4: ; 1709a4 + db "なぞナゾ@@" + +Function1709aa: ; 1709aa (5c:49aa) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $3 + ld [rSVBK], a ; $ff00+$70 + ld a, [StringBuffer2 + 10] + ld [ScriptVar], a + pop af + ld [rSVBK], a ; $ff00+$70 + ret + +Function1709bb: ; 1709bb (5c:49bb) + xor a + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + ld a, [$a800] + call CloseSRAM + cp 6 + jr nc, .asm_1709da + ld e, a + ld d, 0 + ld hl, Jumptable_1709e7 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +.asm_1709da + ld a, $5 + call GetSRAMBank + xor a + ld [$a800], a + call CloseSRAM + ret +; 1709e7 (5c:49e7) + +Jumptable_1709e7: ; 1709e7 + dw Function170a00 + dw Function170a00 + dw Function1709f3 + dw Function1709f3 + dw Function170a01 + dw Function170a33 +; 1709f3 + +Function1709f3: ; 1709f3 + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$a800], a + call CloseSRAM + +Function170a00: ; 170a00 + ret +; 170a01 + +Function170a01: ; 170a01 + ld a, $5 + call GetSRAMBank + ld hl, $b023 + ld de, $c608 + ld bc, $0069 + call CopyBytes + ld a, [$a825] + ld [wcd30], a + ld a, [$a826] + ld [wcd31], a + call CloseSRAM + callba Function11b6b4 + callba Function17d0f3 + ld a, $1 + ld [ScriptVar], a + ret +; 170a33 + +Function170a33: ; 170a33 + ld a, $0 + call GetSRAMBank + ld hl, wRTC + ld de, $c608 + ld bc, $0004 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $b08c + ld de, $c608 + ld c, $4 +.asm_170a54 + ld a, [de] + inc de + cp [hl] + jr nz, .asm_170a78 + inc hl + dec c + jr nz, .asm_170a54 + call CloseSRAM + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_170a72 + ld a, [de] + and a + ret nz + +.asm_170a72 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_170a78 + call CloseSRAM + ld a, $5 + call GetSRAMBank + xor a + ld [$a800], a + call CloseSRAM + ld [ScriptVar], a + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_170a9b + xor a + ld [de], a + +.asm_170a9b + ret +; 170a9c + +Function170a9c: ; 170a9c (5c:4a9c) + ld c, $0 + jr asm_170aa2 + +Function170aa0: ; 170aa0 (5c:4aa0) + ld c, $1 +asm_170aa2: ; 170aa2 (5c:4aa2) + ld a, $5 + call GetSRAMBank + ld a, c + ld [$aa8d], a + call CloseSRAM + ret + +Function170aaf: ; 170aaf (5c:4aaf) + ld a, $5 + call GetSRAMBank + ld a, [$aa8d] + ld [ScriptVar], a + call CloseSRAM + ret + +Function170abe: ; 170abe (5c:4abe) + call Function17089a + ld a, [ScriptVar] + and a + ret z + ld a, $1 + call GetSRAMBank + ld a, [$be4f] + and $1 + ld [ScriptVar], a + call CloseSRAM + ret + +Function170ad7: ; 170ad7 (5c:4ad7) + ld a, $1 + call GetSRAMBank + ld a, [$be4f] + or $1 + ld [$be4f], a + call CloseSRAM + ret + +Function170ae8: ; 170ae8 (5c:4ae8) + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld c, $a + call SimpleDivide + ld a, b + ld [wcd4f], a + xor a + ld [ScriptVar], a + callba Function119d93 + ret nc + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld [ScriptVar], a + ret + +Function170b16: ; 170b16 (5c:4b16) + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld c, 10 + call SimpleDivide + ld a, b + ld [wcd4f], a + xor a + ld [ScriptVar], a + callba Function119dd1 + ret nc + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld [ScriptVar], a + ret + +Function170b44: ; 170b44 + callba Function1f8000 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, wd10a + ld a, [hl] + dec a + ld c, a + ld b, $0 + pop af + ld [rSVBK], a + ld hl, Unknown_170b90 + add hl, bc + ld a, [hl] + ld [wcd49], a + ld a, [ScriptVar] + dec a + sla a + ld e, a + sla a + sla a + sla a + ld c, a + ld b, $0 + ld d, $0 + ld hl, MapObjects + add hl, bc + inc hl + ld a, [wcd49] + ld [hl], a + ld hl, UsedSprites + add hl, de + ld [hli], a + ld [$ffbd], a + ld a, [hl] + ld [$ffbe], a + callba Function143c8 + ret +; 170b90 + +Unknown_170b90: +INCBIN "baserom.gbc",$170b90,$170bd2 - $170b90 + +Function170bd2: ; 170bd2 + ret +; 170bd3 + +Function170bd3: ; 170bd3 + callba Function8b201 + jr c, .asm_170bde + xor a + jr .asm_170be0 + +.asm_170bde + ld a, $1 + +.asm_170be0 + ld [ScriptVar], a + ret +; 170be4 + +Function170be4: ; 170be4 + ld a, $5 + call GetSRAMBank + xor a + ld hl, $a894 + ld bc, $0008 + call ByteFill + call CloseSRAM + ret +; 170bf7 + +Function170bf7: ; 170bf7 + ld a, $5 + call GetSRAMBank + ld hl, $a89a + xor a + ld [hli], a + ld [hl], a + call CloseSRAM + ret +; 170c06 + +Function170c06: ; 170c06 + ld a, $5 + call GetSRAMBank + ld hl, $a894 + ld a, [wd0ee] + and a + jr nz, .asm_170c15 + inc [hl] + +.asm_170c15 + inc hl + inc hl + ld a, [$a89b] + add [hl] + ld [hld], a + ld a, [$a89a] + adc [hl] + ld [hli], a + jr nc, .asm_170c27 + ld a, $ff + ld [hld], a + ld [hli], a + +.asm_170c27 + inc hl + push hl + ld de, 0 + xor a + ld [wd265], a +.asm_170c30 + ld hl, PartyMon1HP + ld a, [wd265] + call GetPartyLocation + ld a, [hli] + ld b, a + ld c, [hl] + inc hl + inc hl + ld a, [hld] + sub c + ld c, a + ld a, [hl] + sbc b + ld b, a + push de + pop hl + add hl, bc + push hl + pop de + jr c, .asm_170c58 + ld a, [wd265] + inc a + ld [wd265], a + cp $3 + jr c, .asm_170c30 + jr .asm_170c5b + +.asm_170c58 + ld de, -1 + +.asm_170c5b + pop hl + inc hl + ld a, e + add [hl] + ld [hld], a + ld a, d + adc [hl] + ld [hli], a + jr nc, .asm_170c69 + ld a, $ff + ld [hld], a + ld [hli], a + +.asm_170c69 + inc hl + push hl + ld b, $0 + ld c, $0 +.asm_170c6f + ld hl, PartyMon1HP + ld a, b + push bc + call GetPartyLocation + pop bc + ld a, [hli] + or [hl] + jr nz, .asm_170c7d + inc c + +.asm_170c7d + inc b + ld a, b + cp $3 + jr c, .asm_170c6f + pop hl + ld a, [hl] + add c + ld [hl], a + call CloseSRAM + ret +; 170c8b + +Function170c8b: ; 170c8b + ld hl, LastPlayerCounterMove + ld b, $5 +.asm_170c90 + ld a, [hl] + xor $ff + ld [hli], a + dec b + jr nz, .asm_170c90 + ret +; 170c98 + +Function170c98: ; 170c98 + ld c, $3 + ld hl, $c608 + 13 +.asm_170c9d + push hl + ld a, [hl] + cp $fc + jr c, .asm_170ca6 + ld a, $1 + ld [hl], a + +.asm_170ca6 + inc hl + ld b, $3 +.asm_170ca9 + ld a, [hl] + and a + jr z, .asm_170cb1 + cp $fc + jr c, .asm_170cb9 + +.asm_170cb1 + xor a + ld [hl], a + inc hl + dec b + jr nz, .asm_170cb1 + jr .asm_170cbd + +.asm_170cb9 + inc hl + dec b + jr nz, .asm_170ca9 + +.asm_170cbd + pop hl + ld de, $003b + add hl, de + dec c + jr nz, .asm_170c9d + ret +; 170cc6 + +Function170cc6: ; 170cc6 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + ld hl, LZ_170d16 + ld de, wd000 + call Decompress + ld a, $1 + ld [rVBK], a + ld de, wd000 + ld hl, VTiles0 + lb bc, $6, $c1 + call Get2bpp + xor a + ld [rVBK], a + ld hl, LZ_1715a4 + ld de, wd000 + call Decompress + ld de, Unkn1Pals + ld hl, VTiles0 + lb bc, $6, $53 + call Get2bpp + pop af + ld [rSVBK], a + ret +; 170d02 + +Function170d02: ; 170d02 + ld a, $1 + ld [rVBK], a + ld de, GFX_171848 + ld hl, $8c10 + lb bc, BANK(GFX_171848), $18 + call Get2bpp + xor a + ld [rVBK], a + ret +; 170d16 + +LZ_170d16: +INCBIN "gfx/unknown/170d16.2bpp.lz" + +LZ_1715a4: +INCBIN "gfx/unknown/1715a4.2bpp.lz" + +GFX_171848: +INCBIN "gfx/unknown/171848.2bpp" + +Function1719c8: ; 1719c8 (5c:59c8) + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + call Function1719d6 + pop af + ld [$ffaa], a + ret + +Function1719d6: ; 1719d6 (5c:59d6) + callba Function1183cb + call Function1719ed + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $5 + ld [rSVBK], a ; $ff00+$70 + call Function171a11 + pop af + ld [rSVBK], a ; $ff00+$70 + ret + +Function1719ed: ; 1719ed (5c:59ed) + xor a + ld [wcd49], a + ld [wcd4a], a + dec a + ld [wcd4b], a + call WhiteBGMap + call ClearSprites + callba Function171d2b + callba Function104061 + callba Function8cf53 + ret + +Function171a11: ; 171a11 (5c:5a11) + call Functiona57 + ld a, [wcd49] + bit 7, a + jr nz, .asm_171a2c + call Function171a36 + callba Function8cf69 + callba Function104061 + jr Function171a11 +.asm_171a2c + callba Function8cf53 + call ClearSprites + ret + +Function171a36: ; 171a36 (5c:5a36) + ld a, [wcd49] + ld e, a + ld d, 0 + ld hl, Jumptable_171a45 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Jumptable_171a45: ; 171a45 (5c:5a45) + dw Function171a95 + dw Function171ac9 + dw Function171a5d + dw Function171ad7 + dw Function171a5d + dw Function171aec + dw Function171b4b + dw Function171b85 + dw Function171bcc + dw Function171c2c + dw Function171c39 + dw Function171c41 + + +Function171a5d: ; 171a5d (5c:5a5d) + ld a, [wc821] + bit 1, a + jr nz, .asm_171a6a + bit 0, a + ret nz + jp Function171c66 +.asm_171a6a + ld a, $0 + call Function3e32 + ld [wc300], a + ld a, l + ld [wc301], a + ld a, h + ld [wc302], a + ld a, $a + call Function3e32 + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $1 + ld [rSVBK], a ; $ff00+$70 + callba Function118452 + pop af + ld [rSVBK], a ; $ff00+$70 + ld a, $a + ld [wcd49], a + ret + +Function171a95: ; 171a95 (5c:5a95) + callba Function171ccd + hlcoord 2, 8 + ld de, String_171aa7 + call PlaceString + jp Function171c66 +; 171aa7 (5c:5aa7) + +String_171aa7: ; 171aa7 + db "モバイルアダプタに" + next "せつぞく しています" + next "しばらく おまちください" + db "@" +; 171ac9 + +Function171ac9: ; 171ac9 (5c:5ac9) + ld de, wcd81 + ld hl, $5c + ld a, $2 + call Function3e32 + jp Function171c66 + +Function171ad7: ; 171ad7 (5c:5ad7) + xor a + ld hl, $c608 + ld bc, $66 + call ByteFill + ld de, $c608 + ld a, $c + call Function3e32 + jp Function171c66 + +Function171aec: ; 171aec (5c:5aec) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $1 + ld [rSVBK], a ; $ff00+$70 + callba Function118452 + pop af + ld [rSVBK], a ; $ff00+$70 + hlcoord 2, 6 + ld a, $8 +.asm_171b01 + push af + push hl + xor a + ld bc, $10 + call ByteFill + pop hl + ld de, $14 + add hl, de + pop af + dec a + jr nz, .asm_171b01 + hlcoord 2, 7 + ld a, $3 + ld de, $c608 +.asm_171b1b + push af + push hl + ld a, [de] + and a + jr z, .asm_171b34 + ld a, [wcd4b] + inc a + ld [wcd4b], a + push hl + call Function171b42 + pop hl + ld bc, $ffec + add hl, bc + call Function171b42 +.asm_171b34 + pop hl + ld bc, $14 + add hl, bc + add hl, bc + add hl, bc + pop af + dec a + jr nz, .asm_171b1b + jp Function171c66 + +Function171b42: ; 171b42 (5c:5b42) + ld a, [de] + inc de + and a + ret z + sub $20 + ld [hli], a + jr Function171b42 + +Function171b4b: ; 171b4b (5c:5b4b) + lb de, $40, $10 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $8 + ld [hl], a + lb de, $40, $98 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $9 + ld [hl], a + lb de, $8a, $70 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $a + ld [hl], a + ld a, $4 + ld [wcd23], a + ld a, $8 + ld [wcd24], a + jp Function171c66 + +Function171b85: ; 171b85 (5c:5b85) + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and $2 + jp nz, Function171b9f + ld a, [hl] + and $1 + jp nz, Function171bbd + ld a, [hl] + and $40 + jr nz, asm_171ba5 + ld a, [hl] + and $80 + jr nz, asm_171baf + ret + +Function171b9f: ; 171b9f (5c:5b9f) + ld a, $80 + ld [wcd49], a + ret +asm_171ba5: ; 171ba5 (5c:5ba5) + ld a, [wcd4a] + and a + ret z + dec a + ld [wcd4a], a + ret +asm_171baf: ; 171baf (5c:5baf) + ld a, [wcd4b] + ld c, a + ld a, [wcd4a] + cp c + ret z + inc a + ld [wcd4a], a + ret + +Function171bbd: ; 171bbd (5c:5bbd) + call PlayClickSFX + ld a, $8 + ld [wcd23], a + xor a + ld [wcd24], a + jp Function171c66 + +Function171bcc: ; 171bcc (5c:5bcc) + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and $2 + jp nz, Function171bdc + ld a, [hl] + and $1 + jp nz, Function171beb + ret + +Function171bdc: ; 171bdc (5c:5bdc) + ld a, $4 + ld [wcd23], a + ld a, $8 + ld [wcd24], a + ld hl, wcd49 + dec [hl] + ret + +Function171beb: ; 171beb (5c:5beb) + ld a, $5 + call GetSRAMBank + ld a, [wcd4a] + ld [$aa4a], a + call CloseSRAM + ld hl, MenuDataHeader_171c6b + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + callba Function104061 + hlcoord 1, 14 + ld de, String_171c73 + call PlaceString + ld a, [wcd4a] + cp $2 + jr z, .asm_171c1f + ld a, $8 + jr .asm_171c21 +.asm_171c1f + ld a, $c +.asm_171c21 + ld [wcd24], a + ld a, $1e + ld [wcd4c], a + call Function171c66 + +Function171c2c: ; 171c2c (5c:5c2c) + ld hl, wcd4c + dec [hl] + ret nz + call Function1c07 + call WhiteBGMap + jr asm_171c60 + +Function171c39: ; 171c39 (5c:5c39) + ld a, $28 + ld [wcd4c], a + call Function171c66 + +Function171c41: ; 171c41 (5c:5c41) + ld hl, wcd4c + dec [hl] + ret nz + call WhiteBGMap + callba Function106462 + callba Function106464 + ld a, $2 + ld [wc303], a + callba Function17f555 +asm_171c60: ; 171c60 (5c:5c60) + ld a, $80 + ld [wcd49], a + ret + +Function171c66: ; 171c66 (5c:5c66) + ld hl, wcd49 + inc [hl] + ret +; 171c6b (5c:5c6b) + +MenuDataHeader_171c6b: ; 171c6b + db $40 ; flags + db 12, 0 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 171c73 + +String_171c73: ; 171c73 + db "モバイルセンターを けってい" + next "しました@" +; 171c87 + +Function171c87: ; 171c87 (5c:5c87) + call DisableLCD + ld hl, GFX_171db1 + ld de, $9000 + ld bc, $6e0 + call CopyBytes + ld hl, LZ_172abd + ld de, $8000 + call Decompress + call EnableLCD + ld hl, Tilemap_172491 + ld de, TileMap + ld bc, $168 + call CopyBytes + ld hl, Attrmap_1727ed + ld de, AttrMap + ld bc, $168 + call CopyBytes + hlcoord 3, 2 + ld de, String_172e31 + call PlaceString + hlcoord 3, 16 + ld de, String_172e3f + call PlaceString + ret + +Function171ccd: ; 171ccd (5c:5ccd) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $5 + ld [rSVBK], a ; $ff00+$70 + ld hl, Palette_171d71 + ld de, Unkn1Pals + ld bc, $40 + call CopyBytes + ld hl, MovementAnimation + ld a, $ff + ld [hli], a + ld a, $7f + ld [hl], a + call Function32f9 + pop af + ld [rSVBK], a ; $ff00+$70 + ret + +Function171cf0: ; 171cf0 (5c:5cf0) + xor a + hlcoord 4, 15 + ld [hli], a + ld [hli], a + ld a, [wcd4b] + xor $1 + ld [wcd4b], a + and a + jr nz, .asm_171d16 + ld hl, Tilemap_17251d + decoord 0, 7 + ld bc, $8c + call CopyBytes + hlcoord 3, 16 + ld de, String_172e3f + jp PlaceString +.asm_171d16 + ld hl, Tilemap_1725f9 + decoord 0, 7 + ld bc, $8c + call CopyBytes + hlcoord 3, 16 + ld de, String_172e4e + jp PlaceString + +Function171d2b: ; 171d2b (5c:5d2b) + call DisableLCD + ld hl, GFX_171db1 + ld de, $9000 + ld bc, $6e0 + call CopyBytes + ld hl, LZ_172abd + ld de, $8000 + call Decompress + call EnableLCD + ld hl, Tilemap_172685 + ld de, TileMap + ld bc, $168 + call CopyBytes + ld hl, Attrmap_172955 + ld de, AttrMap + ld bc, $168 + call CopyBytes + hlcoord 2, 2 + ld de, String_172e5d + call PlaceString + hlcoord 14, 16 + ld de, String_172e58 + call PlaceString + ret +; 171d71 (5c:5d71) + +Palette_171d71: + RGB 0, 0, 0 + RGB 3, 0, 0 + RGB 5, 0, 0 + RGB 31, 31, 29 + RGB 0, 2, 10 + RGB 2, 10, 21 + RGB 0, 0, 0 + RGB 10, 26, 31 + RGB 0, 0, 0 + RGB 0, 7, 8 + RGB 31, 8, 0 + RGB 1, 17, 15 + RGB 31, 16, 0 + RGB 31, 22, 0 + RGB 31, 27, 0 + RGB 31, 31, 0 + RGB 31, 18, 6 + RGB 0, 3, 0 + RGB 0, 9, 0 + RGB 0, 12, 0 + RGB 0, 16, 0 + RGB 0, 22, 0 + RGB 0, 25, 0 + RGB 0, 27, 0 + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 29 + RGB 21, 21, 20 + RGB 11, 11, 10 + RGB 0, 0, 0 +GFX_171db1: +INCBIN "gfx/unknown/171db1.2bpp" +Tilemap_172491: +INCBIN "gfx/unknown/172491.tilemap" +Tilemap_17251d: +INCBIN "gfx/unknown/17251d.tilemap" +Tilemap_1725f9: +INCBIN "gfx/unknown/1725f9.tilemap" +Tilemap_172685: +INCBIN "gfx/unknown/172685.tilemap" +Attrmap_1727ed: +INCBIN "gfx/unknown/1727ed.attrmap" +Attrmap_172955: +INCBIN "gfx/unknown/172955.attrmap" +LZ_172abd: +INCBIN "gfx/pokedex/slowpoke.2bpp.lz" + +String_172e31: ; 172e31 + db "パスワード", $1f, "いれてください@" +String_172e3f: ; 172e3f + db "きりかえ やめる けってい@" +String_172e4e: ; 172e4e + db "きりかえ やめる " +String_172e58: + db "けってい@" +String_172e5d: ; 172e5d + db "せつぞくする モバイルセンターを" + next "えらんで ください@" +; 172e78 + + +Function172e78: ; 172e78 (5c:6e78) + ld a, $7f + ld hl, TileMap + ld bc, $168 + call ByteFill + ld a, $7 + ld hl, AttrMap + ld bc, $168 + call ByteFill + call DisableLCD + ld hl, GFX_172f1f + ld de, $9000 + ld bc, $610 + call CopyBytes + call EnableLCD + ld hl, Tilemap_1733af + ld de, TileMap + ld bc, $168 + call CopyBytes + ld hl, Attrmap_173517 + ld de, AttrMap + ld bc, $168 + call CopyBytes + ret +; 172eb9 (5c:6eb9) + +Function172eb9: + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $5 + ld [rSVBK], a ; $ff00+$70 + ld hl, Palette_172edf + ld de, Unkn1Pals + ld bc, $40 + call CopyBytes + ld hl, Palette_172edf + ld de, BGPals + ld bc, $40 + call CopyBytes + call Function32f9 + pop af + ld [rSVBK], a ; $ff00+$70 + ret +; 172edf (5c:6edf) + +Palette_172edf: + RGB 5, 12, 17 + RGB 31, 31, 31 + RGB 18, 25, 28 + RGB 10, 17, 21 + RGB 6, 13, 18 + RGB 31, 31, 31 + RGB 20, 26, 28 + RGB 12, 19, 23 + RGB 3, 10, 16 + RGB 31, 31, 31 + RGB 6, 13, 18 + RGB 20, 26, 28 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +GFX_172f1f: +INCBIN "gfx/unknown/172f1f.2bpp" + +Tilemap_1733af: +INCBIN "gfx/unknown/1733af.tilemap" + +Attrmap_173517: +INCBIN "gfx/unknown/173517.attrmap" + + diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm new file mode 100644 index 000000000..375701a2c --- /dev/null +++ b/misc/mobile_5f.asm @@ -0,0 +1,5234 @@ + +SECTION "bank5F", ROMX, BANK[$5F] + +Function17c000: ; 17c000 + + call DisableLCD + + ld hl, VTiles2 + ld bc, $310 + xor a + call ByteFill + + call Functione51 + call Functione5f + + ld hl, HaveWantMap + ld de, TileMap + ld bc, AttrMap + + ld a, SCREEN_HEIGHT +.y + push af + ld a, SCREEN_WIDTH + + push hl +.x + push af + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + jr nz, .x + pop hl + + push bc + ld bc, BG_MAP_WIDTH * 2 + add hl, bc + pop bc + + pop af + dec a + jr nz, .y + + ld a, [rSVBK] + push af + + ld a, 5 ; BANK(Unkn1Pals) + ld [rSVBK], a + + ld hl, HaveWantPals + ld de, Unkn1Pals + ld bc, $80 + call CopyBytes + + pop af + ld [rSVBK], a + + ld hl, MobileSelectGFX + ld de, $8300 + ld bc, $200 + call CopyBytes + + ld a, 1 + ld [rVBK], a + + ld hl, HaveWantGFX + ld de, VTiles2 + ld bc, $800 + call CopyBytes + + ld hl, HaveWantGFX + $800 + ld de, VTiles1 + ld bc, $100 + call CopyBytes + + xor a + ld [rVBK], a + + call EnableLCD + callba Function104061 + ret +; 17c083 + +HaveWantGFX: ; 17c083 +INCBIN "gfx/mobile/havewant.2bpp" + +MobileSelectGFX: ; 17c983 +INCBIN "gfx/mobile/select.2bpp" + +HaveWantMap: ; 17cb83 +; Interleaved tile/palette map. +INCBIN "baserom.gbc", $17cb83, $17cff3 - $17cb83 + +HaveWantPals: ; 17cff3 +; BG and OBJ palettes. +INCBIN "baserom.gbc", $17cff3, $17d073 - $17cff3 + + +Function17d073: ; 17d073 +.asm_17d073 + ld a, [de] + inc de + and a + jr z, .asm_17d0ae + cp $60 + jr nc, .asm_17d0ae + cp $4e + jr z, .asm_17d0ae + cp $50 + jr z, .asm_17d0b1 + cp $5 + jr c, .asm_17d0ac + cp $14 + jr c, .asm_17d0ae + cp $19 + jr c, .asm_17d0ac + cp $1d + jr c, .asm_17d0ae + cp $26 + jr c, .asm_17d0ac + cp $35 + jr c, .asm_17d0ae + cp $3a + jr c, .asm_17d0ac + cp $3f + jr c, .asm_17d0ae + cp $40 + jr c, .asm_17d0ac + cp $49 + jr c, .asm_17d0ae + +.asm_17d0ac + scf + ret + +.asm_17d0ae + dec c + jr nz, .asm_17d073 + +.asm_17d0b1 + and a + ret +; 17d0b3 + +Function17d0b3: ; 17d0b3 +.asm_17d0b3 + ld a, [de] + inc de + and a + jr z, .asm_17d0ee + cp $60 + jr nc, .asm_17d0ee + cp $4e + jr z, .asm_17d0ee + cp $50 + jr z, .asm_17d0ee + cp $5 + jr c, .asm_17d0ec + cp $14 + jr c, .asm_17d0ee + cp $19 + jr c, .asm_17d0ec + cp $1d + jr c, .asm_17d0ee + cp $26 + jr c, .asm_17d0ec + cp $35 + jr c, .asm_17d0ee + cp $3a + jr c, .asm_17d0ec + cp $3f + jr c, .asm_17d0ee + cp $40 + jr c, .asm_17d0ec + cp $49 + jr c, .asm_17d0ee + +.asm_17d0ec + scf + ret + +.asm_17d0ee + dec c + jr nz, .asm_17d0b3 + and a + ret +; 17d0f3 + +Function17d0f3: ; 17d0f3 + ld a, [$c608 + 5] + ld [wc702], a + ld [CurPartySpecies], a + ld a, [wcd81] + ld [wc74e], a + ld hl, $c63d + ld de, wc724 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld a, [$c608 + 11] + ld [wc731], a + ld a, [$c608 + 12] + ld [wc732], a + ld hl, $c608 + 26 + ld a, [hli] + ld [wc72f], a + ld a, [hl] + ld [wc730], a + ld bc, $c608 + 5 + callba GetCaughtGender + ld a, c + ld [wc733], a + call SpeechTextBox + call FadeToMenu + callba Function10804d + callba Function17d1f1 + ld a, $1 + ld [wd1e9], a + ld a, $2 + ld [InLinkBattle], a + callba Function421d8 + xor a + ld [InLinkBattle], a + callba Function14a58 + ld a, $5 + call GetSRAMBank + ld a, $5 + ld [$a800], a + call CloseSRAM + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_17d180 + ld a, $1 + ld [de], a + +.asm_17d180 + call Function2b3c + call RestartMapMusic + ret +; 17d187 + +Function17d187: ; 17d187 + ld hl, Unknown_17d194 + ld de, $c63d + ld bc, $0005 + call CopyBytes + ret +; 17d194 + +Unknown_17d194: +INCBIN "baserom.gbc", $17d194, $17d199 - $17d194 + +Function17d199: ; 17d199 + ld hl, Unknown_17d1a6 + ld de, $c642 + ld bc, $0005 + call CopyBytes + ret +; 17d1a6 + +Unknown_17d1a6: +INCBIN "baserom.gbc", $17d1a6, $17d1ab - $17d1a6 + +Function17d1ab: ; 17d1ab + ld a, $50 + ld hl, $c647 + ld bc, $0021 + call ByteFill + ld hl, Unknown_17d1c3 + ld de, $c647 + ld bc, $0006 + call CopyBytes + ret +; 17d1c3 + +Unknown_17d1c3: +INCBIN "baserom.gbc", $17d1c3, $17d1c9 - $17d1c3 + +Function17d1c9: ; 17d1c9 + ld a, $50 + ld de, $c668 + ld bc, $0005 + call ByteFill + ld hl, Unknown_17d194 + ld de, $c668 + ld bc, $0005 + call CopyBytes + ret +; 17d1e1 + +Function17d1e1: ; 17d1e1 +.asm_17d1e1 + ld a, [de] + inc de + cp $4e + jr nz, .asm_17d1ea + dec b + jr z, .asm_17d1ef + +.asm_17d1ea + dec c + jr nz, .asm_17d1e1 + and a + ret + +.asm_17d1ef + scf + ret +; 17d1f1 + +Function17d1f1: ; 17d1f1 + ld a, [CurPartySpecies] + dec a + call SetSeenAndCaughtMon + + ld a, [CurPartySpecies] + cp UNOWN + jr nz, .asm_17d223 + + ld hl, PartyMon1DVs + ld a, [PartyCount] + dec a + ld bc, PartyMon2 - PartyMon1 + call AddNTimes + predef GetUnownLetter + callab Functionfba18 + ld a, [wdef4] + and a + jr nz, .asm_17d223 + + ld a, [UnownLetter] + ld [wdef4], a + +.asm_17d223 + ret +; 17d224 + +Function17d224: ; 17d224 + ld a, [ScriptVar] + and a + jr nz, .asm_17d234 + ld a, $4 + ld [ScriptVar], a + ld hl, MenuDataHeader_17d26a + jr .asm_17d23c + +.asm_17d234 + ld a, $4 + ld [ScriptVar], a + ld hl, MenuDataHeader_17d28f + +.asm_17d23c + call LoadMenuDataHeader + call Function17d246 + call Function1c17 + ret +; 17d246 + +Function17d246: ; 17d246 + call Function1d81 + jr c, .asm_17d264 + ld a, [ScriptVar] + cp $5 + jr nz, .asm_17d25d + ld a, [wcfa9] + cp $3 + ret z + jr c, .asm_17d25d + dec a + jr .asm_17d260 + +.asm_17d25d + ld a, [wcfa9] + +.asm_17d260 + ld [ScriptVar], a + ret + +.asm_17d264 + ld a, $4 + ld [ScriptVar], a + ret +; 17d26a + +MenuDataHeader_17d26a: ; 17d26a + db $40 ; flags + db 0, 0 ; start coords + db 9, 14 ; end coords + dw MenuData2_17d272 + db 1 ; default option + +MenuData2_17d272: ; 17d272 + db $a0 ; flags + db 4 + db "ニュース", $1f, "よみこむ@" + db "ニュース", $1f, "みる@" + db "せつめい@" + db "やめる@" +; 17d28f + +MenuDataHeader_17d28f: ; 17d28f + db $40 ; flags + db 0, 0 ; start coords + db 7, 14 ; end coords + dw MenuData2_17d297 + db 1 ; default option + +MenuData2_17d297: ; 17d297 + db $a0 ; flags + db 3 + db "Challenge@" + db "Explanation@" + db "Cancel@" +; 17d2b6 + +Function17d2b6: ; 17d2b6 + call Function17d2c0 + callba Function1181da + ret +; 17d2c0 + +Function17d2c0: ; 17d2c0 + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ret +; 17d2ce + +Function17d2ce: ; 17d2ce + ld a, $5 + call GetSRAMBank + ld a, [$aa72] + call CloseSRAM + and a + jr nz, .asm_17d2e2 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_17d2e2 + call Function17d314 + ret c + call SpeechTextBox + call FadeToMenu + ld a, [rSVBK] + push af + ld a, $4 + ld [rSVBK], a + call Function17d370 + call Function17d45a + pop af + ld [rSVBK], a + ld de, MUSIC_MOBILE_CENTER + ld a, e + ld [wMapMusic], a + ld [MusicFadeIDLo], a + ld a, d + ld [MusicFadeIDHi], a + call PlayMusic + call Function222a + call Function2b3c + ret +; 17d314 + +Function17d314: ; 17d314 + ld a, $5 + call GetSRAMBank + ld a, [$b1b1] + call CloseSRAM + cp $21 + jr nc, .asm_17d354 + ld a, $6 + call GetSRAMBank + ld l, $0 + ld h, l + ld de, $a006 + ld a, [$a004] + ld c, a + ld a, [$a005] + ld b, a +.asm_17d336 + push bc + ld a, [de] + inc de + ld c, a + ld b, $0 + add hl, bc + pop bc + dec bc + ld a, b + or c + jr nz, .asm_17d336 + ld a, [$a002] + cp l + jr nz, .asm_17d354 + ld a, [$a003] + cp h + jr nz, .asm_17d354 + call CloseSRAM + and a + ret + +.asm_17d354 + call CloseSRAM + ld a, $5 + call GetSRAMBank + xor a + ld hl, $aa73 + ld bc, $000c + call ByteFill + call CloseSRAM + ld a, $2 + ld [ScriptVar], a + scf + ret +; 17d370 + +Function17d370: ; 17d370 + xor a + ld [wcd77], a + ld [wcd78], a + ld [wcd79], a + dec a + ld [wcd6c], a + call WhiteBGMap + call ClearSprites + call ClearScreen + callba Function104061 + call DisableLCD + ld hl, $8ee0 + ld de, $c608 + ld bc, $0010 + call CopyBytes + ld a, $1 + ld [rVBK], a + ld hl, PokemonNewsGFX + ld de, VTiles1 + ld bc, $0480 + call CopyBytes + xor a + ld hl, $97f0 + ld bc, $0010 + call ByteFill + ld hl, $c608 + ld de, $8ee0 + ld bc, $0010 + call CopyBytes + xor a + ld [rVBK], a + ld hl, GFX_17eb7e + ld de, $9600 + ld bc, $0010 + call CopyBytes + call EnableLCD + call Function17d60b + ld a, $0 + ld [BGMapBuffer], a + ld a, $d0 + ld [wcd21], a + ld a, $6 + call GetSRAMBank + ld hl, $a006 + ld de, Unkn1Pals + ld bc, $1000 + call CopyBytes + call CloseSRAM + ret +; 17d3f6 + +Function17d3f6: ; 17d3f6 + call WhiteBGMap + call ClearSprites + call ClearScreen + callba Function104061 + +Function17d405: + call DisableLCD + ld hl, $8ee0 + ld de, $c608 + ld bc, $0010 + call CopyBytes + ld a, $1 + ld [rVBK], a + ld hl, PokemonNewsGFX + ld de, VTiles1 + ld bc, $0480 + call CopyBytes + xor a + ld hl, $97f0 + ld bc, $0010 + call ByteFill + ld hl, $c608 + ld de, $8ee0 + ld bc, $0010 + call CopyBytes + xor a + ld [rVBK], a + call EnableLCD + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_17eff6 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + call Function32f9 + pop af + ld [rSVBK], a + ret +; 17d45a + +Function17d45a: ; 17d45a +.asm_17d45a + call Functiona57 + ld a, [wcd77] + bit 7, a + jr nz, .asm_17d46f + call Function17d474 + callba Function104061 + jr .asm_17d45a + +.asm_17d46f + xor a + ld [ScriptVar], a + ret +; 17d474 + +Function17d474: ; 17d474 + ld a, [wcd77] + ld e, a + ld d, 0 + ld hl, Jumptable_17d483 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 17d483 + +Jumptable_17d483: ; 17d483 + dw Function17d48d + dw Function17d5be + dw Function17d5c4 + dw Function17d6fd + dw Function17e427 +; 17d48d + +Function17d48d: ; 17d48d + ld hl, Palette_17eff6 + ld de, $c608 + ld bc, $0040 + call CopyBytes + ld hl, TileAttrmap_17eb8e + ld de, TileMap + ld bc, AttrMap + ld a, $12 +.asm_17d4a4 + push af + ld a, $14 + push hl +.asm_17d4a8 + push af + ld a, [hli] + cp $7f + jr z, .asm_17d4b0 + add $80 + +.asm_17d4b0 + ld [de], a + inc de + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + jr nz, .asm_17d4a8 + pop hl + push bc + ld bc, $0040 + add hl, bc + pop bc + pop af + dec a + jr nz, .asm_17d4a4 + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + ld a, [hli] + ld e, a + ld a, [wcd6c] + cp e + jr z, .asm_17d4e0 + ld a, e + ld [wcd6c], a + ld [wc2c0], a + ld d, $0 + call PlayMusic2 + +.asm_17d4e0 + ld a, [hli] + ld de, $c608 + ld c, $8 +.asm_17d4e6 + srl a + jr nc, .asm_17d4f6 + ld b, $8 + push af +.asm_17d4ed + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_17d4ed + pop af + jr .asm_17d4fc + +.asm_17d4f6 + push af + ld a, e + add $8 + ld e, a + pop af + +.asm_17d4fc + dec c + jr nz, .asm_17d4e6 + push hl + call Function17d5f6 + pop hl + ld a, [hli] + and a + jr z, .asm_17d539 +.asm_17d508 + push af + ld a, [hli] + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [wcd51], a + ld a, [hli] + ld [wcd52], a + ld a, [hli] + sla a + sla a + sla a + add $98 + ld [wcd53], a + ld de, wcd4f + call Function17e613 + ld a, [hli] + ld [wcd53], a + ld de, wcd4f + call Function17e691 + pop af + dec a + jr nz, .asm_17d508 + +.asm_17d539 + ld a, [hli] +.asm_17d53a + push af + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + push hl + pop de + ld hl, TileMap + add hl, bc + call PlaceString + push de + pop hl + inc hl + pop af + dec a + jr nz, .asm_17d53a + ld de, CreditsTimer + ld bc, $000c + call CopyBytes + xor a + ld [wcd2e], a + ld [wcd2f], a + inc a + ld [wcd30], a + ld [wcd31], a + ld de, wcd32 + ld bc, $0010 + call CopyBytes + ld a, [hli] + ld [wcd42], a + ld a, [hli] + ld [wcd43], a + ld a, [hli] + ld [wcd44], a + ld a, [hli] + ld [wcd45], a + ld a, [hli] + ld [wcd46], a + ld a, [hli] + and a + jr z, .asm_17d58a + call Function17d6a1 + +.asm_17d58a + ld a, l + ld [wcd49], a + ld a, h + ld [wcd4a], a + ld a, [wcd42] + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, l + ld [wcd4b], a + ld a, h + ld [wcd4c], a + add hl, bc + add hl, bc + ld a, l + ld [wcd4d], a + ld a, h + ld [wcd4e], a + call Function17e451 + call Function17e55b + call Function17e5af + callba Function104061 + jp Function17e438 +; 17d5be + +Function17d5be: ; 17d5be + call Function32f9 + call Function17e438 + +Function17d5c4: + ld a, [hJoyPressed] + and a + ret z + ld c, $0 + ld b, c + ld hl, wcd32 +.asm_17d5ce + srl a + jr c, .asm_17d5d6 + inc c + inc c + jr .asm_17d5ce + +.asm_17d5d6 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + and c + cp $ff + ret z + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, bc + ld a, l + ld [wcd78], a + ld a, h + ld [wcd79], a + ld a, $3 + ld [wcd77], a + ret +; 17d5f6 + +Function17d5f6: ; 17d5f6 + ld a, $5 + ld [rSVBK], a + ld hl, $c608 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + ld a, $4 + ld [rSVBK], a + ret +; 17d60b + +Function17d60b: ; 17d60b + ld a, $5 + call GetSRAMBank + ld hl, $b1d3 + ld de, $c608 + ld bc, $0020 + call CopyBytes + ld a, [$b1b1] + ld c, a + ld a, [$b1b2] + ld b, a + ld a, [$b1b3] + ld l, a + ld a, [$b1b4] + ld h, a + call CloseSRAM + ld a, $6 + call GetSRAMBank + ld de, wc708 + ld a, c + and a + jr z, .asm_17d684 +.asm_17d63b + push bc + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + inc de + ld bc, $000a + add hl, bc + pop bc + ld a, [hli] + ld [wcd4a], a + ld a, [hli] + ld [wcd49], a + push hl + push de + ld hl, $c608 + ld e, b + ld d, $0 + add hl, de + ld a, [hli] + ld [wcd4b], a + ld a, [hl] + ld [wcd4c], a + pop de + pop hl + inc b + inc b + dec c + dec c + jr z, .asm_17d684 + push bc + push de + ld a, [wcd49] + ld c, a + ld a, [wcd4a] + ld b, a + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld d, a +.asm_17d67a + add hl, de + dec bc + ld a, c + or b + jr nz, .asm_17d67a + pop de + pop bc + jr .asm_17d63b + +.asm_17d684 + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, wc708 + ld de, $b1b3 + ld a, [$b1b1] + ld c, a + ld a, [$b1b2] + ld b, a + call CopyBytes + call CloseSRAM + ret +; 17d6a1 + + +Function17d6a1: ; 17d6a1 + push hl + ld a, [wcd6e] + ld c, a + ld b, $0 + ld a, $5 + call GetSRAMBank + ld hl, $b1d3 + add hl, bc + add hl, bc + ld a, [hli] + ld [wcd47], a + ld a, [hl] + ld [BGMapPalBuffer], a + ld hl, $b1b3 + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld h, a + ld l, c + call CloseSRAM + ld a, $6 + call GetSRAMBank + ld a, l + ld [wcd5e], a + ld a, h + ld [wcd5f], a + ld de, wcd60 + ld bc, $0004 + call CopyBytes + inc hl + inc hl + ld de, wcd64 + ld bc, $0004 + call CopyBytes + ld a, [hli] + ld [wcd69], a + ld a, [hli] + ld [wcd68], a + ld a, l + ld [wcd6a], a + ld a, h + ld [wcd6b], a + call CloseSRAM + pop hl + ret +; 17d6fd + +Function17d6fd: ; 17d6fd + ld a, [wcd77] + bit 7, a + jr nz, asm_17d721 + ld a, [wcd78] + ld l, a + ld a, [wcd79] + ld h, a + ld a, [hl] + cp $ff + jr z, asm_17d721 + +Function17d711: +.asm_17d711 + cp $31 + jr nc, .asm_17d711 + ld e, a + ld d, 0 + ld hl, Jumptable_17d72a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +asm_17d721 + call Function17e5af + ld a, $2 + ld [wcd77], a + ret +; 17d72a + +Jumptable_17d72a: ; 17d72a + dw Function17d78c + dw Function17d78d + dw Function17d7b4 + dw Function17d7c2 + dw Function17d7d3 + dw Function17d7e5 + dw Function17d818 + dw Function17d833 + dw Function17d85d + dw Function17d902 + dw Function17d93a + dw Function17d98b + dw Function17d9e3 + dw Function17da31 + dw Function17da9c + dw Function17dadc + dw Function17db2d + dw Function17db56 + dw Function17db77 + dw Function17dbe9 + dw Function17dc1f + dw Function17dc9f + dw Function17dca9 + dw Function17dccf + dw Function17dd13 + dw Function17dd30 + dw Function17dd49 + dw Function17ddcd + dw Function17de32 + dw Function17de91 + dw Function17ded9 + dw Function17e0fd + dw Function17e133 + dw Function17e165 + dw Function17e1a1 + dw Function17e254 + dw Function17e261 + dw Function17e270 + dw Function17e27f + dw Function17e293 + dw Function17e2a7 + dw Function17e367 + dw Function17e37e + dw Function17e395 + dw Function17e3ac + dw Function17e3c3 + dw Function17e3e0 + dw Function17e3f0 + dw Function17e409 +; 17d78c + +Function17d78c: ; 17d78c + ret +; 17d78d + +Function17d78d: ; 17d78d + call Function17e415 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + ld a, $6 + call GetSRAMBank + ld hl, $a006 + add hl, bc + ld de, Unkn1Pals + ld bc, $1000 + call CopyBytes + call CloseSRAM + xor a + ld [wcd77], a + call WhiteBGMap + ret +; 17d7b4 + +Function17d7b4: ; 17d7b4 + call Function17e415 + ld a, [hli] + ld e, a + ld d, $0 + call PlayMusic2 + call Function17e41e + ret +; 17d7c2 + +Function17d7c2: ; 17d7c2 + call Function17e415 + ld a, [hli] + ld e, a + ld d, $0 + call PlaySFX + call WaitSFX + call Function17e41e + ret +; 17d7d3 + +Function17d7d3: ; 17d7d3 + call Function17e415 + ld a, [hli] + dec a + ld e, a + ld d, $0 + call PlayCryHeader + call WaitSFX + call Function17e41e + ret +; 17d7e5 + +Function17d7e5: ; 17d7e5 + call Function17e415 + ld a, [hli] + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [wcd51], a + ld a, [hli] + ld [wcd52], a + ld a, [hli] + sla a + sla a + sla a + add $98 + ld [wcd53], a + ld de, wcd4f + call Function17e613 + ld a, [hli] + ld [wcd53], a + ld de, wcd4f + call Function17e691 + call Function17e41e + ret +; 17d818 + +Function17d818: ; 17d818 + call Function17e415 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + call Function17e41e + call Function17e447 + ld e, l + ld d, h + ld hl, TileMap + add hl, bc + call PlaceString + ret +; 17d833 + +Function17d833: ; 17d833 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + push de + push bc + call Function17e32b + pop bc + pop de + call Function17e43d + ld c, l + ld b, h + ld hl, TileMap + add hl, de + ld e, l + ld d, h + callba Function11c08f + call Function17e349 + ret +; 17d85d + +Function17d85d: ; 17d85d + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + ld hl, Unkn1Pals + add hl, de + ld de, wcc60 +.asm_17d86c + ld a, [hli] + ld [de], a + inc de + and a + jr nz, .asm_17d86c + pop hl + ld de, $c608 + ld c, $0 +.asm_17d878 + ld a, [hli] + cp $ff + jr z, .asm_17d8c7 + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [wcd51], a + ld a, [hli] + ld [wcd52], a + ld a, [wcd51] + push af + cp $c0 + jr c, .asm_17d89b + ld a, [wcd4f] + ld [rSVBK], a + jr .asm_17d8a1 + +.asm_17d89b + ld a, [wcd4f] + call GetSRAMBank + +.asm_17d8a1 + push hl + ld a, [wcd50] + ld l, a + ld a, [wcd51] + ld h, a + ld a, [wcd52] +.asm_17d8ad + push af + ld a, [hli] + ld [de], a + inc de + inc c + pop af + dec a + jr nz, .asm_17d8ad + pop hl + pop af + cp $c0 + jr c, .asm_17d8c2 + ld a, $4 + ld [rSVBK], a + jr .asm_17d878 + +.asm_17d8c2 + call CloseSRAM + jr .asm_17d878 + +.asm_17d8c7 + call Function17e41e + push bc + ld a, $3 + ld [rSVBK], a + ld hl, $c608 + ld de, Unkn1Pals + ld b, $0 + call CopyBytes + ld a, $4 + ld [rSVBK], a + call Function17e32b + pop bc + ld a, c + ld [wcd3b], a + xor a + ld [wcf66], a + callba Function118329 + ld a, [wc300] + and a + jr z, .asm_17d8fe + cp $a + jr z, .asm_17d8fe + call Function17e309 + ret + +.asm_17d8fe + call Function17e349 + ret +; 17d902 + +Function17d902: ; 17d902 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + call Function17e41e + call Function17e32b + pop de + ld hl, Unkn1Pals + add hl, de + ld de, wcc60 +.asm_17d918 + ld a, [hli] + ld [de], a + inc de + and a + jr nz, .asm_17d918 + xor a + ld [wcf66], a + callba Function11837a + ld a, [wc300] + and a + jr z, .asm_17d936 + cp $a + jr z, .asm_17d936 + call Function17e309 + ret + +.asm_17d936 + call Function17e349 + ret +; 17d93a + +Function17d93a: ; 17d93a + call Function17e415 + ld de, wc708 + ld bc, $0005 + call CopyBytes + call Function17e41e + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wc70c] + call Function17e6de + ld a, [wc70a] + ld [CurPartySpecies], a + ld a, [wc70c] + ld e, a + callba Function8bc6 + call Function32f9 + ld a, [wc708] + ld l, a + ld a, [wc709] + ld h, a + ld a, [wc70b] + ld c, a + ld de, TileMap + add hl, de + ld e, l + ld d, h + callba Functiond066e + pop af + ld [rSVBK], a + call Function17e349 + ret +; 17d98b + +Function17d98b: ; 17d98b + call Function17e415 + ld de, wc708 + ld bc, $0004 + call CopyBytes + call Function17e41e + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wc70b] + call Function17e6de + ld a, [wc70a] + ld [TrainerClass], a + ld a, [wc70b] + ld e, a + callba Function8bbd + call Function32f9 + ld a, [wc708] + ld e, a + ld a, [wc709] + ld d, a + push de + ld de, VTiles2 + callba GetTrainerPic + pop hl + ld de, TileMap + add hl, de + ld bc, $0707 + predef FillBox + pop af + ld [rSVBK], a + call Function17e349 + ret +; 17d9e3 + +Function17d9e3: ; 17d9e3 + call Function17e415 + ld de, wc708 + ld bc, $0007 + call CopyBytes + call Function17e41e + ld a, [wc70b] + push af + cp $c0 + jr c, .asm_17da01 + ld a, [wc70c] + ld [rSVBK], a + jr .asm_17da07 + +.asm_17da01 + ld a, [wc70c] + call GetSRAMBank + +.asm_17da07 + ld a, [wc708] + ld l, a + ld a, [wc709] + ld h, a + ld a, [wc70a] + ld e, a + ld a, [wc70b] + ld d, a + ld a, [wc70d] + ld c, a + ld a, [wc70e] + ld b, a + call CopyBytes + pop af + cp $c0 + jr c, .asm_17da2d + ld a, $4 + ld [rSVBK], a + jr .asm_17da30 + +.asm_17da2d + call CloseSRAM + +.asm_17da30 + ret +; 17da31 + +Function17da31: ; 17da31 + call Function17e415 + ld de, wc708 + ld bc, $0004 + call CopyBytes + call Function17e41e + ld a, [wc709] + push af + cp $c0 + jr c, .asm_17da4f + ld a, [wc70a] + ld [rSVBK], a + jr .asm_17da55 + +.asm_17da4f + ld a, [wc70a] + call GetSRAMBank + +.asm_17da55 + ld a, [wc708] + ld e, a + ld a, [wc709] + ld d, a + ld a, [wc70b] + ld c, a + bit 7, c + jr nz, .asm_17da70 + ld hl, Unknown_17da8c + ld b, $0 + add hl, bc + ld a, [de] + or [hl] + ld [de], a + jr .asm_17da7d + +.asm_17da70 + ld hl, Unknown_17da94 + ld a, c + and $7f + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + and [hl] + ld [de], a + +.asm_17da7d + pop af + cp $c0 + jr c, .asm_17da88 + ld a, $4 + ld [rSVBK], a + jr .asm_17da8b + +.asm_17da88 + call CloseSRAM + +.asm_17da8b + ret +; 17da8c + +Unknown_17da8c: +x = 0 + rept 8 + db 1 << x +x = x + 1 + endr + +Unknown_17da94: +x = 0 + rept 8 + db (1 << x) ^ $ff +x = x + 1 + endr +; 17da9c + +Function17da9c: ; 17da9c + ld a, [wcd31] + dec a + jr z, .asm_17dabd + push af + call Function17e566 + pop af + ld [wcd31], a + ld hl, wcd24 + ld a, [wcd2e] + sub [hl] + ld [wcd2e], a + call Function17e55b + call Function17e5af +.asm_17daba + jp Function17e415 + +.asm_17dabd + ld a, [wcd2f] + and a + jr z, .asm_17daba + ld hl, wcd24 + sub [hl] + ld [wcd2f], a + ld a, [wcd2e] + sub [hl] + ld [wcd2e], a + call Function17e451 + call Function17e55b + call Function17e5af + jr .asm_17daba +; 17dadc + +Function17dadc: ; 17dadc + ld a, [wcd2e] + ld hl, wcd24 + add [hl] + ld hl, wcd42 + cp [hl] + jr z, .asm_17db0e + jr nc, .asm_17db0e + ld hl, wcd31 + ld a, [wcd2b] + cp [hl] + jr z, .asm_17db11 + call Function17e566 + ld a, [wcd31] + inc a + ld [wcd31], a + ld hl, wcd24 + ld a, [wcd2e] + add [hl] + ld [wcd2e], a + call Function17e55b + call Function17e5af + +.asm_17db0e + jp Function17e415 + +.asm_17db11 + ld hl, wcd24 + ld a, [wcd2f] + add [hl] + ld [wcd2f], a + ld a, [wcd2e] + add [hl] + ld [wcd2e], a + call Function17e451 + call Function17e55b + call Function17e5af + jr .asm_17db0e +; 17db2d + +Function17db2d: ; 17db2d + ld a, [wcd30] + ld hl, wcd24 + cp [hl] + jr z, .asm_17db53 + ld hl, wcd42 + ld a, [wcd2e] + inc a + cp [hl] + jr z, .asm_17db53 + ld [wcd2e], a + call Function17e566 + ld a, [wcd30] + inc a + ld [wcd30], a + call Function17e55b + call Function17e5af + +.asm_17db53 + jp Function17e415 +; 17db56 + +Function17db56: ; 17db56 + ld a, [wcd30] + cp $1 + jr z, .asm_17db74 + call Function17e566 + ld a, [wcd30] + dec a + ld [wcd30], a + ld a, [wcd2e] + dec a + ld [wcd2e], a + call Function17e55b + call Function17e5af + +.asm_17db74 + jp Function17e415 +; 17db77 + +Function17db77: ; 17db77 + ld hl, wcd2d + ld a, [wcd2f] + add [hl] + ld hl, wcd42 + cp [hl] + jr z, .asm_17dbae + jr nc, .asm_17dbae + call Function17e566 + ld hl, wcd2d + ld a, [wcd2f] + add [hl] + ld [wcd2f], a + ld a, [wcd2e] + add [hl] + ld hl, wcd42 + cp [hl] + jr c, .asm_17db9f + ld a, [hl] + dec a + +.asm_17db9f + ld [wcd2e], a + call Function17dbb1 + call Function17e451 + call Function17e55b + call Function17e5af + +.asm_17dbae + jp Function17e415 +; 17dbb1 + +Function17dbb1: ; 17dbb1 + ld hl, wcd2f + ld a, [wcd42] + sub [hl] + ld hl, wcd2d + cp [hl] + ret nc + ld a, $1 + ld [wcd30], a + ld [wcd31], a + ld a, [wcd24] + ld c, a + ld a, [wcd24] + ld b, a + ld a, [wcd2e] + ld hl, wcd2f + sub [hl] +.asm_17dbd4 + and a + ret z + push af + ld hl, wcd30 + ld a, b + cp [hl] + jr nz, .asm_17dbe4 + ld a, $1 + ld [hl], a + ld hl, wcd31 + +.asm_17dbe4 + inc [hl] + pop af + dec a + jr .asm_17dbd4 +; 17dbe9 + +Function17dbe9: ; 17dbe9 + ld hl, wcd2d + ld a, [wcd2f] + sub [hl] + bit 7, a + jr z, .asm_17dbf5 + xor a + +.asm_17dbf5 + ld [wcd2f], a + ld a, [wcd30] + dec a + ld c, a + ld a, [wcd31] + ld b, a + xor a + ld hl, wcd24 +.asm_17dc05 + dec b + jr z, .asm_17dc0b + add [hl] + jr .asm_17dc05 + +.asm_17dc0b + add c + ld hl, wcd2f + add [hl] + ld [wcd2e], a + call Function17e451 + call Function17e55b + call Function17e5af + jp Function17e415 +; 17dc1f + +Function17dc1f: ; 17dc1f + call Function17e415 + ld de, $c688 + ld bc, $0006 + call CopyBytes + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, $c688 + ld a, $40 + ld [wc708], a + ld a, [hli] + ld [wc70a], a + add $5 + ld [wc70c], a + ld a, [hli] + ld [wc709], a + add $4 + ld [wc70b], a + ld a, $96 + ld [wc70d], a + ld a, $5c + ld [wc70e], a + ld a, $1 + ld [wc70f], a + ld hl, wc708 + call LoadMenuDataHeader + call Function1d81 + jr nc, .asm_17dc6e + ld a, $2 + ld [wcfa9], a + +.asm_17dc6e + call Function1c17 + pop af + ld [rSVBK], a + ld a, [wcfa9] + cp $1 + jr nz, .asm_17dc85 + ld a, [$c68a] + ld l, a + ld a, [$c68a + 1] + ld h, a + jr .asm_17dc8d + +.asm_17dc85 + ld a, [$c68a + 2] + ld l, a + ld a, [$c68a + 3] + ld h, a + +.asm_17dc8d + push hl + call Function17e349 + pop hl + call Function17e40f + ret +; 17dc96 + +MenuData2_17dc96: + db $e0 ; flags + db 2 + db "はい@" + db "いいえ@" +; 17dc9f + +Function17dc9f: ; 17dc9f + call Function17e415 + call Function17e41e + call Function4dd + ret +; 17dca9 + +Function17dca9: ; 17dca9 + call Function17e415 + call Function17e41e + +Function17dcaf: + ld a, $5 + ld [rSVBK], a + ld hl, Unkn1Pals + ld de, $0008 + ld c, $8 +.asm_17dcbb + push hl + ld a, $ff + ld [hli], a + ld a, $7f + ld [hl], a + pop hl + add hl, de + dec c + jr nz, .asm_17dcbb + call Function4b6 + ld a, $4 + ld [rSVBK], a + ret +; 17dccf + +Function17dccf: ; 17dccf + call Function17e415 + push hl + ld a, [wcd4b] + ld l, a + ld a, [wcd4c] + ld h, a + ld a, [wcd2e] + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + call Function17e43d + call Function17e41e +.asm_17dced + ld a, [wcd78] + ld l, a + ld a, [wcd79] + ld h, a + ld a, [hl] + cp $ff + jr z, .asm_17dd0d +.asm_17dcfa + cp $31 + jr nc, .asm_17dcfa + call Function17d711 + ld a, [wcd77] + bit 7, a + jr nz, .asm_17dd0d + and a + jr z, .asm_17dd11 + jr .asm_17dced + +.asm_17dd0d + pop hl + jp Function17e41e + +.asm_17dd11 + pop hl + ret +; 17dd13 + +Function17dd13: ; 17dd13 + call Function17e415 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + call Function17e41e + call Function17e447 + push hl + ld hl, TileMap + add hl, bc + push hl + pop bc + pop hl + call Function13e5 + ret +; 17dd30 + +Function17dd30: ; 17dd30 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld b, $0 + ld a, [hli] + push af + call Function17e41e + pop af + ld hl, TileMap + add hl, de + call Function17e600 + ret +; 17dd49 + +Function17dd49: ; 17dd49 + call Function17e415 + ld de, wc708 + ld bc, $000a + call CopyBytes + ld a, [wc711] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wc70a] + cp $c0 + jr c, .asm_17dd6c + ld a, [wc708] + ld [rSVBK], a + jr .asm_17dd72 + +.asm_17dd6c + ld a, [wc708] + call GetSRAMBank + +.asm_17dd72 + ld a, [wc709] + ld l, a + ld a, [wc70a] + ld h, a + ld de, $c688 + ld a, [wc711] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wc70a] + cp $c0 + jr c, .asm_17dd93 + ld a, $4 + ld [rSVBK], a + jr .asm_17dd96 + +.asm_17dd93 + call CloseSRAM + +.asm_17dd96 + ld a, [wc711] + ld c, a + ld hl, wc712 + ld de, $c688 +.asm_17dda0 + ld a, [de] + inc de + cp [hl] + inc hl + jr z, .asm_17ddaa + jr c, .asm_17ddc1 + jr .asm_17ddb7 + +.asm_17ddaa + dec c + jr nz, .asm_17dda0 + ld a, [wc70d] + ld l, a + ld a, [wc70e] + ld h, a + jr .asm_17ddc9 + +.asm_17ddb7 + ld a, [wc70f] + ld l, a + ld a, [wc710] + ld h, a + jr .asm_17ddc9 + +.asm_17ddc1 + ld a, [wc70b] + ld l, a + ld a, [wc70c] + ld h, a + +.asm_17ddc9 + call Function17e40f + ret +; 17ddcd + +Function17ddcd: ; 17ddcd + call Function17e415 + ld de, wc708 + ld bc, $0008 + call CopyBytes + ld a, [wc70a] + cp $c0 + jr c, .asm_17dde7 + ld a, [wc708] + ld [rSVBK], a + jr .asm_17dded + +.asm_17dde7 + ld a, [wc708] + call GetSRAMBank + +.asm_17dded + ld a, [wc709] + ld e, a + ld a, [wc70a] + ld d, a + ld a, [de] + ld [wc710], a + ld a, [wc70b] + ld c, a + ld b, $0 + ld a, [wc70a] + cp $c0 + jr c, .asm_17de0c + ld a, $4 + ld [rSVBK], a + jr .asm_17de0f + +.asm_17de0c + call CloseSRAM + +.asm_17de0f + push hl + ld hl, Unknown_17da8c + add hl, bc + ld a, [hl] + ld hl, wc710 + and [hl] + pop hl + jr nz, .asm_17de26 + ld a, [wc70e] + ld l, a + ld a, [wc70f] + ld h, a + jr .asm_17de2e + +.asm_17de26 + ld a, [wc70c] + ld l, a + ld a, [wc70d] + ld h, a + +.asm_17de2e + call Function17e40f + ret +; 17de32 + +Function17de32: ; 17de32 + call Function17e415 + ld de, wc708 + ld bc, $0009 + call CopyBytes + ld a, [wc710] + ld c, a + ld b, $0 + call CopyBytes + ld a, $6 + call GetSRAMBank + call Function17f4f6 + ld a, [wc708] + ld e, a + ld a, [wc709] + ld d, a + add hl, de + ld e, l + ld d, h + ld a, [wc710] + ld c, a + ld hl, wc711 +.asm_17de61 + ld a, [de] + inc de + cp [hl] + inc hl + jr z, .asm_17de6b + jr c, .asm_17de82 + jr .asm_17de78 + +.asm_17de6b + dec c + jr nz, .asm_17de61 + ld a, [wc70c] + ld l, a + ld a, [wc70d] + ld h, a + jr .asm_17de8a + +.asm_17de78 + ld a, [wc70e] + ld l, a + ld a, [wc70f] + ld h, a + jr .asm_17de8a + +.asm_17de82 + ld a, [wc70a] + ld l, a + ld a, [wc70b] + ld h, a + +.asm_17de8a + call CloseSRAM + call Function17e40f + ret +; 17de91 + +Function17de91: ; 17de91 + call Function17e415 + ld de, wc708 + ld bc, $0007 + call CopyBytes + ld a, $6 + call GetSRAMBank + call Function17f4f6 + ld a, [wc708] + ld e, a + ld a, [wc709] + ld d, a + add hl, de + ld e, l + ld d, h + ld a, [wc70a] + ld c, a + ld b, $0 + ld hl, Unknown_17da8c + add hl, bc + ld a, [hl] + ld l, e + ld h, d + and [hl] + jr nz, .asm_17deca + ld a, [wc70d] + ld l, a + ld a, [wc70e] + ld h, a + jr .asm_17ded2 + +.asm_17deca + ld a, [wc70b] + ld l, a + ld a, [wc70c] + ld h, a + +.asm_17ded2 + call CloseSRAM + call Function17e40f + ret +; 17ded9 + +Function17ded9: ; 17ded9 + call Function17e415 + ld de, wc708 + ld bc, $001f + call CopyBytes + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, wc708 + ld a, [hli] + ld [CurPartySpecies], a + ld [TempEnemyMonSpecies], a + ld a, [hli] + ld [CurPartyLevel], a + ld a, [hli] + ld b, a + ld a, [PartyCount] + cp $6 + jp nc, Function17e026 + xor a + ld [MonType], a + push hl + push bc + predef Functiond88c + callba Function4db49 + pop bc + pop hl + bit 1, b + jr z, .asm_17df33 + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMonNicknames + call SkipNames + ld d, h + ld e, l + pop hl + call CopyBytes + pop bc + jr .asm_17df37 + +.asm_17df33 + ld de, $0006 + add hl, de + +.asm_17df37 + bit 2, b + jr z, .asm_17df5a + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMonOT + call SkipNames + ld d, h + ld e, l + pop hl + call CopyBytes + ld a, [hli] + ld b, a + push hl + callba Function4dba3 + pop hl + pop bc + jr .asm_17df5e + +.asm_17df5a + ld de, $0007 + add hl, de + +.asm_17df5e + bit 3, b + jr z, .asm_17df79 + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1ID + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + pop bc + jr .asm_17df7b + +.asm_17df79 + inc hl + inc hl + +.asm_17df7b + bit 4, b + jr z, .asm_17dfd0 + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1DVs + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1Species + call GetPartyLocation + ld a, [hl] + ld [CurSpecies], a + call GetBaseData + ld a, [PartyCount] + dec a + ld hl, PartyMon1MaxHP + call GetPartyLocation + ld d, h + ld e, l + push hl + ld b, $0 + callba Functione167 + ld a, [PartyCount] + dec a + ld hl, PartyMon1HP + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + pop hl + pop bc + jr .asm_17dfd2 + +.asm_17dfd0 + inc hl + inc hl + +.asm_17dfd2 + bit 5, b + jr z, .asm_17dfea + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1Item + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + pop bc + jr .asm_17dfeb + +.asm_17dfea + inc hl + +.asm_17dfeb + bit 6, b + jr z, .asm_17e01f + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1Moves + call GetPartyLocation + ld d, h + ld e, l + pop hl + push de + ld bc, $0004 + call CopyBytes + pop de + push hl + push de + ld a, [PartyCount] + dec a + ld hl, PartyMon1PP + call GetPartyLocation + ld d, h + ld e, l + pop hl + predef FillPP + pop hl + pop bc + jp asm_17e0ee + +.asm_17e01f + ld de, $0004 + add hl, de + jp asm_17e0ee +; 17e026 + +Function17e026: ; 17e026 + ld a, $1 + call GetSRAMBank + ld a, [sBoxCount] + call CloseSRAM + cp $14 + jp nc, .asm_17e0ea + bit 0, b + jp z, .asm_17e0ea + push bc + push hl + callba LoadEnemyMon + callba Functionde6e + callba Function4db83 + pop hl + pop bc + ld a, $1 + call GetSRAMBank + bit 1, b + jr z, .asm_17e067 + push bc + ld bc, $000b + ld de, sBoxMonNicknames + call CopyBytes + pop bc + jr .asm_17e06b + +.asm_17e067 + ld de, $0006 + add hl, de + +.asm_17e06b + bit 2, b + jr z, .asm_17e08e + push bc + ld bc, $0006 + ld de, sBoxMonOT + call CopyBytes + ld a, [hli] + ld b, a + push hl + call CloseSRAM + callba Function4db92 + ld a, $1 + call GetSRAMBank + pop hl + pop bc + jr .asm_17e092 + +.asm_17e08e + ld de, $0007 + add hl, de + +.asm_17e092 + bit 3, b + jr z, .asm_17e0a2 + push bc + ld de, sBoxMon1ID + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + pop bc + jr .asm_17e0a4 + +.asm_17e0a2 + inc hl + inc hl + +.asm_17e0a4 + bit 4, b + jr z, .asm_17e0b4 + push bc + ld de, sBoxMon1DVs + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + pop bc + jr .asm_17e0b6 + +.asm_17e0b4 + inc hl + inc hl + +.asm_17e0b6 + bit 5, b + ld a, [hli] + jr z, .asm_17e0be + ld [sBoxMon1Item], a + +.asm_17e0be + bit 6, b + jr z, .asm_17e0e1 + push bc + ld de, sBoxMon1Moves + ld bc, $0004 + call CopyBytes + push hl + ld hl, sBoxMon1Moves + ld de, sBoxMon1PP + predef FillPP + call CloseSRAM + pop hl + pop bc + inc hl + inc hl + jr asm_17e0ee + +.asm_17e0e1 + call CloseSRAM + ld de, $0006 + add hl, de + jr asm_17e0ee + +.asm_17e0ea + ld bc, $001a + add hl, bc + +asm_17e0ee + ld a, [hli] + ld h, [hl] + ld l, a + pop af + ld [rSVBK], a + push hl + call Function17e349 + pop hl + call Function17e40f + ret +; 17e0fd + +Function17e0fd: ; 17e0fd + call Function17e415 + ld de, wc708 + ld bc, $0006 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, wc708 + ld a, [hli] + ld [CurItem], a + ld a, [hli] + ld [wd10c], a + push hl + ld hl, NumItems + call ReceiveItem + pop hl + jr c, .asm_17e127 + inc hl + inc hl + +.asm_17e127 + ld a, [hli] + ld b, a + ld a, [hl] + ld h, a + ld l, b + pop af + ld [rSVBK], a + call Function17e40f + ret +; 17e133 + +Function17e133: ; 17e133 + call Function17e415 + ld de, wc708 + ld bc, $0005 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, wc708 + ld a, [hli] + ld [ScriptVar], a + push hl + callba Function4a843 + pop hl + jr c, .asm_17e159 + inc hl + inc hl + +.asm_17e159 + ld a, [hli] + ld b, a + ld a, [hl] + ld h, a + ld l, b + pop af + ld [rSVBK], a + call Function17e40f + ret +; 17e165 + +Function17e165: ; 17e165 + call Function17e415 + ld de, wc708 + ld bc, $0005 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, wc708 + ld a, [hli] + ld [CurItem], a + push hl + ld hl, NumItems + call CheckItem + pop hl + jr c, .asm_17e195 + push hl + ld hl, PCItems + call CheckItem + pop hl + jr c, .asm_17e195 + inc hl + inc hl + +.asm_17e195 + ld a, [hli] + ld b, a + ld a, [hl] + ld h, a + ld l, b + pop af + ld [rSVBK], a + call Function17e40f + ret +; 17e1a1 + +Function17e1a1: ; 17e1a1 + call Function17e415 + ld de, wc708 + ld bc, $000d + call CopyBytes + ld a, [wc70a] + cp $c0 + jr c, .asm_17e1bb + ld a, [wc708] + ld [rSVBK], a + jr .asm_17e1c1 + +.asm_17e1bb + ld a, [wc708] + call GetSRAMBank + +.asm_17e1c1 + ld a, [wc709] + ld l, a + ld a, [wc70a] + ld h, a + ld de, $c608 + ld a, [wc70b] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wc70a] + cp $c0 + jr c, .asm_17e1e2 + ld a, $4 + ld [rSVBK], a + jr .asm_17e1e5 + +.asm_17e1e2 + call CloseSRAM + +.asm_17e1e5 + ld a, [wc70e] + cp $c0 + jr c, .asm_17e1f3 + ld a, [wc70c] + ld [rSVBK], a + jr .asm_17e1f9 + +.asm_17e1f3 + ld a, [wc70c] + call GetSRAMBank + +.asm_17e1f9 + ld a, [wc70d] + ld l, a + ld a, [wc70e] + ld h, a + ld de, $c688 + ld a, [wc70b] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wc70e] + cp $c0 + jr c, .asm_17e21a + ld a, $4 + ld [rSVBK], a + jr .asm_17e21d + +.asm_17e21a + call CloseSRAM + +.asm_17e21d + ld a, [wc70b] + ld c, a + ld hl, $c688 + ld de, $c608 +.asm_17e227 + ld a, [de] + inc de + cp [hl] + inc hl + jr z, .asm_17e231 + jr c, .asm_17e23e + jr .asm_17e248 + +.asm_17e231 + dec c + jr nz, .asm_17e227 + ld a, [wc711] + ld l, a + ld a, [wc712] + ld h, a + jr .asm_17e250 + +.asm_17e23e + ld a, [wc70f] + ld l, a + ld a, [wc710] + ld h, a + jr .asm_17e250 + +.asm_17e248 + ld a, [wc712 + 1] + ld l, a + ld a, [wc712 + 2] + ld h, a + +.asm_17e250 + call Function17e40f + ret +; 17e254 + +Function17e254: ; 17e254 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [de], a + call Function17e41e + ret +; 17e261 + +Function17e261: ; 17e261 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [de] + add [hl] + ld [de], a + inc hl + call Function17e41e + ret +; 17e270 + +Function17e270: ; 17e270 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [de] + sub [hl] + ld [de], a + inc hl + call Function17e41e + ret +; 17e27f + +Function17e27f: ; 17e27f + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + ld l, c + ld h, b + ld a, [de] + add [hl] + ld [de], a + ret +; 17e293 + +Function17e293: ; 17e293 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + ld l, c + ld h, b + ld a, [de] + sub [hl] + ld [de], a + ret +; 17e2a7 + +Function17e2a7: ; 17e2a7 + call Function17e415 + call Function17e41e + call Function17e32b + xor a + ld [wcf66], a + callba Function118233 + ld de, GFX_17eb7e + ld hl, $9600 + lb bc, BANK(GFX_17eb7e), 1 + call Get2bpp + ld a, [wc300] + and a + jr z, .asm_17e2d8 + cp $a + jr z, .asm_17e2f7 + cp $b + jr z, .asm_17e300 + call Function17e309 + ret + +.asm_17e2d8 + call Function17d60b + call Function17e349 + xor a + ld [wcd7a], a + ld a, $5 + call GetSRAMBank + ld hl, $aa73 + ld de, $aa7f + ld bc, $000c + call CopyBytes + call CloseSRAM + ret + +.asm_17e2f7 + call Function17e349 + ld a, $1 + ld [wcd7a], a + ret + +.asm_17e300 + call Function17e349 + ld a, $2 + ld [wcd7a], a + ret +; 17e309 + +Function17e309: ; 17e309 + ld a, $2 + ld [wc303], a + call Function17dcaf + call ClearScreen + call Function17e349 + call Function17d5f6 + callba Function17f555 + call Function17e349 + call Function17dcaf + xor a + ld [wcd77], a + ret +; 17e32b + +Function17e32b: ; 17e32b + ld a, $5 + call GetSRAMBank + ld hl, $c608 + ld de, $b0b1 + ld bc, $0040 + call CopyBytes + ld hl, BGMapBuffer + ld bc, $005b + call CopyBytes + call CloseSRAM + ret +; 17e349 + +Function17e349: ; 17e349 + ld a, $5 + call GetSRAMBank + ld hl, $b0b1 + ld de, $c608 + ld bc, $0040 + call CopyBytes + ld de, BGMapBuffer + ld bc, $005b + call CopyBytes + call CloseSRAM + ret +; 17e367 + +Function17e367: ; 17e367 + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function14c10 + pop af + ld [rSVBK], a + ret +; 17e37e + +Function17e37e: ; 17e37e + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function14a58 + pop af + ld [rSVBK], a + ret +; 17e395 + +Function17e395: ; 17e395 + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function14e0c + pop af + ld [rSVBK], a + ret +; 17e3ac + +Function17e3ac: ; 17e3ac + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function14e13 + pop af + ld [rSVBK], a + ret +; 17e3c3 + +Function17e3c3: ; 17e3c3 + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function106155 + callba Function106187 + pop af + ld [rSVBK], a + ret +; 17e3e0 + +Function17e3e0: ; 17e3e0 + call Function17e415 + ld a, [hli] + ld c, a + call Function17e41e + ld a, $1 + ld [hBGMapMode], a + call DelayFrames + ret +; 17e3f0 + +Function17e3f0: ; 17e3f0 + call Function17e415 + call Function17e41e +.asm_17e3f6 + call Functiona57 + ld hl, hJoyPressed + ld a, [hl] + and $1 + ret nz + ld a, [hl] + and $2 + ret nz + call WaitBGMap + jr .asm_17e3f6 +; 17e409 + +Function17e409: ; 17e409 + ld hl, wcd77 + set 7, [hl] + ret +; 17e40f + +Function17e40f: ; 17e40f + ld de, Unkn1Pals + add hl, de + jr Function17e41e + +Function17e415: + ld a, [wcd78] + ld l, a + ld a, [wcd79] + ld h, a + inc hl + +Function17e41e: + ld a, l + ld [wcd78], a + ld a, h + ld [wcd79], a + ret +; 17e427 + +Function17e427: ; 17e427 + ld hl, hJoyPressed + ld a, [hl] + and $1 + jr nz, .asm_17e432 + and $2 + ret z + +.asm_17e432 + ld a, $3 + ld [wcd77], a + ret +; 17e438 + +Function17e438: ; 17e438 + ld hl, wcd77 + inc [hl] + ret +; 17e43d + +Function17e43d: ; 17e43d + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, bc + ret +; 17e447 + +Function17e447: ; 17e447 + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, de + ret +; 17e451 + +Function17e451: ; 17e451 + ld a, [wcd42] + and a + ret z + call Function17e51b + call Function17e4dd + ld a, [wcd2e] + push af + ld a, [wcd49] + ld l, a + ld a, [wcd4a] + ld h, a + ld a, [wcd2f] + ld [wcd2e], a + ld c, a + ld b, $0 + add hl, bc + add hl, bc + push hl + ld hl, TileMap + ld bc, $0014 + ld a, [wcd23] + call AddNTimes + ld a, [CreditsTimer] + ld c, a + ld b, $0 + add hl, bc + pop bc + ld a, [wcd25] +.asm_17e48b + push af + push hl + ld a, [wcd24] +.asm_17e490 + push af + push hl + ld a, [bc] + inc bc + ld e, a + ld a, [bc] + inc bc + ld d, a + push bc + push hl + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, de + push hl + pop de + pop hl + call PlaceString + pop bc + pop hl + ld a, [wcd26] + ld e, a + ld d, $0 + add hl, de + ld a, [wcd2e] + inc a + ld [wcd2e], a + ld e, a + ld a, [wcd42] + cp e + jr z, .asm_17e4d5 + pop af + dec a + jr nz, .asm_17e490 + pop hl + ld a, [wcd27] + ld de, $0014 +.asm_17e4cb + add hl, de + dec a + jr nz, .asm_17e4cb + pop af + dec a + jr nz, .asm_17e48b + jr .asm_17e4d8 + +.asm_17e4d5 + pop af + pop hl + pop af + +.asm_17e4d8 + pop af + ld [wcd2e], a + ret +; 17e4dd + +Function17e4dd: ; 17e4dd + ld a, [wcd2c] + and $1 + ret z + ld a, [wcd29] + ld hl, TileMap + ld bc, $0014 + call AddNTimes + ld a, [wcd28] + ld c, a + ld b, $0 + add hl, bc + ld a, [wcd2f] + and a + jr z, .asm_17e4ff + ld a, $61 + ld [hl], a + +.asm_17e4ff + ld a, [wcd2a] + ld bc, $0014 + call AddNTimes + ld a, [wcd42] + ld c, a + ld a, [wcd2e] + ld b, a + ld a, [wcd24] + add b + cp c + ret z + ret nc + ld a, $ee + ld [hl], a + ret +; 17e51b + +Function17e51b: ; 17e51b + ld a, [wcd28] + ld hl, CreditsTimer + sub [hl] + inc a + ld [wcd4f], a + ld hl, TileMap + ld bc, $0014 + ld a, [wcd23] + dec a + call AddNTimes + ld a, [CreditsTimer] + ld c, a + ld b, $0 + add hl, bc + ld a, [wcd25] + ld c, a + ld a, [wcd27] + call SimpleMultiply +.asm_17e544 + push af + push hl + ld a, [wcd4f] + ld c, a + ld b, $0 + ld a, $7f + call ByteFill + pop hl + ld bc, $0014 + add hl, bc + pop af + dec a + jr nz, .asm_17e544 + ret +; 17e55b + +Function17e55b: ; 17e55b + ld a, [wcd42] + and a + ret z + ld a, $ed + call Function17e571 + ret +; 17e566 + +Function17e566: ; 17e566 + ld a, [wcd42] + and a + ret z + ld a, $7f + call Function17e571 + ret +; 17e571 + +Function17e571: ; 17e571 + push af + ld hl, TileMap + ld bc, $0014 + ld a, [wcd23] + call AddNTimes + ld a, [CreditsTimer] + ld c, a + ld b, $0 + add hl, bc + dec hl + push hl + ld a, [wcd31] + dec a + ld c, a + ld a, [wcd27] + call SimpleMultiply + ld l, $0 + ld h, l + ld bc, $0014 + call AddNTimes + ld a, [wcd30] + dec a + ld c, a + ld a, [wcd26] + call SimpleMultiply + ld c, a + ld b, $0 + add hl, bc + pop bc + add hl, bc + pop af + ld [hl], a + ret +; 17e5af + +Function17e5af: ; 17e5af + ld a, [wcd2c] + and $2 + ret z + ld a, [wcd43] + ld l, a + ld a, [wcd44] + ld h, a + ld bc, TileMap + add hl, bc + ld bc, $ffec + add hl, bc + ld a, [wcd45] + ld c, a + ld b, $0 + ld a, [wcd46] + call Function17e600 + ld a, [wcd2e] + ld c, a + ld b, $0 + ld a, [wcd4d] + ld l, a + ld a, [wcd4e] + ld h, a + add hl, bc + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, de + push hl + pop de + ld a, [wcd43] + ld l, a + ld a, [wcd44] + ld h, a + ld bc, TileMap + add hl, bc + call PlaceString + ret +; 17e600 + +Function17e600: ; 17e600 +.asm_17e600 + push af + push hl + push bc + ld a, $7f + call ByteFill + pop bc + pop hl + ld de, $0014 + add hl, de + pop af + dec a + jr nz, .asm_17e600 + ret +; 17e613 + +Function17e613: ; 17e613 + push hl + ld hl, TileMap + ld bc, $0014 + ld a, [de] + inc de + push af + ld a, [de] + inc de + and a +.asm_17e620 + jr z, .asm_17e626 + add hl, bc + dec a + jr .asm_17e620 + +.asm_17e626 + pop af + ld c, a + ld b, $0 + add hl, bc + push hl + ld a, [wcd53] + ld [hli], a + ld a, [de] + inc de + dec a + dec a + jr z, .asm_17e63f + ld c, a + ld a, [wcd53] + inc a +.asm_17e63b + ld [hli], a + dec c + jr nz, .asm_17e63b + +.asm_17e63f + ld a, [wcd53] + add $2 + ld [hl], a + pop hl + ld bc, $0014 + add hl, bc + ld a, [de] + dec de + dec a + dec a + jr z, .asm_17e674 + ld b, a +.asm_17e651 + push hl + ld a, [wcd53] + add $3 + ld [hli], a + ld a, [de] + dec a + dec a + jr z, .asm_17e664 + ld c, a + ld a, $7f +.asm_17e660 + ld [hli], a + dec c + jr nz, .asm_17e660 + +.asm_17e664 + ld a, [wcd53] + add $4 + ld [hl], a + pop hl + push bc + ld bc, $0014 + add hl, bc + pop bc + dec b + jr nz, .asm_17e651 + +.asm_17e674 + ld a, [wcd53] + add $5 + ld [hli], a + ld a, [de] + dec a + dec a + jr z, .asm_17e689 + ld c, a + ld a, [wcd53] + add $6 +.asm_17e685 + ld [hli], a + dec c + jr nz, .asm_17e685 + +.asm_17e689 + ld a, [wcd53] + add $7 + ld [hl], a + pop hl + ret +; 17e691 + +Function17e691: ; 17e691 + push hl + ld hl, NULL + ld bc, $0014 + ld a, [de] + inc de + push af + ld a, [de] + inc de + inc de + and a +.asm_17e69f + jr z, .asm_17e6a5 + add hl, bc + dec a + jr .asm_17e69f + +.asm_17e6a5 + pop af + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + dec de +.asm_17e6ac + push af + push hl + ld a, [de] +.asm_17e6af + push af + push hl + push hl + ld bc, TileMap + add hl, bc + ld a, [hl] + cp $7f + jr z, .asm_17e6c2 + ld a, [wcd53] + add $8 + jr .asm_17e6c7 + +.asm_17e6c2 + ld a, [wcd53] + jr .asm_17e6c7 + +.asm_17e6c7 + pop hl + ld bc, AttrMap + add hl, bc + ld [hl], a + pop hl + inc hl + pop af + dec a + jr nz, .asm_17e6af + pop hl + ld bc, $0014 + add hl, bc + pop af + dec a + jr nz, .asm_17e6ac + pop hl + ret +; 17e6de + +Function17e6de: ; 17e6de + push af + ld a, [wc708] + ld l, a + ld a, [wc709] + ld h, a + ld de, AttrMap + add hl, de + pop af + ld b, $7 +.asm_17e6ee + push hl + ld c, $7 +.asm_17e6f1 + ld [hli], a + dec c + jr nz, .asm_17e6f1 + pop hl + ld de, $0014 + add hl, de + dec b + jr nz, .asm_17e6ee + ret +; 17e6fe + + +PokemonNewsGFX: ; 17e6fe +INCBIN "gfx/mobile/pokemon_news.2bpp" + +GFX_17eb7e: +INCBIN "gfx/unknown/17eb7e.2bpp" + +TileAttrmap_17eb8e: +INCBIN "gfx/unknown/17eb8e.attrmap" + +Palette_17eff6: + RGB 24, 9, 8 + RGB 4, 9, 18 + RGB 18, 18, 12 + RGB 0, 0, 0 + RGB 24, 24, 18 + RGB 18, 18, 12 + RGB 4, 9, 18 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 11, 10 + RGB 13, 6, 5 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 25, 5 + RGB 10, 20, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 28, 20 + RGB 10, 18, 15 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 22, 12 + RGB 17, 12, 5 + RGB 0, 0, 0 + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 27, 24, 0 + RGB 24, 16, 3 + RGB 0, 0, 0 + + +Function17f036:: ; 17f036 + ld a, $6 + call GetSRAMBank + inc de +.asm_17f03c + call Function17f047 + jr c, .asm_17f043 + jr .asm_17f03c + +.asm_17f043 + call CloseSRAM + ret +; 17f047 + +Function17f047: ; 17f047 + ld a, [de] + inc de + cp $50 + jr z, .asm_17f05f + cp $10 + jr nc, .asm_17f05f + dec a + push de + ld e, a + ld d, 0 + ld hl, Jumptable_17f061 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +.asm_17f05f + scf + ret +; 17f061 + +Jumptable_17f061: ; 17f061 + dw Function17f081 + dw Function17f0f8 + dw Function17f154 + dw Function17f181 + dw Function17f1d0 + dw Function17f220 + dw Function17f27b + dw Function17f2cb + dw Function17f2ff + dw Function17f334 + dw Function17f382 + dw Function17f3c9 + dw Function17f3f0 + dw Function17f41d + dw Function17f44f + dw Function17f44f +; 17f081 + +Function17f081: ; 17f081 + pop hl + call Function17f524 + jr c, .asm_17f09f + ld de, $0004 + add hl, de + ld a, [hli] + inc hl + inc hl + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f09d + and a + ret + +.asm_17f09d + scf + ret + +.asm_17f09f + push bc + ld de, wcd54 + ld bc, $0007 + call CopyBytes + pop bc + push hl + push bc + call Function17f4f6 + pop bc + ld a, [wcd54] + ld e, a + ld a, [wcd55] + ld d, a + add hl, de + ld e, l + ld d, h + ld l, c + ld h, b + push hl + ld a, [wcd56] + ld b, a + ld a, [wcd57] + ld c, a + call Function31a4 + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + ld a, [wcd59] + and a + jr z, .asm_17f0ee + ld c, a + ld a, [wcd57] + inc a + ld b, a + ld e, l + ld d, h + dec de +.asm_17f0e0 + ld a, c + cp b + jr z, .asm_17f0ea + ld a, [de] + dec de + ld [hld], a + dec b + jr .asm_17f0e0 + +.asm_17f0ea + ld a, [wcd5a] + ld [hl], a + +.asm_17f0ee + pop hl + ld a, [wcd58] + call Function17f50f + pop de + and a + ret +; 17f0f8 + +Function17f0f8: ; 17f0f8 + pop hl + call Function17f524 + jr c, .asm_17f114 + ld de, $0003 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f112 + and a + ret + +.asm_17f112 + scf + ret + +.asm_17f114 + push bc + ld de, wcd54 + ld bc, $0004 + call CopyBytes + pop bc + push hl + push bc + call Function17f4f6 + ld a, [wcd54] + ld e, a + ld a, [wcd55] + ld d, a + add hl, de + ld de, $c608 + ld a, [wcd56] + ld c, a + ld b, $0 + call CopyBytes + ld a, $50 + ld [de], a + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd57] + call Function17f50f + pop de + and a + ret +; 17f154 + +Function17f154: ; 17f154 + pop hl + call Function17f524 + jr c, .asm_17f167 + inc hl + inc hl + ld e, l + ld d, h + ld a, [de] + cp $50 + jr z, .asm_17f165 + and a + ret + +.asm_17f165 + scf + ret + +.asm_17f167 + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld c, l + ld b, h + pop de + callba Function11c08f + ld c, l + ld b, h + pop de + and a + ret +; 17f181 + +Function17f181: ; 17f181 + pop hl + call Function17f524 + jr c, .asm_17f19d + ld de, $0002 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f19b + and a + ret + +.asm_17f19b + scf + ret + +.asm_17f19d + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld c, a + ld de, $c608 + callba Function48c63 + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f1d0 + +Function17f1d0: ; 17f1d0 + pop hl + call Function17f524 + jr c, .asm_17f1ec + ld de, $0002 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f1ea + and a + ret + +.asm_17f1ea + scf + ret + +.asm_17f1ec + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld a, $1 + ld [rSVBK], a + ld [wd265], a + call GetPokemonName + pop hl + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, $4 + ld [rSVBK], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f220 + +Function17f220: ; 17f220 + pop hl + call Function17f524 + jr c, .asm_17f23c + ld de, $0002 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f23a + and a + ret + +.asm_17f23a + scf + ret + +.asm_17f23c + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld e, a + ld d, 0 + ld hl, .Genders + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + pop hl + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f26e + +.Genders: dw .Boy, .Girl +.Boy: db "Boy@" +.Girl: db "Girl@" + +Function17f27b: ; 17f27b + pop hl + call Function17f524 + jr c, .asm_17f297 + ld de, $0002 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f295 + and a + ret + +.asm_17f295 + scf + ret + +.asm_17f297 + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld a, $1 + ld [rSVBK], a + ld [wd265], a + call GetItemName + pop hl + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, $4 + ld [rSVBK], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f2cb + +Function17f2cb: ; 17f2cb + pop hl + push bc + ld a, [hli] + ld [wcd54], a + ld a, [hli] + ld [wcd55], a + ld a, [wcd2e] + inc a + ld [wcd56], a + pop bc + push hl + ld l, c + ld h, b + push hl + ld de, wcd56 + ld b, $1 + ld a, [wcd54] + ld c, a + call Function31a4 + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + pop hl + ld a, [wcd55] + call Function17f50f + pop de + and a + ret +; 17f2ff + +Function17f2ff: ; 17f2ff + pop hl + push bc + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + ld a, $1 + ld [rSVBK], a + ld hl, PlayerName + ld de, $c608 + ld bc, $0006 + call CopyBytes + ld a, $4 + ld [rSVBK], a + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f334 + +Function17f334: ; 17f334 + pop hl + push bc + ld a, [hli] + ld [wcd55], a + and $f + ld [wcd54], a + pop bc + push hl + ld l, c + ld h, b + push hl + ld a, [wcd55] + bit 7, a + jr nz, .asm_17f355 + ld a, $1 + call GetSRAMBank + ld a, [$be3f] + jr .asm_17f35d + +.asm_17f355 + ld a, $5 + call GetSRAMBank + ld a, [$b2f3] + +.asm_17f35d + ld c, a + call CloseSRAM + ld de, $c608 + callba Function48c63 + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f382 + +Function17f382: ; 17f382 + pop hl + push bc + ld a, [hli] + ld [wcd55], a + and $f + ld [wcd54], a + pop bc + push hl + push bc + ld l, c + ld h, b + ld a, [wcd55] + bit 7, a + jr nz, .asm_17f3a3 + ld a, $1 + call GetSRAMBank + ld de, $be40 + jr .asm_17f3ab + +.asm_17f3a3 + ld a, $5 + call GetSRAMBank + ld de, $b2f4 + +.asm_17f3ab + ld a, $82 + ld b, a + ld a, $3 + ld c, a + call PrintNum + call CloseSRAM + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + pop hl + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f3c9 + +Function17f3c9: ; 17f3c9 + push bc + ld hl, wcd36 + ld de, wc708 + ld bc, $000c + call CopyBytes + pop de + ld c, $0 + callba Function11c075 + push hl + ld hl, wc708 + ld de, wcd36 + ld bc, $000c + call CopyBytes + pop bc + pop de + and a + ret +; 17f3f0 + +Function17f3f0: ; 17f3f0 + pop hl + push hl + ld a, [hli] + push af + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [de] + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, Unkn1Pals + add hl, de + ld e, l + ld d, h + pop hl + call PlaceString + pop af + ld e, a + ld d, $0 + pop hl + add hl, de + add hl, de + inc hl + inc hl + inc hl + ld e, l + ld d, h + ld l, c + ld h, b + scf + ret +; 17f41d + +Function17f41d: ; 17f41d + pop hl + ld a, [hli] + push hl + push af + ld l, c + ld h, b + ld bc, -TileMap + $10000 + add hl, bc + ld de, -SCREEN_WIDTH + ld c, $1 +.asm_17f42c + ld a, h + and a + jr nz, .asm_17f435 + ld a, l + cp SCREEN_WIDTH + jr c, .asm_17f439 + +.asm_17f435 + add hl, de + inc c + jr .asm_17f42c + +.asm_17f439 + ld hl, TileMap + ld de, SCREEN_WIDTH + ld a, c +.asm_17f440 + and a + jr z, .asm_17f447 + add hl, de + dec a + jr .asm_17f440 + +.asm_17f447 + pop af + ld e, a + ld d, 0 + add hl, de + pop de + and a + ret +; 17f44f + +Function17f44f: ; 17f44f + pop hl + call Function17f524 + jr c, .asm_17f46d + ld de, $0005 + add hl, de + ld a, [hli] + inc hl + inc hl + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, 0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f46b + and a + ret + +.asm_17f46b + scf + ret + +.asm_17f46d + push bc + ld de, wcd54 + ld bc, $0008 + call CopyBytes + pop bc + push hl + push bc + ld a, [wcd56] + cp $c0 + jr c, .asm_17f488 + ld a, [wcd54] + ld [rSVBK], a + jr .asm_17f48e + +.asm_17f488 + ld a, [wcd54] + call GetSRAMBank + +.asm_17f48e + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, $c608 + ld a, [wcd57] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wcd56] + cp $c0 + jr c, .asm_17f4af + ld a, $4 + ld [rSVBK], a + jr .asm_17f4b7 + +.asm_17f4af + call CloseSRAM + ld a, $6 + call GetSRAMBank + +.asm_17f4b7 + ld de, $c608 + pop hl + push hl + ld a, [wcd57] + ld b, a + ld a, [wcd58] + ld c, a + call Function31a4 + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + ld a, [wcd5a] + and a + jr z, .asm_17f4ec + ld c, a + ld a, [wcd58] + inc a + ld b, a + ld e, l + ld d, h + dec de +.asm_17f4de + ld a, c + cp b + jr z, .asm_17f4e8 + ld a, [de] + dec de + ld [hld], a + dec b + jr .asm_17f4de + +.asm_17f4e8 + ld a, [wcd5b] + ld [hl], a + +.asm_17f4ec + pop hl + ld a, [wcd59] + call Function17f50f + pop de + and a + ret +; 17f4f6 + +Function17f4f6: ; 17f4f6 + ld a, [wcd6a] + ld l, a + ld a, [wcd6b] + ld h, a + ld a, [wcd47] + ld c, a + ld a, [BGMapPalBuffer] + ld b, a + ld a, [wcd2e] +.asm_17f509 + and a + ret z + dec a + add hl, bc + jr .asm_17f509 +; 17f50f + +Function17f50f: ; 17f50f + and a + jr z, .asm_17f519 + ld c, a + ld b, $0 + add hl, bc + ld c, l + ld b, h + ret + +.asm_17f519 + ld a, [wcd52] + ld c, a + ld l, a + ld a, [wcd53] + ld b, a + ld h, a + ret +; 17f524 + +Function17f524: ; 17f524 + push hl + push bc + push de + ld a, [wcd42] + dec a + ld b, a + ld a, [wcd2e] + cp b + jr z, .asm_17f53a + ld hl, wcd68 + cp [hl] +.asm_17f536 + pop de + pop bc + pop hl + ret + +.asm_17f53a + scf + jr .asm_17f536 +; 17f53d + +Function17f53d: ; 17f53d + call FadeToMenu + xor a + ld [wc303], a + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + call Function17f555 + pop af + ld [rSVBK], a + call Function2b4d + ret +; 17f555 + +Function17f555: ; 17f555 +.asm_17f555 + call Functiona57 + call Function17f5ae + ld a, [wc303] + bit 7, a + jr nz, .asm_17f56a + callba Function104000 + jr .asm_17f555 + +.asm_17f56a + call Function17f56e + ret +; 17f56e + +Function17f56e: ; 17f56e + ld a, [wc300] + cp $22 + jr z, .asm_17f597 + cp $31 + jr z, .asm_17f58a + cp $33 + ret nz + ld a, [wc301] + cp $1 + ret nz + ld a, [wc302] + cp $2 + ret nz + jr .asm_17f5a1 + +.asm_17f58a + ld a, [wc301] + cp $3 + ret nz + ld a, [wc302] + and a + ret nz + jr .asm_17f5a1 + +.asm_17f597 + ld a, [wc301] + and a + ret nz + ld a, [wc302] + and a + ret nz + +.asm_17f5a1 + ld a, $5 + call GetSRAMBank + xor a + ld [$aa4b], a + call CloseSRAM + ret +; 17f5ae + +Function17f5ae: ; 17f5ae + ld a, [wc303] + ld e, a + ld d, 0 + ld hl, Table17f5bd + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 17f5bd + +Table17f5bd: ; 17f5bd + dw Function17f5c3 + dw Function17ff23 + dw Function17f5d2 +; 17f5c3 + +Function17f5c3: ; 17f5c3 + call Function17f5e4 + callba Function2b5c + ld a, $1 + ld [wc303], a + ret +; 17f5d2 + +Function17f5d2: ; 17f5d2 + call Function17f5e4 + callba Function104000 + call Function32f9 + ld a, $1 + ld [wc303], a + ret +; 17f5e4 + +Function17f5e4: ; 17f5e4 + ld a, $8 + ld [MusicFade], a + ld de, MUSIC_NONE + ld a, e + ld [MusicFadeIDLo], a + ld a, d + ld [MusicFadeIDHi], a + ld a, " " + ld hl, TileMap + ld bc, $0168 + call ByteFill + ld a, $6 + ld hl, AttrMap + ld bc, $0168 + call ByteFill + hlcoord 2, 1 + ld b, $1 + ld c, $e + call Function3eea + hlcoord 1, 4 + ld b, $c + ld c, $10 + call Function3eea + hlcoord 3, 2 + ld de, String_17f6dc + call PlaceString + call Function17ff3c + jr nc, .asm_17f632 + hlcoord 11, 2 + call Function17f6b7 + +.asm_17f632 + ld a, [wc300] + cp $d0 + jr nc, .asm_17f684 + cp $10 + jr c, .asm_17f679 + sub $10 + cp $24 + jr nc, .asm_17f679 + ld e, a + ld d, $0 + ld hl, Table_17f706 + add hl, de + add hl, de + ld a, [wc301] + ld e, a + ld a, [wc302] + ld d, a + ld a, [hli] + ld c, a + ld a, [hl] + ld h, a + ld l, c + ld a, [hli] + and a + jr z, .asm_17f679 + ld c, a +.asm_17f65d + ld a, [hli] + ld b, a + ld a, [hli] + cp $ff + jr nz, .asm_17f667 + cp b + jr z, .asm_17f66e + +.asm_17f667 + xor d + jr nz, .asm_17f674 + ld a, b + xor e + jr nz, .asm_17f674 + +.asm_17f66e + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + jr .asm_17f67d + +.asm_17f674 + inc hl + inc hl + dec c + jr nz, .asm_17f65d + +.asm_17f679 + ld a, $d9 + jr .asm_17f684 + +.asm_17f67d + hlcoord 2, 6 + call PlaceString + ret + +.asm_17f684 + sub $d0 + ld e, a + ld d, 0 + ld hl, Table_17f699 + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + hlcoord 2, 6 + call PlaceString + ret +; 17f699 + +Table_17f699: ; 17f699 + dw String_17fedf + dw String_17fdd9 + dw String_17fdd9 + dw String_17fe03 + dw String_17fd84 + dw String_17fe63 + dw String_17fdb2 + dw String_17fe4b + dw String_17fe03 + dw String_17fe03 + dw String_17fe03 +; 17f6af + +Palette_17f6af: ; 17f6af + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 +; 17f6b7 + +Function17f6b7: ; 17f6b7 + ld a, [wc300] + call Function17f6cd + inc hl + ld a, [wc302] + and $f + call Function17f6d8 + ld a, [wc301] + call Function17f6cd + ret +; 17f6cd + +Function17f6cd: ; 17f6cd + ld c, a + and $f0 + swap a + call Function17f6d8 + ld a, c + and $f + +Function17f6d8: ; 17f6d8 + add $f6 + ld [hli], a + ret +; 17f6dc + +String_17f6dc: ; 17f6dc + db "つうしんエラー ー@" +; 17f6e8 + +String_17f6e8: ; 17f6e8 + db "みていぎ", $25, "エラーです" + next "プログラム", $1f + next "かくにん してください" + db "@" +; 17f706 + +Table_17f706: + dw Unknown_17f74e + dw Unknown_17f753 + dw Unknown_17f758 + dw Unknown_17f75d + dw Unknown_17f762 + dw Unknown_17f767 + dw Unknown_17f778 + dw Unknown_17f77d + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f787 + dw Unknown_17f78c + dw Unknown_17f791 + dw Unknown_17f796 + dw Unknown_17f79b + dw Unknown_17f7a0 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7ea + dw Unknown_17f7ff + dw Unknown_17f844 + +Unknown_17f74e: db 1 + dbbw $0, $0, String_17f891 + +Unknown_17f753: db 1 + dbbw $0, $0, String_17f8d1 + +Unknown_17f758: db 1 + dbbw $0, $0, String_17f913 + +Unknown_17f75d: db 1 + dbbw $0, $0, String_17f8d1 + +Unknown_17f762: db 1 + dbbw $0, $0, String_17fa71 + +Unknown_17f767: db 4 + dbbw $0, $0, String_17f946 + dbbw $1, $0, String_17f946 + dbbw $2, $0, String_17f946 + dbbw $3, $0, String_17f946 + +Unknown_17f778: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f77d: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f782: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f787: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f78c: db 1 + dbbw $0, $0, String_17f9d0 + +Unknown_17f791: db 1 + dbbw $0, $0, String_17fa14 + +Unknown_17f796: db 1 + dbbw $0, $0, String_17fcbf + +Unknown_17f79b: db 1 + dbbw $0, $0, String_17fa71 + +Unknown_17f7a0: db 1 + dbbw $0, $0, String_17fbfe + +Unknown_17f7a5: db 17 + dbbw $0, $0, String_17f98e + dbbw $21, $2, String_17fcbf + dbbw $21, $4, String_17fcbf + dbbw $50, $4, String_17faf9 + dbbw $51, $4, String_17fcbf + dbbw $52, $4, String_17fcbf + dbbw $0, $5, String_17f98e + dbbw $1, $5, String_17f98e + dbbw $2, $5, String_17f98e + dbbw $3, $5, String_17f98e + dbbw $4, $5, String_17f98e + dbbw $50, $5, String_17faf9 + dbbw $51, $5, String_17faf9 + dbbw $52, $5, String_17fcbf + dbbw $53, $5, String_17faf9 + dbbw $54, $5, String_17fcbf + dbbw $ff, $ff, String_17fcbf + +Unknown_17f7ea: db 5 + dbbw $0, $0, String_17f98e + dbbw $2, $0, String_17fb2a + dbbw $3, $0, String_17fb6e + dbbw $4, $0, String_17f98e + dbbw $ff, $ff, String_17fcbf + +Unknown_17f7ff: db 17 + dbbw $0, $0, String_17f98e + dbbw $1, $3, String_17f98e + dbbw $2, $3, String_17f98e + dbbw $0, $4, String_17f98e + dbbw $1, $4, String_17f98e + dbbw $3, $4, String_17fbb6 + dbbw $4, $4, String_17fbb6 + dbbw $5, $4, String_17f98e + dbbw $6, $4, String_17f98e + dbbw $7, $4, String_17f98e + dbbw $8, $4, String_17fbfe + dbbw $0, $5, String_17fa49 + dbbw $1, $5, String_17f98e + dbbw $2, $5, String_17fa49 + dbbw $3, $5, String_17fab0 + dbbw $4, $5, String_17fa49 + dbbw $ff, $ff, String_17fa49 + +Unknown_17f844: db 19 + dbbw $1, $1, String_17fc3e + dbbw $2, $1, String_17fc88 + dbbw $3, $1, String_17fcff + dbbw $4, $1, String_17fd84 + dbbw $5, $1, String_17fd84 + dbbw $6, $1, String_17fd47 + dbbw $1, $2, String_17fb6e + dbbw $2, $2, String_17f98e + dbbw $3, $2, String_17fd84 + dbbw $4, $2, String_17f98e + dbbw $5, $2, String_17fa49 + dbbw $6, $2, String_17fd84 + dbbw $99, $2, String_17fc88 + dbbw $1, $3, String_17fa49 + dbbw $1, $4, String_17fa49 + dbbw $2, $4, String_17fa49 + dbbw $3, $4, String_17fa49 + dbbw $4, $4, String_17fa49 + dbbw $ff, $ff, String_17fa49 + +String_17f891: ; 17f891 + db "モバイルアダプタが ただしく" + next "さしこまれていません" + next "とりあつかいせつめいしょを" + next "ごらんのうえ しっかりと" + next "さしこんで ください" + db "@" + +String_17f8d1: ; 17f8d1 + db "でんわが うまく かけられないか" + next "でんわかいせんが こんでいるので" + next "つうしん できません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17f913: ; 17f913 + db "でんわかいせんが こんでいるため" + next "でんわが かけられません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17f946: ; 17f946 + db "モバイルアダプタの エラーです" + next "しばらく まって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17f98e: ; 17f98e + db "つうしんエラーです" + next "しばらく まって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17f9d0: ; 17f9d0 + db "ログインパスワードか" + next "ログイン アイディーに" + next "まちがいがあります" + next "パスワードを かくにんして" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fa14: ; 17fa14 + db "でんわが きれました" + next "とりあつかいせつめいしょを" + next "ごらんのうえ" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fa49: ; 17fa49 + db "モバイルセンターの" + next "つうしんエラーです" + next "しばらくまって" + next "かけなおして ください" + db "@" + +String_17fa71: ; 17fa71 + db "モバイルアダプタに" + next "とうろくされた じょうほうが" + next "ただしく ありません" + next "モバイルトレーナーで" + next "しょきとうろくを してください" + db "@" + +String_17fab0: ; 17fab0 + db "モバイルセンターが" + next "こんでいて つながりません" + next "しばらくまって" + next "かけなおして ください" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17faf9: ; 17faf9 + db "あてさき メールアドレスに" + next "まちがいがあります" + next "ただしい メールアドレスを" + next "いれなおしてください" + db "@" + +String_17fb2a: ; 17fb2a + db "メールアドレスに" + next "まちがいが あります" + next "とりあつかいせつめいしょを" + next "ごらんのうえ" + next "モバイルトレーナーで" + next "しょきとうろくを してください" + db "@" + +String_17fb6e: ; 17fb6e + db "ログインパスワードに" + next "まちがいが あるか" + next "モバイルセンターの エラーです" + next "パスワードを かくにんして" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fbb6: ; 17fbb6 + db "データの よみこみが できません" + next "しばらくまって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17fbfe: ; 17fbfe + db "じかんぎれです" + next "でんわが きれました" + next "でんわを かけなおしてください" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fc3e: ; 17fc3e + db "ごりよう りょうきんの " + next "おしはらいが おくれたばあいには" + next "ごりようが できなくなります" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fc88: ; 17fc88 + db "おきゃくさまの ごつごうにより" + next "ごりようできません" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fcbf: ; 17fcbf + db "でんわかいせんが こんでいるか" + next "モバイルセンターの エラーで" + next "つうしんが できません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fcff: ; 17fcff + db "ごりよう りょうきんが" + next "じょうげんを こえているため" + next "こんげつは ごりようできません" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fd47: ; 17fd47 + db "げんざい モバイルセンターの" + next "てんけんを しているので" + next "つうしんが できません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fd84: ; 17fd84 + db "データの よみこみが できません" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + + +String_17fdb2: ; 17fdb2 + db "3ぷん いじょう なにも" + next "にゅうりょく しなかったので" + next "でんわが きれました" + db "@" + +String_17fdd9: ; 17fdd9 + db "つうしんが うまく" + next "できませんでした" + next "もういちど はじめから" + next "やりなおしてください" + db "@" + +String_17fe03: ; 17fe03 + db "データの よみこみが できません" + next "しばらくまって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17fe4b: ; 17fe4b + db "まちじかんが ながいので" + next "でんわが きれました" + db "@" + +String_17fe63: ; 17fe63 + db "あいての モバイルアダプタと" + next "タイプが ちがいます" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fe9a: ; 17fe9a ; unreferenced + db "ポケモンニュースが" + next "あたらしくなっているので" + next "レポートを おくれません" + next "あたらしい ポケモンニュースの" + next "よみこみを さきに してください" + db "@" + +String_17fedf: ; 17fedf + db "つうしんの じょうきょうが" + next "よくないか かけるあいてが" + next "まちがっています" + next "もういちど かくにんをして" + next "でんわを かけなおして ください" + db "@" +; 17ff23 + +Function17ff23: ; 17ff23 + ld a, [hJoyPressed] + and a + ret z + ld a, $8 + ld [MusicFade], a + ld a, [wMapMusic] + ld [MusicFadeIDLo], a + xor a + ld [MusicFadeIDHi], a + ld hl, wc303 + set 7, [hl] + ret +; 17ff3c + +Function17ff3c: ; 17ff3c + nop + ld a, [wc300] + cp $d0 + ret c + hlcoord 10, 2 + ld de, String_17ff68 + call PlaceString + ld a, [wc300] + push af + sub $d0 + inc a + ld [wc300], a + hlcoord 14, 2 + ld de, wc300 + ld bc, $8103 + call PrintNum + pop af + ld [wc300], a + and a + ret +; 17ff68 + +String_17ff68: ; 17ff68 + db "101@" +; 17ff6c + diff --git a/misc/unused_title.asm b/misc/unused_title.asm new file mode 100644 index 000000000..4364f19a2 --- /dev/null +++ b/misc/unused_title.asm @@ -0,0 +1,559 @@ + +SECTION "bank43", ROMX, BANK[$43] + +UnusedTitleScreen: ; 10c000 + + call WhiteBGMap + call ClearTileMap + call DisableLCD + xor a + ld [hBGMapMode], a + + ld hl, wcf63 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + + ld hl, UnusedTitleBG_GFX + ld de, VTiles2 + ld bc, $800 + call CopyBytes + + ld hl, UnusedTitleBG_GFX + $800 + ld de, VTiles1 + ld bc, $800 + call CopyBytes + + ld hl, UnusedTitleFG_GFX + ld de, VTiles0 + ld bc, $800 + call CopyBytes + + ld hl, UnusedTitleBG_Tilemap + ld de, VBGMap0 + ld bc, 32 * 32 +.copy + ld a, 0 + ld [rVBK], a + ld a, [hli] + ld [de], a + ld a, 1 + ld [rVBK], a + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .copy + + ld hl, UnusedTitleFG_OAM + ld de, Sprites + ld bc, $a0 + call CopyBytes + + call EnableLCD + ld a, [rLCDC] + set 1, a + set 2, a + ld [rLCDC], a + + call DelayFrame + + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + + ld hl, UnsuedTitleBG_Palettes + ld de, Unkn1Pals + ld bc, $40 + call CopyBytes + + ld hl, UnsuedTitleFG_Palettes + ld de, Unkn2Pals + ld bc, $40 + call CopyBytes + + ld hl, UnsuedTitleBG_Palettes + ld de, BGPals + ld bc, $40 + call CopyBytes + + ld hl, UnsuedTitleFG_Palettes + ld de, OBPals + ld bc, $40 + call CopyBytes + + pop af + ld [rSVBK], a + + ld a, $1 + ld [hCGBPalUpdate], a + + ld de, MUSIC_TITLE + call PlayMusic + + ret +; 10c0b1 + +UnusedTitleBG_GFX: ; 10c0b1 +INCBIN "gfx/title/old_bg.2bpp" +; 10d0b1 + +UnusedTitleBG_Tilemap: ; 10d0b1 +; 32x32 (tile, attributes) + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $01,$00, $02,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $03,$00, $04,$00, $05,$01, $06,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $07,$05, $08,$05, $09,$05, $0a,$05, $0b,$00, $0c,$00, $0d,$00, $0e,$00, $0f,$01, $10,$01, $11,$01, $12,$01, $13,$05, $14,$05, $15,$05, $16,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $17,$04, $18,$04, $19,$04, $1a,$04, $1b,$00, $1c,$00, $1d,$02, $1e,$02, $1f,$07, $20,$07, $21,$01, $22,$01, $23,$04, $24,$04, $25,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $27,$04, $28,$04, $29,$04, $2a,$04, $2b,$00, $2c,$00, $2d,$03, $2e,$01, $2f,$01, $30,$01, $31,$01, $32,$01, $33,$04, $34,$04, $35,$04, $36,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $37,$04, $38,$04, $39,$04, $3a,$04, $3b,$00, $3c,$00, $3d,$01, $00,$00, $00,$00, $3e,$07, $3f,$01, $40,$01, $41,$04, $42,$04, $43,$04, $44,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $45,$04, $46,$04, $47,$04, $48,$04, $49,$00, $3c,$00, $4a,$01, $00,$00, $00,$00, $4b,$07, $3f,$01, $4c,$01, $4d,$06, $4e,$06, $4f,$06, $50,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $51,$04, $52,$06, $53,$06, $54,$06, $55,$00, $3c,$00, $56,$01, $00,$00, $00,$00, $57,$07, $58,$01, $59,$01, $5a,$06, $5b,$06, $5c,$06, $5d,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $5e,$06, $5f,$06, $60,$06, $61,$06, $62,$00, $63,$00, $64,$03, $65,$01, $66,$01, $67,$07, $68,$01, $69,$01, $26,$04, $6a,$06, $26,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $6b,$00, $6c,$05, $6d,$05, $6e,$05, $6f,$00, $70,$02, $71,$02, $72,$01, $73,$00, $74,$02, $75,$01, $76,$01, $77,$05, $78,$05, $79,$05, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $7a,$00, $7b,$00, $7c,$00, $7d,$00, $0f,$01, $7e,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $a2,$00, $80,$00, $81,$00, $82,$00, $83,$00, $84,$07, $85,$01, $86,$01, $87,$01, $88,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $89,$00, $8a,$00, $8b,$00, $8c,$07, $8d,$01, $8e,$01, $8f,$01, $90,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $91,$01, $92,$01, $93,$01, $94,$01, $95,$01, $00,$00, $00,$00, $00,$00, $96,$05, $97,$05, $98,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $99,$05, $9a,$05, $9b,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9c,$05, $9d,$05, $9e,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9f,$05, $a0,$05, $a1,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +; 10d8b1 + +UnsuedTitleBG_Palettes: ; 10d8b1 + RGB 00, 00, 00 + RGB 25, 15, 28 + RGB 22, 11, 28 + RGB 19, 08, 26 + + RGB 00, 00, 00 + RGB 17, 07, 22 + RGB 13, 07, 16 + RGB 19, 08, 26 + + RGB 25, 15, 28 + RGB 22, 11, 28 + RGB 19, 08, 26 + RGB 17, 07, 22 + + RGB 22, 11, 28 + RGB 19, 08, 26 + RGB 17, 07, 22 + RGB 13, 07, 16 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 22, 10, 31 + RGB 19, 08, 26 + RGB 17, 07, 22 + + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 20, 04, 20 + RGB 16, 08, 16 + RGB 24, 00, 24 + + rept 54 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + endr +; 10dab1 + +UnusedTitleFG_GFX: ; 10dab1 +INCBIN "gfx/title/old_fg.2bpp" +; 10eab1 + +UnsuedTitleFG_Palettes: ; 10eab1 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 22, 00 + RGB 31, 27, 00 + RGB 31, 31, 00 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 16, 31, 00 + RGB 22, 31, 00 + RGB 27, 31, 00 + RGB 31, 31, 00 + + + RGB 31, 00, 18 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 16, 31, 00 + RGB 22, 31, 00 + RGB 27, 31, 00 + RGB 31, 31, 00 + + RGB 24, 18, 31 + RGB 31, 31, 00 + RGB 31, 31, 01 + RGB 31, 31, 03 + + RGB 31, 31, 05 + RGB 31, 31, 08 + RGB 31, 31, 10 + RGB 31, 31, 12 + + RGB 31, 31, 14 + RGB 31, 31, 16 + RGB 31, 31, 18 + RGB 31, 31, 20 + + RGB 31, 31, 22 + RGB 31, 31, 25 + RGB 31, 31, 27 + RGB 31, 31, 29 + + RGB 24, 06, 06 + RGB 01, 01, 01 + RGB 03, 03, 03 + RGB 05, 05, 05 + + RGB 08, 08, 08 + RGB 10, 10, 10 + RGB 12, 12, 12 + RGB 14, 14, 14 + + RGB 16, 16, 16 + RGB 18, 18, 18 + RGB 20, 20, 20 + RGB 22, 22, 22 + + RGB 25, 25, 25 + RGB 27, 27, 27 + RGB 29, 29, 29 + RGB 31, 31, 31 + + RGB 18, 24, 18 + RGB 31, 29, 01 + RGB 31, 27, 03 + RGB 31, 25, 05 + + RGB 31, 22, 08 + RGB 31, 20, 10 + RGB 31, 18, 12 + RGB 31, 16, 14 + + RGB 31, 14, 16 + RGB 31, 12, 18 + RGB 31, 10, 20 + RGB 31, 08, 22 + + RGB 31, 05, 25 + RGB 31, 03, 27 + RGB 31, 01, 29 + RGB 31, 00, 31 + + RGB 18, 06, 31 + RGB 00, 31, 31 + RGB 00, 31, 29 + RGB 00, 31, 27 + + RGB 00, 31, 25 + RGB 00, 31, 22 + RGB 00, 31, 20 + RGB 00, 31, 18 + + RGB 00, 31, 16 + RGB 00, 31, 14 + RGB 00, 31, 12 + RGB 00, 31, 10 + + RGB 00, 31, 08 + RGB 00, 31, 05 + RGB 00, 31, 03 + RGB 00, 31, 01 + + RGB 12, 31, 06 + RGB 00, 00, 31 + RGB 00, 01, 31 + RGB 00, 03, 31 + + RGB 00, 05, 31 + RGB 00, 08, 31 + RGB 00, 10, 31 + RGB 00, 12, 31 + + RGB 00, 14, 31 + RGB 00, 16, 31 + RGB 00, 18, 31 + RGB 00, 20, 31 + + RGB 00, 22, 31 + RGB 00, 25, 31 + RGB 00, 27, 31 + RGB 00, 29, 31 + + RGB 00, 00, 00 + RGB 06, 00, 04 + RGB 19, 02, 09 + RGB 28, 04, 11 + + RGB 31, 07, 16 + RGB 31, 17, 23 + RGB 31, 26, 30 + RGB 07, 05, 10 + + RGB 14, 10, 18 + RGB 20, 20, 25 + RGB 25, 27, 31 + RGB 09, 05, 06 + + RGB 23, 16, 13 + RGB 30, 23, 22 + RGB 31, 28, 28 + RGB 31, 31, 31 + + RGB 06, 31, 31 + RGB 04, 00, 04 + RGB 11, 02, 04 + RGB 17, 02, 04 + + RGB 24, 05, 04 + RGB 28, 07, 04 + RGB 31, 11, 04 + RGB 02, 01, 15 + + RGB 04, 11, 22 + RGB 12, 25, 25 + RGB 20, 31, 31 + RGB 09, 04, 03 + + RGB 22, 11, 08 + RGB 27, 19, 16 + RGB 30, 28, 26 + RGB 31, 31, 31 + + RGB 06, 18, 06 + RGB 04, 04, 02 + RGB 07, 07, 02 + RGB 18, 18, 04 + + RGB 24, 24, 06 + RGB 27, 27, 11 + RGB 31, 31, 20 + RGB 02, 03, 10 + + RGB 04, 05, 13 + RGB 06, 10, 25 + RGB 08, 15, 31 + RGB 04, 00, 06 + + RGB 11, 07, 14 + RGB 21, 16, 23 + RGB 29, 26, 31 + RGB 31, 31, 31 + + RGB 06, 00, 18 + RGB 00, 04, 03 + RGB 02, 09, 05 + RGB 11, 19, 07 + + RGB 16, 24, 08 + RGB 22, 31, 09 + RGB 24, 31, 18 + RGB 03, 01, 03 + + RGB 10, 04, 10 + RGB 20, 08, 20 + RGB 31, 17, 31 + RGB 01, 03, 06 + + RGB 05, 09, 10 + RGB 15, 21, 21 + RGB 23, 25, 25 + RGB 31, 31, 31 + + RGB 00, 18, 31 + RGB 00, 05, 07 + RGB 00, 08, 13 + RGB 00, 12, 17 + + RGB 01, 20, 24 + RGB 04, 27, 31 + RGB 14, 31, 31 + RGB 04, 02, 02 + + RGB 15, 01, 03 + RGB 26, 04, 07 + RGB 31, 13, 16 + RGB 00, 05, 02 + + RGB 01, 11, 03 + RGB 06, 21, 06 + RGB 13, 31, 16 + RGB 31, 31, 31 + + RGB 00, 06, 06 + RGB 00, 01, 08 + RGB 00, 05, 14 + RGB 00, 08, 19 + + RGB 02, 14, 26 + RGB 04, 21, 31 + RGB 06, 26, 31 + RGB 13, 00, 00 + + RGB 27, 07, 00 + RGB 31, 17, 05 + RGB 31, 25, 16 + RGB 02, 04, 00 + + RGB 07, 11, 03 + RGB 17, 19, 05 + RGB 27, 31, 16 + RGB 31, 31, 31 + + RGB 02, 00, 00 + RGB 04, 01, 06 + RGB 11, 03, 14 + RGB 16, 04, 19 + + RGB 20, 07, 22 + RGB 26, 12, 27 + RGB 26, 20, 31 + RGB 04, 07, 00 + + RGB 16, 20, 07 + RGB 24, 28, 15 + RGB 29, 31, 24 + RGB 05, 02, 02 + + RGB 15, 04, 02 + RGB 24, 11, 10 + RGB 31, 22, 20 + RGB 31, 31, 31 + + RGB 00, 00, 14 + RGB 12, 00, 00 + RGB 27, 05, 00 + RGB 31, 15, 05 + + RGB 31, 26, 13 + RGB 31, 30, 21 + RGB 05, 07, 16 + RGB 04, 16, 20 + + RGB 04, 24, 26 + RGB 08, 31, 31 + RGB 23, 31, 31 + RGB 00, 00, 00 + + RGB 05, 05, 05 + RGB 17, 17, 15 + RGB 28, 28, 24 + RGB 31, 31, 31 +; 10ecb1 + +UnusedTitleFG_OAM: ; 10ecb1 + db $18, $38, $00, $01, $18, $40, $02, $01, $18, $48, $04, $01, $18, $50, $06, $01 + db $18, $58, $08, $01, $18, $60, $0a, $01, $18, $68, $0c, $01, $18, $70, $0e, $01 + + db $28, $38, $10, $00, $28, $40, $12, $00, $28, $48, $14, $00, $28, $50, $16, $00 + db $28, $58, $18, $00, $28, $60, $1a, $00, $28, $68, $1c, $00, $28, $70, $1e, $00 + + db $38, $38, $20, $00, $38, $40, $22, $00, $38, $48, $24, $00, $38, $50, $26, $00 + db $38, $58, $28, $00, $38, $60, $2a, $00, $38, $68, $2c, $00, $38, $70, $2e, $00 + + db $48, $38, $30, $02, $48, $40, $32, $02, $48, $48, $34, $02, $48, $50, $36, $02 + db $48, $58, $38, $02, $48, $60, $3a, $02, $48, $68, $3c, $02, $48, $70, $3e, $02 + + db $58, $38, $40, $01, $58, $40, $42, $01, $58, $48, $44, $01, $58, $50, $46, $01 + db $58, $58, $48, $01, $58, $60, $4a, $01, $58, $68, $4c, $01, $58, $70, $4e, $01 +; 10ed51 + + +Function10ed51: ; 10ed51 + call _TitleScreen +.loop + call Functiona57 + ld a, [$ffa9] + ld b, a + and 1 + jr nz, .done + call Function10eea7 + call DelayFrame + jr .loop +.done + ret +; 10ed67 From 11b5c4c4851752fef66c075697b201dbf0c7aa1f Mon Sep 17 00:00:00 2001 From: yenatch Date: Tue, 10 Feb 2015 23:03:46 -0800 Subject: [PATCH 02/20] Add placeholder constants for ObjectStructs offsets. Note that OBJECT_LENGTH is not associated with ObjectStructs (it's isntead used as the length of a MapObjects struct). --- constants/map_constants.asm | 19 ++ main.asm | 550 ++++++++++++++++++------------------ 2 files changed, 294 insertions(+), 275 deletions(-) diff --git a/constants/map_constants.asm b/constants/map_constants.asm index d115cfd0e..22609ef71 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -1771,10 +1771,19 @@ GATE EQU 6 DUNGEON EQU 7 ; object struct +OBJECT_00 EQU $0 +OBJECT_01 EQU $1 OBJECT_SPRITE EQU $2 +OBJECT_03 EQU $3 +OBJECT_04 EQU $4 OBJECT_FLAGS EQU $5 OBJECT_PALETTE EQU $6 +OBJECT_07 EQU $7 +OBJECT_08 EQU $8 +OBJECT_09 EQU $9 OBJECT_STEP_DURATION EQU $a +OBJECT_11 EQU $b +OBJECT_12 EQU $c OBJECT_FACING EQU $d OBJECT_STANDING_TILE EQU $e OBJECT_NEXT_TILE EQU $f @@ -1782,8 +1791,18 @@ OBJECT_MAP_X EQU $10 OBJECT_MAP_Y EQU $11 OBJECT_NEXT_MAP_X EQU $12 OBJECT_NEXT_MAP_Y EQU $13 +OBJECT_20 EQU $14 +OBJECT_21 EQU $15 +OBJECT_22 EQU $16 OBJECT_SPRITE_X EQU $17 OBJECT_SPRITE_Y EQU $18 OBJECT_SPRITE_X_OFFSET EQU $19 OBJECT_SPRITE_Y_OFFSET EQU $1a +OBJECT_27 EQU $1b +OBJECT_28 EQU $1c +OBJECT_29 EQU $1d +OBJECT_30 EQU $1e +OBJECT_31 EQU $1f +OBJECT_32 EQU $20 +; 33-39 are not used diff --git a/main.asm b/main.asm index b56cc4baf..59da5de7f 100644 --- a/main.asm +++ b/main.asm @@ -103,7 +103,7 @@ Data4273:: ; 4273 Function4357:: ; 4357 push bc - ld hl, $0001 + ld hl, OBJECT_01 add hl, bc ld a, [hl] push af @@ -118,7 +118,7 @@ Function4357:: ; 4357 bit 7, a jr nz, .asm_4379 call GetMapObject - ld hl, $0000 + ld hl, OBJECT_00 add hl, bc ld [hl], $ff @@ -167,7 +167,7 @@ Function4386: ; 4386 set 6, [hl] ld a, [XCoord] ld e, a - ld hl, $0014 + ld hl, OBJECT_20 add hl, bc ld a, [hl] add $1 @@ -177,7 +177,7 @@ Function4386: ; 4386 jr nc, .asm_43de ld a, [YCoord] ld e, a - ld hl, $0015 + ld hl, OBJECT_21 add hl, bc ld a, [hl] add $1 @@ -191,7 +191,7 @@ Function4386: ; 4386 ret .asm_43de - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc bit 1, [hl] jr nz, .asm_43eb @@ -208,7 +208,7 @@ Function4386: ; 4386 ; 43f3 Function43f3: ; 43f3 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld a, [hl] and a @@ -230,7 +230,7 @@ Function43f3: ; 43f3 .asm_4414 call Function47dd - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld a, [hl] and a @@ -248,7 +248,7 @@ Function43f3: ; 43f3 ; 4427 Function4427: ; 4427 - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc bit 0, [hl] jr nz, Function44a3 @@ -266,7 +266,7 @@ Function4427: ; 4427 ; 4440 Function4440: ; 4440 - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc bit 0, [hl] jr nz, Function44a3 @@ -279,7 +279,7 @@ Function4448: ; 4448 ; 444d Function444d: ; 444d - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld a, [hl] ld l, a @@ -357,11 +357,11 @@ Function44b5: ; 44b5 ; 44c1 Function44c1: ; 44c1 - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc bit 3, [hl] jp nz, Function44aa - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld a, [hl] inc a @@ -381,11 +381,11 @@ Function44c1: ; 44c1 ; 44e4 Function44e4: ; 44e4 - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc bit 3, [hl] jp nz, Function44aa - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld a, [hl] add $2 @@ -405,11 +405,11 @@ Function44e4: ; 44e4 ; 4508 Function4508: ; 4508 - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc bit 3, [hl] jp nz, Function44aa - ld hl, $000c + ld hl, OBJECT_12 add hl, bc inc [hl] ld a, [hl] @@ -429,7 +429,7 @@ Function4508: ; 4508 Function4529: ; 4529 call Function453f - ld hl, $0008 + ld hl, OBJECT_08 add hl, bc ld a, [hl] or $0 @@ -445,7 +445,7 @@ Function4539: ; 4539 ; 453f Function453f: ; 453f - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld a, [hl] and $f0 @@ -471,7 +471,7 @@ Function453f: ; 453f ld hl, .Directions add hl, de ld a, [hl] - ld hl, $0008 + ld hl, OBJECT_08 add hl, bc ld [hl], a ret @@ -514,7 +514,7 @@ Function4589: ; 4589 ; 4590 Function4590: ; 4590 - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld a, [hl] inc a @@ -536,7 +536,7 @@ Function45a4: ; 45a4 ; 45ab Function45ab: ; 45ab - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld a, [hl] inc a @@ -575,7 +575,7 @@ Function45c5: ; 45c5 ; 45da Function45da: ; 45da - ld hl, $000c + ld hl, OBJECT_12 add hl, bc inc [hl] ld a, [hl] @@ -592,7 +592,7 @@ Function45da: ; 45da ; 45ed Function45ed: ; 45ed - ld hl, $000c + ld hl, OBJECT_12 add hl, bc inc [hl] ld a, [hl] @@ -664,18 +664,18 @@ Function463f: ; 463f add hl, bc bit 3, [hl] jr z, .asm_464f - ld hl, $000e + ld hl, OBJECT_STANDING_TILE add hl, bc ld a, [hl] call Function4661 .asm_464f - ld hl, $000e + ld hl, OBJECT_STANDING_TILE add hl, bc ld a, [hl] call Function4679 ret c - ld hl, $000f + ld hl, OBJECT_NEXT_TILE add hl, bc ld a, [hl] call Function4679 @@ -689,13 +689,13 @@ Function4661: ; 4661 jr c, .asm_4672 .asm_466b - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc set 3, [hl] ret .asm_4672 - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc res 3, [hl] ret @@ -708,26 +708,26 @@ Function4679: ; 4679 Function467b: ; 467b xor a - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], a - ld hl, $001b + ld hl, OBJECT_27 add hl, bc ld [hli], a ld [hli], a ld [hli], a ld [hl], a - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff ret ; 4690 Function4690: ; 4690 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], a - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc bit 2, [hl] jr nz, .asm_46a6 @@ -735,7 +735,7 @@ Function4690: ; 4690 add a add a and $c - ld hl, $0008 + ld hl, OBJECT_08 add hl, bc ld [hl], a @@ -775,7 +775,7 @@ Function46a6: ; 46a6 call Function2a3c pop bc - ld hl, $000e + ld hl, OBJECT_STANDING_TILE add hl, bc ld [hl], a @@ -803,7 +803,7 @@ Function46d7: ; 46d7 GetStepVector: ; 46e9 ; Return (x, y, duration, speed) in (d, e, a, h). - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld a, [hl] and $f @@ -851,7 +851,7 @@ Function4730: ; 4730 ; 4738 Function4738: ; 4738 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld a, [hl] and $3 @@ -872,7 +872,7 @@ Function4759: ; 4759 push bc ld e, a ld d, 0 - ld hl, $0001 + ld hl, OBJECT_01 add hl, bc ld a, [hl] call GetMapObject @@ -883,7 +883,7 @@ Function4759: ; 4759 ; 4769 Function4769: ; 4769 - ld hl, $0001 + ld hl, OBJECT_01 add hl, bc ld a, [hl] cp $ff @@ -902,28 +902,28 @@ Function4769: ; 4769 ; 4780 Function4780: ; 4780 - ld hl, $001b + ld hl, OBJECT_27 add hl, bc ld [hl], $0 ret ; 4787 Function4787: ; 4787 - ld hl, $001b + ld hl, OBJECT_27 add hl, bc inc [hl] ret ; 478d Function478d: ; 478d - ld hl, $001b + ld hl, OBJECT_27 add hl, bc dec [hl] ret ; 4793 Function4793: ; 4793 - ld hl, $001b + ld hl, OBJECT_27 add hl, bc ld a, [hl] pop hl @@ -932,21 +932,21 @@ Function4793: ; 4793 ; 479b Function479b: ; 479b - ld hl, $001c + ld hl, OBJECT_28 add hl, bc ld [hl], $0 ret ; 47a2 Function47a2: ; 47a2 - ld hl, $001c + ld hl, OBJECT_28 add hl, bc inc [hl] ret ; 47a8 Function47a8: ; 47a8 - ld hl, $001c + ld hl, OBJECT_28 add hl, bc ld a, [hl] pop hl @@ -955,14 +955,14 @@ Function47a8: ; 47a8 ; 47b0 Function47b0: ; 47b0 - ld hl, $001c + ld hl, OBJECT_28 add hl, bc ld a, [hl] ret ; 47b6 Function47b6: ; 47b6 - ld hl, $001c + ld hl, OBJECT_28 add hl, bc ld [hl], a ret @@ -983,7 +983,7 @@ Function47bc: ; 47bc ld [hl], a call Function4600 call Function467b - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -1059,14 +1059,14 @@ Function4842: ; 4842 call Random ld a, [hRandomAdd] and $c - ld hl, $0008 + ld hl, OBJECT_08 add hl, bc ld [hl], a jp Function4b1d ; 4851 Function4851: ; 4851 - ld hl, $0008 + ld hl, OBJECT_08 add hl, bc ld a, [hl] and $c @@ -1086,10 +1086,10 @@ Function4851: ; 4851 Function4869: ; 4869 call Function462a call Function467b - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $1 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $5 ret @@ -1148,17 +1148,17 @@ Function48ac: ; 48ac ; 48b3 Function48b3: ; 48b3 - ld hl, $000e + ld hl, OBJECT_STANDING_TILE add hl, bc ld a, [hl] call CheckPitTile jr z, .asm_48f5 - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc bit 2, [hl] res 2, [hl] jr z, .asm_48ee - ld hl, $0020 + ld hl, OBJECT_32 add hl, bc ld a, [hl] and $3 @@ -1170,7 +1170,7 @@ Function48b3: ; 48b3 call PlaySFX call Function5538 call Function463f - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $f ret @@ -1179,7 +1179,7 @@ Function48b3: ; 48b3 call Function462a .asm_48ee - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff ret @@ -1190,30 +1190,30 @@ Function48b3: ; 48b3 ; 48f8 Function48f8: ; 48f8 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff ret ; 48ff Function48ff: ; 48ff - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld d, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] - ld hl, $0020 + ld hl, OBJECT_32 add hl, bc ld a, [hl] push bc call Function1ae5 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld a, [hl] cp $ff jr z, .asm_494a - ld hl, $0012 + ld hl, OBJECT_NEXT_MAP_X add hl, bc ld a, [hl] cp d @@ -1227,7 +1227,7 @@ Function48ff: ; 48ff jr .asm_493d .asm_492d - ld hl, $0013 + ld hl, OBJECT_NEXT_MAP_Y add hl, bc ld a, [hl] cp e @@ -1241,7 +1241,7 @@ Function48ff: ; 48ff .asm_493d ld d, a - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld a, [hl] and $c @@ -1251,10 +1251,10 @@ Function48ff: ; 48ff .asm_494a pop bc - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $1 ret @@ -1262,13 +1262,13 @@ Function48ff: ; 48ff Function4958: ; 4958 call Function467b - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $9 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $4 ret @@ -1276,13 +1276,13 @@ Function4958: ; 4958 Function496e: ; 496e call Function467b - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $4 ret @@ -1309,17 +1309,17 @@ Function4996: ; 4996 ; 499c Function499c: ; 499c - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $1 - ld hl, $0020 + ld hl, OBJECT_32 add hl, bc ld a, [hl] ld a, $10 ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $3 call Function4787 @@ -1347,7 +1347,7 @@ Function49c4: ; 49c4 ; 49d0 Function49d0: ; 49d0 - ld hl, $0008 + ld hl, OBJECT_08 add hl, bc ld a, [hl] and $c @@ -1366,7 +1366,7 @@ Function49d0: ; 49d0 Function49e5: ; 49e5 call Function4aa8 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $7 ld hl, OBJECT_STEP_DURATION @@ -1378,7 +1378,7 @@ Function49e5: ; 49e5 ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0007 + ld hl, OBJECT_07 add hl, de ld a, [hl] and 3 @@ -1396,7 +1396,7 @@ Function49e5: ; 49e5 ld hl, OBJECT_SPRITE_X_OFFSET add hl, bc ld [hl], $0 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $13 ret @@ -1405,7 +1405,7 @@ Function49e5: ; 49e5 Function4a21: ; 4a21 call Function467b call Function4aa8 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $8 ld hl, OBJECT_STEP_DURATION @@ -1417,7 +1417,7 @@ Function4a21: ; 4a21 ld hl, OBJECT_SPRITE_X_OFFSET add hl, bc ld [hl], $0 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $13 ret @@ -1426,7 +1426,7 @@ Function4a21: ; 4a21 Function4a46: ; 4a46 call Function467b call Function4aa8 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $e ld hl, OBJECT_STEP_DURATION @@ -1437,7 +1437,7 @@ Function4a46: ; 4a46 ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0007 + ld hl, OBJECT_07 add hl, de ld a, [hl] and 3 @@ -1455,7 +1455,7 @@ Function4a46: ; 4a46 ld hl, OBJECT_SPRITE_Y_OFFSET add hl, bc ld [hl], e - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $13 ret @@ -1472,7 +1472,7 @@ Function4a46: ; 4a46 Function4a89: ; 4a89 call Function467b call Function4aa8 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $f ld hl, OBJECT_STEP_DURATION @@ -1482,14 +1482,14 @@ Function4a89: ; 4a89 ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $13 ret ; 4aa8 Function4aa8: ; 4aa8 - ld hl, $0020 + ld hl, OBJECT_32 add hl, bc ld a, [hl] push bc @@ -1497,7 +1497,7 @@ Function4aa8: ; 4aa8 ld d, b ld e, c pop bc - ld hl, $001d + ld hl, OBJECT_29 add hl, bc ld [hl], e inc hl @@ -1507,20 +1507,20 @@ Function4aa8: ; 4aa8 Function4abc: ; 4abc call Function467b - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $0 - ld hl, $0020 + ld hl, OBJECT_32 add hl, bc ld a, [hl] call Function4ade ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], e - ld hl, $001e + ld hl, OBJECT_30 add hl, bc ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $15 ret @@ -1549,20 +1549,20 @@ Function4af0: ; 4af0 call Function6ec1 jr c, Function4b17 call Function463f - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $2 ld hl, wd4cf ld a, [$ffaf] cp [hl] jr z, .asm_4b10 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $7 ret .asm_4b10 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $6 ret @@ -1591,13 +1591,13 @@ Function4b2d: ; 4b2d ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $1 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $3 ret @@ -1637,7 +1637,7 @@ Function4b79: ; 4b79 add hl, bc dec [hl] ret nz - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -1658,7 +1658,7 @@ Function4b8d: ; 4b8d ret nz call Function4600 call Function46a6 - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc res 3, [hl] call Function47a2 @@ -1673,7 +1673,7 @@ Function4ba9: ; 4ba9 dec [hl] ret nz call Function4600 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -1702,7 +1702,7 @@ Function4bd2: ; 4bd2 dec [hl] ret nz call Function4600 - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc res 3, [hl] ld hl, wd150 @@ -1730,7 +1730,7 @@ Function4bfd: ; 4bfd ld hl, wd150 set 6, [hl] call Function4600 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -1745,7 +1745,7 @@ Function4c18: ; 4c18 ; 4c23 Function4c23: ; 4c23 - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], $0 ld hl, OBJECT_STEP_DURATION @@ -1756,7 +1756,7 @@ Function4c23: ; 4c23 ; 4c32 Function4c32: ; 4c32 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $4 ld hl, OBJECT_STEP_DURATION @@ -1768,16 +1768,16 @@ Function4c32: ; 4c32 ; 4c42 Function4c42: ; 4c42 - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], $0 - ld hl, $001f + ld hl, OBJECT_31 add hl, bc ld [hl], $10 ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], $10 - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc res 3, [hl] call Function47a2 @@ -1785,10 +1785,10 @@ Function4c42: ; 4c42 ; 4c5d Function4c5d: ; 4c5d - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $4 - ld hl, $001f + ld hl, OBJECT_31 add hl, bc inc [hl] ld a, [hl] @@ -1803,10 +1803,10 @@ Function4c5d: ; 4c5d add hl, bc dec [hl] ret nz - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], $0 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -1824,7 +1824,7 @@ Function4c89: ; 4c89 ; 4c9a Function4c9a: ; 4c9a - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $0 ld hl, OBJECT_STEP_DURATION @@ -1844,10 +1844,10 @@ Function4caa: ; 4caa ; 4cb3 Function4cb3: ; 4cb3 - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], $0 - ld hl, $001f + ld hl, OBJECT_31 add hl, bc ld [hl], $0 ld hl, OBJECT_STEP_DURATION @@ -1858,10 +1858,10 @@ Function4cb3: ; 4cb3 ; 4cc9 Function4cc9: ; 4cc9 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $4 - ld hl, $001f + ld hl, OBJECT_31 add hl, bc inc [hl] ld a, [hl] @@ -1889,7 +1889,7 @@ Function4ceb: ; 4ceb ; 4cf5 Function4cf5: ; 4cf5 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $4 ld hl, OBJECT_STEP_DURATION @@ -1899,13 +1899,13 @@ Function4cf5: ; 4cf5 ; 4d01 Function4d01: ; 4d01 - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], $0 ld hl, OBJECT_SPRITE_Y_OFFSET add hl, bc ld [hl], $0 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -1920,7 +1920,7 @@ Function4d14: ; 4d14 ; 4d1f Function4d1f: ; 4d1f - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $0 ld hl, OBJECT_STEP_DURATION @@ -1935,13 +1935,13 @@ Function4d2e: ; 4d2e add hl, bc dec [hl] ret nz - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $2 - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], $0 - ld hl, $001f + ld hl, OBJECT_31 add hl, bc ld [hl], $0 ld hl, OBJECT_STEP_DURATION @@ -1952,7 +1952,7 @@ Function4d2e: ; 4d2e ; 4d4f Function4d4f: ; 4d4f - ld hl, $001f + ld hl, OBJECT_31 add hl, bc inc [hl] ld a, [hl] @@ -1972,13 +1972,13 @@ Function4d4f: ; 4d4f ; 4d6b Function4d6b: ; 4d6b - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], $0 ld hl, OBJECT_SPRITE_Y_OFFSET add hl, bc ld [hl], $0 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -2014,7 +2014,7 @@ Function4d94: ; 4d94 ld hl, OBJECT_SPRITE_Y_OFFSET add hl, bc ld [hl], $0 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -2035,7 +2035,7 @@ Function4db5: ; 4db5 ld a, $0 .asm_4dc2 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], a ret @@ -2051,28 +2051,28 @@ Function4dc8: ; 4dc8 ld a, $5 .asm_4dd5 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], a jp Function4b79 ; 4ddd Function4ddd: ; 4ddd - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff ld hl, OBJECT_STEP_DURATION add hl, bc dec [hl] ret nz - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret ; 4df0 Function4df0: ; 4df0 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff ld hl, OBJECT_STEP_DURATION @@ -2087,7 +2087,7 @@ Function4dff: ; 4dff add hl, bc dec [hl] ret nz - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -2102,7 +2102,7 @@ Function4e0c: ; 4e0c Function4e13: ; 4e13 call Function4769 call Function1a47 - ld hl, $0008 + ld hl, OBJECT_08 add hl, bc ld [hl], a call Function47a2 @@ -2111,7 +2111,7 @@ Function4e13: ; 4e13 Function4e21: ; 4e21 call Function4fb2 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff ret @@ -2125,10 +2125,10 @@ Function4e2b: ; 4e2b dec [hl] ret nz call Function4600 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -2167,10 +2167,10 @@ Function4e65: ; 4e65 ld hl, wd150 set 6, [hl] call Function4600 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -2185,10 +2185,10 @@ Function4e83: ; 4e83 ; 4e8e Function4e8e: ; 4e8e - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld a, [hl] ld [hl], $2 @@ -2209,10 +2209,10 @@ Function4ea4: ; 4ea4 ; 4ead Function4ead: ; 4ead - ld hl, $001d + ld hl, OBJECT_29 add hl, bc ld a, [hl] - ld hl, $0008 + ld hl, OBJECT_08 add hl, bc ld [hl], a ld hl, OBJECT_STEP_DURATION @@ -2227,7 +2227,7 @@ Function4ec0: ; 4ec0 add hl, bc dec [hl] ret nz - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -2246,7 +2246,7 @@ Function4ecd: ; 4ecd ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] - ld hl, $0001 + ld hl, OBJECT_01 add hl, bc ld a, [hl] ld b, a @@ -2256,22 +2256,22 @@ Function4ecd: ; 4ecd add hl, bc res 2, [hl] call Function4600 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld [hl], $ff - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret ; 4f04 Function4f04: ; 4f04 - ld hl, $001d + ld hl, OBJECT_29 add hl, bc ld e, [hl] inc hl ld d, [hl] - ld hl, $0000 + ld hl, OBJECT_00 add hl, de ld a, [hl] and a @@ -2308,7 +2308,7 @@ Function4f33: ; 4f33 Function4f3a: ; 4f3a xor a - ld hl, $001d + ld hl, OBJECT_29 add hl, bc ld [hl], a call Function47a2 @@ -2316,7 +2316,7 @@ Function4f3a: ; 4f3a ; 4f43 Function4f43: ; 4f43 - ld hl, $001d + ld hl, OBJECT_29 add hl, bc ld d, [hl] ld a, [wd14f] @@ -2328,7 +2328,7 @@ Function4f43: ; 4f43 jr z, .asm_4f68 ld a, [hl] call Function4f6c - ld hl, $001d + ld hl, OBJECT_29 add hl, bc ld [hl], a ld d, a @@ -2343,7 +2343,7 @@ Function4f43: ; 4f43 ; 4f6c Function4f6c: ; 4f6c - ld hl, $001e + ld hl, OBJECT_30 add hl, bc and 1 ld a, [hl] @@ -2371,7 +2371,7 @@ Function4f83: ; 4f83 ; 4f8a Function4f8a: ; 4f8a - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $10 ld hl, OBJECT_STEP_DURATION @@ -2388,10 +2388,10 @@ Function4f99: ; 4f99 ld hl, OBJECT_SPRITE_Y_OFFSET add hl, bc ld [hl], $60 - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], $0 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret @@ -2402,7 +2402,7 @@ Function4fb2: ; 4fb2 ; 4fb3 Function4fb3: ; 4fb3 - ld hl, $001d + ld hl, OBJECT_29 add hl, bc inc [hl] ld a, [hl] @@ -2427,7 +2427,7 @@ Function4fb3: ; 4fb3 UpdateJumpPosition: ; 4fd5 call GetStepVector ld a, h - ld hl, $001f + ld hl, OBJECT_31 add hl, bc ld e, [hl] add e @@ -2466,7 +2466,7 @@ Function500e: ; 500e ; 5015 Function5015: ; 5015 - ld hl, $001b + ld hl, OBJECT_27 add hl, bc ld e, [hl] inc [hl] @@ -2481,7 +2481,7 @@ Function5015: ; 5015 ; 5026 Function5026: ; 5026 - ld hl, $001b + ld hl, OBJECT_27 add hl, bc ld e, [hl] inc [hl] @@ -2623,7 +2623,7 @@ Function550a: ; 550a jr z, .asm_5520 push bc call Function1ae5 - ld hl, $0000 + ld hl, OBJECT_00 add hl, bc ld a, [hl] pop bc @@ -2717,11 +2717,11 @@ Function5582: ; 5582 ld a, $d .asm_5587 push af - ld hl, $0004 + ld hl, OBJECT_04 add hl, de bit 7, [hl] jr z, .asm_55a1 - ld hl, $0000 + ld hl, OBJECT_00 add hl, de ld a, [hl] and a @@ -2769,10 +2769,10 @@ Function55b9: ; 55b9 ld a, [$ffaf] ld [hli], a push hl - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld d, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] pop hl @@ -2899,15 +2899,15 @@ Function5680: ; 5680 Function5688: ; 5688 push bc - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld d, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] call Function2a3c pop bc - ld hl, $000e + ld hl, OBJECT_STANDING_TILE add hl, bc ld [hl], a callba Function463f @@ -2915,10 +2915,10 @@ Function5688: ; 5688 ; 56a3 Function56a3: ; 56a3 - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld d, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] inc d @@ -3014,7 +3014,7 @@ Function56cd: ; 56cd .asm_572c ld [$ffbe], a - ld hl, $0006 + ld hl, OBJECT_PALETTE add hl, bc bit 7, [hl] jr z, .asm_573e @@ -3155,8 +3155,8 @@ Function57e2: ; 57e2 ld a, d and $80 ret z - ld bc, $0000 - ld hl, $0008 + ld bc, $0000 ; debug? + ld hl, OBJECT_08 add hl, bc ld a, [hl] or d @@ -3166,7 +3166,7 @@ Function57e2: ; 57e2 and $7 ld d, a ld bc, PlayerStruct - ld hl, $0006 + ld hl, OBJECT_PALETTE add hl, bc ld a, [hl] and $f8 @@ -3213,10 +3213,10 @@ Function582c: ; 582c pop af call Function18de ret c - ld hl, $0003 + ld hl, OBJECT_03 add hl, bc ld [hl], $13 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $0 ld a, [$ffb0] @@ -3242,7 +3242,7 @@ Function585c:: ; 585c push bc call Function587a pop bc - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc res 5, [hl] xor a @@ -3252,7 +3252,7 @@ Function585c:: ; 585c Function586e: ; 586e call Function18de ret c - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc set 5, [hl] xor a @@ -3266,7 +3266,7 @@ Function587a: ; 587a push af call Function1af1 jr z, .asm_588a - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc set 5, [hl] @@ -3288,7 +3288,7 @@ Function5897:: ; 5897 ret z push bc call Function1ae5 - ld hl, $0001 + ld hl, OBJECT_01 add hl, bc ld a, [hl] pop bc @@ -3298,7 +3298,7 @@ Function5897:: ; 5897 cp $ff ret z call Function1ae5 - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc res 5, [hl] ret @@ -3312,7 +3312,7 @@ Function58b9:: ; 58b9 push af call Function1af1 jr z, .asm_58ca - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc res 5, [hl] @@ -3332,14 +3332,14 @@ Function58b9:: ; 58b9 Function58d8: ; 58d8 call Function18de ret c - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc res 5, [hl] ret ; 58e3 Function58e3: ; 58e3 - ld hl, $0001 + ld hl, OBJECT_01 add hl, bc ld a, [hl] cp $ff @@ -3350,10 +3350,10 @@ Function58e3: ; 58e3 add hl, bc ld a, [hl] pop bc - ld hl, $0003 + ld hl, OBJECT_03 add hl, bc ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $0 ret @@ -3368,10 +3368,10 @@ Function5903: ; 5903 ld hl, .data_591c add hl, de ld a, [hl] - ld hl, $0003 + ld hl, OBJECT_03 add hl, bc ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $0 ret @@ -3410,7 +3410,7 @@ Function593a: ; 593a ret nc ld l, a ld h, $c4 - ld de, $0004 + ld de, OBJECT_04 ld a, b ld c, $a0 .asm_5952 @@ -4826,7 +4826,7 @@ Function627b: ; 627b ret ; 6292 -Function6292: ; 6292 +Function6292: ; 6292 ; unreferenced ld a, [$ff9b] and $7 ret nz @@ -5783,11 +5783,11 @@ INCLUDE "items/item_attributes.asm" Function6ec1: ; 6ec1 - ld hl, $0006 + ld hl, OBJECT_PALETTE add hl, bc bit 5, [hl] jr z, .asm_6ed9 - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc bit 4, [hl] push hl @@ -5799,7 +5799,7 @@ Function6ec1: ; 6ec1 jr .asm_6ee9 .asm_6ed9 - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc bit 4, [hl] jr nz, .asm_6ee9 @@ -5841,17 +5841,17 @@ Function6ec1: ; 6ec1 Function6f07: ; 6f07 call Function6f5f ret c - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld d, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] - ld hl, $0006 + ld hl, OBJECT_PALETTE add hl, bc bit 7, [hl] jp nz, Function6fa1 - ld hl, $000e + ld hl, OBJECT_STANDING_TILE add hl, bc ld a, [hl] ld d, a @@ -5865,7 +5865,7 @@ Function6f07: ; 6f07 Function6f2c: ; 6f2c call Function6f5f ret c - ld hl, $000e + ld hl, OBJECT_STANDING_TILE add hl, bc ld a, [hl] call GetTileCollision @@ -5876,13 +5876,13 @@ Function6f2c: ; 6f2c ; 6f3e Function6f3e: ; 6f3e - ld hl, $000e + ld hl, OBJECT_STANDING_TILE add hl, bc ld a, [hl] call Function6f7f ret nc push af - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld a, [hl] and 3 @@ -5902,13 +5902,13 @@ Function6f3e: ; 6f3e ; 6f5f Function6f5f: ; 6f5f - ld hl, $000f + ld hl, OBJECT_NEXT_TILE add hl, bc ld a, [hl] call Function6f7f ret nc push af - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc and 3 ld e, a @@ -5954,7 +5954,7 @@ Function6f7f: ; 6f7f ; 6fa1 Function6fa1: ; 6fa1 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld a, [hl] and 3 @@ -6034,7 +6034,7 @@ CheckFacingObject:: ; 6fd9 ld [$ffaf], a call Function7041 ret nc - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld a, [hl] cp $ff @@ -6049,10 +6049,10 @@ CheckFacingObject:: ; 6fd9 Function7009: ; 7009 - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld d, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] jr Function7041 @@ -6066,10 +6066,10 @@ Function7015: ; 7015 ret Function7021: ; 7021 - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld d, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] call GetSpriteDirection @@ -6102,11 +6102,11 @@ Function7041: ; 7041 ld [$ffb0], a call Function1af1 jr z, .asm_7093 - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc bit 7, [hl] jr nz, .asm_7093 - ld hl, $0006 + ld hl, OBJECT_PALETTE add hl, bc bit 7, [hl] jr z, .asm_7063 @@ -6168,7 +6168,7 @@ Function7041: ; 7041 ; 70a4 Function70a4: ; 70a4 - ld hl, $0016 + ld hl, OBJECT_22 add hl, bc ld a, [hl] and a @@ -6177,7 +6177,7 @@ Function70a4: ; 70a4 jr z, .asm_70c7 ld e, a ld d, a - ld hl, $0014 + ld hl, OBJECT_20 add hl, bc ld a, [hl] sub d @@ -6185,7 +6185,7 @@ Function70a4: ; 70a4 ld a, [hl] add e ld e, a - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld a, [hl] cp d @@ -6194,7 +6194,7 @@ Function70a4: ; 70a4 jr z, .asm_70eb .asm_70c7 - ld hl, $0016 + ld hl, OBJECT_22 add hl, bc ld a, [hl] swap a @@ -6202,7 +6202,7 @@ Function70a4: ; 70a4 jr z, .asm_70e9 ld e, a ld d, a - ld hl, $0015 + ld hl, OBJECT_21 add hl, bc ld a, [hl] sub d @@ -6210,7 +6210,7 @@ Function70a4: ; 70a4 ld a, [hl] add e ld e, a - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld a, [hl] cp d @@ -6228,7 +6228,7 @@ Function70a4: ; 70a4 ; 70ed Function70ed: ; 70ed - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld a, [XCoord] cp [hl] @@ -6239,7 +6239,7 @@ Function70ed: ; 70ed jr c, .asm_7111 .asm_70fe - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld a, [YCoord] cp [hl] @@ -6269,7 +6269,7 @@ Function7113: ; 7113 ld [$ffb0], a call Function1af1 jr z, .asm_7160 - ld hl, $0003 + ld hl, OBJECT_03 add hl, bc ld a, [hl] cp $15 @@ -6326,14 +6326,14 @@ Function7113: ; 7113 Function7171: ; 7171 - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld a, d sub [hl] jr c, .asm_718b cp $2 jr nc, .asm_718b - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld a, e sub [hl] @@ -6932,10 +6932,10 @@ Function80a1:: ; 80a1 ld a, b call Function18de ret c - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld d, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] ld a, [$ffaf] @@ -7002,7 +7002,7 @@ Function80e7:: ; 80e7 ld hl, VramState bit 7, [hl] ret z - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, de set 5, [hl] ret @@ -7016,12 +7016,12 @@ Function8116: ; 8116 Function811d: ; 811d ld a, [$ffb0] - ld hl, $0000 + ld hl, OBJECT_00 add hl, bc ld [hl], a ld a, [$ffaf] ld [wc2f0], a - ld hl, $0001 + ld hl, OBJECT_01 add hl, bc ld a, [hl] ld [wc2f1], a @@ -7030,7 +7030,7 @@ Function811d: ; 811d ld a, [hl] call GetSpritePalette ld [wc2f3], a - ld hl, $0008 + ld hl, OBJECT_08 add hl, bc ld a, [hl] and $f0 @@ -7040,23 +7040,23 @@ Function811d: ; 811d ld [wc2f3], a .asm_814e - ld hl, $0004 + ld hl, OBJECT_04 add hl, bc ld a, [hl] ld [wc2f4], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld a, [hl] ld [wc2f5], a - ld hl, $0003 + ld hl, OBJECT_03 add hl, bc ld a, [hl] ld [wc2f6], a - ld hl, $0002 + ld hl, OBJECT_SPRITE add hl, bc ld a, [hl] ld [wc2f7], a - ld hl, $0005 + ld hl, OBJECT_FLAGS add hl, bc ld a, [hl] ld [wc2f8], a @@ -7104,7 +7104,7 @@ Function8177: ; 8177 jp c, Function81c9 .asm_81bb - ld hl, $0010 + ld hl, OBJECT_LENGTH add hl, bc ld b, h ld c, l @@ -7183,7 +7183,7 @@ Function81ea: ; 81ea pop de .asm_8224 - ld hl, $0010 + ld hl, OBJECT_LENGTH add hl, bc ld b, h ld c, l @@ -7241,7 +7241,7 @@ Function823e: ; 823e pop de .asm_8278 - ld hl, $0010 + ld hl, OBJECT_LENGTH add hl, bc ld b, h ld c, l @@ -7255,13 +7255,13 @@ Function823e: ; 823e Function8286: ; 8286 ld a, [wc2f0] - ld hl, $0001 + ld hl, OBJECT_01 add hl, de ld [hl], a ld a, [wc2f4] call Function1a61 ld a, [wc2f3] - ld hl, $0006 + ld hl, OBJECT_PALETTE add hl, de or [hl] ld [hl], a @@ -7270,23 +7270,23 @@ Function8286: ; 8286 ld a, [wc2f6] call Function82f1 ld a, [wc2f1] - ld hl, $0000 + ld hl, OBJECT_00 add hl, de ld [hl], a ld a, [wc2f2] - ld hl, $0002 + ld hl, OBJECT_SPRITE add hl, de ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, de ld [hl], $0 - ld hl, $000d + ld hl, OBJECT_FACING add hl, de ld [hl], $ff ld a, [wc2f8] call Function830d ld a, [wc2f5] - ld hl, $0020 + ld hl, OBJECT_32 add hl, de ld [hl], a and a @@ -7294,10 +7294,10 @@ Function8286: ; 8286 ; 82d5 Function82d5: ; 82d5 - ld hl, $0015 + ld hl, OBJECT_21 add hl, de ld [hl], a - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, de ld [hl], a ld hl, YCoord @@ -7306,17 +7306,17 @@ Function82d5: ; 82d5 swap a ld hl, wd14d sub [hl] - ld hl, $0018 + ld hl, OBJECT_SPRITE_Y add hl, de ld [hl], a ret ; 82f1 Function82f1: ; 82f1 - ld hl, $0014 + ld hl, OBJECT_20 add hl, de ld [hl], a - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, de ld [hl], a ld hl, XCoord @@ -7325,7 +7325,7 @@ Function82f1: ; 82f1 swap a ld hl, wd14c sub [hl] - ld hl, $0017 + ld hl, OBJECT_SPRITE_X add hl, de ld [hl], a ret @@ -7340,7 +7340,7 @@ Function830d: ; 830d add $10 and $f0 or l - ld hl, $0016 + ld hl, OBJECT_22 add hl, de ld [hl], a ret @@ -7385,17 +7385,17 @@ Function8341: ; 8341 add hl, bc ld a, [hl] call Function1ae5 - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld a, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld c, [hl] ld b, a - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, de ld a, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, de ld e, [hl] ld d, a @@ -7442,14 +7442,14 @@ Function839e:: ; 839e ld a, b call Function18de ret c - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld a, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld c, [hl] ld b, a - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, de ld a, [hl] cp b @@ -7463,7 +7463,7 @@ Function839e:: ; 839e jr .asm_83d5 .asm_83c7 - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, de ld a, [hl] cp c @@ -7476,7 +7476,7 @@ Function839e:: ; 839e dec c .asm_83d5 - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, de ld [hl], b ld a, b @@ -7486,10 +7486,10 @@ Function839e:: ; 839e swap a ld hl, wd14c sub [hl] - ld hl, $0017 + ld hl, OBJECT_SPRITE_X add hl, de ld [hl], a - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, de ld [hl], c ld a, c @@ -7499,17 +7499,17 @@ Function839e:: ; 839e swap a ld hl, wd14d sub [hl] - ld hl, $0018 + ld hl, OBJECT_SPRITE_Y add hl, de ld [hl], a ld a, [$ffb0] - ld hl, $0020 + ld hl, OBJECT_32 add hl, de ld [hl], a - ld hl, $0003 + ld hl, OBJECT_03 add hl, de ld [hl], $1a - ld hl, $0009 + ld hl, OBJECT_09 add hl, de ld [hl], $0 ret @@ -7543,20 +7543,20 @@ Function8417:: ; 8417 Function8439: ; 8439 ld a, d call Function1ae5 - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld a, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld c, [hl] ld b, a push bc ld a, e call Function1ae5 - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld d, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] pop bc @@ -7630,15 +7630,15 @@ Function848a: ; 848a Function849d: ; 849d ld a, [wd4cd] call Function1ae5 - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld d, [hl] - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] ld a, [wd4ce] call Function1ae5 - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld a, d cp [hl] @@ -7654,7 +7654,7 @@ Function849d: ; 849d ret .asm_84c5 - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld a, e cp [hl] From 3735185ec24dd73de6863c58be4ddd4fc86ba00c Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 13:14:56 -0800 Subject: [PATCH 03/20] Use PartyMon labels in GetPartyParamLocation arguments. --- battle/core.asm | 4 +-- items/item_effects.asm | 26 +++++++++---------- main.asm | 59 +++++++++++++++++++++++------------------- 3 files changed, 47 insertions(+), 42 deletions(-) diff --git a/battle/core.asm b/battle/core.asm index 879ae211f..5c6742498 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -7366,7 +7366,7 @@ Function3ee3b: ; 3ee3b .asm_3ee89 push hl push bc - ld a, $1c + ld a, PartyMon1PokerusStatus - PartyMon1 call GetPartyParamLocation ld a, [hl] and a @@ -7673,7 +7673,7 @@ Function3ee3b: ; 3ee3b cp b jr z, .asm_3f0d1 ld [CurPartyMon], a - ld a, $0 + ld a, PartyMon1Species - PartyMon1 call GetPartyParamLocation ld b, h ld c, l diff --git a/items/item_effects.asm b/items/item_effects.asm index e4c3aad8e..ea7c3f772 100644 --- a/items/item_effects.asm +++ b/items/item_effects.asm @@ -1380,7 +1380,7 @@ RareCandy: ; ef14 callba Function50e47 pop de - ld a, $8 + ld a, PartyMon1Exp - PartyMon1 call GetPartyParamLocation ld a, [hMultiplicand] @@ -1390,7 +1390,7 @@ RareCandy: ; ef14 ld a, [$ffb6] ld [hl], a - ld a, $24 + ld a, PartyMon1MaxHP - PartyMon1 call GetPartyParamLocation ld a, [hli] ld b, a @@ -1398,7 +1398,7 @@ RareCandy: ; ef14 push bc call Functionee8c - ld a, $25 + ld a, PartyMon1MaxHP + 1 - PartyMon1 call GetPartyParamLocation pop bc @@ -1498,7 +1498,7 @@ Functionefda: ; efda (3:6fda) ld a, $1 ret z call Functionf058 - ld a, $20 + ld a, PartyMon1Status - PartyMon1 call GetPartyParamLocation ld a, [hl] and c @@ -1537,7 +1537,7 @@ Functionf009: ; f009 (3:7009) Functionf01e: ; f01e (3:701e) call Functionf2a6 ret nc - ld a, $22 + ld a, PartyMon1HP - PartyMon1 call GetPartyParamLocation ld a, [hli] ld [BattleMonHP], a @@ -1955,7 +1955,7 @@ Functionf2ba: ; f2ba (3:72ba) Functionf2c3: ; f2c3 (3:72c3) call Functionf36f asm_f2c6: ; f2c6 (3:72c6) - ld a, $22 + ld a, PartyMon1HP - PartyMon1 call GetPartyParamLocation ld [hl], d inc hl @@ -1963,7 +1963,7 @@ asm_f2c6: ; f2c6 (3:72c6) jp Functionf328 Functionf2d1: ; f2d1 (3:72d1) - ld a, $23 + ld a, PartyMon1HP + 1 - PartyMon1 call GetPartyParamLocation ld a, [hl] add e @@ -1973,11 +1973,11 @@ Functionf2d1: ; f2d1 (3:72d1) ld [hl], a jr c, .asm_f2f5 call Functionf328 - ld a, $23 + ld a, PartyMon1HP + 1 - PartyMon1 call GetPartyParamLocation ld d, h ld e, l - ld a, $25 + ld a, PartyMon1MaxHP + 1 - PartyMon1 call GetPartyParamLocation ld a, [de] sub [hl] @@ -1992,7 +1992,7 @@ Functionf2d1: ; f2d1 (3:72d1) ret Functionf2f9: ; f2f9 (3:72f9) - ld a, $23 + ld a, PartyMon1HP + 1 - PartyMon1 call GetPartyParamLocation ld a, [hl] sub e @@ -2030,7 +2030,7 @@ Functionf31b: ; f31b (3:731b) ret Functionf328: ; f328 (3:7328) - ld a, $22 + ld a, PartyMon1HP - PartyMon1 call GetPartyParamLocation ld a, [hli] ld [wd1ef], a @@ -2056,7 +2056,7 @@ Functionf33f: ; f33f ; f348 Functionf348: ; f348 (3:7348) - ld a, $22 + ld a, PartyMon1HP - PartyMon1 call GetPartyParamLocation ld a, [hli] ld [wd1ed], a @@ -2073,7 +2073,7 @@ Functionf356: ; f356 (3:7356) Functionf35f: ; f35f (3:735f) push hl - ld a, $24 + ld a, PartyMon1MaxHP - PartyMon1 call GetPartyParamLocation ld a, [hli] ld [Buffer2], a diff --git a/main.asm b/main.asm index 59da5de7f..95ab1edba 100644 --- a/main.asm +++ b/main.asm @@ -13615,26 +13615,26 @@ Functione039: ; e039 ; e134 Functione134: ; e134 - ld a, $1f + ld a, PartyMon1Level - PartyMon1 call GetPartyParamLocation ld a, [hl] - ld [$001f], a ; wow - ld a, $0 + ld [PartyMon1Level - PartyMon1], a ; wow + ld a, PartyMon1Species - PartyMon1 call GetPartyParamLocation ld a, [hl] ld [CurSpecies], a call GetBaseData - ld a, $24 + ld a, PartyMon1MaxHP - PartyMon1 call GetPartyParamLocation ld d, h ld e, l push de - ld a, $a + ld a, PartyMon1Exp + 2 - PartyMon1 call GetPartyParamLocation ld b, $1 call Functione167 pop de - ld a, $22 + ld a, PartyMon1HP - PartyMon1 call GetPartyParamLocation ld a, [de] inc de @@ -20301,7 +20301,7 @@ UnknownText_0x12f00: ; 0x12f00 ; 0x12f05 Function12f05: ; 12f05 - ld a, $24 + ld a, PartyMon1MaxHP - PartyMon1 call GetPartyParamLocation ld a, [hli] ld [hProduct], a @@ -20311,7 +20311,7 @@ Function12f05: ; 12f05 ld [hMultiplier], a ld b, $2 call Divide - ld a, $23 + ld a, PartyMon1HP + 1 - PartyMon1 call GetPartyParamLocation ld a, [$ffb6] sub [hl] @@ -33120,11 +33120,11 @@ Function24dd4: ; 24dd4 ld a, [InLinkBattle] and a jr nz, .asm_24e03 - ld a, $2 + ld a, PartyMon1Moves - PartyMon1 call GetPartyParamLocation ld d, h ld e, l - ld c, $4 + ld c, NUM_MOVES .asm_24ded push bc push de @@ -33155,7 +33155,7 @@ Function24dd4: ; 24dd4 and a jr nz, .asm_24e2f push hl - ld a, $1 + ld a, PartyMon1Item - PartyMon1 call GetPartyParamLocation ld d, [hl] callba ItemIsMail @@ -37974,17 +37974,17 @@ Function28b87: ; 28b87 ld b, $1 pop af ld c, a - cp $97 + cp MEW jr z, .asm_28e49 ld a, [CurPartySpecies] - cp $97 + cp MEW jr z, .asm_28e49 ld b, $2 ld a, c - cp $fb + cp CELEBI jr z, .asm_28e49 ld a, [CurPartySpecies] - cp $fb + cp CELEBI jr z, .asm_28e49 ld b, $0 @@ -47620,7 +47620,7 @@ INCLUDE "data/pokedex/entry_pointers.asm" Function4456e: ; 4456e - ld a, $1 + ld a, PartyMon1Item - PartyMon1 call GetPartyParamLocation ld d, [hl] callba ItemIsMail @@ -47646,7 +47646,7 @@ Function4456e: ; 4456e xor a ld bc, $002f call ByteFill - ld a, $1 + ld a, PartyMon1Item - PartyMon1 call GetPartyParamLocation ld [hl], $0 ld hl, $a834 @@ -58745,34 +58745,39 @@ Function505da:: ; 505da ; 5062e Function5062e: ; 5062e - ld a, $20 + ld a, PartyMon1Status - PartyMon1 call GetPartyParamLocation ld a, [hl] - and $8 + and 1 << PSN ret z - ld a, $22 + + ld a, PartyMon1HP - PartyMon1 call GetPartyParamLocation ld a, [hli] ld b, a ld c, [hl] + or c ret z + dec bc ld [hl], c dec hl ld [hl], b + ld a, b or c - jr nz, .asm_50654 - ld a, $20 + jr nz, .not_fainted + + ld a, PartyMon1Status - PartyMon1 call GetPartyParamLocation - ld [hl], $0 - ld c, $2 + ld [hl], 0 + ld c, 2 scf ret -.asm_50654 - ld c, $1 +.not_fainted + ld c, 1 scf ret ; 50658 @@ -70785,7 +70790,7 @@ Function8adef: ; 8adef dec a ld [CurPartyMon], a push bc - ld a, $1 + ld a, PartyMon1Item - PartyMon1 call GetPartyParamLocation pop bc ld a, [hl] From 6c492cb86d4362ed481ea0ef991e47f8a4233e3b Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 13:15:38 -0800 Subject: [PATCH 04/20] Comment PrintTempMonStats. --- battle/core.asm | 2 +- items/item_effects.asm | 2 +- main.asm | 26 +++++++++++++------------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/battle/core.asm b/battle/core.asm index 5c6742498..a0e2576c1 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -7630,7 +7630,7 @@ Function3ee3b: ; 3ee3b call TextBox hlcoord 11, 1 ld bc, $0004 - predef Function50b7b + predef PrintTempMonStats ld c, $1e call DelayFrames call Functiona80 diff --git a/items/item_effects.asm b/items/item_effects.asm index ea7c3f772..5f594c1c7 100644 --- a/items/item_effects.asm +++ b/items/item_effects.asm @@ -1431,7 +1431,7 @@ RareCandy: ; ef14 hlcoord 11, 1 ld bc, $0004 - predef Function50b7b + predef PrintTempMonStats call Functiona80 diff --git a/main.asm b/main.asm index 95ab1edba..52f43bd00 100644 --- a/main.asm +++ b/main.asm @@ -7801,7 +7801,7 @@ PredefPointers:: ; 856b add_predef StatsScreenInit add_predef DrawPlayerHP add_predef DrawEnemyHP - add_predef Function50b7b ; $28 + add_predef PrintTempMonStats ; $28 add_predef GetTypeName add_predef PrintMoveType add_predef PrintType @@ -56517,7 +56517,7 @@ Function4e1ae: ; 4e1ae (13:61ae) jr nz, .asm_4e1bb hlcoord 11, 8 ld bc, $6 - predef Function50b7b + predef PrintTempMonStats ret Function4e1cc: ; 4e1cc (13:61cc) @@ -59438,40 +59438,40 @@ DrawHP: ; 50b10 ; 50b7b -Function50b7b: ; 50b7b -; Print a monster's stats on level up. +PrintTempMonStats: ; 50b7b +; Print TempMon's stats at hl, with spacing bc. push bc push hl - ld de, String_50bb5 + ld de, .StatNames call PlaceString pop hl pop bc add hl, bc - ld bc, $0014 + ld bc, SCREEN_WIDTH add hl, bc ld de, TempMonAttack ld bc, $0203 - call Function50bab + call .PrintStat ld de, TempMonDefense - call Function50bab + call .PrintStat ld de, TempMonSpclAtk - call Function50bab + call .PrintStat ld de, TempMonSpclDef - call Function50bab + call .PrintStat ld de, TempMonSpeed jp PrintNum ; 50bab -Function50bab: ; 50bab +.PrintStat: ; 50bab push hl call PrintNum pop hl - ld de, $0028 + ld de, SCREEN_WIDTH * 2 add hl, de ret ; 50bb5 -String_50bb5: ; 50bb5 +.StatNames: ; 50bb5 db "ATTACK" next "DEFENSE" next "SPCL.ATK" From 994f89b4906a2be44c92c3e6dcdc38371829d037 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 13:20:22 -0800 Subject: [PATCH 05/20] Split out the move deleter code. --- event/move_deleter.asm | 168 ++++++++++++++++++++++++++++++++++++++++ main.asm | 169 +---------------------------------------- 2 files changed, 169 insertions(+), 168 deletions(-) create mode 100644 event/move_deleter.asm diff --git a/event/move_deleter.asm b/event/move_deleter.asm new file mode 100644 index 000000000..b81006681 --- /dev/null +++ b/event/move_deleter.asm @@ -0,0 +1,168 @@ +Function2c547: ; 2c547 + ld hl, UnknownText_0x2c5ef + call PrintText + call YesNoBox + jr c, .asm_2c5c3 + ld hl, UnknownText_0x2c5f4 + call PrintText + callba Function50000 + jr c, .asm_2c5c3 + ld a, [CurPartySpecies] + cp EGG + jr z, .asm_2c5bc + ld a, [CurPartyMon] + ld hl, PartyMon1Moves + 1 + ld bc, PartyMon2 - PartyMon1 + call AddNTimes + ld a, [hl] + and a + jr z, .asm_2c5ca + ld hl, UnknownText_0x2c5ea + call PrintText + call Function1d6e + callba Function12f5b + push af + call Function2b74 + pop af + jr c, .asm_2c5c3 + ld a, [wcfa9] + push af + ld a, [CurSpecies] + ld [wd265], a + call GetMoveName + ld hl, UnknownText_0x2c5d6 + call PrintText + call YesNoBox + pop bc + jr c, .asm_2c5c3 + call Function2c5f9 + call WaitSFX + ld de, SFX_MOVE_DELETED + call PlaySFX + call WaitSFX + ld hl, UnknownText_0x2c5db + call PrintText + ret + +.asm_2c5bc + ld hl, UnknownText_0x2c5e0 + call PrintText + ret + +.asm_2c5c3 + ld hl, UnknownText_0x2c5e5 + call PrintText + ret + +.asm_2c5ca + ld hl, UnknownText_0x2c5d1 + call PrintText + ret +; 2c5d1 + +UnknownText_0x2c5d1: ; 0x2c5d1 + ; That #MON knows only one move. + text_jump UnknownText_0x1c5eba + db "@" +; 0x2c5d6 + +UnknownText_0x2c5d6: ; 0x2c5d6 + ; Oh, make it forget @ ? + text_jump UnknownText_0x1c5eda + db "@" +; 0x2c5db + +UnknownText_0x2c5db: ; 0x2c5db + ; Done! Your #MON forgot the move. + text_jump UnknownText_0x1c5ef5 + db "@" +; 0x2c5e0 + +UnknownText_0x2c5e0: ; 0x2c5e0 + ; An EGG doesn't know any moves! + text_jump UnknownText_0x1c5f17 + db "@" +; 0x2c5e5 + +UnknownText_0x2c5e5: ; 0x2c5e5 + ; No? Come visit me again. + text_jump UnknownText_0x1c5f36 + db "@" +; 0x2c5ea + +UnknownText_0x2c5ea: ; 0x2c5ea + ; Which move should it forget, then? + text_jump UnknownText_0x1c5f50 + db "@" +; 0x2c5ef + +UnknownText_0x2c5ef: ; 0x2c5ef + ; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget? + text_jump UnknownText_0x1c5f74 + db "@" +; 0x2c5f4 + +UnknownText_0x2c5f4: ; 0x2c5f4 + ; Which #MON? + text_jump UnknownText_0x1c5fd1 + db "@" +; 0x2c5f9 + +Function2c5f9: ; 2c5f9 + ld a, b + push bc + dec a + ld c, a + ld b, 0 + ld hl, PartyMon1Moves + add hl, bc + ld a, [CurPartyMon] + ld bc, PartyMon2 - PartyMon1 + call AddNTimes + pop bc + push bc + inc b +.asm_2c60f + ld a, b + cp NUM_MOVES + 1 + jr z, .asm_2c61b + inc hl + ld a, [hld] + ld [hl], a + inc hl + inc b + jr .asm_2c60f + +.asm_2c61b + xor a + ld [hl], a + pop bc + + ld a, b + push bc + dec a + ld c, a + ld b, 0 + ld hl, PartyMon1PP + add hl, bc + ld a, [CurPartyMon] + ld bc, PartyMon2 - PartyMon1 + call AddNTimes + pop bc + inc b +.asm_2c633 + ld a, b + cp NUM_MOVES + 1 + jr z, .asm_2c63f + inc hl + ld a, [hld] + ld [hl], a + inc hl + inc b + jr .asm_2c633 + +.asm_2c63f + xor a + ld [hl], a + ret +; 2c642 diff --git a/main.asm b/main.asm index 52f43bd00..0147d4da0 100644 --- a/main.asm +++ b/main.asm @@ -41918,174 +41918,7 @@ AI_Redundant: ; 2c41a ret -Function2c547: ; 2c547 - ld hl, UnknownText_0x2c5ef - call PrintText - call YesNoBox - jr c, .asm_2c5c3 - ld hl, UnknownText_0x2c5f4 - call PrintText - callba Function50000 - jr c, .asm_2c5c3 - ld a, [CurPartySpecies] - cp EGG - jr z, .asm_2c5bc - ld a, [CurPartyMon] - ld hl, PartyMon1Moves + 1 - ld bc, PartyMon2 - PartyMon1 - call AddNTimes - ld a, [hl] - and a - jr z, .asm_2c5ca - ld hl, UnknownText_0x2c5ea - call PrintText - call Function1d6e - callba Function12f5b - push af - call Function2b74 - pop af - jr c, .asm_2c5c3 - ld a, [wcfa9] - push af - ld a, [CurSpecies] - ld [wd265], a - call GetMoveName - ld hl, UnknownText_0x2c5d6 - call PrintText - call YesNoBox - pop bc - jr c, .asm_2c5c3 - call Function2c5f9 - call WaitSFX - ld de, SFX_MOVE_DELETED - call PlaySFX - call WaitSFX - ld hl, UnknownText_0x2c5db - call PrintText - ret - -.asm_2c5bc - ld hl, UnknownText_0x2c5e0 - call PrintText - ret - -.asm_2c5c3 - ld hl, UnknownText_0x2c5e5 - call PrintText - ret - -.asm_2c5ca - ld hl, UnknownText_0x2c5d1 - call PrintText - ret -; 2c5d1 - -UnknownText_0x2c5d1: ; 0x2c5d1 - ; That #MON knows only one move. - text_jump UnknownText_0x1c5eba - db "@" -; 0x2c5d6 - -UnknownText_0x2c5d6: ; 0x2c5d6 - ; Oh, make it forget @ ? - text_jump UnknownText_0x1c5eda - db "@" -; 0x2c5db - -UnknownText_0x2c5db: ; 0x2c5db - ; Done! Your #MON forgot the move. - text_jump UnknownText_0x1c5ef5 - db "@" -; 0x2c5e0 - -UnknownText_0x2c5e0: ; 0x2c5e0 - ; An EGG doesn't know any moves! - text_jump UnknownText_0x1c5f17 - db "@" -; 0x2c5e5 - -UnknownText_0x2c5e5: ; 0x2c5e5 - ; No? Come visit me again. - text_jump UnknownText_0x1c5f36 - db "@" -; 0x2c5ea - -UnknownText_0x2c5ea: ; 0x2c5ea - ; Which move should it forget, then? - text_jump UnknownText_0x1c5f50 - db "@" -; 0x2c5ef - -UnknownText_0x2c5ef: ; 0x2c5ef - ; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget? - text_jump UnknownText_0x1c5f74 - db "@" -; 0x2c5f4 - -UnknownText_0x2c5f4: ; 0x2c5f4 - ; Which #MON? - text_jump UnknownText_0x1c5fd1 - db "@" -; 0x2c5f9 - -Function2c5f9: ; 2c5f9 - ld a, b - push bc - dec a - ld c, a - ld b, 0 - ld hl, PartyMon1Moves - add hl, bc - ld a, [CurPartyMon] - ld bc, PartyMon2 - PartyMon1 - call AddNTimes - pop bc - push bc - inc b -.asm_2c60f - ld a, b - cp NUM_MOVES + 1 - jr z, .asm_2c61b - inc hl - ld a, [hld] - ld [hl], a - inc hl - inc b - jr .asm_2c60f - -.asm_2c61b - xor a - ld [hl], a - pop bc - - ld a, b - push bc - dec a - ld c, a - ld b, 0 - ld hl, PartyMon1PP - add hl, bc - ld a, [CurPartyMon] - ld bc, PartyMon2 - PartyMon1 - call AddNTimes - pop bc - inc b -.asm_2c633 - ld a, b - cp NUM_MOVES + 1 - jr z, .asm_2c63f - inc hl - ld a, [hld] - ld [hl], a - inc hl - inc b - jr .asm_2c633 - -.asm_2c63f - xor a - ld [hl], a - ret -; 2c642 +INCLUDE "event/move_deleter.asm" Function2c642: ; 2c642 (b:4642) From e13565f933389024fd0280589c962b9bd13177d3 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 13:27:15 -0800 Subject: [PATCH 06/20] Split out the pack code. --- engine/pack.asm | 1692 +++++++++++++++++++++++++++++++++++++++++++++++ main.asm | 1689 +--------------------------------------------- 2 files changed, 1693 insertions(+), 1688 deletions(-) create mode 100644 engine/pack.asm diff --git a/engine/pack.asm b/engine/pack.asm new file mode 100644 index 000000000..b83576148 --- /dev/null +++ b/engine/pack.asm @@ -0,0 +1,1692 @@ + +Pack: ; 10000 + ld hl, Options + set 4, [hl] + call Function1068a +.loop + call Functiona57 + ld a, [wcf63] + bit 7, a + jr nz, .done + call Function10026 + call DelayFrame + jr .loop + +.done + ld a, [wcf65] + ld [wd0d6], a + ld hl, Options + res 4, [hl] + ret +; 10026 + +Function10026: ; 10026 + ld a, [wcf63] + ld hl, Jumptable_10030 + call Function1086b + jp [hl] +; 10030 + + +Jumptable_10030: ; 10030 (4:4030) + dw Function10046 + dw Function10056 + dw Function10067 + dw Function10186 + dw Function10198 + dw Function10094 + dw Function100a6 + dw Function100d3 + dw Function100e8 + dw Function10874 + dw Function1087e + + +Function10046: ; 10046 (4:4046) + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function10955 + ld a, [wcf64] + ld [wcf63], a + call Function10a40 + ret + +Function10056: ; 10056 (4:4056) + xor a + ld [wcf65], a + call Function10a36 + call Function109bb + call Function1089a + call Function10866 + ret + +Function10067: ; 10067 (4:4067) + ld hl, MenuDataHeader_0x10a4f + call Function1d3c + ld a, [wd0d9] + ld [wcf88], a + ld a, [wd0df] + ld [wd0e4], a + call Function350c + ld a, [wd0e4] + ld [wd0df], a + ld a, [wcfa9] + ld [wd0d9], a + ld b, $7 + ld c, $3 + call Function108d4 + ret c + call Function101c5 + ret + +Function10094: ; 10094 (4:4094) + ld a, $2 + ld [wcf65], a + call Function10a36 + call Function109bb + call Function1089a + call Function10866 + ret + +Function100a6: ; 100a6 (4:40a6) + ld hl, MenuDataHeader_0x10a7f + call Function1d3c + ld a, [wd0da] + ld [wcf88], a + ld a, [wd0e0] + ld [wd0e4], a + call Function350c + ld a, [wd0e4] + ld [wd0e0], a + ld a, [wcfa9] + ld [wd0da], a + ld b, $3 + ld c, $7 + call Function108d4 + ret c + call Function101c5 + ret + +Function100d3: ; 100d3 (4:40d3) + ld a, $3 + ld [wcf65], a + call Function10a36 + call Function109bb + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function1089a + call Function10866 + ret + +Function100e8: ; 100e8 (4:40e8) + callba Function2c76f + ld b, $5 + ld c, $1 + call Function108d4 + ret c + callba _CheckTossableItem + ld a, [wd142] + and a + jr nz, .asm_1010a + ld hl, MenuDataHeader_0x1013b + ld de, Jumptable_10153 + jr .asm_10110 +.asm_1010a + ld hl, MenuDataHeader_0x10124 + ld de, Jumptable_10137 +.asm_10110 + push de + call LoadMenuDataHeader + call Function1d81 + call Function1c07 + pop hl + ret c + ld a, [wcfa9] + dec a + call Function1086b + jp [hl] +; 10124 (4:4124) + +MenuDataHeader_0x10124: ; 0x10124 + db $40 ; flags + db 07, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x1012c + db 1 ; default option +; 0x1012c + +MenuData2_0x1012c: ; 0x1012c + db $c0 ; flags + db 2 ; items + db "USE@" + db "QUIT@" +; 0x10137 + +Jumptable_10137: ; 10137 + dw Function10159 + dw Function10492 +; 1013b + +MenuDataHeader_0x1013b: ; 0x1013b + db $40 ; flags + db 05, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10143 + db 1 ; default option +; 0x10143 + +MenuData2_0x10143: ; 0x10143 + db $c0 ; flags + db 3 ; items + db "USE@" + db "GIVE@" + db "QUIT@" +; 0x10153 + +Jumptable_10153: ; 10153 + dw Function10159 + dw Function103fd + dw Function10492 +; 10159 + +Function10159: ; 10159 + callba Function2c7bf + ret c + callba Function2c7fb + jr c, .asm_10179 + ld hl, Options + ld a, [hl] + push af + res 4, [hl] + callba Function2c867 + pop af + ld [Options], a +.asm_10179 + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function10955 + call Function1089a + call Function10a40 + ret + +Function10186: ; 10186 (4:4186) + ld a, $1 + ld [wcf65], a + call Function10a36 + call Function109bb + call Function1089a + call Function10866 + ret + +Function10198: ; 10198 (4:4198) + ld hl, MenuDataHeader_0x10aaf + call Function1d3c + ld a, [wd0db] + ld [wcf88], a + ld a, [wd0e1] + ld [wd0e4], a + call Function350c + ld a, [wd0e4] + ld [wd0e1], a + ld a, [wcfa9] + ld [wd0db], a + ld b, $1 + ld c, $5 + call Function108d4 + ret c + call Function101c5 + ret + +Function101c5: ; 101c5 (4:41c5) + callba _CheckTossableItem + ld a, [wd142] + and a + jr nz, .asm_101f9 + callba CheckSelectableItem + ld a, [wd142] + and a + jr nz, .asm_101eb + callba CheckItemMenu + ld a, [wd142] + and a + jr nz, .asm_10207 + jr .asm_10227 +.asm_101eb + callba CheckItemMenu + ld a, [wd142] + and a + jr nz, .asm_1020f + jr .asm_1022f +.asm_101f9 + callba CheckSelectableItem + ld a, [wd142] + and a + jr nz, .asm_10217 + jr .asm_1021f +.asm_10207 + ld hl, MenuDataHeader_0x10249 + ld de, Jumptable_1026a + jr .asm_10235 +.asm_1020f + ld hl, MenuDataHeader_0x10274 + ld de, Jumptable_10291 + jr .asm_10235 +.asm_10217 + ld hl, MenuDataHeader_0x10299 + ld de, Jumptable_102ac + jr .asm_10235 +.asm_1021f + ld hl, MenuDataHeader_0x102b0 + ld de, Jumptable_102c7 + jr .asm_10235 +.asm_10227 + ld hl, MenuDataHeader_0x102cd + ld de, Jumptable_102ea + jr .asm_10235 +.asm_1022f + ld hl, MenuDataHeader_0x102f2 + ld de, Jumptable_1030b +.asm_10235 + push de + call LoadMenuDataHeader + call Function1d81 + call Function1c07 + pop hl + ret c + ld a, [wcfa9] + dec a + call Function1086b + jp [hl] +; 10249 (4:4249) + +MenuDataHeader_0x10249: ; 0x10249 + db $40 ; flags + db 01, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10251 + db 1 ; default option +; 0x10251 + +MenuData2_0x10251: ; 0x10251 + db $c0 ; flags + db 5 ; items + db "USE@" + db "GIVE@" + db "TOSS@" + db "SEL@" + db "QUIT@" +; 0x1026a + +Jumptable_1026a: ; 1026a + dw Function10311 + dw Function103fd + dw Function10364 + dw Function103c2 + dw Function10492 +; 10274 + +MenuDataHeader_0x10274: ; 0x10274 + db $40 ; flags + db 03, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x1027c + db 1 ; default option +; 0x1027c + +MenuData2_0x1027c: ; 0x1027c + db $c0 ; flags + db 4 ; items + db "USE@" + db "GIVE@" + db "TOSS@" + db "QUIT@" +; 0x10291 + +Jumptable_10291: ; 10291 + dw Function10311 + dw Function103fd + dw Function10364 + dw Function10492 +; 10299 + +MenuDataHeader_0x10299: ; 0x10299 + db $40 ; flags + db 07, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x102a1 + db 1 ; default option +; 0x102a1 + +MenuData2_0x102a1: ; 0x102a1 + db $c0 ; flags + db 2 ; items + db "USE@" + db "QUIT@" +; 0x102ac + +Jumptable_102ac: ; 102ac + dw Function10311 + dw Function10492 +; 102b0 + +MenuDataHeader_0x102b0: ; 0x102b0 + db $40 ; flags + db 05, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x102b8 + db 1 ; default option +; 0x102b8 + +MenuData2_0x102b8: ; 0x102b8 + db $c0 ; flags + db 3 ; items + db "USE@" + db "SEL@" + db "QUIT@" +; 0x102c7 + +Jumptable_102c7: ; 102c7 + dw Function10311 + dw Function103c2 + dw Function10492 +; 102cd + +MenuDataHeader_0x102cd: ; 0x102cd + db $40 ; flags + db 03, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x102d5 + db 1 ; default option +; 0x102d5 + +MenuData2_0x102d5: ; 0x102d5 + db $c0 ; flags + db 4 ; items + db "GIVE@" + db "TOSS@" + db "SEL@" + db "QUIT@" +; 0x102ea + +Jumptable_102ea: ; 102ea + dw Function103fd + dw Function10364 + dw Function103c2 + dw Function10492 +; 102f2 + +MenuDataHeader_0x102f2: ; 0x102f2 + db $40 ; flags + db 05, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x102fa + db 1 ; default option +; 0x102fa + +MenuData2_0x102fa: ; 0x102fa + db $c0 ; flags + db 3 ; items + db "GIVE@" + db "TOSS@" + db "QUIT@" +; 0x1030b + +Jumptable_1030b: ; 1030b + dw Function103fd + dw Function10364 + dw Function10492 +; 10311 + +Function10311: ; 10311 + callba CheckItemMenu + ld a, [wd142] + ld hl, Jumptable_1031f + rst JumpTable + ret +; 1031f + +Jumptable_1031f: ; 1031f (4:431f) + dw Function1032d + dw Function1032d + dw Function1032d + dw Function1032d + dw Function10334 + dw Function10338 + dw Function10355 +; 1035c + +Function1032d: ; 1032d (4:432d) + ld hl, UnknownText_0x10af3 + call Function10889 + ret + +Function10334: ; 10334 (4:4334) + call DoItemEffect + ret + +Function10338: ; 10338 (4:4338) + ld a, [PartyCount] + and a + jr z, .asm_1034e + call DoItemEffect + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function10955 + call Function1089a + call Function10a40 + ret +.asm_1034e + ld hl, UnknownText_0x10af8 + call Function10889 + ret + +Function10355: ; 10355 (4:4355) + call DoItemEffect + ld a, [wd0ec] + and a + jr z, Function1032d + ld a, $a + ld [wcf63], a + ret +; 10364 (4:4364) + +Function10364: ; 10364 + ld hl, UnknownText_0x10ae4 + call Function10889 + callba Function24fbf + push af + call Function1c07 + pop af + jr c, .asm_1039c + call Function10a1d + ld hl, UnknownText_0x10ae9 + call Function1d4f + call YesNoBox + push af + call Function1c07 + pop af + jr c, .asm_1039c + ld hl, NumItems + ld a, [wd107] + call TossItem + call Function10a1d + ld hl, UnknownText_0x10aee + call Function10889 + +.asm_1039c + ret +; 1039d + +Function1039d: ; 1039d + ld a, [wcf65] + and a + jr z, .asm_103b2 + dec a + jr z, .asm_103aa + dec a + jr z, .asm_103ba + ret + +.asm_103aa + xor a + ld [wd0db], a + ld [wd0e1], a + ret + +.asm_103b2 + xor a + ld [wd0d9], a + ld [wd0df], a + ret + +.asm_103ba + xor a + ld [wd0da], a + ld [wd0e0], a + ret +; 103c2 + +Function103c2: ; 103c2 + callba CheckSelectableItem + ld a, [wd142] + and a + jr nz, .asm_103f6 + ld a, [wcf65] + rrca + rrca + and $c0 + ld b, a + ld a, [wd107] + inc a + and $3f + or b + ld [WhichRegisteredItem], a + ld a, [CurItem] + ld [RegisteredItem], a + call Function10a1d + ld de, SFX_FULL_HEAL + call WaitPlaySFX + ld hl, UnknownText_0x10afd + call Function10889 + ret + +.asm_103f6 + ld hl, UnknownText_0x10b02 + call Function10889 + ret +; 103fd + +Function103fd: ; 103fd + ld a, [PartyCount] + and a + jp z, Function10486 + ld a, [Options] + push af + res 4, a + ld [Options], a + ld a, $8 + ld [PartyMenuActionText], a + call WhiteBGMap + callba Function5004f + callba Function50405 + callba Function503e0 +.asm_10427 + callba WritePartyMenuTilemap + callba PrintPartyMenuText + call WaitBGMap + call Function32f9 + call DelayFrame + callba PartyMenuSelect + jr c, .asm_10475 + ld a, [CurPartySpecies] + cp EGG + jr nz, .asm_10453 + ld hl, UnknownText_0x1048d + call PrintText + jr .asm_10427 +.asm_10453 + ld a, [wcf63] + push af + ld a, [wcf64] + push af + call GetCurNick + ld hl, StringBuffer1 + ld de, wd050 + ld bc, PKMN_NAME_LENGTH + call CopyBytes + call Function12bd9 + pop af + ld [wcf64], a + pop af + ld [wcf63], a +.asm_10475 + pop af + ld [Options], a + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function10955 + call Function1089a + call Function10a40 + ret + +Function10486: ; 10486 (4:4486) + ld hl, UnknownText_0x10af8 + call Function10889 + ret +; 1048d (4:448d) + +UnknownText_0x1048d: ; 0x1048d + ; An EGG can't hold an item. + text_jump UnknownText_0x1c0b7f + db "@" +; 0x10492 + +Function10492: ; 10492 + ret +; 10493 + + +BattlePack: ; 10493 + ld hl, Options + set 4, [hl] + call Function1068a +.asm_1049b + call Functiona57 + ld a, [wcf63] + bit 7, a + jr nz, .asm_104ad + call Function104b9 + call DelayFrame + jr .asm_1049b + +.asm_104ad + ld a, [wcf65] + ld [wd0d6], a + ld hl, Options + res 4, [hl] + ret +; 104b9 + +Function104b9: ; 104b9 + ld a, [wcf63] + ld hl, Jumptable_104c3 + call Function1086b + jp [hl] +; 104c3 + + +Jumptable_104c3: ; 104c3 (4:44c3) + dw Function104d9 + dw Function104e9 + dw Function104fa + dw Function10594 + dw Function105a6 + dw Function10527 + dw Function10539 + dw Function10566 + dw Function10581 + dw Function10874 + dw Function1087e + + +Function104d9: ; 104d9 (4:44d9) + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function10955 + ld a, [wcf64] + ld [wcf63], a + call Function10a40 + ret + +Function104e9: ; 104e9 (4:44e9) + xor a + ld [wcf65], a + call Function10a36 + call Function109bb + call Function1089a + call Function10866 + ret + +Function104fa: ; 104fa (4:44fa) + ld hl, MenuDataHeader_0x10a4f + call Function1d3c + ld a, [wd0d9] + ld [wcf88], a + ld a, [wd0df] + ld [wd0e4], a + call Function350c + ld a, [wd0e4] + ld [wd0df], a + ld a, [wcfa9] + ld [wd0d9], a + ld b, $7 + ld c, $3 + call Function108d4 + ret c + call Function105d3 + ret + +Function10527: ; 10527 (4:4527) + ld a, $2 + ld [wcf65], a + call Function10a36 + call Function109bb + call Function1089a + call Function10866 + ret + +Function10539: ; 10539 (4:4539) + ld hl, MenuDataHeader_0x10a7f + call Function1d3c + ld a, [wd0da] + ld [wcf88], a + ld a, [wd0e0] + ld [wd0e4], a + call Function350c + ld a, [wd0e4] + ld [wd0e0], a + ld a, [wcfa9] + ld [wd0da], a + ld b, $3 + ld c, $7 + call Function108d4 + ret c + call Function105d3 + ret + +Function10566: ; 10566 (4:4566) + ld a, $3 + ld [wcf65], a + call Function10a36 + call Function109bb + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function1089a + ld hl, UnknownText_0x10b0c + call Function10889 + call Function10866 + ret + +Function10581: ; 10581 (4:4581) + callba Function2c76f + ld b, $5 + ld c, $1 + call Function108d4 + ret c + xor a + call Function105dc + ret + +Function10594: ; 10594 (4:4594) + ld a, $1 + ld [wcf65], a + call Function10a36 + call Function109bb + call Function1089a + call Function10866 + ret + +Function105a6: ; 105a6 (4:45a6) + ld hl, MenuDataHeader_0x10aaf + call Function1d3c + ld a, [wd0db] + ld [wcf88], a + ld a, [wd0e1] + ld [wd0e4], a + call Function350c + ld a, [wd0e4] + ld [wd0e1], a + ld a, [wcfa9] + ld [wd0db], a + ld b, $1 + ld c, $5 + call Function108d4 + ret c + call Function105d3 + ret + +Function105d3: ; 105d3 (4:45d3) + callba CheckItemContext + ld a, [wd142] + +Function105dc: ; 105dc (4:45dc) + and a + jr z, .asm_105e7 + ld hl, MenuDataHeader_0x10601 + ld de, Jumptable_10614 + jr .asm_105ed +.asm_105e7 + ld hl, MenuDataHeader_0x10618 + ld de, Jumptable_10627 +.asm_105ed + push de + call LoadMenuDataHeader + call Function1d81 + call Function1c07 + pop hl + ret c + ld a, [wcfa9] + dec a + call Function1086b + jp [hl] +; 10601 (4:4601) + +MenuDataHeader_0x10601: ; 0x10601 + db $40 ; flags + db 07, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10609 + db 1 ; default option +; 0x10609 + +MenuData2_0x10609: ; 0x10609 + db $c0 ; flags + db 2 ; items + db "USE@" + db "QUIT@" +; 0x10614 + +Jumptable_10614: ; 10614 + dw Function10629 + dw Function10689 +; 10618 + +MenuDataHeader_0x10618: ; 0x10618 + db $40 ; flags + db 09, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10620 + db 1 ; default option +; 0x10620 + +MenuData2_0x10620: ; 0x10620 + db $c0 ; flags + db 1 ; items + db "QUIT@" +; 0x10627 + +Jumptable_10627: ; 10627 + dw Function10689 +; 10629 + +Function10629: ; 10629 + callba CheckItemContext + ld a, [wd142] + ld hl, Jumptable_10637 + rst JumpTable + ret + +Jumptable_10637: ; 10637 (4:4637) + dw Function10645 + dw Function10645 + dw Function10645 + dw Function10645 + dw Function1064c + dw Function10656 + dw Function10671 + + +Function10645: ; 10645 (4:4645) + ld hl, UnknownText_0x10af3 + call Function10889 + ret + +Function1064c: ; 1064c (4:464c) + call DoItemEffect + ld a, [wd0ec] + and a + jr nz, asm_1066c + ret + +Function10656: ; 10656 (4:4656) + call DoItemEffect + ld a, [wd0ec] + and a + jr nz, asm_1067e + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function10955 + call Function1089a + call Function10a40 + ret +asm_1066c: ; 1066c (4:466c) + call WhiteBGMap + jr asm_1067e + +Function10671: ; 10671 (4:4671) + call DoItemEffect + ld a, [wd0ec] + and a + jr z, Function10645 + cp $2 + jr z, asm_10684 +asm_1067e: ; 1067e (4:467e) + ld a, $a + ld [wcf63], a + ret +asm_10684: ; 10684 (4:4684) + xor a + ld [wd0ec], a + ret +; 10689 (4:4689) + +Function10689: ; 10689 + ret +; 1068a + + +Function1068a: ; 1068a + xor a + ld [wcf63], a + ld a, [wd0d6] + and $3 + ld [wcf65], a + inc a + add a + dec a + ld [wcf64], a + xor a + ld [wcf66], a + xor a + ld [wd0e3], a + ret +; 106a5 + +Function106a5: ; 106a5 + xor a + ld [hBGMapMode], a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ld [wd0e3], a + call Function10955 + call Function10a40 + ret +; 106be + +Function106be: ; 106be +.asm_106be + call Function106c7 + call Function1076f + jr c, .asm_106be + ret +; 106c7 + +Function106c7: ; 106c7 + ld a, [wcf63] + ld hl, Jumptable_106d1 + call Function1086b + jp [hl] +; 106d1 + + +Jumptable_106d1: ; 106d1 (4:46d1) + dw Function106d9 + dw Function1073b + dw Function106ff + dw Function10726 + + +Function106d9: ; 106d9 (4:46d9) + xor a + call Function10762 + ld hl, MenuDataHeader_0x10a67 + call Function1d3c + ld a, [wd0d9] + ld [wcf88], a + ld a, [wd0df] + ld [wd0e4], a + call Function350c + ld a, [wd0e4] + ld [wd0df], a + ld a, [wcfa9] + ld [wd0d9], a + ret + +Function106ff: ; 106ff (4:46ff) + ld a, $2 + call Function10762 + ld hl, MenuDataHeader_0x10a97 + call Function1d3c + ld a, [wd0da] + ld [wcf88], a + ld a, [wd0e0] + ld [wd0e4], a + call Function350c + ld a, [wd0e4] + ld [wd0e0], a + ld a, [wcfa9] + ld [wd0da], a + ret + +Function10726: ; 10726 (4:4726) + ld a, $3 + call Function10762 + call Function1089a + callba Function2c76f + ld a, [CurItem] + ld [CurItem], a + ret + +Function1073b: ; 1073b (4:473b) + ld a, $1 + call Function10762 + ld hl, MenuDataHeader_0x10ac7 + call Function1d3c + ld a, [wd0db] + ld [wcf88], a + ld a, [wd0e1] + ld [wd0e4], a + call Function350c + ld a, [wd0e4] + ld [wd0e1], a + ld a, [wcfa9] + ld [wd0db], a + ret + +Function10762: ; 10762 (4:4762) + ld [wcf65], a + call Function10a36 + call Function109bb + call Function1089a + ret + + +Function1076f: ; 1076f + ld hl, wcf73 + ld a, [hl] + and $1 + jr nz, .asm_10788 + ld a, [hl] + and $2 + jr nz, .asm_1078f + ld a, [hl] + and $20 + jr nz, .asm_10795 + ld a, [hl] + and $10 + jr nz, .asm_107a8 + scf + ret + +.asm_10788 + ld a, $1 + ld [wcf66], a + and a + ret + +.asm_1078f + xor a + ld [wcf66], a + and a + ret + +.asm_10795 + ld a, [wcf63] + dec a + and $3 + ld [wcf63], a + push de + ld de, SFX_UNKNOWN_62 + call PlaySFX + pop de + scf + ret + +.asm_107a8 + ld a, [wcf63] + inc a + and $3 + ld [wcf63], a + push de + ld de, SFX_UNKNOWN_62 + call PlaySFX + pop de + scf + ret +; 107bb + +Function107bb: ; 107bb + call Function106a5 + ld a, [InputType] + or a + jr z, .asm_107ca + callba Function1de28f + +.asm_107ca + call Function107d7 + call Function1076f + jr c, .asm_107ca + xor a + ld [wcf66], a + ret +; 107d7 + +Function107d7: ; 107d7 + ld a, [wcf63] + ld hl, Jumptable_107e1 + call Function1086b + jp [hl] +; 107e1 + + +Jumptable_107e1: ; 107e1 (4:47e1) + dw Function107e9 + dw Function1083b + dw Function10807 + dw Function10826 + + +Function107e9: ; 107e9 (4:47e9) + xor a + ld hl, MenuDataHeader_0x107ef + jr Function1085a +; 107ef (4:47ef) + +MenuDataHeader_0x107ef: ; 0x107ef + db $40 ; flags + db 01, 07 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x107f7 + db 1 ; default option +; 0x107f7 + +MenuData2_0x107f7: ; 0x107f7 + db $ae ; flags + db 5, 8 ; rows, columns + db 2 ; horizontal spacing + dbw 0, OTPartyMons + dbw BANK(Function24ab4), Function24ab4 + dbw BANK(Function24ac3), Function24ac3 + dbw BANK(Function244c3), Function244c3 +; 10807 + +Function10807: ; 10807 (4:4807) + ld a, $2 + ld hl, MenuDataHeader_0x1080e + jr Function1085a +; 1080e (4:480e) + +MenuDataHeader_0x1080e: ; 0x1080e + db $40 ; flags + db 01, 07 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10816 + db 1 ; default option +; 0x10816 + +MenuData2_0x10816: ; 0x10816 + db $ae ; flags + db 5, 8 ; rows, columns + db 1 ; horizontal spacing + dbw 0, OTPartyMon1Exp + 2 + dbw BANK(Function24ab4), Function24ab4 + dbw BANK(Function24ac3), Function24ac3 + dbw BANK(Function244c3), Function244c3 +; 10826 + +Function10826: ; 10826 (4:4826) + ld a, $3 + call Function10762 + call Function1089a + callba Function2c76f + ld a, [CurItem] + ld [CurItem], a + ret + +Function1083b: ; 1083b (4:483b) + ld a, $1 + ld hl, MenuDataHeader_0x10842 + jr Function1085a +; 10842 (4:4842) + +MenuDataHeader_0x10842: ; 0x10842 + db $40 ; flags + db 01, 07 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x1084a + db 1 ; default option +; 0x1084a + +MenuData2_0x1084a: ; 0x1084a + db $ae ; flags + db 5, 8 ; rows, columns + db 2 ; horizontal spacing + dbw 0, OTPartyMon1CaughtGender + dbw BANK(Function24ab4), Function24ab4 + dbw BANK(Function24ac3), Function24ac3 + dbw BANK(Function244c3), Function244c3 +; 1085a + +Function1085a: ; 1085a (4:485a) + push hl + call Function10762 + pop hl + call Function1d3c + call Function350c + ret + +Function10866: ; 10866 (4:4866) + ld hl, wcf63 + inc [hl] + ret + +Function1086b: ; 1086b + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ret +; 10874 + +Function10874: ; 10874 (4:4874) + ld hl, wcf63 + set 7, [hl] + xor a + ld [wcf66], a + ret + +Function1087e: ; 1087e (4:487e) + ld hl, wcf63 + set 7, [hl] + ld a, $1 + ld [wcf66], a + ret + +Function10889: ; 10889 (4:4889) + ld a, [Options] + push af + set 4, a + ld [Options], a + call PrintText + pop af + ld [Options], a + ret + +Function1089a: ; 1089a (4:489a) + call WaitBGMap + + +Function1089d: ; 1089d + ld a, [wcf65] + and $3 + ld e, a + ld d, $0 + ld a, [BattleType] + cp BATTLETYPE_TUTORIAL + jr z, .asm_108b3 + ld a, [PlayerGender] + bit 0, a + jr nz, .asm_108c5 + +.asm_108b3 + ld hl, PackGFXPointers + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld d, [hl] + ld hl, $9500 + lb bc, BANK(PackGFX), 15 + call Request2bpp + ret + +.asm_108c5 + callba Function48e81 + ret +; 108cc + +PackGFXPointers: ; 108cc + dw PackGFX + $f0 * 1 + dw PackGFX + $f0 * 3 + dw PackGFX + $f0 * 0 + dw PackGFX + $f0 * 2 +; 108d4 + +Function108d4: ; 108d4 (4:48d4) + ld hl, wcf73 + ld a, [wd0e3] + and a + jr nz, .asm_10931 + ld a, [hl] + and $1 + jr nz, .asm_108f8 + ld a, [hl] + and $2 + jr nz, .asm_108fa + ld a, [hl] + and $20 + jr nz, .asm_10901 + ld a, [hl] + and $10 + jr nz, .asm_10912 + ld a, [hl] + and $4 + jr nz, .asm_10923 + scf + ret +.asm_108f8 + and a + ret +.asm_108fa + ld a, $9 + ld [wcf63], a + scf + ret +.asm_10901 + ld a, b + ld [wcf63], a + ld [wcf64], a + push de + ld de, SFX_UNKNOWN_62 + call PlaySFX + pop de + scf + ret +.asm_10912 + ld a, c + ld [wcf63], a + ld [wcf64], a + push de + ld de, SFX_UNKNOWN_62 + call PlaySFX + pop de + scf + ret +.asm_10923 + callba Function2490c + ld hl, UnknownText_0x10b07 + call Function10889 + scf + ret +.asm_10931 + ld a, [hl] + and $5 + jr nz, .asm_1093d + ld a, [hl] + and $2 + jr nz, .asm_1094f + scf + ret +.asm_1093d + callba Function2490c + ld de, SFX_SWITCH_POKEMON + call WaitPlaySFX + ld de, SFX_SWITCH_POKEMON + call WaitPlaySFX +.asm_1094f + xor a + ld [wd0e3], a + scf + ret + + +Function10955: ; 10955 + call WhiteBGMap + call ClearTileMap + call ClearSprites + call DisableLCD + ld hl, PackMenuGFX + ld de, VTiles2 + ld bc, $0600 + ld a, BANK(PackMenuGFX) + call FarCopyBytes + hlcoord 0, 1 + ld bc, $00dc + ld a, $24 + call ByteFill + hlcoord 5, 1 + lb bc, 11, 15 + call ClearBox + ld hl, TileMap + ld a, $28 + ld c, $14 +.asm_1098a + ld [hli], a + inc a + dec c + jr nz, .asm_1098a + call Function109bb + call Function109a5 + hlcoord 0, 12 + lb bc, 4, 18 + call TextBox + call EnableLCD + call Function1089d + ret +; 109a5 + +Function109a5: ; 109a5 + hlcoord 0, 3 + ld a, $50 + ld de, 15 + ld b, 3 +.asm_109af + ld c, 5 +.asm_109b1 + ld [hli], a + inc a + dec c + jr nz, .asm_109b1 + add hl, de + dec b + jr nz, .asm_109af + ret +; 109bb + +Function109bb: ; 109bb + ld a, [wcf65] + + ; * 15 + ld d, a + swap a + sub d + + ld d, 0 + ld e, a + ld hl, Tilemap_109e1 + add hl, de + ld d, h + ld e, l + hlcoord 0, 7 + ld c, 3 +.asm_109d0 + ld b, 5 +.asm_109d2 + ld a, [de] + inc de + ld [hli], a + dec b + jr nz, .asm_109d2 + ld a, c + ld c, 15 + add hl, bc + ld c, a + dec c + jr nz, .asm_109d0 + ret +; 109e1 + +Tilemap_109e1: ; 109e1 + db $00, $04, $04, $04, $01, $06, $07, $08, $09, $0a, $02, $05, $05, $05, $03 + db $00, $04, $04, $04, $01, $15, $16, $17, $18, $19, $02, $05, $05, $05, $03 + db $00, $04, $04, $04, $01, $0b, $0c, $0d, $0e, $0f, $02, $05, $05, $05, $03 + db $00, $04, $04, $04, $01, $10, $11, $12, $13, $14, $02, $05, $05, $05, $03 +; 10a1d + +Function10a1d: ; 10a1d + ld a, [CurItem] + ld [wd265], a + call GetItemName + call CopyName1 + ret +; 10a2a + +Function10a2a: ; 10a2a + ld hl, TileMap + ld bc, $0168 + ld a, $7f + call ByteFill + ret +; 10a36 + +Function10a36: ; 10a36 (4:4a36) + hlcoord 5, 2 + ld bc, $a0f + call ClearBox + ret + + +Function10a40: ; 10a40 + call WaitBGMap + ld b, $14 + call GetSGBLayout + call Function32f9 + call DelayFrame + ret +; 10a4f + +MenuDataHeader_0x10a4f: ; 0x10a4f + db $40 ; flags + db 01, 07 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10a57 + db 1 ; default option +; 0x10a57 + +MenuData2_0x10a57: ; 0x10a57 + db $ae ; flags + db 5, 8 ; rows, columns + db 2 ; horizontal spacing + dbw 0, NumItems + dbw BANK(Function24ab4), Function24ab4 + dbw BANK(Function24ac3), Function24ac3 + dbw BANK(Function244c3), Function244c3 +; 10a67 + +MenuDataHeader_0x10a67: ; 0x10a67 + db $40 ; flags + db 01, 07 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10a6f + db 1 ; default option +; 0x10a6f + +MenuData2_0x10a6f: ; 0x10a6f + db $2e ; flags + db 5, 8 ; rows, columns + db 2 ; horizontal spacing + dbw 0, NumItems + dbw BANK(Function24ab4), Function24ab4 + dbw BANK(Function24ac3), Function24ac3 + dbw BANK(Function244c3), Function244c3 +; 10a7f + +MenuDataHeader_0x10a7f: ; 0x10a7f + db $40 ; flags + db 01, 07 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10a87 + db 1 ; default option +; 0x10a87 + +MenuData2_0x10a87: ; 0x10a87 + db $ae ; flags + db 5, 8 ; rows, columns + db 1 ; horizontal spacing + dbw 0, NumKeyItems + dbw BANK(Function24ab4), Function24ab4 + dbw BANK(Function24ac3), Function24ac3 + dbw BANK(Function244c3), Function244c3 +; 10a97 + +MenuDataHeader_0x10a97: ; 0x10a97 + db $40 ; flags + db 01, 07 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10a9f + db 1 ; default option +; 0x10a9f + +MenuData2_0x10a9f: ; 0x10a9f + db $2e ; flags + db 5, 8 ; rows, columns + db 1 ; horizontal spacing + dbw 0, NumKeyItems + dbw BANK(Function24ab4), Function24ab4 + dbw BANK(Function24ac3), Function24ac3 + dbw BANK(Function244c3), Function244c3 +; 10aaf + +MenuDataHeader_0x10aaf: ; 0x10aaf + db $40 ; flags + db 01, 07 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10ab7 + db 1 ; default option +; 0x10ab7 + +MenuData2_0x10ab7: ; 0x10ab7 + db $ae ; flags + db 5, 8 ; rows, columns + db 2 ; horizontal spacing + dbw 0, NumBalls + dbw BANK(Function24ab4), Function24ab4 + dbw BANK(Function24ac3), Function24ac3 + dbw BANK(Function244c3), Function244c3 +; 10ac7 + +MenuDataHeader_0x10ac7: ; 0x10ac7 + db $40 ; flags + db 01, 07 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x10acf + db 1 ; default option +; 0x10acf + +MenuData2_0x10acf: ; 0x10acf + db $2e ; flags + db 5, 8 ; rows, columns + db 2 ; horizontal spacing + dbw 0, NumBalls + dbw BANK(Function24ab4), Function24ab4 + dbw BANK(Function24ac3), Function24ac3 + dbw BANK(Function244c3), Function244c3 +; 10adf + +UnknownText_0x10adf: ; 0x10adf + ; No items. + text_jump UnknownText_0x1c0b9a + db "@" +; 0x10ae4 + +UnknownText_0x10ae4: ; 0x10ae4 + ; Throw away how many? + text_jump UnknownText_0x1c0ba5 + db "@" +; 0x10ae9 + +UnknownText_0x10ae9: ; 0x10ae9 + ; Throw away @ @ (S)? + text_jump UnknownText_0x1c0bbb + db "@" +; 0x10aee + +UnknownText_0x10aee: ; 0x10aee + ; Threw away @ (S). + text_jump UnknownText_0x1c0bd8 + db "@" +; 0x10af3 + +UnknownText_0x10af3: ; 0x10af3 + ; OAK: ! This isn't the time to use that! + text_jump UnknownText_0x1c0bee + db "@" +; 0x10af8 + +UnknownText_0x10af8: ; 0x10af8 + ; You don't have a #MON! + text_jump UnknownText_0x1c0c17 + db "@" +; 0x10afd + +UnknownText_0x10afd: ; 0x10afd + ; Registered the @ . + text_jump UnknownText_0x1c0c2e + db "@" +; 0x10b02 + +UnknownText_0x10b02: ; 0x10b02 + ; You can't register that item. + text_jump UnknownText_0x1c0c45 + db "@" +; 0x10b07 + +UnknownText_0x10b07: ; 0x10b07 + ; Where should this be moved to? + text_jump UnknownText_0x1c0c63 + db "@" +; 0x10b0c + +UnknownText_0x10b0c: ; 0x10b0c + ; + text_jump UnknownText_0x1c0c83 + db "@" +; 0x10b11 + +UnknownText_0x10b11: ; 0x10b11 + ; You can't use it in a battle. + text_jump UnknownText_0x1c0c85 + db "@" +; 0x10b16 + +PackMenuGFX: +INCBIN "gfx/misc/pack_menu.2bpp" + +PackGFX: +INCBIN "gfx/misc/pack.w40.2bpp" + diff --git a/main.asm b/main.asm index 0147d4da0..372732b0c 100644 --- a/main.asm +++ b/main.asm @@ -14671,1696 +14671,9 @@ UnknownText_0xfa06: ; 0xfa06 SECTION "bank4", ROMX, BANK[$4] -Pack: ; 10000 - ld hl, Options - set 4, [hl] - call Function1068a -.loop - call Functiona57 - ld a, [wcf63] - bit 7, a - jr nz, .done - call Function10026 - call DelayFrame - jr .loop -.done - ld a, [wcf65] - ld [wd0d6], a - ld hl, Options - res 4, [hl] - ret -; 10026 +INCLUDE "engine/pack.asm" -Function10026: ; 10026 - ld a, [wcf63] - ld hl, Jumptable_10030 - call Function1086b - jp [hl] -; 10030 - - -Jumptable_10030: ; 10030 (4:4030) - dw Function10046 - dw Function10056 - dw Function10067 - dw Function10186 - dw Function10198 - dw Function10094 - dw Function100a6 - dw Function100d3 - dw Function100e8 - dw Function10874 - dw Function1087e - - -Function10046: ; 10046 (4:4046) - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function10955 - ld a, [wcf64] - ld [wcf63], a - call Function10a40 - ret - -Function10056: ; 10056 (4:4056) - xor a - ld [wcf65], a - call Function10a36 - call Function109bb - call Function1089a - call Function10866 - ret - -Function10067: ; 10067 (4:4067) - ld hl, MenuDataHeader_0x10a4f - call Function1d3c - ld a, [wd0d9] - ld [wcf88], a - ld a, [wd0df] - ld [wd0e4], a - call Function350c - ld a, [wd0e4] - ld [wd0df], a - ld a, [wcfa9] - ld [wd0d9], a - ld b, $7 - ld c, $3 - call Function108d4 - ret c - call Function101c5 - ret - -Function10094: ; 10094 (4:4094) - ld a, $2 - ld [wcf65], a - call Function10a36 - call Function109bb - call Function1089a - call Function10866 - ret - -Function100a6: ; 100a6 (4:40a6) - ld hl, MenuDataHeader_0x10a7f - call Function1d3c - ld a, [wd0da] - ld [wcf88], a - ld a, [wd0e0] - ld [wd0e4], a - call Function350c - ld a, [wd0e4] - ld [wd0e0], a - ld a, [wcfa9] - ld [wd0da], a - ld b, $3 - ld c, $7 - call Function108d4 - ret c - call Function101c5 - ret - -Function100d3: ; 100d3 (4:40d3) - ld a, $3 - ld [wcf65], a - call Function10a36 - call Function109bb - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function1089a - call Function10866 - ret - -Function100e8: ; 100e8 (4:40e8) - callba Function2c76f - ld b, $5 - ld c, $1 - call Function108d4 - ret c - callba _CheckTossableItem - ld a, [wd142] - and a - jr nz, .asm_1010a - ld hl, MenuDataHeader_0x1013b - ld de, Jumptable_10153 - jr .asm_10110 -.asm_1010a - ld hl, MenuDataHeader_0x10124 - ld de, Jumptable_10137 -.asm_10110 - push de - call LoadMenuDataHeader - call Function1d81 - call Function1c07 - pop hl - ret c - ld a, [wcfa9] - dec a - call Function1086b - jp [hl] -; 10124 (4:4124) - -MenuDataHeader_0x10124: ; 0x10124 - db $40 ; flags - db 07, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x1012c - db 1 ; default option -; 0x1012c - -MenuData2_0x1012c: ; 0x1012c - db $c0 ; flags - db 2 ; items - db "USE@" - db "QUIT@" -; 0x10137 - -Jumptable_10137: ; 10137 - dw Function10159 - dw Function10492 -; 1013b - -MenuDataHeader_0x1013b: ; 0x1013b - db $40 ; flags - db 05, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10143 - db 1 ; default option -; 0x10143 - -MenuData2_0x10143: ; 0x10143 - db $c0 ; flags - db 3 ; items - db "USE@" - db "GIVE@" - db "QUIT@" -; 0x10153 - -Jumptable_10153: ; 10153 - dw Function10159 - dw Function103fd - dw Function10492 -; 10159 - -Function10159: ; 10159 - callba Function2c7bf - ret c - callba Function2c7fb - jr c, .asm_10179 - ld hl, Options - ld a, [hl] - push af - res 4, [hl] - callba Function2c867 - pop af - ld [Options], a -.asm_10179 - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function10955 - call Function1089a - call Function10a40 - ret - -Function10186: ; 10186 (4:4186) - ld a, $1 - ld [wcf65], a - call Function10a36 - call Function109bb - call Function1089a - call Function10866 - ret - -Function10198: ; 10198 (4:4198) - ld hl, MenuDataHeader_0x10aaf - call Function1d3c - ld a, [wd0db] - ld [wcf88], a - ld a, [wd0e1] - ld [wd0e4], a - call Function350c - ld a, [wd0e4] - ld [wd0e1], a - ld a, [wcfa9] - ld [wd0db], a - ld b, $1 - ld c, $5 - call Function108d4 - ret c - call Function101c5 - ret - -Function101c5: ; 101c5 (4:41c5) - callba _CheckTossableItem - ld a, [wd142] - and a - jr nz, .asm_101f9 - callba CheckSelectableItem - ld a, [wd142] - and a - jr nz, .asm_101eb - callba CheckItemMenu - ld a, [wd142] - and a - jr nz, .asm_10207 - jr .asm_10227 -.asm_101eb - callba CheckItemMenu - ld a, [wd142] - and a - jr nz, .asm_1020f - jr .asm_1022f -.asm_101f9 - callba CheckSelectableItem - ld a, [wd142] - and a - jr nz, .asm_10217 - jr .asm_1021f -.asm_10207 - ld hl, MenuDataHeader_0x10249 - ld de, Jumptable_1026a - jr .asm_10235 -.asm_1020f - ld hl, MenuDataHeader_0x10274 - ld de, Jumptable_10291 - jr .asm_10235 -.asm_10217 - ld hl, MenuDataHeader_0x10299 - ld de, Jumptable_102ac - jr .asm_10235 -.asm_1021f - ld hl, MenuDataHeader_0x102b0 - ld de, Jumptable_102c7 - jr .asm_10235 -.asm_10227 - ld hl, MenuDataHeader_0x102cd - ld de, Jumptable_102ea - jr .asm_10235 -.asm_1022f - ld hl, MenuDataHeader_0x102f2 - ld de, Jumptable_1030b -.asm_10235 - push de - call LoadMenuDataHeader - call Function1d81 - call Function1c07 - pop hl - ret c - ld a, [wcfa9] - dec a - call Function1086b - jp [hl] -; 10249 (4:4249) - -MenuDataHeader_0x10249: ; 0x10249 - db $40 ; flags - db 01, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10251 - db 1 ; default option -; 0x10251 - -MenuData2_0x10251: ; 0x10251 - db $c0 ; flags - db 5 ; items - db "USE@" - db "GIVE@" - db "TOSS@" - db "SEL@" - db "QUIT@" -; 0x1026a - -Jumptable_1026a: ; 1026a - dw Function10311 - dw Function103fd - dw Function10364 - dw Function103c2 - dw Function10492 -; 10274 - -MenuDataHeader_0x10274: ; 0x10274 - db $40 ; flags - db 03, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x1027c - db 1 ; default option -; 0x1027c - -MenuData2_0x1027c: ; 0x1027c - db $c0 ; flags - db 4 ; items - db "USE@" - db "GIVE@" - db "TOSS@" - db "QUIT@" -; 0x10291 - -Jumptable_10291: ; 10291 - dw Function10311 - dw Function103fd - dw Function10364 - dw Function10492 -; 10299 - -MenuDataHeader_0x10299: ; 0x10299 - db $40 ; flags - db 07, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x102a1 - db 1 ; default option -; 0x102a1 - -MenuData2_0x102a1: ; 0x102a1 - db $c0 ; flags - db 2 ; items - db "USE@" - db "QUIT@" -; 0x102ac - -Jumptable_102ac: ; 102ac - dw Function10311 - dw Function10492 -; 102b0 - -MenuDataHeader_0x102b0: ; 0x102b0 - db $40 ; flags - db 05, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x102b8 - db 1 ; default option -; 0x102b8 - -MenuData2_0x102b8: ; 0x102b8 - db $c0 ; flags - db 3 ; items - db "USE@" - db "SEL@" - db "QUIT@" -; 0x102c7 - -Jumptable_102c7: ; 102c7 - dw Function10311 - dw Function103c2 - dw Function10492 -; 102cd - -MenuDataHeader_0x102cd: ; 0x102cd - db $40 ; flags - db 03, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x102d5 - db 1 ; default option -; 0x102d5 - -MenuData2_0x102d5: ; 0x102d5 - db $c0 ; flags - db 4 ; items - db "GIVE@" - db "TOSS@" - db "SEL@" - db "QUIT@" -; 0x102ea - -Jumptable_102ea: ; 102ea - dw Function103fd - dw Function10364 - dw Function103c2 - dw Function10492 -; 102f2 - -MenuDataHeader_0x102f2: ; 0x102f2 - db $40 ; flags - db 05, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x102fa - db 1 ; default option -; 0x102fa - -MenuData2_0x102fa: ; 0x102fa - db $c0 ; flags - db 3 ; items - db "GIVE@" - db "TOSS@" - db "QUIT@" -; 0x1030b - -Jumptable_1030b: ; 1030b - dw Function103fd - dw Function10364 - dw Function10492 -; 10311 - -Function10311: ; 10311 - callba CheckItemMenu - ld a, [wd142] - ld hl, Jumptable_1031f - rst JumpTable - ret -; 1031f - -Jumptable_1031f: ; 1031f (4:431f) - dw Function1032d - dw Function1032d - dw Function1032d - dw Function1032d - dw Function10334 - dw Function10338 - dw Function10355 -; 1035c - -Function1032d: ; 1032d (4:432d) - ld hl, UnknownText_0x10af3 - call Function10889 - ret - -Function10334: ; 10334 (4:4334) - call DoItemEffect - ret - -Function10338: ; 10338 (4:4338) - ld a, [PartyCount] - and a - jr z, .asm_1034e - call DoItemEffect - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function10955 - call Function1089a - call Function10a40 - ret -.asm_1034e - ld hl, UnknownText_0x10af8 - call Function10889 - ret - -Function10355: ; 10355 (4:4355) - call DoItemEffect - ld a, [wd0ec] - and a - jr z, Function1032d - ld a, $a - ld [wcf63], a - ret -; 10364 (4:4364) - -Function10364: ; 10364 - ld hl, UnknownText_0x10ae4 - call Function10889 - callba Function24fbf - push af - call Function1c07 - pop af - jr c, .asm_1039c - call Function10a1d - ld hl, UnknownText_0x10ae9 - call Function1d4f - call YesNoBox - push af - call Function1c07 - pop af - jr c, .asm_1039c - ld hl, NumItems - ld a, [wd107] - call TossItem - call Function10a1d - ld hl, UnknownText_0x10aee - call Function10889 - -.asm_1039c - ret -; 1039d - -Function1039d: ; 1039d - ld a, [wcf65] - and a - jr z, .asm_103b2 - dec a - jr z, .asm_103aa - dec a - jr z, .asm_103ba - ret - -.asm_103aa - xor a - ld [wd0db], a - ld [wd0e1], a - ret - -.asm_103b2 - xor a - ld [wd0d9], a - ld [wd0df], a - ret - -.asm_103ba - xor a - ld [wd0da], a - ld [wd0e0], a - ret -; 103c2 - -Function103c2: ; 103c2 - callba CheckSelectableItem - ld a, [wd142] - and a - jr nz, .asm_103f6 - ld a, [wcf65] - rrca - rrca - and $c0 - ld b, a - ld a, [wd107] - inc a - and $3f - or b - ld [WhichRegisteredItem], a - ld a, [CurItem] - ld [RegisteredItem], a - call Function10a1d - ld de, SFX_FULL_HEAL - call WaitPlaySFX - ld hl, UnknownText_0x10afd - call Function10889 - ret - -.asm_103f6 - ld hl, UnknownText_0x10b02 - call Function10889 - ret -; 103fd - -Function103fd: ; 103fd - ld a, [PartyCount] - and a - jp z, Function10486 - ld a, [Options] - push af - res 4, a - ld [Options], a - ld a, $8 - ld [PartyMenuActionText], a - call WhiteBGMap - callba Function5004f - callba Function50405 - callba Function503e0 -.asm_10427 - callba WritePartyMenuTilemap - callba PrintPartyMenuText - call WaitBGMap - call Function32f9 - call DelayFrame - callba PartyMenuSelect - jr c, .asm_10475 - ld a, [CurPartySpecies] - cp EGG - jr nz, .asm_10453 - ld hl, UnknownText_0x1048d - call PrintText - jr .asm_10427 -.asm_10453 - ld a, [wcf63] - push af - ld a, [wcf64] - push af - call GetCurNick - ld hl, StringBuffer1 - ld de, wd050 - ld bc, PKMN_NAME_LENGTH - call CopyBytes - call Function12bd9 - pop af - ld [wcf64], a - pop af - ld [wcf63], a -.asm_10475 - pop af - ld [Options], a - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function10955 - call Function1089a - call Function10a40 - ret - -Function10486: ; 10486 (4:4486) - ld hl, UnknownText_0x10af8 - call Function10889 - ret -; 1048d (4:448d) - -UnknownText_0x1048d: ; 0x1048d - ; An EGG can't hold an item. - text_jump UnknownText_0x1c0b7f - db "@" -; 0x10492 - -Function10492: ; 10492 - ret -; 10493 - - -BattlePack: ; 10493 - ld hl, Options - set 4, [hl] - call Function1068a -.asm_1049b - call Functiona57 - ld a, [wcf63] - bit 7, a - jr nz, .asm_104ad - call Function104b9 - call DelayFrame - jr .asm_1049b - -.asm_104ad - ld a, [wcf65] - ld [wd0d6], a - ld hl, Options - res 4, [hl] - ret -; 104b9 - -Function104b9: ; 104b9 - ld a, [wcf63] - ld hl, Jumptable_104c3 - call Function1086b - jp [hl] -; 104c3 - - -Jumptable_104c3: ; 104c3 (4:44c3) - dw Function104d9 - dw Function104e9 - dw Function104fa - dw Function10594 - dw Function105a6 - dw Function10527 - dw Function10539 - dw Function10566 - dw Function10581 - dw Function10874 - dw Function1087e - - -Function104d9: ; 104d9 (4:44d9) - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function10955 - ld a, [wcf64] - ld [wcf63], a - call Function10a40 - ret - -Function104e9: ; 104e9 (4:44e9) - xor a - ld [wcf65], a - call Function10a36 - call Function109bb - call Function1089a - call Function10866 - ret - -Function104fa: ; 104fa (4:44fa) - ld hl, MenuDataHeader_0x10a4f - call Function1d3c - ld a, [wd0d9] - ld [wcf88], a - ld a, [wd0df] - ld [wd0e4], a - call Function350c - ld a, [wd0e4] - ld [wd0df], a - ld a, [wcfa9] - ld [wd0d9], a - ld b, $7 - ld c, $3 - call Function108d4 - ret c - call Function105d3 - ret - -Function10527: ; 10527 (4:4527) - ld a, $2 - ld [wcf65], a - call Function10a36 - call Function109bb - call Function1089a - call Function10866 - ret - -Function10539: ; 10539 (4:4539) - ld hl, MenuDataHeader_0x10a7f - call Function1d3c - ld a, [wd0da] - ld [wcf88], a - ld a, [wd0e0] - ld [wd0e4], a - call Function350c - ld a, [wd0e4] - ld [wd0e0], a - ld a, [wcfa9] - ld [wd0da], a - ld b, $3 - ld c, $7 - call Function108d4 - ret c - call Function105d3 - ret - -Function10566: ; 10566 (4:4566) - ld a, $3 - ld [wcf65], a - call Function10a36 - call Function109bb - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function1089a - ld hl, UnknownText_0x10b0c - call Function10889 - call Function10866 - ret - -Function10581: ; 10581 (4:4581) - callba Function2c76f - ld b, $5 - ld c, $1 - call Function108d4 - ret c - xor a - call Function105dc - ret - -Function10594: ; 10594 (4:4594) - ld a, $1 - ld [wcf65], a - call Function10a36 - call Function109bb - call Function1089a - call Function10866 - ret - -Function105a6: ; 105a6 (4:45a6) - ld hl, MenuDataHeader_0x10aaf - call Function1d3c - ld a, [wd0db] - ld [wcf88], a - ld a, [wd0e1] - ld [wd0e4], a - call Function350c - ld a, [wd0e4] - ld [wd0e1], a - ld a, [wcfa9] - ld [wd0db], a - ld b, $1 - ld c, $5 - call Function108d4 - ret c - call Function105d3 - ret - -Function105d3: ; 105d3 (4:45d3) - callba CheckItemContext - ld a, [wd142] - -Function105dc: ; 105dc (4:45dc) - and a - jr z, .asm_105e7 - ld hl, MenuDataHeader_0x10601 - ld de, Jumptable_10614 - jr .asm_105ed -.asm_105e7 - ld hl, MenuDataHeader_0x10618 - ld de, Jumptable_10627 -.asm_105ed - push de - call LoadMenuDataHeader - call Function1d81 - call Function1c07 - pop hl - ret c - ld a, [wcfa9] - dec a - call Function1086b - jp [hl] -; 10601 (4:4601) - -MenuDataHeader_0x10601: ; 0x10601 - db $40 ; flags - db 07, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10609 - db 1 ; default option -; 0x10609 - -MenuData2_0x10609: ; 0x10609 - db $c0 ; flags - db 2 ; items - db "USE@" - db "QUIT@" -; 0x10614 - -Jumptable_10614: ; 10614 - dw Function10629 - dw Function10689 -; 10618 - -MenuDataHeader_0x10618: ; 0x10618 - db $40 ; flags - db 09, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10620 - db 1 ; default option -; 0x10620 - -MenuData2_0x10620: ; 0x10620 - db $c0 ; flags - db 1 ; items - db "QUIT@" -; 0x10627 - -Jumptable_10627: ; 10627 - dw Function10689 -; 10629 - -Function10629: ; 10629 - callba CheckItemContext - ld a, [wd142] - ld hl, Jumptable_10637 - rst JumpTable - ret - -Jumptable_10637: ; 10637 (4:4637) - dw Function10645 - dw Function10645 - dw Function10645 - dw Function10645 - dw Function1064c - dw Function10656 - dw Function10671 - - -Function10645: ; 10645 (4:4645) - ld hl, UnknownText_0x10af3 - call Function10889 - ret - -Function1064c: ; 1064c (4:464c) - call DoItemEffect - ld a, [wd0ec] - and a - jr nz, asm_1066c - ret - -Function10656: ; 10656 (4:4656) - call DoItemEffect - ld a, [wd0ec] - and a - jr nz, asm_1067e - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function10955 - call Function1089a - call Function10a40 - ret -asm_1066c: ; 1066c (4:466c) - call WhiteBGMap - jr asm_1067e - -Function10671: ; 10671 (4:4671) - call DoItemEffect - ld a, [wd0ec] - and a - jr z, Function10645 - cp $2 - jr z, asm_10684 -asm_1067e: ; 1067e (4:467e) - ld a, $a - ld [wcf63], a - ret -asm_10684: ; 10684 (4:4684) - xor a - ld [wd0ec], a - ret -; 10689 (4:4689) - -Function10689: ; 10689 - ret -; 1068a - - -Function1068a: ; 1068a - xor a - ld [wcf63], a - ld a, [wd0d6] - and $3 - ld [wcf65], a - inc a - add a - dec a - ld [wcf64], a - xor a - ld [wcf66], a - xor a - ld [wd0e3], a - ret -; 106a5 - -Function106a5: ; 106a5 - xor a - ld [hBGMapMode], a - ld [wcf63], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ld [wd0e3], a - call Function10955 - call Function10a40 - ret -; 106be - -Function106be: ; 106be -.asm_106be - call Function106c7 - call Function1076f - jr c, .asm_106be - ret -; 106c7 - -Function106c7: ; 106c7 - ld a, [wcf63] - ld hl, Jumptable_106d1 - call Function1086b - jp [hl] -; 106d1 - - -Jumptable_106d1: ; 106d1 (4:46d1) - dw Function106d9 - dw Function1073b - dw Function106ff - dw Function10726 - - -Function106d9: ; 106d9 (4:46d9) - xor a - call Function10762 - ld hl, MenuDataHeader_0x10a67 - call Function1d3c - ld a, [wd0d9] - ld [wcf88], a - ld a, [wd0df] - ld [wd0e4], a - call Function350c - ld a, [wd0e4] - ld [wd0df], a - ld a, [wcfa9] - ld [wd0d9], a - ret - -Function106ff: ; 106ff (4:46ff) - ld a, $2 - call Function10762 - ld hl, MenuDataHeader_0x10a97 - call Function1d3c - ld a, [wd0da] - ld [wcf88], a - ld a, [wd0e0] - ld [wd0e4], a - call Function350c - ld a, [wd0e4] - ld [wd0e0], a - ld a, [wcfa9] - ld [wd0da], a - ret - -Function10726: ; 10726 (4:4726) - ld a, $3 - call Function10762 - call Function1089a - callba Function2c76f - ld a, [CurItem] - ld [CurItem], a - ret - -Function1073b: ; 1073b (4:473b) - ld a, $1 - call Function10762 - ld hl, MenuDataHeader_0x10ac7 - call Function1d3c - ld a, [wd0db] - ld [wcf88], a - ld a, [wd0e1] - ld [wd0e4], a - call Function350c - ld a, [wd0e4] - ld [wd0e1], a - ld a, [wcfa9] - ld [wd0db], a - ret - -Function10762: ; 10762 (4:4762) - ld [wcf65], a - call Function10a36 - call Function109bb - call Function1089a - ret - - -Function1076f: ; 1076f - ld hl, wcf73 - ld a, [hl] - and $1 - jr nz, .asm_10788 - ld a, [hl] - and $2 - jr nz, .asm_1078f - ld a, [hl] - and $20 - jr nz, .asm_10795 - ld a, [hl] - and $10 - jr nz, .asm_107a8 - scf - ret - -.asm_10788 - ld a, $1 - ld [wcf66], a - and a - ret - -.asm_1078f - xor a - ld [wcf66], a - and a - ret - -.asm_10795 - ld a, [wcf63] - dec a - and $3 - ld [wcf63], a - push de - ld de, SFX_UNKNOWN_62 - call PlaySFX - pop de - scf - ret - -.asm_107a8 - ld a, [wcf63] - inc a - and $3 - ld [wcf63], a - push de - ld de, SFX_UNKNOWN_62 - call PlaySFX - pop de - scf - ret -; 107bb - -Function107bb: ; 107bb - call Function106a5 - ld a, [InputType] - or a - jr z, .asm_107ca - callba Function1de28f - -.asm_107ca - call Function107d7 - call Function1076f - jr c, .asm_107ca - xor a - ld [wcf66], a - ret -; 107d7 - -Function107d7: ; 107d7 - ld a, [wcf63] - ld hl, Jumptable_107e1 - call Function1086b - jp [hl] -; 107e1 - - -Jumptable_107e1: ; 107e1 (4:47e1) - dw Function107e9 - dw Function1083b - dw Function10807 - dw Function10826 - - -Function107e9: ; 107e9 (4:47e9) - xor a - ld hl, MenuDataHeader_0x107ef - jr Function1085a -; 107ef (4:47ef) - -MenuDataHeader_0x107ef: ; 0x107ef - db $40 ; flags - db 01, 07 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x107f7 - db 1 ; default option -; 0x107f7 - -MenuData2_0x107f7: ; 0x107f7 - db $ae ; flags - db 5, 8 ; rows, columns - db 2 ; horizontal spacing - dbw 0, OTPartyMons - dbw BANK(Function24ab4), Function24ab4 - dbw BANK(Function24ac3), Function24ac3 - dbw BANK(Function244c3), Function244c3 -; 10807 - -Function10807: ; 10807 (4:4807) - ld a, $2 - ld hl, MenuDataHeader_0x1080e - jr Function1085a -; 1080e (4:480e) - -MenuDataHeader_0x1080e: ; 0x1080e - db $40 ; flags - db 01, 07 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10816 - db 1 ; default option -; 0x10816 - -MenuData2_0x10816: ; 0x10816 - db $ae ; flags - db 5, 8 ; rows, columns - db 1 ; horizontal spacing - dbw 0, OTPartyMon1Exp + 2 - dbw BANK(Function24ab4), Function24ab4 - dbw BANK(Function24ac3), Function24ac3 - dbw BANK(Function244c3), Function244c3 -; 10826 - -Function10826: ; 10826 (4:4826) - ld a, $3 - call Function10762 - call Function1089a - callba Function2c76f - ld a, [CurItem] - ld [CurItem], a - ret - -Function1083b: ; 1083b (4:483b) - ld a, $1 - ld hl, MenuDataHeader_0x10842 - jr Function1085a -; 10842 (4:4842) - -MenuDataHeader_0x10842: ; 0x10842 - db $40 ; flags - db 01, 07 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x1084a - db 1 ; default option -; 0x1084a - -MenuData2_0x1084a: ; 0x1084a - db $ae ; flags - db 5, 8 ; rows, columns - db 2 ; horizontal spacing - dbw 0, OTPartyMon1CaughtGender - dbw BANK(Function24ab4), Function24ab4 - dbw BANK(Function24ac3), Function24ac3 - dbw BANK(Function244c3), Function244c3 -; 1085a - -Function1085a: ; 1085a (4:485a) - push hl - call Function10762 - pop hl - call Function1d3c - call Function350c - ret - -Function10866: ; 10866 (4:4866) - ld hl, wcf63 - inc [hl] - ret - -Function1086b: ; 1086b - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ret -; 10874 - -Function10874: ; 10874 (4:4874) - ld hl, wcf63 - set 7, [hl] - xor a - ld [wcf66], a - ret - -Function1087e: ; 1087e (4:487e) - ld hl, wcf63 - set 7, [hl] - ld a, $1 - ld [wcf66], a - ret - -Function10889: ; 10889 (4:4889) - ld a, [Options] - push af - set 4, a - ld [Options], a - call PrintText - pop af - ld [Options], a - ret - -Function1089a: ; 1089a (4:489a) - call WaitBGMap - - -Function1089d: ; 1089d - ld a, [wcf65] - and $3 - ld e, a - ld d, $0 - ld a, [BattleType] - cp BATTLETYPE_TUTORIAL - jr z, .asm_108b3 - ld a, [PlayerGender] - bit 0, a - jr nz, .asm_108c5 - -.asm_108b3 - ld hl, PackGFXPointers - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld d, [hl] - ld hl, $9500 - lb bc, BANK(PackGFX), 15 - call Request2bpp - ret - -.asm_108c5 - callba Function48e81 - ret -; 108cc - -PackGFXPointers: ; 108cc - dw PackGFX + $f0 * 1 - dw PackGFX + $f0 * 3 - dw PackGFX + $f0 * 0 - dw PackGFX + $f0 * 2 -; 108d4 - -Function108d4: ; 108d4 (4:48d4) - ld hl, wcf73 - ld a, [wd0e3] - and a - jr nz, .asm_10931 - ld a, [hl] - and $1 - jr nz, .asm_108f8 - ld a, [hl] - and $2 - jr nz, .asm_108fa - ld a, [hl] - and $20 - jr nz, .asm_10901 - ld a, [hl] - and $10 - jr nz, .asm_10912 - ld a, [hl] - and $4 - jr nz, .asm_10923 - scf - ret -.asm_108f8 - and a - ret -.asm_108fa - ld a, $9 - ld [wcf63], a - scf - ret -.asm_10901 - ld a, b - ld [wcf63], a - ld [wcf64], a - push de - ld de, SFX_UNKNOWN_62 - call PlaySFX - pop de - scf - ret -.asm_10912 - ld a, c - ld [wcf63], a - ld [wcf64], a - push de - ld de, SFX_UNKNOWN_62 - call PlaySFX - pop de - scf - ret -.asm_10923 - callba Function2490c - ld hl, UnknownText_0x10b07 - call Function10889 - scf - ret -.asm_10931 - ld a, [hl] - and $5 - jr nz, .asm_1093d - ld a, [hl] - and $2 - jr nz, .asm_1094f - scf - ret -.asm_1093d - callba Function2490c - ld de, SFX_SWITCH_POKEMON - call WaitPlaySFX - ld de, SFX_SWITCH_POKEMON - call WaitPlaySFX -.asm_1094f - xor a - ld [wd0e3], a - scf - ret - - -Function10955: ; 10955 - call WhiteBGMap - call ClearTileMap - call ClearSprites - call DisableLCD - ld hl, PackMenuGFX - ld de, VTiles2 - ld bc, $0600 - ld a, BANK(PackMenuGFX) - call FarCopyBytes - hlcoord 0, 1 - ld bc, $00dc - ld a, $24 - call ByteFill - hlcoord 5, 1 - lb bc, 11, 15 - call ClearBox - ld hl, TileMap - ld a, $28 - ld c, $14 -.asm_1098a - ld [hli], a - inc a - dec c - jr nz, .asm_1098a - call Function109bb - call Function109a5 - hlcoord 0, 12 - lb bc, 4, 18 - call TextBox - call EnableLCD - call Function1089d - ret -; 109a5 - -Function109a5: ; 109a5 - hlcoord 0, 3 - ld a, $50 - ld de, 15 - ld b, 3 -.asm_109af - ld c, 5 -.asm_109b1 - ld [hli], a - inc a - dec c - jr nz, .asm_109b1 - add hl, de - dec b - jr nz, .asm_109af - ret -; 109bb - -Function109bb: ; 109bb - ld a, [wcf65] - - ; * 15 - ld d, a - swap a - sub d - - ld d, 0 - ld e, a - ld hl, Tilemap_109e1 - add hl, de - ld d, h - ld e, l - hlcoord 0, 7 - ld c, 3 -.asm_109d0 - ld b, 5 -.asm_109d2 - ld a, [de] - inc de - ld [hli], a - dec b - jr nz, .asm_109d2 - ld a, c - ld c, 15 - add hl, bc - ld c, a - dec c - jr nz, .asm_109d0 - ret -; 109e1 - -Tilemap_109e1: ; 109e1 - db $00, $04, $04, $04, $01, $06, $07, $08, $09, $0a, $02, $05, $05, $05, $03 - db $00, $04, $04, $04, $01, $15, $16, $17, $18, $19, $02, $05, $05, $05, $03 - db $00, $04, $04, $04, $01, $0b, $0c, $0d, $0e, $0f, $02, $05, $05, $05, $03 - db $00, $04, $04, $04, $01, $10, $11, $12, $13, $14, $02, $05, $05, $05, $03 -; 10a1d - -Function10a1d: ; 10a1d - ld a, [CurItem] - ld [wd265], a - call GetItemName - call CopyName1 - ret -; 10a2a - -Function10a2a: ; 10a2a - ld hl, TileMap - ld bc, $0168 - ld a, $7f - call ByteFill - ret -; 10a36 - -Function10a36: ; 10a36 (4:4a36) - hlcoord 5, 2 - ld bc, $a0f - call ClearBox - ret - - -Function10a40: ; 10a40 - call WaitBGMap - ld b, $14 - call GetSGBLayout - call Function32f9 - call DelayFrame - ret -; 10a4f - -MenuDataHeader_0x10a4f: ; 0x10a4f - db $40 ; flags - db 01, 07 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10a57 - db 1 ; default option -; 0x10a57 - -MenuData2_0x10a57: ; 0x10a57 - db $ae ; flags - db 5, 8 ; rows, columns - db 2 ; horizontal spacing - dbw 0, NumItems - dbw BANK(Function24ab4), Function24ab4 - dbw BANK(Function24ac3), Function24ac3 - dbw BANK(Function244c3), Function244c3 -; 10a67 - -MenuDataHeader_0x10a67: ; 0x10a67 - db $40 ; flags - db 01, 07 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10a6f - db 1 ; default option -; 0x10a6f - -MenuData2_0x10a6f: ; 0x10a6f - db $2e ; flags - db 5, 8 ; rows, columns - db 2 ; horizontal spacing - dbw 0, NumItems - dbw BANK(Function24ab4), Function24ab4 - dbw BANK(Function24ac3), Function24ac3 - dbw BANK(Function244c3), Function244c3 -; 10a7f - -MenuDataHeader_0x10a7f: ; 0x10a7f - db $40 ; flags - db 01, 07 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10a87 - db 1 ; default option -; 0x10a87 - -MenuData2_0x10a87: ; 0x10a87 - db $ae ; flags - db 5, 8 ; rows, columns - db 1 ; horizontal spacing - dbw 0, NumKeyItems - dbw BANK(Function24ab4), Function24ab4 - dbw BANK(Function24ac3), Function24ac3 - dbw BANK(Function244c3), Function244c3 -; 10a97 - -MenuDataHeader_0x10a97: ; 0x10a97 - db $40 ; flags - db 01, 07 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10a9f - db 1 ; default option -; 0x10a9f - -MenuData2_0x10a9f: ; 0x10a9f - db $2e ; flags - db 5, 8 ; rows, columns - db 1 ; horizontal spacing - dbw 0, NumKeyItems - dbw BANK(Function24ab4), Function24ab4 - dbw BANK(Function24ac3), Function24ac3 - dbw BANK(Function244c3), Function244c3 -; 10aaf - -MenuDataHeader_0x10aaf: ; 0x10aaf - db $40 ; flags - db 01, 07 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10ab7 - db 1 ; default option -; 0x10ab7 - -MenuData2_0x10ab7: ; 0x10ab7 - db $ae ; flags - db 5, 8 ; rows, columns - db 2 ; horizontal spacing - dbw 0, NumBalls - dbw BANK(Function24ab4), Function24ab4 - dbw BANK(Function24ac3), Function24ac3 - dbw BANK(Function244c3), Function244c3 -; 10ac7 - -MenuDataHeader_0x10ac7: ; 0x10ac7 - db $40 ; flags - db 01, 07 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x10acf - db 1 ; default option -; 0x10acf - -MenuData2_0x10acf: ; 0x10acf - db $2e ; flags - db 5, 8 ; rows, columns - db 2 ; horizontal spacing - dbw 0, NumBalls - dbw BANK(Function24ab4), Function24ab4 - dbw BANK(Function24ac3), Function24ac3 - dbw BANK(Function244c3), Function244c3 -; 10adf - -UnknownText_0x10adf: ; 0x10adf - ; No items. - text_jump UnknownText_0x1c0b9a - db "@" -; 0x10ae4 - -UnknownText_0x10ae4: ; 0x10ae4 - ; Throw away how many? - text_jump UnknownText_0x1c0ba5 - db "@" -; 0x10ae9 - -UnknownText_0x10ae9: ; 0x10ae9 - ; Throw away @ @ (S)? - text_jump UnknownText_0x1c0bbb - db "@" -; 0x10aee - -UnknownText_0x10aee: ; 0x10aee - ; Threw away @ (S). - text_jump UnknownText_0x1c0bd8 - db "@" -; 0x10af3 - -UnknownText_0x10af3: ; 0x10af3 - ; OAK: ! This isn't the time to use that! - text_jump UnknownText_0x1c0bee - db "@" -; 0x10af8 - -UnknownText_0x10af8: ; 0x10af8 - ; You don't have a #MON! - text_jump UnknownText_0x1c0c17 - db "@" -; 0x10afd - -UnknownText_0x10afd: ; 0x10afd - ; Registered the @ . - text_jump UnknownText_0x1c0c2e - db "@" -; 0x10b02 - -UnknownText_0x10b02: ; 0x10b02 - ; You can't register that item. - text_jump UnknownText_0x1c0c45 - db "@" -; 0x10b07 - -UnknownText_0x10b07: ; 0x10b07 - ; Where should this be moved to? - text_jump UnknownText_0x1c0c63 - db "@" -; 0x10b0c - -UnknownText_0x10b0c: ; 0x10b0c - ; - text_jump UnknownText_0x1c0c83 - db "@" -; 0x10b11 - -UnknownText_0x10b11: ; 0x10b11 - ; You can't use it in a battle. - text_jump UnknownText_0x1c0c85 - db "@" -; 0x10b16 - -PackMenuGFX: -INCBIN "gfx/misc/pack_menu.2bpp" - -PackGFX: -INCBIN "gfx/misc/pack.w40.2bpp" Function113d6: ; 113d6 call Function114dd From 25f5306a4d8b1815a78f4ee505f484a2fe6e6b28 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 13:36:02 -0800 Subject: [PATCH 07/20] Split out the Pokedex code. --- engine/pokedex.asm | 2585 ++++++++++++++++++++++++++++++++++++++++++++ main.asm | 2582 +------------------------------------------ 2 files changed, 2586 insertions(+), 2581 deletions(-) create mode 100644 engine/pokedex.asm diff --git a/engine/pokedex.asm b/engine/pokedex.asm new file mode 100644 index 000000000..004836f62 --- /dev/null +++ b/engine/pokedex.asm @@ -0,0 +1,2585 @@ + +Pokedex: ; 40000 + + ld a, [hWX] + ld l, a + ld a, [hWY] + ld h, a + push hl + ld a, [hSCX] + push af + ld hl, Options + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + ld a, [VramState] + push af + xor a + ld [VramState], a + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + + xor a + ld [$ffde], a + call InitPokedex + call DelayFrame + +.main + call Functiona57 + ld a, [wcf63] + bit 7, a + jr nz, .exit + call Function4010b + call DelayFrame + jr .main + +.exit + ld de, SFX_READ_TEXT_2 + call PlaySFX + call WaitSFX + call ClearSprites + ld a, [wc7d4] + ld [wd959], a + + pop af + ld [$ffaa], a + pop af + ld [VramState], a + pop af + ld [Options], a + pop af + ld [hSCX], a + pop hl + ld a, l + ld [hWX], a + ld a, h + ld [hWY], a + ret +; 40063 + +InitPokedex: ; 40063 + call WhiteBGMap + call ClearSprites + call ClearTileMap + call Function414b7 + + ld hl, wc6d0 + ld bc, $0115 + xor a + call ByteFill + + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + + call Function400a2 + + ld a, [wd959] + ld [wc7d4], a + + call Function40bdc + call Function400b4 + call Function400ed + callba Function1de247 + call Function41af7 + ret +; 400a2 + +Function400a2: ; 400a2 + ld a, [StatusFlags] + bit 1, a + jr nz, .asm_400ae + + xor a + ld [wc7dc], a + ret + +.asm_400ae + ld a, 1 + ld [wc7dc], a + ret +; 400b4 + +Function400b4: ; 400b4 + ld hl, wc6d0 + ld a, [wc2d6] + and a + jr z, .asm_400ec + cp $fc + jr nc, .asm_400ec + + ld b, a + ld a, [wc7d2] + cp $8 + jr c, .asm_400db + + sub $7 + ld c, a +.asm_400cc + ld a, b + cp [hl] + jr z, .asm_400ec + inc hl + ld a, [wc7d0] + inc a + ld [wc7d0], a + dec c + jr nz, .asm_400cc + +.asm_400db + ld c, $7 +.asm_400dd + ld a, b + cp [hl] + jr z, .asm_400ec + inc hl + ld a, [wc7d1] + inc a + ld [wc7d1], a + dec c + jr nz, .asm_400dd + +.asm_400ec + ret +; 400ed + +Function400ed: ; 400ed + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetWorldMapLocation + + cp SPECIAL_MAP + jr nz, .asm_40107 + + ld a, [BackupMapGroup] + ld b, a + ld a, [BackupMapNumber] + ld c, a + call GetWorldMapLocation + +.asm_40107 + ld [wc7e4], a + ret +; 4010b + +Function4010b: ; 4010b + ld a, [wcf63] + ld hl, Jumptable_40115 + call Function41432 + jp [hl] +; 40115 + + +Jumptable_40115: ; 40115 (10:4115) + dw Function4013c + dw Function401ae + dw Function40217 + dw Function40258 + dw Function402aa + dw Function40443 + dw Function40471 + dw Function4039d + dw Function403be + dw Function4050a + dw Function40562 + dw Function405bd + dw Function405df + dw Function40136 + + +Function40131: ; 40131 (10:4131) + ld hl, wcf63 + inc [hl] + ret + +Function40136: ; 40136 (10:4136) + ld hl, wcf63 + set 7, [hl] + ret + +Function4013c: ; 4013c (10:413c) + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call ClearSprites + xor a + ld hl, AttrMap + ld bc, $168 + call ByteFill + callba Function1de171 + hlcoord 0, 17 + ld de, Unknown_407f2 + call Function40acd + ld a, $7 + ld [wc7d3], a + call Function40b0f + call Function41aeb + call Function41af7 + call Function4074c + ld a, $5 + ld [hSCX], a ; $ff00+$cf + ld a, [wc7d4] + cp $1 + ld a, $4a + jr z, .asm_4017b + ld a, $47 + +.asm_4017b + ld [hWX], a ; $ff00+$d1 + xor a + ld [hWY], a ; $ff00+$d2 + call WaitBGMap + call Function41af7 + ld a, $ff + ld [CurPartySpecies], a + ld a, $4 + call Function41423 + call Function41148 + callba Function1de171 + hlcoord 0, 17 + ld de, Unknown_407f2 + call Function40acd + ld a, $7 + ld [wc7d3], a + call Function40b0f + call Function40131 + ret + +Function401ae: ; 401ae (10:41ae) + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and B_BUTTON + jr nz, .b + ld a, [hl] + and A_BUTTON + jr nz, .a + ld a, [hl] + and SELECT + jr nz, .select + ld a, [hl] + and START + jr nz, .start + call Function406c5 + ret nc + call Function41148 + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function40b0f + call Function41ad7 + call Function41af7 + ret + +.a + call Function40bb1 + call Function40bd0 + ret z + ld a, $2 + ld [wcf63], a + ld a, $0 + ld [wcf64], a + ret + +.select + call Function41401 + ld a, $7 + ld [wcf63], a + xor a + ld [hSCX], a ; $ff00+$cf + ld a, $a7 + ld [hWX], a ; $ff00+$d1 + call DelayFrame + ret + +.start + call Function41401 + ld a, $5 + ld [wcf63], a + xor a + ld [hSCX], a ; $ff00+$cf + ld a, $a7 + ld [hWX], a ; $ff00+$d1 + call DelayFrame + ret + +.b + ld a, $d + ld [wcf63], a + ret + +Function40217: ; 40217 (10:4217) + call LowVolume + xor a + ld [wcf65], a + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call ClearSprites + call Function41478 + call Function407fd + call Function4134f + call Function40bb1 + ld [wc2d6], a + callba Function4424d + call Function40ba0 + call WaitBGMap + ld a, $a7 + ld [hWX], a ; $ff00+$d1 + call Function40bb1 + ld [CurPartySpecies], a + ld a, $4 + call Function41423 + ld a, [CurPartySpecies] + call PlayCry + call Function40131 + ret + +Function40258: ; 40258 (10:4258) + ld de, Unknown_402e8 + call Function4135a + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and B_BUTTON + jr nz, .b + ld a, [hl] + and A_BUTTON + jr nz, .a + call Function4066c + ret nc + call Function40131 + ret + +.a + ld a, [wc7d8] + ld hl, Jumptable_402f2 + call Function41432 + jp [hl] + +.b + ld a, [LastVolume] + and a + jr z, .asm_40288 + ld a, $77 + ld [LastVolume], a + +.asm_40288 + call MaxVolume + ld a, [wcf64] + ld [wcf63], a + ret +; 40292 (10:4292) + +Function40292: ; 40292 + ld a, [wcf65] + xor $1 + ld [wcf65], a + call Function40bb1 + ld [wc2d6], a + callba Function4424d + call WaitBGMap + ret +; 402aa + +Function402aa: ; 402aa (10:42aa) + call Function41401 + xor a + ld [wcf65], a + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function407fd + call Function4134f + call Function41478 + call Function40bb1 + ld [wc2d6], a + callba Function4424d + call Function40ba0 + call Function4143b + call WaitBGMap + call Function40bb1 + ld [CurPartySpecies], a + ld a, $4 + call Function41423 + ld a, [CurPartySpecies] + call PlayCry + ld hl, wcf63 + dec [hl] + ret +; 402e8 (10:42e8) + +Unknown_402e8: ; 402e8 + dw $0430 + dwcoord 1, 17 + dwcoord 6, 17 + dwcoord 11, 17 + dwcoord 15, 17 +; 402f2 + +Jumptable_402f2: ; 402f2 + dw Function40292 + dw Function402fa + dw Function40340 + dw Function4034f +; 402fa + +Function402fa: ; 402fa + call Function41401 + xor a + ld [hSCX], a + call DelayFrame + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + call Function40bb1 + ld a, [wc7e4] + ld e, a + predef Function91d11 + call Function41401 + call DelayFrame + xor a + ld [hBGMapMode], a + ld a, $90 + ld [hWY], a + ld a, $5 + ld [hSCX], a + call DelayFrame + call Function4038d + call Function4143b + call WaitBGMap + call Function40bb1 + ld [CurPartySpecies], a + ld a, $4 + call Function41423 + ret +; 40340 + +Function40340: ; 40340 + call Function40bb1 + ld a, [wd265] + call GetCryIndex + ld e, c + ld d, b + call PlayCryHeader + ret +; 4034f + +Function4034f: ; 4034f + call Function41415 + xor a + ld [hSCX], a + ld a, [wcf65] + push af + ld a, [wcf64] + push af + ld a, [wcf63] + push af + callba Function8442c + pop af + ld [wcf63], a + pop af + ld [wcf64], a + pop af + ld [wcf65], a + call WhiteBGMap + call DisableLCD + call Function414fb + call Function4038d + call EnableLCD + call WaitBGMap + ld a, $5 + ld [hSCX], a + call Function41427 + ret +; 4038d + +Function4038d: ; 4038d + call Function407fd + call Function40bb1 + callba Function4424d + call Function40ba0 + ret +; 4039d + +Function4039d: ; 4039d (10:439d) + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call ClearSprites + call Function4087c + call Function4134f + ld a, [wc7d4] + ld [wc7d8], a + call Function40e5b + call WaitBGMap + ld a, $10 + call Function41423 + call Function40131 + ret + +Function403be: ; 403be (10:43be) + ld a, [wc7dc] + and a + jr nz, .asm_403c9 + ld de, Unknown_403f3 + jr .asm_403cc + +.asm_403c9 + ld de, Unknown_403fb +.asm_403cc + call Function4135a + call c, Function40e5b + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and $6 + jr nz, .asm_403ea + ld a, [hl] + and $1 + jr nz, .asm_403e0 + ret + +.asm_403e0 + ld a, [wc7d8] + ld hl, Jumptable_40405 + call Function41432 + jp [hl] + +.asm_403ea + call Function41401 + ld a, $0 + ld [wcf63], a + ret +; 403f3 (10:43f3) + +Unknown_403f3: ; 403f3 + dw $03c0 + dwcoord 2, 4 + dwcoord 2, 6 + dwcoord 2, 8 +; 403fb + +Unknown_403fb: ; 403fb + dw $04c0 + dwcoord 2, 4 + dwcoord 2, 6 + dwcoord 2, 8 + dwcoord 2, 10 +; 40405 + +Jumptable_40405: ; 40405 (10:4405) + dw Function4040d + dw Function40411 + dw Function40415 + dw Function4043a +; 4040d + +Function4040d: ; 4040d (10:440d) + ld b, $0 + jr Function40417 + +Function40411: ; 40411 (10:4411) + ld b, $1 + jr Function40417 + +Function40415: ; 40415 (10:4415) + ld b, $2 +Function40417: ; 40417 (10:4417) + ld a, [wc7d4] + cp b + jr z, .asm_40431 + ld a, b + ld [wc7d4], a + call Function40bdc + call Function40f08 + xor a + ld [wc7d0], a + ld [wc7d1], a + call Function400b4 + +.asm_40431 + call Function41401 + ld a, $0 + ld [wcf63], a + ret + +Function4043a: ; 4043a (10:443a) + call Function41401 + ld a, $b + ld [wcf63], a + ret + +Function40443: ; 40443 (10:4443) + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call ClearSprites + call Function408f0 + call Function4134f + ld a, $1 + ld [wc7d5], a + xor a + ld [wc7d6], a + call Function40fa8 + xor a + ld [wc7db], a + callba Function44207 + call WaitBGMap + ld a, $10 + call Function41423 + call Function40131 + ret + +Function40471: ; 40471 (10:4471) + ld de, Unknown_4049e + call Function4135a + call Function40f4f + call c, Function40fa8 + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and START | B_BUTTON + jr nz, .asm_40495 + ld a, [hl] + and A_BUTTON + jr nz, .asm_4048b + ret + +.asm_4048b + ld a, [wc7d8] + ld hl, Jumptable_404a8 + call Function41432 + jp [hl] + +.asm_40495 + call Function41401 + ld a, $0 + ld [wcf63], a + ret +; 4049e (10:449e) + +Unknown_4049e: ; 4049e + dw $04c0 + dwcoord 2, 4 + dwcoord 2, 6 + dwcoord 2, 13 + dwcoord 2, 15 +; 404a8 + +Jumptable_404a8: ; 404a8 + dw Function404b0 + dw Function404b0 + dw Function404b7 + dw Function40501 +; 404b0 + +Function404b0: ; 404b0 + call Function40f84 + call Function40fa8 + ret +; 404b7 + +Function404b7: ; 404b7 + call Function41086 + callba Function441cf + ld a, [wc7d7] + and a + jr nz, .asm_404dc + call Function40bdc + call Function41107 + xor a + ld [hBGMapMode], a + call Function408f0 + call Function4134f + call Function40fa8 + call WaitBGMap + ret + +.asm_404dc + ld [wc7d2], a + ld a, [wc7d0] + ld [wc7e0], a + ld a, [wc7d1] + ld [wc7e1], a + ld a, [wc2d6] + ld [wcf65], a + xor a + ld [wc7d0], a + ld [wc7d1], a + call Function41401 + ld a, $9 + ld [wcf63], a + ret +; 40501 + +Function40501: ; 40501 + call Function41401 + ld a, $0 + ld [wcf63], a + ret +; 4050a + +Function4050a: ; 4050a (10:450a) + xor a + ld [hBGMapMode], a ; $ff00+$d4 + xor a + ld hl, AttrMap + ld bc, $168 + call ByteFill + call Function41ae1 + call Function41af7 + callba Function1de1d1 + call Function409cf + ld a, $4 + ld [wc7d3], a + call Function40b0f + call Function41ad7 + call Function41af7 + call Function40962 + ld a, $5 + ld [hSCX], a ; $ff00+$cf + ld a, $4a + ld [hWX], a ; $ff00+$d1 + xor a + ld [hWY], a ; $ff00+$d2 + call WaitBGMap + call Function41af7 + callba Function1de1d1 + call Function409cf + call Function41281 + ld a, $ff + ld [CurPartySpecies], a + ld a, $4 + call Function41423 + call Function40131 + ret + +Function40562: ; 40562 (10:4562) + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and B_BUTTON + jr nz, .asm_40595 + ld a, [hl] + and A_BUTTON + jr nz, .asm_40583 + call Function406c5 + ret nc + call Function41281 + xor a + ld [hBGMapMode], a ; $ff00+$d4 + call Function40b0f + call Function41ad7 + call Function41af7 + ret + +.asm_40583 + call Function40bb1 + call Function40bd0 + ret z + ld a, $2 + ld [wcf63], a + ld a, $9 + ld [wcf64], a + ret + +.asm_40595 + ld a, [wc7e0] + ld [wc7d0], a + ld a, [wc7e1] + ld [wc7d1], a + ld a, [wcf65] + ld [wc2d6], a + call Function41401 + call ClearSprites + call Function40bdc + ld a, $5 + ld [wcf63], a + xor a + ld [hSCX], a ; $ff00+$cf + ld a, $a7 + ld [hWX], a ; $ff00+$d1 + ret + +Function405bd: ; 405bd (10:45bd) + call Function41a2c + call Function409f1 + xor a + ld [wc7dd], a + call Function41a58 + call Function40658 + callba Functionfba2e + call WaitBGMap + ld a, $16 + call Function41423 + call Function40131 + ret + +Function405df: ; 405df (10:45df) + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and A_BUTTON | B_BUTTON + jr nz, .asm_405eb + call Function40610 + ret + +.asm_405eb + call Function41401 + ld a, $7 + ld [wcf63], a + call DelayFrame + call Function41a24 + jr nz, .asm_40603 + callba Function1ddf26 + jr .asm_4060f + +.asm_40603 + ld hl, PokedexLZ + ld de, $9310 + lb bc, BANK(PokedexLZ), $3a + call Functione73 + +.asm_4060f + ret + +Function40610: ; 40610 (10:4610) + ld hl, $ffa9 + ld a, [hl] + and D_RIGHT + jr nz, .right + ld a, [hl] + and D_LEFT + jr nz, .left + ret + +.right + ld a, [wc7de] + ld e, a + ld hl, wc7dd + ld a, [hl] + inc a + cp e + ret nc + ld a, [hl] + inc [hl] + jr .asm_40635 + +.left + ld hl, wc7dd + ld a, [hl] + and a + ret z + ld a, [hl] + dec [hl] + +.asm_40635 + push af + xor a + ld [hBGMapMode], a ; $ff00+$d4 + pop af + call Function40654 + call Function41a58 + call Function40658 + callba Functionfba2e + ld a, $1 + ld [hBGMapMode], a ; $ff00+$d4 + call DelayFrame + call DelayFrame + ret + +Function40654: ; 40654 (10:4654) + ld c, $7f + jr asm_4065d + +Function40658: ; 40658 (10:4658) + ld a, [wc7dd] + ld c, $5a +asm_4065d: ; 4065d (10:465d) + ld e, a + ld d, 0 + ld hl, Unknown_40a3e + 2 + add hl, de + add hl, de + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld [hl], c + ret + +Function4066c: ; 4066c (10:466c) + ld a, [wc7d1] + ld [wc7e2], a + ld a, [wc7d0] + ld [wc7e3], a + ld hl, $ffa9 + ld a, [hl] + and D_UP + jr nz, .up + ld a, [hl] + and D_DOWN + jr nz, .down + and a + ret + +.up + ld a, [wc7d3] + ld d, a + ld a, [wc7d2] + ld e, a + call Function406ea + jr nc, .asm_406b7 + call Function40bb1 + call Function40bd0 + jr nz, .asm_406b5 + jr .up + +.down + ld a, [wc7d3] + ld d, a + ld a, [wc7d2] + ld e, a + call Function406fe + jr nc, .asm_406b7 + call Function40bb1 + call Function40bd0 + jr nz, .asm_406b5 + jr .down + +.asm_406b5 + scf + ret + +.asm_406b7 + ld a, [wc7e2] + ld [wc7d1], a + ld a, [wc7e3] + ld [wc7d0], a + and a + ret + +Function406c5: ; 406c5 (10:46c5) + ld a, [wc7d3] + ld d, a + ld a, [wc7d2] + ld e, a + ld hl, $ffa9 + ld a, [hl] + and D_UP + jr nz, Function406ea + ld a, [hl] + and D_DOWN + jr nz, Function406fe + ld a, d + cp e + jr nc, asm_4073d + ld a, [hl] + and $20 + jr nz, asm_40716 + ld a, [hl] + and $10 + jr nz, asm_40728 + jr asm_4073d + +Function406ea: ; 406ea (10:46ea) + ld hl, wc7d1 + ld a, [hl] + and a + jr z, .asm_406f4 + dec [hl] + jr asm_4073f +.asm_406f4 + ld hl, wc7d0 + ld a, [hl] + and a + jr z, asm_4073d + dec [hl] + jr asm_4073f + +Function406fe: ; 406fe (10:46fe) + ld hl, wc7d1 + ld a, [hl] + inc a + cp e + jr nc, asm_4073d + cp d + jr nc, .asm_4070c + inc [hl] + jr asm_4073f +.asm_4070c + ld hl, wc7d0 + add [hl] + cp e + jr nc, asm_4073d + inc [hl] + jr asm_4073f +asm_40716: ; 40716 (10:4716) + ld hl, wc7d0 + ld a, [hl] + and a + jr z, asm_4073d + cp d + jr nc, .asm_40724 + xor a + ld [hl], a + jr asm_4073f +.asm_40724 + sub d + ld [hl], a + jr asm_4073f +asm_40728: ; 40728 (10:4728) + ld hl, wc7d0 + ld a, d + add a + add [hl] + jr c, .asm_40733 + cp e + jr c, .asm_40738 +.asm_40733 + ld a, e + sub d + ld [hl], a + jr asm_4073f +.asm_40738 + ld a, [hl] + add d + ld [hl], a + jr asm_4073f +asm_4073d: ; 4073d (10:473d) + and a + ret +asm_4073f: ; 4073f (10:473f) + scf + ret + +Function40741: ; 40741 + push de + ld de, $0014 +.asm_40745 + ld [hl], a + add hl, de + dec b + jr nz, .asm_40745 + pop de + ret +; 4074c + + +Function4074c: ; 4074c (10:474c) + hlcoord 0, 17 + ld de, Unknown_407f2 + call Function40acd + ld a, $32 + ld hl, TileMap + ld bc, $168 + call ByteFill + ld hl, TileMap + lb bc, 7, 7 + call Function40ad5 + hlcoord 0, 9 + ld bc, $607 + call Function40ad5 + hlcoord 1, 11 + ld de, Unknown_407e1 + call Function40acd + ld hl, PokedexSeen ; wdeb9 (aliases: EndPokedexSeen) + ld b, EndPokedexSeen - PokedexSeen + call CountSetBits + ld de, wd265 + hlcoord 5, 12 + ld bc, $103 + call PrintNum + hlcoord 1, 14 + ld de, Unknown_407e6 + call Function40acd + ld hl, PokedexCaught + ld b, EndPokedexCaught - PokedexCaught + call CountSetBits + ld de, wd265 + hlcoord 5, 15 + ld bc, $103 + call PrintNum + hlcoord 1, 17 + ld de, Unknown_407ea + call Function40acd + hlcoord 8, 1 + ld b, $7 + ld a, $5a + call Function40741 + hlcoord 8, 10 + ld b, $6 + ld a, $5a + call Function40741 + hlcoord 8, 0 + ld [hl], $59 + hlcoord 8, 8 + ld [hl], $53 + hlcoord 8, 9 + ld [hl], $54 + hlcoord 8, 16 + ld [hl], $5b + call Function40ab2 + ret +; 407e1 (10:47e1) + +Unknown_407e1: ; 407e1 + db "SEEN", $ff +Unknown_407e6: ; 407e6 + db "OWN", $ff +Unknown_407ea: ; 407ea + db $3b, $48, $49, $4a, $44, $45, $46, $47 ; SELECT > OPTION +Unknown_407f2: ; 407f2 + db $3c, $3b, $41, $42, $43, $4b, $4c, $4d, $4e, $3c, $ff ; START > SEARCH +; 407fd + +Function407fd: ; 407fd + call Function40aa6 + ld hl, TileMap + ld bc, $0f12 + call Function40ad5 + hlcoord 19, 0 + ld [hl], $34 + hlcoord 19, 1 + ld a, $7f + ld b, $f + call Function40741 + ld [hl], $39 + hlcoord 1, 10 + ld bc, $0013 + ld a, $61 + call ByteFill + hlcoord 1, 17 + ld bc, $0012 + ld a, $7f + call ByteFill + hlcoord 9, 7 + ld de, Unknown_40852 + call Function40acd + hlcoord 9, 9 + ld de, Unknown_4085c + call Function40acd + hlcoord 0, 17 + ld de, Unknown_40867 + call Function40acd + call Function40ab2 + ret +; 4084f + +Unknown_4084f: ; 4084f + db $5c, $5d, $ff ; No. +Unknown_40852: ; 40852 + db "HT ?", $5e, "??", $5f, $ff ; HT ?'??" +Unknown_4085c: ; 4085c + db "WT ???lb", $ff ; WT ???lb +Unknown_40867: ; 40867 + db $3b, " PAGE AREA CRY PRNT", $ff +; 4087c + +Function4087c: ; 4087c (10:487c) + call Function40aa6 + hlcoord 0, 2 + lb bc, 8, 18 + call Function40ad5 + hlcoord 0, 12 + lb bc, 4, 18 + call Function40ad5 + hlcoord 0, 1 + ld de, Unknown_408b2 + call Function40acd + hlcoord 3, 4 + ld de, String_408bd + call PlaceString + ld a, [wc7dc] + and a + ret z + hlcoord 3, 10 + ld de, String_408e5 + call PlaceString + ret +; 408b2 (10:48b2) + +Unknown_408b2: ; 408b2 + db $3b, " OPTION ", $3c, $ff +; 408bd + +String_408bd: ; 408bd + db "NEW #DEX MODE", $4e + db "OLD #DEX MODE", $4e + db "A to Z MODE@" +; 408e5 + +String_408e5: ; 408e5 + db "UNOWN MODE@" +; 408f0 + +Function408f0: ; 408f0 (10:48f0) + call Function40aa6 + hlcoord 0, 2 + lb bc, 14, 18 + call Function40ad5 + hlcoord 0, 1 + ld de, Unknown_4092a + call Function40acd + hlcoord 8, 4 + ld de, Unknown_40935 + call Function40acd + hlcoord 8, 6 + ld de, Unknown_40935 + call Function40acd + hlcoord 3, 4 + ld de, String_40940 + call PlaceString + hlcoord 3, 13 + ld de, String_4094c + call PlaceString + ret +; 4092a (10:492a) + +Unknown_4092a: ; 4092a + db $3b, " SEARCH ", $3c, $ff +; 40925 + +Unknown_40935: ; 40935 + db $3d, " ", $3e, $ff +; 40940 + +String_40940: ; 40940 + db "TYPE1" + next "TYPE2" + db "@" +; 4094c + +String_4094c: ; 4094c + db "BEGIN SEARCH!!" + next "CANCEL" + db "@" +; 40962 + +Function40962: ; 40962 (10:4962) + call Function40aa6 + ld hl, TileMap + lb bc, 7, 7 + call Function40ad5 + hlcoord 0, 11 + lb bc, 5, 18 + call Function40ad5 + hlcoord 1, 12 + ld de, String_409ae + call PlaceString + ld de, wc7d7 + hlcoord 1, 16 + ld bc, $103 + call PrintNum + hlcoord 8, 0 + ld [hl], $59 + hlcoord 8, 1 + ld b, $7 + ld a, $5a + call Function40741 + hlcoord 8, 8 + ld [hl], $53 + hlcoord 8, 9 + ld [hl], $69 + hlcoord 8, 10 + ld [hl], $6a + call Function40ab2 + ret +; 409ae (10:49ae) + +String_409ae: ; 409ae + db "SEARCH RESULTS" + next " TYPE" + next " FOUND!" + db "@" +; 409cf + +Function409cf: ; 409cf (10:49cf) + ld a, [wc7d5] + hlcoord 0, 14 + call Function40fcd + ld a, [wc7d5] + ld b, a + ld a, [wc7d6] + and a + jr z, .asm_409f0 + cp b + jr z, .asm_409f0 + hlcoord 2, 15 + call Function40fcd + hlcoord 1, 15 + ld [hl], $f3 +.asm_409f0 + ret + +Function409f1: ; 409f1 (10:49f1) + call Function40aa6 + hlcoord 2, 1 + lb bc, 10, 13 + call Function40ad5 + hlcoord 2, 14 + lb bc, 1, 13 + call Function40ad5 + hlcoord 2, 15 + ld [hl], $3d + hlcoord 16, 15 + ld [hl], $3e + hlcoord 6, 5 + call Function40ab5 + ld de, 0 + ld b, 0 + ld c, 26 +.asm_40a1d + ld hl, UnownDex + add hl, de + ld a, [hl] + and a + jr z, .asm_40a39 + push af + ld hl, Unknown_40a3e + add hl, de + add hl, de + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + pop af + add $3f + ld [hl], a + inc de + inc b + dec c + jr nz, .asm_40a1d +.asm_40a39 + ld a, b + ld [wc7de], a + ret +; 40a3e (10:4a3e) + +Unknown_40a3e: ; 40a3e + dwcoord 4,11, 3,11 + dwcoord 4,10, 3,10 + dwcoord 4, 9, 3, 9 + dwcoord 4, 8, 3, 8 + dwcoord 4, 7, 3, 7 + dwcoord 4, 6, 3, 6 + dwcoord 4, 5, 3, 5 + dwcoord 4, 4, 3, 4 + dwcoord 4, 3, 3, 2 + dwcoord 5, 3, 5, 2 + dwcoord 6, 3, 6, 2 + dwcoord 7, 3, 7, 2 + dwcoord 8, 3, 8, 2 + dwcoord 9, 3, 9, 2 + dwcoord 10, 3, 10, 2 + dwcoord 11, 3, 11, 2 + dwcoord 12, 3, 12, 2 + dwcoord 13, 3, 13, 2 + dwcoord 14, 3, 15, 2 + dwcoord 14, 4, 15, 4 + dwcoord 14, 5, 15, 5 + dwcoord 14, 6, 15, 6 + dwcoord 14, 7, 15, 7 + dwcoord 14, 8, 15, 8 + dwcoord 14, 9, 15, 9 + dwcoord 14,10, 15,10 +; 40aa6 + +Function40aa6: ; 40aa6 + ld hl, TileMap + ld a, $32 + ld bc, $0168 + call ByteFill + ret +; 40ab2 + +Function40ab2: ; 40ab2 + hlcoord 1, 1 +Function40ab5: ; 40ab5 + xor a + ld b, $7 +.asm_40ab8 + ld c, $7 + push af + push hl +.asm_40abc + ld [hli], a + add $7 + dec c + jr nz, .asm_40abc + pop hl + ld de, $0014 + add hl, de + pop af + inc a + dec b + jr nz, .asm_40ab8 + ret +; 40acd + +Function40acd: ; 40acd +.asm_40acd + ld a, [de] + cp $ff + ret z + inc de + ld [hli], a + jr .asm_40acd +; 40ad5 + + +Function40ad5: ; 40ad5 + push hl + ld a, $33 + ld [hli], a + ld d, $34 + call Function40b06 + ld a, $35 + ld [hl], a + pop hl + ld de, $0014 + add hl, de +.asm_40ae6 + push hl + ld a, $36 + ld [hli], a + ld d, $7f + call Function40b06 + ld a, $37 + ld [hl], a + pop hl + ld de, $0014 + add hl, de + dec b + jr nz, .asm_40ae6 + ld a, $38 + ld [hli], a + ld d, $39 + call Function40b06 + ld a, $3a + ld [hl], a + ret +; 40b06 + +Function40b06: ; 40b06 + ld e, c +.asm_40b07 + ld a, e + and a + ret z + ld a, d + ld [hli], a + dec e + jr .asm_40b07 +; 40b0f + + +Function40b0f: ; 40b0f (10:4b0f) + ld a, [wc7d4] + cp $1 + jr z, .asm_40b1a + ld c, $b + jr .asm_40b1c +.asm_40b1a + ld c, $b +.asm_40b1c + hlcoord 0, 1 + ld a, [wc7d3] + add a + inc a + ld b, a + ld a, $7f + call Function413fe + ld a, [wc7d0] + ld e, a + ld d, $0 + ld hl, wc6d0 + add hl, de + ld e, l + ld d, h + hlcoord 0, 2 + ld a, [wc7d3] +.asm_40b3c + push af + ld a, [de] + ld [wd265], a + push de + push hl + call Function40b55 + pop hl + ld de, $28 + add hl, de + pop de + inc de + pop af + dec a + jr nz, .asm_40b3c + call Function4143b + ret + +Function40b55: ; 40b55 (10:4b55) + and a + ret z + call Function40b6a + call Function40b8d + ret c + call Function40b82 + push hl + call GetPokemonName + pop hl + call PlaceString + ret + +Function40b6a: ; 40b6a (10:4b6a) + ld a, [wc7d4] + cp $1 + jr z, .asm_40b72 + ret +.asm_40b72 + push hl + ld de, -20 + add hl, de + ld de, wd265 + ld bc, $8103 + call PrintNum + pop hl + ret + +Function40b82: ; 40b82 (10:4b82) + call Function40bc4 + jr nz, .asm_40b89 + inc hl + ret +.asm_40b89 + ld a, $4f + ld [hli], a + ret + +Function40b8d: ; 40b8d (10:4b8d) + call Function40bd0 + ret nz + inc hl + ld de, String_40b9a + call PlaceString + scf + ret +; 40b9a (10:4b9a) + +String_40b9a: ; 40b9a + db "-----@" +; 40ba0 + +Function40ba0: ; 40ba0 + hlcoord 18, 1 + ld a, $62 + ld [hli], a + inc a + ld [hl], a + hlcoord 18, 2 + ld a, $64 + ld [hli], a + inc a + ld [hl], a + ret +; 40bb1 + + +Function40bb1: ; 40bb1 + ld a, [wc7d1] + ld hl, wc7d0 + add [hl] + ld e, a + ld d, $0 + ld hl, wc6d0 + add hl, de + ld a, [hl] + ld [wd265], a + ret +; 40bc4 + + +Function40bc4: ; 40bc4 (10:4bc4) + push de + push hl + ld a, [wd265] + dec a + call CheckCaughtMon + pop hl + pop de + ret + + +Function40bd0: ; 40bd0 + push de + push hl + ld a, [wd265] + dec a + call CheckSeenMon + pop hl + pop de + ret +; 40bdc + + + +Function40bdc: ; 40bdc + ld hl, wc6d0 + ld bc, $100 + xor a + call ByteFill + ld a, [wc7d4] + ld hl, Jumptable_40bf0 + call Function41432 + jp [hl] +; 40bf0 + + +Jumptable_40bf0: ; 40bf0 (10:4bf0) + dw Function40bf6 + dw Function40c08 + dw Function40c30 + + +Function40bf6: ; 40bf6 (10:4bf6) + ld de, NewPokedexOrder + ld hl, wc6d0 + ld c, NUM_POKEMON +.asm_40bfe + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_40bfe + call Function40c18 + ret + +Function40c08: ; 40c08 (10:4c08) + ld hl, wc6d0 + ld a, $1 + ld c, NUM_POKEMON +.asm_40c0f + ld [hli], a + inc a + dec c + jr nz, .asm_40c0f + call Function40c18 + ret + +Function40c18: ; 40c18 (10:4c18) + ld hl, wc7ca + ld d, NUM_POKEMON + ld e, d +.asm_40c1e + ld a, [hld] + ld [wd265], a + call Function40bd0 + jr nz, .asm_40c2b + dec d + dec e + jr nz, .asm_40c1e +.asm_40c2b + ld a, d + ld [wc7d2], a + ret + +Function40c30: ; 40c30 + xor a + ld [wc7d2], a + ld hl, wc6d0 + ld de, AlphabeticalPokedexOrder + ld c, NUM_POKEMON +.asm_40c3c + push bc + ld a, [de] + ld [wd265], a + call Function40bd0 + jr z, .asm_40c51 + ld a, [wd265] + ld [hli], a + ld a, [wc7d2] + inc a + ld [wc7d2], a + +.asm_40c51 + inc de + pop bc + dec c + jr nz, .asm_40c3c + ld a, [wc7d2] + ld c, 0 +.asm_40c5b + cp NUM_POKEMON + jr z, .asm_40c64 + ld [hl], c + inc hl + inc a + jr .asm_40c5b + +.asm_40c64 + ret +; 40c65 + +AlphabeticalPokedexOrder: ; 0x40c65 +INCLUDE "data/pokedex/order_alpha.asm" + +NewPokedexOrder: ; 0x40d60 +INCLUDE "data/pokedex/order_new.asm" + +Function40e5b: ; 40e5b + xor a + ld [hBGMapMode], a + hlcoord 0, 12 + ld bc, $0412 + call Function40ad5 + ld a, [wc7d8] + ld hl, Unknown_40e7d + call Function41432 + ld e, l + ld d, h + hlcoord 1, 14 + call PlaceString + ld a, $1 + ld [hBGMapMode], a + ret +; 40e7d + +Unknown_40e7d: ; 40e7d + dw String_40e85 + dw String_40ea6 + dw String_40ec6 + dw String_40ee4 +; 40e85 + +String_40e85: ; 40e85 + db $e1, $e2, " are listed by", $4e + db "evolution type.@" +; 40ea6 + +String_40ea6: ; 40ea6 + db $e1, $e2, " are listed by", $4e + db "official type.@" +; 40ec6 + +String_40ec6: ; 40ec6 + db $e1, $e2, " are listed", $4e + db "alphabetically.@" +; 40ee4 + +String_40ee4: ; 40ee4 + db "UNOWN are listed", $4e + db "in catching order.@" +; 40f08 + +Function40f08: ; 40f08 (10:4f08) + xor a + ld [hBGMapMode], a ; $ff00+$d4 + hlcoord 0, 12 + ld bc, $412 + call Function40ad5 + ld de, $4f32 + hlcoord 1, 14 + call PlaceString + ld a, $1 + ld [hBGMapMode], a ; $ff00+$d4 + ld c, $40 + call DelayFrames + ld de, SFX_CHANGE_DEX_MODE + call PlaySFX + ld c, $40 + call DelayFrames + ret +; 40f32 (10:4f32) + +String_40f32: ; 40f32 + db "Changing modes.", $4e, "Please wait.@" +; 40f4f + +Function40f4f: ; 40f4f (10:4f4f) + ld a, [wc7d8] + cp $2 + jr nc, .asm_40f63 + ld hl, $ffa9 + ld a, [hl] + and $20 + jr nz, .asm_40f65 + ld a, [hl] + and $10 + jr nz, Function40f84 +.asm_40f63 + and a + ret +.asm_40f65 + ld a, [wc7d8] + and a + jr nz, .asm_40f76 + ld hl, wc7d5 + ld a, [hl] + cp $1 + jr z, .asm_40f80 + dec [hl] + jr .asm_40f82 +.asm_40f76 + ld hl, wc7d6 + ld a, [hl] + and a + jr z, .asm_40f80 + dec [hl] + jr .asm_40f82 +.asm_40f80 + ld [hl], $11 +.asm_40f82 + scf + ret +; 40f84 + +Function40f84: ; 40f84 + ld a, [wc7d8] + and a + jr nz, .asm_40f99 + ld hl, wc7d5 + ld a, [hl] + cp $11 + jr nc, .asm_40f95 + inc [hl] + jr .asm_40fa6 +.asm_40f95 + ld [hl], $1 + jr .asm_40fa6 +.asm_40f99 + ld hl, wc7d6 + ld a, [hl] + cp $11 + jr nc, .asm_40fa4 + inc [hl] + jr .asm_40fa6 +.asm_40fa4 + ld [hl], $0 +.asm_40fa6 + scf + ret + +Function40fa8: ; 40fa8 (10:4fa8) + xor a + ld [hBGMapMode], a ; $ff00+$d4 + hlcoord 9, 3 + ld bc, $408 + ld a, $7f + call Function413fe + ld a, [wc7d5] + hlcoord 9, 4 + call Function40fcd + ld a, [wc7d6] + hlcoord 9, 6 + call Function40fcd + ld a, $1 + ld [hBGMapMode], a ; $ff00+$d4 + ret + +Function40fcd: ; 40fcd (10:4fcd) + push hl + ld e, a + ld d, 0 + ld hl, Strings_40fe4 + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + ld e, l + ld d, h + pop hl + call PlaceString + ret +; 40fe4 (10:4fe4) + +Strings_40fe4: ; 40fe4 + db " ---- @" + db " NORMAL @" + db " FIRE @" + db " WATER @" + db " GRASS @" + db "ELECTRIC@" + db " ICE @" + db "FIGHTING@" + db " POISON @" + db " GROUND @" + db " FLYING @" + db "PSYCHIC @" + db " BUG @" + db " ROCK @" + db " GHOST @" + db " DRAGON @" + db " DARK @" + db " STEEL @" +; 41086 + +Function41086: ; 41086 + ld a, [wc7d6] + and a + call nz, Function41095 + ld a, [wc7d5] + and a + call nz, Function41095 + ret +; 41095 + +Function41095: ; 41095 + dec a + ld e, a + ld d, 0 + ld hl, Unknown_410f6 + add hl, de + ld a, [hl] + ld [wc7df], a + ld hl, wc6d0 + ld de, wc6d0 + ld c, NUM_POKEMON + xor a + ld [wc7d7], a +.asm_410ad + push bc + ld a, [hl] + and a + jr z, .asm_410e0 + ld [wd265], a + ld [CurSpecies], a + call Function40bc4 + jr z, .asm_410e0 + push hl + push de + call GetBaseData + pop de + pop hl + ld a, [wc7df] + ld b, a + ld a, [BaseType1] + cp b + jr z, .asm_410d4 + ld a, [BaseType2] + cp b + jr nz, .asm_410e0 + +.asm_410d4 + ld a, [wd265] + ld [de], a + inc de + ld a, [wc7d7] + inc a + ld [wc7d7], a + +.asm_410e0 + inc hl + pop bc + dec c + jr nz, .asm_410ad + ld l, e + ld h, d + ld a, [wc7d7] + ld c, 0 +.asm_410ec + cp NUM_POKEMON + jr z, .asm_410f5 + ld [hl], c + inc hl + inc a + jr .asm_410ec + +.asm_410f5 + ret +; 410f6 + +Unknown_410f6: ; 410f6 + db NORMAL + db FIRE + db WATER + db GRASS + db ELECTRIC + db ICE + db FIGHTING + db POISON + db GROUND + db FLYING + db PSYCHIC + db BUG + db ROCK + db GHOST + db DRAGON + db DARK + db STEEL +; 41107 + +Function41107: ; 41107 + xor a + ld [hBGMapMode], a + hlcoord 0, 12 + ld bc, $0412 + call Function40ad5 + ld de, String_41126 + hlcoord 1, 14 + call PlaceString + ld a, $1 + ld [hBGMapMode], a + ld c, $80 + call DelayFrames + ret +; 41126 + +String_41126: ; 41126 + db "The specified type", $4e + db "was not found.@" +; 41148 + +Function41148: ; 41148 (10:5148) + ld a, [wc7d4] + cp $1 + jp z, Function41157 + call Function41229 + call Function4130e + ret + +Function41157: ; 41157 (10:5157) + ld hl, Unknown_41167 + ld a, [wc7d1] + or a + jr nz, .asm_41163 + ld hl, Unknown_411c8 +.asm_41163 + call Function412f1 + ret +; 41167 (10:5167) + +Unknown_41167: ; 41167 +; OAM + db $18, $47, $30, $07 + db $10, $47, $31, $07 + db $10, $4f, $32, $07 + db $10, $57, $32, $07 + db $10, $5f, $32, $07 + db $10, $67, $33, $07 + db $10, $7e, $33, $27 + db $10, $86, $32, $27 + db $10, $8e, $32, $27 + db $10, $96, $32, $27 + db $10, $9e, $31, $27 + db $18, $9e, $30, $27 + db $20, $47, $30, $47 + db $28, $47, $31, $47 + db $28, $4f, $32, $47 + db $28, $57, $32, $47 + db $28, $5f, $32, $47 + db $28, $67, $33, $47 + db $28, $7e, $33, $67 + db $28, $86, $32, $67 + db $28, $8e, $32, $67 + db $28, $96, $32, $67 + db $28, $9e, $31, $67 + db $20, $9e, $30, $67 + db $ff +; 411c8 + +Unknown_411c8: ; 411c8 +; OAM + db $18, $47, $30, $07 + db $10, $47, $34, $07 + db $10, $4f, $35, $07 + db $10, $57, $35, $07 + db $10, $5f, $35, $07 + db $10, $67, $36, $07 + db $10, $7e, $36, $27 + db $10, $86, $35, $27 + db $10, $8e, $35, $27 + db $10, $96, $35, $27 + db $10, $9e, $34, $27 + db $18, $9e, $30, $27 + db $20, $47, $30, $47 + db $28, $47, $31, $47 + db $28, $4f, $32, $47 + db $28, $57, $32, $47 + db $28, $5f, $32, $47 + db $28, $67, $33, $47 + db $28, $7e, $33, $67 + db $28, $86, $32, $67 + db $28, $8e, $32, $67 + db $28, $96, $32, $67 + db $28, $9e, $31, $67 + db $20, $9e, $30, $67 + db $ff +; 41229 + +Function41229: ; 41229 (10:5229) + ld hl, Unknown_41230 + call Function412f1 + ret +; 41230 (10:5230) + +Unknown_41230: ; 41230 +; OAM + db $1b, $47, $30, $07 + db $13, $47, $31, $07 + db $13, $4f, $32, $07 + db $13, $57, $32, $07 + db $13, $5f, $33, $07 + db $13, $80, $33, $27 + db $13, $88, $32, $27 + db $13, $90, $32, $27 + db $13, $98, $31, $27 + db $1b, $98, $30, $27 + db $23, $47, $30, $47 + db $2b, $47, $31, $47 + db $2b, $4f, $32, $47 + db $2b, $57, $32, $47 + db $2b, $5f, $33, $47 + db $2b, $80, $33, $67 + db $2b, $88, $32, $67 + db $2b, $90, $32, $67 + db $2b, $98, $31, $67 + db $23, $98, $30, $67 + db $ff +; 41281 + +Function41281: ; 41281 (10:5281) + ld a, [wc7d4] + cp $1 + jp z, Function41157 + ld hl, Unknown_41290 + call Function412f1 + ret +; 41290 (10:5290) + +Unknown_41290: ; 41290 +; OAM + db $1b, $47, $30, $07 + db $13, $47, $31, $07 + db $13, $4f, $32, $07 + db $13, $57, $32, $07 + db $13, $5f, $32, $07 + db $13, $67, $33, $07 + db $13, $7e, $33, $27 + db $13, $86, $32, $27 + db $13, $8e, $32, $27 + db $13, $96, $32, $27 + db $13, $9e, $31, $27 + db $1b, $9e, $30, $27 + db $23, $47, $30, $47 + db $2b, $47, $31, $47 + db $2b, $4f, $32, $47 + db $2b, $57, $32, $47 + db $2b, $5f, $32, $47 + db $2b, $67, $33, $47 + db $2b, $7e, $33, $67 + db $2b, $86, $32, $67 + db $2b, $8e, $32, $67 + db $2b, $96, $32, $67 + db $2b, $9e, $31, $67 + db $23, $9e, $30, $67 + db $ff +; 412f1 + +Function412f1: ; 412f1 (10:52f1) + ld de, Sprites +.asm_412f4 + ld a, [hl] + cp $ff + ret z + ld a, [wc7d1] + and $7 + swap a + 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 + ld a, [hli] + ld [de], a + inc de + jr .asm_412f4 + +Function4130e: ; 4130e (10:530e) + push de + ld a, [wc7d2] + dec a + ld e, a + ld a, [wc7d1] + ld hl, wc7d0 + add [hl] + cp e + jr z, .asm_4133f + ld hl, $0 + ld bc, $79 + call AddNTimes + ld e, l + ld d, h + ld b, $0 + ld a, d + or e + jr z, .asm_41341 + ld a, [wc7d2] + ld c, a +.asm_41333 + ld a, e + sub c + ld e, a + ld a, d + sbc $0 + ld d, a + jr c, .asm_41341 + inc b + jr .asm_41333 +.asm_4133f + ld b, $79 +.asm_41341 + ld a, $14 + add b + pop hl + ld [hli], a + ld a, $a1 + ld [hli], a + ld a, $f + ld [hli], a + ld [hl], $0 + ret + +Function4134f: ; 4134f (10:534f) + xor a + ld [wc7d8], a + ld [wc7d9], a + ld [wc7da], a + ret + +Function4135a: ; 4135a (10:535a) + ld a, [de] + ld b, a + inc de + ld a, [de] + dec a + ld c, a + inc de + call Function413e0 + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and D_LEFT | D_UP + and b + jr nz, .asm_4138f + ld a, [hl] + and D_RIGHT | D_DOWN + and b + jr nz, .asm_413a0 + ld a, [hl] + and SELECT + and b + jr nz, .asm_413c1 + call Function413f5 + jr c, .asm_413bf + ld hl, $ffa9 + ld a, [hl] + and D_LEFT | D_UP + and b + jr nz, .asm_4138f + ld a, [hl] + and D_RIGHT | D_DOWN + and b + jr nz, .asm_413a0 + jr .asm_413bf +.asm_4138f + ld a, [wc7d8] + and a + jr z, .asm_413bf + call Function413d4 + ld [hl], $7f + ld hl, wc7d8 + dec [hl] + jr .asm_413af +.asm_413a0 + ld a, [wc7d8] + cp c + jr nc, .asm_413bf + call Function413d4 + ld [hl], $7f + ld hl, wc7d8 + inc [hl] +.asm_413af + call Function413d4 + ld [hl], $ed + ld a, $c + ld [wc7d9], a + xor a + ld [wc7da], a + scf + ret +.asm_413bf + and a + ret +.asm_413c1 + call Function413d4 + ld [hl], $7f + ld a, [wc7d8] + cp c + jr c, .asm_413ce + ld a, $ff +.asm_413ce + inc a + ld [wc7d8], a + jr .asm_413af + +Function413d4: ; 413d4 (10:53d4) + ld a, [wc7d8] + add a + ld l, a + ld h, $0 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ret + +Function413e0: ; 413e0 (10:53e0) + ld hl, wc7da + ld a, [hl] + inc [hl] + and $8 + jr z, .asm_413ef + call Function413d4 + ld [hl], $7f + ret +.asm_413ef + call Function413d4 + ld [hl], $ed + ret + +Function413f5: ; 413f5 (10:53f5) + ld hl, wc7d9 + ld a, [hl] + and a + ret z + dec [hl] + scf + ret + +Function413fe: ; 413fe (10:53fe) + jp Functionfb8 + +Function41401: ; 41401 (10:5401) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $5 + ld [rSVBK], a ; $ff00+$70 + ld hl, Unkn1Pals + ld bc, $40 + xor a + call ByteFill + pop af + ld [rSVBK], a ; $ff00+$70 + +Function41415: ; 41415 + ld a, $ff + call DmgToCgbBGPals + ld a, $ff + call Functioncf8 + call DelayFrame + ret + +Function41423: ; 41423 + ld b, a + call GetSGBLayout + +Function41427: ; 41427 + ld a, $e4 + call DmgToCgbBGPals + ld a, $e0 + call Functioncf8 + ret +; 41432 + + +Function41432: ; 41432 + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ret +; 4143b + +Function4143b: ; 4143b + call Function40bb1 + call Function40bd0 + jr z, .asm_4145b + ld a, [wdef4] + ld [UnownLetter], a + ld a, [wd265] + ld [CurPartySpecies], a + call GetBaseData + ld de, VTiles2 + predef GetFrontpic + ret + +.asm_4145b + ld a, $0 + call GetSRAMBank + callba Function1de0d7 + ld hl, VTiles2 + ld de, $a000 + ld c, $31 + ld a, [hROMBank] + ld b, a + call Get2bpp + call CloseSRAM + ret +; 41478 + + +Function41478: ; 41478 (10:5478) + call Function40bb1 + +Function4147b: ; 4147b + ld a, [wd265] + dec a + and $f8 + srl a + srl a + srl a + ld e, 0 + ld d, a + ld a, [wd265] + dec a + and 7 + swap a ; * $10 + ld l, a + ld h, 0 + add hl, de + ld de, Footprints + add hl, de + + push hl + ld e, l + ld d, h + ld hl, $9620 + lb bc, BANK(Footprints), 2 + call Request1bpp + pop hl + + ; Whoever was editing footprints forgot to fix their + ; tile editor. Now each bottom half is 8 tiles off. + ld de, $80 + add hl, de + + ld e, l + ld d, h + ld hl, $9640 + lb bc, BANK(Footprints), 2 + call Request1bpp + + ret +; 414b7 + + +Function414b7: ; 414b7 + call DisableLCD + ld hl, VTiles2 + ld bc, $0310 + xor a + call ByteFill + call Function414fb + call Functione5f + ld hl, $9600 + ld bc, $0200 + call Function41504 + call Function41a24 + jr nz, .asm_414e0 + callba Function1ddf1c + jr .asm_414e9 + +.asm_414e0 + ld hl, PokedexLZ + ld de, $9310 + call Decompress + +.asm_414e9 + ld hl, PokedexSlowpokeLZ + ld de, VTiles0 + call Decompress + ld a, 6 + call SkipMusic + call EnableLCD + ret + +Function414fb: ; 414fb + call Functione51 + ld hl, VTiles1 + ld bc, $0800 + +Function41504: ; 41504 + ld a, [hl] + xor $ff + ld [hli], a + dec bc + ld a, b + or c + jr nz, Function41504 + ret +; 4150e + +PokedexLZ: ; 4150e +INCBIN "gfx/unknown/04150e.2bpp.lz" +; 416b0 + +PokedexSlowpokeLZ: ; 416b0 +INCBIN "gfx/pokedex/slowpoke.2bpp.lz" + +Function41a24: ; 41a24 + ld a, [hCGB] + or a + ret nz + ld a, [hSGB] + dec a + ret +; 41a2c + +Function41a2c: ; 41a2c + ld a, $0 + call GetSRAMBank + ld hl, UnownFont + ld de, $a188 + ld bc, $270 + ld a, BANK(UnownFont) + call FarCopyBytes + ld hl, $a188 + ld bc, $1b0 + call Function41504 + ld de, $a188 + ld hl, $9400 + lb bc, BANK(Function41a2c), $1b + call Request2bpp + call CloseSRAM + ret +; 41a58 + + +Function41a58: ; 41a58 (10:5a58) + ld a, [UnownLetter] + push af + ld a, [wc7dd] + ld e, a + ld d, $0 + ld hl, EndPokedexSeen ; wded9 (aliases: UnownDex) + add hl, de + ld a, [hl] + ld [UnownLetter], a + ld a, UNOWN + ld [CurPartySpecies], a + call GetBaseData + ld de, $9000 + predef GetFrontpic + pop af + ld [UnownLetter], a + ret + diff --git a/main.asm b/main.asm index 372732b0c..e40464ff2 100644 --- a/main.asm +++ b/main.asm @@ -41917,2589 +41917,9 @@ INCLUDE "battle/effect_command_pointers.asm" SECTION "bank10", ROMX, BANK[$10] -Pokedex: ; 40000 - ld a, [hWX] - ld l, a - ld a, [hWY] - ld h, a - push hl - ld a, [hSCX] - push af - ld hl, Options - ld a, [hl] - push af - set NO_TEXT_SCROLL, [hl] - ld a, [VramState] - push af - xor a - ld [VramState], a - ld a, [$ffaa] - push af - ld a, $1 - ld [$ffaa], a +INCLUDE "engine/pokedex.asm" - xor a - ld [$ffde], a - call InitPokedex - call DelayFrame - -.main - call Functiona57 - ld a, [wcf63] - bit 7, a - jr nz, .exit - call Function4010b - call DelayFrame - jr .main - -.exit - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - call ClearSprites - ld a, [wc7d4] - ld [wd959], a - - pop af - ld [$ffaa], a - pop af - ld [VramState], a - pop af - ld [Options], a - pop af - ld [hSCX], a - pop hl - ld a, l - ld [hWX], a - ld a, h - ld [hWY], a - ret -; 40063 - -InitPokedex: ; 40063 - call WhiteBGMap - call ClearSprites - call ClearTileMap - call Function414b7 - - ld hl, wc6d0 - ld bc, $0115 - xor a - call ByteFill - - xor a - ld [wcf63], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - - call Function400a2 - - ld a, [wd959] - ld [wc7d4], a - - call Function40bdc - call Function400b4 - call Function400ed - callba Function1de247 - call Function41af7 - ret -; 400a2 - -Function400a2: ; 400a2 - ld a, [StatusFlags] - bit 1, a - jr nz, .asm_400ae - - xor a - ld [wc7dc], a - ret - -.asm_400ae - ld a, 1 - ld [wc7dc], a - ret -; 400b4 - -Function400b4: ; 400b4 - ld hl, wc6d0 - ld a, [wc2d6] - and a - jr z, .asm_400ec - cp $fc - jr nc, .asm_400ec - - ld b, a - ld a, [wc7d2] - cp $8 - jr c, .asm_400db - - sub $7 - ld c, a -.asm_400cc - ld a, b - cp [hl] - jr z, .asm_400ec - inc hl - ld a, [wc7d0] - inc a - ld [wc7d0], a - dec c - jr nz, .asm_400cc - -.asm_400db - ld c, $7 -.asm_400dd - ld a, b - cp [hl] - jr z, .asm_400ec - inc hl - ld a, [wc7d1] - inc a - ld [wc7d1], a - dec c - jr nz, .asm_400dd - -.asm_400ec - ret -; 400ed - -Function400ed: ; 400ed - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetWorldMapLocation - - cp SPECIAL_MAP - jr nz, .asm_40107 - - ld a, [BackupMapGroup] - ld b, a - ld a, [BackupMapNumber] - ld c, a - call GetWorldMapLocation - -.asm_40107 - ld [wc7e4], a - ret -; 4010b - -Function4010b: ; 4010b - ld a, [wcf63] - ld hl, Jumptable_40115 - call Function41432 - jp [hl] -; 40115 - - -Jumptable_40115: ; 40115 (10:4115) - dw Function4013c - dw Function401ae - dw Function40217 - dw Function40258 - dw Function402aa - dw Function40443 - dw Function40471 - dw Function4039d - dw Function403be - dw Function4050a - dw Function40562 - dw Function405bd - dw Function405df - dw Function40136 - - -Function40131: ; 40131 (10:4131) - ld hl, wcf63 - inc [hl] - ret - -Function40136: ; 40136 (10:4136) - ld hl, wcf63 - set 7, [hl] - ret - -Function4013c: ; 4013c (10:413c) - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call ClearSprites - xor a - ld hl, AttrMap - ld bc, $168 - call ByteFill - callba Function1de171 - hlcoord 0, 17 - ld de, Unknown_407f2 - call Function40acd - ld a, $7 - ld [wc7d3], a - call Function40b0f - call Function41aeb - call Function41af7 - call Function4074c - ld a, $5 - ld [hSCX], a ; $ff00+$cf - ld a, [wc7d4] - cp $1 - ld a, $4a - jr z, .asm_4017b - ld a, $47 - -.asm_4017b - ld [hWX], a ; $ff00+$d1 - xor a - ld [hWY], a ; $ff00+$d2 - call WaitBGMap - call Function41af7 - ld a, $ff - ld [CurPartySpecies], a - ld a, $4 - call Function41423 - call Function41148 - callba Function1de171 - hlcoord 0, 17 - ld de, Unknown_407f2 - call Function40acd - ld a, $7 - ld [wc7d3], a - call Function40b0f - call Function40131 - ret - -Function401ae: ; 401ae (10:41ae) - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and B_BUTTON - jr nz, .b - ld a, [hl] - and A_BUTTON - jr nz, .a - ld a, [hl] - and SELECT - jr nz, .select - ld a, [hl] - and START - jr nz, .start - call Function406c5 - ret nc - call Function41148 - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function40b0f - call Function41ad7 - call Function41af7 - ret - -.a - call Function40bb1 - call Function40bd0 - ret z - ld a, $2 - ld [wcf63], a - ld a, $0 - ld [wcf64], a - ret - -.select - call Function41401 - ld a, $7 - ld [wcf63], a - xor a - ld [hSCX], a ; $ff00+$cf - ld a, $a7 - ld [hWX], a ; $ff00+$d1 - call DelayFrame - ret - -.start - call Function41401 - ld a, $5 - ld [wcf63], a - xor a - ld [hSCX], a ; $ff00+$cf - ld a, $a7 - ld [hWX], a ; $ff00+$d1 - call DelayFrame - ret - -.b - ld a, $d - ld [wcf63], a - ret - -Function40217: ; 40217 (10:4217) - call LowVolume - xor a - ld [wcf65], a - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call ClearSprites - call Function41478 - call Function407fd - call Function4134f - call Function40bb1 - ld [wc2d6], a - callba Function4424d - call Function40ba0 - call WaitBGMap - ld a, $a7 - ld [hWX], a ; $ff00+$d1 - call Function40bb1 - ld [CurPartySpecies], a - ld a, $4 - call Function41423 - ld a, [CurPartySpecies] - call PlayCry - call Function40131 - ret - -Function40258: ; 40258 (10:4258) - ld de, Unknown_402e8 - call Function4135a - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and B_BUTTON - jr nz, .b - ld a, [hl] - and A_BUTTON - jr nz, .a - call Function4066c - ret nc - call Function40131 - ret - -.a - ld a, [wc7d8] - ld hl, Jumptable_402f2 - call Function41432 - jp [hl] - -.b - ld a, [LastVolume] - and a - jr z, .asm_40288 - ld a, $77 - ld [LastVolume], a - -.asm_40288 - call MaxVolume - ld a, [wcf64] - ld [wcf63], a - ret -; 40292 (10:4292) - -Function40292: ; 40292 - ld a, [wcf65] - xor $1 - ld [wcf65], a - call Function40bb1 - ld [wc2d6], a - callba Function4424d - call WaitBGMap - ret -; 402aa - -Function402aa: ; 402aa (10:42aa) - call Function41401 - xor a - ld [wcf65], a - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function407fd - call Function4134f - call Function41478 - call Function40bb1 - ld [wc2d6], a - callba Function4424d - call Function40ba0 - call Function4143b - call WaitBGMap - call Function40bb1 - ld [CurPartySpecies], a - ld a, $4 - call Function41423 - ld a, [CurPartySpecies] - call PlayCry - ld hl, wcf63 - dec [hl] - ret -; 402e8 (10:42e8) - -Unknown_402e8: ; 402e8 - dw $0430 - dwcoord 1, 17 - dwcoord 6, 17 - dwcoord 11, 17 - dwcoord 15, 17 -; 402f2 - -Jumptable_402f2: ; 402f2 - dw Function40292 - dw Function402fa - dw Function40340 - dw Function4034f -; 402fa - -Function402fa: ; 402fa - call Function41401 - xor a - ld [hSCX], a - call DelayFrame - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - call Function40bb1 - ld a, [wc7e4] - ld e, a - predef Function91d11 - call Function41401 - call DelayFrame - xor a - ld [hBGMapMode], a - ld a, $90 - ld [hWY], a - ld a, $5 - ld [hSCX], a - call DelayFrame - call Function4038d - call Function4143b - call WaitBGMap - call Function40bb1 - ld [CurPartySpecies], a - ld a, $4 - call Function41423 - ret -; 40340 - -Function40340: ; 40340 - call Function40bb1 - ld a, [wd265] - call GetCryIndex - ld e, c - ld d, b - call PlayCryHeader - ret -; 4034f - -Function4034f: ; 4034f - call Function41415 - xor a - ld [hSCX], a - ld a, [wcf65] - push af - ld a, [wcf64] - push af - ld a, [wcf63] - push af - callba Function8442c - pop af - ld [wcf63], a - pop af - ld [wcf64], a - pop af - ld [wcf65], a - call WhiteBGMap - call DisableLCD - call Function414fb - call Function4038d - call EnableLCD - call WaitBGMap - ld a, $5 - ld [hSCX], a - call Function41427 - ret -; 4038d - -Function4038d: ; 4038d - call Function407fd - call Function40bb1 - callba Function4424d - call Function40ba0 - ret -; 4039d - -Function4039d: ; 4039d (10:439d) - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call ClearSprites - call Function4087c - call Function4134f - ld a, [wc7d4] - ld [wc7d8], a - call Function40e5b - call WaitBGMap - ld a, $10 - call Function41423 - call Function40131 - ret - -Function403be: ; 403be (10:43be) - ld a, [wc7dc] - and a - jr nz, .asm_403c9 - ld de, Unknown_403f3 - jr .asm_403cc - -.asm_403c9 - ld de, Unknown_403fb -.asm_403cc - call Function4135a - call c, Function40e5b - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and $6 - jr nz, .asm_403ea - ld a, [hl] - and $1 - jr nz, .asm_403e0 - ret - -.asm_403e0 - ld a, [wc7d8] - ld hl, Jumptable_40405 - call Function41432 - jp [hl] - -.asm_403ea - call Function41401 - ld a, $0 - ld [wcf63], a - ret -; 403f3 (10:43f3) - -Unknown_403f3: ; 403f3 - dw $03c0 - dwcoord 2, 4 - dwcoord 2, 6 - dwcoord 2, 8 -; 403fb - -Unknown_403fb: ; 403fb - dw $04c0 - dwcoord 2, 4 - dwcoord 2, 6 - dwcoord 2, 8 - dwcoord 2, 10 -; 40405 - -Jumptable_40405: ; 40405 (10:4405) - dw Function4040d - dw Function40411 - dw Function40415 - dw Function4043a -; 4040d - -Function4040d: ; 4040d (10:440d) - ld b, $0 - jr Function40417 - -Function40411: ; 40411 (10:4411) - ld b, $1 - jr Function40417 - -Function40415: ; 40415 (10:4415) - ld b, $2 -Function40417: ; 40417 (10:4417) - ld a, [wc7d4] - cp b - jr z, .asm_40431 - ld a, b - ld [wc7d4], a - call Function40bdc - call Function40f08 - xor a - ld [wc7d0], a - ld [wc7d1], a - call Function400b4 - -.asm_40431 - call Function41401 - ld a, $0 - ld [wcf63], a - ret - -Function4043a: ; 4043a (10:443a) - call Function41401 - ld a, $b - ld [wcf63], a - ret - -Function40443: ; 40443 (10:4443) - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call ClearSprites - call Function408f0 - call Function4134f - ld a, $1 - ld [wc7d5], a - xor a - ld [wc7d6], a - call Function40fa8 - xor a - ld [wc7db], a - callba Function44207 - call WaitBGMap - ld a, $10 - call Function41423 - call Function40131 - ret - -Function40471: ; 40471 (10:4471) - ld de, Unknown_4049e - call Function4135a - call Function40f4f - call c, Function40fa8 - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and START | B_BUTTON - jr nz, .asm_40495 - ld a, [hl] - and A_BUTTON - jr nz, .asm_4048b - ret - -.asm_4048b - ld a, [wc7d8] - ld hl, Jumptable_404a8 - call Function41432 - jp [hl] - -.asm_40495 - call Function41401 - ld a, $0 - ld [wcf63], a - ret -; 4049e (10:449e) - -Unknown_4049e: ; 4049e - dw $04c0 - dwcoord 2, 4 - dwcoord 2, 6 - dwcoord 2, 13 - dwcoord 2, 15 -; 404a8 - -Jumptable_404a8: ; 404a8 - dw Function404b0 - dw Function404b0 - dw Function404b7 - dw Function40501 -; 404b0 - -Function404b0: ; 404b0 - call Function40f84 - call Function40fa8 - ret -; 404b7 - -Function404b7: ; 404b7 - call Function41086 - callba Function441cf - ld a, [wc7d7] - and a - jr nz, .asm_404dc - call Function40bdc - call Function41107 - xor a - ld [hBGMapMode], a - call Function408f0 - call Function4134f - call Function40fa8 - call WaitBGMap - ret - -.asm_404dc - ld [wc7d2], a - ld a, [wc7d0] - ld [wc7e0], a - ld a, [wc7d1] - ld [wc7e1], a - ld a, [wc2d6] - ld [wcf65], a - xor a - ld [wc7d0], a - ld [wc7d1], a - call Function41401 - ld a, $9 - ld [wcf63], a - ret -; 40501 - -Function40501: ; 40501 - call Function41401 - ld a, $0 - ld [wcf63], a - ret -; 4050a - -Function4050a: ; 4050a (10:450a) - xor a - ld [hBGMapMode], a ; $ff00+$d4 - xor a - ld hl, AttrMap - ld bc, $168 - call ByteFill - call Function41ae1 - call Function41af7 - callba Function1de1d1 - call Function409cf - ld a, $4 - ld [wc7d3], a - call Function40b0f - call Function41ad7 - call Function41af7 - call Function40962 - ld a, $5 - ld [hSCX], a ; $ff00+$cf - ld a, $4a - ld [hWX], a ; $ff00+$d1 - xor a - ld [hWY], a ; $ff00+$d2 - call WaitBGMap - call Function41af7 - callba Function1de1d1 - call Function409cf - call Function41281 - ld a, $ff - ld [CurPartySpecies], a - ld a, $4 - call Function41423 - call Function40131 - ret - -Function40562: ; 40562 (10:4562) - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and B_BUTTON - jr nz, .asm_40595 - ld a, [hl] - and A_BUTTON - jr nz, .asm_40583 - call Function406c5 - ret nc - call Function41281 - xor a - ld [hBGMapMode], a ; $ff00+$d4 - call Function40b0f - call Function41ad7 - call Function41af7 - ret - -.asm_40583 - call Function40bb1 - call Function40bd0 - ret z - ld a, $2 - ld [wcf63], a - ld a, $9 - ld [wcf64], a - ret - -.asm_40595 - ld a, [wc7e0] - ld [wc7d0], a - ld a, [wc7e1] - ld [wc7d1], a - ld a, [wcf65] - ld [wc2d6], a - call Function41401 - call ClearSprites - call Function40bdc - ld a, $5 - ld [wcf63], a - xor a - ld [hSCX], a ; $ff00+$cf - ld a, $a7 - ld [hWX], a ; $ff00+$d1 - ret - -Function405bd: ; 405bd (10:45bd) - call Function41a2c - call Function409f1 - xor a - ld [wc7dd], a - call Function41a58 - call Function40658 - callba Functionfba2e - call WaitBGMap - ld a, $16 - call Function41423 - call Function40131 - ret - -Function405df: ; 405df (10:45df) - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and A_BUTTON | B_BUTTON - jr nz, .asm_405eb - call Function40610 - ret - -.asm_405eb - call Function41401 - ld a, $7 - ld [wcf63], a - call DelayFrame - call Function41a24 - jr nz, .asm_40603 - callba Function1ddf26 - jr .asm_4060f - -.asm_40603 - ld hl, PokedexLZ - ld de, $9310 - lb bc, BANK(PokedexLZ), $3a - call Functione73 - -.asm_4060f - ret - -Function40610: ; 40610 (10:4610) - ld hl, $ffa9 - ld a, [hl] - and D_RIGHT - jr nz, .right - ld a, [hl] - and D_LEFT - jr nz, .left - ret - -.right - ld a, [wc7de] - ld e, a - ld hl, wc7dd - ld a, [hl] - inc a - cp e - ret nc - ld a, [hl] - inc [hl] - jr .asm_40635 - -.left - ld hl, wc7dd - ld a, [hl] - and a - ret z - ld a, [hl] - dec [hl] - -.asm_40635 - push af - xor a - ld [hBGMapMode], a ; $ff00+$d4 - pop af - call Function40654 - call Function41a58 - call Function40658 - callba Functionfba2e - ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 - call DelayFrame - call DelayFrame - ret - -Function40654: ; 40654 (10:4654) - ld c, $7f - jr asm_4065d - -Function40658: ; 40658 (10:4658) - ld a, [wc7dd] - ld c, $5a -asm_4065d: ; 4065d (10:465d) - ld e, a - ld d, 0 - ld hl, Unknown_40a3e + 2 - add hl, de - add hl, de - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld [hl], c - ret - -Function4066c: ; 4066c (10:466c) - ld a, [wc7d1] - ld [wc7e2], a - ld a, [wc7d0] - ld [wc7e3], a - ld hl, $ffa9 - ld a, [hl] - and D_UP - jr nz, .up - ld a, [hl] - and D_DOWN - jr nz, .down - and a - ret - -.up - ld a, [wc7d3] - ld d, a - ld a, [wc7d2] - ld e, a - call Function406ea - jr nc, .asm_406b7 - call Function40bb1 - call Function40bd0 - jr nz, .asm_406b5 - jr .up - -.down - ld a, [wc7d3] - ld d, a - ld a, [wc7d2] - ld e, a - call Function406fe - jr nc, .asm_406b7 - call Function40bb1 - call Function40bd0 - jr nz, .asm_406b5 - jr .down - -.asm_406b5 - scf - ret - -.asm_406b7 - ld a, [wc7e2] - ld [wc7d1], a - ld a, [wc7e3] - ld [wc7d0], a - and a - ret - -Function406c5: ; 406c5 (10:46c5) - ld a, [wc7d3] - ld d, a - ld a, [wc7d2] - ld e, a - ld hl, $ffa9 - ld a, [hl] - and D_UP - jr nz, Function406ea - ld a, [hl] - and D_DOWN - jr nz, Function406fe - ld a, d - cp e - jr nc, asm_4073d - ld a, [hl] - and $20 - jr nz, asm_40716 - ld a, [hl] - and $10 - jr nz, asm_40728 - jr asm_4073d - -Function406ea: ; 406ea (10:46ea) - ld hl, wc7d1 - ld a, [hl] - and a - jr z, .asm_406f4 - dec [hl] - jr asm_4073f -.asm_406f4 - ld hl, wc7d0 - ld a, [hl] - and a - jr z, asm_4073d - dec [hl] - jr asm_4073f - -Function406fe: ; 406fe (10:46fe) - ld hl, wc7d1 - ld a, [hl] - inc a - cp e - jr nc, asm_4073d - cp d - jr nc, .asm_4070c - inc [hl] - jr asm_4073f -.asm_4070c - ld hl, wc7d0 - add [hl] - cp e - jr nc, asm_4073d - inc [hl] - jr asm_4073f -asm_40716: ; 40716 (10:4716) - ld hl, wc7d0 - ld a, [hl] - and a - jr z, asm_4073d - cp d - jr nc, .asm_40724 - xor a - ld [hl], a - jr asm_4073f -.asm_40724 - sub d - ld [hl], a - jr asm_4073f -asm_40728: ; 40728 (10:4728) - ld hl, wc7d0 - ld a, d - add a - add [hl] - jr c, .asm_40733 - cp e - jr c, .asm_40738 -.asm_40733 - ld a, e - sub d - ld [hl], a - jr asm_4073f -.asm_40738 - ld a, [hl] - add d - ld [hl], a - jr asm_4073f -asm_4073d: ; 4073d (10:473d) - and a - ret -asm_4073f: ; 4073f (10:473f) - scf - ret - -Function40741: ; 40741 - push de - ld de, $0014 -.asm_40745 - ld [hl], a - add hl, de - dec b - jr nz, .asm_40745 - pop de - ret -; 4074c - - -Function4074c: ; 4074c (10:474c) - hlcoord 0, 17 - ld de, Unknown_407f2 - call Function40acd - ld a, $32 - ld hl, TileMap - ld bc, $168 - call ByteFill - ld hl, TileMap - lb bc, 7, 7 - call Function40ad5 - hlcoord 0, 9 - ld bc, $607 - call Function40ad5 - hlcoord 1, 11 - ld de, Unknown_407e1 - call Function40acd - ld hl, PokedexSeen ; wdeb9 (aliases: EndPokedexSeen) - ld b, EndPokedexSeen - PokedexSeen - call CountSetBits - ld de, wd265 - hlcoord 5, 12 - ld bc, $103 - call PrintNum - hlcoord 1, 14 - ld de, Unknown_407e6 - call Function40acd - ld hl, PokedexCaught - ld b, EndPokedexCaught - PokedexCaught - call CountSetBits - ld de, wd265 - hlcoord 5, 15 - ld bc, $103 - call PrintNum - hlcoord 1, 17 - ld de, Unknown_407ea - call Function40acd - hlcoord 8, 1 - ld b, $7 - ld a, $5a - call Function40741 - hlcoord 8, 10 - ld b, $6 - ld a, $5a - call Function40741 - hlcoord 8, 0 - ld [hl], $59 - hlcoord 8, 8 - ld [hl], $53 - hlcoord 8, 9 - ld [hl], $54 - hlcoord 8, 16 - ld [hl], $5b - call Function40ab2 - ret -; 407e1 (10:47e1) - -Unknown_407e1: ; 407e1 - db "SEEN", $ff -Unknown_407e6: ; 407e6 - db "OWN", $ff -Unknown_407ea: ; 407ea - db $3b, $48, $49, $4a, $44, $45, $46, $47 ; SELECT > OPTION -Unknown_407f2: ; 407f2 - db $3c, $3b, $41, $42, $43, $4b, $4c, $4d, $4e, $3c, $ff ; START > SEARCH -; 407fd - -Function407fd: ; 407fd - call Function40aa6 - ld hl, TileMap - ld bc, $0f12 - call Function40ad5 - hlcoord 19, 0 - ld [hl], $34 - hlcoord 19, 1 - ld a, $7f - ld b, $f - call Function40741 - ld [hl], $39 - hlcoord 1, 10 - ld bc, $0013 - ld a, $61 - call ByteFill - hlcoord 1, 17 - ld bc, $0012 - ld a, $7f - call ByteFill - hlcoord 9, 7 - ld de, Unknown_40852 - call Function40acd - hlcoord 9, 9 - ld de, Unknown_4085c - call Function40acd - hlcoord 0, 17 - ld de, Unknown_40867 - call Function40acd - call Function40ab2 - ret -; 4084f - -Unknown_4084f: ; 4084f - db $5c, $5d, $ff ; No. -Unknown_40852: ; 40852 - db "HT ?", $5e, "??", $5f, $ff ; HT ?'??" -Unknown_4085c: ; 4085c - db "WT ???lb", $ff ; WT ???lb -Unknown_40867: ; 40867 - db $3b, " PAGE AREA CRY PRNT", $ff -; 4087c - -Function4087c: ; 4087c (10:487c) - call Function40aa6 - hlcoord 0, 2 - lb bc, 8, 18 - call Function40ad5 - hlcoord 0, 12 - lb bc, 4, 18 - call Function40ad5 - hlcoord 0, 1 - ld de, Unknown_408b2 - call Function40acd - hlcoord 3, 4 - ld de, String_408bd - call PlaceString - ld a, [wc7dc] - and a - ret z - hlcoord 3, 10 - ld de, String_408e5 - call PlaceString - ret -; 408b2 (10:48b2) - -Unknown_408b2: ; 408b2 - db $3b, " OPTION ", $3c, $ff -; 408bd - -String_408bd: ; 408bd - db "NEW #DEX MODE", $4e - db "OLD #DEX MODE", $4e - db "A to Z MODE@" -; 408e5 - -String_408e5: ; 408e5 - db "UNOWN MODE@" -; 408f0 - -Function408f0: ; 408f0 (10:48f0) - call Function40aa6 - hlcoord 0, 2 - lb bc, 14, 18 - call Function40ad5 - hlcoord 0, 1 - ld de, Unknown_4092a - call Function40acd - hlcoord 8, 4 - ld de, Unknown_40935 - call Function40acd - hlcoord 8, 6 - ld de, Unknown_40935 - call Function40acd - hlcoord 3, 4 - ld de, String_40940 - call PlaceString - hlcoord 3, 13 - ld de, String_4094c - call PlaceString - ret -; 4092a (10:492a) - -Unknown_4092a: ; 4092a - db $3b, " SEARCH ", $3c, $ff -; 40925 - -Unknown_40935: ; 40935 - db $3d, " ", $3e, $ff -; 40940 - -String_40940: ; 40940 - db "TYPE1" - next "TYPE2" - db "@" -; 4094c - -String_4094c: ; 4094c - db "BEGIN SEARCH!!" - next "CANCEL" - db "@" -; 40962 - -Function40962: ; 40962 (10:4962) - call Function40aa6 - ld hl, TileMap - lb bc, 7, 7 - call Function40ad5 - hlcoord 0, 11 - lb bc, 5, 18 - call Function40ad5 - hlcoord 1, 12 - ld de, String_409ae - call PlaceString - ld de, wc7d7 - hlcoord 1, 16 - ld bc, $103 - call PrintNum - hlcoord 8, 0 - ld [hl], $59 - hlcoord 8, 1 - ld b, $7 - ld a, $5a - call Function40741 - hlcoord 8, 8 - ld [hl], $53 - hlcoord 8, 9 - ld [hl], $69 - hlcoord 8, 10 - ld [hl], $6a - call Function40ab2 - ret -; 409ae (10:49ae) - -String_409ae: ; 409ae - db "SEARCH RESULTS" - next " TYPE" - next " FOUND!" - db "@" -; 409cf - -Function409cf: ; 409cf (10:49cf) - ld a, [wc7d5] - hlcoord 0, 14 - call Function40fcd - ld a, [wc7d5] - ld b, a - ld a, [wc7d6] - and a - jr z, .asm_409f0 - cp b - jr z, .asm_409f0 - hlcoord 2, 15 - call Function40fcd - hlcoord 1, 15 - ld [hl], $f3 -.asm_409f0 - ret - -Function409f1: ; 409f1 (10:49f1) - call Function40aa6 - hlcoord 2, 1 - lb bc, 10, 13 - call Function40ad5 - hlcoord 2, 14 - lb bc, 1, 13 - call Function40ad5 - hlcoord 2, 15 - ld [hl], $3d - hlcoord 16, 15 - ld [hl], $3e - hlcoord 6, 5 - call Function40ab5 - ld de, 0 - ld b, 0 - ld c, 26 -.asm_40a1d - ld hl, UnownDex - add hl, de - ld a, [hl] - and a - jr z, .asm_40a39 - push af - ld hl, Unknown_40a3e - add hl, de - add hl, de - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - pop af - add $3f - ld [hl], a - inc de - inc b - dec c - jr nz, .asm_40a1d -.asm_40a39 - ld a, b - ld [wc7de], a - ret -; 40a3e (10:4a3e) - -Unknown_40a3e: ; 40a3e - dwcoord 4,11, 3,11 - dwcoord 4,10, 3,10 - dwcoord 4, 9, 3, 9 - dwcoord 4, 8, 3, 8 - dwcoord 4, 7, 3, 7 - dwcoord 4, 6, 3, 6 - dwcoord 4, 5, 3, 5 - dwcoord 4, 4, 3, 4 - dwcoord 4, 3, 3, 2 - dwcoord 5, 3, 5, 2 - dwcoord 6, 3, 6, 2 - dwcoord 7, 3, 7, 2 - dwcoord 8, 3, 8, 2 - dwcoord 9, 3, 9, 2 - dwcoord 10, 3, 10, 2 - dwcoord 11, 3, 11, 2 - dwcoord 12, 3, 12, 2 - dwcoord 13, 3, 13, 2 - dwcoord 14, 3, 15, 2 - dwcoord 14, 4, 15, 4 - dwcoord 14, 5, 15, 5 - dwcoord 14, 6, 15, 6 - dwcoord 14, 7, 15, 7 - dwcoord 14, 8, 15, 8 - dwcoord 14, 9, 15, 9 - dwcoord 14,10, 15,10 -; 40aa6 - -Function40aa6: ; 40aa6 - ld hl, TileMap - ld a, $32 - ld bc, $0168 - call ByteFill - ret -; 40ab2 - -Function40ab2: ; 40ab2 - hlcoord 1, 1 -Function40ab5: ; 40ab5 - xor a - ld b, $7 -.asm_40ab8 - ld c, $7 - push af - push hl -.asm_40abc - ld [hli], a - add $7 - dec c - jr nz, .asm_40abc - pop hl - ld de, $0014 - add hl, de - pop af - inc a - dec b - jr nz, .asm_40ab8 - ret -; 40acd - -Function40acd: ; 40acd -.asm_40acd - ld a, [de] - cp $ff - ret z - inc de - ld [hli], a - jr .asm_40acd -; 40ad5 - - -Function40ad5: ; 40ad5 - push hl - ld a, $33 - ld [hli], a - ld d, $34 - call Function40b06 - ld a, $35 - ld [hl], a - pop hl - ld de, $0014 - add hl, de -.asm_40ae6 - push hl - ld a, $36 - ld [hli], a - ld d, $7f - call Function40b06 - ld a, $37 - ld [hl], a - pop hl - ld de, $0014 - add hl, de - dec b - jr nz, .asm_40ae6 - ld a, $38 - ld [hli], a - ld d, $39 - call Function40b06 - ld a, $3a - ld [hl], a - ret -; 40b06 - -Function40b06: ; 40b06 - ld e, c -.asm_40b07 - ld a, e - and a - ret z - ld a, d - ld [hli], a - dec e - jr .asm_40b07 -; 40b0f - - -Function40b0f: ; 40b0f (10:4b0f) - ld a, [wc7d4] - cp $1 - jr z, .asm_40b1a - ld c, $b - jr .asm_40b1c -.asm_40b1a - ld c, $b -.asm_40b1c - hlcoord 0, 1 - ld a, [wc7d3] - add a - inc a - ld b, a - ld a, $7f - call Function413fe - ld a, [wc7d0] - ld e, a - ld d, $0 - ld hl, wc6d0 - add hl, de - ld e, l - ld d, h - hlcoord 0, 2 - ld a, [wc7d3] -.asm_40b3c - push af - ld a, [de] - ld [wd265], a - push de - push hl - call Function40b55 - pop hl - ld de, $28 - add hl, de - pop de - inc de - pop af - dec a - jr nz, .asm_40b3c - call Function4143b - ret - -Function40b55: ; 40b55 (10:4b55) - and a - ret z - call Function40b6a - call Function40b8d - ret c - call Function40b82 - push hl - call GetPokemonName - pop hl - call PlaceString - ret - -Function40b6a: ; 40b6a (10:4b6a) - ld a, [wc7d4] - cp $1 - jr z, .asm_40b72 - ret -.asm_40b72 - push hl - ld de, -20 - add hl, de - ld de, wd265 - ld bc, $8103 - call PrintNum - pop hl - ret - -Function40b82: ; 40b82 (10:4b82) - call Function40bc4 - jr nz, .asm_40b89 - inc hl - ret -.asm_40b89 - ld a, $4f - ld [hli], a - ret - -Function40b8d: ; 40b8d (10:4b8d) - call Function40bd0 - ret nz - inc hl - ld de, String_40b9a - call PlaceString - scf - ret -; 40b9a (10:4b9a) - -String_40b9a: ; 40b9a - db "-----@" -; 40ba0 - -Function40ba0: ; 40ba0 - hlcoord 18, 1 - ld a, $62 - ld [hli], a - inc a - ld [hl], a - hlcoord 18, 2 - ld a, $64 - ld [hli], a - inc a - ld [hl], a - ret -; 40bb1 - - -Function40bb1: ; 40bb1 - ld a, [wc7d1] - ld hl, wc7d0 - add [hl] - ld e, a - ld d, $0 - ld hl, wc6d0 - add hl, de - ld a, [hl] - ld [wd265], a - ret -; 40bc4 - - -Function40bc4: ; 40bc4 (10:4bc4) - push de - push hl - ld a, [wd265] - dec a - call CheckCaughtMon - pop hl - pop de - ret - - -Function40bd0: ; 40bd0 - push de - push hl - ld a, [wd265] - dec a - call CheckSeenMon - pop hl - pop de - ret -; 40bdc - - - -Function40bdc: ; 40bdc - ld hl, wc6d0 - ld bc, $100 - xor a - call ByteFill - ld a, [wc7d4] - ld hl, Jumptable_40bf0 - call Function41432 - jp [hl] -; 40bf0 - - -Jumptable_40bf0: ; 40bf0 (10:4bf0) - dw Function40bf6 - dw Function40c08 - dw Function40c30 - - -Function40bf6: ; 40bf6 (10:4bf6) - ld de, NewPokedexOrder - ld hl, wc6d0 - ld c, NUM_POKEMON -.asm_40bfe - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .asm_40bfe - call Function40c18 - ret - -Function40c08: ; 40c08 (10:4c08) - ld hl, wc6d0 - ld a, $1 - ld c, NUM_POKEMON -.asm_40c0f - ld [hli], a - inc a - dec c - jr nz, .asm_40c0f - call Function40c18 - ret - -Function40c18: ; 40c18 (10:4c18) - ld hl, wc7ca - ld d, NUM_POKEMON - ld e, d -.asm_40c1e - ld a, [hld] - ld [wd265], a - call Function40bd0 - jr nz, .asm_40c2b - dec d - dec e - jr nz, .asm_40c1e -.asm_40c2b - ld a, d - ld [wc7d2], a - ret - -Function40c30: ; 40c30 - xor a - ld [wc7d2], a - ld hl, wc6d0 - ld de, AlphabeticalPokedexOrder - ld c, NUM_POKEMON -.asm_40c3c - push bc - ld a, [de] - ld [wd265], a - call Function40bd0 - jr z, .asm_40c51 - ld a, [wd265] - ld [hli], a - ld a, [wc7d2] - inc a - ld [wc7d2], a - -.asm_40c51 - inc de - pop bc - dec c - jr nz, .asm_40c3c - ld a, [wc7d2] - ld c, 0 -.asm_40c5b - cp NUM_POKEMON - jr z, .asm_40c64 - ld [hl], c - inc hl - inc a - jr .asm_40c5b - -.asm_40c64 - ret -; 40c65 - -AlphabeticalPokedexOrder: ; 0x40c65 -INCLUDE "data/pokedex/order_alpha.asm" - -NewPokedexOrder: ; 0x40d60 -INCLUDE "data/pokedex/order_new.asm" - -Function40e5b: ; 40e5b - xor a - ld [hBGMapMode], a - hlcoord 0, 12 - ld bc, $0412 - call Function40ad5 - ld a, [wc7d8] - ld hl, Unknown_40e7d - call Function41432 - ld e, l - ld d, h - hlcoord 1, 14 - call PlaceString - ld a, $1 - ld [hBGMapMode], a - ret -; 40e7d - -Unknown_40e7d: ; 40e7d - dw String_40e85 - dw String_40ea6 - dw String_40ec6 - dw String_40ee4 -; 40e85 - -String_40e85: ; 40e85 - db $e1, $e2, " are listed by", $4e - db "evolution type.@" -; 40ea6 - -String_40ea6: ; 40ea6 - db $e1, $e2, " are listed by", $4e - db "official type.@" -; 40ec6 - -String_40ec6: ; 40ec6 - db $e1, $e2, " are listed", $4e - db "alphabetically.@" -; 40ee4 - -String_40ee4: ; 40ee4 - db "UNOWN are listed", $4e - db "in catching order.@" -; 40f08 - -Function40f08: ; 40f08 (10:4f08) - xor a - ld [hBGMapMode], a ; $ff00+$d4 - hlcoord 0, 12 - ld bc, $412 - call Function40ad5 - ld de, $4f32 - hlcoord 1, 14 - call PlaceString - ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 - ld c, $40 - call DelayFrames - ld de, SFX_CHANGE_DEX_MODE - call PlaySFX - ld c, $40 - call DelayFrames - ret -; 40f32 (10:4f32) - -String_40f32: ; 40f32 - db "Changing modes.", $4e, "Please wait.@" -; 40f4f - -Function40f4f: ; 40f4f (10:4f4f) - ld a, [wc7d8] - cp $2 - jr nc, .asm_40f63 - ld hl, $ffa9 - ld a, [hl] - and $20 - jr nz, .asm_40f65 - ld a, [hl] - and $10 - jr nz, Function40f84 -.asm_40f63 - and a - ret -.asm_40f65 - ld a, [wc7d8] - and a - jr nz, .asm_40f76 - ld hl, wc7d5 - ld a, [hl] - cp $1 - jr z, .asm_40f80 - dec [hl] - jr .asm_40f82 -.asm_40f76 - ld hl, wc7d6 - ld a, [hl] - and a - jr z, .asm_40f80 - dec [hl] - jr .asm_40f82 -.asm_40f80 - ld [hl], $11 -.asm_40f82 - scf - ret -; 40f84 - -Function40f84: ; 40f84 - ld a, [wc7d8] - and a - jr nz, .asm_40f99 - ld hl, wc7d5 - ld a, [hl] - cp $11 - jr nc, .asm_40f95 - inc [hl] - jr .asm_40fa6 -.asm_40f95 - ld [hl], $1 - jr .asm_40fa6 -.asm_40f99 - ld hl, wc7d6 - ld a, [hl] - cp $11 - jr nc, .asm_40fa4 - inc [hl] - jr .asm_40fa6 -.asm_40fa4 - ld [hl], $0 -.asm_40fa6 - scf - ret - -Function40fa8: ; 40fa8 (10:4fa8) - xor a - ld [hBGMapMode], a ; $ff00+$d4 - hlcoord 9, 3 - ld bc, $408 - ld a, $7f - call Function413fe - ld a, [wc7d5] - hlcoord 9, 4 - call Function40fcd - ld a, [wc7d6] - hlcoord 9, 6 - call Function40fcd - ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 - ret - -Function40fcd: ; 40fcd (10:4fcd) - push hl - ld e, a - ld d, 0 - ld hl, Strings_40fe4 - add hl, de - add hl, de - add hl, de - add hl, de - add hl, de - add hl, de - add hl, de - add hl, de - add hl, de - ld e, l - ld d, h - pop hl - call PlaceString - ret -; 40fe4 (10:4fe4) - -Strings_40fe4: ; 40fe4 - db " ---- @" - db " NORMAL @" - db " FIRE @" - db " WATER @" - db " GRASS @" - db "ELECTRIC@" - db " ICE @" - db "FIGHTING@" - db " POISON @" - db " GROUND @" - db " FLYING @" - db "PSYCHIC @" - db " BUG @" - db " ROCK @" - db " GHOST @" - db " DRAGON @" - db " DARK @" - db " STEEL @" -; 41086 - -Function41086: ; 41086 - ld a, [wc7d6] - and a - call nz, Function41095 - ld a, [wc7d5] - and a - call nz, Function41095 - ret -; 41095 - -Function41095: ; 41095 - dec a - ld e, a - ld d, 0 - ld hl, Unknown_410f6 - add hl, de - ld a, [hl] - ld [wc7df], a - ld hl, wc6d0 - ld de, wc6d0 - ld c, NUM_POKEMON - xor a - ld [wc7d7], a -.asm_410ad - push bc - ld a, [hl] - and a - jr z, .asm_410e0 - ld [wd265], a - ld [CurSpecies], a - call Function40bc4 - jr z, .asm_410e0 - push hl - push de - call GetBaseData - pop de - pop hl - ld a, [wc7df] - ld b, a - ld a, [BaseType1] - cp b - jr z, .asm_410d4 - ld a, [BaseType2] - cp b - jr nz, .asm_410e0 - -.asm_410d4 - ld a, [wd265] - ld [de], a - inc de - ld a, [wc7d7] - inc a - ld [wc7d7], a - -.asm_410e0 - inc hl - pop bc - dec c - jr nz, .asm_410ad - ld l, e - ld h, d - ld a, [wc7d7] - ld c, 0 -.asm_410ec - cp NUM_POKEMON - jr z, .asm_410f5 - ld [hl], c - inc hl - inc a - jr .asm_410ec - -.asm_410f5 - ret -; 410f6 - -Unknown_410f6: ; 410f6 - db NORMAL - db FIRE - db WATER - db GRASS - db ELECTRIC - db ICE - db FIGHTING - db POISON - db GROUND - db FLYING - db PSYCHIC - db BUG - db ROCK - db GHOST - db DRAGON - db DARK - db STEEL -; 41107 - -Function41107: ; 41107 - xor a - ld [hBGMapMode], a - hlcoord 0, 12 - ld bc, $0412 - call Function40ad5 - ld de, String_41126 - hlcoord 1, 14 - call PlaceString - ld a, $1 - ld [hBGMapMode], a - ld c, $80 - call DelayFrames - ret -; 41126 - -String_41126: ; 41126 - db "The specified type", $4e - db "was not found.@" -; 41148 - -Function41148: ; 41148 (10:5148) - ld a, [wc7d4] - cp $1 - jp z, Function41157 - call Function41229 - call Function4130e - ret - -Function41157: ; 41157 (10:5157) - ld hl, Unknown_41167 - ld a, [wc7d1] - or a - jr nz, .asm_41163 - ld hl, Unknown_411c8 -.asm_41163 - call Function412f1 - ret -; 41167 (10:5167) - -Unknown_41167: ; 41167 -; OAM - db $18, $47, $30, $07 - db $10, $47, $31, $07 - db $10, $4f, $32, $07 - db $10, $57, $32, $07 - db $10, $5f, $32, $07 - db $10, $67, $33, $07 - db $10, $7e, $33, $27 - db $10, $86, $32, $27 - db $10, $8e, $32, $27 - db $10, $96, $32, $27 - db $10, $9e, $31, $27 - db $18, $9e, $30, $27 - db $20, $47, $30, $47 - db $28, $47, $31, $47 - db $28, $4f, $32, $47 - db $28, $57, $32, $47 - db $28, $5f, $32, $47 - db $28, $67, $33, $47 - db $28, $7e, $33, $67 - db $28, $86, $32, $67 - db $28, $8e, $32, $67 - db $28, $96, $32, $67 - db $28, $9e, $31, $67 - db $20, $9e, $30, $67 - db $ff -; 411c8 - -Unknown_411c8: ; 411c8 -; OAM - db $18, $47, $30, $07 - db $10, $47, $34, $07 - db $10, $4f, $35, $07 - db $10, $57, $35, $07 - db $10, $5f, $35, $07 - db $10, $67, $36, $07 - db $10, $7e, $36, $27 - db $10, $86, $35, $27 - db $10, $8e, $35, $27 - db $10, $96, $35, $27 - db $10, $9e, $34, $27 - db $18, $9e, $30, $27 - db $20, $47, $30, $47 - db $28, $47, $31, $47 - db $28, $4f, $32, $47 - db $28, $57, $32, $47 - db $28, $5f, $32, $47 - db $28, $67, $33, $47 - db $28, $7e, $33, $67 - db $28, $86, $32, $67 - db $28, $8e, $32, $67 - db $28, $96, $32, $67 - db $28, $9e, $31, $67 - db $20, $9e, $30, $67 - db $ff -; 41229 - -Function41229: ; 41229 (10:5229) - ld hl, Unknown_41230 - call Function412f1 - ret -; 41230 (10:5230) - -Unknown_41230: ; 41230 -; OAM - db $1b, $47, $30, $07 - db $13, $47, $31, $07 - db $13, $4f, $32, $07 - db $13, $57, $32, $07 - db $13, $5f, $33, $07 - db $13, $80, $33, $27 - db $13, $88, $32, $27 - db $13, $90, $32, $27 - db $13, $98, $31, $27 - db $1b, $98, $30, $27 - db $23, $47, $30, $47 - db $2b, $47, $31, $47 - db $2b, $4f, $32, $47 - db $2b, $57, $32, $47 - db $2b, $5f, $33, $47 - db $2b, $80, $33, $67 - db $2b, $88, $32, $67 - db $2b, $90, $32, $67 - db $2b, $98, $31, $67 - db $23, $98, $30, $67 - db $ff -; 41281 - -Function41281: ; 41281 (10:5281) - ld a, [wc7d4] - cp $1 - jp z, Function41157 - ld hl, Unknown_41290 - call Function412f1 - ret -; 41290 (10:5290) - -Unknown_41290: ; 41290 -; OAM - db $1b, $47, $30, $07 - db $13, $47, $31, $07 - db $13, $4f, $32, $07 - db $13, $57, $32, $07 - db $13, $5f, $32, $07 - db $13, $67, $33, $07 - db $13, $7e, $33, $27 - db $13, $86, $32, $27 - db $13, $8e, $32, $27 - db $13, $96, $32, $27 - db $13, $9e, $31, $27 - db $1b, $9e, $30, $27 - db $23, $47, $30, $47 - db $2b, $47, $31, $47 - db $2b, $4f, $32, $47 - db $2b, $57, $32, $47 - db $2b, $5f, $32, $47 - db $2b, $67, $33, $47 - db $2b, $7e, $33, $67 - db $2b, $86, $32, $67 - db $2b, $8e, $32, $67 - db $2b, $96, $32, $67 - db $2b, $9e, $31, $67 - db $23, $9e, $30, $67 - db $ff -; 412f1 - -Function412f1: ; 412f1 (10:52f1) - ld de, Sprites -.asm_412f4 - ld a, [hl] - cp $ff - ret z - ld a, [wc7d1] - and $7 - swap a - 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 - ld a, [hli] - ld [de], a - inc de - jr .asm_412f4 - -Function4130e: ; 4130e (10:530e) - push de - ld a, [wc7d2] - dec a - ld e, a - ld a, [wc7d1] - ld hl, wc7d0 - add [hl] - cp e - jr z, .asm_4133f - ld hl, $0 - ld bc, $79 - call AddNTimes - ld e, l - ld d, h - ld b, $0 - ld a, d - or e - jr z, .asm_41341 - ld a, [wc7d2] - ld c, a -.asm_41333 - ld a, e - sub c - ld e, a - ld a, d - sbc $0 - ld d, a - jr c, .asm_41341 - inc b - jr .asm_41333 -.asm_4133f - ld b, $79 -.asm_41341 - ld a, $14 - add b - pop hl - ld [hli], a - ld a, $a1 - ld [hli], a - ld a, $f - ld [hli], a - ld [hl], $0 - ret - -Function4134f: ; 4134f (10:534f) - xor a - ld [wc7d8], a - ld [wc7d9], a - ld [wc7da], a - ret - -Function4135a: ; 4135a (10:535a) - ld a, [de] - ld b, a - inc de - ld a, [de] - dec a - ld c, a - inc de - call Function413e0 - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and D_LEFT | D_UP - and b - jr nz, .asm_4138f - ld a, [hl] - and D_RIGHT | D_DOWN - and b - jr nz, .asm_413a0 - ld a, [hl] - and SELECT - and b - jr nz, .asm_413c1 - call Function413f5 - jr c, .asm_413bf - ld hl, $ffa9 - ld a, [hl] - and D_LEFT | D_UP - and b - jr nz, .asm_4138f - ld a, [hl] - and D_RIGHT | D_DOWN - and b - jr nz, .asm_413a0 - jr .asm_413bf -.asm_4138f - ld a, [wc7d8] - and a - jr z, .asm_413bf - call Function413d4 - ld [hl], $7f - ld hl, wc7d8 - dec [hl] - jr .asm_413af -.asm_413a0 - ld a, [wc7d8] - cp c - jr nc, .asm_413bf - call Function413d4 - ld [hl], $7f - ld hl, wc7d8 - inc [hl] -.asm_413af - call Function413d4 - ld [hl], $ed - ld a, $c - ld [wc7d9], a - xor a - ld [wc7da], a - scf - ret -.asm_413bf - and a - ret -.asm_413c1 - call Function413d4 - ld [hl], $7f - ld a, [wc7d8] - cp c - jr c, .asm_413ce - ld a, $ff -.asm_413ce - inc a - ld [wc7d8], a - jr .asm_413af - -Function413d4: ; 413d4 (10:53d4) - ld a, [wc7d8] - add a - ld l, a - ld h, $0 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ret - -Function413e0: ; 413e0 (10:53e0) - ld hl, wc7da - ld a, [hl] - inc [hl] - and $8 - jr z, .asm_413ef - call Function413d4 - ld [hl], $7f - ret -.asm_413ef - call Function413d4 - ld [hl], $ed - ret - -Function413f5: ; 413f5 (10:53f5) - ld hl, wc7d9 - ld a, [hl] - and a - ret z - dec [hl] - scf - ret - -Function413fe: ; 413fe (10:53fe) - jp Functionfb8 - -Function41401: ; 41401 (10:5401) - ld a, [rSVBK] ; $ff00+$70 - push af - ld a, $5 - ld [rSVBK], a ; $ff00+$70 - ld hl, Unkn1Pals - ld bc, $40 - xor a - call ByteFill - pop af - ld [rSVBK], a ; $ff00+$70 - -Function41415: ; 41415 - ld a, $ff - call DmgToCgbBGPals - ld a, $ff - call Functioncf8 - call DelayFrame - ret - -Function41423: ; 41423 - ld b, a - call GetSGBLayout - -Function41427: ; 41427 - ld a, $e4 - call DmgToCgbBGPals - ld a, $e0 - call Functioncf8 - ret -; 41432 - - -Function41432: ; 41432 - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ret -; 4143b - -Function4143b: ; 4143b - call Function40bb1 - call Function40bd0 - jr z, .asm_4145b - ld a, [wdef4] - ld [UnownLetter], a - ld a, [wd265] - ld [CurPartySpecies], a - call GetBaseData - ld de, VTiles2 - predef GetFrontpic - ret - -.asm_4145b - ld a, $0 - call GetSRAMBank - callba Function1de0d7 - ld hl, VTiles2 - ld de, $a000 - ld c, $31 - ld a, [hROMBank] - ld b, a - call Get2bpp - call CloseSRAM - ret -; 41478 - - -Function41478: ; 41478 (10:5478) - call Function40bb1 - -Function4147b: ; 4147b - ld a, [wd265] - dec a - and $f8 - srl a - srl a - srl a - ld e, 0 - ld d, a - ld a, [wd265] - dec a - and 7 - swap a ; * $10 - ld l, a - ld h, 0 - add hl, de - ld de, Footprints - add hl, de - - push hl - ld e, l - ld d, h - ld hl, $9620 - lb bc, BANK(Footprints), 2 - call Request1bpp - pop hl - - ; Whoever was editing footprints forgot to fix their - ; tile editor. Now each bottom half is 8 tiles off. - ld de, $80 - add hl, de - - ld e, l - ld d, h - ld hl, $9640 - lb bc, BANK(Footprints), 2 - call Request1bpp - - ret -; 414b7 - - -Function414b7: ; 414b7 - call DisableLCD - ld hl, VTiles2 - ld bc, $0310 - xor a - call ByteFill - call Function414fb - call Functione5f - ld hl, $9600 - ld bc, $0200 - call Function41504 - call Function41a24 - jr nz, .asm_414e0 - callba Function1ddf1c - jr .asm_414e9 - -.asm_414e0 - ld hl, PokedexLZ - ld de, $9310 - call Decompress - -.asm_414e9 - ld hl, PokedexSlowpokeLZ - ld de, VTiles0 - call Decompress - ld a, 6 - call SkipMusic - call EnableLCD - ret - -Function414fb: ; 414fb - call Functione51 - ld hl, VTiles1 - ld bc, $0800 - -Function41504: ; 41504 - ld a, [hl] - xor $ff - ld [hli], a - dec bc - ld a, b - or c - jr nz, Function41504 - ret -; 4150e - -PokedexLZ: ; 4150e -INCBIN "gfx/unknown/04150e.2bpp.lz" -; 416b0 - -PokedexSlowpokeLZ: ; 416b0 -INCBIN "gfx/pokedex/slowpoke.2bpp.lz" - -Function41a24: ; 41a24 - ld a, [hCGB] - or a - ret nz - ld a, [hSGB] - dec a - ret -; 41a2c - -Function41a2c: ; 41a2c - ld a, $0 - call GetSRAMBank - ld hl, UnownFont - ld de, $a188 - ld bc, $270 - ld a, BANK(UnownFont) - call FarCopyBytes - ld hl, $a188 - ld bc, $1b0 - call Function41504 - ld de, $a188 - ld hl, $9400 - lb bc, BANK(Function41a2c), $1b - call Request2bpp - call CloseSRAM - ret -; 41a58 - - -Function41a58: ; 41a58 (10:5a58) - ld a, [UnownLetter] - push af - ld a, [wc7dd] - ld e, a - ld d, $0 - ld hl, EndPokedexSeen ; wded9 (aliases: UnownDex) - add hl, de - ld a, [hl] - ld [UnownLetter], a - ld a, UNOWN - ld [CurPartySpecies], a - call GetBaseData - ld de, $9000 - predef GetFrontpic - pop af - ld [UnownLetter], a - ret Function41a7f: ; 41a7f xor a From 3977bd6208b203b0e17fdac501ed13c5aed31a57 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 13:45:33 -0800 Subject: [PATCH 08/20] Split out map triggers. --- engine/map_triggers.asm | 91 +++++++++++++++++++++++++++++++++++++++++ main.asm | 91 +---------------------------------------- 2 files changed, 92 insertions(+), 90 deletions(-) create mode 100644 engine/map_triggers.asm diff --git a/engine/map_triggers.asm b/engine/map_triggers.asm new file mode 100644 index 000000000..56d1433ca --- /dev/null +++ b/engine/map_triggers.asm @@ -0,0 +1,91 @@ +MapTriggers:: ; 4d01e +; Map triggers + +trigger_def: MACRO +; db group, map +; dw address + map \1 + dw \2 +ENDM + + trigger_def POKECENTER_2F, wPokecenter2FTrigger + trigger_def TRADE_CENTER, wTradeCenterTrigger + trigger_def COLOSSEUM, wColosseumTrigger + trigger_def TIME_CAPSULE, wTimeCapsuleTrigger + trigger_def POWER_PLANT, wPowerPlantTrigger + trigger_def CERULEAN_GYM, wCeruleanGymTrigger + trigger_def ROUTE_25, wRoute25Trigger + trigger_def TRAINER_HOUSE_B1F, wTrainerHouseB1FTrigger + trigger_def VICTORY_ROAD_GATE, wVictoryRoadGateTrigger + trigger_def SAFFRON_TRAIN_STATION, wSaffronTrainStationTrigger + trigger_def ROUTE_16_GATE, wRoute16GateTrigger + trigger_def ROUTE_17_18_GATE, wRoute1718GateTrigger + trigger_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FTrigger + trigger_def WILLS_ROOM, wWillsRoomTrigger + trigger_def KOGAS_ROOM, wKogasRoomTrigger + trigger_def BRUNOS_ROOM, wBrunosRoomTrigger + trigger_def KARENS_ROOM, wKarensRoomTrigger + trigger_def LANCES_ROOM, wLancesRoomTrigger + trigger_def HALL_OF_FAME, wHallOfFameTrigger + trigger_def ROUTE_27, wRoute27Trigger + trigger_def NEW_BARK_TOWN, wNewBarkTownTrigger + trigger_def ELMS_LAB, wElmsLabTrigger + trigger_def KRISS_HOUSE_1F, wKrissHouse1FTrigger + trigger_def ROUTE_29, wRoute29Trigger + trigger_def CHERRYGROVE_CITY, wCherrygroveCityTrigger + trigger_def MR_POKEMONS_HOUSE, wMrPokemonsHouseTrigger + trigger_def ROUTE_32, wRoute32Trigger + trigger_def ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateTrigger + trigger_def ROUTE_36, wRoute36Trigger + trigger_def ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateTrigger + trigger_def AZALEA_TOWN, wAzaleaTownTrigger + trigger_def GOLDENROD_GYM, wGoldenrodGymTrigger + trigger_def GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationTrigger + trigger_def GOLDENROD_POKECENTER_1F, wGoldenrodPokecenter1FTrigger + trigger_def OLIVINE_CITY, wOlivineCityTrigger + trigger_def ROUTE_34, wRoute34Trigger + trigger_def ROUTE_34_ILEX_FOREST_GATE, wRoute34IlexForestGateTrigger + trigger_def ECRUTEAK_HOUSE, wEcruteakHouseTrigger + trigger_def WISE_TRIOS_ROOM, wWiseTriosRoomTrigger + trigger_def ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FTrigger + trigger_def ECRUTEAK_GYM, wEcruteakGymTrigger + trigger_def MAHOGANY_TOWN, wMahoganyTownTrigger + trigger_def ROUTE_42, wRoute42Trigger + trigger_def CIANWOOD_CITY, wCianwoodCityTrigger + trigger_def BATTLE_TOWER_1F, wBattleTower1FTrigger + trigger_def BATTLE_TOWER_BATTLE_ROOM, wBattleTowerBattleRoomTrigger + trigger_def BATTLE_TOWER_ELEVATOR, wBattleTowerElevatorTrigger + trigger_def BATTLE_TOWER_HALLWAY, wBattleTowerHallwayTrigger + trigger_def BATTLE_TOWER_OUTSIDE, wBattleTowerOutsideTrigger + trigger_def ROUTE_43_GATE, wRoute43GateTrigger + trigger_def MOUNT_MOON, wMountMoonTrigger + trigger_def SPROUT_TOWER_3F, wSproutTower3FTrigger + trigger_def TIN_TOWER_1F, wTinTower1FTrigger + trigger_def BURNED_TOWER_1F, wBurnedTower1FTrigger + trigger_def BURNED_TOWER_B1F, wBurnedTowerB1FTrigger + trigger_def RADIO_TOWER_5F, wRadioTower5FTrigger + trigger_def RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideTrigger + trigger_def RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterTrigger + trigger_def RUINS_OF_ALPH_HO_OH_CHAMBER, wRuinsOfAlphHoOhChamberTrigger + trigger_def RUINS_OF_ALPH_KABUTO_CHAMBER, wRuinsOfAlphKabutoChamberTrigger + trigger_def RUINS_OF_ALPH_OMANYTE_CHAMBER, wRuinsOfAlphOmanyteChamberTrigger + trigger_def RUINS_OF_ALPH_AERODACTYL_CHAMBER, wRuinsOfAlphAerodactylChamberTrigger + trigger_def RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberTrigger + trigger_def MAHOGANY_MART_1F, wMahoganyMart1FTrigger + trigger_def TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FTrigger + trigger_def TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FTrigger + trigger_def TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FTrigger + trigger_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesTrigger + trigger_def SILVER_CAVE_ROOM_3, wSilverCaveRoom3Trigger + trigger_def VICTORY_ROAD, wVictoryRoadTrigger + trigger_def DRAGONS_DEN_B1F, wDragonsDenB1FTrigger + trigger_def DRAGON_SHRINE, wDragonShrineTrigger + trigger_def OLIVINE_PORT, wOlivinePortTrigger + trigger_def VERMILION_PORT, wVermilionPortTrigger + trigger_def FAST_SHIP_1F, wFastShip1FTrigger + trigger_def FAST_SHIP_B1F, wFastShipB1FTrigger + trigger_def MOUNT_MOON_SQUARE, wMountMoonSquareTrigger + trigger_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileTrigger + trigger_def MOBILE_BATTLE_ROOM, wMobileBattleRoomTrigger + db $ff +; 4d15b diff --git a/main.asm b/main.asm index e40464ff2..185d2f168 100644 --- a/main.asm +++ b/main.asm @@ -49864,97 +49864,8 @@ Function4cffe:: ; 4cffe ret ; 4d01e -MapTriggers:: ; 4d01e -; Map triggers -trigger_def: MACRO -; db group, map -; dw address - map \1 - dw \2 -ENDM - - trigger_def POKECENTER_2F, wPokecenter2FTrigger - trigger_def TRADE_CENTER, wTradeCenterTrigger - trigger_def COLOSSEUM, wColosseumTrigger - trigger_def TIME_CAPSULE, wTimeCapsuleTrigger - trigger_def POWER_PLANT, wPowerPlantTrigger - trigger_def CERULEAN_GYM, wCeruleanGymTrigger - trigger_def ROUTE_25, wRoute25Trigger - trigger_def TRAINER_HOUSE_B1F, wTrainerHouseB1FTrigger - trigger_def VICTORY_ROAD_GATE, wVictoryRoadGateTrigger - trigger_def SAFFRON_TRAIN_STATION, wSaffronTrainStationTrigger - trigger_def ROUTE_16_GATE, wRoute16GateTrigger - trigger_def ROUTE_17_18_GATE, wRoute1718GateTrigger - trigger_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FTrigger - trigger_def WILLS_ROOM, wWillsRoomTrigger - trigger_def KOGAS_ROOM, wKogasRoomTrigger - trigger_def BRUNOS_ROOM, wBrunosRoomTrigger - trigger_def KARENS_ROOM, wKarensRoomTrigger - trigger_def LANCES_ROOM, wLancesRoomTrigger - trigger_def HALL_OF_FAME, wHallOfFameTrigger - trigger_def ROUTE_27, wRoute27Trigger - trigger_def NEW_BARK_TOWN, wNewBarkTownTrigger - trigger_def ELMS_LAB, wElmsLabTrigger - trigger_def KRISS_HOUSE_1F, wKrissHouse1FTrigger - trigger_def ROUTE_29, wRoute29Trigger - trigger_def CHERRYGROVE_CITY, wCherrygroveCityTrigger - trigger_def MR_POKEMONS_HOUSE, wMrPokemonsHouseTrigger - trigger_def ROUTE_32, wRoute32Trigger - trigger_def ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateTrigger - trigger_def ROUTE_36, wRoute36Trigger - trigger_def ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateTrigger - trigger_def AZALEA_TOWN, wAzaleaTownTrigger - trigger_def GOLDENROD_GYM, wGoldenrodGymTrigger - trigger_def GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationTrigger - trigger_def GOLDENROD_POKECENTER_1F, wGoldenrodPokecenter1FTrigger - trigger_def OLIVINE_CITY, wOlivineCityTrigger - trigger_def ROUTE_34, wRoute34Trigger - trigger_def ROUTE_34_ILEX_FOREST_GATE, wRoute34IlexForestGateTrigger - trigger_def ECRUTEAK_HOUSE, wEcruteakHouseTrigger - trigger_def WISE_TRIOS_ROOM, wWiseTriosRoomTrigger - trigger_def ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FTrigger - trigger_def ECRUTEAK_GYM, wEcruteakGymTrigger - trigger_def MAHOGANY_TOWN, wMahoganyTownTrigger - trigger_def ROUTE_42, wRoute42Trigger - trigger_def CIANWOOD_CITY, wCianwoodCityTrigger - trigger_def BATTLE_TOWER_1F, wBattleTower1FTrigger - trigger_def BATTLE_TOWER_BATTLE_ROOM, wBattleTowerBattleRoomTrigger - trigger_def BATTLE_TOWER_ELEVATOR, wBattleTowerElevatorTrigger - trigger_def BATTLE_TOWER_HALLWAY, wBattleTowerHallwayTrigger - trigger_def BATTLE_TOWER_OUTSIDE, wBattleTowerOutsideTrigger - trigger_def ROUTE_43_GATE, wRoute43GateTrigger - trigger_def MOUNT_MOON, wMountMoonTrigger - trigger_def SPROUT_TOWER_3F, wSproutTower3FTrigger - trigger_def TIN_TOWER_1F, wTinTower1FTrigger - trigger_def BURNED_TOWER_1F, wBurnedTower1FTrigger - trigger_def BURNED_TOWER_B1F, wBurnedTowerB1FTrigger - trigger_def RADIO_TOWER_5F, wRadioTower5FTrigger - trigger_def RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideTrigger - trigger_def RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterTrigger - trigger_def RUINS_OF_ALPH_HO_OH_CHAMBER, wRuinsOfAlphHoOhChamberTrigger - trigger_def RUINS_OF_ALPH_KABUTO_CHAMBER, wRuinsOfAlphKabutoChamberTrigger - trigger_def RUINS_OF_ALPH_OMANYTE_CHAMBER, wRuinsOfAlphOmanyteChamberTrigger - trigger_def RUINS_OF_ALPH_AERODACTYL_CHAMBER, wRuinsOfAlphAerodactylChamberTrigger - trigger_def RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberTrigger - trigger_def MAHOGANY_MART_1F, wMahoganyMart1FTrigger - trigger_def TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FTrigger - trigger_def TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FTrigger - trigger_def TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FTrigger - trigger_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesTrigger - trigger_def SILVER_CAVE_ROOM_3, wSilverCaveRoom3Trigger - trigger_def VICTORY_ROAD, wVictoryRoadTrigger - trigger_def DRAGONS_DEN_B1F, wDragonsDenB1FTrigger - trigger_def DRAGON_SHRINE, wDragonShrineTrigger - trigger_def OLIVINE_PORT, wOlivinePortTrigger - trigger_def VERMILION_PORT, wVermilionPortTrigger - trigger_def FAST_SHIP_1F, wFastShip1FTrigger - trigger_def FAST_SHIP_B1F, wFastShipB1FTrigger - trigger_def MOUNT_MOON_SQUARE, wMountMoonSquareTrigger - trigger_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileTrigger - trigger_def MOBILE_BATTLE_ROOM, wMobileBattleRoomTrigger - db $ff -; 4d15b +INCLUDE "engine/map_triggers.asm" Function4d15b:: ; 4d15b From c6c220f1ad3d730d7daa00920a31ddc0bc22405b Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 13:59:59 -0800 Subject: [PATCH 09/20] Split out spawn points. --- engine/spawn_points.asm | 106 ++++++++++++++++++++++++++++++++++++++++ main.asm | 106 +--------------------------------------- 2 files changed, 107 insertions(+), 105 deletions(-) create mode 100644 engine/spawn_points.asm diff --git a/engine/spawn_points.asm b/engine/spawn_points.asm new file mode 100644 index 000000000..ce96b0ce5 --- /dev/null +++ b/engine/spawn_points.asm @@ -0,0 +1,106 @@ + +SpawnPoints: ; 0x152ab + + const_def + +spawn: MACRO +; name, map, y, x +\1\@ EQUS "SPAWN_\1" + const \1\@ + map \2 + db \3, \4 +ENDM + + spawn HOME, KRISS_HOUSE_2F, 3, 3 + spawn DEBUG, VIRIDIAN_POKECENTER_1F, 5, 3 + + spawn PALLET, PALLET_TOWN, 5, 6 + spawn VIRIDIAN, VIRIDIAN_CITY, 23, 26 + spawn PEWTER, PEWTER_CITY, 13, 26 + spawn CERULEAN, CERULEAN_CITY, 19, 22 + spawn ROCK_TUNNEL, ROUTE_10A, 11, 2 + spawn VERMILION, VERMILION_CITY, 9, 6 + spawn LAVENDER, LAVENDER_TOWN, 5, 6 + spawn SAFFRON, SAFFRON_CITY, 9, 30 + spawn CELADON, CELADON_CITY, 29, 10 + spawn FUCHSIA, FUCHSIA_CITY, 19, 28 + spawn CINNABAR, CINNABAR_ISLAND, 11, 12 + spawn INDIGO, ROUTE_23, 9, 6 + + spawn NEW_BARK, NEW_BARK_TOWN, 13, 6 + spawn CHERRYGROVE, CHERRYGROVE_CITY, 29, 4 + spawn VIOLET, VIOLET_CITY, 31, 26 + spawn UNION_CAVE, ROUTE_32, 11, 74 + spawn AZALEA, AZALEA_TOWN, 15, 10 + spawn CIANWOOD, CIANWOOD_CITY, 23, 44 + spawn GOLDENROD, GOLDENROD_CITY, 15, 28 + spawn OLIVINE, OLIVINE_CITY, 13, 22 + spawn ECRUTEAK, ECRUTEAK_CITY, 23, 28 + spawn MAHOGANY, MAHOGANY_TOWN, 15, 14 + spawn LAKE, LAKE_OF_RAGE, 21, 29 + spawn BLACKTHORN, BLACKTHORN_CITY, 21, 30 + spawn MT_SILVER, SILVER_CAVE_OUTSIDE, 23, 20 + spawn FAST_SHIP, FAST_SHIP_CABINS_SW_SSW_NW, 6, 2 + + db -1, -1, -1, -1 + + const NUM_SPAWNS + + +LoadSpawnPoint: ; 1531f + push hl + push de + ld a, [wd001] + cp -1 + jr z, .asm_15341 + ld l, a + ld h, 0 + add hl, hl + add hl, hl + ld de, SpawnPoints + add hl, de + ld a, [hli] + ld [MapGroup], a + ld a, [hli] + ld [MapNumber], a + ld a, [hli] + ld [XCoord], a + ld a, [hli] + ld [YCoord], a +.asm_15341 + pop de + pop hl + ret +; 15344 + + +IsSpawnPoint: ; 15344 + ld hl, SpawnPoints + ld c, 0 +.asm_15349 + ld a, [hl] + cp -1 + jr z, .asm_1535f + cp d + jr nz, .asm_15356 + inc hl + ld a, [hld] + cp e + jr z, .asm_15361 + +.asm_15356 + push bc + ld bc, 4 + add hl, bc + pop bc + inc c + jr .asm_15349 + +.asm_1535f + and a + ret + +.asm_15361 + scf + ret +; 15363 diff --git a/main.asm b/main.asm index 185d2f168..adb4518ce 100644 --- a/main.asm +++ b/main.asm @@ -23673,111 +23673,7 @@ UnknownText_0x152a6: ; 0x152a6 ; 0x152ab -SpawnPoints: ; 0x152ab - - const_def - -spawn: MACRO -; name, map, y, x -\1\@ EQUS "SPAWN_\1" - const \1\@ - map \2 - db \3, \4 -ENDM - - spawn HOME, KRISS_HOUSE_2F, 3, 3 - spawn DEBUG, VIRIDIAN_POKECENTER_1F, 5, 3 - - spawn PALLET, PALLET_TOWN, 5, 6 - spawn VIRIDIAN, VIRIDIAN_CITY, 23, 26 - spawn PEWTER, PEWTER_CITY, 13, 26 - spawn CERULEAN, CERULEAN_CITY, 19, 22 - spawn ROCK_TUNNEL, ROUTE_10A, 11, 2 - spawn VERMILION, VERMILION_CITY, 9, 6 - spawn LAVENDER, LAVENDER_TOWN, 5, 6 - spawn SAFFRON, SAFFRON_CITY, 9, 30 - spawn CELADON, CELADON_CITY, 29, 10 - spawn FUCHSIA, FUCHSIA_CITY, 19, 28 - spawn CINNABAR, CINNABAR_ISLAND, 11, 12 - spawn INDIGO, ROUTE_23, 9, 6 - - spawn NEW_BARK, NEW_BARK_TOWN, 13, 6 - spawn CHERRYGROVE, CHERRYGROVE_CITY, 29, 4 - spawn VIOLET, VIOLET_CITY, 31, 26 - spawn UNION_CAVE, ROUTE_32, 11, 74 - spawn AZALEA, AZALEA_TOWN, 15, 10 - spawn CIANWOOD, CIANWOOD_CITY, 23, 44 - spawn GOLDENROD, GOLDENROD_CITY, 15, 28 - spawn OLIVINE, OLIVINE_CITY, 13, 22 - spawn ECRUTEAK, ECRUTEAK_CITY, 23, 28 - spawn MAHOGANY, MAHOGANY_TOWN, 15, 14 - spawn LAKE, LAKE_OF_RAGE, 21, 29 - spawn BLACKTHORN, BLACKTHORN_CITY, 21, 30 - spawn MT_SILVER, SILVER_CAVE_OUTSIDE, 23, 20 - spawn FAST_SHIP, FAST_SHIP_CABINS_SW_SSW_NW, 6, 2 - - db -1, -1, -1, -1 - - const NUM_SPAWNS - - -LoadSpawnPoint: ; 1531f - push hl - push de - ld a, [wd001] - cp -1 - jr z, .asm_15341 - ld l, a - ld h, 0 - add hl, hl - add hl, hl - ld de, SpawnPoints - add hl, de - ld a, [hli] - ld [MapGroup], a - ld a, [hli] - ld [MapNumber], a - ld a, [hli] - ld [XCoord], a - ld a, [hli] - ld [YCoord], a -.asm_15341 - pop de - pop hl - ret -; 15344 - - -IsSpawnPoint: ; 15344 - ld hl, SpawnPoints - ld c, 0 -.asm_15349 - ld a, [hl] - cp -1 - jr z, .asm_1535f - cp d - jr nz, .asm_15356 - inc hl - ld a, [hld] - cp e - jr z, .asm_15361 - -.asm_15356 - push bc - ld bc, 4 - add hl, bc - pop bc - inc c - jr .asm_15349 - -.asm_1535f - and a - ret - -.asm_15361 - scf - ret -; 15363 +INCLUDE "engine/spawn_points.asm" RunMapSetupScript:: ; 15363 From f4e0e611143cc9ee896b70ce179e9a7adf3211ab Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 14:01:04 -0800 Subject: [PATCH 10/20] Split out the map setup scripts. --- engine/map_setup.asm | 489 ++++++++++++++++++++++++++++++++++++++++++ main.asm | 491 +------------------------------------------ 2 files changed, 490 insertions(+), 490 deletions(-) create mode 100644 engine/map_setup.asm diff --git a/engine/map_setup.asm b/engine/map_setup.asm new file mode 100644 index 000000000..8c10954b3 --- /dev/null +++ b/engine/map_setup.asm @@ -0,0 +1,489 @@ + +RunMapSetupScript:: ; 15363 + ld a, [$ff9f] + and $f + dec a + ld c, a + ld b, 0 + ld hl, MapSetupScripts + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + call ReadMapSetupScript + ret +; 15377 + +MapSetupScripts: ; 15377 + dw MapSetupScript1 + dw MapSetupScript2 + dw MapSetupScript3 + dw MapSetupScript4 + dw MapSetupScript5 + dw MapSetupScript6 + dw MapSetupScript7 + dw MapSetupScript8 + dw MapSetupScript9 + dw MapSetupScript10 + dw MapSetupScript11 + dw MapSetupScript12 +; 1538f + + +; Command descriptions from Condensation water's scripting compendium. + const_def + const map_lcd_on ; 00 = Turn LCD on + const map_lcd_off ; 01 = Turn LCD off + const map_sound_off ; 02 = Turn speakers off + const map_music ; 03 = Music check for current map/ special check for bug catcher contest + const map_start_music ; 04 = Start map music anew + const map_fade_music ; 05 = Music check for current map / special check for Bug Contest/ music with FadeOut (old) and FadeIn + const map_fade ; 06 = Fade out music + screen + const map_bike_music ; 07 = If HIRO is on bike = bike music, else play map music + const map_music_force ; 08 = Play map music + const map_max_volume ; 09 = Turn music to highest volume + const map_load_blocks ; 0A = Write map data to MapRAM + const map_connection_blocks ; 0B = Compute map’s connection pars and write into MapRAM + const map_save_screen ; 0C = Write current part of map into temporary memory + const map_buffer_screen ; 0D = Write current part of map into read-from memory + const map_load_graphics ; 0E = Write tileset header to ram/ load tileset/ load sprite tiles/ load special tiles + const map_load_tileset_header ; 0F = Write tileset header to ram + const map_time_of_day ; 10 = Compute time of day/ Update screen + const map_palettes ; 11 = Load map palettes + const map_wildmons ; 12 = Load probabilities for wild Pokémon battles + const map_sprites ; 13 = Delete sprite data and draw new sprites + const map_change_callback ; 14 = Check 2nd script header for 05 and 03 callbacks + const map_start_callback ; 15 = Check 2nd script header for 03 callbacks + const map_load_objects ; 16 = Analyze people data anew and check 2nd script header for 02 callbacks + const map_load_spawn ; 17 = Writes arrival data for arrival by flying/Blackout from table 05:5319 to ram + const map_load_connection ; 18 = Writes arrival data for entering a map by connection to ram + const map_load_warp ; 19 = Write warp data to ram when entering warp + const map_attributes ; 1A = Load complete map data (primary, secondary, event, script headers) + const map_attributes_2 ; 1B = Same as 1A, but some settings aren’t loaded new from the rom, such as hide function of the people events + const map_clear_bg_palettes ; 1C = Fill palette data with FFFF (=white) + const map_fade_out_palettes ; 1D = All BG pallet color are converted to 0|0 (Pal0, Col0), all sprite colors to x|0 (FadeOut) + const map_fade_in_palettes ; 1E = Palette FadeIn + const map_anchor_screen ; 1F = Compute position of upper left-most block visible on screen + const map_warp_face ; 20 = Position computation when HIRO leaves a warp + const map_face_down ; 21 = Set HIRO’s facing to “down” + const map_spawn_coord ; 22 = Prepare HIRO data for arrival by flight + const map_player_coord ; 23 = Compute HIRO x/y data anew + const map_prolong_sprites ; 24 = Prolong old sprites before removing them + const map_delay_sprites ; 25 = Delay rendering new sprites + const map_update_roam ; 26 = Compute chances to meet Raikou, Entei or Suicune + const map_keep_roam ; 27 = Recover chances to meet Raikou, Entei or Suicune + const map_fade_out_music ; 28 = Temporarily stop music playing + const map_animations_on ; 29 = Activate animations + const map_animations_off ; 2A = Deactivate animations + const map_keep_palettes ; 2B = Recover all palettes + const map_text_scroll_off ; 2C = Turn off text scroll (for town name overlays) + const map_stop_script ; 2D = Deactivate code prolonging + + +MapSetupScript4: ; 1538f + db map_prolong_sprites + +MapSetupScript12: ; 15390 + db map_fade_out_palettes + db map_keep_roam + +MapSetupScript1: ; 15392 + db map_lcd_off + db map_sound_off + db map_load_spawn + db map_attributes + db map_change_callback + db map_spawn_coord + db map_player_coord + db map_anchor_screen + db map_load_blocks + db map_buffer_screen + db map_load_graphics + db map_time_of_day + db map_load_objects + db map_lcd_on + db map_palettes + db map_face_down + db map_sprites + db map_bike_music + db map_max_volume + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db -1 + +MapSetupScript11: ; 153a9 + db map_load_spawn + db map_attributes + db map_change_callback + db map_spawn_coord + db map_player_coord + db map_anchor_screen + db map_load_blocks + db map_buffer_screen + db map_lcd_off + db map_load_graphics + db map_time_of_day + db map_fade_out_music + db map_lcd_on + db map_load_objects + db map_palettes + db map_face_down + db map_sprites + db map_fade_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db -1 + +MapSetupScript7: ; 153bf + db map_animations_off + db map_load_connection + db map_attributes + db map_change_callback + db map_player_coord + db map_load_blocks + db map_load_tileset_header + db map_save_screen + db map_load_objects + db map_fade_music + db map_palettes + db map_stop_script + db map_keep_palettes + db map_wildmons + db map_update_roam + db map_animations_on + db -1 + +MapSetupScript6: ; 153d0 + db map_prolong_sprites + +MapSetupScript5: ; 153d1 + db map_fade_out_palettes + +MapSetupScript9: ; 153d2 + db map_load_warp + db map_attributes + db map_warp_face + db map_change_callback + db map_player_coord + db map_load_blocks + db map_buffer_screen + db map_lcd_off + db map_load_graphics + db map_time_of_day + db map_fade_out_music + db map_lcd_on + db map_load_objects + db map_palettes + db map_sprites + db map_fade_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_update_roam + db -1 + +MapSetupScript3: ; 153e7 + db map_fade + db map_clear_bg_palettes + db map_lcd_off + db map_sound_off + db map_load_blocks + db map_connection_blocks + db map_load_graphics + db map_time_of_day + db map_lcd_on + db map_palettes + db map_sprites + db map_music_force + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db -1 + +MapSetupScript8: ; 153f7 + db map_fade + db map_lcd_off + db map_sound_off + db map_change_callback + db map_load_blocks + db map_buffer_screen + db map_load_graphics + db map_time_of_day + db map_lcd_on + db map_palettes + db map_sprites + db map_bike_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_text_scroll_off + db -1 + +MapSetupScript2: ; 15408 + db map_lcd_off + db map_sound_off + db map_attributes_2 + db map_anchor_screen + db map_start_callback + db map_load_blocks + db map_connection_blocks + db map_buffer_screen + db map_load_graphics + db map_time_of_day + db map_lcd_on + db map_palettes + db map_sprites + db map_bike_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db -1 + +MapSetupScript10: ; 1541a + db map_load_blocks + db map_connection_blocks + db -1 + + +ReadMapSetupScript: ; 1541d +.loop + ld a, [hli] + cp -1 + ret z + + push hl + + ld c, a + ld b, 0 + ld hl, MapSetupCommands + add hl, bc + add hl, bc + add hl, bc + + ; bank + ld b, [hl] + inc hl + + ; address + ld a, [hli] + ld h, [hl] + ld l, a + + ; Bit 7 of the bank indicates a parameter. + ; This is left unused. + bit 7, b + jr z, .go + + pop de + ld a, [de] + ld c, a + inc de + push de + +.go + ld a, b + and $7f + rst FarCall + + pop hl + jr .loop +; 15440 + +MapSetupCommands: ; 15440 + dbw BANK(EnableLCD), EnableLCD + dbw BANK(DisableLCD), DisableLCD + dbw BANK(SoundRestart), SoundRestart + dbw BANK(PlayMapMusic), PlayMapMusic + dbw BANK(RestartMapMusic), RestartMapMusic + dbw BANK(FadeToMapMusic), FadeToMapMusic + dbw BANK(Function15574), Function15574 + dbw BANK(EnterMapMusic), EnterMapMusic + dbw BANK(Function15587), Function15587 + dbw BANK(Function3cae), Function3cae + dbw BANK(Function24cd), Function24cd + dbw BANK(Function28e3), Function28e3 + dbw BANK(Function289d), Function289d + dbw BANK(Function2879), Function2879 + dbw BANK(Function1047cf), Function1047cf + dbw BANK(LoadTilesetHeader), LoadTilesetHeader + dbw BANK(Function104750), Function104750 + dbw BANK(Function1047eb), Function1047eb + dbw BANK(Function29ff8), Function29ff8 + dbw BANK(Function1047f0), Function1047f0 + dbw BANK(Function1045b0), Function1045b0 + dbw BANK(Function1045c4), Function1045c4 + dbw BANK(Function154d7), Function154d7 + dbw BANK(LoadSpawnPoint), LoadSpawnPoint + dbw BANK(EnterMapConnection), EnterMapConnection + dbw BANK(Function1046c6), Function1046c6 + dbw BANK(Function2309), Function2309 + dbw BANK(Function2317), Function2317 + dbw BANK(WhiteBGMap), WhiteBGMap + dbw BANK(Function8c084), Function8c084 + dbw BANK(Function8c079), Function8c079 + dbw BANK(Function10486d), Function10486d + dbw BANK(Function248a), Function248a + dbw BANK(Function57d9), Function57d9 + dbw BANK(Function8029), Function8029 + dbw BANK(Function80b8), Function80b8 + dbw BANK(Function154eb), Function154eb + dbw BANK(Function154f1), Function154f1 + dbw BANK(Function2a30d), Function2a30d + dbw BANK(Function2a394), Function2a394 + dbw BANK(Function15567), Function15567 + dbw BANK(Function154cf), Function154cf + dbw BANK(Function154d3), Function154d3 + dbw BANK(Function1556d), Function1556d + dbw BANK(Function154ca), Function154ca + dbw BANK(Functionb8000), Functionb8000 +; 154ca + + +Function154ca: ; 154ca + xor a + ld [wc2d7], a + ret +; 154cf + +Function154cf: ; 154cf + ld a, $1 + ld [$ffde], a + ret +; 154d3 + +Function154d3: ; 154d3 + xor a + ld [$ffde], a + ret +; 154d7 + +Function154d7: ; 154d7 + ld a, $2 + call Function263b + callba Function2454f + callba Function8177 + ret +; 154ea (5:54ea) + +Function154ea: ; 154ea + ret +; 154eb + +Function154eb: ; 154eb + ld hl, wd45b + set 7, [hl] + ret +; 154f1 + +Function154f1: ; 154f1 + ld hl, wd45b + set 6, [hl] + ret + +Function154f7: ; 154f7 + nop + call Function1550c + jr c, .asm_15508 + call Function1554e + jr c, .asm_15508 + call Function1551a + jr c, .asm_15508 + ret +.asm_15508 + call Functione4a + ret + +Function1550c: ; 1550c (5:550c) + and a + ld hl, BikeFlags + bit 1, [hl] + ret z + ld a, $1 + ld [PlayerState], a + scf + ret + +Function1551a: ; 1551a (5:551a) + ld a, [PlayerState] + cp $0 + jr z, .asm_1554c + cp $2 + jr z, .asm_1554c + cp $4 + jr z, .asm_15545 + cp $8 + jr z, .asm_15545 + call GetMapPermission + cp $3 + jr z, .asm_1553e + cp $5 + jr z, .asm_1553e + cp $7 + jr z, .asm_1553e + jr .asm_1554c +.asm_1553e + ld a, [PlayerState] + cp $1 + jr nz, .asm_1554c +.asm_15545 + ld a, $0 + ld [PlayerState], a + scf + ret +.asm_1554c + and a + ret + +Function1554e: ; 1554e (5:554e) + call Function1852 + jr nz, .asm_15565 + ld a, [PlayerState] + cp $4 + jr z, .asm_15563 + cp $8 + jr z, .asm_15563 + ld a, $4 + ld [PlayerState], a +.asm_15563 + scf + ret +.asm_15565 + and a + ret +; 15567 + +Function15567: ; 15567 + ld a, 6 + call SkipMusic + ret +; 1556d + +Function1556d: ; 1556d + callba _UpdateTimePals + ret + +Function15574: ; 15574 + ld e, 0 + ld a, [MusicFadeIDLo] + ld d, 0 + ld a, [MusicFadeIDHi] + ld a, $4 + ld [MusicFade], a + call Function4b6 + ret +; 15587 + +Function15587: ; 15587 + ld a, [PlayerState] + cp $1 + jr nz, .asm_15596 + call VolumeOff + ld a, $88 + ld [MusicFade], a +.asm_15596 + call Function3d2f + ret +; 1559a diff --git a/main.asm b/main.asm index adb4518ce..e4fd63d10 100644 --- a/main.asm +++ b/main.asm @@ -23675,496 +23675,7 @@ UnknownText_0x152a6: ; 0x152a6 INCLUDE "engine/spawn_points.asm" - -RunMapSetupScript:: ; 15363 - ld a, [$ff9f] - and $f - dec a - ld c, a - ld b, 0 - ld hl, MapSetupScripts - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - call ReadMapSetupScript - ret -; 15377 - -MapSetupScripts: ; 15377 - dw MapSetupScript1 - dw MapSetupScript2 - dw MapSetupScript3 - dw MapSetupScript4 - dw MapSetupScript5 - dw MapSetupScript6 - dw MapSetupScript7 - dw MapSetupScript8 - dw MapSetupScript9 - dw MapSetupScript10 - dw MapSetupScript11 - dw MapSetupScript12 -; 1538f - - -; Command descriptions from Condensation water's scripting compendium. - const_def - const map_lcd_on ; 00 = Turn LCD on - const map_lcd_off ; 01 = Turn LCD off - const map_sound_off ; 02 = Turn speakers off - const map_music ; 03 = Music check for current map/ special check for bug catcher contest - const map_start_music ; 04 = Start map music anew - const map_fade_music ; 05 = Music check for current map / special check for Bug Contest/ music with FadeOut (old) and FadeIn - const map_fade ; 06 = Fade out music + screen - const map_bike_music ; 07 = If HIRO is on bike = bike music, else play map music - const map_music_force ; 08 = Play map music - const map_max_volume ; 09 = Turn music to highest volume - const map_load_blocks ; 0A = Write map data to MapRAM - const map_connection_blocks ; 0B = Compute map’s connection pars and write into MapRAM - const map_save_screen ; 0C = Write current part of map into temporary memory - const map_buffer_screen ; 0D = Write current part of map into read-from memory - const map_load_graphics ; 0E = Write tileset header to ram/ load tileset/ load sprite tiles/ load special tiles - const map_load_tileset_header ; 0F = Write tileset header to ram - const map_time_of_day ; 10 = Compute time of day/ Update screen - const map_palettes ; 11 = Load map palettes - const map_wildmons ; 12 = Load probabilities for wild Pokémon battles - const map_sprites ; 13 = Delete sprite data and draw new sprites - const map_change_callback ; 14 = Check 2nd script header for 05 and 03 callbacks - const map_start_callback ; 15 = Check 2nd script header for 03 callbacks - const map_load_objects ; 16 = Analyze people data anew and check 2nd script header for 02 callbacks - const map_load_spawn ; 17 = Writes arrival data for arrival by flying/Blackout from table 05:5319 to ram - const map_load_connection ; 18 = Writes arrival data for entering a map by connection to ram - const map_load_warp ; 19 = Write warp data to ram when entering warp - const map_attributes ; 1A = Load complete map data (primary, secondary, event, script headers) - const map_attributes_2 ; 1B = Same as 1A, but some settings aren’t loaded new from the rom, such as hide function of the people events - const map_clear_bg_palettes ; 1C = Fill palette data with FFFF (=white) - const map_fade_out_palettes ; 1D = All BG pallet color are converted to 0|0 (Pal0, Col0), all sprite colors to x|0 (FadeOut) - const map_fade_in_palettes ; 1E = Palette FadeIn - const map_anchor_screen ; 1F = Compute position of upper left-most block visible on screen - const map_warp_face ; 20 = Position computation when HIRO leaves a warp - const map_face_down ; 21 = Set HIRO’s facing to “down” - const map_spawn_coord ; 22 = Prepare HIRO data for arrival by flight - const map_player_coord ; 23 = Compute HIRO x/y data anew - const map_prolong_sprites ; 24 = Prolong old sprites before removing them - const map_delay_sprites ; 25 = Delay rendering new sprites - const map_update_roam ; 26 = Compute chances to meet Raikou, Entei or Suicune - const map_keep_roam ; 27 = Recover chances to meet Raikou, Entei or Suicune - const map_fade_out_music ; 28 = Temporarily stop music playing - const map_animations_on ; 29 = Activate animations - const map_animations_off ; 2A = Deactivate animations - const map_keep_palettes ; 2B = Recover all palettes - const map_text_scroll_off ; 2C = Turn off text scroll (for town name overlays) - const map_stop_script ; 2D = Deactivate code prolonging - - -MapSetupScript4: ; 1538f - db map_prolong_sprites - -MapSetupScript12: ; 15390 - db map_fade_out_palettes - db map_keep_roam - -MapSetupScript1: ; 15392 - db map_lcd_off - db map_sound_off - db map_load_spawn - db map_attributes - db map_change_callback - db map_spawn_coord - db map_player_coord - db map_anchor_screen - db map_load_blocks - db map_buffer_screen - db map_load_graphics - db map_time_of_day - db map_load_objects - db map_lcd_on - db map_palettes - db map_face_down - db map_sprites - db map_bike_music - db map_max_volume - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db -1 - -MapSetupScript11: ; 153a9 - db map_load_spawn - db map_attributes - db map_change_callback - db map_spawn_coord - db map_player_coord - db map_anchor_screen - db map_load_blocks - db map_buffer_screen - db map_lcd_off - db map_load_graphics - db map_time_of_day - db map_fade_out_music - db map_lcd_on - db map_load_objects - db map_palettes - db map_face_down - db map_sprites - db map_fade_music - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db -1 - -MapSetupScript7: ; 153bf - db map_animations_off - db map_load_connection - db map_attributes - db map_change_callback - db map_player_coord - db map_load_blocks - db map_load_tileset_header - db map_save_screen - db map_load_objects - db map_fade_music - db map_palettes - db map_stop_script - db map_keep_palettes - db map_wildmons - db map_update_roam - db map_animations_on - db -1 - -MapSetupScript6: ; 153d0 - db map_prolong_sprites - -MapSetupScript5: ; 153d1 - db map_fade_out_palettes - -MapSetupScript9: ; 153d2 - db map_load_warp - db map_attributes - db map_warp_face - db map_change_callback - db map_player_coord - db map_load_blocks - db map_buffer_screen - db map_lcd_off - db map_load_graphics - db map_time_of_day - db map_fade_out_music - db map_lcd_on - db map_load_objects - db map_palettes - db map_sprites - db map_fade_music - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db map_update_roam - db -1 - -MapSetupScript3: ; 153e7 - db map_fade - db map_clear_bg_palettes - db map_lcd_off - db map_sound_off - db map_load_blocks - db map_connection_blocks - db map_load_graphics - db map_time_of_day - db map_lcd_on - db map_palettes - db map_sprites - db map_music_force - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db -1 - -MapSetupScript8: ; 153f7 - db map_fade - db map_lcd_off - db map_sound_off - db map_change_callback - db map_load_blocks - db map_buffer_screen - db map_load_graphics - db map_time_of_day - db map_lcd_on - db map_palettes - db map_sprites - db map_bike_music - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db map_text_scroll_off - db -1 - -MapSetupScript2: ; 15408 - db map_lcd_off - db map_sound_off - db map_attributes_2 - db map_anchor_screen - db map_start_callback - db map_load_blocks - db map_connection_blocks - db map_buffer_screen - db map_load_graphics - db map_time_of_day - db map_lcd_on - db map_palettes - db map_sprites - db map_bike_music - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db -1 - -MapSetupScript10: ; 1541a - db map_load_blocks - db map_connection_blocks - db -1 - - -ReadMapSetupScript: ; 1541d -.loop - ld a, [hli] - cp -1 - ret z - - push hl - - ld c, a - ld b, 0 - ld hl, MapSetupCommands - add hl, bc - add hl, bc - add hl, bc - - ; bank - ld b, [hl] - inc hl - - ; address - ld a, [hli] - ld h, [hl] - ld l, a - - ; Bit 7 of the bank indicates a parameter. - ; This is left unused. - bit 7, b - jr z, .go - - pop de - ld a, [de] - ld c, a - inc de - push de - -.go - ld a, b - and $7f - rst FarCall - - pop hl - jr .loop -; 15440 - -MapSetupCommands: ; 15440 - dbw BANK(EnableLCD), EnableLCD - dbw BANK(DisableLCD), DisableLCD - dbw BANK(SoundRestart), SoundRestart - dbw BANK(PlayMapMusic), PlayMapMusic - dbw BANK(RestartMapMusic), RestartMapMusic - dbw BANK(FadeToMapMusic), FadeToMapMusic - dbw BANK(Function15574), Function15574 - dbw BANK(EnterMapMusic), EnterMapMusic - dbw BANK(Function15587), Function15587 - dbw BANK(Function3cae), Function3cae - dbw BANK(Function24cd), Function24cd - dbw BANK(Function28e3), Function28e3 - dbw BANK(Function289d), Function289d - dbw BANK(Function2879), Function2879 - dbw BANK(Function1047cf), Function1047cf - dbw BANK(LoadTilesetHeader), LoadTilesetHeader - dbw BANK(Function104750), Function104750 - dbw BANK(Function1047eb), Function1047eb - dbw BANK(Function29ff8), Function29ff8 - dbw BANK(Function1047f0), Function1047f0 - dbw BANK(Function1045b0), Function1045b0 - dbw BANK(Function1045c4), Function1045c4 - dbw BANK(Function154d7), Function154d7 - dbw BANK(LoadSpawnPoint), LoadSpawnPoint - dbw BANK(EnterMapConnection), EnterMapConnection - dbw BANK(Function1046c6), Function1046c6 - dbw BANK(Function2309), Function2309 - dbw BANK(Function2317), Function2317 - dbw BANK(WhiteBGMap), WhiteBGMap - dbw BANK(Function8c084), Function8c084 - dbw BANK(Function8c079), Function8c079 - dbw BANK(Function10486d), Function10486d - dbw BANK(Function248a), Function248a - dbw BANK(Function57d9), Function57d9 - dbw BANK(Function8029), Function8029 - dbw BANK(Function80b8), Function80b8 - dbw BANK(Function154eb), Function154eb - dbw BANK(Function154f1), Function154f1 - dbw BANK(Function2a30d), Function2a30d - dbw BANK(Function2a394), Function2a394 - dbw BANK(Function15567), Function15567 - dbw BANK(Function154cf), Function154cf - dbw BANK(Function154d3), Function154d3 - dbw BANK(Function1556d), Function1556d - dbw BANK(Function154ca), Function154ca - dbw BANK(Functionb8000), Functionb8000 -; 154ca - - -Function154ca: ; 154ca - xor a - ld [wc2d7], a - ret -; 154cf - -Function154cf: ; 154cf - ld a, $1 - ld [$ffde], a - ret -; 154d3 - -Function154d3: ; 154d3 - xor a - ld [$ffde], a - ret -; 154d7 - -Function154d7: ; 154d7 - ld a, $2 - call Function263b - callba Function2454f - callba Function8177 - ret -; 154ea (5:54ea) - -Function154ea: ; 154ea - ret -; 154eb - -Function154eb: ; 154eb - ld hl, wd45b - set 7, [hl] - ret -; 154f1 - -Function154f1: ; 154f1 - ld hl, wd45b - set 6, [hl] - ret - -Function154f7: ; 154f7 - nop - call Function1550c - jr c, .asm_15508 - call Function1554e - jr c, .asm_15508 - call Function1551a - jr c, .asm_15508 - ret -.asm_15508 - call Functione4a - ret - -Function1550c: ; 1550c (5:550c) - and a - ld hl, BikeFlags - bit 1, [hl] - ret z - ld a, $1 - ld [PlayerState], a - scf - ret - -Function1551a: ; 1551a (5:551a) - ld a, [PlayerState] - cp $0 - jr z, .asm_1554c - cp $2 - jr z, .asm_1554c - cp $4 - jr z, .asm_15545 - cp $8 - jr z, .asm_15545 - call GetMapPermission - cp $3 - jr z, .asm_1553e - cp $5 - jr z, .asm_1553e - cp $7 - jr z, .asm_1553e - jr .asm_1554c -.asm_1553e - ld a, [PlayerState] - cp $1 - jr nz, .asm_1554c -.asm_15545 - ld a, $0 - ld [PlayerState], a - scf - ret -.asm_1554c - and a - ret - -Function1554e: ; 1554e (5:554e) - call Function1852 - jr nz, .asm_15565 - ld a, [PlayerState] - cp $4 - jr z, .asm_15563 - cp $8 - jr z, .asm_15563 - ld a, $4 - ld [PlayerState], a -.asm_15563 - scf - ret -.asm_15565 - and a - ret -; 15567 - -Function15567: ; 15567 - ld a, 6 - call SkipMusic - ret -; 1556d - -Function1556d: ; 1556d - callba _UpdateTimePals - ret - -Function15574: ; 15574 - ld e, 0 - ld a, [MusicFadeIDLo] - ld d, 0 - ld a, [MusicFadeIDHi] - ld a, $4 - ld [MusicFade], a - call Function4b6 - ret -; 15587 - -Function15587: ; 15587 - ld a, [PlayerState] - cp $1 - jr nz, .asm_15596 - call VolumeOff - ld a, $88 - ld [MusicFade], a -.asm_15596 - call Function3d2f - ret -; 1559a - +INCLUDE "engine/map_setup.asm" Function1559a: ; 1559a call Function15650 From a31b4586df7a659f15f5c864c469d309bf60f719 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 14:08:07 -0800 Subject: [PATCH 11/20] Split out the diploma code. --- engine/diploma.asm | 94 ++++++++++++++++++++++++++++++++++++++++++++++ main.asm | 92 +-------------------------------------------- 2 files changed, 95 insertions(+), 91 deletions(-) create mode 100644 engine/diploma.asm diff --git a/engine/diploma.asm b/engine/diploma.asm new file mode 100644 index 000000000..bf6e89fa8 --- /dev/null +++ b/engine/diploma.asm @@ -0,0 +1,94 @@ + +Function1dd702: ; 1dd702 + call Function1dd709 + call Functiona80 + ret +; 1dd709 + +Function1dd709: ; 1dd709 + call WhiteBGMap + call ClearTileMap + call ClearSprites + call DisableLCD + ld hl, LZ_1dd805 + ld de, VTiles2 + call Decompress + ld hl, Tilemap_1ddc4b + ld de, TileMap + ld bc, $0168 + call CopyBytes + ld de, String_1dd760 + hlcoord 2, 5 + call PlaceString + ld de, String_1dd767 + hlcoord 15, 5 + call PlaceString + ld de, PlayerName + hlcoord 9, 5 + call PlaceString + ld de, String_1dd768 + hlcoord 2, 8 + call PlaceString + call EnableLCD + call WaitBGMap + ld b, $8 + call GetSGBLayout + call Function32f9 + call DelayFrame + ret +; 1dd760 + +String_1dd760: + db "PLAYER@" + +String_1dd767: + db "@" + +String_1dd768: + db "This certifies" + next "that you have" + next "completed the" + next "new #DEX." + next "Congratulations!" + db "@" +; 1dd7ae + +Function1dd7ae: ; 1dd7ae + ld hl, TileMap + ld bc, $0168 + ld a, $7f + call ByteFill + ld hl, Tilemap_1dddb3 + ld de, TileMap + ld bc, $0168 + call CopyBytes + ld de, String_1dd7fa + hlcoord 8, 0 + call PlaceString + ld de, String_1dd7f0 + hlcoord 3, 15 + call PlaceString + hlcoord 12, 15 + ld de, GameTimeHours + ld bc, $0204 + call PrintNum + ld [hl], $67 + inc hl + ld de, GameTimeMinutes + ld bc, $8102 + call PrintNum + ret +; 1dd7f0 + +String_1dd7f0: db "PLAY TIME@" +String_1dd7fa: db "GAME FREAK@" +; 1dd805 + +LZ_1dd805: ; 1dd805 +INCBIN "gfx/unknown/1dd805.2bpp.lz" + +Tilemap_1ddc4b: ; 1ddc4b +INCBIN "gfx/unknown/1ddc4b.tilemap" + +Tilemap_1dddb3: ; 1dddb3 +INCBIN "gfx/unknown/1dddb3.tilemap" diff --git a/main.asm b/main.asm index e4fd63d10..77ff826bc 100644 --- a/main.asm +++ b/main.asm @@ -100345,99 +100345,9 @@ String_1dd6fc: db "AM@" String_1dd6ff: db "PM@" ; 1dd702 -Function1dd702: ; 1dd702 - call Function1dd709 - call Functiona80 - ret -; 1dd709 -Function1dd709: ; 1dd709 - call WhiteBGMap - call ClearTileMap - call ClearSprites - call DisableLCD - ld hl, LZ_1dd805 - ld de, VTiles2 - call Decompress - ld hl, Tilemap_1ddc4b - ld de, TileMap - ld bc, $0168 - call CopyBytes - ld de, String_1dd760 - hlcoord 2, 5 - call PlaceString - ld de, String_1dd767 - hlcoord 15, 5 - call PlaceString - ld de, PlayerName - hlcoord 9, 5 - call PlaceString - ld de, String_1dd768 - hlcoord 2, 8 - call PlaceString - call EnableLCD - call WaitBGMap - ld b, $8 - call GetSGBLayout - call Function32f9 - call DelayFrame - ret -; 1dd760 +INCLUDE "engine/diploma.asm" -String_1dd760: - db "PLAYER@" - -String_1dd767: - db "@" - -String_1dd768: - db "This certifies" - next "that you have" - next "completed the" - next "new #DEX." - next "Congratulations!" - db "@" -; 1dd7ae - -Function1dd7ae: ; 1dd7ae - ld hl, TileMap - ld bc, $0168 - ld a, $7f - call ByteFill - ld hl, Tilemap_1dddb3 - ld de, TileMap - ld bc, $0168 - call CopyBytes - ld de, String_1dd7fa - hlcoord 8, 0 - call PlaceString - ld de, String_1dd7f0 - hlcoord 3, 15 - call PlaceString - hlcoord 12, 15 - ld de, GameTimeHours - ld bc, $0204 - call PrintNum - ld [hl], $67 - inc hl - ld de, GameTimeMinutes - ld bc, $8102 - call PrintNum - ret -; 1dd7f0 - -String_1dd7f0: db "PLAY TIME@" -String_1dd7fa: db "GAME FREAK@" -; 1dd805 - -LZ_1dd805: ; 1dd805 -INCBIN "gfx/unknown/1dd805.2bpp.lz" - -Tilemap_1ddc4b: ; 1ddc4b -INCBIN "gfx/unknown/1ddc4b.tilemap" - -Tilemap_1dddb3: ; 1dddb3 -INCBIN "gfx/unknown/1dddb3.tilemap" Function1ddf1c: ; 1ddf1c ld hl, LZ_1ddf33 From 9aef93701a6cd301a3343c58efac31528958be22 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 14:13:22 -0800 Subject: [PATCH 12/20] Split out map object code. --- engine/map_objects.asm | 3683 ++++++++++++++++++++++++++++++++++++++++ main.asm | 3683 +--------------------------------------- 2 files changed, 3684 insertions(+), 3682 deletions(-) create mode 100644 engine/map_objects.asm diff --git a/engine/map_objects.asm b/engine/map_objects.asm new file mode 100644 index 000000000..983c1c700 --- /dev/null +++ b/engine/map_objects.asm @@ -0,0 +1,3683 @@ + +INCLUDE "engine/facings.asm" + +Data4273:: ; 4273 + db $00, $00, $01, $02, $00, $00 + db $06, $00, $01, $0c, $00, $00 + db $03, $00, $01, $00, $00, $00 + db $04, $00, $01, $00, $00, $00 + db $01, $00, $01, $00, $00, $00 + db $02, $00, $01, $00, $00, $00 + db $06, $00, $01, $00, $00, $00 + db $06, $01, $01, $00, $00, $00 + db $06, $02, $01, $00, $00, $00 + db $06, $03, $01, $00, $00, $00 + db $05, $00, $01, $00, $00, $00 + db $07, $00, $01, $02, $00, $00 + db $08, $00, $01, $00, $00, $00 + db $09, $00, $01, $00, $00, $00 + db $0a, $00, $01, $00, $00, $00 + db $0b, $00, $01, $00, $00, $00 + db $0c, $00, $01, $00, $00, $00 + db $0d, $00, $01, $00, $00, $00 + db $0e, $00, $01, $00, $00, $00 + db $0f, $00, $01, $02, $00, $00 + db $10, $00, $01, $02, $00, $00 + db $15, $00, $09, $2e, $01, $c0 + db $16, $00, $0a, $2e, $00, $00 + db $06, $00, $01, $0c, $00, $00 + db $06, $00, $01, $2e, $10, $00 + db $11, $00, $01, $2e, $00, $40 + db $12, $00, $01, $02, $00, $00 + db $13, $00, $00, $8e, $01, $00 + db $14, $00, $08, $8e, $02, $00 + db $17, $00, $00, $82, $00, $00 + db $19, $02, $01, $00, $00, $00 + db $18, $03, $01, $00, $00, $00 + db $11, $00, $0c, $2e, $01, $c0 + db $11, $00, $0d, $2e, $01, $c0 + db $1a, $00, $0e, $8e, $01, $00 + db $1b, $00, $0f, $8e, $02, $00 + db $03, $00, $01, $00, $00, $20 + db $00, $00, $01, $00, $00, $00 +; 4357 + + +Function4357:: ; 4357 + push bc + ld hl, OBJECT_01 + add hl, bc + ld a, [hl] + push af + ld h, b + ld l, c + ld bc, ObjectStruct2 - ObjectStruct1 + xor a + call ByteFill + pop af + cp $ff + jr z, .asm_4379 + bit 7, a + jr nz, .asm_4379 + call GetMapObject + ld hl, OBJECT_00 + add hl, bc + ld [hl], $ff + +.asm_4379 + pop bc + ret +; 437b + +Function437b: ; 437b + call Function4386 + ret c + call Function43f3 + call Function4427 + ret +; 4386 + +Function4386: ; 4386 + ld hl, OBJECT_FLAGS + add hl, bc + res 6, [hl] + ld a, [XCoord] + ld e, a + ld hl, OBJECT_MAP_X + add hl, bc + ld a, [hl] + add $1 + sub e + jr c, .asm_43b2 + cp $c + jr nc, .asm_43b2 + ld a, [YCoord] + ld e, a + ld hl, OBJECT_MAP_Y + add hl, bc + ld a, [hl] + add $1 + sub e + jr c, .asm_43b2 + cp $b + jr nc, .asm_43b2 + jr .asm_43dc + +.asm_43b2 + ld hl, OBJECT_FLAGS + add hl, bc + set 6, [hl] + ld a, [XCoord] + ld e, a + ld hl, OBJECT_20 + add hl, bc + ld a, [hl] + add $1 + sub e + jr c, .asm_43de + cp $c + jr nc, .asm_43de + ld a, [YCoord] + ld e, a + ld hl, OBJECT_21 + add hl, bc + ld a, [hl] + add $1 + sub e + jr c, .asm_43de + cp $b + jr nc, .asm_43de + +.asm_43dc + and a + ret + +.asm_43de + ld hl, OBJECT_04 + add hl, bc + bit 1, [hl] + jr nz, .asm_43eb + call Function4357 + scf + ret + +.asm_43eb + ld hl, OBJECT_FLAGS + add hl, bc + set 6, [hl] + and a + ret +; 43f3 + +Function43f3: ; 43f3 + ld hl, OBJECT_09 + add hl, bc + ld a, [hl] + and a + jr z, .asm_4409 + ld hl, OBJECT_FLAGS + add hl, bc + bit 5, [hl] + jr nz, .asm_4426 + cp $1 + jr z, .asm_4414 + jr .asm_4421 + +.asm_4409 + call Function47bc + ld hl, OBJECT_FLAGS + add hl, bc + bit 5, [hl] + jr nz, .asm_4426 + +.asm_4414 + call Function47dd + ld hl, OBJECT_09 + add hl, bc + ld a, [hl] + and a + ret z + cp $1 + ret z + +.asm_4421 + ld hl, Pointers4b45 + rst JumpTable + ret + +.asm_4426 + ret +; 4427 + +Function4427: ; 4427 + ld hl, OBJECT_04 + add hl, bc + bit 0, [hl] + jr nz, Function44a3 + + ld hl, OBJECT_FLAGS + add hl, bc + bit 6, [hl] + jr nz, Function44a3 + + bit 5, [hl] + jr nz, Function4448 + + ld de, Pointers445f + jr Function444d +; 4440 + +Function4440: ; 4440 + ld hl, OBJECT_04 + add hl, bc + bit 0, [hl] + jr nz, Function44a3 + ; fallthrough +; 4448 + +Function4448: ; 4448 + ld de, Pointers445f + 2 + jr Function444d +; 444d + +Function444d: ; 444d + ld hl, OBJECT_11 + add hl, bc + ld a, [hl] + ld l, a + ld h, 0 + add hl, hl + add hl, hl + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call _hl_ + ret +; 445f + +Pointers445f: ; 445f + dw Function44a3 + dw Function44a3 + dw Function44b5 + dw Function44aa + dw Function44c1 + dw Function44aa + dw Function4508 + dw Function44aa + dw Function4529 + dw Function44aa + dw Function4539 + dw Function44a3 + dw Function456e + dw Function456e + dw Function457b + dw Function44a3 + dw Function4582 + dw Function4582 + dw Function4589 + dw Function4589 + dw Function4590 + dw Function45a4 + dw Function45ab + dw Function44aa + dw Function45be + dw Function45be + dw Function45c5 + dw Function45c5 + dw Function45da + dw Function44a3 + dw Function45ed + dw Function44a3 + dw Function44e4 + dw Function44aa +; 44a3 + +Function44a3: ; 44a3 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], $ff + ret +; 44aa + +Function44aa: ; 44aa + call GetSpriteDirection + or $0 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], a + ret +; 44b5 + +Function44b5: ; 44b5 + ld hl, OBJECT_FACING + add hl, bc + ld a, [hl] + and $1 + jr nz, Function44c1 + jp Function44aa +; 44c1 + +Function44c1: ; 44c1 + ld hl, OBJECT_04 + add hl, bc + bit 3, [hl] + jp nz, Function44aa + ld hl, OBJECT_12 + add hl, bc + ld a, [hl] + inc a + and $f + ld [hl], a + rrca + rrca + and $3 + ld d, a + call GetSpriteDirection + or $0 + or d + ld hl, OBJECT_FACING + add hl, bc + ld [hl], a + ret +; 44e4 + +Function44e4: ; 44e4 + ld hl, OBJECT_04 + add hl, bc + bit 3, [hl] + jp nz, Function44aa + ld hl, OBJECT_12 + add hl, bc + ld a, [hl] + add $2 + and $f + ld [hl], a + rrca + rrca + and $3 + ld d, a + call GetSpriteDirection + or $0 + or d + ld hl, OBJECT_FACING + add hl, bc + ld [hl], a + ret +; 4508 + +Function4508: ; 4508 + ld hl, OBJECT_04 + add hl, bc + bit 3, [hl] + jp nz, Function44aa + ld hl, OBJECT_12 + add hl, bc + inc [hl] + ld a, [hl] + rrca + rrca + rrca + and $3 + ld d, a + call GetSpriteDirection + or $0 + or d + ld hl, OBJECT_FACING + add hl, bc + ld [hl], a + ret +; 4529 + +Function4529: ; 4529 + call Function453f + ld hl, OBJECT_08 + add hl, bc + ld a, [hl] + or $0 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], a + ret +; 4539 + +Function4539: ; 4539 + call Function453f + jp Function44a3 +; 453f + +Function453f: ; 453f + ld hl, OBJECT_12 + add hl, bc + ld a, [hl] + and $f0 + ld e, a + ld a, [hl] + inc a + and $f + ld d, a + cp $4 + jr c, .asm_4558 + ld d, 0 + ld a, e + add $10 + and $30 + ld e, a + +.asm_4558 + ld a, d + or e + ld [hl], a + swap e + ld d, 0 + ld hl, .Directions + add hl, de + ld a, [hl] + ld hl, OBJECT_08 + add hl, bc + ld [hl], a + ret +; 456a + +.Directions ; 456a + db $00, $0c, $04, $08 +; 456e + +Function456e: ; 456e + call GetSpriteDirection + rrca + rrca + add $10 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], a + ret +; 457b + +Function457b: ; 457b + ld hl, OBJECT_FACING + add hl, bc + ld [hl], $15 + ret +; 4582 + +Function4582: ; 4582 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], $14 + ret +; 4589 + +Function4589: ; 4589 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], $17 + ret +; 4590 + +Function4590: ; 4590 + ld hl, OBJECT_12 + add hl, bc + ld a, [hl] + inc a + and $f + ld [hl], a + and $8 + jr z, Function45a4 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], $4 + ret +; 45a4 + +Function45a4: ; 45a4 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], $0 + ret +; 45ab + +Function45ab: ; 45ab + ld hl, OBJECT_12 + add hl, bc + ld a, [hl] + inc a + ld [hl], a + and $c + rrca + rrca + add $18 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], a + ret +; 45be + +Function45be: ; 45be + ld hl, OBJECT_FACING + add hl, bc + ld [hl], $16 + ret +; 45c5 + +Function45c5: ; 45c5 + ld a, [VariableSprites + 3] + ld d, $17 + cp $33 + jr z, .asm_45d4 + cp $47 + jr z, .asm_45d4 + ld d, $16 + +.asm_45d4 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], d + ret +; 45da + +Function45da: ; 45da + ld hl, OBJECT_12 + add hl, bc + inc [hl] + ld a, [hl] + + ld hl, OBJECT_FACING + add hl, bc + and 2 + ld a, $1c + jr z, .asm_45eb + inc a +.asm_45eb + ld [hl], a + ret +; 45ed + +Function45ed: ; 45ed + ld hl, OBJECT_12 + add hl, bc + inc [hl] + ld a, [hl] + ld hl, OBJECT_FACING + add hl, bc + and 4 + ld a, $1e + jr z, .asm_45fe + inc a + +.asm_45fe + ld [hl], a + ret +; 4600 + +Function4600: ; 4600 + + ld hl, OBJECT_MAP_X + add hl, bc + ld a, [hl] + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + ld [hl], a + + ld hl, OBJECT_MAP_Y + add hl, bc + ld a, [hl] + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + ld [hl], a + + ld hl, OBJECT_STANDING_TILE + add hl, bc + ld a, [hl] + ld hl, OBJECT_NEXT_TILE + add hl, bc + ld [hl], a + + call Function4661 + ld hl, OBJECT_STANDING_TILE + add hl, bc + ld a, [hl] + + call Function4679 + ret +; 462a + +Function462a: ; 462a + + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + ld a, [hl] + ld hl, OBJECT_MAP_X + add hl, bc + ld [hl], a + + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + ld a, [hl] + ld hl, OBJECT_MAP_Y + add hl, bc + ld [hl], a + + ret +; 463f + +Function463f: ; 463f + ld hl, OBJECT_FLAGS + add hl, bc + bit 3, [hl] + jr z, .asm_464f + ld hl, OBJECT_STANDING_TILE + add hl, bc + ld a, [hl] + call Function4661 + +.asm_464f + ld hl, OBJECT_STANDING_TILE + add hl, bc + ld a, [hl] + call Function4679 + ret c + ld hl, OBJECT_NEXT_TILE + add hl, bc + ld a, [hl] + call Function4679 + ret +; 4661 + +Function4661: ; 4661 + call Function188e + jr z, .asm_466b + call Function1875 + jr c, .asm_4672 + +.asm_466b + ld hl, OBJECT_FLAGS + add hl, bc + set 3, [hl] + ret + +.asm_4672 + ld hl, OBJECT_FLAGS + add hl, bc + res 3, [hl] + ret +; 4679 + +Function4679: ; 4679 + and a + ret +; 467b + +Function467b: ; 467b + xor a + ld hl, OBJECT_12 + add hl, bc + ld [hl], a + ld hl, OBJECT_27 + add hl, bc + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ret +; 4690 + +Function4690: ; 4690 + ld hl, OBJECT_07 + add hl, bc + ld [hl], a + ld hl, OBJECT_04 + add hl, bc + bit 2, [hl] + jr nz, .asm_46a6 + + add a + add a + and $c + ld hl, OBJECT_08 + add hl, bc + ld [hl], a + +.asm_46a6 + ; fallthrough +; 46a6 + +Function46a6: ; 46a6 + + call GetStepVector + + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], a + + ld a, d + call Function4730 + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + add [hl] + ld hl, OBJECT_MAP_X + add hl, bc + ld [hl], a + ld d, a + + ld a, e + call Function4730 + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + add [hl] + ld hl, OBJECT_MAP_Y + add hl, bc + ld [hl], a + ld e, a + + push bc + call Function2a3c + pop bc + + ld hl, OBJECT_STANDING_TILE + add hl, bc + ld [hl], a + + ret +; 46d7 + +Function46d7: ; 46d7 + + call GetStepVector + + ld hl, OBJECT_SPRITE_X + add hl, bc + ld a, [hl] + add d + ld [hl], a + + ld hl, OBJECT_SPRITE_Y + add hl, bc + ld a, [hl] + add e + ld [hl], a + + ret +; 46e9 + +GetStepVector: ; 46e9 +; Return (x, y, duration, speed) in (d, e, a, h). + ld hl, OBJECT_07 + add hl, bc + ld a, [hl] + and $f + add a + add a + ld l, a + ld h, 0 + ld de, StepVectors + add hl, de + ld d, [hl] + inc hl + ld e, [hl] + inc hl + ld a, [hli] + ld h, [hl] + ret +; 4700 + +StepVectors: ; 4700 +; x, y, duration, speed + ; slow + db 0, 1, 16, 1 + db 0, -1, 16, 1 + db -1, 0, 16, 1 + db 1, 0, 16, 1 + ; normal + db 0, 2, 8, 2 + db 0, -2, 8, 2 + db -2, 0, 8, 2 + db 2, 0, 8, 2 + ; fast + db 0, 4, 4, 4 + db 0, -4, 4, 4 + db -4, 0, 4, 4 + db 4, 0, 4, 4 +; 4730 + +Function4730: ; 4730 + add a + ret z + ld a, 1 + ret nc + ld a, -1 + ret +; 4738 + +Function4738: ; 4738 + ld hl, OBJECT_07 + add hl, bc + ld a, [hl] + and $3 + ld [wd151], a + call Function46d7 + ld a, [wd14e] + add d + ld [wd14e], a + ld a, [wd14f] + add e + ld [wd14f], a + ld hl, wd150 + set 5, [hl] + ret +; 4759 + +Function4759: ; 4759 + push bc + ld e, a + ld d, 0 + ld hl, OBJECT_01 + add hl, bc + ld a, [hl] + call GetMapObject + add hl, de + ld a, [hl] + pop bc + ret +; 4769 + +Function4769: ; 4769 + ld hl, OBJECT_01 + add hl, bc + ld a, [hl] + cp $ff + jr z, .asm_477d + push bc + call GetMapObject + ld hl, $0004 + add hl, bc + ld a, [hl] + pop bc + ret + +.asm_477d + ld a, $6 + ret +; 4780 + +Function4780: ; 4780 + ld hl, OBJECT_27 + add hl, bc + ld [hl], $0 + ret +; 4787 + +Function4787: ; 4787 + ld hl, OBJECT_27 + add hl, bc + inc [hl] + ret +; 478d + +Function478d: ; 478d + ld hl, OBJECT_27 + add hl, bc + dec [hl] + ret +; 4793 + +Function4793: ; 4793 + ld hl, OBJECT_27 + add hl, bc + ld a, [hl] + pop hl + rst JumpTable + ret +; 479b + +Function479b: ; 479b + ld hl, OBJECT_28 + add hl, bc + ld [hl], $0 + ret +; 47a2 + +Function47a2: ; 47a2 + ld hl, OBJECT_28 + add hl, bc + inc [hl] + ret +; 47a8 + +Function47a8: ; 47a8 + ld hl, OBJECT_28 + add hl, bc + ld a, [hl] + pop hl + rst JumpTable + ret +; 47b0 + +Function47b0: ; 47b0 + ld hl, OBJECT_28 + add hl, bc + ld a, [hl] + ret +; 47b6 + +Function47b6: ; 47b6 + ld hl, OBJECT_28 + add hl, bc + ld [hl], a + ret +; 47bc + +Function47bc: ; 47bc + ld hl, OBJECT_MAP_X + add hl, bc + ld d, [hl] + ld hl, OBJECT_MAP_Y + add hl, bc + ld e, [hl] + push bc + call Function2a3c + pop bc + ld hl, OBJECT_STANDING_TILE + add hl, bc + ld [hl], a + call Function4600 + call Function467b + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 47dd + +Function47dd: ; 47dd + call Function479b + call Function1a2f + ld a, [hl] + ld hl, .Pointers + rst JumpTable + ret +; 47e9 + +.Pointers ; 47e9 + dw Function4821 + dw Function4822 + dw Function482c + dw Function4838 + dw Function4842 + dw Function4851 + dw Function4869 + dw Function487c + dw Function4882 + dw Function4888 + dw Function488e + dw Function4891 + dw Function4894 + dw Function4897 + dw Function489d + dw Function48a0 + dw Function48a6 + dw Function48ac + dw Function48ff + dw Function49e5 + dw Function4a21 + dw Function4958 + dw Function496e + dw Function4abc + dw Function498d + dw Function4984 + dw Function4a46 + dw Function4a89 +; 4821 + +Function4821: ; 4821 + ret +; 4822 + +Function4822: ; 4822 + call Random + ld a, [hRandomAdd] + and 1 + jp Function4af0 +; 482c + +Function482c: ; 482c + call Random + ld a, [hRandomAdd] + and 1 + or 2 + jp Function4af0 +; 4838 + +Function4838: ; 4838 + call Random + ld a, [hRandomAdd] + and 3 + jp Function4af0 +; 4842 + +Function4842: ; 4842 + call Random + ld a, [hRandomAdd] + and $c + ld hl, OBJECT_08 + add hl, bc + ld [hl], a + jp Function4b1d +; 4851 + +Function4851: ; 4851 + ld hl, OBJECT_08 + add hl, bc + ld a, [hl] + and $c + ld d, a + call Random + ld a, [hRandomAdd] + and $c + cp d + jr nz, .asm_4865 + xor $c + +.asm_4865 + ld [hl], a + jp Function4b26 +; 4869 + +Function4869: ; 4869 + call Function462a + call Function467b + ld hl, OBJECT_11 + add hl, bc + ld [hl], $1 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $5 + ret +; 487c + +Function487c: ; 487c + ld hl, Function5000 + jp Function5041 +; 4882 + +Function4882: ; 4882 + ld hl, Function5015 + jp Function5041 +; 4888 + +Function4888: ; 4888 + ld hl, Function5026 + jp Function5041 +; 488e + +Function488e: ; 488e + jp Function5037 +; 4891 + +Function4891: ; 4891 + jp Function5037 +; 4894 + +Function4894: ; 4894 + jp Function5037 +; 4897 + +Function4897: ; 4897 + ld hl, Function5000 + jp Function5041 +; 489d + +Function489d: ; 489d + jp Function5037 +; 48a0 + +Function48a0: ; 48a0 + ld hl, Function54e6 + jp Function5041 +; 48a6 + +Function48a6: ; 48a6 + ld hl, Function500e + jp Function5041 +; 48ac + +Function48ac: ; 48ac + call Function4793 + dw Function48b3 + dw Function48f8 +; 48b3 + +Function48b3: ; 48b3 + ld hl, OBJECT_STANDING_TILE + add hl, bc + ld a, [hl] + call CheckPitTile + jr z, .asm_48f5 + ld hl, OBJECT_FLAGS + add hl, bc + bit 2, [hl] + res 2, [hl] + jr z, .asm_48ee + ld hl, OBJECT_32 + add hl, bc + ld a, [hl] + and $3 + or $0 + call Function4690 + call Function6ec1 + jr c, .asm_48eb + ld de, SFX_STRENGTH + call PlaySFX + call Function5538 + call Function463f + ld hl, OBJECT_09 + add hl, bc + ld [hl], $f + ret + +.asm_48eb + call Function462a + +.asm_48ee + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ret + +.asm_48f5 + call Function4787 + ; fallthrough +; 48f8 + +Function48f8: ; 48f8 + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ret +; 48ff + +Function48ff: ; 48ff + ld hl, OBJECT_MAP_X + add hl, bc + ld d, [hl] + ld hl, OBJECT_MAP_Y + add hl, bc + ld e, [hl] + ld hl, OBJECT_32 + add hl, bc + ld a, [hl] + push bc + call Function1ae5 + ld hl, OBJECT_07 + add hl, bc + ld a, [hl] + cp $ff + jr z, .asm_494a + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + ld a, [hl] + cp d + jr z, .asm_492d + jr c, .asm_4929 + ld a, $3 + jr .asm_493d + +.asm_4929 + ld a, $2 + jr .asm_493d + +.asm_492d + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + ld a, [hl] + cp e + jr z, .asm_494a + jr c, .asm_493b + ld a, $0 + jr .asm_493d + +.asm_493b + ld a, $1 + +.asm_493d + ld d, a + ld hl, OBJECT_07 + add hl, bc + ld a, [hl] + and $c + or d + pop bc + jp Function5412 + +.asm_494a + pop bc + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ld hl, OBJECT_11 + add hl, bc + ld [hl], $1 + ret +; 4958 + +Function4958: ; 4958 + call Function467b + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ld hl, OBJECT_11 + add hl, bc + ld [hl], $9 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $4 + ret +; 496e + +Function496e: ; 496e + call Function467b + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ld hl, OBJECT_11 + add hl, bc + ld [hl], $a + ld hl, OBJECT_09 + add hl, bc + ld [hl], $4 + ret +; 4984 + +Function4984: ; 4984 + call Function4793 + dw Function4996 + dw Function499c + dw Function49b8 +; 498d + +Function498d: ; 498d + call Function4793 + dw Function4996 + dw Function499c + dw Function49c4 +; 4996 + +Function4996: ; 4996 + call Function467b + call Function4787 + ; fallthrough +; 499c + +Function499c: ; 499c + ld hl, OBJECT_11 + add hl, bc + ld [hl], $1 + ld hl, OBJECT_32 + add hl, bc + ld a, [hl] + ld a, $10 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], a + ld hl, OBJECT_09 + add hl, bc + ld [hl], $3 + call Function4787 + ret +; 49b8 + +Function49b8: ; 49b8 + ld de, .data_49c0 + call Function49d0 + jr Function4984 +; 49c0 + +.data_49c0 ; 49c0 + db $0c, $08, $00, $04 +; 49c4 + +Function49c4: ; 49c4 + ld de, .data_49cc + call Function49d0 + jr Function498d +; 49cc + +.data_49cc ; 49cc + db $08, $0c, $04, $00 +; 49d0 + +Function49d0: ; 49d0 + ld hl, OBJECT_08 + add hl, bc + ld a, [hl] + and $c + rrca + rrca + push hl + ld l, a + ld h, $0 + add hl, de + ld a, [hl] + pop hl + ld [hl], a + call Function478d + ret +; 49e5 + +Function49e5: ; 49e5 + call Function4aa8 + ld hl, OBJECT_11 + add hl, bc + ld [hl], $7 + ld hl, OBJECT_STEP_DURATION + add hl, de + ld a, [hl] + inc a + add a + add $0 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], a + ld hl, OBJECT_07 + add hl, de + ld a, [hl] + and 3 + ld d, $e + cp 0 + jr z, .asm_4a0f + cp 1 + jr z, .asm_4a0f + ld d, $c + +.asm_4a0f + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], d + ld hl, OBJECT_SPRITE_X_OFFSET + add hl, bc + ld [hl], $0 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $13 + ret +; 4a21 + +Function4a21: ; 4a21 + call Function467b + call Function4aa8 + ld hl, OBJECT_11 + add hl, bc + ld [hl], $8 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $0 + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], $f0 + ld hl, OBJECT_SPRITE_X_OFFSET + add hl, bc + ld [hl], $0 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $13 + ret +; 4a46 + +Function4a46: ; 4a46 + call Function467b + call Function4aa8 + ld hl, OBJECT_11 + add hl, bc + ld [hl], $e + ld hl, OBJECT_STEP_DURATION + add hl, de + ld a, [hl] + inc a + add a + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], a + ld hl, OBJECT_07 + add hl, de + ld a, [hl] + and 3 + ld e, a + ld d, 0 + ld hl, .data_4a81 + add hl, de + add hl, de + ld d, [hl] + inc hl + ld e, [hl] + ld hl, OBJECT_SPRITE_X_OFFSET + add hl, bc + ld [hl], d + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], e + ld hl, OBJECT_09 + add hl, bc + ld [hl], $13 + ret +; 4a81 + +.data_4a81 ; 4a81 + ; x, y + db 0, -4 + db 0, 8 + db 6, 2 + db -6, 2 +; 4a89 + +Function4a89: ; 4a89 + call Function467b + call Function4aa8 + ld hl, OBJECT_11 + add hl, bc + ld [hl], $f + ld hl, OBJECT_STEP_DURATION + add hl, de + ld a, [hl] + add $ff + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], a + ld hl, OBJECT_09 + add hl, bc + ld [hl], $13 + ret +; 4aa8 + +Function4aa8: ; 4aa8 + ld hl, OBJECT_32 + add hl, bc + ld a, [hl] + push bc + call Function1ae5 + ld d, b + ld e, c + pop bc + ld hl, OBJECT_29 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret +; 4abc + +Function4abc: ; 4abc + call Function467b + ld hl, OBJECT_11 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_32 + add hl, bc + ld a, [hl] + call Function4ade + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], e + ld hl, OBJECT_30 + add hl, bc + ld [hl], a + ld hl, OBJECT_09 + add hl, bc + ld [hl], $15 + ret +; 4ade + +Function4ade: ; 4ade + ld d, a + and $3f + ld e, a + ld a, d + rlca + rlca + and $3 + ld d, a + inc d + ld a, $1 +.asm_4aeb + dec d + ret z + add a + jr .asm_4aeb +; 4af0 + +Function4af0: ; 4af0 + call Function4690 + call Function6ec1 + jr c, Function4b17 + call Function463f + ld hl, OBJECT_11 + add hl, bc + ld [hl], $2 + ld hl, wd4cf + ld a, [$ffaf] + cp [hl] + jr z, .asm_4b10 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $7 + ret + +.asm_4b10 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $6 + ret + +Function4b17: ; 4b17 + call Function467b + call Function462a + ; fallthrough +; 4b1d + +Function4b1d: ; 4b1d + call Random + ld a, [hRandomAdd] + and $7f + jr Function4b2d +; 4b26 + +Function4b26: ; 4b26 + call Random + ld a, [hRandomAdd] + and $1f + ; fallthrough +; 4b2d + +Function4b2d: ; 4b2d + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], a + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ld hl, OBJECT_11 + add hl, bc + ld [hl], $1 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $3 + ret +; 4b45 + +Pointers4b45: ; 4b45 + dw Function47bc + dw Function47dd + dw Function4e2b + dw Function4ddd + dw Function4e21 + dw Function4e0c + dw Function4e56 + dw Function4e47 + dw Function4b86 + dw Function4bbf + dw Function4e83 + dw Function4dff + dw Function4c18 + dw Function4c89 + dw Function4d14 + dw Function4ecd + dw Function4d7e + dw Function4daf + dw Function4dc8 + dw Function4f04 + dw Function4f33 + dw Function4f33 + dw Function4f77 + dw Function4f7a + dw Function4df0 + dw Function4f83 +; 4b79 + +Function4b79: ; 4b79 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4b86 + +Function4b86: ; 4b86 + call Function47a8 + dw Function4b8d + dw Function4ba9 +; 4b8d + +Function4b8d: ; 4b8d + call Function46d7 + call UpdateJumpPosition + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + call Function4600 + call Function46a6 + ld hl, OBJECT_FLAGS + add hl, bc + res 3, [hl] + call Function47a2 + ret +; 4ba9 + +Function4ba9: ; 4ba9 + call Function46d7 + call UpdateJumpPosition + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + call Function4600 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4bbf + +Function4bbf: ; 4bbf + call Function47a8 + dw Function4bca + dw Function4bd2 + dw Function4bf2 + dw Function4bfd +; 4bca + +Function4bca: ; 4bca + ld hl, wd150 + set 7, [hl] + call Function47a2 +; fallthrough +; 4bd2 + +Function4bd2: ; 4bd2 + call UpdateJumpPosition + call Function4738 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + call Function4600 + ld hl, OBJECT_FLAGS + add hl, bc + res 3, [hl] + ld hl, wd150 + set 6, [hl] + set 4, [hl] + call Function47a2 + ret +; 4bf2 + +Function4bf2: ; 4bf2 + call Function46a6 + ld hl, wd150 + set 7, [hl] + call Function47a2 +; fallthrough +; 4bfd + +Function4bfd: ; 4bfd + call UpdateJumpPosition + call Function4738 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + ld hl, wd150 + set 6, [hl] + call Function4600 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4c18 + +Function4c18: ; 4c18 + call Function47a8 + dw Function4c23 + dw Function4c32 + dw Function4c42 + dw Function4c5d +; 4c23 + +Function4c23: ; 4c23 + ld hl, OBJECT_12 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $10 + call Function47a2 +; fallthrough +; 4c32 + +Function4c32: ; 4c32 + ld hl, OBJECT_11 + add hl, bc + ld [hl], $4 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + call Function47a2 + ret +; 4c42 + +Function4c42: ; 4c42 + ld hl, OBJECT_12 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_31 + add hl, bc + ld [hl], $10 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $10 + ld hl, OBJECT_FLAGS + add hl, bc + res 3, [hl] + call Function47a2 +; fallthrough +; 4c5d + +Function4c5d: ; 4c5d + ld hl, OBJECT_11 + add hl, bc + ld [hl], $4 + ld hl, OBJECT_31 + add hl, bc + inc [hl] + ld a, [hl] + ld d, $60 + call Sine + ld a, h + sub $60 + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], a + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + ld hl, OBJECT_12 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4c89 + +Function4c89: ; 4c89 + call Function47a8 + dw Function4c9a + dw Function4caa + dw Function4cb3 + dw Function4cc9 + dw Function4ceb + dw Function4cf5 + dw Function4d01 +; 4c9a + +Function4c9a: ; 4c9a + ld hl, OBJECT_11 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $10 + call Function47a2 + ret +; 4caa + +Function4caa: ; 4caa + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + call Function47a2 +; fallthrough +; 4cb3 + +Function4cb3: ; 4cb3 + ld hl, OBJECT_12 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_31 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $10 + call Function47a2 + ret +; 4cc9 + +Function4cc9: ; 4cc9 + ld hl, OBJECT_11 + add hl, bc + ld [hl], $4 + ld hl, OBJECT_31 + add hl, bc + inc [hl] + ld a, [hl] + ld d, $60 + call Sine + ld a, h + sub $60 + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], a + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + call Function47a2 +; fallthrough +; 4ceb + +Function4ceb: ; 4ceb + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $10 + call Function47a2 + ret +; 4cf5 + +Function4cf5: ; 4cf5 + ld hl, OBJECT_11 + add hl, bc + ld [hl], $4 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz +; 4d01 + +Function4d01: ; 4d01 + ld hl, OBJECT_12 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], $0 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4d14 + +Function4d14: ; 4d14 + call Function47a8 + dw Function4d1f + dw Function4d2e + dw Function4d4f + dw Function4d6b +; 4d1f + +Function4d1f: ; 4d1f + ld hl, OBJECT_11 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $10 + call Function47a2 +; fallthrough +; 4d2e + +Function4d2e: ; 4d2e + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + ld hl, OBJECT_11 + add hl, bc + ld [hl], $2 + ld hl, OBJECT_12 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_31 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $10 + call Function47a2 +; fallthrough +; 4d4f + +Function4d4f: ; 4d4f + ld hl, OBJECT_31 + add hl, bc + inc [hl] + ld a, [hl] + ld d, $60 + call Sine + ld a, h + sub $60 + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], a + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + call Function47a2 +; fallthrough +; 4d6b + +Function4d6b: ; 4d6b + ld hl, OBJECT_12 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], $0 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4d7e + +Function4d7e: ; 4d7e + call Function47a8 + dw Function4d85 + dw Function4d94 +; 4d85 + +Function4d85: ; 4d85 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $8 + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], $0 + call Function47a2 + ; fallthrough +; 4d94 + +Function4d94: ; 4d94 + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld a, [hl] + xor 1 + ld [hl], a + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], $0 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4daf + +Function4daf: ; 4daf + call Function4db5 + jp Function4b79 +; 4db5 + +Function4db5: ; 4db5 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld a, [hl] + and $1 + ld a, $1 + jr z, .asm_4dc2 + ld a, $0 + +.asm_4dc2 + ld hl, OBJECT_11 + add hl, bc + ld [hl], a + ret +; 4dc8 + +Function4dc8: ; 4dc8 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld a, [hl] + and $1 + ld a, $4 + jr z, .asm_4dd5 + ld a, $5 + +.asm_4dd5 + ld hl, OBJECT_11 + add hl, bc + ld [hl], a + jp Function4b79 +; 4ddd + +Function4ddd: ; 4ddd + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4df0 + +Function4df0: ; 4df0 + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + jp Function4357 +; 4dff + +Function4dff: ; 4dff + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4e0c + +Function4e0c: ; 4e0c + call Function47a8 + dw Function4e13 + dw Function4e21 +; 4e13 + +Function4e13: ; 4e13 + call Function4769 + call Function1a47 + ld hl, OBJECT_08 + add hl, bc + ld [hl], a + call Function47a2 + ; fallthrough +; 4e21 + +Function4e21: ; 4e21 + call Function4fb2 + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ret +; 4e2b + +Function4e2b: ; 4e2b + call Function4fb2 + call Function46d7 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + call Function4600 + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4e47 + +Function4e47: ; 4e47 + call Function46d7 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + call Function4600 + jp Function4b1d +; 4e56 + +Function4e56: ; 4e56 +; AnimateStep? + call Function47a8 + dw Function4e5d + dw Function4e65 +; 4e5d + +Function4e5d: ; 4e5d + ld hl, wd150 + set 7, [hl] + call Function47a2 + ; fallthrough +; 4e65 + +Function4e65: ; 4e65 + call Function4738 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + ld hl, wd150 + set 6, [hl] + call Function4600 + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4e83 + +Function4e83: ; 4e83 + call Function47a8 + dw Function4e8e + dw Function4ea4 + dw Function4ead + dw Function4ec0 +; 4e8e + +Function4e8e: ; 4e8e + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ld hl, OBJECT_12 + add hl, bc + ld a, [hl] + ld [hl], $2 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $2 + call Function47a2 + ; fallthrough +; 4ea4 + +Function4ea4: ; 4ea4 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + call Function47a2 + ; fallthrough +; 4ead + +Function4ead: ; 4ead + ld hl, OBJECT_29 + add hl, bc + ld a, [hl] + ld hl, OBJECT_08 + add hl, bc + ld [hl], a + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $2 + call Function47a2 + ; fallthrough +; 4ec0 + +Function4ec0: ; 4ec0 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4ecd + +Function4ecd: ; 4ecd + call Function46d7 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + push bc + ld hl, OBJECT_MAP_X + add hl, bc + ld d, [hl] + ld hl, OBJECT_MAP_Y + add hl, bc + ld e, [hl] + ld hl, OBJECT_01 + add hl, bc + ld a, [hl] + ld b, a + callba Function807e + pop bc + ld hl, OBJECT_FLAGS + add hl, bc + res 2, [hl] + call Function4600 + ld hl, OBJECT_07 + add hl, bc + ld [hl], $ff + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4f04 + +Function4f04: ; 4f04 + ld hl, OBJECT_29 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, OBJECT_00 + add hl, de + ld a, [hl] + and a + jr z, .asm_4f30 + ld hl, OBJECT_SPRITE_X + add hl, de + ld a, [hl] + ld hl, OBJECT_SPRITE_X + add hl, bc + ld [hl], a + ld hl, OBJECT_SPRITE_Y + add hl, de + ld a, [hl] + ld hl, OBJECT_SPRITE_Y + add hl, bc + ld [hl], a + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld a, [hl] + and a + ret z + dec [hl] + ret nz + +.asm_4f30 + jp Function4357 +; 4f33 + +Function4f33: ; 4f33 + call Function47a8 + dw Function4f3a + dw Function4f43 +; 4f3a + +Function4f3a: ; 4f3a + xor a + ld hl, OBJECT_29 + add hl, bc + ld [hl], a + call Function47a2 + ; fallthrough +; 4f43 + +Function4f43: ; 4f43 + ld hl, OBJECT_29 + add hl, bc + ld d, [hl] + ld a, [wd14f] + sub d + ld [wd14f], a + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + jr z, .asm_4f68 + ld a, [hl] + call Function4f6c + ld hl, OBJECT_29 + add hl, bc + ld [hl], a + ld d, a + ld a, [wd14f] + add d + ld [wd14f], a + ret + +.asm_4f68 + call Function4357 + ret +; 4f6c + +Function4f6c: ; 4f6c + ld hl, OBJECT_30 + add hl, bc + and 1 + ld a, [hl] + ret z + cpl + inc a + ret +; 4f77 + +Function4f77: ; 4f77 + call Function47a8 ; ???? +; 4f7a + +Function4f7a: ; 4f7a + call Function47a8 + dw Function4f83 + dw Function4f83 + dw Function4f83 +; 4f83 + +Function4f83: ; 4f83 + call Function47a8 + dw Function4f8a + dw Function4f99 +; 4f8a + +Function4f8a: ; 4f8a + ld hl, OBJECT_11 + add hl, bc + ld [hl], $10 + ld hl, OBJECT_STEP_DURATION + add hl, bc + ld [hl], $10 + call Function47a2 +; 4f99 + +Function4f99: ; 4f99 + ld hl, OBJECT_STEP_DURATION + add hl, bc + dec [hl] + ret nz + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], $60 + ld hl, OBJECT_12 + add hl, bc + ld [hl], $0 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $1 + ret +; 4fb2 + +Function4fb2: ; 4fb2 + ret +; 4fb3 + +Function4fb3: ; 4fb3 + ld hl, OBJECT_29 + add hl, bc + inc [hl] + ld a, [hl] + srl a + srl a + and 7 + ld l, a + ld h, 0 + ld de, .y + add hl, de + ld a, [hl] + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], a + ret +; 4fcd + +.y ; 4fcd + db 0, -1, -2, -3, -4, -3, -2, -1 +; 4fd5 + +UpdateJumpPosition: ; 4fd5 + call GetStepVector + ld a, h + ld hl, OBJECT_31 + add hl, bc + ld e, [hl] + add e + ld [hl], a + nop + srl e + ld d, 0 + ld hl, .y + add hl, de + ld a, [hl] + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld [hl], a + ret +; 4ff0 + +.y ; 4ff0 + db -4, -6, -8, -10, -11, -12, -12, -12 + db -11, -10, -9, -8, -6, -4, 0, 0 +; 5000 + +Function5000: ; 5000 + ld a, [wc2de] + ld hl, wc2df + ld [hl], a + ld a, $3e + ld [wc2de], a + ld a, [hl] + ret +; 500e + +Function500e: ; 500e + ld hl, wc2e3 + call Function1aae + ret +; 5015 + +Function5015: ; 5015 + ld hl, OBJECT_27 + add hl, bc + ld e, [hl] + inc [hl] + ld d, 0 + ld hl, wc2e2 + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld a, [hl] + ret +; 5026 + +Function5026: ; 5026 + ld hl, OBJECT_27 + add hl, bc + ld e, [hl] + inc [hl] + ld d, 0 + ld hl, wc2e6 + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld a, [hl] + ret +; 5037 + +Function5037: ; 5037 + ld hl, Function503d + jp Function5041 +; 503d + +Function503d: ; 503d + ld a, [wc2e2] + ret +; 5041 + +Function5041: ; 5041 + call Function5055 +.asm_5044 + xor a + ld [wc2ea], a + call Function505e + call Function506b + ld a, [wc2ea] + and a + jr nz, .asm_5044 + ret +; 5055 + +Function5055: ; 5055 + ld a, l + ld [wc2eb], a + ld a, h + ld [wc2ec], a + ret +; 505e + +Function505e: ; 505e + ld hl, wc2eb + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 5065 + +Function5065: ; 5065 + ld a, $1 + ld [wc2ea], a + ret +; 506b + +Function506b: ; 506b + push af + call Function54b8 + pop af + ld hl, MovementPointers + rst JumpTable + ret +; 5075 + + +; 5075 +INCLUDE "engine/movement.asm" +; 54b8 + + +Function54b8: ; 54b8 + ld e, a + ld a, [wd4ce] + cp $ff + ret z + ld a, [wd4cd] + ld d, a + ld a, [$ffaf] + cp d + ret nz + ld a, e + cp $3e + ret z + cp $47 + ret z + cp $4b + ret z + cp $50 + ret z + cp $8 + ret c + push af + ld hl, wd4d0 + inc [hl] + ld e, [hl] + ld d, 0 + ld hl, wd4d1 + add hl, de + pop af + ld [hl], a + ret +; 54e6 + +Function54e6: ; 54e6 + ld hl, wd4d0 + ld a, [hl] + and a + jr z, .asm_5503 + cp $ff + jr z, .asm_5503 + dec [hl] + ld e, a + ld d, 0 + ld hl, wd4d1 + add hl, de + inc e + ld a, $ff +.asm_54fc + ld d, [hl] + ld [hld], a + ld a, d + dec e + jr nz, .asm_54fc + ret + +.asm_5503 + call Function550a + ret c + ld a, $3e + ret +; 550a + +Function550a: ; 550a + ld a, [wd4cd] + cp $ff + jr z, .asm_5520 + push bc + call Function1ae5 + ld hl, OBJECT_00 + add hl, bc + ld a, [hl] + pop bc + and a + jr z, .asm_5520 + and a + ret + +.asm_5520 + ld a, $ff + ld [wd4ce], a + ld a, $47 + scf + ret +; 5529 + +Function5529: ; 5529 + push bc + ld de, .data_5535 + call Function55b9 + call Function55ac + pop bc + ret + +.data_5535 + db $00, $05, $1b +; 5538 + +Function5538: ; 5538 + push bc + ld de, .data_5544 + call Function55b9 + call Function55ac + pop bc + ret + +.data_5544 + db $00, $05, $22 +; 5547 + +Function5547: ; 5547 + push bc + ld de, .data_5553 + call Function55b9 + call Function55ac + pop bc + ret + +.data_5553 + db $00, $05, $1c +; 5556 + +Function5556: ; 5556 + push bc + ld de, .data_5562 + call Function55b9 + call Function55ac + pop bc + ret + +.data_5562 + db $00, $06, $23 +; 5565 + +Function5565: ; 5565 + push bc + push af + ld de, .data_5576 + call Function55b9 + pop af + ld [wc2f5], a + call Function55ac + pop bc + ret + +.data_5576 + db $00, $05, $1d +; 5579 + +Function5579: ; 5579 + push bc + ld a, [$ffaf] + ld c, a + call Function5582 + pop bc + ret +; 5582 + +Function5582: ; 5582 + ld de, ObjectStructs + ld a, $d +.asm_5587 + push af + ld hl, OBJECT_04 + add hl, de + bit 7, [hl] + jr z, .asm_55a1 + ld hl, OBJECT_00 + add hl, de + ld a, [hl] + and a + jr z, .asm_55a1 + push bc + xor a + ld bc, ObjectStruct2 - ObjectStruct1 + call ByteFill + pop bc + +.asm_55a1 + ld hl, ObjectStruct2 - ObjectStruct1 + add hl, de + ld d, h + ld e, l + pop af + dec a + jr nz, .asm_5587 + ret +; 55ac + +Function55ac: ; 55ac + call Function1a13 + ret nc + ld d, h + ld e, l + callba Function8286 + ret +; 55b9 + +Function55b9: ; 55b9 + ld hl, wc2f0 + ld [hl], $ff + inc hl + ld [hl], $ff + inc hl + ld a, [de] + inc de + ld [hli], a + ld a, [de] + inc de + ld [hli], a + ld a, [de] + ld [hli], a + ld a, [$ffaf] + ld [hli], a + push hl + ld hl, OBJECT_MAP_X + add hl, bc + ld d, [hl] + ld hl, OBJECT_MAP_Y + add hl, bc + ld e, [hl] + pop hl + ld [hl], d + inc hl + ld [hl], e + inc hl + ld [hl], $ff + ret +; 55e0 + +Function55e0:: ; 55e0 + ld a, [VramState] + bit 0, a + ret z + ld bc, ObjectStructs + xor a +.asm_55ea + ld [$ffaf], a + call Function1af1 + jr z, .asm_55f4 + call Function565c + +.asm_55f4 + ld hl, ObjectStruct2 - ObjectStruct1 + add hl, bc + ld b, h + ld c, l + ld a, [$ffaf] + inc a + cp $d + jr nz, .asm_55ea + ret +; 5602 + +Function5602: ; 5602 + call Function5645 + ld a, $0 + call Function5629 + ld a, [wd459] + bit 7, a + jr z, .asm_5619 + ld a, [$ffe0] + and a + jr z, .asm_5619 + call Function5629 + +.asm_5619 + call Function5920 + ret +; 561d + +Function561d: ; 561d + call Function5645 + ld a, $0 + call Function5629 + call Function5920 + ret +; 5629 + +Function5629: ; 5629 + cp $10 + ret nc + call GetMapObject + ld hl, $0000 + add hl, bc + ld a, [hl] + cp $ff + ret z + cp $d + ret nc + call Function1ae5 + call Function1af1 + ret z + call Function5673 + ret +; 5645 + +Function5645: ; 5645 + xor a + ld bc, ObjectStructs +.asm_5649 + ld [$ffaf], a + call Function5680 + ld hl, ObjectStruct2 - ObjectStruct1 + add hl, bc + ld b, h + ld c, l + ld a, [$ffaf] + inc a + cp $d + jr nz, .asm_5649 + ret +; 565c + +Function565c: ; 565c + push bc + call Function56cd + pop bc + jr c, Function5680 + call Function56a3 + jr c, Function5680 + call Function5688 + callba Function4440 + xor a + ret +; 5673 + +Function5673: ; 5673 + call Function56a3 + jr c, Function5680 + callba Function4440 + xor a + ret +; 5680 + +Function5680: ; 5680 + ld hl, OBJECT_FACING + add hl, bc + ld [hl], $ff + scf + ret +; 5688 + +Function5688: ; 5688 + push bc + ld hl, OBJECT_MAP_X + add hl, bc + ld d, [hl] + ld hl, OBJECT_MAP_Y + add hl, bc + ld e, [hl] + call Function2a3c + pop bc + ld hl, OBJECT_STANDING_TILE + add hl, bc + ld [hl], a + callba Function463f + ret +; 56a3 + +Function56a3: ; 56a3 + ld hl, OBJECT_MAP_X + add hl, bc + ld d, [hl] + ld hl, OBJECT_MAP_Y + add hl, bc + ld e, [hl] + inc d + inc e + ld a, [XCoord] + cp d + jr z, .asm_56bc + jr nc, .asm_56cb + add $b + cp d + jr c, .asm_56cb + +.asm_56bc + ld a, [YCoord] + cp e + jr z, .asm_56c9 + jr nc, .asm_56cb + add $a + cp e + jr c, .asm_56cb + +.asm_56c9 + xor a + ret + +.asm_56cb + scf + ret +; 56cd + +Function56cd: ; 56cd + ld a, [wd14c] + ld d, a + ld hl, OBJECT_SPRITE_X_OFFSET + add hl, bc + ld a, [hl] + ld hl, OBJECT_SPRITE_X + add hl, bc + add [hl] + add d + cp $f0 + jr nc, .asm_56e5 + cp $a0 + jp nc, .asm_5768 + +.asm_56e5 + and $7 + ld d, $2 + cp $4 + jr c, .asm_56ef + ld d, $3 + +.asm_56ef + ld a, [hl] + srl a + srl a + srl a + cp $14 + jr c, .asm_56fc + sub $20 + +.asm_56fc + ld [$ffbd], a + ld a, [wd14d] + ld e, a + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + ld a, [hl] + ld hl, OBJECT_SPRITE_Y + add hl, bc + add [hl] + add e + cp $f0 + jr nc, .asm_5715 + cp $90 + jr nc, .asm_5768 + +.asm_5715 + and $7 + ld e, $2 + cp $4 + jr c, .asm_571f + ld e, $3 + +.asm_571f + ld a, [hl] + srl a + srl a + srl a + cp $12 + jr c, .asm_572c + sub $20 + +.asm_572c + ld [$ffbe], a + ld hl, OBJECT_PALETTE + add hl, bc + bit 7, [hl] + jr z, .asm_573e + ld a, d + add $2 + ld d, a + ld a, e + add $2 + ld e, a + +.asm_573e + ld a, d + ld [$ffbf], a +.asm_5741 + ld a, [$ffbf] + ld d, a + ld a, [$ffbe] + add e + dec a + cp $12 + jr nc, .asm_5763 + ld b, a +.asm_574d + ld a, [$ffbd] + add d + dec a + cp $14 + jr nc, .asm_5760 + ld c, a + push bc + call GetTileCoord + pop bc + ld a, [hl] + cp $60 + jr nc, .asm_5768 + +.asm_5760 + dec d + jr nz, .asm_574d + +.asm_5763 + dec e + jr nz, .asm_5741 + and a + ret + +.asm_5768 + scf + ret +; 576a + +Function576a:: ; 576a + call Function5771 + call Function5781 + ret +; 5771 + +Function5771: ; 5771 + xor a + ld [wd14e], a + ld [wd14f], a + ld [wd150], a + ld a, $ff + ld [wd151], a + ret +; 5781 + +Function5781: ; 5781 + ld bc, ObjectStructs + xor a +.asm_5785 + ld [$ffaf], a + call Function1af1 + jr z, .asm_578f + call Function437b + +.asm_578f + ld hl, ObjectStruct2 - ObjectStruct1 + add hl, bc + ld b, h + ld c, l + ld a, [$ffaf] + inc a + cp $d + jr nz, .asm_5785 + ret +; 579d + +Function579d: ; 579d + ld a, $3e + ld [wc2de], a + ld [wc2df], a + xor a + ld [wd04e], a + ld [wd4e2], a + call Function57bc + callba Function149c6 + call c, Function57d9 + call Function57ca + ret +; 57bc + +Function57bc: ; 57bc + ld hl, wd45b + bit 7, [hl] + jr nz, .asm_57c4 + ret + +.asm_57c4 + ld a, $0 + ld [PlayerAction], a + ret +; 57ca + +Function57ca: ; 57ca + ld hl, wd45b + bit 5, [hl] + ret z + ld a, [wd45b] + and $3 + add a + add a + jr Function57db +; 57d9 + +Function57d9: ; 57d9 + ld a, $0 + ; fallthrough +; 57db + +Function57db: ; 57db + ld bc, PlayerStruct + call Function1af8 + ret +; 57e2 + +Function57e2: ; 57e2 + ld a, d + and $80 + ret z + ld bc, $0000 ; debug? + ld hl, OBJECT_08 + add hl, bc + ld a, [hl] + or d + ld [hl], a + ld a, d + swap a + and $7 + ld d, a + ld bc, PlayerStruct + ld hl, OBJECT_PALETTE + add hl, bc + ld a, [hl] + and $f8 + or d + ld [hl], a + ret +; 5803 + +Function5803:: ; 5803 + push bc + ld a, b + call Function5815 + pop bc + ret c + ld a, c + call Function582c + callba Function848a + ret +; 5815 + +Function5815: ; 5815 + call Function18de + ret c + ld a, [$ffb0] + ld [wd4cd], a + ret +; 581f + +Function581f:: ; 581f + call Function5826 + call Function5847 + ret +; 5826 + +Function5826: ; 5826 + ld a, $ff + ld [wd4cd], a + ret +; 582c + +Function582c: ; 582c + push af + call Function5847 + pop af + call Function18de + ret c + ld hl, OBJECT_03 + add hl, bc + ld [hl], $13 + ld hl, OBJECT_09 + add hl, bc + ld [hl], $0 + ld a, [$ffb0] + ld [wd4ce], a + ret +; 5847 + +Function5847: ; 5847 + ld a, [wd4ce] + cp $ff + ret z + call Function1ae5 + callba Function58e3 + ld a, $ff + ld [wd4ce], a + ret +; 585c + +Function585c:: ; 585c + ld a, c + call Function18de + ret c + push bc + call Function587a + pop bc + ld hl, OBJECT_FLAGS + add hl, bc + res 5, [hl] + xor a + ret +; 586e + +Function586e: ; 586e + call Function18de + ret c + ld hl, OBJECT_FLAGS + add hl, bc + set 5, [hl] + xor a + ret +; 587a + +Function587a: ; 587a + ld bc, ObjectStructs + xor a +.asm_587e + push af + call Function1af1 + jr z, .asm_588a + ld hl, OBJECT_FLAGS + add hl, bc + set 5, [hl] + +.asm_588a + ld hl, ObjectStruct2 - ObjectStruct1 + add hl, bc + ld b, h + ld c, l + pop af + inc a + cp $d + jr nz, .asm_587e + ret +; 5897 + +Function5897:: ; 5897 + ld a, [wd4cd] + cp $ff + ret z + push bc + call Function1ae5 + ld hl, OBJECT_01 + add hl, bc + ld a, [hl] + pop bc + cp c + ret nz + ld a, [wd4ce] + cp $ff + ret z + call Function1ae5 + ld hl, OBJECT_FLAGS + add hl, bc + res 5, [hl] + ret +; 58b9 + +Function58b9:: ; 58b9 + push bc + ld bc, ObjectStructs + xor a +.asm_58be + push af + call Function1af1 + jr z, .asm_58ca + ld hl, OBJECT_FLAGS + add hl, bc + res 5, [hl] + +.asm_58ca + ld hl, ObjectStruct2 - ObjectStruct1 + add hl, bc + ld b, h + ld c, l + pop af + inc a + cp $d + jr nz, .asm_58be + pop bc + ret +; 58d8 + +Function58d8: ; 58d8 + call Function18de + ret c + ld hl, OBJECT_FLAGS + add hl, bc + res 5, [hl] + ret +; 58e3 + +Function58e3: ; 58e3 + ld hl, OBJECT_01 + add hl, bc + ld a, [hl] + cp $ff + jp z, Function5903 + push bc + call GetMapObject + ld hl, $0004 + add hl, bc + ld a, [hl] + pop bc + ld hl, OBJECT_03 + add hl, bc + ld [hl], a + ld hl, OBJECT_09 + add hl, bc + ld [hl], $0 + ret +; 5903 + +Function5903: ; 5903 + call GetSpriteDirection + rrca + rrca + ld e, a + ld d, 0 + ld hl, .data_591c + add hl, de + ld a, [hl] + ld hl, OBJECT_03 + add hl, bc + ld [hl], a + ld hl, OBJECT_09 + add hl, bc + ld [hl], $0 + ret + +.data_591c + db 6, 7, 8, 9 +; 5920 + +Function5920:: ; 5920 + ld a, [VramState] + bit 0, a + ret z + xor a + ld [$ffbd], a + ld a, [hOAMUpdate] + push af + ld a, $1 + ld [hOAMUpdate], a + call Function5991 + call Function593a + pop af + ld [hOAMUpdate], a + ret +; 593a + +Function593a: ; 593a + ld a, [VramState] + bit 1, a + ld b, $a0 + jr z, .asm_5945 + ld b, $70 + +.asm_5945 + ld a, [$ffbd] + cp b + ret nc + ld l, a + ld h, $c4 + ld de, OBJECT_04 + ld a, b + ld c, $a0 +.asm_5952 + ld [hl], c + add hl, de + cp l + jr nz, .asm_5952 + ret +; 5958 + +Function5958: ; 5958 + push hl + push de + push bc + ld a, [wd14c] + ld d, a + ld a, [wd14d] + ld e, a + ld bc, ObjectStructs + ld a, $d + +.asm_5968 + push af + call Function1af1 + jr z, .asm_597c + + ld hl, OBJECT_SPRITE_X + add hl, bc + ld a, [hl] + add d + ld [hl], a + + ld hl, OBJECT_SPRITE_Y + add hl, bc + ld a, [hl] + add e + ld [hl], a + +.asm_597c + ld hl, ObjectStruct2 - ObjectStruct1 + add hl, bc + ld b, h + ld c, l + pop af + dec a + jr nz, .asm_5968 + + xor a + ld [wd14c], a + ld [wd14d], a + pop bc + pop de + pop hl + ret +; 5991 + +Function5991: ; 5991 + call Function59a4 + ld c, $30 + call Function59f3 + ld c, $20 + call Function59f3 + ld c, $10 + call Function59f3 + ret +; 59a4 + +Function59a4: ; 59a4 + xor a + ld hl, wc2eb + ld bc, 13 + call ByteFill + + ld d, 0 + ld bc, ObjectStructs + ld hl, wc2eb +.loop + push hl + call Function1af1 + jr z, .skip + + ld hl, OBJECT_FACING + add hl, bc + ld a, [hl] + cp -1 + jr z, .skip + +; Define the sprite priority. + ld e, $10 + ld hl, OBJECT_FLAGS + add hl, bc + bit 0, [hl] + jr nz, .add + ld e, $20 + bit 1, [hl] + jr z, .add + ld e, $30 + jr .add + +.skip + ld hl, ObjectStruct2 - ObjectStruct1 + add hl, bc + ld b, h + ld c, l + pop hl + jr .next + +.add + ld hl, ObjectStruct2 - ObjectStruct1 + add hl, bc + ld b, h + ld c, l + pop hl + ld a, d + or e + ld [hli], a + +.next + inc d + ld a, d + cp $d + jr nz, .loop + ret +; 59f3 + +Function59f3: ; 59f3 + ld hl, wc2eb +.next + ld a, [hli] + ld d, a + and $f0 + ret z + cp c + jr nz, .next + + push bc + push hl + ld a, d + and $f + call Function5ac2 + call Function5a0d + pop hl + pop bc + jr .next +; 5a0d + +Function5a0d: ; 5a0d + ld hl, OBJECT_SPRITE + add hl, bc + ld a, [hl] + and $7f + ld [$ffc1], a + + xor a + bit 7, [hl] + jr nz, .asm_5a1d + or 8 +.asm_5a1d + + ld hl, OBJECT_FLAGS + add hl, bc + ld e, [hl] + bit 7, e + jr z, .asm_5a28 + or $80 +.asm_5a28 + + bit 4, e + jr z, .asm_5a2e + or $10 +.asm_5a2e + + ld hl, OBJECT_PALETTE + add hl, bc + ld d, a + ld a, [hl] + and 7 + or d + ld d, a + + xor a + bit 3, e + jr z, .asm_5a3f + or $80 +.asm_5a3f + ld [$ffc2], a + + ld hl, OBJECT_SPRITE_X + add hl, bc + ld a, [hl] + + ld hl, OBJECT_SPRITE_X_OFFSET + add hl, bc + add [hl] + + add 8 + + ld e, a + ld a, [wd14c] + add e + ld [$ffbf], a + + ld hl, OBJECT_SPRITE_Y + add hl, bc + ld a, [hl] + + ld hl, OBJECT_SPRITE_Y_OFFSET + add hl, bc + add [hl] + + add 12 + + ld e, a + ld a, [wd14d] + add e + ld [$ffc0], a + + ld hl, OBJECT_FACING + add hl, bc + ld a, [hl] + cp -1 + jp z, .done + cp NUM_FACINGS + jp nc, .done + + ld l, a + ld h, 0 + add hl, hl + ld bc, Facings + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + + ld a, [$ffbd] + ld c, a + ld b, Sprites / $100 + ld a, [hli] + ld [$ffbe], a + add c + cp SpritesEnd % $100 + jr nc, .full + +.addsprite + ld a, [$ffc0] + add [hl] + inc hl + + ld [bc], a + inc c + + ld a, [$ffbf] + add [hl] + inc hl + + ld [bc], a + inc c + + ld e, [hl] + inc hl + + ld a, [$ffc1] + bit 2, e + jr z, .asm_5aa3 + xor a +.asm_5aa3 + add [hl] + inc hl + + ld [bc], a + inc c + + ld a, e + bit 1, a + jr z, .asm_5aaf + ld a, [$ffc2] + or e +.asm_5aaf + and $f0 + or d + ld [bc], a + inc c + + ld a, [$ffbe] + dec a + ld [$ffbe], a + jr nz, .addsprite + + ld a, c + ld [$ffbd], a + +.done + xor a + ret + +.full + scf + ret +; 5ac2 + +Function5ac2: ; 5ac2 + ld c, a + ld b, 0 + ld hl, .Addresses + add hl, bc + add hl, bc + ld c, [hl] + inc hl + ld b, [hl] + ret +; 5ace + +.Addresses ; 5ace + dw PlayerStruct + dw ObjectStruct1 + dw ObjectStruct2 + dw ObjectStruct3 + dw ObjectStruct4 + dw ObjectStruct5 + dw ObjectStruct6 + dw ObjectStruct7 + dw ObjectStruct8 + dw ObjectStruct9 + dw ObjectStruct10 + dw ObjectStruct11 + dw ObjectStruct12 +; 5ae8 + diff --git a/main.asm b/main.asm index 77ff826bc..52affc04e 100644 --- a/main.asm +++ b/main.asm @@ -56,3688 +56,7 @@ PushOAMEnd ; 4049 -INCLUDE "engine/facings.asm" - - -Data4273:: ; 4273 - db $00, $00, $01, $02, $00, $00 - db $06, $00, $01, $0c, $00, $00 - db $03, $00, $01, $00, $00, $00 - db $04, $00, $01, $00, $00, $00 - db $01, $00, $01, $00, $00, $00 - db $02, $00, $01, $00, $00, $00 - db $06, $00, $01, $00, $00, $00 - db $06, $01, $01, $00, $00, $00 - db $06, $02, $01, $00, $00, $00 - db $06, $03, $01, $00, $00, $00 - db $05, $00, $01, $00, $00, $00 - db $07, $00, $01, $02, $00, $00 - db $08, $00, $01, $00, $00, $00 - db $09, $00, $01, $00, $00, $00 - db $0a, $00, $01, $00, $00, $00 - db $0b, $00, $01, $00, $00, $00 - db $0c, $00, $01, $00, $00, $00 - db $0d, $00, $01, $00, $00, $00 - db $0e, $00, $01, $00, $00, $00 - db $0f, $00, $01, $02, $00, $00 - db $10, $00, $01, $02, $00, $00 - db $15, $00, $09, $2e, $01, $c0 - db $16, $00, $0a, $2e, $00, $00 - db $06, $00, $01, $0c, $00, $00 - db $06, $00, $01, $2e, $10, $00 - db $11, $00, $01, $2e, $00, $40 - db $12, $00, $01, $02, $00, $00 - db $13, $00, $00, $8e, $01, $00 - db $14, $00, $08, $8e, $02, $00 - db $17, $00, $00, $82, $00, $00 - db $19, $02, $01, $00, $00, $00 - db $18, $03, $01, $00, $00, $00 - db $11, $00, $0c, $2e, $01, $c0 - db $11, $00, $0d, $2e, $01, $c0 - db $1a, $00, $0e, $8e, $01, $00 - db $1b, $00, $0f, $8e, $02, $00 - db $03, $00, $01, $00, $00, $20 - db $00, $00, $01, $00, $00, $00 -; 4357 - - -Function4357:: ; 4357 - push bc - ld hl, OBJECT_01 - add hl, bc - ld a, [hl] - push af - ld h, b - ld l, c - ld bc, ObjectStruct2 - ObjectStruct1 - xor a - call ByteFill - pop af - cp $ff - jr z, .asm_4379 - bit 7, a - jr nz, .asm_4379 - call GetMapObject - ld hl, OBJECT_00 - add hl, bc - ld [hl], $ff - -.asm_4379 - pop bc - ret -; 437b - -Function437b: ; 437b - call Function4386 - ret c - call Function43f3 - call Function4427 - ret -; 4386 - -Function4386: ; 4386 - ld hl, OBJECT_FLAGS - add hl, bc - res 6, [hl] - ld a, [XCoord] - ld e, a - ld hl, OBJECT_MAP_X - add hl, bc - ld a, [hl] - add $1 - sub e - jr c, .asm_43b2 - cp $c - jr nc, .asm_43b2 - ld a, [YCoord] - ld e, a - ld hl, OBJECT_MAP_Y - add hl, bc - ld a, [hl] - add $1 - sub e - jr c, .asm_43b2 - cp $b - jr nc, .asm_43b2 - jr .asm_43dc - -.asm_43b2 - ld hl, OBJECT_FLAGS - add hl, bc - set 6, [hl] - ld a, [XCoord] - ld e, a - ld hl, OBJECT_20 - add hl, bc - ld a, [hl] - add $1 - sub e - jr c, .asm_43de - cp $c - jr nc, .asm_43de - ld a, [YCoord] - ld e, a - ld hl, OBJECT_21 - add hl, bc - ld a, [hl] - add $1 - sub e - jr c, .asm_43de - cp $b - jr nc, .asm_43de - -.asm_43dc - and a - ret - -.asm_43de - ld hl, OBJECT_04 - add hl, bc - bit 1, [hl] - jr nz, .asm_43eb - call Function4357 - scf - ret - -.asm_43eb - ld hl, OBJECT_FLAGS - add hl, bc - set 6, [hl] - and a - ret -; 43f3 - -Function43f3: ; 43f3 - ld hl, OBJECT_09 - add hl, bc - ld a, [hl] - and a - jr z, .asm_4409 - ld hl, OBJECT_FLAGS - add hl, bc - bit 5, [hl] - jr nz, .asm_4426 - cp $1 - jr z, .asm_4414 - jr .asm_4421 - -.asm_4409 - call Function47bc - ld hl, OBJECT_FLAGS - add hl, bc - bit 5, [hl] - jr nz, .asm_4426 - -.asm_4414 - call Function47dd - ld hl, OBJECT_09 - add hl, bc - ld a, [hl] - and a - ret z - cp $1 - ret z - -.asm_4421 - ld hl, Pointers4b45 - rst JumpTable - ret - -.asm_4426 - ret -; 4427 - -Function4427: ; 4427 - ld hl, OBJECT_04 - add hl, bc - bit 0, [hl] - jr nz, Function44a3 - - ld hl, OBJECT_FLAGS - add hl, bc - bit 6, [hl] - jr nz, Function44a3 - - bit 5, [hl] - jr nz, Function4448 - - ld de, Pointers445f - jr Function444d -; 4440 - -Function4440: ; 4440 - ld hl, OBJECT_04 - add hl, bc - bit 0, [hl] - jr nz, Function44a3 - ; fallthrough -; 4448 - -Function4448: ; 4448 - ld de, Pointers445f + 2 - jr Function444d -; 444d - -Function444d: ; 444d - ld hl, OBJECT_11 - add hl, bc - ld a, [hl] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call _hl_ - ret -; 445f - -Pointers445f: ; 445f - dw Function44a3 - dw Function44a3 - dw Function44b5 - dw Function44aa - dw Function44c1 - dw Function44aa - dw Function4508 - dw Function44aa - dw Function4529 - dw Function44aa - dw Function4539 - dw Function44a3 - dw Function456e - dw Function456e - dw Function457b - dw Function44a3 - dw Function4582 - dw Function4582 - dw Function4589 - dw Function4589 - dw Function4590 - dw Function45a4 - dw Function45ab - dw Function44aa - dw Function45be - dw Function45be - dw Function45c5 - dw Function45c5 - dw Function45da - dw Function44a3 - dw Function45ed - dw Function44a3 - dw Function44e4 - dw Function44aa -; 44a3 - -Function44a3: ; 44a3 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], $ff - ret -; 44aa - -Function44aa: ; 44aa - call GetSpriteDirection - or $0 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], a - ret -; 44b5 - -Function44b5: ; 44b5 - ld hl, OBJECT_FACING - add hl, bc - ld a, [hl] - and $1 - jr nz, Function44c1 - jp Function44aa -; 44c1 - -Function44c1: ; 44c1 - ld hl, OBJECT_04 - add hl, bc - bit 3, [hl] - jp nz, Function44aa - ld hl, OBJECT_12 - add hl, bc - ld a, [hl] - inc a - and $f - ld [hl], a - rrca - rrca - and $3 - ld d, a - call GetSpriteDirection - or $0 - or d - ld hl, OBJECT_FACING - add hl, bc - ld [hl], a - ret -; 44e4 - -Function44e4: ; 44e4 - ld hl, OBJECT_04 - add hl, bc - bit 3, [hl] - jp nz, Function44aa - ld hl, OBJECT_12 - add hl, bc - ld a, [hl] - add $2 - and $f - ld [hl], a - rrca - rrca - and $3 - ld d, a - call GetSpriteDirection - or $0 - or d - ld hl, OBJECT_FACING - add hl, bc - ld [hl], a - ret -; 4508 - -Function4508: ; 4508 - ld hl, OBJECT_04 - add hl, bc - bit 3, [hl] - jp nz, Function44aa - ld hl, OBJECT_12 - add hl, bc - inc [hl] - ld a, [hl] - rrca - rrca - rrca - and $3 - ld d, a - call GetSpriteDirection - or $0 - or d - ld hl, OBJECT_FACING - add hl, bc - ld [hl], a - ret -; 4529 - -Function4529: ; 4529 - call Function453f - ld hl, OBJECT_08 - add hl, bc - ld a, [hl] - or $0 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], a - ret -; 4539 - -Function4539: ; 4539 - call Function453f - jp Function44a3 -; 453f - -Function453f: ; 453f - ld hl, OBJECT_12 - add hl, bc - ld a, [hl] - and $f0 - ld e, a - ld a, [hl] - inc a - and $f - ld d, a - cp $4 - jr c, .asm_4558 - ld d, 0 - ld a, e - add $10 - and $30 - ld e, a - -.asm_4558 - ld a, d - or e - ld [hl], a - swap e - ld d, 0 - ld hl, .Directions - add hl, de - ld a, [hl] - ld hl, OBJECT_08 - add hl, bc - ld [hl], a - ret -; 456a - -.Directions ; 456a - db $00, $0c, $04, $08 -; 456e - -Function456e: ; 456e - call GetSpriteDirection - rrca - rrca - add $10 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], a - ret -; 457b - -Function457b: ; 457b - ld hl, OBJECT_FACING - add hl, bc - ld [hl], $15 - ret -; 4582 - -Function4582: ; 4582 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], $14 - ret -; 4589 - -Function4589: ; 4589 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], $17 - ret -; 4590 - -Function4590: ; 4590 - ld hl, OBJECT_12 - add hl, bc - ld a, [hl] - inc a - and $f - ld [hl], a - and $8 - jr z, Function45a4 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], $4 - ret -; 45a4 - -Function45a4: ; 45a4 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], $0 - ret -; 45ab - -Function45ab: ; 45ab - ld hl, OBJECT_12 - add hl, bc - ld a, [hl] - inc a - ld [hl], a - and $c - rrca - rrca - add $18 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], a - ret -; 45be - -Function45be: ; 45be - ld hl, OBJECT_FACING - add hl, bc - ld [hl], $16 - ret -; 45c5 - -Function45c5: ; 45c5 - ld a, [VariableSprites + 3] - ld d, $17 - cp $33 - jr z, .asm_45d4 - cp $47 - jr z, .asm_45d4 - ld d, $16 - -.asm_45d4 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], d - ret -; 45da - -Function45da: ; 45da - ld hl, OBJECT_12 - add hl, bc - inc [hl] - ld a, [hl] - - ld hl, OBJECT_FACING - add hl, bc - and 2 - ld a, $1c - jr z, .asm_45eb - inc a -.asm_45eb - ld [hl], a - ret -; 45ed - -Function45ed: ; 45ed - ld hl, OBJECT_12 - add hl, bc - inc [hl] - ld a, [hl] - ld hl, OBJECT_FACING - add hl, bc - and 4 - ld a, $1e - jr z, .asm_45fe - inc a - -.asm_45fe - ld [hl], a - ret -; 4600 - -Function4600: ; 4600 - - ld hl, OBJECT_MAP_X - add hl, bc - ld a, [hl] - ld hl, OBJECT_NEXT_MAP_X - add hl, bc - ld [hl], a - - ld hl, OBJECT_MAP_Y - add hl, bc - ld a, [hl] - ld hl, OBJECT_NEXT_MAP_Y - add hl, bc - ld [hl], a - - ld hl, OBJECT_STANDING_TILE - add hl, bc - ld a, [hl] - ld hl, OBJECT_NEXT_TILE - add hl, bc - ld [hl], a - - call Function4661 - ld hl, OBJECT_STANDING_TILE - add hl, bc - ld a, [hl] - - call Function4679 - ret -; 462a - -Function462a: ; 462a - - ld hl, OBJECT_NEXT_MAP_X - add hl, bc - ld a, [hl] - ld hl, OBJECT_MAP_X - add hl, bc - ld [hl], a - - ld hl, OBJECT_NEXT_MAP_Y - add hl, bc - ld a, [hl] - ld hl, OBJECT_MAP_Y - add hl, bc - ld [hl], a - - ret -; 463f - -Function463f: ; 463f - ld hl, OBJECT_FLAGS - add hl, bc - bit 3, [hl] - jr z, .asm_464f - ld hl, OBJECT_STANDING_TILE - add hl, bc - ld a, [hl] - call Function4661 - -.asm_464f - ld hl, OBJECT_STANDING_TILE - add hl, bc - ld a, [hl] - call Function4679 - ret c - ld hl, OBJECT_NEXT_TILE - add hl, bc - ld a, [hl] - call Function4679 - ret -; 4661 - -Function4661: ; 4661 - call Function188e - jr z, .asm_466b - call Function1875 - jr c, .asm_4672 - -.asm_466b - ld hl, OBJECT_FLAGS - add hl, bc - set 3, [hl] - ret - -.asm_4672 - ld hl, OBJECT_FLAGS - add hl, bc - res 3, [hl] - ret -; 4679 - -Function4679: ; 4679 - and a - ret -; 467b - -Function467b: ; 467b - xor a - ld hl, OBJECT_12 - add hl, bc - ld [hl], a - ld hl, OBJECT_27 - add hl, bc - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ret -; 4690 - -Function4690: ; 4690 - ld hl, OBJECT_07 - add hl, bc - ld [hl], a - ld hl, OBJECT_04 - add hl, bc - bit 2, [hl] - jr nz, .asm_46a6 - - add a - add a - and $c - ld hl, OBJECT_08 - add hl, bc - ld [hl], a - -.asm_46a6 - ; fallthrough -; 46a6 - -Function46a6: ; 46a6 - - call GetStepVector - - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], a - - ld a, d - call Function4730 - ld hl, OBJECT_NEXT_MAP_X - add hl, bc - add [hl] - ld hl, OBJECT_MAP_X - add hl, bc - ld [hl], a - ld d, a - - ld a, e - call Function4730 - ld hl, OBJECT_NEXT_MAP_Y - add hl, bc - add [hl] - ld hl, OBJECT_MAP_Y - add hl, bc - ld [hl], a - ld e, a - - push bc - call Function2a3c - pop bc - - ld hl, OBJECT_STANDING_TILE - add hl, bc - ld [hl], a - - ret -; 46d7 - -Function46d7: ; 46d7 - - call GetStepVector - - ld hl, OBJECT_SPRITE_X - add hl, bc - ld a, [hl] - add d - ld [hl], a - - ld hl, OBJECT_SPRITE_Y - add hl, bc - ld a, [hl] - add e - ld [hl], a - - ret -; 46e9 - -GetStepVector: ; 46e9 -; Return (x, y, duration, speed) in (d, e, a, h). - ld hl, OBJECT_07 - add hl, bc - ld a, [hl] - and $f - add a - add a - ld l, a - ld h, 0 - ld de, StepVectors - add hl, de - ld d, [hl] - inc hl - ld e, [hl] - inc hl - ld a, [hli] - ld h, [hl] - ret -; 4700 - -StepVectors: ; 4700 -; x, y, duration, speed - ; slow - db 0, 1, 16, 1 - db 0, -1, 16, 1 - db -1, 0, 16, 1 - db 1, 0, 16, 1 - ; normal - db 0, 2, 8, 2 - db 0, -2, 8, 2 - db -2, 0, 8, 2 - db 2, 0, 8, 2 - ; fast - db 0, 4, 4, 4 - db 0, -4, 4, 4 - db -4, 0, 4, 4 - db 4, 0, 4, 4 -; 4730 - -Function4730: ; 4730 - add a - ret z - ld a, 1 - ret nc - ld a, -1 - ret -; 4738 - -Function4738: ; 4738 - ld hl, OBJECT_07 - add hl, bc - ld a, [hl] - and $3 - ld [wd151], a - call Function46d7 - ld a, [wd14e] - add d - ld [wd14e], a - ld a, [wd14f] - add e - ld [wd14f], a - ld hl, wd150 - set 5, [hl] - ret -; 4759 - -Function4759: ; 4759 - push bc - ld e, a - ld d, 0 - ld hl, OBJECT_01 - add hl, bc - ld a, [hl] - call GetMapObject - add hl, de - ld a, [hl] - pop bc - ret -; 4769 - -Function4769: ; 4769 - ld hl, OBJECT_01 - add hl, bc - ld a, [hl] - cp $ff - jr z, .asm_477d - push bc - call GetMapObject - ld hl, $0004 - add hl, bc - ld a, [hl] - pop bc - ret - -.asm_477d - ld a, $6 - ret -; 4780 - -Function4780: ; 4780 - ld hl, OBJECT_27 - add hl, bc - ld [hl], $0 - ret -; 4787 - -Function4787: ; 4787 - ld hl, OBJECT_27 - add hl, bc - inc [hl] - ret -; 478d - -Function478d: ; 478d - ld hl, OBJECT_27 - add hl, bc - dec [hl] - ret -; 4793 - -Function4793: ; 4793 - ld hl, OBJECT_27 - add hl, bc - ld a, [hl] - pop hl - rst JumpTable - ret -; 479b - -Function479b: ; 479b - ld hl, OBJECT_28 - add hl, bc - ld [hl], $0 - ret -; 47a2 - -Function47a2: ; 47a2 - ld hl, OBJECT_28 - add hl, bc - inc [hl] - ret -; 47a8 - -Function47a8: ; 47a8 - ld hl, OBJECT_28 - add hl, bc - ld a, [hl] - pop hl - rst JumpTable - ret -; 47b0 - -Function47b0: ; 47b0 - ld hl, OBJECT_28 - add hl, bc - ld a, [hl] - ret -; 47b6 - -Function47b6: ; 47b6 - ld hl, OBJECT_28 - add hl, bc - ld [hl], a - ret -; 47bc - -Function47bc: ; 47bc - ld hl, OBJECT_MAP_X - add hl, bc - ld d, [hl] - ld hl, OBJECT_MAP_Y - add hl, bc - ld e, [hl] - push bc - call Function2a3c - pop bc - ld hl, OBJECT_STANDING_TILE - add hl, bc - ld [hl], a - call Function4600 - call Function467b - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 47dd - -Function47dd: ; 47dd - call Function479b - call Function1a2f - ld a, [hl] - ld hl, .Pointers - rst JumpTable - ret -; 47e9 - -.Pointers ; 47e9 - dw Function4821 - dw Function4822 - dw Function482c - dw Function4838 - dw Function4842 - dw Function4851 - dw Function4869 - dw Function487c - dw Function4882 - dw Function4888 - dw Function488e - dw Function4891 - dw Function4894 - dw Function4897 - dw Function489d - dw Function48a0 - dw Function48a6 - dw Function48ac - dw Function48ff - dw Function49e5 - dw Function4a21 - dw Function4958 - dw Function496e - dw Function4abc - dw Function498d - dw Function4984 - dw Function4a46 - dw Function4a89 -; 4821 - -Function4821: ; 4821 - ret -; 4822 - -Function4822: ; 4822 - call Random - ld a, [hRandomAdd] - and 1 - jp Function4af0 -; 482c - -Function482c: ; 482c - call Random - ld a, [hRandomAdd] - and 1 - or 2 - jp Function4af0 -; 4838 - -Function4838: ; 4838 - call Random - ld a, [hRandomAdd] - and 3 - jp Function4af0 -; 4842 - -Function4842: ; 4842 - call Random - ld a, [hRandomAdd] - and $c - ld hl, OBJECT_08 - add hl, bc - ld [hl], a - jp Function4b1d -; 4851 - -Function4851: ; 4851 - ld hl, OBJECT_08 - add hl, bc - ld a, [hl] - and $c - ld d, a - call Random - ld a, [hRandomAdd] - and $c - cp d - jr nz, .asm_4865 - xor $c - -.asm_4865 - ld [hl], a - jp Function4b26 -; 4869 - -Function4869: ; 4869 - call Function462a - call Function467b - ld hl, OBJECT_11 - add hl, bc - ld [hl], $1 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $5 - ret -; 487c - -Function487c: ; 487c - ld hl, Function5000 - jp Function5041 -; 4882 - -Function4882: ; 4882 - ld hl, Function5015 - jp Function5041 -; 4888 - -Function4888: ; 4888 - ld hl, Function5026 - jp Function5041 -; 488e - -Function488e: ; 488e - jp Function5037 -; 4891 - -Function4891: ; 4891 - jp Function5037 -; 4894 - -Function4894: ; 4894 - jp Function5037 -; 4897 - -Function4897: ; 4897 - ld hl, Function5000 - jp Function5041 -; 489d - -Function489d: ; 489d - jp Function5037 -; 48a0 - -Function48a0: ; 48a0 - ld hl, Function54e6 - jp Function5041 -; 48a6 - -Function48a6: ; 48a6 - ld hl, Function500e - jp Function5041 -; 48ac - -Function48ac: ; 48ac - call Function4793 - dw Function48b3 - dw Function48f8 -; 48b3 - -Function48b3: ; 48b3 - ld hl, OBJECT_STANDING_TILE - add hl, bc - ld a, [hl] - call CheckPitTile - jr z, .asm_48f5 - ld hl, OBJECT_FLAGS - add hl, bc - bit 2, [hl] - res 2, [hl] - jr z, .asm_48ee - ld hl, OBJECT_32 - add hl, bc - ld a, [hl] - and $3 - or $0 - call Function4690 - call Function6ec1 - jr c, .asm_48eb - ld de, SFX_STRENGTH - call PlaySFX - call Function5538 - call Function463f - ld hl, OBJECT_09 - add hl, bc - ld [hl], $f - ret - -.asm_48eb - call Function462a - -.asm_48ee - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ret - -.asm_48f5 - call Function4787 - ; fallthrough -; 48f8 - -Function48f8: ; 48f8 - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ret -; 48ff - -Function48ff: ; 48ff - ld hl, OBJECT_MAP_X - add hl, bc - ld d, [hl] - ld hl, OBJECT_MAP_Y - add hl, bc - ld e, [hl] - ld hl, OBJECT_32 - add hl, bc - ld a, [hl] - push bc - call Function1ae5 - ld hl, OBJECT_07 - add hl, bc - ld a, [hl] - cp $ff - jr z, .asm_494a - ld hl, OBJECT_NEXT_MAP_X - add hl, bc - ld a, [hl] - cp d - jr z, .asm_492d - jr c, .asm_4929 - ld a, $3 - jr .asm_493d - -.asm_4929 - ld a, $2 - jr .asm_493d - -.asm_492d - ld hl, OBJECT_NEXT_MAP_Y - add hl, bc - ld a, [hl] - cp e - jr z, .asm_494a - jr c, .asm_493b - ld a, $0 - jr .asm_493d - -.asm_493b - ld a, $1 - -.asm_493d - ld d, a - ld hl, OBJECT_07 - add hl, bc - ld a, [hl] - and $c - or d - pop bc - jp Function5412 - -.asm_494a - pop bc - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_11 - add hl, bc - ld [hl], $1 - ret -; 4958 - -Function4958: ; 4958 - call Function467b - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_11 - add hl, bc - ld [hl], $9 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $4 - ret -; 496e - -Function496e: ; 496e - call Function467b - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_11 - add hl, bc - ld [hl], $a - ld hl, OBJECT_09 - add hl, bc - ld [hl], $4 - ret -; 4984 - -Function4984: ; 4984 - call Function4793 - dw Function4996 - dw Function499c - dw Function49b8 -; 498d - -Function498d: ; 498d - call Function4793 - dw Function4996 - dw Function499c - dw Function49c4 -; 4996 - -Function4996: ; 4996 - call Function467b - call Function4787 - ; fallthrough -; 499c - -Function499c: ; 499c - ld hl, OBJECT_11 - add hl, bc - ld [hl], $1 - ld hl, OBJECT_32 - add hl, bc - ld a, [hl] - ld a, $10 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], a - ld hl, OBJECT_09 - add hl, bc - ld [hl], $3 - call Function4787 - ret -; 49b8 - -Function49b8: ; 49b8 - ld de, .data_49c0 - call Function49d0 - jr Function4984 -; 49c0 - -.data_49c0 ; 49c0 - db $0c, $08, $00, $04 -; 49c4 - -Function49c4: ; 49c4 - ld de, .data_49cc - call Function49d0 - jr Function498d -; 49cc - -.data_49cc ; 49cc - db $08, $0c, $04, $00 -; 49d0 - -Function49d0: ; 49d0 - ld hl, OBJECT_08 - add hl, bc - ld a, [hl] - and $c - rrca - rrca - push hl - ld l, a - ld h, $0 - add hl, de - ld a, [hl] - pop hl - ld [hl], a - call Function478d - ret -; 49e5 - -Function49e5: ; 49e5 - call Function4aa8 - ld hl, OBJECT_11 - add hl, bc - ld [hl], $7 - ld hl, OBJECT_STEP_DURATION - add hl, de - ld a, [hl] - inc a - add a - add $0 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], a - ld hl, OBJECT_07 - add hl, de - ld a, [hl] - and 3 - ld d, $e - cp 0 - jr z, .asm_4a0f - cp 1 - jr z, .asm_4a0f - ld d, $c - -.asm_4a0f - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], d - ld hl, OBJECT_SPRITE_X_OFFSET - add hl, bc - ld [hl], $0 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $13 - ret -; 4a21 - -Function4a21: ; 4a21 - call Function467b - call Function4aa8 - ld hl, OBJECT_11 - add hl, bc - ld [hl], $8 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $0 - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], $f0 - ld hl, OBJECT_SPRITE_X_OFFSET - add hl, bc - ld [hl], $0 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $13 - ret -; 4a46 - -Function4a46: ; 4a46 - call Function467b - call Function4aa8 - ld hl, OBJECT_11 - add hl, bc - ld [hl], $e - ld hl, OBJECT_STEP_DURATION - add hl, de - ld a, [hl] - inc a - add a - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], a - ld hl, OBJECT_07 - add hl, de - ld a, [hl] - and 3 - ld e, a - ld d, 0 - ld hl, .data_4a81 - add hl, de - add hl, de - ld d, [hl] - inc hl - ld e, [hl] - ld hl, OBJECT_SPRITE_X_OFFSET - add hl, bc - ld [hl], d - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], e - ld hl, OBJECT_09 - add hl, bc - ld [hl], $13 - ret -; 4a81 - -.data_4a81 ; 4a81 - ; x, y - db 0, -4 - db 0, 8 - db 6, 2 - db -6, 2 -; 4a89 - -Function4a89: ; 4a89 - call Function467b - call Function4aa8 - ld hl, OBJECT_11 - add hl, bc - ld [hl], $f - ld hl, OBJECT_STEP_DURATION - add hl, de - ld a, [hl] - add $ff - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], a - ld hl, OBJECT_09 - add hl, bc - ld [hl], $13 - ret -; 4aa8 - -Function4aa8: ; 4aa8 - ld hl, OBJECT_32 - add hl, bc - ld a, [hl] - push bc - call Function1ae5 - ld d, b - ld e, c - pop bc - ld hl, OBJECT_29 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret -; 4abc - -Function4abc: ; 4abc - call Function467b - ld hl, OBJECT_11 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_32 - add hl, bc - ld a, [hl] - call Function4ade - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], e - ld hl, OBJECT_30 - add hl, bc - ld [hl], a - ld hl, OBJECT_09 - add hl, bc - ld [hl], $15 - ret -; 4ade - -Function4ade: ; 4ade - ld d, a - and $3f - ld e, a - ld a, d - rlca - rlca - and $3 - ld d, a - inc d - ld a, $1 -.asm_4aeb - dec d - ret z - add a - jr .asm_4aeb -; 4af0 - -Function4af0: ; 4af0 - call Function4690 - call Function6ec1 - jr c, Function4b17 - call Function463f - ld hl, OBJECT_11 - add hl, bc - ld [hl], $2 - ld hl, wd4cf - ld a, [$ffaf] - cp [hl] - jr z, .asm_4b10 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $7 - ret - -.asm_4b10 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $6 - ret - -Function4b17: ; 4b17 - call Function467b - call Function462a - ; fallthrough -; 4b1d - -Function4b1d: ; 4b1d - call Random - ld a, [hRandomAdd] - and $7f - jr Function4b2d -; 4b26 - -Function4b26: ; 4b26 - call Random - ld a, [hRandomAdd] - and $1f - ; fallthrough -; 4b2d - -Function4b2d: ; 4b2d - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], a - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_11 - add hl, bc - ld [hl], $1 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $3 - ret -; 4b45 - -Pointers4b45: ; 4b45 - dw Function47bc - dw Function47dd - dw Function4e2b - dw Function4ddd - dw Function4e21 - dw Function4e0c - dw Function4e56 - dw Function4e47 - dw Function4b86 - dw Function4bbf - dw Function4e83 - dw Function4dff - dw Function4c18 - dw Function4c89 - dw Function4d14 - dw Function4ecd - dw Function4d7e - dw Function4daf - dw Function4dc8 - dw Function4f04 - dw Function4f33 - dw Function4f33 - dw Function4f77 - dw Function4f7a - dw Function4df0 - dw Function4f83 -; 4b79 - -Function4b79: ; 4b79 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4b86 - -Function4b86: ; 4b86 - call Function47a8 - dw Function4b8d - dw Function4ba9 -; 4b8d - -Function4b8d: ; 4b8d - call Function46d7 - call UpdateJumpPosition - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - call Function4600 - call Function46a6 - ld hl, OBJECT_FLAGS - add hl, bc - res 3, [hl] - call Function47a2 - ret -; 4ba9 - -Function4ba9: ; 4ba9 - call Function46d7 - call UpdateJumpPosition - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - call Function4600 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4bbf - -Function4bbf: ; 4bbf - call Function47a8 - dw Function4bca - dw Function4bd2 - dw Function4bf2 - dw Function4bfd -; 4bca - -Function4bca: ; 4bca - ld hl, wd150 - set 7, [hl] - call Function47a2 -; fallthrough -; 4bd2 - -Function4bd2: ; 4bd2 - call UpdateJumpPosition - call Function4738 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - call Function4600 - ld hl, OBJECT_FLAGS - add hl, bc - res 3, [hl] - ld hl, wd150 - set 6, [hl] - set 4, [hl] - call Function47a2 - ret -; 4bf2 - -Function4bf2: ; 4bf2 - call Function46a6 - ld hl, wd150 - set 7, [hl] - call Function47a2 -; fallthrough -; 4bfd - -Function4bfd: ; 4bfd - call UpdateJumpPosition - call Function4738 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, wd150 - set 6, [hl] - call Function4600 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4c18 - -Function4c18: ; 4c18 - call Function47a8 - dw Function4c23 - dw Function4c32 - dw Function4c42 - dw Function4c5d -; 4c23 - -Function4c23: ; 4c23 - ld hl, OBJECT_12 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $10 - call Function47a2 -; fallthrough -; 4c32 - -Function4c32: ; 4c32 - ld hl, OBJECT_11 - add hl, bc - ld [hl], $4 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - call Function47a2 - ret -; 4c42 - -Function4c42: ; 4c42 - ld hl, OBJECT_12 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_31 - add hl, bc - ld [hl], $10 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $10 - ld hl, OBJECT_FLAGS - add hl, bc - res 3, [hl] - call Function47a2 -; fallthrough -; 4c5d - -Function4c5d: ; 4c5d - ld hl, OBJECT_11 - add hl, bc - ld [hl], $4 - ld hl, OBJECT_31 - add hl, bc - inc [hl] - ld a, [hl] - ld d, $60 - call Sine - ld a, h - sub $60 - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], a - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, OBJECT_12 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4c89 - -Function4c89: ; 4c89 - call Function47a8 - dw Function4c9a - dw Function4caa - dw Function4cb3 - dw Function4cc9 - dw Function4ceb - dw Function4cf5 - dw Function4d01 -; 4c9a - -Function4c9a: ; 4c9a - ld hl, OBJECT_11 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $10 - call Function47a2 - ret -; 4caa - -Function4caa: ; 4caa - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - call Function47a2 -; fallthrough -; 4cb3 - -Function4cb3: ; 4cb3 - ld hl, OBJECT_12 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_31 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $10 - call Function47a2 - ret -; 4cc9 - -Function4cc9: ; 4cc9 - ld hl, OBJECT_11 - add hl, bc - ld [hl], $4 - ld hl, OBJECT_31 - add hl, bc - inc [hl] - ld a, [hl] - ld d, $60 - call Sine - ld a, h - sub $60 - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], a - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - call Function47a2 -; fallthrough -; 4ceb - -Function4ceb: ; 4ceb - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $10 - call Function47a2 - ret -; 4cf5 - -Function4cf5: ; 4cf5 - ld hl, OBJECT_11 - add hl, bc - ld [hl], $4 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz -; 4d01 - -Function4d01: ; 4d01 - ld hl, OBJECT_12 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], $0 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4d14 - -Function4d14: ; 4d14 - call Function47a8 - dw Function4d1f - dw Function4d2e - dw Function4d4f - dw Function4d6b -; 4d1f - -Function4d1f: ; 4d1f - ld hl, OBJECT_11 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $10 - call Function47a2 -; fallthrough -; 4d2e - -Function4d2e: ; 4d2e - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, OBJECT_11 - add hl, bc - ld [hl], $2 - ld hl, OBJECT_12 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_31 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $10 - call Function47a2 -; fallthrough -; 4d4f - -Function4d4f: ; 4d4f - ld hl, OBJECT_31 - add hl, bc - inc [hl] - ld a, [hl] - ld d, $60 - call Sine - ld a, h - sub $60 - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], a - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - call Function47a2 -; fallthrough -; 4d6b - -Function4d6b: ; 4d6b - ld hl, OBJECT_12 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], $0 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4d7e - -Function4d7e: ; 4d7e - call Function47a8 - dw Function4d85 - dw Function4d94 -; 4d85 - -Function4d85: ; 4d85 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $8 - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], $0 - call Function47a2 - ; fallthrough -; 4d94 - -Function4d94: ; 4d94 - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld a, [hl] - xor 1 - ld [hl], a - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], $0 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4daf - -Function4daf: ; 4daf - call Function4db5 - jp Function4b79 -; 4db5 - -Function4db5: ; 4db5 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld a, [hl] - and $1 - ld a, $1 - jr z, .asm_4dc2 - ld a, $0 - -.asm_4dc2 - ld hl, OBJECT_11 - add hl, bc - ld [hl], a - ret -; 4dc8 - -Function4dc8: ; 4dc8 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld a, [hl] - and $1 - ld a, $4 - jr z, .asm_4dd5 - ld a, $5 - -.asm_4dd5 - ld hl, OBJECT_11 - add hl, bc - ld [hl], a - jp Function4b79 -; 4ddd - -Function4ddd: ; 4ddd - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4df0 - -Function4df0: ; 4df0 - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - jp Function4357 -; 4dff - -Function4dff: ; 4dff - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4e0c - -Function4e0c: ; 4e0c - call Function47a8 - dw Function4e13 - dw Function4e21 -; 4e13 - -Function4e13: ; 4e13 - call Function4769 - call Function1a47 - ld hl, OBJECT_08 - add hl, bc - ld [hl], a - call Function47a2 - ; fallthrough -; 4e21 - -Function4e21: ; 4e21 - call Function4fb2 - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ret -; 4e2b - -Function4e2b: ; 4e2b - call Function4fb2 - call Function46d7 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - call Function4600 - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4e47 - -Function4e47: ; 4e47 - call Function46d7 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - call Function4600 - jp Function4b1d -; 4e56 - -Function4e56: ; 4e56 -; AnimateStep? - call Function47a8 - dw Function4e5d - dw Function4e65 -; 4e5d - -Function4e5d: ; 4e5d - ld hl, wd150 - set 7, [hl] - call Function47a2 - ; fallthrough -; 4e65 - -Function4e65: ; 4e65 - call Function4738 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, wd150 - set 6, [hl] - call Function4600 - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4e83 - -Function4e83: ; 4e83 - call Function47a8 - dw Function4e8e - dw Function4ea4 - dw Function4ead - dw Function4ec0 -; 4e8e - -Function4e8e: ; 4e8e - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_12 - add hl, bc - ld a, [hl] - ld [hl], $2 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $2 - call Function47a2 - ; fallthrough -; 4ea4 - -Function4ea4: ; 4ea4 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - call Function47a2 - ; fallthrough -; 4ead - -Function4ead: ; 4ead - ld hl, OBJECT_29 - add hl, bc - ld a, [hl] - ld hl, OBJECT_08 - add hl, bc - ld [hl], a - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $2 - call Function47a2 - ; fallthrough -; 4ec0 - -Function4ec0: ; 4ec0 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4ecd - -Function4ecd: ; 4ecd - call Function46d7 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - push bc - ld hl, OBJECT_MAP_X - add hl, bc - ld d, [hl] - ld hl, OBJECT_MAP_Y - add hl, bc - ld e, [hl] - ld hl, OBJECT_01 - add hl, bc - ld a, [hl] - ld b, a - callba Function807e - pop bc - ld hl, OBJECT_FLAGS - add hl, bc - res 2, [hl] - call Function4600 - ld hl, OBJECT_07 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4f04 - -Function4f04: ; 4f04 - ld hl, OBJECT_29 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, OBJECT_00 - add hl, de - ld a, [hl] - and a - jr z, .asm_4f30 - ld hl, OBJECT_SPRITE_X - add hl, de - ld a, [hl] - ld hl, OBJECT_SPRITE_X - add hl, bc - ld [hl], a - ld hl, OBJECT_SPRITE_Y - add hl, de - ld a, [hl] - ld hl, OBJECT_SPRITE_Y - add hl, bc - ld [hl], a - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld a, [hl] - and a - ret z - dec [hl] - ret nz - -.asm_4f30 - jp Function4357 -; 4f33 - -Function4f33: ; 4f33 - call Function47a8 - dw Function4f3a - dw Function4f43 -; 4f3a - -Function4f3a: ; 4f3a - xor a - ld hl, OBJECT_29 - add hl, bc - ld [hl], a - call Function47a2 - ; fallthrough -; 4f43 - -Function4f43: ; 4f43 - ld hl, OBJECT_29 - add hl, bc - ld d, [hl] - ld a, [wd14f] - sub d - ld [wd14f], a - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - jr z, .asm_4f68 - ld a, [hl] - call Function4f6c - ld hl, OBJECT_29 - add hl, bc - ld [hl], a - ld d, a - ld a, [wd14f] - add d - ld [wd14f], a - ret - -.asm_4f68 - call Function4357 - ret -; 4f6c - -Function4f6c: ; 4f6c - ld hl, OBJECT_30 - add hl, bc - and 1 - ld a, [hl] - ret z - cpl - inc a - ret -; 4f77 - -Function4f77: ; 4f77 - call Function47a8 ; ???? -; 4f7a - -Function4f7a: ; 4f7a - call Function47a8 - dw Function4f83 - dw Function4f83 - dw Function4f83 -; 4f83 - -Function4f83: ; 4f83 - call Function47a8 - dw Function4f8a - dw Function4f99 -; 4f8a - -Function4f8a: ; 4f8a - ld hl, OBJECT_11 - add hl, bc - ld [hl], $10 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $10 - call Function47a2 -; 4f99 - -Function4f99: ; 4f99 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], $60 - ld hl, OBJECT_12 - add hl, bc - ld [hl], $0 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $1 - ret -; 4fb2 - -Function4fb2: ; 4fb2 - ret -; 4fb3 - -Function4fb3: ; 4fb3 - ld hl, OBJECT_29 - add hl, bc - inc [hl] - ld a, [hl] - srl a - srl a - and 7 - ld l, a - ld h, 0 - ld de, .y - add hl, de - ld a, [hl] - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], a - ret -; 4fcd - -.y ; 4fcd - db 0, -1, -2, -3, -4, -3, -2, -1 -; 4fd5 - -UpdateJumpPosition: ; 4fd5 - call GetStepVector - ld a, h - ld hl, OBJECT_31 - add hl, bc - ld e, [hl] - add e - ld [hl], a - nop - srl e - ld d, 0 - ld hl, .y - add hl, de - ld a, [hl] - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], a - ret -; 4ff0 - -.y ; 4ff0 - db -4, -6, -8, -10, -11, -12, -12, -12 - db -11, -10, -9, -8, -6, -4, 0, 0 -; 5000 - -Function5000: ; 5000 - ld a, [wc2de] - ld hl, wc2df - ld [hl], a - ld a, $3e - ld [wc2de], a - ld a, [hl] - ret -; 500e - -Function500e: ; 500e - ld hl, wc2e3 - call Function1aae - ret -; 5015 - -Function5015: ; 5015 - ld hl, OBJECT_27 - add hl, bc - ld e, [hl] - inc [hl] - ld d, 0 - ld hl, wc2e2 - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld a, [hl] - ret -; 5026 - -Function5026: ; 5026 - ld hl, OBJECT_27 - add hl, bc - ld e, [hl] - inc [hl] - ld d, 0 - ld hl, wc2e6 - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld a, [hl] - ret -; 5037 - -Function5037: ; 5037 - ld hl, Function503d - jp Function5041 -; 503d - -Function503d: ; 503d - ld a, [wc2e2] - ret -; 5041 - -Function5041: ; 5041 - call Function5055 -.asm_5044 - xor a - ld [wc2ea], a - call Function505e - call Function506b - ld a, [wc2ea] - and a - jr nz, .asm_5044 - ret -; 5055 - -Function5055: ; 5055 - ld a, l - ld [wc2eb], a - ld a, h - ld [wc2ec], a - ret -; 505e - -Function505e: ; 505e - ld hl, wc2eb - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 5065 - -Function5065: ; 5065 - ld a, $1 - ld [wc2ea], a - ret -; 506b - -Function506b: ; 506b - push af - call Function54b8 - pop af - ld hl, MovementPointers - rst JumpTable - ret -; 5075 - - -; 5075 -INCLUDE "engine/movement.asm" -; 54b8 - - -Function54b8: ; 54b8 - ld e, a - ld a, [wd4ce] - cp $ff - ret z - ld a, [wd4cd] - ld d, a - ld a, [$ffaf] - cp d - ret nz - ld a, e - cp $3e - ret z - cp $47 - ret z - cp $4b - ret z - cp $50 - ret z - cp $8 - ret c - push af - ld hl, wd4d0 - inc [hl] - ld e, [hl] - ld d, 0 - ld hl, wd4d1 - add hl, de - pop af - ld [hl], a - ret -; 54e6 - -Function54e6: ; 54e6 - ld hl, wd4d0 - ld a, [hl] - and a - jr z, .asm_5503 - cp $ff - jr z, .asm_5503 - dec [hl] - ld e, a - ld d, 0 - ld hl, wd4d1 - add hl, de - inc e - ld a, $ff -.asm_54fc - ld d, [hl] - ld [hld], a - ld a, d - dec e - jr nz, .asm_54fc - ret - -.asm_5503 - call Function550a - ret c - ld a, $3e - ret -; 550a - -Function550a: ; 550a - ld a, [wd4cd] - cp $ff - jr z, .asm_5520 - push bc - call Function1ae5 - ld hl, OBJECT_00 - add hl, bc - ld a, [hl] - pop bc - and a - jr z, .asm_5520 - and a - ret - -.asm_5520 - ld a, $ff - ld [wd4ce], a - ld a, $47 - scf - ret -; 5529 - -Function5529: ; 5529 - push bc - ld de, .data_5535 - call Function55b9 - call Function55ac - pop bc - ret - -.data_5535 - db $00, $05, $1b -; 5538 - -Function5538: ; 5538 - push bc - ld de, .data_5544 - call Function55b9 - call Function55ac - pop bc - ret - -.data_5544 - db $00, $05, $22 -; 5547 - -Function5547: ; 5547 - push bc - ld de, .data_5553 - call Function55b9 - call Function55ac - pop bc - ret - -.data_5553 - db $00, $05, $1c -; 5556 - -Function5556: ; 5556 - push bc - ld de, .data_5562 - call Function55b9 - call Function55ac - pop bc - ret - -.data_5562 - db $00, $06, $23 -; 5565 - -Function5565: ; 5565 - push bc - push af - ld de, .data_5576 - call Function55b9 - pop af - ld [wc2f5], a - call Function55ac - pop bc - ret - -.data_5576 - db $00, $05, $1d -; 5579 - -Function5579: ; 5579 - push bc - ld a, [$ffaf] - ld c, a - call Function5582 - pop bc - ret -; 5582 - -Function5582: ; 5582 - ld de, ObjectStructs - ld a, $d -.asm_5587 - push af - ld hl, OBJECT_04 - add hl, de - bit 7, [hl] - jr z, .asm_55a1 - ld hl, OBJECT_00 - add hl, de - ld a, [hl] - and a - jr z, .asm_55a1 - push bc - xor a - ld bc, ObjectStruct2 - ObjectStruct1 - call ByteFill - pop bc - -.asm_55a1 - ld hl, ObjectStruct2 - ObjectStruct1 - add hl, de - ld d, h - ld e, l - pop af - dec a - jr nz, .asm_5587 - ret -; 55ac - -Function55ac: ; 55ac - call Function1a13 - ret nc - ld d, h - ld e, l - callba Function8286 - ret -; 55b9 - -Function55b9: ; 55b9 - ld hl, wc2f0 - ld [hl], $ff - inc hl - ld [hl], $ff - inc hl - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a - ld a, [de] - ld [hli], a - ld a, [$ffaf] - ld [hli], a - push hl - ld hl, OBJECT_MAP_X - add hl, bc - ld d, [hl] - ld hl, OBJECT_MAP_Y - add hl, bc - ld e, [hl] - pop hl - ld [hl], d - inc hl - ld [hl], e - inc hl - ld [hl], $ff - ret -; 55e0 - -Function55e0:: ; 55e0 - ld a, [VramState] - bit 0, a - ret z - ld bc, ObjectStructs - xor a -.asm_55ea - ld [$ffaf], a - call Function1af1 - jr z, .asm_55f4 - call Function565c - -.asm_55f4 - ld hl, ObjectStruct2 - ObjectStruct1 - add hl, bc - ld b, h - ld c, l - ld a, [$ffaf] - inc a - cp $d - jr nz, .asm_55ea - ret -; 5602 - -Function5602: ; 5602 - call Function5645 - ld a, $0 - call Function5629 - ld a, [wd459] - bit 7, a - jr z, .asm_5619 - ld a, [$ffe0] - and a - jr z, .asm_5619 - call Function5629 - -.asm_5619 - call Function5920 - ret -; 561d - -Function561d: ; 561d - call Function5645 - ld a, $0 - call Function5629 - call Function5920 - ret -; 5629 - -Function5629: ; 5629 - cp $10 - ret nc - call GetMapObject - ld hl, $0000 - add hl, bc - ld a, [hl] - cp $ff - ret z - cp $d - ret nc - call Function1ae5 - call Function1af1 - ret z - call Function5673 - ret -; 5645 - -Function5645: ; 5645 - xor a - ld bc, ObjectStructs -.asm_5649 - ld [$ffaf], a - call Function5680 - ld hl, ObjectStruct2 - ObjectStruct1 - add hl, bc - ld b, h - ld c, l - ld a, [$ffaf] - inc a - cp $d - jr nz, .asm_5649 - ret -; 565c - -Function565c: ; 565c - push bc - call Function56cd - pop bc - jr c, Function5680 - call Function56a3 - jr c, Function5680 - call Function5688 - callba Function4440 - xor a - ret -; 5673 - -Function5673: ; 5673 - call Function56a3 - jr c, Function5680 - callba Function4440 - xor a - ret -; 5680 - -Function5680: ; 5680 - ld hl, OBJECT_FACING - add hl, bc - ld [hl], $ff - scf - ret -; 5688 - -Function5688: ; 5688 - push bc - ld hl, OBJECT_MAP_X - add hl, bc - ld d, [hl] - ld hl, OBJECT_MAP_Y - add hl, bc - ld e, [hl] - call Function2a3c - pop bc - ld hl, OBJECT_STANDING_TILE - add hl, bc - ld [hl], a - callba Function463f - ret -; 56a3 - -Function56a3: ; 56a3 - ld hl, OBJECT_MAP_X - add hl, bc - ld d, [hl] - ld hl, OBJECT_MAP_Y - add hl, bc - ld e, [hl] - inc d - inc e - ld a, [XCoord] - cp d - jr z, .asm_56bc - jr nc, .asm_56cb - add $b - cp d - jr c, .asm_56cb - -.asm_56bc - ld a, [YCoord] - cp e - jr z, .asm_56c9 - jr nc, .asm_56cb - add $a - cp e - jr c, .asm_56cb - -.asm_56c9 - xor a - ret - -.asm_56cb - scf - ret -; 56cd - -Function56cd: ; 56cd - ld a, [wd14c] - ld d, a - ld hl, OBJECT_SPRITE_X_OFFSET - add hl, bc - ld a, [hl] - ld hl, OBJECT_SPRITE_X - add hl, bc - add [hl] - add d - cp $f0 - jr nc, .asm_56e5 - cp $a0 - jp nc, .asm_5768 - -.asm_56e5 - and $7 - ld d, $2 - cp $4 - jr c, .asm_56ef - ld d, $3 - -.asm_56ef - ld a, [hl] - srl a - srl a - srl a - cp $14 - jr c, .asm_56fc - sub $20 - -.asm_56fc - ld [$ffbd], a - ld a, [wd14d] - ld e, a - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld a, [hl] - ld hl, OBJECT_SPRITE_Y - add hl, bc - add [hl] - add e - cp $f0 - jr nc, .asm_5715 - cp $90 - jr nc, .asm_5768 - -.asm_5715 - and $7 - ld e, $2 - cp $4 - jr c, .asm_571f - ld e, $3 - -.asm_571f - ld a, [hl] - srl a - srl a - srl a - cp $12 - jr c, .asm_572c - sub $20 - -.asm_572c - ld [$ffbe], a - ld hl, OBJECT_PALETTE - add hl, bc - bit 7, [hl] - jr z, .asm_573e - ld a, d - add $2 - ld d, a - ld a, e - add $2 - ld e, a - -.asm_573e - ld a, d - ld [$ffbf], a -.asm_5741 - ld a, [$ffbf] - ld d, a - ld a, [$ffbe] - add e - dec a - cp $12 - jr nc, .asm_5763 - ld b, a -.asm_574d - ld a, [$ffbd] - add d - dec a - cp $14 - jr nc, .asm_5760 - ld c, a - push bc - call GetTileCoord - pop bc - ld a, [hl] - cp $60 - jr nc, .asm_5768 - -.asm_5760 - dec d - jr nz, .asm_574d - -.asm_5763 - dec e - jr nz, .asm_5741 - and a - ret - -.asm_5768 - scf - ret -; 576a - -Function576a:: ; 576a - call Function5771 - call Function5781 - ret -; 5771 - -Function5771: ; 5771 - xor a - ld [wd14e], a - ld [wd14f], a - ld [wd150], a - ld a, $ff - ld [wd151], a - ret -; 5781 - -Function5781: ; 5781 - ld bc, ObjectStructs - xor a -.asm_5785 - ld [$ffaf], a - call Function1af1 - jr z, .asm_578f - call Function437b - -.asm_578f - ld hl, ObjectStruct2 - ObjectStruct1 - add hl, bc - ld b, h - ld c, l - ld a, [$ffaf] - inc a - cp $d - jr nz, .asm_5785 - ret -; 579d - -Function579d: ; 579d - ld a, $3e - ld [wc2de], a - ld [wc2df], a - xor a - ld [wd04e], a - ld [wd4e2], a - call Function57bc - callba Function149c6 - call c, Function57d9 - call Function57ca - ret -; 57bc - -Function57bc: ; 57bc - ld hl, wd45b - bit 7, [hl] - jr nz, .asm_57c4 - ret - -.asm_57c4 - ld a, $0 - ld [PlayerAction], a - ret -; 57ca - -Function57ca: ; 57ca - ld hl, wd45b - bit 5, [hl] - ret z - ld a, [wd45b] - and $3 - add a - add a - jr Function57db -; 57d9 - -Function57d9: ; 57d9 - ld a, $0 - ; fallthrough -; 57db - -Function57db: ; 57db - ld bc, PlayerStruct - call Function1af8 - ret -; 57e2 - -Function57e2: ; 57e2 - ld a, d - and $80 - ret z - ld bc, $0000 ; debug? - ld hl, OBJECT_08 - add hl, bc - ld a, [hl] - or d - ld [hl], a - ld a, d - swap a - and $7 - ld d, a - ld bc, PlayerStruct - ld hl, OBJECT_PALETTE - add hl, bc - ld a, [hl] - and $f8 - or d - ld [hl], a - ret -; 5803 - -Function5803:: ; 5803 - push bc - ld a, b - call Function5815 - pop bc - ret c - ld a, c - call Function582c - callba Function848a - ret -; 5815 - -Function5815: ; 5815 - call Function18de - ret c - ld a, [$ffb0] - ld [wd4cd], a - ret -; 581f - -Function581f:: ; 581f - call Function5826 - call Function5847 - ret -; 5826 - -Function5826: ; 5826 - ld a, $ff - ld [wd4cd], a - ret -; 582c - -Function582c: ; 582c - push af - call Function5847 - pop af - call Function18de - ret c - ld hl, OBJECT_03 - add hl, bc - ld [hl], $13 - ld hl, OBJECT_09 - add hl, bc - ld [hl], $0 - ld a, [$ffb0] - ld [wd4ce], a - ret -; 5847 - -Function5847: ; 5847 - ld a, [wd4ce] - cp $ff - ret z - call Function1ae5 - callba Function58e3 - ld a, $ff - ld [wd4ce], a - ret -; 585c - -Function585c:: ; 585c - ld a, c - call Function18de - ret c - push bc - call Function587a - pop bc - ld hl, OBJECT_FLAGS - add hl, bc - res 5, [hl] - xor a - ret -; 586e - -Function586e: ; 586e - call Function18de - ret c - ld hl, OBJECT_FLAGS - add hl, bc - set 5, [hl] - xor a - ret -; 587a - -Function587a: ; 587a - ld bc, ObjectStructs - xor a -.asm_587e - push af - call Function1af1 - jr z, .asm_588a - ld hl, OBJECT_FLAGS - add hl, bc - set 5, [hl] - -.asm_588a - ld hl, ObjectStruct2 - ObjectStruct1 - add hl, bc - ld b, h - ld c, l - pop af - inc a - cp $d - jr nz, .asm_587e - ret -; 5897 - -Function5897:: ; 5897 - ld a, [wd4cd] - cp $ff - ret z - push bc - call Function1ae5 - ld hl, OBJECT_01 - add hl, bc - ld a, [hl] - pop bc - cp c - ret nz - ld a, [wd4ce] - cp $ff - ret z - call Function1ae5 - ld hl, OBJECT_FLAGS - add hl, bc - res 5, [hl] - ret -; 58b9 - -Function58b9:: ; 58b9 - push bc - ld bc, ObjectStructs - xor a -.asm_58be - push af - call Function1af1 - jr z, .asm_58ca - ld hl, OBJECT_FLAGS - add hl, bc - res 5, [hl] - -.asm_58ca - ld hl, ObjectStruct2 - ObjectStruct1 - add hl, bc - ld b, h - ld c, l - pop af - inc a - cp $d - jr nz, .asm_58be - pop bc - ret -; 58d8 - -Function58d8: ; 58d8 - call Function18de - ret c - ld hl, OBJECT_FLAGS - add hl, bc - res 5, [hl] - ret -; 58e3 - -Function58e3: ; 58e3 - ld hl, OBJECT_01 - add hl, bc - ld a, [hl] - cp $ff - jp z, Function5903 - push bc - call GetMapObject - ld hl, $0004 - add hl, bc - ld a, [hl] - pop bc - ld hl, OBJECT_03 - add hl, bc - ld [hl], a - ld hl, OBJECT_09 - add hl, bc - ld [hl], $0 - ret -; 5903 - -Function5903: ; 5903 - call GetSpriteDirection - rrca - rrca - ld e, a - ld d, 0 - ld hl, .data_591c - add hl, de - ld a, [hl] - ld hl, OBJECT_03 - add hl, bc - ld [hl], a - ld hl, OBJECT_09 - add hl, bc - ld [hl], $0 - ret - -.data_591c - db 6, 7, 8, 9 -; 5920 - -Function5920:: ; 5920 - ld a, [VramState] - bit 0, a - ret z - xor a - ld [$ffbd], a - ld a, [hOAMUpdate] - push af - ld a, $1 - ld [hOAMUpdate], a - call Function5991 - call Function593a - pop af - ld [hOAMUpdate], a - ret -; 593a - -Function593a: ; 593a - ld a, [VramState] - bit 1, a - ld b, $a0 - jr z, .asm_5945 - ld b, $70 - -.asm_5945 - ld a, [$ffbd] - cp b - ret nc - ld l, a - ld h, $c4 - ld de, OBJECT_04 - ld a, b - ld c, $a0 -.asm_5952 - ld [hl], c - add hl, de - cp l - jr nz, .asm_5952 - ret -; 5958 - -Function5958: ; 5958 - push hl - push de - push bc - ld a, [wd14c] - ld d, a - ld a, [wd14d] - ld e, a - ld bc, ObjectStructs - ld a, $d - -.asm_5968 - push af - call Function1af1 - jr z, .asm_597c - - ld hl, OBJECT_SPRITE_X - add hl, bc - ld a, [hl] - add d - ld [hl], a - - ld hl, OBJECT_SPRITE_Y - add hl, bc - ld a, [hl] - add e - ld [hl], a - -.asm_597c - ld hl, ObjectStruct2 - ObjectStruct1 - add hl, bc - ld b, h - ld c, l - pop af - dec a - jr nz, .asm_5968 - - xor a - ld [wd14c], a - ld [wd14d], a - pop bc - pop de - pop hl - ret -; 5991 - -Function5991: ; 5991 - call Function59a4 - ld c, $30 - call Function59f3 - ld c, $20 - call Function59f3 - ld c, $10 - call Function59f3 - ret -; 59a4 - -Function59a4: ; 59a4 - xor a - ld hl, wc2eb - ld bc, 13 - call ByteFill - - ld d, 0 - ld bc, ObjectStructs - ld hl, wc2eb -.loop - push hl - call Function1af1 - jr z, .skip - - ld hl, OBJECT_FACING - add hl, bc - ld a, [hl] - cp -1 - jr z, .skip - -; Define the sprite priority. - ld e, $10 - ld hl, OBJECT_FLAGS - add hl, bc - bit 0, [hl] - jr nz, .add - ld e, $20 - bit 1, [hl] - jr z, .add - ld e, $30 - jr .add - -.skip - ld hl, ObjectStruct2 - ObjectStruct1 - add hl, bc - ld b, h - ld c, l - pop hl - jr .next - -.add - ld hl, ObjectStruct2 - ObjectStruct1 - add hl, bc - ld b, h - ld c, l - pop hl - ld a, d - or e - ld [hli], a - -.next - inc d - ld a, d - cp $d - jr nz, .loop - ret -; 59f3 - -Function59f3: ; 59f3 - ld hl, wc2eb -.next - ld a, [hli] - ld d, a - and $f0 - ret z - cp c - jr nz, .next - - push bc - push hl - ld a, d - and $f - call Function5ac2 - call Function5a0d - pop hl - pop bc - jr .next -; 5a0d - -Function5a0d: ; 5a0d - ld hl, OBJECT_SPRITE - add hl, bc - ld a, [hl] - and $7f - ld [$ffc1], a - - xor a - bit 7, [hl] - jr nz, .asm_5a1d - or 8 -.asm_5a1d - - ld hl, OBJECT_FLAGS - add hl, bc - ld e, [hl] - bit 7, e - jr z, .asm_5a28 - or $80 -.asm_5a28 - - bit 4, e - jr z, .asm_5a2e - or $10 -.asm_5a2e - - ld hl, OBJECT_PALETTE - add hl, bc - ld d, a - ld a, [hl] - and 7 - or d - ld d, a - - xor a - bit 3, e - jr z, .asm_5a3f - or $80 -.asm_5a3f - ld [$ffc2], a - - ld hl, OBJECT_SPRITE_X - add hl, bc - ld a, [hl] - - ld hl, OBJECT_SPRITE_X_OFFSET - add hl, bc - add [hl] - - add 8 - - ld e, a - ld a, [wd14c] - add e - ld [$ffbf], a - - ld hl, OBJECT_SPRITE_Y - add hl, bc - ld a, [hl] - - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - add [hl] - - add 12 - - ld e, a - ld a, [wd14d] - add e - ld [$ffc0], a - - ld hl, OBJECT_FACING - add hl, bc - ld a, [hl] - cp -1 - jp z, .done - cp NUM_FACINGS - jp nc, .done - - ld l, a - ld h, 0 - add hl, hl - ld bc, Facings - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - - ld a, [$ffbd] - ld c, a - ld b, Sprites / $100 - ld a, [hli] - ld [$ffbe], a - add c - cp SpritesEnd % $100 - jr nc, .full - -.addsprite - ld a, [$ffc0] - add [hl] - inc hl - - ld [bc], a - inc c - - ld a, [$ffbf] - add [hl] - inc hl - - ld [bc], a - inc c - - ld e, [hl] - inc hl - - ld a, [$ffc1] - bit 2, e - jr z, .asm_5aa3 - xor a -.asm_5aa3 - add [hl] - inc hl - - ld [bc], a - inc c - - ld a, e - bit 1, a - jr z, .asm_5aaf - ld a, [$ffc2] - or e -.asm_5aaf - and $f0 - or d - ld [bc], a - inc c - - ld a, [$ffbe] - dec a - ld [$ffbe], a - jr nz, .addsprite - - ld a, c - ld [$ffbd], a - -.done - xor a - ret - -.full - scf - ret -; 5ac2 - -Function5ac2: ; 5ac2 - ld c, a - ld b, 0 - ld hl, .Addresses - add hl, bc - add hl, bc - ld c, [hl] - inc hl - ld b, [hl] - ret -; 5ace - -.Addresses ; 5ace - dw PlayerStruct - dw ObjectStruct1 - dw ObjectStruct2 - dw ObjectStruct3 - dw ObjectStruct4 - dw ObjectStruct5 - dw ObjectStruct6 - dw ObjectStruct7 - dw ObjectStruct8 - dw ObjectStruct9 - dw ObjectStruct10 - dw ObjectStruct11 - dw ObjectStruct12 -; 5ae8 +INCLUDE "engine/map_objects.asm" Function5ae8: ; 5ae8 From 8bc89189cc8d6059d8eda1b2dd2ed952e7c6fd1d Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 14:17:45 -0800 Subject: [PATCH 13/20] Use NUM_MOVES more liberally in wram. --- wram.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wram.asm b/wram.asm index 3689e3849..609702da3 100644 --- a/wram.asm +++ b/wram.asm @@ -4,7 +4,7 @@ flag_array: MACRO ds ((\1) + 7) / 8 ENDM -box_struct_length EQU 32 +box_struct_length EQU 24 + NUM_MOVES * 2 box_struct: MACRO \1Species:: db \1Item:: db @@ -801,7 +801,7 @@ wc712:: PlayerUsedMoves:: ; c712 ; add a move that has been used once by the player ; added in order of use - ds 4 + ds NUM_MOVES wc716:: ds 1 wc717:: ds 1 From b048ea0faf295832faa3f113ccb9308b60b0b11e Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 15:03:42 -0800 Subject: [PATCH 14/20] Use labels for script specials instead of constants/static values. --- engine/more_phone_scripts.asm | 10 +- engine/phone_scripts.asm | 10 +- engine/std_scripts.asm | 36 +- macros/event.asm | 10 +- main.asm | 426 +++++++++---------- maps/AzaleaTown.asm | 4 +- maps/BattleTower1F.asm | 64 +-- maps/BattleTowerBattleRoom.asm | 42 +- maps/BattleTowerElevator.asm | 2 +- maps/BillsHouse.asm | 12 +- maps/BluesHouse.asm | 10 +- maps/BurnedTower1F.asm | 4 +- maps/BurnedTowerB1F.asm | 4 +- maps/CeladonDeptStore6F.asm | 2 +- maps/CeladonGameCorner.asm | 8 +- maps/CeladonGameCornerPrizeRoom.asm | 10 +- maps/CeladonMansion3F.asm | 4 +- maps/CeladonPokeCenter1F.asm | 4 +- maps/CeruleanGym.asm | 2 +- maps/CeruleanPokeCenter1F.asm | 2 +- maps/CherrygroveCity.asm | 6 +- maps/CianwoodCity.asm | 2 +- maps/CianwoodCityPhotoStudio.asm | 2 +- maps/Colosseum.asm | 4 +- maps/CopycatsHouse2F.asm | 10 +- maps/DayCare.asm | 6 +- maps/DragonShrine.asm | 6 +- maps/DragonsDenB1F.asm | 8 +- maps/EcruteakGym.asm | 2 +- maps/EcruteakPokeCenter1F.asm | 2 +- maps/ElmsLab.asm | 18 +- maps/FastShip1F.asm | 4 +- maps/FastShipCabins.asm | 6 +- maps/FastShipCabins_NNW_NNE_NE.asm | 2 +- maps/FastShipCabins_SE_SSE_CaptainsCabin.asm | 6 +- maps/FastShipCabins_SW_SSW_NW.asm | 14 +- maps/FuchsiaGym.asm | 10 +- maps/FuchsiaPokeCenter1F.asm | 4 +- maps/GoldenrodCity.asm | 10 +- maps/GoldenrodDeptStore5F.asm | 6 +- maps/GoldenrodDeptStore6F.asm | 2 +- maps/GoldenrodGameCorner.asm | 16 +- maps/GoldenrodHappinessRater.asm | 2 +- maps/GoldenrodMagnetTrainStation.asm | 2 +- maps/GoldenrodNameRatersHouse.asm | 2 +- maps/GoldenrodPokeCenter1F.asm | 8 +- maps/HallOfFame.asm | 4 +- maps/IlexForest.asm | 6 +- maps/IndigoPlateauPokeCenter1F.asm | 6 +- maps/KrissHouse1F.asm | 10 +- maps/KrissHouse2F.asm | 6 +- maps/KurtsHouse.asm | 12 +- maps/LakeofRage.asm | 2 +- maps/LakeofRageMagikarpHouse.asm | 4 +- maps/LancesRoom.asm | 6 +- maps/LavenderNameRater.asm | 2 +- maps/MahoganyTown.asm | 4 +- maps/ManiasHouse.asm | 4 +- maps/MobileBattleRoom.asm | 22 +- maps/MobileTradeRoomMobile.asm | 4 +- maps/MountMoon.asm | 2 +- maps/MoveDeletersHouse.asm | 2 +- maps/MrPokemonsHouse.asm | 14 +- maps/NewBarkTown.asm | 4 +- maps/OaksLab.asm | 2 +- maps/OlivineCity.asm | 12 +- maps/OlivineLighthouse6F.asm | 16 +- maps/OlivinePort.asm | 2 +- maps/PokeCenter2F.asm | 114 ++--- maps/PokeSeersHouse.asm | 2 +- maps/RadioTower1F.asm | 8 +- maps/RadioTower2F.asm | 18 +- maps/RadioTower5F.asm | 8 +- maps/Route24.asm | 8 +- maps/Route25.asm | 4 +- maps/Route26HealSpeechHouse.asm | 12 +- maps/Route27SandstormHouse.asm | 2 +- maps/Route30.asm | 2 +- maps/Route34.asm | 6 +- maps/Route35NationalParkgate.asm | 16 +- maps/Route36.asm | 4 +- maps/Route36NationalParkgate.asm | 24 +- maps/Route39Barn.asm | 4 +- maps/Route39Farmhouse.asm | 4 +- maps/Route40.asm | 2 +- maps/Route43Gate.asm | 4 +- maps/Route45.asm | 4 +- maps/RuinsofAlphAerodactylChamber.asm | 6 +- maps/RuinsofAlphHoOhChamber.asm | 8 +- maps/RuinsofAlphKabutoChamber.asm | 6 +- maps/RuinsofAlphOmanyteChamber.asm | 8 +- maps/RuinsofAlphResearchCenter.asm | 4 +- maps/SaffronPokeCenter1F.asm | 2 +- maps/SaffronTrainStation.asm | 2 +- maps/SilverCaveRoom3.asm | 12 +- maps/SlowpokeWellB1F.asm | 10 +- maps/SproutTower3F.asm | 10 +- maps/TeamRocketBaseB1F.asm | 12 +- maps/TeamRocketBaseB2F.asm | 20 +- maps/TeamRocketBaseB3F.asm | 4 +- maps/TimeCapsule.asm | 4 +- maps/TinTower1F.asm | 12 +- maps/TradeCenter.asm | 4 +- maps/TrainerHouseB1F.asm | 4 +- maps/UndergroundPathSwitchRoomEntrances.asm | 4 +- maps/VermilionCity.asm | 2 +- maps/VermilionPort.asm | 2 +- maps/VictoryRoad.asm | 4 +- maps/VioletCity.asm | 2 +- maps/WarehouseEntrance.asm | 30 +- 110 files changed, 699 insertions(+), 691 deletions(-) diff --git a/engine/more_phone_scripts.asm b/engine/more_phone_scripts.asm index 55b5f98c3..96a9e58f2 100644 --- a/engine/more_phone_scripts.asm +++ b/engine/more_phone_scripts.asm @@ -1,5 +1,5 @@ UnknownScript_0xa0000: - special $005d + special RandomPhoneMon farscall UnknownScript_0xbde3f if_equal $0, UnknownScript_0xa0013 farscall UnknownScript_0xbe51e @@ -9,7 +9,7 @@ UnknownScript_0xa0013: farjump UnknownScript_0xa002e UnknownScript_0xa0017: - special $005d + special RandomPhoneMon farscall UnknownScript_0xbde3f if_equal $0, UnknownScript_0xa002a farscall UnknownScript_0xbe5d0 @@ -27,7 +27,7 @@ UnknownScript_0xa0036: farjump UnknownScript_0xa0055 UnknownScript_0xa003e: - special $005c + special Function2a51f farscall UnknownScript_0xbde3f if_equal $0, UnknownScript_0xa0051 farscall UnknownScript_0xa017a @@ -37,7 +37,7 @@ UnknownScript_0xa0051: farjump UnknownScript_0xa006c UnknownScript_0xa0055: - special $005c + special Function2a51f farscall UnknownScript_0xbde3f if_equal $0, UnknownScript_0xa0068 farscall UnknownScript_0xa0226 @@ -851,7 +851,7 @@ UnknownScript_0xa059c: farjump UnknownScript_0xa053a UnknownScript_0xa05a0: - special $005b + special Function2a4ab end UnknownScript_0xa05a4: diff --git a/engine/phone_scripts.asm b/engine/phone_scripts.asm index 7dbb246e3..c66781cdd 100644 --- a/engine/phone_scripts.asm +++ b/engine/phone_scripts.asm @@ -381,7 +381,7 @@ UnknownScript_0xbd17c: iftrue UnknownScript_0xbd1cd UnknownScript_0xbd19b: - special $005d + special RandomPhoneMon farjump UnknownScript_0xa0908 UnknownScript_0xbd1a2: @@ -608,7 +608,7 @@ UnknownScript_0xbd373: iftrue UnknownScript_0xbd3c4 UnknownScript_0xbd392: - special $005d + special RandomPhoneMon farjump UnknownScript_0xa0930 UnknownScript_0xbd399: @@ -808,7 +808,7 @@ UnknownScript_0xbd544: pokenamemem QWILFISH, $1 displaylocation ROUTE_32, $2 writebyte $1 - special $0048 + special Functionc3fc farjump UnknownScript_0xa05d6 UnknownScript_0xbd55c: @@ -827,7 +827,7 @@ UnknownScript_0xbd560: iftrue UnknownScript_0xbd5c3 UnknownScript_0xbd57f: - special $005d + special RandomPhoneMon farjump UnknownScript_0xa0948 UnknownScript_0xbd586: @@ -3079,7 +3079,7 @@ UnknownScript_0xbe61c: end UnknownScript_0xbe622: - special $005d + special RandomPhoneMon farscall UnknownScript_0xbde3f if_equal $0, UnknownScript_0xbe636 farwritetext UnknownText_0x1b518b diff --git a/engine/std_scripts.asm b/engine/std_scripts.asm index b6fd9f686..98602bd8a 100644 --- a/engine/std_scripts.asm +++ b/engine/std_scripts.asm @@ -122,16 +122,16 @@ PokeCenterNurseScript: ; bc09c ; Go ahead and heal farwritetext UnknownText_0x1b01bd pause 20 - special $009d + special Function1060a2 ; Turn to the machine spriteface $fe, $2 pause 10 - special $001b + special Functionc658 playmusic MUSIC_NONE writebyte $0 - special $003e + special Function12324 pause 30 - special $003d + special RestartMapMusic spriteface $fe, $0 pause 10 ; Has Elm already phoned you about Pokerus? @@ -141,7 +141,7 @@ PokeCenterNurseScript: ; bc09c checkflag $000d iftrue .done ; Check for Pokerus - special $004e ; SPECIAL_CHECKPOKERUS + special SpecialCheckPokerus ; SPECIAL_CHECKPOKERUS iftrue .pokerus .done ; Thank you for waiting. ... @@ -212,7 +212,7 @@ UnknownScript_0xbc17a: ; 0xbc17a loadfont farwritetext UnknownText_0x1b048d closetext - special $0026 + special Functionc2c0 loadmovesprites end ; 0xbc185 @@ -236,7 +236,7 @@ UnknownScript_0xbc191: ; 0xbc191 UnknownScript_0xbc195: ; 0xbc195 loadfont writebyte $0 - special $0028 + special Functionc355 loadmovesprites end ; 0xbc19d @@ -244,7 +244,7 @@ UnknownScript_0xbc195: ; 0xbc195 UnknownScript_0xbc19d: ; 0xbc19d loadfont writebyte $4 - special $0028 + special Functionc355 loadmovesprites end ; 0xbc1a5 @@ -255,7 +255,7 @@ UnknownScript_0xbc1a5: ; 0xbc1a5 UnknownScript_0xbc1a9: ; 0xbc1a9 loadfont - special $001c + special Function1559a loadmovesprites end ; 0xbc1af @@ -371,7 +371,7 @@ UnknownScript_0xbc242: ; 0xbc242 ; 0xbc25c UnknownScript_0xbc25c: ; 0xbc25c - special $0034 + special WhiteBGMap scall UnknownScript_0xbc380 setevent $0747 clearevent $0748 @@ -389,7 +389,7 @@ UnknownScript_0xbc274: ; bc274 loadfont farwritetext UnknownText_0x1b05bf closetext - special $0014 + special Functionc34a RAM2MEM $0 if_equal $1, UnknownScript_0xbc31e if_equal $2, UnknownScript_0xbc332 @@ -415,9 +415,9 @@ UnknownScript_0xbc2b6: iffalse UnknownScript_0xbc2c4 farwritetext UnknownText_0x1b06d9 closetext - special $0017 + special Function13a31 UnknownScript_0xbc2c4: - special $0015 + special Function4d9e5 if_equal $0, UnknownScript_0xbc2d4 if_equal $2, UnknownScript_0xbc2d4 farwritetext UnknownText_0x1b070d @@ -447,7 +447,7 @@ UnknownScript_0xbc2d4: setevent $0728 setevent $0729 setflag $0051 - special $003c + special PlayMapMusic end ; 0xbc31e @@ -692,7 +692,7 @@ UnknownScript_0xbc3db: ; 0xbc3db ; 0xbc574 UnknownScript_0xbc574: ; 0xbc574 - special $005d + special RandomPhoneMon checkcode $17 if_equal $5, UnknownScript_0xbc5c9 if_equal $7, UnknownScript_0xbc5ce @@ -816,7 +816,7 @@ UnknownScript_0xbc628: ; 0xbc628 ; 0xbc62d UnknownScript_0xbc62d: ; 0xbc62d - special $005d + special RandomPhoneMon checkcode $17 if_equal $5, UnknownScript_0xbc682 if_equal $7, UnknownScript_0xbc687 @@ -2257,7 +2257,7 @@ UnknownScript_0xbcde0: ; 0xbcde0 farwritetext UnknownText_0x1b07e3 UnknownScript_0xbcde4: ; 0xbcde4 - special $0050 + special Function24b4e loadmenudata MenuDataHeader_0xbce54 interpretmenu2 writebackup @@ -2336,7 +2336,7 @@ MenuData2_0xbce5c: ; 0xbce5c UnknownScript_0xbce7f: ; 0xbce7f faceplayer loadfont - special $0059 + special Function718d if_less_than 50, UnknownScript_0xbce9a if_less_than 150, UnknownScript_0xbce93 farwritetext UnknownText_0x1b092a diff --git a/macros/event.asm b/macros/event.asm index 82468c2a8..238f18f85 100644 --- a/macros/event.asm +++ b/macros/event.asm @@ -80,11 +80,19 @@ callasm: macro dw \1 endm + special: macro db $0f - dw \1 ; predefined_script + dw (\1Special - SpecialsPointers) / 3 endm +add_special: MACRO +\1Special:: + db BANK(\1) + dw \1 +ENDM + + ptcallasm: macro db $10 dw \1 ; asm diff --git a/main.asm b/main.asm index 52affc04e..d3ab4f0e8 100644 --- a/main.asm +++ b/main.asm @@ -4202,176 +4202,176 @@ Special:: ; c01b ret ; c029 -SpecialsPointers: ; c029 - dbw BANK(Function97c28), Function97c28 - dbw BANK(Function29ce8), Function29ce8 - dbw BANK(Function29d11), Function29d11 - dbw BANK(Function29d92), Function29d92 - dbw BANK(Function29e66), Function29e66 - dbw BANK(Function29e82), Function29e82 - dbw BANK(Function29efa), Function29efa - dbw BANK(Function29eee), Function29eee - dbw BANK(Function29c92), Function29c92 - dbw BANK(Function29cf1), Function29cf1 - dbw BANK(Function29cfa), Function29cfa - dbw BANK(Function29bfb), Function29bfb - dbw BANK(Function29c7b), Function29c7b - dbw BANK(Function29ec4), Function29ec4 - dbw BANK(Function29ed9), Function29ed9 - dbw BANK(Function29eaf), Function29eaf - dbw BANK(Function29f47), Function29f47 - dbw BANK(Functionc2f6), Functionc2f6 - dbw BANK(Functionc309), Functionc309 - dbw BANK(Function1050b9), Function1050b9 - dbw BANK(Functionc34a), Functionc34a - dbw BANK(Function4d9e5), Function4d9e5 - dbw BANK(Function13a12), Function13a12 - dbw BANK(Function13a31), Function13a31 - dbw BANK(Function135db), Function135db - dbw BANK(Functionfbb32), Functionfbb32 - dbw BANK(Functionfbcd2), Functionfbcd2 - dbw BANK(Functionc658), Functionc658 - dbw BANK(Function1559a), Function1559a - dbw BANK(Functionc2e7), Functionc2e7 - dbw BANK(Function166d6), Function166d6 - dbw BANK(Function1672a), Function1672a - dbw BANK(Function16936), Function16936 - dbw BANK(Function2c547), Function2c547 - dbw BANK(Function16218), Function16218 - dbw BANK(Function8cc04), Function8cc04 - dbw BANK(SpecialNameRival), SpecialNameRival - dbw BANK(Function90913), Function90913 - dbw BANK(Functionc2c0), Functionc2c0 - dbw BANK(Functionc2cd), Functionc2cd - dbw BANK(Functionc355), Functionc355 - dbw BANK(Functionc360), Functionc360 - dbw BANK(Functionc373), Functionc373 - dbw BANK(Functionc380), Functionc380 - dbw BANK(Functionc38d), Functionc38d - dbw BANK(Functionc3db), Functionc3db - dbw BANK(Function8c084), Function8c084 - dbw BANK(Function8c092), Function8c092 - dbw BANK(Function8c0b6), Function8c0b6 - dbw BANK(Function8c079), Function8c079 - dbw BANK(Function8c0ab), Function8c0ab - dbw BANK(Functiond91), Functiond91 - dbw BANK(WhiteBGMap), WhiteBGMap - dbw BANK(UpdateTimePals), UpdateTimePals - dbw BANK(ClearTileMap), ClearTileMap - dbw BANK(Function1ad2), Function1ad2 - dbw BANK(Functione4a), Functione4a - dbw BANK(Functionc230), Functionc230 - dbw BANK(SpecialSeenMon), SpecialSeenMon - dbw BANK(WaitSFX),WaitSFX - dbw BANK(PlayMapMusic), PlayMapMusic - dbw BANK(RestartMapMusic), RestartMapMusic - dbw BANK(Function12324), Function12324 - dbw BANK(Function8379), Function8379 - dbw BANK(Functionc25a), Functionc25a - dbw BANK(Functionc268), Functionc268 - dbw BANK(Functionc276), Functionc276 - dbw BANK(Functionc284), Functionc284 - dbw BANK(Functionc3ef), Functionc3ef - dbw BANK(Function17421), Function17421 - dbw BANK(Function17440), Function17440 - dbw BANK(Function139a8), Function139a8 - dbw BANK(Functionc3fc), Functionc3fc - dbw BANK(Function26feb), Function26feb - dbw BANK(Function27043), Function27043 - dbw BANK(SpecialGiveShuckle), SpecialGiveShuckle - dbw BANK(SpecialReturnShuckle), SpecialReturnShuckle - dbw BANK(Function73f7), Function73f7 - dbw BANK(SpecialCheckPokerus),SpecialCheckPokerus - dbw BANK(Function24b25), Function24b25 - dbw BANK(Function24b4e), Function24b4e - dbw BANK(Function24ae8), Function24ae8 - dbw BANK(Function4d87a), Function4d87a - dbw BANK(Functionc434), Functionc434 - dbw BANK(Functionc422), Functionc422 - dbw BANK(Function4d9d3), Function4d9d3 - dbw BANK(Function88018), Function88018 - dbw BANK(SpecialNameRater), SpecialNameRater - dbw BANK(Functionc2da), Functionc2da - dbw BANK(Function718d), Function718d - dbw BANK(Function71ac), Function71ac - dbw BANK(Function2a4ab), Function2a4ab - dbw BANK(Function2a51f), Function2a51f - dbw BANK(RandomPhoneMon), RandomPhoneMon - dbw BANK(Function14209), Function14209 - dbw BANK(Functionfb841), Functionfb841 - dbw BANK(SpecialSnorlaxAwake),SpecialSnorlaxAwake - dbw BANK(Function7413), Function7413 - dbw BANK(Function7418), Function7418 - dbw BANK(Function741d), Function741d - dbw BANK(Functionc472), Functionc472 - dbw BANK(ProfOaksPCBoot), ProfOaksPCBoot - dbw BANK(SpecialGameboyCheck),SpecialGameboyCheck - dbw BANK(SpecialTrainerHouse),SpecialTrainerHouse - dbw BANK(Function16dc7), Function16dc7 - dbw BANK(InitRoamMons), InitRoamMons - dbw BANK(Functionc48f), Functionc48f - dbw BANK(Functionc49f), Functionc49f - dbw BANK(Functionc4ac), Functionc4ac - dbw BANK(Function11ac3e), Function11ac3e - dbw BANK(Function11b444), Function11b444 - dbw BANK(Function11b5e8), Function11b5e8 - dbw BANK(Function11b7e5), Function11b7e5 - dbw BANK(Function11b879), Function11b879 - dbw BANK(Function11b920), Function11b920 - dbw BANK(Function11b93b), Function11b93b - dbw BANK(Function1700b0), Function1700b0 - dbw BANK(Function1700ba), Function1700ba - dbw BANK(Function170114), Function170114 - dbw BANK(Function170215), Function170215 - dbw BANK(Function1704e1), Function1704e1 - dbw BANK(Function17021d), Function17021d - dbw BANK(Function170b44), Function170b44 - dbw BANK(Function11ba38), Function11ba38 - dbw BANK(Function170bd3), Function170bd3 - dbw BANK(Function117656), Function117656 - dbw BANK(Reset), Reset - dbw BANK(Function1011f1), Function1011f1 - dbw BANK(Function101220), Function101220 - dbw BANK(Function101225), Function101225 - dbw BANK(Function101231), Function101231 - dbw BANK(Function4925b), Function4925b - dbw BANK(Function8adef), Function8adef - dbw BANK(Function11c1ab), Function11c1ab - dbw BANK(Function170687), Function170687 - dbw BANK(Function8ae68), Function8ae68 - dbw BANK(Function17d224), Function17d224 - dbw BANK(Function17d2b6), Function17d2b6 - dbw BANK(Function17d2ce), Function17d2ce - dbw BANK(Function17f53d), Function17f53d - dbw BANK(Function103612), Function103612 - dbw BANK(SpecialHoOhChamber),SpecialHoOhChamber - dbw BANK(Function102142), Function102142 - dbw BANK(Function4989a), Function4989a - dbw BANK(Function49bf9), Function49bf9 - dbw BANK(SpecialPokeSeer), SpecialPokeSeer - dbw BANK(SpecialBuenasPassword), SpecialBuenasPassword - dbw BANK(SpecialBuenaPrize), SpecialBuenaPrize - dbw BANK(SpecialDratini),SpecialDratini - dbw BANK(Function11485), Function11485 - dbw BANK(SpecialBeastsCheck),SpecialBeastsCheck - dbw BANK(SpecialMonCheck),SpecialMonCheck - dbw BANK(Functionc225), Functionc225 - dbw BANK(Function170bd2), Function170bd2 - dbw BANK(Function10366e), Function10366e - dbw BANK(Function1037eb), Function1037eb - dbw BANK(Function10383c), Function10383c - dbw BANK(Function1060a2), Function1060a2 - dbw BANK(Function14168), Function14168 - dbw BANK(Function1037c2), Function1037c2 - dbw BANK(Function10630f), Function10630f - dbw BANK(Function103780), Function103780 - dbw BANK(Function10387b), Function10387b - dbw BANK(Function4ae12), Function4ae12 - dbw BANK(Function1047eb), Function1047eb - dbw BANK(Function4a927), Function4a927 - dbw BANK(Function90a54), Function90a54 - dbw BANK(Function90a88), Function90a88 - dbw BANK(SpecialNone), SpecialNone +SpecialsPointers:: ; c029 + add_special Function97c28 + add_special Function29ce8 + add_special Function29d11 + add_special Function29d92 + add_special Function29e66 + add_special Function29e82 + add_special Function29efa + add_special Function29eee + add_special Function29c92 + add_special Function29cf1 + add_special Function29cfa + add_special Function29bfb + add_special Function29c7b + add_special Function29ec4 + add_special Function29ed9 + add_special Function29eaf + add_special Function29f47 + add_special Functionc2f6 + add_special Functionc309 + add_special Function1050b9 + add_special Functionc34a + add_special Function4d9e5 + add_special Function13a12 + add_special Function13a31 + add_special Function135db + add_special Functionfbb32 + add_special Functionfbcd2 + add_special Functionc658 + add_special Function1559a + add_special Functionc2e7 + add_special Function166d6 + add_special Function1672a + add_special Function16936 + add_special Function2c547 + add_special Function16218 + add_special Function8cc04 + add_special SpecialNameRival + add_special Function90913 + add_special Functionc2c0 + add_special Functionc2cd + add_special Functionc355 + add_special Functionc360 + add_special Functionc373 + add_special Functionc380 + add_special Functionc38d + add_special Functionc3db + add_special Function8c084 + add_special Function8c092 + add_special Function8c0b6 + add_special Function8c079 + add_special Function8c0ab + add_special Functiond91 + add_special WhiteBGMap + add_special UpdateTimePals + add_special ClearTileMap + add_special Function1ad2 + add_special Functione4a + add_special Functionc230 + add_special SpecialSeenMon + add_special WaitSFX + add_special PlayMapMusic + add_special RestartMapMusic + add_special Function12324 + add_special Function8379 + add_special Functionc25a + add_special Functionc268 + add_special Functionc276 + add_special Functionc284 + add_special Functionc3ef + add_special Function17421 + add_special Function17440 + add_special Function139a8 + add_special Functionc3fc + add_special Function26feb + add_special Function27043 + add_special SpecialGiveShuckle + add_special SpecialReturnShuckle + add_special Function73f7 + add_special SpecialCheckPokerus + add_special Function24b25 + add_special Function24b4e + add_special Function24ae8 + add_special Function4d87a + add_special Functionc434 + add_special Functionc422 + add_special Function4d9d3 + add_special Function88018 + add_special SpecialNameRater + add_special Functionc2da + add_special Function718d + add_special Function71ac + add_special Function2a4ab + add_special Function2a51f + add_special RandomPhoneMon + add_special Function14209 + add_special Functionfb841 + add_special SpecialSnorlaxAwake + add_special Function7413 + add_special Function7418 + add_special Function741d + add_special Functionc472 + add_special ProfOaksPCBoot + add_special SpecialGameboyCheck + add_special SpecialTrainerHouse + add_special Function16dc7 + add_special InitRoamMons + add_special Functionc48f + add_special Functionc49f + add_special Functionc4ac + add_special Function11ac3e + add_special Function11b444 + add_special Function11b5e8 + add_special Function11b7e5 + add_special Function11b879 + add_special Function11b920 + add_special Function11b93b + add_special Function1700b0 + add_special Function1700ba + add_special Function170114 + add_special Function170215 + add_special Function1704e1 + add_special Function17021d + add_special Function170b44 + add_special Function11ba38 + add_special Function170bd3 + add_special Function117656 + add_special Reset + add_special Function1011f1 + add_special Function101220 + add_special Function101225 + add_special Function101231 + add_special Function4925b + add_special Function8adef + add_special Function11c1ab + add_special Function170687 + add_special Function8ae68 + add_special Function17d224 + add_special Function17d2b6 + add_special Function17d2ce + add_special Function17f53d + add_special Function103612 + add_special SpecialHoOhChamber + add_special Function102142 + add_special Function4989a + add_special Function49bf9 + add_special SpecialPokeSeer + add_special SpecialBuenasPassword + add_special SpecialBuenaPrize + add_special SpecialDratini + add_special Function11485 + add_special SpecialBeastsCheck + add_special SpecialMonCheck + add_special Functionc225 + add_special Function170bd2 + add_special Function10366e + add_special Function1037eb + add_special Function10383c + add_special Function1060a2 + add_special Function14168 + add_special Function1037c2 + add_special Function10630f + add_special Function103780 + add_special Function10387b + add_special Function4ae12 + add_special Function1047eb + add_special Function4a927 + add_special Function90a54 + add_special Function90a88 + add_special SpecialNone ; c224 SpecialNone: ; c224 @@ -5464,7 +5464,7 @@ Functionc7ce: ; c7ce UnknownScript_0xc7fe: ; c7fe reloadmappart - special $0035 + special UpdateTimePals UnknownScript_0xc802: ; 0xc802 callasm GetPartyNick @@ -5621,7 +5621,7 @@ Functionc8e0: ; c8e0 UnknownScript_0xc8e6: ; 0xc8e6 reloadmappart - special $0035 + special UpdateTimePals writetext UnknownText_0xc8f3 callasm Function8c7e1 loadmovesprites @@ -5720,7 +5720,7 @@ Functionc97a: ; c97a (3:497a) ; c983 (3:4983) UnknownScript_0xc983: ; c983 - special $0035 + special UpdateTimePals UsedSurfScript: ; c986 writetext UsedSurfText ; "used SURF!" @@ -5732,10 +5732,10 @@ UsedSurfScript: ; c986 copybytetovar Buffer2 writevarcode VAR_MOVEMENT - special SPECIAL_UPDATESPRITETILES - special SPECIAL_BIKESURFMUSIC + special Functione4a + special PlayMapMusic ; step into the water - special SPECIAL_LOADFACESTEP ; (slow_step_x, step_end) + special Function8379 ; (slow_step_x, step_end) applymovement 0, MovementBuffer ; PLAYER, MovementBuffer end ; c9a2 @@ -5954,15 +5954,15 @@ Functionca9d: ; ca9d UnknownScript_0xcaa3: ; 0xcaa3 reloadmappart callasm HideSprites - special $0035 + special UpdateTimePals callasm Function8caed farscall UnknownScript_0x122c1 - special $0000 + special Function97c28 callasm Function154f1 writecode $8, $0 newloadmap $fc callasm Function8cb33 - special $003b + special WaitSFX callasm Functioncacb end ; 0xcacb @@ -6019,7 +6019,7 @@ Functioncb07: ; cb07 UnknownScript_0xcb1c: ; 0xcb1c reloadmappart - special $0035 + special UpdateTimePals UnknownScript_0xcb20: ; 0xcb20 callasm GetPartyNick @@ -6210,14 +6210,14 @@ UnknownText_0xcc26: ; 0xcc26 UnknownScript_0xcc2b: ; 0xcc2b reloadmappart - special $0035 + special UpdateTimePals writetext UnknownText_0xcc21 jump UnknownScript_0xcc3c ; 0xcc35 UnknownScript_0xcc35: ; 0xcc35 reloadmappart - special $0035 + special UpdateTimePals writetext UnknownText_0xcc1c UnknownScript_0xcc3c: ; 0xcc3c @@ -6226,7 +6226,7 @@ UnknownScript_0xcc3c: ; 0xcc3c playsound SFX_WARP_TO applymovement $0, MovementData_0xcc59 farscall UnknownScript_0x122c1 - special $0000 + special Function97c28 writecode $8, $0 newloadmap $f5 playsound SFX_WARP_FROM @@ -6316,7 +6316,7 @@ UnknownText_0xccb6: ; 0xccb6 UnknownScript_0xccbb: ; 0xccbb reloadmappart - special $0035 + special UpdateTimePals writetext UnknownText_0xccb1 pause 60 reloadmappart @@ -6324,7 +6324,7 @@ UnknownScript_0xccbb: ; 0xccbb playsound SFX_WARP_TO applymovement $0, MovementData_0xcce1 farscall UnknownScript_0x122c1 - special $0000 + special Function97c28 writecode $8, $0 newloadmap $f4 playsound SFX_WARP_FROM @@ -6401,7 +6401,7 @@ Functioncd1d: ; cd1d UnknownScript_0xcd29: ; 0xcd29 reloadmappart - special $0035 + special UpdateTimePals UnknownScript_0xcd2d: ; 0xcd2d callasm Functioncd12 @@ -6581,7 +6581,7 @@ Functioncdde: ; cdde UnknownScript_0xce0b: ; 0xce0b reloadmappart - special $0035 + special UpdateTimePals UnknownScript_0xce0f: ; 0xce0f callasm GetPartyNick @@ -6694,7 +6694,7 @@ UnknownText_0xcea2: ; 0xcea2 HeadbuttFromMenuScript: ; 0xcea7 reloadmappart - special $0035 + special UpdateTimePals HeadbuttScript: ; 0xceab callasm GetPartyNick @@ -6800,13 +6800,13 @@ Functioncf0d: ; cf0d RockSmashFromMenuScript: ; 0xcf2e reloadmappart - special $0035 + special UpdateTimePals RockSmashScript: ; cf32 callasm GetPartyNick writetext UnknownText_0xcf58 loadmovesprites - special $003b + special WaitSFX playsound SFX_STRENGTH earthquake 84 applymovement2 MovementData_0xcf55 @@ -7051,7 +7051,7 @@ Functiond06c: ; d06c UnknownScript_0xd07c: ; 0xd07c reloadmappart loadvar $ffd4, $0 - special $0035 + special UpdateTimePals loademote $9 callasm Functionb84b3 loademote $0 @@ -7185,19 +7185,19 @@ Functiond121: ; d121 UnknownScript_0xd13e: ; 0xd13e reloadmappart - special $0035 + special UpdateTimePals writecode $8, $1 writetext UnknownText_0xd17c closetext loadmovesprites - special $0038 + special Functione4a end ; 0xd14e UnknownScript_0xd14e: ; 0xd14e writecode $8, $1 loadmovesprites - special $0038 + special Functione4a end ; 0xd156 @@ -7207,15 +7207,15 @@ Functiond156: ; unreferenced UnknownScript_0xd158: ; 0xd158 reloadmappart - special $0035 + special UpdateTimePals writecode $8, $0 writetext UnknownText_0xd181 closetext UnknownScript_0xd163: loadmovesprites - special $0038 - special $003c + special Functione4a + special PlayMapMusic end ; 0xd16b @@ -13026,7 +13026,7 @@ UnknownScript_0x122c1: ; 0x122c1 checkflag $0011 iffalse .script_122cd setflag $0051 - special $0017 + special Function13a31 .script_122cd end ; 0x122ce @@ -13357,15 +13357,15 @@ UnknownScript_0x124c8:: ; 0x124c8 UnknownScript_0x124ce: ; 0x124ce writetext UnknownText_0x124f5 closetext - special $002e + special Function8c084 pause 40 - special $001b + special Functionc658 checkflag $0011 iftrue .script_64f2 callasm HalveMoney callasm Function12527 farscall UnknownScript_0x122c1 - special $0000 + special Function97c28 newloadmap $f1 resetfuncs @@ -13532,7 +13532,7 @@ Function12599: ; 12599 UnknownScript_0x125ad: ; 0x125ad reloadmappart - special $0035 + special UpdateTimePals callasm Function12599 writetext UnknownText_0x125c3 loadmovesprites @@ -13541,7 +13541,7 @@ UnknownScript_0x125ad: ; 0x125ad UnknownScript_0x125ba: ; 0x125ba reloadmappart - special $0035 + special UpdateTimePals writetext UnknownText_0x125c8 loadmovesprites end @@ -29740,7 +29740,7 @@ UnknownScript_0x26f91: ; 0x26f91 loadfont writetext UnknownText_0x26f9b closetext - special $0026 + special Functionc2c0 loadmovesprites end ; 0x26f9b @@ -50057,7 +50057,7 @@ Function506bc: ; 506bc UnknownScript_0x506c8: ; 0x506c8 reloadmappart - special $0035 + special UpdateTimePals callasm GetPartyNick writetext UnknownText_0x50726 closetext @@ -50134,7 +50134,7 @@ _Squirtbottle: ; 50730 UnknownScript_0x5073c: ; 0x5073c reloadmappart - special $0035 + special UpdateTimePals callasm Function50753 iffalse UnknownScript_0x5074b farjump WateredWeirdTreeScript @@ -50302,15 +50302,15 @@ CheckAnyFaintedMon: ; 507fb ; 50821 UnknownScript_0x50821: ; 0x50821 - special $001b + special Functionc658 reloadmappart playsound SFX_WARP_TO - special $002e - special $0031 - special $002e - special $0031 - special $002e - special $0031 + special Function8c084 + special Function8c079 + special Function8c084 + special Function8c079 + special Function8c084 + special Function8c079 waitbutton writetext UnknownText_0x50845 playsound SFX_CAUGHT_MON diff --git a/maps/AzaleaTown.asm b/maps/AzaleaTown.asm index 101d0ff3d..d24362744 100644 --- a/maps/AzaleaTown.asm +++ b/maps/AzaleaTown.asm @@ -36,7 +36,7 @@ UnknownScript_0x198018: ; 0x198018 moveperson $b, $b, $b spriteface $0, $3 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 appear $b applymovement $b, MovementData_0x198134 @@ -47,7 +47,7 @@ UnknownScript_0x198018: ; 0x198018 UnknownScript_0x198034: ; 0x198034 spriteface $0, $3 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 appear $b applymovement $b, MovementData_0x19813c diff --git a/maps/BattleTower1F.asm b/maps/BattleTower1F.asm index 152a8915e..5d65fd6bb 100644 --- a/maps/BattleTower1F.asm +++ b/maps/BattleTower1F.asm @@ -12,10 +12,10 @@ BattleTower1F_MapScriptHeader: ; 0x9e393 UnknownScript_0x9e39d: ; 0x9e39d writebyte $9 - special $0086 + special Function170687 iffalse UnknownScript_0x9e3d1 writebyte $2 - special $0086 + special Function170687 if_equal $0, UnknownScript_0x9e3d1 if_equal $2, UnknownScript_0x9e3c4 if_equal $3, UnknownScript_0x9e3d1 @@ -34,9 +34,9 @@ UnknownScript_0x9e3c4: ; 0x9e3c4 UnknownScript_0x9e3c7: ; 0x9e3c7 writebyte $4 - special $0086 + special Function170687 writebyte $6 - special $0086 + special Function170687 UnknownScript_0x9e3d1: ; 0x9e3d1 dotrigger $1 UnknownScript_0x9e3d3: ; 0x9e3d3 @@ -57,13 +57,13 @@ UnknownScript_0x9e3e0: ; 0x9e3e0 ReceptionistScript_0x9e3e2: ; 0x9e3e2 writebyte $2 - special $0086 + special Function170687 if_equal $3, BattleTowerBattleRoomScript_0x9f4e4 loadfont writetext UnknownText_0x9e5ab keeptextopen writebyte $0 - special $0086 + special Function170687 if_not_equal $0, UnknownScript_0x9e3fc jump UnknownScript_0x9e49e ; 0x9e3fc @@ -71,7 +71,7 @@ ReceptionistScript_0x9e3e2: ; 0x9e3e2 UnknownScript_0x9e3fc: ; 0x9e3fc writetext UnknownText_0x9e5ea writebyte $1 - special $0088 + special Function17d224 if_equal $1, UnknownScript_0x9e40f if_equal $2, UnknownScript_0x9e4a5 jump UnknownScript_0x9e4b0 @@ -79,35 +79,35 @@ UnknownScript_0x9e3fc: ; 0x9e3fc UnknownScript_0x9e40f: ; 0x9e40f writebyte $1a - special $0086 - special $007c + special Function170687 + special Function170bd3 if_not_equal $0, UnknownScript_0x9e4bb writetext UnknownText_0x9ef1f yesorno iffalse UnknownScript_0x9e3fc dotrigger $0 - special $0004 + special Function29e66 iffalse UnknownScript_0x9e3fc dotrigger $1 writebyte $1 - special $0086 - special $0074 + special Function170687 + special Function1700b0 if_equal $a, UnknownScript_0x9e3fc if_not_equal $0, UnknownScript_0x9e550 writebyte $11 - special $0086 + special Function170687 writetext UnknownText_0x9e60a closetext loadmovesprites writebyte $1e - special $0086 + special Function170687 jump UnknownScript_0x9e454 ; 0x9e44e UnknownScript_0x9e44e: ; 0x9e44e loadmovesprites writebyte $8 - special $0086 + special Function170687 UnknownScript_0x9e454: ; 0x9e454 musicfadeout $0000, $8 domaptrigger GROUP_BATTLE_TOWER_BATTLE_ROOM, MAP_BATTLE_TOWER_BATTLE_ROOM, $0 @@ -116,7 +116,7 @@ UnknownScript_0x9e454: ; 0x9e454 follow $2, $0 applymovement $2, MovementData_0x9e571 writebyte $a - special $0086 + special Function170687 warpsound disappear $2 stopfollow @@ -127,15 +127,15 @@ UnknownScript_0x9e454: ; 0x9e454 UnknownScript_0x9e47a: ; 0x9e47a writebyte $1c - special $0086 + special Function170687 writebyte $1b - special $0086 + special Function170687 if_equal $12, UnknownScript_0x9e498 itemtotext $0, $1 giveitem $ff, $5 writetext UnknownText_0x9eb7e writebyte $1d - special $0086 + special Function170687 loadmovesprites end ; 0x9e498 @@ -155,7 +155,7 @@ UnknownScript_0x9e4a5: ; 0x9e4a5 writetext UnknownText_0x9e886 UnknownScript_0x9e4a8: ; 0x9e4a8 writebyte $1 - special $0086 + special Function170687 jump UnknownScript_0x9e3fc ; 0x9e4b0 @@ -167,7 +167,7 @@ UnknownScript_0x9e4b0: ; 0x9e4b0 ; 0x9e4b6 UnknownScript_0x9e4b6: ; 0x9e4b6 - special $008b + special Function17f53d loadmovesprites end ; 0x9e4bb @@ -183,11 +183,11 @@ UnknownScript_0x9e4be: ; 0x9e4be writetext UnknownText_0x9ef1f yesorno iffalse UnknownScript_0x9e3fc - special $0004 + special Function29e66 iffalse UnknownScript_0x9e3fc writebyte $1 - special $0086 - special $0075 + special Function170687 + special Function1700ba if_equal $a, UnknownScript_0x9e3fc if_not_equal $0, UnknownScript_0x9e550 writetext UnknownText_0x9e9eb @@ -201,15 +201,15 @@ UnknownScript_0x9e4be: ; 0x9e4be UnknownScript_0x9e4ea: ; 0x9e4ea writebyte $18 - special $0086 + special Function170687 if_not_equal $0, UnknownScript_0x9e542 writebyte $19 - special $0086 + special Function170687 if_not_equal $0, UnknownScript_0x9e549 - special $007c + special Function170bd3 if_not_equal $0, UnknownScript_0x9e4bb writebyte $5 - special $0086 + special Function170687 if_equal $0, UnknownScript_0x9e512 writetext UnknownText_0x9ecb0 jump UnknownScript_0x9e515 @@ -224,13 +224,13 @@ UnknownScript_0x9e515: ; 0x9e515 yesorno iffalse UnknownScript_0x9e3fc dotrigger $0 - special $0004 + special Function29e66 iffalse UnknownScript_0x9e3fc dotrigger $1 writebyte $6 - special $0086 + special Function170687 writebyte $12 - special $0086 + special Function170687 writetext UnknownText_0x9e60a closetext jump UnknownScript_0x9e44e @@ -255,7 +255,7 @@ UnknownScript_0x9e549: ; 0x9e549 ; 0x9e550 UnknownScript_0x9e550: ; 0x9e550 - special $008b + special Function17f53d loadmovesprites end ; 0x9e555 diff --git a/maps/BattleTowerBattleRoom.asm b/maps/BattleTowerBattleRoom.asm index d07ebbb3c..e16feb3e8 100644 --- a/maps/BattleTowerBattleRoom.asm +++ b/maps/BattleTowerBattleRoom.asm @@ -24,7 +24,7 @@ UnknownScript_0x9f421: ; 0x9f421 applymovement $0, MovementData_0x9e58c UnknownScript_0x9f425: ; 0x9f425 writebyte $2 - special $007a + special Function170b44 appear $2 warpsound waitbutton @@ -33,8 +33,8 @@ UnknownScript_0x9f425: ; 0x9f425 storetext 1 keeptextopen loadmovesprites - special $0077 - special $002e + special Function170215 + special Function8c084 reloadmap if_not_equal $0, UnknownScript_0x9f4c2 copybytetovar wcf64 @@ -49,11 +49,11 @@ UnknownScript_0x9f425: ; 0x9f425 closetext loadmovesprites playmusic MUSIC_HEAL - special $002e - special $00a4 + special Function8c084 + special Function1047eb pause 60 - special $0031 - special $003d + special Function8c079 + special RestartMapMusic loadfont writetext UnknownText_0x9eebc yesorno @@ -70,25 +70,25 @@ UnknownScript_0x9f483: ; 0x9f483 yesorno iffalse UnknownScript_0x9f4a3 writebyte $7 - special $0086 + special Function170687 writebyte $1f - special $0086 + special Function170687 writebyte $3 - special $0086 + special Function170687 playsound SFX_SAVE waitbutton - special $002e - special $007e + special Function8c084 + special Reset UnknownScript_0x9f4a3: ; 0x9f4a3 writetext UnknownText_0x9efbf yesorno iffalse UnknownScript_0x9f477 writebyte $4 - special $0086 + special Function170687 writebyte $6 - special $0086 + special Function170687 loadmovesprites - special $002e + special Function8c084 warpfacing $1, GROUP_BATTLE_TOWER_1F, MAP_BATTLE_TOWER_1F, $7, $7 loadfont jump UnknownScript_0x9e4b0 @@ -96,10 +96,10 @@ UnknownScript_0x9f4a3: ; 0x9f4a3 UnknownScript_0x9f4c2: ; 0x9f4c2 pause 60 - special $002f + special Function8c092 warpfacing $1, GROUP_BATTLE_TOWER_1F, MAP_BATTLE_TOWER_1F, $7, $7 writebyte $4 - special $0086 + special Function170687 loadfont writetext UnknownText_0x9ea49 closetext @@ -109,7 +109,7 @@ UnknownScript_0x9f4c2: ; 0x9f4c2 UnknownScript_0x9f4d9: ; 0x9f4d9 pause 60 - special $002f + special Function8c092 warpfacing $1, GROUP_BATTLE_TOWER_1F, MAP_BATTLE_TOWER_1F, $7, $7 BattleTowerBattleRoomScript_0x9f4e4: ; 0x9f4e4 loadfont @@ -119,7 +119,7 @@ BattleTowerBattleRoomScript_0x9f4e4: ; 0x9f4e4 UnknownScript_0x9f4eb: ; 0x9f4eb writebyte $4 - special $0086 + special Function170687 loadfont writetext UnknownText_0x9f0c1 closetext @@ -129,9 +129,9 @@ UnknownScript_0x9f4eb: ; 0x9f4eb UnknownScript_0x9f4f7: ; 0x9f4f7 writebyte $4 - special $0086 + special Function170687 writebyte $6 - special $0086 + special Function170687 loadfont writetext UnknownText_0x9ea49 writetext UnknownText_0x9ec09 diff --git a/maps/BattleTowerElevator.asm b/maps/BattleTowerElevator.asm index 4314730d1..900d01c7b 100644 --- a/maps/BattleTowerElevator.asm +++ b/maps/BattleTowerElevator.asm @@ -24,7 +24,7 @@ UnknownScript_0x9f568: ; 0x9f568 applymovement $2, MovementData_0x9f58f applymovement $0, MovementData_0x9f592 writebyte $a - special $0086 + special Function170687 playsound SFX_ELEVATOR earthquake 60 waitbutton diff --git a/maps/BillsHouse.asm b/maps/BillsHouse.asm index 91ab8acec..886430c50 100644 --- a/maps/BillsHouse.asm +++ b/maps/BillsHouse.asm @@ -35,7 +35,7 @@ UnknownScript_0x189553: ; 0x189553 yesorno iffalse UnknownScript_0x1896aa scall UnknownScript_0x1896a5 - special $004d + special Function73f7 iffalse UnknownScript_0x1896aa if_not_equal LICKITUNG, UnknownScript_0x1896c6 scall UnknownScript_0x1896b0 @@ -50,7 +50,7 @@ UnknownScript_0x189592: ; 0x189592 yesorno iffalse UnknownScript_0x1896aa scall UnknownScript_0x1896a5 - special $004d + special Function73f7 iffalse UnknownScript_0x1896aa if_not_equal ODDISH, UnknownScript_0x1896c6 scall UnknownScript_0x1896b0 @@ -65,7 +65,7 @@ UnknownScript_0x1895b3: ; 0x1895b3 yesorno iffalse UnknownScript_0x1896aa scall UnknownScript_0x1896a5 - special $004d + special Function73f7 iffalse UnknownScript_0x1896aa if_not_equal STARYU, UnknownScript_0x1896c6 scall UnknownScript_0x1896b0 @@ -82,7 +82,7 @@ UnknownScript_0x1895d4: ; 0x1895d4 yesorno iffalse UnknownScript_0x1896aa scall UnknownScript_0x1896a5 - special $004d + special Function73f7 iffalse UnknownScript_0x1896aa if_not_equal GROWLITHE, UnknownScript_0x1896c6 scall UnknownScript_0x1896b0 @@ -97,7 +97,7 @@ UnknownScript_0x1895f9: ; 0x1895f9 yesorno iffalse UnknownScript_0x1896aa scall UnknownScript_0x1896a5 - special $004d + special Function73f7 iffalse UnknownScript_0x1896aa if_not_equal VULPIX, UnknownScript_0x1896c6 scall UnknownScript_0x1896b0 @@ -112,7 +112,7 @@ UnknownScript_0x18961a: ; 0x18961a yesorno iffalse UnknownScript_0x1896aa scall UnknownScript_0x1896a5 - special $004d + special Function73f7 iffalse UnknownScript_0x1896aa if_not_equal PICHU, UnknownScript_0x1896c6 scall UnknownScript_0x1896b0 diff --git a/maps/BluesHouse.asm b/maps/BluesHouse.asm index 59ef62951..aab29be8f 100644 --- a/maps/BluesHouse.asm +++ b/maps/BluesHouse.asm @@ -25,21 +25,21 @@ UnknownScript_0x19b0de: ; 0x19b0de iffalse UnknownScript_0x19b124 writetext UnknownText_0x19b244 closetext - special $0063 + special Function741d if_equal $0, UnknownScript_0x19b124 if_equal $1, UnknownScript_0x19b12a setflag $005c writetext UnknownText_0x19b266 closetext loadmovesprites - special $002e + special Function8c084 playmusic MUSIC_HEAL pause 60 - special $0031 - special $003d + special Function8c079 + special RestartMapMusic loadfont writetext UnknownText_0x19b296 - special $0064 + special Functionc472 keeptextopen writetext UnknownText_0x19b2aa closetext diff --git a/maps/BurnedTower1F.asm b/maps/BurnedTower1F.asm index 50325c41d..356dfcb81 100644 --- a/maps/BurnedTower1F.asm +++ b/maps/BurnedTower1F.asm @@ -55,7 +55,7 @@ UnknownScript_0x185c0d: ; 0x185c0d UnknownScript_0x185c25: ; 0x185c25 showemote $0, $4, 15 - special $006a + special Functionc48f pause 15 spriteface $4, $3 pause 15 @@ -107,7 +107,7 @@ UnknownScript_0x185c80: ; 0x185c80 loadmovesprites dotrigger $2 setevent $06c5 - special $006a + special Functionc48f pause 15 earthquake 50 showemote $0, $0, 15 diff --git a/maps/BurnedTowerB1F.asm b/maps/BurnedTowerB1F.asm index 026d494a6..67dd1bd7a 100644 --- a/maps/BurnedTowerB1F.asm +++ b/maps/BurnedTowerB1F.asm @@ -78,10 +78,10 @@ UnknownScript_0x18616b: ; 0x18616b spriteface $0, $0 disappear $5 waitbutton - special $003d + special RestartMapMusic dotrigger $1 setevent EVENT_RELEASED_THE_BEASTS - special $0069 + special InitRoamMons domaptrigger GROUP_ECRUTEAK_GYM, MAP_ECRUTEAK_GYM, $1 domaptrigger GROUP_CIANWOOD_CITY, MAP_CIANWOOD_CITY, $1 clearevent EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY diff --git a/maps/CeladonDeptStore6F.asm b/maps/CeladonDeptStore6F.asm index a498ab1e1..b7e4a0b59 100644 --- a/maps/CeladonDeptStore6F.asm +++ b/maps/CeladonDeptStore6F.asm @@ -27,7 +27,7 @@ MapCeladonDeptStore6FSignpost5Script: ; 0x71180 loadfont writetext UnknownText_0x71250 UnknownScript_0x71184: ; 0x71184 - special $0051 + special Function24ae8 loadmenudata MenuDataHeader_0x71203 interpretmenu2 writebackup diff --git a/maps/CeladonGameCorner.asm b/maps/CeladonGameCorner.asm index a490e2c2a..119543cb5 100644 --- a/maps/CeladonGameCorner.asm +++ b/maps/CeladonGameCorner.asm @@ -119,7 +119,7 @@ MapCeladonGameCornerSignpost35Script: ; 0x721a1 if_equal $0, MapCeladonGameCornerSignpost16Script refreshscreen $0 writebyte $0 - special $002a + special Functionc373 loadmovesprites end ; 0x721b0 @@ -127,14 +127,14 @@ MapCeladonGameCornerSignpost35Script: ; 0x721a1 MapCeladonGameCornerSignpost16Script: ; 0x721b0 refreshscreen $0 writebyte $1 - special $002a + special Functionc373 loadmovesprites end ; 0x721b9 MapCeladonGameCornerSignpost11Script: ; 0x721b9 refreshscreen $0 - special $002b + special Functionc380 loadmovesprites end ; 0x721c0 @@ -147,7 +147,7 @@ MapCeladonGameCornerSignpost9Script: ; 0x721c3 loadfont writetext UnknownText_0x72567 closetext - special $002b + special Functionc380 loadmovesprites end ; 0x721cd diff --git a/maps/CeladonGameCornerPrizeRoom.asm b/maps/CeladonGameCornerPrizeRoom.asm index 2eaa2d81a..87af10d63 100644 --- a/maps/CeladonGameCornerPrizeRoom.asm +++ b/maps/CeladonGameCornerPrizeRoom.asm @@ -23,7 +23,7 @@ MapCeladonGameCornerPrizeRoomSignpost0Script: ; 0x726ef iffalse UnknownScript_0x7278a writetext UnknownText_0x72974 UnknownScript_0x726fd: ; 0x726fd - special $004f + special Function24b25 loadmenudata MenuDataHeader_0x72790 interpretmenu2 writebackup @@ -139,7 +139,7 @@ MapCeladonGameCornerPrizeRoomSignpost1Script: ; 0x727c8 iffalse UnknownScript_0x7278a UnknownScript_0x727d3: ; 0x727d3 writetext UnknownText_0x72974 - special $004f + special Function24b25 loadmenudata MenuDataHeader_0x72877 interpretmenu2 writebackup @@ -162,7 +162,7 @@ UnknownScript_0x727ed: ; 0x727ed writetext UnknownText_0x729ad closetext writebyte PIKACHU - special $0039 + special Functionc230 givepoke PIKACHU, 25, 0, 0 takecoins 2222 jump UnknownScript_0x727d3 @@ -181,7 +181,7 @@ UnknownScript_0x7281b: ; 0x7281b writetext UnknownText_0x729ad closetext writebyte PORYGON - special $0039 + special Functionc230 givepoke PORYGON, 15, 0, 0 takecoins 5555 jump UnknownScript_0x727d3 @@ -200,7 +200,7 @@ UnknownScript_0x72849: ; 0x72849 writetext UnknownText_0x729ad closetext writebyte LARVITAR - special $0039 + special Functionc230 givepoke LARVITAR, 40, 0, 0 takecoins 8888 jump UnknownScript_0x727d3 diff --git a/maps/CeladonMansion3F.asm b/maps/CeladonMansion3F.asm index 763e2bd3b..6051e4a49 100644 --- a/maps/CeladonMansion3F.asm +++ b/maps/CeladonMansion3F.asm @@ -24,7 +24,7 @@ UnknownScript_0x7167e: ; 0x7167e waitbutton writetext UnknownText_0x71760 keeptextopen - special $006b + special Functionc49f writetext UnknownText_0x71763 closetext loadmovesprites @@ -47,7 +47,7 @@ UnknownScript_0x716a4: ; 0x716a4 writetext UnknownText_0x717d8 yesorno iffalse UnknownScript_0x716b0 - special $006c + special Functionc4ac loadmovesprites end ; 0x716b0 diff --git a/maps/CeladonPokeCenter1F.asm b/maps/CeladonPokeCenter1F.asm index 82810b6f5..be868698b 100644 --- a/maps/CeladonPokeCenter1F.asm +++ b/maps/CeladonPokeCenter1F.asm @@ -28,9 +28,9 @@ SuperNerdScript_0x71e2e: ; 0x71e2e writetext UnknownText_0x71f22 keeptextopen writebyte SUICUNE - special $0097 + special SpecialMonCheck iffalse UnknownScript_0x71e46 - special $0096 + special SpecialBeastsCheck iftrue UnknownScript_0x71e48 writetext UnknownText_0x7201a closetext diff --git a/maps/CeruleanGym.asm b/maps/CeruleanGym.asm index 41729d9cc..c208c8094 100644 --- a/maps/CeruleanGym.asm +++ b/maps/CeruleanGym.asm @@ -49,7 +49,7 @@ UnknownScript_0x1883de: ; 0x1883de domaptrigger GROUP_ROUTE_25, MAP_ROUTE_25, $1 domaptrigger GROUP_POWER_PLANT, MAP_POWER_PLANT, $0 waitbutton - special $003d + special RestartMapMusic pause 15 spriteface $0, $0 pause 15 diff --git a/maps/CeruleanPokeCenter1F.asm b/maps/CeruleanPokeCenter1F.asm index ed88f27f8..16a4f36f4 100644 --- a/maps/CeruleanPokeCenter1F.asm +++ b/maps/CeruleanPokeCenter1F.asm @@ -11,7 +11,7 @@ NurseScript_0x18820f: ; 0x18820f ; 0x188212 SuperNerdScript_0x188212: ; 0x188212 - special $00a0 + special Function10630f iftrue UnknownScript_0x18821b jumptextfaceplayer UnknownText_0x188221 ; 0x18821b diff --git a/maps/CherrygroveCity.asm b/maps/CherrygroveCity.asm index 7c35745a4..2575965f8 100644 --- a/maps/CherrygroveCity.asm +++ b/maps/CherrygroveCity.asm @@ -82,7 +82,7 @@ UnknownScript_0x19c01f: ; 0x19c01f closetext loadmovesprites stopfollow - special $003d + special RestartMapMusic spriteface $0, $1 applymovement $2, MovementData_0x19c1cb playsound SFX_ENTER_DOOR @@ -113,7 +113,7 @@ UnknownScript_0x19c0aa: ; 0x19c0aa UnknownScript_0x19c0ae: ; 0x19c0ae spriteface $0, $3 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 appear $3 applymovement $3, MovementData_0x19c1ce @@ -184,7 +184,7 @@ UnknownScript_0x19c12f: ; 0x19c12f applymovement $3, MovementData_0x19c1da disappear $3 dotrigger $0 - special $001b + special Functionc658 playmapmusic end ; 0x19c146 diff --git a/maps/CianwoodCity.asm b/maps/CianwoodCity.asm index 9565e7f0f..855557b5a 100644 --- a/maps/CianwoodCity.asm +++ b/maps/CianwoodCity.asm @@ -71,7 +71,7 @@ UnknownScript_0x1a001e: ; 0x1a001e applymovement $c, MovementData_0x1a00ec disappear $c pause 20 - special $006a + special Functionc48f playmapmusic pause 10 UnknownScript_0x1a0083: ; 0x1a0083 diff --git a/maps/CianwoodCityPhotoStudio.asm b/maps/CianwoodCityPhotoStudio.asm index da3457fc0..6ad10d62f 100644 --- a/maps/CianwoodCityPhotoStudio.asm +++ b/maps/CianwoodCityPhotoStudio.asm @@ -14,7 +14,7 @@ FishingGuruScript_0x9e0e0: ; 0x9e0e0 iffalse UnknownScript_0x9e0f3 writetext UnknownText_0x9e142 closetext - special $0068 + special Function16dc7 closetext loadmovesprites end diff --git a/maps/Colosseum.asm b/maps/Colosseum.asm index 71e3c803d..23ce0ae36 100644 --- a/maps/Colosseum.asm +++ b/maps/Colosseum.asm @@ -31,7 +31,7 @@ UnknownScript_0x193476: ; 0x193476 ; 0x193477 UnknownScript_0x193477: ; 0x193477 - special $0010 + special Function29f47 iffalse UnknownScript_0x193482 disappear $3 appear $2 @@ -56,7 +56,7 @@ UnknownScript_0x19348c: ; 0x19348c ; 0x193493 MapColosseumSignpost1Script: ; 0x193493 - special $000e + special Function29ed9 newloadmap $f8 end ; 0x193499 diff --git a/maps/CopycatsHouse2F.asm b/maps/CopycatsHouse2F.asm index 1573f51db..e102c651e 100644 --- a/maps/CopycatsHouse2F.asm +++ b/maps/CopycatsHouse2F.asm @@ -46,7 +46,7 @@ UnknownScript_0x18aed4: ; 0x18aed4 faceplayer variablesprite $b, $60 UnknownScript_0x18aedc: ; 0x18aedc - special $005e + special Function14209 checkevent EVENT_RETURNED_MACHINE_PART iftrue UnknownScript_0x18af16 loadfont @@ -72,7 +72,7 @@ UnknownScript_0x18af04: ; 0x18af04 UnknownScript_0x18af08: ; 0x18af08 faceplayer variablesprite $b, $28 - special $005e + special Function14209 loadfont writetext UnknownText_0x18b028 closetext @@ -104,7 +104,7 @@ UnknownScript_0x18af35: ; 0x18af35 UnknownScript_0x18af39: ; 0x18af39 faceplayer variablesprite $b, $28 - special $005e + special Function14209 loadfont writetext UnknownText_0x18b116 closetext @@ -151,7 +151,7 @@ UnknownScript_0x18af80: ; 0x18af80 faceplayer variablesprite $b, $60 UnknownScript_0x18af88: ; 0x18af88 - special $005e + special Function14209 loadfont checkflag $0063 iftrue UnknownScript_0x18af98 @@ -175,7 +175,7 @@ UnknownScript_0x18afaa: ; 0x18afaa UnknownScript_0x18afae: ; 0x18afae faceplayer variablesprite $b, $28 - special $005e + special Function14209 loadfont writetext UnknownText_0x18b2f5 closetext diff --git a/maps/DayCare.asm b/maps/DayCare.asm index 104308d39..eda851c11 100644 --- a/maps/DayCare.asm +++ b/maps/DayCare.asm @@ -34,7 +34,7 @@ GrampsScript_0x62f8f: ; 0x62f8f loadmovesprites checkcode $1 if_equal $6, UnknownScript_0x62fb6 - special $007d + special Function117656 loadfont writetext UnknownText_0x631ae playsound SFX_KEY_ITEM @@ -55,7 +55,7 @@ UnknownScript_0x62fb6: ; 0x62fb6 ; 0x62fbd UnknownScript_0x62fbd: ; 0x62fbd - special $001e + special Function166d6 closetext loadmovesprites end @@ -66,7 +66,7 @@ GrannyScript_0x62fc3: ; 0x62fc3 loadfont checkflag $0005 iftrue UnknownScript_0x62fd1 - special $001f + special Function1672a closetext loadmovesprites end diff --git a/maps/DragonShrine.asm b/maps/DragonShrine.asm index 3c6e93777..db020759b 100644 --- a/maps/DragonShrine.asm +++ b/maps/DragonShrine.asm @@ -134,7 +134,7 @@ UnknownScript_0x18d100: ; 0x18d100 writetext UnknownText_0x18d916 closetext loadmovesprites - special $006a + special Functionc48f applymovement $5, MovementData_0x18d2da loadfont writetext UnknownText_0x18d974 @@ -163,7 +163,7 @@ UnknownScript_0x18d100: ; 0x18d100 setflag $0022 playsound SFX_GET_BADGE waitbutton - special $003d + special RestartMapMusic specialphonecall $8 dotrigger $1 domaptrigger GROUP_DRAGONS_DEN_B1F, MAP_DRAGONS_DEN_B1F, $1 @@ -219,7 +219,7 @@ UnknownScript_0x18d1c5: ; 0x18d1c5 waitbutton givepoke DRATINI, 15, 0, 0 checkevent $00c1 - special $0094 + special SpecialDratini setevent $00bd setevent $0006 writetext UnknownText_0x18d6ca diff --git a/maps/DragonsDenB1F.asm b/maps/DragonsDenB1F.asm index b2d750813..520e406d8 100644 --- a/maps/DragonsDenB1F.asm +++ b/maps/DragonsDenB1F.asm @@ -77,9 +77,9 @@ UnknownScript_0x18c8f4: ; 0x18c8f4 loadmovesprites UnknownScript_0x18c8f9: ; 0x18c8f9 applymovement $3, MovementData_0x18c9b3 - special $006a + special Functionc48f pause 30 - special $003d + special RestartMapMusic disappear $3 dotrigger $0 end @@ -236,7 +236,7 @@ SilverScript_0x18c97e: ; 0x18c97e closetext loadmovesprites setevent $0000 - special $003d + special RestartMapMusic end ; 0x18c995 @@ -244,7 +244,7 @@ UnknownScript_0x18c995: ; 0x18c995 writetext UnknownText_0x18cd2d closetext loadmovesprites - special $003d + special RestartMapMusic end ; 0x18c99e diff --git a/maps/EcruteakGym.asm b/maps/EcruteakGym.asm index 5d0e69fd5..fe33080fa 100644 --- a/maps/EcruteakGym.asm +++ b/maps/EcruteakGym.asm @@ -92,7 +92,7 @@ UnknownScript_0x99dc6: ; 0x99dc6 follow $0, $8 applymovement $0, MovementData_0x99e5f stopfollow - special $002e + special Function8c084 playsound SFX_ENTER_DOOR waitbutton warp GROUP_ECRUTEAK_CITY, MAP_ECRUTEAK_CITY, $6, $1b diff --git a/maps/EcruteakPokeCenter1F.asm b/maps/EcruteakPokeCenter1F.asm index 633c01723..dcce7b399 100644 --- a/maps/EcruteakPokeCenter1F.asm +++ b/maps/EcruteakPokeCenter1F.asm @@ -62,7 +62,7 @@ NurseScript_0x98eb0: ; 0x98eb0 ; 0x98eb3 PokefanMScript_0x98eb3: ; 0x98eb3 - special $00a0 + special Function10630f iftrue UnknownScript_0x98ebc jumptextfaceplayer UnknownText_0x99155 ; 0x98ebc diff --git a/maps/ElmsLab.asm b/maps/ElmsLab.asm index d9c06ff46..502fb1ab1 100644 --- a/maps/ElmsLab.asm +++ b/maps/ElmsLab.asm @@ -115,10 +115,10 @@ UnknownScript_0x78bfa: ; 0x78bfa checkevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE iffalse UnknownScript_0x78c35 writebyte TOGEPI - special $0043 + special Functionc284 iftrue ShowElmTogepiScript writebyte TOGETIC - special $0043 + special Functionc284 iftrue ShowElmTogepiScript writetext UnknownText_0x79a40 closetext @@ -128,10 +128,10 @@ UnknownScript_0x78bfa: ; 0x78bfa UnknownScript_0x78c22: ; 0x78c22 writebyte TOGEPI - special $0043 + special Functionc284 iftrue ShowElmTogepiScript writebyte TOGETIC - special $0043 + special Functionc284 iftrue ShowElmTogepiScript jump UnknownScript_0x78c41 ; 0x78c35 @@ -328,13 +328,13 @@ UnknownScript_0x78d81: ; 0x78d81 ; 0x78d8a UnknownScript_0x78d8a: ; 0x78d8a - special $009d - special $001b + special Function1060a2 + special Functionc658 playmusic MUSIC_NONE writebyte $1 - special $003e + special Function12324 pause 30 - special $003d + special RestartMapMusic loadmovesprites end ; 0x78d9f @@ -604,7 +604,7 @@ CopScript: ; 0x78f1a loadfont writetext UnknownText_0x7a0f0 keeptextopen - special $0024 + special SpecialNameRival writetext UnknownText_0x7a1c0 closetext loadmovesprites diff --git a/maps/FastShip1F.asm b/maps/FastShip1F.asm index 7d0896ddb..e0090fbc6 100644 --- a/maps/FastShip1F.asm +++ b/maps/FastShip1F.asm @@ -72,7 +72,7 @@ UnknownScript_0x7517a: ; 0x7517a loadmovesprites scall UnknownScript_0x751b8 playsound SFX_EXIT_BUILDING - special $002e + special Function8c084 waitbutton setevent $072b domaptrigger GROUP_VERMILION_PORT, MAP_VERMILION_PORT, $1 @@ -86,7 +86,7 @@ UnknownScript_0x7519c: ; 0x7519c loadmovesprites scall UnknownScript_0x751b8 playsound SFX_EXIT_BUILDING - special $002e + special Function8c084 waitbutton setevent $072a domaptrigger GROUP_OLIVINE_PORT, MAP_OLIVINE_PORT, $1 diff --git a/maps/FastShipCabins.asm b/maps/FastShipCabins.asm index d6a24950f..6ba34a780 100644 --- a/maps/FastShipCabins.asm +++ b/maps/FastShipCabins.asm @@ -39,15 +39,15 @@ TwinScript_0x75ebb: ; 0x75ebb writetext UnknownText_0x7621f closetext loadmovesprites - special $0030 - special $0033 + special Function8c0b6 + special Functiond91 disappear $5 applymovement $0, MovementData_0x76004 moveperson $4, $3, $13 appear $4 spriteface $0, $1 spriteface $4, $1 - special $0032 + special Function8c0ab spriteface $3, $0 showemote $0, $3, 15 applymovement $4, MovementData_0x7600c diff --git a/maps/FastShipCabins_NNW_NNE_NE.asm b/maps/FastShipCabins_NNW_NNE_NE.asm index 57f4b84e7..cc8879cc5 100644 --- a/maps/FastShipCabins_NNW_NNE_NE.asm +++ b/maps/FastShipCabins_NNW_NNE_NE.asm @@ -191,7 +191,7 @@ SailorScript_0x755f1: ; 0x755f1 loadtrainer SAILOR, STANLY startbattle reloadmap - special $001b + special Functionc658 setevent $057d loadfont writetext UnknownText_0x758b1 diff --git a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm index d6a24950f..6ba34a780 100644 --- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm +++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm @@ -39,15 +39,15 @@ TwinScript_0x75ebb: ; 0x75ebb writetext UnknownText_0x7621f closetext loadmovesprites - special $0030 - special $0033 + special Function8c0b6 + special Functiond91 disappear $5 applymovement $0, MovementData_0x76004 moveperson $4, $3, $13 appear $4 spriteface $0, $1 spriteface $4, $1 - special $0032 + special Function8c0ab spriteface $3, $0 showemote $0, $3, 15 applymovement $4, MovementData_0x7600c diff --git a/maps/FastShipCabins_SW_SSW_NW.asm b/maps/FastShipCabins_SW_SSW_NW.asm index 1a62f21b5..8af2b9827 100644 --- a/maps/FastShipCabins_SW_SSW_NW.asm +++ b/maps/FastShipCabins_SW_SSW_NW.asm @@ -115,7 +115,7 @@ TrainerGuitaristClyde: ; 0x75a8b GuitaristClydeScript: ; 0x75a97 talkaftercancel - special $00a0 + special Function10630f iftrue UnknownScript_0x75aa5 loadfont writetext UnknownText_0x75d65 @@ -137,14 +137,14 @@ MapFastShipCabins_SW_SSW_NWSignpost1Script: ; 0x75aac writetext UnknownText_0x75da4 closetext loadmovesprites - special $0030 - special $0033 - special $009d - special $001b + special Function8c0b6 + special Functiond91 + special Function1060a2 + special Functionc658 playmusic MUSIC_HEAL pause 60 - special $003d - special $0032 + special RestartMapMusic + special Function8c0ab loadfont writetext UnknownText_0x75dc1 closetext diff --git a/maps/FuchsiaGym.asm b/maps/FuchsiaGym.asm index 4f2ee927d..6899bc821 100644 --- a/maps/FuchsiaGym.asm +++ b/maps/FuchsiaGym.asm @@ -28,7 +28,7 @@ JanineScript_0x195db9: ; 0x195db9 variablesprite $8, $28 variablesprite $9, $28 variablesprite $a, $27 - special $005e + special Function14209 loadfont writetext UnknownText_0x195feb playsound SFX_GET_BADGE @@ -61,7 +61,7 @@ FuschiaGym1Script_0x195e1b: ; 0x195e1b applymovement $3, MovementData_0x195f27 faceplayer variablesprite $7, $28 - special $005e + special Function14209 UnknownScript_0x195e2c: ; 0x195e2c faceplayer loadfont @@ -98,7 +98,7 @@ FuschiaGym2Script_0x195e55: ; 0x195e55 applymovement $4, MovementData_0x195f27 faceplayer variablesprite $8, $28 - special $005e + special Function14209 UnknownScript_0x195e66: ; 0x195e66 faceplayer loadfont @@ -135,7 +135,7 @@ FuschiaGym3Script_0x195e8f: ; 0x195e8f applymovement $5, MovementData_0x195f27 faceplayer variablesprite $9, $28 - special $005e + special Function14209 UnknownScript_0x195ea0: ; 0x195ea0 faceplayer loadfont @@ -172,7 +172,7 @@ FuschiaGym4Script_0x195ec9: ; 0x195ec9 applymovement $6, MovementData_0x195f27 faceplayer variablesprite $a, $27 - special $005e + special Function14209 UnknownScript_0x195eda: ; 0x195eda faceplayer loadfont diff --git a/maps/FuchsiaPokeCenter1F.asm b/maps/FuchsiaPokeCenter1F.asm index 37afaaaca..49ee101da 100644 --- a/maps/FuchsiaPokeCenter1F.asm +++ b/maps/FuchsiaPokeCenter1F.asm @@ -34,7 +34,7 @@ JanineImpersonatorScript_0x196462: ; 0x196462 applymovement $5, MovementData_0x196486 faceplayer variablesprite $c, $a - special $005e + special Function14209 loadfont writetext UnknownText_0x19654e closetext @@ -42,7 +42,7 @@ JanineImpersonatorScript_0x196462: ; 0x196462 applymovement $5, MovementData_0x196486 faceplayer variablesprite $c, $28 - special $005e + special Function14209 end ; 0x196486 diff --git a/maps/GoldenrodCity.asm b/maps/GoldenrodCity.asm index 58852960c..8927ecc67 100644 --- a/maps/GoldenrodCity.asm +++ b/maps/GoldenrodCity.asm @@ -49,7 +49,7 @@ PokefanMScript_0x198909: ; 0x198909 writetext UnknownText_0x199042 yesorno iffalse UnknownScript_0x19899a - special $004f + special Function24b25 writetext UnknownText_0x199090 yesorno iffalse UnknownScript_0x1989a0 @@ -68,7 +68,7 @@ PokefanMScript_0x198909: ; 0x198909 UnknownScript_0x19893a: ; 0x19893a writebyte $1 writetext UnknownText_0x1991cf - special $0083 + special Function4925b if_equal $0, UnknownScript_0x1989a6 jump UnknownScript_0x1989d7 ; 0x198949 @@ -76,7 +76,7 @@ UnknownScript_0x19893a: ; 0x19893a UnknownScript_0x198949: ; 0x198949 writebyte $2 writetext UnknownText_0x1991cf - special $0083 + special Function4925b if_equal $0, UnknownScript_0x1989a6 jump UnknownScript_0x1989d7 ; 0x198958 @@ -84,7 +84,7 @@ UnknownScript_0x198949: ; 0x198949 UnknownScript_0x198958: ; 0x198958 writebyte $3 writetext UnknownText_0x1991cf - special $0083 + special Function4925b if_equal $0, UnknownScript_0x1989a6 jump UnknownScript_0x1989d7 ; 0x198967 @@ -128,7 +128,7 @@ UnknownScript_0x1989a6: ; 0x1989a6 takecoins 4000 waitbutton playsound SFX_TRANSACTION - special $004f + special Function24b25 writetext UnknownText_0x19918b closetext loadmovesprites diff --git a/maps/GoldenrodDeptStore5F.asm b/maps/GoldenrodDeptStore5F.asm index b17a4d0d4..417638a38 100644 --- a/maps/GoldenrodDeptStore5F.asm +++ b/maps/GoldenrodDeptStore5F.asm @@ -69,7 +69,7 @@ ReceptionistScript_0x560ce: ; 0x560ce if_not_equal SUNDAY, UnknownScript_0x56112 checkflag $005b iftrue UnknownScript_0x56112 - special $0059 + special Function718d writetext UnknownText_0x56143 keeptextopen if_greater_than $95, UnknownScript_0x560ee @@ -115,12 +115,12 @@ UnknownScript_0x56116: ; 0x56116 TwinScript_0x56118: ; 0x56118 faceplayer loadfont - special $0066 + special SpecialGameboyCheck if_not_equal $2, UnknownScript_0x5612a writetext UnknownText_0x56241 closetext loadmovesprites - special $0013 + special Function1050b9 end ; 0x5612a diff --git a/maps/GoldenrodDeptStore6F.asm b/maps/GoldenrodDeptStore6F.asm index c5b8fe6f3..9554a576a 100644 --- a/maps/GoldenrodDeptStore6F.asm +++ b/maps/GoldenrodDeptStore6F.asm @@ -10,7 +10,7 @@ MapGoldenrodDeptStore6FSignpost5Script: ; 0x563f5 loadfont writetext UnknownText_0x564cb UnknownScript_0x563f9: ; 0x563f9 - special $0051 + special Function24ae8 loadmenudata MenuDataHeader_0x56478 interpretmenu2 writebackup diff --git a/maps/GoldenrodGameCorner.asm b/maps/GoldenrodGameCorner.asm index 8906568e2..5605f8fef 100644 --- a/maps/GoldenrodGameCorner.asm +++ b/maps/GoldenrodGameCorner.asm @@ -54,7 +54,7 @@ ReceptionistScript_0x56c28: ; 0x56c28 iffalse UnknownScript_0x56cc3 writetext UnknownText_0x56e8b UnknownScript_0x56c36: ; 056c36 - special $004f + special Function24b25 loadmenudata MenuDataHeader_0x56cc9 interpretmenu2 writebackup @@ -170,7 +170,7 @@ ReceptionistScript_0x56d01: ; 0x56d01 iffalse UnknownScript_0x56cc3 UnknownScript_0x56d0c: ; 0x56d0c writetext UnknownText_0x56e8b - special $004f + special Function24b25 loadmenudata MenuDataHeader_0x56db0 interpretmenu2 writebackup @@ -193,7 +193,7 @@ UnknownScript_0x56d26: ; 0x56d26 writetext UnknownText_0x56ebd closetext writebyte ABRA - special $0039 + special Functionc230 givepoke ABRA, 5, 0, 0 takecoins 100 jump UnknownScript_0x56d0c @@ -212,7 +212,7 @@ UnknownScript_0x56d54: ; 0x56d54 writetext UnknownText_0x56ebd closetext writebyte CUBONE - special $0039 + special Functionc230 givepoke CUBONE, 15, 0, 0 takecoins 800 jump UnknownScript_0x56d0c @@ -231,7 +231,7 @@ UnknownScript_0x56d82: ; 0x56d82 writetext UnknownText_0x56ebd closetext writebyte WOBBUFFET - special $0039 + special Functionc230 givepoke WOBBUFFET, 15, 0, 0 takecoins 1500 jump UnknownScript_0x56d0c @@ -323,7 +323,7 @@ MapGoldenrodGameCornerSignpost17Script: ; 0x56e31 if_equal $0, MapGoldenrodGameCornerSignpost7Script refreshscreen $0 writebyte $0 - special $002a + special Functionc373 loadmovesprites end ; 0x56e40 @@ -331,14 +331,14 @@ MapGoldenrodGameCornerSignpost17Script: ; 0x56e31 MapGoldenrodGameCornerSignpost7Script: ; 0x56e40 refreshscreen $0 writebyte $1 - special $002a + special Functionc373 loadmovesprites end ; 0x56e49 MapGoldenrodGameCornerSignpost29Script: ; 0x56e49 refreshscreen $0 - special $002b + special Functionc380 loadmovesprites end ; 0x56e50 diff --git a/maps/GoldenrodHappinessRater.asm b/maps/GoldenrodHappinessRater.asm index f4f856c46..a714c7e54 100644 --- a/maps/GoldenrodHappinessRater.asm +++ b/maps/GoldenrodHappinessRater.asm @@ -9,7 +9,7 @@ GoldenrodHappinessRater_MapScriptHeader: ; 0x54951 TeacherScript_0x54953: ; 0x54953 faceplayer loadfont - special $0059 + special Function718d writetext UnknownText_0x549a3 keeptextopen if_greater_than $f9, UnknownScript_0x54973 diff --git a/maps/GoldenrodMagnetTrainStation.asm b/maps/GoldenrodMagnetTrainStation.asm index a3f77c7e5..b26bb421d 100644 --- a/maps/GoldenrodMagnetTrainStation.asm +++ b/maps/GoldenrodMagnetTrainStation.asm @@ -36,7 +36,7 @@ UnknownScript_0x550fa: ; 0x550fa applymovement $2, MovementData_0x55146 applymovement $0, MovementData_0x5514f writebyte $0 - special $0023 + special Function8cc04 warpcheck newloadmap $f9 applymovement $0, MovementData_0x55122 diff --git a/maps/GoldenrodNameRatersHouse.asm b/maps/GoldenrodNameRatersHouse.asm index 821c2eddb..760e88084 100644 --- a/maps/GoldenrodNameRatersHouse.asm +++ b/maps/GoldenrodNameRatersHouse.asm @@ -9,7 +9,7 @@ GoldenrodNameRatersHouse_MapScriptHeader: ; 0x5577a GentlemanScript_0x5577c: ; 0x5577c faceplayer loadfont - special $0057 + special SpecialNameRater closetext loadmovesprites end diff --git a/maps/GoldenrodPokeCenter1F.asm b/maps/GoldenrodPokeCenter1F.asm index 44c7f78ec..45e977bdb 100644 --- a/maps/GoldenrodPokeCenter1F.asm +++ b/maps/GoldenrodPokeCenter1F.asm @@ -12,7 +12,7 @@ NurseScript_0x60f91: ; 0x60f91 UnknownScript_0x60f94: ; 0x60f94 writebyte $b - special $0086 + special Function170687 if_equal $b, UnknownScript_0x60f9e end ; 0x60f9e @@ -37,7 +37,7 @@ UnknownScript_0x60f9e: ; 0x60f9e closetext loadmovesprites applymovement $3, MovementData_0x61060 - special $003d + special RestartMapMusic disappear $3 playsound SFX_EXIT_BUILDING UnknownScript_0x60fd8: ; 0x60fd8 @@ -46,7 +46,7 @@ UnknownScript_0x60fd8: ; 0x60fd8 UnknownScript_0x60fd9: ; 0x60fd9 writebyte $b - special $0086 + special Function170687 if_equal $b, UnknownScript_0x60fe3 end ; 0x60fe3 @@ -71,7 +71,7 @@ UnknownScript_0x60fe3: ; 0x60fe3 closetext loadmovesprites applymovement $3, MovementData_0x6106c - special $003d + special RestartMapMusic disappear $3 playsound SFX_EXIT_BUILDING UnknownScript_0x6101d: ; 0x6101d diff --git a/maps/HallOfFame.asm b/maps/HallOfFame.asm index 7c218bc72..a44a63546 100644 --- a/maps/HallOfFame.asm +++ b/maps/HallOfFame.asm @@ -33,7 +33,7 @@ UnknownScript_0x181454: ; 0x181454 dotrigger $1 pause 15 writebyte $2 - special $003e + special Function12324 setevent $0044 setevent $077c setevent $06c4 @@ -41,7 +41,7 @@ UnknownScript_0x181454: ; 0x181454 setevent $0737 clearevent $0738 domaptrigger GROUP_SPROUT_TOWER_3F, MAP_SPROUT_TOWER_3F, $1 - special $001b + special Functionc658 checkevent EVENT_GOT_SS_TICKET_FROM_ELM iftrue UnknownScript_0x181497 specialphonecall $5 diff --git a/maps/IlexForest.asm b/maps/IlexForest.asm index e91e49c52..d016b73e9 100644 --- a/maps/IlexForest.asm +++ b/maps/IlexForest.asm @@ -523,18 +523,18 @@ UnknownScript_0x6ee42: ; 0x6ee42 loadmovesprites pause 20 showemote $0, $0, 20 - special $006a + special Functionc48f applymovement $0, MovementData_0x6ef58 pause 30 spriteface $0, $0 pause 20 clearflag $0064 - special $008f + special Function4989a loadpokedata CELEBI, 30 startbattle returnafterbattle pause 20 - special $0090 + special Function49bf9 iffalse UnknownScript_0x6ee8e appear $7 applymovement $7, MovementData_0x6ef4e diff --git a/maps/IndigoPlateauPokeCenter1F.asm b/maps/IndigoPlateauPokeCenter1F.asm index 8a0450247..656ca2d20 100644 --- a/maps/IndigoPlateauPokeCenter1F.asm +++ b/maps/IndigoPlateauPokeCenter1F.asm @@ -58,7 +58,7 @@ UnknownScript_0x180053: ; 0x180053 appear $5 spriteface $0, $0 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 applymovement $5, MovementData_0x180164 playmusic MUSIC_RIVAL_ENCOUNTER @@ -80,7 +80,7 @@ UnknownScript_0x180094: ; 0x180094 appear $5 spriteface $0, $0 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 applymovement $5, MovementData_0x18016b playmusic MUSIC_RIVAL_ENCOUNTER @@ -165,7 +165,7 @@ GrampsScript_0x180139: ; 0x180139 closetext loadmovesprites playsound SFX_WARP_TO - special $002e + special Function8c084 waitbutton warp GROUP_NEW_BARK_TOWN, MAP_NEW_BARK_TOWN, $d, $6 end diff --git a/maps/KrissHouse1F.asm b/maps/KrissHouse1F.asm index a03649e76..eb57eebb7 100644 --- a/maps/KrissHouse1F.asm +++ b/maps/KrissHouse1F.asm @@ -48,19 +48,19 @@ UnknownScript_0x7a4f6: ; 0x7a4f6 clearevent $06c8 writetext UnknownText_0x7a6bd keeptextopen - special $0025 + special Function90913 UnknownScript_0x7a519: ; 0x7a519 writetext UnknownText_0x7a742 yesorno iffalse UnknownScript_0x7a52a - special $00a6 + special Function90a54 yesorno iffalse UnknownScript_0x7a519 jump UnknownScript_0x7a531 ; 0x7a52a UnknownScript_0x7a52a: ; 0x7a52a - special $00a7 + special Function90a88 yesorno iffalse UnknownScript_0x7a519 UnknownScript_0x7a531: ; 0x7a531 @@ -104,7 +104,7 @@ UnknownScript_0x7a564: ; 0x7a564 ; 0x7a56b UnknownScript_0x7a56b: ; 0x7a56b - special $003d + special RestartMapMusic spriteface $2, $2 end ; 0x7a572 @@ -161,7 +161,7 @@ UnknownScript_0x7a5b5: ; 0x7a5b5 setevent $0076 UnknownScript_0x7a5b8: ; 0x7a5b8 setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST - special $0022 + special Function16218 closetext loadmovesprites end diff --git a/maps/KrissHouse2F.asm b/maps/KrissHouse2F.asm index 42e064dbe..e50fbd7be 100644 --- a/maps/KrissHouse2F.asm +++ b/maps/KrissHouse2F.asm @@ -17,7 +17,7 @@ UnknownScript_0x7abb3: ; 0x7abb3 ; 0x7abb4 UnknownScript_0x7abb4: ; 0x7abb4 - special $004a + special Function27043 setevent $0007 checkevent $0036 iftrue UnknownScript_0x7abc4 @@ -30,7 +30,7 @@ UnknownScript_0x7abc4: ; 0x7abc4 ; 0x7abc5 UnknownScript_0x7abc5: ; 0x7abc5 - special $0049 + special Function26feb return ; 0x7abc9 @@ -103,7 +103,7 @@ MapKrissHouse2FSignpost3Script: ; 0x7ac12 MapKrissHouse2FSignpost0Script: ; 0x7ac15 loadfont - special $001d + special Functionc2e7 iftrue UnknownScript_0x7ac1e loadmovesprites end diff --git a/maps/KurtsHouse.asm b/maps/KurtsHouse.asm index f22f89fec..c0002ea06 100644 --- a/maps/KurtsHouse.asm +++ b/maps/KurtsHouse.asm @@ -43,7 +43,7 @@ KurtScript_0x18e178: ; 0x18e178 writetext UnknownText_0x18e473 closetext loadmovesprites - special $006a + special Functionc48f setevent $06fa checkcode $9 if_equal $1, UnknownScript_0x18e1ab @@ -53,7 +53,7 @@ KurtScript_0x18e178: ; 0x18e178 playsound SFX_EXIT_BUILDING disappear $2 waitbutton - special $003d + special RestartMapMusic end ; 0x18e1ab @@ -64,7 +64,7 @@ UnknownScript_0x18e1ab: ; 0x18e1ab playsound SFX_EXIT_BUILDING disappear $2 waitbutton - special $003d + special RestartMapMusic end ; 0x18e1bf @@ -134,7 +134,7 @@ UnknownScript_0x18e249: ; 0x18e249 writetext UnknownText_0x18e736 keeptextopen setevent $0002 - special $0056 + special Function88018 if_equal $0, UnknownScript_0x18e2a5 if_equal $59, UnknownScript_0x18e275 if_equal $5c, UnknownScript_0x18e27b @@ -319,7 +319,7 @@ UnknownScript_0x18e378: ; 0x18e378 setevent $00c0 clearevent EVENT_CAN_GIVE_GS_BALL_TO_KURT clearevent $00bf - special $006a + special Functionc48f pause 20 showemote $0, $2, 30 checkcode $9 @@ -339,7 +339,7 @@ UnknownScript_0x18e3ac: ; 0x18e3ac disappear $2 clearevent $07a4 waitbutton - special $003d + special RestartMapMusic domaptrigger GROUP_AZALEA_TOWN, MAP_AZALEA_TOWN, $2 end ; 0x18e3bd diff --git a/maps/LakeofRage.asm b/maps/LakeofRage.asm index 5237c25d5..0fcec1fb2 100644 --- a/maps/LakeofRage.asm +++ b/maps/LakeofRage.asm @@ -146,7 +146,7 @@ MapLakeofRageSignpost1Script: ; 0x700ab UnknownScript_0x700b8: ; 0x700b8 keeptextopen - special $001a + special Functionfbcd2 loadmovesprites end ; 0x700be diff --git a/maps/LakeofRageMagikarpHouse.asm b/maps/LakeofRageMagikarpHouse.asm index a76abb35d..b688390bf 100644 --- a/maps/LakeofRageMagikarpHouse.asm +++ b/maps/LakeofRageMagikarpHouse.asm @@ -41,11 +41,11 @@ UnknownScript_0x19a6d7: ; 0x19a6d7 UnknownScript_0x19a6e0: ; 0x19a6e0 writebyte MAGIKARP - special $0042 + special Functionc276 iffalse UnknownScript_0x19a6d7 writetext UnknownText_0x19a93e closetext - special $0019 + special Functionfbb32 if_equal $0, UnknownScript_0x19a71c if_equal $1, UnknownScript_0x19a722 if_equal $2, UnknownScript_0x19a716 diff --git a/maps/LancesRoom.asm b/maps/LancesRoom.asm index 5c6609da4..c315ad61c 100644 --- a/maps/LancesRoom.asm +++ b/maps/LancesRoom.asm @@ -49,13 +49,13 @@ UnknownScript_0x180e53: ; 0x180e53 ; 0x180e6a UnknownScript_0x180e6a: ; 0x180e6a - special $006a + special Functionc48f applymovement $0, MovementData_0x180f38 jump LanceScript_0x180e7b ; 0x180e74 UnknownScript_0x180e74: ; 0x180e74 - special $006a + special Functionc48f applymovement $0, MovementData_0x180f3c LanceScript_0x180e7b: ; 0x180e7b spriteface $2, $2 @@ -131,7 +131,7 @@ LanceScript_0x180e7b: ; 0x180e7b pause 30 loadmovesprites applymovement $3, MovementData_0x180f5b - special $002e + special Function8c084 pause 15 warpfacing $1, GROUP_HALL_OF_FAME, MAP_HALL_OF_FAME, $4, $d end diff --git a/maps/LavenderNameRater.asm b/maps/LavenderNameRater.asm index 7ae8469cf..43c3464ba 100644 --- a/maps/LavenderNameRater.asm +++ b/maps/LavenderNameRater.asm @@ -16,7 +16,7 @@ UnknownScript_0x7eaf1: ; 0x7eaf1 GentlemanScript_0x7eaf2: ; 0x7eaf2 faceplayer loadfont - special $0057 + special SpecialNameRater closetext loadmovesprites end diff --git a/maps/MahoganyTown.asm b/maps/MahoganyTown.asm index d88bd4687..76a582636 100644 --- a/maps/MahoganyTown.asm +++ b/maps/MahoganyTown.asm @@ -59,7 +59,7 @@ UnknownScript_0x190039: ; 0x190039 UnknownScript_0x190040: ; 0x190040 loadfont writetext UnknownText_0x1900b0 - special $0051 + special Function24ae8 yesorno iffalse UnknownScript_0x190072 checkmoney $0, 300 @@ -69,7 +69,7 @@ UnknownScript_0x190040: ; 0x190040 waitbutton playsound SFX_TRANSACTION takemoney $0, 300 - special $0051 + special Function24ae8 writetext UnknownText_0x19014a closetext loadmovesprites diff --git a/maps/ManiasHouse.asm b/maps/ManiasHouse.asm index eda6bf7d3..854f0665e 100644 --- a/maps/ManiasHouse.asm +++ b/maps/ManiasHouse.asm @@ -16,7 +16,7 @@ RockerScript_0x9d278: ; 0x9d278 writetext UnknownText_0x9d303 yesorno iffalse UnknownScript_0x9d2b6 - special SPECIAL_GIVESHUCKLE + special SpecialGiveShuckle iffalse UnknownScript_0x9d2b0 writetext UnknownText_0x9d3ed keeptextopen @@ -56,7 +56,7 @@ UnknownScript_0x9d2bc: ; 0x9d2bc writetext UnknownText_0x9d470 yesorno iffalse UnknownScript_0x9d2ee - special $004c + special SpecialReturnShuckle if_equal $0, UnknownScript_0x9d2df if_equal $1, UnknownScript_0x9d2ee if_equal $3, UnknownScript_0x9d2e5 diff --git a/maps/MobileBattleRoom.asm b/maps/MobileBattleRoom.asm index dfbdfa7ac..4d9485e37 100644 --- a/maps/MobileBattleRoom.asm +++ b/maps/MobileBattleRoom.asm @@ -27,9 +27,9 @@ UnknownScript_0x1935d3: ; 0x1935d3 MapMobileBattleRoomSignpost0Script: ; 0x1935da refreshscreen $0 - special $009f + special Function1037c2 if_equal $1, UnknownScript_0x193619 - special $009b + special Function1037eb iffalse UnknownScript_0x193624 if_equal $1, UnknownScript_0x1935f4 if_equal $2, UnknownScript_0x19360d @@ -40,24 +40,24 @@ UnknownScript_0x1935f4: ; 0x1935f4 writetext UnknownText_0x193644 pause 20 loadmovesprites - special $002e + special Function8c084 playmusic MUSIC_HEAL - special $00a4 + special Function1047eb pause 60 - special $0031 - special $003d + special Function8c079 + special RestartMapMusic refreshscreen $0 UnknownScript_0x19360d: ; 0x19360d - special $009d - special $001b - special $009c + special Function1060a2 + special Functionc658 + special Function10383c iftrue UnknownScript_0x193624 UnknownScript_0x193619: ; 0x193619 - special $00a2 + special Function10387b writetext UnknownText_0x193626 closetext reloadmappart - special $0081 + special Function101225 UnknownScript_0x193624: ; 0x193624 loadmovesprites end diff --git a/maps/MobileTradeRoomMobile.asm b/maps/MobileTradeRoomMobile.asm index cc10fc19a..e32463b4a 100644 --- a/maps/MobileTradeRoomMobile.asm +++ b/maps/MobileTradeRoomMobile.asm @@ -27,11 +27,11 @@ UnknownScript_0x19357b: ; 0x19357b MapMobileTradeRoomMobileSignpost0Script: ; 0x193582 refreshscreen $0 - special $009f + special Function1037c2 writetext UnknownText_0x193591 closetext reloadmappart - special $0082 + special Function101231 loadmovesprites end ; 0x193591 diff --git a/maps/MountMoon.asm b/maps/MountMoon.asm index c4fb9b62a..92760f5a7 100644 --- a/maps/MountMoon.asm +++ b/maps/MountMoon.asm @@ -22,7 +22,7 @@ UnknownScript_0x7408d: ; 0x7408d UnknownScript_0x7408e: ; 0x7408e spriteface $0, $3 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 applymovement $2, MovementData_0x740f9 playmusic MUSIC_RIVAL_ENCOUNTER diff --git a/maps/MoveDeletersHouse.asm b/maps/MoveDeletersHouse.asm index 975a003aa..b700bdcea 100644 --- a/maps/MoveDeletersHouse.asm +++ b/maps/MoveDeletersHouse.asm @@ -9,7 +9,7 @@ MoveDeletersHouse_MapScriptHeader: ; 0x195cb2 SuperNerdScript_0x195cb4: ; 0x195cb4 faceplayer loadfont - special $0021 + special Function2c547 closetext loadmovesprites end diff --git a/maps/MrPokemonsHouse.asm b/maps/MrPokemonsHouse.asm index 08a02f337..513385ec9 100644 --- a/maps/MrPokemonsHouse.asm +++ b/maps/MrPokemonsHouse.asm @@ -109,21 +109,21 @@ UnknownScript_0x196ec9: ; 0x196ec9 playsound SFX_EXIT_BUILDING disappear $3 waitbutton - special $003d + special RestartMapMusic pause 15 spriteface $0, $1 loadfont writetext UnknownText_0x1970ed closetext loadmovesprites - special $0030 - special $0033 + special Function8c0b6 + special Functiond91 playmusic MUSIC_HEAL - special $009d - special $001b + special Function1060a2 + special Functionc658 pause 60 - special $0032 - special $003d + special Function8c0ab + special RestartMapMusic loadfont writetext UnknownText_0x197134 closetext diff --git a/maps/NewBarkTown.asm b/maps/NewBarkTown.asm index fa0955423..7eeb2d671 100644 --- a/maps/NewBarkTown.asm +++ b/maps/NewBarkTown.asm @@ -48,7 +48,7 @@ UnknownScript_0x1a8016: ; 0x1a8016 writetext UnknownText_0x1a815e closetext loadmovesprites - special $003d + special RestartMapMusic end ; 0x1a8041 @@ -73,7 +73,7 @@ UnknownScript_0x1a8041: ; 0x1a8041 writetext UnknownText_0x1a815e closetext loadmovesprites - special $003d + special RestartMapMusic end ; 0x1a806f diff --git a/maps/OaksLab.asm b/maps/OaksLab.asm index 54f1c5f1c..30f1d3234 100644 --- a/maps/OaksLab.asm +++ b/maps/OaksLab.asm @@ -30,7 +30,7 @@ UnknownScript_0x19b3dd: ; 0x19b3dd UnknownScript_0x19b3ea: ; 0x19b3ea writetext UnknownText_0x19b4a2 closetext - special $0065 + special ProfOaksPCBoot writetext UnknownText_0x19b4c8 closetext loadmovesprites diff --git a/maps/OlivineCity.asm b/maps/OlivineCity.asm index e1fefcf01..714904162 100644 --- a/maps/OlivineCity.asm +++ b/maps/OlivineCity.asm @@ -30,7 +30,7 @@ UnknownScript_0x1a882f: ; 0x1a882f UnknownScript_0x1a8833: ; 0x1a8833 spriteface $0, $2 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 playsound SFX_ENTER_DOOR appear $5 @@ -46,16 +46,16 @@ UnknownScript_0x1a8833: ; 0x1a8833 applymovement $5, MovementData_0x1a88db dotrigger $1 disappear $5 - special $003d + special RestartMapMusic variablesprite $5, $31 - special $005e + special Function14209 end ; 0x1a886b UnknownScript_0x1a886b: ; 0x1a886b spriteface $0, $2 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 playsound SFX_ENTER_DOOR appear $5 @@ -71,9 +71,9 @@ UnknownScript_0x1a886b: ; 0x1a886b applymovement $5, MovementData_0x1a88e8 disappear $5 dotrigger $1 - special $003d + special RestartMapMusic variablesprite $5, $31 - special $005e + special Function14209 end ; 0x1a88a3 diff --git a/maps/OlivineLighthouse6F.asm b/maps/OlivineLighthouse6F.asm index 2a12b6a27..e9b18143f 100644 --- a/maps/OlivineLighthouse6F.asm +++ b/maps/OlivineLighthouse6F.asm @@ -42,11 +42,11 @@ UnknownScript_0x60bab: ; 0x60bab pause 60 keeptextopen loadmovesprites - special $003d + special RestartMapMusic cry AMPHAROS - special $002e + special Function8c084 pause 10 - special $0031 + special Function8c079 loadfont writetext UnknownText_0x60f3d closetext @@ -111,7 +111,7 @@ MonsterScript_0x60c3a: ; 0x60c3a iftrue UnknownScript_0x60c51 writetext UnknownText_0x60f03 writebyte AMPHAROS - special $005f + special Functionfb841 keeptextopen writetext UnknownText_0x60f19 closetext @@ -124,10 +124,10 @@ UnknownScript_0x60c51: ; 0x60c51 cry AMPHAROS closetext loadmovesprites - special $002e - special $0031 - special $002e - special $0031 + special Function8c084 + special Function8c079 + special Function8c084 + special Function8c079 end ; 0x60c66 diff --git a/maps/OlivinePort.asm b/maps/OlivinePort.asm index a67451bb7..437db358a 100644 --- a/maps/OlivinePort.asm +++ b/maps/OlivinePort.asm @@ -43,7 +43,7 @@ SailorScript_0x748c0: ; 0x748c0 waitbutton applymovement $0, MovementData_0x74a30 playsound SFX_EXIT_BUILDING - special $002e + special Function8c084 waitbutton checkevent $0030 iffalse UnknownScript_0x7490a diff --git a/maps/PokeCenter2F.asm b/maps/PokeCenter2F.asm index ab4a0c8bf..7b00ed670 100644 --- a/maps/PokeCenter2F.asm +++ b/maps/PokeCenter2F.asm @@ -15,7 +15,7 @@ PokeCenter2F_MapScriptHeader: ; 0x192845 ; 0x19285f UnknownScript_0x19285f: ; 0x19285f - special $0011 + special Functionc2f6 if_equal $0, UnknownScript_0x192872 clearevent $0711 checkevent $0001 @@ -83,28 +83,28 @@ LinkReceptionistScript_0x19289d: ; 0x19289d writetext UnknownText_0x192e3a yesorno iffalse UnknownScript_0x19291d - special $00a0 + special Function10630f iffalse UnknownScript_0x1928be writetext UnknownText_0x192d7e - special $008c + special Function103612 iffalse UnknownScript_0x19291d if_equal $1, UnknownScript_0x19291f UnknownScript_0x1928be: ; 0x1928be - special $0001 + special Function29ce8 writetext UnknownText_0x192f67 - special $0002 + special Function29d11 iffalse UnknownScript_0x1928f6 writetext UnknownText_0x192f34 yesorno iffalse UnknownScript_0x192917 - special $0004 + special Function29e66 iffalse UnknownScript_0x192917 writetext UnknownText_0x192f67 - special $0003 + special Function29d92 iffalse UnknownScript_0x192911 copybytetovar wcf51 iffalse UnknownScript_0x1928fe - special $0005 + special Function29e82 iffalse UnknownScript_0x192909 writetext UnknownText_0x19306b closetext @@ -115,23 +115,23 @@ UnknownScript_0x1928be: ; 0x1928be ; 0x1928f6 UnknownScript_0x1928f6: ; 0x1928f6 - special $0008 + special Function29c92 writetext UnknownText_0x192f19 loadmovesprites end ; 0x1928fe UnknownScript_0x1928fe: ; 0x1928fe - special $0006 + special Function29efa writetext UnknownText_0x193029 - special $0007 + special Function29eee loadmovesprites end ; 0x192909 UnknownScript_0x192909: ; 0x192909 writetext UnknownText_0x19304a - special $0007 + special Function29eee loadmovesprites end ; 0x192911 @@ -144,7 +144,7 @@ UnknownScript_0x192911: ; 0x192911 UnknownScript_0x192917: ; 0x192917 writetext UnknownText_0x192fd1 UnknownScript_0x19291a: ; 0x19291a - special $0008 + special Function29c92 UnknownScript_0x19291d: ; 0x19291d loadmovesprites end @@ -166,9 +166,9 @@ UnknownScript_0x19292b: ; 0x19292b writetext UnknownText_0x192f34 yesorno iffalse UnknownScript_0x192943 - special $0004 + special Function29e66 iffalse UnknownScript_0x192943 - special $007f + special Function1011f1 writetext UnknownText_0x19306b closetext loadmovesprites @@ -196,28 +196,28 @@ LinkReceptionistScript_0x192952: ; 0x192952 writetext UnknownText_0x192de0 yesorno iffalse UnknownScript_0x1929d2 - special $00a0 + special Function10630f iffalse UnknownScript_0x192973 writetext UnknownText_0x192d39 - special $008c + special Function103612 iffalse UnknownScript_0x1929d2 if_equal $1, UnknownScript_0x1929d4 UnknownScript_0x192973: ; 0x192973 - special $0009 + special Function29cf1 writetext UnknownText_0x192f67 - special $0002 + special Function29d11 iffalse UnknownScript_0x1929ab writetext UnknownText_0x192f34 yesorno iffalse UnknownScript_0x1929cc - special $0004 + special Function29e66 iffalse UnknownScript_0x1929cc writetext UnknownText_0x192f67 - special $0003 + special Function29d92 iffalse UnknownScript_0x1929c6 copybytetovar wcf51 iffalse UnknownScript_0x1929b3 - special $0005 + special Function29e82 iffalse UnknownScript_0x1929be writetext UnknownText_0x19306b closetext @@ -228,23 +228,23 @@ UnknownScript_0x192973: ; 0x192973 ; 0x1929ab UnknownScript_0x1929ab: ; 0x1929ab - special $0008 + special Function29c92 writetext UnknownText_0x192f19 loadmovesprites end ; 0x1929b3 UnknownScript_0x1929b3: ; 0x1929b3 - special $0006 + special Function29efa writetext UnknownText_0x193029 - special $0007 + special Function29eee loadmovesprites end ; 0x1929be UnknownScript_0x1929be: ; 0x1929be writetext UnknownText_0x19304a - special $0007 + special Function29eee loadmovesprites end ; 0x1929c6 @@ -257,7 +257,7 @@ UnknownScript_0x1929c6: ; 0x1929c6 UnknownScript_0x1929cc: ; 0x1929cc writetext UnknownText_0x192fd1 UnknownScript_0x1929cf: ; 0x1929cf - special $0008 + special Function29c92 UnknownScript_0x1929d2: ; 0x1929d2 loadmovesprites end @@ -281,9 +281,9 @@ UnknownScript_0x1929e6: ; 0x1929e6 writetext UnknownText_0x192f34 yesorno iffalse UnknownScript_0x1929fe - special $00a1 + special Function103780 iffalse UnknownScript_0x1929fe - special $007f + special Function1011f1 writetext UnknownText_0x19306b closetext loadmovesprites @@ -299,7 +299,7 @@ UnknownScript_0x1929fe: ; 0x1929fe ; 0x192a05 UnknownScript_0x192a05: ; 0x192a05 - special $009a + special Function10366e iffalse UnknownScript_0x192a1e if_equal $1, UnknownScript_0x192a22 if_equal $2, UnknownScript_0x192a22 @@ -335,38 +335,38 @@ LinkReceptionistScript_0x192a2d: ; 0x192a2d iftrue UnknownScript_0x192a25 checkflag $0053 iftrue UnknownScript_0x192a25 - special $000a + special Function29cfa faceplayer loadfont writetext UnknownText_0x192e9f yesorno iffalse UnknownScript_0x192aa2 - special $000b + special Function29bfb if_equal $1, UnknownScript_0x192aa7 if_equal $2, UnknownScript_0x192aac if_equal $3, UnknownScript_0x192ab1 writetext UnknownText_0x192f67 - special $0002 + special Function29d11 iffalse UnknownScript_0x192a91 writetext UnknownText_0x192f34 yesorno iffalse UnknownScript_0x192a9f - special $0004 + special Function29e66 iffalse UnknownScript_0x192a9f writetext UnknownText_0x192f67 - special $0003 + special Function29d92 iffalse UnknownScript_0x192a99 copybytetovar wcf51 iffalse UnknownScript_0x192a84 - special $0005 + special Function29e82 writetext UnknownText_0x19304a - special $0007 + special Function29eee loadmovesprites end ; 0x192a84 UnknownScript_0x192a84: ; 0x192a84 - special $000c + special Function29c7b writetext UnknownText_0x19306b closetext loadmovesprites @@ -376,7 +376,7 @@ UnknownScript_0x192a84: ; 0x192a84 ; 0x192a91 UnknownScript_0x192a91: ; 0x192a91 - special $0008 + special Function29c92 writetext UnknownText_0x192f19 loadmovesprites end @@ -390,7 +390,7 @@ UnknownScript_0x192a99: ; 0x192a99 UnknownScript_0x192a9f: ; 0x192a9f writetext UnknownText_0x192fd1 UnknownScript_0x192aa2: ; 0x192aa2 - special $0008 + special Function29c92 loadmovesprites end ; 0x192aa7 @@ -414,7 +414,7 @@ UnknownScript_0x192ab1: ; 0x192ab1 ; 0x192ab6 UnknownScript_0x192ab6: ; 0x192ab6 - special $0008 + special Function29c92 scall UnknownScript_0x192b50 dotrigger $0 domaptrigger GROUP_TRADE_CENTER, MAP_TRADE_CENTER, $0 @@ -422,7 +422,7 @@ UnknownScript_0x192ab6: ; 0x192ab6 ; 0x192ac3 UnknownScript_0x192ac3: ; 0x192ac3 - special $0080 + special Function101220 scall UnknownScript_0x192ad0 dotrigger $0 domaptrigger GROUP_MOBILE_TRADE_ROOM_MOBILE, MAP_MOBILE_TRADE_ROOM_MOBILE, $0 @@ -437,7 +437,7 @@ UnknownScript_0x192ad0: ; 0x192ad0 ; 0x192add UnknownScript_0x192add: ; 0x192add - special $0008 + special Function29c92 scall UnknownScript_0x192b8a dotrigger $0 domaptrigger GROUP_COLOSSEUM, MAP_COLOSSEUM, $0 @@ -445,7 +445,7 @@ UnknownScript_0x192add: ; 0x192add ; 0x192aea UnknownScript_0x192aea: ; 0x192aea - special $0080 + special Function101220 scall UnknownScript_0x192af7 dotrigger $0 domaptrigger GROUP_MOBILE_BATTLE_ROOM, MAP_MOBILE_BATTLE_ROOM, $0 @@ -483,10 +483,10 @@ UnknownScript_0x192b12: ; 0x192b12 playsound SFX_TINGLE applymovement $0, MovementData_0x192d17 writebyte $80 - special $0098 + special Functionc225 applymovement $0, MovementData_0x192d1c setflag $009f - special $0038 + special Functione4a loadfont writetext UnknownText_0x19329a closetext @@ -512,9 +512,9 @@ UnknownScript_0x192b63: ; 0x192b63 playsound SFX_TINGLE applymovement $0, MovementData_0x192d17 writebyte $90 - special $0098 + special Functionc225 applymovement $0, MovementData_0x192d1c - special $0038 + special Functione4a applymovement $0, MovementData_0x192d2a applymovement $2, MovementData_0x192cfe end @@ -536,9 +536,9 @@ UnknownScript_0x192b9d: ; 0x192b9d playsound SFX_TINGLE applymovement $0, MovementData_0x192d17 writebyte $90 - special $0098 + special Functionc225 applymovement $0, MovementData_0x192d1c - special $0038 + special Functione4a applymovement $0, MovementData_0x192d2a applymovement $3, MovementData_0x192cfe end @@ -601,11 +601,11 @@ UnknownScript_0x192c20: ; 0x192c20 playsound SFX_TINGLE applymovement $0, MovementData_0x192d17 writebyte $80 - special $0098 + special Functionc225 applymovement $0, MovementData_0x192d22 faceperson $0, $4 setflag $009f - special $0038 + special Functione4a loadfont writetext UnknownText_0x19329a closetext @@ -616,7 +616,7 @@ UnknownScript_0x192c20: ; 0x192c20 ; 0x192c4e UnknownScript_0x192c4e: ; 0x192c4e - special $0008 + special Function29c92 checkflag $009f iftrue UnknownScript_0x192c66 applymovement $4, MovementData_0x192d08 @@ -632,9 +632,9 @@ UnknownScript_0x192c66: ; 0x192c66 playsound SFX_TINGLE applymovement $0, MovementData_0x192d17 writebyte $90 - special $0098 + special Functionc225 applymovement $0, MovementData_0x192d1c - special $0038 + special Functione4a applymovement $0, MovementData_0x192cfc applymovement $4, MovementData_0x192d01 UnknownScript_0x192c8c: ; 0x192c8c @@ -645,7 +645,7 @@ UnknownScript_0x192c8c: ; 0x192c8c MapPokeCenter2FSignpost0Script: ; 0x192c93 refreshscreen $0 - special $0058 + special Functionc2da loadmovesprites end ; 0x192c9a @@ -661,7 +661,7 @@ OfficerScript_0x192c9a: ; 0x192c9a writetext UnknownText_0x1931c4 keeptextopen waitbutton - special $0012 + special Functionc309 iffalse UnknownScript_0x192cbe itemnotify setevent $0711 diff --git a/maps/PokeSeersHouse.asm b/maps/PokeSeersHouse.asm index ebb3d2759..0d03b21d2 100644 --- a/maps/PokeSeersHouse.asm +++ b/maps/PokeSeersHouse.asm @@ -9,7 +9,7 @@ PokeSeersHouse_MapScriptHeader: ; 0x9e36c SeerScript: ; 0x9e36e faceplayer loadfont - special SPECIAL_POKESEER + special SpecialPokeSeer closetext loadmovesprites end diff --git a/maps/RadioTower1F.asm b/maps/RadioTower1F.asm index 0fda5651e..8a5f1aca4 100644 --- a/maps/RadioTower1F.asm +++ b/maps/RadioTower1F.asm @@ -29,11 +29,11 @@ GentlemanScript_0x5cd3d: ; 0x5cd3d loadfont writetext UnknownText_0x5ceba keeptextopen - special $0053 + special Functionc434 iffalse UnknownScript_0x5cd4c - special $0054 + special Functionc422 UnknownScript_0x5cd4c: ; 0x5cd4c - special $0055 + special Function4d9d3 checkflag $004e iftrue UnknownScript_0x5cd84 writetext UnknownText_0x5cf3a @@ -48,7 +48,7 @@ UnknownScript_0x5cd4c: ; 0x5cd4c playsound SFX_DEX_FANFARE_20_49 waitbutton keeptextopen - special $0052 + special Function4d87a loadmovesprites applymovement $6, MovementData_0x5ce74 loadfont diff --git a/maps/RadioTower2F.asm b/maps/RadioTower2F.asm index 18af832be..b99bae619 100644 --- a/maps/RadioTower2F.asm +++ b/maps/RadioTower2F.asm @@ -184,7 +184,7 @@ BuenaScript_0x5d775: ; 0x5d775 if_equal $1e, UnknownScript_0x5d87f playmusic MUSIC_BUENAS_PASSWORD writetext UnknownText_0x5de35 - special $00a3 + special Function4ae12 iffalse UnknownScript_0x5d81e writetext UnknownText_0x5de84 closetext @@ -201,7 +201,7 @@ UnknownScript_0x5d7be: ; 0x5d7be loadmovesprites spriteface $b, $0 refreshscreen $0 - special SPECIAL_BUENAS_PASSWORD + special SpecialBuenasPassword loadmovesprites iffalse UnknownScript_0x5d845 loadfont @@ -220,9 +220,9 @@ UnknownScript_0x5d7be: ; 0x5d7be writetext UnknownText_0x5e054 closetext loadmovesprites - special $006a + special Functionc48f pause 20 - special $003d + special RestartMapMusic checkcode $18 if_equal $1e, UnknownScript_0x5d8a4 end @@ -251,9 +251,9 @@ UnknownScript_0x5d81e: ; 0x5d81e closetext loadmovesprites spriteface $b, $3 - special $006a + special Functionc48f pause 20 - special $003d + special RestartMapMusic end ; 0x5d82f @@ -284,9 +284,9 @@ UnknownScript_0x5d845: ; 0x5d845 closetext loadmovesprites spriteface $b, $3 - special $006a + special Functionc48f pause 20 - special $003d + special RestartMapMusic end ; 0x5d865 @@ -396,7 +396,7 @@ ReceptionistScript_0x5d8ff: ; 0x5d8ff iffalse UnknownScript_0x5d90f writetext UnknownText_0x5e392 keeptextopen - special SPECIAL_BUENA_PRIZE + special SpecialBuenaPrize loadmovesprites end ; 0x5d90f diff --git a/maps/RadioTower5F.asm b/maps/RadioTower5F.asm index bed4fe254..bafa1a755 100644 --- a/maps/RadioTower5F.asm +++ b/maps/RadioTower5F.asm @@ -115,12 +115,12 @@ UnknownScript_0x6006e: ; 0x6006e writetext UnknownText_0x6050e closetext loadmovesprites - special $0030 - special $0033 + special Function8c0b6 + special Functiond91 disappear $3 disappear $4 pause 15 - special $0032 + special Function8c0ab setevent $0571 setevent EVENT_CLEARED_RADIO_TOWER clearflag $0013 @@ -133,7 +133,7 @@ UnknownScript_0x6006e: ; 0x6006e clearevent $06d0 setevent $06e3 clearevent $06e4 - special $003c + special PlayMapMusic disappear $2 moveperson $2, $c, $0 appear $2 diff --git a/maps/Route24.asm b/maps/Route24.asm index 8a30bab43..70e7d577a 100644 --- a/maps/Route24.asm +++ b/maps/Route24.asm @@ -22,15 +22,15 @@ RocketScript_0x1adbfa: ; 0x1adbfa loadfont writetext UnknownText_0x1addc0 keeptextopen - special $006a + special Functionc48f writetext UnknownText_0x1adee1 closetext loadmovesprites - special $0030 - special $0033 + special Function8c0b6 + special Functiond91 disappear $2 pause 25 - special $0032 + special Function8c0ab playmapmusic end ; 0x1adc2e diff --git a/maps/Route25.asm b/maps/Route25.asm index e4f66416c..a003d362c 100644 --- a/maps/Route25.asm +++ b/maps/Route25.asm @@ -41,7 +41,7 @@ UnknownScript_0x19eea0: ; 0x19eea0 disappear $2 clearevent $076f dotrigger $0 - special $003d + special RestartMapMusic end ; 0x19eee0 @@ -68,7 +68,7 @@ UnknownScript_0x19eee0: ; 0x19eee0 disappear $2 clearevent $076f dotrigger $0 - special $003d + special RestartMapMusic end ; 0x19ef20 diff --git a/maps/Route26HealSpeechHouse.asm b/maps/Route26HealSpeechHouse.asm index b2cfc2c06..e44f898c5 100644 --- a/maps/Route26HealSpeechHouse.asm +++ b/maps/Route26HealSpeechHouse.asm @@ -12,14 +12,14 @@ TeacherScript_0x7b125: ; 0x7b125 writetext UnknownText_0x7b14d closetext loadmovesprites - special $0030 - special $0033 - special $009d + special Function8c0b6 + special Functiond91 + special Function1060a2 playmusic MUSIC_HEAL - special $001b + special Functionc658 pause 60 - special $0032 - special $003d + special Function8c0ab + special RestartMapMusic loadfont writetext UnknownText_0x7b18b closetext diff --git a/maps/Route27SandstormHouse.asm b/maps/Route27SandstormHouse.asm index 6218c7858..1b4e969fb 100644 --- a/maps/Route27SandstormHouse.asm +++ b/maps/Route27SandstormHouse.asm @@ -11,7 +11,7 @@ GrannyScript_0x7b394: ; 0x7b394 loadfont checkevent EVENT_GOT_TM37_SANDSTORM iftrue UnknownScript_0x7b3b7 - special $0059 + special Function718d writetext UnknownText_0x7b3c6 keeptextopen if_greater_than $95, UnknownScript_0x7b3aa diff --git a/maps/Route30.asm b/maps/Route30.asm index a7e223770..2e7e990d6 100644 --- a/maps/Route30.asm +++ b/maps/Route30.asm @@ -23,7 +23,7 @@ YoungsterScript_0x1a1673: ; 0x1a1673 loadmovesprites playsound SFX_TACKLE applymovement $7, MovementData_0x1a1802 - special $003d + special RestartMapMusic end ; 0x1a169a diff --git a/maps/Route34.asm b/maps/Route34.asm index 94c5b59b3..846b84059 100644 --- a/maps/Route34.asm +++ b/maps/Route34.asm @@ -51,7 +51,7 @@ UnknownScript_0x78039: ; 0x78039 GrampsScript_0x7803d: ; 0x7803d faceplayer loadfont - special $0020 + special Function16936 closetext loadmovesprites if_equal $1, UnknownScript_0x7805a @@ -74,14 +74,14 @@ UnknownScript_0x7805b: ; 0x7805b DaycareMon1Script_0x78065: ; 0x78065 loadfont - special $0045 + special Function17421 loadmovesprites end ; 0x7806b DaycareMon2Script_0x7806b: ; 0x7806b loadfont - special $0046 + special Function17440 loadmovesprites end ; 0x78071 diff --git a/maps/Route35NationalParkgate.asm b/maps/Route35NationalParkgate.asm index 684c61c08..da0cc9de6 100644 --- a/maps/Route35NationalParkgate.asm +++ b/maps/Route35NationalParkgate.asm @@ -84,7 +84,7 @@ UnknownScript_0x6a1ee: ; 0x6a1ee loadmovesprites scall UnknownScript_0x6a261 playsound SFX_ENTER_DOOR - special $002e + special Function8c084 waitbutton warpfacing $1, GROUP_NATIONAL_PARK_BUG_CONTEST, MAP_NATIONAL_PARK_BUG_CONTEST, $a, $2f end @@ -106,11 +106,11 @@ OfficerScript_0x6a204: ; 0x6a204 iffalse UnknownScript_0x6a2a3 checkcode $1 if_greater_than $1, UnknownScript_0x6a271 - special $0016 + special Function13a12 clearevent $0308 UnknownScript_0x6a234: ; 0x6a234 setflag $0011 - special $003c + special PlayMapMusic writetext UnknownText_0x6a39d keeptextopen writetext UnknownText_0x6a3c7 @@ -119,12 +119,12 @@ UnknownScript_0x6a234: ; 0x6a234 writetext UnknownText_0x6a3e2 closetext loadmovesprites - special $0018 + special Function135db scall UnknownScript_0x6a261 playsound SFX_ENTER_DOOR - special $002e + special Function8c084 waitbutton - special $0047 + special Function139a8 warpfacing $1, GROUP_NATIONAL_PARK_BUG_CONTEST, MAP_NATIONAL_PARK_BUG_CONTEST, $a, $2f end ; 0x6a261 @@ -148,12 +148,12 @@ UnknownScript_0x6a271: ; 0x6a271 if_equal $0, UnknownScript_0x6a2b5 UnknownScript_0x6a27d: ; 6a27d - special $005a + special Function71ac if_equal $1, UnknownScript_0x6a2bb writetext UnknownText_0x6a4c6 yesorno iffalse UnknownScript_0x6a2a9 - special $0016 + special Function13a12 iftrue UnknownScript_0x6a2af setevent $0308 writetext UnknownText_0x6a537 diff --git a/maps/Route36.asm b/maps/Route36.asm index 1a07ddf63..38db65fca 100644 --- a/maps/Route36.asm +++ b/maps/Route36.asm @@ -96,8 +96,8 @@ UnknownScript_0x19407b: ; 0x19407b applymovement $4, MovementData_0x19424b disappear $4 variablesprite $4, $26 - special $005e - special $009e + special Function14209 + special Function14168 end ; 0x19408c diff --git a/maps/Route36NationalParkgate.asm b/maps/Route36NationalParkgate.asm index 93133e342..5414e9b46 100644 --- a/maps/Route36NationalParkgate.asm +++ b/maps/Route36NationalParkgate.asm @@ -75,14 +75,14 @@ UnknownScript_0x6ab47: ; 0x6ab47 writetext UnknownText_0x6b2c5 closetext loadmovesprites - special $0030 - special $0033 + special Function8c0b6 + special Functiond91 scall UnknownScript_0x6ab8c disappear $2 appear $d applymovement $0, MovementData_0x6add1 pause 15 - special $0032 + special Function8c0ab jumpstd $0017 ; 0x6ab76 @@ -92,7 +92,7 @@ UnknownScript_0x6ab76: ; 0x6ab76 loadmovesprites spriteface $0, $2 playsound SFX_EXIT_BUILDING - special $002e + special Function8c084 waitbutton warpfacing $2, GROUP_NATIONAL_PARK_BUG_CONTEST, MAP_NATIONAL_PARK_BUG_CONTEST, $21, $12 end @@ -139,7 +139,7 @@ UnknownScript_0x6abd4: ; 0x6abd4 iftrue UnknownScript_0x6abdc appear $c UnknownScript_0x6abdc: ; 0x6abdc - special $0037 + special Function1ad2 end ; 0x6abe0 @@ -159,11 +159,11 @@ OfficerScript_0x6abe0: ; 0x6abe0 iffalse UnknownScript_0x6ac73 checkcode $1 if_greater_than $1, UnknownScript_0x6ac41 - special $0016 + special Function13a12 clearevent $0308 UnknownScript_0x6ac10: ; 0x6ac10 setflag $0011 - special $003c + special PlayMapMusic writetext UnknownText_0x6ae87 keeptextopen waitbutton @@ -174,12 +174,12 @@ UnknownScript_0x6ac10: ; 0x6ac10 closetext loadmovesprites setflag $0011 - special $0018 + special Function135db spriteface $0, $2 playsound SFX_EXIT_BUILDING - special $002e + special Function8c084 waitbutton - special $0047 + special Function139a8 warpfacing $2, GROUP_NATIONAL_PARK_BUG_CONTEST, MAP_NATIONAL_PARK_BUG_CONTEST, $21, $12 end ; 0x6ac41 @@ -190,12 +190,12 @@ UnknownScript_0x6ac41: ; 0x6ac41 checkcode $10 if_equal $0, UnknownScript_0x6ac85 UnknownScript_0x6ac4d: ; 0x6ac4d - special $005a + special Function71ac if_equal $1, UnknownScript_0x6ac8b writetext UnknownText_0x6afb0 yesorno iffalse UnknownScript_0x6ac79 - special $0016 + special Function13a12 iftrue UnknownScript_0x6ac7f setevent $0308 writetext UnknownText_0x6b021 diff --git a/maps/Route39Barn.asm b/maps/Route39Barn.asm index 2bebb86ac..161e563b8 100644 --- a/maps/Route39Barn.asm +++ b/maps/Route39Barn.asm @@ -52,7 +52,7 @@ TaurosScript_0x9ccaa: ; 0x9ccaa iftrue UnknownScript_0x9cd25 writetext UnknownText_0x9cd70 writebyte MILTANK - special $005f + special Functionfb841 keeptextopen writetext UnknownText_0x9cd80 checkevent EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO @@ -105,7 +105,7 @@ UnknownScript_0x9cd04: ; 0x9cd04 writetext UnknownText_0x9cdbc pause 60 keeptextopen - special $003d + special RestartMapMusic writetext UnknownText_0x9ce1b closetext loadmovesprites diff --git a/maps/Route39Farmhouse.asm b/maps/Route39Farmhouse.asm index 5135c05c7..b1224e7f6 100644 --- a/maps/Route39Farmhouse.asm +++ b/maps/Route39Farmhouse.asm @@ -22,7 +22,7 @@ UnknownScript_0x9cec5: ; 0x9cec5 checkitem MOOMOO_MILK iftrue UnknownScript_0x9cf08 writetext UnknownText_0x9cfe1 - special $0051 + special Function24ae8 yesorno iffalse UnknownScript_0x9cf02 checkmoney $0, 500 @@ -30,7 +30,7 @@ UnknownScript_0x9cec5: ; 0x9cec5 giveitem MOOMOO_MILK, $1 iffalse UnknownScript_0x9cefc takemoney $0, 500 - special $0051 + special Function24ae8 waitbutton playsound SFX_TRANSACTION writetext UnknownText_0x9d05d diff --git a/maps/Route40.asm b/maps/Route40.asm index d8bdcdcce..6b8dab552 100644 --- a/maps/Route40.asm +++ b/maps/Route40.asm @@ -141,7 +141,7 @@ LassScript_0x1a61c4: ; 0x1a61c4 ; 0x1a61c7 PokefanMScript_0x1a61c7: ; 0x1a61c7 - special $00a0 + special Function10630f iftrue UnknownScript_0x1a61d0 jumptextfaceplayer UnknownText_0x1a646a ; 0x1a61d0 diff --git a/maps/Route43Gate.asm b/maps/Route43Gate.asm index 96718487d..dc0b45ca6 100644 --- a/maps/Route43Gate.asm +++ b/maps/Route43Gate.asm @@ -77,7 +77,7 @@ UnknownScript_0x19ac28: ; 0x19ac28 applymovement $3, MovementData_0x19acaa applymovement $4, MovementData_0x19acc1 dotrigger $1 - special $003d + special RestartMapMusic end ; 0x19ac38 @@ -113,7 +113,7 @@ UnknownScript_0x19ac72: ; 0x19ac72 applymovement $4, MovementData_0x19accd applymovement $3, MovementData_0x19acb5 dotrigger $1 - special $003d + special RestartMapMusic end ; 0x19ac82 diff --git a/maps/Route45.asm b/maps/Route45.asm index 7b215d9a6..4a762660f 100644 --- a/maps/Route45.asm +++ b/maps/Route45.asm @@ -34,7 +34,7 @@ BlackbeltKenji3Script: ; 0x19e0ad iftrue UnknownScript_0x19e0e4 checkevent $0299 iftrue UnknownScript_0x19e0cd - special $0095 + special Function11485 writetext UnknownText_0x19e5e2 closetext setevent $0299 @@ -66,7 +66,7 @@ UnknownScript_0x19e0e4: ; 0x19e0e4 verbosegiveitem PP_UP, 1 iffalse UnknownScript_0x19e118 clearevent $026a - special $0095 + special Function11485 jump UnknownScript_0x19e127 ; 0x19e10c diff --git a/maps/RuinsofAlphAerodactylChamber.asm b/maps/RuinsofAlphAerodactylChamber.asm index 3faf1c92b..6018c1f7d 100644 --- a/maps/RuinsofAlphAerodactylChamber.asm +++ b/maps/RuinsofAlphAerodactylChamber.asm @@ -62,7 +62,7 @@ UnknownScript_0x58dd3: ; 0x58dd3 MapRuinsofAlphAerodactylChamberSignpost2Script: ; 0x58deb refreshscreen $0 writebyte $2 - special $0029 + special Functionc360 loadmovesprites iftrue UnknownScript_0x58df7 end @@ -100,7 +100,7 @@ MapRuinsofAlphAerodactylChamberSignpost4Script: ; 0x58e2a loadfont writetext UnknownText_0x58e4f writebyte $1 - special $0087 + special Function8ae68 loadmovesprites end ; 0x58e35 @@ -111,7 +111,7 @@ MapRuinsofAlphAerodactylChamberSignpost5Script: ; 0x58e35 loadfont writetext UnknownText_0x58e81 writebyte $1 - special $0087 + special Function8ae68 loadmovesprites end ; 0x58e46 diff --git a/maps/RuinsofAlphHoOhChamber.asm b/maps/RuinsofAlphHoOhChamber.asm index f4e0d1c1b..6159cf19d 100644 --- a/maps/RuinsofAlphHoOhChamber.asm +++ b/maps/RuinsofAlphHoOhChamber.asm @@ -15,7 +15,7 @@ RuinsofAlphHoOhChamber_MapScriptHeader: ; 0x58560 ; 0x5856d UnknownScript_0x5856d: ; 0x5856d - special $008d + special SpecialHoOhChamber checkevent EVENT_WALL_OPENED_IN_HO_OH_CHAMBER iftrue UnknownScript_0x58577 end @@ -63,7 +63,7 @@ UnknownScript_0x58596: ; 0x58596 MapRuinsofAlphHoOhChamberSignpost2Script: ; 0x585ae refreshscreen $0 writebyte $3 - special $0029 + special Functionc360 loadmovesprites iftrue UnknownScript_0x585ba end @@ -101,7 +101,7 @@ MapRuinsofAlphHoOhChamberSignpost4Script: ; 0x585ed loadfont writetext UnknownText_0x58612 writebyte $3 - special $0087 + special Function8ae68 loadmovesprites end ; 0x585f8 @@ -112,7 +112,7 @@ MapRuinsofAlphHoOhChamberSignpost5Script: ; 0x585f8 loadfont writetext UnknownText_0x58644 writebyte $3 - special $0087 + special Function8ae68 loadmovesprites end ; 0x58609 diff --git a/maps/RuinsofAlphKabutoChamber.asm b/maps/RuinsofAlphKabutoChamber.asm index cd8d33cc7..57528ffa8 100644 --- a/maps/RuinsofAlphKabutoChamber.asm +++ b/maps/RuinsofAlphKabutoChamber.asm @@ -69,7 +69,7 @@ ReceptionistScript_0x58769: ; 0x58769 MapRuinsofAlphKabutoChamberSignpost2Script: ; 0x5876c refreshscreen $0 writebyte $0 - special $0029 + special Functionc360 loadmovesprites iftrue UnknownScript_0x58778 end @@ -141,7 +141,7 @@ MapRuinsofAlphKabutoChamberSignpost4Script: ; 0x587db loadfont writetext UnknownText_0x58aa7 writebyte $0 - special $0087 + special Function8ae68 loadmovesprites end ; 0x587e6 @@ -152,7 +152,7 @@ MapRuinsofAlphKabutoChamberSignpost5Script: ; 0x587e6 loadfont writetext UnknownText_0x58ad9 writebyte $0 - special $0087 + special Function8ae68 loadmovesprites end ; 0x587f7 diff --git a/maps/RuinsofAlphOmanyteChamber.asm b/maps/RuinsofAlphOmanyteChamber.asm index 04f3bfa7d..0518c383f 100644 --- a/maps/RuinsofAlphOmanyteChamber.asm +++ b/maps/RuinsofAlphOmanyteChamber.asm @@ -15,7 +15,7 @@ RuinsofAlphOmanyteChamber_MapScriptHeader: ; 0x58bdc ; 0x58be9 UnknownScript_0x58be9: ; 0x58be9 - special $0084 + special Function8adef checkevent EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER iftrue UnknownScript_0x58bf3 end @@ -63,7 +63,7 @@ UnknownScript_0x58c12: ; 0x58c12 MapRuinsofAlphOmanyteChamberSignpost2Script: ; 0x58c2a refreshscreen $0 writebyte $1 - special $0029 + special Functionc360 loadmovesprites iftrue UnknownScript_0x58c36 end @@ -101,7 +101,7 @@ MapRuinsofAlphOmanyteChamberSignpost4Script: ; 0x58c69 loadfont writetext UnknownText_0x58c8e writebyte $2 - special $0087 + special Function8ae68 loadmovesprites end ; 0x58c74 @@ -112,7 +112,7 @@ MapRuinsofAlphOmanyteChamberSignpost5Script: ; 0x58c74 loadfont writetext UnknownText_0x58cc0 writebyte $2 - special $0087 + special Function8ae68 loadmovesprites end ; 0x58c85 diff --git a/maps/RuinsofAlphResearchCenter.asm b/maps/RuinsofAlphResearchCenter.asm index 238f6d8b7..f925044d0 100644 --- a/maps/RuinsofAlphResearchCenter.asm +++ b/maps/RuinsofAlphResearchCenter.asm @@ -61,7 +61,7 @@ UnknownScript_0x59192: ; 0x59192 loadmovesprites applymovement $4, MovementData_0x59276 dotrigger $0 - special $003d + special RestartMapMusic end ; 0x591d1 @@ -183,7 +183,7 @@ UnknownScript_0x5925a: ; 0x5925a UnknownScript_0x59260: ; 0x59260 writetext UnknownText_0x5982d closetext - special $0027 + special Functionc2cd loadmovesprites end ; 0x59269 diff --git a/maps/SaffronPokeCenter1F.asm b/maps/SaffronPokeCenter1F.asm index b334a24af..c05f93dd9 100644 --- a/maps/SaffronPokeCenter1F.asm +++ b/maps/SaffronPokeCenter1F.asm @@ -11,7 +11,7 @@ NurseScript_0x18a47d: ; 0x18a47d ; 0x18a480 TeacherScript_0x18a480: ; 0x18a480 - special $00a0 + special Function10630f iftrue UnknownScript_0x18a489 jumptextfaceplayer UnknownText_0x18a4a3 ; 0x18a489 diff --git a/maps/SaffronTrainStation.asm b/maps/SaffronTrainStation.asm index c809e94c2..453d23f9b 100644 --- a/maps/SaffronTrainStation.asm +++ b/maps/SaffronTrainStation.asm @@ -36,7 +36,7 @@ UnknownScript_0x18a82c: ; 0x18a82c applymovement $2, MovementData_0x18a88f applymovement $0, MovementData_0x18a898 writebyte $1 - special $0023 + special Function8cc04 warpcheck newloadmap $f9 applymovement $0, MovementData_0x18a854 diff --git a/maps/SilverCaveRoom3.asm b/maps/SilverCaveRoom3.asm index cd4df3362..b855d0516 100644 --- a/maps/SilverCaveRoom3.asm +++ b/maps/SilverCaveRoom3.asm @@ -7,7 +7,7 @@ SilverCaveRoom3_MapScriptHeader: ; 0x18c601 ; 0x18c603 RedScript_0x18c603: ; 0x18c603 - special $006a + special Functionc48f faceplayer loadfont writetext UnknownText_0x18c637 @@ -18,18 +18,18 @@ RedScript_0x18c603: ; 0x18c603 startbattle reloadmapmusic returnafterbattle - special $006a + special Functionc48f loadfont writetext UnknownText_0x18c63f closetext loadmovesprites - special $0030 - special $0033 + special Function8c0b6 + special Functiond91 disappear $2 pause 15 - special $0032 + special Function8c0ab pause 30 - special $001b + special Functionc658 refreshscreen $0 credits end diff --git a/maps/SlowpokeWellB1F.asm b/maps/SlowpokeWellB1F.asm index e1e017eee..c06792b43 100644 --- a/maps/SlowpokeWellB1F.asm +++ b/maps/SlowpokeWellB1F.asm @@ -64,14 +64,14 @@ GruntM1Script: ; 0x5a5f8 writetext TrainerGruntM1WhenTalkText closetext loadmovesprites - special $0030 - special $0033 + special Function8c0b6 + special Functiond91 disappear $2 disappear $3 disappear $4 disappear $5 pause 15 - special $0032 + special Function8c0ab disappear $8 moveperson $8, $b, $6 appear $8 @@ -93,8 +93,8 @@ GruntM1Script: ; 0x5a5f8 clearevent $06f9 clearevent $06fd clearevent $073e - special $002e - special $001b + special Function8c084 + special Functionc658 pause 15 warp GROUP_KURTS_HOUSE, MAP_KURTS_HOUSE, $3, $3 end diff --git a/maps/SproutTower3F.asm b/maps/SproutTower3F.asm index 1db16e21c..4c2fb6805 100644 --- a/maps/SproutTower3F.asm +++ b/maps/SproutTower3F.asm @@ -21,7 +21,7 @@ UnknownScript_0x184946: ; 0x184946 UnknownScript_0x184947: ; 0x184947 spriteface $0, $1 showemote $0, $0, 15 - special $006a + special Functionc48f playsound SFX_TACKLE playsound SFX_ELEVATOR earthquake 79 @@ -50,13 +50,13 @@ UnknownScript_0x184947: ; 0x184947 pause 15 loadmovesprites playsound SFX_WARP_TO - special $0030 - special $0033 + special Function8c0b6 + special Functiond91 disappear $8 waitbutton - special $0032 + special Function8c0ab dotrigger $1 - special $003d + special RestartMapMusic end ; 0x1849a6 diff --git a/maps/TeamRocketBaseB1F.asm b/maps/TeamRocketBaseB1F.asm index 14152bdb1..dece0d88d 100644 --- a/maps/TeamRocketBaseB1F.asm +++ b/maps/TeamRocketBaseB1F.asm @@ -460,9 +460,9 @@ ExplodingTrap22: ; 0x6ca26 end VoltorbExplodingTrap: ; 0x6ca34 - special $002e + special Function8c084 cry VOLTORB - special $0031 + special Function8c079 setlasttalked $ff writecode $3, BATTLETYPE_TRAP loadpokedata VOLTORB, 23 @@ -470,9 +470,9 @@ VoltorbExplodingTrap: ; 0x6ca34 end GeodudeExplodingTrap: ; 0x6ca47 - special $002e + special Function8c084 cry GEODUDE - special $0031 + special Function8c079 setlasttalked $ff writecode $3, BATTLETYPE_TRAP loadpokedata GEODUDE, 21 @@ -480,9 +480,9 @@ GeodudeExplodingTrap: ; 0x6ca47 end KoffingExplodingTrap: ; 0x6ca5a - special $002e + special Function8c084 cry KOFFING - special $0031 + special Function8c079 setlasttalked $ff writecode $3, BATTLETYPE_TRAP loadpokedata KOFFING, 21 diff --git a/maps/TeamRocketBaseB2F.asm b/maps/TeamRocketBaseB2F.asm index c51bb8c62..dbfd357ac 100644 --- a/maps/TeamRocketBaseB2F.asm +++ b/maps/TeamRocketBaseB2F.asm @@ -106,15 +106,15 @@ UnknownScript_0x6cfac: ; 0x6cfac writetext UnknownText_0x6d4c6 closetext loadmovesprites - special $0030 - special $0033 + special Function8c0b6 + special Functiond91 disappear $2 disappear $3 disappear $c disappear $d disappear $e pause 15 - special $0032 + special Function8c0ab dotrigger $2 clearevent $06d6 spriteface $4, $0 @@ -167,11 +167,11 @@ UnknownScript_0x6d091: ; 0x6d091 writetext UnknownText_0x6da97 closetext loadmovesprites - special $002e - special $009d + special Function8c084 + special Function1060a2 playsound SFX_FULL_HEAL - special $001b - special $0031 + special Functionc658 + special Function8c079 loadfont writetext UnknownText_0x6daf7 closetext @@ -292,7 +292,7 @@ VoltorbScript_0x6d101: ; 0x6d101 checkevent $06e2 iffalse UnknownScript_0x6d182 returnafterbattle - special $003c + special PlayMapMusic applymovement $0, MovementData_0x6d28c jump UnknownScript_0x6d184 ; 0x6d12c @@ -311,7 +311,7 @@ VoltorbScript_0x6d12c: ; 0x6d12c checkevent $06e2 iffalse UnknownScript_0x6d182 returnafterbattle - special $003c + special PlayMapMusic applymovement $0, MovementData_0x6d299 jump UnknownScript_0x6d184 ; 0x6d157 @@ -330,7 +330,7 @@ VoltorbScript_0x6d157: ; 0x6d157 checkevent $06e2 iffalse UnknownScript_0x6d182 returnafterbattle - special $003c + special PlayMapMusic applymovement $0, MovementData_0x6d2a4 jump UnknownScript_0x6d184 ; 0x6d182 diff --git a/maps/TeamRocketBaseB3F.asm b/maps/TeamRocketBaseB3F.asm index 028a89825..c22068a46 100644 --- a/maps/TeamRocketBaseB3F.asm +++ b/maps/TeamRocketBaseB3F.asm @@ -63,7 +63,7 @@ LanceScript_0x6dffc: ; 0x6dffc UnknownScript_0x6e019: ; 0x6e019 spriteface $0, $2 showemote $0, $0, 15 - special $006a + special Functionc48f appear $a applymovement $a, MovementData_0x6e164 spriteface $0, $2 @@ -77,7 +77,7 @@ UnknownScript_0x6e019: ; 0x6e019 applymovement $a, MovementData_0x6e16d disappear $a dotrigger $2 - special $003d + special RestartMapMusic end ; 0x6e048 diff --git a/maps/TimeCapsule.asm b/maps/TimeCapsule.asm index a6b7e4321..8e5b4e343 100644 --- a/maps/TimeCapsule.asm +++ b/maps/TimeCapsule.asm @@ -24,7 +24,7 @@ UnknownScript_0x1934fc: ; 0x1934fc ; 0x1934fd UnknownScript_0x1934fd: ; 0x1934fd - special $0010 + special Function29f47 iffalse UnknownScript_0x193508 disappear $3 appear $2 @@ -44,7 +44,7 @@ UnknownScript_0x19350d: ; 0x19350d ; 0x193514 MapTimeCapsuleSignpost1Script: ; 0x193514 - special $000f + special Function29eaf newloadmap $f8 end ; 0x19351a diff --git a/maps/TinTower1F.asm b/maps/TinTower1F.asm index 5820b8f2a..43ae52b69 100644 --- a/maps/TinTower1F.asm +++ b/maps/TinTower1F.asm @@ -30,7 +30,7 @@ UnknownScript_0x18502f: ; 0x18502f iftrue UnknownScript_0x185047 checkevent $0044 iffalse UnknownScript_0x185050 - special $0096 + special SpecialBeastsCheck iffalse UnknownScript_0x185050 clearevent $07c5 setevent $07b6 @@ -47,7 +47,7 @@ UnknownScript_0x185050: ; 0x185050 iftrue UnknownScript_0x185077 appear $2 writebyte RAIKOU - special $0097 + special SpecialMonCheck iftrue UnknownScript_0x185065 appear $3 jump UnknownScript_0x185067 @@ -57,7 +57,7 @@ UnknownScript_0x185065: ; 0x185065 disappear $3 UnknownScript_0x185067: ; 0x185067 writebyte ENTEI - special $0097 + special SpecialMonCheck iftrue UnknownScript_0x185074 appear $4 jump UnknownScript_0x185076 @@ -90,7 +90,7 @@ UnknownScript_0x18508f: ; 0x18508f applymovement $0, MovementData_0x1851cb pause 15 writebyte RAIKOU - special $0097 + special SpecialMonCheck iftrue UnknownScript_0x1850b6 applymovement $3, MovementData_0x1851d0 spriteface $0, $2 @@ -103,7 +103,7 @@ UnknownScript_0x18508f: ; 0x18508f waitbutton UnknownScript_0x1850b6: ; 0x1850b6 writebyte ENTEI - special $0097 + special SpecialMonCheck iftrue UnknownScript_0x1850d7 applymovement $4, MovementData_0x1851da spriteface $0, $3 @@ -167,7 +167,7 @@ UnknownScript_0x1850d7: ; 0x1850d7 playsound SFX_EXIT_BUILDING disappear $5 waitbutton - special $006a + special Functionc48f pause 20 playmapmusic end diff --git a/maps/TradeCenter.asm b/maps/TradeCenter.asm index 1075c169a..a87b10d9c 100644 --- a/maps/TradeCenter.asm +++ b/maps/TradeCenter.asm @@ -24,7 +24,7 @@ UnknownScript_0x1933ed: ; 0x1933ed ; 0x1933ee UnknownScript_0x1933ee: ; 0x1933ee - special $0010 + special Function29f47 iffalse UnknownScript_0x1933f9 disappear $3 appear $2 @@ -44,7 +44,7 @@ UnknownScript_0x1933fe: ; 0x1933fe ; 0x193405 MapTradeCenterSignpost1Script: ; 0x193405 - special $000d + special Function29ec4 newloadmap $f8 end ; 0x19340b diff --git a/maps/TrainerHouseB1F.asm b/maps/TrainerHouseB1F.asm index 8c10eca11..9c65f4e9f 100644 --- a/maps/TrainerHouseB1F.asm +++ b/maps/TrainerHouseB1F.asm @@ -20,7 +20,7 @@ UnknownScript_0x9b38b: ; 0x9b38b iftrue UnknownScript_0x9b3f7 writetext UnknownText_0x9b420 keeptextopen - special $0067 + special SpecialTrainerHouse iffalse UnknownScript_0x9b3a6 trainertotext CAL, CAL2, $0 jump UnknownScript_0x9b3aa @@ -43,7 +43,7 @@ UnknownScript_0x9b3aa: ; 0x9b3aa writetext UnknownText_0x9b587 closetext loadmovesprites - special $0067 + special SpecialTrainerHouse iffalse UnknownScript_0x9b3dc winlosstext UnknownText_0x9b578, $0000 setlasttalked $3 diff --git a/maps/UndergroundPathSwitchRoomEntrances.asm b/maps/UndergroundPathSwitchRoomEntrances.asm index a32f88c77..264db76b7 100644 --- a/maps/UndergroundPathSwitchRoomEntrances.asm +++ b/maps/UndergroundPathSwitchRoomEntrances.asm @@ -86,7 +86,7 @@ TeacherScript_0x7ca7d: ; 0x7ca7d UnknownScript_0x7ca80: ; 0x7ca80 spriteface $0, $3 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 playsound SFX_EXIT_BUILDING appear $c @@ -106,7 +106,7 @@ UnknownScript_0x7ca80: ; 0x7ca80 UnknownScript_0x7caaa: ; 0x7caaa spriteface $0, $3 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 playsound SFX_EXIT_BUILDING appear $c diff --git a/maps/VermilionCity.asm b/maps/VermilionCity.asm index 26a7fc6a0..f1dd6f2a7 100644 --- a/maps/VermilionCity.asm +++ b/maps/VermilionCity.asm @@ -43,7 +43,7 @@ SuperNerdScript_0x1aa99b: ; 0x1aa99b BigSnorlaxScript_0x1aa99e: ; 0x1aa99e loadfont - special $0060 + special SpecialSnorlaxAwake iftrue UnknownScript_0x1aa9ab writetext UnknownText_0x1aab64 closetext diff --git a/maps/VermilionPort.asm b/maps/VermilionPort.asm index c0e155db5..914511b18 100644 --- a/maps/VermilionPort.asm +++ b/maps/VermilionPort.asm @@ -57,7 +57,7 @@ SailorScript_0x74dc4: ; 0x74dc4 waitbutton applymovement $0, MovementData_0x74ef1 playsound SFX_EXIT_BUILDING - special $002e + special Function8c084 waitbutton setevent $073a clearevent $073b diff --git a/maps/VictoryRoad.asm b/maps/VictoryRoad.asm index 7a87a72ad..003249b6c 100644 --- a/maps/VictoryRoad.asm +++ b/maps/VictoryRoad.asm @@ -22,7 +22,7 @@ UnknownScript_0x74492: ; 0x74492 moveperson $2, $12, $b spriteface $0, $0 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 appear $2 applymovement $2, MovementData_0x74539 @@ -37,7 +37,7 @@ UnknownScript_0x74492: ; 0x74492 UnknownScript_0x744b5: ; 0x744b5 spriteface $0, $0 showemote $0, $0, 15 - special $006a + special Functionc48f pause 15 appear $2 applymovement $2, MovementData_0x74542 diff --git a/maps/VioletCity.asm b/maps/VioletCity.asm index c04ad8069..316818371 100644 --- a/maps/VioletCity.asm +++ b/maps/VioletCity.asm @@ -42,7 +42,7 @@ UnknownScript_0x1a83d1: ; 0x1a83d1 spriteface $0, $1 applymovement $2, MovementData_0x1a8465 stopfollow - special $003d + special RestartMapMusic loadfont writetext UnknownText_0x1a84f9 closetext diff --git a/maps/WarehouseEntrance.asm b/maps/WarehouseEntrance.asm index 929e7a98d..b80f29cee 100644 --- a/maps/WarehouseEntrance.asm +++ b/maps/WarehouseEntrance.asm @@ -272,7 +272,7 @@ SuperNerdScript_0x7c161: ; 0x7c161 UnknownScript_0x7c173: ; 0x7c173 checkflag $005a iftrue UnknownScript_0x7c208 - special $0051 + special Function24ae8 writetext UnknownText_0x7c5f9 yesorno iffalse UnknownScript_0x7c1fc @@ -280,7 +280,7 @@ UnknownScript_0x7c173: ; 0x7c173 if_equal $2, UnknownScript_0x7c202 writetext UnknownText_0x7c69a keeptextopen - special $0061 + special Function7413 if_equal $0, UnknownScript_0x7c1fc if_equal $1, UnknownScript_0x7c1fc setflag $005a @@ -312,15 +312,15 @@ UnknownScript_0x7c1c1: ; 0x7c1c1 UnknownScript_0x7c1cd: ; 0x7c1cd takemoney $0, 500 - special $0051 + special Function24ae8 writetext UnknownText_0x7c6b8 closetext loadmovesprites - special $002e + special Function8c084 playmusic MUSIC_HEAL pause 60 - special $0031 - special $003d + special Function8c079 + special RestartMapMusic loadfont writetext UnknownText_0x7c6d8 closetext @@ -364,7 +364,7 @@ SuperNerdScript_0x7c20e: ; 0x7c20e UnknownScript_0x7c220: ; 0x7c220 checkflag $005a iftrue UnknownScript_0x7c2b5 - special $0051 + special Function24ae8 writetext UnknownText_0x7c75c yesorno iffalse UnknownScript_0x7c2a9 @@ -372,7 +372,7 @@ UnknownScript_0x7c220: ; 0x7c220 if_equal $2, UnknownScript_0x7c2af writetext UnknownText_0x7c7f1 keeptextopen - special $0062 + special Function7418 if_equal $0, UnknownScript_0x7c2a9 if_equal $1, UnknownScript_0x7c2a9 setflag $005a @@ -404,15 +404,15 @@ UnknownScript_0x7c26e: ; 0x7c26e UnknownScript_0x7c27a: ; 0x7c27a takemoney $0, 300 - special $0051 + special Function24ae8 writetext UnknownText_0x7c80e closetext loadmovesprites - special $002e + special Function8c084 playmusic MUSIC_HEAL pause 60 - special $0031 - special $003d + special Function8c079 + special RestartMapMusic loadfont writetext UnknownText_0x7c82a closetext @@ -446,7 +446,7 @@ UnknownScript_0x7c2b5: ; 0x7c2b5 UnknownScript_0x7c2bb: ; 0x7c2bb writetext UnknownText_0x7c8bf - special $0064 + special Functionc472 closetext loadmovesprites end @@ -454,7 +454,7 @@ UnknownScript_0x7c2bb: ; 0x7c2bb UnknownScript_0x7c2c4: ; 0x7c2c4 writetext UnknownText_0x7c8dc - special $0064 + special Functionc472 closetext loadmovesprites end @@ -462,7 +462,7 @@ UnknownScript_0x7c2c4: ; 0x7c2c4 UnknownScript_0x7c2cd: ; 0x7c2cd writetext UnknownText_0x7c8ee - special $0064 + special Functionc472 closetext loadmovesprites end From 943ddf6db0a1adbd2d75583c08b2a29a1d98e1fc Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 15:07:19 -0800 Subject: [PATCH 15/20] Get rid of the now-unused specials constants. --- constants/script_constants.asm | 39 ---------------------------------- 1 file changed, 39 deletions(-) diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 540612441..2aefa69c7 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -1,42 +1,3 @@ -; specials -NUM_SPECIALS EQU $a8 - -SPECIAL_UPDATESPRITETILES EQU $0038 - -SPECIAL_WAITSFX EQU $003b -SPECIAL_BIKESURFMUSIC EQU $003c - -SPECIAL_LOADFACESTEP EQU $003f - -SPECIAL_GIVESHUCKLE EQU $004b - -SPECIAL_SNORLAXAWAKE EQU $0060 - -SPECIAL_GAMEBOYCHECK EQU $0066 -SPECIAL_TRAINERHOUSE EQU $0067 - -SPECIAL_RUSTLETREE EQU $006a - -SPECIAL_ODDEGG EQU $007d - -SPECIAL_MOVETUTOR EQU $0083 -SPECIAL_OMANYTECHAMBER EQU $0084 - -SPECIAL_RUINCHAMBERWALL EQU $0087 - -SPECIAL_HOOHCHAMBER EQU $008d - -SPECIAL_CELEBI EQU $008f -SPECIAL_AFTERCELEBI EQU $0090 -SPECIAL_POKESEER EQU $0091 -SPECIAL_BUENAS_PASSWORD EQU $0092 -SPECIAL_BUENA_PRIZE EQU $0093 -SPECIAL_DRATINI EQU $0094 - -SPECIAL_BEASTSCHECK EQU $0096 -SPECIAL_MONCHECK EQU $0097 - - ; script vars NUM_VARS EQU $1b VAR_MOVEMENT EQU $08 From 92e2ed3e610e6a972c6fac08a9dff6bad380b6b9 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 15:09:35 -0800 Subject: [PATCH 16/20] Split out event scripting specials. --- engine/specials.asm | 642 ++++++++++++++++++++++++++++++++++++++++++++ main.asm | 641 +------------------------------------------ 2 files changed, 643 insertions(+), 640 deletions(-) create mode 100644 engine/specials.asm diff --git a/engine/specials.asm b/engine/specials.asm new file mode 100644 index 000000000..0c8158502 --- /dev/null +++ b/engine/specials.asm @@ -0,0 +1,642 @@ + +Special:: ; c01b +; Run script special de. + ld hl, SpecialsPointers + add hl, de + add hl, de + add hl, de + ld b, [hl] + inc hl + ld a, [hli] + ld h, [hl] + ld l, a + ld a, b + rst FarCall + ret +; c029 + +SpecialsPointers:: ; c029 + add_special Function97c28 + add_special Function29ce8 + add_special Function29d11 + add_special Function29d92 + add_special Function29e66 + add_special Function29e82 + add_special Function29efa + add_special Function29eee + add_special Function29c92 + add_special Function29cf1 + add_special Function29cfa + add_special Function29bfb + add_special Function29c7b + add_special Function29ec4 + add_special Function29ed9 + add_special Function29eaf + add_special Function29f47 + add_special Functionc2f6 + add_special Functionc309 + add_special Function1050b9 + add_special Functionc34a + add_special Function4d9e5 + add_special Function13a12 + add_special Function13a31 + add_special Function135db + add_special Functionfbb32 + add_special Functionfbcd2 + add_special Functionc658 + add_special Function1559a + add_special Functionc2e7 + add_special Function166d6 + add_special Function1672a + add_special Function16936 + add_special Function2c547 + add_special Function16218 + add_special Function8cc04 + add_special SpecialNameRival + add_special Function90913 + add_special Functionc2c0 + add_special Functionc2cd + add_special Functionc355 + add_special Functionc360 + add_special Functionc373 + add_special Functionc380 + add_special Functionc38d + add_special Functionc3db + add_special Function8c084 + add_special Function8c092 + add_special Function8c0b6 + add_special Function8c079 + add_special Function8c0ab + add_special Functiond91 + add_special WhiteBGMap + add_special UpdateTimePals + add_special ClearTileMap + add_special Function1ad2 + add_special Functione4a + add_special Functionc230 + add_special SpecialSeenMon + add_special WaitSFX + add_special PlayMapMusic + add_special RestartMapMusic + add_special Function12324 + add_special Function8379 + add_special Functionc25a + add_special Functionc268 + add_special Functionc276 + add_special Functionc284 + add_special Functionc3ef + add_special Function17421 + add_special Function17440 + add_special Function139a8 + add_special Functionc3fc + add_special Function26feb + add_special Function27043 + add_special SpecialGiveShuckle + add_special SpecialReturnShuckle + add_special Function73f7 + add_special SpecialCheckPokerus + add_special Function24b25 + add_special Function24b4e + add_special Function24ae8 + add_special Function4d87a + add_special Functionc434 + add_special Functionc422 + add_special Function4d9d3 + add_special Function88018 + add_special SpecialNameRater + add_special Functionc2da + add_special Function718d + add_special Function71ac + add_special Function2a4ab + add_special Function2a51f + add_special RandomPhoneMon + add_special Function14209 + add_special Functionfb841 + add_special SpecialSnorlaxAwake + add_special Function7413 + add_special Function7418 + add_special Function741d + add_special Functionc472 + add_special ProfOaksPCBoot + add_special SpecialGameboyCheck + add_special SpecialTrainerHouse + add_special Function16dc7 + add_special InitRoamMons + add_special Functionc48f + add_special Functionc49f + add_special Functionc4ac + add_special Function11ac3e + add_special Function11b444 + add_special Function11b5e8 + add_special Function11b7e5 + add_special Function11b879 + add_special Function11b920 + add_special Function11b93b + add_special Function1700b0 + add_special Function1700ba + add_special Function170114 + add_special Function170215 + add_special Function1704e1 + add_special Function17021d + add_special Function170b44 + add_special Function11ba38 + add_special Function170bd3 + add_special Function117656 + add_special Reset + add_special Function1011f1 + add_special Function101220 + add_special Function101225 + add_special Function101231 + add_special Function4925b + add_special Function8adef + add_special Function11c1ab + add_special Function170687 + add_special Function8ae68 + add_special Function17d224 + add_special Function17d2b6 + add_special Function17d2ce + add_special Function17f53d + add_special Function103612 + add_special SpecialHoOhChamber + add_special Function102142 + add_special Function4989a + add_special Function49bf9 + add_special SpecialPokeSeer + add_special SpecialBuenasPassword + add_special SpecialBuenaPrize + add_special SpecialDratini + add_special Function11485 + add_special SpecialBeastsCheck + add_special SpecialMonCheck + add_special Functionc225 + add_special Function170bd2 + add_special Function10366e + add_special Function1037eb + add_special Function10383c + add_special Function1060a2 + add_special Function14168 + add_special Function1037c2 + add_special Function10630f + add_special Function103780 + add_special Function10387b + add_special Function4ae12 + add_special Function1047eb + add_special Function4a927 + add_special Function90a54 + add_special Function90a88 + add_special SpecialNone +; c224 + +SpecialNone: ; c224 + ret +; c225 + +Functionc225: ; c225 + ld a, [ScriptVar] + ld d, a + callba Function57e2 + ret +; c230 + +Functionc230: ; c230 + ld a, [ScriptVar] + dec a + call CheckCaughtMon + ret nz + ld a, [ScriptVar] + dec a + call SetSeenAndCaughtMon + call FadeToMenu + ld a, [ScriptVar] + ld [wd265], a + callba Functionfb877 + call Function2b4d + ret +; c252 + +SpecialSeenMon: ; c252 + ld a, [ScriptVar] + dec a + call SetSeenMon + ret +; c25a + +Functionc25a: ; c25a + ld a, [ScriptVar] + ld b, a + callba Function4dbd2 + jr z, Functionc298 + jr Functionc292 + +Functionc268: ; c268 + ld a, [ScriptVar] + ld b, a + callba Function4dbd9 + jr z, Functionc298 + jr Functionc292 + +Functionc276: ; c276 + ld a, [ScriptVar] + ld b, a + callba Function4dbe0 + jr z, Functionc298 + jr Functionc292 + +Functionc284: ; c284 + ld a, [ScriptVar] + ld b, a + callba Function4dbe6 + jr z, Functionc298 + jr Functionc292 + +Functionc292: ; c292 + ld a, $1 + ld [ScriptVar], a + ret + +Functionc298: ; c298 + xor a + ld [ScriptVar], a + ret +; c29d + +SpecialNameRival: ; 0xc29d + ld b, $2 ; rival + ld de, RivalName + callba Function116b7 + ; default to "SILVER" + ld hl, RivalName + ld de, DefaultRivalName + call InitName + ret +; 0xc2b2 + +DefaultRivalName: ; 0xc2b2 + db "SILVER@" + +SpecialNameRater: ; c2b9 + callba NameRater + ret +; c2c0 + +Functionc2c0: ; c2c0 + call FadeToMenu + callba Function9191c + call Function2b4d + ret +; c2cd + +Functionc2cd: ; c2cd + call FadeToMenu + callba Function16be4 + call Function2b4d + ret +; c2da + +Functionc2da: ; c2da + call FadeToMenu + callba Function3f836 + call Function2b4d + ret +; c2e7 + +Functionc2e7: ; c2e7 + xor a + ld [ScriptVar], a + callba Function156d9 + ld a, c + ld [ScriptVar], a + ret +; c2f6 + +Functionc2f6: ; c2f6 + ld a, $0 + call GetSRAMBank + ld a, [$abe2] + and a + jr z, .asm_c302 + inc a + +.asm_c302 + ld [ScriptVar], a + call CloseSRAM + ret +; c309 + +Functionc309: ; c309 + ld a, $0 + call GetSRAMBank + ld a, [$abe2] + ld [CurItem], a + ld a, $1 + ld [wd10c], a + ld hl, NumItems + call ReceiveItem + jr nc, .asm_c33d + xor a + ld [$abe2], a + call CloseSRAM + ld a, [CurItem] + ld [wd265], a + call GetItemName + ld hl, UnknownText_0xc345 + call PrintText + ld a, $1 + ld [ScriptVar], a + ret + +.asm_c33d + call CloseSRAM + xor a + ld [ScriptVar], a + ret +; c345 + +UnknownText_0xc345: ; 0xc345 + ; received item + text_jump UnknownText_0x1bd3be + db "@" +; 0xc34a + +Functionc34a: ; c34a + callba Function1369d + ld a, b + ld [ScriptVar], a + ret +; c355 + +Functionc355: ; c355 + ld a, [ScriptVar] + ld e, a + callba Function91a53 + ret +; c360 + +Functionc360: ; c360 + call FadeToMenu + callba Functione1190 + ld a, [wd0ec] + ld [ScriptVar], a + call Function2b4d + ret +; c373 + +Functionc373: ; c373 + call Functionc3ae + ret c + ld a, BANK(Function926c7) + ld hl, Function926c7 + call Functionc39a + ret +; c380 + +Functionc380: ; c380 + call Functionc3ae + ret c + ld a, BANK(Functione00ee) + ld hl, Functione00ee + call Functionc39a + ret +; c38d + +Functionc38d: ; c38d + call Functionc3ae + ret c + ld a, BANK(Functione1e5b) + ld hl, Functione1e5b + call Functionc39a + ret +; c39a + +Functionc39a: ; c39a + call Function31cf + call FadeToMenu + ld hl, wd0e8 + ld a, [hli] + push af + ld a, [hli] + ld h, [hl] + ld l, a + pop af + rst FarCall + call Function2b4d + ret +; c3ae + +Functionc3ae: ; c3ae + ld hl, Coins + ld a, [hli] + or [hl] + jr z, .asm_c3c4 + ld a, COIN_CASE + ld [CurItem], a + ld hl, NumItems + call CheckItem + jr nc, .asm_c3c9 + and a + ret + +.asm_c3c4 + ld hl, UnknownText_0xc3d1 + jr .asm_c3cc + +.asm_c3c9 + ld hl, UnknownText_0xc3d6 + +.asm_c3cc + call PrintText + scf + ret +; c3d1 + +UnknownText_0xc3d1: ; 0xc3d1 + ; You have no coins. + text_jump UnknownText_0x1bd3d7 + db "@" +; 0xc3d6 + +UnknownText_0xc3d6: ; 0xc3d6 + ; You don't have a COIN CASE. + text_jump UnknownText_0x1bd3eb + db "@" +; 0xc3db + +Functionc3db: ; c3db + call WhiteBGMap + call Function2879 + ret +; c3e2 + +ScriptReturnCarry: ; c3e2 + jr c, .carry + xor a + ld [ScriptVar], a + ret +.carry + ld a, 1 + ld [ScriptVar], a + ret +; c3ef + +Functionc3ef: ; c3ef + callba Function1150c + ld a, [wdc3a] + ld [ScriptVar], a + ret +; c3fc + +Functionc3fc: ; c3fc + ld a, [ScriptVar] + ld [wdfce], a + ret +; c403 + + +Functionc403:: ; c403 + ld a, c + and a + jr nz, .asm_c410 + ld a, d + ld [wdfcc], a + ld a, e + ld [wdfcd], a + ret + +.asm_c410 + ld a, d + ld [wdc5a], a + ld a, e + ld [wdc5b], a + ret +; c419 + + +SpecialCheckPokerus: ; c419 +; Check if a monster in your party has Pokerus + callba CheckPokerus + jp ScriptReturnCarry +; c422 + +Functionc422: ; c422 + callba Function1152b + ld hl, wdc9d + res 0, [hl] + callba Function5d33 + ret +; c434 + +Functionc434: ; c434 + callba Function11542 + jp ScriptReturnCarry +; c43d + +SpecialSnorlaxAwake: ; 0xc43d +; Check if the Poké Flute channel is playing, and if the player is standing +; next to Snorlax. + +; outputs: +; ScriptVar is 1 if the conditions are met, otherwise 0. + +; check background music + ld a, [wMapMusic] + cp MUSIC_POKE_FLUTE_CHANNEL + jr nz, .nope + + ld a, [XCoord] + ld b, a + ld a, [YCoord] + ld c, a + + ld hl, .ProximityCoords +.loop + ld a, [hli] + cp $ff + jr z, .nope + cp b + jr nz, .nextcoord + ld a, [hli] + cp c + jr nz, .loop + + ld a, $1 + jr .done + +.nextcoord + inc hl + jr .loop + +.nope + xor a +.done + ld [ScriptVar], a + ret + +.ProximityCoords + ; x, y + db 33, 8 ; left + db 34, 10 ; below + db 35, 10 ; below + db 36, 8 ; right + db 36, 9 ; right + db $ff + + +Functionc472: ; c472 + ld a, [CurPartySpecies] + jp PlayCry +; c478 + + +SpecialGameboyCheck: ; c478 + ld a, [hCGB] + and a + jr nz, .cgb + + ld a, [hSGB] + and a + jr nz, .sgb + +.gb + xor a + jr .done +.sgb + ld a, 1 + jr .done +.cgb + ld a, 2 +.done + ld [ScriptVar], a + ret + + +Functionc48f: ; c48f + ld a, MUSIC_NONE % $100 + ld [MusicFadeIDLo], a + ld a, MUSIC_NONE / $100 + ld [MusicFadeIDHi], a + ld a, $2 + ld [MusicFade], a + ret +; c49f + +Functionc49f: ; c49f + call FadeToMenu + callba Function1dd702 + call Function2b4d + ret +; c4ac + +Functionc4ac: ; c4ac + call FadeToMenu + callba Function84688 + call Function2b4d + ret +; c4b9 + +SpecialTrainerHouse: ; 0xc4b9 + ld a, 0 + call GetSRAMBank + ld a, [$abfd] ; XXX what is this memory location? + ld [ScriptVar], a + jp CloseSRAM + diff --git a/main.asm b/main.asm index d3ab4f0e8..914b3ebc5 100644 --- a/main.asm +++ b/main.asm @@ -4186,646 +4186,7 @@ Datac012: ; c012 ; c01b -Special:: ; c01b -; Run script special de. - ld hl, SpecialsPointers - add hl, de - add hl, de - add hl, de - ld b, [hl] - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - ld a, b - rst FarCall - ret -; c029 - -SpecialsPointers:: ; c029 - add_special Function97c28 - add_special Function29ce8 - add_special Function29d11 - add_special Function29d92 - add_special Function29e66 - add_special Function29e82 - add_special Function29efa - add_special Function29eee - add_special Function29c92 - add_special Function29cf1 - add_special Function29cfa - add_special Function29bfb - add_special Function29c7b - add_special Function29ec4 - add_special Function29ed9 - add_special Function29eaf - add_special Function29f47 - add_special Functionc2f6 - add_special Functionc309 - add_special Function1050b9 - add_special Functionc34a - add_special Function4d9e5 - add_special Function13a12 - add_special Function13a31 - add_special Function135db - add_special Functionfbb32 - add_special Functionfbcd2 - add_special Functionc658 - add_special Function1559a - add_special Functionc2e7 - add_special Function166d6 - add_special Function1672a - add_special Function16936 - add_special Function2c547 - add_special Function16218 - add_special Function8cc04 - add_special SpecialNameRival - add_special Function90913 - add_special Functionc2c0 - add_special Functionc2cd - add_special Functionc355 - add_special Functionc360 - add_special Functionc373 - add_special Functionc380 - add_special Functionc38d - add_special Functionc3db - add_special Function8c084 - add_special Function8c092 - add_special Function8c0b6 - add_special Function8c079 - add_special Function8c0ab - add_special Functiond91 - add_special WhiteBGMap - add_special UpdateTimePals - add_special ClearTileMap - add_special Function1ad2 - add_special Functione4a - add_special Functionc230 - add_special SpecialSeenMon - add_special WaitSFX - add_special PlayMapMusic - add_special RestartMapMusic - add_special Function12324 - add_special Function8379 - add_special Functionc25a - add_special Functionc268 - add_special Functionc276 - add_special Functionc284 - add_special Functionc3ef - add_special Function17421 - add_special Function17440 - add_special Function139a8 - add_special Functionc3fc - add_special Function26feb - add_special Function27043 - add_special SpecialGiveShuckle - add_special SpecialReturnShuckle - add_special Function73f7 - add_special SpecialCheckPokerus - add_special Function24b25 - add_special Function24b4e - add_special Function24ae8 - add_special Function4d87a - add_special Functionc434 - add_special Functionc422 - add_special Function4d9d3 - add_special Function88018 - add_special SpecialNameRater - add_special Functionc2da - add_special Function718d - add_special Function71ac - add_special Function2a4ab - add_special Function2a51f - add_special RandomPhoneMon - add_special Function14209 - add_special Functionfb841 - add_special SpecialSnorlaxAwake - add_special Function7413 - add_special Function7418 - add_special Function741d - add_special Functionc472 - add_special ProfOaksPCBoot - add_special SpecialGameboyCheck - add_special SpecialTrainerHouse - add_special Function16dc7 - add_special InitRoamMons - add_special Functionc48f - add_special Functionc49f - add_special Functionc4ac - add_special Function11ac3e - add_special Function11b444 - add_special Function11b5e8 - add_special Function11b7e5 - add_special Function11b879 - add_special Function11b920 - add_special Function11b93b - add_special Function1700b0 - add_special Function1700ba - add_special Function170114 - add_special Function170215 - add_special Function1704e1 - add_special Function17021d - add_special Function170b44 - add_special Function11ba38 - add_special Function170bd3 - add_special Function117656 - add_special Reset - add_special Function1011f1 - add_special Function101220 - add_special Function101225 - add_special Function101231 - add_special Function4925b - add_special Function8adef - add_special Function11c1ab - add_special Function170687 - add_special Function8ae68 - add_special Function17d224 - add_special Function17d2b6 - add_special Function17d2ce - add_special Function17f53d - add_special Function103612 - add_special SpecialHoOhChamber - add_special Function102142 - add_special Function4989a - add_special Function49bf9 - add_special SpecialPokeSeer - add_special SpecialBuenasPassword - add_special SpecialBuenaPrize - add_special SpecialDratini - add_special Function11485 - add_special SpecialBeastsCheck - add_special SpecialMonCheck - add_special Functionc225 - add_special Function170bd2 - add_special Function10366e - add_special Function1037eb - add_special Function10383c - add_special Function1060a2 - add_special Function14168 - add_special Function1037c2 - add_special Function10630f - add_special Function103780 - add_special Function10387b - add_special Function4ae12 - add_special Function1047eb - add_special Function4a927 - add_special Function90a54 - add_special Function90a88 - add_special SpecialNone -; c224 - -SpecialNone: ; c224 - ret -; c225 - -Functionc225: ; c225 - ld a, [ScriptVar] - ld d, a - callba Function57e2 - ret -; c230 - -Functionc230: ; c230 - ld a, [ScriptVar] - dec a - call CheckCaughtMon - ret nz - ld a, [ScriptVar] - dec a - call SetSeenAndCaughtMon - call FadeToMenu - ld a, [ScriptVar] - ld [wd265], a - callba Functionfb877 - call Function2b4d - ret -; c252 - -SpecialSeenMon: ; c252 - ld a, [ScriptVar] - dec a - call SetSeenMon - ret -; c25a - -Functionc25a: ; c25a - ld a, [ScriptVar] - ld b, a - callba Function4dbd2 - jr z, Functionc298 - jr Functionc292 - -Functionc268: ; c268 - ld a, [ScriptVar] - ld b, a - callba Function4dbd9 - jr z, Functionc298 - jr Functionc292 - -Functionc276: ; c276 - ld a, [ScriptVar] - ld b, a - callba Function4dbe0 - jr z, Functionc298 - jr Functionc292 - -Functionc284: ; c284 - ld a, [ScriptVar] - ld b, a - callba Function4dbe6 - jr z, Functionc298 - jr Functionc292 - -Functionc292: ; c292 - ld a, $1 - ld [ScriptVar], a - ret - -Functionc298: ; c298 - xor a - ld [ScriptVar], a - ret -; c29d - -SpecialNameRival: ; 0xc29d - ld b, $2 ; rival - ld de, RivalName - callba Function116b7 - ; default to "SILVER" - ld hl, RivalName - ld de, DefaultRivalName - call InitName - ret -; 0xc2b2 - -DefaultRivalName: ; 0xc2b2 - db "SILVER@" - -SpecialNameRater: ; c2b9 - callba NameRater - ret -; c2c0 - -Functionc2c0: ; c2c0 - call FadeToMenu - callba Function9191c - call Function2b4d - ret -; c2cd - -Functionc2cd: ; c2cd - call FadeToMenu - callba Function16be4 - call Function2b4d - ret -; c2da - -Functionc2da: ; c2da - call FadeToMenu - callba Function3f836 - call Function2b4d - ret -; c2e7 - -Functionc2e7: ; c2e7 - xor a - ld [ScriptVar], a - callba Function156d9 - ld a, c - ld [ScriptVar], a - ret -; c2f6 - -Functionc2f6: ; c2f6 - ld a, $0 - call GetSRAMBank - ld a, [$abe2] - and a - jr z, .asm_c302 - inc a - -.asm_c302 - ld [ScriptVar], a - call CloseSRAM - ret -; c309 - -Functionc309: ; c309 - ld a, $0 - call GetSRAMBank - ld a, [$abe2] - ld [CurItem], a - ld a, $1 - ld [wd10c], a - ld hl, NumItems - call ReceiveItem - jr nc, .asm_c33d - xor a - ld [$abe2], a - call CloseSRAM - ld a, [CurItem] - ld [wd265], a - call GetItemName - ld hl, UnknownText_0xc345 - call PrintText - ld a, $1 - ld [ScriptVar], a - ret - -.asm_c33d - call CloseSRAM - xor a - ld [ScriptVar], a - ret -; c345 - -UnknownText_0xc345: ; 0xc345 - ; received item - text_jump UnknownText_0x1bd3be - db "@" -; 0xc34a - -Functionc34a: ; c34a - callba Function1369d - ld a, b - ld [ScriptVar], a - ret -; c355 - -Functionc355: ; c355 - ld a, [ScriptVar] - ld e, a - callba Function91a53 - ret -; c360 - -Functionc360: ; c360 - call FadeToMenu - callba Functione1190 - ld a, [wd0ec] - ld [ScriptVar], a - call Function2b4d - ret -; c373 - -Functionc373: ; c373 - call Functionc3ae - ret c - ld a, BANK(Function926c7) - ld hl, Function926c7 - call Functionc39a - ret -; c380 - -Functionc380: ; c380 - call Functionc3ae - ret c - ld a, BANK(Functione00ee) - ld hl, Functione00ee - call Functionc39a - ret -; c38d - -Functionc38d: ; c38d - call Functionc3ae - ret c - ld a, BANK(Functione1e5b) - ld hl, Functione1e5b - call Functionc39a - ret -; c39a - -Functionc39a: ; c39a - call Function31cf - call FadeToMenu - ld hl, wd0e8 - ld a, [hli] - push af - ld a, [hli] - ld h, [hl] - ld l, a - pop af - rst FarCall - call Function2b4d - ret -; c3ae - -Functionc3ae: ; c3ae - ld hl, Coins - ld a, [hli] - or [hl] - jr z, .asm_c3c4 - ld a, COIN_CASE - ld [CurItem], a - ld hl, NumItems - call CheckItem - jr nc, .asm_c3c9 - and a - ret - -.asm_c3c4 - ld hl, UnknownText_0xc3d1 - jr .asm_c3cc - -.asm_c3c9 - ld hl, UnknownText_0xc3d6 - -.asm_c3cc - call PrintText - scf - ret -; c3d1 - -UnknownText_0xc3d1: ; 0xc3d1 - ; You have no coins. - text_jump UnknownText_0x1bd3d7 - db "@" -; 0xc3d6 - -UnknownText_0xc3d6: ; 0xc3d6 - ; You don't have a COIN CASE. - text_jump UnknownText_0x1bd3eb - db "@" -; 0xc3db - -Functionc3db: ; c3db - call WhiteBGMap - call Function2879 - ret -; c3e2 - -ScriptReturnCarry: ; c3e2 - jr c, .carry - xor a - ld [ScriptVar], a - ret -.carry - ld a, 1 - ld [ScriptVar], a - ret -; c3ef - -Functionc3ef: ; c3ef - callba Function1150c - ld a, [wdc3a] - ld [ScriptVar], a - ret -; c3fc - -Functionc3fc: ; c3fc - ld a, [ScriptVar] - ld [wdfce], a - ret -; c403 - - -Functionc403:: ; c403 - ld a, c - and a - jr nz, .asm_c410 - ld a, d - ld [wdfcc], a - ld a, e - ld [wdfcd], a - ret - -.asm_c410 - ld a, d - ld [wdc5a], a - ld a, e - ld [wdc5b], a - ret -; c419 - - -SpecialCheckPokerus: ; c419 -; Check if a monster in your party has Pokerus - callba CheckPokerus - jp ScriptReturnCarry -; c422 - -Functionc422: ; c422 - callba Function1152b - ld hl, wdc9d - res 0, [hl] - callba Function5d33 - ret -; c434 - -Functionc434: ; c434 - callba Function11542 - jp ScriptReturnCarry -; c43d - -SpecialSnorlaxAwake: ; 0xc43d -; Check if the Poké Flute channel is playing, and if the player is standing -; next to Snorlax. - -; outputs: -; ScriptVar is 1 if the conditions are met, otherwise 0. - -; check background music - ld a, [wMapMusic] - cp MUSIC_POKE_FLUTE_CHANNEL - jr nz, .nope - - ld a, [XCoord] - ld b, a - ld a, [YCoord] - ld c, a - - ld hl, .ProximityCoords -.loop - ld a, [hli] - cp $ff - jr z, .nope - cp b - jr nz, .nextcoord - ld a, [hli] - cp c - jr nz, .loop - - ld a, $1 - jr .done - -.nextcoord - inc hl - jr .loop - -.nope - xor a -.done - ld [ScriptVar], a - ret - -.ProximityCoords - ; x, y - db 33, 8 ; left - db 34, 10 ; below - db 35, 10 ; below - db 36, 8 ; right - db 36, 9 ; right - db $ff - - -Functionc472: ; c472 - ld a, [CurPartySpecies] - jp PlayCry -; c478 - - -SpecialGameboyCheck: ; c478 - ld a, [hCGB] - and a - jr nz, .cgb - - ld a, [hSGB] - and a - jr nz, .sgb - -.gb - xor a - jr .done -.sgb - ld a, 1 - jr .done -.cgb - ld a, 2 -.done - ld [ScriptVar], a - ret - - -Functionc48f: ; c48f - ld a, MUSIC_NONE % $100 - ld [MusicFadeIDLo], a - ld a, MUSIC_NONE / $100 - ld [MusicFadeIDHi], a - ld a, $2 - ld [MusicFade], a - ret -; c49f - -Functionc49f: ; c49f - call FadeToMenu - callba Function1dd702 - call Function2b4d - ret -; c4ac - -Functionc4ac: ; c4ac - call FadeToMenu - callba Function84688 - call Function2b4d - ret -; c4b9 - -SpecialTrainerHouse: ; 0xc4b9 - ld a, 0 - call GetSRAMBank - ld a, [$abfd] ; XXX what is this memory location? - ld [ScriptVar], a - jp CloseSRAM +INCLUDE "engine/specials.asm" _PrintNum:: ; c4c7 From ca48571c51e92fa4b7635ea84f8a9f9a076bf25b Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 15:11:32 -0800 Subject: [PATCH 17/20] Add another reference to OTPartyMonOT in link cable code. --- main.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.asm b/main.asm index 914b3ebc5..cf4b7fbc0 100644 --- a/main.asm +++ b/main.asm @@ -29611,9 +29611,9 @@ Function2805d: ; 2805d ld [de], a ld hl, wc813 call Function2868a - ld a, $a8 + ld a, OTPartyMonOT % $100 ld [wd102], a - ld a, $d3 + ld a, OTPartyMonOT / $100 ld [wd103], a ld de, MUSIC_NONE call PlayMusic From 48b05947b7b05cccf6f8af9c8b65e1b4f2d85e54 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 22:46:00 -0800 Subject: [PATCH 18/20] Use connection macros instead of guessed values in second map headers. Some of the under-the-hood connection values are offset by an arbitrary amount. This could be because of a graphical connection editor allowing a shift in the strip destination pointer, as well as the standard alignment value. There is no visible difference, so it can be confusing when two unique sets of values can produce the same result. Reversing this invisible offset was a major sticking point back when connections were dumped, but it was straightforward this time around. Much thanks to huderlem for articulating this quirk in pokered's connection macros. --- maps/second_map_headers.asm | 1418 ++++++----------------------------- 1 file changed, 214 insertions(+), 1204 deletions(-) diff --git a/maps/second_map_headers.asm b/maps/second_map_headers.asm index 086dbaf04..9b8440f38 100644 --- a/maps/second_map_headers.asm +++ b/maps/second_map_headers.asm @@ -11,1347 +11,356 @@ map_header_2: MACRO dw \1_MapScriptHeader dw \1_MapEventHeader db \4 +ENDM + +connection: MACRO +if "\1" == "north" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: x +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + \2_WIDTH * (\2_HEIGHT - 3) + \5 + dw OverworldMap + \4 + 3 + db \6 + db \2_WIDTH + db \2_HEIGHT * 2 - 1 + db (\4 - \5) * -2 + dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1 +endc + +if "\1" == "south" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: x +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + \5 + dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3 + db \6 + db \2_WIDTH + db 0 + db (\4 - \5) * -2 + dw OverworldMap + \2_WIDTH + 7 +endc + +if "\1" == "west" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: y +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + (\2_WIDTH * \5) + \2_WIDTH - 3 + dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3) + db \6 + db \2_WIDTH + db (\4 - \5) * -2 + db \2_WIDTH * 2 - 1 + dw OverworldMap + \2_WIDTH * 2 + 6 +endc + +if "\1" == "east" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: y +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + (\2_WIDTH * \5) + dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3 + db \6 + db \2_WIDTH + db (\4 - \5) * -2 + db 0 + dw OverworldMap + \2_WIDTH + 7 +endc + ENDM map_header_2 NewBarkTown, NEW_BARK_TOWN, $5, WEST | EAST ; 0x94dd8 - - ; WEST to Route 29 - map ROUTE_29 - dw (Route29_BlockData + ROUTE_29_WIDTH - 3) ; strip pointer - dw $c830 ; strip destination - db 9, ROUTE_29_WIDTH ; (connection strip length, connected map width) - db 0, ((ROUTE_29_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 59) ; window - - ; EAST to Route 27 - map ROUTE_27 - dw (Route27_BlockData) ; strip pointer - dw $c83d ; strip destination - db 9, ROUTE_27_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_27_WIDTH) ; window -; 0x94dfc + connection west, ROUTE_29, Route29, 0, 0, 9, NEW_BARK_TOWN + connection east, ROUTE_27, Route27, 0, 0, 9, NEW_BARK_TOWN map_header_2 CherrygroveCity, CHERRYGROVE_CITY, $35, NORTH | EAST ; 0x94dfc - - ; NORTH to Route 30 - map ROUTE_30 - dw (Route30_BlockData + (ROUTE_30_HEIGHT * ROUTE_30_WIDTH) - (ROUTE_30_WIDTH * 3)) ; strip pointer - dw ($C703 + 261) ; strip destination - db 10, ROUTE_30_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_30_HEIGHT * 2) - 1), 246 ; yoffset, xoffset - dw ($C801 + ((ROUTE_30_HEIGHT * 6) + (ROUTE_30_HEIGHT * ROUTE_30_WIDTH))) ; window - - ; EAST to Route 29 - map ROUTE_29 - dw (Route29_BlockData) ; strip pointer - dw $c865 ; strip destination - db 9, ROUTE_29_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_29_WIDTH) ; window -; 0x94e20 + connection north, ROUTE_30, Route30, 5, 0, 10, CHERRYGROVE_CITY + connection east, ROUTE_29, Route29, 0, 0, 9, CHERRYGROVE_CITY map_header_2 VioletCity, VIOLET_CITY, $5, SOUTH | WEST | EAST ; 0x94e20 - - ; SOUTH to Route 32 - map ROUTE_32 - dw (Route32_BlockData) ; strip pointer - dw ($C703 + 256 + ((VIOLET_CITY_HEIGHT + 3) * (VIOLET_CITY_WIDTH + 6))) ; strip destination - db 10, ROUTE_32_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_32_WIDTH) ; window - - ; WEST to Route 36 - map ROUTE_36 - dw (Route36_BlockData + ROUTE_36_WIDTH - 3) ; strip pointer - dw $c84e ; strip destination - db 9, ROUTE_36_WIDTH ; (connection strip length, connected map width) - db 0, ((ROUTE_36_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 59) ; window - - ; EAST to Route 31 - map ROUTE_31 - dw (Route31_BlockData) ; strip pointer - dw $c94f ; strip destination - db 9, ROUTE_31_WIDTH ; (connection strip length, connected map width) - db 238, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_31_WIDTH) ; window -; 0x94e50 + connection south, ROUTE_32, Route32, 0, 0, 10, VIOLET_CITY + connection west, ROUTE_36, Route36, 0, 0, 9, VIOLET_CITY + connection east, ROUTE_31, Route31, 9, 0, 9, VIOLET_CITY map_header_2 AzaleaTown, AZALEA_TOWN, $5, WEST | EAST ; 0x94e50 - - ; WEST to Route 34 - map ROUTE_34 - dw (Route34_BlockData + (((ROUTE_34_HEIGHT - AZALEA_TOWN_HEIGHT) * ROUTE_34_WIDTH) - (ROUTE_34_WIDTH * 3) + (ROUTE_34_WIDTH - 1) - 2)) ; strip pointer - dw $c800 ; strip destination - db 12, ROUTE_34_WIDTH ; (connection strip length, connected map width) - db 36, ((ROUTE_34_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window - - ; EAST to Route 33 - map ROUTE_33 - dw (Route33_BlockData) ; strip pointer - dw $c865 ; strip destination - db 9, ROUTE_33_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_33_WIDTH) ; window -; 0x94e74 + connection west, ROUTE_34, Route34, -3, 15, 12, AZALEA_TOWN + connection east, ROUTE_33, Route33, 0, 0, 9, AZALEA_TOWN map_header_2 CianwoodCity, CIANWOOD_CITY, $35, EAST ; 0x94e74 - - ; EAST to Route 41 - map ROUTE_41 - dw (Route41_BlockData) ; strip pointer - dw $c851 ; strip destination - db 27, ROUTE_41_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_41_WIDTH) ; window -; 0x94e8c + connection east, ROUTE_41, Route41, 0, 0, 27, CIANWOOD_CITY map_header_2 GoldenrodCity, GOLDENROD_CITY, $35, NORTH | SOUTH ; 0x94e8c - - ; NORTH to Route 35 - map ROUTE_35 - dw (Route35_BlockData + (ROUTE_35_HEIGHT * ROUTE_35_WIDTH) - (ROUTE_35_WIDTH * 3)) ; strip pointer - dw ($C703 + 261) ; strip destination - db 10, ROUTE_35_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_35_HEIGHT * 2) - 1), 246 ; yoffset, xoffset - dw ($C801 + ((ROUTE_35_HEIGHT * 6) + (ROUTE_35_HEIGHT * ROUTE_35_WIDTH))) ; window - - ; SOUTH to Route 34 - map ROUTE_34 - dw (Route34_BlockData) ; strip pointer - dw ($C703 + 261 + ((GOLDENROD_CITY_HEIGHT + 3) * (GOLDENROD_CITY_WIDTH + 6))) ; strip destination - db 10, ROUTE_34_WIDTH ; (connection strip length, connected map width) - db 0, 246 ; yoffset, xoffset - dw ($C807 + ROUTE_34_WIDTH) ; window -; 0x94eb0 + connection north, ROUTE_35, Route35, 5, 0, 10, GOLDENROD_CITY + connection south, ROUTE_34, Route34, 5, 0, 10, GOLDENROD_CITY map_header_2 OlivineCity, OLIVINE_CITY, $35, NORTH | WEST ; 0x94eb0 - - ; NORTH to Route 39 - map ROUTE_39 - dw (Route39_BlockData + (ROUTE_39_HEIGHT * ROUTE_39_WIDTH) - (ROUTE_39_WIDTH * 3)) ; strip pointer - dw ($C703 + 261) ; strip destination - db 10, ROUTE_39_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_39_HEIGHT * 2) - 1), 246 ; yoffset, xoffset - dw ($C801 + ((ROUTE_39_HEIGHT * 6) + (ROUTE_39_HEIGHT * ROUTE_39_WIDTH))) ; window - - ; WEST to Route 40 - map ROUTE_40 - dw (Route40_BlockData + ROUTE_40_WIDTH - 3) ; strip pointer - dw $c938 ; strip destination - db 12, ROUTE_40_WIDTH ; (connection strip length, connected map width) - db 238, ((ROUTE_40_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window -; 0x94ed4 + connection north, ROUTE_39, Route39, 5, 0, 10, OLIVINE_CITY + connection west, ROUTE_40, Route40, 9, 0, 12, OLIVINE_CITY map_header_2 EcruteakCity, ECRUTEAK_CITY, $5, SOUTH | WEST | EAST ; 0x94ed4 - - ; SOUTH to Route 37 - map ROUTE_37 - dw (Route37_BlockData) ; strip pointer - dw ($C703 + 261 + ((ECRUTEAK_CITY_HEIGHT + 3) * (ECRUTEAK_CITY_WIDTH + 6))) ; strip destination - db 10, ROUTE_37_WIDTH ; (connection strip length, connected map width) - db 0, 246 ; yoffset, xoffset - dw ($C807 + ROUTE_37_WIDTH) ; window - - ; WEST to Route 38 - map ROUTE_38 - dw (Route38_BlockData + ROUTE_38_WIDTH - 3) ; strip pointer - dw $c8d0 ; strip destination - db 9, ROUTE_38_WIDTH ; (connection strip length, connected map width) - db 246, ((ROUTE_38_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window - - ; EAST to Route 42 - map ROUTE_42 - dw (Route42_BlockData) ; strip pointer - dw $c94f ; strip destination - db 9, ROUTE_42_WIDTH ; (connection strip length, connected map width) - db 238, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_42_WIDTH) ; window -; 0x94f04 + connection south, ROUTE_37, Route37, 5, 0, 10, ECRUTEAK_CITY + connection west, ROUTE_38, Route38, 5, 0, 9, ECRUTEAK_CITY + connection east, ROUTE_42, Route42, 9, 0, 9, ECRUTEAK_CITY map_header_2 MahoganyTown, MAHOGANY_TOWN, $71, NORTH | WEST | EAST ; 0x94f04 - - ; NORTH to Route 43 - map ROUTE_43 - dw (Route43_BlockData + (ROUTE_43_HEIGHT * ROUTE_43_WIDTH) - (ROUTE_43_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 10, ROUTE_43_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_43_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((ROUTE_43_HEIGHT * 6) + (ROUTE_43_HEIGHT * ROUTE_43_WIDTH))) ; window - - ; WEST to Route 42 - map ROUTE_42 - dw (Route42_BlockData + ROUTE_42_WIDTH - 3) ; strip pointer - dw $c830 ; strip destination - db 9, ROUTE_42_WIDTH ; (connection strip length, connected map width) - db 0, ((ROUTE_42_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 59) ; window - - ; EAST to Route 44 - map ROUTE_44 - dw (Route44_BlockData) ; strip pointer - dw $c83d ; strip destination - db 9, ROUTE_44_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_44_WIDTH) ; window -; 0x94f34 + connection north, ROUTE_43, Route43, 0, 0, 10, MAHOGANY_TOWN + connection west, ROUTE_42, Route42, 0, 0, 9, MAHOGANY_TOWN + connection east, ROUTE_44, Route44, 0, 0, 9, MAHOGANY_TOWN map_header_2 LakeofRage, LAKE_OF_RAGE, $5, SOUTH ; 0x94f34 - - ; SOUTH to Route 43 - map ROUTE_43 - dw (Route43_BlockData) ; strip pointer - dw ($C703 + 261 + ((LAKE_OF_RAGE_HEIGHT + 3) * (LAKE_OF_RAGE_WIDTH + 6))) ; strip destination - db 10, ROUTE_43_WIDTH ; (connection strip length, connected map width) - db 0, 246 ; yoffset, xoffset - dw ($C807 + ROUTE_43_WIDTH) ; window -; 0x94f4c + connection south, ROUTE_43, Route43, 5, 0, 10, LAKE_OF_RAGE map_header_2 BlackthornCity, BLACKTHORN_CITY, $71, SOUTH | WEST ; 0x94f4c - - ; SOUTH to Route 45 - map ROUTE_45 - dw (Route45_BlockData) ; strip pointer - dw ($C703 + 256 + ((BLACKTHORN_CITY_HEIGHT + 3) * (BLACKTHORN_CITY_WIDTH + 6))) ; strip destination - db 10, ROUTE_45_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_45_WIDTH) ; window - - ; WEST to Route 44 - map ROUTE_44 - dw (Route44_BlockData + ROUTE_44_WIDTH - 3) ; strip pointer - dw $c938 ; strip destination - db 9, ROUTE_44_WIDTH ; (connection strip length, connected map width) - db 238, ((ROUTE_44_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 59) ; window -; 0x94f70 + connection south, ROUTE_45, Route45, 0, 0, 10, BLACKTHORN_CITY + connection west, ROUTE_44, Route44, 9, 0, 9, BLACKTHORN_CITY map_header_2 SilverCaveOutside, SILVER_CAVE_OUTSIDE, $2c, EAST ; 0x94f70 - - ; EAST to Route 28 - map ROUTE_28 - dw (Route28_BlockData) ; strip pointer - dw $c94f ; strip destination - db 9, ROUTE_28_WIDTH ; (connection strip length, connected map width) - db 238, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_28_WIDTH) ; window -; 0x94f88 + connection east, ROUTE_28, Route28, 9, 0, 9, SILVER_CAVE_OUTSIDE map_header_2 Route26, ROUTE_26, $5, WEST ; 0x94f88 - - ; WEST to Route 27 - map ROUTE_27 - dw (Route27_BlockData + ROUTE_27_WIDTH - 3) ; strip pointer - dw $cb00 ; strip destination - db 9, ROUTE_27_WIDTH ; (connection strip length, connected map width) - db 166, ((ROUTE_27_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 79) ; window -; 0x94fa0 + connection west, ROUTE_27, Route27, 45, 0, 9, ROUTE_26 map_header_2 Route27, ROUTE_27, $35, WEST | EAST ; 0x94fa0 - - ; WEST to New Bark Town - map NEW_BARK_TOWN - dw (NewBarkTown_BlockData + NEW_BARK_TOWN_WIDTH - 3) ; strip pointer - dw $c88a ; strip destination - db 9, NEW_BARK_TOWN_WIDTH ; (connection strip length, connected map width) - db 0, ((NEW_BARK_TOWN_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window - - ; EAST to Route 26 - map ROUTE_26 - dw (Route26_BlockData + ((ROUTE_26_HEIGHT - 12) * ROUTE_26_WIDTH)) ; strip pointer - dw $c82b ; strip destination - db 12, ROUTE_26_WIDTH ; (connection strip length, connected map width) - db 90, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_26_WIDTH) ; window -; 0x94fc4 + connection west, NEW_BARK_TOWN, NewBarkTown, 0, 0, 9, ROUTE_27 + connection east, ROUTE_26, Route26, -3, 42, 12, ROUTE_27 map_header_2 Route28, ROUTE_28, $2c, WEST ; 0x94fc4 - - ; WEST to Silver Cave Outside - map SILVER_CAVE_OUTSIDE - dw (SilverCaveOutside_BlockData + (((SILVER_CAVE_OUTSIDE_HEIGHT - ROUTE_28_HEIGHT) * SILVER_CAVE_OUTSIDE_WIDTH) - (SILVER_CAVE_OUTSIDE_WIDTH * 3) + (SILVER_CAVE_OUTSIDE_WIDTH - 1) - 2)) ; strip pointer - dw $c800 ; strip destination - db 12, SILVER_CAVE_OUTSIDE_WIDTH ; (connection strip length, connected map width) - db 18, ((SILVER_CAVE_OUTSIDE_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window -; 0x94fdc + connection west, SILVER_CAVE_OUTSIDE, SilverCaveOutside, -3, 6, 12, ROUTE_28 map_header_2 Route29, ROUTE_29, $5, NORTH | WEST | EAST ; 0x94fdc - - ; NORTH to Route 46 - map ROUTE_46 - dw (Route46_BlockData + (ROUTE_46_HEIGHT * ROUTE_46_WIDTH) - (ROUTE_46_WIDTH * 3)) ; strip pointer - dw ($C703 + 266) ; strip destination - db 10, ROUTE_46_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_46_HEIGHT * 2) - 1), 236 ; yoffset, xoffset - dw ($C801 + ((ROUTE_46_HEIGHT * 6) + (ROUTE_46_HEIGHT * ROUTE_46_WIDTH))) ; window - - ; WEST to Cherrygrove City - map CHERRYGROVE_CITY - dw (CherrygroveCity_BlockData + CHERRYGROVE_CITY_WIDTH - 3) ; strip pointer - dw $c86c ; strip destination - db 9, CHERRYGROVE_CITY_WIDTH ; (connection strip length, connected map width) - db 0, ((CHERRYGROVE_CITY_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window - - ; EAST to New Bark Town - map NEW_BARK_TOWN - dw (NewBarkTown_BlockData) ; strip pointer - dw $c88d ; strip destination - db 9, NEW_BARK_TOWN_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + NEW_BARK_TOWN_WIDTH) ; window -; 0x9500c + connection north, ROUTE_46, Route46, 10, 0, 10, ROUTE_29 + connection west, CHERRYGROVE_CITY, CherrygroveCity, 0, 0, 9, ROUTE_29 + connection east, NEW_BARK_TOWN, NewBarkTown, 0, 0, 9, ROUTE_29 map_header_2 Route30, ROUTE_30, $5, NORTH | SOUTH ; 0x9500c - - ; NORTH to Route 31 - map ROUTE_31 - dw (Route31_BlockData + ((ROUTE_31_HEIGHT - 3) * ROUTE_31_WIDTH) + 7) ; strip pointer - dw ($C703 + 253) ; strip destination - db 13, ROUTE_31_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_31_HEIGHT * 2) - 1), 20 ; yoffset, xoffset - dw ($C801 + ((ROUTE_31_HEIGHT * 6) + (ROUTE_31_HEIGHT * ROUTE_31_WIDTH))) ; window - - ; SOUTH to Cherrygrove City - map CHERRYGROVE_CITY - dw (CherrygroveCity_BlockData + ((10 - 16 + ROUTE_30_WIDTH) / 2)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_30_HEIGHT + 3) * (ROUTE_30_WIDTH + 6))) ; strip destination - db 16, CHERRYGROVE_CITY_WIDTH ; (connection strip length, connected map width) - db 0, 10 ; yoffset, xoffset - dw ($C807 + CHERRYGROVE_CITY_WIDTH) ; window -; 0x95030 + connection north, ROUTE_31, Route31, -3, 7, 13, ROUTE_30 + connection south, CHERRYGROVE_CITY, CherrygroveCity, -3, 2, 16, ROUTE_30 map_header_2 Route31, ROUTE_31, $5, SOUTH | WEST ; 0x95030 - - ; SOUTH to Route 30 - map ROUTE_30 - dw (Route30_BlockData) ; strip pointer - dw ($C703 + 266 + ((ROUTE_31_HEIGHT + 3) * (ROUTE_31_WIDTH + 6))) ; strip destination - db 10, ROUTE_30_WIDTH ; (connection strip length, connected map width) - db 0, 236 ; yoffset, xoffset - dw ($C807 + ROUTE_30_WIDTH) ; window - - ; WEST to Violet City - map VIOLET_CITY - dw (VioletCity_BlockData + (((VIOLET_CITY_HEIGHT - ROUTE_31_HEIGHT) * VIOLET_CITY_WIDTH) - (VIOLET_CITY_WIDTH * 3) + (VIOLET_CITY_WIDTH - 1) - 2)) ; strip pointer - dw $c800 ; strip destination - db 12, VIOLET_CITY_WIDTH ; (connection strip length, connected map width) - db 18, ((VIOLET_CITY_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window -; 0x95054 + connection south, ROUTE_30, Route30, 10, 0, 10, ROUTE_31 + connection west, VIOLET_CITY, VioletCity, -3, 6, 12, ROUTE_31 map_header_2 Route32, ROUTE_32, $5, NORTH | SOUTH ; 0x95054 - - ; NORTH to Violet City - map VIOLET_CITY - dw (VioletCity_BlockData + (VIOLET_CITY_HEIGHT * VIOLET_CITY_WIDTH) - (VIOLET_CITY_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 13, VIOLET_CITY_WIDTH ; (connection strip length, connected map width) - db ((VIOLET_CITY_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((VIOLET_CITY_HEIGHT * 6) + (VIOLET_CITY_HEIGHT * VIOLET_CITY_WIDTH))) ; window - - ; SOUTH to Route 33 - map ROUTE_33 - dw (Route33_BlockData) ; strip pointer - dw ($C703 + 256 + ((ROUTE_32_HEIGHT + 3) * (ROUTE_32_WIDTH + 6))) ; strip destination - db 10, ROUTE_33_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_33_WIDTH) ; window -; 0x95078 + connection north, VIOLET_CITY, VioletCity, 0, 0, 13, ROUTE_32 + connection south, ROUTE_33, Route33, 0, 0, 10, ROUTE_32 map_header_2 Route33, ROUTE_33, $5, NORTH | WEST ; 0x95078 - - ; NORTH to Route 32 - map ROUTE_32 - dw (Route32_BlockData + (ROUTE_32_HEIGHT * ROUTE_32_WIDTH) - (ROUTE_32_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 10, ROUTE_32_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_32_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((ROUTE_32_HEIGHT * 6) + (ROUTE_32_HEIGHT * ROUTE_32_WIDTH))) ; window - - ; WEST to Azalea Town - map AZALEA_TOWN - dw (AzaleaTown_BlockData + AZALEA_TOWN_WIDTH - 3) ; strip pointer - dw $c830 ; strip destination - db 9, AZALEA_TOWN_WIDTH ; (connection strip length, connected map width) - db 0, ((AZALEA_TOWN_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window -; 0x9509c + connection north, ROUTE_32, Route32, 0, 0, 10, ROUTE_33 + connection west, AZALEA_TOWN, AzaleaTown, 0, 0, 9, ROUTE_33 map_header_2 Route34, ROUTE_34, $5, NORTH | EAST ; 0x9509c - - ; NORTH to Goldenrod City - map GOLDENROD_CITY - dw (GoldenrodCity_BlockData + GOLDENROD_CITY_WIDTH + 10 + (16 * GOLDENROD_CITY_HEIGHT) - 16) ; strip pointer - dw ($C703 + 253) ; strip destination - db 16, GOLDENROD_CITY_WIDTH ; (connection strip length, connected map width) - db ((GOLDENROD_CITY_HEIGHT * 2) - 1), 10 ; yoffset, xoffset - dw ($C801 + ((GOLDENROD_CITY_HEIGHT * 6) + (GOLDENROD_CITY_HEIGHT * GOLDENROD_CITY_WIDTH))) ; window - - ; EAST to Azalea Town - map AZALEA_TOWN - dw (AzaleaTown_BlockData) ; strip pointer - dw $c95d ; strip destination - db 9, AZALEA_TOWN_WIDTH ; (connection strip length, connected map width) - db 220, 0 ; yoffset, xoffset - dw ($C807 + AZALEA_TOWN_WIDTH) ; window -; 0x950c0 + connection north, GOLDENROD_CITY, GoldenrodCity, -3, 2, 16, ROUTE_34 + connection east, AZALEA_TOWN, AzaleaTown, 18, 0, 9, ROUTE_34 map_header_2 Route35, ROUTE_35, $5, NORTH | SOUTH ; 0x950c0 - - ; NORTH to Route 36 - map ROUTE_36 - dw (Route36_BlockData + (ROUTE_36_HEIGHT * ROUTE_36_WIDTH) - (ROUTE_36_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 13, ROUTE_36_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_36_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((ROUTE_36_HEIGHT * 6) + (ROUTE_36_HEIGHT * ROUTE_36_WIDTH))) ; window - - ; SOUTH to Goldenrod City - map GOLDENROD_CITY - dw (GoldenrodCity_BlockData + ((10 - 16 + ROUTE_35_WIDTH) / 2)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_35_HEIGHT + 3) * (ROUTE_35_WIDTH + 6))) ; strip destination - db 16, GOLDENROD_CITY_WIDTH ; (connection strip length, connected map width) - db 0, 10 ; yoffset, xoffset - dw ($C807 + GOLDENROD_CITY_WIDTH) ; window -; 0x950e4 + connection north, ROUTE_36, Route36, 0, 0, 13, ROUTE_35 + connection south, GOLDENROD_CITY, GoldenrodCity, -3, 2, 16, ROUTE_35 map_header_2 Route36, ROUTE_36, $5, NORTH | SOUTH | EAST ; 0x950e4 - - ; NORTH to Route 37 - map ROUTE_37 - dw (Route37_BlockData + (ROUTE_37_HEIGHT * ROUTE_37_WIDTH) - (ROUTE_37_WIDTH * 3)) ; strip pointer - dw ($C703 + 266) ; strip destination - db 10, ROUTE_37_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_37_HEIGHT * 2) - 1), 236 ; yoffset, xoffset - dw ($C801 + ((ROUTE_37_HEIGHT * 6) + (ROUTE_37_HEIGHT * ROUTE_37_WIDTH))) ; window - - ; SOUTH to Route 35 - map ROUTE_35 - dw (Route35_BlockData) ; strip pointer - dw ($C703 + 256 + ((ROUTE_36_HEIGHT + 3) * (ROUTE_36_WIDTH + 6))) ; strip destination - db 10, ROUTE_35_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_35_WIDTH) ; window - - ; EAST to Violet City - map VIOLET_CITY - dw (VioletCity_BlockData) ; strip pointer - dw $c88d ; strip destination - db 12, VIOLET_CITY_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + VIOLET_CITY_WIDTH) ; window -; 0x95114 + connection north, ROUTE_37, Route37, 10, 0, 10, ROUTE_36 + connection south, ROUTE_35, Route35, 0, 0, 10, ROUTE_36 + connection east, VIOLET_CITY, VioletCity, 0, 0, 12, ROUTE_36 map_header_2 Route37, ROUTE_37, $5, NORTH | SOUTH ; 0x95114 - - ; NORTH to Ecruteak City - map ECRUTEAK_CITY - dw (EcruteakCity_BlockData + ECRUTEAK_CITY_WIDTH + 10 + (16 * ECRUTEAK_CITY_HEIGHT) - 16) ; strip pointer - dw ($C703 + 253) ; strip destination - db 16, ECRUTEAK_CITY_WIDTH ; (connection strip length, connected map width) - db ((ECRUTEAK_CITY_HEIGHT * 2) - 1), 10 ; yoffset, xoffset - dw ($C801 + ((ECRUTEAK_CITY_HEIGHT * 6) + (ECRUTEAK_CITY_HEIGHT * ECRUTEAK_CITY_WIDTH))) ; window - - ; SOUTH to Route 36 - map ROUTE_36 - dw (Route36_BlockData + ((20 - 16 + ROUTE_37_WIDTH) / 2)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_37_HEIGHT + 3) * (ROUTE_37_WIDTH + 6))) ; strip destination - db 16, ROUTE_36_WIDTH ; (connection strip length, connected map width) - db 0, 20 ; yoffset, xoffset - dw ($C807 + ROUTE_36_WIDTH) ; window -; 0x95138 + connection north, ECRUTEAK_CITY, EcruteakCity, -3, 2, 16, ROUTE_37 + connection south, ROUTE_36, Route36, -3, 7, 16, ROUTE_37 map_header_2 Route38, ROUTE_38, $5, WEST | EAST ; 0x95138 - - ; WEST to Route 39 - map ROUTE_39 - dw (Route39_BlockData + ROUTE_39_WIDTH - 3) ; strip pointer - dw $c84e ; strip destination - db 12, ROUTE_39_WIDTH ; (connection strip length, connected map width) - db 0, ((ROUTE_39_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window - - ; EAST to Ecruteak City - map ECRUTEAK_CITY - dw (EcruteakCity_BlockData + ((100 - (ECRUTEAK_CITY_WIDTH * 4)) * 2)) ; strip pointer - dw $c817 ; strip destination - db 15, ECRUTEAK_CITY_WIDTH ; (connection strip length, connected map width) - db 10, 0 ; yoffset, xoffset - dw ($C807 + ECRUTEAK_CITY_WIDTH) ; window -; 0x9515c + connection west, ROUTE_39, Route39, 0, 0, 12, ROUTE_38 + connection east, ECRUTEAK_CITY, EcruteakCity, -3, 2, 15, ROUTE_38 map_header_2 Route39, ROUTE_39, $5, SOUTH | EAST ; 0x9515c - - ; SOUTH to Olivine City - map OLIVINE_CITY - dw (OlivineCity_BlockData + ((10 - 16 + ROUTE_39_WIDTH) / 2)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_39_HEIGHT + 3) * (ROUTE_39_WIDTH + 6))) ; strip destination - db 16, OLIVINE_CITY_WIDTH ; (connection strip length, connected map width) - db 0, 10 ; yoffset, xoffset - dw ($C807 + OLIVINE_CITY_WIDTH) ; window - - ; EAST to Route 38 - map ROUTE_38 - dw (Route38_BlockData) ; strip pointer - dw $c83d ; strip destination - db 9, ROUTE_38_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_38_WIDTH) ; window -; 0x95180 + connection south, OLIVINE_CITY, OlivineCity, -3, 2, 16, ROUTE_39 + connection east, ROUTE_38, Route38, 0, 0, 9, ROUTE_39 map_header_2 Route40, ROUTE_40, $35, SOUTH | EAST ; 0x95180 - - ; SOUTH to Route 41 - map ROUTE_41 - dw (Route41_BlockData + (((30 - 13 + ROUTE_40_WIDTH) / 2) - 1)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_40_HEIGHT + 3) * (ROUTE_40_WIDTH + 6))) ; strip destination - db 13, ROUTE_41_WIDTH ; (connection strip length, connected map width) - db 0, 30 ; yoffset, xoffset - dw ($C807 + ROUTE_41_WIDTH) ; window - - ; EAST to Olivine City - map OLIVINE_CITY - dw (OlivineCity_BlockData + ((OLIVINE_CITY_HEIGHT - 12) * OLIVINE_CITY_WIDTH)) ; strip pointer - dw $c80d ; strip destination - db 12, OLIVINE_CITY_WIDTH ; (connection strip length, connected map width) - db 18, 0 ; yoffset, xoffset - dw ($C807 + OLIVINE_CITY_WIDTH) ; window -; 0x951a4 + connection south, ROUTE_41, Route41, -3, 12, 13, ROUTE_40 + connection east, OLIVINE_CITY, OlivineCity, -3, 6, 12, ROUTE_40 map_header_2 Route41, ROUTE_41, $35, NORTH | WEST ; 0x951a4 - - ; NORTH to Route 40 - map ROUTE_40 - dw (Route40_BlockData + (ROUTE_40_HEIGHT * ROUTE_40_WIDTH) - (ROUTE_40_WIDTH * 3)) ; strip pointer - dw ($C703 + 271) ; strip destination - db 10, ROUTE_40_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_40_HEIGHT * 2) - 1), 226 ; yoffset, xoffset - dw ($C801 + ((ROUTE_40_HEIGHT * 6) + (ROUTE_40_HEIGHT * ROUTE_40_WIDTH))) ; window - - ; WEST to Cianwood City - map CIANWOOD_CITY - dw (CianwoodCity_BlockData + CIANWOOD_CITY_WIDTH - 3) ; strip pointer - dw $c85d ; strip destination - db 27, CIANWOOD_CITY_WIDTH ; (connection strip length, connected map width) - db 0, ((CIANWOOD_CITY_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 29) ; window -; 0x951c8 + connection north, ROUTE_40, Route40, 15, 0, 10, ROUTE_41 + connection west, CIANWOOD_CITY, CianwoodCity, 0, 0, 27, ROUTE_41 map_header_2 Route42, ROUTE_42, $5, WEST | EAST ; 0x951c8 - - ; WEST to Ecruteak City - map ECRUTEAK_CITY - dw (EcruteakCity_BlockData + (((ECRUTEAK_CITY_HEIGHT - ROUTE_42_HEIGHT) * ECRUTEAK_CITY_WIDTH) - (ECRUTEAK_CITY_WIDTH * 3) + (ECRUTEAK_CITY_WIDTH - 1) - 2)) ; strip pointer - dw $c800 ; strip destination - db 12, ECRUTEAK_CITY_WIDTH ; (connection strip length, connected map width) - db 18, ((ECRUTEAK_CITY_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window - - ; EAST to Mahogany Town - map MAHOGANY_TOWN - dw (MahoganyTown_BlockData) ; strip pointer - dw $c88d ; strip destination - db 9, MAHOGANY_TOWN_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + MAHOGANY_TOWN_WIDTH) ; window -; 0x951ec + connection west, ECRUTEAK_CITY, EcruteakCity, -3, 6, 12, ROUTE_42 + connection east, MAHOGANY_TOWN, MahoganyTown, 0, 0, 9, ROUTE_42 map_header_2 Route43, ROUTE_43, $5, NORTH | SOUTH ; 0x951ec - - ; NORTH to Lake of Rage - map LAKE_OF_RAGE - dw (LakeofRage_BlockData + LAKE_OF_RAGE_WIDTH + 10 + (16 * LAKE_OF_RAGE_HEIGHT) - 16) ; strip pointer - dw ($C703 + 253) ; strip destination - db 16, LAKE_OF_RAGE_WIDTH ; (connection strip length, connected map width) - db ((LAKE_OF_RAGE_HEIGHT * 2) - 1), 10 ; yoffset, xoffset - dw ($C801 + ((LAKE_OF_RAGE_HEIGHT * 6) + (LAKE_OF_RAGE_HEIGHT * LAKE_OF_RAGE_WIDTH))) ; window - - ; SOUTH to Mahogany Town - map MAHOGANY_TOWN - dw (MahoganyTown_BlockData) ; strip pointer - dw ($C703 + 256 + ((ROUTE_43_HEIGHT + 3) * (ROUTE_43_WIDTH + 6))) ; strip destination - db 10, MAHOGANY_TOWN_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + MAHOGANY_TOWN_WIDTH) ; window -; 0x95210 + connection north, LAKE_OF_RAGE, LakeofRage, -3, 2, 16, ROUTE_43 + connection south, MAHOGANY_TOWN, MahoganyTown, 0, 0, 10, ROUTE_43 map_header_2 Route44, ROUTE_44, $71, WEST | EAST ; 0x95210 - - ; WEST to Mahogany Town - map MAHOGANY_TOWN - dw (MahoganyTown_BlockData + MAHOGANY_TOWN_WIDTH - 3) ; strip pointer - dw $c86c ; strip destination - db 9, MAHOGANY_TOWN_WIDTH ; (connection strip length, connected map width) - db 0, ((MAHOGANY_TOWN_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window - - ; EAST to Blackthorn City - map BLACKTHORN_CITY - dw (BlackthornCity_BlockData + ((BLACKTHORN_CITY_HEIGHT - 12) * BLACKTHORN_CITY_WIDTH)) ; strip pointer - dw $c821 ; strip destination - db 12, BLACKTHORN_CITY_WIDTH ; (connection strip length, connected map width) - db 18, 0 ; yoffset, xoffset - dw ($C807 + BLACKTHORN_CITY_WIDTH) ; window -; 0x95234 + connection west, MAHOGANY_TOWN, MahoganyTown, 0, 0, 9, ROUTE_44 + connection east, BLACKTHORN_CITY, BlackthornCity, -3, 6, 12, ROUTE_44 map_header_2 Route45, ROUTE_45, $71, NORTH | WEST ; 0x95234 - - ; NORTH to Blackthorn City - map BLACKTHORN_CITY - dw (BlackthornCity_BlockData + (BLACKTHORN_CITY_HEIGHT * BLACKTHORN_CITY_WIDTH) - (BLACKTHORN_CITY_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 13, BLACKTHORN_CITY_WIDTH ; (connection strip length, connected map width) - db ((BLACKTHORN_CITY_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((BLACKTHORN_CITY_HEIGHT * 6) + (BLACKTHORN_CITY_HEIGHT * BLACKTHORN_CITY_WIDTH))) ; window - - ; WEST to Route 46 - map ROUTE_46 - dw (Route46_BlockData + ROUTE_46_WIDTH - 3) ; strip pointer - dw $ca70 ; strip destination - db 12, ROUTE_46_WIDTH ; (connection strip length, connected map width) - db 184, ((ROUTE_46_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window -; 0x95258 + connection north, BLACKTHORN_CITY, BlackthornCity, 0, 0, 13, ROUTE_45 + connection west, ROUTE_46, Route46, 36, 0, 12, ROUTE_45 map_header_2 Route46, ROUTE_46, $5, SOUTH | EAST ; 0x95258 - - ; SOUTH to Route 29 - map ROUTE_29 - dw (Route29_BlockData + ((20 - 16 + ROUTE_46_WIDTH) / 2)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_46_HEIGHT + 3) * (ROUTE_46_WIDTH + 6))) ; strip destination - db 16, ROUTE_29_WIDTH ; (connection strip length, connected map width) - db 0, 20 ; yoffset, xoffset - dw ($C807 + ROUTE_29_WIDTH) ; window - - ; EAST to Route 45 - map ROUTE_45 - dw (Route45_BlockData + ((ROUTE_45_HEIGHT - 12) * ROUTE_45_WIDTH)) ; strip pointer - dw $c80d ; strip destination - db 12, ROUTE_45_WIDTH ; (connection strip length, connected map width) - db 72, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_45_WIDTH) ; window -; 0x9527c + connection south, ROUTE_29, Route29, -3, 7, 16, ROUTE_46 + connection east, ROUTE_45, Route45, -3, 33, 12, ROUTE_46 map_header_2 PewterCity, PEWTER_CITY, $f, SOUTH | EAST ; 0x9527c - - ; SOUTH to Route 2 - map ROUTE_2 - dw (Route2_BlockData) ; strip pointer - dw ($C703 + 261 + ((PEWTER_CITY_HEIGHT + 3) * (PEWTER_CITY_WIDTH + 6))) ; strip destination - db 10, ROUTE_2_WIDTH ; (connection strip length, connected map width) - db 0, 246 ; yoffset, xoffset - dw ($C807 + ROUTE_2_WIDTH) ; window - - ; EAST to Route 3 - map ROUTE_3 - dw (Route3_BlockData) ; strip pointer - dw $c8e7 ; strip destination - db 9, ROUTE_3_WIDTH ; (connection strip length, connected map width) - db 246, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_3_WIDTH) ; window -; 0x952a0 + connection south, ROUTE_2, Route2, 5, 0, 10, PEWTER_CITY + connection east, ROUTE_3, Route3, 5, 0, 9, PEWTER_CITY map_header_2 Route2, ROUTE_2, $f, NORTH | SOUTH ; 0x952a0 - - ; NORTH to Pewter City - map PEWTER_CITY - dw (PewterCity_BlockData + PEWTER_CITY_WIDTH + 10 + (16 * PEWTER_CITY_HEIGHT) - 16) ; strip pointer - dw ($C703 + 253) ; strip destination - db 16, PEWTER_CITY_WIDTH ; (connection strip length, connected map width) - db ((PEWTER_CITY_HEIGHT * 2) - 1), 10 ; yoffset, xoffset - dw ($C801 + ((PEWTER_CITY_HEIGHT * 6) + (PEWTER_CITY_HEIGHT * PEWTER_CITY_WIDTH))) ; window - - ; SOUTH to Viridian City - map VIRIDIAN_CITY - dw (ViridianCity_BlockData + ((10 - 16 + ROUTE_2_WIDTH) / 2)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_2_HEIGHT + 3) * (ROUTE_2_WIDTH + 6))) ; strip destination - db 16, VIRIDIAN_CITY_WIDTH ; (connection strip length, connected map width) - db 0, 10 ; yoffset, xoffset - dw ($C807 + VIRIDIAN_CITY_WIDTH) ; window -; 0x952c4 + connection north, PEWTER_CITY, PewterCity, -3, 2, 16, ROUTE_2 + connection south, VIRIDIAN_CITY, ViridianCity, -3, 2, 16, ROUTE_2 map_header_2 ViridianCity, VIRIDIAN_CITY, $f, NORTH | SOUTH | WEST ; 0x952c4 - - ; NORTH to Route 2 - map ROUTE_2 - dw (Route2_BlockData + (ROUTE_2_HEIGHT * ROUTE_2_WIDTH) - (ROUTE_2_WIDTH * 3)) ; strip pointer - dw ($C703 + 261) ; strip destination - db 10, ROUTE_2_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_2_HEIGHT * 2) - 1), 246 ; yoffset, xoffset - dw ($C801 + ((ROUTE_2_HEIGHT * 6) + (ROUTE_2_HEIGHT * ROUTE_2_WIDTH))) ; window - - ; SOUTH to Route 1 - map ROUTE_1 - dw (Route1_BlockData) ; strip pointer - dw ($C703 + 266 + ((VIRIDIAN_CITY_HEIGHT + 3) * (VIRIDIAN_CITY_WIDTH + 6))) ; strip destination - db 10, ROUTE_1_WIDTH ; (connection strip length, connected map width) - db 0, 236 ; yoffset, xoffset - dw ($C807 + ROUTE_1_WIDTH) ; window - - ; WEST to Route 22 - map ROUTE_22 - dw (Route22_BlockData + ROUTE_22_WIDTH - 3) ; strip pointer - dw $c8b6 ; strip destination - db 9, ROUTE_22_WIDTH ; (connection strip length, connected map width) - db 248, ((ROUTE_22_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window -; 0x952f4 + connection north, ROUTE_2, Route2, 5, 0, 10, VIRIDIAN_CITY + connection south, ROUTE_1, Route1, 10, 0, 10, VIRIDIAN_CITY + connection west, ROUTE_22, Route22, 4, 0, 9, VIRIDIAN_CITY map_header_2 Route22, ROUTE_22, $2c, EAST ; 0x952f4 - - ; EAST to Viridian City - map VIRIDIAN_CITY - dw (ViridianCity_BlockData + 100 - (VIRIDIAN_CITY_WIDTH * 4)) ; strip pointer - dw $c817 ; strip destination - db 15, VIRIDIAN_CITY_WIDTH ; (connection strip length, connected map width) - db 8, 0 ; yoffset, xoffset - dw ($C807 + VIRIDIAN_CITY_WIDTH) ; window -; 0x9530c + connection east, VIRIDIAN_CITY, ViridianCity, -3, 1, 15, ROUTE_22 map_header_2 Route1, ROUTE_1, $f, NORTH | SOUTH ; 0x9530c - - ; NORTH to Viridian City - map VIRIDIAN_CITY - dw (ViridianCity_BlockData + ((VIRIDIAN_CITY_HEIGHT - 3) * VIRIDIAN_CITY_WIDTH) + 7) ; strip pointer - dw ($C703 + 253) ; strip destination - db 13, VIRIDIAN_CITY_WIDTH ; (connection strip length, connected map width) - db ((VIRIDIAN_CITY_HEIGHT * 2) - 1), 20 ; yoffset, xoffset - dw ($C801 + ((VIRIDIAN_CITY_HEIGHT * 6) + (VIRIDIAN_CITY_HEIGHT * VIRIDIAN_CITY_WIDTH))) ; window - - ; SOUTH to Pallet Town - map PALLET_TOWN - dw (PalletTown_BlockData) ; strip pointer - dw ($C703 + 256 + ((ROUTE_1_HEIGHT + 3) * (ROUTE_1_WIDTH + 6))) ; strip destination - db 10, PALLET_TOWN_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + PALLET_TOWN_WIDTH) ; window -; 0x95330 + connection north, VIRIDIAN_CITY, ViridianCity, -3, 7, 13, ROUTE_1 + connection south, PALLET_TOWN, PalletTown, 0, 0, 10, ROUTE_1 map_header_2 PalletTown, PALLET_TOWN, $f, NORTH | SOUTH ; 0x95330 - - ; NORTH to Route 1 - map ROUTE_1 - dw (Route1_BlockData + (ROUTE_1_HEIGHT * ROUTE_1_WIDTH) - (ROUTE_1_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 10, ROUTE_1_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_1_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((ROUTE_1_HEIGHT * 6) + (ROUTE_1_HEIGHT * ROUTE_1_WIDTH))) ; window - - ; SOUTH to Route 21 - map ROUTE_21 - dw (Route21_BlockData) ; strip pointer - dw ($C703 + 256 + ((PALLET_TOWN_HEIGHT + 3) * (PALLET_TOWN_WIDTH + 6))) ; strip destination - db 10, ROUTE_21_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_21_WIDTH) ; window -; 0x95354 + connection north, ROUTE_1, Route1, 0, 0, 10, PALLET_TOWN + connection south, ROUTE_21, Route21, 0, 0, 10, PALLET_TOWN map_header_2 Route21, ROUTE_21, $43, NORTH | SOUTH ; 0x95354 - - ; NORTH to Pallet Town - map PALLET_TOWN - dw (PalletTown_BlockData + (PALLET_TOWN_HEIGHT * PALLET_TOWN_WIDTH) - (PALLET_TOWN_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 10, PALLET_TOWN_WIDTH ; (connection strip length, connected map width) - db ((PALLET_TOWN_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((PALLET_TOWN_HEIGHT * 6) + (PALLET_TOWN_HEIGHT * PALLET_TOWN_WIDTH))) ; window - - ; SOUTH to Cinnabar Island - map CINNABAR_ISLAND - dw (CinnabarIsland_BlockData) ; strip pointer - dw ($C703 + 256 + ((ROUTE_21_HEIGHT + 3) * (ROUTE_21_WIDTH + 6))) ; strip destination - db 10, CINNABAR_ISLAND_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + CINNABAR_ISLAND_WIDTH) ; window -; 0x95378 + connection north, PALLET_TOWN, PalletTown, 0, 0, 10, ROUTE_21 + connection south, CINNABAR_ISLAND, CinnabarIsland, 0, 0, 10, ROUTE_21 map_header_2 CinnabarIsland, CINNABAR_ISLAND, $43, NORTH | EAST ; 0x95378 - - ; NORTH to Route 21 - map ROUTE_21 - dw (Route21_BlockData + (ROUTE_21_HEIGHT * ROUTE_21_WIDTH) - (ROUTE_21_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 10, ROUTE_21_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_21_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((ROUTE_21_HEIGHT * 6) + (ROUTE_21_HEIGHT * ROUTE_21_WIDTH))) ; window - - ; EAST to Route 20 - map ROUTE_20 - dw (Route20_BlockData) ; strip pointer - dw $c83d ; strip destination - db 9, ROUTE_20_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_20_WIDTH) ; window -; 0x9539c + connection north, ROUTE_21, Route21, 0, 0, 10, CINNABAR_ISLAND + connection east, ROUTE_20, Route20, 0, 0, 9, CINNABAR_ISLAND map_header_2 Route20, ROUTE_20, $43, WEST | EAST ; 0x9539c - - ; WEST to Cinnabar Island - map CINNABAR_ISLAND - dw (CinnabarIsland_BlockData + CINNABAR_ISLAND_WIDTH - 3) ; strip pointer - dw $c86c ; strip destination - db 9, CINNABAR_ISLAND_WIDTH ; (connection strip length, connected map width) - db 0, ((CINNABAR_ISLAND_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window - - ; EAST to Route 19 - map ROUTE_19 - dw (Route19_BlockData + ((ROUTE_19_HEIGHT - 12) * ROUTE_19_WIDTH)) ; strip pointer - dw $c821 ; strip destination - db 12, ROUTE_19_WIDTH ; (connection strip length, connected map width) - db 18, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_19_WIDTH) ; window -; 0x953c0 + connection west, CINNABAR_ISLAND, CinnabarIsland, 0, 0, 9, ROUTE_20 + connection east, ROUTE_19, Route19, -3, 6, 12, ROUTE_20 map_header_2 Route19, ROUTE_19, $43, NORTH | WEST ; 0x953c0 - - ; NORTH to Fuchsia City - map FUCHSIA_CITY - dw (FuchsiaCity_BlockData + (FUCHSIA_CITY_HEIGHT * FUCHSIA_CITY_WIDTH) - (FUCHSIA_CITY_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 13, FUCHSIA_CITY_WIDTH ; (connection strip length, connected map width) - db ((FUCHSIA_CITY_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((FUCHSIA_CITY_HEIGHT * 6) + (FUCHSIA_CITY_HEIGHT * FUCHSIA_CITY_WIDTH))) ; window - - ; WEST to Route 20 - map ROUTE_20 - dw (Route20_BlockData + ROUTE_20_WIDTH - 3) ; strip pointer - dw $c8c0 ; strip destination - db 9, ROUTE_20_WIDTH ; (connection strip length, connected map width) - db 238, ((ROUTE_20_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 59) ; window -; 0x953e4 + connection north, FUCHSIA_CITY, FuchsiaCity, 0, 0, 13, ROUTE_19 + connection west, ROUTE_20, Route20, 9, 0, 9, ROUTE_19 map_header_2 FuchsiaCity, FUCHSIA_CITY, $f, SOUTH | WEST | EAST ; 0x953e4 - - ; SOUTH to Route 19 - map ROUTE_19 - dw (Route19_BlockData) ; strip pointer - dw ($C703 + 256 + ((FUCHSIA_CITY_HEIGHT + 3) * (FUCHSIA_CITY_WIDTH + 6))) ; strip destination - db 10, ROUTE_19_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_19_WIDTH) ; window - - ; WEST to Route 18 - map ROUTE_18 - dw (Route18_BlockData + ROUTE_18_WIDTH - 3) ; strip pointer - dw $c904 ; strip destination - db 9, ROUTE_18_WIDTH ; (connection strip length, connected map width) - db 242, ((ROUTE_18_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window - - ; EAST to Route 15 - map ROUTE_15 - dw (Route15_BlockData) ; strip pointer - dw $c94f ; strip destination - db 9, ROUTE_15_WIDTH ; (connection strip length, connected map width) - db 238, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_15_WIDTH) ; window -; 0x95414 + connection south, ROUTE_19, Route19, 0, 0, 10, FUCHSIA_CITY + connection west, ROUTE_18, Route18, 7, 0, 9, FUCHSIA_CITY + connection east, ROUTE_15, Route15, 9, 0, 9, FUCHSIA_CITY map_header_2 Route18, ROUTE_18, $43, WEST | EAST ; 0x95414 - - ; WEST to Route 17 - map ROUTE_17 - dw (Route17_BlockData + ((ROUTE_17_HEIGHT - 10) * ROUTE_17_WIDTH) + 7) ; strip pointer - dw $c800 ; strip destination - db 10, ROUTE_17_WIDTH ; (connection strip length, connected map width) - db 76, ((ROUTE_17_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window - - ; EAST to Fuchsia City - map FUCHSIA_CITY - dw (FuchsiaCity_BlockData + ((FUCHSIA_CITY_HEIGHT - 14) * FUCHSIA_CITY_WIDTH)) ; strip pointer - dw $c80d ; strip destination - db 14, FUCHSIA_CITY_WIDTH ; (connection strip length, connected map width) - db 14, 0 ; yoffset, xoffset - dw ($C807 + FUCHSIA_CITY_WIDTH) ; window -; 0x95438 + connection west, ROUTE_17, Route17, -3, 35, 10, ROUTE_18 + connection east, FUCHSIA_CITY, FuchsiaCity, -3, 4, 14, ROUTE_18 map_header_2 Route17, ROUTE_17, $43, NORTH | EAST ; 0x95438 - - ; NORTH to Route 16 - map ROUTE_16 - dw (Route16_BlockData + (ROUTE_16_HEIGHT * ROUTE_16_WIDTH) - (ROUTE_16_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 10, ROUTE_16_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_16_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((ROUTE_16_HEIGHT * 6) + (ROUTE_16_HEIGHT * ROUTE_16_WIDTH))) ; window - - ; EAST to Route 18 - map ROUTE_18 - dw (Route18_BlockData) ; strip pointer - dw $ca9d ; strip destination - db 9, ROUTE_18_WIDTH ; (connection strip length, connected map width) - db 180, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_18_WIDTH) ; window -; 0x9545c + connection north, ROUTE_16, Route16, 0, 0, 10, ROUTE_17 + connection east, ROUTE_18, Route18, 38, 0, 9, ROUTE_17 map_header_2 Route16, ROUTE_16, $f, SOUTH | EAST ; 0x9545c - - ; SOUTH to Route 17 - map ROUTE_17 - dw (Route17_BlockData) ; strip pointer - dw ($C703 + 256 + ((ROUTE_16_HEIGHT + 3) * (ROUTE_16_WIDTH + 6))) ; strip destination - db 10, ROUTE_17_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_17_WIDTH) ; window - - ; EAST to Celadon City - map CELADON_CITY - dw (CeladonCity_BlockData + ((CELADON_CITY_HEIGHT - 12) * CELADON_CITY_WIDTH)) ; strip pointer - dw $c80d ; strip destination - db 12, CELADON_CITY_WIDTH ; (connection strip length, connected map width) - db 18, 0 ; yoffset, xoffset - dw ($C807 + CELADON_CITY_WIDTH) ; window -; 0x95480 + connection south, ROUTE_17, Route17, 0, 0, 10, ROUTE_16 + connection east, CELADON_CITY, CeladonCity, -3, 6, 12, ROUTE_16 map_header_2 CeladonCity, CELADON_CITY, $f, WEST | EAST ; 0x95480 - - ; WEST to Route 16 - map ROUTE_16 - dw (Route16_BlockData + ROUTE_16_WIDTH - 3) ; strip pointer - dw $c938 ; strip destination - db 9, ROUTE_16_WIDTH ; (connection strip length, connected map width) - db 238, ((ROUTE_16_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window - - ; EAST to Route 7 - map ROUTE_7 - dw (Route7_BlockData) ; strip pointer - dw $c8e7 ; strip destination - db 9, ROUTE_7_WIDTH ; (connection strip length, connected map width) - db 246, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_7_WIDTH) ; window -; 0x954a4 + connection west, ROUTE_16, Route16, 9, 0, 9, CELADON_CITY + connection east, ROUTE_7, Route7, 5, 0, 9, CELADON_CITY map_header_2 Route7, ROUTE_7, $f, WEST | EAST ; 0x954a4 - - ; WEST to Celadon City - map CELADON_CITY - dw (CeladonCity_BlockData + 21 + (CELADON_CITY_HEIGHT * 2)) ; strip pointer - dw $c800 ; strip destination - db 15, CELADON_CITY_WIDTH ; (connection strip length, connected map width) - db 10, ((CELADON_CITY_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window - - ; EAST to Saffron City - map SAFFRON_CITY - dw (SaffronCity_BlockData + ((SAFFRON_CITY_HEIGHT - 12) * SAFFRON_CITY_WIDTH)) ; strip pointer - dw $c80d ; strip destination - db 12, SAFFRON_CITY_WIDTH ; (connection strip length, connected map width) - db 18, 0 ; yoffset, xoffset - dw ($C807 + SAFFRON_CITY_WIDTH) ; window -; 0x954c8 + connection west, CELADON_CITY, CeladonCity, -3, 2, 15, ROUTE_7 + connection east, SAFFRON_CITY, SaffronCity, -3, 6, 12, ROUTE_7 map_header_2 Route15, ROUTE_15, $f, WEST | EAST ; 0x954c8 - - ; WEST to Fuchsia City - map FUCHSIA_CITY - dw (FuchsiaCity_BlockData + (((FUCHSIA_CITY_HEIGHT - ROUTE_15_HEIGHT) * FUCHSIA_CITY_WIDTH) - (FUCHSIA_CITY_WIDTH * 3) + (FUCHSIA_CITY_WIDTH - 1) - 2)) ; strip pointer - dw $c800 ; strip destination - db 12, FUCHSIA_CITY_WIDTH ; (connection strip length, connected map width) - db 18, ((FUCHSIA_CITY_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window - - ; EAST to Route 14 - map ROUTE_14 - dw (Route14_BlockData + ((ROUTE_14_HEIGHT - 12) * ROUTE_14_WIDTH)) ; strip pointer - dw $c817 ; strip destination - db 12, ROUTE_14_WIDTH ; (connection strip length, connected map width) - db 18, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_14_WIDTH) ; window -; 0x954ec + connection west, FUCHSIA_CITY, FuchsiaCity, -3, 6, 12, ROUTE_15 + connection east, ROUTE_14, Route14, -3, 6, 12, ROUTE_15 map_header_2 Route14, ROUTE_14, $43, NORTH | WEST ; 0x954ec - - ; NORTH to Route 13 - map ROUTE_13 - dw (Route13_BlockData + (ROUTE_13_HEIGHT * ROUTE_13_WIDTH) - (ROUTE_13_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 13, ROUTE_13_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_13_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((ROUTE_13_HEIGHT * 6) + (ROUTE_13_HEIGHT * ROUTE_13_WIDTH))) ; window - - ; WEST to Route 15 - map ROUTE_15 - dw (Route15_BlockData + ROUTE_15_WIDTH - 3) ; strip pointer - dw $c8c0 ; strip destination - db 9, ROUTE_15_WIDTH ; (connection strip length, connected map width) - db 238, ((ROUTE_15_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window -; 0x95510 + connection north, ROUTE_13, Route13, 0, 0, 13, ROUTE_14 + connection west, ROUTE_15, Route15, 9, 0, 9, ROUTE_14 map_header_2 Route13, ROUTE_13, $43, NORTH | SOUTH ; 0x95510 - - ; NORTH to Route 12 - map ROUTE_12 - dw (Route12_BlockData + (ROUTE_12_HEIGHT * ROUTE_12_WIDTH) - (ROUTE_12_WIDTH * 3)) ; strip pointer - dw ($C703 + 276) ; strip destination - db 10, ROUTE_12_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_12_HEIGHT * 2) - 1), 216 ; yoffset, xoffset - dw ($C801 + ((ROUTE_12_HEIGHT * 6) + (ROUTE_12_HEIGHT * ROUTE_12_WIDTH))) ; window - - ; SOUTH to Route 14 - map ROUTE_14 - dw (Route14_BlockData) ; strip pointer - dw ($C703 + 256 + ((ROUTE_13_HEIGHT + 3) * (ROUTE_13_WIDTH + 6))) ; strip destination - db 10, ROUTE_14_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_14_WIDTH) ; window -; 0x95534 + connection north, ROUTE_12, Route12, 20, 0, 10, ROUTE_13 + connection south, ROUTE_14, Route14, 0, 0, 10, ROUTE_13 map_header_2 Route12, ROUTE_12, $43, NORTH | SOUTH | WEST ; 0x95534 - - ; NORTH to Lavender Town - map LAVENDER_TOWN - dw (LavenderTown_BlockData + (LAVENDER_TOWN_HEIGHT * LAVENDER_TOWN_WIDTH) - (LAVENDER_TOWN_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 10, LAVENDER_TOWN_WIDTH ; (connection strip length, connected map width) - db ((LAVENDER_TOWN_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((LAVENDER_TOWN_HEIGHT * 6) + (LAVENDER_TOWN_HEIGHT * LAVENDER_TOWN_WIDTH))) ; window - - ; SOUTH to Route 13 - map ROUTE_13 - dw (Route13_BlockData + (((40 - 13 + ROUTE_12_WIDTH) / 2) - 1)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_12_HEIGHT + 3) * (ROUTE_12_WIDTH + 6))) ; strip destination - db 13, ROUTE_13_WIDTH ; (connection strip length, connected map width) - db 0, 40 ; yoffset, xoffset - dw ($C807 + ROUTE_13_WIDTH) ; window - - ; WEST to Route 11 - map ROUTE_11 - dw (Route11_BlockData + ROUTE_11_WIDTH - 3) ; strip pointer - dw $c8c0 ; strip destination - db 9, ROUTE_11_WIDTH ; (connection strip length, connected map width) - db 238, ((ROUTE_11_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window -; 0x95564 + connection north, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_12 + connection south, ROUTE_13, Route13, -3, 17, 13, ROUTE_12 + connection west, ROUTE_11, Route11, 9, 0, 9, ROUTE_12 map_header_2 Route11, ROUTE_11, $f, WEST | EAST ; 0x95564 - - ; WEST to Vermilion City - map VERMILION_CITY - dw (VermilionCity_BlockData + VERMILION_CITY_WIDTH - 3) ; strip pointer - dw $c84e ; strip destination - db 12, VERMILION_CITY_WIDTH ; (connection strip length, connected map width) - db 0, ((VERMILION_CITY_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window - - ; EAST to Route 12 - map ROUTE_12 - dw (Route12_BlockData + 100 - (ROUTE_12_WIDTH * 4)) ; strip pointer - dw $c817 ; strip destination - db 15, ROUTE_12_WIDTH ; (connection strip length, connected map width) - db 18, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_12_WIDTH) ; window -; 0x95588 + connection west, VERMILION_CITY, VermilionCity, 0, 0, 12, ROUTE_11 + connection east, ROUTE_12, Route12, -3, 6, 15, ROUTE_11 map_header_2 LavenderTown, LAVENDER_TOWN, $2c, NORTH | SOUTH | WEST ; 0x95588 - - ; NORTH to Route 10 South - map ROUTE_10_SOUTH - dw (Route10South_BlockData + (ROUTE_10_SOUTH_HEIGHT * ROUTE_10_SOUTH_WIDTH) - (ROUTE_10_SOUTH_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 10, ROUTE_10_SOUTH_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_10_SOUTH_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((ROUTE_10_SOUTH_HEIGHT * 6) + (ROUTE_10_SOUTH_HEIGHT * ROUTE_10_SOUTH_WIDTH))) ; window - - ; SOUTH to Route 12 - map ROUTE_12 - dw (Route12_BlockData) ; strip pointer - dw ($C703 + 256 + ((LAVENDER_TOWN_HEIGHT + 3) * (LAVENDER_TOWN_WIDTH + 6))) ; strip destination - db 10, ROUTE_12_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_12_WIDTH) ; window - - ; WEST to Route 8 - map ROUTE_8 - dw (Route8_BlockData + ROUTE_8_WIDTH - 3) ; strip pointer - dw $c830 ; strip destination - db 9, ROUTE_8_WIDTH ; (connection strip length, connected map width) - db 0, ((ROUTE_8_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window -; 0x955b8 + connection north, ROUTE_10_SOUTH, Route10South, 0, 0, 10, LAVENDER_TOWN + connection south, ROUTE_12, Route12, 0, 0, 10, LAVENDER_TOWN + connection west, ROUTE_8, Route8, 0, 0, 9, LAVENDER_TOWN map_header_2 VermilionCity, VERMILION_CITY, $43, NORTH | EAST ; 0x955b8 - - ; NORTH to Route 6 - map ROUTE_6 - dw (Route6_BlockData + (ROUTE_6_HEIGHT * ROUTE_6_WIDTH) - (ROUTE_6_WIDTH * 3)) ; strip pointer - dw ($C703 + 261) ; strip destination - db 10, ROUTE_6_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_6_HEIGHT * 2) - 1), 246 ; yoffset, xoffset - dw ($C801 + ((ROUTE_6_HEIGHT * 6) + (ROUTE_6_HEIGHT * ROUTE_6_WIDTH))) ; window - - ; EAST to Route 11 - map ROUTE_11 - dw (Route11_BlockData) ; strip pointer - dw $c865 ; strip destination - db 9, ROUTE_11_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_11_WIDTH) ; window -; 0x955dc + connection north, ROUTE_6, Route6, 5, 0, 10, VERMILION_CITY + connection east, ROUTE_11, Route11, 0, 0, 9, VERMILION_CITY map_header_2 Route6, ROUTE_6, $f, NORTH | SOUTH ; 0x955dc - - ; NORTH to Saffron City - map SAFFRON_CITY - dw (SaffronCity_BlockData + SAFFRON_CITY_WIDTH + 10 + (16 * SAFFRON_CITY_HEIGHT) - 16) ; strip pointer - dw ($C703 + 253) ; strip destination - db 16, SAFFRON_CITY_WIDTH ; (connection strip length, connected map width) - db ((SAFFRON_CITY_HEIGHT * 2) - 1), 10 ; yoffset, xoffset - dw ($C801 + ((SAFFRON_CITY_HEIGHT * 6) + (SAFFRON_CITY_HEIGHT * SAFFRON_CITY_WIDTH))) ; window - - ; SOUTH to Vermilion City - map VERMILION_CITY - dw (VermilionCity_BlockData + ((10 - 16 + ROUTE_6_WIDTH) / 2)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_6_HEIGHT + 3) * (ROUTE_6_WIDTH + 6))) ; strip destination - db 16, VERMILION_CITY_WIDTH ; (connection strip length, connected map width) - db 0, 10 ; yoffset, xoffset - dw ($C807 + VERMILION_CITY_WIDTH) ; window -; 0x95600 + connection north, SAFFRON_CITY, SaffronCity, -3, 2, 16, ROUTE_6 + connection south, VERMILION_CITY, VermilionCity, -3, 2, 16, ROUTE_6 map_header_2 SaffronCity, SAFFRON_CITY, $f, NORTH | SOUTH | WEST | EAST ; 0x95600 - - ; NORTH to Route 5 - map ROUTE_5 - dw (Route5_BlockData + (ROUTE_5_HEIGHT * ROUTE_5_WIDTH) - (ROUTE_5_WIDTH * 3)) ; strip pointer - dw ($C703 + 261) ; strip destination - db 10, ROUTE_5_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_5_HEIGHT * 2) - 1), 246 ; yoffset, xoffset - dw ($C801 + ((ROUTE_5_HEIGHT * 6) + (ROUTE_5_HEIGHT * ROUTE_5_WIDTH))) ; window - - ; SOUTH to Route 6 - map ROUTE_6 - dw (Route6_BlockData) ; strip pointer - dw ($C703 + 261 + ((SAFFRON_CITY_HEIGHT + 3) * (SAFFRON_CITY_WIDTH + 6))) ; strip destination - db 10, ROUTE_6_WIDTH ; (connection strip length, connected map width) - db 0, 246 ; yoffset, xoffset - dw ($C807 + ROUTE_6_WIDTH) ; window - - ; WEST to Route 7 - map ROUTE_7 - dw (Route7_BlockData + ROUTE_7_WIDTH - 3) ; strip pointer - dw $c938 ; strip destination - db 9, ROUTE_7_WIDTH ; (connection strip length, connected map width) - db 238, ((ROUTE_7_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 19) ; window - - ; EAST to Route 8 - map ROUTE_8 - dw (Route8_BlockData) ; strip pointer - dw $c94f ; strip destination - db 9, ROUTE_8_WIDTH ; (connection strip length, connected map width) - db 238, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_8_WIDTH) ; window -; 0x9563c + connection north, ROUTE_5, Route5, 5, 0, 10, SAFFRON_CITY + connection south, ROUTE_6, Route6, 5, 0, 10, SAFFRON_CITY + connection west, ROUTE_7, Route7, 9, 0, 9, SAFFRON_CITY + connection east, ROUTE_8, Route8, 9, 0, 9, SAFFRON_CITY map_header_2 Route5, ROUTE_5, $f, NORTH | SOUTH ; 0x9563c - - ; NORTH to Cerulean City - map CERULEAN_CITY - dw (CeruleanCity_BlockData + CERULEAN_CITY_WIDTH + 10 + (16 * CERULEAN_CITY_HEIGHT) - 16) ; strip pointer - dw ($C703 + 253) ; strip destination - db 16, CERULEAN_CITY_WIDTH ; (connection strip length, connected map width) - db ((CERULEAN_CITY_HEIGHT * 2) - 1), 10 ; yoffset, xoffset - dw ($C801 + ((CERULEAN_CITY_HEIGHT * 6) + (CERULEAN_CITY_HEIGHT * CERULEAN_CITY_WIDTH))) ; window - - ; SOUTH to Saffron City - map SAFFRON_CITY - dw (SaffronCity_BlockData + ((10 - 16 + ROUTE_5_WIDTH) / 2)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_5_HEIGHT + 3) * (ROUTE_5_WIDTH + 6))) ; strip destination - db 16, SAFFRON_CITY_WIDTH ; (connection strip length, connected map width) - db 0, 10 ; yoffset, xoffset - dw ($C807 + SAFFRON_CITY_WIDTH) ; window -; 0x95660 + connection north, CERULEAN_CITY, CeruleanCity, -3, 2, 16, ROUTE_5 + connection south, SAFFRON_CITY, SaffronCity, -3, 2, 16, ROUTE_5 map_header_2 CeruleanCity, CERULEAN_CITY, $f, NORTH | SOUTH | WEST | EAST ; 0x95660 - - ; NORTH to Route 24 - map ROUTE_24 - dw (Route24_BlockData + (ROUTE_24_HEIGHT * ROUTE_24_WIDTH) - (ROUTE_24_WIDTH * 3)) ; strip pointer - dw ($C703 + 262) ; strip destination - db 10, ROUTE_24_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_24_HEIGHT * 2) - 1), 244 ; yoffset, xoffset - dw ($C801 + ((ROUTE_24_HEIGHT * 6) + (ROUTE_24_HEIGHT * ROUTE_24_WIDTH))) ; window - - ; SOUTH to Route 5 - map ROUTE_5 - dw (Route5_BlockData) ; strip pointer - dw ($C703 + 261 + ((CERULEAN_CITY_HEIGHT + 3) * (CERULEAN_CITY_WIDTH + 6))) ; strip destination - db 10, ROUTE_5_WIDTH ; (connection strip length, connected map width) - db 0, 246 ; yoffset, xoffset - dw ($C807 + ROUTE_5_WIDTH) ; window - - ; WEST to Route 4 - map ROUTE_4 - dw (Route4_BlockData + ROUTE_4_WIDTH - 3) ; strip pointer - dw $c8d0 ; strip destination - db 9, ROUTE_4_WIDTH ; (connection strip length, connected map width) - db 246, ((ROUTE_4_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window - - ; EAST to Route 9 - map ROUTE_9 - dw (Route9_BlockData) ; strip pointer - dw $c94f ; strip destination - db 9, ROUTE_9_WIDTH ; (connection strip length, connected map width) - db 238, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_9_WIDTH) ; window -; 0x9569c + connection north, ROUTE_24, Route24, 6, 0, 10, CERULEAN_CITY + connection south, ROUTE_5, Route5, 5, 0, 10, CERULEAN_CITY + connection west, ROUTE_4, Route4, 5, 0, 9, CERULEAN_CITY + connection east, ROUTE_9, Route9, 9, 0, 9, CERULEAN_CITY map_header_2 Route9, ROUTE_9, $2c, SOUTH | WEST ; 0x9569c - - ; SOUTH to Route 10 North - map ROUTE_10_NORTH - dw (Route10North_BlockData) ; strip pointer - dw ($C703 + 276 + ((ROUTE_9_HEIGHT + 3) * (ROUTE_9_WIDTH + 6))) ; strip destination - db 10, ROUTE_10_NORTH_WIDTH ; (connection strip length, connected map width) - db 0, 216 ; yoffset, xoffset - dw ($C807 + ROUTE_10_NORTH_WIDTH) ; window - - ; WEST to Cerulean City - map CERULEAN_CITY - dw (CeruleanCity_BlockData + (((CERULEAN_CITY_HEIGHT - ROUTE_9_HEIGHT) * CERULEAN_CITY_WIDTH) - (CERULEAN_CITY_WIDTH * 3) + (CERULEAN_CITY_WIDTH - 1) - 2)) ; strip pointer - dw $c800 ; strip destination - db 12, CERULEAN_CITY_WIDTH ; (connection strip length, connected map width) - db 18, ((CERULEAN_CITY_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window -; 0x956c0 + connection south, ROUTE_10_NORTH, Route10North, 20, 0, 10, ROUTE_9 + connection west, CERULEAN_CITY, CeruleanCity, -3, 6, 12, ROUTE_9 map_header_2 Route24, ROUTE_24, $2c, NORTH | SOUTH ; 0x956c0 - - ; NORTH to Route 25 - map ROUTE_25 - dw (Route25_BlockData + (ROUTE_25_HEIGHT * ROUTE_25_WIDTH) - (ROUTE_25_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 13, ROUTE_25_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_25_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((ROUTE_25_HEIGHT * 6) + (ROUTE_25_HEIGHT * ROUTE_25_WIDTH))) ; window - - ; SOUTH to Cerulean City - map CERULEAN_CITY - dw (CeruleanCity_BlockData + ((12 - 16 + ROUTE_24_WIDTH) / 2)) ; strip pointer - dw ($C703 + 253 + ((ROUTE_24_HEIGHT + 3) * (ROUTE_24_WIDTH + 6))) ; strip destination - db 16, CERULEAN_CITY_WIDTH ; (connection strip length, connected map width) - db 0, 12 ; yoffset, xoffset - dw ($C807 + CERULEAN_CITY_WIDTH) ; window -; 0x956e4 + connection north, ROUTE_25, Route25, 0, 0, 13, ROUTE_24 + connection south, CERULEAN_CITY, CeruleanCity, -3, 3, 16, ROUTE_24 map_header_2 Route25, ROUTE_25, $2c, SOUTH ; 0x956e4 - - ; SOUTH to Route 24 - map ROUTE_24 - dw (Route24_BlockData) ; strip pointer - dw ($C703 + 256 + ((ROUTE_25_HEIGHT + 3) * (ROUTE_25_WIDTH + 6))) ; strip destination - db 10, ROUTE_24_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_24_WIDTH) ; window -; 0x956fc + connection south, ROUTE_24, Route24, 0, 0, 10, ROUTE_25 map_header_2 Route3, ROUTE_3, $2c, WEST | EAST ; 0x956fc - - ; WEST to Pewter City - map PEWTER_CITY - dw (PewterCity_BlockData + 21 + (PEWTER_CITY_HEIGHT * 2)) ; strip pointer - dw $c800 ; strip destination - db 15, PEWTER_CITY_WIDTH ; (connection strip length, connected map width) - db 10, ((PEWTER_CITY_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window - - ; EAST to Route 4 - map ROUTE_4 - dw (Route4_BlockData) ; strip pointer - dw $c88d ; strip destination - db 9, ROUTE_4_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_4_WIDTH) ; window -; 0x95720 + connection west, PEWTER_CITY, PewterCity, -3, 2, 15, ROUTE_3 + connection east, ROUTE_4, Route4, 0, 0, 9, ROUTE_3 map_header_2 Route4, ROUTE_4, $2c, WEST | EAST ; 0x95720 - - ; WEST to Route 3 - map ROUTE_3 - dw (Route3_BlockData + ROUTE_3_WIDTH - 3) ; strip pointer - dw $c84e ; strip destination - db 9, ROUTE_3_WIDTH ; (connection strip length, connected map width) - db 0, ((ROUTE_3_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 59) ; window - - ; EAST to Cerulean City - map CERULEAN_CITY - dw (CeruleanCity_BlockData + ((100 - (CERULEAN_CITY_WIDTH * 4)) * 2)) ; strip pointer - dw $c817 ; strip destination - db 15, CERULEAN_CITY_WIDTH ; (connection strip length, connected map width) - db 10, 0 ; yoffset, xoffset - dw ($C807 + CERULEAN_CITY_WIDTH) ; window -; 0x95744 + connection west, ROUTE_3, Route3, 0, 0, 9, ROUTE_4 + connection east, CERULEAN_CITY, CeruleanCity, -3, 2, 15, ROUTE_4 map_header_2 Route8, ROUTE_8, $2c, WEST | EAST ; 0x95744 - - ; WEST to Saffron City - map SAFFRON_CITY - dw (SaffronCity_BlockData + (((SAFFRON_CITY_HEIGHT - ROUTE_8_HEIGHT) * SAFFRON_CITY_WIDTH) - (SAFFRON_CITY_WIDTH * 3) + (SAFFRON_CITY_WIDTH - 1) - 2)) ; strip pointer - dw $c800 ; strip destination - db 12, SAFFRON_CITY_WIDTH ; (connection strip length, connected map width) - db 18, ((SAFFRON_CITY_WIDTH * 2) - 1) ; yoffset, xoffset - dw ($C807 + 39) ; window - - ; EAST to Lavender Town - map LAVENDER_TOWN - dw (LavenderTown_BlockData) ; strip pointer - dw $c865 ; strip destination - db 9, LAVENDER_TOWN_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + LAVENDER_TOWN_WIDTH) ; window -; 0x95768 + connection west, SAFFRON_CITY, SaffronCity, -3, 6, 12, ROUTE_8 + connection east, LAVENDER_TOWN, LavenderTown, 0, 0, 9, ROUTE_8 map_header_2 Route10North, ROUTE_10_NORTH, $2c, NORTH | SOUTH ; 0x95768 - - ; NORTH to Route 9 - map ROUTE_9 - dw (Route9_BlockData + ((ROUTE_9_HEIGHT - 3) * ROUTE_9_WIDTH) + 17) ; strip pointer - dw ($C703 + 253) ; strip destination - db 13, ROUTE_9_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_9_HEIGHT * 2) - 1), 40 ; yoffset, xoffset - dw ($C801 + ((ROUTE_9_HEIGHT * 6) + (ROUTE_9_HEIGHT * ROUTE_9_WIDTH))) ; window - - ; SOUTH to Route 10 South - map ROUTE_10_SOUTH - dw (Route10South_BlockData) ; strip pointer - dw ($C703 + 256 + ((ROUTE_10_NORTH_HEIGHT + 3) * (ROUTE_10_NORTH_WIDTH + 6))) ; strip destination - db 10, ROUTE_10_SOUTH_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + ROUTE_10_SOUTH_WIDTH) ; window -; 0x9578c + connection north, ROUTE_9, Route9, -3, 17, 13, ROUTE_10_NORTH + connection south, ROUTE_10_SOUTH, Route10South, 0, 0, 10, ROUTE_10_NORTH map_header_2 Route10South, ROUTE_10_SOUTH, $2c, NORTH | SOUTH ; 0x9578c - - ; NORTH to Route 10 North - map ROUTE_10_NORTH - dw (Route10North_BlockData + (ROUTE_10_NORTH_HEIGHT * ROUTE_10_NORTH_WIDTH) - (ROUTE_10_NORTH_WIDTH * 3)) ; strip pointer - dw ($C703 + 256) ; strip destination - db 10, ROUTE_10_NORTH_WIDTH ; (connection strip length, connected map width) - db ((ROUTE_10_NORTH_HEIGHT * 2) - 1), 0 ; yoffset, xoffset - dw ($C801 + ((ROUTE_10_NORTH_HEIGHT * 6) + (ROUTE_10_NORTH_HEIGHT * ROUTE_10_NORTH_WIDTH))) ; window - - ; SOUTH to Lavender Town - map LAVENDER_TOWN - dw (LavenderTown_BlockData) ; strip pointer - dw ($C703 + 256 + ((ROUTE_10_SOUTH_HEIGHT + 3) * (ROUTE_10_SOUTH_WIDTH + 6))) ; strip destination - db 10, LAVENDER_TOWN_WIDTH ; (connection strip length, connected map width) - db 0, 0 ; yoffset, xoffset - dw ($C807 + LAVENDER_TOWN_WIDTH) ; window -; 0x957b0 + connection north, ROUTE_10_NORTH, Route10North, 0, 0, 10, ROUTE_10_SOUTH + connection south, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_10_SOUTH map_header_2 Route23, ROUTE_23, $f, NONE ; 0x957b0 map_header_2 SproutTower1F, SPROUT_TOWER_1F, $0, NONE ; 0x957bc @@ -1673,3 +682,4 @@ ENDM map_header_2 Route30BerrySpeechHouse, ROUTE_30_BERRY_SPEECH_HOUSE, $0, NONE ; 0x9668c map_header_2 MrPokemonsHouse, MR_POKEMONS_HOUSE, $0, NONE ; 0x96698 map_header_2 Route31VioletGate, ROUTE_31_VIOLET_GATE, $0, NONE ; 0x966a4 + From 2c5be6760437c363617ad4052a40e5f5fd8e7470 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 23:18:24 -0800 Subject: [PATCH 19/20] Move second map header macros into macros/map.asm. On second thought, keep the data separate from ugly macros. --- macros/map.asm | 87 +++++++++++++++++++++++++++++++++++++ maps/second_map_headers.asm | 85 ------------------------------------ 2 files changed, 87 insertions(+), 85 deletions(-) diff --git a/macros/map.asm b/macros/map.asm index ef62f386f..81ac32a1b 100644 --- a/macros/map.asm +++ b/macros/map.asm @@ -64,3 +64,90 @@ warp_def: macro db \4 ; map group db \5 ; map number endm + + +map_header_2: MACRO +; label, map, border block, connections +\1_SecondMapHeader:: + db \3 +\2\@HEIGHT EQUS "\2_HEIGHT" +\2\@WIDTH EQUS "\2_WIDTH" + db \2\@HEIGHT, \2\@WIDTH + db BANK(\1_BlockData) + dw \1_BlockData + db BANK(\1_MapScriptHeader) + dw \1_MapScriptHeader + dw \1_MapEventHeader + db \4 +ENDM + +connection: MACRO +if "\1" == "north" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: x +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + \2_WIDTH * (\2_HEIGHT - 3) + \5 + dw OverworldMap + \4 + 3 + db \6 + db \2_WIDTH + db \2_HEIGHT * 2 - 1 + db (\4 - \5) * -2 + dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1 +endc + +if "\1" == "south" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: x +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + \5 + dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3 + db \6 + db \2_WIDTH + db 0 + db (\4 - \5) * -2 + dw OverworldMap + \2_WIDTH + 7 +endc + +if "\1" == "west" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: y +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + (\2_WIDTH * \5) + \2_WIDTH - 3 + dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3) + db \6 + db \2_WIDTH + db (\4 - \5) * -2 + db \2_WIDTH * 2 - 1 + dw OverworldMap + \2_WIDTH * 2 + 6 +endc + +if "\1" == "east" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: y +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + (\2_WIDTH * \5) + dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3 + db \6 + db \2_WIDTH + db (\4 - \5) * -2 + db 0 + dw OverworldMap + \2_WIDTH + 7 +endc + +ENDM diff --git a/maps/second_map_headers.asm b/maps/second_map_headers.asm index 9b8440f38..0651dd9d1 100644 --- a/maps/second_map_headers.asm +++ b/maps/second_map_headers.asm @@ -1,88 +1,3 @@ -map_header_2: MACRO -; label, map, border block, connections -\1_SecondMapHeader:: - db \3 -\2\@HEIGHT EQUS "\2_HEIGHT" -\2\@WIDTH EQUS "\2_WIDTH" - db \2\@HEIGHT, \2\@WIDTH - db BANK(\1_BlockData) - dw \1_BlockData - db BANK(\1_MapScriptHeader) - dw \1_MapScriptHeader - dw \1_MapEventHeader - db \4 -ENDM - -connection: MACRO -if "\1" == "north" -;\2: map id -;\3: map label (eventually will be rolled into map id) -;\4: x -;\5: offset? -;\6: strip length -;\7: this map id - map \2 - dw \3_BlockData + \2_WIDTH * (\2_HEIGHT - 3) + \5 - dw OverworldMap + \4 + 3 - db \6 - db \2_WIDTH - db \2_HEIGHT * 2 - 1 - db (\4 - \5) * -2 - dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1 -endc - -if "\1" == "south" -;\2: map id -;\3: map label (eventually will be rolled into map id) -;\4: x -;\5: offset? -;\6: strip length -;\7: this map id - map \2 - dw \3_BlockData + \5 - dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3 - db \6 - db \2_WIDTH - db 0 - db (\4 - \5) * -2 - dw OverworldMap + \2_WIDTH + 7 -endc - -if "\1" == "west" -;\2: map id -;\3: map label (eventually will be rolled into map id) -;\4: y -;\5: offset? -;\6: strip length -;\7: this map id - map \2 - dw \3_BlockData + (\2_WIDTH * \5) + \2_WIDTH - 3 - dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3) - db \6 - db \2_WIDTH - db (\4 - \5) * -2 - db \2_WIDTH * 2 - 1 - dw OverworldMap + \2_WIDTH * 2 + 6 -endc - -if "\1" == "east" -;\2: map id -;\3: map label (eventually will be rolled into map id) -;\4: y -;\5: offset? -;\6: strip length -;\7: this map id - map \2 - dw \3_BlockData + (\2_WIDTH * \5) - dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3 - db \6 - db \2_WIDTH - db (\4 - \5) * -2 - db 0 - dw OverworldMap + \2_WIDTH + 7 -endc - -ENDM map_header_2 NewBarkTown, NEW_BARK_TOWN, $5, WEST | EAST ; 0x94dd8 connection west, ROUTE_29, Route29, 0, 0, 9, NEW_BARK_TOWN From 1480602df75b980e291a832ba3a485d123a53047 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 23:20:53 -0800 Subject: [PATCH 20/20] Move the map_header macro into macros/map.asm. --- macros/map.asm | 9 +++++++++ maps/map_headers.asm | 8 -------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/macros/map.asm b/macros/map.asm index 81ac32a1b..b5f66bafb 100644 --- a/macros/map.asm +++ b/macros/map.asm @@ -66,6 +66,15 @@ warp_def: macro endm +map_header: MACRO + ; label, tileset, permission, location, music, time of day, fishing group +\1_MapHeader: + db BANK(\1_SecondMapHeader), \2, \3 + dw \1_SecondMapHeader + db \4, \5, \6, \7 +ENDM + + map_header_2: MACRO ; label, map, border block, connections \1_SecondMapHeader:: diff --git a/maps/map_headers.asm b/maps/map_headers.asm index 90cb1f415..36768a54d 100644 --- a/maps/map_headers.asm +++ b/maps/map_headers.asm @@ -1,11 +1,3 @@ -map_header: MACRO - ; label, tileset, permission, location, music, time of day, fishing group -\1_MapHeader: - db BANK(\1_SecondMapHeader), \2, \3 - dw \1_SecondMapHeader - db \4, \5, \6, \7 -ENDM - MapGroupPointers:: ; 0x94000 ; pointers to the first map header of each map group