mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
build 180904. sunlight applied to clouds, cab control labels included in the localization system, minor bug fixes
This commit is contained in:
@@ -5155,10 +5155,10 @@ bool TTrain::Update( double const Deltatime )
|
||||
}
|
||||
|
||||
if( mvControlled->Signalling == true ) {
|
||||
if( mvOccupied->BrakePress >= 0.145f * 10 ) {
|
||||
if( mvOccupied->BrakePress >= 0.145f ) {
|
||||
btLampkaHamowanie1zes.Turn( true );
|
||||
}
|
||||
if( mvControlled->BrakePress < 0.075f * 10 ) {
|
||||
if( mvControlled->BrakePress < 0.075f ) {
|
||||
btLampkaHamowanie1zes.Turn( false );
|
||||
}
|
||||
}
|
||||
@@ -5311,11 +5311,11 @@ bool TTrain::Update( double const Deltatime )
|
||||
|
||||
btLampkaSprezarkaB.Turn( tmp->MoverParameters->CompressorFlag ); // mutopsitka dziala
|
||||
btLampkaSprezarkaBOff.Turn( false == tmp->MoverParameters->CompressorFlag );
|
||||
if ((tmp->MoverParameters->BrakePress >= 0.145f * 10) && (mvControlled->Signalling == true))
|
||||
if ((tmp->MoverParameters->BrakePress >= 0.145f) && (mvControlled->Signalling == true))
|
||||
{
|
||||
btLampkaHamowanie2zes.Turn( true );
|
||||
}
|
||||
if ((tmp->MoverParameters->BrakePress < 0.075f * 10) || (mvControlled->Signalling == false))
|
||||
if ((tmp->MoverParameters->BrakePress < 0.075f) || (mvControlled->Signalling == false))
|
||||
{
|
||||
btLampkaHamowanie2zes.Turn( false );
|
||||
}
|
||||
|
||||
@@ -434,9 +434,9 @@ debug_panel::update_section_vehicle( std::vector<text_line> &Output ) {
|
||||
std::string( isdieselinshuntmode ? to_string( mover.AnPos, 2 ) + locale::strings[ locale::string::debug_vehicle_shuntmode ] : std::to_string( mover.ScndCtrlPos ) + "(" + std::to_string( mover.ScndCtrlActualPos ) + ")" ).c_str(),
|
||||
// engine
|
||||
mover.EnginePower,
|
||||
( mover.TrainType == dt_EZT ? mover.ShowCurrent( 0 ) : mover.Im ),
|
||||
std::abs( mover.TrainType == dt_EZT ? mover.ShowCurrent( 0 ) : mover.Im ),
|
||||
// revolutions
|
||||
mover.enrot * 60,
|
||||
std::abs( mover.enrot ) * 60,
|
||||
std::abs( mover.nrot ) * mover.Transmision.Ratio * 60,
|
||||
mover.RventRot * 60,
|
||||
mover.dizel_heat.rpmw,
|
||||
@@ -510,7 +510,7 @@ debug_panel::update_section_vehicle( std::vector<text_line> &Output ) {
|
||||
// acceleration
|
||||
Acc,
|
||||
mover.AccN + 0.001f,
|
||||
std::string( std::abs( mover.RunningShape.R ) > 10000.0 ? "~0.0" : to_string( mover.RunningShape.R, 0 ) ).c_str(),
|
||||
std::string( std::abs( mover.RunningShape.R ) > 10000.0 ? "~0" : to_string( mover.RunningShape.R, 0 ) ).c_str(),
|
||||
// velocity
|
||||
vehicle.GetVelocity(),
|
||||
mover.DistCounter,
|
||||
|
||||
66
renderer.cpp
66
renderer.cpp
@@ -1416,7 +1416,6 @@ opengl_renderer::Render( world_environment *Environment ) {
|
||||
::glDisable( GL_DEPTH_TEST );
|
||||
::glDepthMask( GL_FALSE );
|
||||
::glPushMatrix();
|
||||
|
||||
// skydome
|
||||
Environment->m_skydome.Render();
|
||||
// stars
|
||||
@@ -1432,7 +1431,6 @@ opengl_renderer::Render( world_environment *Environment ) {
|
||||
::glPointSize( 3.f );
|
||||
::glPopMatrix();
|
||||
}
|
||||
|
||||
// celestial bodies
|
||||
float const duskfactor = 1.0f - clamp( std::abs( Environment->m_sun.getAngle() ), 0.0f, 12.0f ) / 12.0f;
|
||||
glm::vec3 suncolor = interpolate(
|
||||
@@ -1523,30 +1521,30 @@ opengl_renderer::Render( world_environment *Environment ) {
|
||||
}
|
||||
::glPopAttrib();
|
||||
|
||||
m_sunlight.apply_angle();
|
||||
m_sunlight.apply_intensity();
|
||||
|
||||
// clouds
|
||||
if( Environment->m_clouds.mdCloud ) {
|
||||
// setup
|
||||
Disable_Lights();
|
||||
::glEnable( GL_LIGHT0 ); // other lights will be enabled during lights update
|
||||
::glEnable( GL_LIGHTING );
|
||||
::glLightModelfv(
|
||||
GL_LIGHT_MODEL_AMBIENT,
|
||||
glm::value_ptr(
|
||||
interpolate( Environment->m_skydome.GetAverageColor(), suncolor, duskfactor * 0.25f )
|
||||
* interpolate( 1.f, 0.35f, Global.Overcast / 2.f ) // overcast darkens the clouds
|
||||
* 2.5f // arbitrary adjustment factor
|
||||
* 0.5f // arbitrary adjustment factor
|
||||
) );
|
||||
// render
|
||||
Render( Environment->m_clouds.mdCloud, nullptr, 100.0 );
|
||||
// Render( Environment->m_clouds.mdCloud, nullptr, 100.0 );
|
||||
Render_Alpha( Environment->m_clouds.mdCloud, nullptr, 100.0 );
|
||||
// post-render cleanup
|
||||
::glLightModelfv( GL_LIGHT_MODEL_AMBIENT, glm::value_ptr( colors::none ) );
|
||||
::glEnable( GL_LIGHT0 ); // other lights will be enabled during lights update
|
||||
::glDisable( GL_LIGHTING );
|
||||
}
|
||||
|
||||
m_sunlight.apply_angle();
|
||||
m_sunlight.apply_intensity();
|
||||
|
||||
::glPopMatrix();
|
||||
::glDepthMask( GL_TRUE );
|
||||
::glEnable( GL_DEPTH_TEST );
|
||||
@@ -2409,7 +2407,17 @@ opengl_renderer::Render( TSubModel *Submodel ) {
|
||||
|
||||
// main draw call
|
||||
m_geometry.draw( Submodel->m_geometry );
|
||||
|
||||
/*
|
||||
if( DebugModeFlag ) {
|
||||
auto const & vertices { m_geometry.vertices( Submodel->m_geometry ) };
|
||||
::glBegin( GL_LINES );
|
||||
for( auto const &vertex : vertices ) {
|
||||
::glVertex3fv( glm::value_ptr( vertex.position ) );
|
||||
::glVertex3fv( glm::value_ptr( vertex.position + vertex.normal * 0.2f ) );
|
||||
}
|
||||
::glEnd();
|
||||
}
|
||||
*/
|
||||
// post-draw reset
|
||||
if( ( true == m_renderspecular ) && ( m_sunlight.specular.a > 0.01f ) ) {
|
||||
::glMaterialfv( GL_FRONT, GL_SPECULAR, glm::value_ptr( colors::none ) );
|
||||
@@ -3511,6 +3519,30 @@ opengl_renderer::Update_Mouse_Position() {
|
||||
void
|
||||
opengl_renderer::Update( double const Deltatime ) {
|
||||
|
||||
m_pickupdateaccumulator += Deltatime;
|
||||
|
||||
if( m_updateaccumulator > 0.5 ) {
|
||||
|
||||
m_pickupdateaccumulator = 0.0;
|
||||
|
||||
if( ( true == Global.ControlPicking )
|
||||
&& ( false == FreeFlyModeFlag ) ) {
|
||||
Update_Pick_Control();
|
||||
}
|
||||
else {
|
||||
m_pickcontrolitem = nullptr;
|
||||
}
|
||||
// temporary conditions for testing. eventually will be coupled with editor mode
|
||||
if( ( true == Global.ControlPicking )
|
||||
&& ( true == DebugModeFlag )
|
||||
&& ( true == FreeFlyModeFlag ) ) {
|
||||
Update_Pick_Node();
|
||||
}
|
||||
else {
|
||||
m_picksceneryitem = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
m_updateaccumulator += Deltatime;
|
||||
|
||||
if( m_updateaccumulator < 1.0 ) {
|
||||
@@ -3563,22 +3595,6 @@ opengl_renderer::Update( double const Deltatime ) {
|
||||
m_debugtimestext += m_textures.info();
|
||||
}
|
||||
|
||||
if( ( true == Global.ControlPicking )
|
||||
&& ( false == FreeFlyModeFlag ) ) {
|
||||
Update_Pick_Control();
|
||||
}
|
||||
else {
|
||||
m_pickcontrolitem = nullptr;
|
||||
}
|
||||
// temporary conditions for testing. eventually will be coupled with editor mode
|
||||
if( ( true == Global.ControlPicking )
|
||||
&& ( true == DebugModeFlag )
|
||||
&& ( true == FreeFlyModeFlag ) ) {
|
||||
Update_Pick_Node();
|
||||
}
|
||||
else {
|
||||
m_picksceneryitem = nullptr;
|
||||
}
|
||||
// dump last opengl error, if any
|
||||
auto const glerror = ::glGetError();
|
||||
if( glerror != GL_NO_ERROR ) {
|
||||
|
||||
@@ -375,6 +375,7 @@ private:
|
||||
unsigned int m_framestamp; // id of currently rendered gfx frame
|
||||
float m_framerate;
|
||||
double m_updateaccumulator { 0.0 };
|
||||
double m_pickupdateaccumulator { 0.0 };
|
||||
std::string m_debugtimestext;
|
||||
std::string m_pickdebuginfo;
|
||||
debug_stats m_debugstats;
|
||||
|
||||
396
translation.cpp
396
translation.cpp
@@ -59,7 +59,99 @@ init() {
|
||||
"\nTemperatures:\n engine: %.2f, oil: %.2f, water: %.2f%c%.2f",
|
||||
"Brakes:\n train: %.2f, independent: %.2f, delay: %s, load flag: %d\nBrake cylinder pressures:\n train: %.2f, independent: %.2f, status: 0x%.2x\nPipe pressures:\n brake: %.2f (hat: %.2f), main: %.2f, control: %.2f\nTank pressures:\n auxiliary: %.2f, main: %.2f, control: %.2f",
|
||||
" pantograph: %.2f%cMT",
|
||||
"Forces:\n tractive: %.1f, brake: %.1f, friction: %.2f%s\nAcceleration:\n tangential: %.2f, normal: %.2f (path radius: %s)\nVelocity: %.2f, distance traveled: %.2f\nPosition: [%.2f, %.2f, %.2f]"
|
||||
"Forces:\n tractive: %.1f, brake: %.1f, friction: %.2f%s\nAcceleration:\n tangential: %.2f, normal: %.2f (path radius: %s)\nVelocity: %.2f, distance traveled: %.2f\nPosition: [%.2f, %.2f, %.2f]",
|
||||
|
||||
"master controller",
|
||||
"second controller",
|
||||
"shunt mode power",
|
||||
"reverser",
|
||||
"train brake",
|
||||
"independent brake",
|
||||
"manual brake",
|
||||
"emergency brake",
|
||||
"brake acting speed",
|
||||
"brake acting speed: cargo",
|
||||
"brake acting speed: rapid",
|
||||
"motor overload relay threshold",
|
||||
"water pump",
|
||||
"water pump breaker",
|
||||
"water heater",
|
||||
"water heater breaker",
|
||||
"water circuits link",
|
||||
"fuel pump",
|
||||
"oil pump",
|
||||
"line breaker",
|
||||
"line breaker",
|
||||
"alerter",
|
||||
"independent brake releaser",
|
||||
"sandbox",
|
||||
"wheelspin brake",
|
||||
"horn",
|
||||
"low tone horn",
|
||||
"high tone horn",
|
||||
"whistle",
|
||||
"motor overload relay reset",
|
||||
"converter overload relay reset",
|
||||
"motor connectors",
|
||||
"left door",
|
||||
"right door",
|
||||
"left door",
|
||||
"right door",
|
||||
"left door",
|
||||
"right door",
|
||||
"all doors",
|
||||
"departure signal",
|
||||
"upper headlight",
|
||||
"left headlight",
|
||||
"right headlight",
|
||||
"headlights dimmer",
|
||||
"left marker light",
|
||||
"right marker light",
|
||||
"light pattern",
|
||||
"rear upper headlight",
|
||||
"rear left headlight",
|
||||
"rear right headlight",
|
||||
"rear left marker light",
|
||||
"rear right marker light",
|
||||
"compressor",
|
||||
"local compressor",
|
||||
"converter",
|
||||
"local converter",
|
||||
"converter",
|
||||
"line breaker",
|
||||
"radio",
|
||||
"radio channel",
|
||||
"radio channel",
|
||||
"radio channel",
|
||||
"radiostop test",
|
||||
"radiostop",
|
||||
"pantograph A",
|
||||
"pantograph B",
|
||||
"pantograph A",
|
||||
"pantograph B",
|
||||
"all pantographs",
|
||||
"selected pantograph",
|
||||
"selected pantograph",
|
||||
"pantograph compressor",
|
||||
"pantograph 3 way valve",
|
||||
"heating",
|
||||
"braking indicator",
|
||||
"door locking",
|
||||
"current indicator source",
|
||||
"instrument light",
|
||||
"interior light",
|
||||
"interior light dimmer",
|
||||
"battery",
|
||||
"interactive part",
|
||||
"interactive part",
|
||||
"interactive part",
|
||||
"interactive part",
|
||||
"interactive part",
|
||||
"interactive part",
|
||||
"interactive part",
|
||||
"interactive part",
|
||||
"interactive part",
|
||||
"interactive part"
|
||||
}
|
||||
} );
|
||||
|
||||
@@ -99,21 +191,217 @@ init() {
|
||||
"\nTemperatury:\n silnik: %.2f, olej: %.2f, woda: %.2f%c%.2f",
|
||||
"Hamulce:\n zespolony: %.2f, pomocniczy: %.2f, nastawa: %s, ladunek: %d\nCisnienie w cylindrach:\n zespolony: %.2f, pomocniczy: %.2f, status: 0x%.2x\nCisnienia w przewodach:\n glowny: %.2f (kapturek: %.2f), zasilajacy: %.2f, kontrolny: %.2f\nCisnienia w zbiornikach:\n pomocniczy: %.2f, glowny: %.2f, sterujacy: %.2f",
|
||||
" pantograf: %.2f%cZG",
|
||||
"Sily:\n napedna: %.1f, hamowania: %.1f, tarcie: %.2f%s\nPrzyspieszenia:\n styczne: %.2f, normalne: %.2f (promien: %s)\nPredkosc: %.2f, pokonana odleglosc: %.2f\nPozycja: [%.2f, %.2f, %.2f]"
|
||||
"Sily:\n napedna: %.1f, hamowania: %.1f, tarcie: %.2f%s\nPrzyspieszenia:\n styczne: %.2f, normalne: %.2f (promien: %s)\nPredkosc: %.2f, pokonana odleglosc: %.2f\nPozycja: [%.2f, %.2f, %.2f]",
|
||||
|
||||
"nastawnik",
|
||||
"nastawnik dodatkowy",
|
||||
"sterowanie analogowe",
|
||||
"nastawnik jazdy",
|
||||
"hamulec zespolony",
|
||||
"hamulec pomocniczy",
|
||||
"hamulec reczny",
|
||||
"hamulec bezpieczenstwa",
|
||||
"nastawa hamulca",
|
||||
"nastawa hamulca: towarowy",
|
||||
"nastawa hamulca: pospieszny",
|
||||
"rozruch niski/wysoki",
|
||||
"pompa wody",
|
||||
"wylacznik samoczynny pompy wody",
|
||||
"podgrzewacz wody",
|
||||
"wylacznik samoczynny podgrzewacza wody",
|
||||
"zawor polaczenia obiegow wody",
|
||||
"pompa paliwa",
|
||||
"pompa oleju",
|
||||
"wylacznik szybki",
|
||||
"wylacznik szybki",
|
||||
"czuwak",
|
||||
"odluzniacz",
|
||||
"piasecznica",
|
||||
"hamulec przeciwposlizgowy",
|
||||
"syrena",
|
||||
"syrena (ton niski)",
|
||||
"syrena (ton wysoki)",
|
||||
"gwizdawka",
|
||||
"przekaznik nadmiarowy motorow trakcyjnych",
|
||||
"przekaznik nadmiarowy przetwornicy",
|
||||
"styczniki liniowe",
|
||||
"drzwi lewe",
|
||||
"drzwi prawe",
|
||||
"drzwi lewe",
|
||||
"drzwi prawe",
|
||||
"drzwi lewe",
|
||||
"drzwi prawe",
|
||||
"drzwi",
|
||||
"sygnal odjazdu",
|
||||
"reflektor gorny",
|
||||
"reflektor lewy",
|
||||
"reflektor prawy",
|
||||
"przyciemnienie reflektorow",
|
||||
"sygnal lewy",
|
||||
"sygnal prawy",
|
||||
"programator swiatel",
|
||||
"tylny reflektor gorny",
|
||||
"tylny reflektor lewy",
|
||||
"tylny reflektor prawy",
|
||||
"tylny sygnal lewy",
|
||||
"tylny sygnal prawy",
|
||||
"sprezarka",
|
||||
"sprezarka lokalna",
|
||||
"przetwornica",
|
||||
"przetwornica lokalna",
|
||||
"przetwornica",
|
||||
"wylacznik szybki",
|
||||
"radio",
|
||||
"kanal radia",
|
||||
"kanal radia",
|
||||
"kanal radia",
|
||||
"test radiostopu",
|
||||
"radiostop",
|
||||
"pantograf A",
|
||||
"pantograf B",
|
||||
"pantograf A",
|
||||
"pantograf B",
|
||||
"wszystkie pantografy",
|
||||
"wybrany pantograf",
|
||||
"wybrany pantograf",
|
||||
"sprezarka pantografow",
|
||||
"kurek trojdrogowy pantografow",
|
||||
"ogrzewanie pociagu",
|
||||
"sygnalizacja hamowania",
|
||||
"sygnalizacja blokady drzwi",
|
||||
"prady drugiego czlonu",
|
||||
"oswietlenie przyrzadow",
|
||||
"oswietlenie kabiny",
|
||||
"przyciemnienie oswietlenia kabiny",
|
||||
"bateria",
|
||||
"element ruchomy",
|
||||
"element ruchomy",
|
||||
"element ruchomy",
|
||||
"element ruchomy",
|
||||
"element ruchomy",
|
||||
"element ruchomy",
|
||||
"element ruchomy",
|
||||
"element ruchomy",
|
||||
"element ruchomy",
|
||||
"element ruchomy"
|
||||
}
|
||||
} );
|
||||
|
||||
auto const lookup = stringmap.find( Global.asLang );
|
||||
auto lookup { stringmap.find( Global.asLang ) };
|
||||
if( lookup == stringmap.end() ) {
|
||||
lookup = stringmap.find( "en" );
|
||||
}
|
||||
|
||||
locale::strings = (
|
||||
lookup != stringmap.end() ?
|
||||
lookup->second :
|
||||
stringmap.find( "en" )->second );
|
||||
locale::strings = lookup->second;
|
||||
|
||||
// prepare cab controls translation table
|
||||
{
|
||||
std::vector<std::string> cabcontrols = {
|
||||
"mainctrl:",
|
||||
"scndctrl:",
|
||||
"shuntmodepower:",
|
||||
"dirkey:",
|
||||
"brakectrl:",
|
||||
"localbrake:",
|
||||
"manualbrake:",
|
||||
"alarmchain:",
|
||||
"brakeprofile_sw:",
|
||||
"brakeprofileg_sw:",
|
||||
"brakeprofiler_sw:",
|
||||
"maxcurrent_sw:",
|
||||
"waterpump_sw:",
|
||||
"waterpumpbreaker_sw:",
|
||||
"waterheater_sw:",
|
||||
"waterheaterbreaker_sw:",
|
||||
"watercircuitslink_sw:",
|
||||
"fuelpump_sw:",
|
||||
"oilpump_sw:",
|
||||
"main_off_bt:",
|
||||
"main_on_bt:",
|
||||
"security_reset_bt:",
|
||||
"releaser_bt:",
|
||||
"sand_bt:",
|
||||
"antislip_bt:",
|
||||
"horn_bt:",
|
||||
"hornlow_bt:",
|
||||
"hornhigh_bt:",
|
||||
"whistle_bt:",
|
||||
"fuse_bt:",
|
||||
"converterfuse_bt:",
|
||||
"stlinoff_bt:",
|
||||
"door_left_sw:",
|
||||
"door_right_sw:",
|
||||
"doorlefton_sw:",
|
||||
"doorrighton_sw:",
|
||||
"doorleftoff_sw:",
|
||||
"doorrightoff_sw:",
|
||||
"dooralloff_sw:",
|
||||
"departure_signal_bt:",
|
||||
"upperlight_sw:",
|
||||
"leftlight_sw:",
|
||||
"rightlight_sw:",
|
||||
"dimheadlights_sw:",
|
||||
"leftend_sw:",
|
||||
"rightend_sw:",
|
||||
"lights_sw:",
|
||||
"rearupperlight_sw:",
|
||||
"rearleftlight_sw:",
|
||||
"rearrightlight_sw:",
|
||||
"rearleftend_sw:",
|
||||
"rearrightend_sw:",
|
||||
"compressor_sw:",
|
||||
"compressorlocal_sw:",
|
||||
"converter_sw:",
|
||||
"converterlocal_sw:",
|
||||
"converteroff_sw:",
|
||||
"main_sw:",
|
||||
"radio_sw:",
|
||||
"radiochannel_sw:",
|
||||
"radiochannelprev_sw:",
|
||||
"radiochannelnext_sw:",
|
||||
"radiotest_sw:",
|
||||
"radiostop_sw:",
|
||||
"pantfront_sw:",
|
||||
"pantrear_sw:",
|
||||
"pantfrontoff_sw:",
|
||||
"pantrearoff_sw:",
|
||||
"pantalloff_sw:",
|
||||
"pantselected_sw:",
|
||||
"pantselectedoff_sw:",
|
||||
"pantcompressor_sw:",
|
||||
"pantcompressorvalve_sw:",
|
||||
"trainheating_sw:",
|
||||
"signalling_sw:",
|
||||
"door_signalling_sw:",
|
||||
"nextcurrent_sw:",
|
||||
"instrumentlight_sw:",
|
||||
"cablight_sw:",
|
||||
"cablightdim_sw:",
|
||||
"battery_sw:",
|
||||
"universal0:",
|
||||
"universal1:",
|
||||
"universal2:",
|
||||
"universal3:",
|
||||
"universal4:",
|
||||
"universal5:",
|
||||
"universal6:",
|
||||
"universal7:",
|
||||
"universal8:",
|
||||
"universal9:"
|
||||
};
|
||||
|
||||
std::size_t stringidx { string::cab_mainctrl };
|
||||
for( auto const &cabcontrol : cabcontrols ) {
|
||||
m_cabcontrols.insert( { cabcontrol, strings[ stringidx++ ] } );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::string
|
||||
label_cab_control( std::string const &Label ) {
|
||||
|
||||
if( Label.empty() ) { return ""; }
|
||||
|
||||
auto const lookup = m_cabcontrols.find( Label );
|
||||
return (
|
||||
lookup != m_cabcontrols.end() ?
|
||||
@@ -123,99 +411,7 @@ label_cab_control( std::string const &Label ) {
|
||||
|
||||
std::vector<std::string> strings;
|
||||
|
||||
std::unordered_map<std::string, std::string> m_cabcontrols = {
|
||||
{ "mainctrl:", "master controller" },
|
||||
{ "scndctrl:", "second controller" },
|
||||
{ "shuntmodepower:", "shunt mode power" },
|
||||
{ "dirkey:" , "reverser" },
|
||||
{ "brakectrl:", "train brake" },
|
||||
{ "localbrake:", "independent brake" },
|
||||
{ "manualbrake:", "manual brake" },
|
||||
{ "alarmchain:", "emergency brake" },
|
||||
{ "brakeprofile_sw:", "brake acting speed" },
|
||||
{ "brakeprofileg_sw:", "brake acting speed: cargo" },
|
||||
{ "brakeprofiler_sw:", "brake acting speed: rapid" },
|
||||
{ "maxcurrent_sw:", "motor overload relay threshold" },
|
||||
{ "waterpump_sw:", "water pump" },
|
||||
{ "waterpumpbreaker_sw:", "water pump breaker" },
|
||||
{ "waterheater_sw:", "water heater" },
|
||||
{ "waterheaterbreaker_sw:", "water heater breaker" },
|
||||
{ "watercircuitslink_sw:", "water circuits link" },
|
||||
{ "fuelpump_sw:", "fuel pump" },
|
||||
{ "oilpump_sw:", "oil pump" },
|
||||
{ "main_off_bt:", "line breaker" },
|
||||
{ "main_on_bt:", "line breaker" },
|
||||
{ "security_reset_bt:", "alerter" },
|
||||
{ "releaser_bt:", "independent brake releaser" },
|
||||
{ "sand_bt:", "sandbox" },
|
||||
{ "antislip_bt:", "wheelspin brake" },
|
||||
{ "horn_bt:", "horn" },
|
||||
{ "hornlow_bt:", "low tone horn" },
|
||||
{ "hornhigh_bt:", "high tone horn" },
|
||||
{ "whistle_bt:", "whistle" },
|
||||
{ "fuse_bt:", "motor overload relay reset" },
|
||||
{ "converterfuse_bt:", "converter overload relay reset" },
|
||||
{ "stlinoff_bt:", "motor connectors" },
|
||||
{ "door_left_sw:", "left door" },
|
||||
{ "door_right_sw:", "right door" },
|
||||
{ "doorlefton_sw:", "left door" },
|
||||
{ "doorrighton_sw:", "right door" },
|
||||
{ "doorleftoff_sw:", "left door" },
|
||||
{ "doorrightoff_sw:", "right door" },
|
||||
{ "dooralloff_sw:", "all doors" },
|
||||
{ "departure_signal_bt:", "departure signal" },
|
||||
{ "upperlight_sw:", "upper headlight" },
|
||||
{ "leftlight_sw:", "left headlight" },
|
||||
{ "rightlight_sw:", "right headlight" },
|
||||
{ "dimheadlights_sw:", "headlights dimmer" },
|
||||
{ "leftend_sw:", "left marker light" },
|
||||
{ "rightend_sw:", "right marker light" },
|
||||
{ "lights_sw:", "light pattern" },
|
||||
{ "rearupperlight_sw:", "rear upper headlight" },
|
||||
{ "rearleftlight_sw:", "rear left headlight" },
|
||||
{ "rearrightlight_sw:", "rear right headlight" },
|
||||
{ "rearleftend_sw:", "rear left marker light" },
|
||||
{ "rearrightend_sw:", "rear right marker light" },
|
||||
{ "compressor_sw:", "compressor" },
|
||||
{ "compressorlocal_sw:", "local compressor" },
|
||||
{ "converter_sw:", "converter" },
|
||||
{ "converterlocal_sw:", "local converter" },
|
||||
{ "converteroff_sw:", "converter" },
|
||||
{ "main_sw:", "line breaker" },
|
||||
{ "radio_sw:", "radio" },
|
||||
{ "radiochannel_sw:", "radio channel" },
|
||||
{ "radiochannelprev_sw:", "radio channel" },
|
||||
{ "radiochannelnext_sw:", "radio channel" },
|
||||
{ "radiotest_sw:", "radiostop test" },
|
||||
{ "radiostop_sw:", "radiostop" },
|
||||
{ "pantfront_sw:", "pantograph A" },
|
||||
{ "pantrear_sw:", "pantograph B" },
|
||||
{ "pantfrontoff_sw:", "pantograph A" },
|
||||
{ "pantrearoff_sw:", "pantograph B" },
|
||||
{ "pantalloff_sw:", "all pantographs" },
|
||||
{ "pantselected_sw:", "selected pantograph" },
|
||||
{ "pantselectedoff_sw:", "selected pantograph" },
|
||||
{ "pantcompressor_sw:", "pantograph compressor" },
|
||||
{ "pantcompressorvalve_sw:", "pantograph 3 way valve" },
|
||||
{ "trainheating_sw:", "heating" },
|
||||
{ "signalling_sw:", "braking indicator" },
|
||||
{ "door_signalling_sw:", "door locking" },
|
||||
{ "nextcurrent_sw:", "current indicator source" },
|
||||
{ "instrumentlight_sw:", "instrument light" },
|
||||
{ "cablight_sw:", "interior light" },
|
||||
{ "cablightdim_sw:", "interior light dimmer" },
|
||||
{ "battery_sw:", "battery" },
|
||||
{ "universal0:", "generic" },
|
||||
{ "universal1:", "generic" },
|
||||
{ "universal2:", "generic" },
|
||||
{ "universal3:", "generic" },
|
||||
{ "universal4:", "generic" },
|
||||
{ "universal5:", "generic" },
|
||||
{ "universal6:", "generic" },
|
||||
{ "universal7:", "generic" },
|
||||
{ "universal8:", "generic" },
|
||||
{ "universal9:", "generic" }
|
||||
};
|
||||
std::unordered_map<std::string, std::string> m_cabcontrols;
|
||||
|
||||
} // namespace locale
|
||||
|
||||
|
||||
@@ -48,7 +48,101 @@ enum string {
|
||||
debug_vehicle_temperatures,
|
||||
debug_vehicle_brakespressures,
|
||||
debug_vehicle_pantograph,
|
||||
debug_vehicle_forcesaccelerationvelocityposition
|
||||
debug_vehicle_forcesaccelerationvelocityposition,
|
||||
|
||||
cab_mainctrl,
|
||||
cab_scndctrl,
|
||||
cab_shuntmodepower,
|
||||
cab_dirkey,
|
||||
cab_brakectrl,
|
||||
cab_localbrake,
|
||||
cab_manualbrake,
|
||||
cab_alarmchain,
|
||||
cab_brakeprofile_sw,
|
||||
cab_brakeprofileg_sw,
|
||||
cab_brakeprofiler_sw,
|
||||
cab_maxcurrent_sw,
|
||||
cab_waterpump_sw,
|
||||
cab_waterpumpbreaker_sw,
|
||||
cab_waterheater_sw,
|
||||
cab_waterheaterbreaker_sw,
|
||||
cab_watercircuitslink_sw,
|
||||
cab_fuelpump_sw,
|
||||
cab_oilpump_sw,
|
||||
cab_main_off_bt,
|
||||
cab_main_on_bt,
|
||||
cab_security_reset_bt,
|
||||
cab_releaser_bt,
|
||||
cab_sand_bt,
|
||||
cab_antislip_bt,
|
||||
cab_horn_bt,
|
||||
cab_hornlow_bt,
|
||||
cab_hornhigh_bt,
|
||||
cab_whistle_bt,
|
||||
cab_fuse_bt,
|
||||
cab_converterfuse_bt,
|
||||
cab_stlinoff_bt,
|
||||
cab_door_left_sw,
|
||||
cab_door_right_sw,
|
||||
cab_doorlefton_sw,
|
||||
cab_doorrighton_sw,
|
||||
cab_doorleftoff_sw,
|
||||
cab_doorrightoff_sw,
|
||||
cab_dooralloff_sw,
|
||||
cab_departure_signal_bt,
|
||||
cab_upperlight_sw,
|
||||
cab_leftlight_sw,
|
||||
cab_rightlight_sw,
|
||||
cab_dimheadlights_sw,
|
||||
cab_leftend_sw,
|
||||
cab_rightend_sw,
|
||||
cab_lights_sw,
|
||||
cab_rearupperlight_sw,
|
||||
cab_rearleftlight_sw,
|
||||
cab_rearrightlight_sw,
|
||||
cab_rearleftend_sw,
|
||||
cab_rearrightend_sw,
|
||||
cab_compressor_sw,
|
||||
cab_compressorlocal_sw,
|
||||
cab_converter_sw,
|
||||
cab_converterlocal_sw,
|
||||
cab_converteroff_sw,
|
||||
cab_main_sw,
|
||||
cab_radio_sw,
|
||||
cab_radiochannel_sw,
|
||||
cab_radiochannelprev_sw,
|
||||
cab_radiochannelnext_sw,
|
||||
cab_radiotest_sw,
|
||||
cab_radiostop_sw,
|
||||
cab_pantfront_sw,
|
||||
cab_pantrear_sw,
|
||||
cab_pantfrontoff_sw,
|
||||
cab_pantrearoff_sw,
|
||||
cab_pantalloff_sw,
|
||||
cab_pantselected_sw,
|
||||
cab_pantselectedoff_sw,
|
||||
cab_pantcompressor_sw,
|
||||
cab_pantcompressorvalve_sw,
|
||||
cab_trainheating_sw,
|
||||
cab_signalling_sw,
|
||||
cab_door_signalling_sw,
|
||||
cab_nextcurrent_sw,
|
||||
cab_instrumentlight_sw,
|
||||
cab_cablight_sw,
|
||||
cab_cablightdim_sw,
|
||||
cab_battery_sw,
|
||||
cab_universal0,
|
||||
cab_universal1,
|
||||
cab_universal2,
|
||||
cab_universal3,
|
||||
cab_universal4,
|
||||
cab_universal5,
|
||||
cab_universal6,
|
||||
cab_universal7,
|
||||
cab_universal8,
|
||||
cab_universal9,
|
||||
|
||||
string_count
|
||||
};
|
||||
|
||||
void
|
||||
|
||||
@@ -92,6 +92,7 @@ ui_layer::init_colors() {
|
||||
auto const itembase { ImVec4( accent.x, accent.y, accent.z, 0.35f ) };
|
||||
auto const itemhover { ImVec4( accent.x, accent.y, accent.z, 0.65f ) };
|
||||
auto const itemactive { ImVec4( accent.x, accent.y, accent.z, 0.95f ) };
|
||||
auto const modalbackground { ImVec4( accent.x, accent.y, accent.z, 0.95f ) };
|
||||
|
||||
colors[ ImGuiCol_WindowBg ] = background;
|
||||
colors[ ImGuiCol_PopupBg ] = background;
|
||||
@@ -111,6 +112,7 @@ ui_layer::init_colors() {
|
||||
colors[ ImGuiCol_ResizeGrip ] = itembase;
|
||||
colors[ ImGuiCol_ResizeGripHovered ] = itemhover;
|
||||
colors[ ImGuiCol_ResizeGripActive ] = itemactive;
|
||||
colors[ ImGuiCol_ModalWindowDimBg ] = modalbackground;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user