# HG changeset patch # User rubidium # Date 1263769423 0 # Node ID ca08e414237f91458984455866731bf159387c0c # Parent 70d2b51a40aee395ecad8f085f29518fed00d937 (svn r18854) -Codechange [FS#3539]: unconflict acceleration type as 'status' and rail property (Terhken) diff --git a/src/train.h b/src/train.h --- a/src/train.h +++ b/src/train.h @@ -93,10 +93,10 @@ EngineID first_engine; ///< cached EngineID of the front vehicle. INVALID_ENGINE for the front vehicle itself. }; -/** What type of acceleration should we do? */ -enum AccelType { - AM_ACCEL, ///< We want to go faster, if possible ofcourse - AM_BRAKE ///< We want to stop +/** What is the status of our acceleration? */ +enum AccelStatus { + AS_ACCEL, ///< We want to go faster, if possible ofcourse + AS_BRAKE ///< We want to stop }; /** @@ -444,9 +444,9 @@ * Checks the current acceleration status of this vehicle. * @return Acceleration status. */ - FORCEINLINE AccelType GetAccelerationStatus() const + FORCEINLINE AccelStatus GetAccelerationStatus() const { - return (this->vehstatus & VS_STOPPED) || HasBit(this->flags, VRF_REVERSING) || HasBit(this->flags, VRF_TRAIN_STUCK) ? AM_BRAKE : AM_ACCEL; + return (this->vehstatus & VS_STOPPED) || HasBit(this->flags, VRF_REVERSING) || HasBit(this->flags, VRF_TRAIN_STUCK) ? AS_BRAKE : AS_ACCEL; } /** diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -527,7 +527,7 @@ resistance *= 4; //[N] /* This value allows to know if the vehicle is accelerating or braking. */ - AccelType mode = this->GetAccelerationStatus(); + AccelStatus mode = this->GetAccelerationStatus(); const int max_te = this->tcache.cached_max_te; // [N] int force; @@ -536,17 +536,17 @@ force = power / speed; //[N] force *= 22; force /= 10; - if (mode == AM_ACCEL && force > max_te) force = max_te; + if (mode == AS_ACCEL && force > max_te) force = max_te; } else { force = power / 25; } } else { /* "kickoff" acceleration */ - force = (mode == AM_ACCEL && !maglev) ? min(max_te, power) : power; + force = (mode == AS_ACCEL && !maglev) ? min(max_te, power) : power; force = max(force, (mass * 8) + resistance); } - if (mode == AM_ACCEL) { + if (mode == AS_ACCEL) { return (force - resistance) / (mass * 2); } else { return min(-force - resistance, -10000) / mass; @@ -2941,7 +2941,7 @@ switch (_settings_game.vehicle.train_acceleration_model) { default: NOT_REACHED(); - case TAM_ORIGINAL: accel = this->acceleration * (this->GetAccelerationStatus() == AM_BRAKE ? -4 : 2); break; + case TAM_ORIGINAL: accel = this->acceleration * (this->GetAccelerationStatus() == AS_BRAKE ? -4 : 2); break; case TAM_REALISTIC: this->max_speed = this->GetCurrentMaxSpeed(); accel = this->GetAcceleration();