Commit Graph

138 Commits

Author SHA1 Message Date
Michał Janiszewski c141e58ea6 Switch from RelWithDebInfo to MinSizeRel + -g for Linux amd64 (#9404)
In https://github.com/OpenRCT2/OpenRCT2/issues/9357 it was found that
the archive to be uploaded is too big, over 32MiB quota imposed by
Google App Engine. To alleviate that, switch GCC to `-Os -g` to help
reduce the code size a bit.

Fixes #9357
2019-06-26 23:07:19 +02:00
Michał Janiszewski dec2d1c60b
Add `ls -l` to allow monitoring of package size on Travis (#9481) 2019-06-25 22:58:02 +02:00
Michał Janiszewski 298c9f5238 Release 0.2.2
- Feature: [#4418] Allow steep slopes on the side-friction roller coaster.
- Feature: [#7726] Add shortcut to advance one tick.
- Feature: [#7956, #7964] Add sprite font glyphs for Hungarian and some Czech letters.
- Feature: [#7971] Toolbox option to open custom content folder.
- Feature: [#7980] Allow data path for RCT1 to be specified by a command line argument.
- Feature: [#8073] Auto-upload minidumps to backtrace.io (optional, MSVC/Windows only)
- Feature: [#8078] Add save_park command to in-game console.
- Feature: [#8080] New console variable "current_rotation" to get or set view rotation.
- Feature: [#8098] Glyph for Russian rouble sign.
- Feature: [#8099] Add Powered Launch mode to Inverted RC (for RCT1 parity).
- Feature: [#8190] Allow building footpaths on 'corner down' terrain.
- Feature: [#8191] Allow building on-ride photos and water S-bends on the Water Coaster.
- Feature: [#8259] Add say command to in-game console.
- Feature: [#8374] Add replay system.
- Feature: [#8377] Add option to adjust amount of autosaves to keep.
- Feature: [#8458] Add sprite sorting benchmark.
- Feature: [#8583] Add boosters to water coaster.
- Feature: [#8648] Add optional chat button to top toolbar in multiplayer games.
- Feature: [#8652] Add network window including a graph for data usage visualisation.
- Feature: [#8670] Add ability to download missing objects when loading a park.
- Change: [#7961] Add new object types: station, terrain surface, and terrain edge.
- Change: [#8222] The climate setting has been moved from objective options to scenario options.
- Change: [#8718] Allow TARMAC object to be removed when running the `remove_unused_objects` command.
- Change: [#8718] No longer require the generic scenery groups and tarmac footpath to be checked when creating a scenario.
- Change: [#8734] Disable kick button in multiplayer window when unable to use it.
- Fix: [#3832] Changing the colour scheme of track pieces does not work in multiplayer.
- Fix: [#4094] Coasters with long flat-to-steep pieces offer them in diagonal mode (original bug).
- Fix: [#5684] Player list can desync between clients and server and can crash.
- Fix: [#6191] OpenRCT2 fails to run when the path has an emoji in it.
- Fix: [#7439] Placement messages have mixed strings
- Fix: [#7473] Disabling sound effects also disables "Disable audio on focus loss".
- Fix: [#7536] Android builds fail to start.
- Fix: [#7689] Deleting 0-tile maze gives a MONEY32_UNDEFINED (negative) refund.
- Fix: [#7828] Copied entrances and exits stay when demolishing ride.
- Fix: [#7945] Client IP address is logged as `(null)` in server logs.
- Fix: [#7952] Performance drop caused by code refactor.
- Fix: [#7954] Key validation fails on Windows due to non-ASCII user / player name.
- Fix: [#7975] Inspection flag not cleared for rides which are set to never be inspected (original bug).
- Fix: [#7985] Giant Screenshot ignores 'Map rendering' settings.
- Fix: [#7987] Broken track designs increase money by MONEY32_UNDEFINED.
- Fix: [#7991] Scenery and footpaths on Construction Rights tiles can be deleted using Clear Scenery.
- Fix: [#8034] Vanilla sprites are broken when making screenshots from command line.
- Fix: [#8045] Crash when switching between languages.
- Fix: [#8062] In multiplayer warnings for unstable cheats are shown when disabling them.
- Fix: [#8090] Maze designs saved incorrectly.
- Fix: [#8101] Title sequences window flashes after opening.
- Fix: [#8120] Crash trying to place peep spawn outside of map.
- Fix: [#8121] Crash Renaming park with server logging enabled.
- Fix: [#8139] Buying land costs money when the game is in "no money" mode.
- Fix: [#8141] Attempting to build entrance/exit on station 2 does not work.
- Fix: [#8142] Reliability of mazes and crooked houses can go below 100%.
- Fix: [#8187] Cannot set land ownership over ride entrances or exits in sandbox mode.
- Fix: [#8200] Incorrect behaviour when removing entrances and exits that are on the same tile.
- Fix: [#8204] Crash when tile element has no surface elements.
- Fix: [#8264] Rides and scenery placeable outside of map with ZC and Sandbox mode enabled.
- Fix: [#8335] Rides with arbitrary ride types can crash the game when they break down.
- Fix: [#8358] Infinite loop when changing vehicle count on stopped ride.
- Fix: [#8402] Crash closing a window in some cases.
- Fix: [#8431] Crash when game action logging is enabled.
- Fix: [#8433] Crash if master server response is not valid JSON.
- Fix: [#8434] Crash if curl_easy_init fails.
- Fix: [#8443] Crash when selecting the current vehicle for ride that has none available.
- Fix: [#8456] Junior booster track piece doesn't connect properly.
- Fix: [#8464] Crash on game shutdown.
- Fix: [#8469] Crash modifying colour on hacked rides.
- Fix: [#8508] Underground roto-drop is not going up.
- Fix: [#8555] Multiplayer window text limits are not computed properly.
- Fix: [#8572] Steel Twister track pieces ID 64 and 65 drawn incorrectly.
- Fix: [#8585] Part of track missing on air powered vertical coaster.
- Fix: [#8588] Guest list scrolling breaks above ~2000 guests.
- Fix: [#8591] Game loop does not run at a consistent tick rate of 40 Hz.
- Fix: [#8647] Marketing campaigns check for entry fees below £1 (original bug).
- Fix: [#8653] Crash when peeps attempt to enter a ride with no vehicles.
- Fix: [#8720] Desync due to boats colliding with ghost pieces.
- Fix: [#8739] Savegame from original game crashes when cruising through map.
- Fix: [#8742] Access violation in vehicle_update_sound_params.
- Fix: [#8804] Raising water shows money effect at the bottom rather than new height.
- Fix: [#8811] Some fields in the sv6 save file not being copied correctly.
- Fix: [#8824] Invalid read in footpath_chain_ride_queue.
- Improved: [#2940] Allow mouse-dragging to set patrol area (Singleplayer only).
- Improved: [#7730] Draw extreme vertical and lateral Gs red in the ride window's graph tab.
- Improved: [#7930] Automatically create folders for custom content.
- Improved: [#7980] Show the full path of the scenario in the scenario select window.
- Improved: [#7993] Allow assigning a keyboard shortcut for opening the tile inspector.
- Improved: [#8107] Support Discord release of RCT2.
- Improved: [#8491] Highlight entrance and exit with different colours in track design previews.
- Improved: Almost completely new Hungarian translation.
- Removed: [#7929] Support for scenario text objects.
2019-03-13 21:51:10 +01:00
Aaron van Geffen 736734c065
Fetch more of the repository history for non clang-format builds. (#8788)
By default, Travis fetches a shallow copy of the repository with up to 50 commits, leading `git describe` to not find any tag to offset against.

This commit explicitly adds a refspec to fetch tags from, and then instructs Travis to fetch the relevant commits.
2019-03-05 13:59:10 +01:00
Tom Lankhorst 60dcd402a7 Drop xc-pretty due to Travis formatting issues 2019-02-27 10:05:20 +01:00
Tom Lankhorst a883a46af1 Update Xcode project to use Xcode 10 (#8669) 2019-02-22 11:51:50 +01:00
Tom Lankhorst beaeaa94e7 Catch curl transfer.sh failures /w timeout (#8629)
* Handle transfer.sh upload failures

Add `||` condition on `curl` and add `-m` option set to 300 seconds.

* Missing ; at end of line

* Add --max-time to tagged builds, but do fail

* Rename env var to TRANSFER_MAX_SECONDS

* Explicitly set --connect-timeout on cURL

Because -m caused timeouts still. Also, removed --progress-bar.
Renamed env var to CURL_OPTION_NAME, specified unit in comment.
2019-02-03 23:32:15 +01:00
Tom Lankhorst 83cace393d Name entries in Travis' build matrix (#8621)
* Name entries in Travis' build matrix

* State the compiler in Docker64 entry

* Mention Xcode

* Don't specify build type for MinGW

* Don't specify build type for Ubuntu Clang and Docker64

* Consistently mention flags in job name
2019-01-22 19:56:44 +01:00
Michał Janiszewski f27e51e54f Update APK paths for uploading Android builds 2019-01-02 00:06:36 +01:00
Michał Janiszewski 8ac731e212 Release 0.2.1
- Feature: [#5993] Ride window prices can now be set via text input.
- Feature: [#6998] Guests now wait for passing vehicles before crossing railway tracks.
- Feature: [#7658] Add option to always use system file browsing window.
- Feature: [#7694] Debug option to visualize paths that the game detects as wide.
- Feature: [#7713] The virtual floor now takes land ownership rights into account.
- Feature: [#7771] Danish translation.
- Feature: [#7797, #7802, #7821, #7830] Add sprite font glyphs for Danish, Norwegian, Russian, Turkish, Catalan and Romanian.
- Feature: [#7848] Add a master volume slider to audio options screen.
- Feature: [#7868] Placing scenery while holding shift now scales appropriately with zoom levels.
- Feature: [#7882] Auto-detect Steam and GOG installations of RCT1.
- Feature: [#7885] Turkish translation.
- Fix: [#3177] Wrong keys displayed in shortcut menu.
- Fix: [#4039] No sprite font glyph for German opening quotation mark.
- Fix: [#5548] platform_get_locale_date_format is not implemented for Linux.
- Fix: [#7204] Object source filters do not work for RCT1, AA and LL.
- Fix: [#7440] Memory leak. All system memory used.
- Fix: [#7462] Guest window goes beyond the map edge on a spiral slide.
- Fix: [#7533] Screenshot is incorrectly named/file is not generated in CJK language.
- Fix: [#7628] Always-researched items can be modified in the inventory list.
- Fix: [#7643] No Money scenarios with funding set to zero.
- Fix: [#7653] Finances money spinner is too narrow for big loans.
- Fix: [#7673] Vehicle names are cut off in invention list.
- Fix: [#7674] Rides show up as random numbers in guest's ride list.
- Fix: [#7678] Crash when loading or starting a new game while having object selection window open.
- Fix: [#7683] 'Arbitrary ride type' dropdown state is shared between windows.
- Fix: [#7697] Some scenery groups in RCT1 saves are never invented.
- Fix: [#7711] Inverted Hairpin Coaster allows building invisible banked pieces.
- Fix: [#7734] Title sequence not included in macOS builds as of 0.2.0 release.
- Fix: [#7756] Steam RCT2 path not correctly checked on macOS and Linux.
- Fix: [#7765] Crash when opening ride list window on Windows Vista.
- Fix: [#7773] Once research has been completed, player is still charged for research.
- Fix: [#7786] Crash when importing a track design.
- Fix: [#7793] Duplicate private keys generated.
- Fix: [#7817] No sprite font glyph for interpunct.
- Fix: [#7823] You can build mazes in pause mode.
- Fix: [#7804] Russian ride descriptions are cut off.
- Fix: [#7872] CJK tooltips are often cut off.
- Fix: [#7895] Import of Mega Park and the RCT1 title music do not work on some RCT1 sources.
- Improved: [#7899] Timestamps in the load/save screen are now displayed using local timezone instead of GMT.
- Improved: [#7918] Better RCT2 detection if both disc and GOG/Steam versions are installed.
2018-08-26 22:20:13 +02:00
Hielke Morsink 3bb57f7efd exclude thirdparty folder from run-clang-format 2018-07-23 16:00:16 +02:00
Ted John 6753d860c7 Use docker container for clang-format 2018-07-23 16:00:14 +02:00
Hielke Morsink c5ac6ffb08 Add run-clang-format to be run by Travis CI 2018-07-23 15:58:00 +02:00
Michał Janiszewski 0aff800d40 Release 0.2.0
- Feature: [#1417] Allow saving track designs for flat rides.
- Feature: [#1675] Auto-rotate shops to face footpaths.
- Feature: [#3473] Add button in ride window's maintainance tab to refurbish the ride.
- Feature: [#6510] Ability to select edges or a row of tiles by holding down Ctrl using the land tool.
- Feature: [#7187] Option for early scenario completion.
- Feature: [#7266] Make headless instances use an interactive terminal with access to the in-game console API.
- Feature: [#7267] Leverage more historical data in Finances window.
- Feature: [#7316] Cheat to allow freezing all staff
- Feature: [#7332] Keyboard shortcuts for view path issues and cutaway view.
- Feature: [#7348] Add large half loops to the Vertical Drop Roller Coaster.
- Feature: [#7459] Allow opening and closing of parks that use no money.
- Feature: [#7579] New horizontal +/- spinner widgets to make adjusting values easier.
- Fix: [#2053] When clearance checks are disabled, a track piece ghost can remove non-ghost track pieces.
- Fix: [#2611] Some objects show (undefined string) instead of a description in Korean.
- Fix: [#3596] Saving parks, landscapes and tracks with a period in the filenames don't get their extension.
- Fix: [#5210] Default system dialog not accessible from saving landscape window.
- Fix: [#6134] Scenarios incorrectly categorised when using Polish version of RCT2.
- Fix: [#6141] CSS50.dat is never loaded.
- Fix: [#6647] Changelog window causes FPS drop.
- Fix: [#6938] Banner do not correctly capitalise non-ASCII characters.
- Fix: [#7176] Mechanics sometimes fall down from rides.
- Fix: [#7303] Visual glitch with virtual floor near map edges.
- Fix: [#7313] Loading an invalid path with openrct2 produces results different than expected.
- Fix: [#7327] Abstract scenery and stations don't get fully See-Through when hiding them (original bug).
- Fix: [#7331] Invention list in scenario editor crashes upon removing previously-enabled ride/stall entries.
- Fix: [#7341] Staff may auto-spawn on guests walking outside of paths.
- Fix: [#7354] Cut-away view does not draw tile elements that have been moved down on the list.
- Fix: [#7358] Peeps and staff entering rides still have the slope speed penalty set.
- Fix: [#7382] Opening the mini-map reverts the size of the land tool to 1x1, regardless of what was selected before.
- Fix: [#7402] Edges of neigbouring footpaths stay connected after removing a path that's underneath a ride entrance.
- Fix: [#7405] Rides can be covered by placing scenery underneath them.
- Fix: [#7418] Staff walk off paths with a connection but no adjacent path.
- Fix: [#7434] Diagonal ride segments cannot be deleted if they are isolated.
- Fix: [#7436] Only the first 32 vehicles of a train can be painted.
- Fix: [#7480] Graphs skip values of 0.
- Fix: [#7505] Game crashes when trying to make path over map edge while having clearance checks disabled.
- Fix: [#7528] In park entrance pricing tab, switching tabs happens on mouse-down instead of mouse-up
- Fix: [#7544] Starting a headless server with no arguments causes the game to freeze.
- Fix: [#7571] Hovering a ride design over scenery or tracks will give tons of money.
- Improved: [#2989] Multiplayer window now changes title when tab changes.
- Improved: [#5339] Change eyedropper icon to actual eyedropper and change cursor to crosshair.
- Improved: [#5832] Resize tile inspector automatically when selecting a tile element.
- Improved: [#6221] The scenario editor's invention list is now resizeable.
- Improved: [#7069] The arbitrary ride type selection dropdown is now sorted orthographically, and has its spinners removed.
- Improved: [#7302] Raising land near the map edge makes the affected area smaller instead of showing an 'off edge map' error.
- Improved: [#7435] Object indexing now supports multi-threading.
- Improved: [#7510] Add horizontal clipping to cut-away view options.
- Improved: [#7531] "Save track design" dropdown now stays open.
- Improved: [#7548] Ctrl-clicking with the tile inspector open now directly selects an element and its tile.
- Improved: [#7555] Allow setting the Twitch API URL, allowing custom API servers.
- Improved: [#7567] Improve the performance of loading parks and the title sequence.
- Improved: [#7577] Allow fine-tuning the virtual floor style.
- Improved: [#7608] The vehicle selection dropdown is now sorted orthographically.
- Improved: [#7613] Resizing the staff window now resizes the name and action columns too.
- Improved: [#7627] Allow scrolling up and down on spinners to change their values.
2018-06-10 22:30:51 +02:00
Michał Janiszewski aa8322e03a Use ccache in Travis Linux builds 2018-05-30 00:03:38 +02:00
Michał Janiszewski 5360921dfd Add explicit -m32 CXXFLAGS for 32-bit job on Travis
This fixes cmake's find_package() for cross-compilation
2018-05-22 17:37:07 +02:00
Michał Janiszewski 7ea308f969
Drop unneeded compiler options (#7526)
We should be able to use `-gz` properly now and there's no need for
static libstdc++ as we're using the system's default version.
2018-05-16 00:06:45 +02:00
Michał Janiszewski 7a94a0ce6f Stop requesting Precise for Android jobs 2018-05-09 21:27:09 +02:00
Ted John 42f46d15e3
Merge pull request #7414 from OpenRCT2/refactor/string-conversions
Refactor string conversion between RCT2 and UTF8
2018-04-25 10:14:39 +01:00
Michał Janiszewski fa06e12b97 Build some Travis jobs with coverage options 2018-04-23 20:35:36 +02:00
Michał Janiszewski bb99e64d38 Add CODECOV_TOKEN to travis.yml 2018-04-23 20:35:36 +02:00
Aaron van Geffen a7e0f30212 Switch Travis to use Xcode 9.3 (was 8.3) 2018-04-18 13:16:20 +02:00
Michał Janiszewski effc8657aa Add install prefixes to Travis jobs 2018-04-12 22:06:42 +02:00
Ted John 9a10de7442 Enable integration tests on CI 2018-04-10 13:28:26 +01:00
Michał Janiszewski 64be4e76e9 Link libstdc++ and libgcc statically on Travis
In preparation for GCC7 images, ship with static libstdc++ and libgcc.
2018-03-21 22:29:23 +01:00
Michał Janiszewski 6cdcda2c65 Start v0.1.3 2018-03-18 22:06:31 +01:00
Michał Janiszewski f311fb11bc
Make Travis do Android builds on master and ^android branches 2018-03-16 10:13:26 +01:00
Michał Janiszewski b0a63af347 Compress debug sections on Travis
Pass linker option to compress debug sections. Only enable this for
Travis, as spending additional cycles on it in development would not be
desirable.

This uses GCC's pass-through to linker instead of what should really be
`-gz` because of Ubuntu's outdated versions.

This (partially) addresses
https://github.com/OpenRCT2/OpenRCT2/issues/6232.
2018-02-21 19:26:27 +01:00
Michał Janiszewski 4562ca2933 Make Travis matrix depend on event type 2017-12-05 23:48:46 +01:00
Ted John 99d7aaa2d6 Remove RCT2 interop 2017-12-04 19:04:06 +00:00
Michał Janiszewski a1c1842a52 Fix #6675: Ensure libdiscord-rpc.so is packaged properly 2017-11-20 22:02:28 +01:00
Michał Janiszewski 13dd00e386
Add missing branch information to android jobs 2017-11-02 16:22:07 +01:00
Michał Janiszewski 6c3e215907
Push cron-built android builds to openrct2.org
Fixes #5657
2017-11-02 15:28:21 +01:00
Michał Janiszewski 1d1fc42836 Update Travis Xcode image to version 8.3
This is in preparation for soon deprecation of Xcode 8 image:
https://blog.travis-ci.com/2017-10-16-a-new-default-os-x-image-is-coming
2017-10-17 22:31:37 +02:00
Michał Janiszewski 34fab632e6 Use ninja for building on Travis 2017-09-24 23:02:26 +02:00
Michał Janiszewski 1f9ae4d4ec Start v0.1.2 2017-08-10 00:17:26 +02:00
Michał Janiszewski 8075df2a33 Explicitly specify shared or static libs for Travis 2017-08-09 23:30:18 +02:00
Ted John 7f5c56de72 Add the CLI only build to the distributed Linux tars (#5884) 2017-07-13 13:57:23 +01:00
Michał Janiszewski 859861eddb Start 0.1.1 2017-07-12 23:06:29 +02:00
Michał Janiszewski 6d1f732ed6
Release v0.1.0
- Feature: [#1399 (partial), #5177] Add window that displays any missing/corrupt objects when loading a park
- Feature: [#5056] Add cheat to own all land.
- Feature: [#5133] Add option to display guest expenditure (as seen in RCTC).
- Feature: [#5196] Add cheat to disable ride ageing.
- Feature: [#5504] Group vehicles into ride groups
- Feature: [#5576] Add a persistent 'display real names of guests' setting.
- Feature: [#5611] Add support for Android
- Feature: [#5706] Add support for OpenBSD
- Feature: OpenRCT2 now starts up on the display it was last shown on.
- Feature: Park entrance fee can now be set to amounts up to £200.
- Improved: Construction rights can now be placed on park entrances.
- Improved: Mouse can now be dragged to select scenery when saving track designs
- Fix: [#259] Money making glitch involving swamps (original bug)
- Fix: [#441] Construction rights over entrance path erased (original bug)
- Fix: [#578] Ride ghosts show up in ride list during construction (original bug)
- Fix: [#597] 'Finish 5 roller coasters' goal not properly checked (original bug)
- Fix: [#667] Incorrect banner limit calculation (original bug)
- Fix: [#739] Crocodile Ride (Log Flume) never allows more than five boats (original bug)
- Fix: [#837] Can't move windows on title screen to where the toolbar would be (original bug)
- Fix: [#1705] Time Twister's Medieval entrance has incorrect scrolling (original bug)
- Fix: [#3178, #5456] Paths with non-ASCII characters not handled properly on macOS.
- Fix: [#3346] Crash when extra long train breaks down at the back
- Fix: [#3479] Building in pause mode creates too many floating numbers, crashing the game
- Fix: [#3565] Multiplayer server crash
- Fix: [#3681] Steel Twister rollercoaster always shows all track designs
- Fix: [#3846, #5749] Crash when testing coaster with a diagonal lift in block brake mode
- Fix: [#4054] Sorting rides by track type: Misleading research messages
- Fix: [#4055] Sort rides by track type: Sorting rule is not really clear (inconsistent?)
- Fix: [#4512] Invisible map edge tiles corrupted
- Fix: [#5009] Ride rating calculations can overflow
- Fix: [#5253] RCT1 park value conversion factor too high
- Fix: [#5400] New Ride window does not focus properly on newly invented ride.
- Fix: [#5489] Sprite index crash for car view on car ride.
- Fix: [#5730] Unable to uncheck 'No money' in the Scenario Editor.
- Fix: [#5750] Game freezes when ride queue linked list is corrupted.
- Fix: [#5819] Vertical multi-dimension coaster tunnels drawn incorrectly
- Fix: Non-invented vehicles can be used via track designs in select-by-track-type mode.
- Fix: Track components added by OpenRCT2 are now usable in older scenarios.
- Technical: [#5047] Add ride ratings tests
- Technical: [#5458] Begin offering headless build with reduced compile- and run-time dependencies
- Technical: [#5755] Title sequence wait periods use milliseconds
- Technical: Fix many desync sources
2017-07-12 22:12:47 +02:00
Michał Janiszewski 705b8f2fff Provide some additional information in travis jobs 2017-07-04 22:14:00 +02:00
Michał Janiszewski cfbfcb61aa Perform Android builds on tagged commits 2017-07-04 22:14:00 +02:00
Michał Janiszewski 41cdf32f7e Update cmake version for Android builds
Fixes #5720
2017-06-28 23:01:17 +02:00
Michał Janiszewski 47b63620a1 Make Travis only do Android jobs when triggered from cron 2017-06-24 22:08:12 +02:00
Marijn van der Werf 8766ec37a1 Add Android project 2017-06-15 14:22:15 +02:00
Michał Janiszewski 91075fce41 Make PRs fail when submitted for master branch (#5567) 2017-06-08 00:09:55 +02:00
Michał Janiszewski 58c2faa610 Disable RCT2 tests on Travis 2017-06-05 23:13:33 +02:00
Marijn van der Werf 6dd3650426 Prevent pushing macOS pull request builds to .org 2017-06-01 21:59:10 +02:00
Ted John 1e550e9059 Create portable builds
Which set rpath to $ORIGIN so it can be run out the box.
2017-05-31 08:51:51 +01:00
Michał Janiszewski 8cb24b21a7 Add headless builds to travis configurations 2017-05-29 22:39:19 +02:00