Commit Graph

73 Commits

Author SHA1 Message Date
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
Simon Jarrett 134371f03c Change includes of nlohmann/json_fwd.hpp to new core/JsonFwd.hpp 2020-10-06 00:16:21 +02:00
Ted John c204767176
Fix RTL for Windows 2020-09-18 19:46:12 +02:00
Gymnasiast 4ff77ebc35
Split RTL implementations to files; add preprocessor guards 2020-09-18 19:46:12 +02:00
Tulio Leao c72f547606
Merge pull request #12916 from richard-fine/pathfinding
Pathfinding cleanup
2020-09-17 17:58:31 -03:00
Michael Steenbeek 1982e8491b
Merge pull request #12667 from mwnciau/json-refactor
Migrate JSON library to JSON for Modern C++
2020-09-17 21:11:06 +02:00
Simon Jarrett 5f17554c25 Refactor ObjectJsonHelpers
Move functions in ObjectJsonHelpers to their relevant namespaces and classes
- Move ParseColour to Colour::FromString
- Move ParseCursor to Cursor::FromString
- Move LoadStrings to StringTable::ReadJson
- Move LoadImages to ImageTable::ReadJson
- Move ParseObjectEntry to Object::ParseObjectEntry
- Move GetString, etc. to Json::GetString, etc.
- Delete ObjectJsonHelpers .cpp and .h files
2020-09-16 20:18:53 +01:00
Matt 3eff713765
Remove unused Registration.hpp 2020-09-16 20:23:39 +03:00
Ted John 146a754001 Add plugin API for scenario and objective 2020-09-13 17:02:12 +01:00
Michael Steenbeek cf5b48a9dd
Rename Rain.{cpp,h} to Weather.{cpp,h} (#12914) 2020-09-12 19:32:26 -03:00
Richard Fine 542eb873fc Consolidate pathfinding code
Consolidate all the guest pathfinding code from Peep.cpp into GuestPathfinding.cpp, and make a dedicated header for GuestPathfinding to help make it easier to see what the actual public interface is to the pathfinding system.
2020-09-12 14:59:40 -04:00
Ted John 0bddf5a5db Rename SocketServer to Listener 2020-09-03 22:38:42 +01:00
Ted John dce547af99 Start implementing TCP API 2020-09-03 22:38:35 +01:00
Matt 4cede91424 Introduce NetworkClient and NetworkServer 2020-07-30 20:29:15 +02:00
Matt 37f6a11a1f Move Network declaration into header and rename to NetworkBase 2020-07-30 20:29:15 +02:00
Gymnasiast bc3ad044f8
Consistently use 'Circus' 2020-07-21 13:55:48 +02:00
Gymnasiast c2153ae797
Consistenly use 'Swinging Ship' 2020-07-21 13:55:48 +02:00
Gymnasiast cf664c8340
Close #11971: Replace ride groups with new ride types 2020-07-17 00:19:49 +02:00
Ted John 8c81cacc6f Add sea decryption 2020-07-11 11:40:34 +01:00
Duncan 0f92c3b017
Switch vcxproj files to remove wildcards (#11843)
Unfortunately MS has removed the wild card feature from vcxproj files. This will mean all file deletions and creations will need to modify these files to be included in the VS builds.
2020-06-02 13:37:58 +02:00
Michał Janiszewski f2233d3cc3 Update MSVC project to use Google benchmark 2019-01-22 19:45:56 +01:00
Michał Janiszewski 798bb99239 Update libopenrct2.vcxproj (#7644) 2018-06-10 01:31:37 +02:00
Ted John b3c17b215f Use single output folder for msbuild obj files
This requires unique named source files within a project.
2018-06-01 09:37:49 +02:00
Ted John 83e80d9658 Implement basic discord status report 2017-11-11 23:48:04 +00:00
Olivier Wervers 4bdfb31fcb Remove changes from libopenrct2.vcxproj 2017-10-05 10:42:44 +02:00
Oli414 8fa82493cb Move set_staff_name game command functionality to game action 2017-10-05 10:42:44 +02:00
Ted John 84f55c75aa Revert change to libopenrct2.vcxproj 2017-10-05 10:42:43 +02:00
ZehM4tt 1b2a61c6ba Separated out byte swapping into its own header.
Simplified data serialisation of game actions.
Moved the flags away from parameters.
GameAction base now serialises mandatory data such as flags and player.
Split some functions from network in order to move command processing to the end of tick.
2017-10-05 10:42:43 +02:00
Duncan 7b47438f49 Fix windows x86 debug builds (#5845) 2017-07-09 09:51:02 +01:00
duncanspumpkin e70a96c04f Remove Win32 debug special builds
Win32 debug previously built a special .dll build to allow calling into RCT2. This has been broken for a while and has little use anymore. It has therefore been removed.
2017-06-13 12:23:26 +01:00
Ted John 18fc922000 Use a file pattern as it appears to now be supported in VS 2017-05-03 11:14:13 +02:00
Ted John 9e4efb67b1 Move fountain files to C++ 2017-03-23 17:58:01 +00:00
Ted John 3f53f8cb5d Refactor duck to C++ 2017-03-23 17:37:25 +00:00
duncanspumpkin 9087170cf1 Move functions into banner.cpp 2017-03-13 17:41:24 +00:00
duncanspumpkin ffeb1fa527 Initial refactor of entrance 2017-03-13 17:33:46 +00:00
Ted John bcc0bfa485 Rename climate.h to Climate.h 2017-03-11 22:59:33 +00:00
Ted John 0d722d55e1 Refactor climate to C++ 2017-03-11 22:59:32 +00:00
Ted John ce13b551cb Refactor balloon to C++ 2017-03-10 17:26:08 +00:00
Ted John 925d64249f Add openrct2:// uri scheme support
This sets up a URI scheme for openrct2 for Windows by adding the necessary registry keys. This is done on startup every time to keep the binary location up to date. URI handling currently supports joining a server.
2017-03-08 19:06:42 +00:00
Duncan 1654ba4fe4 Merge pull request #5236 from duncanspumpkin/refactor
Refactor fence to wall
2017-02-28 06:56:06 +00:00
Ted John 6e9d22e99d Use hpp for header files
...as they contain C++ implementation code.
2017-02-22 17:46:10 +00:00