mirror of
https://github.com/izzy2lost/Starship.git
synced 2026-07-05 15:19:42 -07:00
Add Script Factory. Also some colpoly docs and vector cleanup (#161)
* a start * some things * format
This commit is contained in:
Vendored
+2
-1
@@ -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
@@ -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))
|
||||
|
||||
@@ -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
@@ -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
File diff suppressed because it is too large
Load Diff
+32
-32
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user