1099 Commits

Author SHA1 Message Date
yvt
720be50ff4
Show additional info (estimated remaining time, etc.) when loading map 2019-05-19 17:08:09 +09:00
yvt
bb51d1fe20
Fix to build with GCC 4.9 2019-05-19 16:51:27 +09:00
yvt
cd3304ef24
Display a progress bar when receiving a map
Replaces the old useless "num-bytes-loaded/16777216" message with a
real progress bar.
2019-05-19 16:25:39 +09:00
yvt
97ed5d46ad
Fix several small issues
- `GameMapLoader` did not start the decoding thread.
- `StreamHandle::operator=` caused SEGV for null handles.
- `PipeReader` prematurely stopped outputting data.
2019-05-19 16:13:21 +09:00
yvt
1a2287201d
Add GameMapLoader 2019-05-19 15:51:40 +09:00
yvt
10fc7da79d
Add StreamHandle::operator bool 2019-05-19 14:53:32 +09:00
yvt
a8b50e9a69
Add CreatePipeStream 2019-05-19 14:41:54 +09:00
yvt
94dbd30bb6
Add onProgress parameter to GameMap::Load 2019-05-19 13:50:07 +09:00
yvt
80972e1661 Reimplement GameMap::Load using RandomAccessAdaptor
It no longer reads all data from the input stream in advance, allowing
streamed parsing.
2019-05-19 13:26:29 +09:00
yvt
40037ecb34 Add RandomAccessAdaptor::Prefetch 2019-05-19 13:12:16 +09:00
yvt
1997fec9a6 Add SPADES_MARK_FUNCTION to RandomAccessAdaptor 2019-05-19 13:09:55 +09:00
yvt
c4caf4c630 Add RandomAccessAdaptor::Read 2019-05-19 13:08:38 +09:00
yvt
894d8fbec4 Add SPADES_MARK_FUNCTION to RandomAccessAdaptor 2019-05-19 13:05:32 +09:00
yvt
f19469f6fe clang-format 2019-05-19 13:03:35 +09:00
yvt
024c8aa7ce Fix "memcpy is not a member of std" 2019-05-19 01:08:51 +09:00
yvt
b9426fd438 Add RandomAccessAdapter
It will be used to aid the implementation of the improved map loader.
2019-05-19 00:58:32 +09:00
yvt
ac6bc01617 Make the movement of the flashlight non-rigid
Like the one in Metro 2033. Should have no negative effect on gameplay.
2019-05-05 23:32:57 +09:00
yvt
157219eb45 Remove a redundant include 2019-05-05 23:30:24 +09:00
yvt
6f47da8710 Change the type of DynamicLightParam::spotAxis to std::array 2019-05-05 23:29:51 +09:00
yvt
adc944a415 Use spotlight cone angle for D-light pass object culling
Lowers the GPU cost of spotlights.
2019-05-05 22:51:15 +09:00
yvt
7853329e6d Move GLDynamicLightShader::{Cull, SphereCull} to GLDynamicLight 2019-05-05 22:12:33 +09:00
YVT
e1abcf9c41
Merge pull request #825 from NotAFile/use-state-to-end-map-transfer
detect end of map transfer with state packet
2019-05-05 13:04:59 +09:00
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