diff options
Diffstat (limited to 'engine/menus/init_gender.asm')
-rw-r--r-- | engine/menus/init_gender.asm | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/engine/menus/init_gender.asm b/engine/menus/init_gender.asm new file mode 100644 index 000000000..21871d0ab --- /dev/null +++ b/engine/menus/init_gender.asm @@ -0,0 +1,103 @@ +InitCrystalData: + 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 + +INCLUDE "mobile/mobile_12.asm" + +InitGender: + 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 + +.MenuHeader: + db MENU_BACKUP_TILES ; flags + menu_coords 6, 4, 12, 9 + dw .MenuData + db 1 ; default option + +.MenuData: + db STATICMENU_CURSOR | STATICMENU_WRAP | STATICMENU_DISABLE_B ; flags + db 2 ; items + db "Boy@" + db "Girl@" + +TextJump_AreYouABoyOrAreYouAGirl: + ; Are you a boy? Or are you a girl? + text_jump Text_AreYouABoyOrAreYouAGirl + db "@" + +InitGenderScreen: + 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: + ld hl, .Palette + ld de, wBGPals1 + ld bc, 1 palettes + ld a, BANK(wBGPals1) + call FarCopyWRAM + farcall ApplyPals + ret + +.Palette: +INCLUDE "gfx/new_game/gender_screen.pal" + +LoadGenderScreenLightBlueTile: + ld de, .LightBlueTile + ld hl, vTiles2 tile $00 + lb bc, BANK(.LightBlueTile), 1 + call Get2bpp + ret + +.LightBlueTile: +INCBIN "gfx/new_game/gender_screen.2bpp" |