build 180904. sunlight applied to clouds, cab control labels included in the localization system, minor bug fixes

This commit is contained in:
tmj-fstate
2018-09-04 22:05:34 +02:00
parent 36ff8d83e8
commit bbe5fe9758
8 changed files with 443 additions and 134 deletions

View File

@@ -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 );
}

View File

@@ -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,

View File

@@ -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 ) {

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,5 +1,5 @@
#pragma once
#define VERSION_MAJOR 18
#define VERSION_MINOR 831
#define VERSION_MINOR 904
#define VERSION_REVISION 0