Commit Graph

1738 Commits

Author SHA1 Message Date
Philip Goto 6547116401 Fix #6193: All rings in Space Rings use the same secondary colour (#6194)
The Space Rings attraction used the secondary colour of the first ring no matter if the colours are set to all the same or different per ring. Now it uses the right colour for each ring.
2017-08-17 20:06:08 +02:00
wolfreak99 50d38eea2e Refresh loadsave on browse dialog cancel 2017-08-17 10:47:57 +02:00
jensj12 c3a5ffbe04 Implement #3994: Show bottom toolbar with map tooltip 2017-08-16 22:27:20 +02:00
Philip Goto c75be48653 Replace util_rand with built-in rand 2017-08-16 14:11:38 +02:00
Tomas Dittmann 35e7e6cbc0 Fix #6115: Random title screen music not random on launch
The parity of the first random value is predictable (always even).
2017-08-16 12:55:56 +02:00
Michał Janiszewski cff7080c51 Initialise pointer variable with nullptr, not 0 2017-08-15 11:51:56 +02:00
Michał Janiszewski d698ad1100 Convert NULL -> nullptr in C++ 2017-08-15 11:51:56 +02:00
Michał Janiszewski 44c8c84b7c Convert integers acting as bools to bools (#6177)
Also fixes MSVC2015 according to AppVeyor
2017-08-15 09:03:10 +01:00
Marijn van der Werf 294cef3c9b Move additional windows to UI project 2017-08-14 23:53:28 +02:00
Tomas Dittmann 14f92bef80 Remove unnecessary cast 2017-08-14 20:58:33 +02:00
rwjuk 1a64fde0af Fix #6138: 'Too low' error when placing at lowest Z 2017-08-14 19:59:15 +02:00
Gymnasiast 38e6b174bd Replace memmove calls for downtime and customer history with loops 2017-08-14 19:56:29 +02:00
Gymnasiast 8eec684545 Use more constants, isolate SV6 limits further 2017-08-14 19:56:29 +02:00
Richard Jenkins 8e92351a2b Fix #6101: Rides remain in ride list briefly after demolition (#6165) 2017-08-12 13:00:43 +01:00
linkinpark9812 63fbd131ff Fix #6131: Icon for suspended vehicles aligned too low 2017-08-10 23:48:11 +02:00
duncanspumpkin df742b70b6 Fix infinite loop when removing scenery elements with >127 height
Bug introduced when refactoring. Type mismatch not picked up by compiler
2017-08-10 23:43:28 +02:00
duncanspumpkin fb2809cabc Fix #816. Correctly reset flash filter by considering all peeps.
This is an original bug likely introduced by trying to save processing
time by assuming that since the display list can not be drawn that it
can stop processing. But as this loop also handles reseting flashing
peeps it will leave peeps un processed
2017-08-10 23:41:42 +02:00
Keatzee 96a3f6a861 Resolve #5909: Import mp.dat from RCT1 installation 2017-08-10 21:46:15 +02:00
Marijn van der Werf 247fdc2f5d Fix formatting of C includes 2017-08-10 13:42:27 +02:00
duncanspumpkin 1920d161fb Fix rct2 address, convert double cast to literal value, add cast to make vs build 2017-08-10 13:42:27 +02:00
Marijn van der Werf 28c78faa57 Make more window variables and functions static 2017-08-10 13:42:27 +02:00
Marijn van der Werf 4d90940d21 Move windows to UI project 2017-08-10 13:42:27 +02:00
Ted John f3ef92edcb Fix MSVC build errors and warnings 2017-08-10 13:42:27 +02:00
Marijn van der Werf 2e89525888 fix TopToolbar include 2017-08-10 13:42:27 +02:00
Marijn van der Werf a53a7ab706 Convert remaining dialogs 2017-08-10 13:42:27 +02:00
duncanspumpkin 10643b03d8 Rename files to sentance case 2017-08-10 13:42:27 +02:00
Michał Janiszewski 32407868cc Fix C mangling 2017-08-10 13:42:27 +02:00
Michał Janiszewski edbd55a8bd GCC fixes 2017-08-10 13:42:27 +02:00
Marijn van der Werf d19727afc7 Use size_t for array iteration 2017-08-10 13:42:27 +02:00
Marijn van der Werf dc7f4bcf89 Convert most dialogs to C++ 2017-08-10 13:42:27 +02:00
Michał Janiszewski 1f9ae4d4ec Start v0.1.2 2017-08-10 00:17:26 +02:00
Michał Janiszewski 1df22c889d Update minimum required CMake version to 3.1 2017-08-09 23:30:18 +02:00
Michał Janiszewski d2ec1f0057 Fix CMakeLists.txt to allow static libopenrct2
This allows using CMake-standard `BUILD_SHARED_LIBS` flag to dynamically
set how libopenrct2 should be built.

`cmake -DBUILD_SHARED_LIBS=OFF` will result in `openrct2` statically
linked with `libopenrct2`

Fixes #5918.
2017-08-09 23:30:18 +02:00
Matthias Moninger d5f116b3e5 Fix compilation error on VS2015 2017-08-09 11:28:58 +02:00
Richard Jenkins 727d3270b4 Fix android build post 6110 2017-08-08 23:50:41 +01:00
rwjuk 18791fa85b Fix doc path resolution 2017-08-08 00:10:42 +02:00
rwjuk b70c748ff6 Fix changelog resolution on linux 2017-08-08 00:10:42 +02:00
rwjuk 4132b85c02 Implement platform-specific changelog path funcs 2017-08-08 00:10:42 +02:00
Richard Jenkins 972120e35a Fix #6106: Changelog file cannot be loaded on macOS 2017-08-08 00:10:42 +02:00
ZehMatt 304a7f3f45 Fix #3852: Desync constructing path with scenery in its way. 2017-08-06 22:58:08 +02:00
Ted John 6b48f4344e Fix #6100: Paths don't connect to exit
Regression from db438a27b7, % does not work on negative numbers.
2017-08-06 00:18:32 +01:00
Ted John 4db0ceaccd Merge pull request #6094 from janisozaur/track-design
Track design from #5931 now costs 7 274 money to build, instead of -214 740.60.

Also prevents reading memory out of bounds at the end of the TD6 buffer.
2017-08-05 17:14:36 +01:00
duncanspumpkin 18d082053e Rename cpp files to use TitleCase 2017-08-04 18:12:54 +02:00
jensj12 1faa2726c7 Update all windows after changing colour scheme 2017-08-04 13:18:29 +02:00
Gymnasiast ca77c75a56 Improve tabs, alignment, remove now-unnecessary information and strings
Removes RCT2 version string, Infogrames credits and logo, removes strings for aforementioned info.
Moves OpenRCT2 version string to under the Changelog... button, rewords and fixes some of the strings
2017-08-04 08:41:46 +02:00
wolfreak99 ffc1dc6376 Add OpenRCT2 information and changelog to About window 2017-08-04 08:38:35 +02:00
Gymnasiast 12354e1f2a Fix #6113: track list preview shows incorrect heighest drop height 2017-08-03 11:58:00 +02:00
Michał Janiszewski cc24978ea5 Fix broken assert in decode_chunk_repeat 2017-08-03 08:41:34 +02:00
Michał Janiszewski e9e37d2aac Validate more inputs to SawyerChunk handlers 2017-08-03 00:29:56 +02:00
Richard Jenkins dabc52b036 Merge pull request #6088 from Chaosmeister/develop
prevent infinite loop while fixing invalid research items
2017-08-02 23:10:44 +01:00
Michał Janiszewski c956ccc4d4 Reset the string builder rather than overwrite it 2017-08-02 23:54:49 +02:00
Michał Janiszewski 6ee9bf6799 Free listen_address when releasing config 2017-08-02 23:16:00 +02:00
Ted John bdf8993c48 Fix #6111: Mute button always visible in editor 2017-08-02 21:28:23 +01:00
Tomas Dittmann b330c4032f ensure validity instead of asserting invalidity. 2017-08-01 21:45:04 +02:00
Michael Steenbeek 2f3a30f22b Fix cast to bool in map element functions 2017-08-01 13:42:50 +02:00
Michał Janiszewski ee443818a8 Verify size of objects sent/requested (#6076) 2017-08-01 12:29:16 +01:00
Michał Janiszewski 754666d4e9 Remove superfluous check from track_design_save.c 2017-08-01 08:45:07 +02:00
Michał Janiszewski 15ba00d570 Remove superfluous checks from track_design.c 2017-08-01 08:44:20 +02:00
Michał Janiszewski 7872380bc1 Initialise rct_object_entry with empty struct 2017-08-01 07:54:04 +02:00
Michał Janiszewski 9e8a644fcc Fix #5931: Money overflow when placing track design 2017-08-01 07:36:19 +02:00
Michał Janiszewski 12067cb558 Fix #4697: Ensure track designs are saved and read properly
Previous code only set one byte as an end marker, but read and compared
to 4 bytes, which could cause track design to become malformed.
2017-08-01 07:36:19 +02:00
Michał Janiszewski 1fed4f0b2d Check validity of dropdown indices (#6087)
Happens e.g. in server list browser
2017-07-31 23:56:52 +01:00
Tomas Dittmann a5df985a05 prevent infinite loop while fixing invalid research items
research_remove() does not expect any items between RESEARCHED_ITEMS_END & RESEARCHED_ITEMS_END_2, so make sure, the next item is RESEARCHED_ITEMS_END_2
fix infinite loop while loading the save file RR_60glitch.zip from #5311
2017-08-01 00:20:37 +02:00
Michał Janiszewski 0fe60663bf Verify decoded SawyerChunks 2017-07-31 23:19:48 +02:00
Brian Callahan 9ef629a47d Reduce strength of an OpenBSD-specific comment
[ci skip]
Change "must" to "may have to," pointed out by a user.
2017-07-31 22:43:41 +02:00
Richard Jenkins 84eebb19aa Fix #6050: Crash on placing scenery clusters on water near map edge (#6053)
Guard against null map elements when placing small scenery.
2017-07-31 12:34:30 +01:00
Michael Steenbeek 9c7c553ccc Clean up vehicle flags (#6058) 2017-07-31 11:27:04 +01:00
Ted John 6699d0885b Merge pull request #6065 from IntelOrca/refactor/remove-rct2.c
Move remaining functions out rct2.c
2017-07-30 18:09:26 +01:00
wolfreak99 675028d173 Bump network version 2017-07-30 19:00:30 +02:00
wolfreak99 6f7ce9300e Format game_command_demolish_ride 2017-07-30 19:00:30 +02:00
wolfreak99 ef74f56335 Fix #6071: quick demolish can delete protected ride 2017-07-30 19:00:30 +02:00
Michał Janiszewski 4c6412d4fd Delete ParkLoadResult after it's been used 2017-07-30 17:41:55 +02:00
Michał Janiszewski 427009e9bb Ensure DummyUiContext deletes allocated resources 2017-07-30 17:27:45 +02:00
Michał Janiszewski a90dce018d Properly dispose of TitleSequencePlayer to plug memleak 2017-07-30 16:46:56 +02:00
Michał Janiszewski 1ea5a902df Initialise various fields and variables 2017-07-30 15:28:16 +02:00
Ted John 0d52030b4e Merge pull request #6070 from jensj12/landscaping-v4
Implement #2225: Change mountain tool to ignore higher surrounding tiles
2017-07-29 23:07:29 +01:00
jensj12 b0f93a08d9 Use sint32 instead of int 2017-07-29 23:13:13 +02:00
ζeh Matt 7a5f9e8300 Refactored openrct2_assert to not rely on inlining. (#6061) 2017-07-29 20:31:54 +01:00
Ted John 8b2eb8a13e Move screen variables to OpenRCT2.h 2017-07-29 20:29:29 +01:00
Ted John e6e503a853 Move path related functions to Context.cpp
- rct2_init_directories
- get_file_path
2017-07-29 20:29:26 +01:00
Ted John 8bc4e52ae9 Move rct2_quit to Context 2017-07-29 20:28:18 +01:00
Ted John 0d1d4960c1 Move get_file_extension_type to FileClassifier.h 2017-07-29 20:28:18 +01:00
Ted John 2ec0df1f3d Fix #6047: Scrolling in spin boxes does not work any more
Regression from #5775.
2017-07-29 16:43:19 +01:00
Ted John e839a46c67 Fix #6069: Title screen is black when there are no title sequences
No palette was loaded, so load it in game_init_all.
2017-07-29 15:54:38 +01:00
Richard Jenkins 06d1f49d61 Display a warning dialog if user runs program elevated (#6063) 2017-07-29 15:21:33 +01:00
jensj12 7db8162a44 Bugfix 2017-07-29 12:04:17 +02:00
jensj12 0eb8f632b0 Fix cases where land would not be smoothed properly 2017-07-29 12:04:17 +02:00
jensj12 f35b0e6ace Replace mountain tool algorithm
Fixes #2225. The mountain tool will now stop at land edges. It also improves the performance of the mountain tool.
2017-07-29 12:04:17 +02:00
jensj12 208ffbba89 Put copied code in function
Saves a few lines of code
2017-07-29 12:02:47 +02:00
jensj12 f2df2c80d2 Use other game commands for error messages
Errors in game_command_raise/lower_land will now be passed on in
smooth_land. Removes need for error checking elsewhere
2017-07-29 12:02:47 +02:00
jensj12 1b69fe485f Show error if too high/low
Behaviour now matches that of the non-mountain land tool. Provide define
for min/max land height and fix a bug where the mountain tool would
incorrect raise/lower land.
2017-07-29 12:02:47 +02:00
jensj12 2736058912 Update text files and network version 2017-07-29 12:02:46 +02:00
jensj12 8075d69a68 Landscaping costs $5 per quarter cell
Change the landscaping cost to be $5 per quarter cell changed. This
normalizes the cost for the maintain tool.
2017-07-29 12:02:10 +02:00
jensj12 76f0ed3f9e Calculate cost of all affected tiles in smooth_land
This makes the mountain tool calculate the cost properly. Fixes #2229,
2017-07-29 12:02:10 +02:00
ZehMatt 6a85c49074 Increment network version. 2017-07-29 10:04:09 +01:00
ZehMatt c4b3742bec Refactored constants to named flags. 2017-07-29 10:03:34 +01:00
ZehMatt 3313590784 Fix #6052: Unable to place entrance/exit on certain ride types. 2017-07-29 10:03:32 +01:00
ζeh Matt b2b808f25e Fix #5865: input being handled too early (#6020) 2017-07-29 09:48:54 +01:00
Michael Steenbeek 8c48b5a249 Fix #6026: 'Select ride to advertise' dropdown does not display all items (#6032)
Show up to 128 open rides in the New Campaign dropdown.
2017-07-29 09:44:51 +01:00
Ted John 6460f0afbb Merge pull request #6068 from duncanspumpkin/fix_5629
Fix 5629: Issue with tower ride modes approach to station
2017-07-29 09:33:46 +01:00
duncanspumpkin 12b6d48d46 Update change log and increment network 2017-07-29 09:33:24 +01:00
duncanspumpkin 6bacd4321c Fix #5629: Fix velocity sawtooth on freefall drop station movement
Mistake made during implementation.
2017-07-29 09:33:16 +01:00
ζeh Matt d23e6fe5a9 Fix #5912: Negative queue when moving entrance in paused state. (#6060) 2017-07-29 09:30:01 +01:00
Gymnasiast 183798b933 Remove unused includes and function declarations from rct2.c and rct2.h
Currently, rct2.c doesn't just pull in the kitchen sink, it pulls in half a hardware store.
Clean this up as a step towards reserving rct2.c/h for RCT2-specific stuff like SV6 limits.
2017-07-28 15:46:05 +02:00
Gymnasiast 3cf463b379 Name some window flag aliases 2017-07-28 13:09:32 +02:00
rwjuk f6aef817e1 Fix #5943: Track preview for mazes not drawn when paused 2017-07-28 10:34:30 +02:00
Oliver Freyermuth d42b9fc6df X8DrawingEngine: Only disable warnings which the compiler supports.
This fixes compilation with gcc 4.9.4.
2017-07-28 09:56:49 +02:00
Oliver Freyermuth 0ec78052d6 Guard: Mark openrct2_assert as static explicitly.
Fixes compilation errors with gcc 4.9.4,
which otherwise requires an explicit declaration before
the definition.
2017-07-28 09:56:49 +02:00
rwjuk 315ee6b3b5 Fix applying palette colours; SPRITE_ID_PALETTE_COLOUR_3 to _2 2017-07-28 07:52:35 +02:00
Richard Jenkins 222782b228 Fix #6007: 'Felicity Anderson' can affect peeps entering rides 2017-07-28 07:50:35 +02:00
duncanspumpkin c595d24ebd Fix #6009. Actually check for the correct map element when deleteing.
Mistake made during refactor. The old code passed the map element type and quadrant in the same parameter. I refactored it so that it only checked the quadrant.
2017-07-27 21:49:15 +02:00
Gymnasiast 38c504685e Define constants for max energy and happiness, cap energy to 128 instead of 255 2017-07-27 21:44:46 +02:00
Gymnasiast 2b540b9da1 Remove direct access to small scenery's colour_1 and _2 fields 2017-07-27 21:37:34 +02:00
Gymnasiast db438a27b7 Use map_element_get_direction in more places, create map_element_get_direction_with_offset() 2017-07-27 21:23:26 +02:00
rwjuk 3bd45397aa Fix #6021: Unable to colour vehicles individually 2017-07-27 21:21:09 +02:00
Michael Steenbeek 434325ea22 Move vehicle preference to RideGroupManager 2017-07-27 21:03:26 +02:00
Keatzee 6e068d893d Move autosaves to a subfolder of /save, closes #3209 2017-07-27 19:16:31 +02:00
Ted John 6f2020e7f4 Fix #5998: Staff not getting paid / no loan interest
Ensure gDateMonthTicks is always a multiple of 4 so that it does not skip weekly checks.
2017-07-27 17:33:23 +01:00
Michael Steenbeek ad6f725d37 Fix refactor error 2017-07-27 17:50:01 +02:00
Michael Steenbeek 46de90df86 Create map_get_water_height() 2017-07-27 17:15:56 +02:00
Michael Steenbeek 41b5e8bbca Remove direct usage of map element track sequence field 2017-07-27 16:19:01 +02:00
Richard Jenkins 7e8aa5f655 Merge pull request #6031 from ZehM4tt/assert-refactor
Refactored asserts always calling the function regardless of expression.
2017-07-27 14:47:30 +01:00
Gymnasiast d936b23072 Get and set map element station index via helper functions 2017-07-27 14:13:16 +02:00
ZehMatt f7b7b18b4a Refactored asserts always calling the function regardless of expression. 2017-07-27 05:12:50 +02:00
wolfreak99 30b907f0e8 Fix #6017: ride type spinner not working in multiplayer 2017-07-26 23:15:33 +02:00
Kuriibo 59fabad37c Added new string for shortcut, validate_global_widx 2017-07-26 17:23:47 +01:00
Kuriibo d0db59e196 Keyboard Shortcut for Scenery Remover - #5835
Added a hotkey for the "clear scenery" window. By default, the hotkey is the "b" key (b/c bulldozer).
2017-07-26 17:23:47 +01:00
Gymnasiast 0092fee1ce Fix what was likely a refactoring error 2017-07-26 16:49:42 +02:00
Gymnasiast db56c7e3b3 Change growth_rate to target, fix cheats to use them 2017-07-26 16:49:42 +02:00
Gymnasiast 3f345c60c6 Fix underflow in sub_68F41A() 2017-07-26 14:51:43 +02:00
Gymnasiast 603735f86d Make doors work with every vehicle, closes #5951 2017-07-26 14:41:44 +02:00
Gymnasiast e9e8068dff Change MAP_ELEM_TRACK_SEQUENCE_GREEN_LIGHT_MASK to MAP_ELEM_TRACK_SEQUENCE_GREEN_LIGHT 2017-07-26 14:41:04 +02:00
Gymnasiast 894d010439 Name map element track sequence flags and use them 2017-07-26 14:41:04 +02:00
Gymnasiast a67b248956 Update references to sub_688217() 2017-07-26 14:40:28 +02:00
Richard Jenkins a2f8720143 Fix #5981: Ride list doesn't update after using quick demolish 2017-07-26 11:07:12 +02:00
rwjuk 11711fe4c4 Fix #6010: Assert triggered when loading SC6 via file assoc 2017-07-26 11:03:46 +02:00
Gymnasiast 271e6837e9 Refactor byte_F4414E into separate local bools 2017-07-26 09:17:43 +02:00
Duncan 9a49490a0a Refactor of scenery elements (#5308)
Label scenery flags, vars and refactor small scenery into cpp file.
2017-07-25 22:26:43 +01:00
Christian F. Coors 32da66aa79 Fix build errors 2017-07-25 22:50:19 +02:00
wolfreak99 6ec89fa78b Implement dropdown/spinner combo for changing ride type 2017-07-25 13:25:31 +02:00
Michael Steenbeek ef6aea98e4 Implement #4135: Rename RC Designer to Track designer and allow more ride types 2017-07-25 12:16:37 +02:00
Gymnasiast 274abcb071 Clean up track designs a bit 2017-07-25 11:04:40 +02:00
wolfreak99 77035b0993 Move braces onto their own line 2017-07-25 10:45:38 +02:00
wolfreak99 7c6e260f77 Revise dividing by zero guards 2017-07-25 10:45:38 +02:00
wolfreak99 150cc90f89 fix empty dropdowns 2017-07-25 10:45:38 +02:00
zsilencer 424f2fcef5 Fix #5984: Allow socket binding to same port after crash 2017-07-25 08:35:35 +02:00
Michał Janiszewski 5811a9e08e Lift C4548 for FD_SET
Others encountered that as well:
https://github.com/deflomu/cryptlib/blob/master/io/tcp.h#L572-L588

Nothing we can do about it ourselves.
2017-07-24 22:04:40 +02:00
Gymnasiast 3c3094fa83 Raise dropdown limit to 128 2017-07-24 21:49:24 +02:00
ζeh Matt d45044239e Fix #5977: Custom music files not showing up in music list 2017-07-24 17:08:10 +02:00
Gymnasiast 346c9e1359 Fix #5985: Entertainer custome dropdown has no checked item 2017-07-24 14:10:23 +02:00
Gymnasiast 8473a40bc4 Make gDropdownItemsChecked and gDropdownItemsDisabled static 2017-07-24 14:10:23 +02:00
Gymnasiast 1e3b6a2ea5 Change _countof to countof 2017-07-24 12:45:34 +02:00
ZehMatt 917bba777e Fix ride previews going out of bounds. 2017-07-24 12:45:34 +02:00
Gymnasiast 50ba63df0e Clean up dropdowns
Uses constants in more places.
Most of the changes were taken from a PR by @wolfreak99
2017-07-24 10:33:46 +02:00
Gymnasiast c929311518 Make entrance/exit position list use MAX_STATIONS 2017-07-23 22:16:53 +02:00
Michael Steenbeek 2c52ef71a4 Replace SPR_METAL_PLATE with SPR_STATION_BASE_D and use it throughout (#5978) 2017-07-23 17:20:13 +01:00
Ted John 34096627ac Fix #5973: Headless Servers lost the ability to load Scenarios 2017-07-23 11:14:57 +01:00
wolfreak99 47a89c4cf3 Add "Ignore research status" cheat 2017-07-23 12:09:29 +02:00
wolfreak99 ed69983354 Overflow dropdowns with 32+items into columns
After about 32+ items, lists can sometimes go off screen. This commit
modifies the text based dropdowns loosely based off the code from the
image dropdowns. I've also added _dropdown_list_vertically to allow text
lists to continue to remain in an up-to-down format and images to remain
in a left-to-right format.
2017-07-23 11:56:42 +02:00
wolfreak99 32fbf31777 Define DROPDOWN_ITEMS_MAX_SIZE
This defines the current limitation of dropdown items.
2017-07-23 11:56:42 +02:00
Ted John bc88cb9c2b Make TitleScreen a class (#5971) 2017-07-22 23:42:14 +01:00
Gymnasiast 2a4c0ebe20 Allow on-ride photo segments on Bobsleighs 2017-07-22 22:47:34 +02:00
CharlesLove 88290337f6 Fix #5881: gCheatsUnlockAllPrices persists when loading new scenarios 2017-07-22 22:20:52 +02:00
ζeh Matt 6a56c8c716 Refactored some variables around paint_arrange_structs. (#5876) 2017-07-22 14:18:58 +01:00
Tomas Dittmann 32ffc194b9 Fix #4455: Crash in window_sign_invalidate due to original bug (#5969)
Add missing `& MAP_ELEMENT_LARGE_TYPE_MASK`
2017-07-22 14:15:13 +01:00
Ted John 354a26a9d2 Use std::string for player name
Removes memory leak.
2017-07-22 09:48:34 +01:00
Keatzee ea87e87750 Fix #4301: Remove leading/trailing space from playername 2017-07-22 09:43:24 +01:00
Ted John 3b12ab7795 Fix #5880: Leaving bumper cars without building causes assertion
Protect vehicle_update_sound against invalid ride type.
2017-07-22 09:40:26 +01:00
Ted John 4852633a1b Fix #5966: Issue with Ride Time 2017-07-22 09:24:51 +01:00
Christian F. Coors 9b7e943fab Fix newline for sprite command (#5965) 2017-07-21 16:45:26 +01:00
Gymnasiast 4d23845d4b Fix rides not breaking down 2017-07-20 21:55:29 +02:00
Gymnasiast 636cd5468a Fix RIDE_INITIAL_RELIABILITY 2017-07-20 21:35:11 +02:00
Michael Steenbeek 367efa2020 Use remap flags, SPRITE_ID_PALETTE_COLOUR_1 and _2 in many more places 2017-07-20 20:56:29 +02:00
Michał Janiszewski ee07695cce Manually hoist consts before the loop
It is optimised in release builds, but it will help in debug mode
2017-07-20 19:36:37 +02:00
Michał Janiszewski 8c9da63aa5 Make drawing loop only depend on loop counter (#5954) 2017-07-20 18:09:22 +01:00
Ted John 2eb9657781 Fix premature deletion of dependencies (#5952)
In particular, the object repository can potentially be deleted before the object manager is deleted. This causes a crash when the object manager is deleted because it requires the object repository within the destructor.
2017-07-20 17:44:31 +01:00
Gymnasiast 260f342d73 Fix typos in (unused) defines and comment 2017-07-20 16:18:36 +02:00
Michael Steenbeek bb09019d9b Name and fix vehicle entry and tertiary colour flags 2017-07-20 12:57:37 +02:00
Michael Steenbeek 343e436e45 Import rides in SV6 files per ride and per field 2017-07-19 22:00:48 +02:00
Gymnasiast fc28c0c014 Fix incorrect use of defines 2017-07-19 21:56:11 +02:00
Ted John 957c8b6d2b Merge pull request #5925 from jansegre/develop
Fix: don't show " (DEBUG)" if DEBUG is set but is 0.
2017-07-19 20:41:25 +01:00
Michael Steenbeek 70f1e94ce9 Fix #5946: assertion hit when building new ride 2017-07-19 13:41:24 +02:00
Richard Jenkins fab8efbe2a Implement #5855: Display source game in missing obj window 2017-07-19 11:04:00 +02:00
Gymnasiast f5923dbe99 Create find_first_non_null_station_index() 2017-07-19 08:52:33 +02:00
Michael Steenbeek 72d2c58931 Clean up some rct_xy8 usage; formatting (#5941) 2017-07-18 23:18:19 +01:00
Michał Janiszewski fc59fc7573 Cache last visited node in paint_arrange_structs
This commit caches the last visited node in paint_arrange_structs and
in paint_arrange_structs_helper, which allows skipping iterating over
long linked lists that don't work well with modern CPU caches.

This is especially useful, if the list is walked just to be discarded in
the end.

This improves performance across the board, the busier the park, the
higher performance improvement.

I have verified this producing pixel-perfect results with ones before
this change by dumping giant screenshot on various parks in all zooms,
all rotations.

Results collected running before and after this change with `benchgfx`
command (https://github.com/OpenRCT2/OpenRCT2/pull/5655) on current
title sequence, YMMV.

**Park**|**Before**|**After**|**Delta**
:-----:|:-----:|:-----:|:-----:
Maian\_SOSDragon.sv6|2.80|2.43|-13.2%
Maian\_SOSFrosty.sv6|3.53|3.02|-14.4%
Maian\_SOSParabola.sv6|4.16|3.45|-17.1%
MrB.sv6|5.52|4.52|-18.1%
SpacekKing.sv6|8.53|6.52|-23.6%
SpacekMaple.sv6|7.18|5.75|-19.9%
SpacekMission.sv6|4.41|3.43|-22.2%
SpacekParadise.sv6|9.01|6.36|-29.4%
SpacekSwimmers.sv6|4.11|2.97|-27.7%
Stosky.sv6|3.34|2.36|-29.3%
 | | | 
**Average**|**5.26**|**4.08**|**-21.5%**
2017-07-18 23:01:00 +02:00
Ted John eeeebe5525 Fix #5939: Crash when importing 'Six Flags Santa Fe'
Protect fix_invalid_vehicle_sprite_sizes from invalid vehicle chains.
2017-07-18 17:34:05 +01:00
Gymnasiast 6dddd5b76c Clean up enabledPieces usage 2017-07-18 18:13:00 +02:00
Michael Steenbeek 7a4e7e17a1 Fix incorrect terminology 2017-07-18 18:07:43 +02:00
ZehM4tt ad4eaff323 Fix game not allowing to catch up if rendering is slow.
Refactored game_update to use the given parameters from context.
2017-07-18 15:14:21 +02:00
wolfreak99 c11e925f40 Change CHEATS_MONEY_DEFAULT, CHEATS_MONEY_INCREMENT 2017-07-18 14:57:53 +02:00
wolfreak99 5d1ffd76b5 Move windows/cheats.c/MONEY_DIGITS to localisation.h/MONEY_STRING_MAXLENGTH 2017-07-18 14:57:53 +02:00
wolfreak99 adeaaa8560 Remove extra CHEATS_MONEY_INCREMENT, prefix MONEY_DEFAULT/etc with CHEATS_ 2017-07-18 14:57:53 +02:00
Gymnasiast d51dad91c5 Make ride_entrance_exit_is_reachable() accept an rct_xy8 2017-07-18 13:12:34 +02:00
Gymnasiast 50b993386a Change station_starts to an rct_xy8 2017-07-18 13:12:34 +02:00
Michael Steenbeek ec55224f38 Change ride->overallview to an rct_xy8 2017-07-18 12:22:39 +02:00
Ted John d5732fdf38 Merge pull request #5906 from IntelOrca/refactor/rct2
Move functions out of rct2.c
2017-07-18 09:55:02 +01:00
Michael Steenbeek c0d06498b3 Increase network version because of reliability fixes 2017-07-18 10:51:30 +02:00
Gymnasiast c96ef96edb Clean up rct_ride and rct1_ride structs and usage 2017-07-18 10:50:28 +02:00
Jan Segre 9a2ba06da3 Fix #5924: don't show " (DEBUG)" if DEBUG is set but is 0.
Signed-off-by: Jan Segre <jan@segre.in>
2017-07-17 23:18:20 -03:00
Richard Jenkins 2cfe2e323c Fix #5849: Missing object window cannot be closed with KB shortcut (#5929) 2017-07-17 22:29:28 +01:00
Gymnasiast 7b8248cca7 Change ride->exit into an rct_xy8, cleanup 2017-07-17 20:41:03 +02:00
Gymnasiast c12113475b Turn ride->entrances into an rct_xy8 2017-07-17 19:27:38 +02:00
Hielke Morsink 489c74518c Fix #5920: set correct next peep spawn index 2017-07-17 15:15:31 +02:00
Ted John 01b0047675 Invert Painter dependency
Make painter call into the drawing engine, rather than the drawing engine create and call the painter.
2017-07-16 23:25:11 +01:00
Ted John ac6da51dbb Use IPlatformEnvironment for loading g1.dat 2017-07-16 23:25:11 +01:00
Ted John 33fd31d802 Remove path char arrays which are no longer used 2017-07-16 23:25:11 +01:00
Ted John c33a9f06d9 Remove subsitute_path and refactor gScenarioFilename 2017-07-16 23:25:11 +01:00
Ted John cb884dad11 Refactor rct2_draw to a new Painter class
Right now this is created for each drawing engine, but should eventually be a dependency into them.
2017-07-16 23:25:11 +01:00
Ted John 5614e55f84 Remove more redundant platform functions 2017-07-16 23:25:11 +01:00
Ted John 1394512df6 Remove startup checks 2017-07-16 23:25:11 +01:00
Ted John edcbfdf097 Move rct2_open_file to Context 2017-07-16 23:25:11 +01:00
Ted John f7dff37708 Move copying of user files to Context.cpp 2017-07-16 23:25:11 +01:00
Ted John 73ef6d54a7 Move rct2_init and rct2_dispose into Context 2017-07-16 23:25:11 +01:00
Ted John 7fbcf1ab0b Move rct2_update into Context 2017-07-16 23:25:11 +01:00
Gymnasiast 587d354717 Fix #5895: Publisher credits window scrolls too far 2017-07-15 14:26:21 +02:00
Ted John 1e71618921 Merge pull request #5775 from wolfreak99/land_tool_holdable
Make the land tool holdable
2017-07-15 12:55:44 +01:00
zaxcav 5f150e3893 Increase sync station limit
Increased SYNCHRONISED_VEHICLE_COUNT to 16 to permit duelling coasters with more coasters. Otherwise no changes to the game logic. Feature requested in the forums: https://openrct2.org/forums/topic/2544-synchronized-stations-dont-work-passed-8-stations/

This will impact network games which already have duelling coasters built with more than 8 adjacent stations, so a new network version is necessary.
2017-07-15 13:18:24 +02:00
wolfreak99 68756498f8 Fixed rebase 2017-07-15 12:02:51 +02:00
wolfreak99 7d09486744 Make land tool size holdable 2017-07-15 12:02:51 +02:00
wolfreak99 15cc2a0230 Rename some small scenery flags, tidy up sub_6E1F34 2017-07-15 11:55:20 +02:00
Gymnasiast 34073e10ae Fix Junior RC data files to disable steep inclines, fixes #5902 2017-07-15 10:52:35 +02:00
William Wallace ae110a9159 Allow switching between OpenGL and other renderers without restarting 2017-07-13 19:04:37 +01:00
Tomas Dittmann c1b8230eef Wrap the FileStream creation in try-catch. (#5840) 2017-07-13 18:56:33 +01:00
Ted John fb10a1460d Fix #5858: crash when using custom ride
Add protection against ride objects with no colour presets. Default to black colours.
2017-07-13 18:24:46 +01:00
Tomas Dittmann 77a6207100 add invalid entry pointer guards.
update the changelog
2017-07-13 10:16:34 +02:00
wolfreak99 e7bacc6d84 Apply new mousedown event parameters to windows 2017-07-13 10:15:34 +02:00
wolfreak99 2155aa26fa Begin reorder of "mouse_down" window event parameters 2017-07-13 10:15:34 +02:00
Michał Janiszewski 3d487541d7 Reset network version for 0.1.1 2017-07-12 23:24:33 +02: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
Tomas Dittmann 90bb6320e5 Guard against invalid sprite access crashes (#5867)
ride->num_vehicles not matching ride->vehicles[] in
ride_prepare_breakdown() and window_ride_maintenance_dropdown().
2017-07-12 21:23:50 +02:00
ζeh Matt d7f1f13d0c Fix #5866: Don't tween sprites that did not move. (#5875) 2017-07-12 13:23:10 +01:00
Michael Steenbeek da17ac9781 Bump network version 2017-07-12 12:10:21 +02:00
ZehM4tt f000e885d3 Fix desync with "Disable clearance check" while placing rides with footpaths.
Refactored single constant to named flags.
2017-07-12 11:32:27 +02:00
ZehM4tt 250a66c45f Fix game advancing too fast when game was paused/frozen.
Regression from #5848
Added braces.
2017-07-11 21:45:37 +02:00
X123M3-256 a2545d7050 Fix potentially uninitialized variable 2017-07-11 19:57:30 +02:00
X123M3-256 b73c954362 Prevent booster pieces from toggling spinning 2017-07-11 15:55:06 +02:00
Michał Janiszewski ae282f782e Fix #5803: Null map element in onridephoto (#5852) 2017-07-11 12:34:11 +01:00
ζeh Matt ec236f0bf5 Fix platform_get_ticks resolution to match other platforms. (#5843) 2017-07-10 21:46:11 +02:00
ζeh Matt a8af3c7670 Refactor game loop to use a semi-fixed timestep. (#5848)
Fix headless game being jumpy/stuttering.
Bump up network version.
2017-07-10 21:43:20 +02:00
Duncan 454a5d9411 Fix diagonal steep slope support drawing. (#5844)
Mistake during original implementation. Fixes #5148
2017-07-10 08:16:33 +02:00
Richard Jenkins fff3e55e6b Merge pull request #5854 from Chaosmeister/backwardsmotionnullguard
Guard against null in vehicle_update_track_motion_backwards_get_new_track()
2017-07-09 22:17:29 +01:00
Tomas Dittmann e31c4d83db Guard against null in vehicle_update_track_motion_backwards_get_new_track() 2017-07-09 22:52:03 +02:00
Michał Janiszewski ce24a6fb85 Prevent overflowing tunnel count (#5853) 2017-07-09 22:48:21 +02:00
Michał Janiszewski 23882ae7a6 Merge pull request #5814 from rwjuk/spriteguardnull
Guard against NULL in fix_invalid_vehicle_sprite_sizes()
2017-07-09 21:19:49 +02:00
Michał Janiszewski f89e56bbc4 Update exit condition to prevent endless loop 2017-07-09 21:13:37 +02:00
Tomas Dittmann cf1f907138 continue instead of return 2017-07-09 20:42:42 +02:00
Tomas Dittmann a163c2b1b3 prevent crash with hacked spiral slides 2017-07-09 20:42:42 +02:00
duncanspumpkin 540763ad0c Fix tunnel portal drawing for multidim inverted track.
Mistake made from generated code. Missed in #5087. Fixes #5819.
2017-07-09 12:10:04 +02:00
Duncan 7b47438f49 Fix windows x86 debug builds (#5845) 2017-07-09 09:51:02 +01:00
Tomas Dittmann bec1538f48 Improve the error console output. (#5839) 2017-07-09 00:09:46 +01:00
wolfreak99 ac81072597 Fix hold down speed 2017-07-08 10:36:28 +02:00
spacek531 c73e17f02b move the zoom case up to handle it as it was 2017-07-07 17:35:33 +01:00
spacek531 7ecf049e87 add janisozar suggestion
[ci skip]
2017-07-07 17:35:33 +01:00
spacek531 668366bf6b Revert "upgrade save format from uint16 to uint32"
This reverts commit 85757d9fefbacf8b7d07cec9cd9714e2f70f2faa.
2017-07-07 17:35:33 +01:00
spacek531 78ab94b12a upgrade save format from uint16 to uint32 2017-07-07 17:35:33 +01:00
spacek531 bec8b73506 fix saving of milliseconds, loading still beyond knowledge
[ci skip]
2017-07-07 17:35:32 +01:00
spacek531 97bf67e605 add missing curly bracket 2017-07-07 17:35:32 +01:00
spacek531 16167d84f0 clarified comments, changed TITLE_COMMAND_ORDER command to uint16 2017-07-07 17:35:32 +01:00
spacek531 78e25e381c modify saving, add comments
[ci skip]
2017-07-07 17:35:32 +01:00
spacek531 a3acfb4312 Increase digits from 4 to 5
I'm not used to string lengths that are one shorter
2017-07-07 17:35:32 +01:00
spacek531 c1ac654916 fix order of rotate, zoom in clamping 2017-07-07 17:35:32 +01:00
spacek531 c302bec47a fix rotate being able to be set to 0 2017-07-07 17:35:32 +01:00
spacek531 fc71361a9e increase digits for wait, decrease digits for rotate, zoom 2017-07-07 17:35:32 +01:00
spacek531 bd4e8cbd08 change Min to Max 2017-07-07 17:35:32 +01:00
spacek531 ef38a66cc2 begin update editor for ms values
[ci skip]
2017-07-07 17:35:31 +01:00
spacek531 d5610ece54 Remove duplicate line 2017-07-07 17:35:31 +01:00
spacek531 c815a427c0 Change Seconds (internal) to Milliseconds, en-GB too 2017-07-07 17:35:31 +01:00
spacek531 f5bc1b598c removed extra newline, changed tabs to spaces 2017-07-07 17:35:31 +01:00
spacek531 bb8160fa3b Remove extra newline in math.hpp 2017-07-07 17:35:31 +01:00
spacek531 b460401ab6 Removed redundant Ceil 2017-07-07 17:35:31 +01:00
spacek531 ec0f35fe7b added comment 2017-07-07 17:35:31 +01:00
spacek531 cbe154f63b I hope this isn't a joke of a commit
I have no idea.
2017-07-07 17:35:31 +01:00
Richard Jenkins e5b39846b0 Merge pull request #5812 from janisozaur/fix-5795-v2
Fix #5795: Implement sprite cycle checking v2
2017-07-07 17:24:42 +01:00
wolfreak99 6633588179 Add missing cheat_reset toggle 2017-07-07 09:20:27 +02:00
wolfreak99 e5eefca5c0 Add missing cheat log strings 2017-07-07 09:20:27 +02:00
Michał Janiszewski 8d02ce37b5 Fix compilation on MSVC 2017-07-07 07:56:45 +02:00
rwjuk d364b2824f Remove needless null check 2017-07-06 23:35:00 +01:00
Michał Janiszewski a3414502a6 Update network version 2017-07-07 00:17:36 +02:00
Michał Janiszewski 12500dd802 Fixup the disjoint null sprites 2017-07-07 00:14:45 +02:00
Michał Janiszewski f6cb731476 Merge pull request #5802 from rwjuk/fix5800
Fix #5800: Crash when opening server from command line
2017-07-06 23:39:26 +02:00
rwjuk f28db5731f Guard against NULL in fix_invalid_vehicle_sprite_sizes() 2017-07-06 22:29:51 +01:00
Michał Janiszewski 22d0cb99f9 Load title sequence when invalid path was given 2017-07-06 23:25:38 +02:00
Michał Janiszewski ab95988c66 Improve error reporting for detected cycles 2017-07-06 22:28:10 +02:00
Michał Janiszewski 029aea0fc2 Remove reset_empty_sprites
Leave in sprite_clear_all_unused as the safer version
2017-07-06 22:20:07 +02:00
Michał Janiszewski bed085d329 Remove unneeded sprite reset
This is done in all exports now
2017-07-06 22:18:05 +02:00
Michał Janiszewski 07faba7aa5 Re-add sprites that got disconnected in a looped list 2017-07-06 22:17:02 +02:00
rwjuk 00848ca629 Correct sprite cycle fixing algorithm 2017-07-06 19:57:59 +02:00
rwjuk 67cbe2a2a1 Fix compilation issues and restore line that went astray 2017-07-06 19:57:55 +02:00
rwjuk 72a1ad89a3 Remove superfluous parameter 2017-07-06 19:57:52 +02:00
rwjuk 28789c3767 Restore resetting of sprite index 2017-07-06 19:57:46 +02:00
rwjuk 372781cc74 Code quality improvements 2017-07-06 19:57:41 +02:00
rwjuk 247d72b1aa Implement sprite cycle checking 2017-07-06 19:57:37 +02:00
rwjuk 5c0a85df5e Bump network version 2017-07-06 13:22:48 +01:00
rwjuk cc95aa0433 Fix visual corruption caused by zero sprite dimensions
Sprite corruption issue highlight

Fix already bugged saves

Fix visual corruption caused by zero sprite dimensions
2017-07-06 13:22:24 +01:00
Michał Janiszewski aac81163d0 Update network version to avoid confusion 2017-07-06 11:14:42 +02:00
Michał Janiszewski ec7bcfce34 Revert "Fix #5795: Implement sprite cycle checking" 2017-07-06 11:13:12 +02:00
rwjuk ab6d4ee240 Fix black screen on loading file with invalid extension 2017-07-05 23:54:43 +01:00
rwjuk 8224e715d8 Network version bump 2017-07-05 23:34:47 +01:00