- Fixed: The C code in AltSoundRenderer::CopyAndClip() did not shift the sample

data enough (2 bits instead of 8), so it was super loud and aliased.
- Fixes for GCC 4.1: Several type-punned pointer warnings, but more
  importantly, declaring a friend function inside a class body is no longer
  enough to declare that function globally; you must declare it again outside
  the class.
- Upgraded FArchive::SerializePointer so that it can store 32-bit indices.
- ACS printing pcodes now build their string in an FSttring instead of a fixed
  sized buffer on the stack.


SVN r145 (trunk)
This commit is contained in:
Randy Heit 2006-05-26 04:38:22 +00:00
commit 90b5130db0
29 changed files with 327 additions and 269 deletions

View file

@ -46,16 +46,21 @@ void ASectorAction::Destroy ()
{
// Remove ourself from this sector's list of actions
AActor *probe = Sector->SecActTarget;
AActor **prev = reinterpret_cast<AActor **>(&Sector->SecActTarget);
union
{
AActor **act;
ASectorAction **secact;
} prev;
prev.secact = &Sector->SecActTarget;
while (probe && probe != this)
{
prev = &probe->tracer;
prev.act = &probe->tracer;
probe = probe->tracer;
}
if (probe != NULL)
{
*prev = probe->tracer;
*prev.act = probe->tracer;
}
Super::Destroy ();