file_progress_e documentation
This commit is contained in:
@@ -8,16 +8,16 @@ typedef struct {
|
||||
s32 unk0;
|
||||
} ActorLocal_lair_5640;
|
||||
|
||||
void func_8038BCF0(Actor *this);
|
||||
void chBrentilda_update(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorAnimationInfo D_80393710[] ={
|
||||
ActorAnimationInfo chBrentildaAnimations[] ={
|
||||
{0, 0.0f},
|
||||
{0x26B, 4.0f},
|
||||
{0x26C, 4.0f},
|
||||
{0x26B, 4.0f},
|
||||
};
|
||||
ActorInfo D_80393730 = { 0x1E0, 0x348, 0x539, 0x1, D_80393710, func_8038BCF0, func_80326224, func_80325888, 2000, 0, 2.0f, 0};
|
||||
ActorInfo chBrentilda = { 0x1E0, 0x348, 0x539, 0x1, chBrentildaAnimations, chBrentilda_update, func_80326224, func_80325888, 2000, 0, 2.0f, 0};
|
||||
|
||||
/* .code */
|
||||
void func_8038BA30(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
@@ -34,7 +34,7 @@ void lair_func_8038BA88(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
|
||||
this = marker_getActor(marker);
|
||||
item_set(ITEM_14_HEALTH, item_getCount(ITEM_15_HEALTH_TOTAL));
|
||||
func_80320004(this->unkF4_8 + 0xE8, TRUE);
|
||||
fileProgressFlag_set(this->unkF4_8 - 1 + FILEPROG_E9_TALKED_TO_BRENTILDA_1, TRUE);
|
||||
}
|
||||
|
||||
void func_8038BADC(ActorMarker *marker, enum asset_e text_id, s32 arg2) {
|
||||
@@ -42,7 +42,7 @@ void func_8038BADC(ActorMarker *marker, enum asset_e text_id, s32 arg2) {
|
||||
|
||||
this = marker_getActor(marker);
|
||||
if (text_id == ((ActorLocal_lair_5640 *)&this->local)->unk0 + 2) {
|
||||
if (!func_8031FF1C(this->unkF4_8 + 0xE8)) {
|
||||
if (!fileProgressFlag_get(this->unkF4_8 - 1 + FILEPROG_E9_TALKED_TO_BRENTILDA_1)) {
|
||||
if (item_getCount(ITEM_14_HEALTH) < item_getCount(ITEM_15_HEALTH_TOTAL)) {
|
||||
func_80311480(0x10A2, 0xF, this->position, this->marker, func_8038BADC, lair_func_8038BA88);
|
||||
return;
|
||||
@@ -68,8 +68,8 @@ void func_8038BC24(void) {
|
||||
s32 phi_s0;
|
||||
s32 phi_s1;
|
||||
|
||||
if (func_8031FF1C(0x5C) && !func_803203FC(0x62)) {
|
||||
func_8034A8BC(func_8031FF44(0xD3, 8));
|
||||
if (fileProgressFlag_get(FILEPROG_5C_FF_PATTERN_SET) && !func_803203FC(0x62)) {
|
||||
func_8034A8BC(fileProgressFlag_getN(FILEPROG_D3_FF_PATTERN, 8));
|
||||
for(phi_s1 = 0; phi_s1 < func_8031A45C(3); phi_s1++){
|
||||
phi_s0 = 0x26 + 2*phi_s1;
|
||||
temp_v0 = randi2(0, 3);
|
||||
@@ -84,7 +84,7 @@ void func_8038BC24(void) {
|
||||
}
|
||||
|
||||
|
||||
void func_8038BCF0(Actor *this) {
|
||||
void chBrentilda_update(Actor *this) {
|
||||
s32 sp78[6];
|
||||
s32 sp74;
|
||||
ActorLocal_lair_5640 *local;
|
||||
@@ -100,9 +100,9 @@ void func_8038BCF0(Actor *this) {
|
||||
marker_setFreeMethod(this->marker, func_8038BBC0);
|
||||
actor_collisionOff(this);
|
||||
this->unk10_12 = 2;
|
||||
if (!func_8031FF1C(0x5C)) {
|
||||
func_80320044(0xD3, randi2(0, 0x100), 8);
|
||||
func_80320004(0x5C, TRUE);
|
||||
if (!fileProgressFlag_get(FILEPROG_5C_FF_PATTERN_SET)) {
|
||||
fileProgressFlag_setN(FILEPROG_D3_FF_PATTERN, randi2(0, 0x100), 8);
|
||||
fileProgressFlag_set(FILEPROG_5C_FF_PATTERN_SET, TRUE);
|
||||
}
|
||||
func_8038BC24();
|
||||
actor_setOpacity(this, 0x40);
|
||||
@@ -178,9 +178,9 @@ void func_8038BCF0(Actor *this) {
|
||||
&& (func_8028ECAC() == 0)
|
||||
&& func_8028F20C()
|
||||
&& !func_803114B0()) {
|
||||
if (!func_8031FF1C(0x96)) {
|
||||
func_80311480(0x10A1, 0xA, this->position, this->marker, func_8038BADC, NULL);
|
||||
func_80320004(0x96, TRUE);
|
||||
if (!fileProgressFlag_get(FILEPROG_96_MET_BRENTILDA)) {
|
||||
func_80311480(ASSET_10A1_DIALOG_BRENTILDA_MEET, 0xA, this->position, this->marker, func_8038BADC, NULL);
|
||||
fileProgressFlag_set(FILEPROG_96_MET_BRENTILDA, TRUE);
|
||||
func_80328A84(this, 2);
|
||||
return;
|
||||
}
|
@@ -20,8 +20,8 @@ extern void *func_8034C2C4(ActorMarker *, s32);
|
||||
|
||||
|
||||
|
||||
void lair_func_803863F0(Actor *this);
|
||||
void lair_func_803864B0(Actor *this);
|
||||
void chFloorCobweb_update(Actor *this);
|
||||
void chWallCobweb_update(Actor *this);
|
||||
void lair_func_80386550(Actor *this);
|
||||
Actor *func_8038664C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
void func_80386D78(Actor *this);
|
||||
@@ -64,7 +64,7 @@ extern ActorInfo D_80393560;
|
||||
extern ActorInfo D_80393584;
|
||||
extern ActorInfo D_803947B0;
|
||||
extern ActorInfo D_803947D4;
|
||||
extern ActorInfo D_80393730;
|
||||
extern ActorInfo chBrentilda;
|
||||
extern ActorInfo D_80394A80;
|
||||
extern ActorInfo D_80394AB0;
|
||||
extern ActorInfo D_80394870;
|
||||
@@ -125,10 +125,10 @@ ActorInfo D_80392E68 = { 0x11D, 0x223, 0x4B0, 0x1, D_80392CB0, func_80389784, fu
|
||||
ActorInfo D_80392E8C = { 0x232, 0x23C, 0x4B8, 0x1, D_80392CB0, func_803897AC, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80392EB0 = { 0x23F, 0x246, 0x534, 0x1, D_80392CB0, func_80386D20, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80392ED4 = { 0x241, 0x248, 0x540, 0x1, D_80392CB0, func_80386780, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80392EF8 = { 0x109, 0x20D, 0x4A1, 0x1, D_80392CB0, lair_func_80386550, func_80326224, func_80325888, 0, 0, 0.0f, 0x85};
|
||||
ActorInfo D_80392EF8 = { MARKER_109_BREAKABLE_BRICK_WALL, ACTOR_20D_BREAKABLE_BRICK_WALL, ASSET_4A1_MODEL_BREAKABLE_BRICK_WALL, 0x1, D_80392CB0, lair_func_80386550, func_80326224, func_80325888, 0, 0, 0.0f, 0x85};
|
||||
ActorInfo D_80392F1C = { 0x264, 0x2E5, 0x550, 0x19, D_80392CB0, func_80388524, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80392F40 = { 0x224, 0x230, 0x4BF, 0xB, D_80392CB0, lair_func_803863F0, func_80326224, func_80325888, 0, 0, 0.0f, 0x88};
|
||||
ActorInfo D_80392F64 = { 0x225, 0x231, 0x4D5, 0xE, D_80392CB0, lair_func_803864B0, func_80326224, func_80325888, 0, 0, 0.0f, 0x88};
|
||||
ActorInfo D_80392F40 = { MARKER_224_BREAKABLE_FLOOR_COBWEB, ACTOR_230_BREAKABLE_FLOOR_COBWEB, ASSET_4BF_MODEL_FLOOR_COBWEB, 0xB, D_80392CB0, chFloorCobweb_update, func_80326224, func_80325888, 0, 0, 0.0f, 0x88};
|
||||
ActorInfo D_80392F64 = { MARKER_225_BREAKABLE_WALL_COBWEB, ACTOR_231_BREAKABLE_WALL_COBWEB, ASSET_4D5_MODEL_WALL_COBWEB, 0xE, D_80392CB0, chWallCobweb_update, func_80326224, func_80325888, 0, 0, 0.0f, 0x88};
|
||||
ActorInfo D_80392F88 = { 0x111, 0x215, 0x4A4, 0x1, NULL, func_80388FC8, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80392FAC = { 0x112, 0x216, 0x4A5, 0x1, NULL, func_80388FC8, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80392FD0 = { 0x114, 0x218, 0x4A6, 0x1, NULL, lair_func_80389204, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
|
||||
@@ -152,7 +152,7 @@ ActorInfo D_80393234 = { 0x10B, 0x20F, 0x4B4, 0x1, NULL, func_80388524, func_803
|
||||
ActorInfo D_80393258 = { 0x10C, 0x210, 0x4AE, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x84};
|
||||
ActorInfo D_8039327C = { 0x10E, 0x212, 0x4A7, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x7F};
|
||||
ActorInfo D_803932A0 = { 0x120, 0x226, 0x4BC, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x87};
|
||||
ActorInfo D_803932C4 = { 0x122, 0x228, 0x4BE, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8C};
|
||||
ActorInfo D_803932C4 = { 0x122, ACTOR_228_MMM_ENTRANCE_DOOR, 0x4BE, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8C};
|
||||
ActorInfo D_803932E8 = { 0x10F, 0x213, 0x4A8, 0x1, NULL, func_803875F0, func_80326224, func_80325E78, 0, 0, 0.0f, 0x80};
|
||||
ActorInfo D_8039330C = { 0x118, 0x21E, 0x4B1, 0x1, NULL, lair_func_8038A084, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8F};
|
||||
ActorInfo D_80393330 = { 0x119, 0x21F, 0x4B6, 0x1, NULL, func_8038A0A4, func_80326224, func_80325E78, 0, 0, 0.0f, 0x92};
|
||||
@@ -170,15 +170,15 @@ struct31s D_8039342C = {
|
||||
0.0f, 0.0f
|
||||
};
|
||||
s16 D_80393454[] = {
|
||||
BKPROG_31_MM_OPEN,
|
||||
BKPROG_32_TTC_OPEN,
|
||||
BKPROG_33_CC_OPEN,
|
||||
BKPROG_34_BGS_OPEN,
|
||||
BKPROG_35_FP_OPEN,
|
||||
BKPROG_36_GV_OPEN,
|
||||
BKPROG_37_MMM_OPEN,
|
||||
BKPROG_38_RBB_OPEN,
|
||||
BKPROG_39_CCW_OPEN,
|
||||
FILEPROG_31_MM_OPEN,
|
||||
FILEPROG_32_TTC_OPEN,
|
||||
FILEPROG_33_CC_OPEN,
|
||||
FILEPROG_34_BGS_OPEN,
|
||||
FILEPROG_35_FP_OPEN,
|
||||
FILEPROG_36_GV_OPEN,
|
||||
FILEPROG_37_MMM_OPEN,
|
||||
FILEPROG_38_RBB_OPEN,
|
||||
FILEPROG_39_CCW_OPEN,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -214,13 +214,13 @@ s32 D_80393504[4] = {0x87, 0x87, 0x87, 0xB4};
|
||||
|
||||
|
||||
//chcobweb
|
||||
void lair_func_803863F0(Actor *this)
|
||||
void chFloorCobweb_update(Actor *this)
|
||||
{
|
||||
if(!this->initialized)
|
||||
{
|
||||
func_802D3CE8(this);
|
||||
|
||||
if (func_8031FF1C(this->unkF4_8 == 1 ? 0xCB : 0xCC))
|
||||
if (fileProgressFlag_get(this->unkF4_8 == 1 ? FILEPROG_CB_LAIR_COBWEB_OVER_FLIGHTPAD_BROKEN : FILEPROG_CC_LAIR_COBWEB_OVER_GREEN_CAULDRON_BROKEN))
|
||||
{
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
@@ -238,13 +238,13 @@ void lair_func_803863F0(Actor *this)
|
||||
}
|
||||
|
||||
//chbigyellowcobweb
|
||||
void lair_func_803864B0(Actor *this)
|
||||
void chWallCobweb_update(Actor *this)
|
||||
{
|
||||
if (!this->initialized)
|
||||
{
|
||||
func_802D3CE8(this);
|
||||
|
||||
if (func_8031FF1C(0xCA))
|
||||
if (fileProgressFlag_get(FILEPROG_CA_COBWEB_BLOCKING_PURPLE_CAULDRON_BROKEN))
|
||||
{
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
@@ -267,7 +267,7 @@ void lair_func_80386550(Actor *this)
|
||||
{
|
||||
func_802D3CE8(this);
|
||||
|
||||
if (func_8031FF1C(this->unkF4_8 == 1 ? 0xC8 : 0xC9))
|
||||
if (fileProgressFlag_get(this->unkF4_8 == 1 ? FILEPROG_C8_LAIR_BRICKWALL_TO_WADINGBOOTS_BROKEN : FILEPROG_C9_LAIR_BRICKWALL_TO_SHOCKJUMP_PAD_BROKEN))
|
||||
{
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
@@ -334,7 +334,7 @@ ParticleEmitter *func_803866D8(s32 a0)
|
||||
|
||||
void func_80386780(Actor *this)
|
||||
{
|
||||
func_802D4AC0(this, 0x8000C6, 0xC7);
|
||||
func_802D4AC0(this, 0x800000 | FILEPROG_C6_LAIR_JUMP_PAD_SWITCH_PRESSED, FILEPROG_C7_LAIR_JUMP_PAD_ACTIVE);
|
||||
}
|
||||
|
||||
void func_803867A8(Actor *this) {
|
||||
@@ -365,8 +365,8 @@ void func_803867A8(Actor *this) {
|
||||
this->unk158[1] = func_803866D8(1);
|
||||
if (func_803203FC(0x86)) {
|
||||
ability_unlock(ABILITY_D_SHOCK_JUMP);
|
||||
func_80320004(0xC6, TRUE);
|
||||
func_80320004(0xC7, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_C6_LAIR_JUMP_PAD_SWITCH_PRESSED, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_C7_LAIR_JUMP_PAD_ACTIVE, TRUE);
|
||||
}
|
||||
}
|
||||
if ((this->unk1C[1] - 150.0f) <= this->position[1]) {
|
||||
@@ -424,10 +424,10 @@ void func_803867A8(Actor *this) {
|
||||
particleEmitter_emitN(sp44, 1);
|
||||
}
|
||||
}
|
||||
} else if (func_8031FF1C(0xC6)) {
|
||||
} else if (fileProgressFlag_get(FILEPROG_C6_LAIR_JUMP_PAD_SWITCH_PRESSED)) {
|
||||
this->position_y = this->unk1C[1];
|
||||
|
||||
if (func_8031FF1C(0xC7)) {
|
||||
if (fileProgressFlag_get(FILEPROG_C7_LAIR_JUMP_PAD_ACTIVE)) {
|
||||
this->unk38_31 = 0;
|
||||
this->alpha_124_19 = 0xFF;
|
||||
}
|
||||
@@ -525,7 +525,7 @@ void func_803870DC(Actor *this) {
|
||||
f32 sp64[3];
|
||||
s32 temp_s7;
|
||||
|
||||
phi_v1 = func_8031FF1C(D_80393454[this->unkF4_8 - 1])
|
||||
phi_v1 = fileProgressFlag_get(D_80393454[this->unkF4_8 - 1])
|
||||
|| (D_80393468[this->unkF4_8 - 1] != 0 && func_803203FC(D_80393468[this->unkF4_8 - 1]));
|
||||
|
||||
if (!this->unk16C_4) {
|
||||
@@ -605,7 +605,7 @@ void func_803875F0(Actor * this)
|
||||
|
||||
if (!this->unk16C_4)
|
||||
{
|
||||
if (func_8031FF1C(0x1E))
|
||||
if (fileProgressFlag_get(FILEPROG_1E_LAIR_GRATE_TO_BGS_PUZZLE_OPEN))
|
||||
{
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
@@ -615,7 +615,7 @@ void func_803875F0(Actor * this)
|
||||
{
|
||||
this->unk1C_y = this->position_y;
|
||||
func_802BAFE4(0x2A);
|
||||
func_80320004(0x1E, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_1E_LAIR_GRATE_TO_BGS_PUZZLE_OPEN, TRUE);
|
||||
this->unk16C_4 = TRUE;
|
||||
this->unk38_31 = 0x0C;
|
||||
}
|
||||
@@ -663,7 +663,7 @@ void func_80387730(Actor *this) {
|
||||
this->alpha_124_19 = 0xFF;
|
||||
this->unk1C[1] = 0.0f;
|
||||
this->unk1C[2] = 3.5f;
|
||||
if (func_8031FF1C(this->unkF4_8 + 0x39)) {
|
||||
if (fileProgressFlag_get(this->unkF4_8 + 0x39)) {
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
}
|
||||
@@ -682,7 +682,7 @@ void func_80387730(Actor *this) {
|
||||
this->unk1C[1] = 0.0f;
|
||||
this->unk1C[2] = 3.5f;
|
||||
}
|
||||
if (!func_8031FF1C(this->unkF4_8 + 0x39) && ability_isUnlocked(ABILITY_13_1ST_NOTEDOOR)) {
|
||||
if (!fileProgressFlag_get(this->unkF4_8 + 0x39) && ability_isUnlocked(ABILITY_13_1ST_NOTEDOOR)) {
|
||||
player_getPosition(spAC);
|
||||
if ((ml_distance_vec3f(spAC, this->position) < 500.0f) && (func_803114C4() != 0xF64)) {
|
||||
func_802FACA4(0xC);
|
||||
@@ -712,7 +712,7 @@ void func_80387730(Actor *this) {
|
||||
this->alpha_124_19 -= 7;
|
||||
}
|
||||
if (this->alpha_124_19 == 0) {
|
||||
func_80320004(this->unkF4_8 + 0x39, TRUE);
|
||||
fileProgressFlag_set(this->unkF4_8 + 0x39, TRUE);
|
||||
marker_despawn(this->marker);
|
||||
func_8028F918(0);
|
||||
func_8028F66C(BS_INTR_35);
|
||||
@@ -830,22 +830,22 @@ void func_80387F78(Actor *this, u32 flag)
|
||||
{
|
||||
if (this->unk1C[0] != 2.f)
|
||||
{
|
||||
if (this->unk1C[0] != 0 && func_8031FF1C(0x9B))
|
||||
if (this->unk1C[0] != 0 && fileProgressFlag_get(FILEPROG_9B_LAIR_CC_WITCH_SWITCH_EYES_ACTIVE))
|
||||
{
|
||||
u32 flagState = func_8031FF1C(flag);
|
||||
func_80320004(flag, TRUE);
|
||||
u32 flagState = fileProgressFlag_get(flag);
|
||||
fileProgressFlag_set(flag, TRUE);
|
||||
|
||||
if (flagState == FALSE
|
||||
&& !jiggyscore_isSpawned(JIGGY_35_LAIR_CC_WITCH_SWITCH)
|
||||
&& func_8031FF1C(0x9C)
|
||||
&& func_8031FF1C(0x9D))
|
||||
&& fileProgressFlag_get(FILEPROG_9C_LAIR_CC_WITCH_SWITCH_LEFT_EYE_PRESSED)
|
||||
&& fileProgressFlag_get(FILEPROG_9D_LAIR_CC_WITCH_SWITCH_RIGHT_EYE_PRESSED))
|
||||
{
|
||||
func_8025A6EC(0x2D, 0x7FFF);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||
timedFunc_set_0(0.9f, func_80387F1C);
|
||||
}
|
||||
}
|
||||
|
||||
if (func_8031FF1C(flag))
|
||||
if (fileProgressFlag_get(flag))
|
||||
{
|
||||
this->position_y -= 4.5; // f64
|
||||
|
||||
@@ -873,19 +873,19 @@ void func_803880BC(Actor *this)
|
||||
|
||||
__spawnQueue_add_1((GenMethod_1)func_80387E94, reinterpret_cast(s32, this->marker));
|
||||
|
||||
if (func_803203FC(0xBC) && !func_8031FF1C(0x9A))
|
||||
if (func_803203FC(0xBC) && !fileProgressFlag_get(FILEPROG_9A_CC_WITCH_SWITCH_PRESSED))
|
||||
FUNC_8030E624(SFX_3F6_UNKNOWN, 0.75f, 30000);
|
||||
}
|
||||
|
||||
if (func_8031FF1C(0x9B))
|
||||
if (fileProgressFlag_get(FILEPROG_9B_LAIR_CC_WITCH_SWITCH_EYES_ACTIVE))
|
||||
{
|
||||
if (!func_8031FF1C(0x9C))
|
||||
if (!fileProgressFlag_get(FILEPROG_9C_LAIR_CC_WITCH_SWITCH_LEFT_EYE_PRESSED))
|
||||
{
|
||||
this->position_y = this->unk1C[1];
|
||||
actor_collisionOn(this);
|
||||
}
|
||||
|
||||
if (this->unk100 != NULL && !func_8031FF1C(0x9D))
|
||||
if (this->unk100 != NULL && !fileProgressFlag_get(FILEPROG_9D_LAIR_CC_WITCH_SWITCH_RIGHT_EYE_PRESSED))
|
||||
{
|
||||
Actor *actor = marker_getActor(this->unk100);
|
||||
actor->position_y = this->unk1C[1];
|
||||
@@ -893,14 +893,14 @@ void func_803880BC(Actor *this)
|
||||
}
|
||||
}
|
||||
|
||||
if (func_803203FC(0xBC) && !func_8031FF1C(0x9B))
|
||||
if (func_803203FC(0xBC) && !fileProgressFlag_get(FILEPROG_9B_LAIR_CC_WITCH_SWITCH_EYES_ACTIVE))
|
||||
{
|
||||
this->position_y += 1.7;
|
||||
|
||||
if (this->position_y >= this->unk1C[1])
|
||||
{
|
||||
this->position_y = this->unk1C[1];
|
||||
func_80320004(0x9B, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_9B_LAIR_CC_WITCH_SWITCH_EYES_ACTIVE, TRUE);
|
||||
}
|
||||
|
||||
if (this->unk100 != NULL)
|
||||
@@ -910,13 +910,13 @@ void func_803880BC(Actor *this)
|
||||
}
|
||||
}
|
||||
|
||||
func_80387F78(this, 0x9C);
|
||||
func_80387F78(this, FILEPROG_9C_LAIR_CC_WITCH_SWITCH_LEFT_EYE_PRESSED);
|
||||
}
|
||||
|
||||
void func_8038824C(Actor *this)
|
||||
{
|
||||
func_802D3CE8(this);
|
||||
func_80387F78(this, 0x9D);
|
||||
func_80387F78(this, FILEPROG_9D_LAIR_CC_WITCH_SWITCH_RIGHT_EYE_PRESSED);
|
||||
}
|
||||
|
||||
|
||||
@@ -939,7 +939,7 @@ void func_803882B0(Actor *this)
|
||||
|
||||
this->unk16C_4 = TRUE;
|
||||
|
||||
if (func_8031FF1C(0x48))
|
||||
if (fileProgressFlag_get(FILEPROG_48_FP_WITCH_SWITCH_ADVENT_DOOR_OPEN))
|
||||
this->pitch = 90.f;
|
||||
|
||||
this->unk60 = 0;
|
||||
@@ -962,17 +962,17 @@ void func_803882B0(Actor *this)
|
||||
if (this->pitch > 90.f)
|
||||
{
|
||||
this->pitch = 90.f;
|
||||
func_80320004(0x48, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_48_FP_WITCH_SWITCH_ADVENT_DOOR_OPEN, TRUE);
|
||||
func_802D48B8(this);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80388404(enum bkprog_e flag, enum sfx_e sfx, f32 a2, s32 a3)
|
||||
void func_80388404(enum file_progress_e flag, enum sfx_e sfx, f32 a2, s32 a3)
|
||||
{
|
||||
if (func_8031FF1C(flag) == FALSE)
|
||||
if (fileProgressFlag_get(flag) == FALSE)
|
||||
func_8030E6A4(sfx, a2, a3);
|
||||
|
||||
func_80320004(flag, TRUE);
|
||||
fileProgressFlag_set(flag, TRUE);
|
||||
}
|
||||
|
||||
void func_80388450(Actor *actor1, Actor *actor2)
|
||||
@@ -1015,63 +1015,63 @@ void func_80388524(Actor *this) {
|
||||
if (!this->initialized) {
|
||||
if (!sp34) {
|
||||
switch(this->modelCacheIndex){
|
||||
case 0x2E5://L80388630
|
||||
if (!func_8031FF1C(0xE2) && func_8038EAE0(0xA)) {
|
||||
func_80320004(0xE2, TRUE);
|
||||
case ACTOR_2E5_DOOR_OF_GRUNTY://L80388630
|
||||
if (!fileProgressFlag_get(FILEPROG_E2_DOOR_OF_GRUNTY_OPEN) && func_8038EAE0(0xA)) {
|
||||
fileProgressFlag_set(FILEPROG_E2_DOOR_OF_GRUNTY_OPEN, TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x20e: //L80388660
|
||||
if (!func_8031FF1C(0x31) && func_8038EAE0(1)) {
|
||||
func_80320004(0x31, TRUE);
|
||||
case ACTOR_20E_MM_ENTRANCE_DOOR: //L80388660
|
||||
if (!fileProgressFlag_get(FILEPROG_31_MM_OPEN) && func_8038EAE0(1)) {
|
||||
fileProgressFlag_set(FILEPROG_31_MM_OPEN, TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x226: //L80388690
|
||||
if (!func_8031FF1C(0x36) && func_8038EAE0(6)) {
|
||||
func_80320004(0x36, TRUE);
|
||||
case ACTOR_226_GV_ENTRANCE: //L80388690
|
||||
if (!fileProgressFlag_get(FILEPROG_36_GV_OPEN) && func_8038EAE0(6)) {
|
||||
fileProgressFlag_set(FILEPROG_36_GV_OPEN, TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x212: //L803886C0
|
||||
if (!func_8031FF1C(0x33) && func_8038EAE0(3)) {
|
||||
func_80320004(0x33, TRUE);
|
||||
case ACTOR_212_CC_ENTRANCE_BARS: //L803886C0
|
||||
if (!fileProgressFlag_get(FILEPROG_33_CC_OPEN) && func_8038EAE0(3)) {
|
||||
fileProgressFlag_set(FILEPROG_33_CC_OPEN, TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x211: //L803886F0
|
||||
if (!func_8031FF1C(0x32) && func_8038EAE0(2)) {
|
||||
func_80320004(0x32, TRUE);
|
||||
case ACTOR_211_TCC_ENTRANCE_CHEST_LID: //L803886F0
|
||||
if (!fileProgressFlag_get(FILEPROG_32_TTC_OPEN) && func_8038EAE0(2)) {
|
||||
fileProgressFlag_set(FILEPROG_32_TTC_OPEN, TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x210: //L80388720
|
||||
if (!func_8031FF1C(0x34) && func_8038EAE0(4)) {
|
||||
func_80320004(0x34, TRUE);
|
||||
case ACTOR_210_BGS_ENTRANCE_DOOR: //L80388720
|
||||
if (!fileProgressFlag_get(FILEPROG_34_BGS_OPEN) && func_8038EAE0(4)) {
|
||||
fileProgressFlag_set(FILEPROG_34_BGS_OPEN, TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x20f: //L80388750
|
||||
if (!func_8031FF1C(0x38) && func_8038EAE0(8)) {
|
||||
func_80320004(0x38, TRUE);
|
||||
case ACTOR_20F_RBB_ENTRANCE_DOOR: //L80388750
|
||||
if (!fileProgressFlag_get(FILEPROG_38_RBB_OPEN) && func_8038EAE0(8)) {
|
||||
fileProgressFlag_set(FILEPROG_38_RBB_OPEN, TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x228: //L80388780
|
||||
if (!func_8031FF1C(0x37) && func_8038EAE0(7)) {
|
||||
func_80320004(0x37, TRUE);
|
||||
case ACTOR_228_MMM_ENTRANCE_DOOR: //L80388780
|
||||
if (!fileProgressFlag_get(FILEPROG_37_MMM_OPEN) && func_8038EAE0(7)) {
|
||||
fileProgressFlag_set(FILEPROG_37_MMM_OPEN, TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x234: //L803887B0
|
||||
if (!func_8031FF1C(0x39) && func_8038EAE0(9)) {
|
||||
func_80320004(0x39, TRUE);
|
||||
case ACTOR_234_CCW_ENTRANCE_DOOR: //L803887B0
|
||||
if (!fileProgressFlag_get(FILEPROG_39_CCW_OPEN) && func_8038EAE0(9)) {
|
||||
fileProgressFlag_set(FILEPROG_39_CCW_OPEN, TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x235: //L803887E0
|
||||
if (!func_8031FF1C(0x35) && func_8038EAE0(5)) {
|
||||
func_80320004(0x35, TRUE);
|
||||
case ACTOR_235_FP_ENTANCE_DOOR: //L803887E0
|
||||
if (!fileProgressFlag_get(FILEPROG_35_FP_OPEN) && func_8038EAE0(5)) {
|
||||
fileProgressFlag_set(FILEPROG_35_FP_OPEN, TRUE);
|
||||
}
|
||||
break;
|
||||
}//L80388808
|
||||
@@ -1081,71 +1081,71 @@ void func_80388524(Actor *this) {
|
||||
if (!this->unk16C_4) {
|
||||
this->unk16C_4 = TRUE;
|
||||
switch(this->modelCacheIndex){
|
||||
case 0x2E5: //L80388880
|
||||
if (func_8031FF1C(0xE2) && (this->state == 0x19)) {
|
||||
case ACTOR_2E5_DOOR_OF_GRUNTY: //L80388880
|
||||
if (fileProgressFlag_get(FILEPROG_E2_DOOR_OF_GRUNTY_OPEN) && (this->state == 0x19)) {
|
||||
func_80328B8C(this, 0x1B, 0.999f, 1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x20e://L803888C0
|
||||
if(func_8031FF1C(0x31)){
|
||||
case ACTOR_20E_MM_ENTRANCE_DOOR://L803888C0
|
||||
if(fileProgressFlag_get(FILEPROG_31_MM_OPEN)){
|
||||
this->yaw = 270.0f;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x226://L803888DC
|
||||
if(func_8031FF1C(0x36)){
|
||||
case ACTOR_226_GV_ENTRANCE://L803888DC
|
||||
if(fileProgressFlag_get(FILEPROG_36_GV_OPEN)){
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
}
|
||||
this->unk1C[1] = this->position[1] + 300.0f;
|
||||
break;
|
||||
|
||||
case 0x212://L80388914
|
||||
if(func_8031FF1C(0x33)){
|
||||
case ACTOR_212_CC_ENTRANCE_BARS://L80388914
|
||||
if(fileProgressFlag_get(FILEPROG_33_CC_OPEN)){
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
}
|
||||
this->unk1C[1] = this->position[1] + 365.0f;
|
||||
break;
|
||||
|
||||
case 0x211://L80388948
|
||||
if(func_8031FF1C(0x32)){
|
||||
case ACTOR_211_TCC_ENTRANCE_CHEST_LID://L80388948
|
||||
if(fileProgressFlag_get(FILEPROG_32_TTC_OPEN)){
|
||||
this->pitch = 90.0f;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x210://L8038896C
|
||||
if(func_8031FF1C(0x34)){
|
||||
case ACTOR_210_BGS_ENTRANCE_DOOR://L8038896C
|
||||
if(fileProgressFlag_get(FILEPROG_34_BGS_OPEN)){
|
||||
this->yaw = 90.0f;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x20f://L80388990
|
||||
if(func_8031FF1C(0x38)){
|
||||
case ACTOR_20F_RBB_ENTRANCE_DOOR://L80388990
|
||||
if(fileProgressFlag_get(FILEPROG_38_RBB_OPEN)){
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
}
|
||||
this->unk1C[1] = this->position[1] + 290.0f;
|
||||
break;
|
||||
|
||||
case 0x228://L803889C8
|
||||
if(func_8031FF1C(0x37)){
|
||||
case ACTOR_228_MMM_ENTRANCE_DOOR://L803889C8
|
||||
if(fileProgressFlag_get(FILEPROG_37_MMM_OPEN)){
|
||||
this->yaw = 90.0f;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x234://L803889EC
|
||||
if(func_8031FF1C(0x39)){
|
||||
case ACTOR_234_CCW_ENTRANCE_DOOR://L803889EC
|
||||
if(fileProgressFlag_get(FILEPROG_39_CCW_OPEN)){
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
}
|
||||
this->unk1C[1] = this->position[1] + 270.0f;
|
||||
break;
|
||||
|
||||
case 0x235://L80388A24
|
||||
case ACTOR_235_FP_ENTANCE_DOOR://L80388A24
|
||||
sp30 = actorArray_findActorFromActorId(0x236);
|
||||
if(func_8031FF1C(0x35)){
|
||||
if(fileProgressFlag_get(FILEPROG_35_FP_OPEN)){
|
||||
marker_despawn(this->marker);
|
||||
marker_despawn(sp30->marker);
|
||||
return;
|
||||
@@ -1180,7 +1180,7 @@ void func_80388524(Actor *this) {
|
||||
}
|
||||
if (actor_animationIsAt(this, 0.97f)) {
|
||||
func_80328B8C(this, 0x1B, 0.999f, 1);
|
||||
func_80320004(0xE2, 1);
|
||||
fileProgressFlag_set(FILEPROG_E2_DOOR_OF_GRUNTY_OPEN, 1);
|
||||
func_8030E6D4(SFX_6C_LOCKUP_CLOSING);
|
||||
}
|
||||
if (animctrl_getAnimTimer(this->animctrl) < 0.68) {
|
||||
@@ -1251,7 +1251,7 @@ void func_80388524(Actor *this) {
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x228://L80388E84
|
||||
case ACTOR_228_MMM_ENTRANCE_DOOR://L80388E84
|
||||
this->yaw += 1.4;
|
||||
if (this->yaw > 90.0f) {
|
||||
this->yaw = 90.0f;
|
||||
@@ -1259,16 +1259,16 @@ void func_80388524(Actor *this) {
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x234://L80388ED4
|
||||
case ACTOR_234_CCW_ENTRANCE_DOOR://L80388ED4
|
||||
this->position[1] += 3.2;
|
||||
if (this->unk1C[1] <= this->position[1]) {
|
||||
func_80388404(0x39, SFX_6C_LOCKUP_CLOSING, 1.0f, 20000);
|
||||
func_80388404(FILEPROG_39_CCW_OPEN, SFX_6C_LOCKUP_CLOSING, 1.0f, 20000);
|
||||
lair_func_80388278(this);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x235://L80388F34
|
||||
case ACTOR_235_FP_ENTANCE_DOOR://L80388F34
|
||||
{
|
||||
sp28 = actorArray_findActorFromActorId(0x236);
|
||||
this->unk1C[0] += 3.6;
|
||||
@@ -1276,7 +1276,7 @@ void func_80388524(Actor *this) {
|
||||
lair_func_80388278(this);
|
||||
marker_despawn(this->marker);
|
||||
marker_despawn(sp28->marker);
|
||||
func_80320004(0x35, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_35_FP_OPEN, TRUE);
|
||||
return;
|
||||
}
|
||||
func_80388450(this, sp28);
|
||||
@@ -1313,7 +1313,7 @@ void func_80388FC8(Actor *this)
|
||||
|
||||
if (!this->unk16C_4)
|
||||
{
|
||||
if (func_8031FF1C(this->modelCacheIndex == 0x215 ? BKPROG_1F_CC_LOBBY_PIPE_1_RAISED : BKPROG_20_CC_LOBBY_PIPE_2_RAISED))
|
||||
if (fileProgressFlag_get(this->modelCacheIndex == 0x215 ? FILEPROG_1F_CC_LOBBY_PIPE_1_RAISED : FILEPROG_20_CC_LOBBY_PIPE_2_RAISED))
|
||||
{
|
||||
this->position_y = this->unk1C[1];
|
||||
return;
|
||||
@@ -1327,7 +1327,7 @@ void func_80388FC8(Actor *this)
|
||||
if (1); // oof
|
||||
}
|
||||
|
||||
func_80320004(this->modelCacheIndex == 0x215 ? BKPROG_1F_CC_LOBBY_PIPE_1_RAISED : BKPROG_20_CC_LOBBY_PIPE_2_RAISED, TRUE);
|
||||
fileProgressFlag_set(this->modelCacheIndex == 0x215 ? FILEPROG_1F_CC_LOBBY_PIPE_1_RAISED : FILEPROG_20_CC_LOBBY_PIPE_2_RAISED, TRUE);
|
||||
|
||||
this->unk16C_4 = 1;
|
||||
this->unk38_31 = 12;
|
||||
@@ -1390,7 +1390,7 @@ void lair_func_80389204(Actor *this)
|
||||
|
||||
if (!this->unk16C_4)
|
||||
{
|
||||
if (func_8031FF1C(BKPROG_21_CC_LOBBY_PIPE_3_RAISED))
|
||||
if (fileProgressFlag_get(FILEPROG_21_CC_LOBBY_PIPE_3_RAISED))
|
||||
{
|
||||
this->position_y = this->unk1C[1];
|
||||
return;
|
||||
@@ -1399,7 +1399,7 @@ void lair_func_80389204(Actor *this)
|
||||
if (mapSpecificFlags_get(2))
|
||||
{
|
||||
func_802BAFE4(0x2C);
|
||||
func_80320004(BKPROG_21_CC_LOBBY_PIPE_3_RAISED, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_21_CC_LOBBY_PIPE_3_RAISED, TRUE);
|
||||
|
||||
this->unk16C_4 = 1;
|
||||
this->unk38_31 = 12;
|
||||
@@ -1476,7 +1476,7 @@ void lair_func_803894B0(Actor *this)
|
||||
this->unk16C_4 = TRUE;
|
||||
this->unk1C[0] = 0;
|
||||
|
||||
if (func_8031FF1C(BKPROG_A1_STATUE_HAT_OPEN))
|
||||
if (fileProgressFlag_get(FILEPROG_A1_STATUE_HAT_OPEN))
|
||||
{
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
@@ -1490,7 +1490,7 @@ void lair_func_803894B0(Actor *this)
|
||||
|
||||
if (--this->unk1C[0] == 0)
|
||||
{
|
||||
func_80320004(0xA1, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_A1_STATUE_HAT_OPEN, TRUE);
|
||||
timed_playSfx(0.5f, SFX_3F9_UNKNOWN, 1.f, 32000);
|
||||
FUNC_8030E624(SFX_114_BRICKWALL_BREAKING, 0.8f, 32000);
|
||||
func_802EE2E8(this, 0xB, 0x19, 0x000, 0.6f, 1.8f, 3.f);
|
||||
@@ -1519,22 +1519,22 @@ void func_80389714(Actor *this)
|
||||
|
||||
void func_80389734(Actor *this)
|
||||
{
|
||||
func_802D4AC0(this, 0x800022, 0x23);
|
||||
func_802D4AC0(this, 0x800000 | FILEPROG_22_WATER_SWITCH_1_PRESSED, FILEPROG_23_LAIR_WATER_LEVEL_1);
|
||||
}
|
||||
|
||||
void func_8038975C(Actor *this)
|
||||
{
|
||||
func_802D4AC0(this, 0x800024, 0x25);
|
||||
func_802D4AC0(this, 0x800000 | FILEPROG_24_WATER_SWITCH_2_PRESSED, FILEPROG_25_LAIR_WATER_LEVEL_2);
|
||||
}
|
||||
|
||||
void func_80389784(Actor *this)
|
||||
{
|
||||
func_802D4AC0(this, 0x800026, 0x27);
|
||||
func_802D4AC0(this, 0x800000 | FILEPROG_26_WATER_SWITCH_3_PRESSED, FILEPROG_27_LAIR_WATER_LEVEL_3);
|
||||
}
|
||||
|
||||
void func_803897AC(Actor *this)
|
||||
{
|
||||
func_802D4AC0(this, 0x800053, 0x54);
|
||||
func_802D4AC0(this, 0x800000 | FILEPROG_53_CCW_PUZZLE_PODIUM_SWITCH_PRESSED, FILEPROG_54_CCW_PUZZLE_PODIUM_ACTIVE);
|
||||
}
|
||||
|
||||
void func_803897D4(s32 arg0)
|
||||
@@ -1562,7 +1562,7 @@ void func_8038982C(Actor *this)
|
||||
|
||||
this->initialized = TRUE;
|
||||
|
||||
if (!func_8031FF1C(BKPROG_9E_CRYPT_COFFIN_LID_OPEN))
|
||||
if (!fileProgressFlag_get(FILEPROG_9E_CRYPT_COFFIN_LID_OPEN))
|
||||
__spawnQueue_add_1((GenMethod_1)func_803897D4, reinterpret_cast(s32, this->marker));
|
||||
}
|
||||
}
|
||||
@@ -1579,7 +1579,7 @@ void func_80389898(Actor *this)
|
||||
{
|
||||
func_80328AC8(this, 0x13);
|
||||
actor_playAnimationOnce(this);
|
||||
func_80320004(BKPROG_9E_CRYPT_COFFIN_LID_OPEN, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_9E_CRYPT_COFFIN_LID_OPEN, TRUE);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -1605,7 +1605,7 @@ void func_80389934(Actor *this)
|
||||
|
||||
this->unk16C_4 = TRUE;
|
||||
|
||||
if (func_8031FF1C(BKPROG_A2_GV_LOBBY_COFFIN_OPEN))
|
||||
if (fileProgressFlag_get(FILEPROG_A2_GV_LOBBY_COFFIN_OPEN))
|
||||
func_80328B8C(this, 0x18, 0.999f, 1);
|
||||
}
|
||||
|
||||
@@ -1618,7 +1618,7 @@ void func_80389934(Actor *this)
|
||||
this->unk1C[0] = 25;
|
||||
|
||||
func_80328AC8(this, 0x16);
|
||||
func_80320004(BKPROG_A2_GV_LOBBY_COFFIN_OPEN, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_A2_GV_LOBBY_COFFIN_OPEN, TRUE);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -1731,7 +1731,7 @@ void func_80389D08(Actor *this)
|
||||
this->unk16C_4 = TRUE;
|
||||
this->unk60 = 0;
|
||||
|
||||
if (func_8031FF1C(0xA5))
|
||||
if (fileProgressFlag_get(0xA5))
|
||||
{
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
@@ -1799,47 +1799,47 @@ Actor *func_80389E10(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||
return this;
|
||||
}
|
||||
|
||||
void func_80389FA8(Actor *this, enum bkprog_e flag)
|
||||
void func_80389FA8(Actor *this, enum file_progress_e flag)
|
||||
{
|
||||
if (!this->initialized)
|
||||
{
|
||||
func_802D3D54(this);
|
||||
|
||||
if (func_8031FF1C(flag))
|
||||
if (fileProgressFlag_get(flag))
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80389FF4(Actor *this)
|
||||
{
|
||||
func_80389FA8(this, BKPROG_C2_GRATE_TO_RBB_PUZZLE_OPEN);
|
||||
func_80389FA8(this, FILEPROG_C2_GRATE_TO_RBB_PUZZLE_OPEN);
|
||||
}
|
||||
|
||||
void func_8038A014(Actor *this)
|
||||
{
|
||||
func_80389FA8(this, BKPROG_C3_ICE_BALL_TO_CHEATO_BROKEN);
|
||||
func_80389FA8(this, FILEPROG_C3_ICE_BALL_TO_CHEATO_BROKEN);
|
||||
}
|
||||
|
||||
void func_8038A034(Actor *this)
|
||||
{
|
||||
this->depth_mode = 2;
|
||||
|
||||
func_80389FA8(this, BKPROG_C4_STATUE_EYE_BROKEN);
|
||||
func_80389FA8(this, FILEPROG_C4_STATUE_EYE_BROKEN);
|
||||
}
|
||||
|
||||
void func_8038A064(Actor *this)
|
||||
{
|
||||
func_80389FA8(this, BKPROG_C5_RAREWARE_BOX_BROKEN);
|
||||
func_80389FA8(this, FILEPROG_C5_RAREWARE_BOX_BROKEN);
|
||||
}
|
||||
|
||||
void lair_func_8038A084(Actor *this)
|
||||
{
|
||||
func_80389FA8(this, BKPROG_CD_GRATE_TO_WATER_SWITCH_3_OPEN);
|
||||
func_80389FA8(this, FILEPROG_CD_GRATE_TO_WATER_SWITCH_3_OPEN);
|
||||
}
|
||||
|
||||
void func_8038A0A4(Actor *this)
|
||||
{
|
||||
func_80389FA8(this, BKPROG_CE_GRATE_TO_MMM_PUZZLE_OPEN);
|
||||
func_80389FA8(this, FILEPROG_CE_GRATE_TO_MMM_PUZZLE_OPEN);
|
||||
}
|
||||
|
||||
void lair_func_8038A0C4(void)
|
||||
@@ -1888,7 +1888,7 @@ void lair_func_8038A0C4(void)
|
||||
spawnableActorList_add(&D_80393378, actor_new, 0x8640);
|
||||
spawnableActorList_add(&D_803947B0, actor_new, 0xA1480);
|
||||
spawnableActorList_add(&D_803947D4, actor_new, 0xA1480);
|
||||
spawnableActorList_add(&D_80393730, actor_new, 0x140);
|
||||
spawnableActorList_add(&chBrentilda, actor_new, 0x140);
|
||||
spawnableActorList_add(&D_80394A80, actor_new, 0);
|
||||
spawnableActorList_add(&D_80394AB0, actor_new, 0x44);
|
||||
spawnableActorList_add(&D_80392EB0, actor_new, 0x8608);
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
extern void func_8028F4B8(f32[3], f32, f32);
|
||||
extern void func_8028F66C(s32);
|
||||
extern void func_802D6310(f32, enum map_e, s32, s32, enum bkprog_e);
|
||||
extern void func_802D6310(f32, enum map_e, s32, s32, enum file_progress_e);
|
||||
extern void func_802EE354(Actor *, s32, s32, s32, f32, f32, f32, s32[4], s32, s32);
|
||||
extern void func_80324CFC(f32, enum comusic_e, s32);
|
||||
extern void func_8034DF30(s32, f32[4], f32[4], f32);
|
||||
@@ -19,8 +19,8 @@ typedef struct {
|
||||
s16 unk6;
|
||||
}Struct_lair_42A0_0;
|
||||
|
||||
void func_8038AE2C(Actor *this);
|
||||
Actor *func_8038B898(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
void chWarpCauldron_update(Actor *this);
|
||||
Actor *chWarpCauldron_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
|
||||
/* .data */
|
||||
ActorAnimationInfo D_80393520[] = {
|
||||
@@ -33,8 +33,8 @@ ActorAnimationInfo D_80393520[] = {
|
||||
{0x28F, 5.167f},
|
||||
{0x290, 6.26f}
|
||||
};
|
||||
ActorInfo D_80393560 = { 0x231, 0x23B, 0x4DF, 1, D_80393520, func_8038AE2C, func_80326224, func_8038B898, 0, 0, 3.0f, 0};
|
||||
ActorInfo D_80393584 = { 0x244, 0x2DB, 0x450, 1, D_80393520, func_8038AE2C, func_80326224, func_8038B898, 0, 0, 3.0f, 0};
|
||||
ActorInfo D_80393560 = { MARKER_231_DINGPOT, ACTOR_23B_DINGPOT, ASSET_4DF_MODEL_WARP_CAULDRON, 1, D_80393520, chWarpCauldron_update, func_80326224, chWarpCauldron_draw, 0, 0, 3.0f, 0};
|
||||
ActorInfo D_80393584 = { MARKER_244_WARP_CAULDRON, ACTOR_2DB_WARP_CAULDRON, ASSET_450_MODEL_DINGPOT, 1, D_80393520, chWarpCauldron_update, func_80326224, chWarpCauldron_draw, 0, 0, 3.0f, 0};
|
||||
f32 D_803935A8[][2][3] = {
|
||||
{{1.0f, 1.0f, 1.0f}, {1.0f, 0.0f, 1.0f}},
|
||||
{{1.0f, 1.0f, 1.0f}, {0.0f, 1.0f, 1.0f}},
|
||||
@@ -71,11 +71,11 @@ bool func_8038A690(Actor *this) {
|
||||
}
|
||||
}
|
||||
|
||||
enum bkprog_e func_8038A6DC(Actor *this){
|
||||
return this->unkF4_8 + 0x48;
|
||||
enum file_progress_e chWarpCauldron_getFileProgressFlagIndex(Actor *this){
|
||||
return this->unkF4_8 -1 + 0x49;
|
||||
}
|
||||
|
||||
enum bkprog_e func_8038A6EC(Actor *this){
|
||||
enum file_progress_e chWarpCauldron_getPairedFileProgressFlagIndex(Actor *this){
|
||||
return ((this->unkF4_8 - 1) ^ 1) + 0x49;
|
||||
}
|
||||
|
||||
@@ -129,8 +129,8 @@ void func_8038A96C(Actor *this, s32 arg1) {
|
||||
f32 sp38[4];
|
||||
|
||||
if( ( (arg1 != 3) || ( (this->unk1C[1] == 0.0f) && (this->marker->unk14_21 == 1)))
|
||||
&& (this->modelCacheIndex == 0x23B)
|
||||
&& ((arg1 != 0) || func_8031FF1C(func_8038A6DC(this)))
|
||||
&& (this->modelCacheIndex == ACTOR_23B_DINGPOT)
|
||||
&& ((arg1 != 0) || fileProgressFlag_get(chWarpCauldron_getFileProgressFlagIndex(this)))
|
||||
){
|
||||
sp5C = func_8034C2C4(this->marker, 0x1C3);
|
||||
if(sp5C != 0){
|
||||
@@ -145,7 +145,7 @@ void func_8038A96C(Actor *this, s32 arg1) {
|
||||
func_8034DF30(sp5C, sp38, sp38, 0.3f);
|
||||
}
|
||||
else{
|
||||
func_8034DF30(sp5C, sp48, sp38, func_8031FF1C(func_8038A6DC(this)) ? 0.3 : 3.0);
|
||||
func_8034DF30(sp5C, sp48, sp38, fileProgressFlag_get(chWarpCauldron_getFileProgressFlagIndex(this)) ? 0.3 : 3.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -178,12 +178,12 @@ void func_8038AC7C(Actor *this) {
|
||||
if(
|
||||
(func_803114C4() != 0xFAD)
|
||||
&& func_80329530(this, 1200)
|
||||
&& !func_8031FF1C(0xFC)
|
||||
&& !fileProgressFlag_get(FILEPROG_FC_DEFEAT_GRUNTY)
|
||||
) {
|
||||
this->unk60 += time_getDelta();
|
||||
if (35.0 < this->unk60) {
|
||||
sp2C = (func_8031FF1C(0xCF)) ? 0xFB7 : 0xFAE;
|
||||
sp28 = (func_8031FF1C(0xCF)) ? 0xFBC : 0xFB7;
|
||||
sp2C = (fileProgressFlag_get(FILEPROG_CF_HAS_ENTERED_FINAL_FIGHT)) ? 0xFB7 : 0xFAE;
|
||||
sp28 = (fileProgressFlag_get(FILEPROG_CF_HAS_ENTERED_FINAL_FIGHT)) ? 0xFBC : 0xFB7;
|
||||
if (func_80311480(sp2C + this->unk38_31, 0, NULL, NULL, NULL, NULL)) {
|
||||
this->unk38_31++;
|
||||
this->unk60 = 0.0f;
|
||||
@@ -196,8 +196,8 @@ void func_8038AC7C(Actor *this) {
|
||||
}
|
||||
|
||||
|
||||
void func_8038ADC0(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
func_80320004(0xF3, TRUE);
|
||||
void __chWarpCauldron_dingpotDialogCallback(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
fileProgressFlag_set(FILEPROG_F3_MET_DINGPOT, TRUE);
|
||||
}
|
||||
|
||||
bool lair_func_8038ADF0(s32 arg0, s32 arg1) {
|
||||
@@ -209,7 +209,7 @@ bool lair_func_8038ADF0(s32 arg0, s32 arg1) {
|
||||
return phi_v1 < 70;
|
||||
}
|
||||
|
||||
void func_8038AE2C(Actor *this) {
|
||||
void chWarpCauldron_update(Actor *this) {
|
||||
f32 sp54[3];
|
||||
s32 sp50;
|
||||
s32 sp4C;
|
||||
@@ -227,10 +227,10 @@ void func_8038AE2C(Actor *this) {
|
||||
this->marker->propPtr->unk8_3 = TRUE;
|
||||
this->unk1C[1] = 0.0f;
|
||||
this->velocity[0] = this->yaw;
|
||||
if (this->modelCacheIndex == 0x2DB) {
|
||||
if (func_8031FF1C(0xF3)) {
|
||||
sp4C = (func_8031FF1C(0xCF)) ? 0xFB7 : 0xFAE;
|
||||
phi_v0 = (func_8031FF1C(0xCF)) ? 0xFBC : 0xFB7;
|
||||
if (this->modelCacheIndex == ACTOR_2DB_WARP_CAULDRON) {
|
||||
if (fileProgressFlag_get(FILEPROG_F3_MET_DINGPOT)) {
|
||||
sp4C = (fileProgressFlag_get(FILEPROG_CF_HAS_ENTERED_FINAL_FIGHT)) ? 0xFB7 : 0xFAE;
|
||||
phi_v0 = (fileProgressFlag_get(FILEPROG_CF_HAS_ENTERED_FINAL_FIGHT)) ? 0xFBC : 0xFB7;
|
||||
this->unk60 = 35.0f;
|
||||
this->unk38_31 = randi2(0, phi_v0 - sp4C);
|
||||
}
|
||||
@@ -238,7 +238,7 @@ void func_8038AE2C(Actor *this) {
|
||||
func_80328B8C(this, 6, 0.99f, 1);
|
||||
func_802D09B8(this, 2);
|
||||
}
|
||||
if (func_8031FF1C(func_8038A6DC(this))) {
|
||||
if (fileProgressFlag_get(chWarpCauldron_getFileProgressFlagIndex(this))) {
|
||||
func_8038A704(this);
|
||||
func_802D09B8(this, 2);
|
||||
func_8038A96C(this, 2);
|
||||
@@ -254,10 +254,10 @@ void func_8038AE2C(Actor *this) {
|
||||
this->unk10_12 = 1;
|
||||
func_8038AB90(this, 5, 1, 0, 0.0f);
|
||||
}
|
||||
if (!func_8031FF1C(0xF5) && func_8031FF1C(func_8038A6EC(this))) {
|
||||
if (!fileProgressFlag_get(FILEPROG_F5_COMPLETED_A_WARP_CAULDRON_SET) && fileProgressFlag_get(chWarpCauldron_getPairedFileProgressFlagIndex(this))) {
|
||||
if (func_802D677C(-1) != map_get()) {
|
||||
func_80311480(0xF7A, 4, NULL, NULL, NULL, NULL);
|
||||
func_80320004(0xF5, 1);
|
||||
fileProgressFlag_set(FILEPROG_F5_COMPLETED_A_WARP_CAULDRON_SET, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -275,12 +275,12 @@ void func_8038AE2C(Actor *this) {
|
||||
func_8038A96C(this, 1);
|
||||
func_802BAFE4(D_80393620[this->unkF4_8 - 1].unk3);
|
||||
func_802D09B8(this, 2);
|
||||
phi_a0 = (func_8031FF1C(func_8038A6EC(this)) != 0) ? SFX_107_CAULDRON_ACTIVATION_1 : SFX_108_CAULDRON_ACTIVATION_2;
|
||||
func_8030E510(phi_a0, 0x7D00);
|
||||
if (!func_8031FF1C(0xF5) && !func_8031FF1C(func_8038A6EC(this))) {
|
||||
phi_a0 = (fileProgressFlag_get(chWarpCauldron_getPairedFileProgressFlagIndex(this)) != 0) ? SFX_107_CAULDRON_ACTIVATION_1 : SFX_108_CAULDRON_ACTIVATION_2;
|
||||
func_8030E510(phi_a0, 32000);
|
||||
if (!fileProgressFlag_get(FILEPROG_F5_COMPLETED_A_WARP_CAULDRON_SET) && !fileProgressFlag_get(chWarpCauldron_getPairedFileProgressFlagIndex(this))) {
|
||||
func_80311480(0xF79, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
if (func_8031FF1C(func_8038A6EC(this))){
|
||||
if (fileProgressFlag_get(chWarpCauldron_getPairedFileProgressFlagIndex(this))){
|
||||
switch(this->unkF4_8){
|
||||
case 2://L8038B204
|
||||
func_802D6310(2.0f, MAP_6A_GL_TTC_AND_CC_PUZZLE, 0x62, 0x22, 0);
|
||||
@@ -326,7 +326,7 @@ void func_8038AE2C(Actor *this) {
|
||||
this->unk38_0 = (sp3C & 1) ? TRUE : FALSE;
|
||||
if (actor_animationIsAt(this, 0.95f)) {
|
||||
func_8038A704(this);
|
||||
func_80320004(func_8038A6DC(this), 1);
|
||||
fileProgressFlag_set(chWarpCauldron_getFileProgressFlagIndex(this), 1);
|
||||
func_8028F918(0);
|
||||
this->unk1C[2] = 4.0f;
|
||||
}
|
||||
@@ -338,7 +338,7 @@ void func_8038AE2C(Actor *this) {
|
||||
this->unk1C[2] = this->unk1C[2] - 1.0f;
|
||||
} else {
|
||||
func_8038AB90(this, 5, 1, 0, 0.0f);
|
||||
func_8038AB90(this, 4, 2, 0xA6, 2.6f);
|
||||
func_8038AB90(this, 4, 2, SFX_A6_MAGICAL_FINISH, 2.6f);
|
||||
}
|
||||
func_8038A96C(this, 3);
|
||||
break;
|
||||
@@ -384,14 +384,14 @@ void func_8038AE2C(Actor *this) {
|
||||
break;
|
||||
|
||||
case 6: //L8038B64C
|
||||
if (func_8038A690(this) && !func_8031FF1C(0xF3)) {
|
||||
func_80311480(0xFAD, 0xA, this->position, NULL, func_8038ADC0, NULL);
|
||||
if (func_8038A690(this) && !fileProgressFlag_get(FILEPROG_F3_MET_DINGPOT)) {
|
||||
func_80311480(0xFAD, 0xA, this->position, NULL, __chWarpCauldron_dingpotDialogCallback, NULL);
|
||||
}
|
||||
this->unk38_0 = TRUE;
|
||||
|
||||
sp3C = 0;
|
||||
if (func_8031FF1C(0xFC)){
|
||||
if(jiggyscore_total() == 0x64){
|
||||
if (fileProgressFlag_get(FILEPROG_FC_DEFEAT_GRUNTY)){
|
||||
if(jiggyscore_total() == 100){
|
||||
sp3C = 1;
|
||||
}
|
||||
}
|
||||
@@ -429,12 +429,12 @@ void func_8038AE2C(Actor *this) {
|
||||
this->unk1C[1] = (f32)this->marker->unk14_21;
|
||||
}
|
||||
|
||||
Actor *func_8038B898(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||
Actor *chWarpCauldron_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||
Actor *this;
|
||||
s32 sp3C[4];
|
||||
|
||||
this = marker_getActor(marker);
|
||||
if(this->modelCacheIndex == 0x23B) {
|
||||
if(this->modelCacheIndex == ACTOR_23B_DINGPOT) {
|
||||
func_8033A45C(3, this->unk38_0 ? TRUE : FALSE);
|
||||
func_8033A45C(4, this->unk38_0 ? FALSE : TRUE);
|
||||
}
|
||||
|
@@ -678,7 +678,7 @@ void lair_func_8038CF18(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (func_8031FF1C(BKPROG_A6_FURNACE_FUN_COMPLETE))
|
||||
if (fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE))
|
||||
func_8038D670(FFA_8_FURNACE_FUN_COMPLETE);
|
||||
else
|
||||
func_8038D670(FFA_1_UNK);
|
||||
@@ -1012,11 +1012,11 @@ void func_8038D670(enum FF_Action next_state) {
|
||||
break;
|
||||
|
||||
case FFA_8_FURNACE_FUN_COMPLETE: //L8038DC00
|
||||
if (func_8031FF1C(0xA6) == 0) {
|
||||
if (fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE) == 0) {
|
||||
func_8025A55C(0, 0x1388, 0xB);
|
||||
func_8025AB00();
|
||||
func_8025A70C(JINGLE_DOOR_OF_GRUNTY_OPENED);
|
||||
func_80320004(0xA6, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_A6_FURNACE_FUN_COMPLETE, TRUE);
|
||||
func_803204E4(0, FALSE);
|
||||
func_803204E4(0xA6, TRUE);
|
||||
func_803204E4(0xA7, TRUE);
|
||||
@@ -1238,9 +1238,9 @@ void lair_func_8038E0B0(void) {
|
||||
func_802FACA4(0x14);
|
||||
func_802FACA4(0x16);
|
||||
if (sp38 != FFTT_0_NIL) {
|
||||
sp28 = sp38 + 0x54;
|
||||
if (!func_8031FF1C(sp28) && func_80311480(sp38 + 0x101E, 0, NULL, NULL, NULL, NULL)) {
|
||||
func_80320004(sp28, TRUE);
|
||||
sp28 = sp38 - 1 + FILEPROG_55_FF_BK_SQUARE_INSTRUCTIONS;
|
||||
if (!fileProgressFlag_get(sp28) && func_80311480(sp38 + 0x101E, 0, NULL, NULL, NULL, NULL)) {
|
||||
fileProgressFlag_set(sp28, TRUE);
|
||||
}
|
||||
if ((sp38 == FFTT_6_SKULL) && (item_getCount(ITEM_16_LIFE) == 1)) {
|
||||
func_80356540(0xAB);
|
||||
|
@@ -16,9 +16,9 @@ typedef struct {
|
||||
}ActorLocal_lair_86F0;
|
||||
|
||||
typedef struct {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u16 unk2;
|
||||
u8 cost;
|
||||
u8 size_bits;
|
||||
u16 progress_flag;
|
||||
}Struct_lair_86F0_0;
|
||||
|
||||
void func_8038F350(Actor *this, s32 next_state);
|
||||
@@ -28,17 +28,17 @@ void lair_func_8038F924(Actor *this);
|
||||
ActorInfo D_803947B0 = { 0x1EB, 0x3B7, 0x48B, 0x1, NULL, lair_func_8038F924, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803947D4 = { 0x1EB, 0x3BC, 0x538, 0x1, NULL, lair_func_8038F924, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||
Struct_lair_86F0_0 D_803947F8[0xb] ={
|
||||
{0x01, 0x1, 0x5D},
|
||||
{0x02, 0x2, 0x5E},
|
||||
{0x05, 0x3, 0x60},
|
||||
{0x07, 0x3, 0x63},
|
||||
{0x08, 0x4, 0x66},
|
||||
{0x09, 0x4, 0x6A},
|
||||
{0x0A, 0x4, 0x6E},
|
||||
{0x0C, 0x4, 0x72},
|
||||
{0x0F, 0x4, 0x76},
|
||||
{0x19, 0x5, 0x7A},
|
||||
{0x04, 0x3, 0x7F}
|
||||
{ 1, 0x1, FILEPROG_5D_MM_PUZZLE_PIECES_PLACED},
|
||||
{ 2, 0x2, FILEPROG_5E_TCC_PUZZLE_PIECES_PLACED},
|
||||
{ 5, 0x3, FILEPROG_60_CC_PUZZLE_PIECES_PLACED},
|
||||
{ 7, 0x3, FILEPROG_63_BGS_PUZZLE_PIECES_PLACED},
|
||||
{ 8, 0x4, FILEPROG_66_FP_PUZZLE_PIECES_PLACED},
|
||||
{ 9, 0x4, FILEPROG_6A_GV_PUZZLE_PIECES_PLACED},
|
||||
{10, 0x4, FILEPROG_6E_MMM_PUZZLE_PIECES_PLACED},
|
||||
{12, 0x4, FILEPROG_72_RBB_PUZZLE_PIECES_PLACED},
|
||||
{15, 0x4, FILEPROG_76_CCW_PUZZLE_PIECES_PLACED},
|
||||
{25, 0x5, FILEPROG_7A_DOG_PUZZLE_PIECES_PLACED},
|
||||
{ 4, 0x3, FILEPROG_7F_DOUBLE_HEALTH_PUZZLE_PIECES_PLACED}
|
||||
};
|
||||
s32 D_80394824[3] = {0xff, 0xff, 0};
|
||||
struct31s D_80394830 = {
|
||||
@@ -51,11 +51,11 @@ struct31s D_80394830 = {
|
||||
|
||||
/* .code */
|
||||
bool func_8038EAE0(s32 arg0) {
|
||||
return func_8031FF44(D_803947F8[arg0 -1].unk2, D_803947F8[arg0 -1].unk1) == D_803947F8[arg0 -1].unk0;
|
||||
return fileProgressFlag_getN(D_803947F8[arg0 -1].progress_flag, D_803947F8[arg0 -1].size_bits) == D_803947F8[arg0 -1].cost;
|
||||
}
|
||||
|
||||
s32 func_8038EB24(Actor *this){
|
||||
return (this->unkF4_8 != 0 && this->unkF4_8 < 0xC) ? D_803947F8[this->unkF4_8 - 1].unk0 : 0;
|
||||
return (this->unkF4_8 != 0 && this->unkF4_8 < 0xC) ? D_803947F8[this->unkF4_8 - 1].cost : 0;
|
||||
}
|
||||
|
||||
bool func_8038EB58(Actor *this){
|
||||
@@ -72,7 +72,7 @@ s32 func_8038EB84(Actor *this){
|
||||
void func_8038EB94(void){
|
||||
func_802FAFD4(ITEM_14_HEALTH, 0x417);
|
||||
func_802FAFC0(ITEM_14_HEALTH, COMUSIC_2B_DING_B);
|
||||
func_80320004(BKPROG_B9_DOUBLE_HEALTH, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_B9_DOUBLE_HEALTH, TRUE);
|
||||
func_80347958();
|
||||
func_803463D4(ITEM_14_HEALTH, 0);
|
||||
gcpausemenu_80314AC8(1);
|
||||
@@ -83,7 +83,7 @@ void func_8038EBEC(ActorMarker *marker) {
|
||||
u32 temp_t6;
|
||||
|
||||
this = marker_getActor(reinterpret_cast(ActorMarker *, marker));
|
||||
if (this->unkF4_8 < 0xAU) {
|
||||
if (this->unkF4_8 < 0xA) {
|
||||
levelSpecificFlags_set(func_8038EB84(this), TRUE);
|
||||
return;
|
||||
}
|
||||
@@ -189,7 +189,7 @@ void func_8038EF58(ActorMarker *marker) {
|
||||
func_8028E6EC(2);
|
||||
func_8028F918(0);
|
||||
func_8028F94C(4, sp24);
|
||||
func_8038F350(this, func_8031FF1C(0x17) ? 4 : 3);
|
||||
func_8038F350(this, fileProgressFlag_get(FILEPROG_17_HAS_HAD_ENOUGH_JIGSAW_PIECES) ? 4 : 3);
|
||||
}
|
||||
|
||||
void func_8038EFD8(Actor *this) {
|
||||
@@ -260,18 +260,18 @@ void func_8038F250(Actor *this){
|
||||
if( (this->unkF4_8 >= 2)
|
||||
&& (local->unk4 > 0)
|
||||
&& !func_8038EB58(this)
|
||||
&& !func_8031FF1C(0xDF)
|
||||
&& !fileProgressFlag_get(FILEPROG_DF_CAN_REMOVE_ALL_PUZZLE_PIECES)
|
||||
) {
|
||||
if (func_80311480(0xF7C, 2, NULL, NULL, NULL, NULL)) {
|
||||
func_80320004(0xDF, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_DF_CAN_REMOVE_ALL_PUZZLE_PIECES, TRUE);
|
||||
}
|
||||
} else if ((this->unkF4_8 >= 3)
|
||||
&& (local->unk4 >= 2)
|
||||
&& !func_8038EB58(this)
|
||||
&& !func_8031FF1C(0xE0)
|
||||
&& !fileProgressFlag_get(FILEPROG_E0_CAN_PLACE_ALL_PUZZLE_PIECES)
|
||||
){
|
||||
if(func_80311480(0xF7D, 2, NULL, NULL, NULL, NULL)) {
|
||||
func_80320004(0xE0, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_E0_CAN_PLACE_ALL_PUZZLE_PIECES, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -300,13 +300,13 @@ void func_8038F350(Actor *this, s32 next_state){
|
||||
func_803115C4(0xF80);
|
||||
func_803115C4(0xF7F);
|
||||
if (item_getCount(ITEM_26_JIGGY_TOTAL) > 0) {
|
||||
func_80311480(func_8031FF1C(0x16) ? 0xF5A : 0xF59, 6, sp50, this->marker, func_8038F078, NULL);
|
||||
func_80320004(0x17, 1);
|
||||
func_80311480(fileProgressFlag_get(FILEPROG_16_STOOD_ON_JIGSAW_PODIUM) ? 0xF5A : 0xF59, 6, sp50, this->marker, func_8038F078, NULL);
|
||||
fileProgressFlag_set(FILEPROG_17_HAS_HAD_ENOUGH_JIGSAW_PIECES, 1);
|
||||
} else {
|
||||
func_80311480(0xF58, 6, sp50, this->marker, func_8038F078, NULL);
|
||||
}
|
||||
func_80320004(0x16, 1);
|
||||
func_80320004(0xA7, 1);
|
||||
fileProgressFlag_set(FILEPROG_16_STOOD_ON_JIGSAW_PODIUM, 1);
|
||||
fileProgressFlag_set(FILEPROG_A7_NEAR_PUZZLE_PODIUM_TEXT, 1);
|
||||
break;
|
||||
|
||||
case 8: //L8038F4AC
|
||||
@@ -317,7 +317,7 @@ void func_8038F350(Actor *this, s32 next_state){
|
||||
func_8038F1EC(this, temp_s1, 0);
|
||||
local->unk4--;
|
||||
local->unk0 &= ~(1 << temp_s1);
|
||||
func_80320044(D_803947F8[this->unkF4_8 - 1].unk2, local->unk4, D_803947F8[this->unkF4_8 - 1].unk1);
|
||||
fileProgressFlag_setN(D_803947F8[this->unkF4_8 - 1].progress_flag, local->unk4, D_803947F8[this->unkF4_8 - 1].size_bits);
|
||||
func_803463F4(ITEM_26_JIGGY_TOTAL, 1);
|
||||
}
|
||||
break;
|
||||
@@ -330,7 +330,7 @@ void func_8038F350(Actor *this, s32 next_state){
|
||||
temp_s1 = func_8038F0EC(this);
|
||||
func_8038F1EC(this, temp_s1, 1);
|
||||
local->unk0 |= (1 << temp_s1);
|
||||
func_80320044(D_803947F8[this->unkF4_8 - 1].unk2, local->unk4, D_803947F8[this->unkF4_8 - 1].unk1);
|
||||
fileProgressFlag_setN(D_803947F8[this->unkF4_8 - 1].progress_flag, local->unk4, D_803947F8[this->unkF4_8 - 1].size_bits);
|
||||
func_803463F4(ITEM_26_JIGGY_TOTAL, -1);
|
||||
func_8038F250(this);
|
||||
}
|
||||
@@ -353,7 +353,7 @@ void func_8038F350(Actor *this, s32 next_state){
|
||||
local->unk0 |= (1 << temp_s1);
|
||||
func_803463F4(ITEM_26_JIGGY_TOTAL, -1);
|
||||
}
|
||||
func_80320044(D_803947F8[this->unkF4_8 - 1].unk2, local->unk4, D_803947F8[this->unkF4_8 - 1].unk1);
|
||||
fileProgressFlag_setN(D_803947F8[this->unkF4_8 - 1].progress_flag, local->unk4, D_803947F8[this->unkF4_8 - 1].size_bits);
|
||||
func_8038F250(this);
|
||||
}
|
||||
break;
|
||||
@@ -391,12 +391,12 @@ void lair_func_8038F894(Actor *this, s32 arg1) {
|
||||
return;
|
||||
}
|
||||
func_8025A70C(COMUSIC_2C_BUZZER);
|
||||
if (func_8031FF1C(0xDE) != 0) {
|
||||
if (fileProgressFlag_get(FILEPROG_DE_USED_ALL_YOUR_PUZZLE_PIECES) != 0) {
|
||||
func_8038F350(this, 1);
|
||||
return;
|
||||
}
|
||||
func_80311480(0xFBC, 4, NULL, NULL, NULL, NULL);
|
||||
func_80320004(0xDE, 1);
|
||||
fileProgressFlag_set(FILEPROG_DE_USED_ALL_YOUR_PUZZLE_PIECES, 1);
|
||||
}
|
||||
|
||||
void lair_func_8038F924(Actor *this) {
|
||||
@@ -417,7 +417,7 @@ void lair_func_8038F924(Actor *this) {
|
||||
|
||||
if (!this->unk16C_4) {
|
||||
// temp_v0 = &D_803947F8[this->unkF4_8 - 1];
|
||||
sp64 = func_8031FF44(D_803947F8[this->unkF4_8 - 1].unk2, D_803947F8[this->unkF4_8 - 1].unk1);
|
||||
sp64 = fileProgressFlag_getN(D_803947F8[this->unkF4_8 - 1].progress_flag, D_803947F8[this->unkF4_8 - 1].size_bits);
|
||||
local->unk0 = 0;
|
||||
local->unk4 = 0;
|
||||
local->unk8 = (func_8038ECA8(this->marker)) ? 0xff : 1;
|
||||
@@ -432,11 +432,11 @@ void lair_func_8038F924(Actor *this) {
|
||||
this->unk16C_4 = TRUE;
|
||||
if (this->unkF4_8 == 9) {
|
||||
this->unk1C[0] = 8.0f;
|
||||
if (!func_8031FF1C(0x53)) {
|
||||
if (!fileProgressFlag_get(FILEPROG_53_CCW_PUZZLE_PODIUM_SWITCH_PRESSED)) {
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
}
|
||||
if (!func_8031FF1C(0x54)) {
|
||||
if (!fileProgressFlag_get(FILEPROG_54_CCW_PUZZLE_PODIUM_ACTIVE)) {
|
||||
func_802C9334(0x20, this);
|
||||
func_80324CFC(0.0f, COMUSIC_43_ENTER_LEVEL_GLITTER, 0x7FFF);
|
||||
func_80324D2C(2.1f, COMUSIC_43_ENTER_LEVEL_GLITTER);
|
||||
@@ -445,7 +445,7 @@ void lair_func_8038F924(Actor *this) {
|
||||
}
|
||||
}
|
||||
|
||||
if ((this->unkF4_8 == 9) && !func_8031FF1C(0x54)) {
|
||||
if ((this->unkF4_8 == 9) && !fileProgressFlag_get(FILEPROG_54_CCW_PUZZLE_PODIUM_ACTIVE)) {
|
||||
this->yaw += this->unk1C[0];
|
||||
while(this->yaw >= 360.0f){
|
||||
this->yaw -= 360.0f;
|
||||
@@ -477,13 +477,13 @@ void lair_func_8038F924(Actor *this) {
|
||||
this->unk138_24 = TRUE;
|
||||
}
|
||||
if (func_80329530(this, 300)) {
|
||||
if ((this->unkF4_8 == 0xA) && !func_8031FF1C(0xF6)) {
|
||||
phi_a0 = (item_getCount(ITEM_26_JIGGY_TOTAL) < D_803947F8[this->unkF4_8 - 1].unk0) ? 0xFAB : 0xFC0;
|
||||
if ((this->unkF4_8 == 0xA) && !fileProgressFlag_get(FILEPROG_F6_SEEN_DOOR_OF_GRUNTY_PUZZLE_PODIUM)) {
|
||||
phi_a0 = (item_getCount(ITEM_26_JIGGY_TOTAL) < D_803947F8[this->unkF4_8 - 1].cost) ? 0xFAB : 0xFC0;
|
||||
if (func_80311480(phi_a0, 0, NULL, NULL, NULL, NULL)) {
|
||||
func_80320004(0xF6, TRUE);
|
||||
fileProgressFlag_set(FILEPROG_F6_SEEN_DOOR_OF_GRUNTY_PUZZLE_PODIUM, TRUE);
|
||||
}
|
||||
} else if (this->unkF4_8 == 1) {
|
||||
func_8035644C(0xA7);
|
||||
func_8035644C(FILEPROG_A7_NEAR_PUZZLE_PODIUM_TEXT);
|
||||
}
|
||||
}
|
||||
if (func_8038ECA8(this->marker) && this->unk138_24 && !func_8038EB58(this) && (func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT)) {
|
||||
@@ -497,7 +497,7 @@ void lair_func_8038F924(Actor *this) {
|
||||
lair_func_8038F894(this, 5);
|
||||
} else if (sp7C[FACE_BUTTON(BUTTON_B)] == 1) {
|
||||
func_8038F350(this, 1);
|
||||
} else if ((sp6C[0] == 1) && func_8031FF1C(0xE0)) {
|
||||
} else if ((sp6C[SIDE_BUTTON(BUTTON_Z)] == 1) && fileProgressFlag_get(FILEPROG_E0_CAN_PLACE_ALL_PUZZLE_PIECES)) {
|
||||
lair_func_8038F894(this, 6);
|
||||
} else if (sp7C[FACE_BUTTON(BUTTON_C_DOWN)] == 1) {
|
||||
if (local->unk4) {
|
||||
|
@@ -28,7 +28,7 @@ s32 func_80390084(void) {
|
||||
s32 phi_s1;
|
||||
|
||||
for(phi_s0 = 0, phi_s1 = 0; phi_s0 < 3; phi_s0++){
|
||||
if (func_8031FF1C(phi_s0 + 0xAD)) {
|
||||
if (fileProgressFlag_get(phi_s0 + 0xAD)) {
|
||||
phi_s1++;
|
||||
}
|
||||
}
|
||||
@@ -44,8 +44,8 @@ void func_803900EC(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
|
||||
sp1C = marker->unk14_20 - 0x16D;
|
||||
func_8028F918(0);
|
||||
if (!func_8031FF1C(sp1C + 0xAD)) {
|
||||
func_80320004(sp1C + 0xAD, 1);
|
||||
if (!fileProgressFlag_get(sp1C + 0xAD)) {
|
||||
fileProgressFlag_set(sp1C + 0xAD, 1);
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
}
|
||||
@@ -63,7 +63,7 @@ void func_80390174(ActorMarker *marker, s32 arg1) {
|
||||
this = marker_getActor(marker);
|
||||
sp28 = this->marker->unk14_20 - 0x16D;
|
||||
func_8028F94C(2, this->position);
|
||||
if (func_8031FF1C(sp28 + 0xAD)) {
|
||||
if (fileProgressFlag_get(sp28 + 0xAD)) {
|
||||
func_80311480(sp28 + 0xF83, 0xE, this->position, this->marker, func_803900EC, lair_func_803900DC);
|
||||
return;
|
||||
}
|
||||
@@ -106,7 +106,7 @@ void func_803902B8(Actor *this) {
|
||||
}
|
||||
this->unk38_0 = sp58;
|
||||
sp58 = func_80259384(this->position, sp5C, 400.0f);
|
||||
if (func_8031FF1C(sp54 + 0xAD)) {
|
||||
if (fileProgressFlag_get(sp54 + 0xAD)) {
|
||||
func_8024E55C(0, sp3C);
|
||||
sp58 &= (sp3C[FACE_BUTTON(BUTTON_B)] == 1) || func_8028EC04();
|
||||
}
|
||||
|
@@ -73,7 +73,7 @@ void func_803920E0(Actor *this, enum sfx_e sfx_id, f32 arg2, f32 arg3, s32 arg4,
|
||||
void func_8039217C(Actor *this) {
|
||||
if (!this->initialized) {
|
||||
this->initialized = TRUE;
|
||||
if (func_8031FF1C(0xA6)) {
|
||||
if (fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)) {
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
}
|
||||
|
@@ -53,13 +53,13 @@ void func_80392690(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
|
||||
void func_80392700(Actor *this) {
|
||||
if (mapSpecificFlags_get(4)) {
|
||||
if (func_8031FF1C(0xF4)) {
|
||||
if (fileProgressFlag_get(FILEPROG_F4_ENTER_FF_CUTSCENE)) {
|
||||
func_80311480(0x1031, 0xF, this->position, this->marker, func_80392664, func_80392610);
|
||||
} else {
|
||||
func_802BC280();
|
||||
set_camera_to_node(0x1F);
|
||||
func_80311480(0x102C, 0xE, this->position, this->marker, func_80392664, func_80392610);
|
||||
func_80320004(0xF4, 1);
|
||||
fileProgressFlag_set(FILEPROG_F4_ENTER_FF_CUTSCENE, TRUE);
|
||||
}
|
||||
mapSpecificFlags_set(4, 0);
|
||||
}
|
||||
@@ -91,13 +91,13 @@ void func_80392700(Actor *this) {
|
||||
|
||||
void func_80392918(Actor *this) {
|
||||
if (!this->unk16C_4) {
|
||||
if ((func_8031FF1C(0xF4) != 0) && (func_8028E4A4() == 2)) {
|
||||
if (fileProgressFlag_get(FILEPROG_F4_ENTER_FF_CUTSCENE) && (func_8028E4A4() == 2)) {
|
||||
mapSpecificFlags_set(4, 1);
|
||||
}
|
||||
this->unk4C = 400.0f;
|
||||
this->marker->unk2C_2 = FALSE;
|
||||
this->unk16C_4 = TRUE;
|
||||
if (func_8031FF1C(0xA6) != 0) {
|
||||
if (fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)) {
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
return;
|
||||
|
@@ -31,7 +31,7 @@ void func_80392B6C(Actor *this) {
|
||||
|
||||
if (!this->unk16C_4) {
|
||||
this->unk16C_4 = TRUE;
|
||||
if (func_8031FF1C(0xA6) != 0) {
|
||||
if (fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)) {
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
}
|
||||
|
Reference in New Issue
Block a user