From e2c93d78a10ca4f103d73e515c750be94d6dd12d Mon Sep 17 00:00:00 2001 From: disinvite Date: Wed, 24 Dec 2025 15:29:19 -0500 Subject: [PATCH] Fix some float precision diffs --- src/DETHRACE/common/car.c | 30 +++++++++++++-------------- src/DETHRACE/common/controls.c | 38 +++++++++++++++++----------------- src/DETHRACE/common/crush.c | 12 +++++------ src/DETHRACE/common/graphics.c | 2 +- src/DETHRACE/common/spark.c | 22 ++++++++++---------- src/DETHRACE/common/world.c | 4 ++-- 6 files changed, 54 insertions(+), 54 deletions(-) diff --git a/src/DETHRACE/common/car.c b/src/DETHRACE/common/car.c index 5d27525c..bf736926 100644 --- a/src/DETHRACE/common/car.c +++ b/src/DETHRACE/common/car.c @@ -1957,7 +1957,7 @@ void RotateCarFirstOrder(tCollision_info* c, br_scalar dt) { rad_rate = BrVector3Length(&c->omega); rad = rad_rate * dt; - if (rad < .0001f) { + if (rad < .0001) { return; } BrVector3InvScale(&axis, &c->omega, rad_rate); @@ -2029,11 +2029,11 @@ void SteeringSelfCentre(tCar_spec* c, br_scalar dt, br_vector3* n) { if (c->susp_height[1] > c->oldd[2] || c->susp_height[1] > c->oldd[3]) { ts = -((c->omega.v[2] * n->v[2] + c->omega.v[1] * n->v[1] + c->omega.v[0] * n->v[0]) * (dt / (c->wpos[0].v[2] - c->wpos[2].v[2]))); ts2 = -(c->curvature * dt); - if (fabs(ts) < fabs(ts2) || (ts * ts2 < 0.0)) { + if (fabs(ts) < fabs(ts2) || (ts * ts2 < 0.0f)) { ts = ts2; } c->curvature = c->curvature + ts; - if (c->curvature * ts > 0.0) { + if (c->curvature * ts > 0.0f) { c->curvature = 0.0; } } @@ -2103,7 +2103,7 @@ void AddDrag(tCar_spec* c, br_scalar dt) { drag_multiplier = -(dt * TIME_CONV_THING); if (vol != NULL) { if (c->underwater_ability) { - drag_multiplier = vol->viscosity_multiplier * drag_multiplier * .6f; + drag_multiplier = vol->viscosity_multiplier * drag_multiplier * .6; } else { drag_multiplier = vol->viscosity_multiplier * drag_multiplier; } @@ -3419,7 +3419,7 @@ void SkidNoise(tCar_spec* pC, int pWheel_num, br_scalar pV, int material) { return; } - last_skid_vol[i] = pV * 10.0; + last_skid_vol[i] = pV * 10.0f; if ((pWheel_num & 1) != 0) { pos.v[0] = pC->bounds[1].max.v[0]; } else { @@ -3448,7 +3448,7 @@ void SkidNoise(tCar_spec* pC, int pWheel_num, br_scalar pV, int material) { BrVector3Scale(&wvw, &pC->road_normal, ts); BrVector3Add(&wv, &wv, &wvw); BrMatrix34ApplyV(&wvw, &wv, &pC->car_master_actor->t.t.mat); - CreatePuffOfSmoke(&world_pos, &wvw, pV / 25.0, 1.0, 4, pC); + CreatePuffOfSmoke(&world_pos, &wvw, pV / 25.0f, 1.0, 4, pC); } } @@ -4895,7 +4895,7 @@ void SetPanningFieldOfView(void) { camera_ptr = gCamera->type_data; if (gPanning_camera_angle == 0) { - gPanning_camera_angle = BrDegreeToAngle(gCamera_angle) * 0.7f; + gPanning_camera_angle = BrDegreeToAngle(gCamera_angle) * 0.7; } camera_ptr->field_of_view = gPanning_camera_angle; } @@ -5396,7 +5396,7 @@ void NormalPositionExternalCamera(tCar_spec* c, tU32 pTime) { m1 = &gCamera->t.t.mat; m2 = &c->car_master_actor->t.t.mat; - swoop = gCountdown && c->pos.v[1] + 0.001f < gCamera_height; + swoop = gCountdown && c->pos.v[1] + 0.001 < gCamera_height; manual_swing = gOld_yaw__car != gCamera_yaw || swoop; manual_zoom = (double)gOld_zoom != gCamera_zoom; BrVector3Copy(&old_camera_pos, &gCamera->t.t.translate.t); @@ -5406,7 +5406,7 @@ void NormalPositionExternalCamera(tCar_spec* c, tU32 pTime) { gCamera_yaw = 0; manual_swing = 1; } - if (fabs(c->speedo_speed) > 0.0006f && gCamera_mode > 0) { + if (fabs(c->speedo_speed) > 0.0006 && gCamera_mode > 0) { gCamera_mode = -1; gCamera_sign = BrVector3Dot((br_vector3*)m2->m[2], &c->direction) > 0.0f; } @@ -6876,10 +6876,10 @@ void MungeCarsMass(tCollision_info* pCar, br_scalar pFactor) { // FUNCTION: CARM95 0x0048fb97 void ModifyCarsMass(tCollision_info* pCar_1, tCollision_info* pCar_2) { - if (pCar_1->driver > eDriver_non_car && ((tCar_spec*)pCar_1)->collision_mass_multiplier != 1.0f) { + if (pCar_1->driver > eDriver_non_car && ((tCar_spec*)pCar_1)->collision_mass_multiplier != 1.0) { MungeCarsMass(pCar_1, ((tCar_spec*)pCar_1)->collision_mass_multiplier); } - if (pCar_2->driver > eDriver_non_car && ((tCar_spec*)pCar_2)->collision_mass_multiplier != 1.0f) { + if (pCar_2->driver > eDriver_non_car && ((tCar_spec*)pCar_2)->collision_mass_multiplier != 1.0) { MungeCarsMass(pCar_2, ((tCar_spec*)pCar_2)->collision_mass_multiplier); } } @@ -6888,11 +6888,11 @@ void ModifyCarsMass(tCollision_info* pCar_1, tCollision_info* pCar_2) { // FUNCTION: CARM95 0x0048fc7b void ResetCarsMass(tCollision_info* pCar_1, tCollision_info* pCar_2) { - if (pCar_1->driver > eDriver_non_car && ((tCar_spec*)pCar_1)->collision_mass_multiplier != 1.0f) { - MungeCarsMass(pCar_1, 1.0f / ((tCar_spec*)pCar_1)->collision_mass_multiplier); + if (pCar_1->driver > eDriver_non_car && ((tCar_spec*)pCar_1)->collision_mass_multiplier != 1.0) { + MungeCarsMass(pCar_1, 1.0 / ((tCar_spec*)pCar_1)->collision_mass_multiplier); } - if (pCar_2->driver > eDriver_non_car && ((tCar_spec*)pCar_2)->collision_mass_multiplier != 1.0f) { - MungeCarsMass(pCar_2, 1.0f / ((tCar_spec*)pCar_2)->collision_mass_multiplier); + if (pCar_2->driver > eDriver_non_car && ((tCar_spec*)pCar_2)->collision_mass_multiplier != 1.0) { + MungeCarsMass(pCar_2, 1.0 / ((tCar_spec*)pCar_2)->collision_mass_multiplier); } } diff --git a/src/DETHRACE/common/controls.c b/src/DETHRACE/common/controls.c index a288d11a..994de00e 100644 --- a/src/DETHRACE/common/controls.c +++ b/src/DETHRACE/common/controls.c @@ -955,7 +955,7 @@ void TDamageRRWheel(void) { // FUNCTION: CARM95 0x004a13a6 void MoveBonnetForward(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[2] -= .005f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[2] -= .005; } // IDA: void __cdecl SaveBonnet() @@ -973,77 +973,77 @@ void SaveBonnet(void) { // FUNCTION: CARM95 0x004a142f void MoveBonnetBackward(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[2] += .005f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[2] += .005; } // IDA: void __cdecl MoveBonnetLeft() // FUNCTION: CARM95 0x004a1466 void MoveBonnetLeft(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[0] -= .005f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[0] -= .005; } // IDA: void __cdecl ShrinkBonnetX() // FUNCTION: CARM95 0x004a149d void ShrinkBonnetX(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[0][0] *= .98f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[0][0] *= .98; } // IDA: void __cdecl SwellBonnetX() // FUNCTION: CARM95 0x004a14d4 void SwellBonnetX(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[0][0] *= 1.02f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[0][0] *= 1.02; } // IDA: void __cdecl ShrinkBonnetY() // FUNCTION: CARM95 0x004a150b void ShrinkBonnetY(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[1][1] *= .98f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[1][1] *= .98; } // IDA: void __cdecl SwellBonnetY() // FUNCTION: CARM95 0x004a1542 void SwellBonnetY(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[1][1] *= 1.02f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[1][1] *= 1.02; } // IDA: void __cdecl ShrinkBonnetZ() // FUNCTION: CARM95 0x004a1579 void ShrinkBonnetZ(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[2][2] *= .98f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[2][2] *= .98; } // IDA: void __cdecl SwellBonnetZ() // FUNCTION: CARM95 0x004a15b0 void SwellBonnetZ(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[2][2] *= 1.02f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.mat.m[2][2] *= 1.02; } // IDA: void __cdecl MoveBonnetDown() // FUNCTION: CARM95 0x004a15e7 void MoveBonnetDown(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[1] += .005f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[1] += .005; } // IDA: void __cdecl MoveBonnetRight() // FUNCTION: CARM95 0x004a161e void MoveBonnetRight(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[0] += .005f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[0] += .005; } // IDA: void __cdecl MoveBonnetUp() // FUNCTION: CARM95 0x004a1655 void MoveBonnetUp(void) { - gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[1] -= .005f; + gProgram_state.current_car.car_model_actors[gProgram_state.current_car.car_actor_count - 1].actor->t.t.translate.t.v[1] -= .005; } // IDA: void __cdecl TiltBonnetDownX() @@ -1808,7 +1808,7 @@ void FlipUpCar(tCar_spec* car) { tv.v[0] = car->car_master_actor->t.t.mat.m[3][0] - car->last_safe_positions[0].m[3][0]; tv.v[1] = car->car_master_actor->t.t.mat.m[3][1] - car->last_safe_positions[0].m[3][1]; tv.v[2] = car->car_master_actor->t.t.mat.m[3][2] - car->last_safe_positions[0].m[3][2]; - if (BrVector3LengthSquared(&tv) > 8.3015966) { + if (BrVector3LengthSquared(&tv) > 8.3015966f) { new_pos = 0; } BrMatrix34Copy(&car->car_master_actor->t.t.mat, &car->last_safe_positions[new_pos]); @@ -1821,7 +1821,7 @@ void FlipUpCar(tCar_spec* car) { dir.v[1] = 0.28985506; dir.v[2] = 0.0; FindFace(&car->car_master_actor->t.t.euler.t, &dir, &tv, &t, &material); - if (t > 1.0) { + if (t > 1.0f) { car->car_master_actor->t.t.mat.m[3][0] += dir.v[0]; car->car_master_actor->t.t.mat.m[3][1] += dir.v[1]; car->car_master_actor->t.t.mat.m[3][2] += dir.v[2]; @@ -2077,7 +2077,7 @@ void PollCameraControls(tU32 pTime_difference) { flag = 0; swirl_mode = gRace_finished && !gAction_replay_mode && (&gProgram_state.current_car == gCar_to_view || gCar_to_view->knackered); up_and_down_mode = swirl_mode && !gCamera_has_collided; - going_up = gCamera_zoom > 1.0; + going_up = gCamera_zoom > 1.0f; if (last_swirl_mode != swirl_mode) { if (swirl_mode) { SaveCameraPosition(0); @@ -2088,7 +2088,7 @@ void PollCameraControls(tU32 pTime_difference) { } if (!gMap_mode && !gProgram_state.cockpit_on && (!gAction_replay_mode || gAction_replay_camera_mode <= eAction_replay_standard)) { if (KeyIsDown(31) || (up_and_down_mode && !going_up)) { - gCamera_zoom = (double)pTime_difference * TIME_CONV_THING / (double)(2 * swirl_mode + 1) + gCamera_zoom; + gCamera_zoom = pTime_difference * TIME_CONV_THING / (double)(2 * swirl_mode + 1) + gCamera_zoom; if (gCamera_zoom > 2.0f) { gCamera_zoom = 2.0f; } @@ -2097,9 +2097,9 @@ void PollCameraControls(tU32 pTime_difference) { } } if (KeyIsDown(30) || (up_and_down_mode && going_up)) { - gCamera_zoom = gCamera_zoom - (double)pTime_difference * TIME_CONV_THING / (double)(2 * swirl_mode + 1); - if (gCamera_zoom < 0.1) { - gCamera_zoom = 0.1; + gCamera_zoom = gCamera_zoom - pTime_difference * TIME_CONV_THING / (double)(2 * swirl_mode + 1); + if (gCamera_zoom < 0.1f) { + gCamera_zoom = 0.1f; if (up_and_down_mode) { if (gCamera_zoom < 1.0f) { gCamera_zoom = 1.0f; diff --git a/src/DETHRACE/common/crush.c b/src/DETHRACE/common/crush.c index 99bf037d..1de3bb91 100644 --- a/src/DETHRACE/common/crush.c +++ b/src/DETHRACE/common/crush.c @@ -245,7 +245,7 @@ void CrushModelPoint(tCar_spec* pCar, int pModel_index, br_model* pModel, int pC old_vector = *target_point; for (bend_axis = 0; bend_axis < 3; bend_axis++) { target_point->v[bend_axis] += (1.0f - the_neighbour->factor / 256.0f) * movement.v[bend_axis]; - + if (the_neighbour->factor <= 128) { v12 = the_neighbour->factor / 128.0f; } else { @@ -661,10 +661,10 @@ tImpact_location CalcModifiedLocation(tCar_spec* pCar) { if (pCar->last_impact_location != eImpact_left && pCar->last_impact_location != eImpact_right && pCar->last_impact_location != eImpact_top && pCar->last_impact_location != eImpact_bottom) { return pCar->last_impact_location; } - if (pCar->last_col_prop_z < 0.25f) { + if (pCar->last_col_prop_z < 0.25) { return eImpact_front; } - if (pCar->last_col_prop_z > 0.75f) { + if (pCar->last_col_prop_z > 0.75) { return eImpact_back; } else { return pCar->last_impact_location; @@ -742,9 +742,9 @@ void DamageSystems(tCar_spec* pCar, br_vector3* pImpact_point, br_vector3* pEner return; } - energy_magnitude = pCar->car_model_actors[pCar->principal_car_actor].crush_data.softness_factor * pure_energy_magnitude / 0.7f; - BrVector3InvScale(&crushed_car_bounds.min, &pCar->bounds[1].min, WORLD_SCALE); - BrVector3InvScale(&crushed_car_bounds.max, &pCar->bounds[1].max, WORLD_SCALE); + energy_magnitude = pCar->car_model_actors[pCar->principal_car_actor].crush_data.softness_factor * pure_energy_magnitude / 0.7; + BrVector3InvScale(&crushed_car_bounds.min, &pCar->bounds[1].min, WORLD_SCALE_D); + BrVector3InvScale(&crushed_car_bounds.max, &pCar->bounds[1].max, WORLD_SCALE_D); x1 = pImpact_point->v[0] - crushed_car_bounds.min.v[0]; x2 = crushed_car_bounds.max.v[0] - pImpact_point->v[0]; diff --git a/src/DETHRACE/common/graphics.c b/src/DETHRACE/common/graphics.c index e5873239..6a9ebbc3 100644 --- a/src/DETHRACE/common/graphics.c +++ b/src/DETHRACE/common/graphics.c @@ -1336,7 +1336,7 @@ void MungeClipPlane(br_vector3* pLight, tCar_spec* pCar, br_vector3* p1, br_vect BrMatrix34ApplyP(&v2, p2, &pCar->car_master_actor->t.t.mat); BrVector3Sub(&v3, p2, p1); BrVector3Cross(&v4, &v3, pLight); - if (fabs(v4.v[0]) >= 0.01f || fabs(v4.v[1]) >= 0.01f || fabs(v4.v[2]) >= 0.01f) { + if (fabs(v4.v[0]) >= 0.01 || fabs(v4.v[1]) >= 0.01 || fabs(v4.v[2]) >= 0.01) { BrVector3Copy(&v3, p1); v3.v[1] -= pY_offset; if (BrVector3Dot(&v3, &v4) > 0.f) { diff --git a/src/DETHRACE/common/spark.c b/src/DETHRACE/common/spark.c index e66a6750..2c0c8508 100644 --- a/src/DETHRACE/common/spark.c +++ b/src/DETHRACE/common/spark.c @@ -941,9 +941,9 @@ void MungeShrapnel(tU32 pTime) { DrMatrix34Rotate(mat, 182 * gShrapnel[i].age, &gShrapnel[i].axis); BrMatrix34PreShearX(mat, gShrapnel[i].shear1, gShrapnel[i].shear2); // bug: should this be using "&gShrapnel[i].v"?? - ts = 1.0 - BrVector3Length(&gSparks[i].v) / 1.4 * pTime / 1000.0; - if (ts < 0.1) { - ts = 0.1; + ts = 1.0f - BrVector3Length(&gSparks[i].v) / 1.4f * pTime / 1000.0f; + if (ts < 0.1f) { + ts = 0.1f; } BrVector3Scale(&gShrapnel[i].v, &gShrapnel[i].v, ts); AddShrapnelToPipingSession(i + ((gShrapnel[i].age > 1000 || gShrapnel[i].age < pTime) << 15), (br_vector3*)mat->m[3], gShrapnel[i].age - pTime, gShrapnel[i].actor->material); @@ -1360,7 +1360,7 @@ void GenerateContinuousSmoke(tCar_spec* pCar, int wheel, tU32 pTime) { decay_factor = 1.0f; } BrVector3InvScale(&tv, &pCar->wpos[wheel], WORLD_SCALE); - tv.v[1] -= pCar->oldd[wheel] / WORLD_SCALE; + tv.v[1] -= pCar->oldd[wheel] / WORLD_SCALE_D; alpha = -1000.0f; if (vcs.v[2] > 0.0f) { @@ -1450,10 +1450,10 @@ void RenderSmoke(br_pixelmap* pRender_screen, br_pixelmap* pDepth_buffer, br_act if ((gSmoke_flags & (1u << i)) != 0) { if (gSmoke[i].strength > 0.0) { if (gSmoke[i].time_sync) { - BrVector3Scale(&tv, &gSmoke[i].v, gSmoke[i].time_sync / 1000.0); + BrVector3Scale(&tv, &gSmoke[i].v, gSmoke[i].time_sync / 1000.0f); gSmoke[i].time_sync = 0; } else { - BrVector3Scale(&tv, &gSmoke[i].v, pTime / 1000.0); + BrVector3Scale(&tv, &gSmoke[i].v, pTime / 1000.0f); } BrVector3Accumulate(&gSmoke[i].pos, &tv); } else { @@ -1480,7 +1480,7 @@ void RenderSmoke(br_pixelmap* pRender_screen, br_pixelmap* pDepth_buffer, br_act if (((1u << i) & not_lonely) == 0) { gSmoke[i].strength = gSmoke[i].strength / 2.0; } - aspect = (gSmoke[i].radius - 0.05f) / 0.25f * 0.5f + 1.0f; + aspect = (gSmoke[i].radius - 0.05f) / 0.25f * 0.5 + 1.0; if ((gSmoke[i].type & 0x10) != 0) { SmokeCircle3D(&gSmoke[i].pos, gSmoke[i].radius / aspect, gSmoke[i].strength, 1.0, pRender_screen, pDepth_buffer, gShade_list[gSmoke[i].type & 0xf], pCamera); } else { @@ -1489,13 +1489,13 @@ void RenderSmoke(br_pixelmap* pRender_screen, br_pixelmap* pDepth_buffer, br_act if (gSmoke[i].pipe_me) { AddSmokeToPipingSession(i, gSmoke[i].type, &gSmoke[i].pos, gSmoke[i].radius, gSmoke[i].strength); } - gSmoke[i].radius = (double)pTime / 1000.0 * gSmoke[i].strength * 0.5 + gSmoke[i].radius; - gSmoke[i].strength = gSmoke[i].strength - (double)pTime * gSmoke[i].decay_factor / 1000.0; + gSmoke[i].radius = pTime / 1000.0f * gSmoke[i].strength * 0.5 + gSmoke[i].radius; + gSmoke[i].strength = gSmoke[i].strength - pTime * gSmoke[i].decay_factor / 1000.0f; if (gSmoke[i].radius > 0.3f) { gSmoke[i].radius = 0.3f; } - if (gSmoke[i].strength > 0.0) { - ts = 1.0f - (double)pTime * 0.002f; + if (gSmoke[i].strength > 0.0f) { + ts = 1.0f - pTime * 0.002f; if (ts < 0.5f) { ts = 0.5f; } diff --git a/src/DETHRACE/common/world.c b/src/DETHRACE/common/world.c index 33a72b2a..a3f59741 100644 --- a/src/DETHRACE/common/world.c +++ b/src/DETHRACE/common/world.c @@ -3560,7 +3560,7 @@ int PointOutOfSight(br_vector3* pPoint, br_scalar pMax_distance) { && gRearview_camera_to_world.m[2][2] * distance_vector.v[2] + gRearview_camera_to_world.m[2][1] * distance_vector.v[1] + gRearview_camera_to_world.m[2][0] * distance_vector.v[0] - < 0.0) { + < 0.0f) { return 0; } } @@ -3568,7 +3568,7 @@ int PointOutOfSight(br_vector3* pPoint, br_scalar pMax_distance) { distance_vector.v[1] = pPoint->v[1] - gCamera_to_world.m[3][1]; distance_vector.v[2] = pPoint->v[2] - gCamera_to_world.m[3][2]; return distance_vector.v[0] * distance_vector.v[0] + distance_vector.v[1] * distance_vector.v[1] + distance_vector.v[2] * distance_vector.v[2] >= pMax_distance - || gCamera_to_world.m[2][2] * distance_vector.v[2] + gCamera_to_world.m[2][1] * distance_vector.v[1] + gCamera_to_world.m[2][0] * distance_vector.v[0] >= 0.0; + || gCamera_to_world.m[2][2] * distance_vector.v[2] + gCamera_to_world.m[2][1] * distance_vector.v[1] + gCamera_to_world.m[2][0] * distance_vector.v[0] >= 0.0f; } // IDA: void __usercall PathGrooveBastard(tGroovidelic_spec *pGroove@, tU32 pTime@, br_matrix34 *pMat@, int pInterrupt_it@)