Add Script Factory. Also some colpoly docs and vector cleanup (#161)

* a start

* some things

* format
This commit is contained in:
petrie911
2024-03-12 16:46:25 -03:00
committed by GitHub
parent e6f62df332
commit 036e58535b
29 changed files with 480 additions and 412 deletions
+2 -1
View File
@@ -91,7 +91,8 @@
"ast_allies.h": "c",
"ast_font.h": "c",
"fox_std_lib_assets.h": "c",
"fox_versus_assets.h": "c"
"fox_versus_assets.h": "c",
"guint.h": "c"
},
"C_Cpp_Runner.msvcBatchPath": ""
}
+3 -2
View File
@@ -24,8 +24,9 @@
#define SIGN_OF(x) (((x) > 0) ? 1 : ((x) == 0) ? 0 : -1)
#define SQ(x) ((x) * (x))
#define CUBE(x) ((x) * (x) * (x))
#define VEC3F_SQ(vec) (SQ((vec).x) + SQ((vec).y) + SQ((vec).z))
#define DOT_XYZ(a, b) ((a).x * (b).x + (a).y * (b).y + (a).z * (b).z)
#define DOT_XYZ(v1Ptr, v2Ptr) ((v1Ptr)->x * (v2Ptr)->x + (v1Ptr)->y * (v2Ptr)->y + (v1Ptr)->z * (v2Ptr)->z)
#define VEC3F_MAG(vecPtr) sqrtf(DOT_XYZ(vecPtr, vecPtr))
#define ABS(x) ((x) >= 0 ? (x) : -(x))
#define ABSF(x) ((x) >= 0.0f ? (x) : -(x))
#define ROUND(float) ((s32)((float)+0.5f))
+3 -3
View File
@@ -1,9 +1,9 @@
#ifndef PREVENT_CONTEXT_REORDERING_H
#define PREVENT_CONTEXT_REORDERING_H
// extern int Dummyhalf;
struct Dummy0 {int x;};
struct Dummy1 {int x;};
extern int Dummyhalf;
// struct Dummy0 {int x;};
// struct Dummy1 {int x;};
struct Dummy2 {int x;};
struct Dummy3 {int x;};
struct Dummy4 {int x;};
+52 -1
View File
@@ -20,7 +20,7 @@ typedef struct {
} Hitbox; // size = 0x18
typedef struct {
/* 0x00 */ s16 vtx[3];
/* 0x00 */ Triangle tri;
/* 0x06 */ s16 unk_06;
/* 0x08 */ Vec3s normal;
/* 0x10 */ s32 dist;
@@ -288,6 +288,57 @@ typedef struct {
/* 0x18C */ Vec3f vwork[30];
} Actor; // size = 0x2F4
#define EVENT_CMD(opcode, arg1, arg2) (((opcode) & 0x7F << 9) & (arg1 & 0x1FF)), arg2
typedef enum {
/* 0 */ EVOP_0,
/* 1 */ EVOP_1,
/* 2 */ EVOP_2,
/* 3 */ EVOP_3,
/* 4 */ EVOP_4,
/* 8 */ EVOP_8 = 8,
/* 9 */ EVOP_9,
/* 10 */ EVOP_10,
/* 11 */ EVOP_11,
/* 12 */ EVOP_12,
/* 16 */ EVOP_16 = 16,
/* 17 */ EVOP_17,
/* 18 */ EVOP_18,
/* 19 */ EVOP_19,
/* 20 */ EVOP_20,
/* 21 */ EVOP_21,
/* 24 */ EVOP_24 = 24,
/* 25 */ EVOP_25,
/* 40 */ EVOP_40 = 40,
/* 41 */ EVOP_41,
/* 42 */ EVOP_42,
/* 43 */ EVOP_43,
/* 44 */ EVOP_44,
/* 45 */ EVOP_45,
/* 46 */ EVOP_46,
/* 47 */ EVOP_47,
/* 48 */ EVOP_48,
/* 56 */ EVOP_56 = 56,
/* 57 */ EVOP_57,
/* 58 */ EVOP_58,
/* 59 */ EVOP_59,
/* 96 */ EVOP_96 = 96,
/* 104 */ EVOP_104 = 104,
/* 105 */ EVOP_105,
/* 112 */ EVOP_112 = 112,
/* 113 */ EVOP_113,
/* 116 */ EVOP_116 = 116,
/* 118 */ EVOP_118 = 118,
/* 119 */ EVOP_119,
/* 120 */ EVOP_120,
/* 121 */ EVOP_121,
/* 122 */ EVOP_122,
/* 124 */ EVOP_124 = 124,
/* 125 */ EVOP_125,
/* 126 */ EVOP_126,
/* 127 */ EVOP_127,
} EventOpcode;
typedef enum ObjectId {
/* -1 */ OBJ_INVALID=-1,
/* 0 */ OBJ_80_0,
+188 -157
View File
File diff suppressed because it is too large Load Diff
+32 -32
View File
@@ -2,15 +2,15 @@
#include "fox_A4290_colheaders.c"
bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3);
bool func_800A3A74(Vec3f*, Vec3f** arg1, Vec3f*);
bool func_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* colHeader, Vec3f* hitDataOut);
bool func_800A3A74(Vec3f* point, Vec3f** tri, Vec3f* normOut);
bool func_800A3690(Vec3f* arg0, Vec3f* arg1, s32 arg2, Vec3f* arg3) {
return func_800A36FC(arg0, arg1, SEGMENTED_TO_VIRTUAL(&D_800D2CA0[arg2]), arg3);
bool func_800A3690(Vec3f* objPos, Vec3f* colliderPos, s32 colId, Vec3f* hitDataOut) {
return func_800A36FC(objPos, colliderPos, SEGMENTED_TO_VIRTUAL(&D_800D2CA0[colId]), hitDataOut);
}
bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3) {
Vec3f pos;
bool func_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* colHeader, Vec3f* hitDataOut) {
Vec3f objRelPos;
Plane triPlane;
bool above;
s32 i;
@@ -23,22 +23,22 @@ bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3
Triangle* polys;
Vec3f* mesh;
pos.x = arg0->x - arg1->x;
pos.y = arg0->y - arg1->y;
pos.z = arg0->z - arg1->z;
if ((pos.x < arg2->min.x) || (pos.y < arg2->min.y) || (pos.z < arg2->min.z) || (arg2->max.x < pos.x) ||
(arg2->max.y < pos.y) || (arg2->max.z < pos.z)) {
objRelPos.x = objPos->x - colliderPos->x;
objRelPos.y = objPos->y - colliderPos->y;
objRelPos.z = objPos->z - colliderPos->z;
if ((objRelPos.x < colHeader->min.x) || (objRelPos.y < colHeader->min.y) || (objRelPos.z < colHeader->min.z) ||
(colHeader->max.x < objRelPos.x) || (colHeader->max.y < objRelPos.y) || (colHeader->max.z < objRelPos.z)) {
return false;
}
above = false;
count = arg2->polyCount;
polys = SEGMENTED_TO_VIRTUAL(arg2->polys);
mesh = SEGMENTED_TO_VIRTUAL(arg2->mesh);
count = colHeader->polyCount;
polys = SEGMENTED_TO_VIRTUAL(colHeader->polys);
mesh = SEGMENTED_TO_VIRTUAL(colHeader->mesh);
for (i = 0; i < count; i++, polys++) {
for (j = 0; j < 3; j++) {
tri[j] = &mesh[polys->vtx[j]];
}
above = func_800A3A74(&pos, tri, &norm);
above = func_800A3A74(&objRelPos, tri, &norm);
if (above) {
break;
}
@@ -48,7 +48,7 @@ bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3
vtx.y = tri[0]->y;
vtx.z = tri[0]->z;
func_80098860(&triPlane, &vtx, &norm);
arg3->y = func_800988B4(&pos, &triPlane);
hitDataOut->y = func_800988B4(&objRelPos, &triPlane);
if (triPlane.normal.x != 0.0f) {
norm.x = -triPlane.dist / triPlane.normal.x;
} else {
@@ -64,23 +64,23 @@ bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3
} else {
norm.z = 0.0f;
}
arg3->x = Math_Atan2F_XY(norm.y, norm.z);
hitDataOut->x = Math_Atan2F_XY(norm.y, norm.z);
if (norm.z != 0.0f) {
arg3->z = -Math_Atan2F_XY(__sinf(Math_Atan2F_XY(norm.y, norm.z)) * norm.z, norm.x);
} else if (arg3->x >= M_PI) {
arg3->z = Math_Atan2F_XY(norm.y, norm.x);
hitDataOut->z = -Math_Atan2F_XY(__sinf(Math_Atan2F_XY(norm.y, norm.z)) * norm.z, norm.x);
} else if (hitDataOut->x >= M_PI) {
hitDataOut->z = Math_Atan2F_XY(norm.y, norm.x);
} else {
arg3->z = -Math_Atan2F_XY(norm.y, norm.x);
hitDataOut->z = -Math_Atan2F_XY(norm.y, norm.x);
}
if ((arg0->y <= arg3->y) || (gCurrentLevel == LEVEL_MACBETH)) {
if ((objPos->y - hitDataOut->y <= 0.0f) || (gCurrentLevel == LEVEL_MACBETH)) {
sp38 = true;
}
}
return sp38;
}
// Checks if point is above the triangle tri. If so, returns the triangle normal in arg2.
s32 func_800A3A74(Vec3f* point, Vec3f** tri, Vec3f* norm) {
// Checks if point is above the triangle tri. If so, puts the triangle normal in normOut
bool func_800A3A74(Vec3f* point, Vec3f** tri, Vec3f* normOut) {
s32 pad;
f32 temp1;
bool ret = false;
@@ -111,15 +111,15 @@ s32 func_800A3A74(Vec3f* point, Vec3f** tri, Vec3f* norm) {
if (((vtx3.x - vtx2.x) * (ptz - vtx3.z)) <= ((vtx3.z - vtx2.z) * (ptx - vtx3.x))) {
if (((vtx1.x - vtx3.x) * (ptz - vtx1.z)) <= ((vtx1.z - vtx3.z) * (ptx - vtx1.x))) {
ret = true;
norm->x = ((vtx2.y - vtx1.y) * (vtx3.z - vtx2.z)) - ((vtx2.z - vtx1.z) * (vtx3.y - vtx2.y));
norm->y = ((vtx2.z - vtx1.z) * (vtx3.x - vtx2.x)) - ((vtx2.x - vtx1.x) * (vtx3.z - vtx2.z));
norm->z = ((vtx2.x - vtx1.x) * (vtx3.y - vtx2.y)) - ((vtx2.y - vtx1.y) * (vtx3.x - vtx2.x));
if ((norm->x != 0.0f) || (norm->y != 0.0f) || (norm->z != 0.0f)) {
temp_fv0 = sqrtf(SQ(norm->x) + SQ(norm->y) + SQ(norm->z));
normOut->x = ((vtx2.y - vtx1.y) * (vtx3.z - vtx2.z)) - ((vtx2.z - vtx1.z) * (vtx3.y - vtx2.y));
normOut->y = ((vtx2.z - vtx1.z) * (vtx3.x - vtx2.x)) - ((vtx2.x - vtx1.x) * (vtx3.z - vtx2.z));
normOut->z = ((vtx2.x - vtx1.x) * (vtx3.y - vtx2.y)) - ((vtx2.y - vtx1.y) * (vtx3.x - vtx2.x));
if ((normOut->x != 0.0f) || (normOut->y != 0.0f) || (normOut->z != 0.0f)) {
temp_fv0 = VEC3F_MAG(normOut);
if (temp_fv0 != 0) {
norm->x = (norm->x / temp_fv0) * 127.0f;
norm->y = (norm->y / temp_fv0) * 127.0f;
norm->z = (norm->z / temp_fv0) * 127.0f;
normOut->x = (normOut->x / temp_fv0) * 127.0f;
normOut->y = (normOut->y / temp_fv0) * 127.0f;
normOut->z = (normOut->z / temp_fv0) * 127.0f;
}
}
}
+36 -41
View File
@@ -717,9 +717,7 @@ void func_80038140(PlayerShot* shot) {
s32 i;
s32 temp_v0;
s32 spA4;
f32 temp_fa0;
f32 temp_fv0;
f32 temp_fv1;
Vec3f test;
f32 sp94;
Vec3f sp88;
Vec3f sp7C;
@@ -767,10 +765,10 @@ void func_80038140(PlayerShot* shot) {
return;
}
} else if (actor->unk_0B4 == 63) {
temp_fv1 = fabsf(actor->obj.pos.x - shot->obj.pos.x);
temp_fa0 = fabsf(actor->obj.pos.y - shot->obj.pos.y);
temp_fv0 = fabsf(actor->obj.pos.z - shot->obj.pos.z);
if (sqrtf(SQ(temp_fv1) + SQ(temp_fa0) + SQ(temp_fv0)) < 1000.0f) {
test.x = fabsf(actor->obj.pos.x - shot->obj.pos.x);
test.y = fabsf(actor->obj.pos.y - shot->obj.pos.y);
test.z = fabsf(actor->obj.pos.z - shot->obj.pos.z);
if (VEC3F_MAG(&test) < 1000.0f) {
func_80037CF4(shot, actor, 0);
}
} else {
@@ -816,27 +814,28 @@ void func_80038140(PlayerShot* shot) {
}
if (gLevelMode == LEVELMODE_ALL_RANGE) {
for (i = 0, player = gPlayer; i < gCamCount; i++, player++) {
temp_fv1 = 50.0f;
test.x = 50.0f;
if (gVersusMode && (shot->playerNum < 4) &&
!((gLaserStrength[shot->playerNum] == LASERS_SINGLE) && (shot->obj.id != PLAYERSHOT_8))) {
temp_fv1 = 100.0f;
test.x = 100.0f;
}
if (player->unk_280 >= 100) {
temp_fv1 = 150.0f;
test.x = 150.0f;
}
if (player->form == FORM_LANDMASTER) {
temp_fv1 *= 2.0f;
temp_fa0 = temp_fv1 + 50.0f;
test.x *= 2.0f;
test.y = test.x + 50.0f;
} else if (player->form == FORM_ON_FOOT) {
temp_fa0 = temp_fv1 + 50.0f;
test.y = test.x + 50.0f;
} else {
temp_fa0 = temp_fv1;
test.y = test.x;
}
test.z = test.x;
if ((i != shot->playerNum) &&
((player->state_1C8 == PLAYERSTATE_1C8_3) || (player->state_1C8 == PLAYERSTATE_1C8_4)) &&
(fabsf(player->unk_138 - shot->obj.pos.z) < temp_fv1) &&
(fabsf(player->pos.x - shot->obj.pos.x) < temp_fv1) &&
(fabsf(player->pos.y - shot->obj.pos.y) < temp_fa0)) {
(fabsf(player->unk_138 - shot->obj.pos.z) < test.z) &&
(fabsf(player->pos.x - shot->obj.pos.x) < test.x) &&
(fabsf(player->pos.y - shot->obj.pos.y) < test.y)) {
if (player->unk_280 >= 100) {
shot->obj.rot.y = player->unk_0E8 + player->unk_114 + 180.0f + 90.0f;
shot->obj.rot.x = RAND_FLOAT(360.0f);
@@ -944,10 +943,10 @@ void func_80038140(PlayerShot* shot) {
(boss->obj.id == OBJ_BOSS_313)) {
func_8003774C(shot, boss->obj.id, &boss->obj);
} else if (boss->obj.id == OBJ_BOSS_310) {
temp_fv1 = fabsf(boss->obj.pos.x - shot->obj.pos.x) * .8333333f;
temp_fa0 = fabsf(boss->obj.pos.y - shot->obj.pos.y) * 2;
temp_fv0 = fabsf(boss->obj.pos.z - shot->obj.pos.z) * 0.8333333f;
if (sqrtf(SQ(temp_fv1) + SQ(temp_fa0) + SQ(temp_fv0)) < 1500.0f) {
test.x = fabsf(boss->obj.pos.x - shot->obj.pos.x) * .8333333f;
test.y = fabsf(boss->obj.pos.y - shot->obj.pos.y) * 2;
test.z = fabsf(boss->obj.pos.z - shot->obj.pos.z) * 0.8333333f;
if (VEC3F_MAG(&test) < 1500.0f) {
if (shot->obj.id == PLAYERSHOT_4) {
Object_Kill(&shot->obj, shot->sfxSource);
} else {
@@ -958,10 +957,10 @@ void func_80038140(PlayerShot* shot) {
}
} else {
if (boss->obj.id == OBJ_BOSS_316) {
temp_fv1 = fabsf(boss->obj.pos.x - shot->obj.pos.x);
temp_fa0 = fabsf(boss->obj.pos.y - 300.0f - shot->obj.pos.y) * 7.42f;
temp_fv0 = fabsf(boss->obj.pos.z - shot->obj.pos.z);
if (sqrtf(SQ(temp_fv1) + SQ(temp_fa0) + SQ(temp_fv0)) < 2700.0f) {
test.x = fabsf(boss->obj.pos.x - shot->obj.pos.x);
test.y = fabsf(boss->obj.pos.y - 300.0f - shot->obj.pos.y) * 7.42f;
test.z = fabsf(boss->obj.pos.z - shot->obj.pos.z);
if (VEC3F_MAG(&test) < 2700.0f) {
if (shot->obj.id == PLAYERSHOT_4) {
Object_Kill(&shot->obj, shot->sfxSource);
} else {
@@ -1743,9 +1742,7 @@ void func_8003C008(PlayerShot* shot) {
s32 j;
f32* hitboxData;
Boss* boss;
f32 temp_ft4;
f32 temp_ft5;
f32 var_fa1;
Vec3f test;
f32 var_fs2;
Vec3f sp8C;
Vec3f sp80;
@@ -1784,13 +1781,13 @@ void func_8003C008(PlayerShot* shot) {
sp8C.y = shot->obj.pos.y - boss->obj.pos.y;
sp8C.z = shot->obj.pos.z - boss->obj.pos.z;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp8C, &sp80);
temp_ft4 = (hitboxData[4] + boss->obj.pos.x) - (boss->obj.pos.x + sp80.x);
temp_ft5 = (hitboxData[2] + boss->obj.pos.y) - (boss->obj.pos.y + sp80.y);
var_fa1 = (hitboxData[0] + boss->obj.pos.z) - (boss->obj.pos.z + sp80.z);
if ((gLevelMode == LEVELMODE_ON_RAILS) && (var_fa1 < 0.0f)) {
var_fa1 *= 0.6f;
test.x = (hitboxData[4] + boss->obj.pos.x) - (boss->obj.pos.x + sp80.x);
test.y = (hitboxData[2] + boss->obj.pos.y) - (boss->obj.pos.y + sp80.y);
test.z = (hitboxData[0] + boss->obj.pos.z) - (boss->obj.pos.z + sp80.z);
if ((gLevelMode == LEVELMODE_ON_RAILS) && (test.z < 0.0f)) {
test.z *= 0.6f;
}
if (sqrtf(SQ(temp_ft4) + SQ(temp_ft5) + SQ(var_fa1)) < var_fs2) {
if (VEC3F_MAG(&test) < var_fs2) {
boss->dmgPart = j;
boss->dmgType = DMG_BOMB;
boss->damage = 20;
@@ -1977,9 +1974,7 @@ void func_8003C4D0(PlayerShot* shot, s32 damage) {
}
void func_8003CC08(PlayerShot* shot) {
f32 temp_fa0;
f32 temp_fa1;
f32 temp_fv1;
Vec3f test;
f32 var_ft5;
switch (shot->unk_5C) {
@@ -2022,10 +2017,10 @@ void func_8003CC08(PlayerShot* shot) {
if ((shot->unk_64 > 0) && (shot->unk_64 < 30)) {
if (!gVersusMode &&
((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_5))) {
temp_fv1 = gPlayer[0].pos.x - shot->obj.pos.x;
temp_fa0 = gPlayer[0].pos.y - shot->obj.pos.y;
temp_fa1 = gPlayer[0].unk_138 - shot->obj.pos.z;
var_ft5 = sqrtf(SQ(temp_fv1) + SQ(temp_fa0) + SQ(temp_fa1)) * 0.01f;
test.x = gPlayer[0].pos.x - shot->obj.pos.x;
test.y = gPlayer[0].pos.y - shot->obj.pos.y;
test.z = gPlayer[0].unk_138 - shot->obj.pos.z;
var_ft5 = VEC3F_MAG(&test) * 0.01f;
if (var_ft5 > 60.0f) {
var_ft5 = 60.0f;
}
+2 -2
View File
@@ -1365,7 +1365,7 @@ void func_80057248(void) {
RCP_SetupDL_40();
for (i = 0; i < ARRAY_COUNT(D_80177E98); i++) {
if (D_80177E98[i].z < 0.0f) {
var_fs0 = sqrtf(VEC3F_SQ(D_80177E98[i])) * 0.0015f;
var_fs0 = (VEC3F_MAG(&D_80177E98[i])) * 0.0015f;
if (var_fs0 > 100.0f) {
var_fs0 = 100.0f;
} else if (var_fs0 < 1.0f) {
@@ -1401,7 +1401,7 @@ void func_80057504(void) {
for (i = 0; i < gCamCount; i++) {
if (D_80161578[i].z < 0.0f) {
var_fs0 = sqrtf(VEC3F_SQ(D_80161578[i]));
var_fs0 = (VEC3F_MAG(&D_80161578[i]));
if (var_fs0 < 20000.0f) {
var_fs0 *= 0.0015f;
if (var_fs0 > 100.0f) {
+1 -1
View File
@@ -1460,7 +1460,7 @@ void func_8005F670(Vec3f* arg0) {
sp9C.x = arg0->x - D_80178370;
sp9C.y = arg0->y - D_80178374;
sp9C.z = arg0->z - D_80178378;
temp_fv0 = sqrtf(VEC3F_SQ(sp9C));
temp_fv0 = (VEC3F_MAG(&sp9C));
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) {
var_fs0 = 700.0f / temp_fv0;
} else {
+1 -1
View File
@@ -104,7 +104,7 @@ void BonusText_Draw(BonusText* bonus) {
if ((fabsf(sp54.x) < 20000.0f) && (fabsf(sp54.y) < 20000.0f)) {
if ((sp54.z < 0.0f) && (sp54.z > -20000.0f)) {
sp50 = sqrtf(VEC3F_SQ(sp54)) * 0.0015f * 0.2f;
sp50 = (VEC3F_MAG(&sp54)) * 0.0015f * 0.2f;
Matrix_RotateY(gGfxMatrix, -gPlayer[gPlayerNum].unk_058, 1);
Matrix_RotateX(gGfxMatrix, gPlayer[gPlayerNum].unk_05C, 1);
Matrix_Scale(gGfxMatrix, sp50, sp50, 1.0f, 1);
+2 -2
View File
@@ -844,7 +844,7 @@ s32 func_8006351C(s32 index, Vec3f* pos, Vec3f* arg2, s32 arg3) {
temp.x = fabsf(boss->obj.pos.x - pos->x) * (5.0f / 6.0f);
temp.y = fabsf(boss->obj.pos.y - pos->y) * 2;
temp.z = fabsf(boss->obj.pos.z - pos->z) * (5.0f / 6.0f);
if (sqrtf(VEC3F_SQ(temp)) < 1500.0f) {
if ((VEC3F_MAG(&temp)) < 1500.0f) {
boss->dmgType = DMG_BEAM;
return 2;
}
@@ -853,7 +853,7 @@ s32 func_8006351C(s32 index, Vec3f* pos, Vec3f* arg2, s32 arg3) {
temp.x = fabsf(boss->obj.pos.x - pos->x);
temp.y = fabsf(boss->obj.pos.y - 300.0f - pos->y) * 7.42f;
temp.z = fabsf(boss->obj.pos.z - pos->z);
if (sqrtf(VEC3F_SQ(temp)) < 2700.0f) {
if ((VEC3F_MAG(&temp)) < 2700.0f) {
return 2;
}
}
+46 -46
View File
@@ -1026,14 +1026,14 @@ void func_8006D36C(Actor* actor) {
temp_s1 = SEGMENTED_TO_VIRTUAL(var_v1[actor->unk_0E4]);
switch (temp_s1[actor->unk_0E6] & 0xFE00) {
case 0xFE00:
case EVOP_127 << 9:
actor->state = 200;
if (actor->info.unk_10 > 10000.0f) {
actor->info.unk_10 = 100.0f;
}
break;
case 0xD000:
case EVOP_104 << 9:
Audio_KillSfxBySource(actor->sfxSource);
actor->unk_0B4 = temp_s1[actor->unk_0E6 + 1];
@@ -1163,7 +1163,7 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0xD200:
case EVOP_105 << 9:
actor->iwork[12] = temp_s1[actor->unk_0E6 + 1];
if (actor->iwork[12] < 4) {
@@ -1174,14 +1174,14 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0xE200:
case EVOP_113 << 9:
actor->iwork[15] = temp_s1[actor->unk_0E6 + 1];
actor->iwork[16] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0x0600:
case EVOP_3 << 9:
D_80177E78 = actor->index;
D_80177F10.x = actor->obj.pos.x;
D_80177F10.y = actor->obj.pos.y;
@@ -1193,7 +1193,7 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0xE000:
case EVOP_112 << 9:
if (temp_s1[actor->unk_0E6 + 1] == 0xE) {
actor->state = 0xA;
actor->fwork[11] = 0.0f;
@@ -1222,19 +1222,19 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0xE800:
case EVOP_116 << 9:
actor->unk_044 = temp_s1[actor->unk_0E6 + 1];
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0xEC00:
case EVOP_118 << 9:
Audio_SetBaseSfxReverb(temp_s1[actor->unk_0E6 + 1]);
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0xF000:
case EVOP_120 << 9:
temp_v0_4 = Message_PtrFromId(temp_s1[actor->unk_0E6 + 1]);
if ((temp_v0_4 != NULL) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3)) {
Radio_PlayMessage(temp_v0_4, temp_s1[actor->unk_0E6] & 0x1FF);
@@ -1243,7 +1243,7 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0xEE00:
case EVOP_119 << 9:
if ((D_80161A88 == 2) && (temp_s1[actor->unk_0E6 + 1] != 2)) {
Audio_KillSfxBySourceAndId(gPlayer[0].sfxSource, 0x1100000B);
}
@@ -1253,39 +1253,39 @@ void func_8006D36C(Actor* actor) {
actor->obj.status = OBJ_FREE;
break;
case 0x7000:
case EVOP_56 << 9:
D_800CFF90 = temp_s1[actor->unk_0E6] & 0x1FF;
D_80161690 = temp_s1[actor->unk_0E6 + 1];
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0x7200:
case EVOP_57 << 9:
gTeamShields[temp_s1[actor->unk_0E6 + 1]] = 0xFF;
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0x7400:
case EVOP_58 << 9:
func_8001D2FC(actor->sfxSource, temp_s1[actor->unk_0E6 + 1]);
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0x7600:
case EVOP_59 << 9:
func_8001D3A0(actor->sfxSource, temp_s1[actor->unk_0E6 + 1]);
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0xF400:
case EVOP_122 << 9:
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 50);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50);
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0xF200:
case EVOP_121 << 9:
if (actor->iwork[12] == temp_s1[actor->unk_0E6 + 1]) {
actor->unk_0D0 = 1;
actor->damage = temp_s1[actor->unk_0E6] & 0x1FF;
@@ -1297,7 +1297,7 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0xF800:
case EVOP_124 << 9:
actor->iwork[7] = 1;
for (i = 0; i < ARRAY_COUNT(gUnkEntities30); i++) {
if (gUnkEntities30[i].mode == 0) {
@@ -1318,41 +1318,41 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0xFA00:
case EVOP_125 << 9:
actor->iwork[7] = 0;
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0x5000:
case EVOP_40 << 9:
actor->state = 6;
actor->timer_0BC = temp_s1[actor->unk_0E6 + 1];
actor->fwork[24] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->unk_0E6 += 2;
break;
case 0x5200:
case EVOP_41 << 9:
actor->state = 7;
actor->timer_0BC = temp_s1[actor->unk_0E6 + 1];
actor->fwork[24] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->unk_0E6 += 2;
break;
case 0x5400:
case EVOP_42 << 9:
actor->state = 8;
actor->timer_0BC = temp_s1[actor->unk_0E6 + 1];
actor->fwork[24] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->unk_0E6 += 2;
break;
case 0x5600:
case EVOP_43 << 9:
actor->state = 9;
actor->timer_0BC = temp_s1[actor->unk_0E6 + 1];
actor->fwork[24] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->unk_0E6 += 2;
break;
case 0x5A00:
case EVOP_45 << 9:
actor->state = 1;
actor->iwork[1] = D_800CFF80[temp_s1[actor->unk_0E6] & 0x1FF];
actor->fwork[17] = temp_s1[actor->unk_0E6 + 1];
@@ -1360,35 +1360,35 @@ void func_8006D36C(Actor* actor) {
actor->unk_0E6 += 2;
break;
case 0x5800:
case EVOP_44 << 9:
actor->state = 0xD;
actor->timer_0BC = temp_s1[actor->unk_0E6 + 1];
actor->fwork[24] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->unk_0E6 += 2;
break;
case 0x5C00:
case EVOP_46 << 9:
actor->state = 0xE;
actor->timer_0BC = temp_s1[actor->unk_0E6 + 1];
actor->fwork[24] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->unk_0E6 += 2;
break;
case 0x5E00:
case EVOP_47 << 9:
actor->state = 0xF;
actor->timer_0BC = temp_s1[actor->unk_0E6 + 1];
actor->fwork[24] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->unk_0E6 += 2;
break;
case 0xC000:
case EVOP_96 << 9:
actor->iwork[2] = temp_s1[actor->unk_0E6 + 1];
actor->iwork[3] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0xFC00:
case EVOP_126 << 9:
if (temp_s1[actor->unk_0E6 + 1] < actor->iwork[0]) {
actor->unk_0E6 += 2;
actor->iwork[0] = 0;
@@ -1403,13 +1403,13 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0x6000:
case EVOP_48 << 9:
actor->state = 1;
actor->timer_0BC = temp_s1[actor->unk_0E6 + 1];
actor->unk_0E6 += 2;
break;
case 0x0000:
case EVOP_0 << 9:
actor->fwork[0] = temp_s1[actor->unk_0E6] & 0x7F;
actor->fwork[1] = actor->fwork[0];
actor->iwork[5] = temp_s1[actor->unk_0E6] & 0x180;
@@ -1418,13 +1418,13 @@ void func_8006D36C(Actor* actor) {
actor->unk_0E6 += 2;
break;
case 0x0400:
case EVOP_2 << 9:
actor->fwork[22] = temp_s1[actor->unk_0E6 + 1] & 0xFF;
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0x0200:
case EVOP_1 << 9:
actor->fwork[1] = temp_s1[actor->unk_0E6] & 0x7F;
actor->iwork[5] = temp_s1[actor->unk_0E6] & 0x180;
actor->timer_0BC = temp_s1[actor->unk_0E6 + 1];
@@ -1432,48 +1432,48 @@ void func_8006D36C(Actor* actor) {
actor->unk_0E6 += 2;
break;
case 0x0800:
case EVOP_4 << 9:
actor->timer_0C0 = temp_s1[actor->unk_0E6 + 1];
actor->iwork[13] = 1;
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0x1000:
case EVOP_8 << 9:
actor->iwork[13] = 0;
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0x1200:
case EVOP_9 << 9:
actor->state = 2;
actor->fwork[2] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->fwork[3] = temp_s1[actor->unk_0E6 + 1] * 0.1f;
actor->unk_0E6 += 2;
break;
case 0x1400:
case EVOP_10 << 9:
actor->state = 3;
actor->fwork[2] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->fwork[3] = temp_s1[actor->unk_0E6 + 1] * 0.1f;
actor->unk_0E6 += 2;
break;
case 0x1600:
case EVOP_11 << 9:
actor->state = 4;
actor->fwork[2] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->fwork[3] = temp_s1[actor->unk_0E6 + 1] * 0.1f;
actor->unk_0E6 += 2;
break;
case 0x1800:
case EVOP_12 << 9:
actor->state = 5;
actor->fwork[2] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->fwork[3] = temp_s1[actor->unk_0E6 + 1] * 0.1f;
actor->unk_0E6 += 2;
break;
case 0x2000:
case EVOP_16 << 9:
actor->fwork[4] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->fwork[5] = temp_s1[actor->unk_0E6 + 1] * 0.1f;
actor->fwork[6] = 1.0f;
@@ -1481,7 +1481,7 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0x2200:
case EVOP_17 << 9:
actor->fwork[4] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->fwork[5] = temp_s1[actor->unk_0E6 + 1] * 0.1f;
actor->fwork[6] = -1.0f;
@@ -1489,7 +1489,7 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0x2400:
case EVOP_18 << 9:
actor->fwork[7] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->fwork[8] = temp_s1[actor->unk_0E6 + 1] * 0.1f;
actor->fwork[9] = 1.0f;
@@ -1497,7 +1497,7 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0x2600:
case EVOP_19 << 9:
actor->fwork[7] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->fwork[8] = temp_s1[actor->unk_0E6 + 1] * 0.1f;
actor->fwork[9] = -1.0f;
@@ -1505,7 +1505,7 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0x2800:
case EVOP_20 << 9:
actor->fwork[10] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->fwork[11] = temp_s1[actor->unk_0E6 + 1] * 0.1f;
actor->fwork[12] = 1.0f;
@@ -1513,7 +1513,7 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0x2A00:
case EVOP_21 << 9:
actor->fwork[10] = temp_s1[actor->unk_0E6] & 0x1FF;
actor->fwork[11] = temp_s1[actor->unk_0E6 + 1] * 0.1f;
actor->fwork[12] = -1.0f;
@@ -1521,13 +1521,13 @@ void func_8006D36C(Actor* actor) {
func_8006D36C(actor);
break;
case 0x3000:
case EVOP_24 << 9:
actor->iwork[6] = 1;
actor->unk_0E6 += 2;
func_8006D36C(actor);
break;
case 0x3200:
case EVOP_25 << 9:
actor->iwork[6] = 0;
actor->unk_0E6 += 2;
func_8006D36C(actor);
+3 -3
View File
@@ -1813,7 +1813,7 @@ void func_800A8BA4(Player* player) {
spfD4.x = fabsf(boss->obj.pos.x - player->pos.x) * .8333333f;
spfD4.y = fabsf(boss->obj.pos.y - player->pos.y) * 2;
spfD4.z = fabsf(boss->obj.pos.z - player->unk_138) * 0.8333333f;
if (sqrtf(VEC3F_SQ(spfD4)) < 1500.0f) {
if ((VEC3F_MAG(&spfD4)) < 1500.0f) {
Player_ApplyDamage(player, 0, boss->info.damage);
player->unk_110 = 0.0f;
player->timer_498 = 5;
@@ -1834,7 +1834,7 @@ void func_800A8BA4(Player* player) {
spfD4.x = fabsf(boss->obj.pos.x - player->pos.x);
spfD4.y = fabsf(boss->obj.pos.y - 300.0f - player->pos.y) * 7.42f;
spfD4.z = fabsf(boss->obj.pos.z - player->unk_138);
if (sqrtf(VEC3F_SQ(spfD4)) < 2700.0f) {
if ((VEC3F_MAG(&spfD4)) < 2700.0f) {
Player_ApplyDamage(player, 3, boss->info.damage);
}
}
@@ -1887,7 +1887,7 @@ void func_800A8BA4(Player* player) {
spfD4.x = fabsf(actor->obj.pos.x - player->pos.x);
spfD4.y = fabsf(actor->obj.pos.y - player->pos.y);
spfD4.z = fabsf(actor->obj.pos.z - player->unk_138);
if (sqrtf(VEC3F_SQ(spfD4)) < 900.0f) {
if ((VEC3F_MAG(&spfD4)) < 900.0f) {
Player_ApplyDamage(player, 0, actor->info.damage);
actor->unk_0D0 = 3;
}
+1 -1
View File
@@ -532,7 +532,7 @@ s32 Math_PursueVec3f(Vec3f* pos, Vec3f* target, Vec3f* rot, f32 stepSize, f32 sc
diff.y = target->y - pos->y;
diff.z = target->z - pos->z;
return sqrtf(VEC3F_SQ(diff)) < dist;
return (VEC3F_MAG(&diff)) < dist;
}
void TextureRect_4bCI(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale,
+7 -7
View File
@@ -420,7 +420,7 @@ void func_i1_80192518(Actor* actor) {
case 2:
if (actor->timer_0BC == 0) {
src.x = temp_fv1_2 = Math_SmoothStepToF(actor->fwork, actor->fwork[1], 0.7f, 80.0f, 0.01f);
src.x = temp_fv1_2 = Math_SmoothStepToF(&actor->fwork[0], actor->fwork[1], 0.7f, 80.0f, 0.01f);
src.y = 0.0f;
src.z = 0.0f;
@@ -728,7 +728,7 @@ void func_i1_80192EB0(Actor* actor) {
case 2:
if (actor->timer_0BC == 0) {
sp50.y = sp40 = Math_SmoothStepToF(actor->fwork, actor->fwork[1], 0.7f, 80.0f, 0.01f);
sp50.y = sp40 = Math_SmoothStepToF(&actor->fwork[0], actor->fwork[1], 0.7f, 80.0f, 0.01f);
sp50.x = 0.0f;
sp50.z = 0.0f;
@@ -1989,19 +1989,19 @@ void func_i1_80194398(Boss* boss) {
switch (boss->swork[7]) {
case 0:
if (boss->fwork[11] < 0.9f) {
Math_SmoothStepToF(boss->fwork, 0.2f, 0.5f, 0.05f, 0.01f);
Math_SmoothStepToF(&boss->fwork[0], 0.2f, 0.5f, 0.05f, 0.01f);
Math_SmoothStepToVec3fArray(sp118, boss->vwork, 1, 27, boss->fwork[0], 360.0f, 0.01f);
} else {
Math_SmoothStepToF(boss->fwork, 1.0f, 0.5f, 0.05f, 0.01f);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 0.5f, 0.05f, 0.01f);
Math_SmoothStepToVec3fArray(sp118, boss->vwork, 1, 27, boss->fwork[0], 360.0f, 0.01f);
}
break;
case 1:
Math_SmoothStepToF(boss->fwork, 1.0f, 0.1f, 0.05f, 0.01f);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 0.1f, 0.05f, 0.01f);
Math_SmoothStepToVec3fArray(sp118, boss->vwork, 1, 27, boss->fwork[0], 360.0f, 0.01f);
break;
case 2:
Math_SmoothStepToF(boss->fwork, 0.7f, 0.07f, 0.05f, 0.01f);
Math_SmoothStepToF(&boss->fwork[0], 0.7f, 0.07f, 0.05f, 0.01f);
Math_SmoothStepToVec3fArray(sp118, boss->vwork, 1, 27, boss->fwork[0], 45.0f, 0.01f);
break;
}
@@ -2421,7 +2421,7 @@ void func_i1_8019864C(PlayerShot* playerShot) {
diff.z = hitboxData[0] - sp78.z;
diff.z *= 0.6f;
D_i1_8019B7F0[j] = (sqrtf(VEC3F_SQ(diff)) < temp_fs1) ? 1 : 0;
D_i1_8019B7F0[j] = ((VEC3F_MAG(&diff)) < temp_fs1) ? 1 : 0;
}
}
}
+12 -12
View File
@@ -600,7 +600,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_6016E28, boss->unk_04C, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 100.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 1.0f, 1.0f, 0.05f, 0);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 1.0f, 0.05f, 0);
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_6016E28)) {
@@ -636,7 +636,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_60123BC, boss->unk_04C, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 100.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 1.0f, 1.0f, 0.05f, 0);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 1.0f, 0.05f, 0);
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_60123BC)) {
@@ -672,7 +672,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_6013798, boss->unk_04C, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 100.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 1.0f, 1.0f, 0.05f, 0);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 1.0f, 0.05f, 0);
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_6013798)) {
@@ -706,7 +706,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_6016E28, 0, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 100.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 1.0f, 1.0f, 0.05f, 0);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 1.0f, 0.05f, 0);
Math_SmoothStepToF(&boss->fwork[27], 30.0f, 0.05f, 1.0f, 0);
Math_SmoothStepToF(&boss->fwork[28], -30.0f, 0.05f, 1.0f, 0);
@@ -833,7 +833,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_601C690, boss->unk_04C, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 100.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 1.0f, 1.0f, 0.05f, 0);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 1.0f, 0.05f, 0);
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_601C690)) {
@@ -851,7 +851,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_600A2D4, 0, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 2.5f, 0.0f);
Math_SmoothStepToF(boss->fwork, 0.1f, 1.0f, 0.005f, 0);
Math_SmoothStepToF(&boss->fwork[0], 0.1f, 1.0f, 0.005f, 0);
if (boss->timer_050 == 0) {
boss->state = 8;
@@ -879,7 +879,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_600F890, boss->unk_04C, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 100.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 1.0f, 1.0f, 0.02f, 0);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 1.0f, 0.02f, 0);
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_600F890)) {
@@ -899,7 +899,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_60123BC, boss->unk_04C, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 50.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 1.0f, 1.0f, 0.01f, 0);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 1.0f, 0.01f, 0);
if (boss->timer_050 == 0) {
boss->unk_04C++;
@@ -931,7 +931,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_601AA28, boss->unk_04C, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 50.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 1.0f, 1.0f, 0.01f, 0);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 1.0f, 0.01f, 0);
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_601AA28)) {
@@ -960,7 +960,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_60158C4, boss->unk_04C, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 100.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 1.0f, 1.0f, 0.05f, 0);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 1.0f, 0.05f, 0);
boss->unk_04C++;
if (!(boss->unk_04C & 15)) {
@@ -1023,7 +1023,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_6009FF8, 0, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 5.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 0.1f, 1.0f, 0.001f, 0);
Math_SmoothStepToF(&boss->fwork[0], 0.1f, 1.0f, 0.001f, 0);
Math_SmoothStepToF(&boss->unk_078.y, 10.0f, 1.0f, 0.1f, 0);
Math_SmoothStepToF(&boss->obj.rot.y, 2880.0f, 0.1f, boss->unk_078.y, 0.1f);
@@ -1051,7 +1051,7 @@ void func_i2_80190078(Boss* boss) {
frameData = Animation_GetFrameData(&D_601C690, boss->unk_04C, sp80);
Math_SmoothStepToVec3fArray(sp80, boss->vwork, 1, frameData, boss->fwork[0], 100.0f, 0.0f);
Math_SmoothStepToF(boss->fwork, 1.0f, 1.0f, 0.05f, 0);
Math_SmoothStepToF(&boss->fwork[0], 1.0f, 1.0f, 0.05f, 0);
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_601C690)) {
+2 -2
View File
@@ -2155,7 +2155,7 @@ void func_i3_801AFA5C(Actor* actor) {
break;
case 5:
if (actor->obj.pos.y > (gGroundLevel + 70.0f)) {
Math_SmoothStepToF(actor->fwork, 1.0f, 0.1f, 0.2f, 0.0001f);
Math_SmoothStepToF(&actor->fwork[0], 1.0f, 0.1f, 0.2f, 0.0001f);
Math_SmoothStepToF(&actor->fwork[1], 1.0f, 0.1f, 0.2f, 0.0001f);
Math_SmoothStepToF(&actor->fwork[2], 1.0f, 0.1f, 0.2f, 0.0001f);
Math_SmoothStepToF(&actor->vel.y, -10.0f, 0.1f, 1.0f, 0.001f);
@@ -2191,7 +2191,7 @@ void func_i3_801AFA5C(Actor* actor) {
if (actor->timer_0BE == 0) {
actor->timer_0BE = 10;
}
Math_SmoothStepToF(actor->fwork, 0.0f, 0.05f, 0.1f, 0.001f);
Math_SmoothStepToF(&actor->fwork[0], 0.0f, 0.05f, 0.1f, 0.001f);
Math_SmoothStepToF(&actor->fwork[1], 0.0f, 0.05f, 0.1f, 0.001f);
Math_SmoothStepToF(&actor->fwork[2], 0.0f, 0.05f, 0.1f, 0.001f);
Math_SmoothStepToF(&actor->obj.pos.y, -300.0f, 0.1f, 1.0f, 0.001f);
+1 -1
View File
@@ -2363,7 +2363,7 @@ void func_i3_801A5B3C(Boss* bossSO) {
bossSO->fwork[SO_FWK_31] - 20.0f, 1.0f);
}
}
Math_SmoothStepToF(bossSO->fwork, 1.0f, 0.01f, 0.01f, 0.0f);
Math_SmoothStepToF(&bossSO->fwork[0], 1.0f, 0.01f, 0.01f, 0.0f);
if ((bossSO->health > 0) || (bossSO->swork[SO_SWK_0] == 0)) {
D_i3_801BF980[bossSO->swork[SO_SWK_0]](bossSO);
}
+1 -1
View File
@@ -2003,7 +2003,7 @@ void func_i4_80191AFC(Boss* boss) {
void func_i4_80191BAC(Boss* boss) {
D_i4_801A0530 = 0;
Math_SmoothStepToF(boss->fwork, D_i4_801A03DC * 9.0f + 10.0f, 1.0f, 10.0f, 0.0f);
Math_SmoothStepToF(&boss->fwork[0], D_i4_801A03DC * 9.0f + 10.0f, 1.0f, 10.0f, 0.0f);
Texture_Scroll(&D_600CF88, 16, 16, 0);
Texture_Scroll(&D_600CF88, 16, 16, 0);
+1 -1
View File
@@ -1171,7 +1171,7 @@ void func_i4_801946C4(Boss* boss) {
}
}
if (boss->swork[10] != 0) {
Math_SmoothStepToF(boss->fwork, boss->fwork[5], 0.03f, 0.5f, 0);
Math_SmoothStepToF(&boss->fwork[0], boss->fwork[5], 0.03f, 0.5f, 0);
}
if (boss->swork[11] != 0) {
Math_SmoothStepToF(&boss->fwork[1], boss->fwork[6], 0.03f, 0.5f, 0);

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