mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 23:19:19 +02: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( mvControlled->Signalling == true ) {
|
||||||
if( mvOccupied->BrakePress >= 0.145f * 10 ) {
|
if( mvOccupied->BrakePress >= 0.145f ) {
|
||||||
btLampkaHamowanie1zes.Turn( true );
|
btLampkaHamowanie1zes.Turn( true );
|
||||||
}
|
}
|
||||||
if( mvControlled->BrakePress < 0.075f * 10 ) {
|
if( mvControlled->BrakePress < 0.075f ) {
|
||||||
btLampkaHamowanie1zes.Turn( false );
|
btLampkaHamowanie1zes.Turn( false );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5311,11 +5311,11 @@ bool TTrain::Update( double const Deltatime )
|
|||||||
|
|
||||||
btLampkaSprezarkaB.Turn( tmp->MoverParameters->CompressorFlag ); // mutopsitka dziala
|
btLampkaSprezarkaB.Turn( tmp->MoverParameters->CompressorFlag ); // mutopsitka dziala
|
||||||
btLampkaSprezarkaBOff.Turn( false == tmp->MoverParameters->CompressorFlag );
|
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 );
|
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 );
|
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(),
|
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
|
// engine
|
||||||
mover.EnginePower,
|
mover.EnginePower,
|
||||||
( mover.TrainType == dt_EZT ? mover.ShowCurrent( 0 ) : mover.Im ),
|
std::abs( mover.TrainType == dt_EZT ? mover.ShowCurrent( 0 ) : mover.Im ),
|
||||||
// revolutions
|
// revolutions
|
||||||
mover.enrot * 60,
|
std::abs( mover.enrot ) * 60,
|
||||||
std::abs( mover.nrot ) * mover.Transmision.Ratio * 60,
|
std::abs( mover.nrot ) * mover.Transmision.Ratio * 60,
|
||||||
mover.RventRot * 60,
|
mover.RventRot * 60,
|
||||||
mover.dizel_heat.rpmw,
|
mover.dizel_heat.rpmw,
|
||||||
@@ -510,7 +510,7 @@ debug_panel::update_section_vehicle( std::vector<text_line> &Output ) {
|
|||||||
// acceleration
|
// acceleration
|
||||||
Acc,
|
Acc,
|
||||||
mover.AccN + 0.001f,
|
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
|
// velocity
|
||||||
vehicle.GetVelocity(),
|
vehicle.GetVelocity(),
|
||||||
mover.DistCounter,
|
mover.DistCounter,
|
||||||
|
|||||||
66
renderer.cpp
66
renderer.cpp
@@ -1416,7 +1416,6 @@ opengl_renderer::Render( world_environment *Environment ) {
|
|||||||
::glDisable( GL_DEPTH_TEST );
|
::glDisable( GL_DEPTH_TEST );
|
||||||
::glDepthMask( GL_FALSE );
|
::glDepthMask( GL_FALSE );
|
||||||
::glPushMatrix();
|
::glPushMatrix();
|
||||||
|
|
||||||
// skydome
|
// skydome
|
||||||
Environment->m_skydome.Render();
|
Environment->m_skydome.Render();
|
||||||
// stars
|
// stars
|
||||||
@@ -1432,7 +1431,6 @@ opengl_renderer::Render( world_environment *Environment ) {
|
|||||||
::glPointSize( 3.f );
|
::glPointSize( 3.f );
|
||||||
::glPopMatrix();
|
::glPopMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
// celestial bodies
|
// celestial bodies
|
||||||
float const duskfactor = 1.0f - clamp( std::abs( Environment->m_sun.getAngle() ), 0.0f, 12.0f ) / 12.0f;
|
float const duskfactor = 1.0f - clamp( std::abs( Environment->m_sun.getAngle() ), 0.0f, 12.0f ) / 12.0f;
|
||||||
glm::vec3 suncolor = interpolate(
|
glm::vec3 suncolor = interpolate(
|
||||||
@@ -1523,30 +1521,30 @@ opengl_renderer::Render( world_environment *Environment ) {
|
|||||||
}
|
}
|
||||||
::glPopAttrib();
|
::glPopAttrib();
|
||||||
|
|
||||||
|
m_sunlight.apply_angle();
|
||||||
|
m_sunlight.apply_intensity();
|
||||||
|
|
||||||
// clouds
|
// clouds
|
||||||
if( Environment->m_clouds.mdCloud ) {
|
if( Environment->m_clouds.mdCloud ) {
|
||||||
// setup
|
// setup
|
||||||
Disable_Lights();
|
Disable_Lights();
|
||||||
|
::glEnable( GL_LIGHT0 ); // other lights will be enabled during lights update
|
||||||
::glEnable( GL_LIGHTING );
|
::glEnable( GL_LIGHTING );
|
||||||
::glLightModelfv(
|
::glLightModelfv(
|
||||||
GL_LIGHT_MODEL_AMBIENT,
|
GL_LIGHT_MODEL_AMBIENT,
|
||||||
glm::value_ptr(
|
glm::value_ptr(
|
||||||
interpolate( Environment->m_skydome.GetAverageColor(), suncolor, duskfactor * 0.25f )
|
interpolate( Environment->m_skydome.GetAverageColor(), suncolor, duskfactor * 0.25f )
|
||||||
* interpolate( 1.f, 0.35f, Global.Overcast / 2.f ) // overcast darkens the clouds
|
* 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
|
||||||
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 );
|
Render_Alpha( Environment->m_clouds.mdCloud, nullptr, 100.0 );
|
||||||
// post-render cleanup
|
// post-render cleanup
|
||||||
::glLightModelfv( GL_LIGHT_MODEL_AMBIENT, glm::value_ptr( colors::none ) );
|
::glLightModelfv( GL_LIGHT_MODEL_AMBIENT, glm::value_ptr( colors::none ) );
|
||||||
::glEnable( GL_LIGHT0 ); // other lights will be enabled during lights update
|
|
||||||
::glDisable( GL_LIGHTING );
|
::glDisable( GL_LIGHTING );
|
||||||
}
|
}
|
||||||
|
|
||||||
m_sunlight.apply_angle();
|
|
||||||
m_sunlight.apply_intensity();
|
|
||||||
|
|
||||||
::glPopMatrix();
|
::glPopMatrix();
|
||||||
::glDepthMask( GL_TRUE );
|
::glDepthMask( GL_TRUE );
|
||||||
::glEnable( GL_DEPTH_TEST );
|
::glEnable( GL_DEPTH_TEST );
|
||||||
@@ -2409,7 +2407,17 @@ opengl_renderer::Render( TSubModel *Submodel ) {
|
|||||||
|
|
||||||
// main draw call
|
// main draw call
|
||||||
m_geometry.draw( Submodel->m_geometry );
|
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
|
// post-draw reset
|
||||||
if( ( true == m_renderspecular ) && ( m_sunlight.specular.a > 0.01f ) ) {
|
if( ( true == m_renderspecular ) && ( m_sunlight.specular.a > 0.01f ) ) {
|
||||||
::glMaterialfv( GL_FRONT, GL_SPECULAR, glm::value_ptr( colors::none ) );
|
::glMaterialfv( GL_FRONT, GL_SPECULAR, glm::value_ptr( colors::none ) );
|
||||||
@@ -3511,6 +3519,30 @@ opengl_renderer::Update_Mouse_Position() {
|
|||||||
void
|
void
|
||||||
opengl_renderer::Update( double const Deltatime ) {
|
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;
|
m_updateaccumulator += Deltatime;
|
||||||
|
|
||||||
if( m_updateaccumulator < 1.0 ) {
|
if( m_updateaccumulator < 1.0 ) {
|
||||||
@@ -3563,22 +3595,6 @@ opengl_renderer::Update( double const Deltatime ) {
|
|||||||
m_debugtimestext += m_textures.info();
|
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
|
// dump last opengl error, if any
|
||||||
auto const glerror = ::glGetError();
|
auto const glerror = ::glGetError();
|
||||||
if( glerror != GL_NO_ERROR ) {
|
if( glerror != GL_NO_ERROR ) {
|
||||||
|
|||||||
@@ -375,6 +375,7 @@ private:
|
|||||||
unsigned int m_framestamp; // id of currently rendered gfx frame
|
unsigned int m_framestamp; // id of currently rendered gfx frame
|
||||||
float m_framerate;
|
float m_framerate;
|
||||||
double m_updateaccumulator { 0.0 };
|
double m_updateaccumulator { 0.0 };
|
||||||
|
double m_pickupdateaccumulator { 0.0 };
|
||||||
std::string m_debugtimestext;
|
std::string m_debugtimestext;
|
||||||
std::string m_pickdebuginfo;
|
std::string m_pickdebuginfo;
|
||||||
debug_stats m_debugstats;
|
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",
|
"\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",
|
"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",
|
" 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",
|
"\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",
|
"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",
|
" 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 = (
|
locale::strings = lookup->second;
|
||||||
lookup != stringmap.end() ?
|
|
||||||
lookup->second :
|
// prepare cab controls translation table
|
||||||
stringmap.find( "en" )->second );
|
{
|
||||||
|
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
|
std::string
|
||||||
label_cab_control( std::string const &Label ) {
|
label_cab_control( std::string const &Label ) {
|
||||||
|
|
||||||
|
if( Label.empty() ) { return ""; }
|
||||||
|
|
||||||
auto const lookup = m_cabcontrols.find( Label );
|
auto const lookup = m_cabcontrols.find( Label );
|
||||||
return (
|
return (
|
||||||
lookup != m_cabcontrols.end() ?
|
lookup != m_cabcontrols.end() ?
|
||||||
@@ -123,99 +411,7 @@ label_cab_control( std::string const &Label ) {
|
|||||||
|
|
||||||
std::vector<std::string> strings;
|
std::vector<std::string> strings;
|
||||||
|
|
||||||
std::unordered_map<std::string, std::string> m_cabcontrols = {
|
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" }
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace locale
|
} // namespace locale
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,101 @@ enum string {
|
|||||||
debug_vehicle_temperatures,
|
debug_vehicle_temperatures,
|
||||||
debug_vehicle_brakespressures,
|
debug_vehicle_brakespressures,
|
||||||
debug_vehicle_pantograph,
|
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
|
void
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ ui_layer::init_colors() {
|
|||||||
auto const itembase { ImVec4( accent.x, accent.y, accent.z, 0.35f ) };
|
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 itemhover { ImVec4( accent.x, accent.y, accent.z, 0.65f ) };
|
||||||
auto const itemactive { ImVec4( accent.x, accent.y, accent.z, 0.95f ) };
|
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_WindowBg ] = background;
|
||||||
colors[ ImGuiCol_PopupBg ] = background;
|
colors[ ImGuiCol_PopupBg ] = background;
|
||||||
@@ -111,6 +112,7 @@ ui_layer::init_colors() {
|
|||||||
colors[ ImGuiCol_ResizeGrip ] = itembase;
|
colors[ ImGuiCol_ResizeGrip ] = itembase;
|
||||||
colors[ ImGuiCol_ResizeGripHovered ] = itemhover;
|
colors[ ImGuiCol_ResizeGripHovered ] = itemhover;
|
||||||
colors[ ImGuiCol_ResizeGripActive ] = itemactive;
|
colors[ ImGuiCol_ResizeGripActive ] = itemactive;
|
||||||
|
colors[ ImGuiCol_ModalWindowDimBg ] = modalbackground;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
Reference in New Issue
Block a user