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

Merge with asynch17 from dp branch

This commit is contained in:
firleju
2016-03-11 06:40:11 +01:00
parent 3cdaac6387
commit 663dc48fd7
4 changed files with 1009 additions and 981 deletions

View File

@@ -2361,6 +2361,9 @@ bool TController::IncBrake()
switch (mvOccupied->BrakeSystem) switch (mvOccupied->BrakeSystem)
{ {
case Individual: case Individual:
if (mvOccupied->LocalBrake == ManualBrake)
OK = mvOccupied->IncManualBrakeLevel(1 + floor(0.5 + fabs(AccDesired)));
else
OK = mvOccupied->IncLocalBrakeLevel(1 + floor(0.5 + fabs(AccDesired))); OK = mvOccupied->IncLocalBrakeLevel(1 + floor(0.5 + fabs(AccDesired)));
break; break;
case Pneumatic: case Pneumatic:
@@ -2434,6 +2437,9 @@ bool TController::DecBrake()
switch (mvOccupied->BrakeSystem) switch (mvOccupied->BrakeSystem)
{ {
case Individual: case Individual:
if (mvOccupied->LocalBrake == ManualBrake)
OK = mvOccupied->DecManualBrakeLevel(1 + floor(0.5 + fabs(AccDesired)));
else
OK = mvOccupied->DecLocalBrakeLevel(1 + floor(0.5 + fabs(AccDesired))); OK = mvOccupied->DecLocalBrakeLevel(1 + floor(0.5 + fabs(AccDesired)));
break; break;
case Pneumatic: case Pneumatic:
@@ -3483,10 +3489,10 @@ bool TController::UpdateSituation(double dt)
fBrakeDist = fBrakeDist + 2 * mvOccupied->Vel; // dla nastawienia G fBrakeDist = fBrakeDist + 2 * mvOccupied->Vel; // dla nastawienia G
// koniecznie należy wydłużyć drogę na czas reakcji // koniecznie należy wydłużyć drogę na czas reakcji
// double scanmax=(mvOccupied->Vel>0.0)?3*fDriverDist+fBrakeDist:10.0*fDriverDist; // double scanmax=(mvOccupied->Vel>0.0)?3*fDriverDist+fBrakeDist:10.0*fDriverDist;
//double scanmax = (mvOccupied->Vel > 5.0) ? double scanmax = (mvOccupied->Vel > 5.0) ?
// 400 + fBrakeDist : 400 + fBrakeDist :
// 30.0 * fDriverDist; // 1500m dla stojących pociągów; Ra 2015-01: przy 30.0 * fDriverDist; // 1500m dla stojących pociągów; Ra 2015-01: przy
double scanmax = Max0R(400 + fBrakeDist, 1500); //double scanmax = Max0R(400 + fBrakeDist, 1500);
// dłuższej drodze skanowania AI jeździ spokojniej // dłuższej drodze skanowania AI jeździ spokojniej
// 2. Sprawdzić, czy tabelka pokrywa założony odcinek (nie musi, jeśli jest STOP). // 2. Sprawdzić, czy tabelka pokrywa założony odcinek (nie musi, jeśli jest STOP).
// 3. Sprawdzić, czy trajektoria ruchu przechodzi przez zwrotnice - jeśli tak, to sprawdzić, // 3. Sprawdzić, czy trajektoria ruchu przechodzi przez zwrotnice - jeśli tak, to sprawdzić,
@@ -5354,7 +5360,7 @@ AnsiString TController::Relation()
}; };
AnsiString TController::TrainName() AnsiString TController::TrainName()
{ // zwraca relację pociągu { // zwraca numer pociągu
return TrainParams->TrainName; return TrainParams->TrainName;
}; };

115
Train.cpp
View File

@@ -343,6 +343,13 @@ PyObject *TTrain::GetTrainState()
PyDict_SetItemString(dict, "car_no", PyGetInt(iCarNo)); PyDict_SetItemString(dict, "car_no", PyGetInt(iCarNo));
PyDict_SetItemString(dict, "power_no", PyGetInt(iPowerNo)); PyDict_SetItemString(dict, "power_no", PyGetInt(iPowerNo));
PyDict_SetItemString(dict, "unit_no", PyGetInt(iUnitNo)); PyDict_SetItemString(dict, "unit_no", PyGetInt(iUnitNo));
PyDict_SetItemString(dict, "universal3", PyGetBool(LampkaUniversal3_st));
PyDict_SetItemString(dict, "ca", PyGetBool(TestFlag(mvOccupied->SecuritySystem.Status, s_aware)));
PyDict_SetItemString(dict, "shp", PyGetBool(TestFlag(mvOccupied->SecuritySystem.Status, s_active)));
PyDict_SetItemString(dict, "manual_brake", PyGetBool(mvOccupied->ManualBrakePos > 0));
PyDict_SetItemString(dict, "pantpress", PyGetFloat(mvControlled->PantPress));
PyDict_SetItemString(dict, "trainnumber", PyGetString(DynamicObject->Mechanik->TrainName().c_str()));
return dict; return dict;
} }
@@ -377,9 +384,7 @@ void TTrain::OnKeyDown(int cKey)
mvOccupied->Radio = true; mvOccupied->Radio = true;
} }
} }
else else if (cKey == Global::Keys[k_DecMainCtrlFAST])
if (cKey == Global::Keys[k_DecMainCtrlFAST])
if (mvControlled->DecMainCtrl(2)) if (mvControlled->DecMainCtrl(2))
{ {
dsbNastawnikJazdy->SetCurrentPosition(0); dsbNastawnikJazdy->SetCurrentPosition(0);
@@ -454,6 +459,7 @@ void TTrain::OnKeyDown(int cKey)
if (mvOccupied->BatterySwitch(true)) // bateria potrzebna np. do zapalenia œwiate³ if (mvOccupied->BatterySwitch(true)) // bateria potrzebna np. do zapalenia œwiate³
{ {
dsbSwitch->Play(0, 0, 0); dsbSwitch->Play(0, 0, 0);
SetLights();
if (TestFlag(mvOccupied->SecuritySystem.SystemType, if (TestFlag(mvOccupied->SecuritySystem.SystemType,
2)) // Ra: znowu w kabinie jest coœ, co byæ nie powinno! 2)) // Ra: znowu w kabinie jest coœ, co byæ nie powinno!
{ {
@@ -477,14 +483,27 @@ void TTrain::OnKeyDown(int cKey)
else if (cKey == Global::Keys[k_Sand]) else if (cKey == Global::Keys[k_Sand])
{ {
if (mvControlled->TrainType == dt_EZT) if (mvControlled->TrainType == dt_EZT)
{
if (ggDoorSignallingButton.SubModel != NULL)
{ {
if (!mvControlled->DoorSignalling) if (!mvControlled->DoorSignalling)
{ {
mvOccupied->DoorBlocked = true;
dsbSwitch->Play(0, 0, 0); dsbSwitch->Play(0, 0, 0);
mvControlled->DoorSignalling = true; mvControlled->DoorSignalling = true;
} }
} }
} }
else if (mvControlled->TrainType != dt_EZT)
{
if (ggSandButton.SubModel != NULL)
{
ggSandButton.PutValue(1);
dsbPneumaticRelay->SetVolume(-80);
dsbPneumaticRelay->Play(0, 0, 0);
}
}
}
if (cKey == Global::Keys[k_Main]) if (cKey == Global::Keys[k_Main])
{ {
if (fabs(ggMainOnButton.GetValue()) < 0.001) if (fabs(ggMainOnButton.GetValue()) < 0.001)
@@ -494,10 +513,10 @@ void TTrain::OnKeyDown(int cKey)
dsbSwitch->Play(0, 0, 0); dsbSwitch->Play(0, 0, 0);
} }
} }
else else if (cKey == Global::Keys[k_BrakeProfile]) // McZapkie-240302-B:
//----------- //-----------
if (cKey == Global::Keys[k_BrakeProfile]) // McZapkie-240302-B:
// przelacznik opoznienia // przelacznik opoznienia
// hamowania // hamowania
{ // yB://ABu: male poprawki, zeby bylo mozna ustawic dowolny wagon { // yB://ABu: male poprawki, zeby bylo mozna ustawic dowolny wagon
@@ -547,7 +566,6 @@ void TTrain::OnKeyDown(int cKey)
} }
} }
} }
else
//----------- //-----------
// hunter-261211: przetwornica i sprzezarka przeniesione do // hunter-261211: przetwornica i sprzezarka przeniesione do
// TTrain::Update() // TTrain::Update()
@@ -576,7 +594,7 @@ void TTrain::OnKeyDown(int cKey)
} }
else */ else */
if (cKey == Global::Keys[k_Converter]) else if (cKey == Global::Keys[k_Converter])
{ {
if (ggConverterButton.GetValue() == 0) if (ggConverterButton.GetValue() == 0)
{ {
@@ -584,12 +602,12 @@ void TTrain::OnKeyDown(int cKey)
dsbSwitch->Play(0, 0, 0); dsbSwitch->Play(0, 0, 0);
} }
} }
else else if ((cKey == Global::Keys[k_Compressor]) &&
(mvControlled->CompressorPower < 2)) // hunter-091012: tak jest poprawnie
// if // if
// ((cKey==Global::Keys[k_Compressor])&&((mvControlled->EngineType==ElectricSeriesMotor)||(mvControlled->TrainType==dt_EZT))) // ((cKey==Global::Keys[k_Compressor])&&((mvControlled->EngineType==ElectricSeriesMotor)||(mvControlled->TrainType==dt_EZT)))
// //hunter-110212: poprawka dla EZT // //hunter-110212: poprawka dla EZT
if ((cKey == Global::Keys[k_Compressor]) &&
(mvControlled->CompressorPower < 2)) // hunter-091012: tak jest poprawnie
{ {
if (ggCompressorButton.GetValue() == 0) if (ggCompressorButton.GetValue() == 0)
{ {
@@ -700,12 +718,11 @@ void TTrain::OnKeyDown(int cKey)
} }
} }
} }
else
//----------- //-----------
// hunter-131211: dzwiek dla przelacznika universala podniesionego // hunter-131211: dzwiek dla przelacznika universala podniesionego
// hunter-091012: ubajerowanie swiatla w kabinie (wyrzucenie // hunter-091012: ubajerowanie swiatla w kabinie (wyrzucenie
// przyciemnienia pod Univ4) // przyciemnienia pod Univ4)
if (cKey == Global::Keys[k_Univ3]) else if (cKey == Global::Keys[k_Univ3])
{ {
if (Console::Pressed(VK_CONTROL)) if (Console::Pressed(VK_CONTROL))
{ {
@@ -730,10 +747,10 @@ void TTrain::OnKeyDown(int cKey)
*/ */
} }
} }
else
//----------- //-----------
// hunter-091012: dzwiek dla przyciemnienia swiatelka w kabinie // hunter-091012: dzwiek dla przyciemnienia swiatelka w kabinie
if (cKey == Global::Keys[k_Univ4]) else if (cKey == Global::Keys[k_Univ4])
{ {
if (Console::Pressed(VK_CONTROL)) if (Console::Pressed(VK_CONTROL))
{ {
@@ -744,9 +761,9 @@ void TTrain::OnKeyDown(int cKey)
} }
} }
} }
else
//----------- //-----------
if (cKey == Global::Keys[k_PantFrontUp]) else if (cKey == Global::Keys[k_PantFrontUp])
{ // Winger 160204: podn. { // Winger 160204: podn.
// przedn. pantografu // przedn. pantografu
if (mvOccupied->ActiveCab == if (mvOccupied->ActiveCab ==
@@ -833,9 +850,10 @@ void TTrain::OnKeyDown(int cKey)
} }
} }
} }
else else if (cKey == Global::Keys[k_LeftSign]) // lewe swiatlo - w³¹czenie
// ABu 060205: dzielo Wingera po malutkim liftingu: // ABu 060205: dzielo Wingera po malutkim liftingu:
if (cKey == Global::Keys[k_LeftSign]) // lewe swiatlo - w³¹czenie {
if (!mvOccupied->LightsPosNo > 0)
{ {
if ((GetAsyncKeyState(VK_CONTROL) < 0) && if ((GetAsyncKeyState(VK_CONTROL) < 0) &&
(ggRearLeftLightButton.SubModel)) // hunter-230112 - z controlem zapala z tylu (ggRearLeftLightButton.SubModel)) // hunter-230112 - z controlem zapala z tylu
@@ -939,6 +957,7 @@ void TTrain::OnKeyDown(int cKey)
} }
} //----------- } //-----------
} }
}
else if (cKey == Global::Keys[k_UpperSign]) // ABu 060205: œwiat³o górne - else if (cKey == Global::Keys[k_UpperSign]) // ABu 060205: œwiat³o górne -
// w³¹czenie // w³¹czenie
{ {
@@ -951,6 +970,8 @@ void TTrain::OnKeyDown(int cKey)
{ {
mvOccupied->LightsPos = 1; mvOccupied->LightsPos = 1;
} }
dsbSwitch->SetVolume(DSBVOLUME_MAX);
dsbSwitch->Play(0, 0, 0);
SetLights(); SetLights();
} }
@@ -1007,6 +1028,8 @@ void TTrain::OnKeyDown(int cKey)
else if (cKey == Global::Keys[k_RightSign]) // Winger 070304: swiatla else if (cKey == Global::Keys[k_RightSign]) // Winger 070304: swiatla
// tylne (koncowki) - // tylne (koncowki) -
// wlaczenie // wlaczenie
{
if (!mvOccupied->LightsPosNo > 0)
{ {
if ((GetAsyncKeyState(VK_CONTROL) < 0) && if ((GetAsyncKeyState(VK_CONTROL) < 0) &&
(ggRearRightLightButton.SubModel)) // hunter-230112 - z controlem zapala z tylu (ggRearRightLightButton.SubModel)) // hunter-230112 - z controlem zapala z tylu
@@ -1110,6 +1133,7 @@ void TTrain::OnKeyDown(int cKey)
} }
} }
} }
}
else // McZapkie-240302 - klawisze bez shifta else // McZapkie-240302 - klawisze bez shifta
{ {
if (cKey == Global::Keys[k_IncMainCtrl]) if (cKey == Global::Keys[k_IncMainCtrl])
@@ -1345,10 +1369,9 @@ void TTrain::OnKeyDown(int cKey)
// while (mvOccupied->BrakeCtrlPos<-1 && mvOccupied->IncBrakeLevel()); // while (mvOccupied->BrakeCtrlPos<-1 && mvOccupied->IncBrakeLevel());
mvOccupied->BrakeLevelSet(-1); mvOccupied->BrakeLevelSet(-1);
} }
else else if (cKey == Global::Keys[k_Czuwak])
//--------------- //---------------
// hunter-131211: zbicie czuwaka przeniesione do TTrain::Update() // hunter-131211: zbicie czuwaka przeniesione do TTrain::Update()
if (cKey == Global::Keys[k_Czuwak])
{ // Ra: tu zosta³ tylko dŸwiêk { // Ra: tu zosta³ tylko dŸwiêk
// dsbBuzzer->Stop(); // dsbBuzzer->Stop();
// if (mvOccupied->SecuritySystemReset()) // if (mvOccupied->SecuritySystemReset())
@@ -1359,11 +1382,10 @@ void TTrain::OnKeyDown(int cKey)
} }
// ggSecurityResetButton.PutValue(1); // ggSecurityResetButton.PutValue(1);
} }
else else if (cKey == Global::Keys[k_AntiSlipping])
//--------------- //---------------
// hunter-221211: hamulec przeciwposlizgowy przeniesiony do // hunter-221211: hamulec przeciwposlizgowy przeniesiony do
// TTrain::Update() // TTrain::Update()
if (cKey == Global::Keys[k_AntiSlipping])
{ {
if (mvOccupied->BrakeSystem != ElectroPneumatic) if (mvOccupied->BrakeSystem != ElectroPneumatic)
{ {
@@ -1378,10 +1400,8 @@ void TTrain::OnKeyDown(int cKey)
// ggAntiSlipButton.PutValue(1); // ggAntiSlipButton.PutValue(1);
} }
} }
else else if (cKey == Global::Keys[k_Fuse])
//--------------- //---------------
if (cKey == Global::Keys[k_Fuse])
{ {
if (GetAsyncKeyState(VK_CONTROL) < 0) // z controlem if (GetAsyncKeyState(VK_CONTROL) < 0) // z controlem
{ {
@@ -1396,9 +1416,8 @@ void TTrain::OnKeyDown(int cKey)
mvControlled->FuseOn(); mvControlled->FuseOn();
} }
} }
else else if (cKey == Global::Keys[k_DirectionForward])
// McZapkie-240302 - zmiana kierunku: 'd' do przodu, 'r' do tylu // McZapkie-240302 - zmiana kierunku: 'd' do przodu, 'r' do tylu
if (cKey == Global::Keys[k_DirectionForward])
{ {
if (mvOccupied->DirectionForward()) if (mvOccupied->DirectionForward())
{ {
@@ -1457,11 +1476,10 @@ void TTrain::OnKeyDown(int cKey)
Change_direction); // aktualizacja skrajnych pojazdów w sk³adzie Change_direction); // aktualizacja skrajnych pojazdów w sk³adzie
} }
} }
else else if (cKey == Global::Keys[k_Main])
// McZapkie-240302 - wylaczanie glownego obwodu // McZapkie-240302 - wylaczanie glownego obwodu
//----------- //-----------
// hunter-141211: wyl. szybki wylaczony przeniesiony do TTrain::Update() // hunter-141211: wyl. szybki wylaczony przeniesiony do TTrain::Update()
if (cKey == Global::Keys[k_Main])
{ {
if (fabs(ggMainOffButton.GetValue()) < 0.001) if (fabs(ggMainOffButton.GetValue()) < 0.001)
if (dsbSwitch) if (dsbSwitch)
@@ -1470,9 +1488,7 @@ void TTrain::OnKeyDown(int cKey)
dsbSwitch->Play(0, 0, 0); dsbSwitch->Play(0, 0, 0);
} }
} }
else else if (cKey == Global::Keys[k_Battery])
if (cKey == Global::Keys[k_Battery])
{ {
// if ((mvControlled->TrainType==dt_EZT) || // if ((mvControlled->TrainType==dt_EZT) ||
// (mvControlled->EngineType==ElectricSeriesMotor)|| // (mvControlled->EngineType==ElectricSeriesMotor)||
@@ -1549,11 +1565,10 @@ void TTrain::OnKeyDown(int cKey)
} }
} }
} }
else else if (cKey == Global::Keys[k_Converter])
//----------- //-----------
// hunter-261211: przetwornica i sprzezarka przeniesione do // hunter-261211: przetwornica i sprzezarka przeniesione do
// TTrain::Update() // TTrain::Update()
if (cKey == Global::Keys[k_Converter])
{ {
if (ggConverterButton.GetValue() != 0) if (ggConverterButton.GetValue() != 0)
{ {
@@ -1561,11 +1576,10 @@ void TTrain::OnKeyDown(int cKey)
dsbSwitch->Play(0, 0, 0); dsbSwitch->Play(0, 0, 0);
} }
} }
else
// if // if
// ((cKey==Global::Keys[k_Compressor])&&((mvControlled->EngineType==ElectricSeriesMotor)||(mvControlled->TrainType==dt_EZT))) // ((cKey==Global::Keys[k_Compressor])&&((mvControlled->EngineType==ElectricSeriesMotor)||(mvControlled->TrainType==dt_EZT)))
// //hunter-110212: poprawka dla EZT // //hunter-110212: poprawka dla EZT
if ((cKey == Global::Keys[k_Compressor]) && else if ((cKey == Global::Keys[k_Compressor]) &&
(mvControlled->CompressorPower < 2)) // hunter-091012: tak jest poprawnie (mvControlled->CompressorPower < 2)) // hunter-091012: tak jest poprawnie
{ {
if (ggCompressorButton.GetValue() != 0) if (ggCompressorButton.GetValue() != 0)
@@ -1574,9 +1588,8 @@ void TTrain::OnKeyDown(int cKey)
dsbSwitch->Play(0, 0, 0); dsbSwitch->Play(0, 0, 0);
} }
} }
else
//----------- //-----------
if (cKey == Global::Keys[k_Releaser]) // odluzniacz else if (cKey == Global::Keys[k_Releaser]) // odluzniacz
{ {
if (!FreeFlyModeFlag) if (!FreeFlyModeFlag)
{ {
@@ -1650,10 +1663,10 @@ void TTrain::OnKeyDown(int cKey)
dsbSwitch->Play(0, 0, 0); dsbSwitch->Play(0, 0, 0);
} }
} }
else
// hunter-201211: piasecznica poprawiona oraz przeniesiona do // hunter-201211: piasecznica poprawiona oraz przeniesiona do
// TTrain::Update() // TTrain::Update()
if (cKey == Global::Keys[k_Sand]) else if (cKey == Global::Keys[k_Sand])
{ {
/* /*
if (mvControlled->TrainType!=dt_EZT) if (mvControlled->TrainType!=dt_EZT)
@@ -1926,12 +1939,12 @@ if
} }
} }
} }
else
//----------- //-----------
// hunter-131211: dzwiek dla przelacznika universala // hunter-131211: dzwiek dla przelacznika universala
// hunter-091012: ubajerowanie swiatla w kabinie (wyrzucenie // hunter-091012: ubajerowanie swiatla w kabinie (wyrzucenie
// przyciemnienia pod Univ4) // przyciemnienia pod Univ4)
if (cKey == Global::Keys[k_Univ3]) else if (cKey == Global::Keys[k_Univ3])
{ {
if (Console::Pressed(VK_CONTROL)) if (Console::Pressed(VK_CONTROL))
{ {
@@ -1955,10 +1968,10 @@ if
} */ } */
} }
} }
else
//----------- //-----------
// hunter-091012: dzwiek dla przyciemnienia swiatelka w kabinie // hunter-091012: dzwiek dla przyciemnienia swiatelka w kabinie
if (cKey == Global::Keys[k_Univ4]) else if (cKey == Global::Keys[k_Univ4])
{ {
if (Console::Pressed(VK_CONTROL)) if (Console::Pressed(VK_CONTROL))
{ {
@@ -2038,6 +2051,8 @@ if
} }
else if (cKey == Global::Keys[k_LeftSign]) // ABu 060205: lewe swiatlo - else if (cKey == Global::Keys[k_LeftSign]) // ABu 060205: lewe swiatlo -
// wylaczenie // wylaczenie
{
if (!mvOccupied->LightsPosNo > 0)
{ {
if ((GetAsyncKeyState(VK_CONTROL) < 0) && if ((GetAsyncKeyState(VK_CONTROL) < 0) &&
(ggRearLeftLightButton.SubModel)) // hunter-230112 - z controlem gasi z tylu (ggRearLeftLightButton.SubModel)) // hunter-230112 - z controlem gasi z tylu
@@ -2140,6 +2155,7 @@ if
} }
} }
} }
}
else if (cKey == Global::Keys[k_UpperSign]) // ABu 060205: œwiat³o górne - else if (cKey == Global::Keys[k_UpperSign]) // ABu 060205: œwiat³o górne -
// wy³¹czenie // wy³¹czenie
{ {
@@ -2152,6 +2168,8 @@ if
{ {
mvOccupied->LightsPos = mvOccupied->LightsPosNo; mvOccupied->LightsPos = mvOccupied->LightsPosNo;
} }
dsbSwitch->SetVolume(DSBVOLUME_MAX);
dsbSwitch->Play(0, 0, 0);
SetLights(); SetLights();
} }
} }
@@ -2206,6 +2224,8 @@ if
} }
if (cKey == Global::Keys[k_RightSign]) // Winger 070304: swiatla tylne if (cKey == Global::Keys[k_RightSign]) // Winger 070304: swiatla tylne
// (koncowki) - wlaczenie // (koncowki) - wlaczenie
{
if (!mvOccupied->LightsPosNo > 0)
{ {
if ((GetAsyncKeyState(VK_CONTROL) < 0) && if ((GetAsyncKeyState(VK_CONTROL) < 0) &&
(ggRearRightLightButton.SubModel)) // hunter-230112 - z controlem gasi z tylu (ggRearRightLightButton.SubModel)) // hunter-230112 - z controlem gasi z tylu
@@ -2308,6 +2328,7 @@ if
} }
} }
} }
}
else if (cKey == Global::Keys[k_StLinOff]) // Winger 110904: wylacznik st. else if (cKey == Global::Keys[k_StLinOff]) // Winger 110904: wylacznik st.
// liniowych // liniowych
{ {
@@ -5229,7 +5250,7 @@ bool TTrain::LoadMMediaFile(AnsiString asFileName)
str = Parser->GetNextSymbol().LowerCase(); str = Parser->GetNextSymbol().LowerCase();
dsbDoorClose = TSoundsManager::GetFromName(str.c_str(), true); dsbDoorClose = TSoundsManager::GetFromName(str.c_str(), true);
} }
else if (str == AnsiString("dooropen:")) // wotwarcie drzwi: else if (str == AnsiString("dooropen:")) // otwarcie drzwi:
{ {
str = Parser->GetNextSymbol().LowerCase(); str = Parser->GetNextSymbol().LowerCase();
dsbDoorOpen = TSoundsManager::GetFromName(str.c_str(), true); dsbDoorOpen = TSoundsManager::GetFromName(str.c_str(), true);
@@ -6075,14 +6096,14 @@ void TTrain::SetLights()
TDynamicObject *p = DynamicObject->GetFirstDynamic(mvOccupied->ActiveCab < 0 ? 1 : 0); TDynamicObject *p = DynamicObject->GetFirstDynamic(mvOccupied->ActiveCab < 0 ? 1 : 0);
bool kier = (DynamicObject->DirectionGet() * mvOccupied->ActiveCab > 0); bool kier = (DynamicObject->DirectionGet() * mvOccupied->ActiveCab > 0);
int xs = (kier ? 0 : 1); int xs = (kier ? 0 : 1);
if (kier ? p->NextC(4) : p->PrevC(4)) // jesli jest nastepny, to tylko przod if (kier ? p->NextC(1) : p->PrevC(1)) // jesli jest nastepny, to tylko przod
{ {
p->RaLightsSet(mvOccupied->Lights[xs][mvOccupied->LightsPos - 1] * (1 - xs), p->RaLightsSet(mvOccupied->Lights[xs][mvOccupied->LightsPos - 1] * (1 - xs),
mvOccupied->Lights[1 - xs][mvOccupied->LightsPos - 1] * xs); mvOccupied->Lights[1 - xs][mvOccupied->LightsPos - 1] * xs);
p = (kier ? p->NextC(4) : p->PrevC(4)); p = (kier ? p->NextC(4) : p->PrevC(4));
while (p) while (p)
{ {
if (kier ? p->NextC(4) : p->PrevC(4)) if (kier ? p->NextC(1) : p->PrevC(1))
{ {
p->RaLightsSet(0, 0); p->RaLightsSet(0, 0);
} }

View File

@@ -151,6 +151,7 @@ class TTrain
TGauge ggMainButton; // EZT TGauge ggMainButton; // EZT
TGauge ggSecurityResetButton; TGauge ggSecurityResetButton;
TGauge ggReleaserButton; TGauge ggReleaserButton;
TGauge ggSandButton; //guzik piasecznicy
TGauge ggAntiSlipButton; TGauge ggAntiSlipButton;
TGauge ggFuseButton; TGauge ggFuseButton;
TGauge ggConverterFuseButton; // hunter-261211: przycisk odblokowania TGauge ggConverterFuseButton; // hunter-261211: przycisk odblokowania

View File

@@ -664,7 +664,7 @@ bool TWorld::Init(HWND NhWnd, HDC hDC)
} }
// glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); //{Texture blends with object // glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); //{Texture blends with object
// background} // background}
light = TTexturesManager::GetTextureID(szTexturePath, szSceneryPath, "smuga.tga"); light = TTexturesManager::GetTextureID(szTexturePath, szSceneryPath, "smuga2.tga");
// Camera.Reset(); // Camera.Reset();
ResetTimers(); ResetTimers();
WriteLog("Load time: " + FloatToStrF((86400.0 * ((double)Now() - time)), ffFixed, 7, 1) + WriteLog("Load time: " + FloatToStrF((86400.0 * ((double)Now() - time)), ffFixed, 7, 1) +