mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
Zmiana AnsiString na std::string. Zakończenie sprawy przypadkowo skasowanego mover.h
This commit is contained in:
28
Driver.cpp
28
Driver.cpp
@@ -284,7 +284,7 @@ bool TSpeedPos::Update(vector3 *p, vector3 *dir, double &len)
|
||||
return false;
|
||||
};
|
||||
|
||||
AnsiString TSpeedPos::GetName()
|
||||
std::string TSpeedPos::GetName()
|
||||
{
|
||||
if (iFlags & spTrack) // je<6A>li tor
|
||||
return trTrack->NameGet();
|
||||
@@ -292,12 +292,12 @@ AnsiString TSpeedPos::GetName()
|
||||
return evEvent->asName;
|
||||
}
|
||||
|
||||
AnsiString TSpeedPos::TableText()
|
||||
std::string TSpeedPos::TableText()
|
||||
{ // pozycja tabelki pr<70>dko<6B>ci
|
||||
if (iFlags & spEnabled)
|
||||
{ // o ile pozycja istotna
|
||||
return "Flags=#" + IntToHex(iFlags, 8) + ", Dist=" + FloatToStrF(fDist, ffFixed, 7, 1) +
|
||||
", Vel=" + AnsiString(fVelNext) + ", Name=" + GetName();
|
||||
return "Flags=#" + to_hex_str(iFlags, 8) + ", Dist=" + to_string(fDist, 1, 7) +
|
||||
", Vel=" + to_string(fVelNext) + ", Name=" + GetName();
|
||||
//if (iFlags & spTrack) // je<6A>li tor
|
||||
// return "Flags=#" + IntToHex(iFlags, 8) + ", Dist=" + FloatToStrF(fDist, ffFixed, 7, 1) +
|
||||
// ", Vel=" + AnsiString(fVelNext) + ", Track=" + trTrack->NameGet();
|
||||
@@ -1603,7 +1603,7 @@ TController::~TController()
|
||||
CloseLog();
|
||||
};
|
||||
|
||||
AnsiString TController::Order2Str(TOrders Order)
|
||||
std::string TController::Order2Str(TOrders Order)
|
||||
{ // zamiana kodu rozkazu na opis
|
||||
if (Order & Change_direction)
|
||||
return "Change_direction"; // mo<6D>e by<62> na<6E>o<EFBFBD>ona na inn<6E> i wtedy ma priorytet
|
||||
@@ -1638,9 +1638,9 @@ AnsiString TController::Order2Str(TOrders Order)
|
||||
return "Undefined!";
|
||||
}
|
||||
|
||||
AnsiString TController::OrderCurrent()
|
||||
std::string TController::OrderCurrent()
|
||||
{ // pobranie aktualnego rozkazu celem wy<77>wietlenia
|
||||
return AnsiString(OrderPos) + ". " + Order2Str(OrderList[OrderPos]);
|
||||
return to_string(OrderPos) + ". " + Order2Str(OrderList[OrderPos]);
|
||||
};
|
||||
|
||||
void TController::OrdersClear()
|
||||
@@ -2889,8 +2889,8 @@ void TController::RecognizeCommand()
|
||||
c->Command = ""; // usuni<6E>cie obs<62>u<EFBFBD>onej komendy
|
||||
}
|
||||
|
||||
void TController::PutCommand(AnsiString NewCommand, double NewValue1, double NewValue2,
|
||||
const TLocation &NewLocation, TStopReason reason)
|
||||
void TController::PutCommand(std::string NewCommand, double NewValue1, double NewValue2,
|
||||
const TLocation &NewLocation, TStopReason reason = stopComm)
|
||||
{ // wys<79>anie komendy przez event PutValues, jak pojazd ma obsad<61>, to wysy<73>a tutaj, a nie do pojazdu
|
||||
// bezpo<70>rednio
|
||||
vector3 sl;
|
||||
@@ -2901,8 +2901,8 @@ void TController::PutCommand(AnsiString NewCommand, double NewValue1, double New
|
||||
mvOccupied->PutCommand(NewCommand, NewValue1, NewValue2, NewLocation);
|
||||
}
|
||||
|
||||
bool TController::PutCommand(AnsiString NewCommand, double NewValue1, double NewValue2,
|
||||
const vector3 *NewLocation, TStopReason reason)
|
||||
bool TController::PutCommand(std::string NewCommand, double NewValue1, double NewValue2,
|
||||
const vector3 *NewLocation, TStopReason reason = stopComm)
|
||||
{ // analiza komendy
|
||||
if (NewCommand == "CabSignal")
|
||||
{ // SHP wyzwalane jest przez cz<63>on z obsad<61>, ale obs<62>ugiwane przez silnikowy
|
||||
@@ -5425,7 +5425,7 @@ void TController::ControllingSet()
|
||||
mvControlling = pVehicle->ControlledFind()->MoverParameters; // poszukiwanie cz<63>onu sterowanego
|
||||
};
|
||||
|
||||
AnsiString TController::TableText(int i)
|
||||
std::string TController::TableText(int i)
|
||||
{ // pozycja tabelki pr<70>dko<6B>ci
|
||||
i = (iFirst + i) % iSpeedTableSize; // numer pozycji
|
||||
if (i != iLast) // w (iLast) znajduje si<73> kolejny tor do przeskanowania, ale nie jest ona
|
||||
@@ -5475,7 +5475,7 @@ void TController::RouteSwitch(int d)
|
||||
}
|
||||
}
|
||||
};
|
||||
AnsiString TController::OwnerName()
|
||||
std::string TController::OwnerName()
|
||||
{
|
||||
return pVehicle ? pVehicle->MoverParameters->Name : AnsiString("none");
|
||||
return pVehicle ? pVehicle->MoverParameters->Name : ("none");
|
||||
};
|
||||
|
||||
18
Driver.h
18
Driver.h
@@ -146,8 +146,8 @@ class TSpeedPos
|
||||
bool Update(vector3 *p, vector3 *dir, double &len);
|
||||
bool Set(TEvent *e, double d, TOrders order = Wait_for_orders);
|
||||
void Set(TTrack *t, double d, int f);
|
||||
AnsiString TableText();
|
||||
AnsiString GetName();
|
||||
std::string TableText();
|
||||
std::string GetName();
|
||||
bool IsProperSemaphor(TOrders order = Wait_for_orders);
|
||||
};
|
||||
|
||||
@@ -315,9 +315,9 @@ class TController
|
||||
{
|
||||
return TrainParams;
|
||||
};
|
||||
void PutCommand(AnsiString NewCommand, double NewValue1, double NewValue2,
|
||||
const _mover::TLocation &NewLocation, TStopReason reason = stopComm);
|
||||
bool PutCommand(AnsiString NewCommand, double NewValue1, double NewValue2,
|
||||
void PutCommand(std::string NewCommand, double NewValue1, double NewValue2,
|
||||
const TLocation &NewLocation, TStopReason reason = stopComm);
|
||||
bool PutCommand(std::string NewCommand, double NewValue1, double NewValue2,
|
||||
const vector3 *NewLocation, TStopReason reason = stopComm);
|
||||
bool UpdateSituation(double dt); // uruchamiac przynajmniej raz na sekundę
|
||||
// procedury dotyczace rozkazow dla maszynisty
|
||||
@@ -346,11 +346,11 @@ class TController
|
||||
TController(bool AI, TDynamicObject *NewControll, bool InitPsyche,
|
||||
bool primary = true // czy ma aktywnie prowadzić?
|
||||
);
|
||||
AnsiString OrderCurrent();
|
||||
std::string OrderCurrent();
|
||||
void WaitingSet(double Seconds);
|
||||
|
||||
private:
|
||||
AnsiString Order2Str(TOrders Order);
|
||||
std::string Order2Str(TOrders Order);
|
||||
void DirectionForward(bool forward);
|
||||
int OrderDirectionChange(int newdir, TMoverParameters *Vehicle);
|
||||
void Lights(int head, int rear);
|
||||
@@ -397,10 +397,10 @@ class TController
|
||||
};
|
||||
void MoveTo(TDynamicObject *to);
|
||||
void DirectionInitial();
|
||||
AnsiString TableText(int i);
|
||||
std::string TableText(int i);
|
||||
int CrossRoute(TTrack *tr);
|
||||
void RouteSwitch(int d);
|
||||
AnsiString OwnerName();
|
||||
std::string OwnerName();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
4
EU07.cpp
4
EU07.cpp
@@ -662,7 +662,7 @@ int WINAPI WinMain(HINSTANCE hInstance, // instance
|
||||
else if (str == AnsiString("-v"))
|
||||
{ // nazwa wybranego pojazdu
|
||||
str = Parser->GetNextSymbol().LowerCase();
|
||||
Global::asHumanCtrlVehicle = str;
|
||||
Global::asHumanCtrlVehicle = str.c_str();
|
||||
}
|
||||
else if (str == AnsiString("-modifytga"))
|
||||
{ // wykonanie modyfikacji wszystkich plików TGA
|
||||
@@ -695,7 +695,7 @@ int WINAPI WinMain(HINSTANCE hInstance, // instance
|
||||
if (Bpp != 32)
|
||||
Bpp = 16;
|
||||
// create our OpenGL window
|
||||
if (!CreateGLWindow(Global::asHumanCtrlVehicle.c_str(), WindowWidth, WindowHeight, Bpp,
|
||||
if (!CreateGLWindow(const_cast<char*>(Global::asHumanCtrlVehicle.c_str()), WindowWidth, WindowHeight, Bpp,
|
||||
fullscreen))
|
||||
return 0; // quit if window was not created
|
||||
SetForegroundWindow(hWnd);
|
||||
|
||||
2
Event.h
2
Event.h
@@ -84,7 +84,7 @@ class TEvent // zmienne: ev*
|
||||
void Conditions(cParser *parser, AnsiString s);
|
||||
|
||||
public:
|
||||
AnsiString asName;
|
||||
std::string asName;
|
||||
bool bEnabled; // false gdy ma nie byæ dodawany do kolejki (skanowanie sygna³ów)
|
||||
int iQueued; // ile razy dodany do kolejki
|
||||
// bool bIsHistory;
|
||||
|
||||
108
Globals.cpp
108
Globals.cpp
@@ -24,6 +24,8 @@ http://mozilla.org/MPL/2.0/.
|
||||
#include <Controls.hpp> //do odczytu daty
|
||||
#include "World.h"
|
||||
#include <ostream>
|
||||
#include <iomanip>
|
||||
#include <ctype.h>
|
||||
// namespace Global {
|
||||
|
||||
// parametry do u¿ytku wewnêtrznego
|
||||
@@ -34,23 +36,23 @@ TGround *Global::pGround = NULL;
|
||||
// char Global::CreatorName3[20]="2004-2005 Adam Bugiel <ABu>";
|
||||
// char Global::CreatorName4[30]="2004 Arkadiusz Œlusarczyk <Winger>";
|
||||
// char Global::CreatorName5[30]="2003-2009 £ukasz Kirchner <Nbmx>";
|
||||
AnsiString Global::asCurrentSceneryPath = "scenery/";
|
||||
AnsiString Global::asCurrentTexturePath = AnsiString(szTexturePath);
|
||||
AnsiString Global::asCurrentDynamicPath = "";
|
||||
std::string Global::asCurrentSceneryPath = "scenery/";
|
||||
std::string Global::asCurrentTexturePath = std::string(szTexturePath);
|
||||
std::string Global::asCurrentDynamicPath = "";
|
||||
int Global::iSlowMotion =
|
||||
0; // info o malym FPS: 0-OK, 1-wy³¹czyæ multisampling, 3-promieñ 1.5km, 7-1km
|
||||
TDynamicObject *Global::changeDynObj = NULL; // info o zmianie pojazdu
|
||||
bool Global::detonatoryOK; // info o nowych detonatorach
|
||||
double Global::ABuDebug = 0;
|
||||
AnsiString Global::asSky = "1";
|
||||
std::string Global::asSky = "1";
|
||||
double Global::fOpenGL = 0.0; // wersja OpenGL - do sprawdzania obecnoœci rozszerzeñ
|
||||
bool Global::bOpenGL_1_5 = false; // czy s¹ dostêpne funkcje OpenGL 1.5
|
||||
double Global::fLuminance = 1.0; // jasnoœæ œwiat³a do automatycznego zapalania
|
||||
int Global::iReCompile = 0; // zwiêkszany, gdy trzeba odœwie¿yæ siatki
|
||||
HWND Global::hWnd = NULL; // uchwyt okna
|
||||
int Global::iCameraLast = -1;
|
||||
AnsiString Global::asRelease = "16.0.1172.481";
|
||||
AnsiString Global::asVersion =
|
||||
std::string Global::asRelease = "16.0.1172.481";
|
||||
std::string Global::asVersion =
|
||||
"Compilation 2016-08-24, release " + Global::asRelease + "."; // tutaj, bo wysy³any
|
||||
int Global::iViewMode = 0; // co aktualnie widaæ: 0-kabina, 1-latanie, 2-sprzêgi, 3-dokumenty
|
||||
int Global::iTextMode = 0; // tryb pracy wyœwietlacza tekstowego
|
||||
@@ -74,7 +76,7 @@ int Global::iSegmentsRendered = 90; // ilo
|
||||
TCamera *Global::pCamera = NULL; // parametry kamery
|
||||
TDynamicObject *Global::pUserDynamic = NULL; // pojazd u¿ytkownika, renderowany bez trzêsienia
|
||||
bool Global::bSmudge = false; // czy wyœwietlaæ smugê, a pojazd u¿ytkownika na koñcu
|
||||
AnsiString Global::asTranscript[5]; // napisy na ekranie (widoczne)
|
||||
std::string Global::asTranscript[5]; // napisy na ekranie (widoczne)
|
||||
TTranscripts Global::tranTexts; // obiekt obs³uguj¹cy stenogramy dŸwiêków na ekranie
|
||||
|
||||
// parametry scenerii
|
||||
@@ -115,13 +117,13 @@ bool Global::bInactivePause = true; // automatyczna pauza, gdy okno nieaktywne
|
||||
float Global::fMouseXScale = 1.5;
|
||||
float Global::fMouseYScale = 0.2;
|
||||
char Global::szSceneryFile[256] = "td.scn";
|
||||
AnsiString Global::asHumanCtrlVehicle = "EU07-424";
|
||||
std::string Global::asHumanCtrlVehicle = "EU07-424";
|
||||
int Global::iMultiplayer = 0; // blokada dzia³ania niektórych funkcji na rzecz komunikacji
|
||||
double Global::fMoveLight = -1; // ruchome œwiat³o
|
||||
double Global::fLatitudeDeg = 52.0; // szerokoϾ geograficzna
|
||||
float Global::fFriction = 1.0; // mno¿nik tarcia - KURS90
|
||||
double Global::fBrakeStep = 1.0; // krok zmiany hamulca dla klawiszy [Num3] i [Num9]
|
||||
AnsiString Global::asLang = "pl"; // domyœlny jêzyk - http://tools.ietf.org/html/bcp47
|
||||
std::string Global::asLang = "pl"; // domyœlny jêzyk - http://tools.ietf.org/html/bcp47
|
||||
|
||||
// parametry wydajnoœciowe (np. regulacja FPS, szybkoœæ wczytywania)
|
||||
bool Global::bAdjustScreenFreq = true;
|
||||
@@ -143,7 +145,7 @@ int Global::iSlowMotionMask = -1; // maska wy
|
||||
int Global::iModifyTGA = 7; // czy korygowaæ pliki TGA dla szybszego wczytywania
|
||||
// bool Global::bTerrainCompact=true; //czy zapisaæ teren w pliku
|
||||
TAnimModel *Global::pTerrainCompact = NULL; // do zapisania terenu w pliku
|
||||
AnsiString Global::asTerrainModel = ""; // nazwa obiektu terenu do zapisania w pliku
|
||||
std::string Global::asTerrainModel = ""; // nazwa obiektu terenu do zapisania w pliku
|
||||
double Global::fFpsAverage = 20.0; // oczekiwana wartosæ FPS
|
||||
double Global::fFpsDeviation = 5.0; // odchylenie standardowe FPS
|
||||
double Global::fFpsMin = 0.0; // dolna granica FPS, przy której promieñ scenerii bêdzie zmniejszany
|
||||
@@ -205,7 +207,7 @@ AnsiString Global::GetNextSymbol()
|
||||
return "";
|
||||
};
|
||||
|
||||
void Global::LoadIniFile(AnsiString asFileName)
|
||||
void Global::LoadIniFile(std::string asFileName)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 10; ++i)
|
||||
@@ -217,7 +219,7 @@ void Global::LoadIniFile(AnsiString asFileName)
|
||||
fs = new TFileStream(asFileName, fmOpenRead | fmShareCompat);
|
||||
if (!fs)
|
||||
return;
|
||||
AnsiString str = "";
|
||||
std::string str = "";
|
||||
int size = fs->Size;
|
||||
str.SetLength(size);
|
||||
fs->Read(str.c_str(), size);
|
||||
@@ -342,7 +344,7 @@ void Global::ConfigParse(TQueryParserComp *qp, cParser *cp)
|
||||
str = GetNextSymbol().LowerCase(); // rozszerzenie
|
||||
if (str == "tga")
|
||||
szDefaultExt = szTexturesTGA; // domyœlnie od TGA
|
||||
// szDefaultExt=std::string(Parser->GetNextSymbol().LowerCase().c_str());
|
||||
// szDefaultExt=AnsiString(Parser->GetNextSymbol().LowerCase().c_str());
|
||||
}
|
||||
else if (str == AnsiString("newaircouplers"))
|
||||
bnewAirCouplers = (GetNextSymbol().LowerCase() == AnsiString("yes"));
|
||||
@@ -573,7 +575,7 @@ void Global::ConfigParse(TQueryParserComp *qp, cParser *cp)
|
||||
}
|
||||
}
|
||||
|
||||
void Global::InitKeys(AnsiString asFileName)
|
||||
void Global::InitKeys(std::string asFileName)
|
||||
{
|
||||
// if (FileExists(asFileName))
|
||||
// {
|
||||
@@ -798,7 +800,7 @@ void TTranscripts::AddLine(char *txt, float show, float hide, bool it)
|
||||
aLines[j].fShow = show; // wyœwietlaæ od
|
||||
aLines[j].fHide = hide; // wyœwietlaæ do
|
||||
aLines[j].bItalic = it;
|
||||
aLines[j].asText = AnsiString(txt); // bez sensu, wystarczy³by wskaŸnik
|
||||
aLines[j].asText = std::string(txt); // bez sensu, wystarczy³by wskaŸnik
|
||||
if ((k = aLines[j].asText.Pos("|")) > 0)
|
||||
{ // jak jest podzia³ linijki na wiersze
|
||||
aLines[j].asText = aLines[j].asText.SubString(1, k - 1);
|
||||
@@ -890,9 +892,9 @@ char bezogonkowo[128] = "E?,?\"_++?%S<STZZ?`'\"\".--??s>stzz"
|
||||
"RAAAALCCCEEEEIIDDNNOOOOxRUUUUYTB"
|
||||
"raaaalccceeeeiiddnnoooo-ruuuuyt?";
|
||||
|
||||
AnsiString Global::Bezogonkow(AnsiString str, bool _)
|
||||
std::string Global::Bezogonkow(std::string str, bool _)
|
||||
{ // wyciêcie liter z ogonkami, bo OpenGL nie umie wyœwietliæ
|
||||
for (int i = 1; i <= str.Length(); ++i)
|
||||
for (int i = 1; i <= str.length(); ++i)
|
||||
if (str[i] & 0x80)
|
||||
str[i] = bezogonkowo[str[i] & 0x7F];
|
||||
else if (str[i] < ' ') // znaki steruj¹ce nie s¹ obs³ugiwane
|
||||
@@ -919,11 +921,81 @@ double Global::CutValueToRange(double min, double value, double max)
|
||||
return value;
|
||||
};
|
||||
|
||||
std::string Global::to_string(int _Val)
|
||||
std::string to_string(int _Val)
|
||||
{
|
||||
std::ostringstream o;
|
||||
o << _Val;
|
||||
return o.str();
|
||||
};
|
||||
|
||||
std::string to_string(unsigned int _Val)
|
||||
{
|
||||
std::ostringstream o;
|
||||
o << _Val;
|
||||
return o.str();
|
||||
};
|
||||
|
||||
std::string to_string(double _Val)
|
||||
{
|
||||
std::ostringstream o;
|
||||
o << _Val;
|
||||
return o.str();
|
||||
};
|
||||
|
||||
std::string to_string(int _Val, int precision)
|
||||
{
|
||||
std::ostringstream o;
|
||||
o << std::fixed << std::setprecision(precision);
|
||||
o << _Val;
|
||||
return o.str();
|
||||
};
|
||||
|
||||
std::string to_string(double _Val, int precision)
|
||||
{
|
||||
std::ostringstream o;
|
||||
o << std::fixed << std::setprecision(precision);
|
||||
o << _Val;
|
||||
return o.str();
|
||||
};
|
||||
|
||||
std::string to_string(int _Val, int precision, int width)
|
||||
{
|
||||
std::ostringstream o;
|
||||
o.width(width);
|
||||
o << std::fixed << std::setprecision(precision);
|
||||
o << _Val;
|
||||
return o.str();
|
||||
};
|
||||
|
||||
std::string to_string(double _Val, int precision, int width)
|
||||
{
|
||||
std::ostringstream o;
|
||||
o.width(width);
|
||||
o << std::fixed << std::setprecision(precision);
|
||||
o << _Val;
|
||||
return o.str();
|
||||
};
|
||||
|
||||
std::string to_hex_str(double _Val, int precision = 0, int width = 0)
|
||||
{
|
||||
std::ostringstream o;
|
||||
if (width)
|
||||
o.width(width);
|
||||
o << std::fixed << std::hex;
|
||||
if (precision)
|
||||
o << std::setprecision(precision);
|
||||
o << _Val;
|
||||
return o.str();
|
||||
};
|
||||
|
||||
std::string ToLower(std::string text)
|
||||
{
|
||||
std::transform(text.begin(), text.end(), text.begin(), ::tolower);
|
||||
}
|
||||
|
||||
std::string ToUpper(std::string text)
|
||||
{
|
||||
std::transform(text.begin(), text.end(), text.begin(), ::toupper);
|
||||
}
|
||||
|
||||
#pragma package(smart_init)
|
||||
|
||||
43
Globals.h
43
Globals.h
@@ -134,7 +134,7 @@ class TTranscript
|
||||
public:
|
||||
float fShow; // czas pokazania
|
||||
float fHide; // czas ukrycia/usuniêcia
|
||||
AnsiString asText; // tekst gotowy do wyœwietlenia (usuniête znaczniki czasu)
|
||||
std::string asText; // tekst gotowy do wyœwietlenia (usuniête znaczniki czasu)
|
||||
bool bItalic; // czy kursywa (dŸwiêk nieistotny dla prowadz¹cego)
|
||||
int iNext; // nastêpna u¿ywana linijka, ¿eby nie przestawiaæ fizycznie tabeli
|
||||
};
|
||||
@@ -200,13 +200,13 @@ class Global
|
||||
static char CreatorName3[20];
|
||||
static char CreatorName4[30];
|
||||
static char CreatorName5[30];
|
||||
static AnsiString asCurrentSceneryPath;
|
||||
static AnsiString asCurrentTexturePath;
|
||||
static AnsiString asCurrentDynamicPath;
|
||||
static std::string asCurrentSceneryPath;
|
||||
static std::string asCurrentTexturePath;
|
||||
static std::string asCurrentDynamicPath;
|
||||
// McZapkie-170602: zewnetrzna definicja pojazdu uzytkownika
|
||||
static AnsiString asHumanCtrlVehicle;
|
||||
static void LoadIniFile(AnsiString asFileName);
|
||||
static void InitKeys(AnsiString asFileName);
|
||||
static std::string asHumanCtrlVehicle;
|
||||
static void LoadIniFile(std::string asFileName);
|
||||
static void InitKeys(std::string asFileName);
|
||||
inline static vector3 GetCameraPosition()
|
||||
{
|
||||
return pCameraPosition;
|
||||
@@ -233,7 +233,7 @@ class Global
|
||||
static TDynamicObject *changeDynObj;
|
||||
static double ABuDebug;
|
||||
static bool detonatoryOK;
|
||||
static AnsiString asSky;
|
||||
static std::string asSky;
|
||||
static bool bnewAirCouplers;
|
||||
// Ra: nowe zmienne globalne
|
||||
static int iDefaultFiltering; // domyœlne rozmywanie tekstur TGA
|
||||
@@ -250,8 +250,8 @@ class Global
|
||||
static int iMultiplayer; // blokada dzia³ania niektórych eventów na rzecz kominikacji
|
||||
static HWND hWnd; // uchwyt okna
|
||||
static int iCameraLast;
|
||||
static AnsiString asRelease; // numer
|
||||
static AnsiString asVersion; // z opisem
|
||||
static std::string asRelease; // numer
|
||||
static std::string asVersion; // z opisem
|
||||
static int
|
||||
iViewMode; // co aktualnie widaæ: 0-kabina, 1-latanie, 2-sprzêgi, 3-dokumenty, 4-obwody
|
||||
static GLint iMaxTextureSize; // maksymalny rozmiar tekstury
|
||||
@@ -284,7 +284,7 @@ class Global
|
||||
|
||||
static TWorld *pWorld; // wskaŸnik na œwiat do usuwania pojazdów
|
||||
static TAnimModel *pTerrainCompact; // obiekt terenu do ewentualnego zapisania w pliku
|
||||
static AnsiString asTerrainModel; // nazwa obiektu terenu do zapisania w pliku
|
||||
static std::string asTerrainModel; // nazwa obiektu terenu do zapisania w pliku
|
||||
static bool bRollFix; // czy wykonaæ przeliczanie przechy³ki
|
||||
static Queryparsercomp::TQueryParserComp *qParser;
|
||||
static cParser *pParser;
|
||||
@@ -306,9 +306,9 @@ class Global
|
||||
static double fBrakeStep; // krok zmiany hamulca dla klawiszy [Num3] i [Num9]
|
||||
static bool bJoinEvents; // czy grupowaæ eventy o tych samych nazwach
|
||||
static bool bSmudge; // czy wyœwietlaæ smugê, a pojazd u¿ytkownika na koñcu
|
||||
static AnsiString asTranscript[5]; // napisy na ekranie (widoczne)
|
||||
static std::string asTranscript[5]; // napisy na ekranie (widoczne)
|
||||
static TTranscripts tranTexts; // obiekt obs³uguj¹cy stenogramy dŸwiêków na ekranie
|
||||
static AnsiString asLang; // domyœlny jêzyk - http://tools.ietf.org/html/bcp47
|
||||
static std::string asLang; // domyœlny jêzyk - http://tools.ietf.org/html/bcp47
|
||||
static int iHiddenEvents; // czy ³¹czyæ eventy z torami poprzez nazwê toru
|
||||
static TTextSound *tsRadioBusy[10]; // zajêtoœæ kana³ów radiowych (wskaŸnik na odgrywany dŸwiêk)
|
||||
static int iPoKeysPWM[7]; // numery wejϾ dla PWM
|
||||
@@ -321,12 +321,23 @@ class Global
|
||||
static TDynamicObject * CouplerNearest();
|
||||
static bool AddToQuery(TEvent *event, TDynamicObject *who);
|
||||
static bool DoEvents();
|
||||
static AnsiString Bezogonkow(AnsiString str, bool _ = false);
|
||||
static std::string Bezogonkow(std::string str, bool _ = false);
|
||||
static double Min0RSpeed(double vel1, double vel2);
|
||||
static double CutValueToRange(double min, double value, double max);
|
||||
static std::string to_string(int _Val);
|
||||
|
||||
};
|
||||
|
||||
std::string to_string(int _Val);
|
||||
std::string to_string(unsigned int _Val);
|
||||
std::string to_string(int _Val, int precision);
|
||||
std::string to_string(int _Val, int precision, int width);
|
||||
std::string to_string(double _Val);
|
||||
std::string to_string(double _Val, int precision);
|
||||
std::string to_string(double _Val, int precision, int width);
|
||||
std::string to_hex_str(int _Val, int precision, int width);
|
||||
|
||||
|
||||
std::string ToLower(std::string text);
|
||||
std::string ToUpper(std::string text);
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
#endif
|
||||
|
||||
53
Ground.cpp
53
Ground.cpp
@@ -1360,7 +1360,7 @@ void TGround::Free()
|
||||
delete sTracks;
|
||||
}
|
||||
|
||||
TGroundNode * TGround::DynamicFindAny(AnsiString asNameToFind)
|
||||
TGroundNode * TGround::DynamicFindAny(std::string asNameToFind)
|
||||
{ // wyszukanie pojazdu o podanej nazwie, szukanie po wszystkich (u¿yæ drzewa!)
|
||||
for (TGroundNode *Current = nRootDynamic; Current; Current = Current->nNext)
|
||||
if ((Current->asName == asNameToFind))
|
||||
@@ -1368,7 +1368,7 @@ TGroundNode * TGround::DynamicFindAny(AnsiString asNameToFind)
|
||||
return NULL;
|
||||
};
|
||||
|
||||
TGroundNode * TGround::DynamicFind(AnsiString asNameToFind)
|
||||
TGroundNode * TGround::DynamicFind(std::string asNameToFind)
|
||||
{ // wyszukanie pojazdu z obsad¹ o podanej nazwie (u¿yæ drzewa!)
|
||||
for (TGroundNode *Current = nRootDynamic; Current; Current = Current->nNext)
|
||||
if (Current->DynamicObject->Mechanik)
|
||||
@@ -1386,7 +1386,7 @@ void TGround::DynamicList(bool all)
|
||||
WyslijString("none", 6); // informacja o koñcu listy
|
||||
};
|
||||
|
||||
TGroundNode * TGround::FindGroundNode(AnsiString asNameToFind, TGroundNodeType iNodeType)
|
||||
TGroundNode * TGround::FindGroundNode(std::string asNameToFind, TGroundNodeType iNodeType)
|
||||
{ // wyszukiwanie obiektu o podanej nazwie i konkretnym typie
|
||||
if ((iNodeType == TP_TRACK) || (iNodeType == TP_MEMCELL) || (iNodeType == TP_MODEL))
|
||||
{ // wyszukiwanie w drzewie binarnym
|
||||
@@ -2362,10 +2362,10 @@ void TGround::FirstInit()
|
||||
WriteLog("FirstInit is done");
|
||||
};
|
||||
|
||||
bool TGround::Init(AnsiString asFile, HDC hDC)
|
||||
bool TGround::Init(std::string asFile, HDC hDC)
|
||||
{ // g³ówne wczytywanie scenerii
|
||||
if (asFile.LowerCase().SubString(1, 7) == "scenery")
|
||||
asFile.Delete(1, 8); // Ra: usuniêcie niepotrzebnych znaków - zgodnoœæ wstecz z 2003
|
||||
if (AnsiString(asFile.c_str()).LowerCase().SubString(1, 7) == "scenery")
|
||||
AnsiString(asFile.c_str()).Delete(1, 8); // Ra: usuniêcie niepotrzebnych znaków - zgodnoœæ wstecz z 2003
|
||||
WriteLog("Loading scenery from " + asFile);
|
||||
Global::pGround = this;
|
||||
// pTrain=NULL;
|
||||
@@ -2373,8 +2373,8 @@ bool TGround::Init(AnsiString asFile, HDC hDC)
|
||||
AnsiString str = "";
|
||||
// TFileStream *fs;
|
||||
// int size;
|
||||
std::string subpath = Global::asCurrentSceneryPath.c_str(); // "scenery/";
|
||||
cParser parser(asFile.c_str(), cParser::buffer_FILE, subpath, Global::bLoadTraction);
|
||||
std::string subpath = Global::asCurrentSceneryPath; // "scenery/";
|
||||
cParser parser(asFile, cParser::buffer_FILE, subpath, Global::bLoadTraction);
|
||||
std::string token;
|
||||
|
||||
/*
|
||||
@@ -2800,8 +2800,7 @@ bool TGround::Init(AnsiString asFile, HDC hDC)
|
||||
WriteLog("Scenery sky definition");
|
||||
parser.getTokens();
|
||||
parser >> token;
|
||||
AnsiString SkyTemp;
|
||||
SkyTemp = AnsiString(token.c_str());
|
||||
string SkyTemp = token;
|
||||
if (Global::asSky == "1")
|
||||
Global::asSky = SkyTemp;
|
||||
do
|
||||
@@ -4777,12 +4776,12 @@ void TGround::Navigate(String ClassName, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||||
SendMessage(h, Msg, wParam, lParam);
|
||||
};
|
||||
//--------------------------------
|
||||
void TGround::WyslijEvent(const AnsiString &e, const AnsiString &d)
|
||||
void TGround::WyslijEvent(const std::string &e, const std::string &d)
|
||||
{ // Ra: jeszcze do wyczyszczenia
|
||||
DaneRozkaz r;
|
||||
r.iSygn = 'EU07';
|
||||
r.iComm = 2; // 2 - event
|
||||
int i = e.Length(), j = d.Length();
|
||||
int i = e.length(), j = d.length();
|
||||
r.cString[0] = char(i);
|
||||
strcpy(r.cString + 1, e.c_str()); // zakoñczony zerem
|
||||
r.cString[i + 2] = char(j); // licznik po zerze koñcz¹cym
|
||||
@@ -4792,15 +4791,15 @@ void TGround::WyslijEvent(const AnsiString &e, const AnsiString &d)
|
||||
cData.cbData = 12 + i + j; // 8+dwa liczniki i dwa zera koñcz¹ce
|
||||
cData.lpData = &r;
|
||||
Navigate("TEU07SRK", WM_COPYDATA, (WPARAM)Global::hWnd, (LPARAM)&cData);
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(r.iComm) + " " + e + " sent");
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(r.iComm) + " " + e + " sent");
|
||||
};
|
||||
//---------------------------------------------------------------------------
|
||||
void TGround::WyslijUszkodzenia(const AnsiString &t, char fl)
|
||||
void TGround::WyslijUszkodzenia(const std::string &t, char fl)
|
||||
{ // wys³anie informacji w postaci pojedynczego tekstu
|
||||
DaneRozkaz r;
|
||||
r.iSygn = 'EU07';
|
||||
r.iComm = 13; // numer komunikatu
|
||||
int i = t.Length();
|
||||
int i = t.length();
|
||||
r.cString[0] = char(fl);
|
||||
r.cString[1] = char(i);
|
||||
strcpy(r.cString + 2, t.c_str()); // z zerem koñcz¹cym
|
||||
@@ -4809,15 +4808,15 @@ void TGround::WyslijUszkodzenia(const AnsiString &t, char fl)
|
||||
cData.cbData = 11 + i; // 8+licznik i zero koñcz¹ce
|
||||
cData.lpData = &r;
|
||||
Navigate("TEU07SRK", WM_COPYDATA, (WPARAM)Global::hWnd, (LPARAM)&cData);
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(r.iComm) + " " + t + " sent");
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(r.iComm) + " " + t + " sent");
|
||||
};
|
||||
//---------------------------------------------------------------------------
|
||||
void TGround::WyslijString(const AnsiString &t, int n)
|
||||
void TGround::WyslijString(const std::string &t, int n)
|
||||
{ // wys³anie informacji w postaci pojedynczego tekstu
|
||||
DaneRozkaz r;
|
||||
r.iSygn = 'EU07';
|
||||
r.iComm = n; // numer komunikatu
|
||||
int i = t.Length();
|
||||
int i = t.length();
|
||||
r.cString[0] = char(i);
|
||||
strcpy(r.cString + 1, t.c_str()); // z zerem koñcz¹cym
|
||||
COPYDATASTRUCT cData;
|
||||
@@ -4825,10 +4824,10 @@ void TGround::WyslijString(const AnsiString &t, int n)
|
||||
cData.cbData = 10 + i; // 8+licznik i zero koñcz¹ce
|
||||
cData.lpData = &r;
|
||||
Navigate("TEU07SRK", WM_COPYDATA, (WPARAM)Global::hWnd, (LPARAM)&cData);
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(r.iComm) + " " + t + " sent");
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(r.iComm) + " " + t + " sent");
|
||||
};
|
||||
//---------------------------------------------------------------------------
|
||||
void TGround::WyslijWolny(const AnsiString &t)
|
||||
void TGround::WyslijWolny(const std::string &t)
|
||||
{ // Ra: jeszcze do wyczyszczenia
|
||||
WyslijString(t, 4); // tor wolny
|
||||
};
|
||||
@@ -4839,7 +4838,7 @@ void TGround::WyslijNamiary(TGroundNode *t)
|
||||
DaneRozkaz r;
|
||||
r.iSygn = 'EU07';
|
||||
r.iComm = 7; // 7 - dane pojazdu
|
||||
int i = 32, j = t->asName.Length();
|
||||
int i = 32, j = t->asName.length();
|
||||
r.iPar[0] = i; // iloϾ danych liczbowych
|
||||
r.fPar[1] = Global::fTimeAngleDeg / 360.0; // aktualny czas (1.0=doba)
|
||||
r.fPar[2] = t->DynamicObject->MoverParameters->Loc.X; // pozycja X
|
||||
@@ -4905,7 +4904,7 @@ void TGround::WyslijNamiary(TGroundNode *t)
|
||||
// WriteLog("Ramka gotowa");
|
||||
Navigate("TEU07SRK", WM_COPYDATA, (WPARAM)Global::hWnd, (LPARAM)&cData);
|
||||
// WriteLog("Ramka poszla!");
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(r.iComm) + " " + t->asName + " sent");
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(r.iComm) + " " + t->asName + " sent");
|
||||
};
|
||||
//
|
||||
void TGround::WyslijObsadzone()
|
||||
@@ -4931,13 +4930,13 @@ void TGround::WyslijObsadzone()
|
||||
}
|
||||
while (i <= 30)
|
||||
{
|
||||
strcpy(r.cString + 64 * i, AnsiString("none").c_str());
|
||||
strcpy(r.cString + 64 * i, string("none").c_str());
|
||||
r.fPar[16 * i + 4] = 1;
|
||||
r.fPar[16 * i + 5] = 2;
|
||||
r.fPar[16 * i + 6] = 3;
|
||||
r.iPar[16 * i + 7] = 0;
|
||||
strcpy(r.cString + 64 * i + 32, AnsiString("none").c_str());
|
||||
strcpy(r.cString + 64 * i + 48, AnsiString("none").c_str());
|
||||
strcpy(r.cString + 64 * i + 32, string("none").c_str());
|
||||
strcpy(r.cString + 64 * i + 48, string("none").c_str());
|
||||
i++;
|
||||
}
|
||||
|
||||
@@ -4947,7 +4946,7 @@ void TGround::WyslijObsadzone()
|
||||
cData.lpData = &r;
|
||||
// WriteLog("Ramka gotowa");
|
||||
Navigate("TEU07SRK", WM_COPYDATA, (WPARAM)Global::hWnd, (LPARAM)&cData);
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(r.iComm) + " obsadzone" + " sent");
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(r.iComm) + " obsadzone" + " sent");
|
||||
}
|
||||
|
||||
//--------------------------------
|
||||
@@ -5207,7 +5206,7 @@ void TGround::IsolatedBusyList()
|
||||
};
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void TGround::IsolatedBusy(const AnsiString t)
|
||||
void TGround::IsolatedBusy(const std::string t)
|
||||
{ // wys³anie informacji o odcinku izolowanym (t)
|
||||
// Ra 2014-06: do wyszukania u¿yæ drzewka nazw
|
||||
TIsolated *Current;
|
||||
|
||||
22
Ground.h
22
Ground.h
@@ -115,7 +115,7 @@ class TGroundNode : public Resource
|
||||
TTextSound *tsStaticSound; // dźwięk przestrzenny
|
||||
TGroundNode *nNode; // obiekt renderujący grupowo ma tu wskaźnik na listę obiektów
|
||||
};
|
||||
AnsiString asName; // nazwa (nie zawsze ma znaczenie)
|
||||
std::string asName; // nazwa (nie zawsze ma znaczenie)
|
||||
union
|
||||
{
|
||||
int iNumVerts; // dla trójkątów
|
||||
@@ -156,7 +156,7 @@ class TGroundNode : public Resource
|
||||
void MoveMe(vector3 pPosition); // przesuwanie (nie działa)
|
||||
|
||||
// bool Disable();
|
||||
inline TGroundNode * Find(const AnsiString &asNameToFind, TGroundNodeType iNodeType)
|
||||
inline TGroundNode * Find(const std::string &asNameToFind, TGroundNodeType iNodeType)
|
||||
{ // wyszukiwanie czołgowe z typem
|
||||
if ((iNodeType == iType) && (asNameToFind == asName))
|
||||
return this;
|
||||
@@ -302,7 +302,7 @@ class TGround
|
||||
TGround();
|
||||
~TGround();
|
||||
void Free();
|
||||
bool Init(AnsiString asFile, HDC hDC);
|
||||
bool Init(std::string asFile, HDC hDC);
|
||||
void FirstInit();
|
||||
void InitTracks();
|
||||
void InitTraction();
|
||||
@@ -326,7 +326,7 @@ class TGround
|
||||
};
|
||||
// bool Include(TQueryParserComp *Parser);
|
||||
// TGroundNode* GetVisible(AnsiString asName);
|
||||
TGroundNode * GetNode(AnsiString asName);
|
||||
TGroundNode * GetNode(std::string asName);
|
||||
bool AddDynamic(TGroundNode *Node);
|
||||
void MoveGroundNode(vector3 pPosition);
|
||||
void UpdatePhys(double dt, int iter); // aktualizacja fizyki stałym krokiem
|
||||
@@ -355,10 +355,10 @@ class TGround
|
||||
return NULL;
|
||||
}
|
||||
*/
|
||||
TGroundNode * DynamicFindAny(AnsiString asNameToFind);
|
||||
TGroundNode * DynamicFind(AnsiString asNameToFind);
|
||||
TGroundNode * DynamicFindAny(std::string asNameToFind);
|
||||
TGroundNode * DynamicFind(std::string asNameToFind);
|
||||
void DynamicList(bool all = false);
|
||||
TGroundNode * FindGroundNode(AnsiString asNameToFind, TGroundNodeType iNodeType);
|
||||
TGroundNode * FindGroundNode(std::string asNameToFind, TGroundNodeType iNodeType);
|
||||
TGroundRect * GetRect(double x, double z)
|
||||
{
|
||||
return &Rects[GetColFromX(x) / iNumSubRects][GetRowFromZ(z) / iNumSubRects];
|
||||
@@ -394,11 +394,11 @@ class TGround
|
||||
public:
|
||||
void WyslijEvent(const AnsiString &e, const AnsiString &d);
|
||||
int iRendered; // ilość renderowanych sektorów, pobierana przy pokazywniu FPS
|
||||
void WyslijString(const AnsiString &t, int n);
|
||||
void WyslijWolny(const AnsiString &t);
|
||||
void WyslijString(const std::string &t, int n);
|
||||
void WyslijWolny(const std::string &t);
|
||||
void WyslijNamiary(TGroundNode *t);
|
||||
void WyslijParam(int nr, int fl);
|
||||
void WyslijUszkodzenia(const AnsiString &t, char fl);
|
||||
void WyslijUszkodzenia(const std::string &t, char fl);
|
||||
void WyslijPojazdy(int nr); // -> skladanie wielu pojazdow
|
||||
void WyslijObsadzone(); // -> skladanie wielu pojazdow
|
||||
void RadioStop(vector3 pPosition);
|
||||
@@ -411,7 +411,7 @@ class TGround
|
||||
void TerrainWrite();
|
||||
void TrackBusyList();
|
||||
void IsolatedBusyList();
|
||||
void IsolatedBusy(const AnsiString t);
|
||||
void IsolatedBusy(const std::string t);
|
||||
void Silence(vector3 gdzie);
|
||||
};
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
5
Logs.cpp
5
Logs.cpp
@@ -127,6 +127,11 @@ void CommLog(const char *str)
|
||||
}*/
|
||||
};
|
||||
|
||||
void CommLog(const std::string &str)
|
||||
{ // Ra: wersja z AnsiString jest zamienna z Error()
|
||||
WriteLog(str);
|
||||
};
|
||||
|
||||
void CommLog(const AnsiString &str)
|
||||
{ // Ra: wersja z AnsiString jest zamienna z Error()
|
||||
CommLog(str.c_str());
|
||||
|
||||
1
Logs.h
1
Logs.h
@@ -21,6 +21,7 @@ void ErrorLog(const AnsiString &asMessage);
|
||||
void WriteLog(const AnsiString &str, bool newline = true);
|
||||
void WriteLog(const std::string &str, bool newline = true);
|
||||
void CommLog(const char *str);
|
||||
void CommLog(const std::string);
|
||||
void CommLog(const AnsiString &str);
|
||||
//---------------------------------------------------------------------------
|
||||
#endif
|
||||
|
||||
1059
McZapkie/MOVER.h
1059
McZapkie/MOVER.h
File diff suppressed because it is too large
Load Diff
@@ -69,6 +69,20 @@ inline int Random()
|
||||
return rand();
|
||||
}
|
||||
|
||||
inline double BorlandTime()
|
||||
{
|
||||
std::tm epoch;
|
||||
epoch.tm_sec = 0;
|
||||
epoch.tm_min = 0;
|
||||
epoch.tm_hour = 0;
|
||||
epoch.tm_mday = 1;
|
||||
epoch.tm_mon = 0;
|
||||
epoch.tm_year = 0;
|
||||
time_t basetime = mktime(&epoch);
|
||||
time_t raw_t = time(NULL);
|
||||
return (difftime(raw_t, basetime) / 24) + 2;
|
||||
}
|
||||
|
||||
/*funkcje logiczne*/
|
||||
bool TestFlag(int Flag, int Value);
|
||||
bool SetFlag( int & Flag, int Value);
|
||||
|
||||
2
Track.h
2
Track.h
@@ -101,7 +101,7 @@ class TIsolated
|
||||
TIsolated *pNext; // odcinki izolowane są trzymane w postaci listy jednikierunkowej
|
||||
static TIsolated *pRoot; // początek listy
|
||||
public:
|
||||
AnsiString asName; // nazwa obiektu, baza do nazw eventów
|
||||
std::string asName; // nazwa obiektu, baza do nazw eventów
|
||||
TEvent *evBusy; // zdarzenie wyzwalane po zajęciu grupy
|
||||
TEvent *evFree; // zdarzenie wyzwalane po całkowitym zwolnieniu zajętości grupy
|
||||
TMemCell *pMemCell; // automatyczna komórka pamięci, która współpracuje z odcinkiem izolowanym
|
||||
|
||||
@@ -5007,7 +5007,7 @@ bool TTrain::CabChange(int iDirection)
|
||||
|
||||
// McZapkie-310302
|
||||
// wczytywanie pliku z danymi multimedialnymi (dzwieki, kontrolki, kabiny)
|
||||
bool TTrain::LoadMMediaFile(AnsiString asFileName)
|
||||
bool TTrain::LoadMMediaFile(std::string asFileName)
|
||||
{
|
||||
double dSDist;
|
||||
TFileStream *fs;
|
||||
@@ -5296,7 +5296,7 @@ bool TTrain::LoadMMediaFile(AnsiString asFileName)
|
||||
}
|
||||
}
|
||||
|
||||
bool TTrain::InitializeCab(int NewCabNo, AnsiString asFileName)
|
||||
bool TTrain::InitializeCab(int NewCabNo, std::string asFileName)
|
||||
{
|
||||
pyScreens.reset(this);
|
||||
pyScreens.setLookupPath(DynamicObject->asBaseDir);
|
||||
|
||||
5
Train.h
5
Train.h
@@ -24,6 +24,7 @@ http://mozilla.org/MPL/2.0/.
|
||||
#include "RealSound.h"
|
||||
#include "FadeSound.h"
|
||||
#include "PyInt.h"
|
||||
#include <string>
|
||||
|
||||
// typedef enum {st_Off, st_Starting, st_On, st_ShuttingDown} T4State;
|
||||
|
||||
@@ -73,7 +74,7 @@ class TTrain
|
||||
bool CabChange(int iDirection);
|
||||
bool ActiveUniversal4;
|
||||
bool ShowNextCurrent; // pokaz przd w podlaczonej lokomotywie (ET41)
|
||||
bool InitializeCab(int NewCabNo, AnsiString asFileName);
|
||||
bool InitializeCab(int NewCabNo, std::string asFileName);
|
||||
TTrain();
|
||||
~TTrain();
|
||||
// bool Init(TTrack *Track);
|
||||
@@ -98,7 +99,7 @@ class TTrain
|
||||
void SetLights();
|
||||
// virtual bool RenderAlpha();
|
||||
// McZapkie-310302: ladowanie parametrow z pliku
|
||||
bool LoadMMediaFile(AnsiString asFileName);
|
||||
bool LoadMMediaFile(std::string asFileName);
|
||||
PyObject *GetTrainState();
|
||||
|
||||
private: //瞠by go nic z zewn靖rz nie przestawia這
|
||||
|
||||
394
World.cpp
394
World.cpp
@@ -31,6 +31,7 @@ http://mozilla.org/MPL/2.0/.
|
||||
#include "Train.h"
|
||||
#include "Driver.h"
|
||||
#include "Console.h"
|
||||
#include <cmath>
|
||||
|
||||
#define TEXTURE_FILTER_CONTROL_EXT 0x8500
|
||||
#define TEXTURE_LOD_BIAS_EXT 0x8501
|
||||
@@ -1714,7 +1715,7 @@ bool TWorld::Update()
|
||||
if (DebugModeFlag && !Global::iTextMode)
|
||||
{
|
||||
OutText1 = " FPS: ";
|
||||
OutText1 += FloatToStrF(GetFPS(), ffFixed, 6, 2);
|
||||
OutText1 += to_string(GetFPS(), 2);
|
||||
OutText1 += Global::iSlowMotion ? "s" : "n";
|
||||
|
||||
OutText1 += (GetDeltaTime() >= 0.2) ? "!" : " ";
|
||||
@@ -1732,11 +1733,12 @@ bool TWorld::Update()
|
||||
{
|
||||
Global::iViewMode = VK_F8;
|
||||
OutText1 = " FPS: ";
|
||||
OutText1 += FloatToStrF(GetFPS(), ffFixed, 6, 2);
|
||||
OutText1 += to_string(GetFPS(), 2);
|
||||
//OutText1 += sprintf();
|
||||
if (Global::iSlowMotion)
|
||||
OutText1 += " (slowmotion " + AnsiString(Global::iSlowMotion) + ")";
|
||||
OutText1 += " (slowmotion " + to_string(Global::iSlowMotion) + ")";
|
||||
OutText1 += ", sectors: ";
|
||||
OutText1 += AnsiString(Ground.iRendered);
|
||||
OutText1 += to_string(Ground.iRendered);
|
||||
}
|
||||
|
||||
// if (Console::Pressed(VK_F7))
|
||||
@@ -1864,7 +1866,7 @@ bool TWorld::Update()
|
||||
|
||||
glDisable(GL_LIGHTING);
|
||||
if (Controlled)
|
||||
SetWindowText(hWnd, AnsiString(Controlled->MoverParameters->Name).c_str());
|
||||
SetWindowText(hWnd, Controlled->MoverParameters->Name.c_str());
|
||||
else
|
||||
SetWindowText(hWnd, Global::szSceneryFile); // nazwa scenerii
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
@@ -1876,26 +1878,26 @@ bool TWorld::Update()
|
||||
{ // tekst pokazywany po wciœniêciu [F1]
|
||||
// Global::iViewMode=VK_F1;
|
||||
glColor3f(1.0f, 1.0f, 1.0f); // a, damy bia³ym
|
||||
OutText1 = "Time: " + AnsiString((int)GlobalTime->hh) + ":";
|
||||
OutText1 = "Time: " + to_string((int)GlobalTime->hh) + ":";
|
||||
int i = GlobalTime->mm; // bo inaczej potrafi zrobiæ "hh:010"
|
||||
if (i < 10)
|
||||
OutText1 += "0";
|
||||
OutText1 += AnsiString(i); // minuty
|
||||
OutText1 += to_string(i); // minuty
|
||||
OutText1 += ":";
|
||||
i = floor(GlobalTime->mr); // bo inaczej potrafi zrobiæ "hh:mm:010"
|
||||
if (i < 10)
|
||||
OutText1 += "0";
|
||||
OutText1 += AnsiString(i);
|
||||
OutText1 += to_string(i);
|
||||
if (Global::iPause)
|
||||
OutText1 += " - paused";
|
||||
if (Controlled)
|
||||
if (Controlled->Mechanik)
|
||||
{
|
||||
OutText2 = Controlled->Mechanik->Relation().c_str();
|
||||
if (!OutText2.IsEmpty()) // jeœli jest podana relacja, to dodajemy punkt nastêpnego
|
||||
OutText2 = Controlled->Mechanik->Relation();
|
||||
if (!OutText2.empty()) // jeœli jest podana relacja, to dodajemy punkt nastêpnego
|
||||
// zatrzymania
|
||||
OutText2 =
|
||||
Global::Bezogonkow(OutText2 + ": -> " + Controlled->Mechanik->NextStop().c_str(),
|
||||
Global::Bezogonkow(OutText2 + ": -> " + Controlled->Mechanik->NextStop(),
|
||||
true); // dopisanie punktu zatrzymania
|
||||
}
|
||||
// double CtrlPos=mvControlled->MainCtrlPos;
|
||||
@@ -1906,9 +1908,9 @@ bool TWorld::Update()
|
||||
}
|
||||
else if (Global::iTextMode == VK_F12)
|
||||
{ // opcje w³¹czenia i wy³¹czenia logowania
|
||||
OutText1 = "[0] Debugmode " + AnsiString(DebugModeFlag ? "(on)" : "(off)");
|
||||
OutText2 = "[1] log.txt " + AnsiString((Global::iWriteLogEnabled & 1) ? "(on)" : "(off)");
|
||||
OutText3 = "[2] Console " + AnsiString((Global::iWriteLogEnabled & 2) ? "(on)" : "(off)");
|
||||
OutText1 = "[0] Debugmode " + string(DebugModeFlag ? "(on)" : "(off)");
|
||||
OutText2 = "[1] log.txt " + string((Global::iWriteLogEnabled & 1) ? "(on)" : "(off)");
|
||||
OutText3 = "[2] Console " + string((Global::iWriteLogEnabled & 2) ? "(on)" : "(off)");
|
||||
}
|
||||
else if (Global::iTextMode == VK_F2)
|
||||
{ // ABu: info dla najblizszego pojazdu!
|
||||
@@ -1919,7 +1921,7 @@ bool TWorld::Update()
|
||||
if (Global::iScreenMode[Global::iTextMode - VK_F1] == 0)
|
||||
{ // jeœli domyœlny ekran po pierwszym naciœniêciu
|
||||
OutText3 = "";
|
||||
OutText1 = "Vehicle name: " + AnsiString(tmp->MoverParameters->Name);
|
||||
OutText1 = "Vehicle name: " + tmp->MoverParameters->Name;
|
||||
// yB OutText1+="; d: "+FloatToStrF(tmp->ABuGetDirection(),ffFixed,2,0);
|
||||
// OutText1=FloatToStrF(tmp->MoverParameters->Couplers[0].CouplingFlag,ffFixed,3,2)+",
|
||||
// ";
|
||||
@@ -1929,9 +1931,9 @@ bool TWorld::Update()
|
||||
OutText1 += ", command: " + tmp->Mechanik->OrderCurrent();
|
||||
}
|
||||
else if (tmp->ctOwner)
|
||||
OutText1 += ", owned by " + AnsiString(tmp->ctOwner->OwnerName());
|
||||
if (!tmp->MoverParameters->CommandLast.IsEmpty())
|
||||
OutText1 += AnsiString(", put: ") + tmp->MoverParameters->CommandLast;
|
||||
OutText1 += ", owned by " + tmp->ctOwner->OwnerName();
|
||||
if (!tmp->MoverParameters->CommandLast.empty())
|
||||
OutText1 += ", put: " + tmp->MoverParameters->CommandLast;
|
||||
// OutText1+="; Cab="+AnsiString(tmp->MoverParameters->CabNo);
|
||||
OutText2 = "Damage status: " +
|
||||
tmp->MoverParameters->EngineDescription(0); //+" Engine status: ";
|
||||
@@ -1944,13 +1946,13 @@ bool TWorld::Update()
|
||||
OutText2 += "R";
|
||||
if ((tmp->MoverParameters->BrakeDelayFlag & bdelay_M) == bdelay_M)
|
||||
OutText2 += "+Mg";
|
||||
OutText2 += AnsiString(", BTP:") +
|
||||
FloatToStrF(tmp->MoverParameters->LoadFlag, ffFixed, 5, 0);
|
||||
OutText2 += ", BTP:" +
|
||||
to_string(tmp->MoverParameters->LoadFlag, 0);
|
||||
// if ((tmp->MoverParameters->EnginePowerSource.SourceType==CurrentCollector) ||
|
||||
// (tmp->MoverParameters->TrainType==dt_EZT))
|
||||
{
|
||||
OutText2 += AnsiString("; pant. ") +
|
||||
FloatToStrF(tmp->MoverParameters->PantPress, ffFixed, 8, 2);
|
||||
OutText2 += "; pant. " +
|
||||
to_string(tmp->MoverParameters->PantPress, 2);
|
||||
OutText2 += (tmp->MoverParameters->bPantKurek3 ? "<ZG" : "|ZG");
|
||||
}
|
||||
|
||||
@@ -1958,22 +1960,22 @@ bool TWorld::Update()
|
||||
// u:")+FloatToStrF(tmp->MoverParameters->u,ffFixed,3,3);
|
||||
// OutText2+=AnsiString(",
|
||||
// N:")+FloatToStrF(tmp->MoverParameters->Ntotal,ffFixed,4,0);
|
||||
OutText2 += AnsiString(", MED:") +
|
||||
FloatToStrF(tmp->MoverParameters->LocalBrakePosA, ffFixed, 6, 2);
|
||||
OutText2 += AnsiString("+") +
|
||||
FloatToStrF(tmp->MoverParameters->AnPos, ffFixed, 6, 2);
|
||||
OutText2 += AnsiString(", Ft:") +
|
||||
FloatToStrF(tmp->MoverParameters->Ft * 0.001f, ffFixed, 4, 0);
|
||||
OutText2 += AnsiString(", HV0:") +
|
||||
FloatToStrF(tmp->MoverParameters->HVCouplers[0][1], ffFixed, 4, 0);
|
||||
OutText2 += AnsiString("@") +
|
||||
FloatToStrF(tmp->MoverParameters->HVCouplers[0][0], ffFixed, 4, 0);
|
||||
OutText2 += AnsiString("+HV1:") +
|
||||
FloatToStrF(tmp->MoverParameters->HVCouplers[1][1], ffFixed, 4, 0);
|
||||
OutText2 += AnsiString("@") +
|
||||
FloatToStrF(tmp->MoverParameters->HVCouplers[1][0], ffFixed, 4, 0);
|
||||
OutText2 += AnsiString(" TC:") +
|
||||
FloatToStrF(tmp->MoverParameters->TotalCurrent, ffFixed, 4, 0);
|
||||
OutText2 += ", MED:" +
|
||||
to_string(tmp->MoverParameters->LocalBrakePosA, 2);
|
||||
OutText2 += "+" +
|
||||
to_string(tmp->MoverParameters->AnPos, 2);
|
||||
OutText2 += ", Ft:" +
|
||||
to_string(tmp->MoverParameters->Ft * 0.001f, 0);
|
||||
OutText2 += ", HV0:" +
|
||||
to_string(tmp->MoverParameters->HVCouplers[0][1], 0);
|
||||
OutText2 += "@" +
|
||||
to_string(tmp->MoverParameters->HVCouplers[0][0], 0);
|
||||
OutText2 += "+HV1:" +
|
||||
to_string(tmp->MoverParameters->HVCouplers[1][1], 0);
|
||||
OutText2 += "@" +
|
||||
to_string(tmp->MoverParameters->HVCouplers[1][0], 0);
|
||||
OutText2 += " TC:" +
|
||||
to_string(tmp->MoverParameters->TotalCurrent, 0);
|
||||
// OutText3= AnsiString("BP:
|
||||
// ")+FloatToStrF(tmp->MoverParameters->BrakePress,ffFixed,5,2)+AnsiString(",
|
||||
// ");
|
||||
@@ -2008,27 +2010,27 @@ bool TWorld::Update()
|
||||
// OutText2+= " GetLast:
|
||||
// "+AnsiString(tmp->GetLastDynamic(1)->MoverParameters->Name)+" Damage
|
||||
// status="+tmp->MoverParameters->EngineDescription(0)+" Engine status: ";
|
||||
OutText3 = AnsiString("BP: ") +
|
||||
FloatToStrF(tmp->MoverParameters->BrakePress, ffFixed, 5, 2) +
|
||||
AnsiString(", ");
|
||||
OutText3 += FloatToStrF(tmp->MoverParameters->BrakeStatus, ffFixed, 5, 0) +
|
||||
AnsiString(", ");
|
||||
OutText3 += AnsiString("PP: ") +
|
||||
FloatToStrF(tmp->MoverParameters->PipePress, ffFixed, 5, 2) +
|
||||
AnsiString("/");
|
||||
OutText3 += FloatToStrF(tmp->MoverParameters->ScndPipePress, ffFixed, 5, 2) +
|
||||
AnsiString("/");
|
||||
OutText3 += FloatToStrF(tmp->MoverParameters->EqvtPipePress, ffFixed, 5, 2) +
|
||||
AnsiString(", ");
|
||||
OutText3 += AnsiString("BVP: ") +
|
||||
FloatToStrF(tmp->MoverParameters->Volume, ffFixed, 5, 3) +
|
||||
AnsiString(", ");
|
||||
OutText3 += FloatToStrF(tmp->MoverParameters->CntrlPipePress, ffFixed, 5, 3) +
|
||||
AnsiString(", ");
|
||||
OutText3 += FloatToStrF(tmp->MoverParameters->Hamulec->GetCRP(), ffFixed, 5, 3) +
|
||||
AnsiString(", ");
|
||||
OutText3 += FloatToStrF(tmp->MoverParameters->BrakeStatus, ffFixed, 5, 0) +
|
||||
AnsiString(", ");
|
||||
OutText3 = ("BP: ") +
|
||||
to_string(tmp->MoverParameters->BrakePress, 2) +
|
||||
(", ");
|
||||
OutText3 += to_string(tmp->MoverParameters->BrakeStatus, 0) +
|
||||
(", ");
|
||||
OutText3 += ("PP: ") +
|
||||
to_string(tmp->MoverParameters->PipePress, 2) +
|
||||
("/");
|
||||
OutText3 += to_string(tmp->MoverParameters->ScndPipePress, 2) +
|
||||
("/");
|
||||
OutText3 += to_string(tmp->MoverParameters->EqvtPipePress, 2) +
|
||||
(", ");
|
||||
OutText3 += ("BVP: ") +
|
||||
to_string(tmp->MoverParameters->Volume, 3) +
|
||||
(", ");
|
||||
OutText3 += to_string(tmp->MoverParameters->CntrlPipePress, 3) +
|
||||
(", ");
|
||||
OutText3 += to_string(tmp->MoverParameters->Hamulec->GetCRP(), 3) +
|
||||
(", ");
|
||||
OutText3 += to_string(tmp->MoverParameters->BrakeStatus, 0) +
|
||||
(", ");
|
||||
// OutText3+=AnsiString("BVP:
|
||||
// ")+FloatToStrF(tmp->MoverParameters->BrakeVP(),ffFixed,5,2)+AnsiString(",
|
||||
// ");
|
||||
@@ -2041,11 +2043,11 @@ bool TWorld::Update()
|
||||
// ");
|
||||
|
||||
if (tmp->MoverParameters->ManualBrakePos > 0)
|
||||
OutText3 += AnsiString("manual brake active. ");
|
||||
OutText3 += ("manual brake active. ");
|
||||
else if (tmp->MoverParameters->LocalBrakePos > 0)
|
||||
OutText3 += AnsiString("local brake active. ");
|
||||
OutText3 += ("local brake active. ");
|
||||
else
|
||||
OutText3 += AnsiString("local brake inactive. ");
|
||||
OutText3 += ("local brake inactive. ");
|
||||
/*
|
||||
//OutText3+=AnsiString("LSwTim:
|
||||
")+FloatToStrF(tmp->MoverParameters->LastSwitchingTime,ffFixed,5,2);
|
||||
@@ -2077,20 +2079,20 @@ bool TWorld::Update()
|
||||
// OutText4=tmp->Mechanik->StopReasonText();
|
||||
// if (!OutText4.IsEmpty()) OutText4+="; "; //aby ³adniejszy odstêp by³
|
||||
// if (Controlled->Mechanik && (Controlled->Mechanik->AIControllFlag==AIdriver))
|
||||
AnsiString flags = "bwaccmlshhhoibsgvdp; "; // flagi AI (definicja w Driver.h)
|
||||
for (int i = 0, j = 1; i < 19; ++i, j <<= 1)
|
||||
if (tmp->Mechanik->DrivigFlags() & j) // jak bit ustawiony
|
||||
flags[i + 1] ^= 0x20; // to zmiana na wielk¹ literê
|
||||
std::string flags = "bwaccmlshhhoibsgvdp; "; // flagi AI (definicja w Driver.h)
|
||||
for (int i = 0, j = 1; i < 19; ++i, j <<= 1)
|
||||
if (tmp->Mechanik->DrivigFlags() & j) // jak bit ustawiony
|
||||
toupper(flags[i + 1]); // ^= 0x20; // to zmiana na wielk¹ literê
|
||||
OutText4 = flags;
|
||||
OutText4 +=
|
||||
AnsiString("Driver: Vd=") +
|
||||
FloatToStrF(tmp->Mechanik->VelDesired, ffFixed, 4, 0) + AnsiString(" ad=") +
|
||||
FloatToStrF(tmp->Mechanik->AccDesired, ffFixed, 5, 2) + AnsiString(" Pd=") +
|
||||
FloatToStrF(tmp->Mechanik->ActualProximityDist, ffFixed, 4, 0) +
|
||||
AnsiString(" Vn=") + FloatToStrF(tmp->Mechanik->VelNext, ffFixed, 4, 0) +
|
||||
AnsiString(" VSm=") + FloatToStrF(tmp->Mechanik->VelSignalLast, ffFixed, 4, 0) +
|
||||
AnsiString(" VLm=") + FloatToStrF(tmp->Mechanik->VelLimitLast, ffFixed, 4, 0) +
|
||||
AnsiString(" VRd=") + FloatToStrF(tmp->Mechanik->VelRoad, ffFixed, 4, 0);
|
||||
("Driver: Vd=") +
|
||||
to_string(tmp->Mechanik->VelDesired, 0) + (" ad=") +
|
||||
to_string(tmp->Mechanik->AccDesired, 2) + (" Pd=") +
|
||||
to_string(tmp->Mechanik->ActualProximityDist, 0) +
|
||||
(" Vn=") + to_string(tmp->Mechanik->VelNext, 0) +
|
||||
(" VSm=") + to_string(tmp->Mechanik->VelSignalLast, 0) +
|
||||
(" VLm=") + to_string(tmp->Mechanik->VelLimitLast, 0) +
|
||||
(" VRd=") + to_string(tmp->Mechanik->VelRoad, 0);
|
||||
if (tmp->Mechanik->VelNext == 0.0)
|
||||
if (tmp->Mechanik->eSignNext)
|
||||
{ // jeœli ma zapamiêtany event semafora
|
||||
@@ -2100,19 +2102,19 @@ bool TWorld::Update()
|
||||
")"; // nazwa eventu semafora
|
||||
}
|
||||
}
|
||||
if (!OutText4.IsEmpty())
|
||||
if (!OutText4.empty())
|
||||
OutText4 += "; "; // aby ³adniejszy odstêp by³
|
||||
// informacja o sprzêgach nawet bez mechanika
|
||||
OutText4 +=
|
||||
"C0=" + (tmp->PrevConnected ?
|
||||
tmp->PrevConnected->GetName() + ":" +
|
||||
AnsiString(tmp->MoverParameters->Couplers[0].CouplingFlag) :
|
||||
AnsiString("NULL"));
|
||||
to_string(tmp->MoverParameters->Couplers[0].CouplingFlag) :
|
||||
string("NULL"));
|
||||
OutText4 +=
|
||||
" C1=" + (tmp->NextConnected ?
|
||||
tmp->NextConnected->GetName() + ":" +
|
||||
AnsiString(tmp->MoverParameters->Couplers[1].CouplingFlag) :
|
||||
AnsiString("NULL"));
|
||||
to_string(tmp->MoverParameters->Couplers[1].CouplingFlag) :
|
||||
string("NULL"));
|
||||
if (Console::Pressed(VK_F2))
|
||||
{
|
||||
WriteLog(OutText1);
|
||||
@@ -2130,18 +2132,18 @@ bool TWorld::Update()
|
||||
glRasterPos2f(-0.25f, 0.20f);
|
||||
// OutText1="Scan distance: "+AnsiString(tmp->Mechanik->scanmax)+", back:
|
||||
// "+AnsiString(tmp->Mechanik->scanback);
|
||||
OutText1 = "Time: " + AnsiString((int)GlobalTime->hh) + ":";
|
||||
OutText1 = "Time: " + to_string((int)GlobalTime->hh) + ":";
|
||||
int i = GlobalTime->mm; // bo inaczej potrafi zrobiæ "hh:010"
|
||||
if (i < 10)
|
||||
OutText1 += "0";
|
||||
OutText1 += AnsiString(i); // minuty
|
||||
OutText1 += to_string(i); // minuty
|
||||
OutText1 += ":";
|
||||
i = floor(GlobalTime->mr); // bo inaczej potrafi zrobiæ "hh:mm:010"
|
||||
if (i < 10)
|
||||
OutText1 += "0";
|
||||
OutText1 += AnsiString(i);
|
||||
OutText1 += to_string(i);
|
||||
OutText1 +=
|
||||
AnsiString(". Vel: ") + FloatToStrF(tmp->GetVelocity(), ffFixed, 6, 1);
|
||||
(". Vel: ") + to_string(tmp->GetVelocity(), 1);
|
||||
OutText1 += ". Scan table:";
|
||||
glPrint(Global::Bezogonkow(OutText1).c_str());
|
||||
i = -1;
|
||||
@@ -2152,15 +2154,15 @@ bool TWorld::Update()
|
||||
}
|
||||
// podsumowanie sensu tabelki
|
||||
OutText4 =
|
||||
AnsiString("Driver: Vd=") +
|
||||
FloatToStrF(tmp->Mechanik->VelDesired, ffFixed, 4, 0) + AnsiString(" ad=") +
|
||||
FloatToStrF(tmp->Mechanik->AccDesired, ffFixed, 5, 2) + AnsiString(" Pd=") +
|
||||
FloatToStrF(tmp->Mechanik->ActualProximityDist, ffFixed, 4, 0) +
|
||||
AnsiString(" Vn=") + FloatToStrF(tmp->Mechanik->VelNext, ffFixed, 4, 0) +
|
||||
AnsiString("\n VSm=") + FloatToStrF(tmp->Mechanik->VelSignalLast, ffFixed, 4, 0) +
|
||||
AnsiString(" VLm=") + FloatToStrF(tmp->Mechanik->VelLimitLast, ffFixed, 4, 0) +
|
||||
AnsiString(" VRd=") + FloatToStrF(tmp->Mechanik->VelRoad, ffFixed, 4, 0) +
|
||||
AnsiString(" VSig=") + FloatToStrF(tmp->Mechanik->VelSignal, ffFixed, 4, 0);
|
||||
("Driver: Vd=") +
|
||||
to_string(tmp->Mechanik->VelDesired, 0) + (" ad=") +
|
||||
to_string(tmp->Mechanik->AccDesired, 2) + (" Pd=") +
|
||||
to_string(tmp->Mechanik->ActualProximityDist, 0) +
|
||||
(" Vn=") + to_string(tmp->Mechanik->VelNext, 0) +
|
||||
("\n VSm=") + to_string(tmp->Mechanik->VelSignalLast, 0) +
|
||||
(" VLm=") + to_string(tmp->Mechanik->VelLimitLast, 0) +
|
||||
(" VRd=") + to_string(tmp->Mechanik->VelRoad, 0) +
|
||||
(" VSig=") + to_string(tmp->Mechanik->VelSignal, 0);
|
||||
if (tmp->Mechanik->VelNext == 0.0)
|
||||
if (tmp->Mechanik->eSignNext)
|
||||
{ // jeœli ma zapamiêtany event semafora
|
||||
@@ -2176,16 +2178,15 @@ bool TWorld::Update()
|
||||
} // koniec obs³ugi, gdy mamy wskaŸnik do pojazdu
|
||||
else
|
||||
{ // wyœwietlenie wspó³rzêdnych w scenerii oraz k¹ta kamery, gdy nie mamy wskaŸnika
|
||||
OutText1 = "Camera position: " + FloatToStrF(Camera.Pos.x, ffFixed, 6, 2) + " " +
|
||||
FloatToStrF(Camera.Pos.y, ffFixed, 6, 2) + " " +
|
||||
FloatToStrF(Camera.Pos.z, ffFixed, 6, 2);
|
||||
OutText1 = "Camera position: " + to_string(Camera.Pos.x, 2) + " " +
|
||||
to_string(Camera.Pos.y, 2) + " " +
|
||||
to_string(Camera.Pos.z, 2);
|
||||
OutText1 += ", azimuth: " +
|
||||
FloatToStrF(180.0 - RadToDeg(Camera.Yaw), ffFixed, 3,
|
||||
0); // ma byæ azymut, czyli 0 na pó³nocy i roœnie na wschód
|
||||
to_string(180.0 - RadToDeg(Camera.Yaw), 0); // ma byæ azymut, czyli 0 na pó³nocy i roœnie na wschód
|
||||
OutText1 +=
|
||||
" " +
|
||||
AnsiString("S SEE NEN NWW SW")
|
||||
.SubString(1 + 2 * floor(fmod(8 + (Camera.Yaw + 0.5 * M_PI_4) / M_PI_4, 8)), 2);
|
||||
string("S SEE NEN NWW SW")
|
||||
.substr(1 + 2 * floor(fmod(8 + (Camera.Yaw + 0.5 * M_PI_4) / M_PI_4, 8)), 2);
|
||||
}
|
||||
// OutText3= AnsiString(" Online documentation (PL, ENG, DE, soon CZ):
|
||||
// http://www.eu07.pl");
|
||||
@@ -2257,69 +2258,64 @@ bool TWorld::Update()
|
||||
{ // tu mozna dodac dopisywanie do logu przebiegu lokomotywy
|
||||
// Global::iViewMode=VK_F10;
|
||||
// return false;
|
||||
OutText1 = AnsiString("To quit press [Y] key.");
|
||||
OutText3 = AnsiString("Aby zakonczyc program, przycisnij klawisz [Y].");
|
||||
OutText1 = ("To quit press [Y] key.");
|
||||
OutText3 = ("Aby zakonczyc program, przycisnij klawisz [Y].");
|
||||
}
|
||||
else if (Controlled && DebugModeFlag && !Global::iTextMode)
|
||||
{
|
||||
OutText1 += AnsiString("; vel ") + FloatToStrF(Controlled->GetVelocity(), ffFixed, 6, 2);
|
||||
OutText1 += AnsiString("; pos ") + FloatToStrF(Controlled->GetPosition().x, ffFixed, 6, 2);
|
||||
OutText1 += AnsiString(" ; ") + FloatToStrF(Controlled->GetPosition().y, ffFixed, 6, 2);
|
||||
OutText1 += AnsiString(" ; ") + FloatToStrF(Controlled->GetPosition().z, ffFixed, 6, 2);
|
||||
OutText1 += AnsiString("; dist=") +
|
||||
FloatToStrF(Controlled->MoverParameters->DistCounter, ffFixed, 8, 4);
|
||||
OutText1 += ("; vel ") + to_string(Controlled->GetVelocity(), 2);
|
||||
OutText1 += ("; pos ") + to_string(Controlled->GetPosition().x, 2);
|
||||
OutText1 += (" ; ") + to_string(Controlled->GetPosition().y, 2);
|
||||
OutText1 += (" ; ") + to_string(Controlled->GetPosition().z, 2);
|
||||
OutText1 += ("; dist=") + to_string(Controlled->MoverParameters->DistCounter, 4);
|
||||
|
||||
// double a= acos( DotProduct(Normalize(Controlled->GetDirection()),vWorldFront));
|
||||
// OutText+= AnsiString("; angle ")+FloatToStrF(a/M_PI*180,ffFixed,6,2);
|
||||
OutText1 += AnsiString("; d_omega ") +
|
||||
FloatToStrF(Controlled->MoverParameters->dizel_engagedeltaomega, ffFixed, 6, 3);
|
||||
OutText2 = AnsiString("HamZ=") +
|
||||
FloatToStrF(Controlled->MoverParameters->fBrakeCtrlPos, ffFixed, 6, 1);
|
||||
OutText2 += AnsiString("; HamP=") + AnsiString(mvControlled->LocalBrakePos);
|
||||
OutText2 += AnsiString("/") +
|
||||
FloatToStrF(Controlled->MoverParameters->LocalBrakePosA, ffFixed, 6, 2);
|
||||
// mvControlled->MainCtrlPos;
|
||||
OutText1 +=
|
||||
("; d_omega ") + to_string(Controlled->MoverParameters->dizel_engagedeltaomega, 3);
|
||||
OutText2 = ("HamZ=") + to_string(Controlled->MoverParameters->fBrakeCtrlPos, 1);
|
||||
OutText2 += ("; HamP=") + to_string(mvControlled->LocalBrakePos);
|
||||
OutText2 += ("/") + to_string(Controlled->MoverParameters->LocalBrakePosA, 2);
|
||||
// mvControlled->MainCtrlPos;
|
||||
// if (mvControlled->MainCtrlPos<0)
|
||||
// OutText2+= AnsiString("; nastawnik 0");
|
||||
// if (mvControlled->MainCtrlPos>iPozSzereg)
|
||||
OutText2 += AnsiString("; NasJ=") + AnsiString(mvControlled->MainCtrlPos);
|
||||
OutText2 += ("; NasJ=") + to_string(mvControlled->MainCtrlPos);
|
||||
// else
|
||||
// OutText2+= AnsiString("; nastawnik S") + mvControlled->MainCtrlPos;
|
||||
OutText2 += AnsiString("(") + AnsiString(mvControlled->MainCtrlActualPos);
|
||||
OutText2 += ("(") + to_string(mvControlled->MainCtrlActualPos);
|
||||
|
||||
OutText2 += AnsiString("); NasB=") + AnsiString(mvControlled->ScndCtrlPos);
|
||||
OutText2 += AnsiString("(") + AnsiString(mvControlled->ScndCtrlActualPos);
|
||||
OutText2 += ("); NasB=") + to_string(mvControlled->ScndCtrlPos);
|
||||
OutText2 += ("(") + to_string(mvControlled->ScndCtrlActualPos);
|
||||
if (mvControlled->TrainType == dt_EZT)
|
||||
OutText2 += AnsiString("); I=") + AnsiString(int(mvControlled->ShowCurrent(0)));
|
||||
OutText2 += ("); I=") + to_string(int(mvControlled->ShowCurrent(0)));
|
||||
else
|
||||
OutText2 += AnsiString("); I=") + AnsiString(int(mvControlled->Im));
|
||||
OutText2 += ("); I=") + to_string(int(mvControlled->Im));
|
||||
// OutText2+=AnsiString(";
|
||||
// I2=")+FloatToStrF(Controlled->NextConnected->MoverParameters->Im,ffFixed,6,2);
|
||||
OutText2 += AnsiString("; U=") +
|
||||
AnsiString(int(mvControlled->RunningTraction.TractionVoltage + 0.5));
|
||||
OutText2 += ("; U=") +
|
||||
to_string(int(mvControlled->RunningTraction.TractionVoltage + 0.5));
|
||||
// OutText2+=AnsiString("; rvent=")+FloatToStrF(mvControlled->RventRot,ffFixed,6,2);
|
||||
OutText2 += AnsiString("; R=") +
|
||||
FloatToStrF(Controlled->MoverParameters->RunningShape.R, ffFixed, 4, 1);
|
||||
OutText2 += AnsiString(" An=") + FloatToStrF(Controlled->MoverParameters->AccN, ffFixed, 4,
|
||||
2); // przyspieszenie poprzeczne
|
||||
OutText2 += ("; R=") +
|
||||
to_string(Controlled->MoverParameters->RunningShape.R, 1);
|
||||
OutText2 += (" An=") + to_string(Controlled->MoverParameters->AccN, 2); // przyspieszenie poprzeczne
|
||||
if (tprev != int(GlobalTime->mr))
|
||||
{
|
||||
tprev = GlobalTime->mr;
|
||||
Acc = (Controlled->MoverParameters->Vel - VelPrev) / 3.6;
|
||||
VelPrev = Controlled->MoverParameters->Vel;
|
||||
}
|
||||
OutText2 += AnsiString("; As=") + FloatToStrF(Acc/*Controlled->MoverParameters->AccS*/, ffFixed, 4,
|
||||
2); // przyspieszenie wzd³u¿ne
|
||||
OutText2 += ("; As=") + to_string(Acc/*Controlled->MoverParameters->AccS*/, 2); // przyspieszenie wzd³u¿ne
|
||||
// OutText2+=AnsiString("; P=")+FloatToStrF(mvControlled->EnginePower,ffFixed,6,1);
|
||||
OutText3 += AnsiString("cyl.ham. ") +
|
||||
FloatToStrF(Controlled->MoverParameters->BrakePress, ffFixed, 5, 2);
|
||||
OutText3 += AnsiString("; prz.gl. ") +
|
||||
FloatToStrF(Controlled->MoverParameters->PipePress, ffFixed, 5, 2);
|
||||
OutText3 += AnsiString("; zb.gl. ") +
|
||||
FloatToStrF(Controlled->MoverParameters->CompressedVolume, ffFixed, 6, 2);
|
||||
OutText3 += ("cyl.ham. ") +
|
||||
to_string(Controlled->MoverParameters->BrakePress, 2);
|
||||
OutText3 += ("; prz.gl. ") +
|
||||
to_string(Controlled->MoverParameters->PipePress, 2);
|
||||
OutText3 += ("; zb.gl. ") +
|
||||
to_string(Controlled->MoverParameters->CompressedVolume, 2);
|
||||
// youBy - drugi wezyk
|
||||
OutText3 += AnsiString("; p.zas. ") +
|
||||
FloatToStrF(Controlled->MoverParameters->ScndPipePress, ffFixed, 6, 2);
|
||||
OutText3 += ("; p.zas. ") +
|
||||
to_string(Controlled->MoverParameters->ScndPipePress, 2);
|
||||
|
||||
if (Controlled->MoverParameters->EngineType == ElectricInductionMotor)
|
||||
{
|
||||
@@ -2329,30 +2325,30 @@ bool TWorld::Update()
|
||||
{
|
||||
glRasterPos2f(-0.25f, 0.16f - 0.01f * i);
|
||||
if (Controlled->MoverParameters->eimc[i] < 10)
|
||||
OutText4 = FloatToStrF(Controlled->MoverParameters->eimc[i], ffFixed, 6, 3);
|
||||
OutText4 = to_string(Controlled->MoverParameters->eimc[i], 3);
|
||||
else
|
||||
OutText4 = FloatToStrF(Controlled->MoverParameters->eimc[i], ffGeneral, 5, 3);
|
||||
OutText4 = to_string(Controlled->MoverParameters->eimc[i], 3);
|
||||
glPrint(OutText4.c_str());
|
||||
}
|
||||
for (int i = 0; i <= 20; i++)
|
||||
{
|
||||
glRasterPos2f(-0.2f, 0.16f - 0.01f * i);
|
||||
if (Controlled->MoverParameters->eimv[i] < 10)
|
||||
OutText4 = FloatToStrF(Controlled->MoverParameters->eimv[i], ffFixed, 6, 3);
|
||||
OutText4 = to_string(Controlled->MoverParameters->eimv[i], 3);
|
||||
else
|
||||
OutText4 = FloatToStrF(Controlled->MoverParameters->eimv[i], ffGeneral, 5, 3);
|
||||
OutText4 = to_string(Controlled->MoverParameters->eimv[i], 3);
|
||||
glPrint(OutText4.c_str());
|
||||
}
|
||||
for (int i = 0; i <= 10; i++)
|
||||
{
|
||||
glRasterPos2f(-0.15f, 0.16f - 0.01f * i);
|
||||
OutText4 = FloatToStrF(Train->fPress[i][0], ffFixed, 6, 3);
|
||||
OutText4 = to_string(Train->fPress[i][0], 3);
|
||||
glPrint(OutText4.c_str());
|
||||
}
|
||||
for (int i = 0; i <= 8; i++)
|
||||
{
|
||||
glRasterPos2f(-0.15f, 0.04f - 0.01f * i);
|
||||
OutText4 = FloatToStrF(Controlled->MED[0][i], ffFixed, 6, 3);
|
||||
OutText4 = to_string(Controlled->MED[0][i], 3);
|
||||
glPrint(OutText4.c_str());
|
||||
}
|
||||
for (int i = 0; i <= 8; i++)
|
||||
@@ -2360,7 +2356,7 @@ bool TWorld::Update()
|
||||
for (int j = 0; j <= 9; j++)
|
||||
{
|
||||
glRasterPos2f(0.05f + 0.03f * i, 0.16f - 0.01f * j);
|
||||
OutText4 = FloatToStrF(Train->fEIMParams[i][j], ffGeneral, 4, 2);
|
||||
OutText4 = to_string(Train->fEIMParams[i][j], 2);
|
||||
glPrint(OutText4.c_str());
|
||||
}
|
||||
}
|
||||
@@ -2434,37 +2430,37 @@ bool TWorld::Update()
|
||||
// McZapkie: predkosc szlakowa
|
||||
if (Controlled->MoverParameters->RunningTrack.Velmax == -1)
|
||||
{
|
||||
OutText3 += AnsiString(" Vtrack=Vmax");
|
||||
OutText3 += (" Vtrack=Vmax");
|
||||
}
|
||||
else
|
||||
{
|
||||
OutText3 +=
|
||||
AnsiString(" Vtrack ") +
|
||||
FloatToStrF(Controlled->MoverParameters->RunningTrack.Velmax, ffFixed, 8, 2);
|
||||
(" Vtrack ") +
|
||||
to_string(Controlled->MoverParameters->RunningTrack.Velmax, 2);
|
||||
}
|
||||
// WriteLog(Controlled->MoverParameters->TrainType.c_str());
|
||||
if ((mvControlled->EnginePowerSource.SourceType == CurrentCollector) ||
|
||||
(mvControlled->TrainType == dt_EZT))
|
||||
{
|
||||
OutText3 +=
|
||||
AnsiString("; pant. ") + FloatToStrF(mvControlled->PantPress, ffFixed, 8, 2);
|
||||
("; pant. ") + to_string(mvControlled->PantPress, 2);
|
||||
OutText3 += (mvControlled->bPantKurek3 ? "=ZG" : "|ZG");
|
||||
}
|
||||
// McZapkie: komenda i jej parametry
|
||||
if (Controlled->MoverParameters->CommandIn.Command != AnsiString(""))
|
||||
OutText4 = AnsiString("C:") +
|
||||
AnsiString(Controlled->MoverParameters->CommandIn.Command) +
|
||||
AnsiString(" V1=") +
|
||||
FloatToStrF(Controlled->MoverParameters->CommandIn.Value1, ffFixed, 5, 0) +
|
||||
AnsiString(" V2=") +
|
||||
FloatToStrF(Controlled->MoverParameters->CommandIn.Value2, ffFixed, 5, 0);
|
||||
if (Controlled->MoverParameters->CommandIn.Command != (""))
|
||||
OutText4 = ("C:") +
|
||||
(Controlled->MoverParameters->CommandIn.Command) +
|
||||
(" V1=") +
|
||||
to_string(Controlled->MoverParameters->CommandIn.Value1, 0) +
|
||||
(" V2=") +
|
||||
to_string(Controlled->MoverParameters->CommandIn.Value2, 0);
|
||||
if (Controlled->Mechanik && (Controlled->Mechanik->AIControllFlag == AIdriver))
|
||||
OutText4 +=
|
||||
AnsiString("AI: Vd=") +
|
||||
FloatToStrF(Controlled->Mechanik->VelDesired, ffFixed, 4, 0) + AnsiString(" ad=") +
|
||||
FloatToStrF(Controlled->Mechanik->AccDesired, ffFixed, 5, 2) + AnsiString(" Pd=") +
|
||||
FloatToStrF(Controlled->Mechanik->ActualProximityDist, ffFixed, 4, 0) +
|
||||
AnsiString(" Vn=") + FloatToStrF(Controlled->Mechanik->VelNext, ffFixed, 4, 0);
|
||||
("AI: Vd=") +
|
||||
to_string(Controlled->Mechanik->VelDesired, 0) + (" ad=") +
|
||||
to_string(Controlled->Mechanik->AccDesired, 2) + (" Pd=") +
|
||||
to_string(Controlled->Mechanik->ActualProximityDist, 0) +
|
||||
(" Vn=") + to_string(Controlled->Mechanik->VelNext, 0);
|
||||
}
|
||||
|
||||
// ABu 150205: prosty help, zeby sie na forum nikt nie pytal, jak ma ruszyc :)
|
||||
@@ -2476,15 +2472,15 @@ bool TWorld::Update()
|
||||
{ // informacja o wersji, sposobie wyœwietlania i b³êdach OpenGL
|
||||
// Global::iViewMode=VK_F9;
|
||||
OutText1 = Global::asVersion; // informacja o wersji
|
||||
OutText2 = AnsiString("Rendering mode: ") + (Global::bUseVBO ? "VBO" : "Display Lists");
|
||||
OutText2 = string("Rendering mode: ") + (Global::bUseVBO ? "VBO" : "Display Lists");
|
||||
if (Global::iMultiplayer)
|
||||
OutText2 += ". Multiplayer is active";
|
||||
OutText2 += ".";
|
||||
GLenum err = glGetError();
|
||||
if (err != GL_NO_ERROR)
|
||||
{
|
||||
OutText3 = "OpenGL error " + AnsiString(err) + ": " +
|
||||
Global::Bezogonkow(AnsiString((char *)gluErrorString(err)));
|
||||
OutText3 = "OpenGL error " + to_string(err) + ": " +
|
||||
Global::Bezogonkow(((char *)gluErrorString(err)));
|
||||
}
|
||||
}
|
||||
if (Global::iTextMode == VK_F3)
|
||||
@@ -2502,8 +2498,8 @@ bool TWorld::Update()
|
||||
glColor3f(1.0f, 1.0f, 1.0f); // a, damy bia³ym
|
||||
// glTranslatef(0.0f,0.0f,-0.50f);
|
||||
glRasterPos2f(-0.25f, 0.20f);
|
||||
OutText1 = AnsiString(tmp->Mechanik->Relation().c_str()) + " (" +
|
||||
tmp->Mechanik->Timetable()->TrainName.c_str() + ")";
|
||||
OutText1 = tmp->Mechanik->Relation() + " (" +
|
||||
tmp->Mechanik->Timetable()->TrainName + ")";
|
||||
glPrint(Global::Bezogonkow(OutText1, true).c_str());
|
||||
glRasterPos2f(-0.25f, 0.19f);
|
||||
// glPrint("|============================|=======|=======|=====|");
|
||||
@@ -2514,22 +2510,22 @@ bool TWorld::Update()
|
||||
for (int i = tmp->Mechanik->iStationStart; i <= tt->StationCount; ++i)
|
||||
{ // wyœwietlenie pozycji z rozk³adu
|
||||
t = tt->TimeTable + i; // linijka rozk³adu
|
||||
OutText1 = AnsiString(AnsiString(t->StationName.c_str()) +
|
||||
" ").SubString(1, 26);
|
||||
OutText1 = (t->StationName +
|
||||
" ").substr(1, 26);
|
||||
OutText2 = (t->Ah >= 0) ?
|
||||
AnsiString(int(100 + t->Ah)).SubString(2, 2) + ":" +
|
||||
AnsiString(int(100 + t->Am)).SubString(2, 2) :
|
||||
AnsiString(" ");
|
||||
to_string(int(100 + t->Ah)).substr(2, 2) + ":" +
|
||||
to_string(int(100 + t->Am)).substr(2, 2) :
|
||||
string(" ");
|
||||
OutText3 = (t->Dh >= 0) ?
|
||||
AnsiString(int(100 + t->Dh)).SubString(2, 2) + ":" +
|
||||
AnsiString(int(100 + t->Dm)).SubString(2, 2) :
|
||||
AnsiString(" ");
|
||||
OutText4 = " " + FloatToStrF(t->vmax, ffFixed, 3, 0);
|
||||
OutText4 = OutText4.SubString(OutText4.Length() - 2,
|
||||
to_string(int(100 + t->Dh)).substr(2, 2) + ":" +
|
||||
to_string(int(100 + t->Dm)).substr(2, 2) :
|
||||
string(" ");
|
||||
OutText4 = " " + to_string(t->vmax, 0);
|
||||
OutText4 = OutText4.substr(OutText4.length() - 2,
|
||||
3); // z wyrównaniem do prawej
|
||||
// if (AnsiString(t->StationWare).Pos("@"))
|
||||
OutText1 = "| " + OutText1 + " | " + OutText2 + " | " + OutText3 +
|
||||
" | " + OutText4 + " | " + AnsiString(t->StationWare.c_str());
|
||||
" | " + OutText4 + " | " + t->StationWare;
|
||||
glRasterPos2f(-0.25f,
|
||||
0.18f - 0.02f * (i - tmp->Mechanik->iStationStart));
|
||||
if ((tmp->Mechanik->iStationStart < tt->StationIndex) ?
|
||||
@@ -2588,7 +2584,7 @@ bool TWorld::Update()
|
||||
glColor3f(1.0f, 1.0f, 0.0f); //¿ó³te
|
||||
for (int i = 0; i < 5; ++i)
|
||||
{ // kilka linijek
|
||||
if (Global::asTranscript[i].IsEmpty())
|
||||
if (Global::asTranscript[i].empty())
|
||||
break; // dalej nie trzeba
|
||||
else
|
||||
{
|
||||
@@ -2820,28 +2816,28 @@ void TWorld::OnCommandGet(DaneRozkaz *pRozkaz)
|
||||
int i =
|
||||
int(pRozkaz->cString[8]); // d³ugoœæ pierwszego ³añcucha (z przodu dwa floaty)
|
||||
CommLog(
|
||||
AnsiString(Now()) + " " + IntToStr(pRozkaz->iComm) + " " +
|
||||
AnsiString(pRozkaz->cString + 11 + i, (unsigned)(pRozkaz->cString[10 + i])) +
|
||||
to_string(BorlandTime()) + " " + to_string(pRozkaz->iComm) + " " +
|
||||
string(pRozkaz->cString + 11 + i, (unsigned)(pRozkaz->cString[10 + i])) +
|
||||
" rcvd");
|
||||
TGroundNode *t = Ground.DynamicFind(
|
||||
AnsiString(pRozkaz->cString + 11 + i,
|
||||
string(pRozkaz->cString + 11 + i,
|
||||
(unsigned)pRozkaz->cString[10 + i])); // nazwa pojazdu jest druga
|
||||
if (t)
|
||||
if (t->DynamicObject->Mechanik)
|
||||
{
|
||||
t->DynamicObject->Mechanik->PutCommand(AnsiString(pRozkaz->cString + 9, i),
|
||||
t->DynamicObject->Mechanik->PutCommand(string(pRozkaz->cString + 9, i),
|
||||
pRozkaz->fPar[0], pRozkaz->fPar[1],
|
||||
NULL, stopExt); // floaty s¹ z przodu
|
||||
WriteLog("AI command: " + AnsiString(pRozkaz->cString + 9, i));
|
||||
WriteLog("AI command: " + string(pRozkaz->cString + 9, i));
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4: // badanie zajêtoœci toru
|
||||
{
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(pRozkaz->iComm) + " " +
|
||||
AnsiString(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])) + " rcvd");
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(pRozkaz->iComm) + " " +
|
||||
string(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])) + " rcvd");
|
||||
TGroundNode *t = Ground.FindGroundNode(
|
||||
AnsiString(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])), TP_TRACK);
|
||||
string(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])), TP_TRACK);
|
||||
if (t)
|
||||
if (t->pTrack->IsEmpty())
|
||||
Ground.WyslijWolny(t->asName);
|
||||
@@ -2849,8 +2845,8 @@ void TWorld::OnCommandGet(DaneRozkaz *pRozkaz)
|
||||
break;
|
||||
case 5: // ustawienie parametrów
|
||||
{
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(pRozkaz->iComm) + " params " +
|
||||
IntToStr(*pRozkaz->iPar) + " rcvd");
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(pRozkaz->iComm) + " params " +
|
||||
to_string(*pRozkaz->iPar) + " rcvd");
|
||||
if (*pRozkaz->iPar == 0) // sprawdzenie czasu
|
||||
if (*pRozkaz->iPar & 1) // ustawienie czasu
|
||||
{
|
||||
@@ -2874,8 +2870,8 @@ void TWorld::OnCommandGet(DaneRozkaz *pRozkaz)
|
||||
case 6: // pobranie parametrów ruchu pojazdu
|
||||
if (Global::iMultiplayer)
|
||||
{ // Ra 2014-12: to ma dzia³aæ równie¿ dla pojazdów bez obsady
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(pRozkaz->iComm) + " " +
|
||||
AnsiString(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])) +
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(pRozkaz->iComm) + " " +
|
||||
string(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])) +
|
||||
" rcvd");
|
||||
if (pRozkaz->cString[0]) // jeœli d³ugoœæ nazwy jest niezerowa
|
||||
{ // szukamy pierwszego pojazdu o takiej nazwie i odsy³amy parametry ramk¹ #7
|
||||
@@ -2884,7 +2880,7 @@ void TWorld::OnCommandGet(DaneRozkaz *pRozkaz)
|
||||
t = Ground.DynamicFind(
|
||||
Global::asHumanCtrlVehicle); // nazwa pojazdu u¿ytkownika
|
||||
else
|
||||
t = Ground.DynamicFindAny(AnsiString(
|
||||
t = Ground.DynamicFindAny(string(
|
||||
pRozkaz->cString + 1, (unsigned)pRozkaz->cString[0])); // nazwa pojazdu
|
||||
if (t)
|
||||
Ground.WyslijNamiary(t); // wys³anie informacji o pojeŸdzie
|
||||
@@ -2897,31 +2893,31 @@ void TWorld::OnCommandGet(DaneRozkaz *pRozkaz)
|
||||
}
|
||||
break;
|
||||
case 8: // ponowne wys³anie informacji o zajêtych odcinkach toru
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(pRozkaz->iComm) + " all busy track" + " rcvd");
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(pRozkaz->iComm) + " all busy track" + " rcvd");
|
||||
Ground.TrackBusyList();
|
||||
break;
|
||||
case 9: // ponowne wys³anie informacji o zajêtych odcinkach izolowanych
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(pRozkaz->iComm) + " all busy isolated" + " rcvd");
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(pRozkaz->iComm) + " all busy isolated" + " rcvd");
|
||||
Ground.IsolatedBusyList();
|
||||
break;
|
||||
case 10: // badanie zajêtoœci jednego odcinka izolowanego
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(pRozkaz->iComm) + " " +
|
||||
AnsiString(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])) + " rcvd");
|
||||
Ground.IsolatedBusy(AnsiString(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])));
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(pRozkaz->iComm) + " " +
|
||||
string(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])) + " rcvd");
|
||||
Ground.IsolatedBusy(string(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])));
|
||||
break;
|
||||
case 11: // ustawienie parametrów ruchu pojazdu
|
||||
// Ground.IsolatedBusy(AnsiString(pRozkaz->cString+1,(unsigned)(pRozkaz->cString[0])));
|
||||
break;
|
||||
case 12: // skrocona ramka parametrow pojazdow AI (wszystkich!!)
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(pRozkaz->iComm) + " obsadzone" + " rcvd");
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(pRozkaz->iComm) + " obsadzone" + " rcvd");
|
||||
Ground.WyslijObsadzone();
|
||||
// Ground.IsolatedBusy(AnsiString(pRozkaz->cString+1,(unsigned)(pRozkaz->cString[0])));
|
||||
break;
|
||||
case 13: // ramka uszkodzenia i innych stanow pojazdu, np. wylaczenie CA, wlaczenie recznego itd.
|
||||
// WriteLog("Przyszlo 13!");
|
||||
// WriteLog(pRozkaz->cString);
|
||||
CommLog(AnsiString(Now()) + " " + IntToStr(pRozkaz->iComm) + " " +
|
||||
AnsiString(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])) +
|
||||
CommLog(to_string(BorlandTime()) + " " + to_string(pRozkaz->iComm) + " " +
|
||||
string(pRozkaz->cString + 1, (unsigned)(pRozkaz->cString[0])) +
|
||||
" rcvd");
|
||||
if (pRozkaz->cString[1]) // jeœli d³ugoœæ nazwy jest niezerowa
|
||||
{ // szukamy pierwszego pojazdu o takiej nazwie i odsy³amy parametry ramk¹ #13
|
||||
@@ -2931,7 +2927,7 @@ void TWorld::OnCommandGet(DaneRozkaz *pRozkaz)
|
||||
Global::asHumanCtrlVehicle); // nazwa pojazdu u¿ytkownika
|
||||
else
|
||||
t = Ground.DynamicFindAny(
|
||||
AnsiString(pRozkaz->cString + 2,
|
||||
string(pRozkaz->cString + 2,
|
||||
(unsigned)pRozkaz->cString[1])); // nazwa pojazdu
|
||||
if (t)
|
||||
{
|
||||
|
||||
8
World.h
8
World.h
@@ -41,10 +41,10 @@ class TWorld
|
||||
~TWorld();
|
||||
// double Aspect;
|
||||
private:
|
||||
AnsiString OutText1; // teksty na ekranie
|
||||
AnsiString OutText2;
|
||||
AnsiString OutText3;
|
||||
AnsiString OutText4;
|
||||
string OutText1; // teksty na ekranie
|
||||
string OutText2;
|
||||
string OutText3;
|
||||
string OutText4;
|
||||
void ShowHints();
|
||||
bool Render();
|
||||
TCamera Camera;
|
||||
|
||||
Reference in New Issue
Block a user