Commit Graph

17104 Commits

Author SHA1 Message Date
spacek531 c248c8fada format spiralslide 2021-08-31 08:55:30 -07:00
spacek531 c8bed6fa87 tower rides and slide 2021-08-31 08:55:30 -07: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
Michael Steenbeek 481d40b270
Merge pull request #15309 from Gymnasiast/refactor/paths-from-nsf
Refactor/paths from nsf
2021-08-30 23:07:54 +02:00
ζeh Matt 9be3a39ddd
Remove old constant PEEP_THOUGHT_ITEM_NONE 2021-08-30 21:13:35 +03:00
ζeh Matt 336372c7be
Adjust InsertThought overloads to use correct constants 2021-08-30 21:13:35 +03:00
ζeh Matt e9c959b187
Test correct fields in the gamestate snapshot 2021-08-30 21:13:34 +03:00
ζeh Matt 77dccb995c
Use RCT12PeepThoughtItemNone for importers 2021-08-30 21:13:34 +03:00
ζeh Matt bab646de6e
Add RCT12PeepThoughtItemNone constant 2021-08-30 21:13:34 +03:00
ζeh Matt a5931921bf
Small clean up 2021-08-30 21:13:34 +03:00
ζeh Matt 483fb173f5
Adjust S6 import/export for different thought item type 2021-08-30 21:13:34 +03:00
ζeh Matt 1555a4da9f
Modify storage of PeepThought items to 16 bit for rides and shop items 2021-08-30 21:13:34 +03:00
ζeh Matt b97ebc745f
Rename rct_peep_thought to PeepThought 2021-08-30 21:13:33 +03:00
ζeh Matt 5d2c9d8be4
Merge pull request #15267 from spacek531/remove-var-CA
Remove var ca
2021-08-30 11:13:20 -07:00
ζeh Matt c39bf42510
Merge pull request #15311 from ZehMatt/fix-15306
Fix #15306: Fix track paint using the wrong bounding box offsets
2021-08-30 07:13:57 -07:00
Michael Steenbeek 1730673ca3
Merge pull request #15285 from duncanspumpkin/rct2
Move RCT2 structs into RCT2 header
2021-08-30 13:45:23 +02:00
duncanspumpkin 2f9e9e853e Move further structs into correct headers 2021-08-30 12:27:23 +01:00
Duncan 8cc833f905
Strip RCT1 out of RCT1 struct names in namespace (#15284)
* Strip RCT1 out of struct names in namespace

* Remove RCT1:: where not required
2021-08-30 11:28:50 +01:00
frutiemax 98a52ac934 Part of #13874: Add SpinFunction field 2021-08-29 20:37:59 -04:00
frutiemax 7e5e9bdf13 Part of #13874: Add definition field in TrackElementDescriptor 2021-08-29 20:22:48 -04:00
spacek531 39b762aa78 fix sign error 2021-08-29 15:00:47 -07:00
spacek531 91099429c8 bump network 2021-08-29 14:52:43 -07:00
spacek531 0f5075f024 fix triggers 2021-08-29 14:52:43 -07:00
spacek531 315070faaa set value to 0 2021-08-29 14:52:43 -07:00
spacek531 199de52afe quick removing this 2021-08-29 14:52:43 -07:00
spacek531 6d7fd57f5b remove var_CA 2021-08-29 14:52:43 -07:00
ζeh Matt 51ad88c25d
Fix #15306: Fix track paint using the wrong bounding box offsets 2021-08-29 23:43:59 +03:00
Michael Steenbeek 4bbee1c6ae
Merge pull request #15261 from frutiemax/13874_refactor
Track Element Descriptor refactor (issue #13874)
2021-08-29 22:38:46 +02:00
ζeh Matt b367f74496
Fix #15199: Construction window is not closed when a ride gets demolished 2021-08-29 22:20:30 +02:00
ζeh Matt a75e07cde6
Merge pull request #15305 from ZehMatt/fix-15289
Fix #15289: Duplicated banner correction using the wrong index
2021-08-29 10:06:55 -07:00
Gymnasiast bcba227430
Add footpath surface and railings objects from NSF 2021-08-29 17:07:38 +02:00
frutiemax 450bf61ee4 Part of #13874: TrackSequenceProperties, Pricing and MirrorMap renamed 2021-08-29 10:45:17 -04:00
Gymnasiast b6b792f874
Add GetImage() method to rct_footpath_entry 2021-08-29 16:22:51 +02:00
spacek531 cba52b240e
Bird animation (#15294)
* initial implementation;

progress 1

progress 2

refactor to chain start

progress 3

begin walking

finish bird

remove walking

remove unused functions

refactor track element getting

fix formatting

refactor and add comments

remove brackets from simple if-else statements

invalidate vehicle

refactor again

fix format and refactor

please satisfy clang format

fix fallthrough

invalidate default case

remove redundant falltrhough

network bump

use std::max

refactor animation again

fix modulus

* move array declaration

* satisfy clang-format

* add changelog entry
2021-08-29 10:30:34 +01:00
ζeh Matt 4ada04c7ca
Fix #15289: Duplicated banner correction using the wrong index 2021-08-29 12:20:17 +03:00
frutiemax b3744f129f Part of #13874: Avoid copies of ted 2021-08-28 18:57:46 -04:00
Hielke Morsink e0751d707f
Fix #15298: Crash on map.getAllEntities from in-game console (#15301) 2021-08-28 17:43:11 +02:00
ζeh Matt 97ded2d7c4
Use reference and not copy (#15303) 2021-08-28 00:31:40 +02:00
frutiemax 5f438535ad Part of #13874: Gymnasiast review 2021-08-27 17:57:10 -04:00
frutiemax 9c53fe252d Part of #13874: ZehMatt review changes 2021-08-27 17:44:33 -04:00
ζeh Matt 85d3dc2a84
Merge pull request #15292 from ZehMatt/refactor/paint-constexpr
Apply constexpr where possible
2021-08-27 13:04:24 -07:00
ζeh Matt 0c05557b92
Change defines to constexpr and add SPR_ prefix 2021-08-27 22:40:51 +03:00
ζeh Matt d7b911ffea
Add sprite constants for LOOPING_RC_FLAT_CHAINED 2021-08-27 22:37:37 +03:00
ζeh Matt 70df58da15
Use constexpr where applicable in MiniatureRailway.cpp 2021-08-27 18:24:08 +03:00
ζeh Matt 2a087a7eef
Remove static initialization in looping_rc_track_station 2021-08-27 18:24:08 +03:00
ζeh Matt 3c106f7e0f
Use constexpr where applicable in JuniorRollerCoaster.cpp 2021-08-27 18:24:08 +03:00
ζeh Matt 5dd277fc0d
Use constexpr where applicable in HybridCoaster.cpp 2021-08-27 18:24:08 +03:00
ζeh Matt 5bf882587a
Use constexpr where applicable in Viewport.cpp 2021-08-27 18:24:08 +03:00
ζeh Matt 04ba3f92d7
Use constexpr where applicable in Monorail.cpp 2021-08-27 18:24:08 +03:00
ζeh Matt 78747d266f
Use constexpr where applicable in MiniatureRailway.cpp 2021-08-27 18:24:08 +03:00
Michael Steenbeek ef2477901e
Merge pull request #15278 from Gymnasiast/fix/3868-opengl-ttf
Get basic TTF support working in OpenGL
2021-08-27 02:00:45 +02:00
Hielke Morsink f9c4bb2757
Remove unused persistentChunks argument (#15290) 2021-08-26 23:00:12 +02:00
ζeh Matt 01c808c601
Remove unused argument of wooden_(a|b)_supports_paint_setup 2021-08-26 20:54:06 +03:00
Ted John 6e2b79a895
Get basic TTF support working in OpenGL
co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2021-08-26 19:46:18 +03:00
ZehMatt de364aa15a
Rename type SpriteBase to EntityBase 2021-08-26 15:37:16 +03:00
ZehMatt 20d3b50771
Correct includes for EntityBase.h 2021-08-26 15:33:53 +03:00
ZehMatt eeb5c64119
Rename SpriteBase.h to EntityBase.h 2021-08-26 15:33:50 +03:00
duncanspumpkin cdf1c3b1b8 Move s6 into rct2 header 2021-08-26 12:44:26 +01:00
Duncan b97c46421e
Move all RCT1 to RCT1 namespace (#15283) 2021-08-25 20:44:24 +01:00
ζeh Matt 4d261b389c
Merge pull request #15280 from ZehMatt/refactor/gfx-draw-const
Cleanup DrawSpriteArgs
2021-08-25 07:15:00 -07:00
Duncan c209021229
Remove unused serialiser trait (#15279) 2021-08-25 14:03:48 +01:00
ZehMatt 8fa4823055
Pass rct_drawpixelinfo as explicit argument, make DrawSpriteArgs const 2021-08-25 15:37:44 +03:00
Duncan 008f106242
Add constants for golf flags (#15072)
* Add constants for golf flags

* Reorg SubPositionData for minigolf

* Add enum for golf states

* Add golf animation enum

* Fix names of animations

* Correct spleing

* Revert stray change
2021-08-25 11:08:57 +01:00
ζeh Matt eccbbdbe59
Use inline for direction functions in Location.hpp 2021-08-25 00:07:25 +02:00
ζeh Matt 55add9883f
Implement DirectionFlipXAxis 2021-08-24 22:57:13 +02:00
Duncan d2aca03ff6
Fix #15271. Use formatter to pass description args to text input (#15272)
* Fix #15271. Use formatter to pass description args to text input

Originally passed the variables via global vars which were not updated to 32bit during recent refactors. This removes the global and makes the interface cleaner and corrects the type

* Fix size of arguments
2021-08-24 19:12:05 +01:00
Duncan 201a94f7e6
Add overloads to take CoordsXYZ (#15253) 2021-08-24 16:26:52 +01:00
Hielke Morsink e48dd2d32b
Remove utf-8 BOM from source files (#15270) 2021-08-23 21:18:25 +02:00
Hielke Morsink 956e77f4c3
Use [[nodiscard]] for allocator and RAII functions (#15244) 2021-08-23 20:09:43 +02:00
ZehMatt c858f21845
Default initialize members the same way across the file 2021-08-23 14:41:18 +03:00
ZehMatt 07ceec6b60
Make all location types constexpr 2021-08-23 14:35:58 +03:00
frutiemax 046c060e74 Part of #13874: Replace Track Sequence properties 2021-08-22 18:01:03 -04:00
frutiemax a29b369ff8 Part of #13874: Replace Sequence Element Wall table 2021-08-22 17:58:52 -04:00
frutiemax 382315b2c3 Part of #13874: Replace block tables 2021-08-22 17:57:56 -04:00
frutiemax b5219d76d8 Part of #13874: Replace pricing tables 2021-08-22 17:55:17 -04:00
frutiemax 780eb4f287 Part of #13874: Replace piece lengths 2021-08-22 17:53:38 -04:00
frutiemax 716dd3dcb6 Part of #13874: Replace mirror maps 2021-08-22 17:52:56 -04:00
frutiemax 72e6f9a694 Part of #13874: replace height markers positions tables 2021-08-22 17:52:19 -04:00
frutiemax 1bfa26e4c5 Part of #13874: replace flags table 2021-08-22 17:51:35 -04:00
frutiemax 675777efaf Part of #13874: replace curvechain 2021-08-22 17:50:18 -04:00
frutiemax 5a8cc7c610 Part of #13874: Replace alternativeTypes 2021-08-22 17:49:39 -04:00
frutiemax 80418efafb Part of #13874: Replace TrackCoordinates 2021-08-22 17:49:00 -04:00
frutiemax 5c261b6d2e Part of #13874: TrackElementDescriptor loader 2021-08-22 17:47:10 -04:00
ζeh Matt f49559daa5
Fix #15259: Large scenery not rendering correctly 2021-08-22 22:05:05 +02:00
Michael Steenbeek 95111047b0
Merge pull request #15249 from Broxzier/feature/make_ptr
Refactor use of std::unique_ptr
2021-08-21 21:50:42 +02:00
Michael Steenbeek 7b3258b17e
Merge pull request #15248 from ZehMatt/refactor/paint-hierarchy
Refactor PaintAddImageAsParent overloads
2021-08-21 21:33:06 +02:00
ζeh Matt 3ab70b200b
Fix #15255: Wall banner index defaults to 0 instead of null type 2021-08-21 19:24:09 +02:00
spacek531 c49c6ca4a7
Rename animation vars 2021-08-21 19:23:27 +02:00
ζeh Matt 8de2965f13
Merge pull request #15231 from ZehMatt/fix-15169
Refactor out capturing of window pointers with GA callbacks
2021-08-21 06:07:35 -07:00
ZehMatt 0e08286d88
Apply review comments 2021-08-21 14:07:27 +03:00
Hielke Morsink 15d3a4a9da
Update more include guards (#15254) 2021-08-21 12:55:28 +02:00
Hielke Morsink dd2467d805
Update include guards
- Update from C-style to pragma once
- Add missing include guard to ui.h
2021-08-21 09:43:26 +02:00
Michael Steenbeek f5935931e3
Port remaining DrawTextWrapped calls with void args to Formatter 2021-08-21 09:42:05 +02:00
Hielke Morsink be4159f9ac Create std::unique_ptr<ILanguagePack>instead of raw pointer 2021-08-21 00:28:21 +02:00
Hielke Morsink cef26400cf Use std::make_unique instead of new for arrays 2021-08-21 00:28:21 +02:00
ZehMatt 8d801d9126
Apply review suggestion 2021-08-21 01:10:36 +03:00
Hielke Morsink 6011478590 Directly use std::unique_ptr prvalues
This removes the unnecessary constructor calls and improves flexibility in case of typename changes.
All cases, except for the one in Context.cpp, are temporaries.
2021-08-20 23:38:15 +02:00
Michael Steenbeek a38ae68f09
Remove Paint.cpp assertions
Before the refactor, the assertion read like this:
```
assert(static_cast<uint16_t>(bound_box_length_x) == static_cast<int16_t>(bound_box_length_x));
```
which meant that bound_box_length_x = 0 was valid. The refactor (likely accidentally) changed this, which causes assertions to get hit within 2 seconds after opening on my machine.

According to Duncan, the asserts are no longer necessary at all, so remove them altogether.
2021-08-20 23:27:58 +02:00
ZehMatt 15e32ce5f8
Simplify some arg passing on PaintAddImageAsParent 2021-08-20 23:34:44 +03:00
ZehMatt 77b06cbf9a
Use CoordsXY for haunted_house_bound_box and correct arg passing 2021-08-20 23:34:44 +03:00
ZehMatt 5f49276d53
Use CoordsXY for ferris_wheel_bound_box and correct arg passing 2021-08-20 23:34:44 +03:00
ZehMatt a5d2939108
Use CoordsXY for rct_crooked_house_bound_box and correct arg passing 2021-08-20 23:34:44 +03:00
ZehMatt 3d90257dde
Simplify more argument passing to PaintAddImageAsParent 2021-08-20 23:34:44 +03:00
ZehMatt 7764bb910f
Use CoordsXYZ instead of anonymous struct in unk_supports_desc 2021-08-20 23:34:44 +03:00
ZehMatt efa9af4610
Simplify passing args on PaintAddImageAsParent where possible 2021-08-20 23:34:44 +03:00
ZehMatt 7feea62ab3
Remove overload of PaintAddImageAsParent with bbox offset 2021-08-20 23:34:44 +03:00
ZehMatt 6c233ac802
Remove first overload of PaintAddImageAsParent 2021-08-20 23:34:44 +03:00
Michael Steenbeek c6a7829554
Fix #15245: Excitement factors are all listed as 0% 2021-08-20 13:05:54 +02:00
Margen67 a371d1ff11
Disallow opening problematic windows in multiplayer 2021-08-19 12:04:49 +02: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
Basssiiie 399f6f27b4
Fix #15176: Incorrect base height in tile inspector for track pieces (#15233) 2021-08-17 17:10:33 +01:00
ζeh Matt 4bc5f70581
Minor refactor work around the painting (#15226)
* Remove unused variables and drop packing of paint structs

* Move PAINT_QUADRANT_FLAGS out of the header

* Rename enum and variable to SortFlags

* Rename variable and document the sorting

* Apply review
2021-08-17 09:32:58 +01:00
ZehMatt 72a6373520
Guard code with DISABLE_NETWORK 2021-08-17 11:30:13 +03:00
ZehMatt b3bb2f5d80
Refactor NetworkBase to use the System base class 2021-08-17 07:22:04 +03:00
ZehMatt 1cfc933a59
Introduce a base class for system models 2021-08-17 06:58:42 +03:00
ZehMatt 4ece997ff3
Remove unused function network_close 2021-08-17 06:33:50 +03:00
ZehMatt 0960413927
Remove unused function network_send_map 2021-08-17 06:31:12 +03:00
ZehMatt b8a81ae1c7
Remove unused declarations 2021-08-17 06:30:16 +03:00
ZehMatt 95c2e817f7
Directly call functions in NetworkBase from Context 2021-08-17 06:29:29 +03:00
ZehMatt e440942c54
Remove SetEnvironment from NetworkBase and all its other wrappers 2021-08-17 06:25:47 +03:00
ZehMatt 40313b1ea3
Move network instance into Context 2021-08-17 06:20:07 +03:00
ZehMatt f4602f49c7
Remove capture of window pointer in RideConstruction.cpp 2021-08-17 00:43:03 +03:00
ZehMatt b7a4b00a07
Remove capture of window pointer in Player.cpp 2021-08-17 00:42:39 +03:00
Hielke Morsink 15ba3d3229
Fix compiler warning C4702 in ScMap.cpp
Co-authored-by: ZehMatt <m.moninger.h@gmail.com>
Co-authored-by: Ted John <ted@brambles.org>
2021-08-16 23:36:58 +02:00
ζeh Matt a721ce30e8
Merge pull request #15189 from ZehMatt/scripting/refactor
Re-arrange structure of scripting
2021-08-16 13:01:54 -07:00
Duncan 940cab87d3
Map size refactors from NSF (#15112)
* Support large map sizes

* Fix top spin painting

* Fix crooked house

* Increase bb size

* Decrease limit back

* Clang format

* Remove asserts and apply review comments

* Fix rebase mistake

Co-authored-by: Ted John <ted@brambles.org>
2021-08-16 20:51:16 +01:00
Kane bef853d0ab
Fix #15225: Some scenarios show incorrect name in-game
The S6Importer/SawyerChunkReader correctly decodes the scenario name and description and stores it under the rct_s6_info struct (info.name and info.details)

The problem is that on lines 369-370 the name and description are replaced with the scenario internal name and description - which is sometimes incorrect - specifically a number of scenarios by Frontier in the exapansion packs.
2021-08-16 21:01:37 +02:00
ζeh Matt 758ad547ce
Remove strdup in ObjectLoadError.cpp fixing a memory leak (#15218) 2021-08-16 14:18:22 +01:00
ζeh Matt 1553c904ea
Fix #15221: Update tile inspector highlighted element when order changes (#15223) 2021-08-16 10:36:02 +01:00
Michael Steenbeek 0bb0800b6c
Merge pull request #15144 from Gymnasiast/refactor/track-design-stuff
Refactor/track design stuff
2021-08-15 22:56:00 +02:00
Michael Steenbeek 8993e4d062
Use ObjectEntryIndex for entrance style 2021-08-15 22:54:43 +02:00
Kane 767dbfe41c
Issue #13814: Refactor window to class: Viewport (#15217)
* Issue #13814: Refactor window to class: Viewport

* Code style

* Code improvements

* Code improvements

Removes unnecessary private var _viewportWindowNumber
GetFreeViewportNumber function updates window->number
2021-08-15 16:09:08 +01:00
ζeh Matt 175394f15b
Fix #15193: Crash when rides/stalls are demolished 2021-08-15 14:28:08 +02:00
Gymnasiast 33b0963f53
Move scenery cost addition to the caller 2021-08-15 13:39:04 +02:00
Gymnasiast c071b61d3e
Use std::optional instead of std::pair 2021-08-15 13:12:05 +02:00
Gymnasiast 72404f1b85
Eliminate _trackDesignPlaceCost 2021-08-15 13:12:05 +02:00
Saad Rehman d6ad9b67e7
Fix #15161 #15159 one-off error when getting stationIndex (#15163)
* Fix #14918 refactor stationIndex and loop to avoid in/decrement to null

Fix #15161 #15159 one-off error when getting stationIndex

* Add const and remove unused variable

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2021-08-12 17:20:15 +01:00
Kane cf9bb4cd2c
Fix issue #15211: Rename RideConstructionState::Build to ...::MazeBuild (#15212)
Pull #15203 commited enum RideConstructionState missing the "Maze" part in "MazeBuild"
2021-08-12 16:43:34 +01:00
Michael Steenbeek 8f5ec43486
Pass derived tile element classes to functions (#15206) 2021-08-11 23:26:46 +02:00
ZehMatt 055ef31912
Fix compile error for missing return 2021-08-11 22:15:37 +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 53c5519cb3
Fix missing include and guard functions with network macro 2021-08-11 22:15:36 +03:00
ZehMatt 1848dd7839
Remove copy paste mistake #pragma once 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 68a795d607
Fix include 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 82451b031a
Fix declaration 2021-08-11 22:15:34 +03:00
ZehMatt 244025ec17
Fix includes 2021-08-11 22:15:34 +03:00
ZehMatt adf5829cd6
Re-arrange structure of scripting 2021-08-11 22:15:34 +03:00
Michael Steenbeek e547dd96db
Make RideConstructionState a strong enum 2021-08-11 17:51:59 +02:00
Michael Steenbeek 385c9ee5ff
Fix #15184: Crash when hovering over water types in Object Selection 2021-08-11 17:51:20 +02:00
Michael Steenbeek 1168425f14
Fix compilation on Ubuntu 20.04 / GCC 9 2021-08-11 16:37:42 +02:00
Basssiiie 23bae61b7a
Add new plugin API properties to entity, ride and park 2021-08-11 13:54:00 +02:00
Michael Steenbeek 177f19f64e
Remove unused track design symbols 2021-08-11 13:52:23 +02:00
ZehMatt 575a24956d
Feature #15164: Highlight selected Tile Inspector element 2021-08-10 16:49:41 +03:00
ζeh Matt 3ed2f8e98e
Merge pull request #15165 from ZehMatt/scripting/createEntity
Add createEntity API to scripting
2021-08-09 07:46:31 -07:00
Michael Steenbeek b4f3923162
Name byte_9D8150 2021-08-08 18:10:52 +02:00
Gymnasiast 5a721cc5e2
Make track_design_place_all_scenery() take a CoordsXYZ 2021-08-07 23:12:34 +02:00
Gymnasiast ada164ac92
Remove one write to gGameCommandErrorText
All callers assume the landscape data area is full if the function returns false and set that error themselves.
2021-08-07 23:10:28 +02:00
ZehMatt 29e5ec634c
Add litter entity to scripting 2021-08-07 22:28:48 +03:00
ZehMatt 94daa1e42c
Bump up scripting version 2021-08-07 22:05:15 +03:00
ZehMatt 5e3913965d
Add scripting API to create entities 2021-08-07 22:05:14 +03:00
ZehMatt c1d97b845e
Small cleanup in ScMap.hpp 2021-08-07 22:05:14 +03:00
Michael Steenbeek e3c918ba5b
Merge pull request #15174 from ZehMatt/scripting/deperecate-peep
Deprecate peep in scripting
2021-08-07 20:45:48 +02:00
ZehMatt 900f9c9190
Apply code review 2021-08-07 20:33:43 +03:00
ZehMatt 87fbb9faf5
Fix potential crash on corrupted network data 2021-08-06 20:30:03 +03:00
ZehMatt aa2b7d9972
Deprecate peeps property in scripting for Car entity 2021-08-05 17:16:42 +03:00
ZehMatt a7bef5442b
Allow plugins to target a specific API version 2021-08-05 17:16:42 +03:00
ZehMatt af102e391e
Return correct entity type, API breaking change 2021-08-05 17:16:42 +03:00
ZehMatt 8f23670df8
Bump up scripting version 2021-08-05 17:16:42 +03:00
ZehMatt 78cff6e293
Implement getter for "guest" and "staff" types in getAllEntities 2021-08-05 17:16:42 +03:00
Ted John 40a4a993de
Fix #15170: Plugin: incorrect label text alignment (#15175)
Initialise CustomWidgetDesc::TextAlign.
2021-08-04 21:47:13 +02:00
ocalhoun6 8a09406b64
Fix #13465: Creating a scenario based on a won save game results in a scenario that’s instantly won 2021-08-04 13:31:53 +02:00
Michael Steenbeek 2beed229a9
Fix negative Gs display (#15171) 2021-08-03 05:25:06 +01:00
Michael Steenbeek 3c86d56933
Merge pull request #15129 from ZehMatt/refactor/clang-tidy-01
Minor cleanup
2021-08-02 22:04:08 +02:00
Michael Steenbeek 8ecbabf8bf
Fix #14974: too many dodgems not handled correctly
Properly check if all vehicles have been created, and clean them up properly if not.
2021-08-02 22:02:06 +02:00
Gymnasiast 5ec2a2e471
Export gS6Info in S6Exporter 2021-08-02 20:38:02 +02:00
Ted John 5f853df1fd
Remove gS6Info 2021-08-02 20:38:02 +02:00
Michael Steenbeek 864de57877
Fix #14667: Unpurchaseable land tiles in Extreme Hawaiian Island 2021-08-01 17:26:43 +02:00
Ted John 417c0f584f
Handle > 255 rides in ride list window 2021-08-01 15:18:15 +02:00
Gymnasiast 277317b6f1
Bump network and plug-in API version 2021-08-01 15:15:33 +02:00
Michael Steenbeek abc4a02ff5
Fix missed ToMoney64() occurrence 2021-08-01 15:14:43 +02:00
Gymnasiast 114eff46f0
Remove static attribute from ToMoney64/32/16 2021-08-01 15:14:43 +02:00
Gymnasiast efb3f8394b
Convert to/from money64 during export; convert completed company value 2021-08-01 15:14:43 +02:00
Gymnasiast 584645a2d2
Fix 'Type too large' error 2021-08-01 15:14:43 +02:00
Gymnasiast 85043cb367
Fix abs error 2021-08-01 15:14:43 +02:00
Gymnasiast 2b78ee7b26
Create other variants of ToMoney# 2021-08-01 15:14:43 +02:00
Gymnasiast 93515f4414
Use money64 for land and water tools
Should hopefully also fix CI.
2021-08-01 15:14:43 +02:00
Gymnasiast 676ef7205e
Change all calls to DrawTextBasic to use Formatter 2021-08-01 15:14:43 +02:00
Gymnasiast c97e8d36f1
Fix money effect 2021-08-01 15:14:43 +02:00
Gymnasiast c06d37021b
Change gClearSceneryCost to money64 2021-08-01 15:14:43 +02:00
Matt d9003b05ef
Use money64 for track design costs 2021-08-01 15:14:43 +02:00
Gymnasiast f1a67dda61
Fix water window cost display 2021-08-01 15:14:42 +02:00
Ted John 58ae6bbd8a
Fix money64 issue in scenario options 2021-08-01 15:14:42 +02:00
Ted John e56b7ae4a4
Fix more money64 issues 2021-08-01 15:14:42 +02:00
Gymnasiast 7f4927ced6
More money64 fixes 2021-08-01 15:14:42 +02:00
Gymnasiast f3337de260
Fix weekly profit import 2021-08-01 15:14:42 +02:00
Gymnasiast 8af70cf402
Correctly import ride profits 2021-08-01 15:14:42 +02:00
Ted John 74de598cc0
Fix money formatting on cheat window 2021-08-01 15:14:42 +02:00
Ted John 77a46a3d34
Another money64 fix 2021-08-01 15:14:42 +02:00
Ted John 407fafbced
Fix more money64 issues 2021-08-01 15:14:42 +02:00
Ted John 70d9c1438e
Change most things and formatting to money64 2021-08-01 15:14:42 +02:00
Kane 9ba19689d7
Fix #15148: Track Designs Manager delete confirmation window doesn't display properly (#15150)
* Fix #15148: Track Designs Manager delete confirmation window doesn't display properly

* Fix #15148: Track Designs Manager delete window doesn't display properly

* More descriptive name for window size constants.

* More constants usage, and fixed code style.

* Fix code formatting.
2021-08-01 11:55:44 +01:00
Kane bd8d3934e0
Close #15143: Add a shortcut key for Giant Screenshot 2021-08-01 09:20:34 +02:00
ζeh Matt c0eade9c88
Merge pull request #15133 from SaadRehmanCS/bug-branch
Fix #14918 refactor while loop and int variable size
2021-07-31 12:10:30 -07:00
ζeh Matt 6b94e81622
Fix dereferencing memory from a temporary object (#15137) 2021-07-31 15:34:40 +01:00
Duncan 69f0020a62
Fix #8601: Revert fix to TT’s base blocks, for support blocker usage 2021-07-31 14:10:00 +02:00
Basssiiie 15423acf4a
Move ToonTowner mine roofs to mine theme instead of pirate theme 2021-07-31 11:00:41 +02:00
saad 2febffb721 Fix #14918 remove whitespace 2021-07-31 00:34:47 +04:00
Duncan 465d1c5414
Cleanup of Banner related actions (#15126)
* Close #15107. Use correct type and provide appropriate error messages

* Add further error messages to actions

* Apply review comments
2021-07-30 20:53:13 +01:00
ZehMatt 2a3b25af9a
Mark values constexpr in FileAudioSource 2021-07-30 21:31:10 +03:00
ZehMatt fbc689818e
Default initialize ErrorMessageArgs in GameAction Result 2021-07-30 21:31:10 +03:00
ZehMatt b111e104e3
Add missing return statement for the nullptr path 2021-07-30 21:31:10 +03:00
ZehMatt aeb68008fa
Fix uninitialized variable in Http.h 2021-07-30 21:31:10 +03:00
ZehMatt b992951bb2
Default initialize SortOrder in ListViewColumn 2021-07-30 21:31:10 +03:00
ZehMatt ee129db4e0
Move static initialization out and fix bounds check 2021-07-30 21:31:10 +03:00
ZehMatt 0f74591f40
Use std::vector<> instead of malloc/free in CursorRepository.cpp 2021-07-30 21:31:10 +03:00
ζeh Matt 07bfe11847
Merge pull request #15124 from ZehMatt/fuzzer-fixes
Small network fixes
2021-07-30 11:26:58 -07:00
ζeh Matt 43b7c3a204
Fix potential nullptr dereference (#15134) 2021-07-30 14:33:48 -03:00
saad ab96ca8516 Fix #14918 rename eax and refactor while loop to avoid overflow 2021-07-30 19:34:42 +04:00
saad fd823c8acb Fix #14918 refactor while loop and int variable size 2021-07-30 18:38:42 +04:00
andrewpratt64 62d66ca9d0
Add hook for vehicle crashes to plugin api (#15084)
* Add initial implementation of "vehicle.crash" hook for the scripting api

The hook will fire whenever a vehicle crashes, i.e. an individual car
explodes and it's status becomes "Crashed!"

* Update contributors.md

Add name to contributors list under the "Additional implementation (OpenRCT2)" section.

- If the added line needs to be changed or removed entirely let me know

- I added this based off of the Github wiki: "If it's the first time you're contributing with the project, make sure to update the contributors.md file by appending your name at the end of the respective list."

* Move hook code into function

* Rename hook function

Renamed function, "FireVehicleCrashHook" to "InvokeVehicleCrashHook"

* Wrap InvokeVehicleCrashHook in #ifdef

Move the #ifdef from inside the function body to the outside

* Update changelog and api version

- Added entry to changelog
- Increment API version

* Fix whitespace

Replace tab character with four spaces

* Update src/openrct2/scripting/HookEngine.cpp

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2021-07-30 09:03:15 -03:00
ZehMatt dd2ffec14b
Code review changes 2021-07-29 20:08:57 +03:00
ZehMatt 4f54aa5c42
Limit the count of packets processed per update 2021-07-29 20:06:38 +03:00
ZehMatt 6877b8214a
Fix unhandled exceptions during packet processing 2021-07-29 20:06:36 +03:00
ZehMatt d9f9e7542a
Use EnumMap for HookEngine lookups 2021-07-29 17:07:49 +03:00
ZehMatt e520e4f991
Use EnumMap for RideObject lookup tables 2021-07-29 17:07:48 +03:00
ZehMatt e991c128dc
Use EnumMap for format token lookups 2021-07-29 17:07:48 +03:00
ZehMatt 3fbfa26dd3
Use EnumMap for Cursors string lookup 2021-07-29 17:07:48 +03:00
ZehMatt f44687b6b2
Use EnumMap for lookup tables in scripting 2021-07-29 17:07:48 +03:00
ZehMatt ce8040b858
Use EnumMap for string to colour conversion 2021-07-29 17:07:48 +03:00
ZehMatt a36e0a32f7
Add EnumMap container for bidirectional key, enum mapping 2021-07-29 17:07:48 +03:00
Michael Steenbeek 1ea9bbbb1b
Fix formatting 2021-07-29 13:32:48 +02:00
Kane dbdca55645
Fix #14316: Closing the Track Designs Manager window causes broken state
When exiting the Track Design Manager window the user was placed into the scenario editor in a broken state.
User is now returned to the main menu when the window is closed.
2021-07-29 12:44:24 +02:00
Michael Steenbeek 71ff9bf6d6
Allow loading images from .pob files (#15122) 2021-07-28 21:25:51 +02:00
ζeh Matt 87007ba2a3
Change track paint signature to pass ride instead of ride index 2021-07-28 18:21:59 +02:00
Gymnasiast 6f9468a316
Implement invisible platforms on some tracked rides 2021-07-28 11:23:09 +02:00
Gymnasiast 5486dd3fa4
Hide wooden platforms when the “no platforms” station style is selected 2021-07-28 11:22:55 +02:00
Gymnasiast bb682ca09d
Hide brown base on flat rides if "no platform" station style is selected 2021-07-28 11:22:44 +02:00
Michael Steenbeek ab18612882
Remove Music Acknowledgements window (#15116)
It was of limited use to us anyway since we didn’t license the music ourselves, but now the actual track names and composers are shown in the Object Selection, the window lost its last bit of usefulness.
2021-07-28 10:26:35 +02:00
Michael Steenbeek f3aac0bb96
Merge pull request #15113 from ZehMatt/fix-nsf-pathfinding
Fix path finding for larger maps
2021-07-28 09:21:52 +02:00
Michael Steenbeek 0b6e80c7d4
Add error message body to failed Place Park Entrance action 2021-07-27 23:50:16 +02:00
ZehMatt b7b3418b75
Fix setNull on inherited classes leaving uninitialized variables 2021-07-27 21:34:53 +03:00
ZehMatt 163fe3756d
Fix GameStateSnapshots buffer overrun 2021-07-27 21:10:06 +03:00
Duncan d76611e0f2
Actually allocate a banner when using GetOrCreateBanner
When importing a file this function is used to create a banner at a certain index. Previously this was not assigning the id to the banner id. Luckily as banner id is a new field this did not cause any issues except in the nsf which does use the banner id more extensively
2021-07-27 19:58:09 +02:00
ZehMatt ac08049472
Adapt SV6 import and export for peep path-finding data 2021-07-27 20:40:19 +03:00
ZehMatt bb6b931a7d
Use TileCoordsXYZ in path finding for bigger map support 2021-07-27 20:39:39 +03:00
ZehMatt 0e7d05a5ad
Add TileCoordsXYZD serialiser traits 2021-07-27 20:15:10 +03:00
ZehMatt b9ec5d079e
Add construction of TileCoordsXYZD with TileCoordsXYZ 2021-07-27 19:57:45 +03:00
Michael Steenbeek 7b7744057e
Merge pull request #15101 from ZehMatt/crashdumps
Dump crash dumps into a different directory and include version in reports
2021-07-27 18:02:47 +02:00
ZehMatt 47287e7fb1
Save crash dumps into a separate directory 2021-07-27 18:39:13 +03:00
ζeh Matt afc4cd7cba
Refactor ride construction code into a new unit 2021-07-27 17:21:03 +02:00
Michael Steenbeek 9c2fb84a53
Invalidate screen when toggling transparent water flag
Pointed out here: https://github.com/OpenRCT2/OpenRCT2/issues/14753#issuecomment-849024680
2021-07-27 12:16:36 +02:00
ζeh Matt 13aee659f0
Fix #15096: Crash placing entrance near corner in scenario editor 2021-07-27 12:02:34 +02:00
Duncan e9eb1b8304
Banner Refactor from NSF (#14788)
* Banner refactor

* Fix mistake in fix_duplicated_banners

* Reduce limit back

* Fix export

* Free banner on delete

* Increment network version

* Fix potential banner pointer crashes

Co-authored-by: Ted John <ted@brambles.org>
2021-07-27 10:25:58 +01:00
Michael Steenbeek 6405d0246c
Fix #14612: Crash in research_insert_ride_entry() 2021-07-26 22:23:03 +02:00
Michael Steenbeek ba6407f649
Fix #5465: improper types in Objective::CheckGuestsBy() 2021-07-26 21:23:41 +02:00
Michael Steenbeek d880fbda56
Use constant for RCT1 max map size 2021-07-26 21:17:33 +02:00
Michael Steenbeek 4f80ef50ef
Fix #15086: Crash in vehicle_create_trains() 2021-07-26 21:17:17 +02:00
ZehMatt dab33b3347
Add version to the crash dump info 2021-07-26 00:39:39 +03:00
duncanspumpkin 5087e77032 Release v0.3.4.1
- Fix: [#15028] Crash when placing large scenery.
- Fix: [#15048] Crash when removing litter with cheats.
- Fix: [#15052] Crash when using banner window.
- Fix: [#15063] Crash when opening large scenery signs.
- Improved: [#12626] Allow using RCT2 saves to mark RCT Classic (.sea) parks as finished and vice versa.
2021-07-25 20:16:08 +01:00
duncanspumpkin e8e7bdb776 Update Backtrace.io token for v0.3.4.1 2021-07-25 20:04:58 +01:00
Hielke Morsink c887a049d2
Fix various Cppcheck warnings (#15081) 2021-07-24 23:41:50 +02:00
Duncan cd98ca0d8e
Fix 15063 (#15064)
* Fix #15063. Sign window crash on open

* Update changelog
2021-07-23 19:37:24 +01:00
ZehMatt c15f17c49a
Fix potential null dereference 2021-07-22 22:14:12 +03:00
ZehMatt e4758df2e9
Fix #15048: Crash removing litter from cheats 2021-07-22 22:14:12 +03:00
Duncan 90fbbe14ed
Fix 15052 (#15054)
* Fix #15052. Crash when using banner window

Bug introduced during refactor. Refactor introduces a pointer that will go invalid. When the pointer was invalid the game would crash.

* Update changelog
2021-07-22 15:15:59 +01:00
Duncan bbef85e752
Fix #15028, #15042. Crash when placing large scenery (#15043)
* Fix #15028, #15042. Crash when placing large scenery

When the fragmented tile element limit is reached whilst placing a large scenery ghost the game will perform a reorg of the map elements invalidating tile element pointers. As large scenery are multi tiled this can happen mid action invalidating the pointer that was allocated for the first tile element. Large scenery actions pass back the first tile element pointer to the calling function for use with ghost removal. When this pointer is invalid it causes the crash. The ultimate fix for this would be to create an undo function for actions. As an interim the function has been modified to return the first tile height.

* Update changelog
2021-07-21 13:01:09 +01:00
Gymnasiast 2a175e7678
Split off mini golf acceleration calculation 2021-07-20 15:01:18 +02:00
Gymnasiast 1965aaca73
Replace loc_6DBA33 with a loop 2021-07-20 14:48:18 +02:00
Gymnasiast 3966c6f7a4
Cleanup gotos to loc_6D8E36 2021-07-20 14:43:29 +02:00
Gymnasiast d0436c7379
Rename unkF64E35 to stationBrakesWork 2021-07-20 14:35:01 +02:00
Michael Steenbeek 2a9481bb99
Add Πligature 2021-07-20 14:28:43 +02:00
Michael Steenbeek 3bb15d9067
Support drawing em-dashes
These are used in the French translation.
2021-07-20 13:34:22 +02:00
Michael Steenbeek 6a44b7cc5d
Merge pull request #15024 from Gymnasiast/refactor/remove-gotos
Remove gotos from Map.cpp
2021-07-20 11:18:57 +02:00
Michael Steenbeek 4760642fd5
Clean up New Scenario window
Backported from https://github.com/OpenRCT2/OpenRCT2/pull/14919.
2021-07-19 17:24:12 +02:00
Struan Clark aa69593064
Close #12626: Allow completing RCTC scenarios with RCT2 saves 2021-07-19 16:12:03 +02:00
Gymnasiast af0d4a0b63
Integrate loc_68BABC 2021-07-19 15:14:31 +02:00
Gymnasiast f54b008ac3
Spin off MapLoc68BABCShouldContinue() 2021-07-19 15:13:19 +02:00
Gymnasiast 41e564d16c
Integrate loc_68B9B7 2021-07-19 15:01:00 +02:00
Gymnasiast 95fa0e34e0
Integrate loc_68BAE6 2021-07-19 14:57:32 +02:00
Gymnasiast e0daac9442
Release v0.3.4
- Feature: [#13967] Track List window now displays the path to the design when debugging tools are on.
- Feature: [#14071] “Vandals stopped” statistic for security guards.
- Feature: [#14169] Lighting effects for shops and stalls.
- Feature: [#14296] Allow using early scenario completion in multiplayer.
- Feature: [#14538] [Plugin] Add property for getting current plugin api version.
- Feature: [#14620] [Plugin] Add properties related to guest generation.
- Feature: [#14636] [Plugin] Add properties related to climate and weather.
- Feature: [#14731] Opaque water (like in RCT1).
- Change: [#14496] [Plugin] Rename Object to LoadedObject to fix conflicts with Typescript's Object interface.
- Change: [#14536] [Plugin] Rename ListView to ListViewWidget to make it consistent with names of other widgets.
- Change: [#14751] “No construction above tree height” limitation now allows placing high trees.
- Change: [#14841] Redesign the About window, including new button to copy the current version info.
- Fix: [#11829] Visual glitches and crashes when using RCT1 assets from mismatched or corrupt CSG1.DAT and CSG1i.DAT files.
- Fix: [#12262] Windows can appear off screen with small screens or high scaling.
- Fix: [#13581] Opening the Options menu causes a noticeable drop in FPS.
- Fix: [#13894] Block brakes do not animate.
- Fix: [#13986] OpenGL: Track preview window, flip/rotate button do not update the thumbnail.
- Fix: [#14315] Crash when trying to rename Air Powered Vertical Coaster in Korean.
- Fix: [#14330] join_server uses default_port from config.
- Fix: [#14415] Entrances/exits are removed when built on top of each other.
- Fix: [#14449] Surface smoothing at extra zoom levels not working.
- Fix: [#14468] Cannot close Options window on Android.
- Fix: [#14493] [Plugin] isHidden only works for tile elements up to the first element with a base height of over 32.
- Fix: [#14587] Confusing message when joining server with mismatched network version.
- Fix: [#14604] American-style Steam Trains are not imported correctly from RCT1 saves.
- Fix: [#14638] The “About OpenRCT2” window cannot be themed.
- Fix: [#14682] Crash when painting Swinging Ships with invalid subtype.
- Fix: [#14707] Crash when window is closed during text input.
- Fix: [#14710] Ride/Track Design preview does not show if it costs more money than available.
- Fix: [#14774] Incorrect import of scenery research caused all scenery to be unlocked.
- Fix: [#14806] Incorrect function call in WallPlaceAction plugin code.
- Fix: [#14871] Crash when trying to place track when there are no free tile elements.
- Fix: [#14880] Unable to close changelog window when its content fails to load.
- Fix: [#14945] Incorrect drop height penalty on log flume ride.
- Fix: [#14964] Unable to build in multiplayer as client with "Build while paused" cheat enabled when the host is paused.
- Improved: [#14511] “Unlock operating limits” cheat now also unlocks all music.
- Improved: [#14712, #14716] Improve startup times.
- Improved: [#14982] Add Malgun Gothic and change Nanum Gothic filename for Korean.
2021-07-19 12:54:49 +02:00
Gymnasiast 5584c96d33
Update Backtrace.io token for v0.3.4 2021-07-19 12:50:08 +02:00
duncanspumpkin 6116b490eb
Revert place park entrance change
Incorrectly changed. ParkEntrances can go nearer to the edge.
2021-07-19 12:17:23 +02:00
duncanspumpkin ae6657dcdc
Close #14903. Use map_is_edge 2021-07-19 12:17:22 +02:00
Michael Steenbeek 9f4374b9d3
Merge pull request #14982 from telk5093/develop
Add Malgun Gothic and change Nanum Gothic for Korean
2021-07-12 23:07:20 +02:00
Daniel Karandikar b017ea4159
Fix [#12262]: Windows can appear off screen in some cases (#14881)
Fix: [#12262] Windows can appear off screen with small screens or high scaling.
2021-07-03 09:38:39 -03:00
TELK 82e72afde5 Change y_offset and hintings of Nanum Gothic TTF Font for Korean 2021-07-03 15:32:41 +09:00
TELK a642b53088 Add Malgun Gothic as a TTF font alternative for Korean 2021-07-03 15:21:54 +09:00
ζeh Matt 6863da569f
Refactor ride rating to allow multiple updates (#14963)
* Refactor rating calculation to pass the state allowing multiple updates

* Rename RideRatingUpdateData to RideRatingUpdateState
2021-06-30 19:57:27 +01:00
ζeh Matt b2387d06b6
Fix #14964: Building in multiplayer while paused 2021-06-30 20:51:04 +02:00