Nicole
d38fb6a7a2
Fix #8800 : ensure tile_element_height is used correctly ( #9087 )
...
* Changed calls to tile_element_height to tile_element_water_height
* Changes to calls to tile_element_height
* Removed tile element_height, map_get_highest_land_height, and map_get lowest_land_height
3 functions removed due to relocation.
* Added function tile_element_height back to map.cpp
Added tile_element height back to map.cpp. Was unnecessarily deleted.
* Update Map.h
* water_height changes
* Update Scenario.cpp
* Update Scenario.cpp
* Fix 8800: applied clang format
* Removed unnecessary ANDs
2019-04-23 18:26:48 +01:00
Michael Steenbeek
42a1a8704d
Use empty() for vectors; clean up bool comparisons ( #9118 )
2019-04-20 20:39:47 +02:00
duncanspumpkin
30a5194085
Use a vector for map selection tiles
2019-04-04 19:23:44 +01:00
Matt
c520b0061e
Refactor large_scenery_sign_fit_text to not return static local.
2019-04-02 20:14:50 +02:00
Matt
4b1e7c3dd2
Remove _unk9E32BC from global scope and make it local
2019-03-31 17:15:15 +02:00
Matt
37c3809744
Implement partial multicore rendering
2019-03-31 15:50:55 +02:00
Aaron van Geffen
2af13904c5
Update copyright notices for 2019. ( #8903 )
2019-03-17 07:16:15 +00:00
Michael Steenbeek
6884eac24c
Turn railing support type into enum class
2019-03-16 14:21:44 +01:00
Michael Steenbeek
602821a389
Split path surface objects into paths and queues
2019-03-16 12:37:32 +01:00
Ted John
cdec457abd
Refactor peep struct
2019-02-28 20:28:58 +01:00
duncanspumpkin
9d78bb0d4e
Fix compile and formating
2019-02-27 10:54:08 +00:00
duncanspumpkin
fae15fceca
Use IsBroken
2019-02-27 10:49:48 +00:00
duncanspumpkin
6495ffdb34
Use IsBlockedByVehicle
2019-02-27 10:49:48 +00:00
duncanspumpkin
112b40910b
Pass a bool to the set function. Make review changes
2019-02-25 20:44:12 +00:00
duncanspumpkin
737c308e4e
Use IsGhost() to access ghost state
...
Added set and clear ghost to further prevent direct access to flags
2019-02-25 15:12:35 +00:00
Michael Steenbeek
2a4215a30f
Create constant for SCROLLING_MODE_NONE
2019-02-14 22:41:48 +01:00
Michael Steenbeek
4e9d2ce764
Split footpath object into two internally
2019-01-20 21:38:38 +01:00
Gymnasiast
cd8227c756
Clean up magic numbers in footpath corner drawing
2019-01-20 17:54:30 +01:00
Gymnasiast
ad2698df0d
Move 'should draw path over supports' to tile element
2019-01-20 17:23:27 +01:00
Gymnasiast
1f6d4caf7c
Rename some variables
2019-01-20 17:23:27 +01:00
Gymnasiast
2f0b6a9652
Rename FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE
2019-01-20 17:23:27 +01:00
Gymnasiast
73e25399d3
Rename footpathEntry to railingEntry where appropriate
2019-01-20 17:23:27 +01:00
Gymnasiast
9da5b5d513
Rename path_paint_{box,pole}_support parameter
2019-01-20 17:23:27 +01:00
Michael Steenbeek
6ef01b3cd3
Name some path drawing variables
2019-01-18 20:35:43 +01:00
Richard Fine
e90e9dd73f
Introduce many uses of direction_reverse
...
Change many of the places doing the ^2 trick to use direction_reverse instead, for improved readability.
2019-01-05 15:41:46 +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
ζeh Matt
7d19a5bc77
Refactor memcpy to std::memcpy and memset to std::memset ( #8408 )
2018-12-15 22:23:31 +01:00
Ted John
06f203a7e7
Implement surfaces, edges and stations as objects
2018-12-09 23:30:40 +00:00
Matt
468d94a6ca
Remove gCurrentViewportFlags
2018-12-05 23:09:17 +01:00
ζeh Matt
940fff4bbf
Fix dereferencing nullptr when game objects are missing. ( #8360 )
2018-12-05 22:59:15 +01:00
Hielke Morsink
354d973a48
Use std::size instead of Util::CountOf
2018-11-23 21:59:08 +01:00
Michael Steenbeek
f8add7f62e
Rename rct_tile_element to TileElement
2018-11-01 13:53:50 +01:00
Michael Steenbeek
5f4cca3c7e
Remove rest of access to footpath edges
2018-10-31 15:08:06 +01:00
Michael Steenbeek
d89c3d9e67
Replace calls to get path edges
...
This replaces most calls/direct access to the footpath edges (i.e. the orthogonal directions, not the corners). This includes places where the whole byte was retrieved, but only compared against orthogonal directions.
2018-10-31 15:08:06 +01:00
Michael Steenbeek
af2c1e69d1
Remove residual access to path addition_status field
2018-10-31 13:10:07 +01:00
Michael Steenbeek
853e4c4a6a
Remove residual access to path ride_index field
2018-10-31 13:09:53 +01:00
Michael Steenbeek
66cde65f87
Replace C style function for getting slope direction
2018-10-31 13:09:19 +01:00
Gymnasiast
a6885ea464
Replace C-style functions for getting direction
2018-10-04 14:54:12 +02:00
Gymnasiast
015ece94c6
Replace C-style functions for getting path entries
2018-10-04 12:13:17 +02:00
Gymnasiast
ecd6247462
Replace C-style functions for checking getting path additions
2018-10-04 12:13:17 +02:00
Gymnasiast
ee05438953
Replace C-style functions for checking path addition ghost status
2018-10-04 12:13:17 +02:00
Gymnasiast
e159ac65a6
Replace C-style functions for IsWide() and SetWide()
2018-10-04 12:13:17 +02:00
Gymnasiast
f9f233dbb1
Replace C-style function for HasQueueBanner()
2018-10-04 12:13:17 +02:00
Gymnasiast
37f59e17dc
Replace C-style isSloped() function
2018-10-04 12:13:17 +02:00
Michael Steenbeek
882a65e4c0
Port queue functions
2018-10-03 12:18:21 +02:00
Michael Steenbeek
3b7fc4cf8c
Port rest of banner functions
2018-09-27 22:15:04 +02:00
Michael Steenbeek
d01b21a1ac
Port banner index
2018-09-27 22:15:04 +02:00
Michael Steenbeek
995c6debf1
Port entrance path type lookup
2018-09-27 22:15:04 +02:00
Michael Steenbeek
3c93aca727
Port entrance station index and sequence lookup
2018-09-27 22:15:04 +02:00
Michael Steenbeek
c7eaa1ba80
Port entrance ride index lookup
2018-09-27 22:15:04 +02:00
Michael Steenbeek
cc7f8e612d
Port entrance type lookup
2018-09-27 22:15:04 +02:00
Michael Steenbeek
75b5c45a97
Remove residual direct access to most track fields
2018-09-25 21:57:21 +02:00
Michael Steenbeek
6062960390
Port remaining wall stuff to struct methods
2018-09-17 15:42:34 +02:00
Michael Steenbeek
508276b081
Remove lots of direct access to ->type fields
2018-09-17 15:18:07 +02:00
Michael Steenbeek
345e03d41b
Move animation frame and rct1 wall functions to methods
2018-09-17 14:48:27 +02:00
Michael Steenbeek
dcabdeb805
Move wall colour functions over to the struct methods
2018-09-17 14:22:17 +02:00
Michael Steenbeek
66f9e9d646
Properly reset surface objects
2018-09-17 13:17:47 +02:00
Gymnasiast
0f08128657
Fix formatting
2018-09-16 21:34:51 +02:00
Michael Steenbeek
74ccf010e6
Port surface elements to new structure
2018-09-16 21:34:51 +02:00
Michael Steenbeek
35b4724626
Port large scenery to new structure
2018-09-16 21:34:50 +02:00
Michael Steenbeek
1d3baef9b7
Remove some C-style tile element functions
2018-09-16 21:34:04 +02:00
Gymnasiast
865a497115
Fix formatting
2018-09-13 20:14:44 +02:00
Michael Steenbeek
a31176b7e7
Remove remnants of old small scenery code
2018-09-13 18:12:20 +02:00
Michael Steenbeek
b5bb4c7fb9
Do not access old small scenery age field
2018-09-13 17:26:36 +02:00
Michael Steenbeek
e9993f78de
Replace read access of small scenery entry index
2018-09-13 17:02:38 +02:00
Michael Steenbeek
a02d360df6
Change TileElement to use OpenLoco's structure
2018-09-13 15:36:32 +02:00
Gymnasiast
6fc86d5766
Fix #7872 : CJK tooltips are often cut off
2018-08-13 21:41:10 +02:00
Linus Unnebäck
fd07be587a
Remove Math::Clamp in favour of std::clamp
2018-08-12 16:47:12 +01: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
fdc6e52da1
Correct formatting in files from network to paint
2018-07-23 16:00:15 +02:00
clang-format
191973b202
clang-format paint
2018-07-23 16:00:06 +02:00
Michael Steenbeek
1b08fb4e69
Replace our own integer types with standard ones
2018-06-20 17:30:40 +02:00
Michael Steenbeek
ec3a1e575e
Replace Math::Min and Max with std variants
2018-06-20 17:11:35 +02:00
Hielke Morsink
14d6625c15
Merge pull request #7695 from Broxzier/wide-path-debug
...
Add debug option to visualize wide path flags.
2018-06-15 17:07:50 +02:00
Hielke Morsink
0fda25d365
Add debug option to visualize wide path flags.
...
This implements #7694
2018-06-15 16:08:25 +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
7355b497a1
Use new banner index type
...
BannerIndex is defined in common.h (like some other types such as money32 and rct_string_id), so that banner.h wouldn't have to be includede everywhere. Later on, it may be nicer to have a custom types file instead of putting them all in common.h.
2018-06-11 13:29:41 +02:00
Hielke Morsink
ead97a4638
Split colour into union with ride index
...
The colour field in the banner object is also used to store the ride index when a banner is linked to a ride. This commit turns this field into a union with both named fields, to make the code clearer.
It also changes the return types of related functions to uint8 instead of sint32, and makes use of the RIDE_ID_NULL define where applicable.
2018-06-11 13:21:48 +02:00
Michał Janiszewski
bcd4e9c50b
Merge pull request #6284 from janisozaur/compiler-warnings
...
Compiler warnings
2018-06-11 11:06:34 +02:00
Michał Janiszewski
1d28826b79
Fix -Wdocumentation and add it to default warnings
2018-06-11 09:52:54 +02:00
Ted John
d1d9f0a86a
Add debug drawing option for blocked tiles
...
Replace old unused original drawing code toggle options with new option to show which tiles are blocked by vehicles.
2018-06-10 22:59:58 +01:00
Jeroen D Stout
1f7dbe1178
Debug-show tiles which are blocked by vehicles as coloured
2018-06-10 22:59:58 +01:00
Hielke Morsink
de3cab59bb
Fix warnings reported by travis
2018-06-05 16:07:54 +02:00
Ted John
92f6ac7333
Rename header files to match renamed source files
2018-06-01 09:38:30 +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
Aaron van Geffen
bf44007197
Allow fine-tuning the virtual floor style ( #7577 )
...
The virtual floor by @JeroenDStout, introduced in the v0.1.2 release, has generally been well-received. However, some players find it too intrusive in its current appearance (cf. #7221 ). This PR gives them the option of a toned-down version, rather than having to turn it off completely.
![screenshot_20180528_221350](https://user-images.githubusercontent.com/604665/40628292-6e71358e-62c4-11e8-9293-e166e75d0da6.png )
The clear/transparent style, introduced by this PR, looks like the virtual floor as originally introduced in #6338 :
![](https://user-images.githubusercontent.com/14242454/31050274-e3f0e62e-a645-11e7-9b10-ec26b733d631.gif )
The glassy/translucent style is the virtual floor as we've come to know it since the v0.1.2 release, and remains the default setting.
2018-05-30 13:09:50 +02:00
Michael Steenbeek
b573bd49b3
Replace all occurrences of tile_element_is_last_for_tile()
2018-05-24 11:44:53 +02:00
ζeh Matt
ee56021067
Minor code cleanup. ( #7538 )
2018-05-18 22:50:57 +02:00
Ted John
34531f7afb
Fix signed/unsigned mismatch warnings ( #7529 )
...
Unignore MSVC warning: C4245:
'conversion_type': conversion from 'type1' to 'type2', signed/unsigned mismatch
2018-05-16 21:22:17 +01:00
Hielke Morsink
9cec47c6e6
Remove duplicated code ( #7527 )
...
The same check is performed later on right before `edgeStyle` gets used.
2018-05-16 15:03:58 +02:00
Aaron van Geffen
829ac11bec
Merge pull request #7519 from IntelOrca/refactor/new-object-types-prep
...
Refactor code around object types
2018-05-15 15:10:16 +02:00
Hielke Morsink
1721a397fc
Fix drawing edges for surfaces with water
2018-05-15 01:41:54 +02:00
Ted John
f8271e93b0
Refactor code base to allow easy addition of new object types
2018-05-15 00:32:36 +01:00
Hielke Morsink
efded3e0d2
Always paint edges for tiles next to tiles that don't get drawn
...
This also makes it so that when a surface is cut off by the clip height, the neighbour tiles will draw the edges too, making the surface appear as a pit instead of a blank tile.
I've renamed some of the variables and added a few comments to make the code easier to understand. I've also left a todo comment for a future improvement - the current call isn't expensive so it won't become a bottleneck in the meantime.
2018-05-15 00:21:03 +02:00
Hielke Morsink
4e5f5de1a3
Update the year in copyright notice for changed files
2018-05-12 14:24:51 +02:00
Hielke Morsink
9034a0bce9
Restore old selection when the tool gets interupted
...
And re-type the selection variables to use LocationXY8 instead of storing them separately.
2018-05-12 14:24:47 +02:00
Hielke Morsink
f1bbf077d6
Add clip selection
...
This allows the user to select an area of tiles. Anything outside of this area won't be drawn.
2018-05-12 14:24:01 +02:00
Michael Steenbeek
83b4bcb068
Prepare tunnel door support
2018-05-10 09:39:33 +02:00
Michael Steenbeek
5f9d40be7a
Replace tile_element_get_type() with struct method
2018-05-02 19:27:04 +02:00
Michael Steenbeek
b725916808
Use TitleCase
2018-05-02 13:27:53 +02:00
Michael Steenbeek
ef433df26a
Clean up tile element usage, introduce struct methods
2018-05-02 11:58:12 +02:00
oli414
c5fd9e67eb
Seperate tile element from map
2018-05-01 17:47:00 +02:00
oli414
3bff12c081
Seperate surface tile element
2018-05-01 16:33:16 +02:00
Hielke Morsink
30063984e6
Delete unused function arguments or mark them so ( #7426 )
...
This aims to make future refactoring easier. The arguments are removed where possible, but kept and marked with C++17's [[maybe_unused]] where they could not be removed (e.g. when they are used as a callback, rather than called directly).
I've skipped the rides/<category>/* and peep/* source files, because the rides source files are mostly generated and have a ton of unused variables, and the peep source files are being refactored.
I've also skipped most of window/* source files, because most of the functions are used as callbacks and will be bulk-renamed at some point.
2018-04-20 13:56:37 +02:00
Duncan
0ab3d0955c
Merge pull request #7310 from OpenRCT2/json-objects
...
Add support for new JSON object format
2018-04-08 10:45:55 +01:00
Hielke Morsink
9f7d4f1bc4
Fix clipheight assuming tile order
...
Instead of breaking the loop when running into an element that's above the clip height, only skip it - the next element may still be below the clip height.
The check for the first tile could be removed entirely. The screen gets cleared every frame when the clip height flag is set already.
2018-03-27 22:17:58 +02:00
Ted John
7c05e22cd0
Refactor large scenery tile flags field
2018-03-26 21:37:23 +02:00
Michał Janiszewski
cd065d4f41
Reduce includes in common header
2018-03-20 00:27:58 +01:00
Michał Janiszewski
28391eaf5d
Move cstring out of common.h
2018-03-18 23:29:13 +01:00
Michał Janiszewski
4b323f401f
Initialise dl in Surface.cpp
2018-03-14 22:11:30 +01:00
Michał Janiszewski
9b0fe5f09e
Don't use registers struct where not strictly required
...
The only advantage of `struct registers` is the union hierarchy. If this
is not being actively exploited, it is detrimental to use this struct.
2018-03-14 22:11:30 +01:00
Gymnasiast
8e37ee26c9
Avoid warning spam during park entrance drawing
2018-03-13 20:48:16 +01:00
Michał Janiszewski
afb0c48ebd
Sink some arrays
2018-03-13 13:37:41 +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
Aaron van Geffen
ba1d269227
Move all Virtual Floor code from Map to its own file.
2018-03-04 19:28:56 +01:00
Michael Steenbeek
2de6529cf5
Use big coordinates for PeepSpawn's Z coordinate
2018-02-21 09:50:07 +01:00
Michał Janiszewski
32619f460b
Remove remaining calls to get_current_rotation in paint code
2018-02-17 13:11:07 +01:00
Michał Janiszewski
acccd0a2c8
Remove rotation argument from sub_98199C
2018-02-17 13:11:07 +01:00
Michał Janiszewski
3f92471ffb
Remove rotation argument from sub_98197C
2018-02-17 13:11:07 +01:00
Michał Janiszewski
c420fb56f5
Remove rotation argument from sub_98196C
2018-02-17 13:11:07 +01:00
Michael Steenbeek
bde913ee16
Rename SmallCoords and BigCoords
2018-02-15 22:26:50 +01:00
Michael Steenbeek
ab94ea74f4
More MSVC fixes
2018-02-15 22:26:50 +01:00
Michael Steenbeek
45e892e5b5
Allow passing BigCoordsXY into map_get_surface_element_at()
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
Ted John
683ffcdadc
Merge pull request #7167 from IntelOrca/refactor/easy-new-object-types
...
Refactor things related to object types
2018-02-12 19:43:49 +00:00
Michał Janiszewski
3f76bd214f
Const all the painted tile elements
...
Extracted from https://github.com/OpenRCT2/OpenRCT2/pull/7036
2018-02-12 16:03:20 +01:00
Ted John
4d8fe051e8
Remove most usages of object_entry_groups
2018-02-12 12:48:41 +00:00
Gymnasiast
778ba466c5
Remove almost every extern C block
2018-02-05 16:20:15 +01:00
Aaron van Geffen
e3db8be68c
Highlight full litter bins, too.
2018-02-05 00:20:12 +00:00
Aaron van Geffen
f5db6dbde9
Replace constants with palette codes.
2018-02-05 00:20:12 +00:00
Aaron van Geffen
ead49fa84e
Name Unk141E9DC as WaterHeight.
2018-02-05 00:20:12 +00:00
Aaron van Geffen
0acf423031
Don't hide water when highlighting vandalism and vomit.
2018-02-05 00:20:12 +00:00
Richard Jenkins
95dfcea6bd
Implement #4984 : Add option to highlight vomit, litter and handymen
2018-02-05 00:20:12 +00:00
Michael Steenbeek
037b236d8f
Add the RCT1 edge styles
2018-01-13 15:39:22 +01:00
ZehMatt
84f2917f59
Use const and constexpr whenever possible.
2018-01-11 22:29:08 +01:00
Michael Steenbeek
cd5a1ba888
Compile files in world folder as C++
2018-01-11 13:25:09 +01:00
Aaron van Geffen
1d7bec8a11
Make the virtual floor optional, on by default.
2018-01-11 10:37:40 +01:00
Michael Steenbeek
a410872fec
Move VirtualFloor.cpp to the paint folder and fix Xcode project
2018-01-11 10:37:40 +01:00
Aaron van Geffen
c835832e79
Compile the virtual floor code as C++.
...
Add a proper header file for the virtual floor in the process.
2018-01-11 10:37:40 +01:00
Michał Janiszewski
c031f6c5fa
Don't reference virtual floor from testpaint
2018-01-11 10:37:40 +01:00
Jeroen D Stout
4354aae958
Correct the handling of edges
2018-01-11 10:37:40 +01:00
Jeroen D Stout
e4b53dc68a
Add more generic virtual floor tile check
2018-01-11 10:37:40 +01:00
Jeroen D Stout
c8e63de802
Refactor tile property checks and code conventions
2018-01-11 10:37:40 +01:00
Jeroen D Stout
8e8dc89068
Improve floor visuals with glassy transparent surface
2018-01-11 10:37:40 +01:00
Jeroen D Stout
b9faed7437
Mark being inside a piece of sloped terrain as being occupied
2018-01-11 10:37:40 +01:00
Jeroen D Stout
cee9129601
Improve visual quality of virtual floor
2018-01-11 10:37:40 +01:00
Jeroen D Stout
58321ec2cd
Fix underground check for sloped surfaces / clipping improvement
2018-01-11 10:37:40 +01:00