Commit Graph

113 Commits

Author SHA1 Message Date
IntelOrca 34128dc262
Add new .park save format
Co-authored-by: Gymnasiast <Gymnasiast@users.noreply.github.com>
Co-authored-by: duncanspumpkin <duncanspumpkin@users.noreply.github.com>
Co-authored-by: ZehMatt <Zehmatt@users.noreply.github.com>
Co-authored-by: Broxzier <Broxzier@users.noreply.github.com>
2021-11-21 22:43:22 +01:00
ζeh Matt 96e2641d0d
Remove macro for registration and cleanup 2021-11-10 19:42:23 +02:00
Duncan 3f19d6f7d7
Split Peep header Guest into separate header (#15810)
* Move guest functions and classes to guest header

* Reduce includes of Peep.h
2021-10-28 21:38:23 +01:00
ζeh Matt 7a30169c28
Refactor out construction clearance into a new compilation unit 2021-10-20 22:21:54 +03:00
ζeh Matt 2d78a5efc3
Move GameActionResult into its own unit (#15588) 2021-10-19 17:50:24 -03:00
Duncan e01c9a3afa
Stream changes from NSF (#15446)
* Bring over NSF changes to stream classes

* Add orca stream to project files

* Bring over util changes as well.

* Add const to util and fix util ungzip

* Add const and apply review comments

* Apply review comments
2021-09-30 13:02:54 +01:00
frutiemax 2906cb8c89
Fix #14474: Map size can be synced in multiplayer (#15312)
* Fix #14474: Map size can be synced in multiplayer

* Bump up network version

Co-authored-by: ζeh Matt <5415177+ZehMatt@users.noreply.github.com>
2021-09-29 16:46:03 +01:00
Hielke Morsink 9060a0d228
Add missing headers to VS project file (#15457) 2021-09-21 23:34:33 +02:00
Duncan 81051f2d21
Add crypt files from NSF 2021-09-18 20:31:23 +00:00
ζeh Matt f999b0acb2
Remove Nullable and use std::optional instead 2021-09-12 16:55:56 +03:00
ζeh Matt 2daa356fbf
Move ZipStream into new header 2021-09-11 19:06:17 +03:00
ζeh Matt 0be585024f
Merge pull request #15232 from ZehMatt/refactor/gNetwork
Move network instance to Context
2021-08-30 14:17:15 -07:00
Gymnasiast bcba227430
Add footpath surface and railings objects from NSF 2021-08-29 17:07:38 +02:00
ZehMatt eeb5c64119
Rename SpriteBase.h to EntityBase.h 2021-08-26 15:33:50 +03:00
Duncan 223b926f8c
Use std::vector for ride use memory (#14884)
* Use std::vector for ride use memory

* Use new system for import/export

* Remove legacy field

* Add replay entity size protection to prevent crash

* Increment network version

* Update replays

* Move function to header

* Move constant to RCT12 header as used for both 1 and 2

* Align naming with nsf
2021-08-17 21:29:35 +01:00
ZehMatt 1cfc933a59
Introduce a base class for system models 2021-08-17 06:58:42 +03:00
ZehMatt 5a69f22f2d
Move ScTile code into cpp 2021-08-11 22:15:37 +03:00
ZehMatt 9f95b006d3
Move ScTileElement into its own files 2021-08-11 22:15:37 +03:00
ZehMatt 4684f39df9
Move ScPark code into cpp 2021-08-11 22:15:36 +03:00
ZehMatt d558920606
Move ScParkMessage into its own files 2021-08-11 22:15:36 +03:00
ZehMatt 437321ac8f
Move ScMap code into cpp 2021-08-11 22:15:36 +03:00
ZehMatt 2bd348c39e
Move ScRide into a cpp file 2021-08-11 22:15:36 +03:00
ZehMatt fe57dece6b
Move ScRideStation into its own files 2021-08-11 22:15:36 +03:00
ZehMatt 99eee53c60
Move ScNetwork and ScPlayer into their own files 2021-08-11 22:15:35 +03:00
ZehMatt 64b57734e1
Move ScPlayerGroup into its own files 2021-08-11 22:15:35 +03:00
ZehMatt 371bbc0675
Move ScLitter to its own files 2021-08-11 22:15:35 +03:00
ZehMatt 2e951877cb
Move ScPeep ScGuest and ScStaff to their own files 2021-08-11 22:15:35 +03:00
ZehMatt 33e2878d2d
Move ScVehicle into its own files 2021-08-11 22:15:35 +03:00
ZehMatt adf5829cd6
Re-arrange structure of scripting 2021-08-11 22:15:34 +03:00
ZehMatt a36e0a32f7
Add EnumMap container for bidirectional key, enum mapping 2021-07-29 17:07:48 +03:00
ζeh Matt afc4cd7cba
Refactor ride construction code into a new unit 2021-07-27 17:21:03 +02:00
Duncan 03378782ff
Split off litter code to litter.cpp (#14799)
* Split off litter code to litter.cpp

* Use PATH_CLEARANCE
2021-06-03 08:27:03 +01:00
duncanspumpkin 3199029168 Split off EntityTweener into seperate file 2021-05-29 07:47:49 +01:00
Ryan d309a7c871
Add climate information to Park API (#14636) 2021-05-16 21:06:36 -03:00
Duncan 816bf827ab
Split off a number of entity files into separate headers (#14629)
* Split off a number of entity files into seperate headers

* Get compiling

* Update copyright date
2021-05-13 07:56:24 +01:00
Duncan d46e4a9bb1
Network serialiser for entities (#14541)
* Start a network serialiser for entities

will be used only for checksums and replay diffs

* Continue work

* Use the new serailser for checksums

* Use new serialiser for replays

* keep compilers happy

* Try create checksum stream

* Fix compiling

* Split off class into seperate file

* Update Xcode project

* Increment network version

* Fix pragma mistake

* Fix none network builds

* Update replays

* Improve ChecksumStream and use FNV internally

* Small cleanups

* satisfy compilers

* Revert change of checksum size to simplfy rerecording

* Zero initialise data

* Fix serialiser

* Update replays again

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
Co-authored-by: Matt <m.moninger.h@gmail.com>
2021-05-09 19:12:44 +01:00
Duncan 5474194905
Implement train view and remove linked_list_index (#13956)
* Make train manager view

* Remove linked list index field

* Remove merge mistake

* Fix further rebase errors

* Rename and add comments

* Update replays

* Fix Xcode project

* Increment network version

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2021-03-15 08:13:00 +00:00
Michał Janiszewski cef1efea44 Move TileElementBase to its own file 2021-02-14 21:28:02 +01:00
ζeh Matt 6186766a05
Introduce TileElementsView (#13975)
* Simplify TileElement type conversation

* Introduce TileElementsView

* Move TileElementsView code into TileElementsView.h

* Cleanup code and move into OpenRCT2 namespace

* Use reference instead of pointer

* Fix include

* Make GCC happy

* Move the cast functions into base

* Use the cast function instead of reinterpret_cast

* Add TileElementsView tests

* Fix iterating on TileElementBase, return pointer not reference
2021-02-04 18:58:45 +02:00
Ted John 2f39442d25 Implement ride music objects and refactor 2021-01-27 18:45:27 +00:00
Matt e9cdb559e3
Avoid some allocations by using a fixed size vector 2021-01-14 12:27:54 +02:00
Michał Janiszewski 6a6e58c088 Update vcxproj 2021-01-10 13:34:14 +01:00
X123M3-256 deca5a3881
Add "Single Rail Roller Coaster" ride type 2021-01-06 21:10:15 +01:00
Matt 7dfe0b02a6
Add ScrollingText.h 2021-01-02 16:43:17 +02:00
Adam f09b14ef2b
Split actions hpp files into separate h and cpp files (#13548)
* Split up SmallSceneryPlace/Remove

Added undo function for Remove Scenery

* Refactor: Balloon and Banner actions hpp=>h/cpp

* Refactor: rename all action *.hpp files to *.cpp

This is preparation for separation in later commits. Note that without
the complete set of commits in this branch, the code will not build.

* Refactor Clear, Climate, Custom, and Footpath actions hpp=>h/cpp

* VSCode: add src subdirectories to includePath

* Refactor Guest actions hpp=>h/cpp

* Refactor Land actions hpp=>h/cpp

* Refactor LargeScenery actions hpp=>h/cpp

* Refactor Load, Maze, Network actions hpp=>h/cpp

* Refactor Park actions hpp=>h/cpp

* Refactor/style: move private function declarations in actions *.h

Previous action .h files included private function declarations with
private member variables, before public function declarations. This
commit re-orders the header files to the following order:
- public member variables
- private member variables
- public functions
- private functions

* Refactor Pause action hpp=>h/cpp

* Refactor Peep, Place, Player actions hpp=>h/cpp

* Refactor Ride actions hpp=>h/cpp

* Refactor Scenario, Set*, Sign* actions hpp=>h/cpp

* Refactor SmallScenerySetColourAction hpp=>h/cpp

* Refactor Staff actions hpp=>h/cpp

* Refactor Surface, Tile, Track* actions hpp=>h/cpp

* Refactor Wall and Water actions hpp=>h/cpp

* Fix various includes and other compile errors

Update includes for tests.
Move static function declarations to .h files
Add explicit includes to various files that were previously implicit
(the required header was a nested include in an action hpp file, and the
action .h file does not include that header)
Move RideSetStatus string enum to the cpp file to avoid unused imports

* Xcode: modify project file for actions refactor

* Cleanup whitespace and end-of-file newlines

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2020-12-10 06:39:10 +00:00
Ted John 14377be487 Create new templated format string 2020-11-27 18:54:55 +00:00
Hielke Morsink f0c1ea1d37
Split declarations and definitions to improve compile times when editing (#13332)
* Split FileStream declarations and definitions

* Split JobPool declarations and definitions

* Split StringBuilder declarations and definitions

* Split StringReader declarations and definitions

* Split ZoomLevel declarations and definitions

* Fix missing include in FileClassifier.cpp

* Remove pragma once from source files

* Fix missing include in StringBuilder.h

* Update Xcode project

* Fix compilation of tests

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2020-11-07 12:42:04 +00:00
Sadret c2d309af38
Close #13346: Change FootpathScenery to FootpathAddition (#13350) 2020-11-03 08:17:29 +00:00
X123M3-256 9681ea4cea
Add "Hybrid Coaster" ride type (#12110)
* Add "Hybrid coaster" ride type

* Add turns

* Add diagonal slopes

* Add bank transitions

* Add diagonal bank transitions

* Add banked turns

* Add sloped turns

* Add sloped bank transitions

* Add sloped banked turns

* Add s bends

* Add helices

* Add barrel rolls

* Add half loops

* Start changing supports to wooden

* Switch diagonals and banked turns to wooden supports

* Finish switching supports to wooden

* Alter default supports for small turns and steep turns

* Split track sprites that were glitching

* Fix incorrect sprite indices on small helices

* Add supports for large flat to steep pieces

* Fix bug with b supports

* Add supports for quarter loops

* Finalize set of track elements

* Fix strange colors when track piece is highlighted

* Update sprites.json

* Add support for corkscrews

* Fix incorrect remap colors and default supports

* Add slope to banked turn transitions

* Add support for preview image in color selection window

* Fix static glitches

* Correct Z offset

* Set segment heights (and fix more static glitches)

* Improve sloped curve supports

* Fix slope to banked turn transitions

* Fix dynamic glitches

* Fix boosters

* Remove corkscrews

* Set ride data and implement ride rating function

* Fix glitches on steep turns and gentle to steep

* Format code

* Add sprites

* Add track color preview image

* Fix formatting

* Add files to MSVC project

* Fix Testpaint

* Revert removal of RIDE_TYPE_50 from GetClassification

* Introduce constant instead of hard coded number

* Fix stray change

* Improve legibility of ride_ratings_calculate_hybrid_coaster()

* Fix comments on byte_97B23C

* Fix two other stray changes

* Fix Xcode project

* Adjust bounding boxes to make clipping behaviour more consistent

* Fix two glitches on medium and large turns

* Address comments from DuncansPumpkin

* Fix incorrect ride ID

* Fix steep turn sprites

* Run PNG images through OptiPNG

* Update changelog

* Fix namespace error

* Use arrays for supports to handle additional elements

* Rename functions to TitleCase and add namespace

* Increment network version

Co-authored-by: Edward Calver <hx010973@reading.ac.uk>
Co-authored-by: tylerleamon <59478575+tylerleamon@users.noreply.github.com>
Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
2020-10-10 20:27:12 +01:00
Duncan 84c9ff833a
Move formatter to separate file. Rework GetMeasurement (#13131)
* Move formatter to seperate file. Rework GetMeasurement

* Add Formatter source files to Xcode project

Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
2020-10-09 08:02:07 -03:00