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
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
630a5065db
Refactor colour.c to C++
2018-01-07 12:39:58 +01: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
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
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
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
Michael Steenbeek
af845beb61
Replace mapElement with tileElement
2017-10-31 19:59:06 +01:00
Michael Steenbeek
ce8d9cc71b
Rename map_element to tile_element
2017-10-31 19:59:06 +01:00