Commit Graph

26047 Commits

Author SHA1 Message Date
Gymnasiast 1f1377a8ef
Move Date to GameState_t 2024-04-04 18:12:08 +02:00
Michael Steenbeek 26d65b37ea
Merge pull request #21645 from Gymnasiast/refactor/inverted-covered-handling-2
Refactor track paint functions and available pieces in RTDs
2024-04-03 17:30:14 +02:00
Michał Janiszewski 58249538eb Start v0.4.11 2024-04-02 23:39:48 +02:00
Michał Janiszewski d957fdf8ca Merge branch 'master' into develop 2024-04-02 23:38:35 +02:00
Michał Janiszewski e55d761eb7 Release v0.4.10
- Feature: [#18171] Add port of the RCT1 Stand-Up Roller Coaster.
- Feature: [#21590] [Plugin] Plugins can now read and write banner properties of tile elements.
- Feature: [#21636] Add shortcut key for sorting tile elements.
- Feature: [objects#294] Add scenery versions of wooden truss supports.
- Feature: [objects#295] Flipped version of wooden post.
- Improved: [#21424] Extra viewports can now rotate independently from the main viewport.
- Improved: [#21561, #21631] Enable more features in Android build (plugins, networking, multiplayer, audio formats).
- Improved: [#21599] Currency signs now use non-breaking spaces.
- Improved: [objects#157] Added sloped images for many walls.
- Improved: [objects#288] Better map colours and more sensible prices for RCT1 land surfaces.
- Improved: [objects#292] Vehicle colour cleanups for WW/TT vehicles.
- Improved: [objects#299] More accurate ratings modifiers for RCT1 vehicles.
- Improved: [objects#309] Updated names for dodgems and flying saucers vehicles.
- Improved: [objects#313] buildMenuPriority for dodgems and flying saucers vehicles.
- Change: [#21529] Classify “Southern Sands”, “Tiny Towers”, “Nevermore Park”, “Pacifica” as expert scenarios.
- Change: [#21545] Reorder Wacky Worlds scenarios and adjust their difficulty classification.
- Fix: [#910] Extra viewport does not preserve the location when rotating.
- Fix: [#18413] Crash when mouse over a hacked train.
- Fix: [#20338] Cannot select Scenery Picker or Scatter Tool when the scenery recolouring tool is active.
- Fix: [#21317] Track designer allows proceeding without an object selected.
- Fix: [#21360] If the object selection is missing certain types, the Object Selection window will switch to an incorrect tab.
- Fix: [#21419] Cannot place walls underground beneath sloped tiles with clearance checks disabled.
- Fix: [#21434] Number of guests overflows in objective text.
- Fix: [#21522] Supports for 3×3 turns and 45 degree turns on the Hybrid Coaster and Wooden Roller Coaster not drawn correctly.
- Fix: [#21543] Crash with creating a TrackIterator with invalid arguments.
- Fix: [#21635] Tile inspector hotkey can set wall slope for non-slopeable objects.
- Fix: [#21641] Crash when creating track iterator from an invalid tile element.
- Fix: [#21652] Dialog window to confirm overwriting files does not apply the theme colours correctly.
- Fix: [#21654] No sound effects when using RCT Classic as an asset base.
- Fix: [#21654] Extraneous reports of an object conflict between `rct2.audio.base` and `rct2.audio.base.rctc`.
- Fix: [#21664] Crash when switching between languages that use TTF.
- Fix: [#21668] Crash when on null ride in Guest::UpdateRideLeaveExit.
- Fix: [#21691] Crash when validating rides which can't contain banked track.
- Fix: [objects#290] “Haunted Mansion” cars have a non-functional third remap colour.
- Fix: [objects#296] Incorrect wall placement around large Kremlin/drab pieces.
- Fix: [objects#300] Incorrect Colosseum and volcano corner clearances.
- Fix: [objects#319] Incorrect diagonal slope images used for RCT1 corkscrew.
- Fix: [objects#320] Incorrect Mandarin Duck boats capacity.
2024-04-02 22:21:50 +02:00
Michał Janiszewski 87fe784da0 Merge branch 'develop' 2024-04-02 22:14:07 +02:00
Michał Janiszewski c8f91d3f35
Update backtrace token for upcoming release 2024-04-02 22:11:17 +02:00
Michael Steenbeek 3461ac38ca
Fix #21522: incorrect support drawing on Hybrid and Wooden (#21710)
* Fix #21522: incorrect support drawing on Hybrid and Wooden

* Add changelog entry
2024-04-02 22:05:48 +02:00
Michał Janiszewski 6b734fda6b
Fix #21591: Banner text colors are not working properly (#21709)
* Fix #21591: Banner text colors are not working properly
2024-04-02 19:06:58 +03:00
Michał Janiszewski dfcb527ada
Ensure TTF system is torn down in correct order (#21707)
`TTFDispose` uses `gCurrentTTFFontSet` to deallocate internal resources.
Having the function called after global variable got changed meant it
tried to deallocate incorrect font and would subsequently call
`FT_Done_Face` on a struct having internal data set to nullptr.

Reproduction is fairly easy:
1. launch the game in Korean (I made sure to have all the indexes primed
   for this language beforehand - i.e. launch it twice),
2. switch to Japanese,
3. switch back to Korean

Fixes #21664
2024-04-02 00:52:40 +02:00
John Kastner 6ea091841f
Fix memory leak loading malformed `SawyerChunk` (#21508)
* Fix memory leak loading malformed `SawyerChunk`

A temporary buffer was not free'd after failing to parse in
`SawyerChunkReader::ReadChunkTrack`. Fix this following the pattern used
in `SawyerChunkReader::ReadChunk` by wrapping the relevant code in a
`try` block with `FreeLargeTempBuffer` called when an exception is
caught.

* Use unique_ptr

* Remove `AllocateLargeTempBuffer`

---------

Co-authored-by: Michał Janiszewski <janisozaur@gmail.com>
2024-04-01 22:40:14 +00:00
Claudio Tiecher a94e6c54d8
Part of #21421: replace define with constexpr (#21679) 2024-04-01 07:00:32 -03:00
Michael Steenbeek 9062049be1
Fix sound effects not working with RCTC base, fix audio object conflict
Due to this overwriting of object IDs, loading the sound effects would not work on RCTC. This overwriting also caused object conflicts which weren’t always won by the RCTC one. This fixes both problems by using non-clashing names, and only renaming one to `rct2.audio.base`, the name expected by the asset packs.
2024-03-31 22:28:17 +00:00
Michał Janiszewski 06081eb23d
Fix #21691: Use correct iterator in RideCheckTrackContainsBanked (#21701) 2024-04-01 00:23:37 +02:00
Michael Steenbeek 19a65d1642
Bump network version for large scenery fix (#21699) 2024-03-31 19:25:19 +02:00
Michael Steenbeek 0668f0fb92
Fix #21695: Cannot remove large scenery 2024-03-31 17:57:14 +02:00
Michał Janiszewski d8ba574e6c
Default-initialise more members of Ride (#21694)
It seems they got omitted in https://github.com/OpenRCT2/OpenRCT2/pull/21514
2024-03-31 00:12:24 +01:00
Michael Steenbeek 8d16c0a73d
Merge pull request #21647 from Gymnasiast/refactor/image-import
Refactor image import
2024-03-31 00:08:31 +01:00
Michael Steenbeek ab73fe7317
Merge pull request #21514 from ZehMatt/ride-initialization
Default Ride initialization
2024-03-30 23:34:20 +01:00
ζeh Matt 84d1f502b1
Rename NO_TRAIN to kNoTrain 2024-03-30 23:18:51 +01:00
ζeh Matt f14b86426d
Remove some unnecessary field assignments in RideCreateAction 2024-03-30 23:18:51 +01:00
ζeh Matt e3343f263f
Default initialize newly created Rides 2024-03-30 23:18:08 +01:00
ζeh Matt d969a4f80d
Default initialize all members in Ride 2024-03-30 23:18:08 +01:00
Gymnasiast 88eca0d518
Move everything in ImageImporter.cpp into namespace 2024-03-30 18:13:03 +01:00
Gymnasiast c232aa9b0c
Create import meta object, use single method for JSON parsing 2024-03-30 18:13:03 +01:00
Gymnasiast eb2cda6a56
Replace `"forceBmp": true` with `"format": "raw"` 2024-03-30 18:13:02 +01:00
Michael Steenbeek 27e43b3a94
Merge pull request #21581 from pfroud/cleanup-error-logging
Cleanup error logging
2024-03-30 18:08:12 +01:00
Gymnasiast 18232341c8
Remove unused variables 2024-03-30 17:31:59 +01:00
Peter Froud c4b7845c26
Use `if... else if` 2024-03-30 17:15:17 +01:00
Peter Froud 869d1b398b
Assign variable in condition for documentation 2024-03-30 17:15:17 +01:00
Peter Froud 322321645b
Add `STR_ERR_INVALID_COLOUR` 2024-03-30 17:15:14 +01:00
Peter Froud 2b1d5ad9b7
Use specific error stringIDs 2024-03-30 17:12:54 +01:00
Peter Froud 276ff311cf
Add `LOG_WARNING` about bugged scenery entry 2024-03-30 17:12:54 +01:00
Peter Froud 1f698dfc76
Add `LOG_ERROR` calls 2024-03-30 17:12:54 +01:00
Peter Froud d1f740c786
Change "Could not find X" to "No X" 2024-03-30 17:12:54 +01:00
Peter Froud 40537a17fa
General cleanup of existing error messages 2024-03-30 17:12:54 +01:00
Peter Froud 226fc4cb00
Add location to error messages 2024-03-30 17:12:54 +01:00
Peter Froud 257c2d45d3
Change `if(elem!=nullptr)` to `if(elem==nullptr)` 2024-03-30 17:12:54 +01:00
Peter Froud f49fe68cc6
Improve messages for default case in switch stmt 2024-03-30 17:12:54 +01:00
Peter Froud a1517a4fcb
Use "X not found for Y" message style 2024-03-30 17:12:54 +01:00
Peter Froud 9e702d8b65
Missed an instance of `ride == nullptr` 2024-03-30 17:12:54 +01:00
Peter Froud 87ee06b7a4
Use `STR_ERR_RIDE_NOT_FOUND` when `ride==nullptr` 2024-03-30 17:12:54 +01:00
Peter Froud 13abc3441c
Change "invalid game command" messages 2024-03-30 17:12:54 +01:00
Peter Froud 125fa12d6f
Remove redundant word ("index. index = %u") 2024-03-30 17:12:53 +01:00
Peter Froud 338cca6760
Add missing `%u` in format strings 2024-03-30 17:12:53 +01:00
Peter Froud 23958186bd
Change `LOG_ERROR` to `LOG_WARNING` for errors 2024-03-30 17:12:53 +01:00
Gymnasiast e1127cde8a
Split Lay-down RC track drawer 2024-03-30 00:33:35 +01:00
Gymnasiast 96c9b7d85d
Refactor track paint functions and available pieces in RTD 2024-03-30 00:33:35 +01:00
Ryan Gudonis b5fdcf9a17
Change difficulty order for Wacky Worlds scenarios 2024-03-29 00:11:30 +01:00
mrmbernardi d48b75fb86
Refactor TTF drawing (#21621) 2024-03-28 23:28:54 +01:00