Fix some float precision diffs
This commit is contained in:
parent
d125d61cd6
commit
e2c93d78a1
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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@<EAX>, tU32 pTime@<EDX>, br_matrix34 *pMat@<EBX>, int pInterrupt_it@<ECX>)
|
||||
|
|
|
|||
Loading…
Reference in New Issue