mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 23:19:19 +02:00
Merge with asynch17 from dp branch
This commit is contained in:
16
Driver.cpp
16
Driver.cpp
@@ -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
115
Train.cpp
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
1
Train.h
1
Train.h
@@ -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
|
||||||
|
|||||||
@@ -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) +
|
||||||
|
|||||||
Reference in New Issue
Block a user