* Change private member functions of PCXHandler; EncodedGet, EncodeLine and EncodedPut into static, inline, non-member, utility functions (EncodedGet now also works with std::istream)
* Use std::string for the composition of strings, rather than some char[] buffer and strcpy + strcat
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2196 4a71c877-e1ca-e34f-864e-861f7616d084
* Make IsPower2 take advantage of the mathematical properties that a number which is a power of two has (which is that a number which is a power of two minus one has _no_ matching bits with the number that is power of two); this severely decreases the complexity of this function (previous one looped over all bits)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2180 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove macro MALLOC
* Use reinterpret_cast for the malloc stuff
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2179 4a71c877-e1ca-e34f-864e-861f7616d084
* Turn linked list macro LIST_REMOVE into inline function list_remove
* Remove macro MALLOC and use malloc instead (MALLOC was defined as malloc anyway)
* Replace some UBYTEs with chars
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2177 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove unused BMP palette code, since obviously we're not using it
* Remove two other unused parameters from BMPHandler::Create: `void* Bits`, `bool Is555`
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2172 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove unused parameter PALETTEENTRY* Palette from function BMPHandler::Create
* Change BMPHandler::GetBitmapWidth's return value to `unsigned int`
* Use std::vector for an "array" of PALETTENTRYs instead of a plain array
* Add a type CopyAblePALETTEENTRY which's definition is similar to PALETTEENTRY; with as difference that it has a copy assignment operator (so that we can use this type with std::copy, and other algorithms from the Standard Library)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2170 4a71c877-e1ca-e34f-864e-861f7616d084
* we now use "$(RMF)" (which expands to "del /f") instead of "$(RM)" (which expands to "rm -f")
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2166 4a71c877-e1ca-e34f-864e-861f7616d084
* Replace BOOL, TRUE and FALSE with bool, true and false respectively
* Use the initializer list of the constructor instead of its function body for member variable initialization
* Replace usage of "operator delete" with "operator delete []" where the respective pointer had its memory allocated using "operator new []" (not doing so may cause heap corruption)
* Don't if (pointer != NULL) delete pointer; since delete NULL is a valid no-op.
* declare variables in a more local scope
* Use algorithms instead of custom implementations; e.g. std::swap rather than { tmp = x; x = y; y = tmp}
* Use reintrepret_cast<T> at some places instead of a C style cast, since these casts are really bad in this case (i.e. unnecessary), but they're easier to recognize this way
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2165 4a71c877-e1ca-e34f-864e-861f7616d084
Also add some fallback in case server sends us a bad player number.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2160 4a71c877-e1ca-e34f-864e-861f7616d084
of alliances in this mode, and always add scavengers. Note that this mode
will not work if there are eight human players, and I do not know exactly
what will happen in this case. A check to remove scavengers has been added,
but not tested. The problem is of course that scavengers need a player, too.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2158 4a71c877-e1ca-e34f-864e-861f7616d084
functionality in the skirmish game mode, so it is not necessary.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2155 4a71c877-e1ca-e34f-864e-861f7616d084
Make sure that "let me win" cheat works again by fixing assert when grid is
updated with the base (non-off-world) units.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2150 4a71c877-e1ca-e34f-864e-861f7616d084