Commit Graph

12281 Commits

Author SHA1 Message Date
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
OpenRCT2 git bot ca1aaec59c Merge Localisation/master into OpenRCT2/develop. 2017-07-18 04:00:26 +00: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
Gymnasiast 7222318de3 Add Painter.cpp and Painter.h to Xcode project 2017-07-16 23:25:11 +01: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
OpenRCT2 git bot 1b042506d9 Merge Localisation/master into OpenRCT2/develop. 2017-07-16 04:00:23 +00: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 e87387812b Modify changelog 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
Zankoas ff51d4aec6 Minor spelling fixes for en-GB localisation 2017-07-14 23:56:28 +02:00
Sjors Gielen 553e16144b Fix null pointer dereference when cancelling an RCT1 location dialog on Mac OS X.
To reproduce, run openrct2 on OSX, go to the options dialog, then to the bottom
of the misc tab, select an RCT1 location. Then, cancel that dialog. This would
trigger a null pointer dereference by returning std::string(nullptr).
2017-07-14 13:33:54 +02:00
Michał Janiszewski 1aed331928 Install openrct2-cli, if exists 2017-07-13 23:22:20 +02:00
Ted John a808da910c Merge pull request #5885 from willox/gltransparency
Fix regression in OpenGL DrawImageCommand flags
2017-07-13 19:17:59 +01:00
Ted John 6a05aa9e33 Merge pull request #5863 from willox/develop
Allow switching between OpenGL and software rendering without restarting
2017-07-13 19:07:25 +01:00
Ted John 934fb00b21 Update changelog
[ci skip]
2017-07-13 19:06:05 +01:00
William Wallace ae110a9159 Allow switching between OpenGL and other renderers without restarting 2017-07-13 19:04:37 +01:00
William Wallace ab39262ccf Remove incorrect/unnecessary OpenGL API calls 2017-07-13 19:04:37 +01:00