Commit Graph

2997 Commits

Author SHA1 Message Date
Ted John 34168b6ecc Import sprite flags as named flags 2018-03-26 21:37:23 +02:00
Ted John f700c661d8 Allow cars property to be a single object 2018-03-26 21:37:23 +02:00
Ted John a695dc953e Fix import of JSON cars 2018-03-26 21:37:23 +02:00
Ted John 43c3eca185 Add remaining flags 2018-03-26 21:37:23 +02:00
Ted John aec6da1420 Load loading positions from JSON and convert to vector 2018-03-26 21:37:23 +02:00
Ted John 7190894ec6 Read JSON colour presets for rides 2018-03-26 21:37:23 +02:00
Ted John afbdb6dfc7 Continue work on ride JSON loading 2018-03-26 21:37:23 +02:00
Ted John 01067eebad Revert 287d97a8937eb4985da060063f09816291219b78
Caused all food stalls to incorrectly have colour tab.
2018-03-26 21:37:23 +02:00
Ted John 85f9f3ad09 Read a shape property instead of individual flags 2018-03-26 21:37:23 +02:00
Ted John a03b58501b Add JSON loading for small scenery 2018-03-26 21:37:23 +02:00
Ted John 7d26492961 Fix removal price for large scenery 2018-03-26 21:37:23 +02:00
Ted John 44e2f1d577 Add JSON loading for 3D fonts in large scenery 2018-03-26 21:37:23 +02:00
Ted John 1668374d2c Fix loading of JSON large scenery tiles 2018-03-26 21:37:23 +02:00
Ted John 1e3ce8754e Add JSON loading for large scenery 2018-03-26 21:37:23 +02:00
Ted John 7c05e22cd0 Refactor large scenery tile flags field 2018-03-26 21:37:23 +02:00
Ted John f11973f692 Fix typo, hasGrass -> hasGlass 2018-03-26 21:37:23 +02:00
Ted John 971e2dcaa2 Add JSON loading for walls 2018-03-26 21:37:23 +02:00
Ted John f6a6169ca2 Don't report object conflicts 2018-03-26 21:37:23 +02:00
Ted John ede51ded86 Add JSON loading for scenery groups 2018-03-26 21:37:23 +02:00
Ted John 3ead0f4289 Finish loading water JSON objects 2018-03-26 21:37:23 +02:00
Ted John 40f775c39a Add JSON loading for water 2018-03-26 21:37:23 +02:00
Ted John 12d2523752 Add JSON loading for footpath banners 2018-03-26 21:37:23 +02:00
Ted John ec446ac9d6 Return image and string table by reference 2018-03-26 21:37:23 +02:00
Ted John c3f075d18c Write helper method for parsing flags 2018-03-26 21:37:23 +02:00
Ted John 900bc48efa Write common JSON string loader 2018-03-26 21:37:22 +02:00
Ted John d56f1445f8 Add JSON loading for footpath items 2018-03-26 21:35:44 +02:00
Michael Steenbeek e8b28965cc Fix extracting ranges from object .DATs 2018-03-26 21:35:44 +02:00
Ted John d27a90f068 Implement footpath JSON reading 2018-03-26 21:35:44 +02:00
Michael Steenbeek 27a055653c Fix rebase errors 2018-03-26 21:35:44 +02:00
Ted John 2d037fb3ae Read JSON for park entrance objects 2018-03-26 21:35:44 +02:00
Ted John 1e4a8c0da7 Refactor common JSON methods to new helper namespace 2018-03-26 21:35:44 +02:00
Ted John 4fdbf1ca93 Parse category and shop item 2018-03-26 21:35:44 +02:00
Ted John a7a7b2f1b4 Fix memory corruption in ImageTable::AddImage 2018-03-26 21:35:44 +02:00
Ted John ddd0df4a60 Parse ride type with lookup table 2018-03-26 21:35:44 +02:00
Ted John 5eba067aba Load images from OBJDATA DATs 2018-03-26 21:35:44 +02:00
Ted John 773ab868fe Parse new form of original id 2018-03-26 21:35:44 +02:00
Ted John bf7c3931e7 Parse images from JSON 2018-03-26 21:35:44 +02:00
Ted John f6fd79eca4 Move length calculation to ImageTable.cpp 2018-03-26 21:35:44 +02:00
Ted John 32d588d765 Fix toilets image loading 2018-03-26 21:35:44 +02:00
Michael Steenbeek ad21e962ee Allow import of RCT1 Ice Cream Stall 2018-03-26 21:35:44 +02:00
Michael Steenbeek 7d3489a151 Avoid toilets selling balloons 2018-03-26 21:35:44 +02:00
Michael Steenbeek e3b202989f Read more from JSON, attempt at supporting more types of stalls 2018-03-26 21:35:44 +02:00
Michael Steenbeek 3ffdfd1e5d Draw the building 2018-03-26 21:35:43 +02:00
Michael Steenbeek 9ab0164b6f Fix compiling and loading on macOS, load description 2018-03-26 21:35:43 +02:00
Ted John a1f360ab7d Spike 1: Add RCT1 toilets JSON 2018-03-26 21:35:43 +02:00
Michael Steenbeek beb352d97a Increase network version 2018-03-26 20:36:16 +02:00
Michael Steenbeek 695d3762e5 Remove last usages of SEPARATE_RIDE flag 2018-03-26 20:36:16 +02:00
Hielke Morsink d7c198388e Fix #7327: Draw transparent images see-through too
This removes the check for transparent images before applying the hardcoded colours. It sets the transparency flag anyway.
2018-03-26 10:28:10 +02:00
Gymnasiast ca17f03ff2 Add large half loops to the Vertical Drop Roller Coaster 2018-03-25 16:32:06 +02:00
Hielke Morsink c5aececcb1 Set scenario save path upon successfully loading a park
Instead of setting the path when clicking on a file in the loadsave dialog, it's now set when the park gets actually loaded.

This fixes the System Dialog not showing when saving a park loaded from command.
2018-03-24 13:24:39 +01:00
ZehMatt 199a3e33f4 Implement game action for sign naming. 2018-03-24 05:19:19 +01:00
Ted John a913fd2d4a
Merge pull request #7266 from IntelOrca/feature/interactive-stdinout
Make stdin / stdout a game console
2018-03-23 22:19:08 +00:00
Ted John a6d03b3b0f Fix segfault when exiting a network game
Separate out closing of connection into a new method so only that is called when closing the game which then means gfx_invalidate_screen is not called.
2018-03-23 21:54:45 +00:00
xp4xbox 674e094b3a Add shortcut definition for 'View Path Issues' and 'Cutaway View' 2018-03-23 10:37:13 +01:00
Hielke Morsink 44e893ab53 Fix issue in 'GetExtension' (#7337)
`Path::GetExtension` would iterate over the full path instead of just the filename, meaning a path like `C:\My.docs\file` (note the missing extension in the filename) would return `.docs\file` as the extension.
2018-03-23 07:48:13 +00:00
Ted John 3a341816bf Require double CTRL+C to exit 2018-03-22 20:44:58 +00:00
Ted John 4babfa2479 Do not make hide close the game 2018-03-22 20:29:41 +00:00
Ted John e3eff999a7 Fix building for mingw 2018-03-22 20:16:58 +00:00
Ted John 2c627b43ba Optionally use terminal colour codes 2018-03-22 20:16:58 +00:00
Ted John 6d526d020c Fix for MSVC 2018-03-22 20:16:58 +00:00
Ted John f7dafa9bbb Only enable interactive console for headless 2018-03-22 20:16:58 +00:00
Ted John dd0573b235 Move in game console to UI library 2018-03-22 20:16:58 +00:00
Ted John 395f124a0b Fix console exit for stdin/out 2018-03-22 20:16:58 +00:00
Ted John ec9e812ea7 Replace gConsoleOpen with function 2018-03-22 20:16:58 +00:00
Ted John 5188c3612a Move in game console variables to class 2018-03-22 20:16:58 +00:00
Ted John c29efc7573 Separate consoles to different sources 2018-03-22 20:16:58 +00:00
Ted John 65eb908025 Create new in-game console class 2018-03-22 20:16:58 +00:00
Ted John d18f416370 Add basic interactive console using linenoise 2018-03-22 20:16:58 +00:00
Michael Steenbeek 61ddbd918b Add option to freeze all staff to Cheats window 2018-03-22 09:32:20 +01:00
Michał Janiszewski 7d67291910 Synchronise definition guards with declarations for str utils 2018-03-21 22:39:19 +01:00
Michał Janiszewski 06e97ab6e2 Fix linkage on macOS 2018-03-21 22:39:19 +01:00
Michał Janiszewski fc97c8c5db Reduce inclusion of <string> header 2018-03-21 22:39:19 +01:00
Michael Steenbeek 919533d7c2 Show ride and vehicle names in research list 2018-03-21 22:04:10 +01:00
Michał Janiszewski 2545d01db4 Use libc++-provided strndup on Android 2018-03-21 16:05:00 +01:00
pkubaj 7adde37f56 Fix build with FreeBSD 2018-03-21 14:26:38 +01:00
pkubaj 38cdf5e8c9 Corrected fix to use AVX on FreeBSD>10 2018-03-20 23:15:28 +01:00
pkubaj 1191f64091 Fix build on FreeBSD 10
NOTE: This can be reverted once FreeBSD 10.4-RELEASE goes EoL.
2018-03-20 23:15:28 +01:00
zaxcav 9d3e1fbedf Fix #7176 pending breakdown interfering with mechanic heading to inspection (#7201)
* Fix pending breakdown interfering with mechanic heading to inspection

* Rename peep_fixing sub states per suggestions.

Reset ride->mechanic_status to UNDEFINED in sub-state finish fix/inspect (previously sub_state_13).

* Increment network version. Fix tabs/spaces
2018-03-20 21:55:30 +00:00
Ted John 5245b35a90
Merge pull request #7286 from IntelOrca/refactor/gameaction-parksetloan
Implement some more basic game actions:
- ParkMarketingAction
- ParkSetLoanAction
- ParkSetResearchFundingAction
- StaffSetColourAction
2018-03-20 13:38:56 +00:00
thyeggman ccb1b330a5 Option for early scenario completion (#7187) 2018-03-20 12:58:59 +01:00
Michał Janiszewski af7fd94859 Add missing includes 2018-03-20 09:34:19 +01:00
Ted John 9b604310a2 Implement game action for staff set colour 2018-03-20 09:31:39 +01:00
Ted John 6a8ea7e8d4 Create helper method to create the game action result 2018-03-20 09:31:39 +01:00
Ted John 708843b526 Implement game action for park marketing 2018-03-20 09:31:39 +01:00
Ted John 5a803d2551 Implement game action for park set research funding 2018-03-20 09:31:39 +01:00
Ted John 16a7e21ffa Implement game action for park set loan 2018-03-20 09:31:39 +01:00
Hielke Morsink 9c568105f2 Fix debug builds
Regression from #7261.
2018-03-20 08:19:53 +01:00
Michał Janiszewski d0ec97bab2
Fix missing PATH_MAX on some Linux toolchains
Some toolchains (e.g. clang 7) require explicit include of <linux/limits.h> for PATH_MAX.
2018-03-20 08:18:56 +01:00
Michał Janiszewski 67f74119cf Fix missing headers 2018-03-20 00:27:58 +01:00
Michał Janiszewski cd065d4f41 Reduce includes in common header 2018-03-20 00:27:58 +01:00
Michał Janiszewski 3303246b09 Reduce header inclusions 2018-03-20 00:27:58 +01:00
Hielke Morsink 2d1d60294c Improved raising land near edge map
Rather than showing the user an 'off edge map!' error, this simply makes the affected area smaller.
2018-03-19 14:08:37 +01:00
xp4xbox 463cb7ab26 Fix #5339: Change scenery eyedropper to use a relevant icon. 2018-03-19 08:33:59 +01:00
Michał Janiszewski f1ab13f56e Fix sorting and missed floor() usage 2018-03-18 23:29:13 +01:00
LRFLEW d4cfad8ab2 Fix 'different language linkage' error with Xcode 2018-03-18 23:29:13 +01:00
Michał Janiszewski 4dd0995efb Move cmath out of common.h 2018-03-18 23:29:13 +01:00
Michał Janiszewski 5c6e28284b Move cstddef out of common.h 2018-03-18 23:29:13 +01:00
Michał Janiszewski 28391eaf5d Move cstring out of common.h 2018-03-18 23:29:13 +01:00
Michał Janiszewski f3bdc431e1 Add lost headers 2018-03-18 23:29:13 +01:00
Michał Janiszewski 54cc1ebcdf Reduce includes in common.h 2018-03-18 23:29:13 +01:00
Nick Overdijk fe59637823 Adds constructors to convert from Coords to TileCoords 2018-03-18 23:13:36 +01:00
Nick Overdijk e799dc2962 Document the code by using named functions/variables/comments 2018-03-18 23:13:36 +01:00
Michael Steenbeek 997551e36f
Fix #7305: overflow during park rating calculation 2018-03-18 22:58:09 +01:00
Michał Janiszewski 6cdcda2c65 Start v0.1.3 2018-03-18 22:06:31 +01:00
Thomas den Hollander af8adfeb40 Fix dithering error in sprite importer 2018-03-18 12:58:50 +01:00
Hielke Morsink 1cd3e5e49c use GAME_COMMAND_FLAG_APPLY instead of hardcoded value 2018-03-18 12:21:24 +01:00
Michał Janiszewski bb98618847 Fix compilation errors in Footpath.cpp 2018-03-18 10:19:17 +01:00
Michał Janiszewski 62000236a8 Add missing Guard.hpp header in Footpath.cpp 2018-03-18 10:19:17 +01:00
Hielke Morsink f9307c8c9e Proplerly check for element to be removed
The element that gets removed is only a ghost while using the path tool, other tools just remove the path immediately.
2018-03-18 10:19:17 +01:00
Hielke Morsink d0471bcbfd un-fill corners that were filled by the ghost
Old behaviour: connected edge and corners get removed.
New behaviour: connected edge may stay connected, but corners will be removed.
2018-03-18 10:19:17 +01:00
Hielke Morsink 16c575c115 Keep paths connected when wanted
A tile can have multiple connections to a path when building with clearance checks disables, but the function that removes the edges doesn't assume this. This PR makes it so that it first checks if there are no other tile elements that want to stay connected to a path before removing an edge.
2018-03-18 10:19:17 +01:00
Duncan e383ac02af Fix #7295: peep_should_go_on_ride_again() checked balloon colour instead of toilet need 2018-03-17 19:49:11 +01:00
Michał Janiszewski f045370fcf Improve track preview window with OpenGL renderer
This adds a warning to track preview window explaining it's not
supported with OpenGL renderer. Also fixes the issue whereby no stats
were printed because of early exit.
2018-03-16 22:41:08 +01:00
Gymnasiast ddd03fb045 Fix #7284: Rotating a maze track rotates each piece individually 2018-03-15 22:32:33 +01:00
Michał Janiszewski 4b323f401f Initialise dl in Surface.cpp 2018-03-14 22:11:30 +01:00
Michał Janiszewski 9e1dfffee8 Remove unnecessary checks for __cplusplus 2018-03-14 22:11:30 +01:00
Michał Janiszewski c27307820e Remove more C-only code from common header 2018-03-14 22:11:30 +01:00
Michał Janiszewski 9b0fe5f09e Don't use registers struct where not strictly required
The only advantage of `struct registers` is the union hierarchy. If this
is not being actively exploited, it is detrimental to use this struct.
2018-03-14 22:11:30 +01:00
Michał Janiszewski 789c176517 Update common header 2018-03-14 22:11:30 +01:00
Michał Janiszewski d1d32456a5 Fix generating screenshot path for GCC8
GCC8 rightfully complains about using improperly-sized buffers in call
to snprintf.
2018-03-14 22:11:01 +01:00
Ted John edb7e7112a Fix import of park entrance locations
gParkEntrances was changed to sint32 positions from sint16 positions in f4ac2b4d5b. This caused a regression as the locations were not being sign extended when imported from S6 files.
2018-03-14 21:30:43 +01:00
Aaron van Geffen a68c5301eb Use a range-based for loop in NetworkGroup::Write, too. 2018-03-14 01:25:10 +01:00
Aaron van Geffen e514b2c9cb Fix #6804: Network permissions are not visible. 2018-03-14 01:25:10 +01:00
Hielke Morsink 69867bcecd Fix typo 'instad' -> 'instead' [ci skip] 2018-03-13 23:44:34 +01:00
Gymnasiast 14b22c9801 Fix missing include 2018-03-13 21:07:26 +01:00
Gymnasiast 8e37ee26c9 Avoid warning spam during park entrance drawing 2018-03-13 20:48:16 +01:00
Hielke Morsink b78bd587b7 define BANNER_INDEX_NULL 2018-03-13 19:45:48 +01:00
Gymnasiast 38d3c3eff3 Use tile_element_[gs]et_banner_index() 2018-03-13 19:45:48 +01:00
Hielke Morsink 087519ca62 Fix #5261 Deleting the sign after copy/pasting it will crash the game
Prior to the previous commit, signs could be duplicated by pasting them using the tile inspector, which results in some funky behaviour. A duplicated sign refers to the same banner index (which in turn refers to the same user string ID), making the player unable to modify it. Deleting it would previously even crash the game.
This commit looks for such signs when loading a scenario, and attempts to fix them, by creating a new banner entry (and user string if one is used).
2018-03-13 19:45:48 +01:00
Hielke Morsink d2479e0de0 Create new banner entry and string upon pasting one
Previously pasted banners would refer to the same banner entry and same string ID, possibly causing crashes when deleting one.
2018-03-13 19:45:48 +01:00
Michał Janiszewski afb0c48ebd Sink some arrays 2018-03-13 13:37:41 +01:00
Michał Janiszewski 764520076f
Reduce header inclusion
* Update includes in PlatformEnvironment.cpp

* Update includes in ParkImporter.h

* Update includes of OpenRCT2.h

* Update includes in Intro.h

* Remove unused include from Input.cpp

* Update includes of Imaging.h

* Update includes in Game.h

* Update includes in Editor.h

* Update includes of Context.cpp

* Update includes in Cheats.cpp, CmdlineSprite.cpp

* Update includes of some source files

* Update includes in some cpp files

* Update includes in some cpp files

* Update includes in TextureCache.h

* Fix tests

* Update includes in Font.cpp

* Update includes in LightFX files

* Update some includes

* Fix GCC builds

* Update some includes

* Update some includes

* Update includes in FontsFamilies.*

* Update includes of Console.h

* Improve includes in Window.h

* Improve headers in Viewport.h/Window.h

* Fix MSVC build

* Fix network-less builds

* Reduce inclusion of Map.h
2018-03-13 13:14:02 +01:00
Michael Steenbeek bf580625f8 Fix calcutation of number of riders on import
Made a little mistake with this last time. This will now use the same logic as the Guest List window and the increment/decrement counters.
2018-03-13 11:45:06 +01:00
duncanspumpkin 33a6a5a994 Fix #7209: Reset spatial index before removeing peeps on fix save.
If the spatial index is corrupted such as in IndianaJones then deleting multiple peeps from the same spatial index will cause an infinite loop. Therefore this will now reset and remake the spatial index if there are peeps that require removing. Note it doesn't reset the spatial index for all saves as it is not required
2018-03-12 11:27:43 +00:00
deurklink e0c4f88295 Fix #7229: Exploding guests cheat gets rides stuck and freezes game 2018-03-12 10:23:46 +01:00
Michał Janiszewski c4f3643be1 Fix #7246: Android build fails with java.lang.UnsatisfiedLinkError
JNI DETECTED ERROR IN APPLICATION: JNI GetObjectClass called with
pending exception java.lang.UnsatisfiedLinkError: No implementation
found for long website.openrct2.ZipArchive.allocBytes(byte[], int)
(tried Java_website_openrct2_ZipArchive_allocBytes and
Java_website_openrct2_ZipArchive_allocBytes___3BI)
2018-03-11 23:57:50 +01:00
Michał Janiszewski 93041bbce5 Fix mismatched deleter in TryClassifyAsTD4_TD6 2018-03-11 21:19:26 +01:00
Ted John 42490b64fc Show entrance / exit fix messages as verbose only
This is because some title sequences have parks which need fixes and they end up showing on stdout every game launch.
2018-03-10 15:18:25 +01:00
Hielke Morsink 4bfeaf0c72 Fix #6870 Crash when loading groena lund
This crash only occurs when the option "no test crashes" was enable. With this commit the sprite index will be checked before the vehicle gets checked.
2018-03-10 06:50:45 +00:00
Michał Janiszewski 8cf8db01d3 Fix #7180: Compiler error: trackType may be used uninitialised 2018-03-10 07:49:24 +01:00
Michał Janiszewski 4b2881b48e Improve declaration of deleter type in S4Importer.cpp 2018-03-09 21:34:24 +01:00
Michael Steenbeek 5411c77358 Clean up more direct access to tile elements 2018-03-09 19:40:16 +01:00
Michał Janiszewski 229c793b33 Fix NO_TTF builds for Windows and macOS 2018-03-09 16:40:40 +01:00
Hielke Morsink 35f3d9f4c9 Fix #7251: "Own all land" cheat does not work
`x` was not set back to `min` in the second for loop, causing all second iterations to immediately stop.
2018-03-09 16:39:04 +01:00
Ted John e318e0948a Fix a few assertions that were found when using debug CRT 2018-03-09 16:28:47 +01:00
Ted John d2864a139b Use new dependencies split format 2018-03-09 16:28:47 +01:00
Hielke Morsink 5115cdddd8 Remove unused screenshot_format configuration 2018-03-09 15:58:29 +01:00
Hielke Morsink a8f167c45d Fix a few typos
'vehichle' -> 'vehicle'
'none zero' and 'non zero' -> 'nonzero'
2018-03-09 15:58:12 +01:00
Michael Steenbeek 88af2d3954 Rename sub_6CA2DF() to window_ride_construction_update_state() 2018-03-09 09:17:24 +01:00
Aaron van Geffen 887619a87e Use correct fonts for simplified and traditional Chinese. 2018-03-08 22:33:17 +01:00
Michael Steenbeek c7a78807e6 Remove unused function tile_element_check_address() 2018-03-08 12:47:19 +01:00
Michael Steenbeek 7a982503a8 Remove some hard coded numbers 2018-03-08 12:45:38 +01:00
deurklink 87bdd4d079 Fix #7239: Remove all guests cheat crashes with ferris wheel 2018-03-08 09:20:32 +01:00
Gymnasiast ad4e50d728 Fix #7233: Steep slopes unavailable on Hyper-Twister
Also removes powered lift from Hyper-Twister, which was included by mistake.
2018-03-07 19:30:53 +01:00
Michael Steenbeek 1fa2fa8f80
Refactor ride->entrances and ride->exits 2018-03-07 19:10:50 +01:00
Michael Steenbeek ab54d6c370
Increase network version 2018-03-07 11:01:09 +01:00
deurklink 3648f288e5 Fix #7223: 'Remove all guests' does not remove their mass 2018-03-07 10:52:22 +01:00
Aaron van Geffen 8069a04d67 Fix logic error in setting virtual floor height. 2018-03-05 00:24:38 +01:00
ZehMatt e3708c0593 Split special direction to new parameter. 2018-03-05 00:17:34 +01:00
ZehMatt 49d8d37748 Add serialization traits for bool. 2018-03-05 00:17:34 +01:00
ZehMatt bdc1cf8adc Refactor GAME_COMMAND_MAZE_SET_TRACK to game action. 2018-03-05 00:17:34 +01:00
ZehMatt c8328610ee Optimise the algorithm for virtual floor invalidation. 2018-03-04 19:28:56 +01:00
Aaron van Geffen ba1d269227 Move all Virtual Floor code from Map to its own file. 2018-03-04 19:28:56 +01:00
ZehMatt fdf7adecd9 Fix #7002: Always invalidate virtual floor regardless of selection. 2018-03-04 19:28:56 +01:00
Gymnasiast cd8d40d8a5 Include missing header 2018-03-01 20:10:34 +01:00
Michał Janiszewski ad059a540b Round tweened positions to avoid bumping up and down 2018-03-01 14:09:14 +01:00
Michael Steenbeek c86dfe5f1b Replace hard coded max map size 2018-02-22 10:22:47 +01:00
Gymnasiast f0805c3f59 Increase network version 2018-02-21 22:37:54 +01:00
Gymnasiast 7a2a73b418 Fix #7205: Park entrance fee cannot be set higher than £100 2018-02-21 22:37:54 +01:00
Michał Janiszewski 08bcbe3912 Make network version a variable to reduce recompilations 2018-02-21 22:21:09 +01:00
Gymnasiast a34eec2d3a Increase network version 2018-02-21 20:08:25 +01:00
Michael Steenbeek 701ed1554a Make entrances/exits at station height take precedence 2018-02-21 20:08:25 +01:00
Michael Steenbeek c28f4987d3 Remove some entrance/exit height assumptions 2018-02-21 20:08:25 +01:00
Gymnasiast fb806b572d Increase network version 2018-02-21 09:50:07 +01:00
Michael Steenbeek 2de6529cf5 Use big coordinates for PeepSpawn's Z coordinate 2018-02-21 09:50:07 +01:00
Gymnasiast d92883eee9 Replace NULL with nullptr 2018-02-21 09:50:07 +01:00
Michael Steenbeek ea0566a3f5 Split PeepSpawn and rct12_peep_spawn 2018-02-21 09:50:07 +01:00
wolfreak99 2d8c473f75 Sync Peep Spawn over network 2018-02-19 21:11:14 +01:00
Michał Janiszewski 32619f460b Remove remaining calls to get_current_rotation in paint code 2018-02-17 13:11:07 +01:00
Michał Janiszewski acccd0a2c8 Remove rotation argument from sub_98199C 2018-02-17 13:11:07 +01:00
Michał Janiszewski 5795810a85 Remove rotation argument from sub_98198C 2018-02-17 13:11:07 +01:00
Michał Janiszewski 3f92471ffb Remove rotation argument from sub_98197C 2018-02-17 13:11:07 +01:00
Michał Janiszewski 77fb74d5b6 Remove rotation argument from sub_9819_c 2018-02-17 13:11:07 +01:00
Michał Janiszewski c420fb56f5 Remove rotation argument from sub_98196C 2018-02-17 13:11:07 +01:00
Michał Janiszewski 0bf250d8b8 Initialise paint session with rotation 2018-02-17 13:11:07 +01:00
Aaron van Geffen 8ab1035ebe CMake: fix missing branch information. 2018-02-17 12:17:39 +01:00
Michael Steenbeek f4ac2b4d5b Replace LocationXYZD16 2018-02-16 16:16:49 +01:00
Michael Steenbeek ac0b18cde5 Replace LocationXY32 2018-02-16 16:16:49 +01:00
Michael Steenbeek 359e9ecf2d Replace LocationXYZ32 2018-02-16 16:16:49 +01:00
Michał Janiszewski 6eeda1ec77 Perform more cleanup of CMakeLists.txt files
This moves setting of compilation flags to common file to be used by all
subprojects and explicitly enables only C++ support, skipping whole C
support in CMake.
2018-02-15 23:51:49 +01:00
Michał Janiszewski 8e3a271fb4 Remove support for C code from CMake 2018-02-15 23:51:49 +01:00
Michael Steenbeek bde913ee16 Rename SmallCoords and BigCoords 2018-02-15 22:26:50 +01:00
Michael Steenbeek ab94ea74f4 More MSVC fixes 2018-02-15 22:26:50 +01:00
Michael Steenbeek ca5a1e1f34 Testpaint and MSVC fixes 2018-02-15 22:26:50 +01:00
Michael Steenbeek 45e892e5b5 Allow passing BigCoordsXY into map_get_surface_element_at() 2018-02-15 22:26:50 +01:00
Michael Steenbeek 264f35d783 Replace some occurrences of LocationXY16 2018-02-15 22:26:50 +01:00
Michael Steenbeek 3e7161650c Replace LocationXYZD8 2018-02-15 22:26:50 +01:00
Michael Steenbeek a2af371de9 Replace LocationXYZ8 2018-02-15 22:26:50 +01:00
Michael Steenbeek a2260929dd Replace rct_xy_element with BigCoordsXYE 2018-02-15 22:26:50 +01:00
Michael Steenbeek d481cca2ed
Remove some redundant casts and fix rct_sprite::AsDuck() 2018-02-15 13:04:25 +01:00
Michał Janiszewski 92c4c39b96 Guard from nullptr dereference in object_entry_get_entry
While looking at
https://github.com/OpenRCT2/OpenRCT2/issues/7176#issuecomment-365399194
I got a crash with stacktrace:

    #0 0x7f9e81fa2e30 in object_entry_get_entry(int, unsigned long) ../src/openrct2/object/ObjectList.cpp:181
    #1 0x7f9e81fa24ae in get_loaded_object_entry(unsigned long) ../src/openrct2/object/ObjectList.cpp:142
    #2 0x7f9e8215d64f in S6Exporter::Export() ../src/openrct2/rct2/S6Exporter.cpp:169
    #3 0x7f9e8216de71 in scenario_save(char const*, int) ../src/openrct2/rct2/S6Exporter.cpp:757
    #4 0x7f9e81c932b0 in game_autosave() ../src/openrct2/Game.cpp:1590
    #5 0x7f9e828625b6 in scenario_autosave_check() ../src/openrct2/scenario/Scenario.cpp:297
    #6 0x7f9e81c8a958 in game_update() ../src/openrct2/Game.cpp:439
    #7 0x7f9e81c6731f in OpenRCT2::Context::Update() (/home/janisozaur/workspace/OpenRCT2/build/libopenrct2.so+0x10f331f)
    #8 0x7f9e81c6674c in OpenRCT2::Context::RunVariableFrame() (/home/janisozaur/workspace/OpenRCT2/build/libopenrct2.so+0x10f274c)
    #9 0x7f9e81c6402d in OpenRCT2::Context::RunFrame() (/home/janisozaur/workspace/OpenRCT2/build/libopenrct2.so+0x10f002d)
    #10 0x7f9e81c638f4 in OpenRCT2::Context::RunGameLoop() (/home/janisozaur/workspace/OpenRCT2/build/libopenrct2.so+0x10ef8f4)
    #11 0x7f9e81c627bf in OpenRCT2::Context::Launch() (/home/janisozaur/workspace/OpenRCT2/build/libopenrct2.so+0x10ee7bf)
    #12 0x7f9e81c5b08a in OpenRCT2::Context::RunOpenRCT2(int, char const**) ../src/openrct2/Context.cpp:170
    #13 0x56323695b95e in main ../src/openrct2-ui/Ui.cpp:60

Sadly I cannot reproduce it anymore
2018-02-14 09:48:34 +01:00
Hielke Morsink 55979a3fff Remove and replace C typedefs
`typedef struct/union/enum name { ... } name_again;` is not needed whe compiling C++, moving the name at the back to be in front of the object and removing `typedef` makes it usable the very same way.
This also replaces typedefs with the using keyword. They have better readability, especially for function pointer types, and would allow more flexibility when used with templates.
2018-02-14 09:42:26 +01:00
Gymnasiast 431c2a4e74 Temporarily fix #7173: cannot load saves into vanilla 2018-02-14 09:26:59 +01:00
Ted John 9cc8d36a03 Fix #7171: Clicking any ride that has custom designs crashes
Wrong argument was being passed to object_entry_get_entry.
2018-02-13 17:30:47 +00:00
Michael Steenbeek a408747c4c Use object_entry_get_type() throughout 2018-02-13 16:42:18 +01:00
Aaron van Geffen 3ea6a3ea2f Implement optional full font hinting for scrolling text (banners). 2018-02-13 10:15:27 +01:00
Aaron van Geffen bd928bc27e Make font hinting optional on a per-font basis.
Previously, hinting could only be disabled globally.
This commit disables hinting if the hinting threshold is set to 0.
Note that this parameter is configurable through config.ini, too.
2018-02-13 10:15:27 +01:00
Aaron van Geffen 1809eec079 Improve TrueType font appearance for scrolling texts.
This makes the scrolling text drawing code respect banner font y-offset definitions.
Font definitions are also adjusted accordingly. Definitions set prior were ignored
by the game thus far, hence the need for adjustment.
2018-02-13 10:15:27 +01:00
jensj12 02474353e3 Reduce duplicate code
Fix two cases of duplicated code
2018-02-13 00:11:29 +01:00
Aaron van Geffen c8b5cbb3e4 Fix cmake build for openrct2-cli on macOS.
This also removes the globbing for *.m files. As the platform files for macOS
now all use Objective C++ (.mm) instead of Objective C (.m), this is no longer needed.
2018-02-12 23:15:41 +01:00
Michał Janiszewski 7fec13ac74 Apply workaround for old compilers
https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1568899
2018-02-12 22:24:22 +01:00
Michał Janiszewski 06e139f4cb Use __builtin_cpu_supports for AVX2 detection 2018-02-12 22:24:22 +01:00
Michał Janiszewski 6a71688db7 Allow specifying cpuid subleaf 2018-02-12 22:24:22 +01:00
Michał Janiszewski ad27806534 Implement AVX2 masking 2018-02-12 22:24:22 +01:00
Ted John 928ae3b4cd Fix mistake in ObjectRepository::Create
Objects that could not be loaded were being returned with a success status causing blanks in the index file.
2018-02-12 21:22:27 +00:00
Ted John 683ffcdadc
Merge pull request #7167 from IntelOrca/refactor/easy-new-object-types
Refactor things related to object types
2018-02-12 19:43:49 +00:00
Michał Janiszewski 991a8472bf If forcing IPv4, retry immediately rather than wait 2 minutes 2018-02-12 20:39:47 +01:00
Michał Janiszewski 2e19e6cf0e Use CURL_IPRESOLVE_V4 option only as fallback for advertising 2018-02-12 20:39:47 +01:00
Michał Janiszewski 759171186c Make curl resolve over IPv4 2018-02-12 20:39:47 +01:00
Ted John 0433803ae1 Use std::vector for ObjectManager 2018-02-12 17:15:15 +00:00
Michał Janiszewski 3f76bd214f Const all the painted tile elements
Extracted from https://github.com/OpenRCT2/OpenRCT2/pull/7036
2018-02-12 16:03:20 +01:00
Ted John 7e01dcdaaf Remove legacy object list 2018-02-12 12:48:41 +00:00
Ted John 51321a71e7 Get entries directly from object manager 2018-02-12 12:48:41 +00:00
Ted John d22572d0b9 Remove rct_object_entry_extended 2018-02-12 12:48:41 +00:00
Ted John 4d8fe051e8 Remove most usages of object_entry_groups 2018-02-12 12:48:41 +00:00
Ted John d905dde070 Simplify selected object flags 2018-02-12 12:48:41 +00:00
Ted John 2da0f86b9b
Merge pull request #7163 from IntelOrca/fix/cold-startup
Fix cold startup
2018-02-11 22:50:19 +00:00
Ted John 0f00659c8e Do not show file index error if it doesn't exist 2018-02-11 10:39:15 +00:00
Ted John 3c29b15de9 Fix segfault if no RCT2 install path 2018-02-11 10:39:15 +00:00
Ted John e996c83b70 Create config directory if it doesn't exist 2018-02-11 10:39:15 +00:00
Michał Janiszewski a9afe3253c Fix #7160: Crash when trying to play the Dynamite Dunes scenario
The fix shouldn't modify guests that don't have any ride set.

This also fixes how peeps get removed and adds name of the offending
guest in the warning message.
2018-02-11 09:47:52 +01:00
Ted John 4dfed04cef
Merge pull request #7161 from janisozaur/deleters-s4importer
Fix mismatched deallocators in S4Importer.cpp
2018-02-10 22:48:54 +00:00
jensj12 06e52f2d6f Fix #7137: Water, gentle and transport rides can only have 1 vehicle... (#7159)
.../train
2018-02-10 19:22:28 +00:00
Michał Janiszewski 30cbd0128f Fix mismatched deallocator in FileClassifier.cpp 2018-02-10 19:59:49 +01:00
Michał Janiszewski 86ca1581f7 Fix mismatched deallocators in S4Importer.cpp 2018-02-10 19:55:54 +01:00
wolfreak99 204fdaa66a Correct STR_TILE_INSPECTOR_ENTRANCE_MAKE_USABLE_TIP 2018-02-10 15:22:49 +01:00
Michał Janiszewski ab6ce6fd13 Don't try removing sprites past the end of list 2018-02-10 13:07:52 +01:00
Michał Janiszewski 73c861ab59 Improve selecting destination station when fixing imported sprites 2018-02-10 13:07:52 +01:00
Michał Janiszewski 61770b1dd7 Fix possibly invalid values of sprite fields on import 2018-02-10 13:07:52 +01:00
Michał Janiszewski 441b7ebe71 Don't try setting null ride type as invented 2018-02-10 13:07:52 +01:00
Michał Janiszewski 4732afa315 Add some bounds checks 2018-02-10 13:07:52 +01:00
Gymnasiast 3261753510 Ignore missing STEX entries 2018-02-09 13:47:15 +01:00
Gymnasiast b1ab852fb7 Add object_entry_get_type() 2018-02-09 13:47:15 +01:00
Ted John 504e635933
Merge pull request #7150 from Broxzier/absolute-path
Make custom paths absolute and show full path in load/save window
2018-02-08 17:25:52 +00:00
Ted John 9f533d7265
Merge pull request #7143 from IntelOrca/refactor/server-list
Refactor server list
2018-02-08 17:25:37 +00:00
Michael Steenbeek acc6136847 Do not pack Ride struct 2018-02-08 15:33:43 +01:00
Michael Steenbeek e2dd629aaf Remove padding and offsets in Ride struct 2018-02-08 15:33:43 +01:00
Michael Steenbeek 34c8409251 Clean up ride struct and num_riders import, update changelog 2018-02-08 15:33:43 +01:00
Gymnasiast 02196a1919 Fix #3330: Current number of passengers overflows 2018-02-08 15:33:43 +01:00
Hielke Morsink e1b99479a2 Make custom paths absolute
Then gCustomUserDataPath and relatant variables are set, they overwrite the gBasePath array, which uses absolute paths. This commit makes the custom paths absolute as well, to prevent issues with assumptions in the code (file dialog for example).
2018-02-08 14:23:21 +01:00