diff --git a/battle/core.asm b/battle/core.asm index 879ae211f..a0e2576c1 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 @@ -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 @@ -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/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/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 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/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/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/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/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/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/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/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/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/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/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/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/items/item_effects.asm b/items/item_effects.asm index e4c3aad8e..5f594c1c7 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 @@ -1431,7 +1431,7 @@ RareCandy: ; ef14 hlcoord 11, 1 ld bc, $0004 - predef Function50b7b + predef PrintTempMonStats call Functiona80 @@ -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/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/macros/map.asm b/macros/map.asm index ef62f386f..b5f66bafb 100644 --- a/macros/map.asm +++ b/macros/map.asm @@ -64,3 +64,99 @@ warp_def: macro db \4 ; map group db \5 ; map number 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:: + 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/main.asm b/main.asm index 51aa6bdd8..cf4b7fbc0 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, $0001 - 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, $0000 - 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, $0014 - 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, $0015 - 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, $0004 - 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, $0009 - 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, $0009 - 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, $0004 - 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, $0004 - add hl, bc - bit 0, [hl] - jr nz, Function44a3 - ; fallthrough -; 4448 - -Function4448: ; 4448 - ld de, Pointers445f + 2 - jr Function444d -; 444d - -Function444d: ; 444d - ld hl, $000b - 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, $0004 - add hl, bc - bit 3, [hl] - jp nz, Function44aa - ld hl, $000c - 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, $0004 - add hl, bc - bit 3, [hl] - jp nz, Function44aa - ld hl, $000c - 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, $0004 - add hl, bc - bit 3, [hl] - jp nz, Function44aa - ld hl, $000c - 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, $0008 - 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, $000c - 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, $0008 - 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, $000c - 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, $000c - 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, $000c - 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, $000c - 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, $000e - add hl, bc - ld a, [hl] - call Function4661 - -.asm_464f - ld hl, $000e - add hl, bc - ld a, [hl] - call Function4679 - ret c - ld hl, $000f - 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, $0005 - add hl, bc - set 3, [hl] - ret - -.asm_4672 - ld hl, $0005 - add hl, bc - res 3, [hl] - ret -; 4679 - -Function4679: ; 4679 - and a - ret -; 467b - -Function467b: ; 467b - xor a - ld hl, $000c - add hl, bc - ld [hl], a - ld hl, $001b - add hl, bc - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld hl, $0007 - add hl, bc - ld [hl], $ff - ret -; 4690 - -Function4690: ; 4690 - ld hl, $0007 - add hl, bc - ld [hl], a - ld hl, $0004 - add hl, bc - bit 2, [hl] - jr nz, .asm_46a6 - - add a - add a - and $c - ld hl, $0008 - 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, $000e - 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, $0007 - 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, $0007 - 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, $0001 - add hl, bc - ld a, [hl] - call GetMapObject - add hl, de - ld a, [hl] - pop bc - ret -; 4769 - -Function4769: ; 4769 - ld hl, $0001 - 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, $001b - add hl, bc - ld [hl], $0 - ret -; 4787 - -Function4787: ; 4787 - ld hl, $001b - add hl, bc - inc [hl] - ret -; 478d - -Function478d: ; 478d - ld hl, $001b - add hl, bc - dec [hl] - ret -; 4793 - -Function4793: ; 4793 - ld hl, $001b - add hl, bc - ld a, [hl] - pop hl - rst JumpTable - ret -; 479b - -Function479b: ; 479b - ld hl, $001c - add hl, bc - ld [hl], $0 - ret -; 47a2 - -Function47a2: ; 47a2 - ld hl, $001c - add hl, bc - inc [hl] - ret -; 47a8 - -Function47a8: ; 47a8 - ld hl, $001c - add hl, bc - ld a, [hl] - pop hl - rst JumpTable - ret -; 47b0 - -Function47b0: ; 47b0 - ld hl, $001c - add hl, bc - ld a, [hl] - ret -; 47b6 - -Function47b6: ; 47b6 - ld hl, $001c - 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, $0009 - 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, $0008 - add hl, bc - ld [hl], a - jp Function4b1d -; 4851 - -Function4851: ; 4851 - ld hl, $0008 - 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, $000b - add hl, bc - ld [hl], $1 - ld hl, $0009 - 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, $000e - add hl, bc - ld a, [hl] - call CheckPitTile - jr z, .asm_48f5 - ld hl, $0005 - add hl, bc - bit 2, [hl] - res 2, [hl] - jr z, .asm_48ee - ld hl, $0020 - 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, $0009 - add hl, bc - ld [hl], $f - ret - -.asm_48eb - call Function462a - -.asm_48ee - ld hl, $0007 - add hl, bc - ld [hl], $ff - ret - -.asm_48f5 - call Function4787 - ; fallthrough -; 48f8 - -Function48f8: ; 48f8 - ld hl, $0007 - add hl, bc - ld [hl], $ff - ret -; 48ff - -Function48ff: ; 48ff - ld hl, $0010 - add hl, bc - ld d, [hl] - ld hl, $0011 - add hl, bc - ld e, [hl] - ld hl, $0020 - add hl, bc - ld a, [hl] - push bc - call Function1ae5 - ld hl, $0007 - add hl, bc - ld a, [hl] - cp $ff - jr z, .asm_494a - ld hl, $0012 - 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, $0013 - 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, $0007 - add hl, bc - ld a, [hl] - and $c - or d - pop bc - jp Function5412 - -.asm_494a - pop bc - ld hl, $0007 - add hl, bc - ld [hl], $ff - ld hl, $000b - add hl, bc - ld [hl], $1 - ret -; 4958 - -Function4958: ; 4958 - call Function467b - ld hl, $0007 - add hl, bc - ld [hl], $ff - ld hl, $000b - add hl, bc - ld [hl], $9 - ld hl, $0009 - add hl, bc - ld [hl], $4 - ret -; 496e - -Function496e: ; 496e - call Function467b - ld hl, $0007 - add hl, bc - ld [hl], $ff - ld hl, $000b - add hl, bc - ld [hl], $a - ld hl, $0009 - 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, $000b - add hl, bc - ld [hl], $1 - ld hl, $0020 - add hl, bc - ld a, [hl] - ld a, $10 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], a - ld hl, $0009 - 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, $0008 - 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, $000b - 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, $0007 - 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, $0009 - add hl, bc - ld [hl], $13 - ret -; 4a21 - -Function4a21: ; 4a21 - call Function467b - call Function4aa8 - ld hl, $000b - 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, $0009 - add hl, bc - ld [hl], $13 - ret -; 4a46 - -Function4a46: ; 4a46 - call Function467b - call Function4aa8 - ld hl, $000b - 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, $0007 - 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, $0009 - 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, $000b - 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, $0009 - add hl, bc - ld [hl], $13 - ret -; 4aa8 - -Function4aa8: ; 4aa8 - ld hl, $0020 - add hl, bc - ld a, [hl] - push bc - call Function1ae5 - ld d, b - ld e, c - pop bc - ld hl, $001d - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret -; 4abc - -Function4abc: ; 4abc - call Function467b - ld hl, $000b - add hl, bc - ld [hl], $0 - ld hl, $0020 - add hl, bc - ld a, [hl] - call Function4ade - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], e - ld hl, $001e - add hl, bc - ld [hl], a - ld hl, $0009 - 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, $000b - add hl, bc - ld [hl], $2 - ld hl, wd4cf - ld a, [$ffaf] - cp [hl] - jr z, .asm_4b10 - ld hl, $0009 - add hl, bc - ld [hl], $7 - ret - -.asm_4b10 - ld hl, $0009 - 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, $0007 - add hl, bc - ld [hl], $ff - ld hl, $000b - add hl, bc - ld [hl], $1 - ld hl, $0009 - 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, $0009 - 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, $0005 - 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, $0009 - 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, $0005 - 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, $0009 - 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, $000c - 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, $000b - 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, $000c - add hl, bc - ld [hl], $0 - ld hl, $001f - add hl, bc - ld [hl], $10 - ld hl, OBJECT_STEP_DURATION - add hl, bc - ld [hl], $10 - ld hl, $0005 - add hl, bc - res 3, [hl] - call Function47a2 -; fallthrough -; 4c5d - -Function4c5d: ; 4c5d - ld hl, $000b - add hl, bc - ld [hl], $4 - ld hl, $001f - 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, $000c - add hl, bc - ld [hl], $0 - ld hl, $0009 - 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, $000b - 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, $000c - add hl, bc - ld [hl], $0 - ld hl, $001f - 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, $000b - add hl, bc - ld [hl], $4 - ld hl, $001f - 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, $000b - add hl, bc - ld [hl], $4 - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz -; 4d01 - -Function4d01: ; 4d01 - ld hl, $000c - add hl, bc - ld [hl], $0 - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], $0 - ld hl, $0009 - 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, $000b - 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, $000b - add hl, bc - ld [hl], $2 - ld hl, $000c - add hl, bc - ld [hl], $0 - ld hl, $001f - 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, $001f - 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, $000c - add hl, bc - ld [hl], $0 - ld hl, OBJECT_SPRITE_Y_OFFSET - add hl, bc - ld [hl], $0 - ld hl, $0009 - 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, $0009 - 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, $000b - 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, $000b - add hl, bc - ld [hl], a - jp Function4b79 -; 4ddd - -Function4ddd: ; 4ddd - ld hl, $0007 - add hl, bc - ld [hl], $ff - ld hl, OBJECT_STEP_DURATION - add hl, bc - dec [hl] - ret nz - ld hl, $0009 - add hl, bc - ld [hl], $1 - ret -; 4df0 - -Function4df0: ; 4df0 - ld hl, $0007 - 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, $0009 - 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, $0008 - add hl, bc - ld [hl], a - call Function47a2 - ; fallthrough -; 4e21 - -Function4e21: ; 4e21 - call Function4fb2 - ld hl, $0007 - 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, $0007 - add hl, bc - ld [hl], $ff - ld hl, $0009 - 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, $0007 - add hl, bc - ld [hl], $ff - ld hl, $0009 - 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, $0007 - add hl, bc - ld [hl], $ff - ld hl, $000c - 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, $001d - add hl, bc - ld a, [hl] - ld hl, $0008 - 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, $0009 - 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, $0001 - 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, $0007 - add hl, bc - ld [hl], $ff - ld hl, $0009 - add hl, bc - ld [hl], $1 - ret -; 4f04 - -Function4f04: ; 4f04 - ld hl, $001d - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0000 - 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, $001d - add hl, bc - ld [hl], a - call Function47a2 - ; fallthrough -; 4f43 - -Function4f43: ; 4f43 - ld hl, $001d - 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, $001d - 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, $001e - 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, $000b - 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, $000c - add hl, bc - ld [hl], $0 - ld hl, $0009 - add hl, bc - ld [hl], $1 - ret -; 4fb2 - -Function4fb2: ; 4fb2 - ret -; 4fb3 - -Function4fb3: ; 4fb3 - ld hl, $001d - 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, $001f - 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, $001b - 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, $001b - 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, $0000 - 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, $0004 - add hl, de - bit 7, [hl] - jr z, .asm_55a1 - ld hl, $0000 - 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, $0010 - add hl, bc - ld d, [hl] - ld hl, $0011 - 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, $0010 - add hl, bc - ld d, [hl] - ld hl, $0011 - add hl, bc - ld e, [hl] - call Function2a3c - pop bc - ld hl, $000e - add hl, bc - ld [hl], a - callba Function463f - ret -; 56a3 - -Function56a3: ; 56a3 - ld hl, $0010 - add hl, bc - ld d, [hl] - ld hl, $0011 - 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, $0006 - 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 - ld hl, $0008 - 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, $0006 - 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, $0003 - add hl, bc - ld [hl], $13 - ld hl, $0009 - 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, $0005 - add hl, bc - res 5, [hl] - xor a - ret -; 586e - -Function586e: ; 586e - call Function18de - ret c - ld hl, $0005 - 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, $0005 - 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, $0001 - add hl, bc - ld a, [hl] - pop bc - cp c - ret nz - ld a, [wd4ce] - cp $ff - ret z - call Function1ae5 - ld hl, $0005 - 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, $0005 - 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, $0005 - add hl, bc - res 5, [hl] - ret -; 58e3 - -Function58e3: ; 58e3 - ld hl, $0001 - 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, $0003 - add hl, bc - ld [hl], a - ld hl, $0009 - 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, $0003 - add hl, bc - ld [hl], a - ld hl, $0009 - 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, $0004 - 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 @@ -4826,7 +1145,7 @@ Function627b: ; 627b ret ; 6292 -Function6292: ; 6292 +Function6292: ; 6292 ; unreferenced ld a, [$ff9b] and $7 ret nz @@ -5783,11 +2102,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 +2118,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 +2160,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 +2184,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 +2195,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 +2221,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 +2273,7 @@ Function6f7f: ; 6f7f ; 6fa1 Function6fa1: ; 6fa1 - ld hl, $0007 + ld hl, OBJECT_07 add hl, bc ld a, [hl] and 3 @@ -6034,7 +2353,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 +2368,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 +2385,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 +2421,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 +2487,7 @@ Function7041: ; 7041 ; 70a4 Function70a4: ; 70a4 - ld hl, $0016 + ld hl, OBJECT_22 add hl, bc ld a, [hl] and a @@ -6177,7 +2496,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 +2504,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 +2513,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 +2521,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 +2529,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 +2547,7 @@ Function70a4: ; 70a4 ; 70ed Function70ed: ; 70ed - ld hl, $0010 + ld hl, OBJECT_MAP_X add hl, bc ld a, [XCoord] cp [hl] @@ -6239,7 +2558,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 +2588,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 +2645,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 +3251,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 +3321,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 +3335,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 +3349,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 +3359,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 +3423,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 +3502,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 +3560,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 +3574,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 +3589,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 +3613,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 +3625,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 +3644,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 +3659,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 +3704,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 +3761,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 +3782,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 +3795,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 +3805,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 +3818,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 +3862,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 +3949,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 +3973,7 @@ Function849d: ; 849d ret .asm_84c5 - ld hl, $0011 + ld hl, OBJECT_MAP_Y add hl, bc ld a, e cp [hl] @@ -7801,7 +4120,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 @@ -7867,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 - 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 -; 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 @@ -9145,7 +4825,7 @@ Functionc7ce: ; c7ce UnknownScript_0xc7fe: ; c7fe reloadmappart - special $0035 + special UpdateTimePals UnknownScript_0xc802: ; 0xc802 callasm GetPartyNick @@ -9302,7 +4982,7 @@ Functionc8e0: ; c8e0 UnknownScript_0xc8e6: ; 0xc8e6 reloadmappart - special $0035 + special UpdateTimePals writetext UnknownText_0xc8f3 callasm Function8c7e1 loadmovesprites @@ -9401,7 +5081,7 @@ Functionc97a: ; c97a (3:497a) ; c983 (3:4983) UnknownScript_0xc983: ; c983 - special $0035 + special UpdateTimePals UsedSurfScript: ; c986 writetext UsedSurfText ; "used SURF!" @@ -9413,10 +5093,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 @@ -9635,15 +5315,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 @@ -9700,7 +5380,7 @@ Functioncb07: ; cb07 UnknownScript_0xcb1c: ; 0xcb1c reloadmappart - special $0035 + special UpdateTimePals UnknownScript_0xcb20: ; 0xcb20 callasm GetPartyNick @@ -9891,14 +5571,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 @@ -9907,7 +5587,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 @@ -9997,7 +5677,7 @@ UnknownText_0xccb6: ; 0xccb6 UnknownScript_0xccbb: ; 0xccbb reloadmappart - special $0035 + special UpdateTimePals writetext UnknownText_0xccb1 pause 60 reloadmappart @@ -10005,7 +5685,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 @@ -10082,7 +5762,7 @@ Functioncd1d: ; cd1d UnknownScript_0xcd29: ; 0xcd29 reloadmappart - special $0035 + special UpdateTimePals UnknownScript_0xcd2d: ; 0xcd2d callasm Functioncd12 @@ -10262,7 +5942,7 @@ Functioncdde: ; cdde UnknownScript_0xce0b: ; 0xce0b reloadmappart - special $0035 + special UpdateTimePals UnknownScript_0xce0f: ; 0xce0f callasm GetPartyNick @@ -10375,7 +6055,7 @@ UnknownText_0xcea2: ; 0xcea2 HeadbuttFromMenuScript: ; 0xcea7 reloadmappart - special $0035 + special UpdateTimePals HeadbuttScript: ; 0xceab callasm GetPartyNick @@ -10481,13 +6161,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 @@ -10732,7 +6412,7 @@ Functiond06c: ; d06c UnknownScript_0xd07c: ; 0xd07c reloadmappart loadvar $ffd4, $0 - special $0035 + special UpdateTimePals loademote $9 callasm Functionb84b3 loademote $0 @@ -10866,19 +6546,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 @@ -10888,15 +6568,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 @@ -13615,26 +9295,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 @@ -14671,1696 +10351,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 @@ -18394,7 +12387,7 @@ UnknownScript_0x122c1: ; 0x122c1 checkflag $0011 iffalse .script_122cd setflag $0051 - special $0017 + special Function13a31 .script_122cd end ; 0x122ce @@ -18725,15 +12718,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 @@ -18900,7 +12893,7 @@ Function12599: ; 12599 UnknownScript_0x125ad: ; 0x125ad reloadmappart - special $0035 + special UpdateTimePals callasm Function12599 writetext UnknownText_0x125c3 loadmovesprites @@ -18909,7 +12902,7 @@ UnknownScript_0x125ad: ; 0x125ad UnknownScript_0x125ba: ; 0x125ba reloadmappart - special $0035 + special UpdateTimePals writetext UnknownText_0x125c8 loadmovesprites end @@ -20301,7 +14294,7 @@ UnknownText_0x12f00: ; 0x12f00 ; 0x12f05 Function12f05: ; 12f05 - ld a, $24 + ld a, PartyMon1MaxHP - PartyMon1 call GetPartyParamLocation ld a, [hli] ld [hProduct], a @@ -20311,7 +14304,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] @@ -25360,602 +19353,9 @@ 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 - - -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/spawn_points.asm" +INCLUDE "engine/map_setup.asm" Function1559a: ; 1559a call Function15650 @@ -33120,11 +26520,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 +26555,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 @@ -35701,7 +29101,7 @@ UnknownScript_0x26f91: ; 0x26f91 loadfont writetext UnknownText_0x26f9b closetext - special $0026 + special Functionc2c0 loadmovesprites end ; 0x26f9b @@ -36211,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 @@ -37974,17 +31374,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 @@ -41918,174 +35318,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) @@ -43771,2589 +37004,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 @@ -47620,7 +38273,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 +38299,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 @@ -54298,97 +44951,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 @@ -56517,7 +47081,7 @@ Function4e1ae: ; 4e1ae (13:61ae) jr nz, .asm_4e1bb hlcoord 11, 8 ld bc, $6 - predef Function50b7b + predef PrintTempMonStats ret Function4e1cc: ; 4e1cc (13:61cc) @@ -58745,34 +49309,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 @@ -58849,7 +49418,7 @@ Function506bc: ; 506bc UnknownScript_0x506c8: ; 0x506c8 reloadmappart - special $0035 + special UpdateTimePals callasm GetPartyNick writetext UnknownText_0x50726 closetext @@ -58926,7 +49495,7 @@ _Squirtbottle: ; 50730 UnknownScript_0x5073c: ; 0x5073c reloadmappart - special $0035 + special UpdateTimePals callasm Function50753 iffalse UnknownScript_0x5074b farjump WateredWeirdTreeScript @@ -59094,15 +49663,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 @@ -59433,40 +50002,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" @@ -70785,7 +61354,7 @@ Function8adef: ; 8adef dec a ld [CurPartyMon], a push bc - ld a, $1 + ld a, PartyMon1Item - PartyMon1 call GetPartyParamLocation pop bc ld a, [hl] @@ -100772,8083 +91341,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 +94405,8 @@ UpdateUsedMoves: ; 105ed0 +SECTION "bank41_2", ROMX, BANK[$41] + Mobile_HallOfFame2:: mobile ; 0x105ef6 ld a, $5 call GetSRAMBank @@ -112996,26593 +95491,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 +95529,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 +95564,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 +95951,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 @@ -145330,99 +96025,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 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 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 diff --git a/maps/second_map_headers.asm b/maps/second_map_headers.asm index 086dbaf04..0651dd9d1 100644 --- a/maps/second_map_headers.asm +++ b/maps/second_map_headers.asm @@ -1,1357 +1,281 @@ -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 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 +597,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 + 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 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