Commit graph

16739 commits

Author SHA1 Message Date
Duncan
ccfa22c230
Entity type4: Remove MiscEntityType and add FountainType (#14344)
* Move jumpingfountain type out of misc entity type

* Remove SubType for MiscEntities as it is no longer required

* Update replays

* Apply review comments

* Increment network version
2021-03-22 21:24:50 +00:00
Daniel Karandikar
d4efbdf531 Refactor InitTileElement
Break loop when going to go outside of Tile
2021-03-22 19:23:36 +00:00
Daniel Karandikar
5ef750a879 Tidy up BannerWindow::Initialise 2021-03-22 19:23:34 +00:00
Daniel Karandikar
4c1d35478c Tidy Window.cpp 2021-03-22 19:23:31 +00:00
Daniel Karandikar
1551389bf5 camelCase for local vars 2021-03-22 19:23:28 +00:00
Daniel Karandikar
248d6a0683 Prepend _ to private member fields 2021-03-22 19:23:20 +00:00
Michael Steenbeek
b275e7b82e
Fix #14294: NPE in map_animation_invalidate_wall_door() 2021-03-20 17:09:37 +01:00
Michael Steenbeek
9132c9ad8d
Fix #14153: NPE in Guest::UpdateRideLeaveVehicle() 2021-03-20 17:09:19 +01:00
Michael Steenbeek
d1267a276f
Merge pull request #14355 from duncanspumpkin/fix_14353
Fix #14353. Provide a buffer for text input
2021-03-20 14:58:02 +01:00
Michael Steenbeek
430711a33b
Cache HasFilePicker() value in UiContext 2021-03-20 14:51:15 +01:00
Cory Sanin
f1cd58c292
Fix #14330: join_server uses config default_port 2021-03-20 14:09:47 +01:00
duncanspumpkin
820668d0aa Use unsafe strlen for platforms without strlen_s 2021-03-20 07:27:23 +00:00
duncanspumpkin
ee575d5b8c Use std::vector to prevent violations of std string 2021-03-20 07:22:00 +00:00
duncanspumpkin
07b2945c5b Fix #14353. Provide a buffer for text input 2021-03-19 18:25:14 +00:00
Michael Steenbeek
a018787c91
Fix #14295: Assertion hit in Audio.cpp 2021-03-19 11:58:50 +01:00
Michael Steenbeek
2b9a3424b0
Fix #14347: Crash when inserting a tile element without room 2021-03-18 23:28:43 +01:00
Michael Steenbeek
850e7431c3
Merge pull request #14328 from Gymnasiast/fix/14315
Fix #14315: Crash when renaming APVC in Korean
2021-03-18 22:49:13 +01:00
Duncanspumpkin
0957542503
Implement C++ solution to truncate UTF8 strings 2021-03-18 22:14:12 +01:00
Maximilian Bottin
6f28914f61
Fix #14296: Allow early scenario completion in multiplayer 2021-03-18 20:30:11 +01:00
Michael Steenbeek
e89c37e7ae
Fix #11829: Glitches when using mismatched csg1/csg1i 2021-03-17 13:40:45 +01:00
Duncan
4d152d97d2
Use entity list size rather than distance (#14343)
After the refactors with the entity lists we no longer require to walk the whole entity list to get the number of entries.
2021-03-17 08:55:10 +00:00
Duncan
129ef12d6d
Refactor paint entity (#14342) 2021-03-17 08:35:39 +00:00
Duncan
df7a284822
Entity type 2: Remove sprite_identifier (#14334)
* Start changing the underlying type

* Further work

* Complete refactor

* Further cleanup

* Remove pointless check

* Increment network and plugin versions

* Add defaults

* Further defaults

* Fix test paint

* Update replays
2021-03-17 08:04:41 +00:00
Duncan
6ec379cd0e
Split Entity Lists by Entity type (#14326)
* Make initial changes to add entity type

* Make further corrections

* Revert header changes

* Fix mistakes
2021-03-16 11:18:06 +00:00
Daniel Karandikar
1229ce6b22 Refactor Banner to use new Window framework
Also tidy up a couple of bits of duplicated code
Pulled out into CreateViewport method and tileElement member
2021-03-15 22:59:19 +00:00
Michael Steenbeek
96524e2b4a
Convert Land window to class 2021-03-15 23:08:00 +01:00
Gymnasiast
645685de18
Fix #14315: Crash when renaming APVC in Korean 2021-03-15 21:27:13 +01:00
Michael Steenbeek
706fdae588
Fix #13894: Block brakes do not animate 2021-03-15 20:37:08 +01:00
Duncan
5474194905
Implement train view and remove linked_list_index (#13956)
* Make train manager view

* Remove linked list index field

* Remove merge mistake

* Fix further rebase errors

* Rename and add comments

* Update replays

* Fix Xcode project

* Increment network version

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2021-03-15 08:13:00 +00:00
Tulio Leao
f372117939 Extract GetLastModified to Platform 2021-03-14 09:36:44 -03:00
manatails
4fe5b1dc79
Add "Vandals stopped" stat for security guards (#14071)
* Add a stat for security guards: Vandals stopped

* Update src/openrct2-ui/windows/Staff.cpp

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>

* Update src/openrct2/peep/Guest.cpp

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>

* No need to update screenCoords at the last line

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>

* Add changelog entry and bump network version

* Update to new UI code

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2021-03-14 09:18:35 -03:00
frutiemax
8acdcca712
Part of #12098: Use ScreenRect on gfx_filter_rect in Error.cpp (#14288) 2021-03-13 22:03:13 -03:00
frutiemax
cd9873a78d
Use ScreenLine on gfx_draw_line_software 2021-03-13 16:52:58 +01:00
Michael Steenbeek
85c59b88be
Convert New Campaign window to a class 2021-03-13 16:51:54 +01:00
Ted John
7793f4c548
Update backtrace token for 0.3.4 2021-03-13 14:11:58 +01:00
Gymnasiast
3f65f282d7
Release v0.3.3
- Feature: [#12110] Add Hybrid Coaster (Rocky Mountain Construction I-Box) track type.
- Feature: [#12999] .sea (RCT Classic) scenarios are now listed in the “New Scenario” dialog.
- Feature: [#13000] objective_options command for console.
- Feature: [#13096] Add Esperanto translation.
- Feature: [#13164] Add 'Objective options' to Cheats menu.
- Change: [#9568] Change lift sounds of Reverser Roller Coaster and Compact Inverted Coaster to better fitting ones.
- Change: [#13160] The lay-out of the Park Cheats tab has been improved.
- Fix: [#1324] Last track piece map selection still visible when placing ride entrance or exit (original bug).
- Fix: [#3200] Close Construction window upon selecting vehicle page.
- Fix: [#4022] Fix Mac cursor offset on launch
- Fix: [#4041] Garbled park option on scenario editor with custom theme.
- Fix: [#4865] Offer an option to disable inhibiting the monitor power.
- Fix: [#5178] Lighting effects cannot be disabled in software mode
- Fix: [#5904] Empty errors on tile inspector base height change.
- Fix: [#6086] Cannot install existing track design with another name.
- Fix: [#6614, #8623] Colours are distorted when using OpenGL with Intel integrated graphics drivers.
- Fix: [#7443] Construction arrows pulse at irregular intervals.
- Fix: [#7518] Water isn't cut down by view clipping tool.
- Fix: [#7748] Tooltips would not timeout for normal UI elements.
- Fix: [#8015] RCT2 files are not found when put into the OpenRCT2 folder.
- Fix: [#8957] Error title missing when building with insufficient funds
- Fix: [#10186] Placing multiple saved rides ignores design name (original bug).
- Fix: [#12368] Desync due to ghost station pieces affecting changing ride settings.
- Fix: [#12940] Windows cause issues with snow drawing.
- Fix: [#13019] Simulated trains sometimes open construction window when they crash.
- Fix: [#13021] Mowed grass and weeds don't show up in extra zoom levels.
- Fix: [#13024] Console cursor does not correctly render at current cursor position.
- Fix: [#13029] Not all Junior Roller Coaster pieces are shown when "Show all track pieces" cheat is enabled.
- Fix: [#13044] Rides in RCT1 saves all have "0 customers per hour".
- Fix: [#13074] Entrance and exit ghosts for mazes not being removed.
- Fix: [#13083] Dialog for renaming conflicting track design crops text out.
- Fix: [#13097] Missing direction arrow for stations
- Fix: [#13098] UI buttons for entrance and exit don't toggle according to them being built.
- Fix: [#13098] Maze can still be constructed while placing entrance and exit (original bug).
- Fix: [#13118] Closing construction window resets ride viewport.
- Fix: [#13129] Missing error message when waiting for train to leave station on the ride measurements graph.
- Fix: [#13138] Fix logical sorting of list windows.
- Fix: [#13158] Cursors are drawn incorrectly in text input fields.
- Fix: [#13222] Vehicle collision causes negative number of passengers (original bug).
- Fix: [#13226, #7280] No error is shown when attempting to load a corrupted save.
- Fix: [#13266] Plugin API: Deleting key of sharedStorage not working.
- Fix: [#13278] Desync caused by ghost tiles changing the ride mode.
- Fix: [#13289] Litter and vomit sometimes not loading with RCT1 saved game or scenario
- Fix: [#13292] Impossible excitement rating requirements with finish building 5 coasters goal
- Improved: [#13023] Made add_news_item console command last argument, assoc, optional.
- Improved: [#13098] Improvements to the maze construction window user interface
- Improved: [#13125] Selecting the RCT2 files now uses localised dialogs.
2021-03-13 12:17:05 +01:00
Michael Steenbeek
96a34318fe
Merge pull request #14260 from IntelOrca/fix/14201-research-finish-assert
Fix #14201: Assert in research_finish_item for invalid ride type
2021-03-12 23:32:23 +01:00
Michael Steenbeek
1b5c7dc1c7
Fix inverted condition 2021-03-12 23:05:30 +01:00
Ted John
87dc006b8c Apply code review suggestions 2021-03-12 21:27:23 +00:00
Ted John
a9584ad797
Fix #14266: [Plugin] {STRINGID} format is not applied 2021-03-12 21:08:56 +01:00
Michael Steenbeek
f0dc28e9fc
Update objects to v1.0.21 2021-03-12 11:04:04 +01:00
Michael Steenbeek
bc2df33b0a
Fix #14225: Desync when “allow early scenario completion” is enabled 2021-03-08 20:16:21 +01:00
Ted John
b1a54fa7ba
Fix #14264: [Plugin] Cannot modify the coordinate / size of the viewport 2021-03-08 19:52:26 +01:00
Michael Steenbeek
55fea26a96
Fix #14172: Assertion hit in window_tile_inspector_swap_elements() 2021-03-07 14:53:44 +01:00
Michael Steenbeek
6a11dbf0c9
Fix #14247: Scenarios from RCT1 allow hiring too many staff 2021-03-07 13:54:01 +01:00
Ted John
4b9c704096 Log warning instead of assert in research_finish_item 2021-03-07 12:53:41 +00:00
Michael Steenbeek
140cc442ac
Merge pull request #14252 from Phelicks/develop
Add plugin API for vehicle g-forces
2021-03-07 13:46:16 +01:00
Michael Steenbeek
d5426c3779
Fix #14123: NPE in map_obstruction_set_error_text() 2021-03-07 13:37:23 +01:00
Michael Steenbeek
e4e26eeb2a
Fix #14167: NPE in Guest::UpdateRideFreeVehicleCheck() 2021-03-07 13:21:23 +01:00
Michael Steenbeek
9d1643d3ce
Fix #14217: Crash in large_scenery_paint() 2021-03-07 00:08:51 +01:00
Felix
9ec30e6869 Increase API version and update changelog 2021-03-06 23:51:02 +01:00
Felix
f30a2d417a Fix formatting 2021-03-06 23:36:38 +01:00
Felix
78785fffbe Add plugin API for vehicle g-forces 2021-03-06 23:25:26 +01:00
Michael Steenbeek
64807147e6
Fix #14126: assertion in research_fix()
The assertion was hit because of a non-existant ride type being passed into ride_type_set_invented(). Try to avoid this by fixing DAT files when loading them.
2021-03-06 20:57:48 +01:00
Michael Steenbeek
01ddea5fab
Fix #14198: Crash when creating new folder 2021-03-06 20:07:18 +01:00
Michael Steenbeek
58c3426747
Fix #14239: NPE in peep_find_ride_to_look_at() (#14243) 2021-03-06 16:18:16 +00:00
Ted John
966129dd7c
Remove network traffic window
Now available in the DevTools plugin.
2021-03-06 14:47:06 +01:00
Ted John
b179f6e597
Merge pull request #13965 from telk5093/footpath_hotkeys
Make ride construction shortcuts work for footpath too
2021-03-06 01:27:18 +00:00
Michael Steenbeek
3b94132bab
Merge pull request #14219 from Gymnasiast/fix/14102
Fix #14102: NPE in window_tile_inspector_invalidate()
2021-03-03 22:48:16 +01:00
Gymnasiast
66a5e28832
Avoid referencing null tile elements or derivations 2021-03-03 22:06:16 +01:00
Michał Janiszewski
29a1cf018d Add negative tests for SawyerChunkReader 2021-03-03 21:55:05 +01:00
Michał Janiszewski
bf95260f37 Fix issues found in SawyerChunk decoder 2021-03-03 21:29:39 +01:00
Michael Steenbeek
0b73781df8
Fix #14216: Second line of guest thoughts is set in wrong font 2021-03-03 16:00:03 +01:00
Gymnasiast
52d0689484
Add null checks to all other scenery object usages 2021-03-03 10:25:35 +01:00
Gymnasiast
e332c2a691
Fix #14102: NPE in window_tile_inspector_invalidate() 2021-03-03 10:21:49 +01:00
Gymnasiast
229f374672
Improve positioning of mechanic status 2021-03-02 23:19:00 +01:00
Gymnasiast
50da55eaf3
Fix #14212: Multiline news messages are shown incorrectly 2021-03-02 22:48:33 +01:00
Gymnasiast
30edc834ee
Fix #14211: 'Mechanic X heading for ride' runs out of window 2021-03-02 22:37:15 +01:00
TELK
25bbbef7d1 Fix code formatting 2021-03-03 00:02:46 +09:00
Ted John
9b43ace649
Fix ui.showTextInput performance issue (#14210)
Over 2 GiB of memory was being allocated when calling ui.showTextInput. Restrict max length to 4 KiB.
2021-03-01 22:09:51 -03:00
Michael Steenbeek
c98746c910
Fix #14206: Text runs out of Ride window
For some reason, the window used `gfx_draw_text_centred_wrapped()` before.
2021-03-01 20:31:15 +01:00
Ted John
d3e54bb579
Merge pull request #14191 from IntelOrca/fix/14190-shortcut-crash
Fix #14190: Game crash likely related to plug-in hotkeys
Fix #14194: Pressing WASD in text box moves main viewport, too
Fix #14195: Binding (NumPad) Enter to send message closes the chat
2021-03-01 14:13:45 +00:00
Michael Steenbeek
e40c0af9fd
Merge pull request #13682 from adam-bloom/macos_cmake_dylib
macOS CMake with vcpkg dependencies
2021-03-01 14:53:37 +01:00
adam-bloom
d1057d66fc fix mingw builds 2021-02-28 15:48:30 -07:00
adam-bloom
f6edf8d601 fix static library name for PkgConfig 2021-02-28 15:48:30 -07:00
adam-bloom
9efe184538 macOS cmake CI fixes
Use ninja instead of make for faster builds
Proper library linking of dependencies
2021-02-28 15:48:30 -07:00
adam-bloom
7bea24708e Fix GetBundlePath, add install paths to match cmake install 2021-02-28 15:48:29 -07:00
Michał Janiszewski
6249635fb8 Guard potentially unused const with proper defines 2021-02-28 23:10:25 +01:00
Adam
81fe5ad2cd
Remove unused const: MusicStyleNames 2021-02-28 22:57:23 +01:00
Gymnasiast
a0523339d3
Apply review request 2021-02-28 21:24:17 +01:00
Ted John
083d22adf2 Fix #14195: Binding (NumPad) Enter to send message closes the chat 2021-02-28 14:08:16 +00:00
Ted John
789b04b4aa Fix #14194: Pressing WASD in text box moves main viewport, too 2021-02-28 14:07:56 +00:00
Ted John
17a29dfe87 Fix #14190: Game crash likely related to plug-in hotkeys
Do not cache references to RegisteredShortcut as they can be invalidated when new shortcuts are registered / removed.
Use a map to improve query performance of shortcut by ID.
Store a separate list of strings for the map to use as a key.
2021-02-28 01:13:43 +00:00
Gymnasiast
d6971fa79e
Fix rebase errors 2021-02-28 00:35:38 +01:00
Gymnasiast
7fd049c22e
Remove last remnants of gCurrentFontSpriteBase 2021-02-28 00:26:53 +01:00
Gymnasiast
c40701d997
Make gfx_draw_string() take a TextPaint argument 2021-02-28 00:26:20 +01:00
Gymnasiast
503273793a
Remove gCurrentFontSpriteBase from some functions 2021-02-28 00:26:20 +01:00
Gymnasiast
826f6c7442
Reduce usage of gCurrentFontSpriteBase 2021-02-28 00:25:30 +01:00
Gymnasiast
3e536e2711
Change gfx_draw_string_*_wrapped() to DrawTextWrapped() 2021-02-28 00:23:01 +01:00
Gymnasiast
e2ebc9d43b
Replace gfx_draw_string_left() with DrawTextBasic() 2021-02-28 00:23:00 +01:00
Gymnasiast
d5f79b7972
Replace gfx_draw_string_centred() with DrawTextBasic() 2021-02-28 00:23:00 +01:00
Gymnasiast
a4747b9c8c
Fix initial value of SpriteBase 2021-02-28 00:23:00 +01:00
Gymnasiast
4d9c278ebc
Unify calls to DrawTextBasic 2021-02-28 00:23:00 +01:00
Gymnasiast
13e7ec6e8e
Allow passing TextPaint to DrawTextBasic() 2021-02-28 00:23:00 +01:00
Gymnasiast
ac1e9abb56
Create constructors for TextPaint 2021-02-28 00:23:00 +01:00
Gymnasiast
c296c35f39
Use colour_t for colours enum 2021-02-28 00:23:00 +01:00
Gymnasiast
2477933c51
Turn font sprite base into a strong enum 2021-02-28 00:23:00 +01:00
Gymnasiast
582037bbf3
Create enum class for text underline 2021-02-28 00:23:00 +01:00
Ted John
314faa69ca Save user shortcuts after removing a binding 2021-02-27 15:51:26 +00:00
Ted John
1ee72ffd21 Fix #14184: Right and down arrow swapped
Incorrect order of legacy shortcut IDs.
2021-02-27 15:51:05 +00:00
Ted John
49b677780f
Merge pull request #14171 from IntelOrca/plugin/custom-widget
* Add API for getting network traffic statistics.
* Add API for creating custom widgets.
* Add API for drawing graphics for custom widgets.
* Add click event to spinners and allow them to be held down.
2021-02-27 01:31:00 +00:00
Michael Steenbeek
08f07e6135
Reduce usage of gCurrentFontSpriteBase (#14178) 2021-02-26 15:39:20 +01:00
Michael Steenbeek
9397feaa44
Merge pull request #14134 from duncanspumpkin/reorg_entityexport
Rework how entity export works to allow for easier changes in future
2021-02-26 13:08:56 +01:00
Michael Steenbeek
28c680f97f
Merge pull request #14163 from Gymnasiast/refactor/get-rtd
Use GetRideTypeDescriptor() in more places
2021-02-26 10:46:38 +01:00
Gymnasiast
48f513f73f
Apply review request; fix Testpaint 2021-02-26 10:19:03 +01:00
Gymnasiast
44d0e77afb
Make all access to RTD table use the bounds checking function 2021-02-26 10:01:00 +01:00
Gymnasiast
62f8796677
Replace more flag checking 2021-02-26 09:51:17 +01:00
Gymnasiast
f118b2ede4
Replace ride_type_has_flag() with retrieving RTD 2021-02-26 09:49:09 +01:00
Ted John
e000f06442 Remove holdable flag from spinner widget 2021-02-25 22:30:35 +00:00
Gymnasiast
b1ab20ec27
Replace loose flag checking with helper function 2021-02-25 23:04:40 +01:00
Ted John
f7650fdfbc Fix CI failure 2021-02-25 18:47:54 +00:00
Michał Janiszewski
ac6e4fc0d6 Move SPRITE_INDEX_NULL, MAX_SPRITES to their new homes 2021-02-25 10:56:27 +01:00
Michał Janiszewski
67b61478cf Reduce inclusion of EntityList.h 2021-02-25 10:56:27 +01:00
Michał Janiszewski
6baff43f52 Reduce inclusion of Sprite.h 2021-02-25 10:56:27 +01:00
Michał Janiszewski
24f0407740 Add missing include in Windows. cpp 2021-02-25 10:56:27 +01:00
Michał Janiszewski
003e5a0136 Change include guards 2021-02-25 10:56:27 +01:00
Michał Janiszewski
8ee49ab615 Reduce inclusion of world/Sprite.h 2021-02-25 10:56:27 +01:00
Michał Janiszewski
bfdf6874ac Reduce inclusion of Vehicle.h 2021-02-25 10:56:27 +01:00
Ted John
c7d9eba9db Increment plugin API version 2021-02-24 22:56:29 +00:00
Ted John
d64bd60278 Fix CI errors 2021-02-24 22:54:53 +00:00
Ted John
c2183989a5 Allow spinners to be clicked and held 2021-02-24 22:37:31 +00:00
Ted John
c1b0df5de6 Improve graphics plugin API 2021-02-24 22:37:31 +00:00
Ted John
081c1895ce Add box and well APIs 2021-02-24 22:37:31 +00:00
Ted John
93f17f1175 Add custom widget logic and network stats API 2021-02-24 22:37:31 +00:00
Ted John
82b1a5eb6d Convert CustomWindow into a class 2021-02-24 22:37:31 +00:00
Ted John
faf7f5706f
Merge pull request #14158 from IntelOrca/fix/14149-shortcuts-save
Fix #14149: Numpad shortcut keys are not loaded correctly
Fix #14160: Game crashs when registering shortcuts
Fix #14161: ShortcutDesc.bindings does not work
2021-02-24 22:19:30 +00:00
Ted John
668ea01548
Update src/openrct2-ui/windows/ShortcutKeys.cpp
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
2021-02-24 16:57:19 +00:00
Gymnasiast
d63e3b1d9f
Replace RideTypeDescriptors[ride->type] with GetRideTypeDescriptor() 2021-02-24 14:10:30 +01:00
Gymnasiast
56399e7188
Use the RTD instead of ride_type_has_flag() 2021-02-24 14:10:30 +01:00
Gymnasiast
429f6fb845
Always return an RTD 2021-02-24 14:10:22 +01:00
duncanspumpkin
d2fdf0917b Remove static casts and use union 2021-02-24 08:08:59 +00:00
duncanspumpkin
11da10971f Reorg again to reduce casts 2021-02-24 08:00:38 +00:00
TELK
99e72dde3f Change StringIds to more generic 2021-02-24 16:50:40 +09:00
duncanspumpkin
9da6ba01bb Rename variables 2021-02-24 07:50:37 +00:00
Ted John
5ba3fdf452 Fix #14161: ShortcutDesc.bindings does not work 2021-02-23 22:19:46 +00:00
Ted John
52dffb83c2 Fix #14160: Game crashs when registering shortcuts 2021-02-23 22:18:00 +00:00
Michael Steenbeek
f32fe2b7e4
Fix #14145: Crash in RCT2TrackTypeToOpenRCT2() 2021-02-23 23:15:19 +01:00
Michael Steenbeek
aa11a1ee96
Fix RCT1 shop import (#14157)
Regression from https://github.com/OpenRCT2/OpenRCT2/pull/14021
2021-02-23 19:13:26 -03:00
Ted John
aedd93ef33 Add remove button to clear a shortcut 2021-02-23 21:34:32 +00:00
Ted John
817edff4bd Fix #14149: Numpad shortcut keys are not loaded correctly 2021-02-23 20:35:24 +00:00
TELK
ea5cf16924 Feature: Make ride construction shortcuts work for footpath too 2021-02-23 16:11:53 +09:00
Cory Sanin
57c950958b
Feature: Add option for taking transparent screenshots 2021-02-22 22:48:51 +01:00
Michael Steenbeek
8e414a9d97
Merge pull request #14121 from ZehMatt/refactor/tileinspector
Refactor Tile Inspector
2021-02-22 11:07:46 +01:00
Ted John
440c0f447f
Fix #14140: Some shortcut keys are not working 2021-02-21 21:44:53 +01:00
duncanspumpkin
48e4a24fee Update naming 2021-02-21 18:06:49 +00:00
Matt
dabeb036a6
Apply review suggestions 2021-02-21 19:13:58 +02:00
ζeh Matt
c9ca066e94
Merge pull request #14024 from ZehMatt/refactor/coords-peep-destination
Use CoordsXY for for some types
2021-02-21 15:33:52 +02:00
Michael Steenbeek
0cdbc99984
Merge pull request #13848 from IntelOrca/refactor/shortcut-engine
Introduce new shortcut engine
2021-02-21 14:01:39 +01:00
duncanspumpkin
b9173642ba Rework how entity export works to allow for easier changes in future 2021-02-21 12:43:51 +00:00
Matt
b080bfe1d4
Only affect the tile inspector state if the position matches 2021-02-21 14:38:15 +02:00
Duncan
2b26e423e4
Remove AsGuest and AsStaff duplicated functions 2021-02-21 13:23:31 +01:00
Matt
5b42fa0dbb
Simplify velocity acceleration 2021-02-21 09:59:05 +02:00
ζeh Matt
d3cae77230
Merge pull request #14129 from ZehMatt/refactor/UpdateSwingingCar
Refactor UpdateSwingingCar function
2021-02-21 09:58:15 +02:00
Matt
571bf0dab1
Apply review suggestions 2021-02-21 09:52:33 +02:00
Matt
62baee3adb
Allow passing of destination tolerance via SetDestination 2021-02-21 09:52:33 +02:00
Matt
965041b437
Remove direct access to DirectionX and DirectionY 2021-02-21 09:52:33 +02:00
Matt
2bb5bb9988
Add getter and setter for destination in Peep 2021-02-21 09:52:32 +02:00
Matt
ed4d8b4552
Add getter and setter for location in SpriteBase 2021-02-21 09:52:32 +02:00
Matt
a2ebec8676
Add multiply and divide to coordinate components 2021-02-21 09:52:32 +02:00
Matt
a232749b2f
Refactor UpdateSwingingCar function 2021-02-21 09:30:17 +02:00
Ted John
e28c23f10f
Fix regression in CreateSocket (#14131) 2021-02-21 03:58:34 +00:00
Ted John
ed29c0a37b Replace std::printf with Console::* 2021-02-21 03:14:20 +00:00
Ted John
e383b6f6f7 Move zoom and rotation to view tab 2021-02-21 03:14:20 +00:00
Ted John
b3f6437092 Apply suggestions from code review 2021-02-21 03:14:19 +00:00
Ted John
cacfb8be07 Refactor dead key handling 2021-02-21 03:14:19 +00:00
Gymnasiast
d5eb1cc036 Fix dead key handling
This fixes deadkey handling on at least US International on Linux.
2021-02-21 03:14:19 +00:00
Ted John
2b14fe9d7f Update shortcut listings 2021-02-21 03:14:19 +00:00
Ted John
ff86ebbfe5 Localise shortcut strings 2021-02-21 03:14:19 +00:00
Ted John
acfda711f5 Use std::string_view without reference 2021-02-21 03:14:19 +00:00
Ted John
59b4be6a12 Move InputManager to UiContext 2021-02-21 03:14:19 +00:00
Ted John
80662d72a4 Cache view scroll shortcuts 2021-02-21 03:14:19 +00:00
Ted John
2b3e7b98b8 Roll our own implementation of parse 2021-02-21 03:14:19 +00:00
Ted John
fa1a374a04 Scale binding column in window 2021-02-21 03:14:19 +00:00
Ted John
2b197d0fb2 Fix parsing of shortcuts 2021-02-21 03:14:18 +00:00
Ted John
46c3fd4e5f Use FileStream instead of fstream 2021-02-21 03:14:18 +00:00
Ted John
eda33fea20 Fix view scroll shortcuts 2021-02-21 03:14:18 +00:00
Ted John
2b3aabb8e4 Remove old shortcut code and fix issues 2021-02-21 03:14:18 +00:00
Ted John
f2f658bf28 Refactor some code into more files 2021-02-21 03:14:18 +00:00
Ted John
af0ed416f5 Implement loading / saving of new shortcuts 2021-02-21 03:14:18 +00:00
Ted John
18c3587d63 Rename shortcut IDs and order groups 2021-02-21 03:14:18 +00:00
Ted John
afb4500c49 Add eye icon for tab 2021-02-21 03:14:18 +00:00
Ted John
7b00f9d96d Add tabs to keyboard shortcut window 2021-02-21 03:14:18 +00:00
Ted John
f69c1576b3 Refactor shortcut windows to class 2021-02-21 03:14:18 +00:00
Ted John
e7ae9f9f15 Read legacy shortcuts and move to constants 2021-02-21 03:14:17 +00:00
Ted John
900f3cd92b Fix gcc / clang builds 2021-02-21 03:14:17 +00:00
Ted John
afc548c5a7 Add plugin API for shortcuts 2021-02-21 03:14:13 +00:00
Ted John
9964df5335 Implement gamepad support 2021-02-21 03:13:28 +00:00
Ted John
e6b6403024 Refactor and fix shortcut 2021-02-21 03:13:28 +00:00
Ted John
ea975f88fc Implement more InputManager 2021-02-21 03:13:28 +00:00
Ted John
c8f31dea7f Process keyboard input events 2021-02-21 03:13:28 +00:00
Ted John
3339089235 Add more shortcuts 2021-02-21 03:13:28 +00:00
Ted John
f009b9a804 Only handle release mouse buttons 2021-02-21 03:13:28 +00:00
Ted John
ccae533978 Add input manager 2021-02-21 03:13:27 +00:00
Ted John
b1eb975529 Re-add show change dialog 2021-02-21 03:13:27 +00:00
Ted John
e5f263a0fc Get new manager showing in window 2021-02-21 03:13:27 +00:00
Ted John
28aead5cb5 Start work on new shortcut engine 2021-02-21 03:13:27 +00:00
Michael Steenbeek
345c436f19
Fix #14119: Illegal array access in vehicle_move_info_valid() 2021-02-20 22:53:40 +01:00
Michał Janiszewski
9aef29361f
Default-initialise more fields (#14130)
Doesn't really fix any particular issue, but adds more defaults to
fields in classes where other defaults are already present
2021-02-20 19:40:32 +01:00
Ted John
e7adf19f62
Merge pull request #14059 from IntelOrca/improve-viewport-filter-flags
[Plugin] Add optional filter to custom tools
2021-02-19 20:33:27 +00:00
Matt
b613835756
Remove more duplicate code 2021-02-19 18:39:08 +02:00
Matt
ffc2e7a0e7
Cleanup duplicate code 2021-02-19 18:28:09 +02:00
Matt
c1767bc98b
Rename function and use std::swap 2021-02-19 18:17:15 +02:00
Matt
62a01fe043
Move tile inspector code into TileInspector namespace 2021-02-19 18:12:22 +02:00
Michael Steenbeek
e11304f1df
Fix #14111, #14112: Strange behaviour when selecting a new scenario 2021-02-19 09:37:06 +01:00
Michael Steenbeek
2379c7c9a6
Bump network version 2021-02-19 09:36:45 +01:00
Michael Steenbeek
7274c6a7e7
Remove some unused symbols 2021-02-18 21:15:50 +01:00
Ted John
f7bbaed7f5 Increment plugin API version 2021-02-18 18:10:29 +00:00
Ted John
762b6ee816 Refactor viewport interaction flags and add plugin API 2021-02-18 18:10:29 +00:00
Ted John
27013d147a Invalidate viewport when moving without scrolling 2021-02-18 18:10:29 +00:00
Gymnasiast
8968dd2274
Apply Duncan's request 2021-02-18 17:53:30 +01:00
Gymnasiast
81fbe27dcb
Guard against accessing non-existant ride types 2021-02-18 17:50:20 +01:00
Gymnasiast
92dc3f4aa9
(Try to) make proximity track type calculation more robust 2021-02-18 17:50:19 +01:00
Gymnasiast
a28c22866c
Remove stray semicolon 2021-02-18 17:50:19 +01:00
Gymnasiast
1b964c0f2e
Refactor flat ride track pieces 2021-02-18 17:50:19 +01:00
Ted John
785fb153db
Merge pull request #14088 from IntelOrca/improve-network-messages
Improve network messages and logging
2021-02-18 13:36:44 +00:00
Geoff B
0532ebab7a
Fix #14095: Holding down [-][+] buttons does not change number of circuits 2021-02-17 08:51:07 +01:00
Ted John
1523597b50 Fix test failures 2021-02-16 20:25:11 +00:00
Ted John
3f5698b1e0 Fix REPL write line on Linux 2021-02-16 20:24:51 +00:00
Ted John
05cb106ee7 Improve advertise messages 2021-02-16 20:24:50 +00:00
Ted John
c30e1f083b Improve network console messages 2021-02-16 20:24:50 +00:00
Michał Janiszewski
882d3d6356
Merge pull request #14096 from janisozaur/tileelembase
Move TileElementBase to its own file
2021-02-15 13:12:58 +01:00
ζeh Matt
90a86cd5f3
Merge pull request #14081 from ZehMatt/refactor/ReadArray
Refactor IStream::ReadArray to return unique_ptr
2021-02-15 00:50:10 +02:00
Michał Janiszewski
cef1efea44 Move TileElementBase to its own file 2021-02-14 21:28:02 +01:00
Michael Steenbeek
6e20f41d3c
Fix #13688: invalid access to _objectSelectionFlags 2021-02-12 23:06:05 +01:00
Duncan
bcc2fbf095
Reduce use of naked new and delete (#14084) 2021-02-12 20:20:51 +00:00
Michael Steenbeek
962ef0c02b
Fix #14066: NPE in window_top_toolbar_invalidate() 2021-02-12 18:48:38 +01:00
Michael Steenbeek
61536eb1f6
Fix #14073: NPE in InputUpdateTooltip 2021-02-12 18:36:58 +01:00
Matt
c30bd1266f
Refactor IStream::ReadArray to return unique_ptr 2021-02-12 19:30:53 +02:00
ζeh Matt
34b1506c5d
Fix #14058: Ride entry or exit can not be built in multiplayer (#14064) 2021-02-12 15:54:32 +00:00
Duncan
14cca95fec
Fix #14067: Nullptr exception in vehicle measurement code 2021-02-11 09:49:13 +01:00
Duncan
fe8b8280e8
Fix #7772. Check for vehicles using an object when setting inuse (#14056)
* Fix #7772. Check for vehicles using an object when setting inuse

* Update changelog
2021-02-10 18:14:23 +00:00
Gymnasiast
841d6a5f24
Avoid truncating banner index; check for NULL 2021-02-10 15:22:49 +01:00
Gymnasiast
2aae1cb84e
Fix #13235: NPE in fix_duplicated_banners()
Co-authored-by: IntelOrca <ted@brambles.org>
2021-02-10 15:14:46 +01:00
Ted John
1cb3330779 Fix #14042: Park Crashes whilst saving 2021-02-09 23:51:31 +00:00
Michał Janiszewski
41d09a2691
Merge pull request #14028 from janisozaur/ccache
Add ccache action to GitHub Actions
2021-02-09 23:12:43 +01:00
Michael Steenbeek
397512f4d3
Fix #14032: NPE in window_tile_inspector_scrollpaint() 2021-02-09 23:02:31 +01:00
Michael Steenbeek
f75a48d8dc
Merge pull request #14034 from Gymnasiast/fix/12939
Fix #12939: divide-by-0 in Vehicle::UpdateMotionDodgems()
2021-02-09 22:18:49 +01:00
Gymnasiast
25b26e769d
Rename ebx to momentum 2021-02-09 20:32:05 +01:00
Michał Janiszewski
ec538e5e75 Extend Android, AppImage builds with ccache support 2021-02-09 20:26:28 +01:00
Michael Steenbeek
7744458cc8
Fix #12861: Divide-by-0 in UpdateTrackMotionMiniGolf
This fix had already been applied to UpdateTrackMotionPoweredRideAcceleration(), but not here.
2021-02-09 20:02:15 +01:00
Michael Steenbeek
0a8cfe75b0
Merge pull request #13969 from IntelOrca/plugin/title-seq
[Plugin] Add APIs for editing title sequences
2021-02-09 19:56:16 +01:00
Gymnasiast
45464cddeb
Fix #12939: divide-by-0 in Vehicle::UpdateMotionDodgems() 2021-02-09 19:13:38 +01:00
ζeh Matt
3e675cdf04
Merge pull request #14023 from ZehMatt/refactor/peep-pickup
Move peep pickup test into Peep::CanBePickedUp
2021-02-09 01:30:11 +02:00
Matt
7d517caced
Move peep pickup test into Peep::CanBePickedUp 2021-02-09 00:31:29 +02:00
Michael Steenbeek
7862591a43
Fix #14012: 'Finish 5 coasters' goal listed incorrectly in selector 2021-02-08 23:29:59 +01:00
Ted John
17450c236e Increment plugin API and update changelog 2021-02-08 22:28:59 +00:00
Ted John
099a087b18 Fix CI build errors 2021-02-08 22:27:28 +00:00
Ted John
477677775f Fix crash if save does not exist 2021-02-08 22:27:28 +00:00
Ted John
129d85fa57 Implement title sequence playing 2021-02-08 22:27:28 +00:00
Ted John
78df831f29 Implement loading of parks 2021-02-08 22:27:28 +00:00
Ted John
d2a97ab43c Implement scenario select window 2021-02-08 22:27:28 +00:00
Ted John
8cfdbd871d Improve title sequence API 2021-02-08 22:27:28 +00:00
Ted John
fcb5f51c4a Allow saving of commands 2021-02-08 22:27:28 +00:00
Ted John
f99c57e11d Implement getting commands 2021-02-08 22:27:28 +00:00
Ted John
3ed221f128 Add APIs for loading a saved game and adding a park 2021-02-08 22:27:28 +00:00
Ted John
41c7b04ab2 Add parks to title sequence API 2021-02-08 22:27:28 +00:00
Ted John
55ebebb869 Add title sequence API 2021-02-08 22:27:27 +00:00
Michael Steenbeek
27b7657d1d
Merge pull request #13998 from ZehMatt/refactor/tileelementsview-4
Use TileElementsView and minor cleanups
2021-02-08 22:18:27 +01:00
Ted John
e5b412fb5f Fix #14017: Text input window errors 2021-02-08 17:45:08 +00:00
Ted John
17f4f3aaf8
Refactor text input window to class 2021-02-07 22:36:31 +01:00
Gymnasiast
fedfe7d166
Use track_type_t in RideRatingCalculationData 2021-02-07 22:08:11 +01:00
spacek531
fc1fd60dfc
change track type in import/export 2021-02-07 22:07:25 +01:00
spacek531
12697e9893
fix ratings not being calculated? 2021-02-07 22:07:25 +01:00
spacek531
ea6fdc4708
fix piece height 2021-02-07 22:07:24 +01:00
Cory Sanin
456202b0f5
Feature: Use allowed_hosts when creating listening socket 2021-02-06 16:47:56 +01:00
Ted John
fe70cf26a7
Fix #13933: Clients do not run server plugins 2021-02-05 23:27:15 +01:00
Matt
8bfda5cab1
Use correct condition 2021-02-05 20:08:51 +02:00
Matt
35e52acd7d
Remove unused variable 2021-02-05 18:41:20 +02:00
Matt
ee3a36dc0f
Use TileElementsView for guest code 2021-02-05 18:20:44 +02:00
Matt
9dde45fb05
Use TileElementsView for virtual floor 2021-02-05 17:39:25 +02:00
Matt
93e22d6770
Use TileElementsView for WallRemoveAction 2021-02-05 17:34:05 +02:00
Matt
ddd67db1d2
Use TileElementsView for SmallSceneryRemoveAction 2021-02-05 17:28:18 +02:00
Matt
83221d51aa
Use TileElementsView for RideEntranceExitRemoveAction and cleanup 2021-02-05 17:25:07 +02:00
Matt
5e2e7143cd
Use TileElementsView for LargeSceneryRemoveAction and cleanup 2021-02-05 17:10:17 +02:00
Matt
5bd6ba25b7
Use TileElementsView for LandSetRightsAction 2021-02-05 16:59:04 +02:00
Matt
cf91a13d1e
Use TileElementsView for LandSetHeightAction 2021-02-05 16:54:50 +02:00
Matt
dc1c3fe451
Use TileElementsView for FootpathPlaceAction 2021-02-05 16:44:05 +02:00
Matt
a7b8978f6e
Use TileElementsView for BannerRemoveAction 2021-02-05 16:38:39 +02:00
Matt
5caa6abc85
Use TileElementsView for BannerPlaceAction 2021-02-05 16:33:40 +02:00
Michael Steenbeek
c0ab9e8a3b
Merge pull request #13994 from ZehMatt/refactor/tileelementview-3
Make tile element insertion type explicit
2021-02-05 13:46:58 +01:00
Matt
1aa75f04b7
Add templated version for tile element insertion and cleanup code 2021-02-05 12:22:34 +02:00
ζeh Matt
2a06043860
Merge pull request #13996 from ZehMatt/fix-13992
Fix #13992: Do not show empty groups in guest list
2021-02-04 20:31:15 +02:00
Matt
41c6c0bee3
Support casting back to TileElement 2021-02-04 20:29:32 +02:00
Matt
0427ad2914
Fix #13992: Do not show empty groups in guest list 2021-02-04 19:30:44 +02:00
Matt
71174b8de7
Make the insertion of tile elements type explicit 2021-02-04 19:00:59 +02:00
ζeh Matt
6186766a05
Introduce TileElementsView (#13975)
* Simplify TileElement type conversation

* Introduce TileElementsView

* Move TileElementsView code into TileElementsView.h

* Cleanup code and move into OpenRCT2 namespace

* Use reference instead of pointer

* Fix include

* Make GCC happy

* Move the cast functions into base

* Use the cast function instead of reinterpret_cast

* Add TileElementsView tests

* Fix iterating on TileElementBase, return pointer not reference
2021-02-04 18:58:45 +02:00
Cory Sanin
a4f58c67f4
Fix #13961: Guests sliding down slide missing on close zoom levels 2021-02-04 14:03:52 +01:00
Duncan
9d3f3fa224
Fix #13234. Check for correct peep state when removing mass (#13983)
* Check for correct peep state when removing mass

* Add apply mass function

* Increment network version

* Fix #13234. Add to changelog
2021-02-03 09:13:56 +00:00
Umdlye
2c408342d9
Create toggle for zoom toolbar button 2021-02-01 17:27:40 +01:00
Jaime Centeno
83fcfa6e68
Refactored water window code into WaterWindow class
Created a new WaterWindow class that inherits from Window class and overrides On methods. Added a new generic method for WindowFocusOnCreate that takes position as an argument.
2021-02-01 14:33:22 +01:00
Duncan
2d6da7551b
Fix #13958: Queue corruption due to intersecting entrances
There was a whole host of bugs that this issue has exposed which were caused by intersecting the queue of a ride with an entrance/exit or shop. When this was done the peep would be removed from the queue incorrectly and could end up at the wrong station or a variety of other unexpected behaviour
2021-01-30 17:20:01 +01:00
ζeh Matt
9ff2138f3f
Remove unused variable gCurrentFontFlags 2021-01-30 16:46:22 +01:00
Michael Steenbeek
e3a1af3d05
Use getters/setters for track type and direction 2021-01-30 15:16:17 +01:00
ζeh Matt
15ef22c2f6
Merge pull request #13970 from ZehMatt/refactor/fixed-vector
Use FixedVector for paint_structs
2021-01-30 12:57:12 +02:00
Duncan
dc113ff6e4
Remove dead code from #6819 (#13971)
This was missed back in 2017 there is now no longer a reason to make a backup tunnel array as we never modify it. I've also added a const to make it clear we never write to the array
2021-01-30 08:33:36 +00:00
Matt
64cbccdda6
Re-order members of paint_struct for better code generation 2021-01-30 09:16:42 +02:00
Matt
3fecb36a19
Use fixed vector for paint_entry 2021-01-30 09:16:42 +02:00
Ted John
4a37f1479c
Merge pull request #13927 from IntelOrca/plugin/extra-ui
* Add isVisible property to widgets so that you can easily show / hide widgets.
* Add new text box widget for text input
* Allow plugin windows to be transparent
* Add `textAlign` property to label widget
2021-01-29 20:55:25 +00:00
Ted John
2fdf91874c Implement centred labels 2021-01-29 17:50:32 +00:00
Ted John
180a41686c Implement transparent windows for plugins 2021-01-29 17:50:27 +00:00
Michael Steenbeek
d3a4c16270
Reserve room for tile owner 2021-01-29 16:56:33 +01:00
spacek531
1e3fe9b550
Separate booster track elem type (#13857)
* add data to Track.cpp

add data to TrackData.cpp

add import helper functions

fix Booster value

import booster as 256

export booster as 100

add vehicle subposition data

add SV4 import

add TD4 import

add TD6 import

use track_type_t when importing TD6

add TD6 export

change peep tracktype type to auto

fix SV4 track element import

fix import of booster speed

add None enum to TrackElemType

move _legacy RideConstruction functions to Ride.cpp

change _currentPossibleRideConfigurations to use track_type_t

fix booster track category

add booster string tto

expand _currentTrackCurve to 32 bits

expand track_curve_chain to 32 bits

update get_track_element et al. to handle 16 bit track types

run clang-format

remove unused #includes from _legacy.cpp

Revert "remove unused #includes from _legacy.cpp"

This reverts commit 4c4d4b06edb0c130314789d8fe371246be246c9f.

Revert "update get_track_element et al. to handle 16 bit track types"

This reverts commit 73920dafd4a6c9e7c9f0c7ee1098d493f8f5d262.

Revert "move _legacy RideConstruction functions to Ride.cpp"

This reverts commit 2d83a75c1477d387ad77a7a5085f37a28f72a589.

update _legacy functions for 16-bit track types

update ride_construction_reset_current_piece behavior with new enum

fix declaration of _currentTrackCurve to match other track tcurve vars

remove unused include from T4Importer.cpp

move SCT to 256 part 1: RideConstruction.cpp

move SCT to 256 part 2: TrackData.cpp

move SCT to 256 part 3: Ride.h/Ride.cpp

move SCT to 256 Part 4: revert changes to S4Importer.cpp, T4Importer.cpp

fix stations appearing as curves

fix too many initializers in TrackData.cpp

move SCT to 256 part 5: S6/T6 importing and exporting

move SCT to 256 part 6: simplify RCT12.cpp functions

fix comments in S6Exporter.cpp, S6Importer.cpp

fix clang-format on S6Importer.cpp

add missing data to TrackData.cpp

revert new functions for checking if track type is a booster

revert unused include

change trackType to auto and add comment to S6Exporter.cpp

move track type aliasing from TrackDesign.cpp to T6Import.cpp, T6Export.cpp

add comment about sv6 vehicle.track_type

static cast to uint8_t in T6Exporter.cpp`

set type to auto when setting value to _currentTrackCurve

revert moving function in S6Importer.cpp

fix value names in RideData.cpp

revert cahnge to uint16_t return for GetTrackType() in RCT12.cpp

fix GetTrackType return type for real

add changelog entry

bump network version

cast alternate track type to track_type_t

static_cast tuple input value in _legacy.cpp

change _currentTrackCurve to uint32

use TrackElemType::Count to determine length of subposition array

perform some changes

remove padding from rct_trackdefinition

fix alternative type check

remove _boosterTrackSelected

add missing condition for booster speed

add comments for TrackElemType::MultiDimInvertedUp90ToFlatQuarterLoop

add missing comments to RideData.cpp

remove extra entry

simplify some things

fix formatting

remove redundant checks todo: fix building the track piece

use TrackElemType::None more

remove git.txt

* bump network version

* make conditional more explicit w/ parentheses

* move booster check to RCT12.cpp

* implement getters and setters for vehicle track type and direction

* fix formatting

* rename RCT12TrackTypeIsBooster to RCT2TrackTypeIsBooster

* add whitespace in RCT2.h

* change the thing I thought I changed

* move booster check function to RCT2.cpp

* move function into if condition

* fix scope issues with setters
2021-01-29 15:24:53 +00:00
ζeh Matt
109a06663d
Fix entrance or exit stacked on top considered a duplicate 2021-01-29 16:19:07 +01:00
Ted John
c2eb6d4153 Improve plugin API and type definitions 2021-01-28 20:52:17 +00:00
Ted John
383cbe5368 Load music into the correct slots 2021-01-27 19:26:28 +00:00
Ted John
a9755609c2 Move ride audio into own namespace 2021-01-27 18:45:28 +00:00
Ted John
28f4ec2b43 Implement code review suggestions 2021-01-27 18:45:28 +00:00
Ted John
d9b8413ec4 Use IStream for zip streaming 2021-01-27 18:45:27 +00:00
Ted John
2f39442d25 Implement ride music objects and refactor 2021-01-27 18:45:27 +00:00
ζeh Matt
db4841ca45
Avoid copy and allocation for rendering the viewport (#13911) 2021-01-27 07:28:07 +00:00
ζeh Matt
ea9d4f35c9
Merge pull request #13938 from janisozaur/nullptr_check
Add nullptr check in get_loaded_object_entry
2021-01-27 08:14:04 +02:00
ζeh Matt
8eab5d167e
Merge pull request #13869 from ZehMatt/feature/timescale
Allow the main game loop to scale the delta time
2021-01-27 06:09:51 +02:00
Ted John
4d8faee062 Increment plugin API version 2021-01-27 00:28:59 +00:00
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