12 Commits

Author SHA1 Message Date
yvt
60fd3191c5
Remove Handle::operator T*(), discouraging conversion to raw pointers
It was replaced by `Handle::GetPointerOrNull()`. Every use of
`GetPointerOrNull` should be reviewed. Some of them were already removed.
2019-07-20 15:47:42 +09:00
yvt
7c3a39e639
Modernize
- 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.
2019-07-17 00:31:00 +09:00
Benjamin
1bd5cd7cc5 make palette hotkeys configurable (closes #752) 2018-07-04 09:22:19 -07:00
YVT
2d0ae3b817 FreeType2 font renderer (#484)
* 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
2016-12-11 23:18:16 +09:00
Tomoaki Kawada
2eb9e35c65 Apply clang-format to all non-external source files 2016-12-03 18:23:47 +09:00
Tomoaki Kawada
89748d6bc6 Reduced compiler warnings 2016-07-15 19:40:05 +09:00
yvt
ca88537a6b Created new renderer method which works like SetColor but only accepts an alpha pre-multiplied color value, deprecating the badly-behaved SetColor method 2013-12-09 01:00:09 +09:00
learn_more
d41b91631f fix a shitton of warnings 2013-09-20 23:03:32 +02:00
yvt
13692657e1 Merge and some refactor (ref-counting some objects) 2013-09-14 13:28:19 +09:00
yvt
f0d34ef494 added GPLv3 header 2013-08-29 11:45:22 +09:00
yvt
500ddbb081 Corrected Palette 2013-08-19 20:15:24 +09:00
yvt
931be8cf09 From pre-0.0.3 source code 2013-08-18 16:18:06 +09:00