Commit graph

369 commits

Author SHA1 Message Date
adam-bloom
753ac907f8 Refactor macOS CMakeLists for .app bundle as default 2021-04-01 22:00:04 -06:00
adam-bloom
77ea64a5ef function for downloading object/sequence/dependency zips 2021-04-01 22:00:04 -06:00
adam-bloom
06e0e3db51 add MACOS_BUNDLE cmake option to build self-contained app bundle 2021-04-01 22:00:04 -06:00
Michael Steenbeek
7344b7fbfd
Use 16-bit ride_id_t thoughout and raise RIDE_ID_NULL (#14411)
* Replace RIDE_ENTRY_INDEX_NULL with OBJECT_ENTRY_INDEX_NULL

Ride entries are objects like any other, so there is little point having separate constants.

* Use ride_id_t in many more places

* Change RIDE_ID_NULL to 0xFFFF

* Increment network version

* Update replays

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2021-04-01 16:02:57 +01:00
Duncan
619b2afc15
Compute checksum by entity type (#14383)
* Compute checksum by entity type

* Copy only the entity size

* Update replays and network version
2021-03-27 09:36:41 +00:00
Duncan
977d05ba29
Entity type5: Remove peep assigned type (#14380)
* Remove users of AssignedPeepType

* Remove AssignedPeepType

Field no longer required due to changes to EntityType

* Move enum to the RCT12 header

* Increment network version

* Update replays
2021-03-24 08:54:05 +00:00
Duncan
ccfa22c230
Entity type4: Remove MiscEntityType and add FountainType (#14344)
* Move jumpingfountain type out of misc entity type

* Remove SubType for MiscEntities as it is no longer required

* Update replays

* Apply review comments

* Increment network version
2021-03-22 21:24:50 +00:00
Duncan
df7a284822
Entity type 2: Remove sprite_identifier (#14334)
* Start changing the underlying type

* Further work

* Complete refactor

* Further cleanup

* Remove pointless check

* Increment network and plugin versions

* Add defaults

* Further defaults

* Fix test paint

* Update replays
2021-03-17 08:04:41 +00:00
Duncan
5474194905
Implement train view and remove linked_list_index (#13956)
* Make train manager view

* Remove linked list index field

* Remove merge mistake

* Fix further rebase errors

* Rename and add comments

* Update replays

* Fix Xcode project

* Increment network version

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2021-03-15 08:13:00 +00:00
Michael Steenbeek
f0dc28e9fc
Update objects to v1.0.21 2021-03-12 11:04:04 +01:00
Michael Steenbeek
e40c0af9fd
Merge pull request #13682 from adam-bloom/macos_cmake_dylib
macOS CMake with vcpkg dependencies
2021-03-01 14:53:37 +01:00
adam-bloom
174297b6fc OpenRCT2/Dependencies v28 2021-02-28 15:48:30 -07:00
adam-bloom
d73004357e fix install rpath with DESTDIR 2021-02-28 15:48:30 -07:00
adam-bloom
238a46fe5f fix finding of discord-rpc 2021-02-28 15:48:30 -07:00
adam-bloom
f51fea47df Point Xcode and cmake at new dependencies
Update Xcode project to handle new library file names

Remove static discord-rpc library from Xcode build,
use dylib instead
2021-02-28 15:48:30 -07:00
adam-bloom
29c37b8ae4 enable discord-rpc from vcpkg dependencies 2021-02-28 15:48:30 -07:00
adam-bloom
c79809215c Add capability to use vcpkg packaged dependencies for macOS
This is on by default. If disabled, CMake will look for dependencies
in the standard system paths as usual. If enabled, the dependency zip
file will be downloaded (if out of date) and the vcpkg packaged
dependencies from https://github.com/OpenRCT2/Dependencies will be used.
2021-02-28 15:48:29 -07:00
Michał Janiszewski
f3ed018818 Add unused-const-variable warning 2021-02-28 23:10:25 +01:00
duncanspumpkin
f0261b4dc0
Update replays 2021-02-18 17:50:19 +01:00
Duncan
eb52391b9a
Remove next_in_quadrant (#13754)
* Use std::vector of quadrants

* Prevent ptr invalidation issues

* Remove next_in_quadrant

* Make review changes

* Rebuild next_in_quadrant for S6Export

* Fix formatting

* Constexpr where possible

* Increment network version and update replays
2021-01-23 07:36:46 +00:00
Duncan
f80531070b
Implement EntityLists (#13853)
* Implement EntityLists

* Remove dead code

* Use alternative name for iterator

* Add comments

* Increment network version

* Update replays

* Remove further dead code

* Update replays again
2021-01-21 18:36:34 +00:00
ζeh Matt
78f6e3e8e3
Fix replays not failing when last tick is the cause (#13834)
* Fix replays never failing

* Change replay dependency meta

* Stop replay when state mismatches
2021-01-14 13:48:12 +00:00
Matthias Mailänder
818b2a5239
Find the system wide installed Discord RPC library. (#13658) 2021-01-11 00:02:22 +01:00
Michael Steenbeek
60d1e94046
Close #7059: Implement landscape doors on Ghost Train (#13636)
* Implement landscape door updating

* Implement door drawing for Ghost Train

* Amend changelog and bump network version

* Apply review requests

* Always return default seat rotation for ride types with landscape doors

* Fix comment

* Update replays

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2021-01-10 21:38:02 +00:00
Duncan
d5ada2dca1
Remove type from SpriteBase (#13735)
* Move type field into sub structures

* Use type for misc_type

* Use type for l_type

* Rename to SubType

* Rename SpriteGeneric to MiscEntity

* Rename generic to misc

* Add extra nullptr checks for compilers that cant understand

* Make review changes

* Increment network version

* Update replays
2021-01-10 15:14:34 +00:00
Berbe
d49f5576a0
Fix: CMake project (#13163) 2021-01-08 19:23:51 +01:00
Duncan
9cbdae2ef1
Peep::ItemFlags merging (#13511)
* Merge standard and extra item flags for peeps

* Update replays
2020-12-09 09:21:23 +00:00
Gymnasiast
a7ac82a060
Update objects to v1.0.20 2020-12-02 17:17:32 +01:00
Richard Fine
6c4df9c54d
Fix #13409: Peeps sometimes stray too far from the path centre (#13415)
* Fix #13409: Clamp peep distances from path centers

The debunch-peeps improvement did not account for the fact that peeps may change direction when they are only at the very edge of a tile - it's not entirely clear to me why this happens, but it does. The previous code would push these peeps back towards the center line over time, but the new behaviour allows them to keep walking along these very edge-y lines, which means they sometimes appear to be walking on the wrong sides of benches, railings, etc.

To fix the problem, do not simply keep the target coordinate constant for the direction the peep is moving in, but clamp it, so that peeps in these outlier positions will get pulled back to a more acceptable position within one tile. Peeps who are already debunched within the reasonable center area of the path are unaffected.

* Update replays for change

* Add changelog entry

* Fix broken hashes

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2020-11-22 21:06:43 +00:00
duncanspumpkin
3729ebb542 Update replays for change 2020-11-07 14:14:16 +00:00
Richard Fine
438b197b80
Debunch peeps (#12917)
* Stop guests from being forced to the center line of a path over time

Change the way we apply randomness to peep destinations when moving from one tile to the next, to allow peeps that are moving along a straight path to maintain their perpendicular offset relative to the path direction, instead of being (eventually) forced back to the center line.

* Update test expectations

The changes to guest movement mean that the number of steps taken for these expected paths are now slightly different to before.
2020-11-03 22:30:36 -03:00
Michael Steenbeek
add8c3546f
Update objects to v1.0.18 (#13326) 2020-10-31 16:16:49 +01:00
Michał Janiszewski
16f9a2d494 Enable -Wold-style-cast
Now that casts have been changed to new style, prevent adding more
old-style cast
2020-10-09 01:02:03 -03:00
Ishmael King
fb47b3bb90
Close #9568: Replace RRC lift sounds LiftWood to match SFRC (#13071)
* refactor: Replace RRC lift sounds LiftWood to match SFRC

* refactor: Replace SLC lift sounds with Classic lift sound

* Update replays for change in lift sound

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2020-10-05 23:14:43 -03:00
Michał Janiszewski
8daca5b69e Add better controls over MinGW jobs to CMake 2020-09-27 20:29:49 +02:00
Michael Steenbeek
a3c9a84ae1
Upgrade objects to v1.0.17 2020-09-24 22:42:42 +02:00
Michael Steenbeek
bd28b74655
Make all game actions take an ObjectEntryIndex where applicable (#12384)
* Make all game actions take an ObjectEntryIndex where applicable

* Update replays for parameter size change

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2020-09-09 17:03:20 +01:00
ceeac
6282335873
Add CMake option to build with CCache (#12604)
This speeds up CMake recompilation significantly.
The default behaviour is to search for CCache and use it if
available; this can be disabled explicitly by setting
OPENRCT2_USE_CCACHE=OFF in CMake.
2020-08-14 09:18:52 +02:00
Michael Steenbeek
2bd8f21b2c
Upgrade objects to v1.0.16
This fixes the descriptions for the sand surfaces and also fixes a few Dutch WW/TT translations.
2020-08-10 15:40:22 +02:00
Duncan
f49bfa777a
Change maze pathfinding to not prefer a direction (#12546)
* Change maze pathfinding to not prefer a direction

* Increment network version

* Update changelog

* Update replays
2020-08-02 08:20:34 +01:00
duncanspumpkin
9f4990e886 Update replays for change 2020-07-25 08:03:07 +01:00
Jim
0248621502
Increase handyman randomness in queue (#12145)
* Increase randomness when handyman is on queue path

* Add myself to contributors

* Refactor hex variable probabilities

* Add check if queue is connected to a ride

* Update changelog

* Bump network version

* Update replays

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2020-07-08 19:48:08 +01:00
duncanspumpkin
d25e3b6bb1 Update replays 2020-07-08 12:47:21 +01:00
Gymnasiast
d28d4f4ffd
Update objects release to v1.0.15 2020-06-17 21:46:37 +02:00
Gymnasiast
9a9ab47856
Remove Twitch from the rest of the code 2020-05-28 09:28:32 +02:00
tylerleamon
51872f9741
Fix #10634: Guests are unable to use uphill paths out of toilets
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2020-05-22 19:58:38 +02:00
Duncan
53b627432d
Merge pull request #11596 from AaronVanGeffen/cmake/duktape
Fix #11576: Add duktapeConfig.cmake
2020-05-12 16:45:59 +01:00
Aaron van Geffen
6edf9b03e0 Add duktapeConfig.cmake to ease configuration.
Used for reference:
https://github.com/microsoft/vcpkg/blob/master/ports/duktape/duktapeConfig.cmake.in
2020-05-12 15:13:14 +02:00
duncanspumpkin
9b2dba62d8
Update Replays 2020-05-01 22:05:52 +02:00
Michael Steenbeek
948c393bc1
Fix #8110: Use a single name for the title sequences directory (#11545) 2020-04-30 18:50:26 +02:00
Ted John
c67962577a Rename __ENABLE_SCRIPTING__ to ENABLE_SCRIPTING 2020-04-26 14:35:08 +01:00
Ted John
ae0c2638e3 Distribute openrct2.d.ts and scripting.md 2020-04-26 14:35:03 +01:00
Ted John
e6341f0a42 Get scripting compiling on clang 2020-04-26 14:35:03 +01:00
duncanspumpkin
5e1b58df0c Use updated replay 2020-04-25 18:27:39 -03:00
Michał Janiszewski
777541afeb Disable null-dereference warning for MinGW
Error messages produced by MinGW look like:
```
In file included from ../src/openrct2/world/Banner.cpp:10:0:
../src/openrct2/world/Banner.h:29:8: error: potential null pointer dereference [-Werror=null-dereference]
 struct Banner
        ^~~~~~
```
2020-04-21 13:31:01 +02:00
Michał Janiszewski
5f97637d5e Only suggest final when using non-LTO builds
In LTO builds GCC issues the suggestion-warning from linking stage,
when pragmas are already gone and do nothing.
2020-04-21 13:31:01 +02:00
Michał Janiszewski
4f85810c14 Fix setting extended warning options 2020-04-21 13:31:01 +02:00
duncanspumpkin
cdcb76228d Update replay version 2020-04-18 08:14:42 +01:00
Michael Steenbeek
03785b4b24
Update objects to v1.0.14 (#11314) 2020-04-17 14:29:45 +02:00
duncanspumpkin
064f6f7b30 Bump replays version 2020-04-12 10:54:17 +01:00
Michael Steenbeek
82e5ceb30d
Update objects to v1.0.13 (#11011) 2020-03-24 15:37:54 +01:00
Ted John
091eaf8ba2
Try setting rpath on binary during compile (#10957) 2020-03-18 10:39:42 +01:00
Gymnasiast
35a2534adf
Bump replays version 2020-02-15 10:37:35 +01:00
Ted John
5925d5fc10
Improve cmake config for Windows and Visual Studio (#10361)
- Ensure static CRT is used when compiling.
- Allow Ninja generator to work (remove use of CMAKE_VS_PLATFORM_NAME).
- Move CMakeSettings.json to new standard location for VS.
2020-01-25 22:42:27 +00:00
Conrad Kostecki
9df66b1f1f CMakeLists.txt: don't install desktop and icon files without GUI (#10206)
If OpenRCT2 is compiled without GUI (for example as a dedicated server),
it does not make sense to install the desktop and icon files.

Signed-off-by: Conrad Kostecki <conrad@kostecki.com>
2019-11-10 20:05:51 +01:00
Conrad Kostecki
fef1906d0d CMakeLists.txt: make discord-rpc and google benchmark optional (#10208)
For a package maintainer, it should be possible to disable the support
for discord-rpc and google benchmark, as it currently always includes them,
when the library if found.
2019-11-09 21:20:16 +01:00
Michał Janiszewski
bf18bb8161
Fixup MSVC CMake targets (#10100) 2019-10-15 23:14:00 +02:00
Gymnasiast
7919e91716
Update objects to v1.0.12 2019-08-18 11:59:56 +02:00
Michał Janiszewski
209c6d0513
Make replays only downloadable when configured with tests (#9868) 2019-08-13 21:04:08 +02:00
ζeh Matt
0a5777f11a
Merge pull request #9791 from ZehMatt/replays-v0.0.3
Update replays to v0.0.4
2019-08-12 19:24:49 +02:00
Matt
51eb86aed9
Update replays to v0.0.4 2019-08-12 01:40:12 +02:00
Ted John
056ebc23d6
Update title sequences to v0.1.2c (#9854) 2019-08-11 19:03:29 +01:00
duncanspumpkin
5b1aedede4 Update replay url 2019-07-29 19:14:15 +01:00
duncanspumpkin
39b1a9568f Adjust makefile 2019-07-17 20:19:43 +01:00
duncanspumpkin
c9ac156973 Actually use the correct hash and url 2019-07-15 18:59:00 +01:00
duncanspumpkin
38d97a6ee3 Add cmake download replays. fix win download 2019-07-15 18:50:52 +01:00
Michael Steenbeek
8ff0cf9546
Update objects to 1.0.11 (#9529) 2019-07-06 16:50:58 +02:00
Michael Steenbeek
c00c8056ce Update title sequences to v0.1.2b (#9480) 2019-06-25 22:41:10 +02:00
Michael Steenbeek
9ed3c39aef
Fix #7913: RCT1/RCT2 title sequence timing is off (#8980) 2019-03-27 21:56:12 +01:00
Gymnasiast
80c57f3804 Bump objects version to 1.0.10 2019-03-20 13:02:32 +01:00
Michael Steenbeek
1b39c97412
Update objects to version 1.0.9 (#8844) 2019-03-10 21:19:08 +01:00
Tom Lankhorst
af25da940b
include platform.cmake 2019-02-05 20:16:51 +01:00
Michał Janiszewski
4192ffe57e
Improve cmake for MSVC (#8581)
* Improve cmake for MSVC

* Fix mingw builds
2019-02-05 16:12:58 +01:00
Tom Lankhorst
ce6e08c633
Introduce SET_CHECK_CXX_FLAGS 2019-02-03 23:32:51 +01:00
Tom Lankhorst
b1bc3d9322
Make build type check case insensitive 2019-01-27 13:44:16 +01:00
Tom Lankhorst
87d9932792
Conditionally enable IPO
Put corresponding functionality in `cmake/ipo.cmake`. This directory
allows for future further separation of build concerns.
2019-01-27 12:58:19 +01:00
Tom Lankhorst
06600440fe
Enable LTO/IPO on Clang and GCC 2019-01-27 12:58:19 +01:00
dchokola
d4a3feca29 Introduce DISABLE_GUI for headless build (Fixes OpenRCT2#8542) (#8566) 2019-01-07 06:08:31 +01:00
Michał Janiszewski
322be796e3
Add -Wextra (#8556)
Oops, no idea how it was missing all this time.

Additionally adds:
* `-Wno-clobbered` (conditionally)
* `-Wno-unused-parameter`
2019-01-05 00:15:06 +01:00
Michael Steenbeek
16b9c533d4
Update used objects version to v1.0.8 2018-12-23 13:12:28 +01:00
Ted John
74793a3931 Update objects version 2018-12-09 23:30:40 +00:00
Michał Janiszewski
92b556352b
Allow compilation of testpaint on non-x86 targets (#7989)
This will enable compilation of testpaint on targets different than x86.
It won't function the way it does on x86, but it should provide a way of
tackling various compilation errors that can only be seen in the very
specific environment required by testpaint proper.
2018-09-15 23:37:45 +02:00
Michael Steenbeek
8e276b9820 Require objects version 1.0.6 2018-08-26 21:37:41 +02:00
Michael Steenbeek
674b2a628a Require new version of objects 2018-07-30 21:22:33 +02:00
TheAssassin
3ffc3fa6d8
Remove redundant VS C++ flag 2018-06-30 21:31:05 +02:00
TheAssassin
c01a669ca4
Replace more custom flags with CMake options 2018-06-30 21:25:23 +02:00
TheAssassin
73c158fc63
Remove redundant and unnecessary CMake CXX flag 2018-06-30 21:24:48 +02:00
TheAssassin
843f3a61ae
Make CMake require C++17
Requires CMake 3.8+ which is the first version to support C++17 (see https://cmake.org/cmake/help/v3.8/prop_tgt/CXX_STANDARD.html).

Fixes #7749.
2018-06-30 15:13:25 +02:00
Gymnasiast
2172902b47 Update required objects version 2018-06-23 17:39:38 +02:00
Michał Janiszewski
65d1c7f490
Fix and enable -Wtautological-unsigned-zero-compare (#7706) 2018-06-17 22:48:45 +02:00