mirror of https://github.com/zeldaret/mm.git
EnvFlags OK (#404)
* Matched * Remove magic number * Rename system to EnvFlags
This commit is contained in:
parent
2907da61c3
commit
49f55ff005
|
@ -1652,10 +1652,10 @@ void func_800F0590(GlobalContext* globalCtx, Vec3f* arg1, s32 arg2, s32 arg3);
|
|||
// void func_800F10AC(void);
|
||||
// void func_800F112C(void);
|
||||
u16 Text_GetFaceReaction(GlobalContext* globalCtx, u32 reactionSet);
|
||||
void func_800F12D0(GlobalContext* globalCtx);
|
||||
void func_800F1304(GlobalContext* globalCtx, s16 param_2);
|
||||
void func_800F1374(s32 param_1, s16 param_2);
|
||||
s16 func_800F13E8(GlobalContext* globalCtx, s16 param_2);
|
||||
void EnvFlags_UnsetAll(GlobalContext* globalCtx);
|
||||
void EnvFlags_Set(GlobalContext* globalCtx, s16 flag);
|
||||
void EnvFlags_Unset(GlobalContext* globalCtx, s16 flag);
|
||||
s32 EnvFlags_Get(GlobalContext* globalCtx, s16 flag);
|
||||
s16 func_800F1460(s16 param_1);
|
||||
ActorCutscene* ActorCutscene_GetCutsceneImpl(s16 index);
|
||||
void ActorCutscene_Init(GlobalContext* globalCtx, ActorCutscene* cutscenes, s32 num);
|
||||
|
|
2
spec
2
spec
|
@ -483,7 +483,7 @@ beginseg
|
|||
include "build/src/code/code_800F07C0.o"
|
||||
include "build/data/code/code_801BC2A0.data.o"
|
||||
include "build/src/code/z_face_reaction.o"
|
||||
include "build/src/code/code_800F12D0.o"
|
||||
include "build/src/code/z_env_flags.o"
|
||||
include "build/src/code/z_eventmgr.o"
|
||||
include "build/data/code/z_eventmgr.bss.o"
|
||||
include "build/src/code/z_fcurve_data.o"
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F12D0/func_800F12D0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F12D0/func_800F1304.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F12D0/func_800F1374.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F12D0/func_800F13E8.s")
|
|
@ -0,0 +1,33 @@
|
|||
#include "global.h"
|
||||
|
||||
void EnvFlags_UnsetAll(GlobalContext* globalCtx) {
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(globalCtx->envFlags); i++) {
|
||||
globalCtx->envFlags[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void EnvFlags_Set(GlobalContext* globalCtx, s16 flag) {
|
||||
s16 index = flag / 16;
|
||||
s16 bit = flag % 16;
|
||||
s16 mask = 1 << bit;
|
||||
|
||||
globalCtx->envFlags[index] |= mask;
|
||||
}
|
||||
|
||||
void EnvFlags_Unset(GlobalContext* globalCtx, s16 flag) {
|
||||
s16 index = flag / 16;
|
||||
s16 bit = flag % 16;
|
||||
s16 mask = (1 << bit) ^ 0xFFFF;
|
||||
|
||||
globalCtx->envFlags[index] &= mask;
|
||||
}
|
||||
|
||||
s32 EnvFlags_Get(GlobalContext* globalCtx, s16 flag) {
|
||||
s16 index = flag / 16;
|
||||
s16 bit = flag % 16;
|
||||
s16 mask = 1 << bit;
|
||||
|
||||
return globalCtx->envFlags[index] & mask;
|
||||
}
|
|
@ -98,7 +98,7 @@ void DoorAna_WaitClosed(DoorAna* this, GlobalContext* globalCtx) {
|
|||
|
||||
if (grottoType == DOORANA_TYPE_UNK) {
|
||||
// in OOT decomp its marked as open with storms, but does not seem to open with storms in MM
|
||||
if ((this->actor.xyzDistToPlayerSq < 40000.0f) && (func_800F13E8(globalCtx, 5))) {
|
||||
if ((this->actor.xyzDistToPlayerSq < 40000.0f) && (EnvFlags_Get(globalCtx, 5))) {
|
||||
grottoIsOpen = 1;
|
||||
this->actor.flags &= ~0x10; // always update OFF
|
||||
}
|
||||
|
|
|
@ -379,7 +379,7 @@
|
|||
0x800F05C0 : "z_elf_message",
|
||||
0x800F07C0 : "code_800F07C0",
|
||||
0x800F1250 : "z_face_reaction",
|
||||
0x800F12D0 : "code_800F12D0",
|
||||
0x800F12D0 : "z_env_flags",
|
||||
0x800F1460 : "z_eventmgr",
|
||||
0x800F23E0 : "z_fcurve_data",
|
||||
0x800F2620 : "z_fcurve_data_skelanime",
|
||||
|
|
|
@ -1632,10 +1632,10 @@
|
|||
0x800F10AC:("func_800F10AC",),
|
||||
0x800F112C:("func_800F112C",),
|
||||
0x800F1250:("Text_GetFaceReaction",),
|
||||
0x800F12D0:("func_800F12D0",),
|
||||
0x800F1304:("func_800F1304",),
|
||||
0x800F1374:("func_800F1374",),
|
||||
0x800F13E8:("func_800F13E8",),
|
||||
0x800F12D0:("EnvFlags_UnsetAll",),
|
||||
0x800F1304:("EnvFlags_Set",),
|
||||
0x800F1374:("EnvFlags_Unset",),
|
||||
0x800F13E8:("EnvFlags_Get",),
|
||||
0x800F1460:("func_800F1460",),
|
||||
0x800F14F8:("ActorCutscene_GetCutsceneImpl",),
|
||||
0x800F1544:("ActorCutscene_Init",),
|
||||
|
|
Loading…
Reference in New Issue