mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-27 04:04:17 +01:00
removed default flags and added ingame warning if a function that requires them is used
This commit is contained in:
parent
367b12801e
commit
b4b3e84cbd
@ -38,10 +38,22 @@ Debug_CheatStart::
|
|||||||
setflag FLAG_HIDE_ROUTE_116_MR_BRINEY
|
setflag FLAG_HIDE_ROUTE_116_MR_BRINEY
|
||||||
clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
|
clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
|
||||||
clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
|
clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
|
||||||
closemessage
|
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Debug_FlagsNotSetMessage::
|
||||||
|
lockall
|
||||||
|
message Debug_FlagsNotSetMessage_Text
|
||||||
|
waitmessage
|
||||||
|
waitbuttonpress
|
||||||
|
releaseall
|
||||||
|
end
|
||||||
|
|
||||||
|
Debug_FlagsNotSetMessage_Text:
|
||||||
|
.string "Feature unavailable!\n"
|
||||||
|
.string "Please define a usable flag in:\l"
|
||||||
|
.string "'include/constants/debug{UNDERSCORE}config.h'!$"
|
||||||
|
|
||||||
Debug_Script_1::
|
Debug_Script_1::
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -138,8 +138,8 @@
|
|||||||
#define B_FLAG_INVERSE_BATTLE 0 // If this flag is set, the battle's type effectiveness are inversed. For example, fire is super effective against water.
|
#define B_FLAG_INVERSE_BATTLE 0 // If this flag is set, the battle's type effectiveness are inversed. For example, fire is super effective against water.
|
||||||
#define B_FLAG_FORCE_DOUBLE_WILD 0 // If this flag is set, all land and surfing wild battles will be double battles.
|
#define B_FLAG_FORCE_DOUBLE_WILD 0 // If this flag is set, all land and surfing wild battles will be double battles.
|
||||||
#define B_SMART_WILD_AI_FLAG 0 // If not 0, you can set this flag in a script to enable smart wild pokemon
|
#define B_SMART_WILD_AI_FLAG 0 // If not 0, you can set this flag in a script to enable smart wild pokemon
|
||||||
#define B_FLAG_NO_BAG_USE FLAG_UNUSED_0x023 // If this flag is set, the debug function in the Utility submenu to disable the bag in battle can be used.
|
#define B_FLAG_NO_BAG_USE 0 // If this flag is set, the debug function in the Utility submenu to disable the bag in battle can be used.
|
||||||
#define B_FLAG_NO_CATCHING FLAG_UNUSED_0x024 // If this flag is set, the debug function in the Utility submenu to disable catching of wild Pokémon can be used.
|
#define B_FLAG_NO_CATCHING 0 // If this flag is set, the debug function in the Utility submenu to disable catching of wild Pokémon can be used.
|
||||||
|
|
||||||
// Var Settings
|
// Var Settings
|
||||||
// To use the following features in scripting, replace the 0s with the var ID you're assigning it to.
|
// To use the following features in scripting, replace the 0s with the var ID you're assigning it to.
|
||||||
|
@ -41,12 +41,12 @@
|
|||||||
#define FLAG_TEMP_1F (TEMP_FLAGS_START + 0x1F)
|
#define FLAG_TEMP_1F (TEMP_FLAGS_START + 0x1F)
|
||||||
#define TEMP_FLAGS_END FLAG_TEMP_1F
|
#define TEMP_FLAGS_END FLAG_TEMP_1F
|
||||||
|
|
||||||
#define FLAG_UNUSED_0x020 0x20 // Unused Flag //Used for DEBUG functions, can be changed in "constants/battle_config.h"
|
#define FLAG_UNUSED_0x020 0x20 // Unused Flag
|
||||||
#define FLAG_UNUSED_0x021 0x21 // Unused Flag //Used for DEBUG functions, can be changed in "constants/battle_config.h"
|
#define FLAG_UNUSED_0x021 0x21 // Unused Flag
|
||||||
#define FLAG_UNUSED_0x022 0x22 // Unused Flag //Used for DEBUG functions, can be changed in "constants/battle_config.h"
|
#define FLAG_UNUSED_0x022 0x22 // Unused Flag
|
||||||
#define FLAG_UNUSED_0x023 0x23 // Unused Flag //Used for DEBUG functions, can be changed in "constants/battle_config.h"
|
#define FLAG_UNUSED_0x023 0x23 // Unused Flag
|
||||||
#define FLAG_UNUSED_0x024 0x24 // Unused Flag //Used for DEBUG functions, can be changed in "constants/battle_config.h"
|
#define FLAG_UNUSED_0x024 0x24 // Unused Flag
|
||||||
#define FLAG_UNUSED_0x025 0x25 // Unused Flag //Used for DEBUG functions, can be changed in "constants/battle_config.h"
|
#define FLAG_UNUSED_0x025 0x25 // Unused Flag
|
||||||
#define FLAG_UNUSED_0x026 0x26 // Unused Flag
|
#define FLAG_UNUSED_0x026 0x26 // Unused Flag
|
||||||
#define FLAG_UNUSED_0x027 0x27 // Unused Flag
|
#define FLAG_UNUSED_0x027 0x27 // Unused Flag
|
||||||
#define FLAG_UNUSED_0x028 0x28 // Unused Flag
|
#define FLAG_UNUSED_0x028 0x28 // Unused Flag
|
||||||
|
@ -6,9 +6,9 @@
|
|||||||
#define DEBUG_SYSTEM_IN_MENU FALSE // Replaces the overworld debug menu button combination with a start menu entry (replaces the exit entry).
|
#define DEBUG_SYSTEM_IN_MENU FALSE // Replaces the overworld debug menu button combination with a start menu entry (replaces the exit entry).
|
||||||
|
|
||||||
// Replace the used flags with others or disable with a 0
|
// Replace the used flags with others or disable with a 0
|
||||||
#define DEBUG_FLAG_NO_COLLISION FLAG_UNUSED_0x020 // If this flag is set, the debug function in the Utility submenu to disable player collision can be used.
|
#define DEBUG_FLAG_NO_COLLISION 0 // If this flag is set, the debug function in the Utility submenu to disable player collision can be used.
|
||||||
#define DEBUG_FLAG_NO_ENCOUNTER FLAG_UNUSED_0x021 // If this flag is set, the debug function in the Utility submenu to disable wild encounters can be used.
|
#define DEBUG_FLAG_NO_ENCOUNTER 0 // If this flag is set, the debug function in the Utility submenu to disable wild encounters can be used.
|
||||||
#define DEBUG_FLAG_NO_TRAINER_SEE FLAG_UNUSED_0x022 // If this flag is set, the debug function in the Utility submenu to disable battles with trainer can be used.
|
#define DEBUG_FLAG_NO_TRAINER_SEE 0 // If this flag is set, the debug function in the Utility submenu to disable battles with trainer can be used.
|
||||||
#define DEBUG_FLAG_PC_FROM_DEBUG_MENU FLAG_UNUSED_0x025 // If this flag is set, the debug function in debug menu to access the player PC works.
|
#define DEBUG_FLAG_PC_FROM_DEBUG_MENU 0 // If this flag is set, the debug function in debug menu to access the player PC works.
|
||||||
|
|
||||||
#endif // GUARD_CONSTANTS_OVERWORLD_CONFIG_H
|
#endif // GUARD_CONSTANTS_OVERWORLD_CONFIG_H
|
||||||
|
31
src/debug.c
31
src/debug.c
@ -271,6 +271,7 @@ static void DebugAction_Sound_MUS_SelectId(u8 taskId);
|
|||||||
static void DebugTask_HandleMenuInput(u8 taskId, void (*HandleInput)(u8));
|
static void DebugTask_HandleMenuInput(u8 taskId, void (*HandleInput)(u8));
|
||||||
static void DebugAction_OpenSubMenu(u8 taskId, struct ListMenuTemplate LMtemplate);
|
static void DebugAction_OpenSubMenu(u8 taskId, struct ListMenuTemplate LMtemplate);
|
||||||
|
|
||||||
|
extern u8 Debug_FlagsNotSetMessage[];
|
||||||
extern u8 Debug_Script_1[];
|
extern u8 Debug_Script_1[];
|
||||||
extern u8 Debug_Script_2[];
|
extern u8 Debug_Script_2[];
|
||||||
extern u8 Debug_Script_3[];
|
extern u8 Debug_Script_3[];
|
||||||
@ -1447,6 +1448,11 @@ static void DebugAction_Flags_ToggleFrontierPass(u8 taskId)
|
|||||||
}
|
}
|
||||||
static void DebugAction_Flags_CollisionOnOff(u8 taskId)
|
static void DebugAction_Flags_CollisionOnOff(u8 taskId)
|
||||||
{
|
{
|
||||||
|
#if DEBUG_FLAG_NO_COLLISION == 0
|
||||||
|
Debug_DestroyMenu(taskId);
|
||||||
|
LockPlayerFieldControls();
|
||||||
|
ScriptContext_SetupScript(Debug_FlagsNotSetMessage);
|
||||||
|
#else
|
||||||
if(FlagGet(DEBUG_FLAG_NO_COLLISION))
|
if(FlagGet(DEBUG_FLAG_NO_COLLISION))
|
||||||
{
|
{
|
||||||
FlagClear(DEBUG_FLAG_NO_COLLISION);
|
FlagClear(DEBUG_FLAG_NO_COLLISION);
|
||||||
@ -1455,9 +1461,15 @@ static void DebugAction_Flags_CollisionOnOff(u8 taskId)
|
|||||||
FlagSet(DEBUG_FLAG_NO_COLLISION);
|
FlagSet(DEBUG_FLAG_NO_COLLISION);
|
||||||
PlaySE(SE_PC_LOGIN);
|
PlaySE(SE_PC_LOGIN);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
static void DebugAction_Flags_EncounterOnOff(u8 taskId)
|
static void DebugAction_Flags_EncounterOnOff(u8 taskId)
|
||||||
{
|
{
|
||||||
|
#if DEBUG_FLAG_NO_ENCOUNTER == 0
|
||||||
|
Debug_DestroyMenu(taskId);
|
||||||
|
LockPlayerFieldControls();
|
||||||
|
ScriptContext_SetupScript(Debug_FlagsNotSetMessage);
|
||||||
|
#else
|
||||||
if(FlagGet(DEBUG_FLAG_NO_ENCOUNTER))
|
if(FlagGet(DEBUG_FLAG_NO_ENCOUNTER))
|
||||||
{
|
{
|
||||||
FlagClear(DEBUG_FLAG_NO_ENCOUNTER);
|
FlagClear(DEBUG_FLAG_NO_ENCOUNTER);
|
||||||
@ -1466,9 +1478,15 @@ static void DebugAction_Flags_EncounterOnOff(u8 taskId)
|
|||||||
FlagSet(DEBUG_FLAG_NO_ENCOUNTER);
|
FlagSet(DEBUG_FLAG_NO_ENCOUNTER);
|
||||||
PlaySE(SE_PC_LOGIN);
|
PlaySE(SE_PC_LOGIN);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
static void DebugAction_Flags_TrainerSeeOnOff(u8 taskId)
|
static void DebugAction_Flags_TrainerSeeOnOff(u8 taskId)
|
||||||
{
|
{
|
||||||
|
#if DEBUG_FLAG_NO_TRAINER_SEE == 0
|
||||||
|
Debug_DestroyMenu(taskId);
|
||||||
|
LockPlayerFieldControls();
|
||||||
|
ScriptContext_SetupScript(Debug_FlagsNotSetMessage);
|
||||||
|
#else
|
||||||
if(FlagGet(DEBUG_FLAG_NO_TRAINER_SEE))
|
if(FlagGet(DEBUG_FLAG_NO_TRAINER_SEE))
|
||||||
{
|
{
|
||||||
FlagClear(DEBUG_FLAG_NO_TRAINER_SEE);
|
FlagClear(DEBUG_FLAG_NO_TRAINER_SEE);
|
||||||
@ -1477,9 +1495,15 @@ static void DebugAction_Flags_TrainerSeeOnOff(u8 taskId)
|
|||||||
FlagSet(DEBUG_FLAG_NO_TRAINER_SEE);
|
FlagSet(DEBUG_FLAG_NO_TRAINER_SEE);
|
||||||
PlaySE(SE_PC_LOGIN);
|
PlaySE(SE_PC_LOGIN);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
static void DebugAction_Flags_BagUseOnOff(u8 taskId)
|
static void DebugAction_Flags_BagUseOnOff(u8 taskId)
|
||||||
{
|
{
|
||||||
|
#if B_FLAG_NO_BAG_USE == 0
|
||||||
|
Debug_DestroyMenu(taskId);
|
||||||
|
LockPlayerFieldControls();
|
||||||
|
ScriptContext_SetupScript(Debug_FlagsNotSetMessage);
|
||||||
|
#else
|
||||||
if(FlagGet(B_FLAG_NO_BAG_USE))
|
if(FlagGet(B_FLAG_NO_BAG_USE))
|
||||||
{
|
{
|
||||||
FlagClear(B_FLAG_NO_BAG_USE);
|
FlagClear(B_FLAG_NO_BAG_USE);
|
||||||
@ -1488,9 +1512,15 @@ static void DebugAction_Flags_BagUseOnOff(u8 taskId)
|
|||||||
FlagSet(B_FLAG_NO_BAG_USE);
|
FlagSet(B_FLAG_NO_BAG_USE);
|
||||||
PlaySE(SE_PC_LOGIN);
|
PlaySE(SE_PC_LOGIN);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
static void DebugAction_Flags_CatchingOnOff(u8 taskId)
|
static void DebugAction_Flags_CatchingOnOff(u8 taskId)
|
||||||
{
|
{
|
||||||
|
#if B_FLAG_NO_CATCHING_USE == 0
|
||||||
|
Debug_DestroyMenu(taskId);
|
||||||
|
LockPlayerFieldControls();
|
||||||
|
ScriptContext_SetupScript(Debug_FlagsNotSetMessage);
|
||||||
|
#else
|
||||||
if(FlagGet(B_FLAG_NO_CATCHING))
|
if(FlagGet(B_FLAG_NO_CATCHING))
|
||||||
{
|
{
|
||||||
FlagClear(B_FLAG_NO_CATCHING);
|
FlagClear(B_FLAG_NO_CATCHING);
|
||||||
@ -1499,6 +1529,7 @@ static void DebugAction_Flags_CatchingOnOff(u8 taskId)
|
|||||||
FlagSet(B_FLAG_NO_CATCHING);
|
FlagSet(B_FLAG_NO_CATCHING);
|
||||||
PlaySE(SE_PC_LOGIN);
|
PlaySE(SE_PC_LOGIN);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// *******************************
|
// *******************************
|
||||||
|
Loading…
Reference in New Issue
Block a user