From d63eb47bf06bdd0cad08fa36fdf9ad0ba6b992ee Mon Sep 17 00:00:00 2001 From: Fexty12573 Date: Wed, 5 Jun 2024 19:42:41 +0200 Subject: [PATCH] VarsFlags cleanup --- src/unk_0203E880.c | 3 --- src/unk_020507CC.c | 16 ++++++---------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/unk_0203E880.c b/src/unk_0203E880.c index a3f45c6357..8cb3e495a6 100644 --- a/src/unk_0203E880.c +++ b/src/unk_0203E880.c @@ -116,10 +116,7 @@ void sub_0203F19C(FieldSystem * fieldSystem, u16 param1); void sub_0203F1B0(FieldSystem * fieldSystem, u16 param1); void FieldSystem_ClearLocalFlags(FieldSystem * fieldSystem); void sub_0203F1FC(FieldSystem * fieldSystem); -u16 Script_GetTrainerID(u16 param0); BOOL sub_0203F278(u16 param0); -BOOL Script_IsTrainerDoubleBattle(u16 param0); -BOOL Script_IsTrainerDefeated(FieldSystem * fieldSystem, u16 param1); void sub_0203F2BC(FieldSystem * fieldSystem, u16 param1); void sub_0203F2D8(FieldSystem * fieldSystem, u16 param1); u16 sub_0203F2F4(u16 param0); diff --git a/src/unk_020507CC.c b/src/unk_020507CC.c index 861e2d3bad..f67fcba50f 100644 --- a/src/unk_020507CC.c +++ b/src/unk_020507CC.c @@ -6,6 +6,9 @@ #include "savedata.h" #include "unk_020507CC.h" +#define GET_FLAG_BIT(idx, size) (1 << (idx % size)) +#define IS_FLAG_ON(chunk, idx) (*chunk & GET_FLAG_BIT(idx, 8 * sizeof(*chunk))) + typedef struct UnkStruct_020507E4_t { u16 unk_00[288]; u8 unk_240[364]; @@ -28,17 +31,10 @@ VarsFlags * SaveData_GetVarsFlags (SaveData * saveData) return (VarsFlags *)SaveData_SaveTable(saveData, 4); } -BOOL VarsFlags_IsFlagOn (VarsFlags * param0, u16 flag) +BOOL VarsFlags_IsFlagOn(VarsFlags * varflags, u16 flag) { - u8 * v0 = sub_02050870(param0, flag); - - if (v0 != NULL) { - if (*v0 & (1 << (flag % 8))) { - return TRUE; - } - } - - return FALSE; + u8 *chunk = sub_02050870(varflags, flag); + return chunk != NULL && IS_FLAG_ON(chunk, flag); } void sub_0205081C (VarsFlags * param0, u16 param1)