Commit Graph

16126 Commits

Author SHA1 Message Date
Ted John 2fcaed8165 Allow more fields to be optional 2021-01-27 00:28:59 +00:00
Ted John 136783270f Fix initial value for showTextInput 2021-01-27 00:28:59 +00:00
Ted John c0d8786af8 Add text box widget 2021-01-27 00:28:59 +00:00
Duncan 8c5cd61b69
Split free id's into seperate vector (#13924) 2021-01-26 07:42:56 +00:00
Ted John be350f7e2e Add widget visible flag 2021-01-26 00:25:59 +00:00
Ted John c1a1f8f639 Fix #13953: invalid-read in StaffListWindow::RefreshList 2021-01-26 00:17:34 +00:00
Ted John c9a07eaa84
Refactor staff window to class (#13819) 2021-01-25 21:57:06 +00:00
ζeh Matt 329b228cac
Fix #13916: use correct constant for maximum station locations 2021-01-23 23:06:05 +01:00
Michał Janiszewski b1e43f828b Add nullptr check in get_loaded_object_entry 2021-01-23 22:26:02 +01:00
Duncan eb52391b9a
Remove next_in_quadrant (#13754)
* Use std::vector of quadrants

* Prevent ptr invalidation issues

* Remove next_in_quadrant

* Make review changes

* Rebuild next_in_quadrant for S6Export

* Fix formatting

* Constexpr where possible

* Increment network version and update replays
2021-01-23 07:36:46 +00:00
Duncan 3cc283adb2
Name MapFlashingFlags and split up guest/staff loop (#13865)
* Name MapFlashingFlags and split up guest/staff loop

* Use constexpr instead of macros
2021-01-23 06:45:14 +00:00
Duncan fb274f55d5
Fix #13905: Fix walking off end of array when saving (#13913)
Mistake made in refactor
2021-01-22 22:45:00 +00:00
ζeh Matt 73275b311b
Fix #13903: ride exits not being recognized (#13906) 2021-01-22 22:08:54 +00:00
ζeh Matt 54578a0870
Merge pull request #13901 from ZehMatt/fix-replaysnapshot
Fix replay snapshots comparing states with different ticks
2021-01-22 20:15:33 +02:00
Duncan 85df2c6854
Refactor guestlist (#13899)
* Refactor GuestList groups to use more standard functions

* Remove index

* Apply review comments
2021-01-22 18:02:22 +00:00
Duncan 1a11456f36
Rework remove floating to use EntityList (#13895) 2021-01-22 14:36:55 +00:00
ζeh Matt bc20efb3df
Merge pull request #13822 from ZehMatt/refactor/fixedvector
Avoid some allocations by using a fixed size vector
2021-01-22 16:17:14 +02:00
Matt 6034cef358
Fix replay snapshots comparing states with different ticks 2021-01-22 15:35:16 +02:00
Michael Steenbeek 20f959c833
Use track_type_t in more places 2021-01-22 11:33:55 +01:00
Duncan f80531070b
Implement EntityLists (#13853)
* Implement EntityLists

* Remove dead code

* Use alternative name for iterator

* Add comments

* Increment network version

* Update replays

* Remove further dead code

* Update replays again
2021-01-21 18:36:34 +00:00
Duncan 3321720d4a
Split up misc list access to be type specific (#13870)
* Split up misc list access to be type specific

Took the opertunity to use a fold expression to simplify the code

* Increment network version
2021-01-21 08:29:02 +00:00
Matt f684ebd7d9
Allow the main game loop to scale the delta time 2021-01-20 23:13:02 +02:00
Duncan 8d25e4ccd9
Split closest peep calculation into Staff and Guest (#13880) 2021-01-20 14:21:22 +01:00
Ted John 19f0d8dfe9
Fix #13842: News is imported incorrectly 2021-01-20 12:35:11 +01:00
Michał Janiszewski 9d666700f9
Merge pull request #13873 from janisozaur/memleak
Fix some memleaks
2021-01-20 07:32:32 +01:00
ζeh Matt 40a23db14b
Fix #13871: Crash on banner window invalidation 2021-01-19 22:44:22 +01:00
Michał Janiszewski 4a21676d17 Plug memory leak in DataSerialiser 2021-01-19 22:11:08 +01:00
Michał Janiszewski 4bcf68d84a Use simple std::string assignment to plug memory leak 2021-01-19 22:10:15 +01:00
Duncan 354a131892
Use specific type for peep list access (#13831)
* Use specific type for peep list access

* Simplify calculation further
2021-01-19 17:57:22 +00:00
Michael Steenbeek 052306f992
Merge pull request #13854 from Gymnasiast/refactor/remove-regs
Remove remaining register usage
2021-01-18 22:12:03 +01:00
Gymnasiast 87ff851fd1
Rename flagsForSomething to remainingDistanceFlags 2021-01-18 22:11:28 +01:00
Basssiiie 813b111710
Fix #11912: Update active palette on selection 2021-01-18 21:25:57 +01:00
Gymnasiast 9a3d9c512e
Move register definition to TestPaint 2021-01-17 22:14:55 +01:00
Gymnasiast a2e84d161d
Remove last usage of registers 2021-01-17 20:11:50 +01:00
Gymnasiast cb63b3356a
Replace another occurence of regs.ebx 2021-01-17 20:06:35 +01:00
Gymnasiast 98a9827ee8
Remove unused regs.cx 2021-01-17 20:06:35 +01:00
Gymnasiast e4e4ca1122
Replace occurrence of regs.ax 2021-01-17 20:06:35 +01:00
Gymnasiast 2baf0f992f
Remove unused regs.dx 2021-01-17 20:06:35 +01:00
Gymnasiast d817d595eb
Replace occurrence of regs.ax 2021-01-17 20:06:33 +01:00
Gymnasiast d9fb4616a6
Replace 2 occurences of regs.eax 2021-01-17 20:06:05 +01:00
Gymnasiast b24962546e
Replace an occurence of regs.eax 2021-01-17 20:06:05 +01:00
Gymnasiast 7e50d1bbc5
Integrate loc_6DB967 2021-01-17 20:06:05 +01:00
Gymnasiast c200d7ab9c
Integrate loc_6DBE7F 2021-01-17 20:06:05 +01:00
Gymnasiast 60b0ba809a
Integrate loc_6DBE5E 2021-01-17 20:06:05 +01:00
Gymnasiast 39162b8f8e
Remove 2 occurrences of regs.ebx 2021-01-17 20:06:03 +01:00
Gymnasiast 9fb46e7fcc
Remove occurrence of regs.ebx 2021-01-17 20:05:31 +01:00
Gymnasiast 6561f1cb49
Remove occurrence of regs.ebx 2021-01-17 20:04:49 +01:00
Duncan 4ff5b9a89f
Reset Entity to 0 on removal (#13835)
This is to force any use after remove bugs to the surface
2021-01-16 15:48:39 +00:00
Michael Steenbeek 12edd610e6
Merge pull request #13841 from Gymnasiast/fix/13236
Fix #13236: New ride type appears as new vehicle type in research
2021-01-15 22:38:28 +01:00
Michael Steenbeek 32d8dadc2b
Replace some leftover use of uint8_t for ride subtype 2021-01-15 19:35:06 +01:00
Gymnasiast 19d113ae86
Reduce code duplication 2021-01-15 17:34:47 +01:00
Gymnasiast 4fcc86f990
Fix #13236: New ride type appears as new vehicle type in research 2021-01-15 17:21:29 +01:00
Michael Steenbeek 5cd3014334
Import SV6 tile elements by x/y 2021-01-15 16:23:28 +01:00
Michał Janiszewski f1a5e62440
Fix #13816: Compilation failure on Launchpad (#13837) 2021-01-14 23:19:10 +01:00
ζeh Matt 78f6e3e8e3
Fix replays not failing when last tick is the cause (#13834)
* Fix replays never failing

* Change replay dependency meta

* Stop replay when state mismatches
2021-01-14 13:48:12 +00:00
Matt e9cdb559e3
Avoid some allocations by using a fixed size vector 2021-01-14 12:27:54 +02:00
ζeh Matt f1ea718ded
Fix #13832: Game action position is invalid on opening/closing a ride 2021-01-14 10:13:32 +01:00
LRFLEW 601fa5629b
Fix Window IDX enum names 2021-01-13 23:00:35 +01:00
Duncan 0c91ed9bdd
Fix #13755. Regression causing entity position corruption (#13828)
When switching from variable frame to fixed frame the entity positions could become corrupted. This would cause to end up being stuck inside of tiles that they could not path out of. When switching from normal speed to hyperspeed the rendering switches from variable to fixed frame. Therefore entitys could end up corrupted when enabling hyperspeed. Due to the way the corruption occured a hang or crash could also occur.
2021-01-13 17:29:30 +00:00
Michael Steenbeek bf63a562ae
Fix #11438: Crash when decreasing map size 2021-01-12 22:04:22 +01:00
Michael Steenbeek 93b7b86ad4
Merge pull request #13756 from IntelOrca/refactor/guest-list-window
Refactor guest list window to a class
2021-01-12 20:01:47 +01:00
Michael Steenbeek 830d2426bd
Import RCT1 tile elements by x/y (#13740)
* Import RCT1 tile elements by x/y

* Clean up wall import

* Move tile pointers creation to a separate function and to heap

* Create class for tile pointer index
2021-01-12 17:53:58 +00:00
Ted John 1723161503 Optimise guest list sort
Format all guest names in advance and store them in a list for sorting. This reduces the number of calls to format_string considerably.
2021-01-11 22:41:42 +00:00
Ted John 3e75f23970 Refactor guest list window to a class 2021-01-11 21:56:48 +00:00
skdltmxn 7ef4d7762f
Refactor to avoid unnecessary copies (#13736)
* Refactor to avoid unnecessary copies

* Fix dangling references
2021-01-11 18:14:15 -03:00
Ted John b58038a23f
Fix #13758: Cheat menu's No Money Error 2021-01-11 20:39:58 +01:00
ζeh Matt cb5b1fb9ef
Eliminate copying of paint_struct, initialize data in-place 2021-01-11 19:37:39 +01:00
Matthias Mailänder 818b2a5239
Find the system wide installed Discord RPC library. (#13658) 2021-01-11 00:02:22 +01:00
Michael Steenbeek 60d1e94046
Close #7059: Implement landscape doors on Ghost Train (#13636)
* Implement landscape door updating

* Implement door drawing for Ghost Train

* Amend changelog and bump network version

* Apply review requests

* Always return default seat rotation for ride types with landscape doors

* Fix comment

* Update replays

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2021-01-10 21:38:02 +00:00
Mathias Gibbens b1e5a11bf3
Several more spelling fixes (#13752)
Signed-off-by: Mathias Gibbens <mathias@calenhad.com>

Co-authored-by: Mathias Gibbens <mathias@calenhad.com>
2021-01-10 18:23:35 +00:00
Duncan d5ada2dca1
Remove type from SpriteBase (#13735)
* Move type field into sub structures

* Use type for misc_type

* Use type for l_type

* Rename to SubType

* Rename SpriteGeneric to MiscEntity

* Rename generic to misc

* Add extra nullptr checks for compilers that cant understand

* Make review changes

* Increment network version

* Update replays
2021-01-10 15:14:34 +00:00
Michał Janiszewski d55bff7587
Merge pull request #10700 from janisozaur/benchsimulate
Add benchsimulate command
2021-01-10 14:17:20 +01:00
Michael Steenbeek 1da6ae6b51
Merge pull request #13710 from skdltmxn/refactor/string_view
Refactor/string view
2021-01-10 13:37:01 +01:00
ζeh Matt 011588b01e
Move window update out of variable frame updates (#13704) 2021-01-10 09:36:34 -03:00
Michał Janiszewski deebd779a9 Address review comments for benchsimulate 2021-01-10 13:34:14 +01:00
Michał Janiszewski a8c3ca72ed Update to new style casts 2021-01-10 13:34:14 +01:00
Michał Janiszewski 6a6e58c088 Update vcxproj 2021-01-10 13:34:14 +01:00
Michał Janiszewski 0410b37369 Provide more detailed stats about simulation performance 2021-01-10 13:34:14 +01:00
Michał Janiszewski a614c1ec05 Add benchsimulate command
Adds a new command, `benchsimulate`, that starts benchmarking
UpdateLogic() function.
2021-01-10 13:34:14 +01:00
Tulio Leao a2de9cfc70
Merge pull request #12573 from NathanIkola/Fix12334
Refactor footpath_is_connected_to_map_edge
2021-01-10 09:22:08 -03:00
Ted John d907c58a13
Start window refactor framework 2021-01-10 12:41:55 +01:00
Mathias Gibbens d26590c38e
Fix cmake compile_definitions edge case (#13732)
If cmake variables contain just empty strings, don't add them to
the compile definitions, as this can result in incorrect version
strings in the compiled program

Signed-off-by: Mathias Gibbens <mathias@calenhad.com>

Co-authored-by: Mathias Gibbens <mathias@calenhad.com>
2021-01-08 22:08:30 +01:00
skdltmxn b0a8ebc808
Refactor to use push_back more efficient (#13726) 2021-01-08 20:59:55 +00:00
Mathias Gibbens 115c92996b
Fix spelling typos (#13730) 2021-01-08 20:13:00 +01:00
Berbe d49f5576a0
Fix: CMake project (#13163) 2021-01-08 19:23:51 +01:00
Michael Steenbeek a95033e55f
Remove unused function (#13724) 2021-01-08 00:49:40 +01:00
Basssiiie 1abb81ef81
Re-add 'edgesAndCorners' support for footpaths (#13720) 2021-01-07 19:15:23 +00:00
ζeh Matt a6080b7996
Refactor code to dynamically add and remove viewports (#13687) 2021-01-07 19:06:49 +00:00
Michael Steenbeek 8a4e44be5e
Add missing ride types to JSON object loader 2021-01-06 22:30:55 +01:00
ζeh Matt acf71315b5
Cleanup variables usage and initialize them 2021-01-06 22:29:40 +01:00
Gymnasiast cd270df349
Bump network version 2021-01-06 21:25:49 +01:00
X123M3-256 deca5a3881
Add "Single Rail Roller Coaster" ride type 2021-01-06 21:10:15 +01:00
skdltmxn e1cfa8693f Use c_str() instead of data() 2021-01-07 04:28:19 +09:00
Michael Steenbeek 764ab7f113
Rename dword_F64EB0 to marker 2021-01-06 19:53:16 +01:00
skdltmxn c093a50f3f Refactor to use string_view more properly 2021-01-07 01:52:10 +09:00
ζeh Matt e6d1fcce5d
Merge pull request #13698 from ZehMatt/perf/tweening
Improve performance of tweening entities between ticks
2021-01-05 19:47:24 +02:00
ζeh Matt 12c6854a3e
Fix #13701: Use correct max zoom level for peeps on invalidation 2021-01-05 18:24:52 +01:00
Matt f77076def6
Apply review suggestions 2021-01-05 19:19:02 +02:00
Matt 876b55727e
Correctly remove entities from tweening list when object is removed 2021-01-05 01:35:18 +02:00
Matt b1561001b7
Apply review suggestions 2021-01-05 01:18:25 +02:00
Matt 9c88cc7589
Collapse function template in PaintSessionArrange 2021-01-05 01:02:06 +02:00
Matt c442ef6207
Improve performance of tweening entities between ticks 2021-01-05 00:26:58 +02:00
skdltmxn 81e7e29eb5
Refactor vehicle_paint to move rideEntry to the inner scope (#13695) 2021-01-04 17:43:22 +00:00
Michael Steenbeek b21f8284ac
Merge pull request #13669 from ZehMatt/enhancements/banner-limit
Refactor logic to allow to draw 256 banners at the same time
2021-01-03 23:02:31 +01:00
Michael Steenbeek 406967c71f
Refactor object_entry_get_entry() to return Object 2021-01-03 23:01:52 +01:00
ζeh Matt 30aea2bb2a
Merge pull request #13667 from ZehMatt/refactor/invalidation
Simplify object invalidation automatically when possible
2021-01-03 20:10:15 +02:00
Michael Steenbeek a27ec2deb3
Merge pull request #13172 from keithstellyes/gog-extractor-posix
Part of #12307: GOG installer extraction for POSIX
2021-01-03 19:00:29 +01:00
Sadret d22c2edee5
Implement #13384: Expose all TileElement data to plugin API 2021-01-03 18:42:21 +01:00
Gymnasiast 52bc650abf
Improve feedback when selecting the wrong file 2021-01-03 18:40:02 +01:00
Gymnasiast 07c3a930e4
Apply review requests 2021-01-03 17:53:38 +01:00
Gymnasiast 09c6339bd4
Stub Execute() for Win32 2021-01-03 17:53:15 +01:00
Gymnasiast 9058f00bfa
Strictly use int32_t for ShowMenuDialog 2021-01-03 17:53:14 +01:00
Gymnasiast 72cc8df395
Stub FindApp on Windows 2021-01-03 17:53:14 +01:00
Keith Stellyes 268e39d12a
GOG installer extraction for POSIX 2021-01-03 17:53:14 +01:00
Ted John 6fb7921dbd
[Plugin] Add context.setInterval and context.setTimeout 2021-01-03 16:08:35 +01:00
amdoku 85efe047bb
Close #12444: Refactor TILE_INSPECTOR_PAGE to use strong enum (#13134) 2021-01-03 10:30:59 -03:00
Michael Steenbeek 44d595835a
Fix #13653: Incorrect colours in Inventions List 2021-01-03 14:06:52 +01:00
Karthik NS ae637bf088
Close #13623: Refactor LightFXQualifier to use strong enum 2021-01-03 14:03:13 +01:00
Matt 7d4637613a
Format the integers into temporary buffer to fix inline sprites 2021-01-02 16:46:05 +02:00
Matt c2fd7708ad
Use char_traits for length 2021-01-02 16:46:05 +02:00
Matt 2ef4dd23aa
Replace std::stringstream with custom string buffer 2021-01-02 16:46:05 +02:00
Matt 5bbc07847c
Remove unused field 2021-01-02 16:43:17 +02:00
Matt 474ed67696
Initialize scrolling text sprites without a copy from original 2021-01-02 16:43:17 +02:00
Matt 95551b0504
Use correct type 2021-01-02 16:43:17 +02:00
Matt 7dfe0b02a6
Add ScrollingText.h 2021-01-02 16:43:17 +02:00
Matt 9d473bbfbe
Refactor logic to allow to draw 256 banners at the same time 2021-01-02 16:43:17 +02:00
Matt 19b63a1825
Refactor logic of MoveTo to always imply invalidation 2021-01-02 16:22:28 +02:00
Matt efa1db826e
Refactor invalidation logic to be generic to the callee 2021-01-02 16:22:28 +02:00
ζeh Matt 5ae54eb9f9
Merge pull request #13666 from ZehMatt/refactor/miscsprite-enum
Refactor MISC_SPRITE to strong enum
2021-01-02 16:12:09 +02:00
Michael Steenbeek ac6cc9d63e
Fix #13609: Crash in LargeSceneryRemoveAction.cpp (#13663) 2021-01-02 15:06:51 +01:00
Matt cb719a6e10
Add missing case statements for entity scripting 2021-01-02 15:31:26 +02:00
Matt 5f2945d238
Refactor MISC_SPRITE to strong enum 2021-01-02 15:30:44 +02:00
Michael Steenbeek 1b686816db
Move tile element banner functions to methods 2021-01-02 11:28:39 +01:00
Ted John b0e57c0ca9
Do not allocate vector each time format string legacy is called 2021-01-02 11:27:50 +01:00
Michael Steenbeek ad52abf39a
Revert "Avoid unnecessary calculations when the passed DPI is the active DPI" (#13672) 2021-01-01 13:29:10 +01:00
Matt 114be0e62b
Avoid unnecessary calculations when the passed DPI is the active DPI 2021-01-01 00:13:48 +02:00
Michael Steenbeek ac2057775e
Change standard palette colours for indices 1-9 2020-12-30 20:07:14 +01:00
Dennis Devriendt 3073cca6aa
Close #13624: Refactor ViewportInteractionItem to use strong enum (#13657)
* Closes #13624: Refactor ViewportInteractionItem to use strong enum
2020-12-29 15:09:15 -03:00
Bas 918bd015b5 Increment plugin version, update changelog 2020-12-29 15:49:26 +01:00
Bas 7848a39e6c Rename car 'move' method to 'travelBy' 2020-12-29 15:41:27 +01:00
Bas 75f0f21512 Use collision disable flag instead of update car position flag check 2020-12-29 15:41:27 +01:00
Bas 7d819c0714 Remove unnecessary Invalidates from plugin car.move() method 2020-12-29 15:41:26 +01:00
Bas 2b2efee7a8 Remove unnecessary MoveTo code from MoveRelativeDistance 2020-12-29 15:41:26 +01:00
Bas 559c327c1e Disable vehicle collision on single car position update 2020-12-29 15:41:26 +01:00
Bas e44c17957b Replace track position setter with new move method 2020-12-29 15:41:26 +01:00
Bas 32bccf4a7c Run clang-format on ScEntity.hpp 2020-12-29 15:41:25 +01:00
Bas d5a9881f91 Add track progress property to vehicles 2020-12-29 15:41:25 +01:00
Michael Steenbeek ac65864b40
Close #11859: Add on-ride photo to APVC and Reverse Freefall RC 2020-12-29 13:13:17 +01:00
csunday95 51faec5c50
Close #13637: Refactor sprite compiler for filesystem efficiency
- sprite building would save a file with just the sprite file header
   and then immediately open it again at the beginning of compilation
 - sprite file generation is now entirely in memory until the final
   output file is saved on success
 - added validation of no file activity in the failed build test case;
   failed builds will not generate a file or edit an existing one
2020-12-29 13:12:55 +01:00
Duncan 556c786b12
Paint Setup refactor (#13633)
* Simplify paint session generate

* Add template to improve performance

* Add comments and fix minor issues
2020-12-25 08:05:57 +00:00