diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-31 14:37:24 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-31 14:37:24 -0400 |
commit | 0015d6fe2c6a53c5f757599122ae9fd1a156a69f (patch) | |
tree | 81b7269c767da1ad4a5a9ac01e58ead5e92f0983 /src/field/event_data.c | |
parent | 46bc01f0dd1a3435b3c6ce71e1be0d19b7aaa5bd (diff) | |
parent | 59f81c5f2a25ec77baf4a30c3da9ccb7675d1562 (diff) |
Merge branch 'master' into contest_link_80C2020
Diffstat (limited to 'src/field/event_data.c')
-rw-r--r-- | src/field/event_data.c | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/src/field/event_data.c b/src/field/event_data.c deleted file mode 100644 index 9d6d2372b..000000000 --- a/src/field/event_data.c +++ /dev/null @@ -1,182 +0,0 @@ -#include "global.h" -#include "event_data.h" -#include "pokedex.h" - -#define TEMP_FLAGS_SIZE 0x4 -#define DAILY_FLAGS_SIZE 0x8 -#define TEMP_VARS_SIZE 0x20 - -EWRAM_DATA u16 gSpecialVar_0x8000 = 0; -EWRAM_DATA u16 gSpecialVar_0x8001 = 0; -EWRAM_DATA u16 gSpecialVar_0x8002 = 0; -EWRAM_DATA u16 gSpecialVar_0x8003 = 0; -EWRAM_DATA u16 gSpecialVar_0x8004 = 0; -EWRAM_DATA u16 gSpecialVar_0x8005 = 0; -EWRAM_DATA u16 gSpecialVar_0x8006 = 0; -EWRAM_DATA u16 gSpecialVar_0x8007 = 0; -EWRAM_DATA u16 gSpecialVar_0x8008 = 0; -EWRAM_DATA u16 gSpecialVar_0x8009 = 0; -EWRAM_DATA u16 gSpecialVar_0x800A = 0; -EWRAM_DATA u16 gSpecialVar_0x800B = 0; -EWRAM_DATA u16 gSpecialVar_Result = 0; -EWRAM_DATA u16 gSpecialVar_LastTalked = 0; -EWRAM_DATA u16 gSpecialVar_Facing = 0; -EWRAM_DATA u8 gUnknown_0202E8E2[16] = {0}; - -extern u16 *gSpecialVars[]; - -void InitEventData(void) -{ - memset(gSaveBlock1.flags, 0, sizeof(gSaveBlock1.flags)); - memset(gSaveBlock1.vars, 0, sizeof(gSaveBlock1.vars)); - memset(gUnknown_0202E8E2, 0, sizeof(gUnknown_0202E8E2)); -} - -void ClearTempFieldEventData(void) -{ - memset(gSaveBlock1.flags, 0, TEMP_FLAGS_SIZE); - memset(gSaveBlock1.vars, 0, TEMP_VARS_SIZE); - FlagClear(FLAG_SYS_ENC_UP_ITEM); - FlagClear(FLAG_SYS_ENC_DOWN_ITEM); - FlagClear(FLAG_SYS_USE_STRENGTH); - FlagClear(FLAG_SYS_CTRL_OBJ_DELETE); -} - -// probably had different flag splits at one point. -void ClearDailyFlags(void) -{ - memset(gSaveBlock1.flags + (DAILY_FLAGS_START / 8), 0, DAILY_FLAGS_SIZE); -} - -void DisableNationalPokedex(void) -{ - u16 *nationalDexVar = GetVarPointer(VAR_NATIONAL_DEX); - gSaveBlock2.pokedex.nationalMagic = 0; - *nationalDexVar = 0; - FlagClear(FLAG_SYS_NATIONAL_DEX); -} - -void EnableNationalPokedex(void) -{ - u16 *nationalDexVar = GetVarPointer(VAR_NATIONAL_DEX); - gSaveBlock2.pokedex.nationalMagic = 0xDA; - *nationalDexVar = 0x302; - FlagSet(FLAG_SYS_NATIONAL_DEX); - gSaveBlock2.pokedex.unknown1 = 1; - gSaveBlock2.pokedex.order = 0; - sub_808C0A0(); -} - -bool32 IsNationalPokedexEnabled(void) -{ - if (gSaveBlock2.pokedex.nationalMagic == 0xDA && VarGet(VAR_NATIONAL_DEX) == 0x302 && FlagGet(FLAG_SYS_NATIONAL_DEX)) - return TRUE; - else - return FALSE; -} - -void DisableMysteryGift(void) -{ - FlagClear(FLAG_SYS_EXDATA_ENABLE); -} - -void EnableMysteryGift(void) -{ - FlagSet(FLAG_SYS_EXDATA_ENABLE); -} - -bool32 IsMysteryGiftEnabled(void) -{ - return FlagGet(FLAG_SYS_EXDATA_ENABLE); -} - -void DisableResetRTC(void) -{ - VarSet(VAR_RESET_RTC_ENABLE, 0); - FlagClear(FLAG_SYS_RESET_RTC_ENABLE); -} - -void EnableResetRTC(void) -{ - VarSet(VAR_RESET_RTC_ENABLE, 0x920); - FlagSet(FLAG_SYS_RESET_RTC_ENABLE); -} - -bool32 CanResetRTC(void) -{ - if (FlagGet(FLAG_SYS_RESET_RTC_ENABLE) && VarGet(VAR_RESET_RTC_ENABLE) == 0x920) - return TRUE; - else - return FALSE; -} - -u16 *GetVarPointer(u16 id) -{ - if (id < VARS_START) - return NULL; - if (id < 0x8000) - return &gSaveBlock1.vars[id - VARS_START]; - return gSpecialVars[id - 0x8000]; -} - -u16 VarGet(u16 id) -{ - u16 *ptr = GetVarPointer(id); - if (!ptr) - return id; - return *ptr; -} - -bool8 VarSet(u16 id, u16 value) -{ - u16 *ptr = GetVarPointer(id); - if (!ptr) - return FALSE; - *ptr = value; - return TRUE; -} - -u8 VarGetFieldObjectGraphicsId(u8 id) -{ - return VarGet(VAR_OBJ_GFX_ID_0 + id); -} - -u8 *GetFlagPointer(u16 id) -{ - if (id == 0) - return 0; - - if (id < 0x4000) - return &gSaveBlock1.flags[id / 8]; - - return &gUnknown_0202E8E2[(id - 0x4000) / 8]; -} - -u8 FlagSet(u16 id) -{ - u8 *ptr = GetFlagPointer(id); - if (ptr) - *ptr |= 1 << (id & 7); - return 0; -} - -u8 FlagClear(u16 id) -{ - u8 *ptr = GetFlagPointer(id); - if (ptr) - *ptr &= ~(1 << (id & 7)); - return 0; -} - -bool8 FlagGet(u16 id) -{ - u8 *ptr = GetFlagPointer(id); - - if (!ptr) - return FALSE; - - if (!(((*ptr) >> (id & 7)) & 1)) - return FALSE; - - return TRUE; -} |