16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-21 18:19:19 +02:00

Poprawka dla MWD aby kompilował się na VS

This commit is contained in:
firleju
2017-01-18 06:10:08 +01:00
parent 6440d64b2c
commit 51fff210e1
8 changed files with 4664 additions and 4069 deletions

View File

@@ -10,10 +10,10 @@ http://mozilla.org/MPL/2.0/.
#pragma once
//#include <fstream>
#include <string>
#include "Classes.h"
#include "dumb3d.h"
#include "mczapkie/mover.h"
#include <string>
using namespace Math3D;
using namespace Mtable;
@@ -52,10 +52,12 @@ enum TMovementStatus
moveGuardSignal = 0x8000, // sygnał od kierownika (minął czas postoju)
moveVisibility = 0x10000, // jazda na widoczność po przejechaniu S1 na SBL
moveDoorOpened = 0x20000, // drzwi zostały otwarte - doliczyć czas na zamknięcie
movePushPull = 0x40000, // zmiana czoła przez zmianę kabiny - nie odczepiać przy zmianie kierunku
movePushPull =
0x40000, // zmiana czoła przez zmianę kabiny - nie odczepiać przy zmianie kierunku
moveSemaphorFound = 0x80000, // na drodze skanowania został znaleziony semafor
moveSemaphorWasElapsed = 0x100000, // minięty został semafor
moveTrainInsideStation = 0x200000, // pociąg między semaforem a rozjazdami lub następnym semaforem
moveTrainInsideStation =
0x200000, // pociąg między semaforem a rozjazdami lub następnym semaforem
moveSpeedLimitFound = 0x400000 // pociąg w ograniczeniu z podaną jego długością
};
@@ -126,9 +128,9 @@ class TSpeedPos
public:
double fDist; // aktualna odległość (ujemna gdy minięte)
double fVelNext; // prędkość obowiązująca od tego miejsca
double fSectionVelocityDist; //długość ograniczenia prędkości
double fSectionVelocityDist; // długość ograniczenia prędkości
// double fAcc;
int iFlags; //flagi typu wpisu do tabelki
int iFlags; // flagi typu wpisu do tabelki
// 1=istotny,2=tor,4=odwrotnie,8-zwrotnica (może się zmienić),16-stan
// zwrotnicy,32-minięty,64=koniec,128=łuk
// 0x100=event,0x200=manewrowa,0x400=przystanek,0x800=SBL,0x1000=wysłana komenda,0x2000=W5
@@ -147,8 +149,8 @@ class TSpeedPos
bool Set(TEvent *e, double d, TOrders order = Wait_for_orders);
void Set(TTrack *t, double d, int f);
std::string TableText();
std::string GetName();
bool IsProperSemaphor(TOrders order = Wait_for_orders);
std::string GetName();
bool IsProperSemaphor(TOrders order = Wait_for_orders);
};
//----------------------------------------------------------------------------
@@ -172,8 +174,8 @@ class TController
double fLastVel; // prędkość na poprzednio sprawdzonym torze
TTrack *tLast; // ostatni analizowany tor
TEvent *eSignSkip; // można pominąć ten SBL po zatrzymaniu
TSpeedPos *sSemNext; // następny semafor na drodze zależny od trybu jazdy
TSpeedPos *sSemNextStop; // następny semafor na drodze zależny od trybu jazdy i na stój
TSpeedPos *sSemNext; // następny semafor na drodze zależny od trybu jazdy
TSpeedPos *sSemNextStop; // następny semafor na drodze zależny od trybu jazdy i na stój
private: // parametry aktualnego składu
double fLength; // długość składu (do wyciągania z ograniczeń)
double fMass; // całkowita masa do liczenia stycznej składowej grawitacji
@@ -219,8 +221,8 @@ class TController
// migacz lub czeka na stan zwrotnicy
private:
TDynamicObject *pVehicle; // pojazd w którym siedzi sterujący
TDynamicObject *
pVehicles[2]; // skrajne pojazdy w składzie (niekoniecznie bezpośrednio sterowane)
TDynamicObject
*pVehicles[2]; // skrajne pojazdy w składzie (niekoniecznie bezpośrednio sterowane)
TMoverParameters *mvControlling; // jakim pojazdem steruje (może silnikowym w EZT)
TMoverParameters *mvOccupied; // jakim pojazdem hamuje
TTrainParameters *TrainParams; // rozkład jazdy zawsze jest, nawet jeśli pusty
@@ -244,16 +246,16 @@ class TController
double VelLimit; // predkość zadawana przez event jednokierunkowego ograniczenia prędkości
public:
double VelSignalLast; // prędkość zadana na ostatnim semaforze
double VelSignalNext; // prędkość zadana na następnym semaforze
double VelSignalNext; // prędkość zadana na następnym semaforze
double VelLimitLast; // prędkość zadana przez ograniczenie
double VelRoad; // aktualna prędkość drogowa (ze znaku W27)
// (PutValues albo komendą)
public:
double VelNext; // prędkość, jaka ma być po przejechaniu długości ProximityDist
private:
double fProximityDist; //odleglosc podawana w SetProximityVelocity(); >0:przeliczać do
double fProximityDist; // odleglosc podawana w SetProximityVelocity(); >0:przeliczać do
// punktu, <0:podana wartość
double FirstSemaphorDist; // odległość do pierwszego znalezionego semafora
double FirstSemaphorDist; // odległość do pierwszego znalezionego semafora
public:
double
ActualProximityDist; // odległość brana pod uwagę przy wyliczaniu prędkości i przyspieszenia
@@ -312,7 +314,7 @@ class TController
void ControllingSet(); // znajduje człon do sterowania
void AutoRewident(); // ustawia hamulce w składzie
public:
Mtable::TTrainParameters * Timetable()
Mtable::TTrainParameters *Timetable()
{
return TrainParams;
};
@@ -358,12 +360,12 @@ class TController
double Distance(vector3 &p1, vector3 &n, vector3 &p2);
private: // Ra: metody obsługujące skanowanie toru
TEvent * CheckTrackEvent(double fDirection, TTrack *Track);
TEvent *CheckTrackEvent(double fDirection, TTrack *Track);
bool TableCheckEvent(TEvent *e);
bool TableAddNew();
bool TableNotFound(TEvent *e);
void TableClear();
TEvent * TableCheckTrackEvent(double fDirection, TTrack *Track);
TEvent *TableCheckTrackEvent(double fDirection, TTrack *Track);
void TableTraceRoute(double fDistance, TDynamicObject *pVehicle = NULL);
void TableCheck(double fDistance);
TCommandType TableUpdate(double &fVelDes, double &fDist, double &fNext, double &fAcc);
@@ -371,9 +373,9 @@ class TController
private: // Ra: stare funkcje skanujące, używane do szukania sygnalizatora z tyłu
bool BackwardTrackBusy(TTrack *Track);
TEvent * CheckTrackEventBackward(double fDirection, TTrack *Track);
TTrack * BackwardTraceRoute(double &fDistance, double &fDirection, TTrack *Track,
TEvent *&Event);
TEvent *CheckTrackEventBackward(double fDirection, TTrack *Track);
TTrack *BackwardTraceRoute(double &fDistance, double &fDirection, TTrack *Track,
TEvent *&Event);
void SetProximityVelocity(double dist, double vel, const vector3 *pos);
TCommandType BackwardScan();
@@ -383,8 +385,8 @@ class TController
~TController();
std::string NextStop();
void TakeControl(bool yes);
std::string Relation();
std::string TrainName();
std::string Relation();
std::string TrainName();
int StationCount();
int StationIndex();
bool IsStop();