mirror of
https://github.com/zeldaret/oot
synced 2026-07-30 16:03:50 -04:00
@@ -1,4 +1,5 @@
|
||||
#include "z_demo_gj.h"
|
||||
#include "overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.h"
|
||||
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
@@ -209,6 +210,12 @@ extern Vec3f D_8097BE70; // accel
|
||||
extern Color_RGBA8 D_8097BE7C; // primColor
|
||||
extern Color_RGBA8 D_8097BE80; // envColor
|
||||
|
||||
extern Vec3f D_8097BE88;
|
||||
extern Vec3f D_8097BEA0;
|
||||
|
||||
extern ColliderCylinderInitType1 D_8097BDE0;
|
||||
extern ColliderCylinderInitType1 D_8097BE0C;
|
||||
extern ColliderCylinderInitType1 D_8097BE38;
|
||||
|
||||
|
||||
s32 func_80978930(DemoGj *this) {
|
||||
@@ -318,34 +325,33 @@ s32 func_80978EBC(void) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void func_80978EE4(DemoGj* this, GlobalContext* globalCtx);
|
||||
/*
|
||||
void func_80978EE4(DemoGj* this, GlobalContext* globalCtx) {
|
||||
Actor *temp_v0;
|
||||
char *temp_v0_2;
|
||||
char *phi_v0;
|
||||
s32 func_80978EE4(DemoGj *this, GlobalContext *globalCtx);
|
||||
#ifdef NON_MATCHING
|
||||
s32 func_80978EE4(DemoGj *this, GlobalContext *globalCtx) {
|
||||
Actor* actor;
|
||||
|
||||
if (this->unk_178 == 0) {
|
||||
temp_v0 = globalCtx->actorCtx.actorLists[9].head;
|
||||
phi_v0 = (char *) temp_v0;
|
||||
if (temp_v0 != 0) {
|
||||
loop_2:
|
||||
if (phi_v0->unk0 == 0x17A) {
|
||||
this->unk_178 = phi_v0;
|
||||
osSyncPrintf((const char *) "Demo_Gj_Search_Boss_Ganon %d:ガノン発見!!!!\n", this->dyna.actor.params, this);
|
||||
return;
|
||||
}
|
||||
temp_v0_2 = phi_v0->unk124;
|
||||
phi_v0 = temp_v0_2;
|
||||
if (temp_v0_2 != 0) {
|
||||
goto loop_2;
|
||||
if (this->ganon == NULL) {
|
||||
actor = globalCtx->actorCtx.actorLists[ACTORCAT_BOSS].head;
|
||||
|
||||
for (; actor != NULL; actor = actor->next) {
|
||||
if (actor->id == ACTOR_BOSS_GANON2) {
|
||||
this->ganon = actor;
|
||||
|
||||
// Demo_Gj_Search_Boss_Ganon %d: Discover Ganon !!!!
|
||||
osSyncPrintf("Demo_Gj_Search_Boss_Ganon %d:ガノン発見!!!!\n", this->dyna.actor.params, this);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
osSyncPrintf((const char *) "Demo_Gj_Search_Boss_Ganon %d:ガノン発見出来ず\n", this->dyna.actor.params, this);
|
||||
|
||||
// Demo_Gj_Search_Boss_Ganon %d: I couldn't find Ganon
|
||||
osSyncPrintf("Demo_Gj_Search_Boss_Ganon %d:ガノン発見出来ず\n", this->dyna.actor.params, this);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_80978EE4.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_80978F60(DemoGj* this, GlobalContext* globalCtx, CollisionHeader *arg2) {
|
||||
@@ -398,14 +404,14 @@ void func_80979030(DemoGj* this, GlobalContext* globalCtx, Gfx* displayList) {
|
||||
}
|
||||
|
||||
void func_8097911C(DemoGj* this, GlobalContext* globalCtx, Gfx* displayList) {
|
||||
void* dummy;
|
||||
void* dummy; // Needed for matching.
|
||||
GraphicsContext *gfxCtx;
|
||||
|
||||
s16 sp56;
|
||||
s16 sp54;
|
||||
s16 sp52;
|
||||
|
||||
void* dummy2;
|
||||
void* dummy2; // Needed for matching.
|
||||
Mtx* matrix;
|
||||
|
||||
sp56 = this->unk_16C.x;
|
||||
@@ -432,8 +438,104 @@ void func_8097911C(DemoGj* this, GlobalContext* globalCtx, Gfx* displayList) {
|
||||
CLOSE_DISPS(gfxCtx, "../z_demo_gj.c", 1201);
|
||||
}
|
||||
|
||||
void func_8097923C(DemoGj* this, UNK_TYPE arg1);
|
||||
void func_8097923C(DemoGj* this, GlobalContext* globalCtx);
|
||||
#ifdef NON_MATCHING
|
||||
void func_8097923C(DemoGj *this, GlobalContext *globalCtx) {
|
||||
f32 actor_y = this->dyna.actor.world.pos.y;
|
||||
f32* actor_y_velocity = &this->dyna.actor.velocity.y;
|
||||
f32* actor_speedXZ = &this->dyna.actor.speedXZ;
|
||||
Vec3s* unk_172 = &this->unk_172;
|
||||
|
||||
f32 phi_f12;
|
||||
f32 phi_f14;
|
||||
f32 phi_f16;
|
||||
f32 phi_f18;
|
||||
f32 phi_f20;
|
||||
f32 phi_f22;
|
||||
|
||||
switch (func_80978950(this) - 8) {
|
||||
case 0:
|
||||
phi_f12 = gGameInfo->data[2615];
|
||||
phi_f14 = gGameInfo->data[2616] * 0.01f + 1.0f;
|
||||
phi_f16 = gGameInfo->data[2617] * 0.01f + 1.0f;
|
||||
phi_f18 = gGameInfo->data[2618] * 0.01f + 1.0f;
|
||||
phi_f20 = gGameInfo->data[2619] * 0.01f + -1.0f;
|
||||
phi_f22 = gGameInfo->data[2620] * 0.01f + 1.0f;
|
||||
break;
|
||||
case 1:
|
||||
phi_f12 = gGameInfo->data[2628];
|
||||
phi_f14 = gGameInfo->data[2629] * 0.01f + 1.0f;
|
||||
phi_f16 = gGameInfo->data[2630] * 0.01f + 1.0f;
|
||||
phi_f18 = gGameInfo->data[2631] * 0.01f + 1.0f;
|
||||
phi_f20 = gGameInfo->data[2632] * 0.01f + -1.0f;
|
||||
phi_f22 = gGameInfo->data[2633] * 0.01f + 1.0f;
|
||||
break;
|
||||
case 2:
|
||||
phi_f12 = gGameInfo->data[2641];
|
||||
phi_f14 = gGameInfo->data[2642] * 0.01f + 1.0f;
|
||||
phi_f16 = gGameInfo->data[2643] * 0.01f + 1.0f;
|
||||
phi_f18 = gGameInfo->data[2644] * 0.01f + 1.0f;
|
||||
phi_f20 = gGameInfo->data[2645] * 0.01f + -1.0f;
|
||||
phi_f22 = gGameInfo->data[2646] * 0.01f + 1.0f;
|
||||
break;
|
||||
case 3:
|
||||
phi_f12 = gGameInfo->data[2654];
|
||||
phi_f14 = gGameInfo->data[2655] * 0.01f + 1.0f;
|
||||
phi_f16 = gGameInfo->data[2656] * 0.01f + 1.0f;
|
||||
phi_f18 = gGameInfo->data[2657] * 0.01f + 1.0f;
|
||||
phi_f20 = gGameInfo->data[2658] * 0.01f + -1.0f;
|
||||
phi_f22 = gGameInfo->data[2659] * 0.01f + 1.0f;
|
||||
break;
|
||||
case 4:
|
||||
phi_f12 = gGameInfo->data[2667];
|
||||
phi_f14 = gGameInfo->data[2668] * 0.01f + 1.0f;
|
||||
phi_f16 = gGameInfo->data[2669] * 0.01f + 1.0f;
|
||||
phi_f18 = gGameInfo->data[2670] * 0.01f + 1.0f;
|
||||
phi_f20 = gGameInfo->data[2671] * 0.01f + -1.0f;
|
||||
phi_f22 = gGameInfo->data[2672] * 0.01f + 1.0f;
|
||||
break;
|
||||
case 5:
|
||||
phi_f12 = gGameInfo->data[2680];
|
||||
phi_f14 = gGameInfo->data[2681] * 0.01f + 1.0f;
|
||||
phi_f16 = gGameInfo->data[2682] * 0.01f + 1.0f;
|
||||
phi_f18 = gGameInfo->data[2683] * 0.01f + 1.0f;
|
||||
phi_f20 = gGameInfo->data[2684] * 0.01f + -1.0f;
|
||||
phi_f22 = gGameInfo->data[2685] * 0.01f + 1.0f;
|
||||
break;
|
||||
case 6:
|
||||
phi_f12 = gGameInfo->data[2602] + -190.0f;
|
||||
phi_f14 = gGameInfo->data[2601] * 0.01f + 1.0f;
|
||||
phi_f16 = gGameInfo->data[2600] * 0.01f + 1.0f;
|
||||
phi_f18 = gGameInfo->data[2599] * 0.01f + 1.0f;
|
||||
phi_f20 = gGameInfo->data[2598] * 0.01f + -1.0f;
|
||||
phi_f22 = gGameInfo->data[2597] * 0.01f + 1.0f;
|
||||
break;
|
||||
default:
|
||||
osSyncPrintf("\x1b[31mDemo_Gj_common_Reflect : そんなarg_dataには対応していない = %d\n\x1b[m", this->dyna.actor.params);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((actor_y + phi_f12) <= 1086.0f) {
|
||||
if ((*actor_y_velocity < 0.0f) && (this->unk_180 == 0)) {
|
||||
*actor_y_velocity *= phi_f20;
|
||||
*actor_speedXZ *= phi_f22;
|
||||
unk_172->x *= phi_f14;
|
||||
unk_172->y *= phi_f16;
|
||||
unk_172->z *= phi_f18;
|
||||
if (*actor_y_velocity <= -this->dyna.actor.gravity) {
|
||||
*actor_y_velocity = 0.0f;
|
||||
*actor_speedXZ = 0.0f;
|
||||
unk_172->x = 0;
|
||||
unk_172->y = 0;
|
||||
unk_172->z = 0;
|
||||
}
|
||||
this->unk_180 = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097923C.s")
|
||||
#endif
|
||||
|
||||
/*
|
||||
s32 func_809797E4(void* arg0, s32 arg1) {
|
||||
@@ -449,14 +551,14 @@ s32 func_809797E4(void* arg0, s32 arg1) {
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_809797E4.s")
|
||||
|
||||
/*
|
||||
void func_80979818(? arg1) {
|
||||
s32 func_80979818(? arg1) {
|
||||
func_809797E4(1);
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_80979818.s")
|
||||
|
||||
/*
|
||||
void func_8097983C(? arg1) {
|
||||
s32 func_8097983C(? arg1) {
|
||||
func_809797E4(2);
|
||||
}
|
||||
*/
|
||||
@@ -477,34 +579,39 @@ void func_80979FD0(DemoGj* this, GlobalContext* globalCtx) {
|
||||
func_80978FCC(this, globalCtx, 1, 2, &D_06001F70);
|
||||
}
|
||||
|
||||
void func_8097A000(DemoGj* this, s32 arg1);
|
||||
void func_8097A000(DemoGj* this, GlobalContext* globalCtx);
|
||||
#ifdef NON_MATCHING
|
||||
void func_8097A000(DemoGj *this, s32 arg1) {
|
||||
/*
|
||||
void func_8097A000(DemoGj *this, GlobalContext *globalCtx) {
|
||||
Actor_MoveForward(&this->dyna.actor);
|
||||
this->unk_16C.x += gGameInfo->data[2610];
|
||||
this->unk_16C.y += 0x3E8 + gGameInfo->data[2611];
|
||||
this->unk_16C.z = 0xBB8 + gGameInfo->data[2612] + this->unk_16C.z;
|
||||
func_8097923C(this, arg1);
|
||||
func_8097923C(this, globalCtx);
|
||||
}
|
||||
*/
|
||||
|
||||
void func_8097A000(DemoGj *this, GlobalContext *globalCtx) {
|
||||
Actor_MoveForward(&this->dyna.actor);
|
||||
this->unk_16C.x = this->unk_16C.x + gGameInfo->data[2610];
|
||||
this->unk_16C.y = this->unk_16C.y + (gGameInfo->data[2611] + 0x3E8);
|
||||
this->unk_16C.z = this->unk_16C.z + (gGameInfo->data[2612] + 0xBB8);
|
||||
func_8097923C(this, globalCtx);
|
||||
}
|
||||
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097A000.s")
|
||||
#endif
|
||||
|
||||
//s32 func_8097A07C(DemoGj* this, GlobalContext* globalCtx);
|
||||
void func_8097A07C(DemoGj* this, GlobalContext* globalCtx);
|
||||
/*
|
||||
s32 func_8097A07C(DemoGj* this, GlobalContext* globalCtx) {
|
||||
s32 phi_return;
|
||||
|
||||
phi_return = globalCtx + 0x10000;
|
||||
if (this->unk17C == 0) {
|
||||
if (((u32) globalCtx->gameplayFrames % 3U) == 0) {
|
||||
this = this;
|
||||
void func_8097A07C(DemoGj *this, GlobalContext *globalCtx) {
|
||||
if (this->unk_17C == 0) {
|
||||
if ((globalCtx->gameplayFrames % 3)==0) {
|
||||
func_80978AFC(globalCtx, &D_8097BE88, 300.0f);
|
||||
}
|
||||
phi_return = func_80979F9C(this);
|
||||
func_80979F9C(this);
|
||||
}
|
||||
return phi_return;
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097A07C.s")
|
||||
@@ -759,9 +866,25 @@ void func_8097A814(DemoGj* this, GlobalContext* globalCtx) {
|
||||
#endif
|
||||
|
||||
void func_8097A890(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097A890(DemoGj *this, GlobalContext *globalCtx) {
|
||||
if (func_80979818() != 0) {
|
||||
func_80979860(this, globalCtx);
|
||||
this->unk_164 = 0xC;
|
||||
this->unk_168 = 0xD;
|
||||
}
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097A890.s")
|
||||
|
||||
void func_8097A8DC(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097A8DC(DemoGj *this, GlobalContext *globalCtx) {
|
||||
if (func_8097983C() != 0) {
|
||||
Actor_Kill((Actor *) this);
|
||||
}
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097A8DC.s")
|
||||
|
||||
void func_8097A90C(DemoGj *this, GlobalContext *globalCtx) {
|
||||
@@ -782,16 +905,42 @@ void func_8097A990(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_8097911C(this, globalCtx, &D_06002E80);
|
||||
}
|
||||
|
||||
void func_8097A9B4(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097A9B4.s")
|
||||
void func_8097A9B4(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_80978FCC(this, globalCtx, 6, 7, &D_060033E0);
|
||||
}
|
||||
|
||||
void func_8097A9E4(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097A9E4(DemoGj *this, GlobalContext *globalCtx) {
|
||||
Actor_MoveForward((Actor *) this);
|
||||
this->unk_16C.x = this->unk_16C.x + gGameInfo->data[2675];
|
||||
this->unk_16C.y = this->unk_16C.y + (gGameInfo->data[2676] + 0x3E8);
|
||||
this->unk_16C.z = this->unk_16C.z + (gGameInfo->data[2677] + 0xBB8);
|
||||
func_8097923C(this, globalCtx);
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097A9E4.s")
|
||||
|
||||
void func_8097AA60(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097AA60(DemoGj *this, GlobalContext *globalCtx) {
|
||||
if (func_80979818() != 0) {
|
||||
func_80979860(this, globalCtx);
|
||||
this->unk_164 = 0xD;
|
||||
this->unk_168 = 0xE;
|
||||
}
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097AA60.s")
|
||||
|
||||
void func_8097AAAC(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097AAAC(DemoGj *this, GlobalContext *globalCtx) {
|
||||
if (func_8097983C() != 0) {
|
||||
Actor_Kill((Actor *) this);
|
||||
}
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097AAAC.s")
|
||||
|
||||
void func_8097AADC(DemoGj *this, GlobalContext *globalCtx) {
|
||||
@@ -812,19 +961,55 @@ void func_8097AB60(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_8097911C(this, globalCtx, &D_06003190);
|
||||
}
|
||||
|
||||
void func_8097AB84(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097AB84.s")
|
||||
void func_8097AB84(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_80978FCC(this, globalCtx, 7, 8, &D_06003AF0);
|
||||
}
|
||||
|
||||
void func_8097ABB4(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097ABB4(DemoGj *this, GlobalContext *globalCtx) {
|
||||
Actor_MoveForward((Actor *) this);
|
||||
this->unk_16C.x = this->unk_16C.x + gGameInfo->data[2607];
|
||||
this->unk_16C.y = this->unk_16C.y + (gGameInfo->data[2606] + 0x3E8);
|
||||
this->unk_16C.z = this->unk_16C.z + (gGameInfo->data[2605] + 0xBB8);
|
||||
func_8097923C(this, globalCtx);
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097ABB4.s")
|
||||
|
||||
void func_8097AC30(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*void func_8097AC30(DemoGj *this, GlobalContext *globalCtx) {
|
||||
if (this->unk_17C == 0) {
|
||||
if (((u32) globalCtx->gameplayFrames % 3U) == 2) {
|
||||
this = this;
|
||||
func_80978AFC(globalCtx, &D_8097BEA0, 300.0f);
|
||||
}
|
||||
func_80979F9C(this);
|
||||
}
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097AC30.s")
|
||||
|
||||
void func_8097AC9C(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097AC9C(DemoGj *this, GlobalContext *globalCtx) {
|
||||
if (func_80979818() != 0) {
|
||||
func_80979860(this, globalCtx);
|
||||
this->unk_164 = 0xE;
|
||||
this->unk_168 = 0xF;
|
||||
}
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097AC9C.s")
|
||||
|
||||
void func_8097ACE8(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097ACE8(DemoGj *this, GlobalContext *globalCtx) {
|
||||
if (func_8097983C() != 0) {
|
||||
Actor_Kill((Actor *) this);
|
||||
}
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097ACE8.s")
|
||||
|
||||
void func_8097AD18(DemoGj *this, GlobalContext *globalCtx) {
|
||||
@@ -845,8 +1030,9 @@ void func_8097AD9C(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_8097911C(this, globalCtx, &D_06003710);
|
||||
}
|
||||
|
||||
void func_8097ADC0(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097ADC0.s")
|
||||
void func_8097ADC0(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_80978FCC(this, globalCtx, 0, 1, &D_06001B70);
|
||||
}
|
||||
|
||||
void func_8097ADF0(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_80978EE4(this, globalCtx);
|
||||
@@ -859,11 +1045,15 @@ void func_8097AE38(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_80979030(this, globalCtx, &D_06000DC0);
|
||||
}
|
||||
|
||||
void func_8097AE5C(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097AE5C.s")
|
||||
void func_8097AE5C(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_80978FCC(this, globalCtx, 0xF, 0, 0);
|
||||
func_8097895C(this, globalCtx, &this->unk_184, &D_8097BDE0);
|
||||
func_8097895C(this, globalCtx, &this->unk_1D0, &D_8097BDE0);
|
||||
func_8097895C(this, globalCtx, &this->unk_21C, &D_8097BDE0);
|
||||
}
|
||||
|
||||
void func_8097AEDC(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097AEDC.s")
|
||||
void func_8097AEDC(DemoGj *this, GlobalContext *globalCtx) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097AEE8.s")
|
||||
|
||||
@@ -872,11 +1062,57 @@ void func_8097AEDC(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B0EC.s")
|
||||
|
||||
void func_8097B128(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097B128(DemoGj *this, GlobalContext *globalCtx) {
|
||||
DemoGj *temp_a0;
|
||||
Vec3f *temp_v0;
|
||||
|
||||
temp_a0 = this;
|
||||
if (func_8097983C() != 0) {
|
||||
this = temp_a0;
|
||||
func_80978F60(temp_a0, globalCtx, &D_06001F70);
|
||||
this->unk_164 = 0x12;
|
||||
this->unk_168 = 0x10;
|
||||
temp_v0 = &this->dyna.actor.scale;
|
||||
temp_v0->x = temp_v0->x * 0.8f;
|
||||
temp_v0->y = temp_v0->y * 0.8f;
|
||||
temp_v0->z = temp_v0->z * 0.8f;
|
||||
}
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B128.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B1B4.s")
|
||||
|
||||
void func_8097B22C(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097B22C(DemoGj *this, GlobalContext *globalCtx) {
|
||||
? sp30;
|
||||
f32 sp28;
|
||||
? sp24;
|
||||
|
||||
if (func_809797E4(4) != 0) {
|
||||
Actor_Kill((Actor *) this);
|
||||
} else if (func_8097B1B4(this, globalCtx) != 0) {
|
||||
sp30.unk0 = (s32) D_8097BEAC.unk0;
|
||||
sp30.unk4 = (s32) D_8097BEAC.unk4;
|
||||
sp30.unk8 = (s32) D_8097BEAC.unk8;
|
||||
func_80978B90(this, globalCtx);
|
||||
func_8097B0EC(this, globalCtx, &sp30);
|
||||
Actor_Kill((Actor *) this);
|
||||
} else if (this->unk_268 != 0) {
|
||||
sp24.unk0 = (s32) this->unk26C;
|
||||
sp24.unk4 = (s32) this->unk270;
|
||||
sp24.unk8 = (s32) this->unk274;
|
||||
sp28 = 0.0f;
|
||||
func_80978B90(this, globalCtx);
|
||||
func_8097B0EC(this, globalCtx, &sp24);
|
||||
Actor_Kill((Actor *) this);
|
||||
}
|
||||
func_8097AEE8(this, globalCtx);
|
||||
func_8097B080(this, globalCtx);
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B22C.s")
|
||||
|
||||
void func_8097B340(DemoGj *this, GlobalContext *globalCtx) {
|
||||
@@ -893,11 +1129,15 @@ void func_8097B3A0(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_80979030(this, globalCtx, &D_06001D20);
|
||||
}
|
||||
|
||||
void func_8097B3C4(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B3C4.s")
|
||||
void func_8097B3C4(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_80978FCC(this, globalCtx, 0x10, 0, 0);
|
||||
func_8097895C(this, globalCtx, &this->unk_184, &D_8097BE0C);
|
||||
func_8097895C(this, globalCtx, &this->unk_1D0, &D_8097BE0C);
|
||||
func_8097895C(this, globalCtx, &this->unk_21C, &D_8097BE0C);
|
||||
}
|
||||
|
||||
void func_8097B444(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B444.s")
|
||||
void func_8097B444(DemoGj *this, GlobalContext *globalCtx) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B450.s")
|
||||
|
||||
@@ -908,9 +1148,55 @@ void func_8097B444(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B688.s")
|
||||
|
||||
void func_8097B6C4(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097B6C4(DemoGj *this, GlobalContext *globalCtx) {
|
||||
DemoGj *temp_a0;
|
||||
Vec3f *temp_v0;
|
||||
|
||||
temp_a0 = this;
|
||||
if (func_8097983C() != 0) {
|
||||
this = temp_a0;
|
||||
func_80978F60(temp_a0, globalCtx, &D_06002448);
|
||||
this->unk_164 = 0x13;
|
||||
this->unk_168 = 0x11;
|
||||
temp_v0 = &this->dyna.actor.scale;
|
||||
temp_v0->x = temp_v0->x * 0.8f;
|
||||
temp_v0->y = temp_v0->y * 0.8f;
|
||||
temp_v0->z = temp_v0->z * 0.8f;
|
||||
}
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B6C4.s")
|
||||
|
||||
void func_8097B750(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097B750(DemoGj *this, GlobalContext *globalCtx) {
|
||||
? sp30;
|
||||
f32 sp28;
|
||||
? sp24;
|
||||
|
||||
if (func_809797E4(4) != 0) {
|
||||
Actor_Kill((Actor *) this);
|
||||
} else if (func_8097B610(this, globalCtx) != 0) {
|
||||
sp30.unk0 = (s32) D_8097BEB8.unk0;
|
||||
sp30.unk4 = (s32) D_8097BEB8.unk4;
|
||||
sp30.unk8 = (s32) D_8097BEB8.unk8;
|
||||
func_80978B90(this, globalCtx);
|
||||
func_8097B688(this, globalCtx, &sp30);
|
||||
Actor_Kill((Actor *) this);
|
||||
} else if (this->unk_268 != 0) {
|
||||
sp24.unk0 = (s32) this->unk26C;
|
||||
sp24.unk4 = (s32) this->unk270;
|
||||
sp24.unk8 = (s32) this->unk274;
|
||||
sp28 = 0.0f;
|
||||
func_80978B90(this, globalCtx);
|
||||
func_8097B688(this, globalCtx, &sp24);
|
||||
Actor_Kill((Actor *) this);
|
||||
}
|
||||
func_8097B450(this, globalCtx);
|
||||
func_8097B5A4(this, globalCtx);
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B750.s")
|
||||
|
||||
void func_8097B864(DemoGj *this, GlobalContext *globalCtx) {
|
||||
@@ -927,18 +1213,77 @@ void func_8097B8C4(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_80979030(this, globalCtx, &D_06002160);
|
||||
}
|
||||
|
||||
void func_8097B8E8(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B8E8.s")
|
||||
void func_8097B8E8(DemoGj *this, GlobalContext *globalCtx) {
|
||||
func_80978FCC(this, globalCtx, 0x11, 0, 0);
|
||||
func_8097895C(this, globalCtx, &this->unk_184, &D_8097BE38);
|
||||
}
|
||||
|
||||
void func_8097B930(DemoGj *this, GlobalContext *globalCtx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B930.s")
|
||||
void func_8097B930(DemoGj *this, GlobalContext *globalCtx) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B93C.s")
|
||||
|
||||
void func_8097B9BC(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097B9BC(DemoGj *this, GlobalContext *globalCtx) {
|
||||
DemoGj *temp_a0;
|
||||
Vec3f *temp_v0;
|
||||
|
||||
temp_a0 = this;
|
||||
if (func_8097983C() != 0) {
|
||||
this = temp_a0;
|
||||
func_80978F60(temp_a0, globalCtx, (CollisionHeader *) &D_06003AF0);
|
||||
this->unk_164 = 0x14;
|
||||
this->unk_168 = 0x12;
|
||||
temp_v0 = &this->dyna.actor.scale;
|
||||
temp_v0->x = temp_v0->x * 0.8f;
|
||||
temp_v0->y = temp_v0->y * 0.8f;
|
||||
temp_v0->z = temp_v0->z * 0.8f;
|
||||
}
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B9BC.s")
|
||||
|
||||
void func_8097BA48(DemoGj *this, GlobalContext *globalCtx);
|
||||
/*
|
||||
void func_8097BA48(DemoGj *this, GlobalContext *globalCtx) {
|
||||
? sp3C;
|
||||
f32 sp34;
|
||||
? sp30;
|
||||
ColliderCylinder *temp_s2;
|
||||
ColliderCylinder *phi_s2;
|
||||
|
||||
if (func_809797E4(4) != 0) {
|
||||
Actor_Kill((Actor *) this);
|
||||
phi_s2 = &this->unk_184;
|
||||
} else {
|
||||
temp_s2 = &this->unk_184;
|
||||
if (func_809789A4(this, globalCtx, temp_s2) != 0) {
|
||||
sp3C.unk0 = (s32) D_8097BEC4.unk0;
|
||||
sp3C.unk4 = (s32) D_8097BEC4.unk4;
|
||||
sp3C.unk8 = (s32) D_8097BEC4.unk8;
|
||||
func_80978B90(this, globalCtx);
|
||||
func_8097B93C(this, globalCtx, &sp3C);
|
||||
Actor_Kill((Actor *) this);
|
||||
phi_s2 = temp_s2;
|
||||
} else {
|
||||
phi_s2 = temp_s2;
|
||||
if (this->unk_268 != 0) {
|
||||
sp30.unk0 = (s32) this->unk26C;
|
||||
sp30.unk4 = (s32) this->unk270;
|
||||
sp30.unk8 = (s32) this->unk274;
|
||||
sp34 = 0.0f;
|
||||
func_80978B90(this, globalCtx);
|
||||
func_8097B93C(this, globalCtx, &sp30);
|
||||
Actor_Kill((Actor *) this);
|
||||
phi_s2 = temp_s2;
|
||||
}
|
||||
}
|
||||
}
|
||||
Collider_UpdateCylinder((Actor *) this, phi_s2);
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, (Collider *) phi_s2);
|
||||
}
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097BA48.s")
|
||||
|
||||
void func_8097BB78(DemoGj *this, GlobalContext *globalCtx) {
|
||||
|
||||
@@ -11,8 +11,10 @@ typedef struct DemoGj {
|
||||
/* 0x0164 */ s32 unk_164;
|
||||
/* 0x0168 */ s32 unk_168;
|
||||
/* 0x016C */ Vec3s unk_16C; // x,y,z?
|
||||
/* 0x0172 */ char unk_172[0x06];
|
||||
/* 0x0178 */ char unk_178[0x0C];
|
||||
/* 0x0172 */ Vec3s unk_172;
|
||||
/* 0x0178 */ Actor* ganon;
|
||||
/* 0x017C */ char unk_17C[0x04];
|
||||
/* 0x0180 */ s32 unk_180;
|
||||
/* 0x0184 */ ColliderCylinder unk_184;
|
||||
/* 0x01D0 */ ColliderCylinder unk_1D0;
|
||||
/* 0x021C */ ColliderCylinder unk_21C;
|
||||
|
||||
Reference in New Issue
Block a user