mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-01-31 21:30:36 +00:00
Merge remote-tracking branch 'ui/ui'
This commit is contained in:
commit
5a3163a7e4
1 changed files with 14 additions and 28 deletions
|
@ -5302,7 +5302,6 @@ PlayerDirectoryList(void)
|
|||
char* findname = "players/*";
|
||||
char** list = 0;
|
||||
int num = 0;
|
||||
int n = 0;
|
||||
|
||||
// get a list of "players" subdirectories
|
||||
if ((list = FS_ListFiles2(findname, &num, 0, 0)) == 0)
|
||||
|
@ -5310,35 +5309,20 @@ PlayerDirectoryList(void)
|
|||
return false;
|
||||
}
|
||||
|
||||
n = num;
|
||||
|
||||
if (n > MAX_PLAYERMODELS)
|
||||
if (num > MAX_PLAYERMODELS)
|
||||
{
|
||||
n = MAX_PLAYERMODELS - 1;
|
||||
}
|
||||
|
||||
s_directory.num = 0;
|
||||
|
||||
for (int i = 0; i < n; ++i)
|
||||
{
|
||||
// last element of FS_FileList maybe null
|
||||
if (list[i] == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
s_directory.num++;
|
||||
num = MAX_PLAYERMODELS - 1;
|
||||
}
|
||||
|
||||
// malloc directories
|
||||
char** data = (char**)malloc(s_directory.num * sizeof(char*));
|
||||
YQ2_COM_CHECK_OOM(data, "malloc()", s_directory.num * sizeof(char*))
|
||||
memset(data, 0, s_directory.num * sizeof(char*));
|
||||
char** data = (char**)malloc(num * sizeof(char*));
|
||||
YQ2_COM_CHECK_OOM(data, "malloc()", num * sizeof(char*))
|
||||
memset(data, 0, num * sizeof(char*));
|
||||
|
||||
s_directory.data = data;
|
||||
s_directory.num = 0;
|
||||
s_directory.num = num;
|
||||
|
||||
for (int i = 0; i < n; ++i)
|
||||
for (int i = 0; i < num; ++i)
|
||||
{
|
||||
// last element of FS_FileList maybe null
|
||||
if (list[i] == 0)
|
||||
|
@ -5356,14 +5340,14 @@ PlayerDirectoryList(void)
|
|||
strncpy(s, t, MAX_QPATH - 1); // MAX_QPATH - 1, gcc warns about truncation
|
||||
s[strlen(s)] = 0;
|
||||
|
||||
data[s_directory.num++] = s;
|
||||
data[i] = s;
|
||||
}
|
||||
|
||||
// free file list
|
||||
FS_FreeList(list, num);
|
||||
|
||||
// sort them male, female, alphabetical
|
||||
qsort(s_directory.data, s_directory.num, sizeof(char**), dircmp_func);
|
||||
qsort(s_directory.data, s_directory.num - 1, sizeof(char**), dircmp_func);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -5443,9 +5427,9 @@ PlayerModelList(void)
|
|||
}
|
||||
|
||||
// malloc skinnames
|
||||
data = (char**)malloc(s_skinnames[mdl].num * sizeof(char*));
|
||||
YQ2_COM_CHECK_OOM(data, "malloc()", s_skinnames[mdl].num * sizeof(char*))
|
||||
memset(data, 0, s_skinnames[mdl].num * sizeof(char*));
|
||||
data = (char**)malloc((s_skinnames[mdl].num + 1) * sizeof(char*));
|
||||
YQ2_COM_CHECK_OOM(data, "malloc()", (s_skinnames[mdl].num + 1) * sizeof(char*))
|
||||
memset(data, 0, (s_skinnames[mdl].num + 1) * sizeof(char*));
|
||||
|
||||
s_skinnames[mdl].data = data;
|
||||
s_skinnames[mdl].num = 0;
|
||||
|
@ -5480,6 +5464,8 @@ PlayerModelList(void)
|
|||
}
|
||||
}
|
||||
|
||||
s_skinnames[mdl].num++; // guard pointer
|
||||
|
||||
// at this point we have a valid player model
|
||||
s = (char*)malloc(MAX_DISPLAYNAME);
|
||||
t = strrchr(s_directory.data[i], '/');
|
||||
|
|
Loading…
Reference in a new issue