1229 Commits

Author SHA1 Message Date
NotAFile
49a4c0dd4f remove duplicate handling of VersionGet 2019-05-04 20:21:44 +02:00
NotAFile
2ecd3ced44 detect end of map transfer with state packet
Previously, the end of map transfer was detected by a number of fallible
heuristics, including checking if the map is loadable on every non-map
packet, when a timeout had been reached, or the map size given by the
server was reached. This broke in a number of scenarios, including when
an unexpected packet was sent.

Instead, we now detect the end of the map transfer when we receive a
state packet, as intended by the protocol.
2019-05-04 20:14:42 +02:00
yvt
bac1b2c228 Update Xcode project to use Opus headers from pre-compiled library package
Fixes #818.
2019-03-28 16:22:26 +09:00
YVT
319afa5582
Merge pull request #793 from Ericson2314/patch-1
Fix CMake build for macOS
2019-01-01 16:45:36 +09:00
yvt
203528a769 Add a hotkey to expand the chat log
Closes #744.
2019-01-01 14:47:40 +09:00
yvt
9c0bf82a28 Update the link to pre-compiled external libraries for macOS
SDL2 was updated to 2.0.9. This fixes #781.
2019-01-01 13:31:44 +09:00
yvt
e67fd7dc90 CMake: Do not link GLEW on macOS 2019-01-01 01:52:20 +09:00
yvt
4012a16d16 CMake: Do not link Xext on macOS 2019-01-01 01:51:40 +09:00
yvt
ffe68364ec Eliminate compiler warnings 2019-01-01 00:33:23 +09:00
yvt
6426247f09 Use C++11 atomics in place of AngelScript's implementation
AngelScript's implementation uses now-deprecated `OSAtomicIncrement32`
and generates compiler warnings.
2018-12-31 21:57:11 +09:00
yvt
c7fb662f77 Remove dead code 2018-12-31 21:35:37 +09:00
yvt
2fddc13024 Eliminate compiler warnings
- Possible misuse of comma operators
- `std::move` prevents copy elision
2018-12-31 21:34:30 +09:00
John Ericson
2d13704fef Fix CMake build for macOS 2018-12-20 04:34:49 -05:00
Jipok
d25cf1bb91
Show shotgun tracers 2018-12-09 21:09:28 +05:00
yvt
3cd581260a Fix a bug causing the program not to start
This bug was introduced in ac4799abafbeb1d44d1b7166913406cd3a46b560.

This bug apparently only affected MSVC since the evaluation order of function
call parameters respect to other parameters is unspecified by the C++
specification.

Fixes #785.
2018-10-31 16:16:51 +09:00
yvt
cafb664e8e Do not unmask "Invalid" FP exceptions
This commit removes code that enables "Invalid" FP exceptions. Its
intent is unclear since it predates the git history of OpenSpades, but
it's probably for debugging.

Fixes #784.
2018-10-28 17:51:17 +09:00
yvt
c50906d16b Fix to build with GCC 4.9 2018-10-27 18:19:38 +09:00
yvt
ea0088ddd4 Explicitly delete a reference to SDL surface when a window is closed
This issue was identified by #775. (Hopefully) fixes #779.
2018-10-13 16:09:15 +09:00
yvt
6a6e771478 Add utilities and static checks to Handle 2018-10-13 16:07:24 +09:00
yvt
5dd26e3ce0 Use SPUnreachable() in place of SPAssert(false) 2018-10-13 16:07:04 +09:00
yvt
cfb972f944 Improve code quality
- Overriding methods are clearly indicated with `override` keywords
- Remove redundant `virtual` keywords from destructors of subclasses
- Introduce `SPUnsupported()`, replacing most uses of
  `SPNotImplemented()`, which now serves as a dynamic "TODO" marker
2018-10-13 14:43:49 +09:00
YVT
49f0bbe6f4
Merge pull request #774 from yvt/patch-rng
Improve/fix random number generation
2018-10-08 14:39:38 +09:00
yvt
5e03526fe4 Fix to compile with MSVC 2017 2018-10-08 14:35:10 +09:00
yvt
888253a691 Remove an unnecessary constructor of stmp::optional 2018-10-08 01:22:29 +09:00
yvt
5376c1c0c4 Get rid of the non-standard typeof operator 2018-09-18 22:33:48 +09:00
yvt
30e49b68aa Implement thread-local random number generator 2018-09-18 22:18:54 +09:00
yvt
5ec968ecf5 Call SDL_GL_SetSwapInterval after a GL context was created
Fixes #763.
2018-09-18 00:36:34 +09:00
yvt
6982134ed7 Fix to build with GCC 4.9 2018-09-17 23:57:35 +09:00
yvt
585cbfce1c Improve random number generation
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.
2018-09-17 23:48:38 +09:00
Benjamin
b3273b5912 invert zoomed spread calculation to match other clients 2018-09-03 00:09:42 -07:00
David Carlier
6e3ee7df68 modern gcc and clang build fix
putting constraints on g rather than r as well.
2018-09-02 19:27:23 +01:00
Benjamin
43b759f364 gunplay should match voxlap now
recoil, spread, and damage values are identical
recoil algorithm should match as well

notably, the shotgun is SIGNIFICANTLY weaker after this commit
2018-09-01 12:51:50 -07:00
Davi
358800f260 Flashlight fixes: dead players and spectators may no longer toggle the flashlight, spectating other players while dead will keep your flashlight off 2018-07-15 16:07:34 -03:00
Benjamin
1bd5cd7cc5 make palette hotkeys configurable (closes #752) 2018-07-04 09:22:19 -07:00
YVT
399e24090d
Merge pull request #654 from NotAFile/scoreboard-show-dead-players
Show Dead players in gray on scoreboard
2018-02-21 16:18:50 +09:00
Godwhoa
474f5cbf69 Fix input for ThirdPersonLocal
Closes: #717
2018-02-19 23:48:53 +05:30
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
03cfbdee12 Fix the wrong reference to a config variable 2017-12-31 18:35:12 +09:00
yvt
35bcea5110 Indicate that you carry the intel
Fixes #601.
2017-12-30 23:47:47 +09:00
yvt
5948ef1a2a Exclude unknown configs in the in-game config editor
Fixes #693.
2017-12-30 21:02:36 +09:00
yvt
4b4e8ec217 Eliminate an undefined behavior 2017-12-30 20:44:57 +09:00
yvt
f702eca1d8 Fix crash on server connection 2017-12-30 04:28:50 +09:00
yvt
28cd9a3c87 clang-format 2017-12-29 20:49:10 +09:00
yvt
4cb5c578c5 Eliminate compiler warning 2017-12-29 20:47:20 +09:00
yvt
3086f03cf9 Accept handshake packets anytime
Fixes #644.
2017-12-29 20:46:35 +09:00
yvt
77dfedb533 Fix #678 for real 2017-12-29 20:35:32 +09:00
yvt
336d476e8d Attempt to enable follow cam when no one's there no longer leaves you in an invalid state 2017-12-29 20:34:31 +09:00
yvt
a8dbe92423 Rename a config variable to follow the naming convention 2017-12-29 20:17:43 +09:00
yvt
2f5a21be1e Prevent a dead player from being first-person spectated
Fixes #679.
2017-12-29 20:15:23 +09:00
yvt
4bd819adcd Fix spectator display and keyboard input
- Fixes #681 (Pressing space while in free-camera mode does not move up).
- Fixes #678 (Have seconday fire cycle through the player list backwards
  in sepctator mode).
- "Stop following a player" is bound to "R" (reload) by default.
- Add help messages displayed on the screen.
2017-12-29 20:06:49 +09:00