diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-11 16:11:08 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-11 16:15:06 -0500 |
commit | 91068077f05afbbfd6571ceadada2c03ac7c8038 (patch) | |
tree | 5d3ff368c3a31c99cd1967a589403a37ee1377ff /engine/namingscreen.asm | |
parent | b522b0f165b6aae278ca9b4b18bada606d4ae737 (diff) |
Further split bank 4
Diffstat (limited to 'engine/namingscreen.asm')
-rwxr-xr-x | engine/namingscreen.asm | 959 |
1 files changed, 959 insertions, 0 deletions
diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm new file mode 100755 index 000000000..4618f4e20 --- /dev/null +++ b/engine/namingscreen.asm @@ -0,0 +1,959 @@ +_NamingScreen: ; 0x116b7 + call DisableSpriteUpdates + call NamingScreen + call Function2b74 + ret +; 0x116c1 + +NamingScreen: ; 116c1 + ld hl, wc6d0 + ld [hl], e + inc hl + ld [hl], d + ld hl, wc6d4 + ld [hl], b + ld hl, Options + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + ld a, [hMapAnims] + push af + xor a + ld [hMapAnims], a + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + call Function116f8 + call DelayFrame +.asm_116e5 + call Function11915 + jr nc, .asm_116e5 + pop af + ld [hInMenu], a + pop af + ld [hMapAnims], a + pop af + ld [Options], a + call ClearJoypad + ret +; 116f8 + +Function116f8: ; 116f8 + call WhiteBGMap + ld b, $8 + call GetSGBLayout + call DisableLCD + call Function11c51 + call Function118a8 + ld a, $e3 + ld [rLCDC], a + call Function1171d + call WaitBGMap + call WaitTop + call SetPalettes + call Function11be0 + ret +; 1171d + +Function1171d: ; 1171d + ld a, [wc6d4] + and 7 + ld e, a + ld d, 0 + ld hl, Jumptable_1172e +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1172e + + +Jumptable_1172e: ; 1172e (4:572e) + dw Function1173e + dw Function1178d + dw Function117ae + dw Function117d1 + dw Function117f5 + dw Function1182c + dw Function1173e + dw Function1173e + + +Function1173e: ; 1173e (4:573e) + ld a, [CurPartySpecies] + ld [wd265], a + ld hl, Function8e83f + ld a, BANK(Function8e83f) + ld e, $1 + rst FarCall ; ; indirect jump to Function8e83f (8e83f (23:683f)) + ld a, [CurPartySpecies] + ld [wd265], a + call GetPokemonName + hlcoord 5, 2 + call PlaceString + ld l, c + ld h, b + ld de, Strings_11780 + call PlaceString + inc de + hlcoord 5, 4 + call PlaceString + callba GetGender + jr c, .asm_1177c + ld a, $ef + jr nz, .asm_11778 + ld a, $f5 +.asm_11778 + hlcoord 1, 2 + ld [hl], a +.asm_1177c + call Function1187b + ret +; 11780 (4:5780) + +Strings_11780: ; 11780 + db "'S@" + db "NICKNAME?@" +; 1178d + +Function1178d: ; 1178d (4:578d) + callba GetPlayerIcon + call Function11847 + hlcoord 5, 2 + ld de, String_117a3 + call PlaceString + call Function11882 + ret +; 117a3 (4:57a3) + +String_117a3: ; 117a3 + db "YOUR NAME?@" +; 117ae + +Function117ae: ; 117ae (4:57ae) + ld de, SilverSpriteGFX + ld b, BANK(SilverSpriteGFX) + call Function11847 + hlcoord 5, 2 + ld de, String_117c3 + call PlaceString + call Function11882 + ret +; 117c3 (4:57c3) + +String_117c3: ; 117c3 + db "RIVAL'S NAME?@" +; 117d1 + +Function117d1: ; 117d1 (4:57d1) + ld de, MomSpriteGFX + ld b, BANK(MomSpriteGFX) + call Function11847 + hlcoord 5, 2 + ld de, String_117e6 + call PlaceString + call Function11882 + ret +; 117e6 (4:57e6) + +String_117e6: ; 117e6 + db "MOTHER'S NAME?@" +; 117f5 + +Function117f5: ; 117f5 (4:57f5) + ld de, PokeBallSpriteGFX + ld hl, VTiles0 tile $00 + lb bc, BANK(PokeBallSpriteGFX), $4 + call Request2bpp + xor a + ld hl, wc300 + ld [hli], a + ld [hl], a + ld de, $2420 + ld a, $a + call Function3b2a + ld hl, $1 + add hl, bc + ld [hl], $0 + hlcoord 5, 2 + ld de, String_11822 + call PlaceString + call Function11889 + ret +; 11822 (4:5822) + +String_11822: ; 11822 + db "BOX NAME?@" +; 1182c + +Function1182c: ; 1182c (4:582c) + hlcoord 3, 2 + ld de, String_11839 + call PlaceString + call Function11882 + ret +; 11839 (4:5839) + +String_11839: ; 11839 + db "おともだち の なまえは?@" +; 11847 + +Function11847: ; 11847 (4:5847) + push de + ld hl, VTiles0 tile $00 + ld c, $4 + push bc + call Request2bpp + pop bc + ld hl, $c0 + add hl, de + ld e, l + ld d, h + ld hl, VTiles0 tile $04 + call Request2bpp + xor a + ld hl, wc300 + ld [hli], a + ld [hl], a + pop de + ld b, $a + ld a, d + cp $7a + jr nz, .asm_11873 + ld a, e + cp $40 + jr nz, .asm_11873 + ld b, $1e +.asm_11873 + ld a, b + ld de, $2420 + call Function3b2a + ret + +Function1187b: ; 1187b (4:587b) + ld a, $a + hlcoord 5, 6 + jr Function11890 + +Function11882: ; 11882 (4:5882) + ld a, $7 + hlcoord 5, 6 + jr Function11890 + +Function11889: ; 11889 (4:5889) + ld a, $8 + hlcoord 5, 4 + jr Function11890 + +Function11890: ; 11890 (4:5890) + ld [wc6d3], a + ld a, l + ld [wc6d8], a + ld a, h + ld [wc6d9], a + ret + + +Function1189c: ; 1189c + push bc + push af + ld a, [wc6d4] + sub $3 + ld b, a + pop af + dec b + pop bc + ret +; 118a8 + +Function118a8: ; 118a8 + call WaitTop + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, $60 + call ByteFill + hlcoord 1, 1 + lb bc, 6, 18 + call Function1189c + jr nz, .asm_118c4 + lb bc, 4, 18 + +.asm_118c4 + call ClearBox + ld de, NameInputUpper +Function118ca: ; 118ca + call Function1189c + jr nz, .asm_118d5 + ld hl, BoxNameInputLower - NameInputLower + add hl, de + ld d, h + ld e, l + +.asm_118d5 + push de + hlcoord 1, 8 + lb bc, 7, 18 + call Function1189c + jr nz, .asm_118e7 + hlcoord 1, 6 + lb bc, 9, 18 + +.asm_118e7 + call ClearBox + hlcoord 1, 16 + lb bc, 1, 18 + call ClearBox + pop de + hlcoord 2, 8 + ld b, $5 + call Function1189c + jr nz, .asm_11903 + hlcoord 2, 6 + ld b, $6 + +.asm_11903 + ld c, $11 +.asm_11905 + ld a, [de] + ld [hli], a + inc de + dec c + jr nz, .asm_11905 + push de + ld de, $17 + add hl, de + pop de + dec b + jr nz, .asm_11903 + ret +; 11915 + +Function11915: ; 11915 + call JoyTextDelay + ld a, [wJumptableIndex] + bit 7, a + jr nz, .asm_11930 + call Function11968 + callba Function8cf62 + call Function11940 + call DelayFrame + and a + ret + +.asm_11930 + callab Function8cf53 + call ClearSprites + xor a + ld [hSCX], a + ld [hSCY], a + scf + ret +; 11940 + +Function11940: ; 11940 + xor a + ld [hBGMapMode], a + hlcoord 1, 5 + call Function1189c + jr nz, .asm_1194e + hlcoord 1, 3 + +.asm_1194e + lb bc, 1, 18 + call ClearBox + ld hl, wc6d0 + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wc6d8 + ld a, [hli] + ld h, [hl] + ld l, a + call PlaceString + ld a, $1 + ld [hBGMapMode], a + ret +; 11968 + +Function11968: ; 11968 + ld a, [wJumptableIndex] + ld e, a + ld d, $0 + ld hl, Jumptable_11977 +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11977 + + +Jumptable_11977: ; 11977 (4:5977) + dw Function1197b + dw Function119a1 + + +Function1197b: ; 1197b (4:597b) + lb de, $50, $18 + call Function1189c + jr nz, .asm_11985 + ld d, $40 +.asm_11985 + ld a, $2 + call Function3b2a + ld a, c + ld [wc6d5], a + ld a, b + ld [wc6d6], a + ld hl, $1 + add hl, bc + ld a, [hl] + ld hl, $e + add hl, bc + ld [hl], a + ld hl, wJumptableIndex + inc [hl] + ret + +Function119a1: ; 119a1 (4:59a1) + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and A_BUTTON + jr nz, .a + ld a, [hl] + and B_BUTTON + jr nz, .b + ld a, [hl] + and START + jr nz, .start + ld a, [hl] + and SELECT + jr nz, .select + ret + +.a + call Function11a0b + cp $1 + jr z, .select + cp $2 + jr z, .b + cp $3 + jr z, .asm_119eb + call Function11c11 + call Function11b14 + ret nc + +.start + ld hl, wc6d5 + ld c, [hl] + inc hl + ld b, [hl] + ld hl, $c + add hl, bc + ld [hl], $8 + ld hl, $d + add hl, bc + ld [hl], $4 + call Function1189c + ret nz + inc [hl] + ret + +.b + call Function11bbc + ret + +.asm_119eb + call Function11bf7 + ld hl, wJumptableIndex + set 7, [hl] + ret + +.select + ld hl, wcf64 + ld a, [hl] + xor 1 + ld [hl], a + jr z, .asm_11a04 + ld de, NameInputLower + call Function118ca + ret + +.asm_11a04 + ld de, NameInputUpper + call Function118ca + ret + +Function11a0b: ; 11a0b (4:5a0b) + ld hl, wc6d5 + ld c, [hl] + inc hl + ld b, [hl] + +Function11a11: ; 11a11 (4:5a11) + ld hl, $d + add hl, bc + ld a, [hl] + push bc + ld b, $4 + call Function1189c + jr nz, .asm_11a1f + inc b +.asm_11a1f + cp b + pop bc + jr nz, .asm_11a39 + ld hl, $c + add hl, bc + ld a, [hl] + cp $3 + jr c, .asm_11a33 + cp $6 + jr c, .asm_11a36 + ld a, $3 + ret +.asm_11a33 + ld a, $1 + ret +.asm_11a36 + ld a, $2 + ret +.asm_11a39 + xor a + ret + +Function11a3b: ; 11a3b (4:5a3b) + call Function11a8b + ld hl, $d + add hl, bc + ld a, [hl] + ld e, a + swap e + ld hl, $7 + add hl, bc + ld [hl], e + ld d, $4 + call Function1189c + jr nz, .asm_11a53 + inc d +.asm_11a53 + cp d + ld de, Unknown_11a79 + ld a, $0 + jr nz, .asm_11a60 + ld de, Unknown_11a82 + ld a, $1 +.asm_11a60 + ld hl, $e + add hl, bc + add [hl] + ld hl, $1 + add hl, bc + ld [hl], a + ld hl, $c + add hl, bc + ld l, [hl] + ld h, $0 + add hl, de + ld a, [hl] + ld hl, $6 + add hl, bc + ld [hl], a + ret +; 11a79 (4:5a79) + +Unknown_11a79: ; 11a79 + db $00, $10, $20, $30, $40, $50, $60, $70, $80 +Unknown_11a82: ; 11a82 + db $00, $00, $00, $30, $30, $30, $60, $60, $60 +; 11a8b + +Function11a8b: ; 11a8b (4:5a8b) + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, .up + ld a, [hl] + and D_DOWN + jr nz, .down + ld a, [hl] + and D_LEFT + jr nz, .left + ld a, [hl] + and D_RIGHT + jr nz, .right + ret +.right + call Function11a11 + and a + jr nz, .asm_11ab7 + ld hl, $c + add hl, bc + ld a, [hl] + cp $8 + jr nc, .asm_11ab4 + inc [hl] + ret +.asm_11ab4 + ld [hl], $0 + ret +.asm_11ab7 + cp $3 + jr nz, .asm_11abc + xor a +.asm_11abc + ld e, a + add a + add e + ld hl, $c + add hl, bc + ld [hl], a + ret +.left + call Function11a11 + and a + jr nz, .asm_11ad8 + ld hl, $c + add hl, bc + ld a, [hl] + and a + jr z, .asm_11ad5 + dec [hl] + ret +.asm_11ad5 + ld [hl], $8 + ret +.asm_11ad8 + cp $1 + jr nz, .asm_11ade + ld a, $4 +.asm_11ade +rept 2 + dec a +endr + ld e, a + add a + add e + ld hl, $c + add hl, bc + ld [hl], a + ret +.down + ld hl, $d + add hl, bc + ld a, [hl] + call Function1189c + jr nz, .asm_11af9 + cp $5 + jr nc, .asm_11aff + inc [hl] + ret +.asm_11af9 + cp $4 + jr nc, .asm_11aff + inc [hl] + ret +.asm_11aff + ld [hl], $0 + ret +.up + ld hl, $d + add hl, bc + ld a, [hl] + and a + jr z, .asm_11b0c + dec [hl] + ret +.asm_11b0c + ld [hl], $4 + call Function1189c + ret nz + inc [hl] + ret + +Function11b14: ; 11b14 (4:5b14) + ld a, [wc6d7] + +Function11b17: ; 11b17 (4:5b17) + ld a, [wc6d3] + ld c, a + ld a, [wc6d2] + cp c + ret nc + + ld a, [wc6d7] + +Function11b23: ; 11b23 + call Function11bd0 + ld [hl], a + +Function11b27: ; 11b27 + ld hl, wc6d2 + inc [hl] + call Function11bd0 + ld a, [hl] + cp $50 + jr z, .asm_11b37 + ld [hl], $f2 + and a + ret +.asm_11b37 + scf + ret +; 11b39 (4:5b39) + +Function11b39: ; 11b39 + ld a, [wc6d2] + and a + ret z + push hl + ld hl, wc6d2 + dec [hl] + call Function11bd0 + ld c, [hl] + pop hl + +.asm_11b48 + ld a, [hli] + cp $ff + jr z, Function11b27 + cp c + jr z, .asm_11b53 + inc hl + jr .asm_11b48 + +.asm_11b53 + ld a, [hl] + jr Function11b23 +; 11b56 + +Dakutens: ; Dummied out + db "かが", "きぎ", "くぐ", "けげ", "こご" + db "さざ", "しじ", "すず", "せぜ", "そぞ" + db "ただ", "ちぢ", "つづ", "てで", "とど" + db "はば", "ひび", "ふぶ", "へべ", "ほぼ" + db "カガ", "キギ", "クグ", "ケゲ", "コゴ" + db "サザ", "シジ", "スズ", "セゼ", "ソゾ" + db "タダ", "チヂ", "ツヅ", "テデ", "トド" + db "ハバ", "ヒビ", "フブ", "へべ", "ホボ" + db $ff + +Handakutens: ; Dummied out + db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ" + db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ" + db $ff +; 11bbc + +Function11bbc: ; 11bbc (4:5bbc) + ld hl, wc6d2 + ld a, [hl] + and a + ret z + dec [hl] + call Function11bd0 + ld [hl], $f2 + inc hl + ld a, [hl] + cp $f2 + ret nz + ld [hl], $eb + ret + +Function11bd0: ; 11bd0 (4:5bd0) + push af + ld hl, wc6d0 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wc6d2] + ld e, a + ld d, 0 + add hl, de + pop af + ret +; 11be0 + +Function11be0: ; 11be0 +; load $f2, ($eb * [wc6d3]), $50 into the dw address at wc6d0 + ld hl, wc6d0 + ld a, [hli] + ld h, [hl] + ld l, a + ld [hl], "·" + inc hl + ld a, [wc6d3] + dec a + ld c, a + ld a, "→" +.loop + ld [hli], a + dec c + jr nz, .loop + ld [hl], "@" + ret +; 11bf7 + + +Function11bf7: ; 11bf7 (4:5bf7) + ld hl, wc6d0 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wc6d3] + ld c, a +.asm_11c01 + ld a, [hl] + cp $eb + jr z, .asm_11c0a + cp $f2 + jr nz, .asm_11c0c +.asm_11c0a + ld [hl], $50 +.asm_11c0c + inc hl + dec c + jr nz, .asm_11c01 + ret + +Function11c11: ; 11c11 (4:5c11) + ld hl, wc6d5 + ld c, [hl] + inc hl + ld b, [hl] + ld hl, $6 + add hl, bc + ld a, [hl] + ld hl, $4 + add hl, bc + add [hl] + sub $8 + srl a + srl a + srl a + ld e, a + ld hl, $7 + add hl, bc + ld a, [hl] + ld hl, $5 + add hl, bc + add [hl] + sub $10 + srl a + srl a + srl a + ld d, a + hlcoord 0, 0 + ld bc, $14 +.asm_11c43 + ld a, d + and a + jr z, .asm_11c4b + add hl, bc + dec d + jr .asm_11c43 +.asm_11c4b + add hl, de + ld a, [hl] + ld [wc6d7], a + ret + + +Function11c51: ; 11c51 + call ClearSprites + callab Function8cf53 + call LoadStandardFont + call LoadFontsExtra + + ld de, GFX_11e65 + ld hl, VTiles1 tile $6b + lb bc, BANK(GFX_11e65), 1 + call Get1bpp + + ld de, GFX_11e6d + ld hl, VTiles1 tile $72 + lb bc, BANK(GFX_11e6d), 1 + call Get1bpp + + ld de, VTiles2 tile $60 + ld hl, GFX_11cb7 + ld bc, $10 + ld a, BANK(GFX_11cb7) + call FarCopyBytes + + ld de, VTiles0 tile $7e + ld hl, GFX_11cc7 + ld bc, $20 + ld a, BANK(GFX_11cc7) + call FarCopyBytes + + ld a, $5 + ld hl, wc312 + ld [hli], a + ld [hl], $7e + xor a + ld [hSCY], a + ld [wc3bf], a + ld [hSCX], a + ld [wc3c0], a + ld [wJumptableIndex], a + ld [wcf64], a + ld [hBGMapMode], a + ld [wc6d2], a + ld a, $7 + ld [hWX], a + ret +; 11cb7 + +GFX_11cb7: ; 11cb7 +INCBIN "gfx/unknown/011cb7.2bpp" +; 11cc7 + +GFX_11cc7: ; 11cc7 +INCBIN "gfx/unknown/011cc7.2bpp" +; 11ce7 + +NameInputLower: + db "a b c d e f g h i" + db "j k l m n o p q r" + db "s t u v w x y z " + db "× ( ) : ; [ ] <PK> <MN>" + db "UPPER DEL END " +BoxNameInputLower: + db "a b c d e f g h i" + db "j k l m n o p q r" + db "s t u v w x y z " + db "é 'd 'l 'm 'r 's 't 'v 0" + db "1 2 3 4 5 6 7 8 9" + db "UPPER DEL END " +NameInputUpper: ; Unreferenced? + db "A B C D E F G H I" + db "J K L M N O P Q R" + db "S T U V W X Y Z " + db "- ? ! / . , " + db "lower DEL END " +BoxNameInputUpper: + db "A B C D E F G H I" + db "J K L M N O P Q R" + db "S T U V W X Y Z " + db "× ( ) : ; [ ] <PK> <MN>" + db "- ? ! ♂ ♀ / . , &" + db "lower DEL END " +; 11e5d + +GFX_11e5d: ; ???? +INCBIN "gfx/unknown/011e5d.2bpp" +; 11e6d + +GFX_11e65: +INCBIN "gfx/unknown/011e65.2bpp" +; 11e6d + +GFX_11e6d: ; 11e6d +INCBIN "gfx/unknown/011e6d.2bpp" +; 11e75 |