Matt
65ef018e4e
Move paint_session_alloc and paint_session_free into Painter.
2019-03-31 15:50:55 +02:00
Matt
db96df010f
Expose Painter in Context
2019-03-31 15:50:55 +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
d000457fb5
Rename more occurrences to railingEntry
2019-01-20 17:23:27 +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
ζeh Matt
20496b0390
Merge pull request #8545 from richard-fine/use-enum-types
...
Use of enum types in Peep code
2019-01-04 10:57:56 +01: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
Richard Fine
60396c6658
Rename enums to modern style
...
Change various PEEP_ENUM_TYPE names to PeepEnumType names, to match the more modern coding standard.
2019-01-02 14:10:05 +00:00
Richard Fine
a5e896f0c3
Use PEEP_ACTION_SPRITE_TYPE in the peep drawing code
2019-01-01 23:07:13 +00:00
Ted John
38f632074b
Merge ride track colour arrays into one
2019-01-01 21:25:34 +00:00
Matt
c7ab757a86
Cleanup.
2018-12-29 23:06:15 +01:00
Matt
b6c2dca849
Adjust replay notification position.
2018-12-29 19:23:27 +01:00
Matt
624427259b
Draw text notice if replay system is active.
2018-12-29 19:23:27 +01: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
Matt
adb4aa69a6
Rename UnkF1AD28 to LastRootPS
2018-12-05 23:08:43 +01:00
Matt
aa8b8d8415
Remove unused member in paint_session.
2018-12-05 23:08:43 +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
ζeh Matt
3e457436b1
Refactor some painting code. ( #8144 )
2018-10-26 10:49:27 -07: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
Michael Steenbeek
0e998c2d78
Merge pull request #7988 from Gymnasiast/tile-element-makeover
...
Change tile elements to use the OpenLoco structure
2018-09-14 10:56:19 +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
Matt
a89b352fb2
Rename rct_sprite::unknown to rct_sprite::generic
2018-08-20 18:27:40 +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
ζeh Matt
e87e9f1b2e
Update virtual floor to better indicate blocked areas ( #7837 )
2018-08-07 15:39:52 +02:00
clang-format
d787872cbe
Indent preprocessor directives
2018-07-23 16:00:23 +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
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
Ted John
b043428cf0
Merge pull request #6998 from JeroenDStout/railway-crossings-wait
...
Railway crossing behaviour for peeps and vehicles
2018-06-11 09:09:07 +01:00
Michał Janiszewski
1d28826b79
Fix -Wdocumentation and add it to default warnings
2018-06-11 09:52:54 +02:00
Ted John
e38f4df575
[wip] Move themes to libopenrct2ui
2018-06-10 23:34:12 +01: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
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
de3cab59bb
Fix warnings reported by travis
2018-06-05 16:07:54 +02:00
Hielke Morsink
5d0022a5cb
Remove argument list from zero-initializers with zero/false/nullptr value
2018-06-04 19:50:46 +02:00
Michał Janiszewski
58bde442dd
Fix headers to ensure they carry all their dependencies ( #7610 )
2018-06-02 09:46:14 +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
Aaron van Geffen
19442eb6c2
Merge pull request #7510 from Broxzier/feature/horizontal-clipping
...
Horizontal Clipping
2018-05-15 14:55:05 +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
Ted John
302fe00805
Always pass shared_ptr by reference
2018-05-11 20:39:00 +01:00
Ted John
7b28078da2
Remove use of gUseTrueTypeFont
2018-05-11 20:37:48 +01:00
Ted John
466c465d44
Use unique_ptr and shared_ptr for IDrawingEngine
2018-05-11 20:37:48 +01:00
Ted John
7b610fd3c0
Use shared_ptr more for UiContext in relation to DrawingEngine
2018-05-11 20:37:48 +01:00
Michael Steenbeek
83b4bcb068
Prepare tunnel door support
2018-05-10 09:39:33 +02:00
Hielke Morsink
8d10bfb5a1
Add namespace closing comments
2018-05-04 22:54:43 +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
a51462b0fd
Include necessary files for compiling headers
...
This commits works towards #7289 . It includes files that it depends on, or forward declares types when possible. It may seem like this only increases compilation time, but before this commit they depended on the other includes of the source files that use them.
2018-03-31 23:07:14 +02:00
Hielke Morsink
a2fe309be0
Merge pull request #7355 from Broxzier/fix/virtual-floor-zero-height
...
Fix #7303 Visual glitch with virtual floor near map edges
2018-03-28 12:48:39 +02:00
Hielke Morsink
8adfd9a87c
Fix #7303 Visual glitch with virtual floor near map edges
2018-03-27 23:09:41 +02: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
Hielke Morsink
d7c198388e
Fix #7327 : Draw transparent images see-through too
...
This removes the check for transparent images before applying the hardcoded colours. It sets the transparency flag anyway.
2018-03-26 10:28:10 +02:00
Ted John
dd0573b235
Move in game console to UI library
2018-03-22 20:16:58 +00: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
9e1dfffee8
Remove unnecessary checks for __cplusplus
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
8069a04d67
Fix logic error in setting virtual floor height.
2018-03-05 00:24:38 +01:00
ZehMatt
c8328610ee
Optimise the algorithm for virtual floor invalidation.
2018-03-04 19:28:56 +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
5795810a85
Remove rotation argument from sub_98198C
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
77fb74d5b6
Remove rotation argument from sub_9819_c
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
Michał Janiszewski
0bf250d8b8
Initialise paint session with rotation
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
Michael Steenbeek
a2260929dd
Replace rct_xy_element with BigCoordsXYE
2018-02-15 22:26:50 +01:00
Michael Steenbeek
d481cca2ed
Remove some redundant casts and fix rct_sprite::AsDuck()
2018-02-15 13:04:25 +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
Michał Janiszewski
3ba0cc3dae
Add missed constexprs
2018-01-14 16:13:37 +01: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
Jeroen D Stout
79fa16138a
Move virtual_floor_paint to own file / add edge highlighting
2018-01-11 10:37:40 +01:00
Jeroen D Stout
128cff60db
Add virtual floor painting functions.
2018-01-11 10:37:40 +01:00
Michał Janiszewski
469e142c7b
Change casing of header files
2018-01-11 09:30:09 +01:00
Michał Janiszewski
5a8cfb16c8
Clang-format guards for static data
...
This guards most of the hardcoded data from clang-format.
[ci skip]
2018-01-11 09:19:56 +01:00
Ted John
f18595a1c1
Refactor viewport.c to C++
2018-01-07 12:39:58 +01:00
Ted John
c974daf467
Refactor console.c to C++
2018-01-07 12:39:58 +01:00
Ted John
630a5065db
Refactor colour.c to C++
2018-01-07 12:39:58 +01:00
Ted John
b781291b58
Refactor chat.c to C++
2018-01-07 12:39:58 +01:00
ZehMatt
df9854813f
Use templates for bounding box test, better branch prediction
2018-01-07 02:18:12 +00:00
Richard Jenkins
c966faf9c2
Fix #6242 : Scenery invalidated when there is no visual change
2018-01-06 19:20:39 +00:00
Michael Steenbeek
755add6c9a
Compile localisation folder as C++
2018-01-06 18:32:25 +01:00
Ted John
3dcbebcf68
Refactor drawing.c to C++
2018-01-05 22:57:57 +01:00
Ted John
0c3c998177
Refactor lightfx.c to C++
2018-01-05 22:57:55 +01:00
Michał Janiszewski
b2bc974fe7
Use nullptr where possible
2018-01-04 06:58:44 +01:00
Michael Steenbeek
91589f57c6
Compile map.c as C++
2018-01-03 20:40:51 +01:00
Hielke Morsink
eb4a8924d1
Refactor and clean up footpath-related code
...
This commit corrects some misused defines, and gave them clearer names.
For example, the slope mask was only useful for surface elements, so now
"SURFACE" is in its name. I also replaced any hard coded values that I
could find and knew their purpose off.
2018-01-03 10:57:37 +01:00
Michael Steenbeek
347ff702d0
Refactor objects
2018-01-03 10:16:51 +01:00
Hielke Morsink
4459eb09b9
Fix invalid entries in surface boundries table
2017-12-30 13:55:39 +01:00
Michał Janiszewski
8fdec42ff9
Remove redundant declarations
2017-12-26 22:16:03 +01:00
Michał Janiszewski
c4c5439943
Add missing include guards
2017-12-26 22:16:03 +01:00
Hielke Morsink
bcfd66cbc6
Use nullptr instead of 0
2017-12-21 23:47:30 +01:00
Hielke Morsink
628039dd8a
Use range-based for loops in libopenrct2
2017-12-21 23:47:30 +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
ζeh Matt
c84fd8edd2
Fix #6821 : Edge sprites drawing is corrupted
2017-12-14 09:46:22 +01:00
ζeh Matt
8772d746ce
Use index instead of memmove
2017-12-13 17:57:39 +01:00
Michael Steenbeek
9ea5302a2a
Refactor access to some footpath stuff
2017-12-13 13:51:38 +01:00
ZehMatt
02128131e2
Refactor access to tile descriptor via reference.
2017-12-13 12:00:45 +01:00
ZehMatt
1d0750b2dd
Refactor more variables to const type.
2017-12-13 12:00:45 +01:00
ZehMatt
07bd4f13be
Unify some surface drawing functions.
2017-12-13 12:00:45 +01:00
ZehMatt
05137355fd
Format Surface.cpp
2017-12-13 12:00:45 +01:00
ZehMatt
594c32b537
Refactor park boundary fences to use data tables.
2017-12-13 12:00:45 +01:00
ZehMatt
8814b15a85
Add sprite definitions for park boundary fences.
2017-12-13 12:00:45 +01:00
ZehMatt
6787e6ca04
Rename surface.c to Surface.cpp.
2017-12-13 12:00:45 +01:00
Michael Steenbeek
6dc49d643a
Compile files in base dir as C++
2017-12-13 08:03:48 +01:00
Michael Steenbeek
8951d1b332
Fix box and pole support naming
2017-12-10 13:59:02 +01:00
Michael Steenbeek
60d8865efb
Compile game.c and game.h as C++
2017-12-05 09:10:27 +01:00
Ted John
3de8e0d37e
Merge pull request #6772 from IntelOrca/remove-rct2-interop-2
...
Remove RCT2 interop
2017-12-04 20:10:35 +00:00
Michael Steenbeek
407f1ad148
Create scenery_small_entry_has_flag()
2017-12-04 20:09:38 +01:00
Ted John
99d7aaa2d6
Remove RCT2 interop
2017-12-04 19:04:06 +00:00
Michael Steenbeek
273edee634
Turn construction marker into a define
2017-12-04 11:26:53 +01:00
Aaron van Geffen
c000263bbb
Remove construction marker colour option.
2017-12-04 11:26:53 +01:00
Ted John
f52544d607
Fix #6739 : Park name isn't displayed
...
Fix wrong type, down cast introduced by mistake in 585fc1afce
2017-12-01 20:25:41 +00:00
Michał Janiszewski
585fc1afce
Ensure variables in switch are properly scoped
2017-11-26 23:14:40 +01:00
duncanspumpkin
b6ce5ce4a5
Simplify fountain code. Name sprite fields. Fix warning
...
Fountain jumping code has been sped up slightly so that the code can be simplified and not require rolling over a unsigned int. Also removed setting direction of the fountain as the field was not used.
2017-11-25 09:30:38 +00:00
duncanspumpkin
e7774a4012
Clean up balloon update code. See previous commit for more info
2017-11-25 09:30:34 +00:00
duncanspumpkin
0afc0eba5e
Name known misc sprite fields.
2017-11-25 09:30:32 +00:00
Michael Steenbeek
c9ca5d55cd
Rename incorrectly named flag
2017-11-24 11:44:57 +01:00
Ted John
aff7609b86
Name remaining wall entry flags
2017-11-22 22:53:13 +00:00
Michael Steenbeek
dd8464f907
Refactor small, large and wall scenery
2017-11-20 14:40:56 +01:00
Michael Steenbeek
bf69b2e682
Make terminology use more consistent
2017-11-20 11:20:04 +01:00
platipo
789b47b7bb
Refactor slope flags and path type flag
2017-11-18 12:58:27 +01:00
Michael Steenbeek
bb483b0c5f
Replace direct access to large scenery colour with helper functions
2017-11-17 22:54:54 +01:00
Enrico Paganin
27b420374e
Refactor path flags
2017-11-17 17:03:57 +01:00
Michael Steenbeek
470c9993fa
Fix calling wrong function
2017-11-17 13:10:58 +01:00
Michael Steenbeek
3bd68947b9
Create functions for getting large scenery type and sequence
2017-11-17 12:56:08 +01:00
Ted John
f7c7a5bace
Fix build
2017-11-16 19:11:10 +00:00
Jeroen D Stout
c6d548cc36
Increase bouding box z of peeps
2017-11-16 19:03:14 +00:00
Jeroen D Stout
b207826e56
Increase bounding box z of litter
2017-11-16 19:03:14 +00:00
Jeroen D Stout
afab2bd51f
Change path bounding box when intersecting with track
2017-11-16 19:03:14 +00:00
Jeroen D Stout
3410330bb2
Add paint session memory for tracks and paths
2017-11-16 19:02:28 +00:00
Ted John
444a8c1602
Const protect get_g1_element
2017-11-03 22:18:10 +00:00
Ted John
5a05bd51e5
Use get_g1_element and add null checks
2017-11-03 22:18:10 +00:00
Christian F. Coors
06afeeda9a
Apply some refactoring
2017-11-02 12:22:28 +01:00