Make symbol conversion a #define instead of copypasted code.

This commit is contained in:
toasterbabe 2017-05-11 22:09:01 +01:00
parent 9445455fb1
commit 6eaf936889

View file

@ -2614,6 +2614,13 @@ static UINT16 W_CheckForSkinMarkerInPwad(UINT16 wadid, UINT16 startlump)
#define HUDNAMEWRITE(value) STRBUFCPY(skin->hudname, value) #define HUDNAMEWRITE(value) STRBUFCPY(skin->hudname, value)
#endif #endif
// turn _ into spaces and . into katana dot
#define SYMBOLCONVERT(name) for (value = name; *value; value++)\
{\
if (*value == '_') *value = ' ';\
else if (*value == '.') *value = '\x1E';\
}
// //
// Patch skins from a pwad, each skin preceded by 'P_SKIN' marker // Patch skins from a pwad, each skin preceded by 'P_SKIN' marker
// //
@ -2889,22 +2896,14 @@ void R_AddSkins(UINT16 wadnum)
{ {
HUDNAMEWRITE(skin->name); HUDNAMEWRITE(skin->name);
strupr(skin->hudname); strupr(skin->hudname);
for (value = skin->hudname; *value; value++) SYMBOLCONVERT(skin->hudname)
{
if (*value == '_') *value = ' '; // turn _ into spaces.
else if (*value == '.') *value = '\x1E'; // turn . into katana dot.
}
} }
} }
else if (!stricmp(stoken, "realname")) else if (!stricmp(stoken, "realname"))
{ // Display name (eg. "Knuckles") { // Display name (eg. "Knuckles")
realname = true; realname = true;
STRBUFCPY(skin->realname, value); STRBUFCPY(skin->realname, value);
for (value = skin->realname; *value; value++) SYMBOLCONVERT(skin->realname)
{
if (*value == '_') *value = ' '; // turn _ into spaces.
else if (*value == '.') *value = '\x1E'; // turn . into katana dot.
}
if (!hudname) if (!hudname)
HUDNAMEWRITE(skin->realname); HUDNAMEWRITE(skin->realname);
} }
@ -2912,11 +2911,7 @@ void R_AddSkins(UINT16 wadnum)
{ // Life icon name (eg. "K.T.E") { // Life icon name (eg. "K.T.E")
hudname = true; hudname = true;
HUDNAMEWRITE(value); HUDNAMEWRITE(value);
for (value = skin->hudname; *value; value++) SYMBOLCONVERT(skin->hudname)
{
if (*value == '_') *value = ' '; // turn _ into spaces.
else if (*value == '.') *value = '\x1E'; // turn . into katana dot.
}
if (!realname) if (!realname)
STRBUFCPY(skin->realname, skin->hudname); STRBUFCPY(skin->realname, skin->hudname);
} }
@ -3058,8 +3053,7 @@ void R_PatchSkins(UINT16 wadnum)
{ // Display name (eg. "Knuckles") { // Display name (eg. "Knuckles")
realname = true; realname = true;
STRBUFCPY(skin->realname, value); STRBUFCPY(skin->realname, value);
for (value = skin->realname; *value; value++) SYMBOLCONVERT(skin->realname)
if (*value == '_') *value = ' '; // turn _ into spaces.
if (!hudname) if (!hudname)
HUDNAMEWRITE(skin->realname); HUDNAMEWRITE(skin->realname);
} }
@ -3067,8 +3061,7 @@ void R_PatchSkins(UINT16 wadnum)
{ // Life icon name (eg. "K.T.E") { // Life icon name (eg. "K.T.E")
hudname = true; hudname = true;
HUDNAMEWRITE(value); HUDNAMEWRITE(value);
for (value = skin->hudname; *value; value++) SYMBOLCONVERT(skin->hudname)
if (*value == '_') *value = ' '; // turn _ into spaces.
if (!realname) if (!realname)
STRBUFCPY(skin->realname, skin->hudname); STRBUFCPY(skin->realname, skin->hudname);
} }
@ -3099,4 +3092,6 @@ next_token:
} }
return; return;
} }
#undef HUDNAMEWRITE
#undef HUDNAMEWRITE
#undef SYMBOLCONVERT