- 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

@ -73,8 +73,13 @@ int ReadLong (byte **stream)
float ReadFloat (byte **stream)
{
int fakeint = ReadLong (stream);
return *((float *)&fakeint);
union
{
int i;
float f;
} fakeint;
fakeint.i = ReadLong (stream);
return fakeint.f;
}
void WriteString (const char *string, byte **stream)
@ -114,7 +119,13 @@ void WriteLong (int v, byte **stream)
void WriteFloat (float v, byte **stream)
{
WriteLong (*((int *)&v), stream);
union
{
int i;
float f;
} fakeint;
fakeint.f = v;
WriteLong (fakeint.i, stream);
}
// Returns the number of bytes read