You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Merge branch 'master' of https://github.com/pret/pokecrystal
This commit is contained in:
1447
engine/menus/debug.asm
Normal file
1447
engine/menus/debug.asm
Normal file
File diff suppressed because it is too large
Load Diff
36
engine/menus/delete_save.asm
Normal file
36
engine/menus/delete_save.asm
Normal file
@@ -0,0 +1,36 @@
|
||||
_DeleteSaveData: ; 4d54c
|
||||
farcall BlankScreen
|
||||
ld b, SCGB_DIPLOMA
|
||||
call GetSGBLayout
|
||||
call LoadStandardFont
|
||||
call LoadFontsExtra
|
||||
ld de, MUSIC_MAIN_MENU
|
||||
call PlayMusic
|
||||
ld hl, .Text_ClearAllSaveData
|
||||
call PrintText
|
||||
ld hl, .NoYesMenuHeader
|
||||
call CopyMenuHeader
|
||||
call VerticalMenu
|
||||
ret c
|
||||
ld a, [wMenuCursorY]
|
||||
cp $1
|
||||
ret z
|
||||
farcall EmptyAllSRAMBanks
|
||||
ret
|
||||
|
||||
.Text_ClearAllSaveData: ; 0x4d580
|
||||
; Clear all save data?
|
||||
text_jump UnknownText_0x1c564a
|
||||
db "@"
|
||||
|
||||
.NoYesMenuHeader: ; 0x4d585
|
||||
db 0 ; flags
|
||||
menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
|
||||
dw .MenuData
|
||||
db 1 ; default option
|
||||
|
||||
.MenuData: ; 0x4d58d
|
||||
db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
|
||||
db 2 ; items
|
||||
db "NO@"
|
||||
db "YES@"
|
19
engine/menus/empty_sram.asm
Normal file
19
engine/menus/empty_sram.asm
Normal file
@@ -0,0 +1,19 @@
|
||||
EmptyAllSRAMBanks: ; 4cf1f
|
||||
ld a, 0
|
||||
call .EmptyBank
|
||||
ld a, 1
|
||||
call .EmptyBank
|
||||
ld a, 2
|
||||
call .EmptyBank
|
||||
ld a, 3
|
||||
call .EmptyBank
|
||||
ret
|
||||
|
||||
.EmptyBank: ; 4cf34
|
||||
call GetSRAMBank
|
||||
ld hl, SRAM_Begin
|
||||
ld bc, SRAM_End - SRAM_Begin
|
||||
xor a
|
||||
call ByteFill
|
||||
call CloseSRAM
|
||||
ret
|
111
engine/menus/init_gender.asm
Normal file
111
engine/menus/init_gender.asm
Normal file
@@ -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"
|
1418
engine/menus/intro_menu.asm
Normal file
1418
engine/menus/intro_menu.asm
Normal file
File diff suppressed because it is too large
Load Diff
361
engine/menus/main_menu.asm
Normal file
361
engine/menus/main_menu.asm
Normal file
@@ -0,0 +1,361 @@
|
||||
GFX_49c0c: ; 49c0c
|
||||
INCBIN "gfx/unknown/049c0c.2bpp"
|
||||
; 49cdc
|
||||
|
||||
MainMenu: ; 49cdc
|
||||
xor a
|
||||
ld [wDisableTextAcceleration], a
|
||||
call Function49ed0
|
||||
ld b, SCGB_DIPLOMA
|
||||
call GetSGBLayout
|
||||
call SetPalettes
|
||||
ld hl, wGameTimerPause
|
||||
res GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
|
||||
call MainMenu_GetWhichMenu
|
||||
ld [wWhichIndexSet], a
|
||||
call MainMenu_PrintCurrentTimeAndDay
|
||||
ld hl, .MenuHeader
|
||||
call LoadMenuHeader
|
||||
call MainMenuJoypadLoop
|
||||
call CloseWindow
|
||||
jr c, .quit
|
||||
call ClearTileMap
|
||||
ld a, [wMenuSelection]
|
||||
ld hl, .Jumptable
|
||||
rst JumpTable
|
||||
jr MainMenu
|
||||
|
||||
.quit
|
||||
ret
|
||||
; 49d14
|
||||
|
||||
.MenuHeader: ; 49d14
|
||||
db MENU_BACKUP_TILES ; flags
|
||||
menu_coords 0, 0, 16, 7
|
||||
dw .MenuData
|
||||
db 1 ; default option
|
||||
; 49d1c
|
||||
|
||||
.MenuData: ; 49d1c
|
||||
db STATICMENU_CURSOR ; flags
|
||||
db 0 ; items
|
||||
dw MainMenuItems
|
||||
dw PlaceMenuStrings
|
||||
dw .Strings
|
||||
; 49d20
|
||||
|
||||
.Strings: ; 49d24
|
||||
db "CONTINUE@"
|
||||
db "NEW GAME@"
|
||||
db "OPTION@"
|
||||
db "MYSTERY GIFT@"
|
||||
db "MOBILE@"
|
||||
db "MOBILE STUDIUM@"
|
||||
|
||||
.Jumptable: ; 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 -1
|
||||
|
||||
ContinueMenu: ; 0x49d70
|
||||
db 3
|
||||
db CONTINUE
|
||||
db NEW_GAME
|
||||
db OPTION
|
||||
db -1
|
||||
|
||||
MobileMysteryMenu: ; 0x49d75
|
||||
db 5
|
||||
db CONTINUE
|
||||
db NEW_GAME
|
||||
db OPTION
|
||||
db MYSTERY_GIFT
|
||||
db MOBILE
|
||||
db -1
|
||||
|
||||
MobileMenu: ; 0x49d7c
|
||||
db 4
|
||||
db CONTINUE
|
||||
db NEW_GAME
|
||||
db OPTION
|
||||
db MOBILE
|
||||
db -1
|
||||
|
||||
MobileStudiumMenu: ; 0x49d82
|
||||
db 5
|
||||
db CONTINUE
|
||||
db NEW_GAME
|
||||
db OPTION
|
||||
db MOBILE
|
||||
db MOBILE_STUDIUM
|
||||
db -1
|
||||
|
||||
MysteryMobileStudiumMenu: ; 0x49d89
|
||||
db 6
|
||||
db CONTINUE
|
||||
db NEW_GAME
|
||||
db OPTION
|
||||
db MYSTERY_GIFT
|
||||
db MOBILE
|
||||
db MOBILE_STUDIUM
|
||||
db -1
|
||||
|
||||
MysteryMenu: ; 0x49d91
|
||||
db 4
|
||||
db CONTINUE
|
||||
db NEW_GAME
|
||||
db OPTION
|
||||
db MYSTERY_GIFT
|
||||
db -1
|
||||
|
||||
MysteryStudiumMenu: ; 0x49d97
|
||||
db 5
|
||||
db CONTINUE
|
||||
db NEW_GAME
|
||||
db OPTION
|
||||
db MYSTERY_GIFT
|
||||
db MOBILE_STUDIUM
|
||||
db -1
|
||||
|
||||
StudiumMenu: ; 0x49d9e
|
||||
db 4
|
||||
db CONTINUE
|
||||
db NEW_GAME
|
||||
db OPTION
|
||||
db MOBILE_STUDIUM
|
||||
db -1
|
||||
|
||||
|
||||
MainMenu_GetWhichMenu: ; 49da4
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ld a, [wSaveFileExists]
|
||||
and a
|
||||
jr nz, .next
|
||||
ld a, $0 ; New Game
|
||||
ret
|
||||
|
||||
.next
|
||||
ld a, [hCGB]
|
||||
cp $1
|
||||
ld a, $1
|
||||
ret nz
|
||||
ld a, BANK(sNumDailyMysteryGiftPartnerIDs)
|
||||
call GetSRAMBank
|
||||
ld a, [sNumDailyMysteryGiftPartnerIDs]
|
||||
cp -1
|
||||
call CloseSRAM
|
||||
jr nz, .mystery_gift
|
||||
; This check makes no difference.
|
||||
ld a, [wStatusFlags]
|
||||
bit STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F, a
|
||||
ld a, $1 ; Continue
|
||||
jr z, .ok
|
||||
jr .ok
|
||||
|
||||
.ok
|
||||
jr .ok2
|
||||
|
||||
.ok2
|
||||
ld a, $1 ; Continue
|
||||
ret
|
||||
|
||||
.mystery_gift
|
||||
; This check makes no difference.
|
||||
ld a, [wStatusFlags]
|
||||
bit STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F, a
|
||||
jr z, .ok3
|
||||
jr .ok3
|
||||
|
||||
.ok3
|
||||
jr .ok4
|
||||
|
||||
.ok4
|
||||
ld a, $6 ; Mystery Gift
|
||||
ret
|
||||
; 49de4
|
||||
|
||||
MainMenuJoypadLoop: ; 49de4
|
||||
call SetUpMenu
|
||||
.loop
|
||||
call MainMenu_PrintCurrentTimeAndDay
|
||||
ld a, [w2DMenuFlags1]
|
||||
set 5, a
|
||||
ld [w2DMenuFlags1], a
|
||||
call GetScrollingMenuJoypad
|
||||
ld a, [wMenuJoypad]
|
||||
cp B_BUTTON
|
||||
jr z, .b_button
|
||||
cp A_BUTTON
|
||||
jr z, .a_button
|
||||
jr .loop
|
||||
|
||||
.a_button
|
||||
call PlayClickSFX
|
||||
and a
|
||||
ret
|
||||
|
||||
.b_button
|
||||
scf
|
||||
ret
|
||||
; 49e09
|
||||
|
||||
MainMenu_PrintCurrentTimeAndDay: ; 49e09
|
||||
ld a, [wSaveFileExists]
|
||||
and a
|
||||
ret z
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
call .PlaceBox
|
||||
ld hl, wOptions
|
||||
ld a, [hl]
|
||||
push af
|
||||
set NO_TEXT_SCROLL, [hl]
|
||||
call .PlaceTime
|
||||
pop af
|
||||
ld [wOptions], a
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a
|
||||
ret
|
||||
; 49e27
|
||||
|
||||
|
||||
.PlaceBox: ; 49e27
|
||||
call CheckRTCStatus
|
||||
and $80
|
||||
jr nz, .TimeFail
|
||||
hlcoord 0, 14
|
||||
ld b, 2
|
||||
ld c, 18
|
||||
call TextBox
|
||||
ret
|
||||
|
||||
.TimeFail:
|
||||
call SpeechTextBox
|
||||
ret
|
||||
; 49e3d
|
||||
|
||||
|
||||
.PlaceTime: ; 49e3d
|
||||
ld a, [wSaveFileExists]
|
||||
and a
|
||||
ret z
|
||||
call CheckRTCStatus
|
||||
and $80
|
||||
jp nz, .PrintTimeNotSet
|
||||
call UpdateTime
|
||||
call GetWeekday
|
||||
ld b, a
|
||||
decoord 1, 15
|
||||
call .PlaceCurrentDay
|
||||
decoord 4, 16
|
||||
ld a, [hHours]
|
||||
ld c, a
|
||||
farcall PrintHour
|
||||
ld [hl], ":"
|
||||
inc hl
|
||||
ld de, hMinutes
|
||||
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
|
||||
call PrintNum
|
||||
ret
|
||||
|
||||
.min
|
||||
; unused
|
||||
db "min.@"
|
||||
; 49e75
|
||||
|
||||
.PrintTimeNotSet: ; 49e75
|
||||
hlcoord 1, 14
|
||||
ld de, .TimeNotSet
|
||||
call PlaceString
|
||||
ret
|
||||
; 49e7f
|
||||
|
||||
.TimeNotSet: ; 49e7f
|
||||
db "TIME NOT SET@"
|
||||
; 49e8c
|
||||
|
||||
.UnusedText: ; 49e8c
|
||||
; Clock time unknown
|
||||
text_jump UnknownText_0x1c5182
|
||||
db "@"
|
||||
; 49e91
|
||||
|
||||
.PlaceCurrentDay: ; 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 ClearWindowData
|
||||
ret
|
||||
; 49ee0
|
||||
|
||||
|
||||
MainMenu_NewGame: ; 49ee0
|
||||
farcall NewGame
|
||||
ret
|
||||
; 49ee7
|
||||
|
||||
MainMenu_Options: ; 49ee7
|
||||
farcall OptionsMenu
|
||||
ret
|
||||
; 49eee
|
||||
|
||||
MainMenu_Continue: ; 49eee
|
||||
farcall Continue
|
||||
ret
|
||||
; 49ef5
|
||||
|
||||
MainMenu_MysteryGift: ; 49ef5
|
||||
farcall MysteryGift
|
||||
ret
|
||||
; 49efc
|
841
engine/menus/menu.asm
Normal file
841
engine/menus/menu.asm
Normal file
File diff suppressed because it is too large
Load Diff
253
engine/menus/menu_2.asm
Normal file
253
engine/menus/menu_2.asm
Normal file
@@ -0,0 +1,253 @@
|
||||
PlaceMenuItemName: ; 0x24ab4
|
||||
push de
|
||||
ld a, [wMenuSelection]
|
||||
ld [wNamedObjectIndexBuffer], a
|
||||
call GetItemName
|
||||
pop hl
|
||||
call PlaceString
|
||||
ret
|
||||
|
||||
PlaceMenuItemQuantity: ; 0x24ac3
|
||||
push de
|
||||
ld a, [wMenuSelection]
|
||||
ld [wCurItem], a
|
||||
farcall _CheckTossableItem
|
||||
ld a, [wItemAttributeParamBuffer]
|
||||
pop hl
|
||||
and a
|
||||
jr nz, .done
|
||||
ld de, $15
|
||||
add hl, de
|
||||
ld [hl], "×"
|
||||
inc hl
|
||||
ld de, wMenuSelectionQuantity
|
||||
lb bc, 1, 2
|
||||
call PrintNum
|
||||
|
||||
.done
|
||||
ret
|
||||
|
||||
PlaceMoneyTopRight: ; 24ae8
|
||||
ld hl, MenuHeader_0x24b15
|
||||
call CopyMenuHeader
|
||||
jr PlaceMoneyTextBox
|
||||
|
||||
PlaceMoneyBottomLeft: ; 24af0
|
||||
ld hl, MenuHeader_0x24b1d
|
||||
call CopyMenuHeader
|
||||
jr PlaceMoneyTextBox
|
||||
|
||||
PlaceMoneyAtTopLeftOfTextbox: ; 24af8
|
||||
ld hl, MenuHeader_0x24b15
|
||||
lb de, 0, 11
|
||||
call OffsetMenuHeader
|
||||
|
||||
PlaceMoneyTextBox: ; 24b01
|
||||
call MenuBox
|
||||
call MenuBoxCoord2Tile
|
||||
ld de, SCREEN_WIDTH + 1
|
||||
add hl, de
|
||||
ld de, wMoney
|
||||
lb bc, PRINTNUM_MONEY | 3, 6
|
||||
call PrintNum
|
||||
ret
|
||||
|
||||
MenuHeader_0x24b15: ; 0x24b15
|
||||
db MENU_BACKUP_TILES ; flags
|
||||
menu_coords 11, 0, SCREEN_WIDTH - 1, 2
|
||||
dw NULL
|
||||
db 1 ; default option
|
||||
|
||||
MenuHeader_0x24b1d: ; 0x24b1d
|
||||
db MENU_BACKUP_TILES ; flags
|
||||
menu_coords 0, 11, 8, 13
|
||||
dw NULL
|
||||
db 1 ; default option
|
||||
|
||||
DisplayCoinCaseBalance: ; 24b25
|
||||
; Place a text box of size 1x7 at 11, 0.
|
||||
hlcoord 11, 0
|
||||
ld b, 1
|
||||
ld c, 7
|
||||
call TextBox
|
||||
hlcoord 12, 0
|
||||
ld de, CoinString
|
||||
call PlaceString
|
||||
hlcoord 17, 1
|
||||
ld de, ShowMoney_TerminatorString
|
||||
call PlaceString
|
||||
ld de, wCoins
|
||||
lb bc, 2, 4
|
||||
hlcoord 13, 1
|
||||
call PrintNum
|
||||
ret
|
||||
|
||||
DisplayMoneyAndCoinBalance: ; 24b4e
|
||||
hlcoord 5, 0
|
||||
ld b, 3
|
||||
ld c, 13
|
||||
call TextBox
|
||||
hlcoord 6, 1
|
||||
ld de, MoneyString
|
||||
call PlaceString
|
||||
hlcoord 12, 1
|
||||
ld de, wMoney
|
||||
lb bc, PRINTNUM_MONEY | 3, 6
|
||||
call PrintNum
|
||||
hlcoord 6, 3
|
||||
ld de, CoinString
|
||||
call PlaceString
|
||||
hlcoord 15, 3
|
||||
ld de, wCoins
|
||||
lb bc, 2, 4
|
||||
call PrintNum
|
||||
ret
|
||||
|
||||
MoneyString: ; 24b83
|
||||
db "MONEY@"
|
||||
CoinString: ; 24b89
|
||||
db "COIN@"
|
||||
ShowMoney_TerminatorString: ; 24b8e
|
||||
db "@"
|
||||
|
||||
Unreferenced_Function24b8f: ; 24b8f
|
||||
; related to safari?
|
||||
ld hl, wOptions
|
||||
ld a, [hl]
|
||||
push af
|
||||
set NO_TEXT_SCROLL, [hl]
|
||||
hlcoord 0, 0
|
||||
ld b, 3
|
||||
ld c, 7
|
||||
call TextBox
|
||||
hlcoord 1, 1
|
||||
ld de, wSafariTimeRemaining
|
||||
lb bc, 2, 3
|
||||
call PrintNum
|
||||
hlcoord 4, 1
|
||||
ld de, .slash_500
|
||||
call PlaceString
|
||||
hlcoord 1, 3
|
||||
ld de, .booru_ko
|
||||
call PlaceString
|
||||
hlcoord 5, 3
|
||||
ld de, wSafariBallsRemaining
|
||||
lb bc, 1, 2
|
||||
call PrintNum
|
||||
pop af
|
||||
ld [wOptions], a
|
||||
ret
|
||||
|
||||
.slash_500 ; 24bcf
|
||||
db "/500@"
|
||||
.booru_ko ; 24bd4
|
||||
db "ボール こ@"
|
||||
|
||||
StartMenu_DrawBugContestStatusBox: ; 24bdc
|
||||
hlcoord 0, 0
|
||||
ld b, 5
|
||||
ld c, 17
|
||||
call TextBox
|
||||
ret
|
||||
|
||||
StartMenu_PrintBugContestStatus: ; 24be7
|
||||
ld hl, wOptions
|
||||
ld a, [hl]
|
||||
push af
|
||||
set NO_TEXT_SCROLL, [hl]
|
||||
call StartMenu_DrawBugContestStatusBox
|
||||
hlcoord 1, 5
|
||||
ld de, .Balls_EN
|
||||
call PlaceString
|
||||
hlcoord 8, 5
|
||||
ld de, wParkBallsRemaining
|
||||
lb bc, PRINTNUM_RIGHTALIGN | 1, 2
|
||||
call PrintNum
|
||||
hlcoord 1, 1
|
||||
ld de, .CAUGHT
|
||||
call PlaceString
|
||||
ld a, [wContestMon]
|
||||
and a
|
||||
ld de, .None
|
||||
jr z, .no_contest_mon
|
||||
ld [wd265], a
|
||||
call GetPokemonName
|
||||
|
||||
.no_contest_mon
|
||||
hlcoord 8, 1
|
||||
call PlaceString
|
||||
ld a, [wContestMon]
|
||||
and a
|
||||
jr z, .skip_level
|
||||
hlcoord 1, 3
|
||||
ld de, .LEVEL
|
||||
call PlaceString
|
||||
ld a, [wContestMonLevel]
|
||||
ld h, b
|
||||
ld l, c
|
||||
inc hl
|
||||
ld c, 3
|
||||
call Print8BitNumRightAlign
|
||||
|
||||
.skip_level
|
||||
pop af
|
||||
ld [wOptions], a
|
||||
ret
|
||||
|
||||
.Balls_JP: ; 24c43
|
||||
db "ボール こ@"
|
||||
.CAUGHT: ; 24c4b
|
||||
db "CAUGHT@"
|
||||
.Balls_EN: ; 24c52
|
||||
db "BALLS:@"
|
||||
.None: ; 24c59
|
||||
db "None@"
|
||||
.LEVEL: ; 24c5e
|
||||
db "LEVEL@"
|
||||
|
||||
FindApricornsInBag: ; 24c64
|
||||
; Checks the bag for Apricorns.
|
||||
ld hl, wBuffer1
|
||||
xor a
|
||||
ld [hli], a
|
||||
dec a
|
||||
ld bc, 10
|
||||
call ByteFill
|
||||
|
||||
ld hl, ApricornBalls
|
||||
.loop
|
||||
ld a, [hl]
|
||||
cp -1
|
||||
jr z, .done
|
||||
push hl
|
||||
ld [wCurItem], a
|
||||
ld hl, wNumItems
|
||||
call CheckItem
|
||||
pop hl
|
||||
jr nc, .nope
|
||||
ld a, [hl]
|
||||
call .addtobuffer
|
||||
.nope
|
||||
inc hl
|
||||
inc hl
|
||||
jr .loop
|
||||
|
||||
.done
|
||||
ld a, [wBuffer1]
|
||||
and a
|
||||
ret nz
|
||||
scf
|
||||
ret
|
||||
|
||||
.addtobuffer ; 24c94
|
||||
push hl
|
||||
ld hl, wBuffer1
|
||||
inc [hl]
|
||||
ld e, [hl]
|
||||
ld d, 0
|
||||
add hl, de
|
||||
ld [hl], a
|
||||
pop hl
|
||||
ret
|
||||
|
||||
INCLUDE "data/items/apricorn_balls.asm"
|
1467
engine/menus/naming_screen.asm
Normal file
1467
engine/menus/naming_screen.asm
Normal file
File diff suppressed because it is too large
Load Diff
583
engine/menus/options_menu.asm
Normal file
583
engine/menus/options_menu.asm
Normal file
File diff suppressed because it is too large
Load Diff
1210
engine/menus/save.asm
Normal file
1210
engine/menus/save.asm
Normal file
File diff suppressed because it is too large
Load Diff
77
engine/menus/savemenu_copytilemapatonce.asm
Normal file
77
engine/menus/savemenu_copytilemapatonce.asm
Normal file
@@ -0,0 +1,77 @@
|
||||
SaveMenu_CopyTilemapAtOnce: ; 4cf45 (13:4f45)
|
||||
ld a, [hCGB]
|
||||
and a
|
||||
jp z, WaitBGMap
|
||||
|
||||
; The following is a modified version of CopyTilemapAtOnce.
|
||||
ld a, [hBGMapMode]
|
||||
push af
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ld a, [hMapAnims]
|
||||
push af
|
||||
xor a
|
||||
ld [hMapAnims], a
|
||||
.WaitLY:
|
||||
ld a, [rLY]
|
||||
cp $60
|
||||
jr c, .WaitLY
|
||||
|
||||
di
|
||||
ld a, BANK(vBGMap2)
|
||||
ld [rVBK], a
|
||||
hlcoord 0, 0, wAttrMap
|
||||
call .CopyTilemapAtOnce
|
||||
ld a, BANK(vBGMap0)
|
||||
ld [rVBK], a
|
||||
hlcoord 0, 0
|
||||
call .CopyTilemapAtOnce
|
||||
.WaitLY2:
|
||||
ld a, [rLY]
|
||||
cp $60
|
||||
jr c, .WaitLY2
|
||||
ei
|
||||
|
||||
pop af
|
||||
ld [hMapAnims], a
|
||||
pop af
|
||||
ld [hBGMapMode], a
|
||||
ret
|
||||
|
||||
.CopyTilemapAtOnce: ; 4cf80 (13:4f80)
|
||||
ld [hSPBuffer], sp ; $ffd9
|
||||
ld sp, hl
|
||||
ld a, [hBGMapAddress + 1]
|
||||
ld h, a
|
||||
ld l, 0
|
||||
ld a, SCREEN_HEIGHT
|
||||
ld [hTilesPerCycle], a
|
||||
ld b, 1 << 1
|
||||
ld c, LOW(rSTAT)
|
||||
|
||||
.loop
|
||||
rept SCREEN_WIDTH / 2
|
||||
pop de
|
||||
.loop\@
|
||||
ld a, [$ff00+c]
|
||||
and b
|
||||
jr nz, .loop\@
|
||||
ld [hl], e
|
||||
inc l
|
||||
ld [hl], d
|
||||
inc l
|
||||
endr
|
||||
|
||||
ld de, BG_MAP_WIDTH - SCREEN_WIDTH
|
||||
add hl, de
|
||||
ld a, [hTilesPerCycle]
|
||||
dec a
|
||||
ld [hTilesPerCycle], a
|
||||
jr nz, .loop
|
||||
|
||||
ld a, [hSPBuffer]
|
||||
ld l, a
|
||||
ld a, [hSPBuffer + 1]
|
||||
ld h, a
|
||||
ld sp, hl
|
||||
ret
|
543
engine/menus/scrolling_menu.asm
Normal file
543
engine/menus/scrolling_menu.asm
Normal file
File diff suppressed because it is too large
Load Diff
1993
engine/menus/start_menu.asm
Normal file
1993
engine/menus/start_menu.asm
Normal file
File diff suppressed because it is too large
Load Diff
623
engine/menus/trainer_card.asm
Normal file
623
engine/menus/trainer_card.asm
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user