diff options
| author | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-16 22:29:54 -0500 | 
|---|---|---|
| committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-16 22:29:54 -0500 | 
| commit | 0b8fe4bac31c83a8164567da6d7889a18ab3eb4b (patch) | |
| tree | 8a133a7ffd83ce64ad8aeb3622150823acb917d9 | |
| parent | 042fc4bfe5f55df87712d33b6f832a591b136f1a (diff) | |
More specials; bank 12 mobile
40 files changed, 3811 insertions, 3810 deletions
| diff --git a/battle/core.asm b/battle/core.asm index 7b68e0729..d3393b4ff 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -8924,7 +8924,7 @@ IsMobileBattle2: ; 3f830  ; 3f836 -Function3f836: ; 3f836 +DisplayLinkRecord: ; 3f836  	ld a, BANK(sLinkBattleStats)  	call GetSRAMBank diff --git a/engine/diploma.asm b/engine/diploma.asm index 7699cf930..d2ca46bb3 100644 --- a/engine/diploma.asm +++ b/engine/diploma.asm @@ -1,5 +1,5 @@ -Function1dd702: ; 1dd702 +_Diploma: ; 1dd702  	call Function1dd709  	call WaitPressAorB_BlinkCursor  	ret diff --git a/engine/main_menu.asm b/engine/main_menu.asm new file mode 100755 index 000000000..72c6955b1 --- /dev/null +++ b/engine/main_menu.asm @@ -0,0 +1,1242 @@ +GFX_49c0c: ; 49c0c +INCBIN "gfx/unknown/049c0c.2bpp" +; 49cdc + +MainMenu: ; 49cdc +	xor a +	ld [wc2d7], a +	call Function49ed0 +	ld b, SCGB_08 +	call GetSGBLayout +	call SetPalettes +	ld hl, GameTimerPause +	res 0, [hl] +	call Function49da4 +	ld [wcf76], a +	call Function49e09 +	ld hl, MenuDataHeader_0x49d14 +	call LoadMenuDataHeader +	call Function49de4 +	call WriteBackup +	jr c, .quit +	call ClearTileMap +	ld a, [MenuSelection] +	ld hl, Jumptable_49d60 +	rst JumpTable +	jr MainMenu + +.quit +	ret +; 49d14 + +MenuDataHeader_0x49d14: ; 49d14 +	db $40 ; flags +	db 00, 00 ; start coords +	db 07, 16 ; end coords +	dw MenuData2_0x49d1c +	db 1 ; default option +; 49d1c + +MenuData2_0x49d1c: ; 49d1c +	db $80 ; flags +	db 0 ; items +	dw MainMenuItems +	dw Function1f79 +	dw MainMenuText +; 49d20 + +MainMenuText: ; 49d24 +	db "CONTINUE@" +	db "NEW GAME@" +	db "OPTION@" +	db "MYSTERY GIFT@" +	db "MOBILE@" +	db "MOBILE STUDIUM@" + +Jumptable_49d60: ; 0x49d60 +	dw MainMenu_Continue +	dw MainMenu_NewGame +	dw MainMenu_Options +	dw MainMenu_MysteryGift +	dw MainMenu_Mobile +	dw MainMenu_MobileStudium +; 0x49d6c + +CONTINUE       EQU 0 +NEW_GAME       EQU 1 +OPTION         EQU 2 +MYSTERY_GIFT   EQU 3 +MOBILE         EQU 4 +MOBILE_STUDIUM EQU 5 + +MainMenuItems: + +NewGameMenu: ; 0x49d6c +	db 2 +	db NEW_GAME +	db OPTION +	db $ff + +ContinueMenu: ; 0x49d70 +	db 3 +	db CONTINUE +	db NEW_GAME +	db OPTION +	db $ff + +MobileMysteryMenu: ; 0x49d75 +	db 5 +	db CONTINUE +	db NEW_GAME +	db OPTION +	db MYSTERY_GIFT +	db MOBILE +	db $ff + +MobileMenu: ; 0x49d7c +	db 4 +	db CONTINUE +	db NEW_GAME +	db OPTION +	db MOBILE +	db $ff + +MobileStudiumMenu: ; 0x49d82 +	db 5 +	db CONTINUE +	db NEW_GAME +	db OPTION +	db MOBILE +	db MOBILE_STUDIUM +	db $ff + +MysteryMobileStudiumMenu: ; 0x49d89 +	db 6 +	db CONTINUE +	db NEW_GAME +	db OPTION +	db MYSTERY_GIFT +	db MOBILE +	db MOBILE_STUDIUM +	db $ff + +MysteryMenu: ; 0x49d91 +	db 4 +	db CONTINUE +	db NEW_GAME +	db OPTION +	db MYSTERY_GIFT +	db $ff + +MysteryStudiumMenu: ; 0x49d97 +	db 5 +	db CONTINUE +	db NEW_GAME +	db OPTION +	db MYSTERY_GIFT +	db MOBILE_STUDIUM +	db $ff + +StudiumMenu: ; 0x49d9e +	db 4 +	db CONTINUE +	db NEW_GAME +	db OPTION +	db MOBILE_STUDIUM +	db $ff + + +Function49da4: ; 49da4 +	nop +	nop +	nop +	ld a, [wcfcd] +	and a +	jr nz, .next +	ld a, $0 +	ret + +.next +	ld a, [hCGB] +	cp $1 +	ld a, $1 +	ret nz +	ld a, BANK(s0_abe5) +	call GetSRAMBank +	ld a, [s0_abe5] +	cp $ff +	call CloseSRAM +	jr nz, .done +	ld a, [StatusFlags] +	bit 7, a +	ld a, $1 +	jr z, .ok +	jr .ok + +.ok +	jr .ok2 + +.ok2 +	ld a, $1 +	ret + +.done +	ld a, [StatusFlags] +	bit 7, a +	jr z, .ok3 +	jr .ok3 + +.ok3 +	jr .ok4 + +.ok4 +	ld a, $6 +	ret +; 49de4 + +Function49de4: ; 49de4 +	call SetUpMenu +.asm_49de7 +	call Function49e09 +	ld a, [wcfa5] +	set 5, a +	ld [wcfa5], a +	call Function1f1a +	ld a, [wcf73] +	cp $2 +	jr z, .asm_49e07 +	cp $1 +	jr z, .asm_49e02 +	jr .asm_49de7 + +.asm_49e02 +	call PlayClickSFX +	and a +	ret + +.asm_49e07 +	scf +	ret +; 49e09 + +Function49e09: ; 49e09 +	ld a, [wcfcd] +	and a +	ret z +	xor a +	ld [hBGMapMode], a +	call Function49e27 +	ld hl, Options +	ld a, [hl] +	push af +	set 4, [hl] +	call Function49e3d +	pop af +	ld [Options], a +	ld a, $1 +	ld [hBGMapMode], a +	ret +; 49e27 + + +Function49e27: ; 49e27 +	call Function6e3 +	and $80 +	jr nz, .asm_49e39 +	hlcoord 0, 14 +	ld b, $2 +	ld c, $12 +	call TextBox +	ret + +.asm_49e39 +	call SpeechTextBox +	ret +; 49e3d + + +Function49e3d: ; 49e3d +	ld a, [wcfcd] +	and a +	ret z +	call Function6e3 +	and $80 +	jp nz, Function49e75 +	call UpdateTime +	call GetWeekday +	ld b, a +	decoord 1, 15 +	call Function49e91 +	decoord 4, 16 +	ld a, [hHours] +	ld c, a +	callba PrintHour +	ld [hl], ":" +	inc hl +	ld de, hMinutes +	lb bc, PRINTNUM_LEADINGZEROS | 1, 2 +	call PrintNum +	ret +; 49e70 + +; 49e70 +	db "min.@" +; 49e75 + +Function49e75: ; 49e75 +	hlcoord 1, 14 +	ld de, .TimeNotSet +	call PlaceString +	ret +; 49e7f + +.TimeNotSet ; 49e7f +	db "TIME NOT SET@" +; 49e8c + +UnknownText_0x49e8c: ; 49e8c +	text_jump UnknownText_0x1c5182 +	db "@" +; 49e91 + +Function49e91: ; 49e91 +	push de +	ld hl, .Days +	ld a, b +	call GetNthString +	ld d, h +	ld e, l +	pop hl +	call PlaceString +	ld h, b +	ld l, c +	ld de, .Day +	call PlaceString +	ret +; 49ea8 + +.Days +	db "SUN@" +	db "MON@" +	db "TUES@" +	db "WEDNES@" +	db "THURS@" +	db "FRI@" +	db "SATUR@" +.Day +	db "DAY@" +; 49ed0 + +Function49ed0: ; 49ed0 +	xor a +	ld [hMapAnims], a +	call ClearTileMap +	call LoadFontsExtra +	call LoadStandardFont +	call ResetTextRelatedRAM +	ret +; 49ee0 + + +MainMenu_NewGame: ; 49ee0 +	callba NewGame +	ret +; 49ee7 + +MainMenu_Options: ; 49ee7 +	callba OptionsMenu +	ret +; 49eee + +MainMenu_Continue: ; 49eee +	callba Continue +	ret +; 49ef5 + +MainMenu_MysteryGift: ; 49ef5 +	callba MysteryGift +	ret +; 49efc + +MainMenu_Mobile: ; 49efc +	call ClearBGPalettes +	ld a, MUSIC_MOBILE_ADAPTER_MENU +	ld [wMapMusic], a +	ld de, MUSIC_MOBILE_ADAPTER_MENU +	call Function4a6c5 +Function49f0a: ; 49f0a +	call ClearBGPalettes +	call Function4a3a7 +	call Function4a492 +	call ClearBGPalettes +Function49f16: ; 49f16 +	call Function4a071 +	ld c, 12 +	call DelayFrames +	hlcoord 4, 0 +	ld b, $a +	ld c, $a +	call Function48cdc +	hlcoord 6, 2 +	ld de, MobileString1 +	call PlaceString +	hlcoord 0, 12 +	ld b, $4 +	ld c, $12 +	call TextBox +	xor a +	ld de, String_0x49fe9 +	hlcoord 1, 14 +	call PlaceString +	call Function3200 +	call SetPalettes +	call Function1bc9 +	ld hl, MenuSelection2 +	ld b, [hl] +	push bc +	jr .asm_49f5d + +.asm_49f55 +	call Function1bd3 +	ld hl, MenuSelection2 +	ld b, [hl] +	push bc + +.asm_49f5d +	bit 0, a +	jr nz, .asm_49f67 +	bit 1, a +	jr nz, .asm_49f84 +	jr .asm_49f97 + +.asm_49f67 +	ld hl, MenuSelection2 +	ld a, [hl] +	cp $1 +	jp z, Function4a098 +	cp $2 +	jp z, Function4a0b9 +	cp $3 +	jp z, Function4a0c2 +	cp $4 +	jp z, Function4a100 +	ld a, $1 +	call Function1ff8 + +.asm_49f84 +	pop bc +	call ClearBGPalettes +	call ClearTileMap +	ld a, MUSIC_MAIN_MENU +	ld [wMapMusic], a +	ld de, MUSIC_MAIN_MENU +	call Function4a6c5 +	ret + +.asm_49f97 +	ld hl, MenuSelection2 +	ld a, [hl] +	dec a +	ld hl, MobileStrings2 +	call GetNthString +	ld d, h +	ld e, l +	hlcoord 1, 13 +	ld b, $4 +	ld c, $12 +	call ClearBox +	hlcoord 1, 14 +	call PlaceString +	jp .asm_49fb7 + +.asm_49fb7 +	call Function4a071 +	pop bc +	ld hl, MenuSelection2 +	ld [hl], b +	ld b, $a +	ld c, $1 +	hlcoord 5, 1 +	call ClearBox +	jp .asm_49f55 +; 49fcc + + +MobileString1: ; 49fcc +	db   "めいしフ,ルダー" +	next "あいさつ" +	next "プロフィール" +	next "せ", $1e, "い" +	next "もどる" +	db   "@" +; 49fe9 + + +MobileStrings2: + +String_0x49fe9: ; 49fe9 +	db   "めいし¯つくったり" +	next "ほぞんしておける フ,ルダーです@" +; 4a004 + +String_0x4a004: ; 4a004 +	db   "モバイルたいせんや じぶんのめいしで" +	next "つかう あいさつ¯つくります@" +; 4a026 + +String_0x4a026: ; 4a026 +	db   "あなた%じゅうしょや ねんれいの" +	next "せ", $1e, "い¯かえられます@" +; 4a042 + +String_0x4a042: ; 4a042 +	db  "モバイルセンター", $1d, "せつぞくするとき" +	next "ひつような こと¯きめます@" +; 4a062 + +String_0x4a062: ; 4a062 +	db   "まえ%がめん ", $1d, "もどります" +	next "@" +; 4a071 + +Function4a071: ; 4a071 (12:6071) +	ld hl, wcfa1 +	ld a, $2 +	ld [hli], a +	ld a, $5 +	ld [hli], a +	ld a, $5 +	ld [hli], a +	ld a, $1 +	ld [hli], a +	ld [hl], $0 +	set 5, [hl] +	inc hl +	xor a +	ld [hli], a +	ld a, $20 +	ld [hli], a +	ld a, $1 +	add $40 +	add $80 +	add $2 +	ld [hli], a +	ld a, $1 +rept 2 +	ld [hli], a +endr +	ret + +Function4a098: ; 4a098 (12:6098) +	ld a, $2 +	call Function1ff8 +	call Function1bee +	call WaitBGMap +	call LoadStandardMenuDataHeader +	callba Function89de0 +	call Call_ExitMenu +	call Function49351 +	call Function4a485 +	pop bc +	jp Function49f16 + +Function4a0b9: ; 4a0b9 (12:60b9) +	ld a, $2 +	call Function1ff8 +	pop bc +	jp Function4a4c4 + +Function4a0c2: ; 4a0c2 (12:60c2) +	ld a, $2 +	call Function1ff8 +	ld a, BANK(sPlayerData) +	call GetSRAMBank +	ld hl, sPlayerData + PlayerName - wPlayerData +	ld de, PlayerName +	ld bc, $6 +	call CopyBytes +	call CloseSRAM +	callba Function150b9 +	ld c, 2 +	call DelayFrames +	ld c, $1 +	call Function4802f +	push af +	call ClearBGPalettes +	pop af +	and a +	jr nz, .asm_4a0f9 +	callba Function1509a +.asm_4a0f9 +	ld c, 5 +	call DelayFrames +	jr asm_4a111 + +Function4a100: ; 4a100 (12:6100) +	ld a, $2 +	call Function1ff8 +	call ClearBGPalettes +	call Function4a13b +	call ClearBGPalettes +	call ClearTileMap + +asm_4a111: ; 4a111 (12:6111) +	pop bc +	call LoadFontsExtra +	jp Function49f0a + +Function4a118: ; 4a118 (12:6118) +	ld hl, wcfa1 +	ld a, $1 +	ld [hli], a +	ld a, $d +	ld [hli], a +	ld a, $3 +	ld [hli], a +	ld a, $1 +	ld [hli], a +	ld [hl], $0 +	set 5, [hl] +	inc hl +	xor a +	ld [hli], a +	ld a, $20 +	ld [hli], a +	ld a, $1 +	add $2 +	ld [hli], a +	ld a, $1 +rept 2 +	ld [hli], a +endr +	ret + +Function4a13b: ; 4a13b (12:613b) +	call Function4a3a7 +	call Function4a492 +	call Function4a373 +	ld c, 10 +	call DelayFrames + +Function4a149: ; 4a149 (12:6149) +	hlcoord 1, 2 +	ld b, $6 +	ld c, $10 +	call Function48cdc +	hlcoord 3, 4 +	ld de, String_4a1ef +	call PlaceString +	hlcoord 0, 12 +	ld b, $4 +	ld c, $12 +	call TextBox +	ld a, [MenuSelection2] +	dec a +	ld hl, Strings_4a23d +	call GetNthString +	ld d, h +	ld e, l +	hlcoord 1, 13 +	ld b, $4 +	ld c, $12 +	call ClearBox +	hlcoord 1, 14 +	call PlaceString +	callba Function104148 +	call SetPalettes +	call Function1bc9 +	ld hl, MenuSelection2 +	ld b, [hl] +	push bc +	jr asm_4a19d + +Function4a195: ; 4a195 (12:6195) +	call Function1bd3 +	ld hl, MenuSelection2 +	ld b, [hl] +	push bc + +asm_4a19d: ; 4a19d (12:619d) +	bit 0, a +	jr nz, .asm_4a1a7 +	bit 1, a +	jr nz, .asm_4a1ba +	jr .asm_4a1bc +.asm_4a1a7 +	ld hl, MenuSelection2 +	ld a, [hl] +	cp $1 +	jp z, Function4a20e +	cp $2 +	jp z, Function4a221 +	ld a, $1 +	call Function1ff8 +.asm_4a1ba +	pop bc +	ret +.asm_4a1bc +	ld hl, MenuSelection2 +	ld a, [hl] +	dec a +	ld hl, Strings_4a23d +	call GetNthString +	ld d, h +	ld e, l +	hlcoord 1, 13 +	ld b, $4 +	ld c, $12 +	call ClearBox +	hlcoord 1, 14 +	call PlaceString +	jr .asm_4a1db +.asm_4a1db +	call Function4a373 +	pop bc +	ld hl, MenuSelection2 +	ld [hl], b +	lb bc, 6, 1 +	hlcoord 2, 3 +	call ClearBox +	jp Function4a195 +; 4a1ef (12:61ef) + +String_4a1ef: ; 4a1ef +	db   "モバイルセンター¯えらぶ" +	next "ログインパスワード¯いれる" +	next "もどる@" +; 4a20e + +Function4a20e: ; 4a20e (12:620e) +	ld a, $1 +	call Function1ff8 +	callba Function1719c8 +	call ClearBGPalettes +	call DelayFrame +	jr Function4a239 + +Function4a221: ; 4a221 (12:6221) +	ld a, $1 +	call Function1ff8 +	call Function4a28a +	jr c, Function4a239 +	call Function4a373 +	ld a, $2 +	ld [MenuSelection2], a +	jr .asm_4a235 +.asm_4a235 +	pop bc +	jp Function4a149 + +Function4a239: ; 4a239 (12:6239) +	pop bc +	jp Function4a13b +; 4a23d (12:623d) + +Strings_4a23d: ; 4a23d +	db   "いつも せつぞく¯する" +	next "モバイルセンター¯えらびます@" + +	db   "モバイルセンター", $1d, "せつぞくするとき" +	next "つかうパスワード¯ほぞんできます@" + +	db   "まえ%がめん ", $1d, "もどります@" + +	db   "@" +; 4a28a + +Function4a28a: ; 4a28a (12:628a) +	hlcoord 2, 3 +	lb bc, 6, 1 +	ld a, " " +	call Function4a6d8 +	call Function1bee +	call WaitBGMap +	call LoadStandardMenuDataHeader +	ld a, $5 +	call GetSRAMBank +	ld a, [$aa4b] +	call CloseSRAM +	and a +	jr z, .asm_4a2df +	hlcoord 12, 0 +	ld b, $5 +	ld c, $6 +	call Function48cdc +	hlcoord 14, 1 +	ld de, String_4a34b +	call PlaceString +	callba Function104148 +	call Function4a118 +	call Function1bd3 +	push af +	call PlayClickSFX +	pop af +	bit 1, a +	jr nz, .asm_4a33b +	ld a, [MenuSelection2] +	cp $2 +	jr z, .asm_4a2f0 +	cp $3 +	jr z, .asm_4a33b +.asm_4a2df +	callba Function11765d +	call ClearBGPalettes +	call Call_ExitMenu +	call LoadFontsExtra +	scf +	ret +.asm_4a2f0 +	call Function1bee +	ld hl, UnknownText_0x4a358 +	call PrintText +	hlcoord 14, 7 +	ld b, $3 +	ld c, $4 +	call TextBox +	callba Function104148 +	ld hl, MenuDataHeader_0x4a362 +	call LoadMenuDataHeader +	call InterpretMenu2 +	bit 1, a +	jr nz, .asm_4a338 +	ld a, [MenuSelection2] +	cp $2 +	jr z, .asm_4a338 +	ld a, $5 +	call GetSRAMBank +	ld hl, $aa4b +	xor a +	ld bc, $11 +	call ByteFill +	call CloseSRAM +	ld hl, UnknownText_0x4a35d +	call PrintText +	call JoyWaitAorB +.asm_4a338 +	call ExitMenu +.asm_4a33b +	call Call_ExitMenu +	callba Function104148 +	xor a +	ret +; 4a346 (12:6346) + +MenuDataHeader_0x4a346: ; 0x4a346 +	db $40 ; flags +	db 00, 12 ; start coords +	db 06, 19 ; end coords + +String_4a34b: ; 4a34b +	db   "いれなおす" +	next "けす" +	next "もどる@" +; 4a358 + +UnknownText_0x4a358: ; 0x4a358 +	; Delete the saved LOG-IN PASSWORD? +	text_jump UnknownText_0x1c5196 +	db "@" +; 0x4a35d + +UnknownText_0x4a35d: ; 0x4a35d +	; Deleted the LOG-IN PASSWORD. +	text_jump UnknownText_0x1c51b9 +	db "@" +; 0x4a362 + +MenuDataHeader_0x4a362: ; 0x4a362 +	db $40 ; flags +	db 07, 14 ; start coords +	db 11, 19 ; end coords +	dw MenuData2_0x4a36a +	db 2 ; default option +; 0x4a36a + +MenuData2_0x4a36a: ; 0x4a36a +	db $e0 ; flags +	db 2 ; items +	db "はい@" +	db "いいえ@" +; 0x4a373 + +Function4a373: ; 4a373 (12:6373) +	ld hl, wcfa1 +	ld a, $4 +	ld [hli], a +	ld a, $2 +	ld [hli], a +	ld a, $3 +	ld [hli], a +	ld a, $1 +	ld [hli], a +	ld [hl], $0 +	set 5, [hl] +	inc hl +	xor a +	ld [hli], a +	ld a, $20 +	ld [hli], a +	ld a, $1 +	add $40 +	add $80 +	add $2 +	ld [hli], a +	ld a, $1 +rept 2 +	ld [hli], a +endr +	ret +; 4a39a (12:639a) + +Function4a39a: ; 4a39a +	call Function4a485 +	call Function4a492 +	call Function4a3aa +	call SetPalettes +	ret +; 4a3a7 + +Function4a3a7: ; 4a3a7 (12:63a7) +	call Function4a485 +Function4a3aa: ; 4a3aa +	hlcoord 0, 0 +	lb bc, 3, 1 +	xor a +	call Function4a6d8 +	lb bc, 1, 1 +	ld a, $1 +	call Function4a6d8 +	lb bc, 1, 1 +	xor a +	call Function4a6d8 +	lb bc, 1, 1 +	ld a, $1 +	call Function4a6d8 +	lb bc, 4, 1 +	ld a, $2 +	call Function4a6d8 +	lb bc, 1, 1 +	ld a, $3 +	call Function4a6d8 +	lb bc, 1, 1 +	ld a, " " +	call Function4a6d8 +	hlcoord 1, 0 +	ld a, $1 +	lb bc, 3, 18 +	call Function4a6d8 +	lb bc, 1, 18 +	ld a, $0 +	call Function4a6d8 +	lb bc, 1, 18 +	ld a, $1 +	call Function4a6d8 +	lb bc, 1, 18 +	ld a, $2 +	call Function4a6d8 +	lb bc, 11, 18 +	ld a, " " +	call Function4a6d8 +	hlcoord 19, 0 +	lb bc, 3, 1 +	ld a, $0 +	call Function4a6d8 +	lb bc, 1, 1 +	ld a, $1 +	call Function4a6d8 +	lb bc, 1, 1 +	xor a +	call Function4a6d8 +	lb bc, 1, 1 +	ld a, $1 +	call Function4a6d8 +	lb bc, 4, 1 +	ld a, $2 +	call Function4a6d8 +	lb bc, 1, 1 +	ld a, $3 +	call Function4a6d8 +	lb bc, 1, 1 +	ld a, " " +	call Function4a6d8 +	ret +; 4a449 (12:6449) + +Function4a449: ; 4a449 +	ld bc, 3 * SCREEN_WIDTH +	ld a, $0 +	hlcoord 0, 0 +	call ByteFill +	ld bc, 2 * SCREEN_WIDTH +	ld a, $1 +	call ByteFill +	ld bc, 2 * SCREEN_WIDTH +	ld a, $0 +	call ByteFill +	ld bc, 2 * SCREEN_WIDTH +	ld a, $1 +	call ByteFill +	ld bc, SCREEN_WIDTH +	ld a, $2 +	call ByteFill +	ld bc, SCREEN_WIDTH +	ld a, $3 +	call ByteFill +	ld bc, SCREEN_WIDTH +	ld a, " " +	call ByteFill +	ret +; 4a485 + +Function4a485: ; 4a485 (12:6485) +	ld de, GFX_49c0c +	ld hl, VTiles2 tile $00 +	lb bc, BANK(GFX_49c0c), $d +	call Get2bpp +	ret + +Function4a492: ; 4a492 (12:6492) +	call Function4936e +	ret + + +MainMenu_MobileStudium: ; 4a496 +	ld a, [StartDay] +	ld b, a +	ld a, [StartHour] +	ld c, a +	ld a, [StartMinute] +	ld d, a +	ld a, [StartSecond] +	ld e, a +	push bc +	push de +	callba MobileStudium +	call ClearBGPalettes +	pop de +	pop bc +	ld a, b +	ld [StartDay], a +	ld a, c +	ld [StartHour], a +	ld a, d +	ld [StartMinute], a +	ld a, e +	ld [StartSecond], a +	ret +; 4a4c4 + + +Function4a4c4: ; 4a4c4 (12:64c4) +	call ClearBGPalettes +	call Function4a3a7 +	call Function4a492 +	call Function4a680 +	call ClearBGPalettes +	ld c, 20 +	call DelayFrames +	hlcoord 2, 0 +	ld b, $a +	ld c, $e +	call Function48cdc +	hlcoord 4, 2 +	ld de, String_4a5c5 +	call PlaceString +	hlcoord 4, 4 +	ld de, String_4a5cd +	call PlaceString +	hlcoord 4, 6 +	ld de, String_4a5da +	call PlaceString +	hlcoord 4, 8 +	ld de, String_4a5e6 +	call PlaceString +	hlcoord 4, 10 +	ld de, String_4a5f2 +	call PlaceString +	hlcoord 0, 12 +	ld b, $4 +	ld c, $12 +	call TextBox +	xor a +	ld hl, Strings_4a5f6 +	ld d, h +	ld e, l +	hlcoord 1, 14 +	call PlaceString +	ld a, $1 +	ld hl, Strings_4a5f6 +	call GetNthString +	ld d, h +	ld e, l +	hlcoord 1, 16 +	call PlaceString +	call Function3200 +	call SetPalettes +	call Function1bc9 +	ld hl, MenuSelection2 +	ld b, [hl] +	push bc +	jr asm_4a54d + +Function4a545: ; 4a545 (12:6545) +	call Function1bd3 +	ld hl, MenuSelection2 +	ld b, [hl] +	push bc + +asm_4a54d: ; 4a54d (12:654d) +	bit 0, a +	jr nz, .asm_4a557 +	bit 1, a +	jr nz, .asm_4a574 +	jr .asm_4a57e +.asm_4a557 +	ld hl, MenuSelection2 +	ld a, [hl] +	cp $1 +	jp z, Function4a6ab +	cp $2 +	jp z, Function4a6ab +	cp $3 +	jp z, Function4a6ab +	cp $4 +	jp z, Function4a6ab +	ld a, $1 +	call Function1ff8 +.asm_4a574 +	pop bc +	call ClearBGPalettes +	call ClearTileMap +	jp Function49f0a +.asm_4a57e +	ld hl, MenuSelection2 +	ld a, [hl] +	dec a +	add a +	push af +	ld hl, Strings_4a5f6 +	call GetNthString +	ld d, h +	ld e, l +	hlcoord 1, 13 +	ld b, $4 +	ld c, $12 +	call ClearBox +	hlcoord 1, 14 +	call PlaceString +	pop af +	inc a +	ld hl, Strings_4a5f6 +	call GetNthString +	ld d, h +	ld e, l +	hlcoord 1, 16 +	call PlaceString +	jp Function4a5b0 + +Function4a5b0: ; 4a5b0 (12:65b0) +	call Function4a680 +	pop bc +	ld hl, MenuSelection2 +	ld [hl], b +	ld b, $a +	ld c, $1 +	hlcoord 3, 1 +	call ClearBox +	jp Function4a545 +; 4a5c5 (12:65c5) + +String_4a5c5: ; 4a5c5 +	db "じこしょうかい@" +String_4a5cd: ; 4a5cd +	db "たいせん ", $4a, "はじまるとき@" +String_4a5da: ; 4a5da +	db "たいせん ", $1d, "かったとき@" +String_4a5e6: ; 4a5e6 +	db "たいせん ", $1d, "まけたとき@" +String_4a5f2: ; 4a5f2 +	db "もどる@" +; 4a5f6 + +Strings_4a5f6: ; 4a5f6 +	db "めいし や ニュース ", $1d, "のせる@" +	db "あなた%あいさつです@" +	db "モバイル たいせん", $4a, "はじまるとき@" +	db "あいて", $1d, "みえる あいさつです@" +	db "モバイル たいせんで かったとき@" +	db "あいて", $1d, "みえる あいさつです@" +	db "モバイル たいせんで まけたとき@" +	db "あいて", $1d, "みえる あいさつです@" +	db "まえ%がめん ", $1d, "もどります@" +	db "@" +; 4a680 + +Function4a680: ; 4a680 (12:6680) +	ld hl, wcfa1 +	ld a, $2 +	ld [hli], a +	ld a, $3 +	ld [hli], a +	ld a, $5 +	ld [hli], a +	ld a, $1 +	ld [hli], a +	ld [hl], $0 +	set 5, [hl] +	inc hl +	xor a +	ld [hli], a +	ld a, $20 +	ld [hli], a +	ld a, $1 +	add $40 +	add $80 +	add $2 +	ld [hli], a +	ld a, $1 +rept 2 +	ld [hli], a +endr +	xor a +rept 3 +	ld [hli], a +endr +	ret + +Function4a6ab: ; 4a6ab (12:66ab) +	ld a, $2 +	call Function1ff8 +	call ClearBGPalettes +	ld b, SCGB_08 +	call GetSGBLayout +	callba Function11c1ab +	pop bc +	call LoadFontsExtra +	jp Function4a4c4 + +Function4a6c5: ; 4a6c5 (12:66c5) +	ld a, $5 +	ld [MusicFade], a +	ld a, e +	ld [MusicFadeIDLo], a +	ld a, d +	ld [MusicFadeIDHi], a +	ld c, 22 +	call DelayFrames +	ret + +Function4a6d8: ; 4a6d8 (12:66d8) +	push bc +	push hl +.asm_4a6da +	ld [hli], a +	dec c +	jr nz, .asm_4a6da +	pop hl +	ld bc, $14 +	add hl, bc +	pop bc +	dec b +	jr nz, Function4a6d8 +	ret diff --git a/engine/mart.asm b/engine/mart.asm index 81ab22d12..8fa7888c2 100755 --- a/engine/mart.asm +++ b/engine/mart.asm @@ -470,7 +470,7 @@ endr  BuyMenuLoop: ; 15cef -	callba Function24ae8 +	callba PlaceMoneyTopRightOW  	call UpdateSprites  	ld hl, MenuDataHeader_Buy  	call CopyMenuDataHeader @@ -875,7 +875,7 @@ Function15ee0: ; 15ee0  .okay_to_sell  	ld hl, Text_Mart_SellHowMany  	call PrintText -	callba Function24af8 +	callba PlaceMoneyTopRightMenu  	callba Function24fe1  	call ExitMenu  	jr c, .declined @@ -899,7 +899,7 @@ Function15ee0: ; 15ee0  	ld hl, Text_Mart_SoldForAmount  	call PrintTextBoxText  	call PlayTransactionSound -	callba Function24af0 +	callba PlaceMoneyBottomLeftOW  	call JoyWaitAorB  .declined diff --git a/engine/pokecenter_pc.asm b/engine/pokecenter_pc.asm index ee37edca5..7d76d07d3 100755 --- a/engine/pokecenter_pc.asm +++ b/engine/pokecenter_pc.asm @@ -179,7 +179,7 @@ PC_WaitPlaySFX: ; 156d0  	ret  ; 156d9 -Function156d9: ; 156d9 +_KrissHousePC: ; 156d9  	call PC_PlayBootSound  	ld hl, UnknownText_0x156ff  	call PC_DisplayText diff --git a/engine/specials.asm b/engine/specials.asm index b9911dc47..bfc4be7c0 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -101,14 +101,14 @@ SpecialsPointers:: ; c029  	add_special SpecialCheckPokerus  	add_special Special_DisplayCoinCaseBalance  	add_special Special_DisplayMoneyAndCoinBalance -	add_special Function24ae8 +	add_special PlaceMoneyTopRightOW  	add_special Special_CheckForLuckyNumberWinners  	add_special Special_CheckLuckyNumberShowFlag  	add_special Special_ResetLuckyNumberShowFlag  	add_special Special_PrintTodaysLuckyNumber  	add_special Special_SelectApricornForKurt  	add_special SpecialNameRater -	add_special Functionc2da +	add_special Special_DisplayLinkRecord  	add_special GetFirstPokemonHappiness  	add_special CheckFirstMonIsEgg  	add_special RandomPhoneRareWildMon @@ -120,15 +120,17 @@ SpecialsPointers:: ; c029  	add_special Special_YoungerHaircutBrother  	add_special Special_OlderHaircutBrother  	add_special Special_DaisyMassage -	add_special Functionc472 +	add_special PlayCurMonCry  	add_special ProfOaksPCBoot  	add_special SpecialGameboyCheck  	add_special SpecialTrainerHouse  	add_special PhotoStudio  	add_special InitRoamMons -	add_special Functionc48f -	add_special Functionc49f -	add_special Functionc4ac +	add_special Special_FadeOutMusic +	add_special Diploma +	add_special PrintDiploma + +	; Crystal  	add_special Function11ac3e  	add_special Function11b444  	add_special Function11b5e8 @@ -151,7 +153,7 @@ SpecialsPointers:: ; c029  	add_special Function101220  	add_special Function101225  	add_special Function101231 -	add_special Function4925b +	add_special Special_MoveTutor  	add_special SpecialOmanyteChamber  	add_special Function11c1ab  	add_special BattleTowerAction @@ -292,14 +294,14 @@ Special_TownMap: ; c2c0  Special_UnownPrinter: ; c2cd  	call FadeToMenu -	callba Function16be4 +	callba UnownPrinter  	call Function2b4d  	ret  ; c2da -Functionc2da: ; c2da +Special_DisplayLinkRecord: ; c2da  	call FadeToMenu -	callba Function3f836 +	callba DisplayLinkRecord  	call Function2b4d  	ret  ; c2e7 @@ -307,7 +309,7 @@ Functionc2da: ; c2da  Special_KrissHousePC: ; c2e7  	xor a  	ld [ScriptVar], a -	callba Function156d9 +	callba _KrissHousePC  	ld a, c  	ld [ScriptVar], a  	ret @@ -586,7 +588,7 @@ SpecialSnorlaxAwake: ; 0xc43d  	db $ff -Functionc472: ; c472 +PlayCurMonCry: ; c472  	ld a, [CurPartySpecies]  	jp PlayCry  ; c478 @@ -614,7 +616,7 @@ SpecialGameboyCheck: ; c478  	ret -Functionc48f: ; c48f +Special_FadeOutMusic: ; c48f  	ld a, MUSIC_NONE % $100  	ld [MusicFadeIDLo], a  	ld a, MUSIC_NONE / $100 @@ -624,16 +626,16 @@ Functionc48f: ; c48f  	ret  ; c49f -Functionc49f: ; c49f +Diploma: ; c49f  	call FadeToMenu -	callba Function1dd702 +	callba _Diploma  	call Function2b4d  	ret  ; c4ac -Functionc4ac: ; c4ac +PrintDiploma: ; c4ac  	call FadeToMenu -	callba Function84688 +	callba _PrintDiploma  	call Function2b4d  	ret  ; c4b9 diff --git a/event/celebi.asm b/event/celebi.asm new file mode 100755 index 000000000..a5c3c0735 --- /dev/null +++ b/event/celebi.asm @@ -0,0 +1,354 @@ +Special_CelebiShrineEvent: ; 4989a +	call DelayFrame +	ld a, [VramState] +	push af +	xor a +	ld [VramState], a +	call LoadCelebiGFX +	lb de, $07, $50 +	ld a, SPRITE_ANIM_INDEX_2C +	call _InitSpriteAnimStruct +	ld hl, $3 +	add hl, bc +	ld [hl], $84 +	ld hl, $2 +	add hl, bc +	ld [hl], $1f +	ld hl, $f +	add hl, bc +	ld a, $80 +	ld [hl], a +	ld a, $a0 +	ld [wcf64], a +	ld d, $0 +.loop +	ld a, [wJumptableIndex] +	bit 7, a +	jr nz, .done +	push bc +	call Function49bae +	inc d +	push de +	ld a, $90 +	ld [wc3b5], a +	callba Function8cf7a +	call Function49935 +	ld c, 2 +	call DelayFrames +	pop de +	pop bc +	jr .loop + +.done +	pop af +	ld [VramState], a +	call Function498f9 +	call Function49bf3 +	ret +; 498f9 + +Function498f9: ; 498f9 +	ld hl, Sprites + 2 +	xor a +	ld c, $4 +.loop +	ld [hli], a +rept 3 +	inc hl +endr +	inc a +	dec c +	jr nz, .loop +	ld hl, Sprites + $10 +	ld bc, $90 +	xor a +	call ByteFill +	ret +; 49912 + +LoadCelebiGFX: ; 49912 +	callba Function8cf53 +	ld de, SpecialCelebiLeafGFX +	ld hl, VTiles1 +	lb bc, BANK(SpecialCelebiLeafGFX), 4 +	call Request2bpp +	ld de, SpecialCelebiGFX +	ld hl, VTiles1 tile $04 +	lb bc, BANK(SpecialCelebiGFX), $10 +	call Request2bpp +	xor a +	ld [wJumptableIndex], a +	ret +; 49935 + +Function49935: ; 49935 +	ld hl, wcf64 +	ld a, [hl] +	and a +	jr z, .asm_4993e +	dec [hl] +	ret + +.asm_4993e +	ld hl, wJumptableIndex +	set 7, [hl] +	ret +; 49944 + +Function49944: ; 49944 +	ld hl, wcf65 +	ld a, [hl] +	inc [hl] +	and $7 +	ret nz +	ld a, [hl] +	and $18 +	sla a +	add $40 +	ld d, a +	ld e, $0 +	ld a, SPRITE_ANIM_INDEX_18 ; fly land +	call _InitSpriteAnimStruct +	ld hl, $3 +	add hl, bc +	ld [hl], $80 +	ret +; 49962 + +SpecialCelebiLeafGFX: ; 49962 +INCBIN "gfx/special/celebi/leaf.2bpp" +SpecialCelebiGFX: ; 499a2 +INCBIN "gfx/special/celebi/1.2bpp" +INCBIN "gfx/special/celebi/2.2bpp" +INCBIN "gfx/special/celebi/3.2bpp" +INCBIN "gfx/special/celebi/4.2bpp" + + +Function49aa2: ; 49aa2 (12:5aa2) +	ld hl, $6 +	add hl, bc +	ld a, [hl] +	push af +	ld hl, $5 +	add hl, bc +	ld a, [hl] +	cp $52 +	jp nc, Function49b30 +	ld hl, $5 +	add hl, bc +	inc [hl] +	ld hl, $f +	add hl, bc +	ld a, [hl] +	ld d, a +	cp $3a +	jr c, .asm_49ac6 +	jr z, .asm_49ac6 +	sub $3 +	ld [hl], a +.asm_49ac6 +	ld hl, $e +	add hl, bc +	ld a, [hl] +	inc [hl] +	call Function49b3b +	ld hl, $6 +	add hl, bc +	ld [hl], a +	ld d, a +	ld hl, $4 +	add hl, bc +	add [hl] +	cp $5c +	jr nc, .asm_49ae2 +	cp $44 +	jr nc, .asm_49b0d +.asm_49ae2 +	pop af +	push af +	cp d +	jr nc, .asm_49af2 +	ld hl, $4 +	add hl, bc +	add [hl] +	cp $50 +	jr c, .asm_49b05 +	jr .asm_49afb +.asm_49af2 +	ld hl, $4 +	add hl, bc +	add [hl] +	cp $50 +	jr nc, .asm_49b05 +.asm_49afb +	ld hl, $5 +	add hl, bc +	ld a, [hl] +	sub $2 +	ld [hl], a +	jr .asm_49b0d +.asm_49b05 +	ld hl, $5 +	add hl, bc +	ld a, [hl] +	add $1 +	ld [hl], a +.asm_49b0d +	pop af +	ld hl, $4 +	add hl, bc +	add [hl] +	cp $50 +	jr c, .asm_49b26 +	cp $e6 +	jr nc, .asm_49b26 +	ld hl, $1 +	add hl, bc +	ld a, $41 +	call Function3b3c +	jr .asm_49b2f +.asm_49b26 +	ld hl, $1 +	add hl, bc +	ld a, $40 +	call Function3b3c +.asm_49b2f +	ret + +Function49b30: ; 49b30 (12:5b30) +	pop af +	ld hl, $1 +	add hl, bc +	ld a, $40 +	call Function3b3c +	ret + +Function49b3b: ; 49b3b (12:5b3b) +	add $10 +	and $3f +	cp $20 +	jr nc, .asm_49b48 +	call Function49b52 +	ld a, h +	ret +.asm_49b48 +	and $1f +	call Function49b52 +	ld a, h +	xor $ff +	inc a +	ret + +Function49b52: ; 49b52 (12:5b52) +	ld e, a +	ld a, d +	ld d, $0 +	ld hl, Unknown_49b6e +rept 2 +	add hl, de +endr +	ld e, [hl] +	inc hl +	ld d, [hl] +	ld hl, 0 +.asm_49b61 +	srl a +	jr nc, .asm_49b66 +	add hl, de +.asm_49b66 +	sla e +	rl d +	and a +	jr nz, .asm_49b61 +	ret +; 49b6e (12:5b6e) + +Unknown_49b6e: ; 49b6e +	sine_wave $100 +; 49bae + +Function49bae: ; 49bae +	push hl +	push bc +	push de +	ld a, d +	ld d, $3 +	ld e, d +	cp $0 +	jr z, .asm_49bd0 +	cp d +	jr z, .asm_49bd4 +	call Function49bed +	cp d +	jr z, .asm_49bd8 +	call Function49bed +	cp d +	jr z, .asm_49bdc +	call Function49bed +	cp d +	jr c, .asm_49be9 +	jr .asm_49be5 + +.asm_49bd0 +	ld a, $84 +	jr .asm_49bde + +.asm_49bd4 +	ld a, $88 +	jr .asm_49bde + +.asm_49bd8 +	ld a, $8c +	jr .asm_49bde + +.asm_49bdc +	ld a, $90 + +.asm_49bde +	ld hl, $3 +	add hl, bc +	ld [hl], a +	jr .asm_49be9 + +.asm_49be5 +	pop de +	ld d, $ff +	push de + +.asm_49be9 +	pop de +	pop bc +	pop hl +	ret +; 49bed + +Function49bed: ; 49bed +	push af +	ld a, d +	add e +	ld d, a +	pop af +	ret +; 49bf3 + +Function49bf3: ; 49bf3 +	ld a, BATTLETYPE_CELEBI +	ld [BattleType], a +	ret +; 49bf9 + +Function49bf9: ; 49bf9 +	ld a, [wBattleResult] +	bit 6, a +	jr z, .asm_49c07 +	ld a, $1 +	ld [ScriptVar], a +	jr .asm_49c0b + +.asm_49c07 +	xor a +	ld [ScriptVar], a + +.asm_49c0b +	ret +; 49c0c diff --git a/event/photo.asm b/event/photo.asm new file mode 100755 index 000000000..fd603fef9 --- /dev/null +++ b/event/photo.asm @@ -0,0 +1,299 @@ +UnownPrinter: ; 16be4 +	ld a, [UnownDex] +	and a +	ret z + +	ld a, [hInMenu] +	push af +	ld a, $1 +	ld [hInMenu], a +	ld a, [Options] +	push af +	set NO_TEXT_SCROLL, a +	ld [Options], a +	call ClearBGPalettes +	call ClearTileMap + +	ld de, UnownDexATile +	ld hl, VTiles1 tile $6f +	lb bc, BANK(UnownDexBTile), 1 +	call Request1bpp + +	ld de, UnownDexBTile +	ld hl, VTiles1 tile $75 +	lb bc, BANK(UnownDexBTile), 1 +	call Request1bpp + +	hlcoord 0, 0 +	lb bc, 3, 18 +	call TextBox + +	hlcoord 0, 5 +	lb bc, 7, 7 +	call TextBox + +	hlcoord 0, 14 +	lb bc, 2, 18 +	call TextBox + +	hlcoord 1, 2 +	ld de, AlphRuinsStampString +	call PlaceString + +	hlcoord 1, 16 +	ld de, UnownDexDoWhatString +	call PlaceString + +	hlcoord 10, 6 +	ld de, UnownDexMenuString +	call PlaceString + +	xor a +	ld [wJumptableIndex], a +	call Function16cc8 +	call WaitBGMap + +	ld a, UNOWN +	ld [CurPartySpecies], a +	xor a +	ld [TempMonDVs], a +	ld [TempMonDVs + 1], a + +	ld b, SCGB_1C +	call GetSGBLayout +	call SetPalettes + +.joy_loop +	call JoyTextDelay + +	ld a, [hJoyPressed] +	and B_BUTTON +	jr nz, .pressed_b + +	ld a, [hJoyPressed] +	and A_BUTTON +	jr nz, .pressed_a + +	call Function16ca0 +	call DelayFrame +	jr .joy_loop + +.pressed_a +	ld a, [wJumptableIndex] +	push af +	callba Function84560 +	call RestartMapMusic +	pop af +	ld [wJumptableIndex], a +	jr .joy_loop + +.pressed_b +	pop af +	ld [Options], a +	pop af +	ld [hInMenu], a +	call ReturnToMapFromSubmenu +	ret +; 16ca0 + +Function16ca0: ; 16ca0 +	ld a, [hJoyLast] +	and D_RIGHT +	jr nz, .press_right +	ld a, [hJoyLast] +	and D_LEFT +	jr nz, .press_left +	ret + +.press_left +	ld hl, wJumptableIndex +	ld a, [hl] +	and a +	jr nz, .wrap_around_left +	ld [hl], $1b + +.wrap_around_left +	dec [hl] +	jr .return + +.press_right +	ld hl, wJumptableIndex +	ld a, [hl] +	cp $1a +	jr c, .wrap_around_right +	ld [hl], $ff + +.wrap_around_right +	inc [hl] + +.return +	call Function16cc8 +	ret +; 16cc8 + +Function16cc8: ; 16cc8 +	ld a, [wJumptableIndex] +	cp 26 +	jr z, Function16d20 +	inc a +	ld [UnownLetter], a +	ld a, UNOWN +	ld [CurPartySpecies], a +	xor a +	ld [wc2c6], a +	ld de, VTiles2 +	predef GetFrontpic +	call Function16cff +	hlcoord 1, 6 +	xor a +	ld [hFillBox], a +	lb bc, 7, 7 +	predef FillBox +	ld de, VTiles2 tile $31 +	callba Functione0000 +	ret +; 16cff + +Function16cff: ; 16cff +	ld a, [rSVBK] +	push af +	ld a, $6 +	ld [rSVBK], a + +	ld a, BANK(sScratch) +	call GetSRAMBank +	ld de, w6_d000 +	ld hl, sScratch +	ld a, [hROMBank] +	ld b, a +	ld c, $31 +	call Get2bpp +	call CloseSRAM + +	pop af +	ld [rSVBK], a +	ret +; 16d20 + +Function16d20: ; 16d20 +	hlcoord 1, 6 +	lb bc, 7, 7 +	call ClearBox +	hlcoord 1, 9 +	ld de, UnownDexVacantString +	call PlaceString +	xor a +	call GetSRAMBank +	ld hl, sScratch +	ld bc, $31 tiles +	xor a +	call ByteFill +	ld hl, VTiles2 tile $31 +	ld de, sScratch +	ld c, $31 +	ld a, [hROMBank] +	ld b, a +	call Get2bpp +	call CloseSRAM +	ld c, 20 +	call DelayFrames +	ret +; 16d57 + +AlphRuinsStampString: +	db " ALPH RUINS STAMP@" + +UnownDexDoWhatString: +	db "Do what?@" + +UnownDexMenuString: +	db   "♂ PRINT" +	next "♀ CANCEL" +	next "← PREVIOUS" +	next "→ NEXT" +	db   "@" + +UnownDexVacantString: +	db "VACANT@" +; 16d9c + +UnownDexATile: ; 16d9c +INCBIN "gfx/unknown/016d9c.1bpp" +UnownDexBTile: ; 16da4 +INCBIN "gfx/unknown/016da4.1bpp" +; 16dac + +Function16dac: ; 16dac +	hlcoord 0, 0 +	ld bc, SCREEN_WIDTH * SCREEN_HEIGHT +	ld a, " " +	call ByteFill +	hlcoord 7, 11 +	ld a, $31 +	ld [hFillBox], a +	lb bc, 7, 7 +	predef FillBox +	ret +; 16dc7 + +PhotoStudio: ; 16dc7 +	ld hl, .Text_AskWhichMon +	call PrintText +	callba SelectMonFromParty +	jr c, .cancel +	ld a, [CurPartySpecies] +	cp EGG +	jr z, .egg + +	ld hl, .Text_HoldStill +	call PrintText +	call DisableSpriteUpdates +	callba Function8461a +	call Function2b74 +	ld a, [$ffac] +	and a +	jr nz, .cancel +	ld hl, .Text_Presto +	jr .print_text + +.cancel +	ld hl, .Text_NoPicture +	jr .print_text + +.egg +	ld hl, .Text_Egg + +.print_text +	call PrintText +	ret +; 16e04 + +.Text_AskWhichMon: ; 0x16e04 +	; Which #MON should I photo- graph? +	text_jump UnknownText_0x1be024 +	db "@" +; 0x16e09 + +.Text_HoldStill: ; 0x16e09 +	; All righty. Hold still for a bit. +	text_jump UnknownText_0x1be047 +	db "@" +; 0x16e0e + +.Text_Presto: ; 0x16e0e +	; Presto! All done. Come again, OK? +	text_jump UnknownText_0x1be06a +	db "@" +; 0x16e13 + +.Text_NoPicture: ; 0x16e13 +	; Oh, no picture? Come again, OK? +	text_jump UnknownText_0x1c0000 +	db "@" +; 0x16e18 + +.Text_Egg: ; 0x16e18 +	; An EGG? My talent is worth more… +	text_jump UnknownText_0x1c0021 +	db "@" +; 0x16e1d diff --git a/home/audio.asm b/home/audio.asm index 9756d0460..191366d0d 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -312,7 +312,7 @@ VolumeOff:: ; 3ca3  	ret  ; 3ca8 -FadeOutMusic:: ; 3ca8 +Unused_FadeOutMusic:: ; 3ca8  	ld a, 4  	ld [MusicFade], a  	ret @@ -11491,305 +11491,7 @@ INCLUDE "event/mom.asm"  INCLUDE "event/daycare.asm" -Function16be4: ; 16be4 -	ld a, [UnownDex] -	and a -	ret z - -	ld a, [hInMenu] -	push af -	ld a, $1 -	ld [hInMenu], a -	ld a, [Options] -	push af -	set NO_TEXT_SCROLL, a -	ld [Options], a -	call ClearBGPalettes -	call ClearTileMap - -	ld de, UnownDexATile -	ld hl, VTiles1 tile $6f -	lb bc, BANK(UnownDexBTile), 1 -	call Request1bpp - -	ld de, UnownDexBTile -	ld hl, VTiles1 tile $75 -	lb bc, BANK(UnownDexBTile), 1 -	call Request1bpp - -	hlcoord 0, 0 -	lb bc, 3, 18 -	call TextBox - -	hlcoord 0, 5 -	lb bc, 7, 7 -	call TextBox - -	hlcoord 0, 14 -	lb bc, 2, 18 -	call TextBox - -	hlcoord 1, 2 -	ld de, AlphRuinsStampString -	call PlaceString - -	hlcoord 1, 16 -	ld de, UnownDexDoWhatString -	call PlaceString - -	hlcoord 10, 6 -	ld de, UnownDexMenuString -	call PlaceString - -	xor a -	ld [wJumptableIndex], a -	call Function16cc8 -	call WaitBGMap - -	ld a, UNOWN -	ld [CurPartySpecies], a -	xor a -	ld [TempMonDVs], a -	ld [TempMonDVs + 1], a - -	ld b, SCGB_1C -	call GetSGBLayout -	call SetPalettes - -.joy_loop -	call JoyTextDelay - -	ld a, [hJoyPressed] -	and B_BUTTON -	jr nz, .pressed_b - -	ld a, [hJoyPressed] -	and A_BUTTON -	jr nz, .pressed_a - -	call Function16ca0 -	call DelayFrame -	jr .joy_loop - -.pressed_a -	ld a, [wJumptableIndex] -	push af -	callba Function84560 -	call RestartMapMusic -	pop af -	ld [wJumptableIndex], a -	jr .joy_loop - -.pressed_b -	pop af -	ld [Options], a -	pop af -	ld [hInMenu], a -	call ReturnToMapFromSubmenu -	ret -; 16ca0 - -Function16ca0: ; 16ca0 -	ld a, [hJoyLast] -	and D_RIGHT -	jr nz, .press_right -	ld a, [hJoyLast] -	and D_LEFT -	jr nz, .press_left -	ret - -.press_left -	ld hl, wJumptableIndex -	ld a, [hl] -	and a -	jr nz, .wrap_around_left -	ld [hl], $1b - -.wrap_around_left -	dec [hl] -	jr .return - -.press_right -	ld hl, wJumptableIndex -	ld a, [hl] -	cp $1a -	jr c, .wrap_around_right -	ld [hl], $ff - -.wrap_around_right -	inc [hl] - -.return -	call Function16cc8 -	ret -; 16cc8 - -Function16cc8: ; 16cc8 -	ld a, [wJumptableIndex] -	cp 26 -	jr z, Function16d20 -	inc a -	ld [UnownLetter], a -	ld a, UNOWN -	ld [CurPartySpecies], a -	xor a -	ld [wc2c6], a -	ld de, VTiles2 -	predef GetFrontpic -	call Function16cff -	hlcoord 1, 6 -	xor a -	ld [hFillBox], a -	lb bc, 7, 7 -	predef FillBox -	ld de, VTiles2 tile $31 -	callba Functione0000 -	ret -; 16cff - -Function16cff: ; 16cff -	ld a, [rSVBK] -	push af -	ld a, $6 -	ld [rSVBK], a - -	ld a, BANK(sScratch) -	call GetSRAMBank -	ld de, w6_d000 -	ld hl, sScratch -	ld a, [hROMBank] -	ld b, a -	ld c, $31 -	call Get2bpp -	call CloseSRAM - -	pop af -	ld [rSVBK], a -	ret -; 16d20 - -Function16d20: ; 16d20 -	hlcoord 1, 6 -	lb bc, 7, 7 -	call ClearBox -	hlcoord 1, 9 -	ld de, UnownDexVacantString -	call PlaceString -	xor a -	call GetSRAMBank -	ld hl, sScratch -	ld bc, $31 tiles -	xor a -	call ByteFill -	ld hl, VTiles2 tile $31 -	ld de, sScratch -	ld c, $31 -	ld a, [hROMBank] -	ld b, a -	call Get2bpp -	call CloseSRAM -	ld c, 20 -	call DelayFrames -	ret -; 16d57 - -AlphRuinsStampString: -	db " ALPH RUINS STAMP@" - -UnownDexDoWhatString: -	db "Do what?@" - -UnownDexMenuString: -	db   "♂ PRINT" -	next "♀ CANCEL" -	next "← PREVIOUS" -	next "→ NEXT" -	db   "@" - -UnownDexVacantString: -	db "VACANT@" -; 16d9c - -UnownDexATile: ; 16d9c -INCBIN "gfx/unknown/016d9c.1bpp" -UnownDexBTile: ; 16da4 -INCBIN "gfx/unknown/016da4.1bpp" -; 16dac - -Function16dac: ; 16dac -	hlcoord 0, 0 -	ld bc, SCREEN_WIDTH * SCREEN_HEIGHT -	ld a, " " -	call ByteFill -	hlcoord 7, 11 -	ld a, $31 -	ld [hFillBox], a -	lb bc, 7, 7 -	predef FillBox -	ret -; 16dc7 - -PhotoStudio: ; 16dc7 -	ld hl, .Text_AskWhichMon -	call PrintText -	callba SelectMonFromParty -	jr c, .cancel -	ld a, [CurPartySpecies] -	cp EGG -	jr z, .egg - -	ld hl, .Text_HoldStill -	call PrintText -	call DisableSpriteUpdates -	callba Function8461a -	call Function2b74 -	ld a, [$ffac] -	and a -	jr nz, .cancel -	ld hl, .Text_Presto -	jr .print_text - -.cancel -	ld hl, .Text_NoPicture -	jr .print_text - -.egg -	ld hl, .Text_Egg - -.print_text -	call PrintText -	ret -; 16e04 - -.Text_AskWhichMon: ; 0x16e04 -	; Which #MON should I photo- graph? -	text_jump UnknownText_0x1be024 -	db "@" -; 0x16e09 - -.Text_HoldStill: ; 0x16e09 -	; All righty. Hold still for a bit. -	text_jump UnknownText_0x1be047 -	db "@" -; 0x16e0e - -.Text_Presto: ; 0x16e0e -	; Presto! All done. Come again, OK? -	text_jump UnknownText_0x1be06a -	db "@" -; 0x16e13 - -.Text_NoPicture: ; 0x16e13 -	; Oh, no picture? Come again, OK? -	text_jump UnknownText_0x1c0000 -	db "@" -; 0x16e18 - -.Text_Egg: ; 0x16e18 -	; An EGG? My talent is worth more… -	text_jump UnknownText_0x1c0021 -	db "@" -; 0x16e1d +INCLUDE "event/photo.asm"  INCLUDE "engine/breeding/egg.asm" @@ -13076,17 +12778,17 @@ PlaceMenuItemQuantity: ; 0x24ac3  	ret  ; 0x24ae8 -Function24ae8: ; 24ae8 +PlaceMoneyTopRightOW: ; 24ae8  	ld hl, MenuDataHeader_0x24b15  	call CopyMenuDataHeader  	jr Function24b01 -Function24af0: ; 24af0 +PlaceMoneyBottomLeftOW: ; 24af0  	ld hl, MenuDataHeader_0x24b1d  	call CopyMenuDataHeader  	jr Function24b01 -Function24af8: ; 24af8 +PlaceMoneyTopRightMenu: ; 24af8  	ld hl, MenuDataHeader_0x24b15  	ld de, $b  	call Function1e2e @@ -20847,7 +20549,7 @@ Function48000: ; 48000  	ld [wd478], a  	ld [wd002], a  	ld [wd003], a -	; could have done "ld a, [wd479] \ and -4", saved four operations +	; could have done "ld a, [wd479] \ and %11111100", saved four operations  	ld a, [wd479]  	res 0, a  	ld [wd479], a @@ -20857,1836 +20559,7 @@ Function48000: ; 48000  	ret  ; 4802f - -Function4802f: ; 4802f (12:402f) -	xor a -	set 6, a -	ld [wd002], a -	ld hl, wd003 -	set 0, [hl] -	ld a, c -	and a -	call z, Function48000 -	call ClearBGPalettes -	call Function48d3d -	ld a, [wd479] -	bit 1, a -	jr z, .asm_4805a -	ld a, [wd003] -	set 0, a -	set 1, a -	set 2, a -	set 3, a -	ld [wd003], a -.asm_4805a -	call Function486bf -	call LoadFontsExtra -	ld de, GFX_488c3 -	ld hl, VTiles2 tile $10 -	lb bc, BANK(GFX_488c3), 1 -	call Request1bpp -	ld de, GFX_488cb -	ld hl, VTiles2 tile $11 -	lb bc, BANK(GFX_488cb), 1 -	call Request1bpp -	call Function4a3a7 -	call ClearBGPalettes -	ld a, [wd002] -	bit 6, a -	jr z, .asm_4808a -	call Function48689 -	jr .asm_480d7 -.asm_4808a -	ld a, $5 -	ld [MusicFade], a -	ld a, MUSIC_MOBILE_ADAPTER_MENU % $100 -	ld [MusicFadeIDLo], a -	ld a, MUSIC_MOBILE_ADAPTER_MENU / $100 -	ld [MusicFadeIDHi], a -	ld c, 20 -	call DelayFrames -	ld b, $1 -	call Function4930f -	call ClearBGPalettes -	hlcoord 0, 0 -	ld b, $2 -	ld c, $14 -	call ClearBox -	hlcoord 0, 1 -	ld a, $c -	ld [hl], a -	ld bc, $13 -	add hl, bc -	ld [hl], a -	ld de, MobileProfileString -	hlcoord 1, 1 -	call PlaceString -	hlcoord 0, 2 -	ld b, $a -	ld c, $12 -	call Function48cdc -	hlcoord 2, 4 -	ld de, String_48482 -	call PlaceString -.asm_480d7 -	hlcoord 2, 6 -	ld de, String_48489 -	call PlaceString -	hlcoord 2, 8 -	ld de, String_4848d -	call PlaceString -	hlcoord 2, 10 -	ld de, String_48495 -	call PlaceString -	hlcoord 2, 12 -	ld de, String_4849e -	call PlaceString -	ld a, [wd002] -	bit 6, a -	jr nz, .asm_48113 -	ld a, [PlayerGender] -	ld hl, Strings_484fb -	call GetNthString -	ld d, h -	ld e, l -	hlcoord 11, 4 -	call PlaceString -.asm_48113 -	hlcoord 11, 6 -	call Function487ec -	ld a, [wd474] -	dec a -	ld hl, Prefectures -	call GetNthString -	ld d, h -	ld e, l -	hlcoord 11, 8 -	call PlaceString -	hlcoord 11, 10 -	call Function489ea -	hlcoord 0, 14 -	ld b, $2 -	ld c, $12 -	call TextBox -	hlcoord 1, 16 -	ld de, String_48275 -	call PlaceString -	call Function48187 -	call Function3200 -	call SetPalettes -	call Function1bc9 -	ld hl, MenuSelection2 -	ld b, [hl] -	push bc -	jr asm_4815f - -Function48157: ; 48157 (12:4157) -	call Function1bd3 -	ld hl, MenuSelection2 -	ld b, [hl] -	push bc - -asm_4815f: ; 4815f (12:415f) -	bit 0, a -	jp nz, Function4820d -	ld b, a -	ld a, [wd002] -	bit 6, a -	jr z, .asm_48177 -	ld hl, wd479 -	bit 1, [hl] -	jr z, .asm_48177 -	bit 1, b -	jr nz, .asm_4817a -.asm_48177 -	jp Function48272 -.asm_4817a -	call ClearBGPalettes -	call Function48d30 -	pop bc -	call ClearTileMap -	ld a, $ff -	ret - -Function48187: ; 48187 (12:4187) -	ld a, [wd479] -	bit 1, a -	jr nz, .asm_481f1 -	ld a, [wd003] -	ld d, a -	call Function48725 -	jr c, .asm_481a2 -	lb bc, 1, 4 -	hlcoord 2, 12 -	call ClearBox -	jr .asm_481ad -.asm_481a2 -	push de -	hlcoord 2, 12 -	ld de, String_4849e -	call PlaceString -	pop de -.asm_481ad -	ld a, [wd002] -	bit 6, a -	jr nz, .asm_481c1 -	bit 0, d -	jr nz, .asm_481c1 -	lb bc, 1, 8 -	hlcoord 11, 4 -	call ClearBox -.asm_481c1 -	bit 1, d -	jr nz, .asm_481ce -	lb bc, 1, 8 -	hlcoord 11, 6 -	call ClearBox -.asm_481ce -	bit 2, d -	jr nz, .asm_481db -	lb bc, 2, 8 -	hlcoord 11, 7 -	call ClearBox -.asm_481db -	bit 3, d -	jr nz, .asm_481f1 -	ld a, [wd479] -	bit 0, a -	jr nz, .asm_481f8 -	lb bc, 1, 8 -	hlcoord 11, 10 -	call ClearBox -	jr .asm_48201 -.asm_481f1 -	ld a, [wd479] -	bit 0, a -	jr nz, .asm_48201 -.asm_481f8 -	hlcoord 11, 10 -	ld de, String_48202 -	call PlaceString -.asm_48201 -	ret -; 48202 (12:4202) - -String_48202: ; 48202 -	db "Tell Later@" -; 4820d - -Function4820d: ; 4820d (12:420d) -	call Function1bee -	ld hl, MenuSelection2 -	ld a, [hl] -	push af -	ld a, [wd002] -	bit 6, a -	jr z, .asm_4821f -	pop af -	inc a -	push af -.asm_4821f -	pop af -	cp $1 -	jr z, asm_4828d -	cp $2 -	jp z, Function4876f -	cp $3 -	jp z, Function48304 -	cp $4 -	jp z, Function488d3 -	ld a, $2 -	call Function1ff8 -	ld a, [wd002] -	bit 6, a -	jr z, .asm_4825c -	jr .asm_4825c -; 48241 (12:4241) - -	hlcoord 1, 15 -	ld b, $2 -	ld c, $12 -	call ClearBox -	ld de, String_484a1 -	hlcoord 1, 16 -	call PlaceString -	call WaitBGMap -	ld c, 48 -	call DelayFrames - -.asm_4825c -	call ClearBGPalettes -	call Function48d30 -	pop bc -	call ClearTileMap -	ld b, SCGB_08 -	call GetSGBLayout -	ld hl, wd479 -	set 1, [hl] -	xor a -	ret - -Function48272: ; 48272 (12:4272) -	jp Function4840c -; 48275 (12:4275) - -String_48275: ; 48275 -	db "Personal Info@" -; 48283 - -Function48283: ; 48283 (12:4283) -	lb bc, 2, 18 -	hlcoord 1, 15 -	call ClearBox -	ret - -asm_4828d: ; 4828d (12:428d) -	call Function48283 -	hlcoord 1, 16 -	ld de, String_484b1 -	call PlaceString -	ld hl, MenuDataHeader_0x484f1 -	call LoadMenuDataHeader -	call Function4873c -	hlcoord 11, 2 -	ld b, $4 -	ld c, $7 -	call Function48cdc -	hlcoord 13, 4 -	ld de, String_484fb -	call PlaceString -	hlcoord 13, 6 -	ld de, String_484ff -	call PlaceString -	call WaitBGMap -	ld a, [PlayerGender] -	inc a -	ld [wMenuCursorBuffer], a -	call Function1bc9 -	call PlayClickSFX -	call ExitMenu -	bit 0, a -	jp z, Function4840c -	ld hl, MenuSelection2 -	ld a, [hl] -	ld hl, Strings_484fb -	cp $1 -	jr z, .asm_482ed -.asm_482e1 -	ld a, [hli] -	cp $50 -	jr nz, .asm_482e1 -	ld a, $1 -	ld [PlayerGender], a -	jr .asm_482f1 -.asm_482ed -	xor a -	ld [PlayerGender], a -.asm_482f1 -	ld d, h -	ld e, l -	hlcoord 11, 4 -	call PlaceString -	ld a, [wd003] -	set 0, a -	ld [wd003], a -	jp Function4840c - -Function48304: ; 48304 (12:4304) -	call Function48283 -	hlcoord 1, 16 -	ld de, String_484cf -	call PlaceString -	ld hl, MenuDataHeader_0x48504 -	call LoadMenuDataHeader -	ld hl, MenuDataHeader_0x48513 -	call LoadMenuDataHeader -	hlcoord 10, 0 -	ld b, $c -	ld c, $8 -	call Function48cdc -	ld a, [wMenuCursorBuffer] -	ld b, a -	ld a, [wd0e4] -	ld c, a -	push bc -	ld a, [wd474] -	dec a -	cp $29 -	jr c, .asm_4833f -	sub $29 -	inc a -	ld [wMenuCursorBuffer], a -	ld a, $29 -.asm_4833f -	ld [wd0e4], a -	callba Function104148 -.asm_48348 -	call HandleScrollingMenu -	ld de, $629 -	call Function48383 -	jr c, .asm_48348 -	ld d, a -	pop bc -	ld a, b -	ld [wMenuCursorBuffer], a -	ld a, c -	ld [wd0e4], a -	ld a, d -	push af -	call ExitMenu -	call ExitMenu -	pop af -	ld a, [hJoyPressed] -	bit 0, a -	jr z, .asm_48377 -	call Function483bb -	ld a, [wd003] -	set 2, a -	ld [wd003], a -.asm_48377 -	call Function48187 -	callba Function104148 -	jp Function4840c - -Function48383: ; 48383 (12:4383) -	push bc -	push af -	bit 5, a -	jr nz, .asm_48390 -	bit 4, a -	jr nz, .asm_4839f -	and a -	jr .asm_483b7 -.asm_48390 -	ld a, [wd0e4] -	sub d -	ld [wd0e4], a -	jr nc, .asm_483af -	xor a -	ld [wd0e4], a -	jr .asm_483af -.asm_4839f -	ld a, [wd0e4] -	add d -	ld [wd0e4], a -	cp e -	jr c, .asm_483af -	ld a, e -	ld [wd0e4], a -	jr .asm_483af -.asm_483af -	ld hl, MenuSelection2 -	ld a, [hl] -	ld [wMenuCursorBuffer], a -	scf -.asm_483b7 -	pop bc -	ld a, b -	pop bc -	ret - -Function483bb: ; 483bb (12:43bb) -	ld hl, wcf77 -	ld a, [hl] -	inc a -	ld [wd474], a -	dec a -	ld b, a -	ld hl, Prefectures -.asm_483c8 -	and a -	jr z, .asm_483d5 -.asm_483cb -	ld a, [hli] -	cp "@" -	jr nz, .asm_483cb -	ld a, b -	dec a -	ld b, a -	jr .asm_483c8 -.asm_483d5 -	ld d, h -	ld e, l -	ld b, $2 -	ld c, $8 -	hlcoord 11, 7 -	call ClearBox -	hlcoord 11, 8 -	call PlaceString -	ret -; 483e8 (12:43e8) - -Function483e8: ; 483e8 -	push de -	ld hl, Prefectures -	ld a, [MenuSelection] -	cp $ff -	jr nz, .asm_483f8 -	ld hl, Wakayama ; last string -	jr .asm_48405 - -.asm_483f8 -	ld d, a -	and a -	jr z, .asm_48405 -.asm_483fc -	ld a, [hli] -	cp "@" -	jr nz, .asm_483fc -	ld a, d -	dec a -	jr .asm_483f8 - -.asm_48405 -	ld d, h -	ld e, l -	pop hl -	call PlaceString -	ret -; 4840c - -Function4840c: ; 4840c (12:440c) -	call Function48187 -	call Function48283 -	hlcoord 1, 16 -	ld de, String_48275 -	call PlaceString -	call Function486bf -	pop bc -	ld hl, MenuSelection2 -	ld [hl], b -	ld a, [wd002] -	bit 6, a -	jr nz, .asm_48437 -	ld b, $9 -	ld c, $1 -	hlcoord 1, 4 -	call ClearBox -	jp Function48157 -.asm_48437 -	ld b, $7 -	ld c, $1 -	hlcoord 1, 6 -	call ClearBox -	jp Function48157 - -Function48444: ; 48444 (12:4444) -	push bc -	push af -	push de -	push hl -	ld hl, Unknown_4845d -.asm_4844b -	and a -	jr z, .asm_48453 -rept 2 -	inc hl -endr -	dec a -	jr .asm_4844b -.asm_48453 -	ld d, h -	ld e, l -	pop hl -	call PlaceString -	pop de -	pop af -	pop bc -	ret -; 4845d (12:445d) - -Unknown_4845d: ; 4845d -; 4845d -	db "0@" -	db "1@" -	db "2@" -	db "3@" -	db "4@" -	db "5@" -	db "6@" -	db "7@" -	db "8@" -	db "9@" -; 48471 - -MobileProfileString: db "  Mobile Profile@" -String_48482: db "Gender@" -String_48489: db "Age@" -String_4848d: db "Address@" -String_48495: db "Zip Code@" -String_4849e: db "OK@" -String_484a1: db "Profile Changed@" -String_484b1: db "Boy or girl?@" -String_484be: db "How old are you?@" -String_484cf: db "Where do you live?@" -String_484e2: db "Your zip code?@" -; 484f1 - -MenuDataHeader_0x484f1: ; 0x484f1 -	db $40 ; flags -	db 02, 11 ; start coords -	db 07, 19 ; end coords -	dw MenuData2_0x484f9 -	db 1 ; default option -; 0x484f9 - -MenuData2_0x484f9: ; 0x484f9 -	db $a0 ; flags -	db 2 ; items -Strings_484fb: -String_484fb: db "Boy@" -String_484ff: db "Girl@" -; 0x48504 - -MenuDataHeader_0x48504: ; 0x48504 -	db $40 ; flags -	db 00, 10 ; start coords -	db 17, 19 ; end coords - -MenuDataHeader_0x48509: ; 0x48509 -	db $40 ; flags -	db 05, 10 ; start coords -	db 07, 19 ; end coords - -MenuDataHeader_0x4850e: ; 0x4850e -	db $40 ; flags -	db 09, 10 ; start coords -	db 11, 19 ; end coords - -MenuDataHeader_0x48513: ; 0x48513 -	db $40 ; flags -	db 01, 11 ; start coords -	db 12, 18 ; end coords -	dw MenuData2_0x4851b -	db 1 ; default option -; 0x4851b - -MenuData2_0x4851b: ; 0x4851b -	db $1d ; flags -	db 6 ; items - -Unknown_4851d: ; 4851d -	db $00, $01, $12, $2b, $45, $12, $e8, $43, $00, $00, $00, $00, $00, $00, $2e, $00, $01, $02, $03, $04 -	db $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f, $10, $11, $12, $13, $14, $15, $16, $17, $18 -	db $19, $1a, $1b, $1c, $1d, $1e, $1f, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $2a, $2b, $2c -	db $2d, $ff - -Prefectures: -Aichi:     db "あいちけん@"   ; Aichi -Aomori:    db "あおもりけん@" ; Aomori -Akita:     db "あきたけん@"   ; Akita -Ishikawa:  db "いしかわけん@" ; Ishikawa -Ibaraki:   db "いばらきけん@" ; Ibaraki -Iwate:     db "いわてけん@"   ; Iwate -Ehime:     db "えひめけん@"   ; Ehime -Oita:      db "おおいたけん@" ; Oita -Osakafu:   db "おおさかふ@"   ; Osakafu -Okayama:   db "おかやまけん@" ; Okayama -Okinawa:   db "おきなわけん@" ; Okinawa -Kagawa:    db "かがわけん@"   ; Kagawa -Kagoshima: db "かごしまけん@" ; Kagoshima -Kanagawa:  db "かながわけん@" ; Kanagawa -Gifu:      db "ぎふけん@"     ; Gifu -Kyotofu:   db "きょうとふ@"   ; Kyotofu -Kumamoto:  db "くまもとけん@" ; Kumamoto -Gunma:     db "ぐんまけん@"   ; Gunma -Kochi:     db "こうちけん@"   ; Kochi -Saitama:   db "さいたまけん@" ; Saitama -Saga:      db "さがけん@"     ; Saga -Shiga:     db "しがけん@"     ; Shiga -Shizuoka:  db "しずおかけん@" ; Shizuoka -Shimane:   db "しまねけん@"   ; Shimane -Chiba:     db "ちばけん@"     ; Chiba -Tokyo:     db "とうきょうと@" ; Tokyo -Tokushima: db "とくしまけん@" ; Tokushima -Tochigi:   db "とちぎけん@"   ; Tochigi -Tottori:   db "とっとりけん@" ; Tottori -Toyama:    db "とやまけん@"   ; Toyama -Nagasaki:  db "ながさきけん@" ; Nagasaki -Nagano:    db "ながのけん@"   ; Nagano -Naraken:   db "ならけん@"     ; Naraken -Niigata:   db "にいがたけん@" ; Niigata -Hyogo:     db "ひょうごけん@" ; Hyogo -Hiroshima: db "ひろしまけん@" ; Hiroshima -Fukui:     db "ふくいけん@"   ; Fukui -Fukuoka:   db "ふくおかけん@" ; Fukuoka -Fukushima: db "ふくしまけん@" ; Fukushima -Hokkaido:  db "ほっかいどう@" ; Hokkaido -Mie:       db "みえけん@"     ; Mie -Miyagi:    db "みやぎけん@"   ; Miyagi -Miyazaki:  db "みやざきけん@" ; Miyazaki -Yamagata:  db "やまがたけん@" ; Yamagata -Yamaguchi: db "やまぐちけん@" ; Yamaguchi -Yamanashi: db "やまなしけん@" ; Yamanashi -Wakayama:  db "わかやまけん@" ; Wakayama -; 48689 - -Function48689: ; 48689 (12:4689) -	ld c, 7 -	call DelayFrames -	ld b, $1 -	call Function4930f -	call ClearBGPalettes -	hlcoord 0, 0 -	ld b, $4 -	ld c, $14 -	call ClearBox -	hlcoord 0, 2 -	ld a, $c -	ld [hl], a -	ld bc, $13 -	add hl, bc -	ld [hl], a -	ld de, MobileProfileString -	hlcoord 1, 2 -	call PlaceString -	hlcoord 0, 4 -	ld b, $8 -	ld c, $12 -	call Function48cdc -	ret - -Function486bf: ; 486bf (12:46bf) -	ld hl, wcfa1 -	ld a, [wd002] -	bit 6, a -	jr nz, .asm_486ce -	ld a, $4 -	ld [hli], a -	jr .asm_486d1 -.asm_486ce -	ld a, $6 -	ld [hli], a -.asm_486d1 -	ld a, $1 -	ld [hli], a -	ld a, [wd002] -	bit 6, a -	jr nz, .asm_486e7 -	call Function48725 -	ld a, $4 -	jr nc, .asm_486e4 -	ld a, $5 -.asm_486e4 -	ld [hli], a -	jr .asm_486fb -.asm_486e7 -	ld a, [wd479] -	bit 1, a -	jr nz, .asm_486f8 -	call Function48725 -	jr c, .asm_486f8 -	ld a, $3 -	ld [hli], a -	jr .asm_486fb -.asm_486f8 -	ld a, $4 -	ld [hli], a -.asm_486fb -	ld a, $1 -	ld [hli], a -	ld [hl], $0 -	set 5, [hl] -	inc hl -	xor a -	ld [hli], a -	ld a, $20 -	ld [hli], a -	ld a, $1 -	add $40 -	add $80 -	push af -	ld a, [wd002] -	bit 6, a -	jr z, .asm_4871a -	pop af -	add $2 -	push af -.asm_4871a -	pop af -	ld [hli], a -	ld a, $1 -rept 2 -	ld [hli], a -endr -	xor a -rept 3 -	ld [hli], a -endr -	ret - -Function48725: ; 48725 (12:4725) -	ld a, [wd003] -	bit 0, a -	jr z, .asm_4873a -	bit 1, a -	jr z, .asm_4873a -	bit 2, a -	jr z, .asm_4873a -	bit 3, a -	jr z, .asm_4873a -	scf -	ret -.asm_4873a -	and a -	ret - -Function4873c: ; 4873c (12:473c) -	ld hl, wcfa1 -	ld a, $4 -	ld [hli], a -	ld a, $c -	ld [hli], a -	ld a, $2 -	ld [hli], a -	ld a, $1 -	ld [hli], a -	ld [hl], $0 -	set 5, [hl] -	inc hl -	xor a -	ld [hli], a -	ld a, $20 -	ld [hli], a -	ld a, $1 -	add $2 -	ld [hli], a -	ld a, [PlayerGender] -	and a -	jr z, .asm_48764 -	ld a, $2 -	jr .asm_48766 -.asm_48764 -	ld a, $1 -.asm_48766 -	ld [hli], a -	ld a, $1 -	ld [hli], a -	xor a -rept 3 -	ld [hli], a -endr -	ret - -Function4876f: ; 4876f (12:476f) -	call Function48283 -	hlcoord 1, 16 -	ld de, String_484be -	call PlaceString -	ld hl, MenuDataHeader_0x48509 -	call LoadMenuDataHeader -	ld a, [hInMenu] -	push af -	ld a, $1 -	ld [hInMenu], a -	hlcoord 10, 5 -	ld b, $1 -	ld c, $8 -	call Function48cdc -	call WaitBGMap -	ld a, [wd473] -	and a -	jr z, .asm_487ab -	cp $64 -	jr z, .asm_487b2 -	hlcoord 12, 5 -	ld [hl], $10 -	hlcoord 12, 7 -	ld [hl], $11 -	jr .asm_487b7 -.asm_487ab -	hlcoord 12, 5 -	ld [hl], $10 -	jr .asm_487b7 -.asm_487b2 -	hlcoord 12, 7 -	ld [hl], $11 -.asm_487b7 -	hlcoord 11, 6 -	call Function487ec -	ld c, 10 -	call DelayFrames -	ld a, [wd473] -	push af -.asm_487c6 -	call JoyTextDelay -	call Function4880e -	jr nc, .asm_487c6 -	ld a, $1 -	call Function1ff8 -	pop bc -	jr nz, .asm_487da -	ld a, b -	ld [wd473], a -.asm_487da -	ld a, [wd473] -	call ExitMenu -	hlcoord 11, 6 -	call Function487ec -	pop af -	ld [hInMenu], a -	jp Function4840c - -Function487ec: ; 487ec (12:47ec) -	push hl -	ld de, wd473 -	call Function487ff -	pop hl -rept 4 -	inc hl -endr -	ld de, String_4880d -	call PlaceString -	ret - -Function487ff: ; 487ff (12:47ff) -	push hl -	ld a, " " -	ld [hli], a -	ld [hl], a -	pop hl -	ld b, PRINTNUM_LEADINGZEROS | 1 -	ld c, 3 -	call PrintNum -	ret -; 4880d (12:480d) - -String_4880d: ; 4880d -	db "@" -; 4880e - -Function4880e: ; 4880e (12:480e) -	ld a, [hJoyPressed] -	and A_BUTTON -	jp nz, Function488b9 -	ld a, [hJoyPressed] -	and B_BUTTON -	jp nz, Function488b4 -	ld hl, hJoyLast -	ld a, [hl] -	and D_UP -	jr nz, .asm_48843 -	ld a, [hl] -	and D_DOWN -	jr nz, .asm_48838 -	ld a, [hl] -	and D_LEFT -	jr nz, .asm_4884f -	ld a, [hl] -	and D_RIGHT -	jr nz, .asm_4885f -	call DelayFrame -	and a -	ret -.asm_48838 -	ld hl, wd473 -	ld a, [hl] -	and a -	jr z, .asm_48840 -	dec a -.asm_48840 -	ld [hl], a -	jr .asm_4886f -.asm_48843 -	ld hl, wd473 -	ld a, [hl] -	cp $64 -	jr nc, .asm_4884c -	inc a -.asm_4884c -	ld [hl], a -	jr .asm_4886f -.asm_4884f -	ld a, [wd473] -	cp $5b -	jr c, .asm_48858 -	ld a, $5a -.asm_48858 -	add $a -	ld [wd473], a -	jr .asm_4886f -.asm_4885f -	ld a, [wd473] -	cp $a -	jr nc, .asm_48868 -	ld a, $a -.asm_48868 -	sub $a -	ld [wd473], a -	jr .asm_4886f -.asm_4886f -	ld a, [wd473] -	and a -	jr z, .asm_48887 -	cp $64 -	jr z, .asm_48898 -	jr z, .asm_488a7 -	hlcoord 12, 5 -	ld [hl], $10 -	hlcoord 12, 7 -	ld [hl], $11 -	jr .asm_488a7 -.asm_48887 -	hlcoord 10, 5 -	ld b, $1 -	ld c, $8 -	call Function48cdc -	hlcoord 12, 5 -	ld [hl], $10 -	jr .asm_488a7 -.asm_48898 -	hlcoord 10, 5 -	ld b, $1 -	ld c, $8 -	call Function48cdc -	hlcoord 12, 7 -	ld [hl], $11 -.asm_488a7 -	hlcoord 11, 6 -	call Function487ec -	call WaitBGMap -	ld a, $1 -	and a -	ret - -Function488b4: ; 488b4 (12:48b4) -	ld a, $0 -	and a -	scf -	ret - -Function488b9: ; 488b9 (12:48b9) -	ld a, [wd003] -	set 1, a -	ld [wd003], a -	scf -	ret -; 488c3 (12:48c3) - -GFX_488c3: ; 488c3 -INCBIN "gfx/unknown/0488c3.2bpp" - -GFX_488cb: ; 488cb -INCBIN "gfx/unknown/0488cb.2bpp" - -Function488d3: ; 488d3 (12:48d3) -	call Function48283 -	hlcoord 1, 16 -	ld de, String_484e2 -	call PlaceString -	call Function48a3a -	jp c, Function4840c -	ld hl, MenuDataHeader_0x4850e -	call LoadMenuDataHeader -	ld a, [hInMenu] -	push af -	ld a, $1 -	ld [hInMenu], a -	hlcoord 10, 9 -	ld b, $1 -	ld c, $8 -	call Function48cdc -	ld a, [wd475] -	and $f -	ld d, $0 -	hlcoord 11, 10 -	call Function489ea -	call WaitBGMap -	ld a, [wd475] -	ld b, a -	ld a, [wd476] -	ld c, a -	ld a, [wd477] -	ld d, a -	ld a, [wd478] -	ld e, a -	push de -	push bc -	ld d, $0 -	ld b, $0 - -asm_48922: ; 48922 (12:4922) -	push bc -	call JoyTextDelay -	ld a, [hJoyDown] -	and a -	jp z, Function4896e -	bit 0, a -	jp nz, Function4896e -	bit 1, a -	jp nz, Function4896e -	ld a, [wd002] -	and %11001111 -	res 7, a -	ld [wd002], a -	pop bc -	inc b -	ld a, b -	cp $5 -	push bc -	jr c, .asm_4894c -	pop bc -	ld b, $4 -	push bc -.asm_4894c -	pop bc -	push bc -	ld a, b -	cp $4 -	jr nz, asm_48972 -	ld c, 10 -	call DelayFrames -	jr asm_48972 -; 4895a (12:495a) - -Function4895a: ; 4895a -	ld a, [hJoyPressed] -	and a -	jr z, .asm_48965 -	pop bc -	ld b, $1 -	push bc -	jr asm_48972 - -.asm_48965 -	ld a, [hJoyLast] -	and a -	jr z, asm_48972 - -	pop bc -	ld b, $1 -	push bc - -Function4896e: ; 4896e (12:496e) -	pop bc -	ld b, $0 -	push bc - -asm_48972: ; 48972 (12:4972) -	call Function48ab5 -	push af -	cp $f0 -	jr z, .asm_48994 -	cp $f -	jr nz, .asm_48988 -	ld a, [wd002] -	set 7, a -	and $cf -	ld [wd002], a -.asm_48988 -	hlcoord 11, 10 -	ld b, $0 -	ld c, d -	add hl, bc -	ld b, $3 -	call Function48c11 -.asm_48994 -	call WaitBGMap -	pop af -	pop bc -	jr nc, asm_48922 -	jr nz, .asm_489b1 -	pop bc -	ld a, b -	ld [wd475], a -	ld a, c -	ld [wd476], a -	pop bc -	ld a, b -	ld [wd477], a -	ld a, c -	ld [wd478], a -	jr .asm_489c5 -.asm_489b1 -	push af -	ld a, [wd479] -	set 0, a -	ld [wd479], a -	ld a, [wd003] -	set 3, a -	ld [wd003], a -	pop af -	pop bc -	pop bc -.asm_489c5 -	push af -	push bc -	push de -	push hl -	ld a, $1 -	call Function1ff8 -	pop hl -	pop de -	pop bc -	pop af -	call ExitMenu -	hlcoord 11, 10 -	call Function489ea -	hlcoord 11, 9 -	lb bc, 1, 8 -	call ClearBox -	pop af -	ld [hInMenu], a -	jp Function4840c - -Function489ea: ; 489ea (12:49ea) -	push de -	ld a, [wd475] -	and $f -	call Function48444 -	ld a, [wd476] -	and $f0 -	swap a -	inc hl -	call Function48444 -	ld a, [wd476] -	and $f -	inc hl -	call Function48444 -	inc hl -	ld de, String_48a38 -	call PlaceString -	ld a, [wd477] -	and $f0 -	swap a -	inc hl -	call Function48444 -	ld a, [wd477] -	and $f -	inc hl -	call Function48444 -	ld a, [wd478] -	and $f0 -	swap a -	inc hl -	call Function48444 -	ld a, [wd478] -	and $f -	inc hl -	call Function48444 -	pop de -	ret -; 48a38 (12:4a38) - -String_48a38: ; 48a38 -	db "-@" -; 48a3a - -Function48a3a: ; 48a3a (12:4a3a) -	ld hl, MenuDataHeader_0x48a9c -	call LoadMenuDataHeader -	call Function4873c -	ld a, $a -	ld [wcfa1], a -	ld a, $b -	ld [wcfa2], a -	ld a, $1 -	ld [MenuSelection2], a -	hlcoord 10, 8 -	ld b, $4 -	ld c, $8 -	call Function48cdc -	hlcoord 12, 10 -	ld de, String_48aa1 -	call PlaceString -	call Function1bc9 -	push af -	call PlayClickSFX -	call ExitMenu -	pop af -	bit 1, a -	jp nz, Function48a9a -	ld a, [MenuSelection2] -	cp $1 -	jr z, .asm_48a98 -	ld a, [wd003] -	set 3, a -	ld [wd003], a -	ld a, [wd479] -	res 0, a -	ld [wd479], a -	xor a -	ld bc, $4 -	ld hl, wd475 -	call ByteFill -	jr Function48a9a -.asm_48a98 -	and a -	ret - -Function48a9a: ; 48a9a (12:4a9a) -	scf -	ret -; 48a9c (12:4a9c) - -MenuDataHeader_0x48a9c: ; 0x48a9c -	db $40 ; flags -	db 08, 10 ; start coords -	db 13, 19 ; end coord - -String_48aa1: ; 48aa1 -	db   "Tell Now" -	next "Tell Later@" -; 48ab5 - - -Function48ab5: ; 48ab5 (12:4ab5) -	ld a, [hJoyPressed] -	and A_BUTTON -	jp nz, Function48c0f -	ld a, [hJoyPressed] -	and B_BUTTON -	jp nz, Function48c0d -	ld a, d -	and a -	jr z, .asm_48adf -	cp $1 -	jr z, .asm_48ae7 -	cp $2 -	jr z, .asm_48af1 -	cp $3 -	jr z, .asm_48af9 -	cp $4 -	jr z, .asm_48b03 -	cp $5 -	jr z, .asm_48b0b -	cp $6 -	jr .asm_48b15 -.asm_48adf -	ld hl, wd475 -	ld a, [hl] -	and $f -	jr .asm_48b1d -.asm_48ae7 -	ld hl, wd476 -	ld a, [hl] -	swap a -	or $f0 -	jr .asm_48b1d -.asm_48af1 -	ld hl, wd476 -	ld a, [hl] -	and $f -	jr .asm_48b1d -.asm_48af9 -	ld hl, wd477 -	ld a, [hl] -	swap a -	or $f0 -	jr .asm_48b1d -.asm_48b03 -	ld hl, wd477 -	ld a, [hl] -	and $f -	jr .asm_48b1d -.asm_48b0b -	ld hl, wd478 -	ld a, [hl] -	swap a -	or $f0 -	jr .asm_48b1d -.asm_48b15 -	ld hl, wd478 -	ld a, [hl] -	and $f -	jr .asm_48b1d -.asm_48b1d -	push hl -	push af -	ld e, $0 -	hlcoord 11, 10 -	ld a, d -.asm_48b25 -	and a -	jr z, .asm_48b2c -	inc e -	dec a -	jr .asm_48b25 -.asm_48b2c -	ld hl, hJoyLast -	ld a, [hl] -	and D_UP -	jr nz, .asm_48b8d -	ld a, [hl] -	and D_DOWN -	jr nz, .asm_48b55 -	ld a, [hl] -	and D_LEFT -	jp nz, Function48bd7 -	ld a, [hl] -	and D_RIGHT -	jr nz, .asm_48b9d -	hlcoord 11, 10 -	call Function489ea -	ld a, [wd002] -	bit 7, a -	jr nz, .asm_48b51 -.asm_48b51 -	pop bc -	pop bc -	and a -	ret -.asm_48b55 -	pop af -	ld b, a -	and $f -	and a -	ld a, b -	jr nz, .asm_48b61 -	and $f0 -	add $a -.asm_48b61 -	dec a -.asm_48b62 -	push de -	push af -	hlcoord 10, 9 -	ld b, $1 -	ld c, $8 -	call Function48cdc -	pop af -	pop de -	hlcoord 11, 10 -	ld b, a -	ld a, d -	cp $3 -	jr c, .asm_48b7a -	inc hl -.asm_48b7a -	ld a, b -	pop hl -	bit 7, a -	jr z, .asm_48b85 -	call Function48c4d -	jr .asm_48b88 -.asm_48b85 -	call Function48c5a -.asm_48b88 -	ld a, $f0 -	jp Function48c00 -.asm_48b8d -	pop af -	ld b, a -	and $f -	cp $9 -	ld a, b -	jr c, .asm_48b9a -	and $f0 -	add $ff -.asm_48b9a -	inc a -	jr .asm_48b62 -.asm_48b9d -	push de -	hlcoord 10, 9 -	ld b, $1 -	ld c, $8 -	call Function48cdc -	pop de -	ld a, d -	cp $6 -	jr nc, .asm_48baf -	inc d -.asm_48baf -	pop af -	pop hl -	ld b, a -	ld a, d -	cp $6 -	ld a, b -	jr z, .asm_48bc4 -	bit 7, a -	jr nz, .asm_48bc4 -	inc hl -	ld a, [hl] -	swap a -	and $f -	jr asm_48bc7 -.asm_48bc4 -	ld a, [hl] -	and $f - -asm_48bc7: ; 48bc7 (12:4bc7) -	hlcoord 11, 10 -	push af -	ld a, d -	cp $3 -	pop bc -	ld a, b -	jr c, .asm_48bd3 -	inc hl -.asm_48bd3 -	ld a, $f -	jr Function48c00 - -Function48bd7: ; 48bd7 (12:4bd7) -	push de -	hlcoord 10, 9 -	ld b, $1 -	ld c, $8 -	call Function48cdc -	pop de -	ld a, d -	and a -	pop af -	pop hl -	ld b, a -	ld a, d -	and a -	ld a, b -	jr z, .asm_48bf3 -	bit 7, a -	jr z, .asm_48bf8 -	dec d -	dec hl -.asm_48bf3 -	ld a, [hl] -	and $f -	jr asm_48bc7 -.asm_48bf8 -	dec d -	ld a, [hl] -	swap a -	and $f -	jr asm_48bc7 - -Function48c00: ; 48c00 (12:4c00) -	push af -	hlcoord 11, 10 -	call Function489ea -	ld a, $1 -	and a -	pop bc -	ld a, b -	ret - -Function48c0d: ; 48c0d (12:4c0d) -	xor a -	and a - -Function48c0f: ; 48c0f (12:4c0f) -	scf -	ret - -Function48c11: ; 48c11 (12:4c11) -	ld a, [wd002] -	bit 7, a -	jr z, .asm_48c20 -	ld a, d -	cp $3 -	jr c, .asm_48c1e -	inc hl -.asm_48c1e -	ld [hl], $7f -.asm_48c20 -	ld a, [wd002] -	swap a -	and $3 -	inc a -	cp b -	jr nz, .asm_48c40 -	ld a, [wd002] -	bit 7, a -	jr z, .asm_48c3a -	res 7, a -	ld [wd002], a -	xor a -	jr .asm_48c40 -.asm_48c3a -	set 7, a -	ld [wd002], a -	xor a -.asm_48c40 -	swap a -	ld b, a -	ld a, [wd002] -	and $cf -	or b -	ld [wd002], a -	ret - -Function48c4d: ; 48c4d (12:4c4d) -	swap a -	and $f0 -	push af -	ld a, [hl] -	and $f -	ld [hl], a -	pop af -	or [hl] -	ld [hl], a -	ret - -Function48c5a: ; 48c5a (12:4c5a) -	push af -	ld a, [hl] -	and $f0 -	ld [hl], a -	pop af -	or [hl] -	ld [hl], a -	ret - -Function48c63: ; 48c63 -	ld a, "@" -	ld [de], a -	ld a, c -	cp $30 -	jr nc, .asm_48c8c -	and a -	jr z, .asm_48c8c -	dec c -	push de -	ld h, d -	ld l, e -	ld a, "@" -	ld b, 7 -.asm_48c76 -	ld [hli], a -	dec b -	jr nz, .asm_48c76 -	ld hl, Prefectures -	ld a, c -	call GetNthString -.asm_48c81 -	ld a, [hli] -	ld [de], a -	inc de -	ld a, [hl] -	cp "@" -	jr nz, .asm_48c81 -	and a -	pop de -	ret - -.asm_48c8c -	scf -	ret -; 48c8e - -Function48c8e: ; 48c8e -	ld hl, wd02a -	ld d, h -	ld e, l -	callba Function48c63 -	hlcoord 10, 7 -	call PlaceString -	call WaitBGMap -	ret -; 48ca3 - -Function48ca3: ; 48ca3 -	push af -	push bc -	push de -	push hl -	ld b, 0 -	ld c, 0 -	ld d, 0 -.asm_48cad -	cp 100 -	jr c, .asm_48cb6 -	sub 100 -	inc b -	jr .asm_48cad - -.asm_48cb6 -	cp 10 -	jr c, .asm_48cbf -	sub 10 -	inc c -	jr .asm_48cb6 - -.asm_48cbf -	cp 1 -	jr c, .asm_48cc7 -	dec a -	inc d -	jr .asm_48cbf - -.asm_48cc7 -	ld a, b -	call Function48444 -	inc hl -	ld a, c -	call Function48444 -	inc hl -	ld a, d -	call Function48444 -	pop hl -	pop de -	pop bc -	pop af -	ret -; 48cda - -Function48cda: ; 48cda (12:4cda) -	ld h, d -	ld l, e - -Function48cdc: ; 48cdc (12:4cdc) -	push bc -	push hl -	call Function48cfd -	pop hl -	pop bc -	ld de, AttrMap - TileMap -	add hl, de -rept 2 -	inc b -endr -rept 2 -	inc c -endr -	ld a, $0 -.asm_48ced -	push bc -	push hl -.asm_48cef -	ld [hli], a -	dec c -	jr nz, .asm_48cef -	pop hl -	ld de, $14 -	add hl, de -	pop bc -	dec b -	jr nz, .asm_48ced -	ret - -Function48cfd: ; 48cfd (12:4cfd) -	push hl -	ld a, $4 -	ld [hli], a -	inc a -	call Function48d2a -	inc a -	ld [hl], a -	pop hl -	ld de, $14 -	add hl, de -.asm_48d0c -	push hl -	ld a, $7 -	ld [hli], a -	ld a, $7f -	call Function48d2a -	ld [hl], $8 -	pop hl -	ld de, $14 -	add hl, de -	dec b -	jr nz, .asm_48d0c -	ld a, $9 -	ld [hli], a -	ld a, $a -	call Function48d2a -	ld [hl], $b -	ret - -Function48d2a: ; 48d2a (12:4d2a) -	ld d, c -.asm_48d2b -	ld [hli], a -	dec d -	jr nz, .asm_48d2b -	ret - -Function48d30: ; 48d30 (12:4d30) -	ld hl, wd475 -	call Function48d4a -	ld hl, wd477 -	call Function48d4a -	ret - -Function48d3d: ; 48d3d (12:4d3d) -	ld hl, wd475 -	call Function48d94 -	ld hl, wd477 -	call Function48d94 -	ret - -Function48d4a: ; 48d4a (12:4d4a) -	inc hl -	ld a, [hl] -	ld b, a -	and $f -	ld c, a -	srl b -	srl b -	srl b -	srl b -	push bc -	ld c, 10 -	ld a, b -	call SimpleMultiply -	pop bc -	add c -	ld [hld], a -	xor a -	ld [hMultiplicand + 0], a -	ld [hMultiplicand + 1], a -	ld a, [hl] -	srl a -	srl a -	srl a -	srl a -	ld c, 10 -	call SimpleMultiply -	ld b, a -	ld a, [hli] -	and $f -	add b -	ld [hMultiplicand + 2], a -	ld a, 100 -	ld [hMultiplier], a -	call Multiply -	ld a, [hProduct + 2] -	ld b, a -	ld a, [hProduct + 3] -	ld c, a -	ld e, [hl] -	add e -	ld c, a -	ld a, b -	adc $0 -	ld b, a -	ld a, c -	ld [hld], a -	ld [hl], b -	ret - -Function48d94: ; 48d94 (12:4d94) -	xor a -	ld [hDividend + 0], a -	ld [hDividend + 1], a -	ld a, [hli] -	ld [hDividend + 0], a -	ld a, [hl] -	ld [hDividend + 1], a -	ld a, 100 -	ld [hDivisor], a -	ld b, 2 -	call Divide -	ld a, [hDivisor] -	ld c, $a -	call SimpleDivide -	sla b -	sla b -	sla b -	sla b -	or b -	ld [hld], a -	ld a, [hQuotient + 2] -	ld c, 10 -	call SimpleDivide -	sla b -	sla b -	sla b -	sla b -	or b -	ld [hl], a -	ret +INCLUDE "misc/mobile_12.asm"  InitGender: ; 48dcb (12:4dcb)  	call Function48e14 @@ -22806,7 +20679,7 @@ PackFGFX: ; 48e9b  INCBIN "gfx/misc/pack_f.2bpp"  ; 4925b -Function4925b: ; 4925b +Special_MoveTutor: ; 4925b  	call FadeToMenu  	call ClearBGPalettes  	call ClearScreen @@ -23542,1606 +21415,8 @@ Unknown_4985a: ; unreferenced  	db $a8, $00, $b5, $b0, $de, $e8, $fc, $1c  	db $ba, $66, $f7, $0e, $ba, $5e, $43, $bd -Special_CelebiShrineEvent: ; 4989a -	call DelayFrame -	ld a, [VramState] -	push af -	xor a -	ld [VramState], a -	call LoadCelebiGFX -	lb de, $07, $50 -	ld a, SPRITE_ANIM_INDEX_2C -	call _InitSpriteAnimStruct -	ld hl, $3 -	add hl, bc -	ld [hl], $84 -	ld hl, $2 -	add hl, bc -	ld [hl], $1f -	ld hl, $f -	add hl, bc -	ld a, $80 -	ld [hl], a -	ld a, $a0 -	ld [wcf64], a -	ld d, $0 -.loop -	ld a, [wJumptableIndex] -	bit 7, a -	jr nz, .done -	push bc -	call Function49bae -	inc d -	push de -	ld a, $90 -	ld [wc3b5], a -	callba Function8cf7a -	call Function49935 -	ld c, 2 -	call DelayFrames -	pop de -	pop bc -	jr .loop - -.done -	pop af -	ld [VramState], a -	call Function498f9 -	call Function49bf3 -	ret -; 498f9 - -Function498f9: ; 498f9 -	ld hl, Sprites + 2 -	xor a -	ld c, $4 -.loop -	ld [hli], a -rept 3 -	inc hl -endr -	inc a -	dec c -	jr nz, .loop -	ld hl, Sprites + $10 -	ld bc, $90 -	xor a -	call ByteFill -	ret -; 49912 - -LoadCelebiGFX: ; 49912 -	callba Function8cf53 -	ld de, SpecialCelebiLeafGFX -	ld hl, VTiles1 -	lb bc, BANK(SpecialCelebiLeafGFX), 4 -	call Request2bpp -	ld de, SpecialCelebiGFX -	ld hl, VTiles1 tile $04 -	lb bc, BANK(SpecialCelebiGFX), $10 -	call Request2bpp -	xor a -	ld [wJumptableIndex], a -	ret -; 49935 - -Function49935: ; 49935 -	ld hl, wcf64 -	ld a, [hl] -	and a -	jr z, .asm_4993e -	dec [hl] -	ret - -.asm_4993e -	ld hl, wJumptableIndex -	set 7, [hl] -	ret -; 49944 - -Function49944: ; 49944 -	ld hl, wcf65 -	ld a, [hl] -	inc [hl] -	and $7 -	ret nz -	ld a, [hl] -	and $18 -	sla a -	add $40 -	ld d, a -	ld e, $0 -	ld a, SPRITE_ANIM_INDEX_18 ; fly land -	call _InitSpriteAnimStruct -	ld hl, $3 -	add hl, bc -	ld [hl], $80 -	ret -; 49962 - -SpecialCelebiLeafGFX: ; 49962 -INCBIN "gfx/special/celebi/leaf.2bpp" -SpecialCelebiGFX: ; 499a2 -INCBIN "gfx/special/celebi/1.2bpp" -INCBIN "gfx/special/celebi/2.2bpp" -INCBIN "gfx/special/celebi/3.2bpp" -INCBIN "gfx/special/celebi/4.2bpp" - - -Function49aa2: ; 49aa2 (12:5aa2) -	ld hl, $6 -	add hl, bc -	ld a, [hl] -	push af -	ld hl, $5 -	add hl, bc -	ld a, [hl] -	cp $52 -	jp nc, Function49b30 -	ld hl, $5 -	add hl, bc -	inc [hl] -	ld hl, $f -	add hl, bc -	ld a, [hl] -	ld d, a -	cp $3a -	jr c, .asm_49ac6 -	jr z, .asm_49ac6 -	sub $3 -	ld [hl], a -.asm_49ac6 -	ld hl, $e -	add hl, bc -	ld a, [hl] -	inc [hl] -	call Function49b3b -	ld hl, $6 -	add hl, bc -	ld [hl], a -	ld d, a -	ld hl, $4 -	add hl, bc -	add [hl] -	cp $5c -	jr nc, .asm_49ae2 -	cp $44 -	jr nc, .asm_49b0d -.asm_49ae2 -	pop af -	push af -	cp d -	jr nc, .asm_49af2 -	ld hl, $4 -	add hl, bc -	add [hl] -	cp $50 -	jr c, .asm_49b05 -	jr .asm_49afb -.asm_49af2 -	ld hl, $4 -	add hl, bc -	add [hl] -	cp $50 -	jr nc, .asm_49b05 -.asm_49afb -	ld hl, $5 -	add hl, bc -	ld a, [hl] -	sub $2 -	ld [hl], a -	jr .asm_49b0d -.asm_49b05 -	ld hl, $5 -	add hl, bc -	ld a, [hl] -	add $1 -	ld [hl], a -.asm_49b0d -	pop af -	ld hl, $4 -	add hl, bc -	add [hl] -	cp $50 -	jr c, .asm_49b26 -	cp $e6 -	jr nc, .asm_49b26 -	ld hl, $1 -	add hl, bc -	ld a, $41 -	call Function3b3c -	jr .asm_49b2f -.asm_49b26 -	ld hl, $1 -	add hl, bc -	ld a, $40 -	call Function3b3c -.asm_49b2f -	ret - -Function49b30: ; 49b30 (12:5b30) -	pop af -	ld hl, $1 -	add hl, bc -	ld a, $40 -	call Function3b3c -	ret - -Function49b3b: ; 49b3b (12:5b3b) -	add $10 -	and $3f -	cp $20 -	jr nc, .asm_49b48 -	call Function49b52 -	ld a, h -	ret -.asm_49b48 -	and $1f -	call Function49b52 -	ld a, h -	xor $ff -	inc a -	ret - -Function49b52: ; 49b52 (12:5b52) -	ld e, a -	ld a, d -	ld d, $0 -	ld hl, Unknown_49b6e -rept 2 -	add hl, de -endr -	ld e, [hl] -	inc hl -	ld d, [hl] -	ld hl, 0 -.asm_49b61 -	srl a -	jr nc, .asm_49b66 -	add hl, de -.asm_49b66 -	sla e -	rl d -	and a -	jr nz, .asm_49b61 -	ret -; 49b6e (12:5b6e) - -Unknown_49b6e: ; 49b6e -	sine_wave $100 -; 49bae - -Function49bae: ; 49bae -	push hl -	push bc -	push de -	ld a, d -	ld d, $3 -	ld e, d -	cp $0 -	jr z, .asm_49bd0 -	cp d -	jr z, .asm_49bd4 -	call Function49bed -	cp d -	jr z, .asm_49bd8 -	call Function49bed -	cp d -	jr z, .asm_49bdc -	call Function49bed -	cp d -	jr c, .asm_49be9 -	jr .asm_49be5 - -.asm_49bd0 -	ld a, $84 -	jr .asm_49bde - -.asm_49bd4 -	ld a, $88 -	jr .asm_49bde - -.asm_49bd8 -	ld a, $8c -	jr .asm_49bde - -.asm_49bdc -	ld a, $90 - -.asm_49bde -	ld hl, $3 -	add hl, bc -	ld [hl], a -	jr .asm_49be9 - -.asm_49be5 -	pop de -	ld d, $ff -	push de - -.asm_49be9 -	pop de -	pop bc -	pop hl -	ret -; 49bed - -Function49bed: ; 49bed -	push af -	ld a, d -	add e -	ld d, a -	pop af -	ret -; 49bf3 - -Function49bf3: ; 49bf3 -	ld a, BATTLETYPE_CELEBI -	ld [BattleType], a -	ret -; 49bf9 - -Function49bf9: ; 49bf9 -	ld a, [wBattleResult] -	bit 6, a -	jr z, .asm_49c07 -	ld a, $1 -	ld [ScriptVar], a -	jr .asm_49c0b - -.asm_49c07 -	xor a -	ld [ScriptVar], a - -.asm_49c0b -	ret -; 49c0c - -GFX_49c0c: ; 49c0c -INCBIN "gfx/unknown/049c0c.2bpp" -; 49cdc - -MainMenu: ; 49cdc -	xor a -	ld [wc2d7], a -	call Function49ed0 -	ld b, SCGB_08 -	call GetSGBLayout -	call SetPalettes -	ld hl, GameTimerPause -	res 0, [hl] -	call Function49da4 -	ld [wcf76], a -	call Function49e09 -	ld hl, MenuDataHeader_0x49d14 -	call LoadMenuDataHeader -	call Function49de4 -	call WriteBackup -	jr c, .quit -	call ClearTileMap -	ld a, [MenuSelection] -	ld hl, Jumptable_49d60 -	rst JumpTable -	jr MainMenu - -.quit -	ret -; 49d14 - -MenuDataHeader_0x49d14: ; 49d14 -	db $40 ; flags -	db 00, 00 ; start coords -	db 07, 16 ; end coords -	dw MenuData2_0x49d1c -	db 1 ; default option -; 49d1c - -MenuData2_0x49d1c: ; 49d1c -	db $80 ; flags -	db 0 ; items -	dw MainMenuItems -	dw Function1f79 -	dw MainMenuText -; 49d20 - -MainMenuText: ; 49d24 -	db "CONTINUE@" -	db "NEW GAME@" -	db "OPTION@" -	db "MYSTERY GIFT@" -	db "MOBILE@" -	db "MOBILE STUDIUM@" - -Jumptable_49d60: ; 0x49d60 -	dw MainMenu_Continue -	dw MainMenu_NewGame -	dw MainMenu_Options -	dw MainMenu_MysteryGift -	dw MainMenu_Mobile -	dw MainMenu_MobileStudium -; 0x49d6c - -CONTINUE       EQU 0 -NEW_GAME       EQU 1 -OPTION         EQU 2 -MYSTERY_GIFT   EQU 3 -MOBILE         EQU 4 -MOBILE_STUDIUM EQU 5 - -MainMenuItems: - -NewGameMenu: ; 0x49d6c -	db 2 -	db NEW_GAME -	db OPTION -	db $ff - -ContinueMenu: ; 0x49d70 -	db 3 -	db CONTINUE -	db NEW_GAME -	db OPTION -	db $ff - -MobileMysteryMenu: ; 0x49d75 -	db 5 -	db CONTINUE -	db NEW_GAME -	db OPTION -	db MYSTERY_GIFT -	db MOBILE -	db $ff - -MobileMenu: ; 0x49d7c -	db 4 -	db CONTINUE -	db NEW_GAME -	db OPTION -	db MOBILE -	db $ff - -MobileStudiumMenu: ; 0x49d82 -	db 5 -	db CONTINUE -	db NEW_GAME -	db OPTION -	db MOBILE -	db MOBILE_STUDIUM -	db $ff - -MysteryMobileStudiumMenu: ; 0x49d89 -	db 6 -	db CONTINUE -	db NEW_GAME -	db OPTION -	db MYSTERY_GIFT -	db MOBILE -	db MOBILE_STUDIUM -	db $ff - -MysteryMenu: ; 0x49d91 -	db 4 -	db CONTINUE -	db NEW_GAME -	db OPTION -	db MYSTERY_GIFT -	db $ff - -MysteryStudiumMenu: ; 0x49d97 -	db 5 -	db CONTINUE -	db NEW_GAME -	db OPTION -	db MYSTERY_GIFT -	db MOBILE_STUDIUM -	db $ff - -StudiumMenu: ; 0x49d9e -	db 4 -	db CONTINUE -	db NEW_GAME -	db OPTION -	db MOBILE_STUDIUM -	db $ff - - -Function49da4: ; 49da4 -	nop -	nop -	nop -	ld a, [wcfcd] -	and a -	jr nz, .next -	ld a, $0 -	ret - -.next -	ld a, [hCGB] -	cp $1 -	ld a, $1 -	ret nz -	ld a, BANK(s0_abe5) -	call GetSRAMBank -	ld a, [s0_abe5] -	cp $ff -	call CloseSRAM -	jr nz, .done -	ld a, [StatusFlags] -	bit 7, a -	ld a, $1 -	jr z, .ok -	jr .ok - -.ok -	jr .ok2 - -.ok2 -	ld a, $1 -	ret - -.done -	ld a, [StatusFlags] -	bit 7, a -	jr z, .ok3 -	jr .ok3 - -.ok3 -	jr .ok4 - -.ok4 -	ld a, $6 -	ret -; 49de4 - -Function49de4: ; 49de4 -	call SetUpMenu -.asm_49de7 -	call Function49e09 -	ld a, [wcfa5] -	set 5, a -	ld [wcfa5], a -	call Function1f1a -	ld a, [wcf73] -	cp $2 -	jr z, .asm_49e07 -	cp $1 -	jr z, .asm_49e02 -	jr .asm_49de7 - -.asm_49e02 -	call PlayClickSFX -	and a -	ret - -.asm_49e07 -	scf -	ret -; 49e09 - -Function49e09: ; 49e09 -	ld a, [wcfcd] -	and a -	ret z -	xor a -	ld [hBGMapMode], a -	call Function49e27 -	ld hl, Options -	ld a, [hl] -	push af -	set 4, [hl] -	call Function49e3d -	pop af -	ld [Options], a -	ld a, $1 -	ld [hBGMapMode], a -	ret -; 49e27 - - -Function49e27: ; 49e27 -	call Function6e3 -	and $80 -	jr nz, .asm_49e39 -	hlcoord 0, 14 -	ld b, $2 -	ld c, $12 -	call TextBox -	ret - -.asm_49e39 -	call SpeechTextBox -	ret -; 49e3d - - -Function49e3d: ; 49e3d -	ld a, [wcfcd] -	and a -	ret z -	call Function6e3 -	and $80 -	jp nz, Function49e75 -	call UpdateTime -	call GetWeekday -	ld b, a -	decoord 1, 15 -	call Function49e91 -	decoord 4, 16 -	ld a, [hHours] -	ld c, a -	callba PrintHour -	ld [hl], ":" -	inc hl -	ld de, hMinutes -	lb bc, PRINTNUM_LEADINGZEROS | 1, 2 -	call PrintNum -	ret -; 49e70 - -; 49e70 -	db "min.@" -; 49e75 - -Function49e75: ; 49e75 -	hlcoord 1, 14 -	ld de, .TimeNotSet -	call PlaceString -	ret -; 49e7f - -.TimeNotSet ; 49e7f -	db "TIME NOT SET@" -; 49e8c - -UnknownText_0x49e8c: ; 49e8c -	text_jump UnknownText_0x1c5182 -	db "@" -; 49e91 - -Function49e91: ; 49e91 -	push de -	ld hl, .Days -	ld a, b -	call GetNthString -	ld d, h -	ld e, l -	pop hl -	call PlaceString -	ld h, b -	ld l, c -	ld de, .Day -	call PlaceString -	ret -; 49ea8 - -.Days -	db "SUN@" -	db "MON@" -	db "TUES@" -	db "WEDNES@" -	db "THURS@" -	db "FRI@" -	db "SATUR@" -.Day -	db "DAY@" -; 49ed0 - -Function49ed0: ; 49ed0 -	xor a -	ld [hMapAnims], a -	call ClearTileMap -	call LoadFontsExtra -	call LoadStandardFont -	call ResetTextRelatedRAM -	ret -; 49ee0 - - -MainMenu_NewGame: ; 49ee0 -	callba NewGame -	ret -; 49ee7 - -MainMenu_Options: ; 49ee7 -	callba OptionsMenu -	ret -; 49eee - -MainMenu_Continue: ; 49eee -	callba Continue -	ret -; 49ef5 - -MainMenu_MysteryGift: ; 49ef5 -	callba MysteryGift -	ret -; 49efc - -MainMenu_Mobile: ; 49efc -	call ClearBGPalettes -	ld a, MUSIC_MOBILE_ADAPTER_MENU -	ld [wMapMusic], a -	ld de, MUSIC_MOBILE_ADAPTER_MENU -	call Function4a6c5 -Function49f0a: ; 49f0a -	call ClearBGPalettes -	call Function4a3a7 -	call Function4a492 -	call ClearBGPalettes -Function49f16: ; 49f16 -	call Function4a071 -	ld c, 12 -	call DelayFrames -	hlcoord 4, 0 -	ld b, $a -	ld c, $a -	call Function48cdc -	hlcoord 6, 2 -	ld de, MobileString1 -	call PlaceString -	hlcoord 0, 12 -	ld b, $4 -	ld c, $12 -	call TextBox -	xor a -	ld de, String_0x49fe9 -	hlcoord 1, 14 -	call PlaceString -	call Function3200 -	call SetPalettes -	call Function1bc9 -	ld hl, MenuSelection2 -	ld b, [hl] -	push bc -	jr .asm_49f5d - -.asm_49f55 -	call Function1bd3 -	ld hl, MenuSelection2 -	ld b, [hl] -	push bc - -.asm_49f5d -	bit 0, a -	jr nz, .asm_49f67 -	bit 1, a -	jr nz, .asm_49f84 -	jr .asm_49f97 - -.asm_49f67 -	ld hl, MenuSelection2 -	ld a, [hl] -	cp $1 -	jp z, Function4a098 -	cp $2 -	jp z, Function4a0b9 -	cp $3 -	jp z, Function4a0c2 -	cp $4 -	jp z, Function4a100 -	ld a, $1 -	call Function1ff8 - -.asm_49f84 -	pop bc -	call ClearBGPalettes -	call ClearTileMap -	ld a, MUSIC_MAIN_MENU -	ld [wMapMusic], a -	ld de, MUSIC_MAIN_MENU -	call Function4a6c5 -	ret - -.asm_49f97 -	ld hl, MenuSelection2 -	ld a, [hl] -	dec a -	ld hl, MobileStrings2 -	call GetNthString -	ld d, h -	ld e, l -	hlcoord 1, 13 -	ld b, $4 -	ld c, $12 -	call ClearBox -	hlcoord 1, 14 -	call PlaceString -	jp .asm_49fb7 - -.asm_49fb7 -	call Function4a071 -	pop bc -	ld hl, MenuSelection2 -	ld [hl], b -	ld b, $a -	ld c, $1 -	hlcoord 5, 1 -	call ClearBox -	jp .asm_49f55 -; 49fcc - - -MobileString1: ; 49fcc -	db   "めいしフ,ルダー" -	next "あいさつ" -	next "プロフィール" -	next "せ", $1e, "い" -	next "もどる" -	db   "@" -; 49fe9 - - -MobileStrings2: - -String_0x49fe9: ; 49fe9 -	db   "めいし¯つくったり" -	next "ほぞんしておける フ,ルダーです@" -; 4a004 - -String_0x4a004: ; 4a004 -	db   "モバイルたいせんや じぶんのめいしで" -	next "つかう あいさつ¯つくります@" -; 4a026 - -String_0x4a026: ; 4a026 -	db   "あなた%じゅうしょや ねんれいの" -	next "せ", $1e, "い¯かえられます@" -; 4a042 - -String_0x4a042: ; 4a042 -	db  "モバイルセンター", $1d, "せつぞくするとき" -	next "ひつような こと¯きめます@" -; 4a062 - -String_0x4a062: ; 4a062 -	db   "まえ%がめん ", $1d, "もどります" -	next "@" -; 4a071 - - - -Function4a071: ; 4a071 (12:6071) -	ld hl, wcfa1 -	ld a, $2 -	ld [hli], a -	ld a, $5 -	ld [hli], a -	ld a, $5 -	ld [hli], a -	ld a, $1 -	ld [hli], a -	ld [hl], $0 -	set 5, [hl] -	inc hl -	xor a -	ld [hli], a -	ld a, $20 -	ld [hli], a -	ld a, $1 -	add $40 -	add $80 -	add $2 -	ld [hli], a -	ld a, $1 -rept 2 -	ld [hli], a -endr -	ret - -Function4a098: ; 4a098 (12:6098) -	ld a, $2 -	call Function1ff8 -	call Function1bee -	call WaitBGMap -	call LoadStandardMenuDataHeader -	callba Function89de0 -	call Call_ExitMenu -	call Function49351 -	call Function4a485 -	pop bc -	jp Function49f16 - -Function4a0b9: ; 4a0b9 (12:60b9) -	ld a, $2 -	call Function1ff8 -	pop bc -	jp Function4a4c4 - -Function4a0c2: ; 4a0c2 (12:60c2) -	ld a, $2 -	call Function1ff8 -	ld a, BANK(sPlayerData) -	call GetSRAMBank -	ld hl, sPlayerData + PlayerName - wPlayerData -	ld de, PlayerName -	ld bc, $6 -	call CopyBytes -	call CloseSRAM -	callba Function150b9 -	ld c, 2 -	call DelayFrames -	ld c, $1 -	call Function4802f -	push af -	call ClearBGPalettes -	pop af -	and a -	jr nz, .asm_4a0f9 -	callba Function1509a -.asm_4a0f9 -	ld c, 5 -	call DelayFrames -	jr asm_4a111 - -Function4a100: ; 4a100 (12:6100) -	ld a, $2 -	call Function1ff8 -	call ClearBGPalettes -	call Function4a13b -	call ClearBGPalettes -	call ClearTileMap - -asm_4a111: ; 4a111 (12:6111) -	pop bc -	call LoadFontsExtra -	jp Function49f0a - -Function4a118: ; 4a118 (12:6118) -	ld hl, wcfa1 -	ld a, $1 -	ld [hli], a -	ld a, $d -	ld [hli], a -	ld a, $3 -	ld [hli], a -	ld a, $1 -	ld [hli], a -	ld [hl], $0 -	set 5, [hl] -	inc hl -	xor a -	ld [hli], a -	ld a, $20 -	ld [hli], a -	ld a, $1 -	add $2 -	ld [hli], a -	ld a, $1 -rept 2 -	ld [hli], a -endr -	ret - -Function4a13b: ; 4a13b (12:613b) -	call Function4a3a7 -	call Function4a492 -	call Function4a373 -	ld c, 10 -	call DelayFrames - -Function4a149: ; 4a149 (12:6149) -	hlcoord 1, 2 -	ld b, $6 -	ld c, $10 -	call Function48cdc -	hlcoord 3, 4 -	ld de, String_4a1ef -	call PlaceString -	hlcoord 0, 12 -	ld b, $4 -	ld c, $12 -	call TextBox -	ld a, [MenuSelection2] -	dec a -	ld hl, Strings_4a23d -	call GetNthString -	ld d, h -	ld e, l -	hlcoord 1, 13 -	ld b, $4 -	ld c, $12 -	call ClearBox -	hlcoord 1, 14 -	call PlaceString -	callba Function104148 -	call SetPalettes -	call Function1bc9 -	ld hl, MenuSelection2 -	ld b, [hl] -	push bc -	jr asm_4a19d - -Function4a195: ; 4a195 (12:6195) -	call Function1bd3 -	ld hl, MenuSelection2 -	ld b, [hl] -	push bc - -asm_4a19d: ; 4a19d (12:619d) -	bit 0, a -	jr nz, .asm_4a1a7 -	bit 1, a -	jr nz, .asm_4a1ba -	jr .asm_4a1bc -.asm_4a1a7 -	ld hl, MenuSelection2 -	ld a, [hl] -	cp $1 -	jp z, Function4a20e -	cp $2 -	jp z, Function4a221 -	ld a, $1 -	call Function1ff8 -.asm_4a1ba -	pop bc -	ret -.asm_4a1bc -	ld hl, MenuSelection2 -	ld a, [hl] -	dec a -	ld hl, Strings_4a23d -	call GetNthString -	ld d, h -	ld e, l -	hlcoord 1, 13 -	ld b, $4 -	ld c, $12 -	call ClearBox -	hlcoord 1, 14 -	call PlaceString -	jr .asm_4a1db -.asm_4a1db -	call Function4a373 -	pop bc -	ld hl, MenuSelection2 -	ld [hl], b -	lb bc, 6, 1 -	hlcoord 2, 3 -	call ClearBox -	jp Function4a195 -; 4a1ef (12:61ef) - -String_4a1ef: ; 4a1ef -	db   "モバイルセンター¯えらぶ" -	next "ログインパスワード¯いれる" -	next "もどる@" -; 4a20e - -Function4a20e: ; 4a20e (12:620e) -	ld a, $1 -	call Function1ff8 -	callba Function1719c8 -	call ClearBGPalettes -	call DelayFrame -	jr Function4a239 - -Function4a221: ; 4a221 (12:6221) -	ld a, $1 -	call Function1ff8 -	call Function4a28a -	jr c, Function4a239 -	call Function4a373 -	ld a, $2 -	ld [MenuSelection2], a -	jr .asm_4a235 -.asm_4a235 -	pop bc -	jp Function4a149 - -Function4a239: ; 4a239 (12:6239) -	pop bc -	jp Function4a13b -; 4a23d (12:623d) - -Strings_4a23d: ; 4a23d -	db   "いつも せつぞく¯する" -	next "モバイルセンター¯えらびます@" - -	db   "モバイルセンター", $1d, "せつぞくするとき" -	next "つかうパスワード¯ほぞんできます@" - -	db   "まえ%がめん ", $1d, "もどります@" - -	db   "@" -; 4a28a - -Function4a28a: ; 4a28a (12:628a) -	hlcoord 2, 3 -	lb bc, 6, 1 -	ld a, " " -	call Function4a6d8 -	call Function1bee -	call WaitBGMap -	call LoadStandardMenuDataHeader -	ld a, $5 -	call GetSRAMBank -	ld a, [$aa4b] -	call CloseSRAM -	and a -	jr z, .asm_4a2df -	hlcoord 12, 0 -	ld b, $5 -	ld c, $6 -	call Function48cdc -	hlcoord 14, 1 -	ld de, String_4a34b -	call PlaceString -	callba Function104148 -	call Function4a118 -	call Function1bd3 -	push af -	call PlayClickSFX -	pop af -	bit 1, a -	jr nz, .asm_4a33b -	ld a, [MenuSelection2] -	cp $2 -	jr z, .asm_4a2f0 -	cp $3 -	jr z, .asm_4a33b -.asm_4a2df -	callba Function11765d -	call ClearBGPalettes -	call Call_ExitMenu -	call LoadFontsExtra -	scf -	ret -.asm_4a2f0 -	call Function1bee -	ld hl, UnknownText_0x4a358 -	call PrintText -	hlcoord 14, 7 -	ld b, $3 -	ld c, $4 -	call TextBox -	callba Function104148 -	ld hl, MenuDataHeader_0x4a362 -	call LoadMenuDataHeader -	call InterpretMenu2 -	bit 1, a -	jr nz, .asm_4a338 -	ld a, [MenuSelection2] -	cp $2 -	jr z, .asm_4a338 -	ld a, $5 -	call GetSRAMBank -	ld hl, $aa4b -	xor a -	ld bc, $11 -	call ByteFill -	call CloseSRAM -	ld hl, UnknownText_0x4a35d -	call PrintText -	call JoyWaitAorB -.asm_4a338 -	call ExitMenu -.asm_4a33b -	call Call_ExitMenu -	callba Function104148 -	xor a -	ret -; 4a346 (12:6346) - -MenuDataHeader_0x4a346: ; 0x4a346 -	db $40 ; flags -	db 00, 12 ; start coords -	db 06, 19 ; end coords - -String_4a34b: ; 4a34b -	db   "いれなおす" -	next "けす" -	next "もどる@" -; 4a358 - -UnknownText_0x4a358: ; 0x4a358 -	; Delete the saved LOG-IN PASSWORD? -	text_jump UnknownText_0x1c5196 -	db "@" -; 0x4a35d - -UnknownText_0x4a35d: ; 0x4a35d -	; Deleted the LOG-IN PASSWORD. -	text_jump UnknownText_0x1c51b9 -	db "@" -; 0x4a362 - -MenuDataHeader_0x4a362: ; 0x4a362 -	db $40 ; flags -	db 07, 14 ; start coords -	db 11, 19 ; end coords -	dw MenuData2_0x4a36a -	db 2 ; default option -; 0x4a36a - -MenuData2_0x4a36a: ; 0x4a36a -	db $e0 ; flags -	db 2 ; items -	db "はい@" -	db "いいえ@" -; 0x4a373 - -Function4a373: ; 4a373 (12:6373) -	ld hl, wcfa1 -	ld a, $4 -	ld [hli], a -	ld a, $2 -	ld [hli], a -	ld a, $3 -	ld [hli], a -	ld a, $1 -	ld [hli], a -	ld [hl], $0 -	set 5, [hl] -	inc hl -	xor a -	ld [hli], a -	ld a, $20 -	ld [hli], a -	ld a, $1 -	add $40 -	add $80 -	add $2 -	ld [hli], a -	ld a, $1 -rept 2 -	ld [hli], a -endr -	ret -; 4a39a (12:639a) - -Function4a39a: ; 4a39a -	call Function4a485 -	call Function4a492 -	call Function4a3aa -	call SetPalettes -	ret -; 4a3a7 - -Function4a3a7: ; 4a3a7 (12:63a7) -	call Function4a485 -Function4a3aa: ; 4a3aa -	hlcoord 0, 0 -	lb bc, 3, 1 -	xor a -	call Function4a6d8 -	lb bc, 1, 1 -	ld a, $1 -	call Function4a6d8 -	lb bc, 1, 1 -	xor a -	call Function4a6d8 -	lb bc, 1, 1 -	ld a, $1 -	call Function4a6d8 -	lb bc, 4, 1 -	ld a, $2 -	call Function4a6d8 -	lb bc, 1, 1 -	ld a, $3 -	call Function4a6d8 -	lb bc, 1, 1 -	ld a, " " -	call Function4a6d8 -	hlcoord 1, 0 -	ld a, $1 -	lb bc, 3, 18 -	call Function4a6d8 -	lb bc, 1, 18 -	ld a, $0 -	call Function4a6d8 -	lb bc, 1, 18 -	ld a, $1 -	call Function4a6d8 -	lb bc, 1, 18 -	ld a, $2 -	call Function4a6d8 -	lb bc, 11, 18 -	ld a, " " -	call Function4a6d8 -	hlcoord 19, 0 -	lb bc, 3, 1 -	ld a, $0 -	call Function4a6d8 -	lb bc, 1, 1 -	ld a, $1 -	call Function4a6d8 -	lb bc, 1, 1 -	xor a -	call Function4a6d8 -	lb bc, 1, 1 -	ld a, $1 -	call Function4a6d8 -	lb bc, 4, 1 -	ld a, $2 -	call Function4a6d8 -	lb bc, 1, 1 -	ld a, $3 -	call Function4a6d8 -	lb bc, 1, 1 -	ld a, " " -	call Function4a6d8 -	ret -; 4a449 (12:6449) - -Function4a449: ; 4a449 -	ld bc, 3 * SCREEN_WIDTH -	ld a, $0 -	hlcoord 0, 0 -	call ByteFill -	ld bc, 2 * SCREEN_WIDTH -	ld a, $1 -	call ByteFill -	ld bc, 2 * SCREEN_WIDTH -	ld a, $0 -	call ByteFill -	ld bc, 2 * SCREEN_WIDTH -	ld a, $1 -	call ByteFill -	ld bc, SCREEN_WIDTH -	ld a, $2 -	call ByteFill -	ld bc, SCREEN_WIDTH -	ld a, $3 -	call ByteFill -	ld bc, SCREEN_WIDTH -	ld a, " " -	call ByteFill -	ret -; 4a485 - -Function4a485: ; 4a485 (12:6485) -	ld de, GFX_49c0c -	ld hl, VTiles2 tile $00 -	lb bc, BANK(GFX_49c0c), $d -	call Get2bpp -	ret - -Function4a492: ; 4a492 (12:6492) -	call Function4936e -	ret - - -MainMenu_MobileStudium: ; 4a496 -	ld a, [StartDay] -	ld b, a -	ld a, [StartHour] -	ld c, a -	ld a, [StartMinute] -	ld d, a -	ld a, [StartSecond] -	ld e, a -	push bc -	push de -	callba MobileStudium -	call ClearBGPalettes -	pop de -	pop bc -	ld a, b -	ld [StartDay], a -	ld a, c -	ld [StartHour], a -	ld a, d -	ld [StartMinute], a -	ld a, e -	ld [StartSecond], a -	ret -; 4a4c4 - - -Function4a4c4: ; 4a4c4 (12:64c4) -	call ClearBGPalettes -	call Function4a3a7 -	call Function4a492 -	call Function4a680 -	call ClearBGPalettes -	ld c, 20 -	call DelayFrames -	hlcoord 2, 0 -	ld b, $a -	ld c, $e -	call Function48cdc -	hlcoord 4, 2 -	ld de, String_4a5c5 -	call PlaceString -	hlcoord 4, 4 -	ld de, String_4a5cd -	call PlaceString -	hlcoord 4, 6 -	ld de, String_4a5da -	call PlaceString -	hlcoord 4, 8 -	ld de, String_4a5e6 -	call PlaceString -	hlcoord 4, 10 -	ld de, String_4a5f2 -	call PlaceString -	hlcoord 0, 12 -	ld b, $4 -	ld c, $12 -	call TextBox -	xor a -	ld hl, Strings_4a5f6 -	ld d, h -	ld e, l -	hlcoord 1, 14 -	call PlaceString -	ld a, $1 -	ld hl, Strings_4a5f6 -	call GetNthString -	ld d, h -	ld e, l -	hlcoord 1, 16 -	call PlaceString -	call Function3200 -	call SetPalettes -	call Function1bc9 -	ld hl, MenuSelection2 -	ld b, [hl] -	push bc -	jr asm_4a54d - -Function4a545: ; 4a545 (12:6545) -	call Function1bd3 -	ld hl, MenuSelection2 -	ld b, [hl] -	push bc - -asm_4a54d: ; 4a54d (12:654d) -	bit 0, a -	jr nz, .asm_4a557 -	bit 1, a -	jr nz, .asm_4a574 -	jr .asm_4a57e -.asm_4a557 -	ld hl, MenuSelection2 -	ld a, [hl] -	cp $1 -	jp z, Function4a6ab -	cp $2 -	jp z, Function4a6ab -	cp $3 -	jp z, Function4a6ab -	cp $4 -	jp z, Function4a6ab -	ld a, $1 -	call Function1ff8 -.asm_4a574 -	pop bc -	call ClearBGPalettes -	call ClearTileMap -	jp Function49f0a -.asm_4a57e -	ld hl, MenuSelection2 -	ld a, [hl] -	dec a -	add a -	push af -	ld hl, Strings_4a5f6 -	call GetNthString -	ld d, h -	ld e, l -	hlcoord 1, 13 -	ld b, $4 -	ld c, $12 -	call ClearBox -	hlcoord 1, 14 -	call PlaceString -	pop af -	inc a -	ld hl, Strings_4a5f6 -	call GetNthString -	ld d, h -	ld e, l -	hlcoord 1, 16 -	call PlaceString -	jp Function4a5b0 - -Function4a5b0: ; 4a5b0 (12:65b0) -	call Function4a680 -	pop bc -	ld hl, MenuSelection2 -	ld [hl], b -	ld b, $a -	ld c, $1 -	hlcoord 3, 1 -	call ClearBox -	jp Function4a545 -; 4a5c5 (12:65c5) - -String_4a5c5: ; 4a5c5 -	db "じこしょうかい@" -String_4a5cd: ; 4a5cd -	db "たいせん ", $4a, "はじまるとき@" -String_4a5da: ; 4a5da -	db "たいせん ", $1d, "かったとき@" -String_4a5e6: ; 4a5e6 -	db "たいせん ", $1d, "まけたとき@" -String_4a5f2: ; 4a5f2 -	db "もどる@" -; 4a5f6 - -Strings_4a5f6: ; 4a5f6 -	db "めいし や ニュース ", $1d, "のせる@" -	db "あなた%あいさつです@" -	db "モバイル たいせん", $4a, "はじまるとき@" -	db "あいて", $1d, "みえる あいさつです@" -	db "モバイル たいせんで かったとき@" -	db "あいて", $1d, "みえる あいさつです@" -	db "モバイル たいせんで まけたとき@" -	db "あいて", $1d, "みえる あいさつです@" -	db "まえ%がめん ", $1d, "もどります@" -	db "@" -; 4a680 - -Function4a680: ; 4a680 (12:6680) -	ld hl, wcfa1 -	ld a, $2 -	ld [hli], a -	ld a, $3 -	ld [hli], a -	ld a, $5 -	ld [hli], a -	ld a, $1 -	ld [hli], a -	ld [hl], $0 -	set 5, [hl] -	inc hl -	xor a -	ld [hli], a -	ld a, $20 -	ld [hli], a -	ld a, $1 -	add $40 -	add $80 -	add $2 -	ld [hli], a -	ld a, $1 -rept 2 -	ld [hli], a -endr -	xor a -rept 3 -	ld [hli], a -endr -	ret - -Function4a6ab: ; 4a6ab (12:66ab) -	ld a, $2 -	call Function1ff8 -	call ClearBGPalettes -	ld b, SCGB_08 -	call GetSGBLayout -	callba Function11c1ab -	pop bc -	call LoadFontsExtra -	jp Function4a4c4 - -Function4a6c5: ; 4a6c5 (12:66c5) -	ld a, $5 -	ld [MusicFade], a -	ld a, e -	ld [MusicFadeIDLo], a -	ld a, d -	ld [MusicFadeIDHi], a -	ld c, 22 -	call DelayFrames -	ret - -Function4a6d8: ; 4a6d8 (12:66d8) -	push bc -	push hl -.asm_4a6da -	ld [hli], a -	dec c -	jr nz, .asm_4a6da -	pop hl -	ld bc, $14 -	add hl, bc -	pop bc -	dec b -	jr nz, Function4a6d8 -	ret - +INCLUDE "event/celebi.asm" +INCLUDE "engine/main_menu.asm"  SpecialBeastsCheck: ; 0x4a6e8  ; Check if the player owns all three legendary beasts. @@ -34882,7 +31157,7 @@ Function8461a: ; 8461a  	ret  ; 84688 -Function84688: ; 84688 +_PrintDiploma: ; 84688  	ld a, [wcf65]  	push af  	callba Function1dd709 diff --git a/maps/AzaleaTown.asm b/maps/AzaleaTown.asm index 9e9129cad..a40bd316d 100644 --- a/maps/AzaleaTown.asm +++ b/maps/AzaleaTown.asm @@ -30,7 +30,7 @@ UnknownScript_0x198018:  	moveperson $b, $b, $b  	spriteface PLAYER, RIGHT  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	appear $b  	applymovement $b, MovementData_0x198134 @@ -40,7 +40,7 @@ UnknownScript_0x198018:  UnknownScript_0x198034:  	spriteface PLAYER, RIGHT  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	appear $b  	applymovement $b, MovementData_0x19813c diff --git a/maps/BluesHouse.asm b/maps/BluesHouse.asm index 6cdf97d4f..36d06b943 100644 --- a/maps/BluesHouse.asm +++ b/maps/BluesHouse.asm @@ -37,7 +37,7 @@ UnknownScript_0x19b0de:  	special RestartMapMusic  	loadfont  	writetext UnknownText_0x19b296 -	special Functionc472 +	special PlayCurMonCry  	keeptextopen  	writetext UnknownText_0x19b2aa  	closetext diff --git a/maps/BurnedTower1F.asm b/maps/BurnedTower1F.asm index 20c30336d..2b78c59c9 100644 --- a/maps/BurnedTower1F.asm +++ b/maps/BurnedTower1F.asm @@ -49,7 +49,7 @@ UnknownScript_0x185c0d:  UnknownScript_0x185c25:  	showemote EMOTE_SHOCK, $4, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	spriteface $4, RIGHT  	pause 15 @@ -98,7 +98,7 @@ UnknownScript_0x185c80:  	loadmovesprites  	dotrigger $2  	setevent EVENT_RIVAL_BURNED_TOWER -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	earthquake 50  	showemote EMOTE_SHOCK, PLAYER, 15 diff --git a/maps/CeladonDeptStore6F.asm b/maps/CeladonDeptStore6F.asm index 7591cb907..e876c09d8 100644 --- a/maps/CeladonDeptStore6F.asm +++ b/maps/CeladonDeptStore6F.asm @@ -23,7 +23,7 @@ CeladonVendingMachine:  	loadfont  	writetext CeladonVendingText  .Start -	special Function24ae8 +	special PlaceMoneyTopRightOW  	loadmenudata .MenuData  	interpretmenu2  	writebackup diff --git a/maps/CeladonMansion3F.asm b/maps/CeladonMansion3F.asm index 9a7858d40..575137bc6 100644 --- a/maps/CeladonMansion3F.asm +++ b/maps/CeladonMansion3F.asm @@ -22,7 +22,7 @@ UnknownScript_0x7167e:  	waitbutton  	writetext UnknownText_0x71760  	keeptextopen -	special Functionc49f +	special Diploma  	writetext UnknownText_0x71763  	closetext  	loadmovesprites @@ -43,7 +43,7 @@ UnknownScript_0x716a4:  	writetext UnknownText_0x717d8  	yesorno  	iffalse UnknownScript_0x716b0 -	special Functionc4ac +	special PrintDiploma  	loadmovesprites  	end diff --git a/maps/CherrygroveCity.asm b/maps/CherrygroveCity.asm index 026aea8fa..2731b774b 100644 --- a/maps/CherrygroveCity.asm +++ b/maps/CherrygroveCity.asm @@ -103,7 +103,7 @@ UnknownScript_0x19c0aa:  UnknownScript_0x19c0ae:  	spriteface PLAYER, RIGHT  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	appear $3  	applymovement $3, MovementData_0x19c1ce diff --git a/maps/CianwoodCity.asm b/maps/CianwoodCity.asm index a4986e0fa..878369731 100644 --- a/maps/CianwoodCity.asm +++ b/maps/CianwoodCity.asm @@ -66,7 +66,7 @@ UnknownScript_0x1a001e:  	applymovement $c, MovementData_0x1a00ec  	disappear $c  	pause 20 -	special Functionc48f +	special Special_FadeOutMusic  	playmapmusic  	pause 10  .Done diff --git a/maps/DragonShrine.asm b/maps/DragonShrine.asm index 67d365378..cc89ac754 100644 --- a/maps/DragonShrine.asm +++ b/maps/DragonShrine.asm @@ -130,7 +130,7 @@ DragonShrineTestScript:  	writetext UnknownText_0x18d916  	closetext  	loadmovesprites -	special Functionc48f +	special Special_FadeOutMusic  	applymovement $5, MovementData_0x18d2da  	loadfont  	writetext UnknownText_0x18d974 diff --git a/maps/DragonsDenB1F.asm b/maps/DragonsDenB1F.asm index 96b735cd2..e47ea7516 100644 --- a/maps/DragonsDenB1F.asm +++ b/maps/DragonsDenB1F.asm @@ -70,7 +70,7 @@ UnknownScript_0x18c8f4:  	loadmovesprites  UnknownScript_0x18c8f9:  	applymovement $3, MovementData_0x18c9b3 -	special Functionc48f +	special Special_FadeOutMusic  	pause 30  	special RestartMapMusic  	disappear $3 diff --git a/maps/GoldenrodCity.asm b/maps/GoldenrodCity.asm index 260d7011a..fc711f366 100644 --- a/maps/GoldenrodCity.asm +++ b/maps/GoldenrodCity.asm @@ -61,21 +61,21 @@ MoveTutor:  .Flamethrower:  	writebyte $1  	writetext UnknownText_0x1991cf -	special Function4925b +	special Special_MoveTutor  	if_equal $0, .TeachMove  	jump .Incompatible  .Thunderbolt:  	writebyte $2  	writetext UnknownText_0x1991cf -	special Function4925b +	special Special_MoveTutor  	if_equal $0, .TeachMove  	jump .Incompatible  .IceBeam:  	writebyte $3  	writetext UnknownText_0x1991cf -	special Function4925b +	special Special_MoveTutor  	if_equal $0, .TeachMove  	jump .Incompatible diff --git a/maps/GoldenrodDeptStore6F.asm b/maps/GoldenrodDeptStore6F.asm index d81df73a1..a0853ac17 100644 --- a/maps/GoldenrodDeptStore6F.asm +++ b/maps/GoldenrodDeptStore6F.asm @@ -9,7 +9,7 @@ GoldenrodVendingMachine:  	loadfont  	writetext GoldenrodVendingText  .Start -	special Function24ae8 +	special PlaceMoneyTopRightOW  	loadmenudata .MenuData  	interpretmenu2  	writebackup diff --git a/maps/IlexForest.asm b/maps/IlexForest.asm index 68db34544..cc5b19bf0 100644 --- a/maps/IlexForest.asm +++ b/maps/IlexForest.asm @@ -449,7 +449,7 @@ UnknownScript_0x6ee42:  	loadmovesprites  	pause 20  	showemote EMOTE_SHOCK, PLAYER, 20 -	special Functionc48f +	special Special_FadeOutMusic  	applymovement PLAYER, MovementData_0x6ef58  	pause 30  	spriteface PLAYER, DOWN diff --git a/maps/IndigoPlateauPokeCenter1F.asm b/maps/IndigoPlateauPokeCenter1F.asm index 51b502452..cefc1c2bb 100644 --- a/maps/IndigoPlateauPokeCenter1F.asm +++ b/maps/IndigoPlateauPokeCenter1F.asm @@ -55,7 +55,7 @@ UnknownScript_0x180053:  	appear $5  	spriteface PLAYER, DOWN  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	applymovement $5, MovementData_0x180164  	playmusic MUSIC_RIVAL_ENCOUNTER @@ -76,7 +76,7 @@ UnknownScript_0x180094:  	appear $5  	spriteface PLAYER, DOWN  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	applymovement $5, MovementData_0x18016b  	playmusic MUSIC_RIVAL_ENCOUNTER diff --git a/maps/KurtsHouse.asm b/maps/KurtsHouse.asm index 07d36b64e..f8fa0721a 100644 --- a/maps/KurtsHouse.asm +++ b/maps/KurtsHouse.asm @@ -40,7 +40,7 @@ KurtScript_0x18e178:  	writetext UnknownText_0x18e473  	closetext  	loadmovesprites -	special Functionc48f +	special Special_FadeOutMusic  	setevent EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET  	checkcode VAR_FACING  	if_equal UP, .RunAround @@ -287,7 +287,7 @@ KurtScript_0x18e178:  	setevent EVENT_FOREST_IS_RESTLESS  	clearevent EVENT_CAN_GIVE_GS_BALL_TO_KURT  	clearevent EVENT_GAVE_GS_BALL_TO_KURT -	special Functionc48f +	special Special_FadeOutMusic  	pause 20  	showemote EMOTE_SHOCK, $2, 30  	checkcode VAR_FACING diff --git a/maps/LancesRoom.asm b/maps/LancesRoom.asm index 56fba7897..f9f03054f 100644 --- a/maps/LancesRoom.asm +++ b/maps/LancesRoom.asm @@ -44,12 +44,12 @@ UnknownScript_0x180e53:  	end  UnknownScript_0x180e6a: -	special Functionc48f +	special Special_FadeOutMusic  	applymovement PLAYER, MovementData_0x180f38  	jump LanceScript_0x180e7b  UnknownScript_0x180e74: -	special Functionc48f +	special Special_FadeOutMusic  	applymovement PLAYER, MovementData_0x180f3c  LanceScript_0x180e7b:  	spriteface $2, LEFT diff --git a/maps/MahoganyTown.asm b/maps/MahoganyTown.asm index 60ee8cef9..7700fa518 100644 --- a/maps/MahoganyTown.asm +++ b/maps/MahoganyTown.asm @@ -51,7 +51,7 @@ UnknownScript_0x190039:  UnknownScript_0x190040:  	loadfont  	writetext UnknownText_0x1900b0 -	special Function24ae8 +	special PlaceMoneyTopRightOW  	yesorno  	iffalse UnknownScript_0x190072  	checkmoney $0, 300 @@ -61,7 +61,7 @@ UnknownScript_0x190040:  	waitbutton  	playsound SFX_TRANSACTION  	takemoney $0, 300 -	special Function24ae8 +	special PlaceMoneyTopRightOW  	writetext UnknownText_0x19014a  	closetext  	loadmovesprites diff --git a/maps/MountMoon.asm b/maps/MountMoon.asm index a23ab085d..09173be29 100644 --- a/maps/MountMoon.asm +++ b/maps/MountMoon.asm @@ -19,7 +19,7 @@ UnknownScript_0x7408d:  UnknownScript_0x7408e:  	spriteface PLAYER, RIGHT  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	applymovement $2, MovementData_0x740f9  	playmusic MUSIC_RIVAL_ENCOUNTER diff --git a/maps/OlivineCity.asm b/maps/OlivineCity.asm index f299560bb..4c42e9dd5 100644 --- a/maps/OlivineCity.asm +++ b/maps/OlivineCity.asm @@ -25,7 +25,7 @@ OlivineCity_MapScriptHeader:  UnknownScript_0x1a8833:  	spriteface PLAYER, LEFT  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	playsound SFX_ENTER_DOOR  	appear $5 @@ -49,7 +49,7 @@ UnknownScript_0x1a8833:  UnknownScript_0x1a886b:  	spriteface PLAYER, LEFT  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	playsound SFX_ENTER_DOOR  	appear $5 diff --git a/maps/PokeCenter2F.asm b/maps/PokeCenter2F.asm index 40f9173c1..3177d3963 100644 --- a/maps/PokeCenter2F.asm +++ b/maps/PokeCenter2F.asm @@ -581,7 +581,7 @@ Script_LeftTimeCapsule:  MapPokeCenter2FSignpost0Script:  	refreshscreen $0 -	special Functionc2da +	special Special_DisplayLinkRecord  	loadmovesprites  	end diff --git a/maps/RadioTower2F.asm b/maps/RadioTower2F.asm index edca82682..eb81f7579 100644 --- a/maps/RadioTower2F.asm +++ b/maps/RadioTower2F.asm @@ -140,7 +140,7 @@ UnknownScript_0x5d7be:  	writetext UnknownText_0x5e054  	closetext  	loadmovesprites -	special Functionc48f +	special Special_FadeOutMusic  	pause 20  	special RestartMapMusic  	checkcode VAR_BLUECARDBALANCE @@ -169,7 +169,7 @@ UnknownScript_0x5d81e:  	closetext  	loadmovesprites  	spriteface $b, RIGHT -	special Functionc48f +	special Special_FadeOutMusic  	pause 20  	special RestartMapMusic  	end @@ -200,7 +200,7 @@ UnknownScript_0x5d845:  	closetext  	loadmovesprites  	spriteface $b, RIGHT -	special Functionc48f +	special Special_FadeOutMusic  	pause 20  	special RestartMapMusic  	end diff --git a/maps/Route24.asm b/maps/Route24.asm index 081bde6a7..f8f24209f 100644 --- a/maps/Route24.asm +++ b/maps/Route24.asm @@ -21,7 +21,7 @@ RocketScript_0x1adbfa:  	loadfont  	writetext UnknownText_0x1addc0  	keeptextopen -	special Functionc48f +	special Special_FadeOutMusic  	writetext UnknownText_0x1adee1  	closetext  	loadmovesprites diff --git a/maps/Route39Farmhouse.asm b/maps/Route39Farmhouse.asm index 7e9b06226..6ca69ab49 100644 --- a/maps/Route39Farmhouse.asm +++ b/maps/Route39Farmhouse.asm @@ -20,7 +20,7 @@ UnknownScript_0x9cec5:  	checkitem MOOMOO_MILK  	iftrue UnknownScript_0x9cf08  	writetext UnknownText_0x9cfe1 -	special Function24ae8 +	special PlaceMoneyTopRightOW  	yesorno  	iffalse UnknownScript_0x9cf02  	checkmoney $0, 500 @@ -28,7 +28,7 @@ UnknownScript_0x9cec5:  	giveitem MOOMOO_MILK  	iffalse UnknownScript_0x9cefc  	takemoney $0, 500 -	special Function24ae8 +	special PlaceMoneyTopRightOW  	waitbutton  	playsound SFX_TRANSACTION  	writetext UnknownText_0x9d05d diff --git a/maps/SilverCaveRoom3.asm b/maps/SilverCaveRoom3.asm index 194aa1717..6c637f77c 100644 --- a/maps/SilverCaveRoom3.asm +++ b/maps/SilverCaveRoom3.asm @@ -6,7 +6,7 @@ SilverCaveRoom3_MapScriptHeader:  	db 0  RedScript_0x18c603: -	special Functionc48f +	special Special_FadeOutMusic  	faceplayer  	loadfont  	writetext UnknownText_0x18c637 @@ -17,7 +17,7 @@ RedScript_0x18c603:  	startbattle  	reloadmapmusic  	returnafterbattle -	special Functionc48f +	special Special_FadeOutMusic  	loadfont  	writetext UnknownText_0x18c63f  	closetext diff --git a/maps/SproutTower3F.asm b/maps/SproutTower3F.asm index ae55d237f..6b82aa611 100644 --- a/maps/SproutTower3F.asm +++ b/maps/SproutTower3F.asm @@ -18,7 +18,7 @@ UnknownScript_0x184946:  UnknownScript_0x184947:  	spriteface PLAYER, UP  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	playsound SFX_TACKLE  	playsound SFX_ELEVATOR  	earthquake 79 diff --git a/maps/TeamRocketBaseB3F.asm b/maps/TeamRocketBaseB3F.asm index 001ca4893..39e2b2f67 100644 --- a/maps/TeamRocketBaseB3F.asm +++ b/maps/TeamRocketBaseB3F.asm @@ -55,7 +55,7 @@ LanceScript_0x6dffc:  UnknownScript_0x6e019:  	spriteface PLAYER, LEFT  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	appear $a  	applymovement $a, MovementData_0x6e164  	spriteface PLAYER, LEFT diff --git a/maps/TinTower1F.asm b/maps/TinTower1F.asm index 765764fd7..ca4d0c1ff 100644 --- a/maps/TinTower1F.asm +++ b/maps/TinTower1F.asm @@ -158,7 +158,7 @@ UnknownScript_0x1850d7:  	playsound SFX_EXIT_BUILDING  	disappear $5  	waitbutton -	special Functionc48f +	special Special_FadeOutMusic  	pause 20  	playmapmusic  	end diff --git a/maps/UndergroundPathSwitchRoomEntrances.asm b/maps/UndergroundPathSwitchRoomEntrances.asm index 43c021b76..82abe2e4a 100644 --- a/maps/UndergroundPathSwitchRoomEntrances.asm +++ b/maps/UndergroundPathSwitchRoomEntrances.asm @@ -80,7 +80,7 @@ TeacherScript_0x7ca7d:  UnknownScript_0x7ca80:  	spriteface PLAYER, RIGHT  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	playsound SFX_EXIT_BUILDING  	appear $c @@ -99,7 +99,7 @@ UnknownScript_0x7ca80:  UnknownScript_0x7caaa:  	spriteface PLAYER, RIGHT  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	playsound SFX_EXIT_BUILDING  	appear $c diff --git a/maps/VictoryRoad.asm b/maps/VictoryRoad.asm index a5f751194..056b30854 100644 --- a/maps/VictoryRoad.asm +++ b/maps/VictoryRoad.asm @@ -19,7 +19,7 @@ UnknownScript_0x74492:  	moveperson $2, $12, $b  	spriteface PLAYER, DOWN  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	appear $2  	applymovement $2, MovementData_0x74539 @@ -33,7 +33,7 @@ UnknownScript_0x74492:  UnknownScript_0x744b5:  	spriteface PLAYER, DOWN  	showemote EMOTE_SHOCK, PLAYER, 15 -	special Functionc48f +	special Special_FadeOutMusic  	pause 15  	appear $2  	applymovement $2, MovementData_0x74542 diff --git a/maps/WarehouseEntrance.asm b/maps/WarehouseEntrance.asm index af5cf93b8..2ef14fcc0 100644 --- a/maps/WarehouseEntrance.asm +++ b/maps/WarehouseEntrance.asm @@ -186,7 +186,7 @@ OlderHaircutBrotherScript:  .DoHaircut:  	checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT  	iftrue .AlreadyGotHaircut -	special Function24ae8 +	special PlaceMoneyTopRightOW  	writetext UnknownText_0x7c5f9  	yesorno  	iffalse .Refused @@ -222,7 +222,7 @@ OlderHaircutBrotherScript:  .then:  	takemoney $0, 500 -	special Function24ae8 +	special PlaceMoneyTopRightOW  	writetext UnknownText_0x7c6b8  	closetext  	loadmovesprites @@ -269,7 +269,7 @@ YoungerHaircutBrotherScript:  .DoHaircut:  	checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT  	iftrue .AlreadyGotHaircut -	special Function24ae8 +	special PlaceMoneyTopRightOW  	writetext UnknownText_0x7c75c  	yesorno  	iffalse .Refused @@ -305,7 +305,7 @@ YoungerHaircutBrotherScript:  .then:  	takemoney $0, 300 -	special Function24ae8 +	special PlaceMoneyTopRightOW  	writetext UnknownText_0x7c80e  	closetext  	loadmovesprites @@ -343,21 +343,21 @@ YoungerHaircutBrotherScript:  UnknownScript_0x7c2bb:  	writetext HaircutBrosText_SlightlyHappier -	special Functionc472 +	special PlayCurMonCry  	closetext  	loadmovesprites  	end  UnknownScript_0x7c2c4:  	writetext HaircutBrosText_Happier -	special Functionc472 +	special PlayCurMonCry  	closetext  	loadmovesprites  	end  UnknownScript_0x7c2cd:  	writetext HaircutBrosText_MuchHappier -	special Functionc472 +	special PlayCurMonCry  	closetext  	loadmovesprites  	end diff --git a/misc/mobile_12.asm b/misc/mobile_12.asm new file mode 100755 index 000000000..4e4eeec80 --- /dev/null +++ b/misc/mobile_12.asm @@ -0,0 +1,1829 @@ +Function4802f: ; 4802f (12:402f) +	xor a +	set 6, a +	ld [wd002], a +	ld hl, wd003 +	set 0, [hl] +	ld a, c +	and a +	call z, Function48000 +	call ClearBGPalettes +	call Function48d3d +	ld a, [wd479] +	bit 1, a +	jr z, .asm_4805a +	ld a, [wd003] +	set 0, a +	set 1, a +	set 2, a +	set 3, a +	ld [wd003], a +.asm_4805a +	call Function486bf +	call LoadFontsExtra +	ld de, GFX_488c3 +	ld hl, VTiles2 tile $10 +	lb bc, BANK(GFX_488c3), 1 +	call Request1bpp +	ld de, GFX_488cb +	ld hl, VTiles2 tile $11 +	lb bc, BANK(GFX_488cb), 1 +	call Request1bpp +	call Function4a3a7 +	call ClearBGPalettes +	ld a, [wd002] +	bit 6, a +	jr z, .asm_4808a +	call Function48689 +	jr .asm_480d7 +.asm_4808a +	ld a, $5 +	ld [MusicFade], a +	ld a, MUSIC_MOBILE_ADAPTER_MENU % $100 +	ld [MusicFadeIDLo], a +	ld a, MUSIC_MOBILE_ADAPTER_MENU / $100 +	ld [MusicFadeIDHi], a +	ld c, 20 +	call DelayFrames +	ld b, $1 +	call Function4930f +	call ClearBGPalettes +	hlcoord 0, 0 +	ld b, $2 +	ld c, $14 +	call ClearBox +	hlcoord 0, 1 +	ld a, $c +	ld [hl], a +	ld bc, $13 +	add hl, bc +	ld [hl], a +	ld de, MobileProfileString +	hlcoord 1, 1 +	call PlaceString +	hlcoord 0, 2 +	ld b, $a +	ld c, $12 +	call Function48cdc +	hlcoord 2, 4 +	ld de, String_48482 +	call PlaceString +.asm_480d7 +	hlcoord 2, 6 +	ld de, String_48489 +	call PlaceString +	hlcoord 2, 8 +	ld de, String_4848d +	call PlaceString +	hlcoord 2, 10 +	ld de, String_48495 +	call PlaceString +	hlcoord 2, 12 +	ld de, String_4849e +	call PlaceString +	ld a, [wd002] +	bit 6, a +	jr nz, .asm_48113 +	ld a, [PlayerGender] +	ld hl, Strings_484fb +	call GetNthString +	ld d, h +	ld e, l +	hlcoord 11, 4 +	call PlaceString +.asm_48113 +	hlcoord 11, 6 +	call Function487ec +	ld a, [wd474] +	dec a +	ld hl, Prefectures +	call GetNthString +	ld d, h +	ld e, l +	hlcoord 11, 8 +	call PlaceString +	hlcoord 11, 10 +	call Function489ea +	hlcoord 0, 14 +	ld b, $2 +	ld c, $12 +	call TextBox +	hlcoord 1, 16 +	ld de, String_48275 +	call PlaceString +	call Function48187 +	call Function3200 +	call SetPalettes +	call Function1bc9 +	ld hl, MenuSelection2 +	ld b, [hl] +	push bc +	jr asm_4815f + +Function48157: ; 48157 (12:4157) +	call Function1bd3 +	ld hl, MenuSelection2 +	ld b, [hl] +	push bc + +asm_4815f: ; 4815f (12:415f) +	bit 0, a +	jp nz, Function4820d +	ld b, a +	ld a, [wd002] +	bit 6, a +	jr z, .asm_48177 +	ld hl, wd479 +	bit 1, [hl] +	jr z, .asm_48177 +	bit 1, b +	jr nz, .asm_4817a +.asm_48177 +	jp Function48272 +.asm_4817a +	call ClearBGPalettes +	call Function48d30 +	pop bc +	call ClearTileMap +	ld a, $ff +	ret + +Function48187: ; 48187 (12:4187) +	ld a, [wd479] +	bit 1, a +	jr nz, .asm_481f1 +	ld a, [wd003] +	ld d, a +	call Function48725 +	jr c, .asm_481a2 +	lb bc, 1, 4 +	hlcoord 2, 12 +	call ClearBox +	jr .asm_481ad +.asm_481a2 +	push de +	hlcoord 2, 12 +	ld de, String_4849e +	call PlaceString +	pop de +.asm_481ad +	ld a, [wd002] +	bit 6, a +	jr nz, .asm_481c1 +	bit 0, d +	jr nz, .asm_481c1 +	lb bc, 1, 8 +	hlcoord 11, 4 +	call ClearBox +.asm_481c1 +	bit 1, d +	jr nz, .asm_481ce +	lb bc, 1, 8 +	hlcoord 11, 6 +	call ClearBox +.asm_481ce +	bit 2, d +	jr nz, .asm_481db +	lb bc, 2, 8 +	hlcoord 11, 7 +	call ClearBox +.asm_481db +	bit 3, d +	jr nz, .asm_481f1 +	ld a, [wd479] +	bit 0, a +	jr nz, .asm_481f8 +	lb bc, 1, 8 +	hlcoord 11, 10 +	call ClearBox +	jr .asm_48201 +.asm_481f1 +	ld a, [wd479] +	bit 0, a +	jr nz, .asm_48201 +.asm_481f8 +	hlcoord 11, 10 +	ld de, String_48202 +	call PlaceString +.asm_48201 +	ret +; 48202 (12:4202) + +String_48202: ; 48202 +	db "Tell Later@" +; 4820d + +Function4820d: ; 4820d (12:420d) +	call Function1bee +	ld hl, MenuSelection2 +	ld a, [hl] +	push af +	ld a, [wd002] +	bit 6, a +	jr z, .asm_4821f +	pop af +	inc a +	push af +.asm_4821f +	pop af +	cp $1 +	jr z, asm_4828d +	cp $2 +	jp z, Function4876f +	cp $3 +	jp z, Function48304 +	cp $4 +	jp z, Function488d3 +	ld a, $2 +	call Function1ff8 +	ld a, [wd002] +	bit 6, a +	jr z, .asm_4825c +	jr .asm_4825c +; 48241 (12:4241) + +	hlcoord 1, 15 +	ld b, $2 +	ld c, $12 +	call ClearBox +	ld de, String_484a1 +	hlcoord 1, 16 +	call PlaceString +	call WaitBGMap +	ld c, 48 +	call DelayFrames + +.asm_4825c +	call ClearBGPalettes +	call Function48d30 +	pop bc +	call ClearTileMap +	ld b, SCGB_08 +	call GetSGBLayout +	ld hl, wd479 +	set 1, [hl] +	xor a +	ret + +Function48272: ; 48272 (12:4272) +	jp Function4840c +; 48275 (12:4275) + +String_48275: ; 48275 +	db "Personal Info@" +; 48283 + +Function48283: ; 48283 (12:4283) +	lb bc, 2, 18 +	hlcoord 1, 15 +	call ClearBox +	ret + +asm_4828d: ; 4828d (12:428d) +	call Function48283 +	hlcoord 1, 16 +	ld de, String_484b1 +	call PlaceString +	ld hl, MenuDataHeader_0x484f1 +	call LoadMenuDataHeader +	call Function4873c +	hlcoord 11, 2 +	ld b, $4 +	ld c, $7 +	call Function48cdc +	hlcoord 13, 4 +	ld de, String_484fb +	call PlaceString +	hlcoord 13, 6 +	ld de, String_484ff +	call PlaceString +	call WaitBGMap +	ld a, [PlayerGender] +	inc a +	ld [wMenuCursorBuffer], a +	call Function1bc9 +	call PlayClickSFX +	call ExitMenu +	bit 0, a +	jp z, Function4840c +	ld hl, MenuSelection2 +	ld a, [hl] +	ld hl, Strings_484fb +	cp $1 +	jr z, .asm_482ed +.asm_482e1 +	ld a, [hli] +	cp $50 +	jr nz, .asm_482e1 +	ld a, $1 +	ld [PlayerGender], a +	jr .asm_482f1 +.asm_482ed +	xor a +	ld [PlayerGender], a +.asm_482f1 +	ld d, h +	ld e, l +	hlcoord 11, 4 +	call PlaceString +	ld a, [wd003] +	set 0, a +	ld [wd003], a +	jp Function4840c + +Function48304: ; 48304 (12:4304) +	call Function48283 +	hlcoord 1, 16 +	ld de, String_484cf +	call PlaceString +	ld hl, MenuDataHeader_0x48504 +	call LoadMenuDataHeader +	ld hl, MenuDataHeader_0x48513 +	call LoadMenuDataHeader +	hlcoord 10, 0 +	ld b, $c +	ld c, $8 +	call Function48cdc +	ld a, [wMenuCursorBuffer] +	ld b, a +	ld a, [wd0e4] +	ld c, a +	push bc +	ld a, [wd474] +	dec a +	cp $29 +	jr c, .asm_4833f +	sub $29 +	inc a +	ld [wMenuCursorBuffer], a +	ld a, $29 +.asm_4833f +	ld [wd0e4], a +	callba Function104148 +.asm_48348 +	call HandleScrollingMenu +	ld de, $629 +	call Function48383 +	jr c, .asm_48348 +	ld d, a +	pop bc +	ld a, b +	ld [wMenuCursorBuffer], a +	ld a, c +	ld [wd0e4], a +	ld a, d +	push af +	call ExitMenu +	call ExitMenu +	pop af +	ld a, [hJoyPressed] +	bit 0, a +	jr z, .asm_48377 +	call Function483bb +	ld a, [wd003] +	set 2, a +	ld [wd003], a +.asm_48377 +	call Function48187 +	callba Function104148 +	jp Function4840c + +Function48383: ; 48383 (12:4383) +	push bc +	push af +	bit 5, a +	jr nz, .asm_48390 +	bit 4, a +	jr nz, .asm_4839f +	and a +	jr .asm_483b7 +.asm_48390 +	ld a, [wd0e4] +	sub d +	ld [wd0e4], a +	jr nc, .asm_483af +	xor a +	ld [wd0e4], a +	jr .asm_483af +.asm_4839f +	ld a, [wd0e4] +	add d +	ld [wd0e4], a +	cp e +	jr c, .asm_483af +	ld a, e +	ld [wd0e4], a +	jr .asm_483af +.asm_483af +	ld hl, MenuSelection2 +	ld a, [hl] +	ld [wMenuCursorBuffer], a +	scf +.asm_483b7 +	pop bc +	ld a, b +	pop bc +	ret + +Function483bb: ; 483bb (12:43bb) +	ld hl, wcf77 +	ld a, [hl] +	inc a +	ld [wd474], a +	dec a +	ld b, a +	ld hl, Prefectures +.asm_483c8 +	and a +	jr z, .asm_483d5 +.asm_483cb +	ld a, [hli] +	cp "@" +	jr nz, .asm_483cb +	ld a, b +	dec a +	ld b, a +	jr .asm_483c8 +.asm_483d5 +	ld d, h +	ld e, l +	ld b, $2 +	ld c, $8 +	hlcoord 11, 7 +	call ClearBox +	hlcoord 11, 8 +	call PlaceString +	ret +; 483e8 (12:43e8) + +Function483e8: ; 483e8 +	push de +	ld hl, Prefectures +	ld a, [MenuSelection] +	cp $ff +	jr nz, .asm_483f8 +	ld hl, Wakayama ; last string +	jr .asm_48405 + +.asm_483f8 +	ld d, a +	and a +	jr z, .asm_48405 +.asm_483fc +	ld a, [hli] +	cp "@" +	jr nz, .asm_483fc +	ld a, d +	dec a +	jr .asm_483f8 + +.asm_48405 +	ld d, h +	ld e, l +	pop hl +	call PlaceString +	ret +; 4840c + +Function4840c: ; 4840c (12:440c) +	call Function48187 +	call Function48283 +	hlcoord 1, 16 +	ld de, String_48275 +	call PlaceString +	call Function486bf +	pop bc +	ld hl, MenuSelection2 +	ld [hl], b +	ld a, [wd002] +	bit 6, a +	jr nz, .asm_48437 +	ld b, $9 +	ld c, $1 +	hlcoord 1, 4 +	call ClearBox +	jp Function48157 +.asm_48437 +	ld b, $7 +	ld c, $1 +	hlcoord 1, 6 +	call ClearBox +	jp Function48157 + +Function48444: ; 48444 (12:4444) +	push bc +	push af +	push de +	push hl +	ld hl, Unknown_4845d +.asm_4844b +	and a +	jr z, .asm_48453 +rept 2 +	inc hl +endr +	dec a +	jr .asm_4844b +.asm_48453 +	ld d, h +	ld e, l +	pop hl +	call PlaceString +	pop de +	pop af +	pop bc +	ret +; 4845d (12:445d) + +Unknown_4845d: ; 4845d +; 4845d +	db "0@" +	db "1@" +	db "2@" +	db "3@" +	db "4@" +	db "5@" +	db "6@" +	db "7@" +	db "8@" +	db "9@" +; 48471 + +MobileProfileString: db "  Mobile Profile@" +String_48482: db "Gender@" +String_48489: db "Age@" +String_4848d: db "Address@" +String_48495: db "Zip Code@" +String_4849e: db "OK@" +String_484a1: db "Profile Changed@" +String_484b1: db "Boy or girl?@" +String_484be: db "How old are you?@" +String_484cf: db "Where do you live?@" +String_484e2: db "Your zip code?@" +; 484f1 + +MenuDataHeader_0x484f1: ; 0x484f1 +	db $40 ; flags +	db 02, 11 ; start coords +	db 07, 19 ; end coords +	dw MenuData2_0x484f9 +	db 1 ; default option +; 0x484f9 + +MenuData2_0x484f9: ; 0x484f9 +	db $a0 ; flags +	db 2 ; items +Strings_484fb: +String_484fb: db "Boy@" +String_484ff: db "Girl@" +; 0x48504 + +MenuDataHeader_0x48504: ; 0x48504 +	db $40 ; flags +	db 00, 10 ; start coords +	db 17, 19 ; end coords + +MenuDataHeader_0x48509: ; 0x48509 +	db $40 ; flags +	db 05, 10 ; start coords +	db 07, 19 ; end coords + +MenuDataHeader_0x4850e: ; 0x4850e +	db $40 ; flags +	db 09, 10 ; start coords +	db 11, 19 ; end coords + +MenuDataHeader_0x48513: ; 0x48513 +	db $40 ; flags +	db 01, 11 ; start coords +	db 12, 18 ; end coords +	dw MenuData2_0x4851b +	db 1 ; default option +; 0x4851b + +MenuData2_0x4851b: ; 0x4851b +	db $1d ; flags +	db 6 ; items + +Unknown_4851d: ; 4851d +	db $00, $01, $12, $2b, $45, $12, $e8, $43, $00, $00, $00, $00, $00, $00, $2e, $00, $01, $02, $03, $04 +	db $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f, $10, $11, $12, $13, $14, $15, $16, $17, $18 +	db $19, $1a, $1b, $1c, $1d, $1e, $1f, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $2a, $2b, $2c +	db $2d, $ff + +Prefectures: +Aichi:     db "あいちけん@"   ; Aichi +Aomori:    db "あおもりけん@" ; Aomori +Akita:     db "あきたけん@"   ; Akita +Ishikawa:  db "いしかわけん@" ; Ishikawa +Ibaraki:   db "いばらきけん@" ; Ibaraki +Iwate:     db "いわてけん@"   ; Iwate +Ehime:     db "えひめけん@"   ; Ehime +Oita:      db "おおいたけん@" ; Oita +Osakafu:   db "おおさかふ@"   ; Osakafu +Okayama:   db "おかやまけん@" ; Okayama +Okinawa:   db "おきなわけん@" ; Okinawa +Kagawa:    db "かがわけん@"   ; Kagawa +Kagoshima: db "かごしまけん@" ; Kagoshima +Kanagawa:  db "かながわけん@" ; Kanagawa +Gifu:      db "ぎふけん@"     ; Gifu +Kyotofu:   db "きょうとふ@"   ; Kyotofu +Kumamoto:  db "くまもとけん@" ; Kumamoto +Gunma:     db "ぐんまけん@"   ; Gunma +Kochi:     db "こうちけん@"   ; Kochi +Saitama:   db "さいたまけん@" ; Saitama +Saga:      db "さがけん@"     ; Saga +Shiga:     db "しがけん@"     ; Shiga +Shizuoka:  db "しずおかけん@" ; Shizuoka +Shimane:   db "しまねけん@"   ; Shimane +Chiba:     db "ちばけん@"     ; Chiba +Tokyo:     db "とうきょうと@" ; Tokyo +Tokushima: db "とくしまけん@" ; Tokushima +Tochigi:   db "とちぎけん@"   ; Tochigi +Tottori:   db "とっとりけん@" ; Tottori +Toyama:    db "とやまけん@"   ; Toyama +Nagasaki:  db "ながさきけん@" ; Nagasaki +Nagano:    db "ながのけん@"   ; Nagano +Naraken:   db "ならけん@"     ; Naraken +Niigata:   db "にいがたけん@" ; Niigata +Hyogo:     db "ひょうごけん@" ; Hyogo +Hiroshima: db "ひろしまけん@" ; Hiroshima +Fukui:     db "ふくいけん@"   ; Fukui +Fukuoka:   db "ふくおかけん@" ; Fukuoka +Fukushima: db "ふくしまけん@" ; Fukushima +Hokkaido:  db "ほっかいどう@" ; Hokkaido +Mie:       db "みえけん@"     ; Mie +Miyagi:    db "みやぎけん@"   ; Miyagi +Miyazaki:  db "みやざきけん@" ; Miyazaki +Yamagata:  db "やまがたけん@" ; Yamagata +Yamaguchi: db "やまぐちけん@" ; Yamaguchi +Yamanashi: db "やまなしけん@" ; Yamanashi +Wakayama:  db "わかやまけん@" ; Wakayama +; 48689 + +Function48689: ; 48689 (12:4689) +	ld c, 7 +	call DelayFrames +	ld b, $1 +	call Function4930f +	call ClearBGPalettes +	hlcoord 0, 0 +	ld b, $4 +	ld c, $14 +	call ClearBox +	hlcoord 0, 2 +	ld a, $c +	ld [hl], a +	ld bc, $13 +	add hl, bc +	ld [hl], a +	ld de, MobileProfileString +	hlcoord 1, 2 +	call PlaceString +	hlcoord 0, 4 +	ld b, $8 +	ld c, $12 +	call Function48cdc +	ret + +Function486bf: ; 486bf (12:46bf) +	ld hl, wcfa1 +	ld a, [wd002] +	bit 6, a +	jr nz, .asm_486ce +	ld a, $4 +	ld [hli], a +	jr .asm_486d1 +.asm_486ce +	ld a, $6 +	ld [hli], a +.asm_486d1 +	ld a, $1 +	ld [hli], a +	ld a, [wd002] +	bit 6, a +	jr nz, .asm_486e7 +	call Function48725 +	ld a, $4 +	jr nc, .asm_486e4 +	ld a, $5 +.asm_486e4 +	ld [hli], a +	jr .asm_486fb +.asm_486e7 +	ld a, [wd479] +	bit 1, a +	jr nz, .asm_486f8 +	call Function48725 +	jr c, .asm_486f8 +	ld a, $3 +	ld [hli], a +	jr .asm_486fb +.asm_486f8 +	ld a, $4 +	ld [hli], a +.asm_486fb +	ld a, $1 +	ld [hli], a +	ld [hl], $0 +	set 5, [hl] +	inc hl +	xor a +	ld [hli], a +	ld a, $20 +	ld [hli], a +	ld a, $1 +	add $40 +	add $80 +	push af +	ld a, [wd002] +	bit 6, a +	jr z, .asm_4871a +	pop af +	add $2 +	push af +.asm_4871a +	pop af +	ld [hli], a +	ld a, $1 +rept 2 +	ld [hli], a +endr +	xor a +rept 3 +	ld [hli], a +endr +	ret + +Function48725: ; 48725 (12:4725) +	ld a, [wd003] +	bit 0, a +	jr z, .asm_4873a +	bit 1, a +	jr z, .asm_4873a +	bit 2, a +	jr z, .asm_4873a +	bit 3, a +	jr z, .asm_4873a +	scf +	ret +.asm_4873a +	and a +	ret + +Function4873c: ; 4873c (12:473c) +	ld hl, wcfa1 +	ld a, $4 +	ld [hli], a +	ld a, $c +	ld [hli], a +	ld a, $2 +	ld [hli], a +	ld a, $1 +	ld [hli], a +	ld [hl], $0 +	set 5, [hl] +	inc hl +	xor a +	ld [hli], a +	ld a, $20 +	ld [hli], a +	ld a, $1 +	add $2 +	ld [hli], a +	ld a, [PlayerGender] +	and a +	jr z, .asm_48764 +	ld a, $2 +	jr .asm_48766 +.asm_48764 +	ld a, $1 +.asm_48766 +	ld [hli], a +	ld a, $1 +	ld [hli], a +	xor a +rept 3 +	ld [hli], a +endr +	ret + +Function4876f: ; 4876f (12:476f) +	call Function48283 +	hlcoord 1, 16 +	ld de, String_484be +	call PlaceString +	ld hl, MenuDataHeader_0x48509 +	call LoadMenuDataHeader +	ld a, [hInMenu] +	push af +	ld a, $1 +	ld [hInMenu], a +	hlcoord 10, 5 +	ld b, $1 +	ld c, $8 +	call Function48cdc +	call WaitBGMap +	ld a, [wd473] +	and a +	jr z, .asm_487ab +	cp $64 +	jr z, .asm_487b2 +	hlcoord 12, 5 +	ld [hl], $10 +	hlcoord 12, 7 +	ld [hl], $11 +	jr .asm_487b7 +.asm_487ab +	hlcoord 12, 5 +	ld [hl], $10 +	jr .asm_487b7 +.asm_487b2 +	hlcoord 12, 7 +	ld [hl], $11 +.asm_487b7 +	hlcoord 11, 6 +	call Function487ec +	ld c, 10 +	call DelayFrames +	ld a, [wd473] +	push af +.asm_487c6 +	call JoyTextDelay +	call Function4880e +	jr nc, .asm_487c6 +	ld a, $1 +	call Function1ff8 +	pop bc +	jr nz, .asm_487da +	ld a, b +	ld [wd473], a +.asm_487da +	ld a, [wd473] +	call ExitMenu +	hlcoord 11, 6 +	call Function487ec +	pop af +	ld [hInMenu], a +	jp Function4840c + +Function487ec: ; 487ec (12:47ec) +	push hl +	ld de, wd473 +	call Function487ff +	pop hl +rept 4 +	inc hl +endr +	ld de, String_4880d +	call PlaceString +	ret + +Function487ff: ; 487ff (12:47ff) +	push hl +	ld a, " " +	ld [hli], a +	ld [hl], a +	pop hl +	ld b, PRINTNUM_LEADINGZEROS | 1 +	ld c, 3 +	call PrintNum +	ret +; 4880d (12:480d) + +String_4880d: ; 4880d +	db "@" +; 4880e + +Function4880e: ; 4880e (12:480e) +	ld a, [hJoyPressed] +	and A_BUTTON +	jp nz, Function488b9 +	ld a, [hJoyPressed] +	and B_BUTTON +	jp nz, Function488b4 +	ld hl, hJoyLast +	ld a, [hl] +	and D_UP +	jr nz, .asm_48843 +	ld a, [hl] +	and D_DOWN +	jr nz, .asm_48838 +	ld a, [hl] +	and D_LEFT +	jr nz, .asm_4884f +	ld a, [hl] +	and D_RIGHT +	jr nz, .asm_4885f +	call DelayFrame +	and a +	ret +.asm_48838 +	ld hl, wd473 +	ld a, [hl] +	and a +	jr z, .asm_48840 +	dec a +.asm_48840 +	ld [hl], a +	jr .asm_4886f +.asm_48843 +	ld hl, wd473 +	ld a, [hl] +	cp $64 +	jr nc, .asm_4884c +	inc a +.asm_4884c +	ld [hl], a +	jr .asm_4886f +.asm_4884f +	ld a, [wd473] +	cp $5b +	jr c, .asm_48858 +	ld a, $5a +.asm_48858 +	add $a +	ld [wd473], a +	jr .asm_4886f +.asm_4885f +	ld a, [wd473] +	cp $a +	jr nc, .asm_48868 +	ld a, $a +.asm_48868 +	sub $a +	ld [wd473], a +	jr .asm_4886f +.asm_4886f +	ld a, [wd473] +	and a +	jr z, .asm_48887 +	cp $64 +	jr z, .asm_48898 +	jr z, .asm_488a7 +	hlcoord 12, 5 +	ld [hl], $10 +	hlcoord 12, 7 +	ld [hl], $11 +	jr .asm_488a7 +.asm_48887 +	hlcoord 10, 5 +	ld b, $1 +	ld c, $8 +	call Function48cdc +	hlcoord 12, 5 +	ld [hl], $10 +	jr .asm_488a7 +.asm_48898 +	hlcoord 10, 5 +	ld b, $1 +	ld c, $8 +	call Function48cdc +	hlcoord 12, 7 +	ld [hl], $11 +.asm_488a7 +	hlcoord 11, 6 +	call Function487ec +	call WaitBGMap +	ld a, $1 +	and a +	ret + +Function488b4: ; 488b4 (12:48b4) +	ld a, $0 +	and a +	scf +	ret + +Function488b9: ; 488b9 (12:48b9) +	ld a, [wd003] +	set 1, a +	ld [wd003], a +	scf +	ret +; 488c3 (12:48c3) + +GFX_488c3: ; 488c3 +INCBIN "gfx/unknown/0488c3.2bpp" + +GFX_488cb: ; 488cb +INCBIN "gfx/unknown/0488cb.2bpp" + +Function488d3: ; 488d3 (12:48d3) +	call Function48283 +	hlcoord 1, 16 +	ld de, String_484e2 +	call PlaceString +	call Function48a3a +	jp c, Function4840c +	ld hl, MenuDataHeader_0x4850e +	call LoadMenuDataHeader +	ld a, [hInMenu] +	push af +	ld a, $1 +	ld [hInMenu], a +	hlcoord 10, 9 +	ld b, $1 +	ld c, $8 +	call Function48cdc +	ld a, [wd475] +	and $f +	ld d, $0 +	hlcoord 11, 10 +	call Function489ea +	call WaitBGMap +	ld a, [wd475] +	ld b, a +	ld a, [wd476] +	ld c, a +	ld a, [wd477] +	ld d, a +	ld a, [wd478] +	ld e, a +	push de +	push bc +	ld d, $0 +	ld b, $0 + +asm_48922: ; 48922 (12:4922) +	push bc +	call JoyTextDelay +	ld a, [hJoyDown] +	and a +	jp z, Function4896e +	bit 0, a +	jp nz, Function4896e +	bit 1, a +	jp nz, Function4896e +	ld a, [wd002] +	and %11001111 +	res 7, a +	ld [wd002], a +	pop bc +	inc b +	ld a, b +	cp $5 +	push bc +	jr c, .asm_4894c +	pop bc +	ld b, $4 +	push bc +.asm_4894c +	pop bc +	push bc +	ld a, b +	cp $4 +	jr nz, asm_48972 +	ld c, 10 +	call DelayFrames +	jr asm_48972 +; 4895a (12:495a) + +Function4895a: ; 4895a +	ld a, [hJoyPressed] +	and a +	jr z, .asm_48965 +	pop bc +	ld b, $1 +	push bc +	jr asm_48972 + +.asm_48965 +	ld a, [hJoyLast] +	and a +	jr z, asm_48972 + +	pop bc +	ld b, $1 +	push bc + +Function4896e: ; 4896e (12:496e) +	pop bc +	ld b, $0 +	push bc + +asm_48972: ; 48972 (12:4972) +	call Function48ab5 +	push af +	cp $f0 +	jr z, .asm_48994 +	cp $f +	jr nz, .asm_48988 +	ld a, [wd002] +	set 7, a +	and $cf +	ld [wd002], a +.asm_48988 +	hlcoord 11, 10 +	ld b, $0 +	ld c, d +	add hl, bc +	ld b, $3 +	call Function48c11 +.asm_48994 +	call WaitBGMap +	pop af +	pop bc +	jr nc, asm_48922 +	jr nz, .asm_489b1 +	pop bc +	ld a, b +	ld [wd475], a +	ld a, c +	ld [wd476], a +	pop bc +	ld a, b +	ld [wd477], a +	ld a, c +	ld [wd478], a +	jr .asm_489c5 +.asm_489b1 +	push af +	ld a, [wd479] +	set 0, a +	ld [wd479], a +	ld a, [wd003] +	set 3, a +	ld [wd003], a +	pop af +	pop bc +	pop bc +.asm_489c5 +	push af +	push bc +	push de +	push hl +	ld a, $1 +	call Function1ff8 +	pop hl +	pop de +	pop bc +	pop af +	call ExitMenu +	hlcoord 11, 10 +	call Function489ea +	hlcoord 11, 9 +	lb bc, 1, 8 +	call ClearBox +	pop af +	ld [hInMenu], a +	jp Function4840c + +Function489ea: ; 489ea (12:49ea) +	push de +	ld a, [wd475] +	and $f +	call Function48444 +	ld a, [wd476] +	and $f0 +	swap a +	inc hl +	call Function48444 +	ld a, [wd476] +	and $f +	inc hl +	call Function48444 +	inc hl +	ld de, String_48a38 +	call PlaceString +	ld a, [wd477] +	and $f0 +	swap a +	inc hl +	call Function48444 +	ld a, [wd477] +	and $f +	inc hl +	call Function48444 +	ld a, [wd478] +	and $f0 +	swap a +	inc hl +	call Function48444 +	ld a, [wd478] +	and $f +	inc hl +	call Function48444 +	pop de +	ret +; 48a38 (12:4a38) + +String_48a38: ; 48a38 +	db "-@" +; 48a3a + +Function48a3a: ; 48a3a (12:4a3a) +	ld hl, MenuDataHeader_0x48a9c +	call LoadMenuDataHeader +	call Function4873c +	ld a, $a +	ld [wcfa1], a +	ld a, $b +	ld [wcfa2], a +	ld a, $1 +	ld [MenuSelection2], a +	hlcoord 10, 8 +	ld b, $4 +	ld c, $8 +	call Function48cdc +	hlcoord 12, 10 +	ld de, String_48aa1 +	call PlaceString +	call Function1bc9 +	push af +	call PlayClickSFX +	call ExitMenu +	pop af +	bit 1, a +	jp nz, Function48a9a +	ld a, [MenuSelection2] +	cp $1 +	jr z, .asm_48a98 +	ld a, [wd003] +	set 3, a +	ld [wd003], a +	ld a, [wd479] +	res 0, a +	ld [wd479], a +	xor a +	ld bc, $4 +	ld hl, wd475 +	call ByteFill +	jr Function48a9a +.asm_48a98 +	and a +	ret + +Function48a9a: ; 48a9a (12:4a9a) +	scf +	ret +; 48a9c (12:4a9c) + +MenuDataHeader_0x48a9c: ; 0x48a9c +	db $40 ; flags +	db 08, 10 ; start coords +	db 13, 19 ; end coord + +String_48aa1: ; 48aa1 +	db   "Tell Now" +	next "Tell Later@" +; 48ab5 + + +Function48ab5: ; 48ab5 (12:4ab5) +	ld a, [hJoyPressed] +	and A_BUTTON +	jp nz, Function48c0f +	ld a, [hJoyPressed] +	and B_BUTTON +	jp nz, Function48c0d +	ld a, d +	and a +	jr z, .asm_48adf +	cp $1 +	jr z, .asm_48ae7 +	cp $2 +	jr z, .asm_48af1 +	cp $3 +	jr z, .asm_48af9 +	cp $4 +	jr z, .asm_48b03 +	cp $5 +	jr z, .asm_48b0b +	cp $6 +	jr .asm_48b15 +.asm_48adf +	ld hl, wd475 +	ld a, [hl] +	and $f +	jr .asm_48b1d +.asm_48ae7 +	ld hl, wd476 +	ld a, [hl] +	swap a +	or $f0 +	jr .asm_48b1d +.asm_48af1 +	ld hl, wd476 +	ld a, [hl] +	and $f +	jr .asm_48b1d +.asm_48af9 +	ld hl, wd477 +	ld a, [hl] +	swap a +	or $f0 +	jr .asm_48b1d +.asm_48b03 +	ld hl, wd477 +	ld a, [hl] +	and $f +	jr .asm_48b1d +.asm_48b0b +	ld hl, wd478 +	ld a, [hl] +	swap a +	or $f0 +	jr .asm_48b1d +.asm_48b15 +	ld hl, wd478 +	ld a, [hl] +	and $f +	jr .asm_48b1d +.asm_48b1d +	push hl +	push af +	ld e, $0 +	hlcoord 11, 10 +	ld a, d +.asm_48b25 +	and a +	jr z, .asm_48b2c +	inc e +	dec a +	jr .asm_48b25 +.asm_48b2c +	ld hl, hJoyLast +	ld a, [hl] +	and D_UP +	jr nz, .asm_48b8d +	ld a, [hl] +	and D_DOWN +	jr nz, .asm_48b55 +	ld a, [hl] +	and D_LEFT +	jp nz, Function48bd7 +	ld a, [hl] +	and D_RIGHT +	jr nz, .asm_48b9d +	hlcoord 11, 10 +	call Function489ea +	ld a, [wd002] +	bit 7, a +	jr nz, .asm_48b51 +.asm_48b51 +	pop bc +	pop bc +	and a +	ret +.asm_48b55 +	pop af +	ld b, a +	and $f +	and a +	ld a, b +	jr nz, .asm_48b61 +	and $f0 +	add $a +.asm_48b61 +	dec a +.asm_48b62 +	push de +	push af +	hlcoord 10, 9 +	ld b, $1 +	ld c, $8 +	call Function48cdc +	pop af +	pop de +	hlcoord 11, 10 +	ld b, a +	ld a, d +	cp $3 +	jr c, .asm_48b7a +	inc hl +.asm_48b7a +	ld a, b +	pop hl +	bit 7, a +	jr z, .asm_48b85 +	call Function48c4d +	jr .asm_48b88 +.asm_48b85 +	call Function48c5a +.asm_48b88 +	ld a, $f0 +	jp Function48c00 +.asm_48b8d +	pop af +	ld b, a +	and $f +	cp $9 +	ld a, b +	jr c, .asm_48b9a +	and $f0 +	add $ff +.asm_48b9a +	inc a +	jr .asm_48b62 +.asm_48b9d +	push de +	hlcoord 10, 9 +	ld b, $1 +	ld c, $8 +	call Function48cdc +	pop de +	ld a, d +	cp $6 +	jr nc, .asm_48baf +	inc d +.asm_48baf +	pop af +	pop hl +	ld b, a +	ld a, d +	cp $6 +	ld a, b +	jr z, .asm_48bc4 +	bit 7, a +	jr nz, .asm_48bc4 +	inc hl +	ld a, [hl] +	swap a +	and $f +	jr asm_48bc7 +.asm_48bc4 +	ld a, [hl] +	and $f + +asm_48bc7: ; 48bc7 (12:4bc7) +	hlcoord 11, 10 +	push af +	ld a, d +	cp $3 +	pop bc +	ld a, b +	jr c, .asm_48bd3 +	inc hl +.asm_48bd3 +	ld a, $f +	jr Function48c00 + +Function48bd7: ; 48bd7 (12:4bd7) +	push de +	hlcoord 10, 9 +	ld b, $1 +	ld c, $8 +	call Function48cdc +	pop de +	ld a, d +	and a +	pop af +	pop hl +	ld b, a +	ld a, d +	and a +	ld a, b +	jr z, .asm_48bf3 +	bit 7, a +	jr z, .asm_48bf8 +	dec d +	dec hl +.asm_48bf3 +	ld a, [hl] +	and $f +	jr asm_48bc7 +.asm_48bf8 +	dec d +	ld a, [hl] +	swap a +	and $f +	jr asm_48bc7 + +Function48c00: ; 48c00 (12:4c00) +	push af +	hlcoord 11, 10 +	call Function489ea +	ld a, $1 +	and a +	pop bc +	ld a, b +	ret + +Function48c0d: ; 48c0d (12:4c0d) +	xor a +	and a + +Function48c0f: ; 48c0f (12:4c0f) +	scf +	ret + +Function48c11: ; 48c11 (12:4c11) +	ld a, [wd002] +	bit 7, a +	jr z, .asm_48c20 +	ld a, d +	cp $3 +	jr c, .asm_48c1e +	inc hl +.asm_48c1e +	ld [hl], $7f +.asm_48c20 +	ld a, [wd002] +	swap a +	and $3 +	inc a +	cp b +	jr nz, .asm_48c40 +	ld a, [wd002] +	bit 7, a +	jr z, .asm_48c3a +	res 7, a +	ld [wd002], a +	xor a +	jr .asm_48c40 +.asm_48c3a +	set 7, a +	ld [wd002], a +	xor a +.asm_48c40 +	swap a +	ld b, a +	ld a, [wd002] +	and $cf +	or b +	ld [wd002], a +	ret + +Function48c4d: ; 48c4d (12:4c4d) +	swap a +	and $f0 +	push af +	ld a, [hl] +	and $f +	ld [hl], a +	pop af +	or [hl] +	ld [hl], a +	ret + +Function48c5a: ; 48c5a (12:4c5a) +	push af +	ld a, [hl] +	and $f0 +	ld [hl], a +	pop af +	or [hl] +	ld [hl], a +	ret + +Function48c63: ; 48c63 +	ld a, "@" +	ld [de], a +	ld a, c +	cp $30 +	jr nc, .asm_48c8c +	and a +	jr z, .asm_48c8c +	dec c +	push de +	ld h, d +	ld l, e +	ld a, "@" +	ld b, 7 +.asm_48c76 +	ld [hli], a +	dec b +	jr nz, .asm_48c76 +	ld hl, Prefectures +	ld a, c +	call GetNthString +.asm_48c81 +	ld a, [hli] +	ld [de], a +	inc de +	ld a, [hl] +	cp "@" +	jr nz, .asm_48c81 +	and a +	pop de +	ret + +.asm_48c8c +	scf +	ret +; 48c8e + +Function48c8e: ; 48c8e +	ld hl, wd02a +	ld d, h +	ld e, l +	callba Function48c63 +	hlcoord 10, 7 +	call PlaceString +	call WaitBGMap +	ret +; 48ca3 + +Function48ca3: ; 48ca3 +	push af +	push bc +	push de +	push hl +	ld b, 0 +	ld c, 0 +	ld d, 0 +.asm_48cad +	cp 100 +	jr c, .asm_48cb6 +	sub 100 +	inc b +	jr .asm_48cad + +.asm_48cb6 +	cp 10 +	jr c, .asm_48cbf +	sub 10 +	inc c +	jr .asm_48cb6 + +.asm_48cbf +	cp 1 +	jr c, .asm_48cc7 +	dec a +	inc d +	jr .asm_48cbf + +.asm_48cc7 +	ld a, b +	call Function48444 +	inc hl +	ld a, c +	call Function48444 +	inc hl +	ld a, d +	call Function48444 +	pop hl +	pop de +	pop bc +	pop af +	ret +; 48cda + +Function48cda: ; 48cda (12:4cda) +	ld h, d +	ld l, e + +Function48cdc: ; 48cdc (12:4cdc) +	push bc +	push hl +	call Function48cfd +	pop hl +	pop bc +	ld de, AttrMap - TileMap +	add hl, de +rept 2 +	inc b +endr +rept 2 +	inc c +endr +	ld a, $0 +.asm_48ced +	push bc +	push hl +.asm_48cef +	ld [hli], a +	dec c +	jr nz, .asm_48cef +	pop hl +	ld de, $14 +	add hl, de +	pop bc +	dec b +	jr nz, .asm_48ced +	ret + +Function48cfd: ; 48cfd (12:4cfd) +	push hl +	ld a, $4 +	ld [hli], a +	inc a +	call Function48d2a +	inc a +	ld [hl], a +	pop hl +	ld de, $14 +	add hl, de +.asm_48d0c +	push hl +	ld a, $7 +	ld [hli], a +	ld a, $7f +	call Function48d2a +	ld [hl], $8 +	pop hl +	ld de, $14 +	add hl, de +	dec b +	jr nz, .asm_48d0c +	ld a, $9 +	ld [hli], a +	ld a, $a +	call Function48d2a +	ld [hl], $b +	ret + +Function48d2a: ; 48d2a (12:4d2a) +	ld d, c +.asm_48d2b +	ld [hli], a +	dec d +	jr nz, .asm_48d2b +	ret + +Function48d30: ; 48d30 (12:4d30) +	ld hl, wd475 +	call Function48d4a +	ld hl, wd477 +	call Function48d4a +	ret + +Function48d3d: ; 48d3d (12:4d3d) +	ld hl, wd475 +	call Function48d94 +	ld hl, wd477 +	call Function48d94 +	ret + +Function48d4a: ; 48d4a (12:4d4a) +	inc hl +	ld a, [hl] +	ld b, a +	and $f +	ld c, a +	srl b +	srl b +	srl b +	srl b +	push bc +	ld c, 10 +	ld a, b +	call SimpleMultiply +	pop bc +	add c +	ld [hld], a +	xor a +	ld [hMultiplicand + 0], a +	ld [hMultiplicand + 1], a +	ld a, [hl] +	srl a +	srl a +	srl a +	srl a +	ld c, 10 +	call SimpleMultiply +	ld b, a +	ld a, [hli] +	and $f +	add b +	ld [hMultiplicand + 2], a +	ld a, 100 +	ld [hMultiplier], a +	call Multiply +	ld a, [hProduct + 2] +	ld b, a +	ld a, [hProduct + 3] +	ld c, a +	ld e, [hl] +	add e +	ld c, a +	ld a, b +	adc $0 +	ld b, a +	ld a, c +	ld [hld], a +	ld [hl], b +	ret + +Function48d94: ; 48d94 (12:4d94) +	xor a +	ld [hDividend + 0], a +	ld [hDividend + 1], a +	ld a, [hli] +	ld [hDividend + 0], a +	ld a, [hl] +	ld [hDividend + 1], a +	ld a, 100 +	ld [hDivisor], a +	ld b, 2 +	call Divide +	ld a, [hDivisor] +	ld c, $a +	call SimpleDivide +	sla b +	sla b +	sla b +	sla b +	or b +	ld [hld], a +	ld a, [hQuotient + 2] +	ld c, 10 +	call SimpleDivide +	sla b +	sla b +	sla b +	sla b +	or b +	ld [hl], a +	ret | 
