1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-20 05:23:04 +01:00
Commit Graph

581 Commits

Author SHA1 Message Date
Matthias Moninger
3edb044685 Merge pull request #20100 from IntelOrca/plugin/object-manager
Add plugin APIs for the object manager
2023-06-26 02:26:13 +03:00
Luke Hobbs
4fcf4ac7e5 Fix formatting 2023-06-03 09:38:40 -04:00
Luke Hobbs
a17ac8a92b Use ErrorTitle + ErrorMessage instead of newline 2023-06-03 09:36:05 -04:00
Luke Hobbs
27eec48c16 Fix formatting 2023-06-02 22:55:45 -04:00
Luke Hobbs
c1f75a0906 Add plugin name to CustomAction and ScriptEngine 2023-06-02 22:04:05 -04:00
AuraSpecs
870c78001e Add new roller coaster ride colour presets (#20119)
* Fix G2 order and format

PR #19446 did not follow the correct G2 order so this is fixing that.

Also adds the added icons to the [Plugin] chart as should when adding icons to G2.

* Add colour documentation

* Joker's Jinx colour

For the LIM Launched, based on Premier rides LIM RC.

* Poltergeist colour

Based on a Premier rides LIM RC

* Flight of Fear colour

* Add Mega-Lite colour scheme

* Add colours for Vertical Drop RC

* Add two HyperCoaster presets

Suggested by Kyphii

* Add Mako colour scheme

Suggestion by Kyphii

Co-Authored-By: kyphii <8711258+kyphii@users.noreply.github.com>

* Add two colours to BM Invert

Suggested by Kyphii

Co-Authored-By: kyphii <8711258+kyphii@users.noreply.github.com>

* Add Bobsleigh Preset

Suggested by Kyphii

Co-Authored-By: kyphii <8711258+kyphii@users.noreply.github.com>

* Add Woodie Presets

Suggested by Kyphii

Co-Authored-By: kyphii <8711258+kyphii@users.noreply.github.com>

* Add Looping RC preset

Suggested by Kyphii

Co-Authored-By: kyphii <8711258+kyphii@users.noreply.github.com>

* Add Flying RC preset

Not based on one specifically, it just looks very nice.

* Update GCI Woodie preset

* Update Inverted RC's presets

Removed the skinworm and added a banshee colour scheme that you could find in the renders. Supports were a tad difficult but I think Violet pops the best with the rails so I decided to go for that.

* Change default Woodie LB Bl Bl to LB Bl DB

* Update ride presets for Twister RC

Removed Aquamarine and Moss Green because you can find Moss Green on the Flying already and Aquamarine is very close to the white.

The white I would probably change to Black & White and move it to the Wing RC once that ride type becomes available.

* Add colour presets for the 4th Dimension RC

* Add Hybrid RC presets

* Add two yellow themes for Impulse

May both rides rest in pieces

* Add colour documentation

* Joker's Jinx colour

For the LIM Launched, based on Premier rides LIM RC.

* Poltergeist colour

Based on a Premier rides LIM RC

* Flight of Fear colour

* Add Mega-Lite colour scheme

* Add colours for Vertical Drop RC

* Add two HyperCoaster presets

Suggested by Kyphii

* Add Mako colour scheme

Suggestion by Kyphii

Co-Authored-By: kyphii <8711258+kyphii@users.noreply.github.com>

* Add two colours to BM Invert

Suggested by Kyphii

Co-Authored-By: kyphii <8711258+kyphii@users.noreply.github.com>

* Add Bobsleigh Preset

Suggested by Kyphii

Co-Authored-By: kyphii <8711258+kyphii@users.noreply.github.com>

* Add Woodie Presets

Suggested by Kyphii

Co-Authored-By: kyphii <8711258+kyphii@users.noreply.github.com>

* Add Looping RC preset

Suggested by Kyphii

Co-Authored-By: kyphii <8711258+kyphii@users.noreply.github.com>

* Add Flying RC preset

Not based on one specifically, it just looks very nice.

* Update GCI Woodie preset

* Update Inverted RC's presets

Removed the skinworm and added a banshee colour scheme that you could find in the renders. Supports were a tad difficult but I think Violet pops the best with the rails so I decided to go for that.

* Change default Woodie LB Bl Bl to LB Bl DB

* Update ride presets for Twister RC

Removed Aquamarine and Moss Green because you can find Moss Green on the Flying already and Aquamarine is very close to the white.

The white I would probably change to Black & White and move it to the Wing RC once that ride type becomes available.

* Add colour presets for the 4th Dimension RC

* Add Hybrid RC presets

* Add two yellow themes for Impulse

May both rides rest in pieces

* Add changelog entry

* Add Water Coaster colour preset

---------

Co-authored-by: kyphii <8711258+kyphii@users.noreply.github.com>
Co-authored-by: Rik Smeets <30838294+rik-smeets@users.noreply.github.com>
2023-05-21 18:02:28 +02:00
Michael Steenbeek
1f5e9ac285 Clean up path additions entry index handling (#20177)
* Clean up path additions entry index handling

* Bump network version
2023-05-20 09:33:02 +01:00
Ted John
79f8913065 Fix CI due to sign issue 2023-05-02 20:28:14 +01:00
Ted John
0ed4bfbc4a Return null for legacyIdentifier 2023-05-02 20:28:14 +01:00
Ted John
cbd4c78cf6 Handle legacy objects correctly 2023-05-02 20:28:14 +01:00
Ted John
069a2b3192 Implement object manager for plugins 2023-05-02 20:28:14 +01:00
Ted John
f95472c70a Add API for installed objects 2023-05-02 20:28:14 +01:00
Ted John
f1ac4363ce Fix openrct2.d.ts 2023-05-02 20:28:14 +01:00
Ted John
d3a65443f2 Increment plugin API version 2023-05-02 20:28:14 +01:00
Ted John
58dc3f193b Use simple identifiers 2023-05-02 20:27:57 +01:00
Ted John
bf3c6964be Remove scenery from object type names 2023-05-02 20:27:56 +01:00
Ted John
74fc4d3666 Revert re order of small scenery function 2023-05-02 20:27:56 +01:00
Ted John
1a73a0be68 Implement other scenery objects 2023-05-02 20:27:56 +01:00
Ted John
2729956cef Add scenery group object interface 2023-05-02 20:27:56 +01:00
Ted John
530dfac7c9 Fix #20104: [Plugin] Some network APIs use player index and group index (#20115)
Change all APIs that took a player index or group index so that they now take unique IDs.
2023-05-02 15:25:05 +01:00
spacek531
1bbdba40b5 Implement paint code for spiral lifthill down (#19567)
* spiral lifthill down paintcode

* rename string anyway

* add some stuff I forgot and add documentation

* use static assert on SpriteGroupMultiplier

* add slope to list of opposite slopes

* bump scripting version

* update openrct2.d.ts

* improve documentation
2023-04-27 15:11:22 +01:00
Ted John
713bb09990 Merge pull request #19930 from IntelOrca/plugin/research
Add research plugin API
2023-04-21 21:17:34 +01:00
kyphii
6dfc6225e2 "Reversed Trains" Option (#19305)
* Initial commit for backwards-facing trains

* Allow persistence for reversed cars across save/load

* Make log flume turntable compatible with new reversal implementation

* Style fixes + Better implementation of inverted bank angles

* Further Style Fixes

* Code cleanup from PR feedback

* Fix GetBankRotationForDrawing function declaration

* Use update flag for reversed state

* Replace modulo operation with bit mask

* Correct guest pathing destination when entering reversed cars

* More style fixes

* Add plugin support for reversed vehicles

* Fix formatting error

* Derive reversal from ride mode for car spawning

* Formatting

* Rename function to GetPaintBankRotation

* Add reversed trains modes to Multi Dimension Coaster

* Change name of isReversed plugin API parameter for consistency

* Replace reversal operating modes with separate ride setting

* Add ALLOW_REVERSED_TRAINS flag to more ride types

* Make clang-format happy

* More Formatting

* Fix ALLOW_REVERSED_TRAINS flag on a couple rides

* Exclude flat rides from Reverse Trains tickbox when cheats are enabled

* Formatting

* Use Disable Vehicle Limits cheat for checkbox appearance condition

* Use correct swinging sprites when cars are reversed

* Update changelog and Plugin/Network/Park version numbers

* Formatting

* Add separate error String ID for clarity

* Add name to contributors.md

* Fix ride vehicle preview window with reversed trains for RCT1 train types

* Bump version numbers again

---------

Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>
2023-04-21 19:22:33 +03:00
Ted John
e820956a59 Move research API to .cpp file 2023-04-20 22:09:23 +01:00
Ted John
d471d7a4b7 Use strings for research category 2023-04-18 21:38:10 +01:00
Ted John
83bf0d7dce Make expectedDay in plugin in 1 to 31 range. 2023-04-18 21:38:10 +01:00
Ted John
fe3f32e82e Fix code review comments on research 2023-04-18 21:38:10 +01:00
Ted John
aa3f8957bd Use enum for research item category 2023-04-18 21:38:10 +01:00
Ted John
f35e595d0e Add research plugin API 2023-04-18 21:38:09 +01:00
Stephan Spengler
2fd3eb47e7 SetCheatAction has wrong ID in plugin API 2023-04-18 13:23:44 +02:00
Nikolas Parshook
ef35dfa40a Expose obj image offset and num images to plugins (#17567)
Co-authored-by: Duncan <duncans_pumpkin@hotmail.co.uk>
2023-04-13 19:09:15 +00:00
kyphii
39790779bb Extend color selection dropdown with more colors (#19446)
* Setup for extended palette

* Define order for color picker cells

* Init G2 Palettes in ColoursInitMaps

* Add Glass Palettes

* Use special sprite for Invisible color

* Set up new cheat for special colors

* Add glass palettes to palette_to_g1_offset

* Add entries for new colors in TranslucentWindowPalettes

* Finish implementation of special colors cheat

* Some cleanup

* New colors almost work

* Correct g2 palette loading indices

* Invisible color sprite displays properly

* Repaint works with large scenery and walls

* Prevent random shop items from overflowing to junk palettes

* More cleanup

* Fix glass palettes

* Add mapping of new colors to original colors for UI themes

* Fix junk palettes for random shop items

* Fix missing highlight color in software renderer

* Convert small scenery support flag to allow use of new colors

* Progress on displaying new colors in software renderer

* Fix invisible color scheme sprite

* Formatting cleanup

* Resolve comparison of integer expressions of different signedness

* Index g2 palette maps to fix visible chain lift

* Progress on fixing new colors in software renderer

* Fix station and support colors

* Fix dropdown selected index

* Get invisible color (mostly) working in software renderer

* Use forceBmp for palette resources

* Remove test function definition left in by mistake

* Remove some obsolete range checks for original color values

* Add changelog entry

* Reorder color dropdown based on NE user feedback

* Some cleanup

* Further cleanup

* Formatting

* Add include for GetPaletteMapIndexForColour

* Fix a couple things I broke

* Fix function placement

* Revert "Add include for GetPaletteMapIndexForColour"

This reverts commit 0af9611e6656d792adb7a36efe7dbf3387a4a759.

* Use color constants for color order list

* Make remappable colors contiguous

* turn off clang format for ordered color list

* Appease clang

* Use all colors for random shop item animation

* Improvements to palette map resources

* Fix chain lifts again + adjustments to a few colors

* Update changelog and contributors.md

* Revert changes to S4 and S6 importers which are no longer needed

* Bump network, plugin, and minimum park versions

* Revert "Progress on displaying new colors in software renderer"

This reverts commit 337602e4a7.

* Remove unnecessary comment

---------

Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>
2023-04-06 08:36:07 +01:00
X123M3-256
3c4e32458a Add large sloped turns to hybrid and single rail (#19547)
* Implement large sloped turns

* Fix formatting

* Add sprites

* Fix large turns button being active on steep slopes

* Remove bad comment

* Increment network,plugin,park version numbers

* Update changelog

* Increment park file version again
2023-04-05 13:47:56 +01:00
Michał Janiszewski
d25fa7fe1e Fix compilation with mingw GCC 12
Another case of the compiler bug found in #17371
2023-04-04 08:52:12 +02:00
Michael Steenbeek
fd80b4c822 Refactor and clean up date handling (#19666)
* Refactor and clean up date handling

* Remove gDate, remove direct access to days_in_month

* Adjust the MultiLaunch test

* Bump network version

---------

Co-authored-by: ζeh Matt <5415177+ZehMatt@users.noreply.github.com>
2023-04-02 09:25:41 +01: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
Matthias Moninger
7e48b57d6a Fix #18986: Sending remote scripts larger than 63KiB crashing all clients. (#19573)
* Fix #18986: Sending remote scripts larger than 63KiB crashing clients

* Add GetRemotePlugins in ScriptEngine

* Bump up network version

* Update changelog.txt
2023-03-06 13:50:05 +01:00
Michael Steenbeek
dd624f9bff Replace remaining usages of money16, money32 (#19469)
* Use money64 for ride prices and shop items

* Use money64 for park entrance fee

* Use money64 for gGuestInitialCash

* Use money64 for upkeep costs

* Use money64 for ride value

* Use money64 for marketing campaign cost

* Use money64 for object prices

* Use money64 for land prices

* Use money64 for guest expenditure

* Replace remaining occurrences of money32 with money64

* Update replays

* Bump network version

---------

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-03-02 21:55:42 +00:00
Josh Trzebiatowski
04aeed8692 Add "All Scenery" tab to scenery window 2023-02-22 23:31:21 +00:00
eaeiv
96bfa633fe Widens TotalRideValue to fix overflow reported in #19292 (#19326)
* Widens TotalRideValue to 64 bits

* Adds name to contributors file

* Adds totalRideValue overflow fix to changelog
2023-02-09 21:51:03 +00:00
ζeh Matt
2f8e208a9d Refactor sprite_index to Id 2023-01-27 19:21:57 +02:00
spacek531
b1bb24aefb Fill out TrackSegment API (#18478)
* add fields to track segment api

* add getTrackSegments to API

* change element to segment for continuity

* improve documentation

* continue tweaking documentation

* implement segment suggestions

* clarify purpose of isSteepUp flag

* add rest of track element flags

* remove extraneous information from comment

* continue tweaking API

* implement basssiiie suggestion

* rename angle to slope

* reorder items in the documentation

* bump plugin api
2023-01-25 22:05:18 +00:00
Duncan
e09f27df3c Rename snake_case Class names (Remaining Bits) (#19237)
* Rename snake_case Class names

* Clang format

* Fix build issues
2023-01-21 19:57:17 +00:00
Duncan
7d08372c80 Remove snake_case from Class names OpenRCT2/Ride*-S* (#19232)
* Remove snake_case from Class names OpenRCT2/Ride*-S*

* Clang format
2023-01-20 20:58:55 +00:00
Michael Steenbeek
448c8fafd0 Rename base_height, clearance_height and owner 2023-01-19 20:36:30 +01:00
Hielke Morsink
2c224cfd53 Rename snake_case functions in OpenRCT2/network folder (#19203) 2023-01-18 06:05:53 +00:00
Duncan
09611cd9a5 Remove snake_case from OpenRCT2/entity folder 2023-01-17 21:16:36 +00:00
Michael Steenbeek
bb55c6ce66 Remove loadsasnakes (#19192)
* Rename snake_case methods in scenario folder

* Rename snake_case methods in title folder

* Rename snake_case methods in object folder

* Rename snake_case methods in platform folder

* Rename snake_case methods in windows folder

* Rename tile_inspector.h to TileInspectorGlobals.h

* Rename snake_case methods in ui/windows folder
2023-01-17 19:46:55 +00:00
Hielke Morsink
6b7dc8fcdb Rename snake_case functions in openrct2/src folder
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-01-17 13:24:51 +01:00
Michael Steenbeek
bf5f7e8e71 Rename format_string(2) and is_user_string_id() (#19178)
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-01-17 08:59:07 +00:00