- Fixed: The environment map for mirrors no longer displayed properly when shaders

were used for fog.
- deleted obsolete g_hexen/a_weaponpieces.cpp file


Update to ZDoom r1189:

- Fixed: S_RelinkSounds() did not move the SoundChans bitfield to the new
  actor.
- Fixed: Stolen channels could be kept around by the high-level channels
  indefinitely.
- Fixed: AMageStaffFX2::IsOkayToAttack() / A_MStaffAttack aimed at friendlies.
- Added kill count awareness to A_ChangeFlag.
- P_NightmareRespawn() now clears the MTF_AMBUSH flag, so respawned monsters
  aren't dormant (since there would be no way to activate them, and they
  were certainly not dormant when they died).
- Made sdl/i_system.cpp:I_GetTimePolled() functionally equivalent to the
  Win32 version.
- Updated fmod_wrap.h and fmodsound.cpp for FMOD 4.20.
- GCC warning removal.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@234 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
Christoph Oelckers 2008-11-15 09:16:06 +00:00
parent 61c07e3d2b
commit c88d700979
15 changed files with 110 additions and 228 deletions

View file

@ -2216,16 +2216,39 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_ChangeFlag)
if (fd != NULL)
{
bool kill_before, kill_after;
kill_before = self->CountsAsKill();
if (fd->structoffset == -1)
{
HandleDeprecatedFlags(self, cls->ActorInfo, expression, fd->flagbit);
}
else
{
int * flagp = (int*) (((char*)self) + fd->structoffset);
int *flagp = (int*) (((char*)self) + fd->structoffset);
if (expression) *flagp |= fd->flagbit;
else *flagp &= ~fd->flagbit;
if (expression)
{
*flagp |= fd->flagbit;
}
else
{
*flagp &= ~fd->flagbit;
}
}
kill_after = self->CountsAsKill();
// Was this monster previously worth a kill but no longer is?
// Or vice versa?
if (kill_before != kill_after)
{
if (kill_after)
{ // It counts as a kill now.
level.total_monsters++;
}
else
{ // It no longer counts as a kill.
level.total_monsters--;
}
}
}
else