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

703 Commits

Author SHA1 Message Date
Ken Reese
3a3cd18321 Fix #19722: "Forbid tree removal" doesn't apply to large trees 2023-09-19 14:59:18 +02:00
Karst
0dafa3ca88 Add OpenMusic to DefaultObjects
This adds all OpenMusic to be included when creating a new scenario.
2023-08-25 16:47:31 +02:00
ζeh Matt
3d5e6ea932 Replace Equals with IEquals where appropriate 2023-07-05 23:14:05 +03:00
Matthias Moninger
b291c87d51 Merge pull request #20271 from duncanspumpkin/objDescriptor
Rework Object Identifier callers
2023-06-26 16:11:45 +03: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
Aaron van Geffen
d425e0a8bb Remove const qualifier from constexpr statements 2023-06-24 11:45:26 +02:00
duncanspumpkin
b58a17c731 Remove localisation object overrides 2023-05-22 08:50:19 +01:00
duncanspumpkin
8f53c6dbd3 Remove bad identifier users
Note this doesn't actually do anything under the hood it will do the same thing for now
2023-05-22 08:46:15 +01:00
Bart Ribbers
053c00218f Fix int32_t being undefined on Musl systems due to missing import (#20231) 2023-05-18 14:16:59 +01:00
Michael Steenbeek
fe2d1e2372 Small symbol cleanup (#20229)
* Remove unused generate_string_file() declaration

* Move IsUserStringID() to RCT12.h

The function is only used by RCT1/2 code, and the implementation is in RCT12.cpp

* Move ScenarioTranslate() to ScenarioRepository.cpp

Seems to have ended up in ObjectRepository.cpp by accident.
2023-05-17 19:27:04 +01:00
Duncan
db1c9fab41 Fix #19823. Disallow overriding with wrong object type (#20182)
* Fix #19823. Disallow overriding with wrong object type

Some community objects have been made incorrectly and override small scenery objects with large scenery objects. This prevents that overload from being allowed.

* Bump network version and add changelog
2023-05-14 20:31:06 +00:00
Michael Steenbeek
58baa85a27 Small path additions cleanup (#20076)
* Split off path addition paint calls

* Replace occurences of “path bit” with “path addition”

* Replace occurences of “footpath item“ with “path addition”
2023-05-09 20:08:25 +01:00
Ted John
79f8913065 Fix CI due to sign issue 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
58dc3f193b Use simple identifiers 2023-05-02 20:27:57 +01:00
Ted John
2729956cef Add scenery group object interface 2023-05-02 20:27:56 +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
Matthias Moninger
98aa816e5f Fix #19989: Crash with small scenery objects having no offsets defined (#19990) 2023-04-19 06:35:09 +01:00
Duncan
383642a812 Fix #19916. Crash when changing language (#19945)
Issue caused by the unload image function not resetting the image id back to invalid. Also noticed that water wasn't correctly cleaning up.

Fix #19918, #19926, #19927, #19928, #19929, #19931
2023-04-15 21:11:01 +00: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
Gymnasiast
9c2d5b9fef Make GfxDrawSprite() take reference 2023-04-11 22:53:30 +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
Matthias Moninger
d7923c479e Merge pull request #19481 from Gymnasiast/feature/compat-object
Add flag to mark an object as a compatibility object
2023-04-03 11:17:13 +03:00
ζeh Matt
92f821af07 Fix some mistake 2023-03-29 15:54:16 +03:00
ζeh Matt
e69d46bd41 Rename some variables 2023-03-29 15:54:16 +03:00
ζeh Matt
1dd9fd525f Fix #19296: Race condition for parallel object loading 2023-03-29 15:54:12 +03:00
Gymnasiast
af167552fb Add flag to mark an object as a compatibility object 2023-03-25 14:40:03 +01:00
Michael Steenbeek
049164c400 Pass dpi as ref when drawing object preview 2023-03-13 16:52:49 +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
Michael Steenbeek
6a89dfbfe9 Fix #19434, #19509: OpenRCT2 object types not removed by ‘remove_unused_objects’ (#19511)
* Add ObjectTypeIsTransient() and ObjectTypeIsIntransient()

* Fix #19434, #19509: remove_unused_objects does not remove OpenRCT2 types
2023-03-02 19:26:19 +00:00
Gymnasiast
a15f72da87 Pass DPI by ref to string drawing 2023-02-24 22:05:07 +01:00
Michael Steenbeek
be52b55980 Remove some unused stuff (#19474)
* Remove unused symbols

* Remove unused SceneryObject.cpp

* Remove GetScgWallsHeader() and GetScgPiratHeader()
2023-02-23 22:27:21 +00:00
Duncan
b56748bc82 ObjectEntry Cleanup. FootpathItem, SceneryGroup, Water, LargeScenery (#19385)
* Move footpathitem entry into new getter

* Move scenery group entry into new getter

* Move water entry into new getter

* Move large scenery entry into new getter

* Remove unused header includes

* Fix compile issue

* Include missing header from vcxproj
2023-02-15 21:35:16 +00:00
Gymnasiast
23a5044509 Allow shops and stalls to set their own clearances 2023-02-14 00:52:21 +01:00
Matthias Moninger
7b61c6352a Desnake some stuff, small string passing cleanup (#19388)
* Rename scenario_index_entry to ScenarioIndexEntry

* Desnake members of ScenarioIndexEntry

* Pass const u8string& instead of utf8 pointer
2023-02-13 20:30:16 +00:00
Duncan
d811c9a9ba Add Object Entry Manager (#19332)
* Add object entry manager

Port over wall and banner

* Port over small scenery to ObjectEntryManager

Clang format files

Actually make things safe

Fix build
2023-02-12 20:43:11 +00:00
Duncan
24581e781f Move misc ObjectEntries into Object folder (#19281)
* Move water entry

* Move FootpathEntry

* Move EntranceEntry

* Move SceneryGroupEntry
2023-01-27 19:44:58 +00:00
Duncan
85b72c766e Spin off Object Type into standalone header (#19278)
* Split off object type into standalone header

* Include missing header

* Rename to ObjectTypes.h
2023-01-26 21:39:20 +00:00
Duncan
ead13c44b8 Split off LargeSceneryEntry (#19277) 2023-01-26 18:44:42 +00:00
Michael Steenbeek
bb7fdc0e28 Hide primary/secondary remap button on broken large scenery (#17045) 2023-01-25 22:21:05 +00:00
Duncan
ef27814ca5 Split off scenery entries (#19133)
BannerSceneryEntry, WallSceneryEntry footpathItemEntry
2023-01-25 19:56:29 +00:00
Duncan
d51b4d3191 Split off SmallSceneryEntry into dedicated file (#19115)
* Split off small scenery entry to new file

* Move flags to new file
2023-01-25 19:25:33 +00:00
Josh Trzebiatowski
d6027a111a Fix #19250: MusicObjects do not free their preview images (#19264)
* Fix: MusicObjects do not free their preview images

* Update changelog

* remove unneeded preview check on MusicObject
2023-01-24 05:55:31 +00:00
Michael Steenbeek
ba39d7be5d Merge pull request #19241 from Gymnasiast/refactor/more-fields
Desnake TileElement fields, pad_ and byte_
2023-01-21 22:38:07 +01: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
Gymnasiast
3dd895abf7 Rename pad_ to Pad 2023-01-21 16:39:35 +01:00
Michael Steenbeek
09b1074d08 Merge pull request #19234 from Gymnasiast/objects-138
Objects v1.3.8 + fix #474: Mini Golf window allows selecting nonexistent players
2023-01-21 15:41:21 +01: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