mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 05:49:19 +02:00
reformat: remove redundant 'else' keyword
This commit is contained in:
@@ -2302,21 +2302,27 @@ event_manager::insert( basic_event *Event ) {
|
||||
return false;
|
||||
}
|
||||
// tymczasowo wyjątki:
|
||||
else if( Event->m_name.ends_with("lineinfo:") ) {
|
||||
// tymczasowa utylizacja duplikatów W5
|
||||
return false;
|
||||
}
|
||||
else if( Event->m_name.ends_with("_warning") ) {
|
||||
// tymczasowa utylizacja duplikatu z trąbieniem
|
||||
return false;
|
||||
}
|
||||
else if( Event->m_name.ends_with("_shp") ) {
|
||||
// nie podlegają logowaniu
|
||||
// tymczasowa utylizacja duplikatu SHP
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Event->m_name.ends_with("lineinfo:"))
|
||||
{
|
||||
// tymczasowa utylizacja duplikatów W5
|
||||
return false;
|
||||
}
|
||||
if (Event->m_name.ends_with("_warning"))
|
||||
{
|
||||
// tymczasowa utylizacja duplikatu z trąbieniem
|
||||
return false;
|
||||
}
|
||||
else if (Event->m_name.ends_with("_shp"))
|
||||
{
|
||||
// nie podlegają logowaniu
|
||||
// tymczasowa utylizacja duplikatu SHP
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
auto *duplicate = m_events[ lookup->second ];
|
||||
auto *duplicate = m_events[ lookup->second ];
|
||||
if( Global.bJoinEvents ) {
|
||||
// doczepka (taki wirtualny multiple bez warunków)
|
||||
duplicate->append( Event );
|
||||
|
||||
185
world/Track.cpp
185
world/Track.cpp
@@ -1787,97 +1787,100 @@ bool TTrack::SetConnections(int i)
|
||||
bool TTrack::Switch(int i, float const t, float const d)
|
||||
{ // przełączenie torów z uruchomieniem animacji
|
||||
if (SwitchExtension) // tory przełączalne mają doklejkę
|
||||
if (eType == tt_Switch)
|
||||
{ // przekładanie zwrotnicy jak zwykle
|
||||
if (t > 0.f) // prędkość liniowa ruchu iglic
|
||||
SwitchExtension->fOffsetSpeed = t; // prędkość łatwiej zgrać z animacją modelu
|
||||
if (d >= 0.f) // dodatkowy ruch drugiej iglicy (zamknięcie nastawnicze)
|
||||
SwitchExtension->fOffsetDelay = d;
|
||||
i &= 1; // ograniczenie błędów !!!!
|
||||
SwitchExtension->fDesiredOffset =
|
||||
i ? fMaxOffset + SwitchExtension->fOffsetDelay : -SwitchExtension->fOffsetDelay;
|
||||
SwitchExtension->CurrentIndex = i;
|
||||
Segment = SwitchExtension->Segments[i]; // wybranie aktywnej drogi - potrzebne to?
|
||||
trNext = SwitchExtension->pNexts[i]; // przełączenie końców
|
||||
trPrev = SwitchExtension->pPrevs[i];
|
||||
iNextDirection = SwitchExtension->iNextDirection[i];
|
||||
iPrevDirection = SwitchExtension->iPrevDirection[i];
|
||||
fRadius = fRadiusTable[i]; // McZapkie: wybor promienia toru
|
||||
if( SwitchExtension->fVelocity <= -2 ) {
|
||||
//-1 oznacza maksymalną prędkość, a dalsze ujemne to ograniczenie na bok
|
||||
fVelocity = i ? -SwitchExtension->fVelocity : -1;
|
||||
}
|
||||
else {
|
||||
fVelocity = SwitchExtension->fVelocity;
|
||||
}
|
||||
if (SwitchExtension->pOwner ? SwitchExtension->pOwner->RaTrackAnimAdd(this) :
|
||||
true) // jeśli nie dodane do animacji
|
||||
{ // nie ma się co bawić
|
||||
SwitchExtension->fOffset = SwitchExtension->fDesiredOffset;
|
||||
// przeliczenie położenia iglic; czy zadziała na niewyświetlanym sektorze w VBO?
|
||||
RaAnimate();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if (eType == tt_Table)
|
||||
{ // blokowanie (0, szukanie torów) lub odblokowanie (1, rozłączenie) obrotnicy
|
||||
if (i) // NOTE: this condition seems opposite to intention/comment? TODO: investigate this
|
||||
{ // 0: rozłączenie sąsiednich torów od obrotnicy
|
||||
if (trPrev) // jeśli jest tor od Point1 obrotnicy
|
||||
if (iPrevDirection) // 0:dołączony Point1, 1:dołączony Point2
|
||||
trPrev->trNext = nullptr; // rozłączamy od Point2
|
||||
else
|
||||
trPrev->trPrev = nullptr; // rozłączamy od Point1
|
||||
if (trNext) // jeśli jest tor od Point2 obrotnicy
|
||||
if (iNextDirection) // 0:dołączony Point1, 1:dołączony Point2
|
||||
trNext->trNext = nullptr; // rozłączamy od Point2
|
||||
else
|
||||
trNext->trPrev = nullptr; // rozłączamy od Point1
|
||||
trNext = trPrev = nullptr; // na końcu rozłączamy obrotnicę (wkaźniki do sąsiadów już niepotrzebne)
|
||||
fVelocity = 0.0; // AI, nie ruszaj się!
|
||||
if (SwitchExtension->pOwner)
|
||||
SwitchExtension->pOwner->RaTrackAnimAdd(this); // dodanie do listy animacyjnej
|
||||
// TODO: unregister path ends in the owner cell
|
||||
}
|
||||
else
|
||||
{ // 1: ustalenie finalnego położenia (gdy nie było animacji)
|
||||
RaAnimate(); // ostatni etap animowania
|
||||
// zablokowanie pozycji i połączenie do sąsiednich torów
|
||||
// TODO: register new position of the path endpoints with the region
|
||||
simulation::Region->TrackJoin( this );
|
||||
if (trNext || trPrev)
|
||||
{
|
||||
fVelocity = 6.0; // jazda dozwolona
|
||||
if( trPrev
|
||||
&& trPrev->fVelocity == 0.0 ) {
|
||||
// ustawienie 0 da możliwość zatrzymania AI na obrotnicy
|
||||
trPrev->VelocitySet( 6.0 ); // odblokowanie dołączonego toru do jazdy
|
||||
}
|
||||
if( trNext
|
||||
&& trNext->fVelocity == 0.0 ) {
|
||||
trNext->VelocitySet( 6.0 );
|
||||
}
|
||||
if( SwitchExtension->evPlus ) { // w starych sceneriach może nie być
|
||||
// potwierdzenie wykonania (np. odpala WZ)
|
||||
simulation::Events.AddToQuery( SwitchExtension->evPlus, nullptr );
|
||||
}
|
||||
}
|
||||
}
|
||||
SwitchExtension->CurrentIndex = i; // zapamiętanie stanu zablokowania
|
||||
return true;
|
||||
}
|
||||
else if (eType == tt_Cross)
|
||||
{ // to jest przydatne tylko do łączenia odcinków
|
||||
i &= 1;
|
||||
SwitchExtension->CurrentIndex = i;
|
||||
Segment = SwitchExtension->Segments[i]; // wybranie aktywnej drogi - potrzebne to?
|
||||
trNext = SwitchExtension->pNexts[i]; // przełączenie końców
|
||||
trPrev = SwitchExtension->pPrevs[i];
|
||||
iNextDirection = SwitchExtension->iNextDirection[i];
|
||||
iPrevDirection = SwitchExtension->iPrevDirection[i];
|
||||
return true;
|
||||
}
|
||||
if (iCategoryFlag == 1)
|
||||
{
|
||||
if (eType == tt_Switch)
|
||||
{ // przekładanie zwrotnicy jak zwykle
|
||||
if (t > 0.f) // prędkość liniowa ruchu iglic
|
||||
SwitchExtension->fOffsetSpeed = t; // prędkość łatwiej zgrać z animacją modelu
|
||||
if (d >= 0.f) // dodatkowy ruch drugiej iglicy (zamknięcie nastawnicze)
|
||||
SwitchExtension->fOffsetDelay = d;
|
||||
i &= 1; // ograniczenie błędów !!!!
|
||||
SwitchExtension->fDesiredOffset = i ? fMaxOffset + SwitchExtension->fOffsetDelay : -SwitchExtension->fOffsetDelay;
|
||||
SwitchExtension->CurrentIndex = i;
|
||||
Segment = SwitchExtension->Segments[i]; // wybranie aktywnej drogi - potrzebne to?
|
||||
trNext = SwitchExtension->pNexts[i]; // przełączenie końców
|
||||
trPrev = SwitchExtension->pPrevs[i];
|
||||
iNextDirection = SwitchExtension->iNextDirection[i];
|
||||
iPrevDirection = SwitchExtension->iPrevDirection[i];
|
||||
fRadius = fRadiusTable[i]; // McZapkie: wybor promienia toru
|
||||
if (SwitchExtension->fVelocity <= -2)
|
||||
{
|
||||
//-1 oznacza maksymalną prędkość, a dalsze ujemne to ograniczenie na bok
|
||||
fVelocity = i ? -SwitchExtension->fVelocity : -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
fVelocity = SwitchExtension->fVelocity;
|
||||
}
|
||||
if (SwitchExtension->pOwner ? SwitchExtension->pOwner->RaTrackAnimAdd(this) : true) // jeśli nie dodane do animacji
|
||||
{ // nie ma się co bawić
|
||||
SwitchExtension->fOffset = SwitchExtension->fDesiredOffset;
|
||||
// przeliczenie położenia iglic; czy zadziała na niewyświetlanym sektorze w VBO?
|
||||
RaAnimate();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (eType == tt_Table)
|
||||
{ // blokowanie (0, szukanie torów) lub odblokowanie (1, rozłączenie) obrotnicy
|
||||
if (i) // NOTE: this condition seems opposite to intention/comment? TODO: investigate this
|
||||
{ // 0: rozłączenie sąsiednich torów od obrotnicy
|
||||
if (trPrev) // jeśli jest tor od Point1 obrotnicy
|
||||
if (iPrevDirection) // 0:dołączony Point1, 1:dołączony Point2
|
||||
trPrev->trNext = nullptr; // rozłączamy od Point2
|
||||
else
|
||||
trPrev->trPrev = nullptr; // rozłączamy od Point1
|
||||
if (trNext) // jeśli jest tor od Point2 obrotnicy
|
||||
if (iNextDirection) // 0:dołączony Point1, 1:dołączony Point2
|
||||
trNext->trNext = nullptr; // rozłączamy od Point2
|
||||
else
|
||||
trNext->trPrev = nullptr; // rozłączamy od Point1
|
||||
trNext = trPrev = nullptr; // na końcu rozłączamy obrotnicę (wkaźniki do sąsiadów już niepotrzebne)
|
||||
fVelocity = 0.0; // AI, nie ruszaj się!
|
||||
if (SwitchExtension->pOwner)
|
||||
SwitchExtension->pOwner->RaTrackAnimAdd(this); // dodanie do listy animacyjnej
|
||||
// TODO: unregister path ends in the owner cell
|
||||
}
|
||||
else
|
||||
{ // 1: ustalenie finalnego położenia (gdy nie było animacji)
|
||||
RaAnimate(); // ostatni etap animowania
|
||||
// zablokowanie pozycji i połączenie do sąsiednich torów
|
||||
// TODO: register new position of the path endpoints with the region
|
||||
simulation::Region->TrackJoin(this);
|
||||
if (trNext || trPrev)
|
||||
{
|
||||
fVelocity = 6.0; // jazda dozwolona
|
||||
if (trPrev && trPrev->fVelocity == 0.0)
|
||||
{
|
||||
// ustawienie 0 da możliwość zatrzymania AI na obrotnicy
|
||||
trPrev->VelocitySet(6.0); // odblokowanie dołączonego toru do jazdy
|
||||
}
|
||||
if (trNext && trNext->fVelocity == 0.0)
|
||||
{
|
||||
trNext->VelocitySet(6.0);
|
||||
}
|
||||
if (SwitchExtension->evPlus)
|
||||
{ // w starych sceneriach może nie być
|
||||
// potwierdzenie wykonania (np. odpala WZ)
|
||||
simulation::Events.AddToQuery(SwitchExtension->evPlus, nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
SwitchExtension->CurrentIndex = i; // zapamiętanie stanu zablokowania
|
||||
return true;
|
||||
}
|
||||
else if (eType == tt_Cross)
|
||||
{ // to jest przydatne tylko do łączenia odcinków
|
||||
i &= 1;
|
||||
SwitchExtension->CurrentIndex = i;
|
||||
Segment = SwitchExtension->Segments[i]; // wybranie aktywnej drogi - potrzebne to?
|
||||
trNext = SwitchExtension->pNexts[i]; // przełączenie końców
|
||||
trPrev = SwitchExtension->pPrevs[i];
|
||||
iNextDirection = SwitchExtension->iNextDirection[i];
|
||||
iPrevDirection = SwitchExtension->iPrevDirection[i];
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (iCategoryFlag == 1)
|
||||
iDamageFlag = (iDamageFlag & 127) + 128 * (i & 1); // przełączanie wykolejenia
|
||||
else
|
||||
Error("Cannot switch normal track");
|
||||
|
||||
@@ -504,20 +504,27 @@ double TTraction::VoltageGet(double u, double i)
|
||||
i1 = psPower[1]->CurrentGet(r1g);
|
||||
return (i0 + i1) * res;
|
||||
}
|
||||
else if (r0t >= 0.0)
|
||||
return psPower[0]->CurrentGet(res + r0t) * res;
|
||||
else if (r1t >= 0.0)
|
||||
return psPower[1]->CurrentGet(res + r1t) * res;
|
||||
else
|
||||
return 0.0; // co z tym zrobić?
|
||||
{
|
||||
if (r0t >= 0.0)
|
||||
return psPower[0]->CurrentGet(res + r0t) * res;
|
||||
if (r1t >= 0.0)
|
||||
return psPower[1]->CurrentGet(res + r1t) * res;
|
||||
else
|
||||
return 0.0;
|
||||
}
|
||||
// co z tym zrobić?
|
||||
}
|
||||
else if (psPower[0] && r0t >= 0.0)
|
||||
{ // jeśli odcinek podłączony jest tylko z jednej strony
|
||||
return psPower[0]->CurrentGet(res + r0t) * res;
|
||||
}
|
||||
else if (psPower[1] && r1t >= 0.0)
|
||||
return psPower[1]->CurrentGet(res + r1t) * res;
|
||||
return 0.0; // gdy nie podłączony wcale?
|
||||
else
|
||||
{
|
||||
if (psPower[0] && r0t >= 0.0)
|
||||
{ // jeśli odcinek podłączony jest tylko z jednej strony
|
||||
return psPower[0]->CurrentGet(res + r0t) * res;
|
||||
}
|
||||
if (psPower[1] && r1t >= 0.0)
|
||||
return psPower[1]->CurrentGet(res + r1t) * res;
|
||||
}
|
||||
return 0.0; // gdy nie podłączony wcale?
|
||||
};
|
||||
|
||||
glm::vec3
|
||||
|
||||
@@ -215,53 +215,55 @@ bool TTrackFollower::Move(double fDistance, bool bPrimary)
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else if (s > pCurrentSegment->GetLength())
|
||||
{ // jeśli przekroczenie toru od strony Point2
|
||||
bCanSkip = bPrimary && pCurrentTrack->CheckDynamicObject(Owner);
|
||||
if (bCanSkip) // tylko główna oś przenosi pojazd do innego toru
|
||||
Owner->MyTrack->RemoveDynamicObject(Owner); // zdejmujemy pojazd z dotychczasowego toru
|
||||
fDistance = s - pCurrentSegment->GetLength();
|
||||
dir = fDirection;
|
||||
if (pCurrentTrack->eType == tt_Cross)
|
||||
{
|
||||
if (!SetCurrentTrack(pCurrentTrack->Connected(iSegment, fDirection), 1))
|
||||
return false; // wyjście z błędem
|
||||
}
|
||||
else if (!SetCurrentTrack(pCurrentTrack->Connected(1, fDirection), 1)) // ustawia fDirection
|
||||
return false; // wyjście z błędem
|
||||
if (dir != fDirection) //(pCurrentTrack->iNextDirection)
|
||||
{ // gdy zmiana kierunku toru (Point2->Point2)
|
||||
fDistance = -fDistance; //(s-pCurrentSegment->GetLength());
|
||||
fCurrentDistance = pCurrentSegment->GetLength();
|
||||
}
|
||||
else // gdy kierunek bez zmiany (Point2->Point1)
|
||||
fCurrentDistance = 0;
|
||||
if (bCanSkip)
|
||||
{ // jak główna oś, to dodanie pojazdu do nowego toru
|
||||
pCurrentTrack->AddDynamicObject(Owner);
|
||||
iEventFlag = 3; // McZapkie-020602: umozliwienie uruchamiania event1,2 po zmianie toru
|
||||
iEventallFlag = 3;
|
||||
if (!Owner->MyTrack)
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{ // gdy zostaje na tym samym torze (przesuwanie już nie zmienia toru)
|
||||
if (bPrimary)
|
||||
{ // tylko gdy początkowe ustawienie, dodajemy eventy stania do kolejki
|
||||
if (Owner->MoverParameters->CabOccupied != 0) {
|
||||
{
|
||||
if (s > pCurrentSegment->GetLength())
|
||||
{ // jeśli przekroczenie toru od strony Point2
|
||||
bCanSkip = bPrimary && pCurrentTrack->CheckDynamicObject(Owner);
|
||||
if (bCanSkip) // tylko główna oś przenosi pojazd do innego toru
|
||||
Owner->MyTrack->RemoveDynamicObject(Owner); // zdejmujemy pojazd z dotychczasowego toru
|
||||
fDistance = s - pCurrentSegment->GetLength();
|
||||
dir = fDirection;
|
||||
if (pCurrentTrack->eType == tt_Cross)
|
||||
{
|
||||
if (!SetCurrentTrack(pCurrentTrack->Connected(iSegment, fDirection), 1))
|
||||
return false; // wyjście z błędem
|
||||
}
|
||||
else if (!SetCurrentTrack(pCurrentTrack->Connected(1, fDirection), 1)) // ustawia fDirection
|
||||
return false; // wyjście z błędem
|
||||
if (dir != fDirection) //(pCurrentTrack->iNextDirection)
|
||||
{ // gdy zmiana kierunku toru (Point2->Point2)
|
||||
fDistance = -fDistance; //(s-pCurrentSegment->GetLength());
|
||||
fCurrentDistance = pCurrentSegment->GetLength();
|
||||
}
|
||||
else // gdy kierunek bez zmiany (Point2->Point1)
|
||||
fCurrentDistance = 0;
|
||||
if (bCanSkip)
|
||||
{ // jak główna oś, to dodanie pojazdu do nowego toru
|
||||
pCurrentTrack->AddDynamicObject(Owner);
|
||||
iEventFlag = 3; // McZapkie-020602: umozliwienie uruchamiania event1,2 po zmianie toru
|
||||
iEventallFlag = 3;
|
||||
if (!Owner->MyTrack)
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
// gdy zostaje na tym samym torze (przesuwanie już nie zmienia toru)
|
||||
if (bPrimary)
|
||||
{ // tylko gdy początkowe ustawienie, dodajemy eventy stania do kolejki
|
||||
if (Owner->MoverParameters->CabOccupied != 0)
|
||||
{
|
||||
|
||||
pCurrentTrack->QueueEvents( pCurrentTrack->m_events1, Owner, -1.0 );
|
||||
pCurrentTrack->QueueEvents( pCurrentTrack->m_events2, Owner, -1.0 );
|
||||
}
|
||||
pCurrentTrack->QueueEvents( pCurrentTrack->m_events1all, Owner, -1.0 );
|
||||
pCurrentTrack->QueueEvents( pCurrentTrack->m_events2all, Owner, -1.0 );
|
||||
}
|
||||
fCurrentDistance = s;
|
||||
return ComputatePosition(); // przeliczenie XYZ, true o ile nie wyjechał na NULL
|
||||
}
|
||||
}
|
||||
pCurrentTrack->QueueEvents(pCurrentTrack->m_events1, Owner, -1.0);
|
||||
pCurrentTrack->QueueEvents(pCurrentTrack->m_events2, Owner, -1.0);
|
||||
}
|
||||
pCurrentTrack->QueueEvents(pCurrentTrack->m_events1all, Owner, -1.0);
|
||||
pCurrentTrack->QueueEvents(pCurrentTrack->m_events2all, Owner, -1.0);
|
||||
}
|
||||
fCurrentDistance = s;
|
||||
return ComputatePosition(); // przeliczenie XYZ, true o ile nie wyjechał na NULL
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
bool TTrackFollower::ComputatePosition()
|
||||
|
||||
@@ -169,15 +169,19 @@ bool TTrainParameters::IsTimeToGo(double hh, double mm)
|
||||
{
|
||||
if (StationIndex < 1)
|
||||
return true; // przed pierwszą jechać
|
||||
else if (StationIndex < StationCount)
|
||||
{ // oprócz ostatniego przystanku
|
||||
if (TimeTable[StationIndex].Ah < 0) // odjazd z poprzedniego
|
||||
return true; // czas przyjazdu nie był podany - przelot
|
||||
else
|
||||
return CompareTime(hh, mm, TimeTable[StationIndex].Dh, TimeTable[StationIndex].Dm) <= 0;
|
||||
}
|
||||
else // gdy rozkład się skończył
|
||||
return false; // dalej nie jechać
|
||||
else
|
||||
{
|
||||
if (StationIndex < StationCount)
|
||||
{ // oprócz ostatniego przystanku
|
||||
if (TimeTable[StationIndex].Ah < 0) // odjazd z poprzedniego
|
||||
return true; // czas przyjazdu nie był podany - przelot
|
||||
else
|
||||
return CompareTime(hh, mm, TimeTable[StationIndex].Dh, TimeTable[StationIndex].Dm) <= 0;
|
||||
}
|
||||
// gdy rozkład się skończył
|
||||
return false;
|
||||
}
|
||||
// dalej nie jechać
|
||||
}
|
||||
|
||||
// returns: difference between specified time and scheduled departure from current stop, in seconds
|
||||
|
||||
Reference in New Issue
Block a user