mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-09 05:23:15 -04:00
Identify unnamed eyespy functions
This commit is contained in:
+2
-2
@@ -629,9 +629,9 @@ s32 bbike0f0d3680(struct coord *arg0, struct coord *arg1, struct coord *arg2)
|
||||
|
||||
s32 bbike0f0d36d4(struct coord *arg0, struct coord *arg1, struct coord *arg2, struct coord *arg3, struct coord *arg4)
|
||||
{
|
||||
if (cd_00024ea4()) {
|
||||
if (cd_has_distance()) {
|
||||
struct coord sp24;
|
||||
f32 somefloat = cd_00024e98();
|
||||
f32 somefloat = cd_get_distance();
|
||||
s32 someint;
|
||||
|
||||
sp24.x = arg0->x * somefloat * 0.25f;
|
||||
|
||||
+122
-123
@@ -114,7 +114,7 @@ s32 eyespy_try_move_upwards(f32 yvel)
|
||||
|
||||
s32 eyespy_calculate_new_position(struct coord *vel)
|
||||
{
|
||||
bool result = true;
|
||||
bool cdresult = CDRESULT_NOCOLLISION;
|
||||
struct prop *eyespyprop = g_Vars.currentplayer->eyespy->prop;
|
||||
struct chrdata *chr = eyespyprop->chr;
|
||||
struct coord dstpos;
|
||||
@@ -176,16 +176,16 @@ s32 eyespy_calculate_new_position(struct coord *vel)
|
||||
halfradius = radius * 0.5f;
|
||||
|
||||
if (xdiff > halfradius || zdiff > halfradius || xdiff < -halfradius || zdiff < -halfradius) {
|
||||
result = cd_exam_cyl_move06(&eyespyprop->pos, eyespyprop->rooms, &dstpos, dstrooms, radius, types, 1, 15, ymin);
|
||||
cdresult = cd_exam_cyl_move06(&eyespyprop->pos, eyespyprop->rooms, &dstpos, dstrooms, radius, types, 1, 15, ymin);
|
||||
|
||||
if (result == CDRESULT_NOCOLLISION) {
|
||||
result = cd_exam_cyl_move02(&eyespyprop->pos, &dstpos, radius, dstrooms, types, true, 15, ymin);
|
||||
if (cdresult == CDRESULT_NOCOLLISION) {
|
||||
cdresult = cd_exam_cyl_move02(&eyespyprop->pos, &dstpos, radius, dstrooms, types, true, 15, ymin);
|
||||
}
|
||||
} else {
|
||||
result = cd_exam_cyl_move02(&eyespyprop->pos, &dstpos, radius, sp74, types, true, 15, ymin);
|
||||
cdresult = cd_exam_cyl_move02(&eyespyprop->pos, &dstpos, radius, sp74, types, true, 15, ymin);
|
||||
}
|
||||
|
||||
if (result == CDRESULT_COLLISION) {
|
||||
if (cdresult == CDRESULT_COLLISION) {
|
||||
prop = cd_get_obstacle_prop();
|
||||
|
||||
if (prop && prop->type == PROPTYPE_PLAYER) {
|
||||
@@ -199,7 +199,7 @@ s32 eyespy_calculate_new_position(struct coord *vel)
|
||||
|
||||
prop_set_perim_enabled(eyespyprop, true);
|
||||
|
||||
if (result == CDRESULT_NOCOLLISION) {
|
||||
if (cdresult == CDRESULT_NOCOLLISION) {
|
||||
// Apply the destination
|
||||
eyespyprop->pos.x = dstpos.x;
|
||||
eyespyprop->pos.y = dstpos.y;
|
||||
@@ -211,15 +211,15 @@ s32 eyespy_calculate_new_position(struct coord *vel)
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return cdresult;
|
||||
}
|
||||
|
||||
bool eyespy_calculate_new_position_with_push(struct coord *vel)
|
||||
{
|
||||
s32 result = eyespy_calculate_new_position(vel);
|
||||
s32 cdresult = eyespy_calculate_new_position(vel);
|
||||
struct prop *prop;
|
||||
|
||||
if (result != CDRESULT_NOCOLLISION) {
|
||||
if (cdresult != CDRESULT_NOCOLLISION) {
|
||||
g_EyespyHit = EYESPYHIT_BG;
|
||||
|
||||
prop = cd_get_obstacle_prop();
|
||||
@@ -266,157 +266,158 @@ bool eyespy_calculate_new_position_with_push(struct coord *vel)
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return cdresult;
|
||||
}
|
||||
|
||||
s32 eyespy0f0cf890(struct coord *arg0, struct coord *arg1, struct coord *arg2, struct coord *arg3, struct coord *arg4)
|
||||
s32 eyespy_try_quarterstep(struct coord *vel, struct coord *prevedge1, struct coord *prevedge2, struct coord *newedge1, struct coord *newedge2)
|
||||
{
|
||||
if (cd_00024ea4()) {
|
||||
struct coord sp24;
|
||||
s32 someint;
|
||||
f32 somefloat = cd_00024e98();
|
||||
sp24.x = arg0->x * somefloat * 0.25f;
|
||||
sp24.y = arg0->y * somefloat * 0.25f;
|
||||
sp24.z = arg0->z * somefloat * 0.25f;
|
||||
if (cd_has_distance()) {
|
||||
struct coord tryvel;
|
||||
s32 cdresult;
|
||||
f32 distance = cd_get_distance();
|
||||
|
||||
someint = eyespy_calculate_new_position_with_push(&sp24);
|
||||
tryvel.x = vel->x * distance * 0.25f;
|
||||
tryvel.y = vel->y * distance * 0.25f;
|
||||
tryvel.z = vel->z * distance * 0.25f;
|
||||
|
||||
if (someint == 1) {
|
||||
return 1;
|
||||
cdresult = eyespy_calculate_new_position_with_push(&tryvel);
|
||||
|
||||
if (cdresult == CDRESULT_NOCOLLISION) {
|
||||
return CDRESULT_NOCOLLISION;
|
||||
}
|
||||
|
||||
if (someint == 0) {
|
||||
cd_get_edge(arg3, arg4, 350, "bondeyespy.c");
|
||||
if (cdresult == CDRESULT_COLLISION) {
|
||||
cd_get_edge(newedge1, newedge2, 350, "bondeyespy.c");
|
||||
|
||||
if (arg3->f[0] != arg1->f[0]
|
||||
|| arg3->f[1] != arg1->f[1]
|
||||
|| arg3->f[2] != arg1->f[2]
|
||||
|| arg4->f[0] != arg2->f[0]
|
||||
|| arg4->f[1] != arg2->f[1]
|
||||
|| arg4->f[2] != arg2->f[2]) {
|
||||
return 0;
|
||||
if (newedge1->f[0] != prevedge1->f[0]
|
||||
|| newedge1->f[1] != prevedge1->f[1]
|
||||
|| newedge1->f[2] != prevedge1->f[2]
|
||||
|| newedge2->f[0] != prevedge2->f[0]
|
||||
|| newedge2->f[1] != prevedge2->f[1]
|
||||
|| newedge2->f[2] != prevedge2->f[2]) {
|
||||
return CDRESULT_COLLISION;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
return CDRESULT_ERROR;
|
||||
}
|
||||
|
||||
s32 eyespy0f0cf9f8(struct coord *arg0, struct coord *arg1, struct coord *arg2)
|
||||
s32 eyespy_try_move_to_edge(struct coord *vel, struct coord *edge1, struct coord *edge2)
|
||||
{
|
||||
f32 tmp;
|
||||
struct coord sp30;
|
||||
struct coord sp24;
|
||||
f32 dist;
|
||||
f32 frac;
|
||||
struct coord tri;
|
||||
struct coord tryvel;
|
||||
f32 edgelen;
|
||||
|
||||
if (arg1->f[0] != arg2->f[0] || arg1->f[2] != arg2->f[2]) {
|
||||
sp30.x = arg2->x - arg1->x;
|
||||
sp30.y = 0;
|
||||
sp30.z = arg2->z - arg1->z;
|
||||
if (edge1->f[0] != edge2->f[0] || edge1->f[2] != edge2->f[2]) {
|
||||
tri.x = edge2->x - edge1->x;
|
||||
tri.y = 0;
|
||||
tri.z = edge2->z - edge1->z;
|
||||
|
||||
dist = sqrtf(sp30.f[0] * sp30.f[0] + sp30.f[2] * sp30.f[2]);
|
||||
edgelen = sqrtf(tri.f[0] * tri.f[0] + tri.f[2] * tri.f[2]);
|
||||
|
||||
sp30.x *= 1.0f / dist;
|
||||
sp30.z *= 1.0f / dist;
|
||||
tri.x *= 1.0f / edgelen;
|
||||
tri.z *= 1.0f / edgelen;
|
||||
|
||||
tmp = arg0->f[0] * sp30.f[0] + arg0->f[2] * sp30.f[2];
|
||||
frac = vel->f[0] * tri.f[0] + vel->f[2] * tri.f[2];
|
||||
|
||||
sp24.x = sp30.x * tmp;
|
||||
sp24.y = 0;
|
||||
sp24.z = sp30.z * tmp;
|
||||
tryvel.x = tri.x * frac;
|
||||
tryvel.y = 0;
|
||||
tryvel.z = tri.z * frac;
|
||||
|
||||
return eyespy_calculate_new_position_with_push(&sp24);
|
||||
return eyespy_calculate_new_position_with_push(&tryvel);
|
||||
}
|
||||
|
||||
return -1;
|
||||
return CDRESULT_ERROR;
|
||||
}
|
||||
|
||||
s32 eyespy0f0cfafc(struct coord *arg0, struct coord *arg1, struct coord *arg2)
|
||||
s32 eyespy_try_grind(struct coord *vel, struct coord *edge1, struct coord *edge2)
|
||||
{
|
||||
struct coord sp34;
|
||||
struct coord sp28;
|
||||
struct coord tri;
|
||||
struct coord tryvel;
|
||||
f32 width = 26;
|
||||
struct prop *prop = g_Vars.currentplayer->eyespy->prop;
|
||||
f32 tmp;
|
||||
|
||||
sp34.x = arg1->x - (prop->pos.x + arg0->f[0]);
|
||||
sp34.z = arg1->z - (prop->pos.z + arg0->f[2]);
|
||||
tri.x = edge1->x - (prop->pos.x + vel->f[0]);
|
||||
tri.z = edge1->z - (prop->pos.z + vel->f[2]);
|
||||
|
||||
if (sp34.f[0] * sp34.f[0] + sp34.f[2] * sp34.f[2] <= width * width) {
|
||||
if (arg1->f[0] != prop->pos.f[0] || arg1->f[2] != prop->pos.f[2]) {
|
||||
sp34.x = -(arg1->z - prop->pos.z);
|
||||
sp34.y = 0;
|
||||
sp34.z = arg1->x - prop->pos.x;
|
||||
if (tri.f[0] * tri.f[0] + tri.f[2] * tri.f[2] <= width * width) {
|
||||
if (edge1->f[0] != prop->pos.f[0] || edge1->f[2] != prop->pos.f[2]) {
|
||||
tri.x = -(edge1->z - prop->pos.z);
|
||||
tri.y = 0;
|
||||
tri.z = edge1->x - prop->pos.x;
|
||||
|
||||
tmp = sqrtf(sp34.f[0] * sp34.f[0] + sp34.f[2] * sp34.f[2]);
|
||||
tmp = sqrtf(tri.f[0] * tri.f[0] + tri.f[2] * tri.f[2]);
|
||||
|
||||
sp34.x = sp34.f[0] * (1.0f / tmp);
|
||||
sp34.z = sp34.f[2] * (1.0f / tmp);
|
||||
tri.x = tri.f[0] * (1.0f / tmp);
|
||||
tri.z = tri.f[2] * (1.0f / tmp);
|
||||
|
||||
tmp = arg0->f[0] * sp34.f[0] + arg0->f[2] * sp34.f[2];
|
||||
tmp = vel->f[0] * tri.f[0] + vel->f[2] * tri.f[2];
|
||||
|
||||
sp34.x = sp34.x * tmp;
|
||||
sp34.z = sp34.z * tmp;
|
||||
tri.x = tri.x * tmp;
|
||||
tri.z = tri.z * tmp;
|
||||
|
||||
sp28.x = sp34.x;
|
||||
sp28.y = 0;
|
||||
sp28.z = sp34.z;
|
||||
tryvel.x = tri.x;
|
||||
tryvel.y = 0;
|
||||
tryvel.z = tri.z;
|
||||
|
||||
if (eyespy_calculate_new_position_with_push(&sp28) == 1) {
|
||||
return true;
|
||||
if (eyespy_calculate_new_position_with_push(&tryvel) == CDRESULT_NOCOLLISION) {
|
||||
return CDRESULT_NOCOLLISION;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
sp34.x = arg2->x - (prop->pos.x + arg0->f[0]);
|
||||
sp34.z = arg2->z - (prop->pos.z + arg0->f[2]);
|
||||
tri.x = edge2->x - (prop->pos.x + vel->f[0]);
|
||||
tri.z = edge2->z - (prop->pos.z + vel->f[2]);
|
||||
|
||||
if (sp34.f[0] * sp34.f[0] + sp34.f[2] * sp34.f[2] <= width * width) {
|
||||
if (arg2->f[0] != prop->pos.f[0] || arg2->f[2] != prop->pos.f[2]) {
|
||||
sp34.x = -(arg2->z - prop->pos.z);
|
||||
sp34.y = 0;
|
||||
sp34.z = arg2->x - prop->pos.x;
|
||||
if (tri.f[0] * tri.f[0] + tri.f[2] * tri.f[2] <= width * width) {
|
||||
if (edge2->f[0] != prop->pos.f[0] || edge2->f[2] != prop->pos.f[2]) {
|
||||
tri.x = -(edge2->z - prop->pos.z);
|
||||
tri.y = 0;
|
||||
tri.z = edge2->x - prop->pos.x;
|
||||
|
||||
tmp = sqrtf(sp34.f[0] * sp34.f[0] + sp34.f[2] * sp34.f[2]);
|
||||
tmp = sqrtf(tri.f[0] * tri.f[0] + tri.f[2] * tri.f[2]);
|
||||
|
||||
sp34.x = sp34.f[0] * (1.0f / tmp);
|
||||
sp34.z = sp34.f[2] * (1.0f / tmp);
|
||||
tri.x = tri.f[0] * (1.0f / tmp);
|
||||
tri.z = tri.f[2] * (1.0f / tmp);
|
||||
|
||||
tmp = arg0->f[0] * sp34.f[0] + arg0->f[2] * sp34.f[2];
|
||||
tmp = vel->f[0] * tri.f[0] + vel->f[2] * tri.f[2];
|
||||
|
||||
sp34.x = sp34.x * tmp;
|
||||
sp34.z = sp34.z * tmp;
|
||||
tri.x = tri.x * tmp;
|
||||
tri.z = tri.z * tmp;
|
||||
|
||||
sp28.x = sp34.x;
|
||||
sp28.y = 0;
|
||||
sp28.z = sp34.z;
|
||||
tryvel.x = tri.x;
|
||||
tryvel.y = 0;
|
||||
tryvel.z = tri.z;
|
||||
|
||||
if (eyespy_calculate_new_position_with_push(&sp28) == 1) {
|
||||
return true;
|
||||
if (eyespy_calculate_new_position_with_push(&tryvel) == CDRESULT_NOCOLLISION) {
|
||||
return CDRESULT_NOCOLLISION;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
return CDRESULT_COLLISION;
|
||||
}
|
||||
|
||||
s32 eyespy0f0cfdd0(struct coord *vel, struct coord *arg1, struct coord *arg2)
|
||||
s32 eyespy_try_fullstep(struct coord *vel, struct coord *edge1, struct coord *edge2)
|
||||
{
|
||||
bool result = eyespy_calculate_new_position_with_push(vel);
|
||||
bool cdresult = eyespy_calculate_new_position_with_push(vel);
|
||||
|
||||
if (result != CDRESULT_NOCOLLISION) {
|
||||
cd_get_edge(arg1, arg2, 473, "bondeyespy.c");
|
||||
if (cdresult != CDRESULT_NOCOLLISION) {
|
||||
cd_get_edge(edge1, edge2, 473, "bondeyespy.c");
|
||||
}
|
||||
|
||||
return result;
|
||||
return cdresult;
|
||||
}
|
||||
|
||||
void eyespy_update_vertical(void)
|
||||
void eyespy_update_position(void)
|
||||
{
|
||||
struct coord spac;
|
||||
struct coord spa0;
|
||||
struct coord fulledge1;
|
||||
struct coord fulledge2;
|
||||
struct prop *prop = g_Vars.currentplayer->eyespy->prop;
|
||||
struct coord dist;
|
||||
struct coord vel;
|
||||
f32 newground;
|
||||
struct chrdata *chr = prop->chr;
|
||||
struct coord origpos;
|
||||
@@ -424,32 +425,33 @@ void eyespy_update_vertical(void)
|
||||
f32 maxfallspeed;
|
||||
u8 hit = EYESPYHIT_NONE;
|
||||
f32 newy;
|
||||
struct coord sp60;
|
||||
struct coord sp54;
|
||||
struct coord quarteredge1;
|
||||
struct coord quarteredge2;
|
||||
u32 stack;
|
||||
struct coord sp44;
|
||||
struct coord sp38;
|
||||
struct coord throwawayedge1;
|
||||
struct coord throwawayedge2;
|
||||
|
||||
origpos.f[0] = prop->pos.x;
|
||||
origpos.f[1] = prop->pos.y;
|
||||
origpos.f[2] = prop->pos.z;
|
||||
|
||||
dist.x = g_Vars.currentplayer->eyespy->vel.x;
|
||||
dist.y = 0;
|
||||
dist.z = g_Vars.currentplayer->eyespy->vel.z;
|
||||
// Handle lateral movement
|
||||
vel.x = g_Vars.currentplayer->eyespy->vel.x;
|
||||
vel.y = 0;
|
||||
vel.z = g_Vars.currentplayer->eyespy->vel.z;
|
||||
|
||||
if (eyespy0f0cfdd0(&dist, &spac, &spa0) == CDRESULT_COLLISION) {
|
||||
if (eyespy0f0cf890(&dist, &spac, &spa0, &sp60, &sp54)) {
|
||||
if (eyespy0f0cf9f8(&dist, &spac, &spa0) <= 0) {
|
||||
eyespy0f0cfafc(&dist, &spac, &spa0);
|
||||
if (eyespy_try_fullstep(&vel, &fulledge1, &fulledge2) == CDRESULT_COLLISION) {
|
||||
if (eyespy_try_quarterstep(&vel, &fulledge1, &fulledge2, &quarteredge1, &quarteredge2) != CDRESULT_COLLISION) {
|
||||
if (eyespy_try_move_to_edge(&vel, &fulledge1, &fulledge2) <= CDRESULT_COLLISION) {
|
||||
eyespy_try_grind(&vel, &fulledge1, &fulledge2);
|
||||
}
|
||||
} else {
|
||||
eyespy0f0cf890(&dist, &sp60, &sp54, &sp44, &sp38);
|
||||
eyespy_try_quarterstep(&vel, &quarteredge1, &quarteredge2, &throwawayedge1, &throwawayedge2);
|
||||
|
||||
if (eyespy0f0cf9f8(&dist, &sp60, &sp54) <= 0
|
||||
&& eyespy0f0cf9f8(&dist, &spac, &spa0) <= 0
|
||||
&& eyespy0f0cfafc(&dist, &sp60, &sp54) <= 0) {
|
||||
eyespy0f0cfafc(&dist, &spac, &spa0);
|
||||
if (eyespy_try_move_to_edge(&vel, &quarteredge1, &quarteredge2) <= CDRESULT_COLLISION
|
||||
&& eyespy_try_move_to_edge(&vel, &fulledge1, &fulledge2) <= CDRESULT_COLLISION
|
||||
&& eyespy_try_grind(&vel, &quarteredge1, &quarteredge2) <= CDRESULT_COLLISION) {
|
||||
eyespy_try_grind(&vel, &fulledge1, &fulledge2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -541,14 +543,11 @@ void eyespy_update_vertical(void)
|
||||
|
||||
chr_detect_rooms(chr);
|
||||
|
||||
dist.x = prop->pos.x - origpos.x;
|
||||
dist.y = prop->pos.y - origpos.y;
|
||||
dist.z = prop->pos.z - origpos.z;
|
||||
vel.x = prop->pos.x - origpos.x;
|
||||
vel.y = prop->pos.y - origpos.y;
|
||||
vel.z = prop->pos.z - origpos.z;
|
||||
|
||||
g_Vars.currentplayer->eyespy->speed =
|
||||
dist.f[0] * dist.f[0] +
|
||||
dist.f[1] * dist.f[1] +
|
||||
dist.f[2] * dist.f[2];
|
||||
g_Vars.currentplayer->eyespy->speed = vel.f[0] * vel.f[0] + vel.f[1] * vel.f[1] + vel.f[2] * vel.f[2];
|
||||
}
|
||||
|
||||
bool eyespy_try_launch(void)
|
||||
@@ -1048,7 +1047,7 @@ void eyespy_process_input(bool allowbuttons)
|
||||
g_EyespyHit = EYESPYHIT_NONE;
|
||||
var80070ecc = 0;
|
||||
|
||||
eyespy_update_vertical();
|
||||
eyespy_update_position();
|
||||
|
||||
// Consider playing the tap sound when the eyespy is driven into a wall or object
|
||||
if (g_Vars.currentplayer->eyespy->active
|
||||
|
||||
+2
-2
@@ -520,8 +520,8 @@ s32 bwalk0f0c47d0(struct coord *a, struct coord *b, struct coord *c,
|
||||
struct coord quarter;
|
||||
bool result;
|
||||
|
||||
if (cd_00024ea4()) {
|
||||
f32 mult = cd_00024e98();
|
||||
if (cd_has_distance()) {
|
||||
f32 mult = cd_get_distance();
|
||||
quarter.x = a->x * mult * 0.25f;
|
||||
quarter.y = a->y * mult * 0.25f;
|
||||
quarter.z = a->z * mult * 0.25f;
|
||||
|
||||
+1
-1
@@ -3479,7 +3479,7 @@ bool func0f06d37c(struct defaultobj *obj, struct coord *arg1, struct coord *arg2
|
||||
}
|
||||
}
|
||||
|
||||
f2 = cd_00024e98() * 0.99f;
|
||||
f2 = cd_get_distance() * 0.99f;
|
||||
|
||||
sp4c.x = sp8c.x * f2 + prop->pos.x;
|
||||
sp4c.y = sp80.y;
|
||||
|
||||
@@ -8,11 +8,7 @@ f32 eyespy_find_ground(RoomNum *floorroom);
|
||||
s32 eyespy_try_move_upwards(f32 yvel);
|
||||
s32 eyespy_calculate_new_position(struct coord *vel);
|
||||
bool eyespy_calculate_new_position_with_push(struct coord *vel);
|
||||
s32 eyespy0f0cf890(struct coord *arg0, struct coord *arg1, struct coord *arg2, struct coord *arg3, struct coord *arg4);
|
||||
s32 eyespy0f0cf9f8(struct coord *arg0, struct coord *arg1, struct coord *arg2);
|
||||
s32 eyespy0f0cfafc(struct coord *arg0, struct coord *arg1, struct coord *arg2);
|
||||
s32 eyespy0f0cfdd0(struct coord *vel, struct coord *arg1, struct coord *arg2);
|
||||
void eyespy_update_vertical(void);
|
||||
void eyespy_update_position(void);
|
||||
bool eyespy_try_launch(void);
|
||||
void eyespy_process_input(bool allowbuttons);
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ f32 func0f1579cc(struct widthxz *arg0, struct xz *arg1, struct xz *arg2, struct
|
||||
|
||||
f32 cd_00024e40(void);
|
||||
void cd_get_edge(struct coord *pos1, struct coord *pos2, u32 line, char *file);
|
||||
f32 cd_00024e98(void);
|
||||
s32 cd_00024ea4(void);
|
||||
f32 cd_get_distance(void);
|
||||
bool cd_has_distance(void);
|
||||
struct prop *cd_get_obstacle_prop(void);
|
||||
void cd_get_pos(struct coord *pos, u32 line, char *file);
|
||||
void cd_get_obstacle_normal(struct coord *normal);
|
||||
|
||||
+10
-10
@@ -26,7 +26,7 @@ struct debugtri {
|
||||
union filedataptr g_TileFileData;
|
||||
s32 g_TileNumRooms;
|
||||
u32 *g_TileRooms;
|
||||
s32 var8009a8ac;
|
||||
bool var8009a8ac;
|
||||
f32 var8009a8b0;
|
||||
s32 var8009a8b4;
|
||||
struct coord g_CdEdgeVtx1;
|
||||
@@ -68,12 +68,12 @@ void cd_get_edge(struct coord *vtx1, struct coord *vtx2, u32 line, char *file)
|
||||
vtx2->z = g_CdEdgeVtx2.z;
|
||||
}
|
||||
|
||||
f32 cd_00024e98(void)
|
||||
f32 cd_get_distance(void)
|
||||
{
|
||||
return var8009a8b0;
|
||||
}
|
||||
|
||||
s32 cd_00024ea4(void)
|
||||
bool cd_has_distance(void)
|
||||
{
|
||||
return var8009a8ac;
|
||||
}
|
||||
@@ -120,7 +120,7 @@ u32 cd_get_geo_flags(void)
|
||||
void cd_clear_results(void)
|
||||
{
|
||||
var8009a8b4 = 0;
|
||||
var8009a8ac = 0;
|
||||
var8009a8ac = false;
|
||||
g_CdObstacleProp = NULL;
|
||||
var8009a8d8 = 0;
|
||||
var8009a8ec = 0;
|
||||
@@ -140,7 +140,7 @@ void cd_set_obstacle_vtx_prop(struct coord *vtx1, struct coord *vtx2, struct pro
|
||||
g_CdEdgeVtx2.z = vtx2->z;
|
||||
|
||||
var8009a8b4 = 1;
|
||||
var8009a8ac = 0;
|
||||
var8009a8ac = false;
|
||||
g_CdObstacleProp = prop;
|
||||
var8009a8d8 = 0;
|
||||
var8009a8ec = 0;
|
||||
@@ -162,7 +162,7 @@ void cd_set_obstacle_vtx_prop_flt(struct coord *vtx1, struct coord *vtx2, struct
|
||||
g_CdEdgeVtx2.z = vtx2->z;
|
||||
|
||||
var8009a8b4 = 1;
|
||||
var8009a8ac = 1;
|
||||
var8009a8ac = true;
|
||||
g_CdObstacleProp = prop;
|
||||
var8009a8d8 = 0;
|
||||
var8009a8ec = 0;
|
||||
@@ -192,13 +192,13 @@ void cd_000250cc(struct coord *arg0, struct coord *arg1, f32 width)
|
||||
sp24.z = g_CdEdgeVtx2.z;
|
||||
|
||||
var8009a8b0 = func0f1579cc(&sp34, &sp2c, &sp24, &sp1c);
|
||||
var8009a8ac = 1;
|
||||
var8009a8ac = true;
|
||||
}
|
||||
|
||||
void cd_set_obstacle_prop(struct prop *prop)
|
||||
{
|
||||
var8009a8b4 = 0;
|
||||
var8009a8ac = 0;
|
||||
var8009a8ac = false;
|
||||
g_CdObstacleProp = prop;
|
||||
var8009a8d8 = 0;
|
||||
var8009a8ec = 0;
|
||||
@@ -222,7 +222,7 @@ void cd_set_obstacle_vtx_col_prop(struct coord *vtxpos1, struct coord *vtxpos2,
|
||||
g_CdObstaclePos.z = collisionpos->z;
|
||||
|
||||
var8009a8b4 = 1;
|
||||
var8009a8ac = 0;
|
||||
var8009a8ac = false;
|
||||
g_CdObstacleProp = prop;
|
||||
var8009a8d8 = 1;
|
||||
var8009a8ec = 0;
|
||||
@@ -246,7 +246,7 @@ void cd_set_obstacle_vtx_col_prop_flt_geo(struct coord *vtxpos1, struct coord *v
|
||||
g_CdObstaclePos.z = collisionpos->z;
|
||||
|
||||
var8009a8b4 = 1;
|
||||
var8009a8ac = 0;
|
||||
var8009a8ac = false;
|
||||
g_CdObstacleProp = prop;
|
||||
var8009a8d8 = 1;
|
||||
var8009a8f0 = arg4;
|
||||
|
||||
Reference in New Issue
Block a user