Michael Steenbeek
f4f66c9b79
Make CLI exit code into strong enum ( #26723 )
2026-06-26 22:43:32 +02:00
Michael Steenbeek
bc87826fbe
Merge pull request #26717 from Gymnasiast/fix/g1-export
...
Bring G1 building more in line with vanilla
2026-06-26 22:42:51 +02:00
Daniel Rödl
4da7daa2f9
Fix OpenRCT2#7921: Search in user's wine path for RCT2 and RCT1 install files ( #26292 )
2026-06-25 20:41:25 +02:00
Michael Steenbeek
3ff49155f2
Merge pull request #26325 from MarcelVos96/resetStatsWhenNumLapsChanges
...
Add stats reset when lap count is forcibly changed & avoid unnecessary lap count resets
2026-06-24 16:44:50 +02:00
MarcelVos96
06a325e895
Don't reset lap count if changing train type, length. or direction of a single train
2026-06-24 16:30:57 +02:00
MarcelVos96
d30e0c5d83
Make ride stats reset when changing the number of trains changes the number of laps
2026-06-24 16:30:07 +02:00
Gymnasiast
51b7b6cc43
Fix RLE check in GfxDrawSpriteRawMaskedSoftware()
2026-06-24 13:59:48 +02:00
Gymnasiast
ad4bbd02db
Do not write two stray null bytes if we hit the last pixel of a compressed image
2026-06-24 12:34:53 +02:00
Gymnasiast
5bc368dfdb
Set G1Flag::hasZoomSprite when a zoom offset has been specified in JSON
2026-06-24 12:34:53 +02:00
Gymnasiast
0833b474c4
Always set G1Flag::hasTransparency (bit 0) when importing an image
...
RCT1/2 always set this flag when an entry is an image of any sort (as opposed to a palette entry). It may be misnamed, as both regular and compressed/"RLE" images support transparency.
This modifies a single bit in the example.dat file, as expected. For convenience:
2c2
< 00000010: 0000 0000 0400 0000 0001 0501 0a01 0f01 ................
---
> 00000010: 0000 0000 0500 0000 0001 0501 0a01 0f01 ................
2026-06-24 12:34:04 +02:00
Gymnasiast
96fae1b2ae
Allow images over 256×256 pixels
...
RCT1 uses these and RCT2 may too (specifically for the reverse freefall coaster), so this limit does not seem to be inherent to g1.
Maybe it could be removed outright.
2026-06-24 12:10:38 +02:00
Alex Parisi
99ea620836
Fix desync when placing tracks ( #26605 )
...
When any player in multiplayer places a track design, `TrackDesignAction::Execute` runs on every client which calls `UtilRand()`, resulting in every client getting a different colour since it's non-deterministic. Each client then commits its own local colour to `Vehicle::colours`. Since that field is part of the entity checksum, `NetworkBase::CheckSRAND` will flag a desync.
This PR adds a parameter to `RideGetUnusedPresetVehicleColour` to allow the caller to pass in a random value and make the choice of determinism. The UI call sites can still use `UtilRand`, but `TrackDesignAction` should be using `ScenarioRand`.
2026-06-24 09:39:00 +00:00
Gymnasiast
b38b8505e1
Fix changelog entry
2026-06-24 11:10:20 +02:00
Michael Steenbeek
a5a2da1f12
Update to objects release v1.7.10 ( #26715 )
2026-06-24 11:06:49 +02:00
Tulio Leao
e226367de4
Merge pull request #26714 from tupaschoal/open_patch
...
Fix #26654 : Allow .parkpatch files to set rides to open
2026-06-23 17:28:04 -03:00
OpenRCT2 git bot
6ce977cb87
Merge Localisation/master into OpenRCT2/develop
2026-06-23 05:18:30 +00:00
Tulio Leao
b42d4a3942
Fix #26654 : closed shops on scenario startup
2026-06-22 19:55:19 -03:00
Tulio Leao
d1d3044dac
Part of #26654 : Allow .parkpatch files to set rides to open
2026-06-22 19:46:53 -03:00
mix
34df5c1001
Fix #24613 , #26578 : Incorrect sprites drawn or crash with invalid paths ( #26600 )
2026-06-22 18:26:32 +00:00
Harry Hopkinson
63fd3f9458
Fix ratingMultiplier spelling mistake ( #26664 )
2026-06-22 20:02:15 +02:00
Alex Parisi
f4008a433a
Fix DEBUG flag checks
2026-06-22 19:51:45 +02:00
OpenRCT2 git bot
aab9944563
Merge Localisation/master into OpenRCT2/develop
2026-06-22 05:46:04 +00:00
Gymnasiast
8625ac2a24
Remove irrelevant changelog entry
...
[ci skip]
(Discussed with Aaron)
2026-06-21 18:21:00 +02:00
Gymnasiast
63fd423e63
Merge branch 'rename-opaque-flag-transparent' into develop
2026-06-21 17:54:41 +02:00
Harry Hopkinson
95df165f9b
WALL_SCENERY_2_IS_OPAQUE flag denotes transparent wall object
2026-06-21 17:19:21 +02:00
Harry Hopkinson
7e01b1ec1e
Remove redundant includes from openrct2/actions ( #26699 )
2026-06-19 11:03:19 +02:00
OpenRCT2 git bot
6df662bf1b
Merge Localisation/master into OpenRCT2/develop
2026-06-19 05:40:49 +00:00
OpenRCT2 git bot
05a3a7b0ce
Merge Localisation/master into OpenRCT2/develop
2026-06-17 05:36:26 +00:00
mrmbernardi
a64f0eff6c
Fix crash when ScPark::generateGuest fails to generate a guest ( #26681 )
2026-06-16 20:24:53 +02:00
OpenRCT2 git bot
321b715e21
Merge Localisation/master into OpenRCT2/develop
2026-06-16 05:47:26 +00:00
Aaron van Geffen
ad24c5c17f
Introduce SceneManager class ( #26691 )
2026-06-14 16:46:48 +00:00
Michał Janiszewski
193b2da77e
Turn off optimizations for MSVC to fix miscompilation ( #26678 )
...
This adds a workaround for the MSVC bug reported here:
https://developercommunity.visualstudio.com/t/MSVC-amd64-O2-miscompiles-SDL_ttf-deriv/11104938
Fixes #26637
2026-06-14 18:45:12 +02:00
Alex Parisi
fd34b5b556
Free buffer during reassignment ( #26582 )
2026-06-14 18:39:50 +02:00
Aaron van Geffen
068af83a31
Move EditorStep to its own header file ( #26690 )
2026-06-14 18:27:02 +02:00
Aaron van Geffen
e4a705b4e8
Allow starting editor directly from command line ( #26689 )
2026-06-14 18:26:16 +02:00
MarcelVos96
45e30a559a
Fix the boosts/penalties to excitement and nausea that air time provides ( #26505 )
...
* Fix air time calculations
* Bump kStreamVersion
* Update rating tests
* Update replay bundle
2026-06-11 09:27:23 +00:00
OpenRCT2 git bot
797f90cd01
Merge Localisation/master into OpenRCT2/develop
2026-06-11 05:31:38 +00:00
MarcelVos96
bf4810ea50
Fix where walls block the view of rides/scenery on the first tile next to the path ( #26495 )
2026-06-10 18:49:31 +00:00
MarcelVos96
86f282f7c0
Add cheat to disable grass growing ( #26442 )
2026-06-09 23:03:27 +02:00
tbarford
d56e884c60
Add all new track pieces to the inverted roller coaster ( #26308 )
2026-06-07 13:14:55 +00:00
Michał Janiszewski
eaf38d2129
Start v0.5.3
2026-06-07 12:55:11 +02:00
Michał Janiszewski
8664a608cd
Merge branch 'master' into develop
2026-06-07 12:52:58 +02:00
Michał Janiszewski
7d2958ea63
Release v0.5.2
...
- Improved: [#26322 ] [Plugin] Add footpath flags to FootpathSurfaceObject in the plugin API.
- Improved: [#26566 ] Improve the performance of sorting sprites.
- Fix: [#26350 ] [Plugin] ListViews altered by plugins post their creation are not invalidated.
- Fix: [#26565 ] Game crashes when switching to another tab in the guest window.
- Fix: [#26583 ] The default tab is not highlighted when opening a ride window.
- Fix: [#26602 ] Crash when locating the nearest mechanic for a ride that has not previously been inspected.
- Fix: [#26615 ] Missing junction path tile in Build your own Six Flags Over Texas.
- Fix: [#26616 ] Fix gap in buyable land in Build your own Six Flags Magic Mountain.
- Fix: [#26624 ] Tile elements selected by clicking on them with the tile inspector open do not always redraw correctly.
- Fix: [#26634 ] Add missing park patch file for Build your own Six Flags Great Adventure.
v0.5.2
2026-06-07 12:17:24 +02:00
Michał Janiszewski
e0b1e826f0
Merge branch 'develop'
2026-06-07 12:13:24 +02:00
Michał Janiszewski
d35233a155
Update BACKTRACE_TOKEN for upcoming release
2026-06-07 12:11:01 +02:00
OpenRCT2 git bot
63e7dfcc65
Merge Localisation/master into OpenRCT2/develop
2026-06-07 05:29:57 +00:00
Tulio Leao
5afa4f6f44
Add missing [Plugin] labels to changelog ( #26660 )
2026-06-06 16:48:55 -03:00
Harry Hopkinson
5e7fd1840c
Move raw constant in Paint.Balloon.cpp to SpriteIds.h ( #26642 )
2026-06-06 16:37:16 -03:00
Stephan Spengler
bcdac632a4
Add footpath object flags to API ( #26322 )
...
* add footpath object flags to API
* Add changelog
---------
Co-authored-by: Tulio Leao <tupaschoal@gmail.com >
2026-06-06 16:31:03 -03:00
Xeonacid
d8a6aab651
Fix build error on riscv64 ( #26641 )
...
Fixes:
In function ‘constexpr void std::_Construct(_Tp*, _Args&& ...) [with _Tp = unsigned char; _Args = {unsigned char}]’,
inlined from ‘constexpr _ForwardIterator std::__do_uninit_copy(_InputIterator, _Sentinel, _ForwardIterator) [with _InputIterator = move_iterator<__gnu_cxx::__normal_iterator<unsigned char*, vector<unsigned char> > >; _Sentinel = move_iterator<__gnu_cxx::__normal_iterator<unsigned char*, vector<unsigned char> > >; _ForwardIterator = unsigned char*]’ at /usr/include/c++/16.1.1/bits/stl_uninitialized.h:165:17,
inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<__gnu_cxx::__normal_iterator<unsigned char*, vector<unsigned char> > >; _ForwardIterator = unsigned char*]’ at /usr/include/c++/16.1.1/bits/stl_uninitialized.h:324:30,
inlined from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _Sentinel, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = move_iterator<__gnu_cxx::__normal_iterator<unsigned char*, vector<unsigned char> > >; _Sentinel = move_iterator<__gnu_cxx::__normal_iterator<unsigned char*, vector<unsigned char> > >; _ForwardIterator = unsigned char*; _Tp = unsigned char]’ at /usr/include/c++/16.1.1/bits/stl_uninitialized.h:659:32,
inlined from ‘constexpr void std::vector<_Tp, _Alloc>::_M_range_initialize_n(_Iterator, _Sentinel, size_type) [with _Iterator = std::move_iterator<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char> > >; _Sentinel = std::move_iterator<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char> > >; _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]’ at /usr/include/c++/16.1.1/bits/stl_vector.h:1979:37,
inlined from ‘constexpr std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = std::move_iterator<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char> > >; <template-parameter-2-2> = void; _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]’ at /usr/include/c++/16.1.1/bits/stl_vector.h:736:29,
inlined from ‘static constexpr bool std::__shrink_to_fit_aux<_Tp, true>::_S_do_it(_Tp&) [with _Tp = std::vector<unsigned char>]’ at /usr/include/c++/16.1.1/bits/alloc_traits.h:1043:6,
inlined from ‘constexpr bool std::vector<_Tp, _Alloc>::_M_shrink_to_fit() [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]’ at /usr/include/c++/16.1.1/bits/vector.tcc:924:56,
inlined from ‘constexpr void std::vector<_Tp, _Alloc>::shrink_to_fit() [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]’ at /usr/include/c++/16.1.1/bits/stl_vector.h:1189:25,
inlined from ‘void EditorObjectFlagsClear()’ at /build/openrct2/src/OpenRCT2-0.5.1/src/openrct2/EditorObjectSelectionSession.cpp:368:40,
inlined from ‘void EditorObjectFlagsClear()’ at /build/openrct2/src/OpenRCT2-0.5.1/src/openrct2/EditorObjectSelectionSession.cpp:365:6:
/usr/include/c++/16.1.1/bits/stl_construct.h:133:7: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
133 | ::new(static_cast<void*>(__p)) _Tp(std::forward<_Args>(__args)...);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2026-06-06 15:31:52 -03:00