- 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:
parent
43abfba723
commit
90b5130db0
29 changed files with 327 additions and 269 deletions
|
|
@ -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 ();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue