about summary refs log tree commit diff
path: root/src/game/client/components/menus_settings.cpp
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2010-09-24 13:21:03 +0200
committeroy <Tom_Adams@web.de>2010-09-24 13:21:03 +0200
commit27425facffc62b6164d20ff2c1270f2f0d1abe23 (patch)
tree78ca1f1a196b2cbc24325dee454b21f3e64a1861 /src/game/client/components/menus_settings.cpp
parentaa46c22e10f85285dae87454724d9b6ed161c9c3 (diff)
downloadzcatch-27425facffc62b6164d20ff2c1270f2f0d1abe23.tar.gz
zcatch-27425facffc62b6164d20ff2c1270f2f0d1abe23.zip
fixed last commit
Diffstat (limited to 'src/game/client/components/menus_settings.cpp')
-rw-r--r--src/game/client/components/menus_settings.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/game/client/components/menus_settings.cpp b/src/game/client/components/menus_settings.cpp
index 33a5695a..c8040bfa 100644
--- a/src/game/client/components/menus_settings.cpp
+++ b/src/game/client/components/menus_settings.cpp
@@ -209,28 +209,27 @@ void CMenus::RenderSettingsPlayer(CUIRect MainView)
         MainView.HSplitTop(MainView.h/2, 0, &MainView);
 
 		// render skinselector
-		static const int s_MaxSkins = 256;
-		static const CSkins::CSkin *s_paSkinList[s_MaxSkins];
-		static int s_NumSkins = -1;
+		static bool s_InitSkinlist = true;
+		static sorted_array<const CSkins::CSkin *> s_paSkinList;
 		static float s_ScrollValue = 0;
-		if(s_NumSkins == -1)
+		if(s_InitSkinlist)
 		{
-			mem_zero(s_paSkinList, sizeof(s_paSkinList));
-			s_NumSkins = 0;
-			for(int i = 0; i < m_pClient->m_pSkins->Num() && i < s_MaxSkins; ++i)
+			s_paSkinList.clear();
+			for(int i = 0; i < m_pClient->m_pSkins->Num(); ++i)
 			{
 				const CSkins::CSkin *s = m_pClient->m_pSkins->Get(i);
 				// no special skins
 				if(s->m_aName[0] == 'x' && s->m_aName[1] == '_')
 					continue;
-				s_paSkinList[s_NumSkins++] = s;
+				s_paSkinList.add(s);
 			}
+			s_InitSkinlist = false;
 		}
 
 		int OldSelected = -1;
-		UiDoListboxStart(&s_NumSkins , &MainView, 50.0f, Localize("Skins"), "", s_NumSkins, 4, OldSelected, s_ScrollValue);
+		UiDoListboxStart(&s_InitSkinlist, &MainView, 50.0f, Localize("Skins"), "", s_paSkinList.size(), 4, OldSelected, s_ScrollValue);
 
-		for(int i = 0; i < s_NumSkins; ++i)
+		for(int i = 0; i < s_paSkinList.size(); ++i)
 		{
 			const CSkins::CSkin *s = s_paSkinList[i];
 			if(s == 0)