Ted John
61d64ab8c5
Do not use user strings for banners
2019-07-29 19:18:16 +01:00
Ted John
3f8890afde
Fix remaining errors and a few bugs
2019-07-29 19:18:16 +01:00
Ted John
3ee7824df4
Fix #9678 : Korean scenario name is not saved ( #9679 )
2019-07-29 19:17:49 +01:00
Ted John
0b4d989a67
Rename get_banner to GetBanner
2019-07-26 17:24:19 +01:00
Ted John
3bff25ab22
Use TileCoordsXY
2019-07-26 17:14:09 +01:00
Ted John
5c07c53faf
Refactor get banner
2019-07-25 22:21:19 +01:00
Ted John
85543bd1c8
Separate RCT2 and OpenRCT2 banner struct
2019-07-25 22:21:19 +01:00
Matt
3395079737
Remove NUM_SPRITE_LISTS macro and replace with SPRITE_LIST_COUNT for consistency
2019-07-24 17:53:54 +02:00
Ted John
3e28073981
Log path when loading / saving park
2019-07-22 22:15:01 +01:00
Duncan
ab5f5b20cd
Use enum class for RCT2_SOUND ( #9618 )
...
* Use enum class for RCT2_SOUND
* Fix formatting. Fix mistaken declaration.
* Change name of enum to SoundId
* Fix clang format
2019-07-22 19:02:45 +01:00
Ted John
5733d666b3
Do not store park name as a user string
2019-07-21 11:33:15 +02:00
Duncan
4e44818a04
Merge pull request #9449 from ZehMatt/refactor/sprite-list-pow2
...
Remove unnecessary multiplication and division for sprite lists
2019-07-13 09:37:35 +01:00
duncanspumpkin
fc657e2571
Revert name change in RCT12 struct to reflect its use.
...
The new linked_list_index is only for the internal sprite base struct. When importing we are referring to the old linked_list_type_offset. If the names were the same it would not provide any information as to why one was a factor of two different.
2019-07-13 07:20:15 +01:00
Jim Armstrong
9c976daa51
Refactor #9474 : Refactor jumping fountain code ( #9475 )
...
* Refactor jumping_fountain_update to Update
* Refactor jumping_fountain_get_type to GetType
* Refactor jumping_fountain_continue to Continue
Fix typos and misc refactoring
* Refactor begin and create functions into static member functions
Move jumping_fountain_begin and jumping_fountain_create into the rct_jumping_fountain struct and make them static
* Refactor remaining fountain functionality into member functions
* Rename JumpingFountain struct and move to proper header file
JumpingFountain code was refactored to conform to variable naming conventions and moved into the Fountain.h file.
rct_sprite_generic struct was moved to SpriteBase.h - this was done to get around a circular header dependency between Fountain.h and Sprite.h
* Set access modifier for private functions
* Change JumpingFountain variable names to TitleCase
* Refactor #9474 : Clarify where auto is being used with pointers
* Refactor #9474 : Change function names for clarity
* Refactor #9474 : Fix incorrect function names
2019-07-11 20:38:30 +01:00
Matt
fc3afb3349
Remove unnecessary multiplication and division for sprite lists
2019-06-22 17:38:28 +02:00
Matt
df30d5d9bc
Fix MarketingCampaignFlags::FIRST_WEEK not being imported/exported with sv6
2019-06-19 03:20:19 +02:00
Gymnasiast
3933e2ffc6
Fix #9402 : Ad campaigns disappear when you save and load the game
2019-06-12 22:20:00 +02:00
Peter
dd948f99c4
#9295 Refactor rct_vehcile->status to rct_vehicle::SetState() ( #9329 )
...
Fix #9295 . Refactor rct_vehicle->status to rct_vehicle::SetState()
Created rct_vehicle::SetState() and refactored all assignments to
rct_vehcile->status. SetState also includes a call to
vehicle_invalidate_window(), so it cannot be forgotten.
2019-06-09 15:45:56 +01:00
Ted John
6f0298deb3
Refactor ride measurement storage
2019-06-09 11:55:41 +02:00
Greg Hennis
1fcedae3bc
Fix #9258 : Rename SPRITE_LIST_NULL to ..._FREE ( #9260 )
2019-05-15 19:07:01 +02:00
Ted John
15cb3e1889
Remove unnecessary new line characters from log calls ( #9237 )
2019-05-12 13:48:56 +02:00
Gymnasiast
731af74732
Cast after std::min
2019-03-27 21:49:10 +01:00
Gymnasiast
a27e04e5a3
Limit inversions and holes to 31 (for now)
2019-03-27 19:44:46 +01:00
Gymnasiast
921e426605
Increase size of inversions and holes to uint16_t
2019-03-27 15:55:34 +01:00
Gymnasiast
ba404338cc
Max out inversions value instead of truncating
2019-03-27 14:02:32 +01:00
Gymnasiast
64e51cd34b
Close #8965 : Refactor ride->inversions
2019-03-27 11:30:18 +01:00
Gymnasiast
8b1330ec57
Add comment [ci skip]
2019-03-19 22:13:02 +01:00
Gymnasiast
14c2925ae5
Add import code to make Ice Cream Stalls light blue
2019-03-19 22:11:18 +01:00
duncanspumpkin
f28be1ae30
Merge #8881 branch 'set_park_open' into game_actions
2019-03-18 19:57:50 +00:00
Aaron van Geffen
2af13904c5
Update copyright notices for 2019. ( #8903 )
2019-03-17 07:16:15 +00:00
duncanspumpkin
cb087e3b4e
Fix formatting. Initialise to bad value
2019-03-16 16:41:18 +00:00
duncanspumpkin
24e9428731
Use 64bit values to simplify code
2019-03-16 07:33:21 +00:00
Phillip Walters
0e50d438d7
Added console logging for failed map saves
2019-03-15 20:35:41 -07:00
ζeh Matt
e776faee97
Merge pull request #8812 from ZehMatt/import-export-fixes
...
Fix #8811 : Import export fields not copied correctly.
2019-03-02 07:47:36 +01:00
Matt
8b6012a44b
Add missing field "no_of_food" to importer/exporter.
2019-03-02 04:46:31 +01:00
Matt
5f6ae6ac8c
Fix copying the wrong field.
2019-03-02 04:45:47 +01:00
Ted John
cdec457abd
Refactor peep struct
2019-02-28 20:28:58 +01:00
Ted John
3b7b46706c
Export sprites field by field
2019-02-20 23:51:43 +00:00
Ted John
b77bc56a52
Copy vehicle structure for S6
2019-02-20 23:31:14 +00:00
Ted John
c0e4eff9f1
Start copying sprite structures for RCT1 and RCT2
2019-02-20 23:31:14 +00:00
Ted John
ddaddf59c6
Import misc sprites field by field
2019-02-20 23:31:14 +00:00
Ted John
67ae973ac8
Import peep field by field
2019-02-20 23:31:14 +00:00
Ted John
1b83b9881b
Import vehicle field by field
2019-02-20 23:31:14 +00:00
Ted John
9960397f2c
Import litter field by field
2019-02-20 23:31:14 +00:00
Ted John
4013479094
Refactor marketing to be a single vector
2019-02-20 16:49:02 +00:00
Michał Janiszewski
604da7ce01
Merge pull request #8661 from tomlankhorst/refactor-random
...
Refactor random engine
2019-02-03 23:29:10 +01:00
Tom Lankhorst
16691b22ba
Use state struct
2019-02-01 19:29:43 +01:00
Tom Lankhorst
6a42a95495
Refactor random engine
...
Introduce RotateEngine and Rct2Engine, FixedSeedSequence and Rct2Seed.
Adhere respectively to requirements `RandomNumberEngine` and `SeedSequence`.
Can be used with C++11 adaptors and distributions in <random>.
2019-02-01 14:32:04 +01:00
ζeh Matt
6668a1fa86
Refactor remaining number values to RideStation::NO_TRAIN ( #8655 )
2019-01-30 13:49:46 +00:00
Ted John
92412d4bab
Store ride index inside ride struct
2019-01-18 11:46:18 +01:00
Ted John
8701286772
Use new ride_id_t typedef ( #8561 )
2019-01-12 10:11:55 +00:00
Michael Steenbeek
31298bd772
Merge pull request #8543 from IntelOrca/refactor-ride
...
Refactor ride structure
2019-01-02 22:38:20 +01:00
Michael Steenbeek
b5317ee9e9
Split drawing of path and railing
2019-01-02 19:52:53 +01:00
Ted John
38f632074b
Merge ride track colour arrays into one
2019-01-01 21:25:34 +00:00
Ted John
37f76d1687
Move station fields into new station struct
2019-01-01 02:26:14 +00:00
Ted John
8e6497fc1d
Merge vehicle_colours and vehicle_colours_extended
2018-12-31 19:25:07 +00:00
Ted John
92bb4a5897
Fix #8498 : Advertisement campaigns less effective than they used to be
...
0x8000 was being checked instead of 0xFFFF when importing and exporting peep spawns to and from S4, S6.
2018-12-20 09:25:31 +00:00
Ted John
1d6d734c1c
Fix build
2018-12-16 19:01:15 +00:00
Ted John
08b02943d3
Use std::string for scenario name, details etc.
2018-12-16 19:01:14 +00:00
Ted John
4195f0d9c9
Change gPeepSpawns to a vector so we can now have more than 2
2018-12-16 19:00:16 +00:00
Ted John
19a687f2fa
Change gParkEntrance to a vector so we can now have more than 4
2018-12-16 19:00:16 +00:00
ζeh Matt
7d19a5bc77
Refactor memcpy to std::memcpy and memset to std::memset ( #8408 )
2018-12-15 22:23:31 +01:00
Michael Steenbeek
6d0f0334d7
Merge pull request #8339 from ZehMatt/realtime-ticks
...
Use real time ticks for UI effects.
2018-12-15 21:00:44 +01:00
Michał Janiszewski
c845924956
Validate news item type on import ( #8334 )
...
News items use queue split into two logical partitions. When detected an
invalid news item type, simply drop remaining items to avoid having to
handle all the possible cases of where the invalid items falls.
Additionally, as normal use case wouldn't have triggered such an invalid
type, it must have come from some invalid file anyway, so assume it is
fine to drop other items.
2018-12-03 20:06:05 +01:00
Michael Steenbeek
3c63402e1d
Fix number of free sprites on SV6 import
2018-12-01 17:34:02 +01:00
Matt
4bc69a0111
Introduce gCurrentRealTimeTicks and refactor some variable names.
2018-12-01 16:36:00 +01:00
Hielke Morsink
354d973a48
Use std::size instead of Util::CountOf
2018-11-23 21:59:08 +01:00
Michael Steenbeek
b01ff01e82
Extend support for 8 cars corrupt elements
2018-11-05 12:13:26 +01:00
Michael Steenbeek
d4801e139d
Import tile elements from SV6 using new methods
2018-11-05 11:55:33 +01:00
Aaron van Geffen
cf6f8a356f
Merge pull request #7920 from ZehMatt/sprite-structs
...
Simplify sprite structs
2018-09-13 23:04:02 +02:00
Matt
ccf12befd5
Formating.
2018-08-31 07:18:51 +02:00
Matt
8c6f6a18ab
Remove unused passing of object manager.
2018-08-31 07:18:50 +02:00
Matt
04928d4b84
Refactor reference over std::shared_ptr.
2018-08-31 07:18:48 +02:00
Matt
dcc4827833
Use reference instead of copy.
2018-08-20 21:12:06 +02:00
Matt
a89b352fb2
Rename rct_sprite::unknown to rct_sprite::generic
2018-08-20 18:27:40 +02:00
Michael Steenbeek
13c326eb50
Fix part of #7415 : Korean scenario descriptions are mangled
...
OpenRCT2 used to incorrectly write UTF-8 to SV6 names and descriptions. This fixes reading such scenarios. It should also fix the game crashing when attempting to load such a scenario.
What this doesn't do is add support for the encoding that vanilla used for CJK, or add support for creating scenarios with Korean descriptions. That will only be feasible when switching to our own format.
2018-08-13 15:53:44 +02:00
clang-format
b02dfdbc93
Binpack function arguments together
...
Previously when the arguments of a function wouldn't fit on a single line, clang-format would put each argument on its own line instead. By enabling the binpack parameter setting, it tried to fit as many on one line as possible instead.
Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
2018-07-23 16:00:22 +02:00
clang-format
95ce592579
Enforce not breaking before assignments and function names
...
Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
2018-07-23 16:00:19 +02:00
Hielke Morsink
9cf4ea675f
Correct formatting for source files up to the rct2 folder
2018-07-23 16:00:16 +02:00
clang-format
506d4221d3
clang-format rct1/2/12
2018-07-23 16:00:07 +02:00
Michael Steenbeek
1b08fb4e69
Replace our own integer types with standard ones
2018-06-20 17:30:40 +02:00
Hielke Morsink
0cf256ac9e
Ready copyright notice for clang-format
...
Clang-format sees the text behind `#pragma region` as code and formats it. Instead of stating the copyright and date there, it's now in the comment block right below it. The text "Copyright" is left in the `#pragma region` line, as clang-format sees it as a single identifier.
I took the opportunity to normalize the dates, and add the copyright notice to the source files where it was missing them (except for third-party and the generated resources.h file).
2018-06-15 14:07:34 +02:00
Hielke Morsink
204dd4439b
Mark unused arguments in the libopenrct2 project
...
For dummy classes and functions with empty bodies I've only commented out the arguments, for all others I used C++17's [[maybe_unused]].
2018-06-06 21:03:11 +02:00
Hielke Morsink
5d0022a5cb
Remove argument list from zero-initializers with zero/false/nullptr value
2018-06-04 19:50:46 +02:00
Ted John
1e7560e7da
Do not include GameState.h in Context.h
2018-05-30 12:50:25 +01:00
Aaron van Geffen
dcff6895b5
Refactor game_init_all into GameState::InitAll.
2018-05-30 11:53:32 +02:00
Ted John
d6ac74f4bd
Fix loading SC6 files in editor
2018-05-29 18:39:13 +01:00
Ted John
f5e77a9e15
Load objects for title editor and scenario editor
2018-05-29 18:39:12 +01:00
Ted John
6af0cb2b88
Fix import of S4 and S6
2018-05-29 18:39:12 +01:00
Ted John
96a0a22cd1
Make start on loading objects only once
2018-05-29 18:39:12 +01:00
Hielke Morsink
6c65c3d64d
Merge pull request #6774 from janisozaur/fixes
...
Various code improvements
2018-05-15 14:38:43 +02:00
Michael Steenbeek
fcf507e051
Spin off shop item stuff to separate files
2018-05-14 19:21:43 +02:00
Ted John
529c744276
Use unique_ptr and shared_ptr for services in Context
2018-05-13 00:43:50 +01:00
Michał Janiszewski
0a92e74ced
Minor fixes
2018-05-11 15:38:30 +02:00
oli414
3bff12c081
Seperate surface tile element
2018-05-01 16:33:16 +02:00
Ted John
42f46d15e3
Merge pull request #7414 from OpenRCT2/refactor/string-conversions
...
Refactor string conversion between RCT2 and UTF8
2018-04-25 10:14:39 +01:00
Hielke Morsink
bf4f68fe33
Use enum type that guarantee to support its values
...
By default enumerators use type `int` which can store values up to `1 << 31 - 1`. The clang compiler generates this error for enums values that use the sign bit: `enumerator value is not representable in the underlying type 'int'.`
To get rid of those warnings (and technically improve the code) the erroneous enums are now of type of `uint32`.
Note: I've skipped peep.h to prevent conflicts with the peep refactor branch.
2018-04-24 16:51:42 +02:00
Ted John
deaa60f8f1
Refactor string conversion between RCT2 and UTF8
...
Use Win32 API for conversion on Windows for non-1252 code pages instead of built-in tables.
2018-04-18 13:16:20 +02:00
Gymnasiast
60b864441a
Fix encoding of scenario index names
2018-04-12 13:13:14 +02:00
Hielke Morsink
dc673a64d8
Give context the ownership of repositories and the object manager ( #7340 )
...
This makes them no longer a singleton, which fixes annoying behaviour when launching multiple contexts in one game session.
2018-04-10 13:19:23 +01:00
Michał Janiszewski
fc97c8c5db
Reduce inclusion of <string> header
2018-03-21 22:39:19 +01:00
Michał Janiszewski
764520076f
Reduce header inclusion
...
* Update includes in PlatformEnvironment.cpp
* Update includes in ParkImporter.h
* Update includes of OpenRCT2.h
* Update includes in Intro.h
* Remove unused include from Input.cpp
* Update includes of Imaging.h
* Update includes in Game.h
* Update includes in Editor.h
* Update includes of Context.cpp
* Update includes in Cheats.cpp, CmdlineSprite.cpp
* Update includes of some source files
* Update includes in some cpp files
* Update includes in some cpp files
* Update includes in TextureCache.h
* Fix tests
* Update includes in Font.cpp
* Update includes in LightFX files
* Update some includes
* Fix GCC builds
* Update some includes
* Update some includes
* Update includes in FontsFamilies.*
* Update includes of Console.h
* Improve includes in Window.h
* Improve headers in Viewport.h/Window.h
* Fix MSVC build
* Fix network-less builds
* Reduce inclusion of Map.h
2018-03-13 13:14:02 +01:00
Michael Steenbeek
bf580625f8
Fix calcutation of number of riders on import
...
Made a little mistake with this last time. This will now use the same logic as the Guest List window and the increment/decrement counters.
2018-03-13 11:45:06 +01:00
Michael Steenbeek
1fa2fa8f80
Refactor ride->entrances and ride->exits
2018-03-07 19:10:50 +01:00
Michael Steenbeek
2de6529cf5
Use big coordinates for PeepSpawn's Z coordinate
2018-02-21 09:50:07 +01:00
Michael Steenbeek
ea0566a3f5
Split PeepSpawn and rct12_peep_spawn
2018-02-21 09:50:07 +01:00
Michael Steenbeek
3e7161650c
Replace LocationXYZD8
2018-02-15 22:26:50 +01:00
Hielke Morsink
55979a3fff
Remove and replace C typedefs
...
`typedef struct/union/enum name { ... } name_again;` is not needed whe compiling C++, moving the name at the back to be in front of the object and removing `typedef` makes it usable the very same way.
This also replaces typedefs with the using keyword. They have better readability, especially for function pointer types, and would allow more flexibility when used with templates.
2018-02-14 09:42:26 +01:00
Michael Steenbeek
34c8409251
Clean up ride struct and num_riders import, update changelog
2018-02-08 15:33:43 +01:00
Gymnasiast
02196a1919
Fix #3330 : Current number of passengers overflows
2018-02-08 15:33:43 +01:00
Gymnasiast
34a6b5ef92
Remove __cplusplus ifdefs
2018-02-05 16:20:15 +01:00
Gymnasiast
778ba466c5
Remove almost every extern C block
2018-02-05 16:20:15 +01:00
Ted John
a84c05f1eb
Fix gcc
2018-02-04 12:40:25 +00:00
Ted John
7851446a6f
Replace Memory::Set with std::fill or similar
2018-02-04 12:35:02 +00:00
Gymnasiast
d91fd1364d
Create passageways in European Extravaganza
2018-02-01 13:52:28 +01:00
Gymnasiast
2c8ab6fb68
Fix #7065 : Guests cannot enter Great Wall Of China scenario
2018-01-23 19:03:00 +01:00
Ted John
aa0d7645da
Refactor ride_ratings.c to C++
2018-01-18 22:33:06 +00:00
Ted John
83cdd56825
Unify current and next climate state into common struct
2018-01-14 01:06:47 +00:00
Michael Steenbeek
cd5a1ba888
Compile files in world folder as C++
2018-01-11 13:25:09 +01:00
Gymnasiast
ce9a72a4e9
Fix export of invented scenery items
2018-01-10 23:24:10 +01:00
Gymnasiast
8fb0046136
Fix #6990 : Scenery not correctly marked as available
2018-01-10 20:29:20 +01:00
Michael Steenbeek
37cec95ce2
Move research list import/export to separate functions
2018-01-10 16:31:13 +01:00
Michael Steenbeek
0995ab9910
Fold gResearchNextCategory into gResearchNextItem
2018-01-10 15:31:47 +01:00
Michael Steenbeek
b11f59ba6c
Refactor gResearchedSceneryItems
2018-01-10 15:31:47 +01:00
Michael Steenbeek
d2de1a4a95
Abstract access to gResearchedRide{Types,Entries}
2018-01-10 15:31:47 +01:00
Michael Steenbeek
55b473d866
Rename gResearchLastItemSubject to gResearchLastItem
2018-01-09 21:35:10 +01:00
Michael Steenbeek
6a88d6e04d
Move and rename RCT{1,2,12}.h
2018-01-09 13:36:41 +01:00
Michael Steenbeek
0296608623
Name/fix various RCT1/RCT2 limits
2018-01-09 13:36:41 +01:00
Michael Steenbeek
7d5de63484
Refactor rct_research_item, refactor access to rct_research_item
...
This takes away a lot of the bitshift and bit mask trickery previously used.
2018-01-07 15:33:44 +01:00
Ted John
c3eab7ead6
Refactor window.c to C++
2018-01-07 12:39:58 +01:00
Ted John
f18595a1c1
Refactor viewport.c to C++
2018-01-07 12:39:58 +01:00
Michael Steenbeek
c3e79b1948
Fix Amity Airport coordinate adjustment
2018-01-06 21:46:18 +01:00
Michael Steenbeek
755add6c9a
Compile localisation folder as C++
2018-01-06 18:32:25 +01:00
Ted John
02c58a6c5a
Remove custom base Exception class
2018-01-05 18:11:47 +00:00
Michael Steenbeek
31bf792538
Refactor research - spike 1
...
This involves refactoring gResearchedRideTypes and gResearchedRideEntries
and the functions involved.
Also renames some functions in order to better express what they do.
2018-01-04 17:44:51 +01:00
Ted John
49f5611bd1
Rename scenario.c|h to cpp
2018-01-03 15:07:17 +01:00
Michael Steenbeek
347ff702d0
Refactor objects
2018-01-03 10:16:51 +01:00
Michael Steenbeek
c5e966292b
Fix #3171 : Guests entering from the corner of the tile in Amity Airfield
2018-01-02 16:07:39 +01:00
Gymnasiast
1626f86acc
Compile park.c as C++
2018-01-01 01:18:12 +01:00
Gymnasiast
23d70a4ac9
Compile ride.c as C++
2017-12-31 20:43:17 +01:00
Michael Steenbeek
c4f44e5e7a
Compile files in paint folder as C++
2017-12-17 17:24:36 +01:00
Michael Steenbeek
1a9975d683
Compile util and cheats as C++
2017-12-14 10:03:21 +01:00
Michael Steenbeek
6dc49d643a
Compile files in base dir as C++
2017-12-13 08:03:48 +01:00
Michael Steenbeek
3868b100df
Stop encrypting money
...
It serves no purpose any more. Of course, we still need the ENCRYPT_MONEY() and DECRYPT_MONEY() functions for importing and exporting S6 files.
2017-12-07 23:22:24 +01:00
Michael Steenbeek
60d8865efb
Compile game.c and game.h as C++
2017-12-05 09:10:27 +01:00
Ted John
99d7aaa2d6
Remove RCT2 interop
2017-12-04 19:04:06 +00:00
Michael Steenbeek
b0aaf13cec
Clean up and future-proof peep spawn import
2017-11-30 23:08:59 +01:00
Michael Steenbeek
7feb0f8f7e
Fix #4760 : Correct guest entry points on loading scenario
2017-11-29 09:10:09 +01:00
Michael Steenbeek
1011d6172d
Clean up string IDs
2017-11-23 15:52:06 +01:00
Michał Janiszewski
9bc9e20778
Stub interop for NO_RCT2 builds
2017-11-06 22:05:36 +01:00