mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-28 04:51:42 +00:00
Rudimentary SOC shuffling if you add a character with the same name as a previous character to prevent character select from breaking.
This commit is contained in:
parent
fcfe8c0132
commit
b2bfe3737a
1 changed files with 14 additions and 4 deletions
|
|
@ -2529,13 +2529,13 @@ void R_AddSkins(UINT16 wadnum)
|
||||||
if (!stricmp(stoken, "name"))
|
if (!stricmp(stoken, "name"))
|
||||||
{
|
{
|
||||||
INT32 skinnum = R_SkinAvailable(value);
|
INT32 skinnum = R_SkinAvailable(value);
|
||||||
|
strlwr(value);
|
||||||
// the skin name must uniquely identify a single skin
|
// the skin name must uniquely identify a single skin
|
||||||
// I'm lazy so if name is already used I leave the 'skin x'
|
// I'm lazy so if name is already used I leave the 'skin x'
|
||||||
// default skin name set in Sk_SetDefaultValue
|
// default skin name set in Sk_SetDefaultValue
|
||||||
if (skinnum == -1)
|
if (skinnum == -1)
|
||||||
{
|
{
|
||||||
STRBUFCPY(skin->name, value);
|
STRBUFCPY(skin->name, value);
|
||||||
strlwr(skin->name);
|
|
||||||
}
|
}
|
||||||
// I'm not lazy, so if the name is already used I make the name 'namex'
|
// I'm not lazy, so if the name is already used I make the name 'namex'
|
||||||
// using the default skin name's number set above
|
// using the default skin name's number set above
|
||||||
|
|
@ -2549,10 +2549,20 @@ void R_AddSkins(UINT16 wadnum)
|
||||||
value2[stringspace - 1] = '\0';
|
value2[stringspace - 1] = '\0';
|
||||||
if (R_SkinAvailable(value2) == -1)
|
if (R_SkinAvailable(value2) == -1)
|
||||||
{
|
{
|
||||||
STRBUFCPY(skin->name,
|
char* name;
|
||||||
value2);
|
INT32 i;
|
||||||
strlwr(skin->name);
|
STRBUFCPY(skin->name, value2);
|
||||||
|
for (i = 0; i < 32; i++)
|
||||||
|
{
|
||||||
|
name = strtok(Z_StrDup(description[i].skinname), "&");
|
||||||
|
strlwr(name);
|
||||||
|
if (name == value && description[i].wadnum == wadnum) // Update all character selects added with this WAD to refer to the new name.
|
||||||
|
STRBUFCPY(description[i].skinname, value2); // Breaks char&char2.
|
||||||
|
Z_Free(name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
CONS_Debug(DBG_SETUP, "R_AddSkins: Duplicate skin name replacement failure, S_SKIN lump #%d (WAD %s)\n", lump, wadfiles[wadnum]->filename);
|
||||||
Z_Free(value2);
|
Z_Free(value2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue