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
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
Michał Janiszewski
75685fa75d
Fix #3781 : Glitchy map causing crash
2017-10-30 12:03:34 +01:00
Michał Janiszewski
90a14205c8
Compile track_data.c as C++
2017-10-25 23:53:47 +02:00
Michał Janiszewski
8fd2266bda
Refactor includes ( #6512 )
...
* Refactor Intent.h inclusion
* Use forward declaration of ITcpSocket
* Remove unused include
* Forward declare rct_ride_entry
* Remove unused headers
* Forward-declare rct_drawpixelinfo
* Remove unused headers
* Lower header include from header to source file
* Reduce included headers
* Reduce includes
2017-10-19 10:01:05 +02:00
Michael Steenbeek
bb01699b7d
Compile track.c as C++
2017-10-17 13:51:47 +02:00
Tomas Dittmann
e393ff1f22
Stop using (void*)-1 for invalid pointers
2017-10-15 15:53:16 +02:00
Michael Steenbeek
7f9c25a7a9
Use constant for LOCATION_NULL, split off location stuff to Location.h
2017-10-13 22:23:07 +02:00
Michał Janiszewski
ab3835719a
Compile peep and staff logic as C++
2017-10-13 10:06:36 +02:00
Michał Janiszewski
c4538496c5
Make sure variables are either static or declared externally
2017-10-09 22:59:40 +02:00
ZehMatt
5f076e8103
Compile paint code as cpp.
...
Style fixes.
2017-10-02 21:42:11 +02:00
Michał Janiszewski
5ab9f938a7
Update files missed in the great extern "C" cleanup of 2017
2017-09-28 23:29:16 +02:00
ZehMatt
5187946bc9
Fix #6309 : Lightfx being enabled with incompatible drawing engine.
2017-09-28 08:01:25 +02:00
ZehMatt
c238265834
Minor performance improvements
2017-09-26 15:52:04 +02:00
Michał Janiszewski
cbeeea2a49
Remove workaround for mingw
...
We have udapted MinGW-64 in use, so the workaround should not be needed
anymore
2017-09-22 23:26:02 +02:00
Michał Janiszewski
00fd18809c
Move extern "C" {} blocks to headers ( #6282 )
2017-09-18 17:05:28 +02:00
Ted John
3a9cafd2f0
Remove gTrackColours macro ( #6266 )
2017-09-12 19:48:18 +01:00
Gymnasiast
a28509e24c
Split Ride and rct2_ride
2017-09-12 11:16:57 +02:00
Ted John
43c6f7fda0
Pass paint session to ps functions
2017-09-03 02:27:07 +01:00
Ted John
f6dbf560a2
Pass paint session to ps rotated helpers
2017-09-03 02:18:01 +01:00
Ted John
3880134b40
Change gTrackColours to use session
2017-09-03 02:01:29 +01:00
Ted John
f2b8cf181e
Pass paint session to remaining support functions
2017-09-03 01:56:56 +01:00
Ted John
1cc82d1cb5
Pass paint session to tunnel functions
2017-09-03 01:51:59 +01:00
Ted John
dce007feaa
Pass paint session to support functions
2017-09-03 01:04:23 +01:00
Ted John
f81ee49015
Pass paint session to remaining non-track called functions
2017-09-02 23:41:02 +01:00
Ted John
2980be0667
Pass paint session to more ps functions
2017-09-02 23:22:19 +01:00
Ted John
3b9a86500a
Pass paint session to sprite_paint_setup
2017-09-02 22:56:15 +01:00
Ted John
a60a33e665
Pass paint session to track_paint
2017-09-02 22:47:07 +01:00
Ted John
6b3f3ddb70
Pass paint session to scenery_paint
2017-09-02 22:44:39 +01:00
Ted John
8456639b47
Pass paint session to entrance_paint
2017-09-02 22:43:45 +01:00
Ted John
1f6f83163a
Pass paint session to fence_paint
2017-09-02 22:41:36 +01:00
Ted John
00cde34b39
Pass paint session to scenery_multiple_paint
2017-09-02 22:40:19 +01:00
Ted John
5c8700d054
Pass paint session to banner_paint
2017-09-02 22:38:26 +01:00
Ted John
4c78827c45
Pass paint session to path_paint
2017-09-02 22:31:39 +01:00
Ted John
47521335fa
Pass paint session to surface_paint
2017-09-02 22:25:45 +01:00
Ted John
f9414d1d82
Pass paint session to viewport functions
2017-09-02 22:15:09 +01:00
Ted John
bf60fdcc7e
Create alloc and free functions for paint_session
2017-09-02 20:56:52 +01:00
Ted John
46c2e52b5c
Pass paint_session to more functions
2017-09-02 20:25:03 +01:00
Michał Janiszewski
450029a29e
Export sprite BBox comparator to its own function
2017-09-02 21:14:48 +02:00
Michał Janiszewski
941607053a
Expose paint_arrange_structs_helper for testing
2017-09-02 21:14:48 +02:00
Ted John
b314cc4d74
Redirect gTrackColours to gPaintSession
2017-09-02 17:11:59 +01:00
Ted John
a0f5f1243f
Remove more map element paint globals
2017-09-02 17:11:59 +01:00
Ted John
6c1d1c43e5
Remove tunnel globals
2017-09-02 17:11:59 +01:00
Ted John
eb7b1e7b7e
Remove global, gPaintMapPosition
2017-09-02 17:11:59 +01:00
Ted John
5730a36555
Simplify gPaintMapPosition to rct_xy16
2017-09-02 17:11:59 +01:00
Ted John
d794057f8c
Remove gWoodenSupportsPrependTo global
2017-09-02 17:11:59 +01:00
Ted John
1d04f334e3
Change more paint globals to use gPaintSession
2017-09-02 17:11:58 +01:00
Ted John
cb09357bba
Create paint_session to replace paint globals
2017-09-02 17:11:58 +01:00
ζeh Matt
1f3ccae8b1
Refactor remaining image flag constants to defined G1_* flags. ( #6217 )
...
Refactor gUnk9DE568 and gUnk9DE56C to be type of rct_xy16 called gPaintSpritePosition
Rename unk_9ABDA4 to gCurrentColourPalette.
Rename gUnkEDF81C to gCurrentImageType.
Rename sub_679236_679662_679B0D_679FF1 to pixel_is_present.
Remove unused variables _unk9ABDAE, _unk9AC149, unk_9E3CE4, only ever assigned but never read.
Remove unreferenced variable unk_9E3CDC.
Clean up some parts in sub_679236_679662_679B0D_679FF1.
Remove function sub_68371D and references, it assigns variables that are never used.
Add assert determine if unused code.
2017-09-02 14:01:08 +01:00
Ted John
3f1991804a
Add debug option to show dirty blocks
2017-08-31 22:36:15 +01:00
Tomas Dittmann
7d8695394c
Add guards for nullptr and (-1) pointer accesses
2017-08-22 10:20:59 +02:00
Ted John
8b2eb8a13e
Move screen variables to OpenRCT2.h
2017-07-29 20:29:29 +01:00
rwjuk
315ee6b3b5
Fix applying palette colours; SPRITE_ID_PALETTE_COLOUR_3 to _2
2017-07-28 07:52:35 +02:00
Gymnasiast
2b540b9da1
Remove direct access to small scenery's colour_1 and _2 fields
2017-07-27 21:37:34 +02:00
Gymnasiast
db438a27b7
Use map_element_get_direction in more places, create map_element_get_direction_with_offset()
2017-07-27 21:23:26 +02:00
Michael Steenbeek
46de90df86
Create map_get_water_height()
2017-07-27 17:15:56 +02:00
Duncan
9a49490a0a
Refactor of scenery elements ( #5308 )
...
Label scenery flags, vars and refactor small scenery into cpp file.
2017-07-25 22:26:43 +01:00
Ted John
bc88cb9c2b
Make TitleScreen a class ( #5971 )
2017-07-22 23:42:14 +01:00
ζeh Matt
6a56c8c716
Refactored some variables around paint_arrange_structs. ( #5876 )
2017-07-22 14:18:58 +01:00
Michael Steenbeek
367efa2020
Use remap flags, SPRITE_ID_PALETTE_COLOUR_1 and _2 in many more places
2017-07-20 20:56:29 +02:00
Michael Steenbeek
bb09019d9b
Name and fix vehicle entry and tertiary colour flags
2017-07-20 12:57:37 +02:00
Michał Janiszewski
fc59fc7573
Cache last visited node in paint_arrange_structs
...
This commit caches the last visited node in paint_arrange_structs and
in paint_arrange_structs_helper, which allows skipping iterating over
long linked lists that don't work well with modern CPU caches.
This is especially useful, if the list is walked just to be discarded in
the end.
This improves performance across the board, the busier the park, the
higher performance improvement.
I have verified this producing pixel-perfect results with ones before
this change by dumping giant screenshot on various parks in all zooms,
all rotations.
Results collected running before and after this change with `benchgfx`
command (https://github.com/OpenRCT2/OpenRCT2/pull/5655 ) on current
title sequence, YMMV.
**Park**|**Before**|**After**|**Delta**
:-----:|:-----:|:-----:|:-----:
Maian\_SOSDragon.sv6|2.80|2.43|-13.2%
Maian\_SOSFrosty.sv6|3.53|3.02|-14.4%
Maian\_SOSParabola.sv6|4.16|3.45|-17.1%
MrB.sv6|5.52|4.52|-18.1%
SpacekKing.sv6|8.53|6.52|-23.6%
SpacekMaple.sv6|7.18|5.75|-19.9%
SpacekMission.sv6|4.41|3.43|-22.2%
SpacekParadise.sv6|9.01|6.36|-29.4%
SpacekSwimmers.sv6|4.11|2.97|-27.7%
Stosky.sv6|3.34|2.36|-29.3%
| | |
**Average**|**5.26**|**4.08**|**-21.5%**
2017-07-18 23:01:00 +02:00
Ted John
01b0047675
Invert Painter dependency
...
Make painter call into the drawing engine, rather than the drawing engine create and call the painter.
2017-07-16 23:25:11 +01:00
Ted John
cb884dad11
Refactor rct2_draw to a new Painter class
...
Right now this is created for each drawing engine, but should eventually be a dependency into them.
2017-07-16 23:25:11 +01:00
wolfreak99
15cc2a0230
Rename some small scenery flags, tidy up sub_6E1F34
2017-07-15 11:55:20 +02:00
Tomas Dittmann
77a6207100
add invalid entry pointer guards.
...
update the changelog
2017-07-13 10:16:34 +02:00
Duncan
454a5d9411
Fix diagonal steep slope support drawing. ( #5844 )
...
Mistake during original implementation. Fixes #5148
2017-07-10 08:16:33 +02:00
Michał Janiszewski
ce24a6fb85
Prevent overflowing tunnel count ( #5853 )
2017-07-09 22:48:21 +02:00
Michael Steenbeek
44af1653a6
Replace 'center' with 'centre' ( #5745 )
2017-06-30 23:11:28 +01:00
ZehM4tt
f05e94c1c6
Fixed a desync that would happen when having the guests list open. ( #5632 )
...
* Fixed a desync that would happen when having the guests list open.
* Refactored the flashing state of peeps to not affect the flags.
* Added deprecation info for SPRITE_FLAGS_PEEP_FLASHING.
* Removed unused line that used the old flag.
* Update network version
2017-06-17 12:55:41 +02:00
Ted John
c8e4e6dae1
Remove usages of MAX_PATH
2017-06-11 15:42:06 +01:00
Michał Janiszewski
61d38511bc
Expand tabs to spaces
...
This commit expands tabs to spaces (ts=4) in all the files under src/
and test/.
Until now we had two wildly different code styles with C using tabs and
new C++ using spaces. It is painful to maintain as none of the commonly
used tools support this kind of setup and in reality is needless, as we
can simply convert all the sources to spaces and have opened PRs do the
same, where needed.
Additionally, trailing whitespace has been removed.
2017-06-06 23:46:14 +02:00
Ted John
430ab2db5c
Fix double negative showing on money effects
2017-06-06 18:58:14 +01:00
Michael Steenbeek
f3b4c88783
Merge pull request #5532 from OpenRCT2/sub_hex_fix
...
Name sub_<hex>() functions
2017-06-06 16:14:54 +02:00
Michał Janiszewski
3c7499f370
Validate access to _terrainEdgeSpriteIds ( #4752 )
2017-06-06 08:25:04 +01:00
rwjuk
0797a41f80
Name sub_685EBC()
2017-06-06 00:51:34 +01:00
Ted John
30585ea2a9
Show guest money effects with high precision
2017-06-05 21:18:14 +01:00
Michał Janiszewski
79d76759bb
Fix #5516 : Update copyrights for 2017
...
Not all files were necessarily _changed_, but all were touched, see
https://github.com/OpenRCT2/OpenRCT2/pull/4932
2017-06-01 21:55:10 +02:00
CraigCraig
26287f5a3e
More readability, grammar, spelling fixes
2017-05-15 09:28:43 +02:00
CraigCraig
58deb3a54a
Grammar, readability, and spelling fixes
...
[ci skip]
2017-05-11 11:45:59 +02:00
Michael Steenbeek
a53b01d5b9
Remove magic numbers and Americanisms
2017-05-08 23:54:38 +02:00
CraigCraig
e0b875398b
Tons of spelling fixes ( #5413 )
...
[ci skip]
2017-04-30 06:39:24 +02:00
Richard Jenkins
8f59b04d32
Fix #5377 : Saved game keeps crashing shortly after loading
...
Guard against null pointers in banner_paint() (#5379 )
2017-04-17 18:37:37 +01:00
Ted John
481f5d706f
Fix compilation and refactor GetFrameImage
2017-03-23 17:37:25 +00:00
Ted John
3f53f8cb5d
Refactor duck to C++
2017-03-23 17:37:25 +00:00
Duncan
1654ba4fe4
Merge pull request #5236 from duncanspumpkin/refactor
...
Refactor fence to wall
2017-02-28 06:56:06 +00:00
duncanspumpkin
ece3be303c
Fix formating
2017-02-26 09:04:32 +00:00
duncanspumpkin
adab7f7a6d
Add set animation frame function
2017-02-25 09:36:28 +00:00
duncanspumpkin
7691dc3c10
Use functions to set and get secondary colour
2017-02-25 09:19:31 +00:00
duncanspumpkin
810bf301f3
Rename map element fence to wall
2017-02-20 21:10:49 +00:00
duncanspumpkin
f54c71b61c
Rename functions to wall. Refactor game commands
2017-02-20 21:02:19 +00:00
duncanspumpkin
735f1d42b9
Move fence functions into fence.cpp
2017-02-20 20:09:40 +00:00
duncanspumpkin
133266deb0
Label fence offsets
2017-02-19 11:03:05 +00:00
Ted John
fb2c835d52
Include new config header
2017-02-18 15:45:10 +00:00
duncanspumpkin
50e1c831a6
Refactor fence door animation
2017-02-18 08:26:33 +00:00
duncanspumpkin
fef7445f0c
Use flags where known. Refactor large 3d signs slightly
2017-02-04 08:12:44 +00:00
Michał Janiszewski
04a2734593
Merge pull request #5162 from duncanspumpkin/refactor
...
Small refactor of world files
2017-02-02 22:53:37 +01:00
Michael Steenbeek
cad39c788a
Remove more magic values from metal_a_supports_paint_setup
2017-02-02 21:54:19 +01:00
duncanspumpkin
e384b9a508
Label known offsets and flags of wall/fence
2017-02-02 18:52:35 +00:00
wolfreak99
99c68439b1
define MAX_PEEP_SPAWNS and MAX_PARK_ENTRANCES ( #5119 )
2017-01-29 22:27:14 +01:00