2018-06-24 14:09:41 +00:00
|
|
|
GFX_49c0c:
|
2015-11-17 03:29:54 +00:00
|
|
|
INCBIN "gfx/unknown/049c0c.2bpp"
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
MainMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
xor a
|
2016-05-05 19:07:37 +00:00
|
|
|
ld [wDisableTextAcceleration], a
|
2015-11-17 03:29:54 +00:00
|
|
|
call Function49ed0
|
2016-06-06 22:23:00 +00:00
|
|
|
ld b, SCGB_DIPLOMA
|
2015-11-17 03:29:54 +00:00
|
|
|
call GetSGBLayout
|
|
|
|
call SetPalettes
|
2017-12-28 12:15:46 +00:00
|
|
|
ld hl, wGameTimerPause
|
2018-01-23 17:40:29 +00:00
|
|
|
res GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
|
2015-12-20 17:54:08 +00:00
|
|
|
call MainMenu_GetWhichMenu
|
2015-12-19 01:07:09 +00:00
|
|
|
ld [wWhichIndexSet], a
|
2015-12-20 17:54:08 +00:00
|
|
|
call MainMenu_PrintCurrentTimeAndDay
|
2018-01-23 21:08:43 +00:00
|
|
|
ld hl, .MenuHeader
|
|
|
|
call LoadMenuHeader
|
2015-12-20 17:54:08 +00:00
|
|
|
call MainMenuJoypadLoop
|
2015-12-25 03:58:42 +00:00
|
|
|
call CloseWindow
|
2015-11-17 03:29:54 +00:00
|
|
|
jr c, .quit
|
2020-02-13 17:30:13 +00:00
|
|
|
call ClearTilemap
|
2018-01-23 22:39:09 +00:00
|
|
|
ld a, [wMenuSelection]
|
2015-12-20 17:54:08 +00:00
|
|
|
ld hl, .Jumptable
|
2015-11-17 03:29:54 +00:00
|
|
|
rst JumpTable
|
|
|
|
jr MainMenu
|
|
|
|
|
|
|
|
.quit
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
.MenuHeader:
|
2018-01-14 10:59:56 +00:00
|
|
|
db MENU_BACKUP_TILES ; flags
|
2018-01-13 21:38:14 +00:00
|
|
|
menu_coords 0, 0, 16, 7
|
2018-01-23 21:08:43 +00:00
|
|
|
dw .MenuData
|
2015-11-17 03:29:54 +00:00
|
|
|
db 1 ; default option
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
.MenuData:
|
2018-01-14 10:59:56 +00:00
|
|
|
db STATICMENU_CURSOR ; flags
|
2015-11-17 03:29:54 +00:00
|
|
|
db 0 ; items
|
|
|
|
dw MainMenuItems
|
2015-12-13 19:15:16 +00:00
|
|
|
dw PlaceMenuStrings
|
2015-12-20 17:54:08 +00:00
|
|
|
dw .Strings
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
.Strings:
|
2015-11-17 03:29:54 +00:00
|
|
|
db "CONTINUE@"
|
|
|
|
db "NEW GAME@"
|
|
|
|
db "OPTION@"
|
|
|
|
db "MYSTERY GIFT@"
|
|
|
|
db "MOBILE@"
|
|
|
|
db "MOBILE STUDIUM@"
|
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
.Jumptable:
|
2015-12-27 02:59:03 +00:00
|
|
|
dw MainMenu_Continue
|
|
|
|
dw MainMenu_NewGame
|
|
|
|
dw MainMenu_Options
|
|
|
|
dw MainMenu_MysteryGift
|
|
|
|
dw MainMenu_Mobile
|
|
|
|
dw MainMenu_MobileStudium
|
2015-11-17 03:29:54 +00:00
|
|
|
|
|
|
|
CONTINUE EQU 0
|
|
|
|
NEW_GAME EQU 1
|
|
|
|
OPTION EQU 2
|
|
|
|
MYSTERY_GIFT EQU 3
|
|
|
|
MOBILE EQU 4
|
|
|
|
MOBILE_STUDIUM EQU 5
|
|
|
|
|
|
|
|
MainMenuItems:
|
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
NewGameMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
db 2
|
|
|
|
db NEW_GAME
|
|
|
|
db OPTION
|
2015-12-19 19:48:30 +00:00
|
|
|
db -1
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
ContinueMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
db 3
|
|
|
|
db CONTINUE
|
|
|
|
db NEW_GAME
|
|
|
|
db OPTION
|
2015-12-19 19:48:30 +00:00
|
|
|
db -1
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
MobileMysteryMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
db 5
|
|
|
|
db CONTINUE
|
|
|
|
db NEW_GAME
|
|
|
|
db OPTION
|
|
|
|
db MYSTERY_GIFT
|
|
|
|
db MOBILE
|
2015-12-19 19:48:30 +00:00
|
|
|
db -1
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
MobileMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
db 4
|
|
|
|
db CONTINUE
|
|
|
|
db NEW_GAME
|
|
|
|
db OPTION
|
|
|
|
db MOBILE
|
2015-12-19 19:48:30 +00:00
|
|
|
db -1
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
MobileStudiumMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
db 5
|
|
|
|
db CONTINUE
|
|
|
|
db NEW_GAME
|
|
|
|
db OPTION
|
|
|
|
db MOBILE
|
|
|
|
db MOBILE_STUDIUM
|
2015-12-19 19:48:30 +00:00
|
|
|
db -1
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
MysteryMobileStudiumMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
db 6
|
|
|
|
db CONTINUE
|
|
|
|
db NEW_GAME
|
|
|
|
db OPTION
|
|
|
|
db MYSTERY_GIFT
|
|
|
|
db MOBILE
|
|
|
|
db MOBILE_STUDIUM
|
2015-12-19 19:48:30 +00:00
|
|
|
db -1
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
MysteryMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
db 4
|
|
|
|
db CONTINUE
|
|
|
|
db NEW_GAME
|
|
|
|
db OPTION
|
|
|
|
db MYSTERY_GIFT
|
2015-12-19 19:48:30 +00:00
|
|
|
db -1
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
MysteryStudiumMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
db 5
|
|
|
|
db CONTINUE
|
|
|
|
db NEW_GAME
|
|
|
|
db OPTION
|
|
|
|
db MYSTERY_GIFT
|
|
|
|
db MOBILE_STUDIUM
|
2015-12-19 19:48:30 +00:00
|
|
|
db -1
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
StudiumMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
db 4
|
|
|
|
db CONTINUE
|
|
|
|
db NEW_GAME
|
|
|
|
db OPTION
|
|
|
|
db MOBILE_STUDIUM
|
2015-12-19 19:48:30 +00:00
|
|
|
db -1
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
MainMenu_GetWhichMenu:
|
2015-11-17 03:29:54 +00:00
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
2015-11-18 04:29:14 +00:00
|
|
|
ld a, [wSaveFileExists]
|
2015-11-17 03:29:54 +00:00
|
|
|
and a
|
|
|
|
jr nz, .next
|
2015-12-20 17:54:08 +00:00
|
|
|
ld a, $0 ; New Game
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|
|
|
|
|
|
|
|
.next
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [hCGB]
|
2015-11-17 03:29:54 +00:00
|
|
|
cp $1
|
|
|
|
ld a, $1
|
|
|
|
ret nz
|
2015-11-23 05:21:21 +00:00
|
|
|
ld a, BANK(sNumDailyMysteryGiftPartnerIDs)
|
2015-11-17 03:29:54 +00:00
|
|
|
call GetSRAMBank
|
2015-11-23 05:21:21 +00:00
|
|
|
ld a, [sNumDailyMysteryGiftPartnerIDs]
|
2015-12-20 17:54:08 +00:00
|
|
|
cp -1
|
2015-11-17 03:29:54 +00:00
|
|
|
call CloseSRAM
|
2015-12-20 17:54:08 +00:00
|
|
|
jr nz, .mystery_gift
|
2018-01-22 20:40:43 +00:00
|
|
|
; This check makes no difference.
|
2017-12-28 12:15:46 +00:00
|
|
|
ld a, [wStatusFlags]
|
2018-02-26 03:23:20 +00:00
|
|
|
bit STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F, a
|
2015-12-20 17:54:08 +00:00
|
|
|
ld a, $1 ; Continue
|
2015-11-17 03:29:54 +00:00
|
|
|
jr z, .ok
|
|
|
|
jr .ok
|
|
|
|
|
|
|
|
.ok
|
|
|
|
jr .ok2
|
|
|
|
|
|
|
|
.ok2
|
2015-12-20 17:54:08 +00:00
|
|
|
ld a, $1 ; Continue
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|
|
|
|
|
2015-12-20 17:54:08 +00:00
|
|
|
.mystery_gift
|
2018-01-22 20:40:43 +00:00
|
|
|
; This check makes no difference.
|
2017-12-28 12:15:46 +00:00
|
|
|
ld a, [wStatusFlags]
|
2018-02-26 03:23:20 +00:00
|
|
|
bit STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F, a
|
2015-11-17 03:29:54 +00:00
|
|
|
jr z, .ok3
|
|
|
|
jr .ok3
|
|
|
|
|
|
|
|
.ok3
|
|
|
|
jr .ok4
|
|
|
|
|
|
|
|
.ok4
|
2015-12-20 17:54:08 +00:00
|
|
|
ld a, $6 ; Mystery Gift
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
MainMenuJoypadLoop:
|
2015-11-17 03:29:54 +00:00
|
|
|
call SetUpMenu
|
2015-12-20 17:54:08 +00:00
|
|
|
.loop
|
|
|
|
call MainMenu_PrintCurrentTimeAndDay
|
2015-12-19 19:48:30 +00:00
|
|
|
ld a, [w2DMenuFlags1]
|
2015-11-17 03:29:54 +00:00
|
|
|
set 5, a
|
2015-12-19 19:48:30 +00:00
|
|
|
ld [w2DMenuFlags1], a
|
2016-03-02 03:31:21 +00:00
|
|
|
call GetScrollingMenuJoypad
|
2015-12-15 23:59:49 +00:00
|
|
|
ld a, [wMenuJoypad]
|
2015-12-20 17:54:08 +00:00
|
|
|
cp B_BUTTON
|
|
|
|
jr z, .b_button
|
|
|
|
cp A_BUTTON
|
|
|
|
jr z, .a_button
|
|
|
|
jr .loop
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2015-12-20 17:54:08 +00:00
|
|
|
.a_button
|
2015-11-17 03:29:54 +00:00
|
|
|
call PlayClickSFX
|
|
|
|
and a
|
|
|
|
ret
|
|
|
|
|
2015-12-20 17:54:08 +00:00
|
|
|
.b_button
|
2015-11-17 03:29:54 +00:00
|
|
|
scf
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
MainMenu_PrintCurrentTimeAndDay:
|
2015-11-18 04:29:14 +00:00
|
|
|
ld a, [wSaveFileExists]
|
2015-11-17 03:29:54 +00:00
|
|
|
and a
|
|
|
|
ret z
|
|
|
|
xor a
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh [hBGMapMode], a
|
2015-12-20 17:54:08 +00:00
|
|
|
call .PlaceBox
|
2018-01-23 22:39:09 +00:00
|
|
|
ld hl, wOptions
|
2015-11-17 03:29:54 +00:00
|
|
|
ld a, [hl]
|
|
|
|
push af
|
2015-12-20 17:54:08 +00:00
|
|
|
set NO_TEXT_SCROLL, [hl]
|
|
|
|
call .PlaceTime
|
2015-11-17 03:29:54 +00:00
|
|
|
pop af
|
2018-01-23 22:39:09 +00:00
|
|
|
ld [wOptions], a
|
2015-11-17 03:29:54 +00:00
|
|
|
ld a, $1
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh [hBGMapMode], a
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
.PlaceBox:
|
2015-11-20 16:47:52 +00:00
|
|
|
call CheckRTCStatus
|
2015-11-17 03:29:54 +00:00
|
|
|
and $80
|
2015-12-20 17:54:08 +00:00
|
|
|
jr nz, .TimeFail
|
2015-11-17 03:29:54 +00:00
|
|
|
hlcoord 0, 14
|
2015-12-20 17:54:08 +00:00
|
|
|
ld b, 2
|
|
|
|
ld c, 18
|
2019-04-08 12:15:10 +00:00
|
|
|
call Textbox
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|
|
|
|
|
2016-04-10 18:42:14 +00:00
|
|
|
.TimeFail:
|
2019-04-08 12:15:10 +00:00
|
|
|
call SpeechTextbox
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
.PlaceTime:
|
2015-11-18 04:29:14 +00:00
|
|
|
ld a, [wSaveFileExists]
|
2015-11-17 03:29:54 +00:00
|
|
|
and a
|
|
|
|
ret z
|
2015-11-20 16:47:52 +00:00
|
|
|
call CheckRTCStatus
|
2015-11-17 03:29:54 +00:00
|
|
|
and $80
|
2015-12-20 17:54:08 +00:00
|
|
|
jp nz, .PrintTimeNotSet
|
2015-11-17 03:29:54 +00:00
|
|
|
call UpdateTime
|
|
|
|
call GetWeekday
|
|
|
|
ld b, a
|
|
|
|
decoord 1, 15
|
2015-12-20 17:54:08 +00:00
|
|
|
call .PlaceCurrentDay
|
2015-11-17 03:29:54 +00:00
|
|
|
decoord 4, 16
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [hHours]
|
2015-11-17 03:29:54 +00:00
|
|
|
ld c, a
|
2017-12-24 17:47:30 +00:00
|
|
|
farcall PrintHour
|
2015-11-17 03:29:54 +00:00
|
|
|
ld [hl], ":"
|
|
|
|
inc hl
|
|
|
|
ld de, hMinutes
|
|
|
|
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
|
|
|
|
call PrintNum
|
|
|
|
ret
|
|
|
|
|
2015-12-20 17:54:08 +00:00
|
|
|
.min
|
2018-01-02 15:04:21 +00:00
|
|
|
; unused
|
2015-11-17 03:29:54 +00:00
|
|
|
db "min.@"
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
.PrintTimeNotSet:
|
2015-11-17 03:29:54 +00:00
|
|
|
hlcoord 1, 14
|
|
|
|
ld de, .TimeNotSet
|
|
|
|
call PlaceString
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
.TimeNotSet:
|
2015-11-17 03:29:54 +00:00
|
|
|
db "TIME NOT SET@"
|
|
|
|
|
2019-10-20 22:24:17 +00:00
|
|
|
.MainMenuTimeUnknownText:
|
|
|
|
text_far _MainMenuTimeUnknownText
|
2018-11-17 18:33:03 +00:00
|
|
|
text_end
|
2015-11-17 03:29:54 +00:00
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
.PlaceCurrentDay:
|
2015-11-17 03:29:54 +00:00
|
|
|
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
|
|
|
|
|
2016-04-10 18:42:14 +00:00
|
|
|
.Days:
|
2015-11-17 03:29:54 +00:00
|
|
|
db "SUN@"
|
|
|
|
db "MON@"
|
|
|
|
db "TUES@"
|
|
|
|
db "WEDNES@"
|
|
|
|
db "THURS@"
|
|
|
|
db "FRI@"
|
|
|
|
db "SATUR@"
|
2016-04-10 18:42:14 +00:00
|
|
|
.Day:
|
2015-11-17 03:29:54 +00:00
|
|
|
db "DAY@"
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Function49ed0:
|
2015-11-17 03:29:54 +00:00
|
|
|
xor a
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh [hMapAnims], a
|
2020-02-13 17:30:13 +00:00
|
|
|
call ClearTilemap
|
2015-11-17 03:29:54 +00:00
|
|
|
call LoadFontsExtra
|
|
|
|
call LoadStandardFont
|
2015-12-19 19:48:30 +00:00
|
|
|
call ClearWindowData
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
MainMenu_NewGame:
|
2017-12-24 17:47:30 +00:00
|
|
|
farcall NewGame
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
MainMenu_Options:
|
2017-12-24 17:47:30 +00:00
|
|
|
farcall OptionsMenu
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
MainMenu_Continue:
|
2017-12-24 17:47:30 +00:00
|
|
|
farcall Continue
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
MainMenu_MysteryGift:
|
2017-12-24 17:47:30 +00:00
|
|
|
farcall MysteryGift
|
2015-11-17 03:29:54 +00:00
|
|
|
ret
|