Commit Graph

3832 Commits

Author SHA1 Message Date
Tom Lankhorst 72519d8bb8
do not use designated initializer 2019-02-06 11:28:39 +01:00
Tom Lankhorst e24314bb5a
Fix syntax error and add <memory> 2019-02-06 11:06:16 +01:00
Tom Lankhorst 706d1be865
Avoid illegal ptr conversions 2019-02-06 10:38:25 +01:00
Tom Lankhorst f48f347798
Internally compress (zlib lvl.9) replay files
This effort reduces the size of replays by a factor 2 to 10 depending on
the park complexity. ZLIB is used as the compression backend.

- The replay file version is bumped to 2.
- An `sv6r` file still starts with a magic number and a version.
- If version = 1, the file stream is consumed by the ReplayRecordData
serializer.
- If version > 1, the file stream is decompressed and the resulting
stream is consumed by the ReplayRecordData serializer.
- Introduced `Compatible` that indicates whether a file with a version
mismatch is compatible. E.g.: v1 is compatible with this `ReplayManager`
2019-02-06 10:12:21 +01:00
Duncan c436a656ad
Merge pull request #8666 from cgdolan/develop
Implement game action for sign set style
2019-02-05 20:35:11 +00:00
duncanspumpkin 50b241d20d Add missing include and rework to use Coords 2019-02-05 19:27:30 +00:00
Michał Janiszewski 4192ffe57e
Improve cmake for MSVC (#8581)
* Improve cmake for MSVC

* Fix mingw builds
2019-02-05 16:12:58 +01:00
Christopher G. Dolan 19a58fa5fe Fix format, move validation logic to query, update network version 2019-02-04 17:30:45 -08:00
Michał Janiszewski 8a395e3706
Fix misaligned access (#8665)
Platforms like ARM are very sensitive to unaligned access. This change
makes sure the addresses obey the C++ standard and are properly aligned.
2019-02-04 23:15:14 +01:00
Christopher G. Dolan a8864092c0 fix format and serialize all ivars 2019-02-03 23:02:00 -08:00
Christopher G. Dolan 075983da0f Implement game action for sign set style 2019-02-03 22:20:01 -08:00
Michał Janiszewski 6bdbe248fd
Merge pull request #8641 from tomlankhorst/use-lto
Detect availability of LTO, apply when available
2019-02-04 00:06:37 +01:00
Tom Lankhorst ce6e08c633
Introduce SET_CHECK_CXX_FLAGS 2019-02-03 23:32:51 +01:00
Tom Lankhorst 521948139c Chat toggle button (#8648)
* Add chat_available()

* Add appropriate strings

* Add new Chat icon

* Implement Chat button

* CS

* Fix chat icon

* Make chat icon a bit smaller and less bright

* Update chat icon

* Update changelog
2019-02-03 23:30:34 +01:00
Michał Janiszewski 604da7ce01
Merge pull request #8661 from tomlankhorst/refactor-random
Refactor random engine
2019-02-03 23:29:10 +01:00
Tom Lankhorst 045692993a
Make template params adhere to code style 2019-02-03 21:16:09 +01:00
Tom Lankhorst 422d5f2ef1
Replace '_N' by '_num' 2019-02-01 21:54:00 +01:00
Tom Lankhorst d660c9d45f
Merge branch 'refactor-random' of github.com:tomlankhorst/OpenRCT2 into refactor-random 2019-02-01 21:51:28 +01:00
Tom Lankhorst 1e65db371b
Use single underscore prefix for template parameters 2019-02-01 21:51:01 +01:00
Tom Lankhorst ec8caa5636
Drop <sstream> 2019-02-01 21:47:47 +01:00
Tom Lankhorst dfe7f0614c
Consistency 2019-02-01 21:00:19 +01:00
Tom Lankhorst 16691b22ba
Use state struct 2019-02-01 19:29:43 +01:00
Tom Lankhorst 2ea347f15f
MSVC SFINAE compatibility 2019-02-01 15:50:09 +01:00
Tom Lankhorst 1a81d60609
Expose gScenarioRand, add <algorithm> 2019-02-01 14:48:45 +01:00
Tom Lankhorst 6a42a95495
Refactor random engine
Introduce RotateEngine and Rct2Engine, FixedSeedSequence and Rct2Seed.
Adhere respectively to requirements `RandomNumberEngine` and `SeedSequence`.
Can be used with C++11 adaptors and distributions in <random>.
2019-02-01 14:32:04 +01:00
Michał Janiszewski 57897d4cb5 Attach screenshot to backtrace.io report 2019-01-31 23:36:41 +01:00
Michał Janiszewski 7655ba7746 Make screenshot return path to file 2019-01-31 23:36:41 +01:00
Matt 0237eaf498 Refactor number values to SPRITE_INDEX_NULL 2019-01-30 15:02:52 +01:00
Matt 7ad59bbb37 Refactor number values to RIDE_VALUE_UNDEFINED 2019-01-30 14:59:06 +01:00
ζeh Matt 6668a1fa86 Refactor remaining number values to RideStation::NO_TRAIN (#8655) 2019-01-30 13:49:46 +00:00
Matt 4026ead774 Fix #8653: crash when peeps attempt to enter a ride with no vehicles. 2019-01-30 13:16:45 +01:00
ζeh Matt 3aad9a4b2e Refactor footpath_update_path_wide_flags 2019-01-29 19:07:00 +01:00
Tom Lankhorst 3ab73018ec Quiet CMake find package 'benchmark' (#8628)
`benchmark` is an optional package. CMake can be quiet about not finding it.
2019-01-28 21:44:50 +01:00
Tom Lankhorst 0233795add Fix #8642: Likely mistake in entrance fee check 2019-01-28 11:15:49 +01:00
Tom Lankhorst 4c015edaf6 Templatise `rorN` and `rolN` with `N` in {8, 16, 32, 64} 2019-01-28 10:55:24 +01:00
Tom Lankhorst 06600440fe
Enable LTO/IPO on Clang and GCC 2019-01-27 12:58:19 +01:00
Michael Steenbeek 3d9702dfd4
Fix #8141: Attempting to build entrance/exit on station 2 does not work 2019-01-27 10:38:47 +01:00
Michael Steenbeek 3b176cd6eb
Fix #8585: Part of track missing on air powered vertical coaster (#8635) 2019-01-25 22:09:12 +01:00
Gymnasiast 66c571370e Fix #8572: Steel Twister track pieces ID 64 and 65 drawn incorrectly 2019-01-24 20:25:01 +01:00
Tom Lankhorst 01a52d236c Use vector<string> in InteractiveConsole
Issue #8597 shows Valgrind result indicating a memory leak in
InteractiveConsole. This is fixed in #8619 by ensuring that free() is
called appropriately.
This commit takes that a step further by removing all manual memory
management in favour of using vector<string>.

- argc is now gone in favour of argv.empty()/argv.size()
- argv_t is a vector of strings of utf8's
- console_command_func's signature is changed accordingly
2019-01-24 16:12:49 +01:00
Michael Steenbeek 247e89eb53
Revert duck fix 2019-01-24 10:40:04 +01:00
Michał Janiszewski cba2dd96ec Allow specyfing more than one input file for sprite sort benchmark 2019-01-22 19:54:12 +01:00
Michał Janiszewski b38e600b15 Update sprite sort benchmark to accept filename 2019-01-22 19:45:56 +01:00
Michał Janiszewski 304840069d Add sprite sorting benchmark 2019-01-22 19:45:56 +01:00
Michał Janiszewski f2233d3cc3 Update MSVC project to use Google benchmark 2019-01-22 19:45:56 +01:00
Tom Lankhorst 55af6ad0e1 Free allocated memory when 'argc' == 0 (#8619)
Fixes leak in #8597, InteractiveConsole allocates memory for arguments,
but frees it only if the argument count is greater than zero.
2019-01-21 23:03:12 +00:00
Michael Steenbeek 4e9d2ce764
Split footpath object into two internally 2019-01-20 21:38:38 +01:00
Gymnasiast cd8227c756 Clean up magic numbers in footpath corner drawing 2019-01-20 17:54:30 +01:00
Gymnasiast d000457fb5 Rename more occurrences to railingEntry 2019-01-20 17:23:27 +01:00
Gymnasiast ad2698df0d Move 'should draw path over supports' to tile element 2019-01-20 17:23:27 +01:00