pokeplatinum/include/vars_flags.h
Eduardo Quezada 6ef937a8eb
Define and use Var constants (#474)
* Missing uses of defined vars

* Vars 0x4000 to 0x402F with Var macros

* Vars 0x4000 to 0x402F with other macros

^ Conflicts:
^	res/field/scripts/scripts_amity_square.s
^	res/field/scripts/scripts_veilstone_city_southwest_house.s

* Other vars

* Special Flags

* Unk vars

* NUM_VARS

* `SPECIAL_VARS_START` -> `SCRIPT_LOCAL_VARS_START`

* `VAR_0x800C` -> `VAR_RESULT`

* `VAR_0x800D` -> `VAR_LAST_TALKED`

* Format

* VAR_MAP_LOCAL

* VAR_OBJ_GFX_ID

* STORY_VARS
2025-04-20 17:38:03 -07:00

27 lines
751 B
C

#ifndef POKEPLATINUM_VARS_FLAGS_H
#define POKEPLATINUM_VARS_FLAGS_H
#include "constants/savedata/vars_flags.h"
#include "savedata.h"
#define NUM_FLAGS 2912
#define NUM_UNKNOWN_FLAGS 64
typedef struct VarsFlags {
u16 vars[NUM_VARS];
u8 flags[NUM_FLAGS / 8];
} VarsFlags;
int VarsFlags_SaveSize(void);
void VarsFlags_Init(VarsFlags *varsFlags);
VarsFlags *SaveData_GetVarsFlags(SaveData *saveData);
BOOL VarsFlags_CheckFlag(VarsFlags *varsFlags, u16 flagID);
void VarsFlags_SetFlag(VarsFlags *varsFlags, u16 flagID);
void VarsFlags_ClearFlag(VarsFlags *varsFlags, u16 flagID);
u8 *VarsFlags_GetFlagChunk(VarsFlags *varsFlags, u16 flagID);
u16 *VarsFlags_GetVarAddress(VarsFlags *varsFlags, u16 varID);
#endif // POKEPLATINUM_VARS_FLAGS_H