sovereignx/data/scripts/debug.inc
Salem 90089ecf51
add debug build target (#4817)
* add debug build target

* fix maybe uninitialized error

* add option to undef NDEBUG

* debug for agbcc

* init instead of ignore to not break agbcc

* make clean removes modern and agbcc artifacts. explicit use of -O0 again for NOOPT

* automatically enable debug menu when building for debug

* automatically enable debug menu when building for debug

* automatically enable debug menu when building for debug

* clean up previous mess omg

* remove preproc around debug menus

* automatically enable debug menu when building for debug

* clean up previous mess omg

* Apply suggestions from code review

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Update Makefile

* Update field_control_avatar.c

* make debug print independent

* remove unwanted changes

* remove trailing endif

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-09-07 10:13:22 -04:00

449 lines
12 KiB
PHP

Debug_MessageEnd:
waitmessage
waitbuttonpress
releaseall
end
Debug_ShowFieldMessageStringVar4::
special ShowFieldMessageStringVar4
goto Debug_MessageEnd
Debug_CheatStart::
setflag FLAG_SYS_POKEMON_GET
setflag FLAG_RESCUED_BIRCH
setflag FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE
setflag FLAG_ADVENTURE_STARTED
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
setflag FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG
setvar VAR_BIRCH_LAB_STATE, 2
setvar VAR_ROUTE101_STATE, 3
givemon SPECIES_TREECKO, 20, ITEM_NONE
givemon SPECIES_TORCHIC, 20, ITEM_NONE
givemon SPECIES_MUDKIP, 20, ITEM_NONE
setflag FLAG_SYS_POKEDEX_GET
special SetUnlockedPokedexFlags
setflag FLAG_RECEIVED_POKEDEX_FROM_BIRCH
setvar VAR_CABLE_CLUB_TUTORIAL_STATE, 2
setflag FLAG_SYS_NATIONAL_DEX
special EnableNationalPokedex
setflag FLAG_RECEIVED_RUNNING_SHOES
setflag FLAG_SYS_B_DASH
setvar VAR_LITTLEROOT_TOWN_STATE, 4 @ 4: Received Running Shoes
setvar VAR_LITTLEROOT_INTRO_STATE, 7 @ 7: Told to go meet rival
setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 2 @ 2: Met Rival's Mom (and is corresponding gender)
setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 2 @ 2: Met Rival's Mom (and is corresponding gender)
setvar VAR_LITTLEROOT_RIVAL_STATE, 4 @ 4: Received Pokedex
setflag FLAG_RECEIVED_BIKE
additem ITEM_ACRO_BIKE
setvar VAR_BRINEY_HOUSE_STATE, 1
setvar VAR_ROUTE116_STATE, 2
setflag FLAG_HIDE_ROUTE_116_MR_BRINEY
setflag FLAG_BADGE01_GET
setflag FLAG_BADGE02_GET
setflag FLAG_BADGE03_GET
setflag FLAG_BADGE04_GET
setflag FLAG_BADGE05_GET
setflag FLAG_BADGE06_GET
setflag FLAG_BADGE07_GET
setflag FLAG_BADGE08_GET
setflag FLAG_VISITED_LITTLEROOT_TOWN
setflag FLAG_VISITED_OLDALE_TOWN
setflag FLAG_VISITED_DEWFORD_TOWN
setflag FLAG_VISITED_LAVARIDGE_TOWN
setflag FLAG_VISITED_FALLARBOR_TOWN
setflag FLAG_VISITED_VERDANTURF_TOWN
setflag FLAG_VISITED_PACIFIDLOG_TOWN
setflag FLAG_VISITED_PETALBURG_CITY
setflag FLAG_VISITED_SLATEPORT_CITY
setflag FLAG_VISITED_MAUVILLE_CITY
setflag FLAG_VISITED_RUSTBORO_CITY
setflag FLAG_VISITED_FORTREE_CITY
setflag FLAG_VISITED_LILYCOVE_CITY
setflag FLAG_VISITED_MOSSDEEP_CITY
setflag FLAG_VISITED_SOOTOPOLIS_CITY
setflag FLAG_VISITED_EVER_GRANDE_CITY
setflag FLAG_LANDMARK_POKEMON_LEAGUE
setflag FLAG_LANDMARK_BATTLE_FRONTIER
clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
release
end
Debug_FlagsNotSetOverworldConfigMessage::
message Debug_FlagsNotSetOverworldConfigMessage_Text
goto Debug_MessageEnd
Debug_FlagsNotSetOverworldConfigMessage_Text:
.string "Feature unavailable!\n"
.string "Please define a usable flag in:\l"
.string "'include/config/overworld.h'!$"
Debug_FlagsNotSetBattleConfigMessage::
message Debug_FlagsNotSetBattleConfigMessage_Text
goto Debug_MessageEnd
Debug_FlagsNotSetBattleConfigMessage_Text:
.string "Feature unavailable!\n"
.string "Please define a usable flag in:\l"
.string "'include/config/battle.h'!$"
Debug_BoxFilledMessage::
message Debug_BoxFilledMessage_Text
goto Debug_MessageEnd
Debug_BoxFilledMessage_Text:
.string "Storage boxes filled!$"
Debug_EventScript_CheckEVs::
lockall
getpartysize
goto_if_eq VAR_RESULT, 0, Debug_NoPokemon
special ChoosePartyMon
waitstate
goto_if_ge VAR_0x8004, PARTY_SIZE, Debug_EventScript_CheckEVs_End
callnative Script_GetChosenMonOffensiveEVs
msgbox Debug_EventScript_Text_OffensiveEVs, MSGBOX_DEFAULT
callnative Script_GetChosenMonDefensiveEVs
msgbox Debug_EventScript_Text_DefensiveEVs, MSGBOX_DEFAULT
Debug_EventScript_CheckEVs_End::
releaseall
end
Debug_EventScript_Text_OffensiveEVs:
.string "ATK EVs: {STR_VAR_1}, SPATK EVs: {STR_VAR_2}, SPEED EVs: {STR_VAR_3}$"
Debug_EventScript_Text_DefensiveEVs:
.string "HP EVs: {STR_VAR_1}, DEF EVs: {STR_VAR_2}, SPDEF EVs: {STR_VAR_3}$"
Debug_EventScript_CheckIVs::
lockall
getpartysize
goto_if_eq VAR_RESULT, 0, Debug_NoPokemon
special ChoosePartyMon
waitstate
goto_if_ge VAR_0x8004, PARTY_SIZE, Debug_EventScript_CheckIVs_End
callnative Script_GetChosenMonOffensiveIVs
msgbox Debug_EventScript_Text_OffensiveIVs, MSGBOX_DEFAULT
callnative Script_GetChosenMonDefensiveIVs
msgbox Debug_EventScript_Text_DefensiveIVs, MSGBOX_DEFAULT
Debug_EventScript_CheckIVs_End::
releaseall
end
Debug_EventScript_Text_OffensiveIVs:
.string "ATK IVs: {STR_VAR_1}, SPATK IVs: {STR_VAR_2}, SPEED IVs: {STR_VAR_3}$"
Debug_EventScript_Text_DefensiveIVs:
.string "HP IVs: {STR_VAR_1}, DEF IVs: {STR_VAR_2}, SPDEF IVs: {STR_VAR_3}$"
Debug_EventScript_Script_1::
release
end
Debug_EventScript_Script_2::
release
end
Debug_EventScript_Script_3::
release
end
Debug_EventScript_Script_4::
release
end
Debug_EventScript_Script_5::
release
end
Debug_EventScript_Script_6::
release
end
Debug_EventScript_Script_7::
release
end
Debug_EventScript_Script_8::
release
end
Debug_CheckSaveBlock::
callnative CheckSaveBlock1Size
msgbox Debug_SaveBlock1Size, MSGBOX_DEFAULT
callnative CheckSaveBlock2Size
msgbox Debug_SaveBlock2Size, MSGBOX_DEFAULT
callnative CheckSaveBlock3Size
msgbox Debug_SaveBlock3Size, MSGBOX_DEFAULT
callnative CheckPokemonStorageSize
msgbox Debug_PokemonStorageSize, MSGBOX_DEFAULT
release
end
Debug_SaveBlock1Size::
.string "SaveBlock1 size: {STR_VAR_1}b/{STR_VAR_2}b.\n"
.string "Free space: {STR_VAR_3}b.$"
Debug_SaveBlock2Size::
.string "SaveBlock2 size: {STR_VAR_1}b/{STR_VAR_2}b.\n"
.string "Free space: {STR_VAR_3}b.$"
Debug_SaveBlock3Size::
.string "SaveBlock3 size: {STR_VAR_1}b/{STR_VAR_2}b.\n"
.string "Free space: {STR_VAR_3}b.$"
Debug_PokemonStorageSize::
.string "{PKMN}Storage size: {STR_VAR_1}b/{STR_VAR_2}b.\n"
.string "Free space: {STR_VAR_3}b.$"
Debug_CheckROMSpace::
callnative CheckROMSize
msgbox Debug_ROMSize, MSGBOX_DEFAULT
release
end
Debug_ROMSize::
.string "ROM size: {STR_VAR_1}MB/32MB.\n"
.string "Free space: {STR_VAR_2}MB.$"
Debug_HatchAnEgg::
lockall
getpartysize
goto_if_eq VAR_RESULT, 0, Debug_NoPokemon
special ChoosePartyMon
waitstate
goto_if_ge VAR_0x8004, PARTY_SIZE, Debug_HatchAnEgg_End
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
goto_if_ne VAR_RESULT, SPECIES_EGG, DebugScript_HatchAnEgg_CantForceHatch
special EggHatch
waitstate
Debug_HatchAnEgg_End::
releaseall
end
Debug_NoPokemon::
msgbox DebugScript_Text_EmptyParty, MSGBOX_DEFAULT
releaseall
end
DebugScript_HatchAnEgg_CantForceHatch::
msgbox DebugScript_HatchAnEgg_Text_NotAnEgg, MSGBOX_DEFAULT
releaseall
end
DebugScript_Text_EmptyParty::
.string "You have no Pokémon nor Eggs.$"
DebugScript_HatchAnEgg_Text_NotAnEgg::
.string "That's not a Pokémon Egg.$"
DebugScript_ZeroDaycareMons::
msgbox DebugText_DaycareNoPokemon, MSGBOX_DEFAULT
releaseall
end
DebugScript_OneDaycareMons::
msgbox DebugText_DaycareOnePokemon, MSGBOX_DEFAULT
releaseall
end
DebugScript_DaycareMonsNotCompatible::
msgbox DebugText_DaycarePokemonNotCompatible, MSGBOX_DEFAULT
releaseall
end
DebugText_DaycareNoPokemon:
.string "You have no Pokémon at Daycare.$"
DebugText_DaycareOnePokemon:
.string "You have only one Pokémon at Daycare.$"
DebugText_DaycarePokemonNotCompatible:
.string "Your Pokémon at Daycare can't\nhave babies together!$"
Debug_ShowExpansionVersion::
callnative BufferExpansionVersion
msgbox Debug_ExpansionVersion, MSGBOX_DEFAULT
release
end
Debug_ExpansionVersion:
.string "pokeemerald-expansion {STR_VAR_1}$"
Debug_BerryPestsDisabled::
msgbox DebugText_BerryPestsDisabled, MSGBOX_DEFAULT
release
end
DebugText_BerryPestsDisabled:
.string "OW_BERRY_PESTS is disabled.\n"
.string "Unable to force pests onto berry trees.$"
Debug_BerryWeedsDisabled::
msgbox DebugText_BerryWeedsDisabled, MSGBOX_DEFAULT
release
end
DebugText_BerryWeedsDisabled:
.string "OW_BERRY_WEEDS is disabled.\n"
.string "Unable to force weeds onto berry trees.$"
Debug_EventScript_InflictStatus1::
lockall
getpartysize
goto_if_eq VAR_RESULT, 0, Debug_NoPokemon
dynmultipush Debug_EventScript_InflictStatus1_Text_Single, 0
dynmultipush Debug_EventScript_InflictStatus1_Text_PartyWide, 1
dynmultipush Debug_EventScript_InflictStatus1_Text_Close, 2
dynmultistack 0, 0, FALSE, 3 FALSE, 0, NULL
switch VAR_RESULT
case 0, Debug_EventScript_InflictStatus1_Single
case 1, Debug_EventScript_InflictStatus1_Party
case 2, Debug_EventScript_InflictStatus1_Close
Debug_EventScript_InflictStatus1_Close:
releaseall
end
Debug_EventScript_InflictStatus1_Single:
special ChoosePartyMon
waitstate
goto_if_ge VAR_0x8004, PARTY_SIZE, Debug_EventScript_InflictStatus1_Close
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
goto_if_eq VAR_RESULT, SPECIES_EGG, Debug_EventScript_InflictStatus1_Close
dynmultipush Debug_EventScript_InflictStatus1_Text_Poison, 0
dynmultipush Debug_EventScript_InflictStatus1_Text_Paralysis, 1
dynmultipush Debug_EventScript_InflictStatus1_Text_Sleep, 2
dynmultipush Debug_EventScript_InflictStatus1_Text_Burn, 3
dynmultipush Debug_EventScript_InflictStatus1_Text_Freeze, 4
dynmultipush Debug_EventScript_InflictStatus1_Text_Frostbite, 5
dynmultipush Debug_EventScript_InflictStatus1_Text_Close, 6
dynmultistack 0, 0, FALSE, 7, FALSE, 0, NULL
switch VAR_RESULT
case 0, Debug_EventScript_InflictStatus1_Single_Poison
case 1, Debug_EventScript_InflictStatus1_Single_Paralysis
case 2, Debug_EventScript_InflictStatus1_Single_Sleep
case 3, Debug_EventScript_InflictStatus1_Single_Burn
case 4, Debug_EventScript_InflictStatus1_Single_Freeze
case 5, Debug_EventScript_InflictStatus1_Single_Frostbite
case 6, Debug_EventScript_InflictStatus1_Close
case MULTI_B_PRESSED, Debug_EventScript_InflictStatus1_Close
releaseall
end
Debug_EventScript_InflictStatus1_Single_Poison:
setstatus1 STATUS1_POISON, VAR_0x8004
releaseall
end
Debug_EventScript_InflictStatus1_Single_Paralysis:
setstatus1 STATUS1_PARALYSIS, VAR_0x8004
releaseall
end
Debug_EventScript_InflictStatus1_Single_Sleep:
setstatus1 STATUS1_SLEEP, VAR_0x8004
releaseall
end
Debug_EventScript_InflictStatus1_Single_Burn:
setstatus1 STATUS1_BURN, VAR_0x8004
releaseall
end
Debug_EventScript_InflictStatus1_Single_Freeze:
setstatus1 STATUS1_FREEZE, VAR_0x8004
releaseall
end
Debug_EventScript_InflictStatus1_Single_Frostbite:
setstatus1 STATUS1_FROSTBITE, VAR_0x8004
releaseall
end
Debug_EventScript_InflictStatus1_Party:
dynmultipush Debug_EventScript_InflictStatus1_Text_Poison, 0
dynmultipush Debug_EventScript_InflictStatus1_Text_Paralysis, 1
dynmultipush Debug_EventScript_InflictStatus1_Text_Sleep, 2
dynmultipush Debug_EventScript_InflictStatus1_Text_Burn, 3
dynmultipush Debug_EventScript_InflictStatus1_Text_Freeze, 4
dynmultipush Debug_EventScript_InflictStatus1_Text_Frostbite, 5
dynmultipush Debug_EventScript_InflictStatus1_Text_Close, 6
dynmultistack 0, 0, FALSE, 7, FALSE, 0, NULL
switch VAR_RESULT
case 0, Debug_EventScript_InflictStatus1_Party_Poison
case 1, Debug_EventScript_InflictStatus1_Party_Paralysis
case 2, Debug_EventScript_InflictStatus1_Party_Sleep
case 3, Debug_EventScript_InflictStatus1_Party_Burn
case 4, Debug_EventScript_InflictStatus1_Party_Freeze
case 5, Debug_EventScript_InflictStatus1_Party_Frostbite
case 6, Debug_EventScript_InflictStatus1_Close
case MULTI_B_PRESSED, Debug_EventScript_InflictStatus1_Close
releaseall
end
Debug_EventScript_InflictStatus1_Party_Poison:
setstatus1 STATUS1_POISON, PARTY_SIZE
releaseall
end
Debug_EventScript_InflictStatus1_Party_Paralysis:
setstatus1 STATUS1_PARALYSIS, PARTY_SIZE
releaseall
end
Debug_EventScript_InflictStatus1_Party_Sleep:
setstatus1 STATUS1_SLEEP, PARTY_SIZE
releaseall
end
Debug_EventScript_InflictStatus1_Party_Burn:
setstatus1 STATUS1_BURN, PARTY_SIZE
releaseall
end
Debug_EventScript_InflictStatus1_Party_Freeze:
setstatus1 STATUS1_FREEZE, PARTY_SIZE
releaseall
end
Debug_EventScript_InflictStatus1_Party_Frostbite:
setstatus1 STATUS1_FROSTBITE, PARTY_SIZE
releaseall
end
Debug_EventScript_InflictStatus1_Text_Single:
.string "Single$"
Debug_EventScript_InflictStatus1_Text_PartyWide:
.string "Party-wide$"
Debug_EventScript_InflictStatus1_Text_Close:
.string "Close$"
Debug_EventScript_InflictStatus1_Text_Poison:
.string "Poison$"
Debug_EventScript_InflictStatus1_Text_Paralysis:
.string "Paralysis$"
Debug_EventScript_InflictStatus1_Text_Sleep:
.string "Sleep$"
Debug_EventScript_InflictStatus1_Text_Burn:
.string "Burn$"
Debug_EventScript_InflictStatus1_Text_Freeze:
.string "Freeze$"
Debug_EventScript_InflictStatus1_Text_Frostbite:
.string "Frostbite$"
Debug_EventScript_EWRAMCounters::
callnative CheckEWRAMCounters
msgbox Debug_EventScript_EWRAMCounters_Text, MSGBOX_DEFAULT
release
end
Debug_EventScript_EWRAMCounters_Text::
.string "Follower Steps: {STR_VAR_1}.\n"
.string "Fishing Chain: {STR_VAR_2}.$"