- made ColorRangeStart and ColorRangeEnd meta properties of APlayerPawn.

These are only used during initialization and they should have been readonly from the start.
This commit is contained in:
Christoph Oelckers 2019-01-02 22:13:25 +01:00
commit 6eb8ded471
6 changed files with 21 additions and 20 deletions

View file

@ -778,22 +778,22 @@ void R_InitSkins (void)
if (!remove)
{
auto transdef = ((APlayerPawn*)GetDefaultByType(transtype));
auto basedef = ((APlayerPawn*)GetDefaultByType(basetype));
auto transdef = GetDefaultByType(transtype);
auto basedef = GetDefaultByType(basetype);
Skins[i].range0start = transdef->ColorRangeStart;
Skins[i].range0end = transdef->ColorRangeEnd;
Skins[i].range0start = transdef->IntVar(NAME_ColorRangeStart);
Skins[i].range0end = transdef->IntVar(NAME_ColorRangeEnd);
remove = true;
for (j = 0; j < (int)PlayerClasses.Size (); j++)
{
auto type = PlayerClasses[j].Type;
auto type_def = ((APlayerPawn*)GetDefaultByType(type));
auto type_def = GetDefaultByType(type);
if (type->IsDescendantOf (basetype) &&
GetDefaultByType(type)->SpawnState->sprite == GetDefaultByType(basetype)->SpawnState->sprite &&
type_def->ColorRangeStart == basedef->ColorRangeStart &&
type_def->ColorRangeEnd == basedef->ColorRangeEnd)
type_def->IntVar(NAME_ColorRangeStart) == basedef->IntVar(NAME_ColorRangeStart) &&
type_def->IntVar(NAME_ColorRangeEnd) == basedef->IntVar(NAME_ColorRangeEnd))
{
PlayerClasses[j].Skins.Push ((int)i);
remove = false;
@ -995,9 +995,9 @@ void R_InitSprites ()
for (i = 0; i < numskins; i++)
{ // Assume Doom skin by default
auto type = ((APlayerPawn*)GetDefaultByType(PlayerClasses[0].Type));
Skins[i].range0start = type->ColorRangeStart;
Skins[i].range0end = type->ColorRangeEnd;
auto type = GetDefaultByType(PlayerClasses[0].Type);
Skins[i].range0start = type->IntVar(NAME_ColorRangeStart);
Skins[i].range0end = type->IntVar(NAME_ColorRangeEnd);
Skins[i].Scale = type->Scale;
}
@ -1021,8 +1021,8 @@ void R_InitSprites ()
{
Skins[i].Face = basetype->Face;
}
Skins[i].range0start = basetype->ColorRangeStart;
Skins[i].range0end = basetype->ColorRangeEnd;
Skins[i].range0start = basetype->IntVar(NAME_ColorRangeStart);
Skins[i].range0end = basetype->IntVar(NAME_ColorRangeEnd);
Skins[i].Scale = basetype->Scale;
Skins[i].sprite = basetype->SpawnState->sprite;
Skins[i].namespc = ns_global;