mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 01:58:19 +00:00
fixed last commit
This commit is contained in:
parent
aa46c22e10
commit
27425facff
|
@ -209,28 +209,27 @@ void CMenus::RenderSettingsPlayer(CUIRect MainView)
|
||||||
MainView.HSplitTop(MainView.h/2, 0, &MainView);
|
MainView.HSplitTop(MainView.h/2, 0, &MainView);
|
||||||
|
|
||||||
// render skinselector
|
// render skinselector
|
||||||
static const int s_MaxSkins = 256;
|
static bool s_InitSkinlist = true;
|
||||||
static const CSkins::CSkin *s_paSkinList[s_MaxSkins];
|
static sorted_array<const CSkins::CSkin *> s_paSkinList;
|
||||||
static int s_NumSkins = -1;
|
|
||||||
static float s_ScrollValue = 0;
|
static float s_ScrollValue = 0;
|
||||||
if(s_NumSkins == -1)
|
if(s_InitSkinlist)
|
||||||
{
|
{
|
||||||
mem_zero(s_paSkinList, sizeof(s_paSkinList));
|
s_paSkinList.clear();
|
||||||
s_NumSkins = 0;
|
for(int i = 0; i < m_pClient->m_pSkins->Num(); ++i)
|
||||||
for(int i = 0; i < m_pClient->m_pSkins->Num() && i < s_MaxSkins; ++i)
|
|
||||||
{
|
{
|
||||||
const CSkins::CSkin *s = m_pClient->m_pSkins->Get(i);
|
const CSkins::CSkin *s = m_pClient->m_pSkins->Get(i);
|
||||||
// no special skins
|
// no special skins
|
||||||
if(s->m_aName[0] == 'x' && s->m_aName[1] == '_')
|
if(s->m_aName[0] == 'x' && s->m_aName[1] == '_')
|
||||||
continue;
|
continue;
|
||||||
s_paSkinList[s_NumSkins++] = s;
|
s_paSkinList.add(s);
|
||||||
}
|
}
|
||||||
|
s_InitSkinlist = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int OldSelected = -1;
|
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];
|
const CSkins::CSkin *s = s_paSkinList[i];
|
||||||
if(s == 0)
|
if(s == 0)
|
||||||
|
|
|
@ -14,9 +14,7 @@ void CSkins::SkinScan(const char *pName, int IsDir, void *pUser)
|
||||||
{
|
{
|
||||||
CSkins *pSelf = (CSkins *)pUser;
|
CSkins *pSelf = (CSkins *)pUser;
|
||||||
int l = str_length(pName);
|
int l = str_length(pName);
|
||||||
if(l < 4 || IsDir)
|
if(l < 4 || IsDir || str_comp(pName+l-4, ".png") != 0)
|
||||||
return;
|
|
||||||
if(str_comp(pName+l-4, ".png") != 0)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
char aBuf[512];
|
char aBuf[512];
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef GAME_CLIENT_COMPONENTS_SKINS_H
|
#ifndef GAME_CLIENT_COMPONENTS_SKINS_H
|
||||||
#define GAME_CLIENT_COMPONENTS_SKINS_H
|
#define GAME_CLIENT_COMPONENTS_SKINS_H
|
||||||
#include <base/vmath.h>
|
#include <base/vmath.h>
|
||||||
#include <base/tl/array.h>
|
#include <base/tl/sorted_array.h>
|
||||||
#include <game/client/component.h>
|
#include <game/client/component.h>
|
||||||
|
|
||||||
class CSkins : public CComponent
|
class CSkins : public CComponent
|
||||||
|
@ -12,8 +12,10 @@ public:
|
||||||
{
|
{
|
||||||
int m_OrgTexture;
|
int m_OrgTexture;
|
||||||
int m_ColorTexture;
|
int m_ColorTexture;
|
||||||
char m_aName[32];
|
char m_aName[24];
|
||||||
vec3 m_BloodColor;
|
vec3 m_BloodColor;
|
||||||
|
|
||||||
|
bool operator<(const CSkin &Other) { return str_comp(m_aName, Other.m_aName) < 0; }
|
||||||
};
|
};
|
||||||
|
|
||||||
void Init();
|
void Init();
|
||||||
|
@ -24,7 +26,7 @@ public:
|
||||||
int Find(const char *pName);
|
int Find(const char *pName);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
array<CSkin> m_aSkins;
|
sorted_array<CSkin> m_aSkins;
|
||||||
|
|
||||||
static void SkinScan(const char *pName, int IsDir, void *pUser);
|
static void SkinScan(const char *pName, int IsDir, void *pUser);
|
||||||
};
|
};
|
||||||
|
|
|
@ -34,7 +34,7 @@ MACRO_CONFIG_STR(ClLanguagefile, cl_languagefile, 255, "", CFGFLAG_CLIENT|CFGFLA
|
||||||
MACRO_CONFIG_INT(PlayerUseCustomColor, player_use_custom_color, 0, 0, 1, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Toggles usage of custom colors")
|
MACRO_CONFIG_INT(PlayerUseCustomColor, player_use_custom_color, 0, 0, 1, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Toggles usage of custom colors")
|
||||||
MACRO_CONFIG_INT(PlayerColorBody, player_color_body, 65408, 0, 0xFFFFFF, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Player body color")
|
MACRO_CONFIG_INT(PlayerColorBody, player_color_body, 65408, 0, 0xFFFFFF, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Player body color")
|
||||||
MACRO_CONFIG_INT(PlayerColorFeet, player_color_feet, 65408, 0, 0xFFFFFF, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Player feet color")
|
MACRO_CONFIG_INT(PlayerColorFeet, player_color_feet, 65408, 0, 0xFFFFFF, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Player feet color")
|
||||||
MACRO_CONFIG_STR(PlayerSkin, player_skin, 32, "default", CFGFLAG_CLIENT|CFGFLAG_SAVE, "Player skin")
|
MACRO_CONFIG_STR(PlayerSkin, player_skin, 24, "default", CFGFLAG_CLIENT|CFGFLAG_SAVE, "Player skin")
|
||||||
|
|
||||||
MACRO_CONFIG_INT(UiPage, ui_page, 5, 0, 9, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Interface page")
|
MACRO_CONFIG_INT(UiPage, ui_page, 5, 0, 9, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Interface page")
|
||||||
MACRO_CONFIG_INT(UiToolboxPage, ui_toolbox_page, 0, 0, 1, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Toolbox page")
|
MACRO_CONFIG_INT(UiToolboxPage, ui_toolbox_page, 0, 0, 1, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Toolbox page")
|
||||||
|
|
Loading…
Reference in a new issue