March 25th, 2002: Shape.cpp, Surface.cpp: - included System.hpp, Makefile: Endianness is now autodetected through SDL_BYTEORDER, so there is no need for the BYTE_ORDER variable in the Makefile anymore. Object.cpp, Things.cpp, Monster.cpp, Monstrxx.cpp: Initialize some more member variables in the constructors, especially in Monstrxx.cpp. Some of the variables where indeed uninitialized, e.g. "lastShoot", "currentShootDelay", and "nextShootTime". These changes fix the bug where mosters just seem to freeze and don't move and shoot despite being "alive". September 17th, 2001: Level.cpp: - included . Amphetamine should now compile under Linux Mandrake 8.0. March 27th, 2001: Endianess is now controlled by a seperate variable "BYTE_ORDER", which can be set to either "LITTLE_ENDIAN" (the default) or "BIG_ENDIAN". -------------------------------------------------------------------------- CMaskedShape::Encode(), CMaskedShape::RenderShapeClipped() CMaskedShape::RenderShapeUnclipped() These functions make must read/write 4-byte words at unaligned memory locations. To avoid problems on architectures that require strict alignment, the macros SET_LONG and GET_LONG perform slow byte-wise access by default. If you are on IA-32 and "make" detects this, the macro __OPT_MEM_ACCESS__ will be defined to enable faster versions of SET_LONG and GET_LONG. -------------------------------------------------------------------------- Surface.cpp: CGraphicSurface::PaintGraphic() - replaced alignment dependent memory copy code by a call to "memcpy", because it's fast enough and simpler this way Shape.cpp: CTexture::RenderShape() and CBackground::RenderShape() - replaced alignment dependent memory copy code by a call to "memcpy", because it's fast enough and simpler this way System.cpp/.hpp: - removed support for libsge