From ea9a2c848a228d602a86ad8a64e57f56feb37357 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 11 Dec 2019 00:36:39 -0500 Subject: Define start and ends for temp vars and daily/temp/special flags --- src/event_data.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/event_data.c b/src/event_data.c index 9ef3e16ea..15ca47f7c 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -2,9 +2,15 @@ #include "event_data.h" #include "pokedex.h" -#define TEMP_FLAGS_SIZE 0x4 -#define DAILY_FLAGS_SIZE 0x8 -#define TEMP_VARS_SIZE 0x20 +#define NUM_SPECIAL_FLAGS (SPECIAL_FLAGS_END - SPECIAL_FLAGS_START + 1) +#define NUM_TEMP_FLAGS (TEMP_FLAGS_END - TEMP_FLAGS_START + 1) +#define NUM_DAILY_FLAGS (DAILY_FLAGS_END - DAILY_FLAGS_START + 1) +#define NUM_TEMP_VARS (TEMP_VARS_END - TEMP_VARS_START + 1) + +#define SPECIAL_FLAGS_SIZE (NUM_SPECIAL_FLAGS / 8) // 8 flags per byte +#define TEMP_FLAGS_SIZE (NUM_TEMP_FLAGS / 8) +#define DAILY_FLAGS_SIZE (NUM_DAILY_FLAGS / 8) +#define TEMP_VARS_SIZE (NUM_TEMP_VARS * 2) // 1/2 var per byte EWRAM_DATA u16 gSpecialVar_0x8000 = 0; EWRAM_DATA u16 gSpecialVar_0x8001 = 0; @@ -24,7 +30,7 @@ EWRAM_DATA u16 gSpecialVar_Facing = 0; EWRAM_DATA u16 gSpecialVar_MonBoxId = 0; EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0; EWRAM_DATA u16 gSpecialVar_Unused_0x8014 = 0; -EWRAM_DATA static u8 gSpecialFlags[16] = {0}; +EWRAM_DATA static u8 gSpecialFlags[SPECIAL_FLAGS_SIZE] = {0}; extern u16 *const gSpecialVars[]; @@ -37,8 +43,8 @@ void InitEventData(void) void ClearTempFieldEventData(void) { - memset(gSaveBlock1Ptr->flags, 0, TEMP_FLAGS_SIZE); - memset(gSaveBlock1Ptr->vars, 0, TEMP_VARS_SIZE); + memset(gSaveBlock1Ptr->flags + (TEMP_FLAGS_START / 8), 0, TEMP_FLAGS_SIZE); + memset(gSaveBlock1Ptr->vars + ((TEMP_VARS_START - VARS_START) * 2), 0, TEMP_VARS_SIZE); FlagClear(FLAG_SYS_ENC_UP_ITEM); FlagClear(FLAG_SYS_ENC_DOWN_ITEM); FlagClear(FLAG_SYS_USE_STRENGTH); -- cgit v1.2.3