diff --git a/Train.cpp b/Train.cpp index a0144cee..8626184c 100644 --- a/Train.cpp +++ b/Train.cpp @@ -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 ); } diff --git a/driveruipanels.cpp b/driveruipanels.cpp index ec4c9ad9..a26b9178 100644 --- a/driveruipanels.cpp +++ b/driveruipanels.cpp @@ -434,9 +434,9 @@ debug_panel::update_section_vehicle( std::vector &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 &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, diff --git a/renderer.cpp b/renderer.cpp index a1b74e29..ca5bb328 100644 --- a/renderer.cpp +++ b/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 ) { diff --git a/renderer.h b/renderer.h index 6c47ad05..1b04ddc9 100644 --- a/renderer.h +++ b/renderer.h @@ -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; diff --git a/translation.cpp b/translation.cpp index ad37b57d..e8fe4cd8 100644 --- a/translation.cpp +++ b/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 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 strings; -std::unordered_map 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 m_cabcontrols; } // namespace locale diff --git a/translation.h b/translation.h index 260e0f8f..652444bd 100644 --- a/translation.h +++ b/translation.h @@ -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 diff --git a/uilayer.cpp b/uilayer.cpp index 8c0e4f28..f4e32e98 100644 --- a/uilayer.cpp +++ b/uilayer.cpp @@ -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 diff --git a/version.h b/version.h index 10c18563..46909a86 100644 --- a/version.h +++ b/version.h @@ -1,5 +1,5 @@ #pragma once #define VERSION_MAJOR 18 -#define VERSION_MINOR 831 +#define VERSION_MINOR 904 #define VERSION_REVISION 0