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

179 Commits

Author SHA1 Message Date
Gymnasiast
44d547a4bc Make TrackPitch into an enum class 2024-01-17 23:33:19 +01:00
Gymnasiast
b832eb5f72 Make TrackBank into an enum class 2024-01-17 23:33:19 +01:00
Max
7a9e8a5e44 Fix: setting brake/booster speeds via plug-in does not work 2024-01-15 08:28:21 +01:00
ζeh Matt
7d3c273594 Fix #21171: Crash creating entities with no slots available 2024-01-12 17:56:23 +02:00
James103
1d8dc111f1 Replace 2023 with 2024 in copyright headers (#21139)
Replace all instances of the year 2023 with 2024 in all copyright headers
2024-01-01 12:52:28 +01:00
ζeh Matt
62c0bc2cf5 Remove 13k dynamic initializer by changing SpriteGroupNames type 2023-11-25 16:22:45 +02:00
ζeh Matt
b4376ab590 Add owner property to tile elements for scripting 2023-10-08 02:30:43 +03:00
Stephan Spengler
39ecab4bd2 add small scenery tertiary colour to plugin API (#20818)
* add small scenery tertiary colour to plugin API

* bump API version
2023-10-01 11:27:04 +01:00
ζeh Matt
45afc1f67b Properly name setter/getter for edge object index 2023-08-26 21:01:27 +03:00
ζeh Matt
ae3c1037ad Properly name what the getter/setter for surface object index is 2023-08-26 20:50:06 +03:00
Matthias Moninger
b347cbce03 Merge pull request #20473 from IntelOrca/fix-14853
Fix #14853: [Plug-in] Subscribing to a non-existing event crashes game
2023-06-27 23:07:24 +03:00
Ted John
30664df8e9 Fix #14853: [Plug-in] Subscribing to a non-existing event crashes game 2023-06-27 00:08:05 +01:00
Matthias Moninger
fb1b531d59 Fix build error due to stale base branch for #20100 (#20476) 2023-06-26 08:10:01 +01:00
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
c1f75a0906 Add plugin name to CustomAction and ScriptEngine 2023-06-02 22:04:05 -04: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
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
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
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
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
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
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