Commit Graph

144 Commits

Author SHA1 Message Date
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
Breno Rodrigues Guimarães 81ebacc0cf
Forward script parameters into tests (#11328)
This patch forwards whatever parameter passed into run-tests to ctest or google test.
I'm using this to pass `--gtest_filter=TheInterestingTest` to run-tests
2020-04-18 05:18:47 +01:00
Gymnasiast 6c3c857dfa
Release v0.2.6
- Feature: [#10925] Show hovered values on finance charts.
- Feature: [#11013] Ctrl+C copies input dialog text to clipboard.
- Feature: [#11218] load_park command for console
- Feature: [#11272] Option for toggling notifications for 'Ride casualties' and 'Stuck or stalled vehicles'.
- Feature: [#11281] add_news_item command for console
- Feature: [#11300] Add powered launch and reverse incline launched shuttle mode to the Stand-Up Roller Coaster (for RCT1 parity).
- Fix: [#475] Water sides drawn incorrectly (original bug).
- Fix: [#6123, #7907, #9472, #11028] Cannot build some track designs with 4 stations (original bug).
- Fix: [#6238] Invalid tile elem iteration in Guest::UpdateUsingBin
- Fix: [#7094] Back wall edge texture in water missing.
- Fix: [#9719] Hacked walls in RCT1 saves are imported incorrectly.
- Fix: [#10372, #10509, #10806] Lift base sections incorrectly exporting, causing various lift related bugs.
- Fix: [#10928] File browser's date column is too narrow.
- Fix: [#10951, #11160] Attempting to place park entrances creates ghost entrances in random locations.
- Fix: [#11005] Company value overflows.
- Fix: [#11027] Third color on walls becomes black when saving.
- Fix: [#11063] Scrolling position persists when switching tabs in the scenery window.
- Fix: [#11106] Crash on getting invalid vehicle index.
- Fix: [#11126] Cannot place Frightmare track design.
- Fix: [#11208] Cannot export parks with RCT2 DLC objects.
- Fix: [#11230] Seat Rotation not imported correctly for hacked rides.
- Fix: [#11225] Replay manager cannot handle track designs.
- Fix: [#11246] Fix Various Import/Export issues with Boat locations, balloon frame number.
- Fix: [#11258] Properly remove format codes from imported strings.
- Fix: [#11286] Fix banner tooltip colour.
- Fix: Small red gardens in RCT1 saves are imported in the wrong colour.
- Improved: [#11157] Slimmer virtual floor lines.
2020-04-17 16:13:30 +02:00
Michał Janiszewski cd37f23ce7
Restore uploading of debug symbols to backtrace.io (#11046)
Regression from ee09ffadf7
2020-03-25 23:19:00 +01:00
Michał Janiszewski 4f6e77e30a Release 0.2.5
- Feature: [#3154] Use a random title sequence each time it is shown.
- Feature: [#6553] Android version now runs in full screen.
- Feature: [#7865] Transport rides can now be synchronised.
- Feature: [#9073] Shortcut keys for the Tile Inspector.
- Feature: [#10305] Add two shortcuts for increasing and decreasing the scaling factor.
- Feature: [#10189] Make Track Designs work in multiplayer.
- Feature: [#10357] Added window for scenery scatter tool, allowing for area and density selection.
- Feature: [#10637] Console command to remove all floating objects.
- Change: [#1164] Use available translations for shortcut key bindings.
- Change: [#10997] Speed is automatically reset to normal upon scenario completion.
- Fix: [#2485] Hide Vertical Faces not applied to the edges of water.
- Fix: [#5249] No collision detection when building ride entrance at heights > 85.5m.
- Fix: [#6766] Changelog window doesn't open on some platforms.
- Fix: [#7784] Vehicle tab takes 1st car colour instead of tab_vehicle's colour.
- Fix: [#7854] Cannot build a custom spiral roller coaster design.
- Fix: [#7854] Empty entries in spiral roller coaster designs list.
- Fix: [#8151] Game freezes upon demolishing mazes at odd heights.
- Fix: [#8875] RCT1 competition scenarios are classified incorrectly.
- Fix: [#10176] Mistake in the sprite for the land tool's 6x6 grid.
- Fix: [#10196] Doors unable to be placed at end of track corners.
- Fix: [#10228] Can't import RCT1 Deluxe from Steam.
- Fix: [#10313] Path furniture can be placed on level crossings.
- Fix: [#10325] Crash when banners have no text.
- Fix: [#10376] No ratings generated when a shop and track intersect.
- Fix: [#10420] Money effect causing false positive desync.
- Fix: [#10477] Large Scenery cannot be placed higher using SHIFT.
- Fix: [#10489] Hosts last player action not being synchronized.
- Fix: [#10543] Secondary shop item prices are not imported correctly from RCT1 saves.
- Fix: [#10547] RCT1 parks have too many rides available.
- Fix: [#10587] Update last action coordinates on correct player.
- Fix: [#10631] Game bugs out and crashes if you get too many stations via copying stations with the tile inspector.
- Fix: [#10662] Duck cheat tooltips look odd and do not explain anything.
- Fix: [#10694] The lift hill speed of the flying roller coaster cannot be changed (original bug).
- Fix: [#10705] Apply multithreaded rendering to all viewports.
- Fix: [#10739] Mountain tool overlay for even-numbered selections.
- Fix: [#10752] Mute button state not correctly set at startup.
- Fix: [#10822] Can place too many peep spawns.
- Fix: [#10898] Banner text has an offset in tile inspector window.
- Fix: [#10904] RCT1/LL-scenarios with red water won't open.
- Fix: [#10941] The Clear Scenery tool gives refunds for ghost elements.
- Fix: [#10963] Light effects are drawn off-centre in some rotations.
- Fix: [#10993] Bottom toolbar not refreshing when a guest leaves the park.
- Fix: [#11001] Rides list does not use natural sorting.
- Fix: [objects#54] Stage Coach cars are not considered covered by the game.
- Fix: [objects#56] Handymen cut grass incorrectly.
- Improved: [#682] The staff patrol area is now drawn on the water, instead of on the surface under water.
- Improved: [#10858] Added horizontal grid lines to finance charts.
- Improved: [#10884] Added y-axes and labels to park window charts.
- Improved: [#10970] Introduced optional light effects for vehicles at night.
- Removed: [#6898] LOADMM and LOADRCT1 title sequence commands (use LOADSC instead).
2020-03-24 21:46:30 +01:00
Ted John e2bbd55304
Fix no contributors.md and licence.txt in windows portable builds (#10837) 2020-02-24 23:09:16 +01:00
Ted John a8b5304786
Remove exe / com wrapper around openrct2.dll for Windows (#10727)
We get repeated reports of people saying the game is incorrectly reported as a virus. It is becoming more inconvenient for players and even myself, because when we attempt to download a build, it is immediately deleted by scanners (including the default for Windows: Windows Defender).

One scanner is not too much of an issue, but the game is flagged by almost half of available scanners as reported by VirusTotal.

So why is it being flagged?

Windows has a very annoying concept, the subsystem for a binary. The console subsystem allows stdin / stdout as you would expect, just like posix. Unfortunately if a user runs a console subsystem binary from the desktop or explorer, the game will be opened under conhost and thus you get a console showing alongside the game window. This is not a good user experience for most players. To resolve this, you can use the windows subsystem, but this will detach stdin and stdout immediately on launch. There are hacks that can be done in code to allocate a new console but I found this to not work very well with stdin or other terminal emulators.

My solution to the problem was to have two binaries: openrct2.exe and openrct2.com. Both are executable but openrct2.exe is windows subsystem, openrct2.com is console subsystem. The desktop shortcut opens openrct2.exe with no console window showing. Typing openrct2 on the command line will execute openrct2.com (as .com has higher PATH precedence than .exe by default) with working stdin and stdout. In order to reduce the size, I have the entire game inside openrct2.dll and then supply two tiny wrapper EXEs that simply route main(...) into the DLL.

These wrapper EXEs are the problem, they are very small and do nothing but call into a DLL, this must match virus signatures too closely and their size probably reduces the data available for the scanner to analyse.

So as I can not find any other way of achieving my goal of a cli and gui version of OpenRCT2, this changes the build to publish openrct2 as a single executable (rather than a DLL + wrapper EXE), and then duplicate the entire ~10MB exe again and flip the subsystem flag. The installer and zip size won't be affected as this extra size will be completely compressed out, but when unpacked will lead to an extra ~10MB on disc. But I think it is a fair compromise.

VirusTotal now reports all artefacts as safe, for now anyway.
2020-02-18 11:35:27 +00:00
Michał Janiszewski 1fff7f17d9
Change ninja options to less verbosity, continue on error (#10652) 2020-02-04 00:06:15 +01:00
Ted John 5dbd3c7c0c Allow tests to work with CRLF test data 2020-02-02 15:47:50 +00:00
Ted John eab255c4bf
Add Linux portable to GitHub CI (#10612) 2020-01-24 11:46:12 +00:00
Ted John 3ba8369f22
Do major clean up of Windows CI workflow (#10581)
- Move many of the post build operations in openrc2.proj to bash scripts, some of which can be shared with the macOS and Linux CIs.
- Improve performance of NSIS stage by grabbing a pre-packaged portable zip from GitHub. This typically saves the CI a minute and is more reliable.
2020-01-19 14:04:59 +00:00
Ted John ee09ffadf7
Move Windows CI from AppVeyor to GitHub actions (#10573) 2020-01-16 13:17:17 +00:00
Ted John a66560045f Add macOS to GitHub actions 2020-01-09 17:20:58 +00:00
Matt 5c490b408b
Print clang-format version 2019-12-22 21:48:34 +01:00
Gokturk Yuksek 7bf05d4c04 Fix #10308: remove the last remnants of libsdl2-ttf references (#10321)
As per #5702, SDL2_ttf dependency is completely eliminated from
OpenRCT2. However, there are still references to it, which are
redundant and misleading. Clean up the remaining references to
libsdl2-ttf.

Closes: https://github.com/OpenRCT2/OpenRCT2/issues/10308
2019-12-02 07:41:18 +01:00
TheAssassin 0152eaa246 Build versioned AppImages (#10265) 2019-11-19 16:00:51 +01:00
Ted John 73dae03601
Update appveyor_deploy.ps1 2018-10-28 12:57:57 +00:00
Ted John c3f4260aad
Update appveyor_deploy.ps1 2018-10-28 12:32:08 +00:00
Ted John aae2cf9250
Find correct zip file 2018-10-28 11:47:34 +00:00
Michał Janiszewski 593f9a03ea Upload zipped symbols to backtrace.io 2018-10-28 00:16:08 +02:00
Ted John 5ec03c7a4c Remove unnecessary opinion from comment 2018-10-24 23:36:14 +02:00
Michał Janiszewski cc3beb9237 Upload symbols from AppVeyor to backtrace.io 2018-10-24 23:36:14 +02:00
Ted John 82107e5666
Merge pull request #7957 from TheAssassin/appimage
Add build scripts to create an AppImage.
2018-10-04 07:50:06 +01:00
Ted John e46b5c752a Build AppImage for release 2018-09-29 14:11:49 +01:00
Ted John 5ff7a0a4f8 Remove code signing clutter 2018-09-08 21:29:10 +01:00
TheAssassin 0b3ddc85d6 Remove redundant CLI flags 2018-08-29 22:32:47 +02:00
TheAssassin b189ea27b4 Switch to ninja 2018-08-29 22:23:53 +02:00
TheAssassin 4cc80613cb Remove compatibility hacks 2018-08-29 22:05:57 +02:00
Michał Janiszewski 5b85a944bb
Use LD_PRELOAD only on built binaries in 32-bit jobs
This avoids trying to preload the 32-bit library into 64-bit processes.
The exception is ctest which will be tried, but it's easiest to do it this way.
2018-08-29 10:55:44 +02:00
Michał Janiszewski 50d885fc4a
Use libSegFault to print stacktraces on Travis 2018-08-29 10:41:09 +02:00
Hielke Morsink c5ac6ffb08 Add run-clang-format to be run by Travis CI 2018-07-23 15:58:00 +02:00
TheAssassin 5ce90f8906 libfuse2 isn't needed any more 2018-07-01 14:12:05 +02:00
TheAssassin e567c568bb Remove deprecated icu build 2018-07-01 14:08:18 +02:00
TheAssassin 8b0ca9ef81 AppImage build scripts, mk. 1
Produces working AppImage for bionic and newer distros.
2018-07-01 14:04:37 +02:00
Ted John 314707d67a Add `git describe` support for AppVeyor builds 2018-06-14 12:52:01 +01:00
Michał Janiszewski bc67191925
Improve reporting of ccache stats
Now shows pre & post build stats in form of diff.
2018-05-30 13:50:17 +02:00
Michał Janiszewski aa8322e03a Use ccache in Travis Linux builds 2018-05-30 00:03:38 +02:00
Ted John bece5e5429
Merge pull request #7431 from IntelOrca/refactor/use-shared-ptr-1
Use shared_ptr for long-life objects
2018-05-13 00:19:43 +01:00
Michał Janiszewski af00a1de03 Use @IntelOrca's discord-rpc to fix discordapp/discord-rpc#134 2018-05-12 22:08:25 +02:00
Michał Janiszewski 9f8e1e7c9c Use discord-rpc 3.3.0 on Travis 2018-05-12 22:08:25 +02:00
Michał Janiszewski d284bcc4fe Filter out spammy messages from gcov 8.1.0
gcov 8 outputs **a lot** (gigabytes) of messages like

```
test_tile_elements.dir/test/tests/TestData.cpp.gcno:'main' has arcs to entry block
test_tile_elements.dir/test/tests/TestData.cpp.gcno:'main' has arcs from exit block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'main' has arcs to entry block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'main' has arcs from exit block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'_ZNK9__gnu_cxx13new_allocatorIcE8max_sizeEv' has arcs to entry block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'_ZNK9__gnu_cxx13new_allocatorIcE8max_sizeEv' has arcs from exit block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'_ZN9__gnu_cxx13new_allocatorIcE8allocateEjPKv' has arcs to entry block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'_ZN9__gnu_cxx13new_allocatorIcE8allocateEjPKv' has arcs from exit block
```

which we cannot alleviate, but they overload Travis' log size of 4MiB
causing the jobs to get killed.

This will simply silence those messages.
2018-05-12 22:06:56 +02:00
Michał Janiszewski ad0060f2b9
Use rapidjson with hack for GCC8 (#7503)
To be removed once https://github.com/Tencent/rapidjson/issues/1205 is fixed
2018-05-11 16:15:36 +02:00
Michał Janiszewski d240233671 Collect coverage on Travis 2018-04-23 20:35:36 +02:00
Michał Janiszewski 0b7fe2a71c Execute scan-objects on Travis 2018-04-22 22:42:20 +02:00
Michał Janiszewski a1e0e63633
Fix Travis builds by using tagged discord-rpc version 2018-04-17 20:35:36 +02:00
Michał Janiszewski 36f86440d9 Perform install target on Travis/docker64 2018-04-12 22:06:42 +02:00
Richard Jenkins 9a10218275 Update official domain 2018-02-05 13:32:53 +01:00
Michał Janiszewski a9179fff52 chmod whole build directory on Travis 2017-11-15 22:32:51 +01:00
Michał Janiszewski 8f3434d084 Add discord-rpc support to Linux 2017-11-15 22:32:51 +01:00