GetOilFrictionFactors matches
This commit is contained in:
parent
7aff2e19e5
commit
f92a766dfd
|
|
@ -419,46 +419,42 @@ void GetOilFrictionFactors(tCar_spec* pCar, br_scalar* pFl_factor, br_scalar* pF
|
|||
*pFr_factor = 1.0f;
|
||||
*pRl_factor = 1.0f;
|
||||
*pRr_factor = 1.0f;
|
||||
switch (pCar->driver) {
|
||||
case eDriver_non_car_unused_slot:
|
||||
case eDriver_non_car:
|
||||
return;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (pCar->shadow_intersection_flags != 0) {
|
||||
for (i = 0; i < COUNT_OF(gOily_spills); i++) {
|
||||
if (((1 << i) & pCar->shadow_intersection_flags) != 0 && gOily_spills[i].car != NULL) {
|
||||
BrMatrix34ApplyP(&wheel_world, &pCar->wpos[2], &pCar->car_master_actor->t.t.mat);
|
||||
if (PointInSpill(&wheel_world, i)) {
|
||||
pCar->oil_remaining[2] = SRandomBetween(1.5f, 2.5f);
|
||||
}
|
||||
BrMatrix34ApplyP(&wheel_world, &pCar->wpos[3], &pCar->car_master_actor->t.t.mat);
|
||||
if (PointInSpill(&wheel_world, i)) {
|
||||
pCar->oil_remaining[3] = SRandomBetween(1.5f, 2.5f);
|
||||
}
|
||||
BrMatrix34ApplyP(&wheel_world, &pCar->wpos[0], &pCar->car_master_actor->t.t.mat);
|
||||
if (PointInSpill(&wheel_world, i)) {
|
||||
pCar->oil_remaining[0] = SRandomBetween(1.5f, 2.5f);
|
||||
}
|
||||
BrMatrix34ApplyP(&wheel_world, &pCar->wpos[1], &pCar->car_master_actor->t.t.mat);
|
||||
if (PointInSpill(&wheel_world, i)) {
|
||||
pCar->oil_remaining[1] = SRandomBetween(1.5f, 2.5f);
|
||||
|
||||
if (pCar->driver > eDriver_non_car) {
|
||||
if (pCar->shadow_intersection_flags != 0) {
|
||||
for (i = 0; i < COUNT_OF(gOily_spills); i++) {
|
||||
if (((1 << i) & pCar->shadow_intersection_flags) != 0 && gOily_spills[i].car != NULL) {
|
||||
BrMatrix34ApplyP(&wheel_world, &pCar->wpos[2], &pCar->car_master_actor->t.t.mat);
|
||||
if (PointInSpill(&wheel_world, i)) {
|
||||
pCar->oil_remaining[2] = SRandomBetween(1.5f, 2.5f);
|
||||
}
|
||||
BrMatrix34ApplyP(&wheel_world, &pCar->wpos[3], &pCar->car_master_actor->t.t.mat);
|
||||
if (PointInSpill(&wheel_world, i)) {
|
||||
pCar->oil_remaining[3] = SRandomBetween(1.5f, 2.5f);
|
||||
}
|
||||
BrMatrix34ApplyP(&wheel_world, &pCar->wpos[0], &pCar->car_master_actor->t.t.mat);
|
||||
if (PointInSpill(&wheel_world, i)) {
|
||||
pCar->oil_remaining[0] = SRandomBetween(1.5f, 2.5f);
|
||||
}
|
||||
BrMatrix34ApplyP(&wheel_world, &pCar->wpos[1], &pCar->car_master_actor->t.t.mat);
|
||||
if (PointInSpill(&wheel_world, i)) {
|
||||
pCar->oil_remaining[1] = SRandomBetween(1.5f, 2.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (pCar->oil_remaining[2] != 0.0f) {
|
||||
*pFl_factor = SRandomBetween(0.01f, 0.15f);
|
||||
}
|
||||
if (pCar->oil_remaining[3] != 0.0f) {
|
||||
*pFr_factor = SRandomBetween(0.01f, 0.15f);
|
||||
}
|
||||
if (pCar->oil_remaining[0] != 0.0f) {
|
||||
*pRl_factor = SRandomBetween(0.01f, 0.15f);
|
||||
}
|
||||
if (pCar->oil_remaining[1] != 0.0f) {
|
||||
*pRr_factor = SRandomBetween(0.01f, 0.15f);
|
||||
if (pCar->oil_remaining[2] != 0.0f) {
|
||||
*pFl_factor = SRandomBetween(0.01f, 0.15f);
|
||||
}
|
||||
if (pCar->oil_remaining[3] != 0.0f) {
|
||||
*pFr_factor = SRandomBetween(0.01f, 0.15f);
|
||||
}
|
||||
if (pCar->oil_remaining[0] != 0.0f) {
|
||||
*pRl_factor = SRandomBetween(0.01f, 0.15f);
|
||||
}
|
||||
if (pCar->oil_remaining[1] != 0.0f) {
|
||||
*pRr_factor = SRandomBetween(0.01f, 0.15f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4824,17 +4824,15 @@ br_uint_32 DelReferencedModels(br_actor* pActor, void* pArg) {
|
|||
// IDA: void __cdecl DeleteAcc()
|
||||
// FUNCTION: CARM95 0x004443bb
|
||||
void DeleteAcc(void) {
|
||||
|
||||
if (gLast_actor == NULL) {
|
||||
return;
|
||||
if (gLast_actor != NULL) {
|
||||
AccessoryHeadup(gLast_actor, "Murdered ");
|
||||
DRActorEnumRecurse(gLast_actor, (br_actor_enum_cbfn*)DelReferencedModels, NULL);
|
||||
DRActorEnumRecurse(gLast_actor, (br_actor_enum_cbfn*)DelGrooveRef, NULL);
|
||||
BrActorRemove(gLast_actor);
|
||||
BrActorFree(gLast_actor);
|
||||
gLast_actor = NULL;
|
||||
SaveAdditionalStuff();
|
||||
}
|
||||
AccessoryHeadup(gLast_actor, "Murdered ");
|
||||
DRActorEnumRecurse(gLast_actor, (br_actor_enum_cbfn*)DelReferencedModels, NULL);
|
||||
DRActorEnumRecurse(gLast_actor, (br_actor_enum_cbfn*)DelGrooveRef, NULL);
|
||||
BrActorRemove(gLast_actor);
|
||||
BrActorFree(gLast_actor);
|
||||
gLast_actor = NULL;
|
||||
SaveAdditionalStuff();
|
||||
}
|
||||
|
||||
// IDA: br_uint_32 __cdecl OffsetModel(br_actor *pActor, void *pArg)
|
||||
|
|
|
|||
Loading…
Reference in New Issue