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
NotAFile
4ea1e50ae0 Add Counter for world updates per Second (#707)
* Add Counter for world updates per Second

This work was just done for personal testing and is probably not up to the
required code standards. Nonetheless, I have decided to send a PR as it is very
useful information and a good starting point.

* add MarkWorldUpdate method
2018-01-06 19:38:14 +09:00
yvt
660066fc2f Rewrite the camera control logic
- Fixes #664
- Fixes #520
2017-12-05 15:42:24 +09:00
yvt
a853a58631 Remove corpses after respawn on a certain game mode
Fixes #145.
2017-09-03 16:56:01 +09:00
yvt
aa22e4b25a Show "player joined team" message for the Spectator team
Fixes #635.
2017-09-03 16:00:30 +09:00
yvt
2ecbd554b4 Support Ogg Opus audio files (.opus) on macOS 2016-12-18 00:45:17 +09:00
Tomoaki Kawada
2eb9e35c65 Apply clang-format to all non-external source files 2016-12-03 18:23:47 +09:00
Tomoaki Kawada
6a7af96daf Refactor setting variables 2016-11-19 21:27:13 +09:00
Tomoaki Kawada
1b0ee28add cg_centerMessage now defaults to 2 2016-11-06 22:16:56 +09:00
Chameleonhider
e0d2f0b762 Configure-able center message
Center message takes up too much space on smaller screens (e.g. mine is
800x600), especially on killstreaks or intense CTF servers. So, you can
either disable all center messages ("0"), enable all default ones ("1")
or disable your kill center messages("2").

To make killfeed easier to read it is advised to make local kill icons
be black (stands out the most).
2016-02-10 19:34:09 +02:00
yvt
2599d14900 Refactor 2014-03-09 21:43:38 +09:00