diff options
Diffstat (limited to 'engine/menus/init_gender.asm')
-rw-r--r-- | engine/menus/init_gender.asm | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/engine/menus/init_gender.asm b/engine/menus/init_gender.asm new file mode 100644 index 000000000..8fd95bc85 --- /dev/null +++ b/engine/menus/init_gender.asm @@ -0,0 +1,111 @@ +InitCrystalData: ; 48000 + ld a, $1 + ld [wd474], a + xor a + ld [wd473], a + ld [wPlayerGender], a + ld [wd475], a + ld [wd476], a + ld [wd477], a + ld [wd478], a + ld [wd002], a + ld [wd003], a + ; could have done "ld a, [wd479] \ and %11111100", saved four operations + ld a, [wd479] + res 0, a + ld [wd479], a + ld a, [wd479] + res 1, a + ld [wd479], a + ret +; 4802f + +INCLUDE "mobile/mobile_12.asm" + +InitGender: ; 48dcb (12:4dcb) + call InitGenderScreen + call LoadGenderScreenPal + call LoadGenderScreenLightBlueTile + call WaitBGMap2 + call SetPalettes + ld hl, TextJump_AreYouABoyOrAreYouAGirl + call PrintText + ld hl, .MenuHeader + call LoadMenuHeader + call WaitBGMap2 + call VerticalMenu + call CloseWindow + ld a, [wMenuCursorY] + dec a + ld [wPlayerGender], a + ld c, 10 + call DelayFrames + ret +; 48dfc (12:4dfc) + +.MenuHeader: ; 0x48dfc + db MENU_BACKUP_TILES ; flags + menu_coords 6, 4, 12, 9 + dw .MenuData + db 1 ; default option +; 0x48e04 + +.MenuData: ; 0x48e04 + db STATICMENU_CURSOR | STATICMENU_WRAP | STATICMENU_DISABLE_B ; flags + db 2 ; items + db "Boy@" + db "Girl@" +; 0x48e0f + +TextJump_AreYouABoyOrAreYouAGirl: ; 0x48e0f + ; Are you a boy? Or are you a girl? + text_jump Text_AreYouABoyOrAreYouAGirl + db "@" +; 0x48e14 + +InitGenderScreen: ; 48e14 (12:4e14) + ld a, $10 + ld [wMusicFade], a + ld a, MUSIC_NONE + ld [wMusicFadeID], a + ld a, $0 + ld [wMusicFadeID + 1], a + ld c, 8 + call DelayFrames + call ClearBGPalettes + call InitCrystalData + call LoadFontsExtra + hlcoord 0, 0 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, $0 + call ByteFill + hlcoord 0, 0, wAttrMap + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + xor a + call ByteFill + ret + +LoadGenderScreenPal: ; 48e47 (12:4e47) + ld hl, .Palette + ld de, wBGPals1 + ld bc, 1 palettes + ld a, BANK(wBGPals1) + call FarCopyWRAM + farcall ApplyPals + ret +; 48e5c (12:4e5c) + +.Palette: ; 48e5c +INCLUDE "gfx/new_game/gender_screen.pal" +; 48e64 + +LoadGenderScreenLightBlueTile: ; 48e64 (12:4e64) + ld de, .LightBlueTile + ld hl, vTiles2 tile $00 + lb bc, BANK(.LightBlueTile), 1 + call Get2bpp + ret +; 48e71 (12:4e71) + +.LightBlueTile: ; 48e71 +INCBIN "gfx/new_game/gender_screen.2bpp" |