mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 02:29:17 +02:00
pantograph valves state update cab control, skydome tweaks, minor bug fixes
This commit is contained in:
@@ -1168,7 +1168,7 @@ public:
|
|||||||
bool UniCtrlIntegratedBrakeCtrl = false; /*zintegrowany nastawnik JH obsluguje hamowanie*/
|
bool UniCtrlIntegratedBrakeCtrl = false; /*zintegrowany nastawnik JH obsluguje hamowanie*/
|
||||||
bool UniCtrlIntegratedLocalBrakeCtrl = false; /*zintegrowany nastawnik JH obsluguje hamowanie hamulcem pomocniczym*/
|
bool UniCtrlIntegratedLocalBrakeCtrl = false; /*zintegrowany nastawnik JH obsluguje hamowanie hamulcem pomocniczym*/
|
||||||
int UniCtrlNoPowerPos{ 0 }; // cached highesr position not generating traction force
|
int UniCtrlNoPowerPos{ 0 }; // cached highesr position not generating traction force
|
||||||
std::pair<std::string, std::array<int, 2>> PantsPreset { "", { 0, 0 } }; // pantograph preset switches; .first holds possible setups as chars, .second holds currently selected preset in each cab
|
std::pair<std::string, std::array<int, 2>> PantsPreset { "0132", { 0, 0 } }; // pantograph preset switches; .first holds possible setups as chars, .second holds currently selected preset in each cab
|
||||||
|
|
||||||
/*-sekcja parametrow dla lokomotywy elektrycznej*/
|
/*-sekcja parametrow dla lokomotywy elektrycznej*/
|
||||||
TSchemeTable RList; /*lista rezystorow rozruchowych i polaczen silnikow, dla dizla: napelnienia*/
|
TSchemeTable RList; /*lista rezystorow rozruchowych i polaczen silnikow, dla dizla: napelnienia*/
|
||||||
|
|||||||
77
Train.cpp
77
Train.cpp
@@ -285,6 +285,8 @@ TTrain::commandhandler_map const TTrain::m_commandhandlers = {
|
|||||||
{ user_command::pantographtoggleselected, &TTrain::OnCommand_pantographtoggleselected },
|
{ user_command::pantographtoggleselected, &TTrain::OnCommand_pantographtoggleselected },
|
||||||
{ user_command::pantographraiseselected, &TTrain::OnCommand_pantographraiseselected },
|
{ user_command::pantographraiseselected, &TTrain::OnCommand_pantographraiseselected },
|
||||||
{ user_command::pantographlowerselected, &TTrain::OnCommand_pantographlowerselected },
|
{ user_command::pantographlowerselected, &TTrain::OnCommand_pantographlowerselected },
|
||||||
|
{ user_command::pantographvalvesupdate, &TTrain::OnCommand_pantographvalvesupdate },
|
||||||
|
{ user_command::pantographvalvesoff, &TTrain::OnCommand_pantographvalvesoff },
|
||||||
{ user_command::linebreakertoggle, &TTrain::OnCommand_linebreakertoggle },
|
{ user_command::linebreakertoggle, &TTrain::OnCommand_linebreakertoggle },
|
||||||
{ user_command::linebreakeropen, &TTrain::OnCommand_linebreakeropen },
|
{ user_command::linebreakeropen, &TTrain::OnCommand_linebreakeropen },
|
||||||
{ user_command::linebreakerclose, &TTrain::OnCommand_linebreakerclose },
|
{ user_command::linebreakerclose, &TTrain::OnCommand_linebreakerclose },
|
||||||
@@ -2552,6 +2554,20 @@ void TTrain::OnCommand_pantographlowerselected( TTrain *Train, command_data cons
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TTrain::update_pantograph_valves() {
|
||||||
|
|
||||||
|
auto const &presets { mvOccupied->PantsPreset.first };
|
||||||
|
auto &selection { mvOccupied->PantsPreset.second[ cab_to_end() ] };
|
||||||
|
|
||||||
|
auto const preset { presets[ selection ] - '0' };
|
||||||
|
auto const swapends { cab_to_end() != end::front };
|
||||||
|
// check desired states for both pantographs; value: whether the pantograph should be raised
|
||||||
|
auto const frontstate { preset & ( swapends ? 2 : 1 ) };
|
||||||
|
auto const rearstate { preset & ( swapends ? 1 : 2 ) };
|
||||||
|
mvOccupied->OperatePantographValve( end::front, ( frontstate ? operation_t::enable : operation_t::disable ) );
|
||||||
|
mvOccupied->OperatePantographValve( end::rear, ( rearstate ? operation_t::enable : operation_t::disable ) );
|
||||||
|
}
|
||||||
|
|
||||||
void TTrain::change_pantograph_selection( int const Change ) {
|
void TTrain::change_pantograph_selection( int const Change ) {
|
||||||
|
|
||||||
auto const &presets { mvOccupied->PantsPreset.first };
|
auto const &presets { mvOccupied->PantsPreset.first };
|
||||||
@@ -2561,15 +2577,45 @@ void TTrain::change_pantograph_selection( int const Change ) {
|
|||||||
|
|
||||||
if( selection == initialstate ) { return; } // no change, nothing to do
|
if( selection == initialstate ) { return; } // no change, nothing to do
|
||||||
|
|
||||||
// configure pantograph valves matching the new state
|
// potentially adjust pantograph valves to match the new state
|
||||||
auto const preset { presets[ selection ] - '0' };
|
if( false == m_controlmapper.contains( "pantvalves_sw:" ) ) {
|
||||||
auto const swapends { cab_to_end() != end::front };
|
update_pantograph_valves();
|
||||||
// check desired states for both pantographs; value: whether the pantograph should be raised
|
}
|
||||||
auto const frontstate { preset & ( swapends ? 2 : 1 ) };
|
}
|
||||||
auto const rearstate { preset & ( swapends ? 1 : 2 ) };
|
|
||||||
// potentially adjust pantograph valves
|
void TTrain::OnCommand_pantographvalvesupdate( TTrain *Train, command_data const &Command ) {
|
||||||
mvOccupied->OperatePantographValve( end::front, ( frontstate ? operation_t::enable : operation_t::disable ) );
|
|
||||||
mvOccupied->OperatePantographValve( end::rear, ( rearstate ? operation_t::enable : operation_t::disable ) );
|
if( Command.action == GLFW_REPEAT ) { return; }
|
||||||
|
|
||||||
|
if( Command.action == GLFW_PRESS ) {
|
||||||
|
// implement action
|
||||||
|
Train->update_pantograph_valves();
|
||||||
|
// visual feedback
|
||||||
|
Train->ggPantValvesButton.UpdateValue( 1.0, Train->dsbSwitch );
|
||||||
|
}
|
||||||
|
else if( Command.action == GLFW_RELEASE ) {
|
||||||
|
// visual feedback
|
||||||
|
// NOTE: pantvalves_sw: is a specialized button, with no toggle behavior support
|
||||||
|
Train->ggPantValvesButton.UpdateValue( 0.5, Train->dsbSwitch );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TTrain::OnCommand_pantographvalvesoff( TTrain *Train, command_data const &Command ) {
|
||||||
|
|
||||||
|
if( Command.action == GLFW_REPEAT ) { return; }
|
||||||
|
|
||||||
|
if( Command.action == GLFW_PRESS ) {
|
||||||
|
// implement action
|
||||||
|
Train->mvOccupied->OperatePantographValve( end::front, operation_t::disable );
|
||||||
|
Train->mvOccupied->OperatePantographValve( end::rear, operation_t::disable );
|
||||||
|
// visual feedback
|
||||||
|
Train->ggPantValvesButton.UpdateValue( 0.0, Train->dsbSwitch );
|
||||||
|
}
|
||||||
|
else if( Command.action == GLFW_RELEASE ) {
|
||||||
|
// visual feedback
|
||||||
|
// NOTE: pantvalves_sw: is a specialized button, with no toggle behavior support
|
||||||
|
Train->ggPantValvesButton.UpdateValue( 0.5, Train->dsbSwitch );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TTrain::OnCommand_pantographcompressorvalvetoggle( TTrain *Train, command_data const &Command ) {
|
void TTrain::OnCommand_pantographcompressorvalvetoggle( TTrain *Train, command_data const &Command ) {
|
||||||
@@ -7196,6 +7242,7 @@ bool TTrain::Update( double const Deltatime )
|
|||||||
ggPantAllDownButton.Update();
|
ggPantAllDownButton.Update();
|
||||||
ggPantSelectedDownButton.Update();
|
ggPantSelectedDownButton.Update();
|
||||||
ggPantSelectedButton.Update();
|
ggPantSelectedButton.Update();
|
||||||
|
ggPantValvesButton.Update();
|
||||||
ggPantCompressorButton.Update();
|
ggPantCompressorButton.Update();
|
||||||
ggPantCompressorValve.Update();
|
ggPantCompressorValve.Update();
|
||||||
|
|
||||||
@@ -8398,15 +8445,18 @@ TTrain::MoveToVehicle(TDynamicObject *target) {
|
|||||||
|
|
||||||
if( Dynamic()->Mechanik ) {
|
if( Dynamic()->Mechanik ) {
|
||||||
Dynamic()->Mechanik->MoveTo( target );
|
Dynamic()->Mechanik->MoveTo( target );
|
||||||
|
}
|
||||||
|
|
||||||
|
DynamicSet( target );
|
||||||
|
|
||||||
|
Dynamic()->MechInside = true;
|
||||||
|
if( Dynamic()->Mechanik ) {
|
||||||
Dynamic()->Controller = Dynamic()->Mechanik->AIControllFlag;
|
Dynamic()->Controller = Dynamic()->Mechanik->AIControllFlag;
|
||||||
Dynamic()->Mechanik->DirectionChange();
|
Dynamic()->Mechanik->DirectionChange();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Dynamic()->Controller = Humandriver;
|
Dynamic()->Controller = Humandriver;
|
||||||
}
|
}
|
||||||
Dynamic()->MechInside = true;
|
|
||||||
|
|
||||||
DynamicSet(target);
|
|
||||||
|
|
||||||
Occupied()->LimPipePress = Occupied()->PipePress;
|
Occupied()->LimPipePress = Occupied()->PipePress;
|
||||||
Occupied()->CabActivisation( true ); // załączenie rozrządu (wirtualne kabiny)
|
Occupied()->CabActivisation( true ); // załączenie rozrządu (wirtualne kabiny)
|
||||||
@@ -8612,6 +8662,7 @@ void TTrain::clear_cab_controls()
|
|||||||
ggPantAllDownButton.Clear();
|
ggPantAllDownButton.Clear();
|
||||||
ggPantSelectedButton.Clear();
|
ggPantSelectedButton.Clear();
|
||||||
ggPantSelectedDownButton.Clear();
|
ggPantSelectedDownButton.Clear();
|
||||||
|
ggPantValvesButton.Clear();
|
||||||
ggPantCompressorButton.Clear();
|
ggPantCompressorButton.Clear();
|
||||||
ggPantCompressorValve.Clear();
|
ggPantCompressorValve.Clear();
|
||||||
ggI1B.Clear();
|
ggI1B.Clear();
|
||||||
@@ -8806,6 +8857,7 @@ void TTrain::set_cab_controls( int const Cab ) {
|
|||||||
1.f :
|
1.f :
|
||||||
0.f ) );
|
0.f ) );
|
||||||
}
|
}
|
||||||
|
ggPantValvesButton.PutValue( 0.5f );
|
||||||
// auxiliary compressor
|
// auxiliary compressor
|
||||||
ggPantCompressorValve.PutValue(
|
ggPantCompressorValve.PutValue(
|
||||||
mvControlled->bPantKurek3 ?
|
mvControlled->bPantKurek3 ?
|
||||||
@@ -9308,6 +9360,7 @@ bool TTrain::initialize_gauge(cParser &Parser, std::string const &Label, int con
|
|||||||
{ "pantalloff_sw:", ggPantAllDownButton },
|
{ "pantalloff_sw:", ggPantAllDownButton },
|
||||||
{ "pantselected_sw:", ggPantSelectedButton },
|
{ "pantselected_sw:", ggPantSelectedButton },
|
||||||
{ "pantselectedoff_sw:", ggPantSelectedDownButton },
|
{ "pantselectedoff_sw:", ggPantSelectedDownButton },
|
||||||
|
{ "pantvalves_sw:", ggPantValvesButton },
|
||||||
{ "pantcompressor_sw:", ggPantCompressorButton },
|
{ "pantcompressor_sw:", ggPantCompressorButton },
|
||||||
{ "pantcompressorvalve_sw:", ggPantCompressorValve },
|
{ "pantcompressorvalve_sw:", ggPantCompressorValve },
|
||||||
{ "trainheating_sw:", ggTrainHeatingButton },
|
{ "trainheating_sw:", ggTrainHeatingButton },
|
||||||
|
|||||||
5
Train.h
5
Train.h
@@ -190,6 +190,8 @@ class TTrain {
|
|||||||
void set_paired_open_motor_connectors_button( bool const State );
|
void set_paired_open_motor_connectors_button( bool const State );
|
||||||
// helper, common part of pantograph selection methods
|
// helper, common part of pantograph selection methods
|
||||||
void change_pantograph_selection( int const Change );
|
void change_pantograph_selection( int const Change );
|
||||||
|
// helper, common part of pantograh valves state update methods
|
||||||
|
void update_pantograph_valves();
|
||||||
// update function subroutines
|
// update function subroutines
|
||||||
void update_sounds( double const Deltatime );
|
void update_sounds( double const Deltatime );
|
||||||
void update_sounds_runningnoise( sound_source &Sound );
|
void update_sounds_runningnoise( sound_source &Sound );
|
||||||
@@ -291,6 +293,8 @@ class TTrain {
|
|||||||
static void OnCommand_pantographtoggleselected( TTrain *Train, command_data const &Command );
|
static void OnCommand_pantographtoggleselected( TTrain *Train, command_data const &Command );
|
||||||
static void OnCommand_pantographraiseselected( TTrain *Train, command_data const &Command );
|
static void OnCommand_pantographraiseselected( TTrain *Train, command_data const &Command );
|
||||||
static void OnCommand_pantographlowerselected( TTrain *Train, command_data const &Command );
|
static void OnCommand_pantographlowerselected( TTrain *Train, command_data const &Command );
|
||||||
|
static void OnCommand_pantographvalvesupdate( TTrain *Train, command_data const &Command );
|
||||||
|
static void OnCommand_pantographvalvesoff( TTrain *Train, command_data const &Command );
|
||||||
static void OnCommand_linebreakertoggle( TTrain *Train, command_data const &Command );
|
static void OnCommand_linebreakertoggle( TTrain *Train, command_data const &Command );
|
||||||
static void OnCommand_linebreakeropen( TTrain *Train, command_data const &Command );
|
static void OnCommand_linebreakeropen( TTrain *Train, command_data const &Command );
|
||||||
static void OnCommand_linebreakerclose( TTrain *Train, command_data const &Command );
|
static void OnCommand_linebreakerclose( TTrain *Train, command_data const &Command );
|
||||||
@@ -599,6 +603,7 @@ public: // reszta może by?publiczna
|
|||||||
TGauge ggPantAllDownButton;
|
TGauge ggPantAllDownButton;
|
||||||
TGauge ggPantSelectedButton;
|
TGauge ggPantSelectedButton;
|
||||||
TGauge ggPantSelectedDownButton;
|
TGauge ggPantSelectedDownButton;
|
||||||
|
TGauge ggPantValvesButton;
|
||||||
TGauge ggPantCompressorButton;
|
TGauge ggPantCompressorButton;
|
||||||
TGauge ggPantCompressorValve;
|
TGauge ggPantCompressorValve;
|
||||||
// Winger 020304 - wlacznik ogrzewania
|
// Winger 020304 - wlacznik ogrzewania
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ commanddescription_sequence Commands_descriptions = {
|
|||||||
{ "pantographtoggleselected", command_target::vehicle },
|
{ "pantographtoggleselected", command_target::vehicle },
|
||||||
{ "pantographraiseselected", command_target::vehicle },
|
{ "pantographraiseselected", command_target::vehicle },
|
||||||
{ "pantographlowerselected", command_target::vehicle },
|
{ "pantographlowerselected", command_target::vehicle },
|
||||||
|
{ "pantographvalvesupdate", command_target::vehicle },
|
||||||
|
{ "pantographvalvesoff", command_target::vehicle },
|
||||||
{ "heatingtoggle", command_target::vehicle },
|
{ "heatingtoggle", command_target::vehicle },
|
||||||
{ "heatingenable", command_target::vehicle },
|
{ "heatingenable", command_target::vehicle },
|
||||||
{ "heatingdisable", command_target::vehicle },
|
{ "heatingdisable", command_target::vehicle },
|
||||||
|
|||||||
@@ -184,6 +184,8 @@ enum class user_command {
|
|||||||
pantographtoggleselected,
|
pantographtoggleselected,
|
||||||
pantographraiseselected,
|
pantographraiseselected,
|
||||||
pantographlowerselected,
|
pantographlowerselected,
|
||||||
|
pantographvalvesupdate,
|
||||||
|
pantographvalvesoff,
|
||||||
heatingtoggle,
|
heatingtoggle,
|
||||||
heatingenable,
|
heatingenable,
|
||||||
heatingdisable,
|
heatingdisable,
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ driverkeyboard_input::default_bindings() {
|
|||||||
{ user_command::pantographtoggleselected, GLFW_KEY_O | keymodifier::shift | keymodifier::control },
|
{ user_command::pantographtoggleselected, GLFW_KEY_O | keymodifier::shift | keymodifier::control },
|
||||||
// pantographraiseselected,
|
// pantographraiseselected,
|
||||||
// pantographlowerselected,
|
// pantographlowerselected,
|
||||||
|
// pantographvalvesupdate,
|
||||||
|
// pantographvalvesoff,
|
||||||
{ user_command::heatingtoggle, GLFW_KEY_H },
|
{ user_command::heatingtoggle, GLFW_KEY_H },
|
||||||
// heatingenable,
|
// heatingenable,
|
||||||
// heatingdisable,
|
// heatingdisable,
|
||||||
|
|||||||
@@ -822,6 +822,9 @@ drivermouse_input::default_bindings() {
|
|||||||
{ "pantselect_sw:", {
|
{ "pantselect_sw:", {
|
||||||
user_command::pantographselectnext,
|
user_command::pantographselectnext,
|
||||||
user_command::pantographselectprevious } },
|
user_command::pantographselectprevious } },
|
||||||
|
{ "pantvalves_sw:", {
|
||||||
|
user_command::pantographvalvesupdate,
|
||||||
|
user_command::pantographvalvesoff } },
|
||||||
{ "pantcompressor_sw:", {
|
{ "pantcompressor_sw:", {
|
||||||
user_command::pantographcompressoractivate,
|
user_command::pantographcompressoractivate,
|
||||||
user_command::none } },
|
user_command::none } },
|
||||||
|
|||||||
36
mtable.cpp
36
mtable.cpp
@@ -310,7 +310,6 @@ bool TTrainParameters::LoadTTfile(std::string scnpath, int iPlus, double vmax)
|
|||||||
// pliku}
|
// pliku}
|
||||||
// ConversionError:=-7 {błąd niezgodności}
|
// ConversionError:=-7 {błąd niezgodności}
|
||||||
TrainName = s; // nadanie nazwy z pliku TXT (bez ścieżki do pliku)
|
TrainName = s; // nadanie nazwy z pliku TXT (bez ścieżki do pliku)
|
||||||
bool isCategory = false;
|
|
||||||
while (fin >> s || fin.bad())
|
while (fin >> s || fin.bad())
|
||||||
{
|
{
|
||||||
if (s.find("_______|") != std::string::npos)
|
if (s.find("_______|") != std::string::npos)
|
||||||
@@ -319,29 +318,25 @@ bool TTrainParameters::LoadTTfile(std::string scnpath, int iPlus, double vmax)
|
|||||||
}
|
}
|
||||||
if (s == "Kategoria")
|
if (s == "Kategoria")
|
||||||
{
|
{
|
||||||
isCategory = true;
|
do
|
||||||
break;
|
{
|
||||||
|
fin >> s;
|
||||||
|
} while (!((s == "|") || (fin.bad())));
|
||||||
|
fin >> TrainCategory;
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
if (s == "Nazwa")
|
||||||
|
{
|
||||||
|
do
|
||||||
|
{
|
||||||
|
fin >> s;
|
||||||
|
} while (!((s == "|") || (fin.bad())));
|
||||||
|
fin >> TrainLabel;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
} // while (!(s == "Seria"));
|
} // while (!(s == "Seria"));
|
||||||
if (isCategory)
|
|
||||||
{
|
|
||||||
do
|
|
||||||
{
|
|
||||||
fin >> s;
|
|
||||||
} while (!((s == "|") || (fin.bad())));
|
|
||||||
fin >> TrainCategory;
|
|
||||||
}
|
|
||||||
// else
|
// else
|
||||||
{ /*czytaj naglowek*/
|
{ /*czytaj naglowek*/
|
||||||
if (isCategory)
|
|
||||||
{
|
|
||||||
while (fin >> s || !fin.bad())
|
|
||||||
{
|
|
||||||
if (s.find("_______|") != std::string::npos)
|
|
||||||
break;
|
|
||||||
// fin >> s;
|
|
||||||
} // while (!(s.find("_______|") != std::string::npos) || fin.eof());
|
|
||||||
}
|
|
||||||
while (fin >> s || !fin.bad())
|
while (fin >> s || !fin.bad())
|
||||||
{
|
{
|
||||||
if (s == "[")
|
if (s == "[")
|
||||||
@@ -647,6 +642,7 @@ void TTrainParameters::serialize( dictionary_source *Output ) const {
|
|||||||
|
|
||||||
Output->insert( "trainnumber", TrainName );
|
Output->insert( "trainnumber", TrainName );
|
||||||
Output->insert( "traincategory", TrainCategory );
|
Output->insert( "traincategory", TrainCategory );
|
||||||
|
Output->insert( "trainname", TrainLabel );
|
||||||
Output->insert( "train_brakingmassratio", BrakeRatio );
|
Output->insert( "train_brakingmassratio", BrakeRatio );
|
||||||
Output->insert( "train_enginetype", LocSeries );
|
Output->insert( "train_enginetype", LocSeries );
|
||||||
Output->insert( "train_engineload", LocLoad );
|
Output->insert( "train_engineload", LocLoad );
|
||||||
|
|||||||
1
mtable.h
1
mtable.h
@@ -51,6 +51,7 @@ class TTrainParameters
|
|||||||
public:
|
public:
|
||||||
std::string TrainName;
|
std::string TrainName;
|
||||||
std::string TrainCategory;
|
std::string TrainCategory;
|
||||||
|
std::string TrainLabel;
|
||||||
double TTVmax;
|
double TTVmax;
|
||||||
std::string Relation1;
|
std::string Relation1;
|
||||||
std::string Relation2; // nazwy stacji danego odcinka
|
std::string Relation2; // nazwy stacji danego odcinka
|
||||||
|
|||||||
@@ -300,6 +300,9 @@ void CSkyDome::RebuildColors() {
|
|||||||
color.x = 0.20f * color.z;
|
color.x = 0.20f * color.z;
|
||||||
color.y = 0.65f * color.z;
|
color.y = 0.65f * color.z;
|
||||||
}
|
}
|
||||||
|
// simple gradient, darkening towards the top
|
||||||
|
color *= clamp( ( 1.25f - vertex.y ), 0.f, 1.f );
|
||||||
|
// color *= ( 1.25f - vertex.y );
|
||||||
// gamma correction
|
// gamma correction
|
||||||
color = glm::pow( color, gammacorrection );
|
color = glm::pow( color, gammacorrection );
|
||||||
/*
|
/*
|
||||||
@@ -307,8 +310,6 @@ void CSkyDome::RebuildColors() {
|
|||||||
color = glm::pow( color, glm::vec3( 2.2f ) - ( gammacorrection * 0.5f ) );
|
color = glm::pow( color, glm::vec3( 2.2f ) - ( gammacorrection * 0.5f ) );
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
// simple gradient, darkening towards the top
|
|
||||||
color *= ( 1.15f - vertex.y );
|
|
||||||
// save
|
// save
|
||||||
m_colours[ i ] = color;
|
m_colours[ i ] = color;
|
||||||
averagecolor += color;
|
averagecolor += color;
|
||||||
|
|||||||
@@ -191,6 +191,7 @@ init() {
|
|||||||
"second controller",
|
"second controller",
|
||||||
"shunt mode power",
|
"shunt mode power",
|
||||||
"tempomat",
|
"tempomat",
|
||||||
|
"tempomat",
|
||||||
"tempomat (speed)",
|
"tempomat (speed)",
|
||||||
"tempomat (speed)",
|
"tempomat (speed)",
|
||||||
"tempomat (power)",
|
"tempomat (power)",
|
||||||
@@ -303,6 +304,7 @@ init() {
|
|||||||
"selected pantograph",
|
"selected pantograph",
|
||||||
"selected pantograph",
|
"selected pantograph",
|
||||||
"selected pantograph",
|
"selected pantograph",
|
||||||
|
"selected pantograph",
|
||||||
"pantograph compressor",
|
"pantograph compressor",
|
||||||
"pantograph 3-way valve",
|
"pantograph 3-way valve",
|
||||||
"heating",
|
"heating",
|
||||||
@@ -502,6 +504,7 @@ init() {
|
|||||||
"nastawnik dodatkowy",
|
"nastawnik dodatkowy",
|
||||||
"sterowanie analogowe",
|
"sterowanie analogowe",
|
||||||
"tempomat",
|
"tempomat",
|
||||||
|
"tempomat",
|
||||||
"tempomat (predkosc)",
|
"tempomat (predkosc)",
|
||||||
"tempomat (predkosc)",
|
"tempomat (predkosc)",
|
||||||
"tempomat (moc)",
|
"tempomat (moc)",
|
||||||
@@ -614,6 +617,7 @@ init() {
|
|||||||
"wybrany pantograf",
|
"wybrany pantograf",
|
||||||
"wybrany pantograf",
|
"wybrany pantograf",
|
||||||
"wybrany pantograf",
|
"wybrany pantograf",
|
||||||
|
"wybrany pantograf",
|
||||||
"sprezarka pantografow",
|
"sprezarka pantografow",
|
||||||
"kurek trojdrogowy pantografow",
|
"kurek trojdrogowy pantografow",
|
||||||
"ogrzewanie pociagu",
|
"ogrzewanie pociagu",
|
||||||
@@ -660,6 +664,7 @@ init() {
|
|||||||
"scndctrl:",
|
"scndctrl:",
|
||||||
"shuntmodepower:",
|
"shuntmodepower:",
|
||||||
"tempomat_sw:",
|
"tempomat_sw:",
|
||||||
|
"tempomatoff_sw:",
|
||||||
"speedinc_bt:",
|
"speedinc_bt:",
|
||||||
"speeddec_bt:",
|
"speeddec_bt:",
|
||||||
"speedctrlpowerinc_bt:",
|
"speedctrlpowerinc_bt:",
|
||||||
@@ -772,6 +777,7 @@ init() {
|
|||||||
"pantselected_sw:",
|
"pantselected_sw:",
|
||||||
"pantselectedoff_sw:",
|
"pantselectedoff_sw:",
|
||||||
"pantselect_sw:",
|
"pantselect_sw:",
|
||||||
|
"pantvalves_sw:",
|
||||||
"pantcompressor_sw:",
|
"pantcompressor_sw:",
|
||||||
"pantcompressorvalve_sw:",
|
"pantcompressorvalve_sw:",
|
||||||
"trainheating_sw:",
|
"trainheating_sw:",
|
||||||
|
|||||||
@@ -180,6 +180,7 @@ enum string {
|
|||||||
cab_scndctrl,
|
cab_scndctrl,
|
||||||
cab_shuntmodepower,
|
cab_shuntmodepower,
|
||||||
cab_tempomat,
|
cab_tempomat,
|
||||||
|
cab_tempomatoff,
|
||||||
cab_speedinc,
|
cab_speedinc,
|
||||||
cab_speeddec,
|
cab_speeddec,
|
||||||
cab_speedctrlpowerinc,
|
cab_speedctrlpowerinc,
|
||||||
@@ -289,6 +290,7 @@ enum string {
|
|||||||
cab_pantselected_sw,
|
cab_pantselected_sw,
|
||||||
cab_pantselectedoff_sw,
|
cab_pantselectedoff_sw,
|
||||||
cab_pantselect_sw,
|
cab_pantselect_sw,
|
||||||
|
cab_pantvalves_sw,
|
||||||
cab_pantcompressor_sw,
|
cab_pantcompressor_sw,
|
||||||
cab_pantcompressorvalve_sw,
|
cab_pantcompressorvalve_sw,
|
||||||
cab_trainheating_sw,
|
cab_trainheating_sw,
|
||||||
|
|||||||
Reference in New Issue
Block a user