mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-16 01:02:03 +00:00
- turned out that the recent change to allow cancelling a powerup blend through a powerup giver did not work well so now there's an explicit 'Powerup.Color none' to do it that works a bit differently.
This commit is contained in:
parent
eaa82492e6
commit
e6de24a7de
2 changed files with 6 additions and 5 deletions
|
@ -60,7 +60,7 @@ bool APowerupGiver::Use (bool pickup)
|
|||
}
|
||||
if (BlendColor != 0)
|
||||
{
|
||||
if (BlendColor.a != 0) power->BlendColor = BlendColor;
|
||||
if (BlendColor != MakeSpecialColormap(65535)) power->BlendColor = BlendColor;
|
||||
else power->BlendColor = 0;
|
||||
}
|
||||
if (Mode != NAME_None)
|
||||
|
|
|
@ -2020,18 +2020,15 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, color, C_f, Inventory)
|
|||
"INVERSEMAP", "GOLDMAP", "REDMAP", "GREENMAP", "BLUEMAP", NULL };
|
||||
|
||||
int alpha;
|
||||
bool giver;
|
||||
PalEntry * pBlendColor;
|
||||
|
||||
if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerup)))
|
||||
{
|
||||
pBlendColor = &((APowerup*)defaults)->BlendColor;
|
||||
giver = false;
|
||||
}
|
||||
else if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
|
||||
{
|
||||
pBlendColor = &((APowerupGiver*)defaults)->BlendColor;
|
||||
giver = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2053,6 +2050,10 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, color, C_f, Inventory)
|
|||
*pBlendColor = MakeSpecialColormap(v);
|
||||
return;
|
||||
}
|
||||
else if (!stricmp(name, "none") && info->Class->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
|
||||
{
|
||||
*pBlendColor = MakeSpecialColormap(65535);
|
||||
}
|
||||
|
||||
color = V_GetColor(NULL, name);
|
||||
}
|
||||
|
@ -2064,7 +2065,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, color, C_f, Inventory)
|
|||
else alpha = 255/3;
|
||||
|
||||
alpha=clamp<int>(alpha, 0, 255);
|
||||
if (alpha != 0 || giver) *pBlendColor = MAKEARGB(alpha, 0, 0, 0) | color;
|
||||
if (alpha != 0) *pBlendColor = MAKEARGB(alpha, 0, 0, 0) | color;
|
||||
else *pBlendColor = 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue