mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 23:19:19 +02:00
re-enabled cargo mesh loading; minor brake fixes; increased use of glew and stl containers
This commit is contained in:
@@ -477,21 +477,12 @@ struct TPowerParameters
|
||||
/*dla lokomotyw elektrycznych:*/
|
||||
struct TScheme
|
||||
{
|
||||
int Relay; /*numer pozycji rozruchu samoczynnego*/
|
||||
double R; /*opornik rozruchowy*/ /*dla dizla napelnienie*/
|
||||
int Bn;
|
||||
int Mn; /*ilosc galezi i silnikow w galezi*/ /*dla dizla Mn: czy luz czy nie*/
|
||||
bool AutoSwitch; /*czy dana pozycja nastawniana jest recznie czy autom.*/
|
||||
int ScndAct; /*jesli ma bocznik w nastawniku, to ktory bocznik na ktorej pozycji*/
|
||||
inline TScheme()
|
||||
{
|
||||
Relay = 0;
|
||||
R = 0.0;
|
||||
Bn = 0.0;
|
||||
Mn = 0.0;
|
||||
AutoSwitch = false;
|
||||
ScndAct = 0;
|
||||
}
|
||||
int Relay = 0; /*numer pozycji rozruchu samoczynnego*/
|
||||
double R = 0.0; /*opornik rozruchowy*/ /*dla dizla napelnienie*/
|
||||
int Bn = 0;
|
||||
int Mn = 0; /*ilosc galezi i silnikow w galezi*/ /*dla dizla Mn: czy luz czy nie*/
|
||||
bool AutoSwitch = false; /*czy dana pozycja nastawniana jest recznie czy autom.*/
|
||||
int ScndAct = 0; /*jesli ma bocznik w nastawniku, to ktory bocznik na ktorej pozycji*/
|
||||
};
|
||||
typedef TScheme TSchemeTable[ResArraySize + 1]; /*tablica rezystorow rozr.*/
|
||||
struct TDEScheme
|
||||
|
||||
@@ -7011,6 +7011,7 @@ bool TMoverParameters::LoadFIZ(std::string chkpath)
|
||||
else if (aType == "182")
|
||||
TrainType = dt_181; // na razie tak
|
||||
|
||||
LoadAccepted = ToLower( bLoadAccepted );
|
||||
MaxLoad = bMaxLoad;
|
||||
LoadQuantity = bLoadQ;
|
||||
OverLoadFactor = bOverLoadFactor;
|
||||
@@ -8019,25 +8020,30 @@ bool TMoverParameters::SetInternalCommand(std::string NewCommand, double NewValu
|
||||
// Q: 20160714
|
||||
// wysyłanie komendy w kierunku dir (1=przód, -1=tył) do kolejnego pojazdu (jednego)
|
||||
// *************************************************************************************************
|
||||
bool TMoverParameters::SendCtrlToNext(std::string CtrlCommand, double ctrlvalue, double dir)
|
||||
{
|
||||
bool TMoverParameters::SendCtrlToNext( std::string CtrlCommand, double ctrlvalue, double dir ) {
|
||||
bool OK;
|
||||
int d; // numer sprzęgu w kierunku którego wysyłamy
|
||||
|
||||
// Ra: był problem z propagacją, jeśli w składzie jest pojazd wstawiony odwrotnie
|
||||
// Ra: problem jest również, jeśli AI będzie na końcu składu
|
||||
OK = (dir != 0); // and Mains;
|
||||
d = (1 + Sign(dir)) / 2; // dir=-1=>d=0, dir=1=>d=1 - wysyłanie tylko w tył
|
||||
if (OK) // musi być wybrana niezerowa kabina
|
||||
if (TestFlag(Couplers[d].CouplingFlag, ctrain_controll))
|
||||
if (Couplers[d].ConnectedNr != d) // jeśli ten nastpęny jest zgodny z aktualnym
|
||||
{
|
||||
if (Couplers[d].Connected->SetInternalCommand(CtrlCommand, ctrlvalue, dir))
|
||||
OK = (Couplers[d].Connected->RunInternalCommand() && OK); // tu jest rekurencja
|
||||
OK = ( dir != 0 ); // and Mains;
|
||||
d = ( 1 + Sign( dir ) ) / 2; // dir=-1=>d=0, dir=1=>d=1 - wysyłanie tylko w tył
|
||||
if( OK ) {
|
||||
// musi być wybrana niezerowa kabina
|
||||
if( ( Couplers[ d ].Connected != nullptr )
|
||||
&& ( TestFlag( Couplers[ d ].CouplingFlag, ctrain_controll ) ) ) {
|
||||
if( Couplers[ d ].ConnectedNr != d ) {
|
||||
// jeśli ten nastpęny jest zgodny z aktualnym
|
||||
if( Couplers[ d ].Connected->SetInternalCommand( CtrlCommand, ctrlvalue, dir ) )
|
||||
OK = ( Couplers[ d ].Connected->RunInternalCommand() && OK ); // tu jest rekurencja
|
||||
}
|
||||
else // jeśli następny jest ustawiony przeciwnie, zmieniamy kierunek
|
||||
if (Couplers[d].Connected->SetInternalCommand(CtrlCommand, ctrlvalue, -dir))
|
||||
OK = (Couplers[d].Connected->RunInternalCommand() && OK); // tu jest rekurencja
|
||||
else {
|
||||
// jeśli następny jest ustawiony przeciwnie, zmieniamy kierunek
|
||||
if( Couplers[ d ].Connected->SetInternalCommand( CtrlCommand, ctrlvalue, -dir ) )
|
||||
OK = ( Couplers[ d ].Connected->RunInternalCommand() && OK ); // tu jest rekurencja
|
||||
}
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -378,7 +378,7 @@ bool TBrake::SetBDF(int nBDF)
|
||||
|
||||
void TBrake::Releaser(int state)
|
||||
{
|
||||
BrakeStatus = (BrakeStatus & 247) || state * b_rls;
|
||||
BrakeStatus = (BrakeStatus & 247) | ( state * b_rls );
|
||||
}
|
||||
|
||||
void TBrake::SetEPS(double nEPS)
|
||||
@@ -387,7 +387,7 @@ void TBrake::SetEPS(double nEPS)
|
||||
|
||||
void TBrake::ASB(int state)
|
||||
{ // 255-b_asb(32)
|
||||
BrakeStatus = (BrakeStatus & 223) || state * b_asb;
|
||||
BrakeStatus = (BrakeStatus & 223) | ( state * b_asb );
|
||||
}
|
||||
|
||||
int TBrake::GetStatus()
|
||||
|
||||
Reference in New Issue
Block a user