1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-20 21:43:06 +01:00
Commit Graph

24586 Commits

Author SHA1 Message Date
Michał Janiszewski
aeafd55880 Merge branch 'develop' 2023-03-28 17:38:26 +02:00
Michał Janiszewski
20d43db4a7 Fix invalid indices to user strings (#19738)
C++ treats `%` (mod) operation differently to common knowledge. While
`1 % 4` yields expected `1`, `-1 % 4` yields `-1` instead of expected
`3`. This can lead to user string IDs with low values (less than
`USER_STRING_START` or 0x8000) to become negative, resulting in
incorrect reads from user strings array.

Instead of trying to massage the value less `USER_STRING_START` into
expected range, I observed the original value (of uint16_t type) would
be congruent even if we didn't subtract, as both modulus and subtrahent
are sufficiently large powers of two.

This is _possibly_ the reason for issues such as
https://github.com/OpenRCT2/OpenRCT2/issues/19240 where crash occured
during park load.

This can be trivially reproduced by loading "Prehistoric - After the
Asteroid" from "Time Twister".
2023-03-28 18:10:59 +03:00
Michał Janiszewski
e11d9553f3 Temporarily disable upload of builds to openrct2.org (#19750)
Be more verbose when setting environment variables so it is easier to
upload signed versions later on.
2023-03-28 16:04:34 +02:00
Michał Janiszewski
d703a95161 Merge pull request #19741 from janisozaur/fix-windows-closing
Fix windows closing
2023-03-28 12:03:50 +02:00
Michał Janiszewski
56ff06a8d2 Fix the object editor tab selector
Object editor has unusually high WIDX_TAB_1 value making the default
32-bit type not wide enough.
2023-03-28 11:37:38 +02:00
Michał Janiszewski
be82582063 Fix EditorObjectSelection opening of TrackManager
Calling `Close()` on a window deletes its object, rendering any future
uses of its members invalid.

In this case `WindowsCloseAll` closed Editor window itself rendering
call to `ManageTracks` on a deleted pointer. Previously
`WindowsCloseAll` was called, but earlier in the same function we have
already closed all windows but Editor itself. It is sufficient to close
the editor once we have opened `TrackDesignList`.

When this got fixed, I noticed `TrackDesignList` could not locate any
rides, which was happening due to calls to `ObjectManager::UnloadAll`
in several places. Code to load the selected ride back was added.
2023-03-28 11:37:38 +02:00
Michał Janiszewski
1670de0a4e Fix guest window accessing members after it is deleted
Calling `Close()` on a window deletes its object, rendering any future
uses of its members invalid.
2023-03-28 11:37:37 +02:00
Michał Janiszewski
bb6182bafb Fix closing invention list window while holding invention
Calling `Close()` on a window deletes its object, rendering any future
uses of its members invalid.

This can be triggered by opening inventions list window, holding an
invention, closing the inventions list window (e.g. with keyboard) and
then releasing the held invention
2023-03-28 11:37:37 +02:00
Michał Janiszewski
801d760487 Update backtrace token for upcoming release (#19742) 2023-03-28 11:36:17 +02:00
Michał Janiszewski
1f7ef64627 Fix #19574: Handle exits in null locations (#19727)
In park/replay from dump #19574 there was a calamity that happened
likely due to a plugin. Pretty much all rides were deleted in single
tick, which caused the park to mark some locations as null and then it
tripped on one of the many assertions. In many of the places it already
bails out if ride or vehicle is a nullptr, so I followed with similar
approach for invalid ride exits.
2023-03-28 01:16:55 +03:00
Michał Janiszewski
4bf35b267c Fix #19692: Windows artifact upload failing (#19736)
I was able to reproduce missing server response in github actions in
default curl configuration and expected output when using http1.1.

Job logs are at
https://github.com/OpenRCT2/OpenRCT2/actions/runs/4535411162/jobs/7990845440
2023-03-27 19:13:25 +00:00
Matthias Moninger
62b0a5edfe Build with link time code generation only on the develop branch 2023-03-26 16:50:18 +02:00
Hielke Morsink
753e931165 Add ref to #19643 in changelog 2023-03-23 10:59:28 +00:00
Duncan
e904ef406f Fix #19503. Hide 3+ queue junction railings behind a flag (#19644)
* Fix #19503. Hide 3+ queue junction railings behind a flag

This is to prevent existing parks from changing their behaviour

* Clang format

* Bump version numbers. Update changelog

* Update text
2023-03-23 08:16:32 +00:00
Michał Janiszewski
826fa4769c Merge pull request #19701 from janisozaur/investigate-19692
Investigate missing windows uploads #19692
2023-03-22 23:45:53 +01:00
Michał Janiszewski
54dcb6c845 Drop unused parameter from upload API 2023-03-22 23:19:56 +01:00
Michał Janiszewski
b8253bca5e Include HTTP headers in upload logs 2023-03-22 23:19:37 +01:00
Matthias Moninger
8584df2e94 Merge pull request #19697 from ZehMatt/fix-19694
Fix #19694: Show guest purchases influencing the game state
2023-03-22 23:25:28 +02:00
ζeh Matt
91d2d51417 Update replays 2023-03-22 22:53:25 +02:00
ζeh Matt
dddd52799c Bump up network version 2023-03-22 22:28:15 +02:00
ζeh Matt
5c04c217fb Update changelog.txt 2023-03-22 22:28:14 +02:00
ζeh Matt
5ee5f8013d Separate game state logic and rendering logic for money entities 2023-03-22 22:28:14 +02:00
ζeh Matt
436c881f95 Rename Vertical to GuestPurchase, this better reflects actual use 2023-03-22 22:28:14 +02:00
Matthias Moninger
e8ec7b6c89 Merge pull request #19683 from ZehMatt/parallel-ride-ratings
Improve ride rating calculation
2023-03-22 22:25:06 +02:00
John Mulcahy
3916221cfb Part of #19608: improve error reporting of zip command failure (#19672) 2023-03-22 19:52:54 +00:00
ζeh Matt
8a0b563316 Update replays 2023-03-22 21:51:52 +02:00
ζeh Matt
fe74395cf8 Update changelog.txt 2023-03-22 21:51:52 +02:00
ζeh Matt
1ae20ca3f2 Apply review suggestions 2023-03-22 21:51:52 +02:00
ζeh Matt
9610578621 Bump up network version 2023-03-22 21:51:52 +02:00
ζeh Matt
1480495d2f Bump up park version 2023-03-22 21:51:52 +02:00
ζeh Matt
d3e377e905 Refactor and optimize ride rating calculation 2023-03-22 21:51:52 +02:00
ζeh Matt
8eec6948c2 Update multiple ride rating states at once 2023-03-22 21:51:52 +02:00
ζeh Matt
72a76a0ea5 Refactor import/export to support multiple ride rating update states 2023-03-22 21:51:52 +02:00
Matthias Moninger
614997bf5a Merge pull request #19696 from ZehMatt/cleanup-snapshots
Re-order the compared fields and add missing ones in GameStateSnapshots
2023-03-22 18:05:32 +02:00
ζeh Matt
f07434546c Re-order the compared fields and add missing ones 2023-03-22 16:34:43 +02:00
Matthias Moninger
6170bb05e2 Merge pull request #19668 from karst/miniminimap
Decrease minimum map size from 13 to 3
2023-03-20 18:21:55 +02:00
Matthias Moninger
a982d152ec Merge pull request #19664 from Gymnasiast/fix/19652
Fix #19652: remove_unused_objects removes scenery groups
2023-03-19 13:12:42 +02:00
Karst
adf1c9a1a5 Decrease minimum map size from 13 to 3
As requested by DKMP.
2023-03-18 21:27:19 +01:00
Gymnasiast
f31d3c5cc1 Fix #19652: remove_unused_objects removes scenery groups 2023-03-18 14:52:36 +01:00
OpenRCT2 git bot
198aa59480 Merge Localisation/master into OpenRCT2/develop 2023-03-17 04:02:11 +00:00
HtotheTML
e6a0262522 Fix water tile in Six Flags Holland (and merge with Infernal Views fix) (#19643)
* Update S6Importer.cpp

* Update changelog.txt
2023-03-16 08:00:59 +00:00
Cory Sanin
a102688f5c Fix: Chat history in wrong order, doesn't pop up 2023-03-15 09:57:05 +01:00
HtotheTML
b41438bbc9 Fix missing water tile in Infernal Views (#19641)
* Update S6Importer.cpp

Edit a stray tile in the lava river of Infernal Views to have its missing lava.

* Update changelog.txt

* Update contributors.md
2023-03-14 19:26:51 +00:00
Duncan
d0821d05ac Update soundfx Fix #18904 (#19634)
* Update soundfx Fix #18904

* Update changelog
2023-03-14 08:18:05 +00:00
AuraSpecs
1949331334 Create new release for OpenMusic (1.1.0) (#19635)
* Create new release for OpenMusic (1.1.0)

* Add Blizzard style (replacement for Ice style)
* Add Extraterrestrial style (replacement for martian style)

* Update changelog.txt
2023-03-13 21:53:52 +00:00
Cory Sanin
c9883e1553 Fix: Input text floating outside chat window 2023-03-13 16:54:28 +01:00
Michael Steenbeek
049164c400 Pass dpi as ref when drawing object preview 2023-03-13 16:52:49 +01:00
Rik Smeets
ac2afdcfaf Fix #18994: Title music doesn't start after enabling master volume (#19621) 2023-03-11 16:30:40 +00:00
icy17
75fb313e5a Fix #19279: Memory leak in Zip.cpp upon error (#19283)
* fix memleak

* Replace deprecated functions and throw on error

---------

Co-authored-by: ζeh Matt <5415177+ZehMatt@users.noreply.github.com>
2023-03-09 18:07:33 -03:00
spacek531
fdbc3d29bb steam position modifier and animation speed properties (#11269)
* Add speed and frame properties

* add steam position modifier

* copy code from OpenLoco

* update sin and cos

* add computation function

* finalize locomotion code

* fix formatting

* refine code

* refactor things slightly

* manually fix formatting

* use PascalCase and rename

* fix copyright notice

* fix name again

* rename function, move outt  of namespace

* fix rebase issues

* remove pitch table derived from physics

* rename some stuff

* flip vertical component sign to make sense

* change json structure

* create steam particles based on number of animation frames

* fix formatting

* add slope for spiral lift hill down

* fix formatting again

* parens around bitwise and

* make animations separate functions

* rename MultiDimCoaster to MultiDimension

* use EnumValue method

* rework multidim frame count

* bump network to be safe

* fix formatting

* move array out of function

* make table const

* move struct into RideObject.cpp

* try new method to fix numbers in multidim

* implement ZehMatt modulo

* add documentation to new function

* include Yaw.hpp

* rename src/ride/SteamPosition.hpp to src/math/Trigonometry.hpp

* actually add src/math/Trigonometry.hpp

* move ComputeSteamOffset to Vehicle.cpp

* use static asserts on arrays

* fix changelog grammar

* add more static asserts
2023-03-09 15:45:45 +02:00