fox_aq decomped, some type cleanup (#112)

* stuff

* stuff

* temps

* matched

* so complete

* merge and clean

* format

* graphics macros

* aq

* more stuff

* oh god the clam

* limbdraw

* headers?

* format, name changes

* enums

* merge and format
This commit is contained in:
petrie911
2024-02-02 00:05:17 -03:00
committed by GitHub
parent 22f5d22fa0
commit 85da422168
26 changed files with 6473 additions and 1540 deletions
+3 -1
View File
@@ -49,7 +49,9 @@
"prevent_bss_reordering.h": "c",
"fox_map.h": "c",
"sf64level.h": "c",
"prevent_bss_reordering2.h": "c"
"prevent_bss_reordering2.h": "c",
"ast_aq.h": "c",
"ast_8e1f80.h": "c"
},
"C_Cpp_Runner.msvcBatchPath": ""
}
+35 -35
View File
@@ -187,10 +187,10 @@ extern Gfx D_3014BF0[];
extern Gfx D_3015120[];
extern Gfx D_30155E0[];
extern Gfx D_3015740[];
extern AnimationHeader D_3015AF4;
extern AnimationHeader D_3015C28;
extern Animation D_3015AF4;
extern Animation D_3015C28;
extern Gfx D_3015D80[];
extern AnimationHeader D_30163C4;
extern Animation D_30163C4;
extern Limb* D_3016610[];
extern Gfx D_3016660[];
extern Gfx D_30160A0[];
@@ -206,13 +206,13 @@ extern Gfx D_3018800[];
extern Gfx D_30194E0[];
extern Gfx D_301B080[];
extern Gfx D_301B6E0[];
extern AnimationHeader D_301C3A8;
extern Animation D_301C3A8;
extern Limb* D_301C614[];
extern AnimationHeader D_301CFEC;
extern Animation D_301CFEC;
extern Limb* D_301D258[];
extern AnimationHeader D_301D888;
extern Animation D_301D888;
extern Limb* D_301DB94[];
extern AnimationHeader D_301E19C;
extern Animation D_301E19C;
extern Limb* D_301E3E8[];
extern Gfx D_301E570[];
extern Gfx D_301F140[];
@@ -251,18 +251,18 @@ extern Triangle D_302F044[];
extern Vec3f D_302F098[];
// ast_918430, ast_922730
extern AnimationHeader D_4000080;
extern Animation D_4000080;
extern Limb* D_400014C[];
extern AnimationHeader D_40001A4;
extern Animation D_40001A4;
extern Limb* D_4000270[];
extern Gfx D_40018A0[];
extern Gfx D_4003BD0[];
extern AnimationHeader D_40057AC;
extern Animation D_40057AC;
extern Limb* D_40058B8[];
extern Gfx D_40068F0[];
extern Gfx D_4007870[];
extern Gfx D_4007AF0[];
extern AnimationHeader D_400A30C;
extern Animation D_400A30C;
extern Limb* D_400A398[];
extern Gfx D_400B390[];
@@ -353,7 +353,7 @@ extern Gfx D_6006140[];
extern Gfx D_6006310[];
extern u16* D_600631C[];
extern u8 D_6006320[];
extern AnimationHeader D_600636C;
extern Animation D_600636C;
extern f32 D_60064AC[];
extern f32 D_60064C8[];
extern f32 D_60064FC[];
@@ -394,8 +394,8 @@ extern Gfx D_6006A80[];
extern Gfx D_6006BE0[];
extern f32 D_6006BF0[];
extern f32 D_6006C44[];
extern AnimationHeader D_6006D64;
extern Limb *D_6006E50[];
extern Animation D_6006D64;
extern Limb* D_6006E50[];
extern EnvSettings D_6006E70;
extern u8 D_6006E80[];
extern u16 D_6006EA0[];
@@ -427,7 +427,7 @@ extern u16* D_6009B34[];
extern u16 D_6009BB8[];
extern f32 D_6009CC4[];
extern f32 D_6009CFC[];
extern AnimationHeader D_6009D30;
extern Animation D_6009D30;
extern Gfx D_6009E30[];
extern Vtx D_6009ED0[];
extern Gfx D_6009F90[];
@@ -439,7 +439,7 @@ extern u16 D_600AB68[];
extern u8 D_600AD30[];
extern Gfx D_600AF40[];
extern Gfx D_600B0E0[];
extern AnimationHeader D_600B1B4;
extern Animation D_600B1B4;
extern Gfx D_600B4B0[];
extern Gfx D_600B8B0[];
extern u8 D_600B9B0[];
@@ -447,9 +447,9 @@ extern Gfx D_600BAF0[];
extern u16 D_600BEA0[];
extern Gfx D_600BF80[];
extern Gfx D_600C130[];
extern AnimationHeader D_600C15C;
extern AnimationHeader D_600C200;
extern Limb *D_600C2AC[];
extern Animation D_600C15C;
extern Animation D_600C200;
extern Limb* D_600C2AC[];
extern u16 D_600C6A0[];
extern Gfx D_600C740[];
extern Vtx D_600C780[];
@@ -457,7 +457,7 @@ extern Gfx D_600CAA0[];
extern u16 D_600CBD8[];
extern u8 D_600CC10[];
extern Gfx D_600D190[];
extern AnimationHeader D_600D3DC;
extern Animation D_600D3DC;
extern u16 D_600D5C0[];
extern Gfx D_600D730[];
extern u16 D_600D990[];
@@ -470,10 +470,10 @@ extern Gfx D_600DDF0[];
extern Gfx D_600E050[];
extern Gfx D_600E0C0[];
extern u8 D_600E210[];
extern AnimationHeader D_600E2C4;
extern Animation D_600E2C4;
extern u8 D_600E360[];
extern Limb *D_600E470[];
extern AnimationHeader D_600E5EC;
extern Limb* D_600E470[];
extern Animation D_600E5EC;
extern Gfx D_600E820[];
extern u8 D_600E980[];
extern EnvSettings D_600EA90;
@@ -497,7 +497,7 @@ extern CollisionPoly D_600F60C[];
extern Gfx D_600F670[];
extern Gfx D_600F6C0[];
extern Gfx D_600F6C0[];
extern AnimationHeader D_600F744;
extern Animation D_600F744;
extern Gfx D_600F8A0[];
extern u8 D_600F940[];
extern Gfx D_600F9B0[];
@@ -544,14 +544,14 @@ extern Gfx D_60120F0[];
extern u8 D_6012310[];
extern u8 D_60123F0[];
extern Gfx D_6012C00_Gfx[];
extern AnimationHeader D_6012C00_Anim;
extern Animation D_6012C00_Anim;
extern u8 D_60131A0[];
extern Gfx D_60132B0[];
extern u8 D_6013470[];
extern Gfx D_6013480[];
extern Gfx D_60137B0[];
extern AnimationHeader D_6013820;
extern AnimationHeader D_601388C;
extern Animation D_6013820;
extern Animation D_601388C;
extern Limb* D_601390C[];
extern Gfx D_6013960[];
extern u8 D_60139E0[];
@@ -561,7 +561,7 @@ extern u8 D_6014360[];
extern Gfx D_60143E0[];
extern Gfx D_6014500[];
extern u16 D_6014510[];
extern AnimationHeader D_6014658;
extern Animation D_6014658;
extern Gfx D_6014670[];
extern u16 D_60147C0[];
extern u8 D_60147E0[];
@@ -595,7 +595,7 @@ extern u8 D_6017640[];
extern u8 D_6018280[];
extern Gfx D_6018450[];
extern Gfx D_60188D0[];
extern AnimationHeader D_6018994;
extern Animation D_6018994;
extern Limb* D_6018BA0[];
extern Gfx D_6018BF0[];
extern Gfx D_6018C00[]; // possible collision
@@ -656,7 +656,7 @@ extern Gfx D_601DE60[];
extern Gfx D_601DE80[];
extern Gfx D_601E150[];
extern u16 D_601E1E8[];
extern AnimationHeader D_601E8C4;
extern Animation D_601E8C4;
extern Limb* D_601E9D0[];
extern Gfx D_601EAA0[];
extern Gfx D_601F1D0[];
@@ -664,7 +664,7 @@ extern EnvSettings D_601F1F0;
extern Gfx D_601F500[];
extern Gfx D_601F5A0[];
extern Gfx D_601F6B0[];
extern AnimationHeader D_601F874;
extern Animation D_601F874;
extern Limb* D_601F920[];
extern Gfx D_601FCB0[];
extern u8 D_601FF40[];
@@ -678,7 +678,7 @@ extern Gfx D_6020E60[];
extern u16 D_6020F60[];
extern u16 D_6020FB0[];
extern u16 D_6021ED0[];
extern AnimationHeader D_602201C;
extern Animation D_602201C;
extern Limb* D_60220E8[];
extern Gfx D_6022110[];
extern u16 D_6022340[];
@@ -711,7 +711,7 @@ extern u16 D_6026C90[];
extern u8 D_6026D70[];
extern Gfx D_60270E0[];
extern Gfx D_6027180[];
extern AnimationHeader D_6027320;
extern Animation D_6027320;
extern u16 D_6027340[];
extern Limb* D_602742C[];
extern Gfx D_6027900[];
@@ -724,7 +724,7 @@ extern u16* D_60289FC[];
extern u16 D_6028A60[];
extern u16 D_6029170[];
extern u8 D_6029220[];
extern AnimationHeader D_6029528;
extern Animation D_6029528;
extern Limb* D_6029674[];
extern Gfx D_6029890[];
extern EnvSettings D_602A120;
@@ -979,7 +979,7 @@ extern Gfx D_7007350[];
extern Gfx D_700AB70[];
extern Gfx D_700BB10[];
extern Gfx D_700BE00[];
extern AnimationHeader D_700CAF4;
extern Animation D_700CAF4;
extern Limb* D_700CB60[];
extern u16 D_700E9A0[];
extern u8 D_70118E0[];
+5 -4
View File
@@ -429,10 +429,10 @@ void func_8007E45C(Effect*);
void func_8007E5CC(Effect*);
void func_8007E648(Effect*);
void func_8007E93C(Effect* effect, u32 objId, f32 xPos, f32 yPos, f32 zPos, f32 arg5);
void func_8007EE68(s32 objId, Vec3f* pos, Vec3f* rot, Vec3f* arg3, Vec3f* arg4, f32 scale2);
void func_8007F04C(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 zRot, f32 unkX, f32 unkY, f32 unkZ, f32 xVel, f32 yVel, f32 zVel, f32 scale2);
void func_8007F11C(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4);
void func_8007F20C(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4);
void func_8007EE68(ObjectId objId, Vec3f* pos, Vec3f* rot, Vec3f* arg3, Vec3f* arg4, f32 scale2);
void func_8007F04C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 zRot, f32 unkX, f32 unkY, f32 unkZ, f32 xVel, f32 yVel, f32 zVel, f32 scale2);
void func_8007F11C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4);
void func_8007F20C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4);
void func_8007F438(Effect*);
void func_8007F6B0(Effect*);
void func_8007F958(Effect*);
@@ -452,6 +452,7 @@ void func_80081A8C(f32 xPos, f32 yPos, f32 zPos, f32 scale2, s32 arg4);
void func_80081BEC(f32 xPos, f32 yPos, f32 zPos, f32 scale2, s32 arg4);
void func_80081C5C(Effect*);
void func_80082F78(Effect*);
void func_8008377C(f32, f32, f32, f32, f32);
void func_800837EC(Effect*);
void func_80083B8C(Effect*);
void func_80083C70(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 arg7, s32 arg8);
+5 -13
View File
@@ -52,7 +52,7 @@ typedef struct {
/* 0x02 */ s16 limbCount;
/* 0x04 */ u16* frameData;
/* 0x08 */ JointKey* jointKey;
} AnimationHeader; // size = 0xC
} Animation; // size = 0xC
typedef struct Limb {
/* 0x000 */ Gfx* dList;
@@ -62,14 +62,6 @@ typedef struct Limb {
/* 0x01C */ struct Limb* child;
} Limb; // size = 0x20
typedef Limb* SkelAnime;
typedef struct {
/* 0x00 */ AnimationHeader* unk_0;
/* 0x04 */ AnimationHeader* unk_4;
/* 0x08 */ SkelAnime* skelanime;
} Animation; // size = 0x0C
void Lights_SetOneLight(Gfx** dList, s32 dirX, s32 dirY, s32 dirZ, s32 colR, s32 colG, s32 colB, s32 ambR, s32 ambG, s32 ambB);
void Lights_SetTwoLights(Gfx** dList, s32 dir1x, s32 dir1y, s32 dir1z, s32 dir2x, s32 dir2y, s32 dir2z, s32 col1r, s32 col1g,
s32 col1b, s32 col2r, s32 col2g, s32 col2b, s32 ambR, s32 ambG, s32 ambB);
@@ -79,13 +71,13 @@ s32 Graphics_Printf(const char *fmt, ...);
void Texture_Scroll(void *texture, s32 width, s32 height, u8 mode);
void Texture_Mottle(void *dst, void *src, u8 mode);
s32 Animation_GetLimbIndex(Limb* limb, Limb** skeleton);
void Animation_DrawLimb(s32 mode, Limb * limb, Limb* *skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data);
void Animation_DrawLimb(s32 mode, Limb* limb, Limb* *skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data);
void Animation_DrawSkeleton(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data, Matrix* transform);
s16 Animation_GetFrameData(AnimationHeader *animationSegmemt, s32 frame, Vec3f *frameTable);
s16 Animation_GetFrameCount(AnimationHeader *animationSegment);
s16 Animation_GetFrameData(Animation *animationSegmemt, s32 frame, Vec3f *frameTable);
s16 Animation_GetFrameCount(Animation *animationSegment);
void Animation_FindBoundingBox(Gfx* dList, s32 len, Vec3f *min, Vec3f *max, s32 *vtxFound, s32 *vtxCount, Vtx* *vtxList);
void Animation_GetDListBoundingBox(Gfx *dList, s32 len, Vec3f *min, Vec3f *max);
void Animation_GetSkeletonBoundingBox(Limb **skeletonSegment, AnimationHeader *animationSegment, s32 frame, Vec3f *min, Vec3f* max);
void Animation_GetSkeletonBoundingBox(Limb** skeletonSegment, Animation *animationSegment, s32 frame, Vec3f *min, Vec3f* max);
void TextureRect_4bCI(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
void TextureRect_4bCI_Flip(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
void TextureRect_4bCI_MirX(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
+1 -1
View File
@@ -45,7 +45,7 @@ void func_i5_801A5E2C(Actor *);
void func_i5_801A6134(Actor *);
void func_i5_801A65E0(Object_80 *);
void func_i5_801A7D98(Actor *);
void func_i5_801ACFBC();
void func_i5_801ACFBC(void);
void func_i5_801AD080(void);
void func_i5_801B5110(f32, f32, f32);
void func_i5_801B58AC(Gfx **, f32);
+1
View File
@@ -7,6 +7,7 @@
#define RAND_FLOAT(max) (Rand_ZeroOne()*(max))
#define RAND_INT(max) ((s32)(Rand_ZeroOne()*(max)))
#define RAND_FLOAT_CENTERED(width) ((Rand_ZeroOne()-0.5f)*(width))
#define RAND_RANGE(min, max) (((max) - (min)) * (Rand_ZeroOne() - (min) / ((min) - (max))))
#define RAND_FLOAT_SEEDED(max) (Rand_ZeroOneSeeded()*(max))
#define RAND_INT_SEEDED(max) ((s32)(Rand_ZeroOneSeeded()*(max)))
+1 -1
View File
@@ -78,7 +78,7 @@ D_i3_801C27C8 = 0x801C27C8; //segment:ovl_i3 size:0x12C0
D_i3_801C3A88 = 0x801C3A88; //segment:ovl_i3 size:0x700
D_i3_801C4190 = 0x801C4190; //segment:ovl_i3 size:0x28
D_i3_801C41B8 = 0x801C41B8; //segment:ovl_i3 size:0x78
D_i3_801C4230 = 0x801C4230; //segment:ovl_i3 size:0x70
sBossAQlimbTimers = 0x801C4230; //segment:ovl_i3 size:0x70
D_i3_801C42A0 = 0x801C42A0; //segment:ovl_i3 size:0x68
D_i3_801C4308 = 0x801C4308; //segment:ovl_i3 size:0x148
D_i3_801C0060 = 0x801C0060; //segment:ovl_i3 type:f32
+17 -17
View File
@@ -9,17 +9,17 @@
extern Gfx D_1024AC0[];
extern Gfx D_60320E0[];
extern Gfx D_7010970[];
extern Gfx* D_E000000;
extern Gfx* D_E003AB0;
extern Gfx D_E000000[];
extern Gfx D_E003AB0[];
extern s32 D_800C9E90[];
extern AnimationHeader D_60265B4[];
extern AnimationHeader D_602B8DC[];
extern AnimationHeader D_60034C4[];
extern AnimationHeader D_602A2CC[];
extern AnimationHeader D_602CEB4[];
extern AnimationHeader D_602B778[];
extern Animation D_60265B4[];
extern Animation D_602B8DC[];
extern Animation D_60034C4[];
extern Animation D_602A2CC[];
extern Animation D_602CEB4[];
extern Animation D_602B778[];
extern f32 D_80178454;
extern f32 D_80178458;
@@ -36,9 +36,9 @@ extern Gfx D_60132B0[];
extern Gfx D_6014A40[];
extern Gfx D_6020810[];
extern AnimationHeader D_6020A40;
extern Limb* D_6020C6C;
extern Limb* D_602D140;
extern Animation D_6020A40;
extern Limb* D_6020C6C[];
extern Limb* D_602D140[];
Vec3f D_800C9F60[] = {
{ 2000.0f, 2000.0f, 2000.0f },
@@ -127,8 +127,8 @@ f32 D_800CA1D4[] = {
1.5f, 0.87f, 0.83f, 0.75f, 0.7f, 0.6f, 0.4f, 0.1f,
};
AnimationHeader* D_800CA1F4[] = {
D_60265B4, D_602B8DC, D_60034C4, D_602A2CC, D_602CEB4, D_602B778, (AnimationHeader*) 0x0601F3B8,
Animation* D_800CA1F4[] = {
D_60265B4, D_602B8DC, D_60034C4, D_602A2CC, D_602CEB4, D_602B778, (Animation*) 0x0601F3B8,
};
void func_80048AC0(s32 teamId) {
@@ -2801,7 +2801,7 @@ void func_8004FEC0(Actor* actor) {
Math_SmoothStepToVec3fArray(sp144, actor->vwork, 1, animFrameData, actor->fwork[2], 100.0f, .0f);
RCP_SetupDL_30(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gDPSetPrimColor(gMasterDisp++, 0, 0, 150, 255, 150, 255);
Animation_DrawSkeleton(1, &D_602D140, actor->vwork, 0, 0, actor, &gIdentityMatrix);
Animation_DrawSkeleton(1, D_602D140, actor->vwork, 0, 0, actor, &gIdentityMatrix);
if (actor->fwork[0] != 0.0f) {
RCP_SetupDL_49();
@@ -2895,7 +2895,7 @@ void func_8004FEC0(Actor* actor) {
case 44:
Animation_GetFrameData(&D_6020A40, actor->iwork[0], actor->vwork);
gSPClearGeometryMode(gMasterDisp++, 0x00002000);
Animation_DrawSkeleton(1, &D_6020C6C, actor->vwork, 0, 0, &actor->index, &gIdentityMatrix);
Animation_DrawSkeleton(1, D_6020C6C, actor->vwork, 0, 0, &actor->index, &gIdentityMatrix);
gSPSetGeometryMode(gMasterDisp++, 0x00002000);
break;
@@ -2939,9 +2939,9 @@ void func_800515C4(void) {
}
if (D_80177B8C != 0) {
gSPDisplayList(gMasterDisp++, &D_E000000);
gSPDisplayList(gMasterDisp++, D_E000000);
} else {
gSPDisplayList(gMasterDisp++, &D_E003AB0);
gSPDisplayList(gMasterDisp++, D_E003AB0);
}
if ((gCurrentLevel != LEVEL_AQUAS) &&
+9 -8
View File
@@ -2496,7 +2496,8 @@ void func_8007E93C(Effect* effect, u32 objId, f32 xPos, f32 yPos, f32 zPos, f32
Audio_PlaySfx(0x29002002, effect->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
void func_8007EBB8(Effect* effect, s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2) {
void func_8007EBB8(Effect* effect, ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel,
f32 scale2) {
Effect_Initialize(effect);
effect->obj.status = OBJ_INIT;
effect->obj.id = objId;
@@ -2520,7 +2521,7 @@ void func_8007EBB8(Effect* effect, s32 objId, f32 xPos, f32 yPos, f32 zPos, f32
Object_SetInfo(&effect->info, effect->obj.id);
}
void func_8007ECB4(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2) {
void func_8007ECB4(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2) {
s32 i;
for (i = ARRAY_COUNT(gEffects) - 1; i >= 0; i--) {
@@ -2531,7 +2532,7 @@ void func_8007ECB4(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel,
}
}
void func_8007ED54(Effect* effect, s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 zRot, f32 unkX,
void func_8007ED54(Effect* effect, ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 zRot, f32 unkX,
f32 unkY, f32 unkZ, f32 xVel, f32 yVel, f32 zVel, f32 scale2) {
Effect_Initialize(effect);
effect->obj.status = OBJ_INIT;
@@ -2565,7 +2566,7 @@ void func_8007ED54(Effect* effect, s32 objId, f32 xPos, f32 yPos, f32 zPos, f32
Object_SetInfo(&effect->info, effect->obj.id);
}
void func_8007EE68(s32 objId, Vec3f* pos, Vec3f* rot, Vec3f* arg3, Vec3f* arg4, f32 scale2) {
void func_8007EE68(ObjectId objId, Vec3f* pos, Vec3f* rot, Vec3f* arg3, Vec3f* arg4, f32 scale2) {
s32 i;
Vec3f sp68;
@@ -2587,8 +2588,8 @@ void func_8007EE68(s32 objId, Vec3f* pos, Vec3f* rot, Vec3f* arg3, Vec3f* arg4,
}
}
void func_8007F04C(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 zRot, f32 unkX, f32 unkY, f32 unkZ,
f32 xVel, f32 yVel, f32 zVel, f32 scale2) {
void func_8007F04C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 zRot, f32 unkX, f32 unkY,
f32 unkZ, f32 xVel, f32 yVel, f32 zVel, f32 scale2) {
s32 i;
for (i = ARRAY_COUNT(gEffects) - 1; i >= 0; i--) {
@@ -2600,7 +2601,7 @@ void func_8007F04C(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot,
}
}
void func_8007F11C(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4) {
void func_8007F11C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4) {
s32 i;
if ((fabsf(zPos - gPlayer[0].unk_138) > 300.0f) || (fabsf(xPos - gPlayer[0].pos.x) > 300.0f)) {
@@ -2615,7 +2616,7 @@ void func_8007F11C(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4) {
}
}
void func_8007F20C(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4) {
void func_8007F20C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4) {
s32 i;
if ((fabsf(zPos - gPlayer[0].camEye.z) > 300.0f) || (fabsf(xPos - gPlayer[0].camEye.x) > 300.0f)) {
+3 -3
View File
@@ -3850,10 +3850,10 @@ void func_800B0194(Player* player) {
player->unk_17C = RAND_FLOAT_CENTERED(100.0f);
}
if (((gGameFrameCount & 0xF) == 3) && (Rand_ZeroOne() < 0.5f)) {
player->unk_174 = (Rand_ZeroOne() - 0.2f) * 50.0f;
player->unk_174 = RAND_RANGE(-10.0f, 40.0f);
}
if (((gGameFrameCount & 0xF) == 10) && (Rand_ZeroOne() < 0.5f)) {
player->unk_178 = (Rand_ZeroOne() - 0.2f) * 50.0f;
player->unk_178 = RAND_RANGE(-10.0f, 40.0f);
}
Math_SmoothStepToF(&player->unk_15C, player->unk_17C, 0.15f, 10.0f, 0.00001f);
Math_SmoothStepToF(&player->unk_164, player->unk_174, 0.1f, 10.0f, 0.00001f);
@@ -5148,7 +5148,7 @@ void func_800B44C4(Player* player) {
break;
case FORM_BLUE_MARINE:
func_i3_801BEC80(player);
return;
break;
case FORM_ON_FOOT:
func_800B00C0(player);
func_800B0194(player);
+7 -7
View File
@@ -248,8 +248,8 @@ void Animation_DrawSkeleton(s32 mode, Limb** skeletonSegment, Vec3f* jointTable,
}
}
s16 Animation_GetFrameData(AnimationHeader* animationSegmemt, s32 frame, Vec3f* frameTable) {
AnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSegmemt);
s16 Animation_GetFrameData(Animation* animationSegmemt, s32 frame, Vec3f* frameTable) {
Animation* animation = SEGMENTED_TO_VIRTUAL(animationSegmemt);
u16 var4 = animation->limbCount;
JointKey* key = SEGMENTED_TO_VIRTUAL(animation->jointKey);
u16* frameData = SEGMENTED_TO_VIRTUAL(animation->frameData);
@@ -275,8 +275,8 @@ s16 Animation_GetFrameData(AnimationHeader* animationSegmemt, s32 frame, Vec3f*
return var4 + 1;
}
s16 Animation_GetFrameCount(AnimationHeader* animationSegment) {
AnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSegment);
s16 Animation_GetFrameCount(Animation* animationSegment) {
Animation* animation = SEGMENTED_TO_VIRTUAL(animationSegment);
return animation->frameCount;
}
@@ -335,11 +335,11 @@ void Animation_GetDListBoundingBox(Gfx* dList, s32 len, Vec3f* min, Vec3f* max)
Animation_FindBoundingBox(dList, len, min, max, &vtxFound, &vtxCount, &vtxList);
}
void Animation_GetSkeletonBoundingBox(Limb** skeletonSegment, AnimationHeader* animationSegment, s32 frame, Vec3f* min,
void Animation_GetSkeletonBoundingBox(Limb** skeletonSegment, Animation* animationSegment, s32 frame, Vec3f* min,
Vec3f* max) {
JointKey* key;
u16* frameData;
AnimationHeader* animation;
Animation* animation;
Limb* limb;
u16 var_t6;
s32 vtxFound;
@@ -351,7 +351,7 @@ void Animation_GetSkeletonBoundingBox(Limb** skeletonSegment, AnimationHeader* a
Limb** skeleton = (Limb**) SEGMENTED_TO_VIRTUAL(skeletonSegment);
limb = (Limb*) SEGMENTED_TO_VIRTUAL(skeleton[0]);
animation = (AnimationHeader*) SEGMENTED_TO_VIRTUAL(animationSegment);
animation = (Animation*) SEGMENTED_TO_VIRTUAL(animationSegment);
key = (JointKey*) SEGMENTED_TO_VIRTUAL(animation->jointKey);
frameData = (u16*) SEGMENTED_TO_VIRTUAL(animation->frameData);
+9 -9
View File
@@ -526,8 +526,8 @@ void func_i1_80188D50(Boss* boss) {
}
}
extern AnimationHeader D_602BC18;
extern AnimationHeader D_602C0D0;
extern Animation D_602BC18;
extern Animation D_602C0D0;
void func_i1_80189058(Boss* boss) {
Vec3f sp21C = { 0.0f, 0.0f, 0.0f };
@@ -1154,7 +1154,7 @@ void func_i1_8018ACE0(Actor* actor) {
}
}
extern AnimationHeader D_602991C;
extern Animation D_602991C;
extern Gfx D_60329C0[];
void func_i1_8018AED0(Actor* actor) {
@@ -1222,7 +1222,7 @@ void func_i1_8018B0B4(Actor* actor) {
}
}
extern AnimationHeader D_602AA04;
extern Animation D_602AA04;
void func_i1_8018B15C(Actor* actor) {
Vec3f sp60[20];
@@ -1288,7 +1288,7 @@ void func_i1_8018B15C(Actor* actor) {
1.0f, 1.0f);
}
extern AnimationHeader D_602A520;
extern Animation D_602A520;
void func_i1_8018B418(Actor* actor) {
s32 pad;
@@ -2328,7 +2328,7 @@ s32 func_i1_8018EC54(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
return false;
}
extern AnimationHeader D_602D400;
extern Animation D_602D400;
extern Limb* D_602D5AC[];
void func_i1_8018ECAC(Boss* boss) {
@@ -2442,7 +2442,7 @@ s32 func_i1_8018F1C8(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
return 0;
}
extern AnimationHeader D_602AA7C;
extern Animation D_602AA7C;
extern Limb* D_602AB48[];
void func_i1_8018F31C(Object_80* obj80) {
@@ -2494,13 +2494,13 @@ void func_i1_8018F55C(Effect* effect) {
Effect_Initialize(effect);
effect->obj.status = OBJ_INIT;
effect->obj.pos.x = gPlayer[0].camEye.x + RAND_FLOAT_CENTERED(500.0f);
effect->obj.pos.y = gPlayer[0].camEye.y + ((Rand_ZeroOne() - 0.8f) * 350.0f);
effect->obj.pos.y = gPlayer[0].camEye.y + RAND_RANGE(-280.0f, 70.0f);
effect->obj.id = OBJ_EFFECT_352;
effect->timer_50 = 80;
effect->unk_46 = 0x90;
effect->obj.pos.z = -4000.0f;
effect->vel.z = 60.0f;
effect->scale2 = RAND_FLOAT(15.0f) + 10.0f;
effect->scale2 = 10.0f + RAND_FLOAT(15.0f);
if (Rand_ZeroOne() < 0.5f) {
effect->obj.rot.z = 180.0f;
}
+4 -4
View File
@@ -7,8 +7,8 @@ extern s32 D_i1_8019C0B8;
extern s32 D_i1_8019C0BC;
extern s32 D_i1_8019C0C0;
extern Vec3f D_i1_80199FFC;
extern Limb* D_900D164;
extern Limb* D_901C0F4;
extern Limb* D_900D164[];
extern Limb* D_901C0F4[];
const char D_i1_8019B2B0[] = "--アタックオフ!!\n";
const char D_i1_8019B2C4[] = "--レベルアップ!!\n";
@@ -351,7 +351,7 @@ void func_i1_801933B4(Actor* arg0) {
void func_i1_801934D0(Actor* actor) {
Matrix_Translate(gGfxMatrix, 0.0f, -488.0f, 0.0f, 1U);
Animation_DrawSkeleton(0, &D_900D164, actor->vwork, NULL, NULL, actor, &gIdentityMatrix);
Animation_DrawSkeleton(0, D_900D164, actor->vwork, NULL, NULL, actor, &gIdentityMatrix);
}
void func_i1_80193540(Object_80* arg0) {
@@ -383,7 +383,7 @@ void func_i1_80198594(Boss* boss) {
void func_i1_801985E4(Boss* boss) {
if (boss->swork[26] == 0) {
Animation_DrawSkeleton(0, &D_901C0F4, boss->vwork, func_i1_801937F4, func_i1_80193D64, boss, &gIdentityMatrix);
Animation_DrawSkeleton(0, D_901C0F4, boss->vwork, func_i1_801937F4, func_i1_80193D64, boss, &gIdentityMatrix);
}
boss->state = boss->swork[9];
}
+15 -15
View File
@@ -13,17 +13,17 @@ Vec3f D_i2_80195668 = { 90.0f, 0.0f, 0.0f };
extern Gfx D_60010C0[];
extern Gfx D_6006810[];
extern Gfx D_6009C30[];
extern AnimationHeader D_6009FF8;
extern AnimationHeader D_600A2D4;
extern AnimationHeader D_600F890;
extern AnimationHeader D_60123BC;
extern AnimationHeader D_6013798;
extern AnimationHeader D_60158C4;
extern AnimationHeader D_6016E28;
extern AnimationHeader D_601AA28;
extern AnimationHeader D_601C690;
extern AnimationHeader D_60206DC;
extern Limb* D_6020C68;
extern Animation D_6009FF8;
extern Animation D_600A2D4;
extern Animation D_600F890;
extern Animation D_60123BC;
extern Animation D_6013798;
extern Animation D_60158C4;
extern Animation D_6016E28;
extern Animation D_601AA28;
extern Animation D_601C690;
extern Animation D_60206DC;
extern Limb* D_6020C68[];
extern Gfx D_6020D20[];
extern Gfx D_603265C[];
extern Gfx D_6032768[];
@@ -312,7 +312,7 @@ bool func_i2_8018FF40(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void*
}
void func_i2_8018FF84(Boss* boss) {
Animation_DrawSkeleton(3, &D_6020C68, boss->vwork, func_i2_8018FF40, func_i2_80193208, boss, gCalcMatrix);
Animation_DrawSkeleton(3, D_6020C68, boss->vwork, func_i2_8018FF40, func_i2_80193208, boss, gCalcMatrix);
}
bool func_i2_8018FFDC(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* data) {
@@ -324,7 +324,7 @@ bool func_i2_8018FFDC(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void*
}
void func_i2_80190020(Boss* boss) {
Animation_DrawSkeleton(3, &D_6020C68, boss->vwork, func_i2_8018FFDC, func_i2_80193208, boss, gCalcMatrix);
Animation_DrawSkeleton(3, D_6020C68, boss->vwork, func_i2_8018FFDC, func_i2_80193208, boss, gCalcMatrix);
}
void func_i2_80190078(Boss* boss) {
@@ -1106,7 +1106,7 @@ void func_i2_80190078(Boss* boss) {
D_i2_80195640 = 1;
Animation_DrawSkeleton(1, &D_6020C68, boss->vwork, func_i2_80192AF0, func_i2_80193208, boss, &gIdentityMatrix);
Animation_DrawSkeleton(1, D_6020C68, boss->vwork, func_i2_80192AF0, func_i2_80193208, boss, &gIdentityMatrix);
if (((boss->swork[1] != 0) && (boss->swork[3] > 0)) && ((boss->fwork[4] < 45.0f) || (boss->fwork[4] > 315.0f))) {
boss->swork[1]++;
@@ -1364,7 +1364,7 @@ void func_i2_80193434(Boss* boss) {
if (boss->swork[5] == 0) {
D_i2_80195640 = 0;
Animation_DrawSkeleton(3, &D_6020C68, boss->vwork, func_i2_80192AF0, 0, boss, gCalcMatrix);
Animation_DrawSkeleton(3, D_6020C68, boss->vwork, func_i2_80192AF0, 0, boss, gCalcMatrix);
RCP_SetupDL_64();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 96);
+1 -1
View File
@@ -1415,7 +1415,7 @@ void func_i3_8018A464(Boss* bossA6, s32 arg1) {
}
} else {
bossA6->swork[A6_SWK_11] = 30;
D_i3_801BF100[0].x = (Rand_ZeroOne() - 0.4f) * 30.0f;
D_i3_801BF100[0].x = RAND_RANGE(-12.0f, 18.0f);
}
D_i3_801BF394[0] = D_i3_801BF100[0].x;
} else if (!(bossA6->swork[A6_SWK_11] & 7)) {
File diff suppressed because it is too large Load Diff
+27 -14
View File
@@ -46,7 +46,6 @@ typedef struct {
#define ZO_HIT_10(bossZO, index) ((Hitbox*) ((f32*) (ZO_HIT_8(bossZO, 0) + 2) + 6 * (index)))
#define ZO_HIT_12(bossZO) ((Hitbox*) (ZO_HIT_10(bossZO, 0) + 2))
void func_8007EE68(s32, Vec3f*, Vec3f*, Vec3f*, Vec3f*, f32);
void func_80081BEC(f32, f32, f32, f32, s32);
void func_8008377C(f32, f32, f32, f32, f32);
void func_i3_801A7750(void);
@@ -62,6 +61,20 @@ void func_i3_80199394(Boss* bossZO, s32 arg1);
void func_i3_80199470(Boss* bossZO, s32 arg1);
void func_i3_8019962C(Boss* bossZO, f32 arg1);
// /* 0x1 */ ROM_SEGMENT(ast_873CB0),
// /* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
// /* 0x3 */ ROM_SEGMENT(ast_8BFC00),
// /* 0x4 */ ROM_SEGMENT(ast_918430),
// /* 0x5 */ ROM_SEGMENT(ast_CD2410),
// /* 0x6 */ ROM_SEGMENT(ast_B84560),
// /* 0x7 */ NO_SEGMENT,
// /* 0x8 */ NO_SEGMENT,
// /* 0x9 */ NO_SEGMENT,
// /* 0xA */ NO_SEGMENT,
// /* 0xB */ NO_SEGMENT,
// /* 0xC */ NO_SEGMENT,
// /* 0xD */ ROM_SEGMENT(ast_955270),
extern Gfx D_6002E10[];
extern Gfx D_6004380[];
extern Gfx D_6006360[];
@@ -69,25 +82,25 @@ extern Limb* D_600E7D8[];
extern Gfx D_6013330[];
extern Gfx D_6017950[];
extern Gfx D_60181E0[];
extern AnimationHeader D_6018550;
extern Animation D_6018550;
extern Limb* D_601863C[];
extern Gfx D_6018660[];
extern AnimationHeader D_60195EC;
extern Animation D_60195EC;
extern Limb* D_6019738[];
extern AnimationHeader D_601996C;
extern Animation D_601996C;
extern Limb* D_6019E18[];
extern Gfx D_6019EB0[];
extern Gfx D_601A340[];
extern AnimationHeader D_601AA48;
extern Animation D_601AA48;
extern Limb* D_601AB14[];
extern AnimationHeader D_601AFB8;
extern Animation D_601AFB8;
extern Limb* D_601B184[];
extern Gfx D_601BCC0[];
extern Gfx D_601C590[];
extern Gfx D_601D680[];
extern AnimationHeader D_601FBC4;
extern Animation D_601FBC4;
extern Limb* D_601FC90[];
extern AnimationHeader D_6021ABC;
extern Animation D_6021ABC;
extern Limb* D_6021B88[];
extern Gfx D_6023D50[];
extern Gfx D_6025E60[];
@@ -177,7 +190,7 @@ typedef enum {
/* 38 */ ZO_LIMB_38,
/* 39 */ ZO_LIMB_39,
/* 40 */ ZO_LIMB_MAX,
} ZoLimbs;
} BossZOLimbs;
typedef enum {
/* 0 */ ZO_BSF_0,
@@ -2509,8 +2522,8 @@ void func_i3_80194A84(Boss* bossZO) {
}
func_8007C120(sZoFwork[ZO_BSF_55_X], sZoFwork[ZO_BSF_55_Y], sZoFwork[ZO_BSF_55_Z], bossZO->vel.x,
bossZO->vel.y, bossZO->vel.z, 0.2f, 10);
func_8007D0E0(RAND_FLOAT_CENTERED(200.0f) + sZoFwork[ZO_BSF_55_X],
((Rand_ZeroOne() - 0.2f) * 800.0f) + sZoFwork[ZO_BSF_55_Y], sZoFwork[ZO_BSF_55_Z], 10.0f);
func_8007D0E0(sZoFwork[ZO_BSF_55_X] + RAND_FLOAT_CENTERED(200.0f),
sZoFwork[ZO_BSF_55_Y] + RAND_RANGE(-160.0f, 640.0f), sZoFwork[ZO_BSF_55_Z], 10.0f);
if (bossZO->timer_050 == 30) {
Radio_PlayMessage(gMsg_ID_6079, RCID_BOSS_ZONESS);
}
@@ -2596,8 +2609,8 @@ void func_i3_80194A84(Boss* bossZO) {
}
if ((bossZO->timer_050 == 0) && (sZoSwork[ZO_BSS_26] != 0)) {
bossZO->timer_050 = 50;
sZoFwork[ZO_BSF_37_X] = (Rand_ZeroOne() - 0.3f) * 1100.0f;
sZoFwork[ZO_BSF_40_X] = (Rand_ZeroOne() - 0.7f) * 800.0f;
sZoFwork[ZO_BSF_37_X] = RAND_RANGE(-330.0f, 770.0f);
sZoFwork[ZO_BSF_40_X] = RAND_RANGE(-560.0f, 240.0f);
func_i3_801989FC(bossZO);
}
} else {
@@ -3253,7 +3266,7 @@ void func_i3_80198F3C(Boss* bossZO, s32 arg1, s32 arg2) {
sZoLimbTimers[ZO_LIMB_22 + 2 * arg1] = 15;
}
func_8007D0E0(sZoFwork[ZO_BSF_0 + arg2] + RAND_FLOAT_CENTERED(400.0f),
sZoFwork[ZO_BSF_1 + arg2] + (Rand_ZeroOne() - 0.2f) * 800.0f, sZoFwork[ZO_BSF_2 + arg2], 7.0f);
sZoFwork[ZO_BSF_1 + arg2] + RAND_RANGE(-160.0f, 640.0f), sZoFwork[ZO_BSF_2 + arg2], 7.0f);
if (!(gGameFrameCount & 1)) {
func_8007C120(sZoFwork[ZO_BSF_0 + arg2], sZoFwork[ZO_BSF_1 + arg2], sZoFwork[ZO_BSF_2 + arg2], bossZO->vel.x,
bossZO->vel.y, bossZO->vel.z, 0.2f, 10);
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1,7 +1,7 @@
#include "global.h"
extern AnimationHeader D_6007854;
extern Limb* D_6007980;
extern Animation D_6007854;
extern Limb* D_6007980[];
extern u8 D_600FF64[];
s32 func_80090200(Boss* boss);
@@ -576,7 +576,7 @@ void func_i4_80188FE4(Actor* actor) {
Vec3f vec[20];
Animation_GetFrameData(&D_6007854, 0, vec);
Animation_DrawSkeleton(3, &D_6007980, vec, func_i4_80188F08, func_i4_80188DA0, actor, gCalcMatrix);
Animation_DrawSkeleton(3, D_6007980, vec, func_i4_80188F08, func_i4_80188DA0, actor, gCalcMatrix);
if (actor->state == 1) {
actor->state = 2;
+51 -56
View File
@@ -14,32 +14,32 @@ extern f32 D_603605C[];
extern Gfx D_6010470[];
extern Gfx D_6003370[];
extern Gfx D_6004440[];
extern AnimationHeader D_600FEC4;
extern AnimationHeader D_6010144;
extern AnimationHeader D_6010220;
extern Animation D_600FEC4;
extern Animation D_6010144;
extern Animation D_6010220;
extern Limb* D_601042C[];
extern Gfx D_6017720[];
extern Gfx D_601BE90[];
extern AnimationHeader D_601EAB0;
extern Animation D_601EAB0;
extern Limb* D_601EBBC;
extern Gfx D_6022200[];
extern Gfx D_60227F0[];
extern Gfx D_60239D0[];
extern Gfx D_6024670[];
extern Gfx D_60269E0[];
extern AnimationHeader D_6027A04;
extern Animation D_6027A04;
extern Limb* D_6027AF0[];
extern Gfx D_6027BF0[];
extern Gfx D_6027D40[];
extern Gfx D_6027EB0[];
extern Gfx D_60288A0[];
extern AnimationHeader D_602EA0C;
extern Animation D_602EA0C;
extern Limb* D_602EBB8[];
extern Gfx D_6001180[];
extern Gfx D_60014A0[];
extern Gfx D_601C170[];
extern Gfx D_6022610[];
extern AnimationHeader D_6025CA0;
extern Animation D_6025CA0;
extern Limb* D_6025DAC[];
extern Gfx D_6026860[];
extern Gfx D_602D380[];
@@ -62,18 +62,18 @@ extern Gfx D_600A4D0[];
extern Gfx D_600A7D0[];
extern Gfx D_600AA70[];
extern Gfx D_600AD50[];
extern AnimationHeader D_600C4D0;
extern Animation D_600C4D0;
extern Limb* D_600C65C[];
extern f32 D_603648C[];
extern Gfx D_602F380[];
extern AnimationHeader D_602FEB4;
extern Animation D_602FEB4;
extern Limb* D_602FFA0[];
extern Gfx D_602FFC0[];
extern Gfx D_601A2B0[];
extern f32 D_6036520[];
extern AnimationHeader D_602F098;
extern Animation D_602F098;
extern Limb* D_602F264[];
extern AnimationHeader D_602F2E0;
extern Animation D_602F2E0;
extern Limb* D_602F36C[];
extern Gfx D_601A840[];
extern Gfx D_6012A60[];
@@ -82,16 +82,16 @@ extern Gfx D_6025850[];
extern Gfx D_60257B0[];
extern Gfx D_601F270[];
extern u16 D_6012C98[];
extern AnimationHeader D_600CD18;
extern AnimationHeader D_6015C24;
extern AnimationHeader D_6016040;
extern AnimationHeader D_60163F0;
extern AnimationHeader D_6016B2C;
extern AnimationHeader D_6017714;
extern AnimationHeader D_601D188;
extern Animation D_600CD18;
extern Animation D_6015C24;
extern Animation D_6016040;
extern Animation D_60163F0;
extern Animation D_6016B2C;
extern Animation D_6017714;
extern Animation D_601D188;
extern f32 D_6036818[];
extern Limb* D_600D1E4[];
extern AnimationHeader D_601EA28;
extern Animation D_601EA28;
extern f32 D_6035A94[];
extern ObjectInit D_6035678[];
extern ObjectInit D_60357CC[];
@@ -340,7 +340,7 @@ void func_i5_80199920(void) {
D_i5_801BE250[6] = 0.0f;
D_i5_801BE250[16] = 0.0f;
D_i5_801BE250[20] = 0.0f;
D_i5_801BA1E8 = 0x62;
D_i5_801BA1E8 = 98;
D_i5_801BA1E0 = 1e7f;
D_i5_801BE310 = 999;
D_i5_801BE312 = 0;
@@ -515,7 +515,7 @@ void func_i5_80199F8C(Actor* actor) {
void func_i5_8019A128(void) {
func_i5_80199C20(D_6023228, 16, 16, 0, 8);
func_i5_80199A40(D_6023388, D_Unk_800DB4B8, (f32) gGameFrameCount * -20.0f);
func_i5_80199A40(D_6023388, D_Unk_800DB4B8, gGameFrameCount * -20.0f);
}
void func_i5_8019A198(Actor* actor) {
@@ -531,7 +531,7 @@ void func_i5_8019A198(Actor* actor) {
func_8001CFA8(actor->vel.z);
}
func_8001D10C(actor->sfxPos, 0x31078085);
D_i5_801BE310 = (s16) actor->iwork[5];
D_i5_801BE310 = actor->iwork[5];
}
D_i5_801BA1E0 = actor->obj.pos.z;
if (D_i5_801BE313 != 0) {
@@ -2046,14 +2046,15 @@ void func_i5_801A0BD8(Object_80* obj80) {
break;
}
if (obj80->timer_4C != 0) {
obj80->vel.z = Rand_ZeroOne() + 2.0f;
obj80->vel.z = 2.0f + RAND_FLOAT(1.0f);
} else {
obj80->vel.z = Rand_ZeroOne() + 1.0f;
obj80->vel.z = 1.0f + RAND_FLOAT(1.0f);
}
}
bool func_i5_801A0DD8(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* data) {
Object_80* obj80 = (Object_80*) data;
if (limbIndex == 5) {
rot->y += obj80->vel.y;
}
@@ -2973,7 +2974,7 @@ void func_i5_801A46A0(Actor* actor) {
}
actor->fwork[0] /= 1.2f + Rand_ZeroOne() / 2;
actor->unk_046 -= 1;
actor->unk_046--;
actor->vel.z /= 1.5f;
if (actor->unk_046 == 0) {
actor->timer_0BE = RAND_INT(30.0f);
@@ -3503,7 +3504,7 @@ void func_i5_801A68F8(Actor* actor, s16 arg1, f32 arg2, f32 arg3, f32 arg4, f32
gUnkEntities30[arg1].unk_04.y = arg3;
gUnkEntities30[arg1].unk_28 = 5.0f;
gUnkEntities30[arg1].unk_2C = gUnkEntities30[arg1].unk_2D = gUnkEntities30[arg1].unk_2E =
gUnkEntities30[arg1].unk_2F = 0xFF;
gUnkEntities30[arg1].unk_2F = 255;
gUnkEntities30[arg1].timer = 3;
gUnkEntities30[arg1].unk_04.z = arg4;
gUnkEntities30[arg1].unk_10.x = arg5;
@@ -3512,23 +3513,22 @@ void func_i5_801A68F8(Actor* actor, s16 arg1, f32 arg2, f32 arg3, f32 arg4, f32
}
void func_i5_801A6984(Actor* actor) {
s16 var_s3;
f32 temp_fa0;
f32 temp_fa1;
f32 temp_fs0;
f32 temp_fs1;
f32 temp_fs2_2;
f32 temp_fa1;
f32 temp_fs3;
s32 var_s4;
f32 temp_fs2_2;
f32 temp_fs3_2;
f32 temp_fs4;
f32 var_fs5;
f32 spA8;
f32 temp;
f32 var_fs5;
f32 spA0;
f32 sp9C;
f32 sp78;
s16 temp_a1;
s16 var_s3;
s32 var_s4;
f32 temp;
s32 pad1;
s32 pad2;
s32 i;
f32 sp88;
f32 sp84;
@@ -3546,14 +3546,11 @@ void func_i5_801A6984(Actor* actor) {
if (var_s4 == 0) {
var_s4 = 1;
}
sp78 = (f32) var_s4;
spA8 = (180.0f / var_s4) + 1.0f;
var_fs5 = actor->obj.pos.x;
spA0 = actor->obj.pos.y;
sp9C = actor->obj.pos.z;
sp88 = (D_i5_801BE368[4] - actor->obj.pos.x) / var_s4;
sp84 = (D_i5_801BE368[5] - actor->obj.pos.y) / var_s4;
sp80 = (D_i5_801BE368[6] - actor->obj.pos.z) / var_s4;
@@ -3563,13 +3560,11 @@ void func_i5_801A6984(Actor* actor) {
} else {
Math_SmoothStepToF(&D_i5_801BE368[7], 100.0f, 0.01f, 0.01f, 0.01f);
}
temp = SIN_DEG(i * spA8) * (-(D_i5_801BE368[7] * 3.0f) * (1.0f - (i / sp78)));
temp_a1 = var_s3++;
temp = SIN_DEG(i * spA8) * (-(D_i5_801BE368[7] * 3.0f) * (1.0f - ((f32) i / var_s4)));
temp_fs2_2 = actor->obj.pos.x + (sp88 * i);
temp_fs3_2 = actor->obj.pos.y + (sp84 * i) + temp;
temp_fs4 = actor->obj.pos.z + (sp80 * i);
func_i5_801A68F8(actor, temp_a1, var_fs5, spA0, sp9C, temp_fs2_2, temp_fs3_2, temp_fs4);
func_i5_801A68F8(actor, var_s3++, var_fs5, spA0, sp9C, temp_fs2_2, temp_fs3_2, temp_fs4);
var_fs5 = temp_fs2_2;
spA0 = temp_fs3_2;
sp9C = temp_fs4;
@@ -4360,12 +4355,12 @@ void func_i5_801A7E7C(Actor* actor) {
spC6 = RAND_INT(5.0f);
for (i = 0; i < 10; i++) {
func_i5_801AE610(actor->vwork[0].x, actor->vwork[0].y + 100.0f, actor->vwork[0].z,
RAND_FLOAT_CENTERED(35.0f), RAND_FLOAT(80.0f) + 90.0f,
(Rand_ZeroOne() - 0.9f) * 80.0f, spC6);
RAND_FLOAT_CENTERED(35.0f), RAND_FLOAT(80) + 90.0f, RAND_RANGE(-72.0f, 8.0f),
spC6);
}
for (i = 0; i < 20; i++) {
func_i5_801AD624(actor->vwork[0].x, (actor->vwork[0].y + 50.0f) + RAND_FLOAT(50.0f),
func_i5_801AD624(actor->vwork[0].x, actor->vwork[0].y + 50.0f + RAND_FLOAT(50.0f),
actor->vwork[0].z, RAND_FLOAT_CENTERED(10.0f), RAND_FLOAT(5.0f),
actor->vel.z + 2.0f, RAND_FLOAT(360.0f), RAND_FLOAT(360.0f), RAND_FLOAT(360.0f),
RAND_FLOAT_CENTERED(30.0f), RAND_FLOAT_CENTERED(30.0f), RAND_FLOAT_CENTERED(30.0f),
@@ -4419,7 +4414,7 @@ void func_i5_801A7E7C(Actor* actor) {
sp360.z = RAND_FLOAT(200.0f) + 100.0f;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp360, &sp354);
D_i5_801BE368[23] = 1.0f;
func_i5_801AE800((actor->vwork[2].x + sp354.x) - 50.0f, actor->vwork[2].y + sp354.y + 100.0f,
func_i5_801AE800(actor->vwork[2].x + sp354.x - 50.0f, actor->vwork[2].y + sp354.y + 100.0f,
actor->vwork[2].z + sp354.z, actor->vwork[2].x, actor->vwork[2].y, actor->vwork[2].z);
D_i5_801BE368[23] = 2.0f;
func_i5_801AE800(actor->vwork[4].x + sp354.x + 50.0f, actor->vwork[4].y + sp354.y + 100.0f,
@@ -4453,7 +4448,7 @@ void func_i5_801A7E7C(Actor* actor) {
Math_SmoothStepToF(&actor->obj.pos.z, gPlayer[0].unk_138 - 250.0f, 0.1f, 15.0f, 0.01f);
Math_SmoothStepToF(&actor->obj.pos.y, 250.0f, 0.1f, 10.0f, 0.01f);
if (D_i5_801BE320[3] < (Animation_GetFrameCount(&D_6015C24) - 1)) {
D_i5_801BE320[3] = (s16) (D_i5_801BE320[3] + 1);
D_i5_801BE320[3]++;
}
func_i5_8019A198(actor);
func_i5_801A6984(actor);
@@ -4476,14 +4471,14 @@ void func_i5_801A7E7C(Actor* actor) {
actor->vwork[6].z += actor->vel.z;
actor->vwork[7].z += actor->vel.z;
sp348.x = actor->vwork[6].x - actor->vwork[2].x;
sp348.y = (actor->vwork[6].y - actor->vwork[2].y) + 25.0f;
sp348.y = actor->vwork[6].y - actor->vwork[2].y + 25.0f;
sp348.z = actor->vwork[6].z - actor->vwork[2].z;
Matrix_RotateZ(gCalcMatrix, -actor->vwork[3].z * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, -actor->vwork[3].x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -actor->vwork[3].y * M_DTOR, 1);
Matrix_MultVec3f(gCalcMatrix, &sp348, &sp354);
D_i5_801BE368[14] = Math_RadToDeg(Math_Atan2F(sp354.x, sp354.z));
temp = sqrtf((sp354.x * sp354.x) + (sp354.z * sp354.z));
temp = sqrtf(SQ(sp354.x) + SQ(sp354.z));
D_i5_801BE368[13] = Math_RadToDeg(-Math_Atan2F(sp354.y, temp));
Matrix_RotateY(gCalcMatrix, actor->vwork[3].y * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, actor->vwork[3].x * M_DTOR, 1);
@@ -4500,7 +4495,7 @@ void func_i5_801A7E7C(Actor* actor) {
sp330.z = actor->vwork[3].z;
func_8007EE68(OBJ_EFFECT_380, &sp348, &sp33C, &sp330, &D_i5_801BA750, 5.0f);
sp348.x = actor->vwork[7].x - actor->vwork[4].x;
sp348.y = (actor->vwork[7].y - actor->vwork[4].y) + 25.0f;
sp348.y = actor->vwork[7].y - actor->vwork[4].y + 25.0f;
sp348.z = actor->vwork[7].z - actor->vwork[4].z;
Matrix_RotateZ(gCalcMatrix, -actor->vwork[5].z * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, -actor->vwork[5].x * M_DTOR, 1);
@@ -4543,7 +4538,7 @@ void func_i5_801A7E7C(Actor* actor) {
func_i5_801A0308(actor, actor->obj.pos.z, actor->obj.rot.y, 0);
Math_SmoothStepToF(&actor->obj.pos.x, gPlayer[0].pos.x, 0.1f, 10.0f, 0.01f);
Math_SmoothStepToF(&actor->obj.pos.z, gPlayer[0].unk_138 - 1200.0f, 0.1f, 35.0f, 0.01f);
Math_SmoothStepToF(&actor->obj.pos.y, (actor->fwork[5] + 600.0f) + D_i5_801BE368[3], 0.1f, 20.0f, 10.0f);
Math_SmoothStepToF(&actor->obj.pos.y, actor->fwork[5] + 600.0f + D_i5_801BE368[3], 0.1f, 20.0f, 10.0f);
if (D_i5_801BE368[3] < ((gPlayer[0].unk_138 - actor->obj.pos.z) / 5.0f)) {
Math_SmoothStepToF(&D_i5_801BE368[2], 15.0f, 0.2f, 2.0f, 0.01f);
D_i5_801BE368[3] += D_i5_801BE368[2];
@@ -4617,7 +4612,7 @@ void func_i5_801A7E7C(Actor* actor) {
Audio_PlaySfx(0x2903300E, actor->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
actor->iwork[7] = 15;
D_i5_801BE320[9] -= actor->damage;
func_i5_801AD624(actor->obj.pos.x, actor->obj.pos.y + 80.0f, actor->obj.pos.z + 50.0f,
func_i5_801AD624(actor->obj.pos.x, actor->obj.pos.y + 80, actor->obj.pos.z + 50.0f,
RAND_FLOAT_CENTERED(10.0f), RAND_FLOAT(5.0f), RAND_FLOAT_CENTERED(3.0f),
RAND_FLOAT(360.0f), RAND_FLOAT(360.0f), RAND_FLOAT(360.0f), RAND_FLOAT_CENTERED(30.0f),
RAND_FLOAT_CENTERED(30.0f), RAND_FLOAT_CENTERED(30.0f), (s32) (RAND_FLOAT(50.0f) + 70.0f),
@@ -4687,9 +4682,9 @@ void func_i5_801A7E7C(Actor* actor) {
Radio_PlayMessage(gMsg_ID_2225, RCID_SLIPPY);
} else if (gBossFrameCount > 155) {
gShowBossHealth = 1;
gBossHealthBar = (s32) (((f32) D_i5_801BE320[29] / 250) * 85.0f);
gBossHealthBar += (s32) (((f32) D_i5_801BE320[9] / 200) * 85.0f);
gBossHealthBar += (s32) (((f32) D_i5_801BE320[10] / 250) * 85.0f);
gBossHealthBar = (s32) ((D_i5_801BE320[29] / 250.f) * 85.0f);
gBossHealthBar += (s32) ((D_i5_801BE320[9] / 200.f) * 85.0f);
gBossHealthBar += (s32) ((D_i5_801BE320[10] / 250.f) * 85.0f);
}
gBossFrameCount++;
}

Some files were not shown because too many files have changed in this diff Show More