From 4a59d83139256bed40fd5feb8a64c237886dcc57 Mon Sep 17 00:00:00 2001 From: Garux Date: Thu, 24 May 2018 23:16:59 +0300 Subject: [PATCH] simplify void NormalizeColor( Vector3& color ) --- radiant/entity.cpp | 69 ++++------------------------------------------ 1 file changed, 5 insertions(+), 64 deletions(-) diff --git a/radiant/entity.cpp b/radiant/entity.cpp index a502e593..5104b234 100644 --- a/radiant/entity.cpp +++ b/radiant/entity.cpp @@ -495,73 +495,14 @@ void Entity_createFromSelection( const char* name, const Vector3& origin ){ } } -#if 0 -bool DoNormalisedColor( Vector3& color ){ - if ( !color_dialog( GTK_WIDGET( MainFrame_getWindow() ), color ) ) { - return false; - } - /* - ** scale colors so that at least one component is at 1.0F - */ - - float largest = 0.0F; - - if ( color[0] > largest ) { - largest = color[0]; - } - if ( color[1] > largest ) { - largest = color[1]; - } - if ( color[2] > largest ) { - largest = color[2]; - } - - if ( largest == 0.0F ) { - color[0] = 1.0F; - color[1] = 1.0F; - color[2] = 1.0F; - } - else - { - float scaler = 1.0F / largest; - - color[0] *= scaler; - color[1] *= scaler; - color[2] *= scaler; - } - - return true; -} -#endif +/* scale color so that at least one component is at 1.0F */ void NormalizeColor( Vector3& color ){ - // scale colors so that at least one component is at 1.0F - - float largest = 0.0F; - - if ( color[0] > largest ) { - largest = color[0]; - } - if ( color[1] > largest ) { - largest = color[1]; - } - if ( color[2] > largest ) { - largest = color[2]; - } - - if ( largest == 0.0F ) { - color[0] = 1.0F; - color[1] = 1.0F; - color[2] = 1.0F; - } + const std::size_t maxi = vector3_max_abs_component_index( color ); + if ( color[maxi] == 0.f ) + color = Vector3( 1, 1, 1 ); else - { - float scaler = 1.0F / largest; - - color[0] *= scaler; - color[1] *= scaler; - color[2] *= scaler; - } + color /= color[maxi]; } void Entity_normalizeColor(){