Remove Mobile, Battle Tower, Mystery Gift, and Odd Egg (#1)

This commit is contained in:
xCrystal
2023-07-24 21:13:11 +02:00
parent 74b8214272
commit fc7f2d4e0e
201 changed files with 101 additions and 73760 deletions

View File

@@ -8,8 +8,6 @@ InitCrystalData:
ld [wd476], a
ld [wd477], a
ld [wd478], a
ld [wd002], a
ld [wd003], a
ld a, [wd479]
res 0, a ; ???
ld [wd479], a
@@ -18,8 +16,6 @@ InitCrystalData:
ld [wd479], a
ret
INCLUDE "mobile/mobile_12.asm"
InitGender:
call InitGenderScreen
call LoadGenderScreenPal

View File

@@ -48,12 +48,6 @@ NewGame_ClearTilemapEtc:
call ClearWindowData
ret
MysteryGift:
call UpdateTime
farcall DoMysteryGiftIfDayHasPassed
farcall DoMysteryGift
ret
Option:
farcall _Option
ret
@@ -78,16 +72,9 @@ NewGame:
jp FinishContinueFunction
AreYouABoyOrAreYouAGirl:
farcall Mobile_AlwaysReturnNotCarry ; mobile
jr c, .ok
farcall InitGender
ret
.ok
ld c, 0
farcall InitMobileProfile ; mobile
ret
if DEF(_DEBUG)
DebugRoom: ; unreferenced
farcall _DebugRoom
@@ -173,16 +160,6 @@ _ResetWRAM:
ld [wRoamMon2MapNumber], a
ld [wRoamMon3MapNumber], a
ld a, BANK(sMysteryGiftItem) ; aka BANK(sMysteryGiftUnlocked)
call OpenSRAM
ld hl, sMysteryGiftItem
xor a
ld [hli], a
assert sMysteryGiftItem + 1 == sMysteryGiftUnlocked
dec a ; -1
ld [hl], a
call CloseSRAM
call LoadOrRegenerateLuckyIDNumber
call InitializeMagikarpHouse
@@ -220,8 +197,6 @@ endc
farcall DeletePartyMonMail
farcall DeleteMobileEventIndex
call ResetGameTime
ret
@@ -365,13 +340,11 @@ Continue:
ld a, HIGH(MUSIC_NONE)
ld [wMusicFadeID + 1], a
call ClearBGPalettes
call Continue_MobileAdapterMenu
call CloseWindow
call ClearTilemap
ld c, 20
call DelayFrames
farcall JumpRoamMons
farcall CopyMysteryGiftReceivedDecorationsToPC
farcall ClockContinue
ld a, [wSpawnAfterChampion]
cp SPAWN_LANCE
@@ -400,36 +373,6 @@ PostCreditsSpawn:
ldh [hMapEntryMethod], a
ret
Continue_MobileAdapterMenu:
farcall Mobile_AlwaysReturnNotCarry ; mobile check
ret nc
; the rest of this stuff is never reached because
; the previous function returns with carry not set
ld hl, wd479
bit 1, [hl]
ret nz
ld a, 5
ld [wMusicFade], a
ld a, LOW(MUSIC_MOBILE_ADAPTER_MENU)
ld [wMusicFadeID], a
ld a, HIGH(MUSIC_MOBILE_ADAPTER_MENU)
ld [wMusicFadeID + 1], a
ld c, 20
call DelayFrames
ld c, $1
farcall InitMobileProfile ; mobile
farcall _SaveData
ld a, 8
ld [wMusicFade], a
ld a, LOW(MUSIC_NONE)
ld [wMusicFadeID], a
ld a, HIGH(MUSIC_NONE)
ld [wMusicFadeID + 1], a
ld c, 35
call DelayFrames
ret
ConfirmContinue:
.loop
call DelayFrame

View File

@@ -2,26 +2,13 @@
const_def
const MAINMENU_NEW_GAME ; 0
const MAINMENU_CONTINUE ; 1
const MAINMENU_MOBILE_MYSTERY ; 2
const MAINMENU_MOBILE ; 3
const MAINMENU_MOBILE_STUDIUM ; 4
const MAINMENU_MYSTERY_MOBILE_STUDIUM ; 5
const MAINMENU_MYSTERY ; 6
const MAINMENU_MYSTERY_STUDIUM ; 7
const MAINMENU_STUDIUM ; 8
; MainMenu.Strings and MainMenu.Jumptable indexes
const_def
const MAINMENUITEM_CONTINUE ; 0
const MAINMENUITEM_NEW_GAME ; 1
const MAINMENUITEM_OPTION ; 2
const MAINMENUITEM_MYSTERY_GIFT ; 3
const MAINMENUITEM_MOBILE ; 4
const MAINMENUITEM_MOBILE_STUDIUM ; 5
const MAINMENUITEM_DEBUG_ROOM ; 6
MobileMenuGFX:
INCBIN "gfx/mobile/mobile_menu.2bpp"
const MAINMENUITEM_DEBUG_ROOM ; 3
MainMenu:
.loop
@@ -80,9 +67,6 @@ endc
dw MainMenu_Continue
dw MainMenu_NewGame
dw MainMenu_Option
dw MainMenu_MysteryGift
dw MainMenu_Mobile
dw MainMenu_MobileStudium
if DEF(_DEBUG)
dw MainMenu_DebugRoom
endc
@@ -106,88 +90,6 @@ if DEF(_DEBUG)
endc
db -1
; MAINMENU_MOBILE_MYSTERY
db 5 + DEF(_DEBUG)
db MAINMENUITEM_CONTINUE
db MAINMENUITEM_NEW_GAME
db MAINMENUITEM_OPTION
db MAINMENUITEM_MYSTERY_GIFT
db MAINMENUITEM_MOBILE
if DEF(_DEBUG)
db MAINMENUITEM_DEBUG_ROOM
endc
db -1
; MAINMENU_MOBILE
db 4 + DEF(_DEBUG)
db MAINMENUITEM_CONTINUE
db MAINMENUITEM_NEW_GAME
db MAINMENUITEM_OPTION
db MAINMENUITEM_MOBILE
if DEF(_DEBUG)
db MAINMENUITEM_DEBUG_ROOM
endc
db -1
; MAINMENU_MOBILE_STUDIUM
db 5 + DEF(_DEBUG)
db MAINMENUITEM_CONTINUE
db MAINMENUITEM_NEW_GAME
db MAINMENUITEM_OPTION
db MAINMENUITEM_MOBILE
db MAINMENUITEM_MOBILE_STUDIUM
if DEF(_DEBUG)
db MAINMENUITEM_DEBUG_ROOM
endc
db -1
; MAINMENU_MYSTERY_MOBILE_STUDIUM
db 6 + DEF(_DEBUG)
db MAINMENUITEM_CONTINUE
db MAINMENUITEM_NEW_GAME
db MAINMENUITEM_OPTION
db MAINMENUITEM_MYSTERY_GIFT
db MAINMENUITEM_MOBILE
db MAINMENUITEM_MOBILE_STUDIUM
if DEF(_DEBUG)
db MAINMENUITEM_DEBUG_ROOM
endc
db -1
; MAINMENU_MYSTERY
db 4 + DEF(_DEBUG)
db MAINMENUITEM_CONTINUE
db MAINMENUITEM_NEW_GAME
db MAINMENUITEM_OPTION
db MAINMENUITEM_MYSTERY_GIFT
if DEF(_DEBUG)
db MAINMENUITEM_DEBUG_ROOM
endc
db -1
; MAINMENU_MYSTERY_STUDIUM
db 5 + DEF(_DEBUG)
db MAINMENUITEM_CONTINUE
db MAINMENUITEM_NEW_GAME
db MAINMENUITEM_OPTION
db MAINMENUITEM_MYSTERY_GIFT
db MAINMENUITEM_MOBILE_STUDIUM
if DEF(_DEBUG)
db MAINMENUITEM_DEBUG_ROOM
endc
db -1
; MAINMENU_STUDIUM
db 4 + DEF(_DEBUG)
db MAINMENUITEM_CONTINUE
db MAINMENUITEM_NEW_GAME
db MAINMENUITEM_OPTION
db MAINMENUITEM_MOBILE_STUDIUM
if DEF(_DEBUG)
db MAINMENUITEM_DEBUG_ROOM
endc
db -1
MainMenu_GetWhichMenu:
nop
nop
@@ -199,42 +101,7 @@ MainMenu_GetWhichMenu:
ret
.next
ldh a, [hCGB]
cp TRUE
ld a, MAINMENU_CONTINUE
ret nz
ld a, BANK(sNumDailyMysteryGiftPartnerIDs)
call OpenSRAM
ld a, [sNumDailyMysteryGiftPartnerIDs]
cp -1 ; locked?
call CloseSRAM
jr nz, .mystery_gift
; This check makes no difference.
ld a, [wStatusFlags]
bit STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F, a
ld a, MAINMENU_CONTINUE
jr z, .ok
jr .ok
.ok
jr .ok2
.ok2
ld a, MAINMENU_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, MAINMENU_MYSTERY
ret
MainMenuJoypadLoop:
@@ -378,7 +245,3 @@ MainMenu_Option:
MainMenu_Continue:
farcall Continue
ret
MainMenu_MysteryGift:
farcall MysteryGift
ret

View File

@@ -15,37 +15,11 @@ _InterpretBattleMenu::
rst FarCall
call Draw2DMenu
farcall MobileTextBorder
call UpdateSprites
call ApplyTilemap
call Get2DMenuSelection
ret
_InterpretMobileMenu::
ld hl, CopyMenuData
ld a, [wMenuData_2DMenuItemStringsBank]
rst FarCall
call Draw2DMenu
farcall MobileTextBorder
call UpdateSprites
call ApplyTilemap
call Init2DMenuCursorPosition
ld hl, w2DMenuFlags1
set 7, [hl]
.loop
call DelayFrame
farcall Function10032e
ld a, [wcd2b]
and a
jr nz, .quit
call MobileMenuJoypad
ld a, [wMenuJoypadFilter]
and c
jr z, .loop
call Mobile_GetMenuSelection
ret
.quit
ld a, [w2DMenuNumCols]
ld c, a
@@ -66,7 +40,6 @@ Get2DMenuSelection:
call Init2DMenuCursorPosition
call StaticMenuJoypad
call MenuClickSound
Mobile_GetMenuSelection:
ld a, [wMenuDataFlags]
bit 1, a
jr z, .skip
@@ -256,58 +229,6 @@ _ScrollingMenuJoypad::
ldh [hBGMapMode], a
ret
MobileMenuJoypad:
ld hl, w2DMenuFlags2
res 7, [hl]
ldh a, [hBGMapMode]
push af
call Move2DMenuCursor
call Do2DMenuRTCJoypad
jr nc, .skip_joypad
call _2DMenuInterpretJoypad
.skip_joypad
pop af
ldh [hBGMapMode], a
call GetMenuJoypad
ld c, a
ret
Function241d5: ; unreferenced
call Place2DMenuCursor
.loop
call Move2DMenuCursor
call HDMATransferTilemapToWRAMBank3 ; should be farcall
call .loop2
jr nc, .done
call _2DMenuInterpretJoypad
jr c, .done
ld a, [w2DMenuFlags1]
bit 7, a
jr nz, .done
call GetMenuJoypad
ld c, a
ld a, [wMenuJoypadFilter]
and c
jr z, .loop
.done
ret
.loop2
call Menu_WasButtonPressed
ret c
ld c, 1
ld b, 3
call AdvanceMobileInactivityTimerAndCheckExpired ; should be farcall
ret c
farcall Function100337
ret c
ld a, [w2DMenuFlags1]
bit 7, a
jr z, .loop2
and a
ret
MenuJoypadLoop:
.loop
call Move2DMenuCursor

View File

@@ -26,7 +26,6 @@ SaveMenu:
SaveAfterLinkTrade:
call PauseGameLogic
farcall StageRTCTimeForSave
farcall BackupMysteryGift
call SavePokemonData
call SaveChecksum
call SaveBackupPokemonData
@@ -92,7 +91,6 @@ MoveMonWOMail_InsertMon_SaveGame:
ld a, TRUE
ld [wSaveFileExists], a
farcall StageRTCTimeForSave
farcall BackupMysteryGift
call ValidateSave
call SaveOptions
call SavePlayerData
@@ -104,7 +102,6 @@ MoveMonWOMail_InsertMon_SaveGame:
call SaveBackupPokemonData
call SaveBackupChecksum
farcall BackupPartyMonMail
farcall BackupMobileEventIndex
farcall SaveRTC
call LoadBox
call ResumeGameLogic
@@ -267,7 +264,6 @@ _SaveGameData:
ld a, TRUE
ld [wSaveFileExists], a
farcall StageRTCTimeForSave
farcall BackupMysteryGift
call ValidateSave
call SaveOptions
call SavePlayerData
@@ -281,7 +277,6 @@ _SaveGameData:
call SaveBackupChecksum
call UpdateStackTop
farcall BackupPartyMonMail
farcall BackupMobileEventIndex
farcall SaveRTC
ld a, BANK(sBattleTowerChallengeState)
call OpenSRAM
@@ -361,9 +356,7 @@ ErasePreviousSave:
call EraseBoxes
call EraseHallOfFame
call EraseLinkBattleStats
call EraseMysteryGift
call SaveData
call EraseBattleTowerStatus
ld a, BANK(sStackTop)
call OpenSRAM
xor a
@@ -383,15 +376,6 @@ EraseLinkBattleStats:
call ByteFill
jp CloseSRAM
EraseMysteryGift:
ld a, BANK(sBackupMysteryGiftItem)
call OpenSRAM
ld hl, sBackupMysteryGiftItem
ld bc, sBackupMysteryGiftItemEnd - sBackupMysteryGiftItem
xor a
call ByteFill
jp CloseSRAM
EraseHallOfFame:
ld a, BANK(sHallOfFame)
call OpenSRAM
@@ -401,72 +385,10 @@ EraseHallOfFame:
call ByteFill
jp CloseSRAM
InitDefaultEZChatMsgs: ; unreferenced
ld a, BANK(sEZChatMessages) ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call OpenSRAM
ld hl, .Data
ld de, sEZChatMessages
ld bc, EASY_CHAT_MESSAGE_LENGTH * 4
call CopyBytes
jp CloseSRAM
.Data:
; introduction
db $0d, EZCHAT_GREETINGS, $00, EZCHAT_EXCLAMATIONS, $00, EZCHAT_POKEMON
db $22, EZCHAT_GREETINGS, $01, EZCHAT_EXCLAMATIONS, $00, EZCHAT_POKEMON
; begin battle
db $03, EZCHAT_BATTLE, $05, EZCHAT_CONDITIONS, $03, EZCHAT_EXCLAMATIONS
db $0e, EZCHAT_CONVERSATION, $03, EZCHAT_GREETINGS, $00, EZCHAT_POKEMON
; win battle
db $39, EZCHAT_FEELINGS, $07, EZCHAT_BATTLE, $00, EZCHAT_EXCLAMATIONS
db $04, EZCHAT_FEELINGS, $01, EZCHAT_EXCLAMATIONS, $00, EZCHAT_POKEMON
; lose battle
db $0f, EZCHAT_EXCLAMATIONS, $14, EZCHAT_FEELINGS, $05, EZCHAT_EXCLAMATIONS
db $11, EZCHAT_TIME, $0c, EZCHAT_CONVERSATION, $06, EZCHAT_BATTLE
EraseBattleTowerStatus:
ld a, BANK(sBattleTowerChallengeState)
call OpenSRAM
xor a
ld [sBattleTowerChallengeState], a
jp CloseSRAM
SaveData:
call _SaveData
ret
Function14d6c: ; unreferenced
ld a, BANK(s4_a60b) ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call OpenSRAM
ld a, [s4_a60b] ; address of MBC30 bank
ld b, $0
and a
jr z, .ok
ld b, $2
.ok
ld a, b
ld [s4_a60b], a ; address of MBC30 bank
call CloseSRAM
ret
Function14d83: ; unreferenced
ld a, BANK(s4_a60c) ; aka BANK(s4_a60d) ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call OpenSRAM
xor a
ld [s4_a60c], a ; address of MBC30 bank
ld [s4_a60d], a ; address of MBC30 bank
call CloseSRAM
ret
Function14d93: ; unreferenced
ld a, BANK(s7_a000) ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call OpenSRAM
xor a
ld [s7_a000], a ; address of MBC30 bank
call CloseSRAM
ret
HallOfFame_InitSaveIfNeeded:
ld a, [wSavedAtLeastOnce]
and a
@@ -600,8 +522,6 @@ TryLoadSaveFile:
call LoadPokemonData
call LoadBox
farcall RestorePartyMonMail
farcall RestoreMobileEventIndex
farcall RestoreMysteryGift
call ValidateBackupSave
call SaveBackupOptions
call SaveBackupPlayerData
@@ -617,8 +537,6 @@ TryLoadSaveFile:
call LoadBackupPokemonData
call LoadBox
farcall RestorePartyMonMail
farcall RestoreMobileEventIndex
farcall RestoreMysteryGift
call ValidateSave
call SaveOptions
call SavePlayerData
@@ -839,17 +757,6 @@ _SaveData:
ld bc, wCrystalDataEnd - wCrystalData
call CopyBytes
; This block originally had some mobile functionality, but since we're still in
; BANK(sCrystalData), it instead overwrites the sixteen wEventFlags starting at 1:s4_a60e with
; garbage from wd479. This isn't an issue, since ErasePreviousSave is followed by a regular
; save that unwrites the garbage.
ld hl, wd479
ld a, [hli]
ld [s4_a60e + 0], a
ld a, [hli]
ld [s4_a60e + 1], a
jp CloseSRAM
_LoadData:
@@ -860,15 +767,6 @@ _LoadData:
ld bc, wCrystalDataEnd - wCrystalData
call CopyBytes
; This block originally had some mobile functionality to mirror _SaveData above, but instead it
; (harmlessly) writes the aforementioned wEventFlags to the unused wd479.
ld hl, wd479
ld a, [s4_a60e + 0]
ld [hli], a
ld a, [s4_a60e + 1]
ld [hli], a
jp CloseSRAM
GetBoxAddress: