documented volatile flag functions and enums and some Actor struct members

This commit is contained in:
mariob92
2024-09-08 12:22:27 +02:00
parent 347c3edcdf
commit 615e2bda33
111 changed files with 584 additions and 549 deletions

View File

@@ -14,7 +14,7 @@ extern void ml_vec3f_assign(f32[3], f32, f32, f32);
extern void func_802EE2E8(Actor *arg0, s32 arg1, s32 cnt, s32 arg3, f32 arg4, f32 arg5, f32 arg6);
extern void func_80319EA4(void);
extern void fileProgressFlag_set(s32, bool);
extern void func_803204E4(s32, bool);
extern void volatileFlag_set(s32, bool);
void func_802D3D54(Actor *this);
void func_802D3DA4(Actor *this);
@@ -137,17 +137,20 @@ void func_802D2FB0(Actor *this, s32 arg1, s32 arg2, s32 arg3, f32 arg4, s32 arg5
}
}
void func_802D3138(ActorMarker *marker, ActorMarker *other_marker){
if(marker->id == 0x224 || marker->id == 0x225){
// collision function if player shoots egg at spider webs
void func_802D3138(ActorMarker *marker, ActorMarker *other_marker) {
if(marker->id == MARKER_224_BREAKABLE_FLOOR_COBWEB || marker->id == MARKER_225_BREAKABLE_WALL_COBWEB) {
func_8025A70C(COMUSIC_2B_DING_B);
}
}
void func_802D317C(ActorMarker *marker, enum file_progress_e prog_flag_id){
// called from collision die function below, set according file flag and despawns object
void func_802D317C(ActorMarker *marker, enum file_progress_e prog_flag_id) {
fileProgressFlag_set(prog_flag_id, TRUE);
marker_despawn(marker);
}
// collision die function for several objects in Lair
void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
Actor *sp2C;
@@ -166,7 +169,7 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
FUNC_8030E624(SFX_82_METAL_BREAK, 0.6f, 32736);
func_802D2FB0(sp2C, 0x14, -0x1E, 0x190, 3.0f, 0x15E, 0x50, 0x96);
sp2C->unk60 = 1.0f;
fileProgressFlag_set(0xA5, 1);
fileProgressFlag_set(FILEPROG_A5_LAIR_CRYPT_GATE_OPEN, 1);
break;
case MARKER_109_BREAKABLE_BRICK_WALL:
@@ -261,21 +264,21 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
func_8030E540(SFX_D9_WOODEN_CRATE_BREAKING_1);
func_802EE2E8(sp2C, 7, 9, 0x78, 0.43f, 1.3f, 3.0f);
func_802EE2E8(sp2C, 3, 6, 0x78, 0.43f, 1.3f, 3.0f);
func_802D317C(arg0, 0xC5);
func_802D317C(arg0, FILEPROG_C5_RAREWARE_BOX_BROKEN);
break;
case 0x11A:
func_8030E540(SFX_82_METAL_BREAK);
func_802EE278(sp2C, 0xE, 0xD, 0x32, 0.8f, 0.9f);
func_802EE278(sp2C, 0xE, 0xD, 0xAA, 0.8f, 0.9f);
func_802D317C(arg0, 0xC2);
func_802D317C(arg0, FILEPROG_C2_GRATE_TO_RBB_PUZZLE_OPEN);
break;
case 0x118:
func_8030E540(SFX_82_METAL_BREAK);
func_802EE278(sp2C, 0xE, 0xD, 0x50, 1.2f, 0.9f);
func_802EE278(sp2C, 0xE, 0xD, 0xB4, 1.2f, 0.9f);
func_802D317C(arg0, 0xCD);
func_802D317C(arg0, FILEPROG_CD_GRATE_TO_WATER_SWITCH_3_OPEN);
break;
case 0x119:
@@ -283,7 +286,7 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
func_802EE278(sp2C, 0xE, 9, 0x50, 1.2f, 0.9f);
func_802EE278(sp2C, 0xE, 9, 0xAA, 1.2f, 0.9f);
func_802EE278(sp2C, 0xE, 9, 0x104, 1.2f, 0.9f);
func_802D317C(arg0, 0xCE);
func_802D317C(arg0, FILEPROG_CE_GRATE_TO_MMM_PUZZLE_OPEN);
break;
case 0x22D:
@@ -315,7 +318,7 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
func_802EE278(sp2C, 4, 0x32, 0x50, 1.0f, 1.4f);
func_802EE278(sp2C, 4, 0x32, 0xA0, 1.0f, 1.4f);
func_802EE278(sp2C, 4, 0x1E, 0xF0, 0.8f, 1.1f);
func_802D317C(arg0, 0xC3);
func_802D317C(arg0, FILEPROG_C3_ICE_BALL_TO_CHEATO_BROKEN);
break;
case MARKER_121_GLASS_EYE:
@@ -572,7 +575,7 @@ void func_802D4680(Actor *this){
if(func_80258640(this->position, sp1C) < 150.0f && func_8028F20C()){
if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){
if(map_get() == MAP_8E_GL_FURNACE_FUN){
func_803204E4(0, 0);
volatileFlag_set(0, 0);
func_802D4614(MAP_80_GL_FF_ENTRANCE);
}
else{
@@ -624,7 +627,7 @@ void func_802D4928(Actor *this, s32 arg1, s32 arg2, s32 arg3) {
this->marker->propPtr->unk8_3 = TRUE;
if( ( (((arg1 & 0xC00000) == 0) && mapSpecificFlags_get(arg1 - 0))
|| (((arg1 & 0xC00000) == 0x800000) && fileProgressFlag_get(arg1 - 0x800000))
|| (((arg1 & 0xC00000) == 0x400000) && func_803203FC(arg1 - 0x400000))
|| (((arg1 & 0xC00000) == 0x400000) && volatileFlag_get(arg1 - 0x400000))
)
&& (arg2 != this->state)
) {
@@ -633,7 +636,7 @@ void func_802D4928(Actor *this, s32 arg1, s32 arg2, s32 arg3) {
}
if( ( (((arg1 & 0xC00000) == 0) && !mapSpecificFlags_get(arg1 - 0))
|| (((arg1 & 0xC00000) == 0x800000) && !fileProgressFlag_get(arg1 - 0x800000))
|| (((arg1 & 0xC00000) == 0x400000) && !func_803203FC(arg1 - 0x400000))
|| (((arg1 & 0xC00000) == 0x400000) && !volatileFlag_get(arg1 - 0x400000))
)
&& (arg2 == this->state)
) {
@@ -652,10 +655,10 @@ void func_802D4AC0(Actor *this, s32 arg1, s32 arg2) {
fileProgressFlag_set(arg1 + 0xFF800000, 1);
}
if (arg1 & 0x400000) {
func_803204E4(arg1 + 0xFFC00000, 1);
volatileFlag_set(arg1 + 0xFFC00000, 1);
}
}
if( (((arg1 & 0x800000) && (fileProgressFlag_get(arg1 + 0xFF800000))) || ((arg1 & 0x400000) && (func_803203FC(arg1 + 0xFFC00000))))
if( (((arg1 & 0x800000) && (fileProgressFlag_get(arg1 + 0xFF800000))) || ((arg1 & 0x400000) && (volatileFlag_get(arg1 + 0xFFC00000))))
&& (fileProgressFlag_get(arg2)) && (this->animctrl == NULL)
) {
subaddie_set_state_with_direction(this, 8, 0.0f, 1);
@@ -761,7 +764,7 @@ void func_802D5000(enum map_e map_id){
}
void func_802D5058(enum map_e map_id, s32 arg1, bool arg2) {
func_803204E4(1, 1);
volatileFlag_set(1, 1);
D_80367684 = map_id;
D_80367688 = arg1;
if (arg2) {
@@ -784,7 +787,7 @@ void func_802D5058(enum map_e map_id, s32 arg1, bool arg2) {
void func_802D5140(ActorMarker *caller, enum asset_e text_id, s32 arg2){
itemscore_noteScores_get(func_80320424(0x19, 4));
itemscore_noteScores_get(volatileFlag_getN(0x19, 4));
}
void func_802D5178(s32 arg0, enum file_progress_e arg1, s32 arg2, enum map_e arg3, s32 arg4, s32 arg5, enum actor_e arg6, s32 arg7){
@@ -798,7 +801,7 @@ void func_802D5178(s32 arg0, enum file_progress_e arg1, s32 arg2, enum map_e arg
}
void func_802D520C(Gfx **gfx, Mtx **mtx, Vtx **vtx){
if(func_803203FC(1) && map_get() != MAP_8E_GL_FURNACE_FUN){
if(volatileFlag_get(VOLATILE_FLAG_1) && map_get() != MAP_8E_GL_FURNACE_FUN){
func_80319214(gfx, mtx, vtx);
}
}
@@ -1020,16 +1023,16 @@ void func_802D5628(void){
func_802D5178(0x24, 0x30, 0x37, MAP_79_GL_CCW_LOBBY, 0xF, 0xB, ACTOR_234_CCW_ENTRANCE_DOOR, 0xA);
func_802D5178(0x20, 0x2C, 0x38, MAP_6F_GL_FP_LOBBY, 0x11, 0xA, ACTOR_235_FP_ENTANCE_DOOR, 0xA);
func_802D5178(0x3F, 0xE2, 0x40, MAP_93_GL_DINGPOT, 0x10, 0xA, ACTOR_2E5_DOOR_OF_GRUNTY, 0x28);
if(func_803203FC(0x18)){
if(volatileFlag_get(0x18)){
if(!fileProgressFlag_get(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT)){
func_80311174(0xF75, 0xE, NULL, NULL, NULL, NULL, func_802D5140);
fileProgressFlag_set(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT, TRUE);
func_803204E4(0x18, 0);
volatileFlag_set(0x18, 0);
}
else{//L802D5DD8
if(!func_803203FC(0x16)){
if(!volatileFlag_get(0x16)){
func_80311174(0xF77, 0x4, NULL, NULL, NULL, NULL, func_802D5140);
func_803204E4(0x18, 0);
volatileFlag_set(0x18, 0);
}
}
}//L802D5E18
@@ -1042,7 +1045,7 @@ void func_802D5628(void){
&& !fileProgressFlag_get(FILEPROG_FC_DEFEAT_GRUNTY)
){
D_8037DE04 += time_getDelta();
if(D_80367680 < D_8037DE04 && !func_803203FC(0x16)){
if(D_80367680 < D_8037DE04 && !volatileFlag_get(0x16)){
if(fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)){
sp4C = 0xF9D;
}
@@ -1054,10 +1057,10 @@ void func_802D5628(void){
D_8037DE00 = randi2(0xF86, sp4C);
}//L802D5F1C
if(func_803203FC(0x22)){
if(volatileFlag_get(0x22)){
if(func_80311480(0xF82, 4, NULL, NULL, NULL, NULL)){
fileProgressFlag_set(FILEPROG_C1_BADDIES_ESCAPE_TEXT, TRUE);
func_803204E4(0x22, 0);
volatileFlag_set(0x22, 0);
D_8037DE04 = 0.0f;
D_80367680 += 60.0;
if(300.0 < D_80367680)
@@ -1109,7 +1112,7 @@ void func_802D6114(void){
if(map_getLevel(sp24) != map_getLevel(map_get())){
func_802E4A70();
}//L802D6194
func_803204E4(0x21, 1);
volatileFlag_set(0x21, 1);
if(sp24 != 0x1C || !func_8025ADBC(COMUSIC_23_MMM_INSIDE_CHURCH)){
func_803228D8();
}
@@ -1194,7 +1197,7 @@ void func_802D63D4(void){
default: //L802D6460
func_802BAFE4(D_80367688);
timedFuncQueue_update();
func_803204E4(0xbf, 0);
volatileFlag_set(0xbf, 0);
func_802D6750();
break;
}
@@ -1216,43 +1219,43 @@ void func_802D6494(void){
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
break;
case ACTOR_212_CC_ENTRANCE_BARS:// L802D6550
if(map_get() == MAP_70_GL_CC_LOBBY && !func_803203FC(UNKFLAGS1_7F_SANDCASTLE_OPEN_CC)){
if(map_get() == MAP_70_GL_CC_LOBBY && !volatileFlag_get(VOLATILE_FLAG_7F_SANDCASTLE_OPEN_CC)){
func_802D4830(actorArray_findActorFromActorId(ACTOR_212_CC_ENTRANCE_BARS), SFX_9A_MECHANICAL_CLOSING, 0.5f);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
case ACTOR_234_CCW_ENTRANCE_DOOR:// L802D65A0
if(map_get() == MAP_79_GL_CCW_LOBBY && !func_803203FC(UNKFLAGS1_93_SANDCASTLE_OPEN_CCW)){
if(map_get() == MAP_79_GL_CCW_LOBBY && !volatileFlag_get(VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW)){
func_802D485C(actorArray_findActorFromActorId(ACTOR_234_CCW_ENTRANCE_DOOR), SFX_3EC_CCW_DOOR_OPENING, 0.8f, 15000);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
case ACTOR_210_BGS_ENTRANCE_DOOR:// L802D65F8
if(!func_803203FC(0x84)){
if(!volatileFlag_get(0x84)){
FUNC_8030E624(SFX_6B_LOCKUP_OPENING, 0.6f, 32000);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
case ACTOR_235_FP_ENTANCE_DOOR:// L802D6624
if(map_get() == MAP_6F_GL_FP_LOBBY && !func_803203FC(UNKFLAGS1_8B_SANDCASTLE_OPEN_FP)){
if(map_get() == MAP_6F_GL_FP_LOBBY && !volatileFlag_get(VOLATILE_FLAG_8B_SANDCASTLE_OPEN_FP)){
func_802D4830(actorArray_findActorFromActorId(ACTOR_235_FP_ENTANCE_DOOR), SFX_18_BIGBUTT_SLIDE, 0.5f);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
case ACTOR_226_GV_ENTRANCE:// L802D6674
if(map_get() == MAP_6E_GL_GV_LOBBY && !func_803203FC(UNKFLAGS1_87_SANDCASTLE_OPEN_GV)){
if(map_get() == MAP_6E_GL_GV_LOBBY && !volatileFlag_get(VOLATILE_FLAG_87_SANDCASTLE_OPEN_GV)){
func_802D485C(actorArray_findActorFromActorId(ACTOR_226_GV_ENTRANCE), SFX_3EC_CCW_DOOR_OPENING, 0.8f, 15000);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
case ACTOR_228_MMM_ENTRANCE_DOOR:// L802D66CC
if(!func_803203FC(UNKFLAGS1_8C_SANDCASTLE_OPEN_MMM)){
if(!volatileFlag_get(VOLATILE_FLAG_8C_SANDCASTLE_OPEN_MMM)){
FUNC_8030E624(SFX_6B_LOCKUP_OPENING, 0.6f, 32000);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
case ACTOR_20F_RBB_ENTRANCE_DOOR:// L802D66F8
if(map_get() == MAP_77_GL_RBB_LOBBY && !func_803203FC(UNKFLAGS1_90_SANDCASTLE_OPEN_RBB)){
if(map_get() == MAP_77_GL_RBB_LOBBY && !volatileFlag_get(VOLATILE_FLAG_90_SANDCASTLE_OPEN_RBB)){
func_802D4830(actorArray_findActorFromActorId(ACTOR_20F_RBB_ENTRANCE_DOOR), SFX_9A_MECHANICAL_CLOSING, 0.5f);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
@@ -1311,14 +1314,14 @@ s32 func_802D683C(s32 arg0){
}
int func_802D686C(void){
if(func_803203FC(0x1E)){
if(volatileFlag_get(0x1E)){
return FALSE;
}
return map_get() == D_80367684;
}
int func_802D68B4(void){
return func_802D686C() || func_803203FC(0x21);
return func_802D686C() || volatileFlag_get(0x21);
}
//BREAK????