@@ -67,6 +67,9 @@ enum class TextureOverride {
6767 Specular
6868};
6969
70+ constexpr auto LAB_MISSION_NONE_STRING = " None" ;
71+ constexpr auto LAB_TEAM_COLOR_NONE = " <none>" ;
72+
7073class LabRenderer {
7174public:
7275 LabRenderer () {
@@ -75,8 +78,8 @@ class LabRenderer {
7578 directionalFactor = static_light_factor;
7679 textureQuality = TextureQuality::Maximum;
7780 cameraDistance = 100 .0f ;
78- currentTeamColor = " <none> " ;
79- useBackground (" None " );
81+ currentTeamColor = LAB_TEAM_COLOR_NONE ;
82+ useBackground (LAB_MISSION_NONE_STRING );
8083
8184 labCamera.reset (new OrbitCamera ());
8285
@@ -110,25 +113,28 @@ class LabRenderer {
110113 }
111114
112115 void useNextTeamColorPreset () {
113- auto color_itr = Team_Colors.find (currentTeamColor);
114-
115- if (color_itr == Team_Colors.begin ()) {
116- color_itr = --Team_Colors.end ();
117- currentTeamColor = color_itr->first ;
118- }
119- else {
120- --color_itr;
121- currentTeamColor = color_itr->first ;
116+ if (!Team_Colors.empty ()) {
117+ auto color_itr = Team_Colors.find (currentTeamColor);
118+
119+ if (color_itr == Team_Colors.begin ()) {
120+ color_itr = --Team_Colors.end ();
121+ currentTeamColor = color_itr->first ;
122+ } else {
123+ --color_itr;
124+ currentTeamColor = color_itr->first ;
125+ }
122126 }
123127 }
124128
125129 void usePreviousTeamColorPreset () {
126- auto color_itr = Team_Colors.find (currentTeamColor);
130+ if (!Team_Colors.empty ()) {
131+ auto color_itr = Team_Colors.find (currentTeamColor);
127132
128- ++color_itr;
129- if (color_itr == Team_Colors.end ())
130- color_itr = Team_Colors.begin ();
131- currentTeamColor = color_itr->first ;
133+ ++color_itr;
134+ if (color_itr == Team_Colors.end ())
135+ color_itr = Team_Colors.begin ();
136+ currentTeamColor = color_itr->first ;
137+ }
132138 }
133139
134140 void setTeamColor (SCP_string teamColor) {
0 commit comments