diff --git a/data/gui/custom_video_settings.stkgui b/data/gui/custom_video_settings.stkgui
index 35039a75a..3a0a1b9a8 100644
--- a/data/gui/custom_video_settings.stkgui
+++ b/data/gui/custom_video_settings.stkgui
@@ -173,6 +173,14 @@
+
+
+
+
+
+
+
+
diff --git a/src/config/user_config.hpp b/src/config/user_config.hpp
index a8621c700..f274df001 100644
--- a/src/config/user_config.hpp
+++ b/src/config/user_config.hpp
@@ -279,6 +279,10 @@ enum AnimType {ANIMS_NONE = 0,
ANIMS_PLAYERS_ONLY = 1,
ANIMS_ALL = 2 };
+enum GeometryLevel {GEOLEVEL_0 = 0,
+ GEOLEVEL_1 = 1,
+ GEOLEVEL_2 = 2 };
+
/** Using X-macros for setting-possible values is not very pretty, but it's a
* no-maintenance case :
* when you want to add a new parameter, just add one signle line below and
@@ -673,6 +677,13 @@ namespace UserConfigParams
"steering_animations", &m_graphics_quality,
"Whether to display kart animations (0=disabled for all; "
"1=enabled for humans, disabled for AIs; 2=enabled for all") );
+
+ PARAM_PREFIX IntUserConfigParam m_geometry_level
+ PARAM_DEFAULT( IntUserConfigParam(GEOLEVEL_2,
+ "geometry_level", &m_graphics_quality,
+ "Geometry quality 0=lowest level, no details; "
+ "1=a few details are displayed; 2=everything is displayed") );
+
PARAM_PREFIX IntUserConfigParam m_anisotropic
PARAM_DEFAULT( IntUserConfigParam(4, "anisotropic",
&m_graphics_quality,
diff --git a/src/states_screens/dialogs/custom_video_settings.cpp b/src/states_screens/dialogs/custom_video_settings.cpp
index 11d585bca..bbb565ae9 100644
--- a/src/states_screens/dialogs/custom_video_settings.cpp
+++ b/src/states_screens/dialogs/custom_video_settings.cpp
@@ -75,6 +75,14 @@ void CustomVideoSettingsDialog::beforeAddingWidgets()
UserConfigParams::m_show_steering_animations == 2 ?
1 : UserConfigParams::m_show_steering_animations);
+ SpinnerWidget* geometry_level = getWidget("geometry_detail");
+ geometry_level->addLabel(_("disabled")); // 0
+ //I18N: animations setting (only karts with human players are animated)
+ geometry_level->addLabel(_("low")); // 1
+ //I18N: animations setting (all karts are animated)
+ geometry_level->addLabel(_("high")); // 2
+ geometry_level->setValue(UserConfigParams::m_geometry_level);
+
SpinnerWidget* filtering = getWidget("filtering");
int value = 0;
if (UserConfigParams::m_anisotropic == 2) value = 2;
@@ -192,6 +200,9 @@ GUIEngine::EventPropagation CustomVideoSettingsDialog::processEvent(const std::s
UserConfigParams::m_show_steering_animations =
getWidget("steering_animations")->getValue();
+ UserConfigParams::m_geometry_level =
+ getWidget("geometry_detail")->getValue();
+
switch (getWidget("filtering")->getValue())
{
case 0: