|
|
@ -100,11 +100,13 @@ static int GetRealisticAcceleration(Vehicle *v)
|
|
|
|
uint mass = rvi->weight + ((_cargoc.weights[u->cargo_type] * u->cargo_count) >> 4);
|
|
|
|
uint mass = rvi->weight + ((_cargoc.weights[u->cargo_type] * u->cargo_count) >> 4);
|
|
|
|
if (rvi->power) emass += mass;
|
|
|
|
if (rvi->power) emass += mass;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!IsTileType(u->tile, MP_TUNNELBRIDGE)) {
|
|
|
|
if (HASBIT(u->u.rail.flags, VRF_GOINGUP)) {
|
|
|
|
if (HASBIT(u->u.rail.flags, VRF_GOINGUP)) {
|
|
|
|
f += (float)mass * ( -F_GRAV * F_THETA);
|
|
|
|
f += (float)mass * ( -F_GRAV * F_THETA);
|
|
|
|
} else if (HASBIT(u->u.rail.flags, VRF_GOINGDOWN)) {
|
|
|
|
} else if (HASBIT(u->u.rail.flags, VRF_GOINGDOWN)) {
|
|
|
|
f += (float)mass * ( F_GRAV * F_THETA);
|
|
|
|
f += (float)mass * ( F_GRAV * F_THETA);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// compute curve penalty..
|
|
|
|
// compute curve penalty..
|
|
|
|
if (u->next != NULL) {
|
|
|
|
if (u->next != NULL) {
|
|
|
|