- Replaced raw pointers with references or smart pointers. Nullable
references are represented by `stmp::optional<const T&>`. (There are
many raw pointers still remaining. They should be replaced at some
point.)
- Added class template specializations `stmp::optional<T &>` and
`stmp::optional<const T&>`.
- Fixed `stmp::optional`'s various behaviors
- `World::{players, playerPersistents}` are now `std::array`.
- More uses of `stmp::optional` to clarify the semantics
- Renamed `PlayerThrownGrenade` to `PlayerThrewGrenade`
- Replaced old-style `for` loops with range based ones
- Deleted `Player`'s default constructors and `operator =`
- Deleted `TCGameMode`'s default constructor and `operator =`
- Deleted `CTFGameMode`'s default constructor and `operator =`
- Replaced `static_cast` with `dynamic_cast` for down-casting
- `RefCountedObject::operator*()` no longer requires non-constness to
return `T &`.
- Replaced the uses of `std::vector::operator[]` with `std::vector::at`
for bounds checking.
- Made some methods of `GameMap` `const`.
- Added some null checks.
`IRenderer::{FrameDone, Flip}` are now called in `RunFrameLate` instead.
This makes it possible to create a `View` wrapping another `View` to
insert a new 2D drawing pass, which is necessary to render the system
console.
Yellow cursor no longer visible, only shows at the ends of an !active block line
Normal block cursor is the one with the corners only
Solid frame cursor is used when making a line, the corners-only one doesn't look good on lines
The global RNG state is now protected from simultaneous accesses by
employing a mutex.
Performance sensitive code requiring generation of a large number of
random numbers can utilize `LocalRNG`. This is not thread-safe but
provides a much greater throughput. `LocalRNG` is seeded by the global
RNG only at construction time.
* Skip dead players when spectating between spawns
This makes e.g. spectating the last player alive in arena easier
* Add skip dead players config option
* Backport ngspades’s FreeType2 font renderer
* Change system fonts
* Fix SWImage::Update
* Preliminary custom TTF/OTF font support
* Fix font rendering
* Adjust design
* Update devpak
* Fix to compile on Linux
* Update .travis.yml
* Update external libraries
* Update .travis.yml
* Attempt to fix Travis CI build
* Add missing sudo to travis.yml
* Nevermind the changes, it didn't work
* Update .travis.yml
* Update .travis.yml and CMakeLists.txt
Sources/Client/Client.cpp:
+ Added call to Client::DrawDisconnectScreen() in client destructor
Sources/Client/Client.h:
+ Added new prototype Client::DrawDisconnectScreen()
Sources/Client/Client_Draw.cpp:
+ Added function declaration for Client::DrawDisconnectScreen()
* New Localization Introduced: "Client":"Disconnecting..."
Resources/de/openspades.po:
+ Added rudimentary German translation for "Client":"Disconnecting..."
Resources/ja/openspades.po:
+ Added rudimentary Japanese translation for "Client":"Disconnecting..."
Resources/ko/openspades.po:
+ Added rudimentary Korean translation for "Client":"Disconnecting..."
Resources/pl_PL/pl_PL:
+ Added rudimentary Polish translation for "Client":"Disconnecting..."
Resources/pot/openspades.pot:
+ Added translation entry for "Client":"Disconnecting..."
Resources/ru/openspades.po:
+ Added rudimentary Russian translation for "Client":"Disconnecting..."