Commit Graph

242 Commits

Author SHA1 Message Date
Tulio Leao afc14183e7 Use ScreenCoordsXY for tool_* functions 2019-10-29 19:02:58 -03:00
Tulio Leao dbb66dd028 Remove duplicate functions (#10067)
* Reduce code duplication in src\openrct2\interface\Window.cpp

`window_resize_gui_scenario_editor` was a subset of `window_resize_gui`

* Reduce code duplication in src\openrct2\network\Twitch.cpp

Both `GetFollowers()` and `GetMessage()` were very similar

* Reduce code duplication in src/openrct2/world/SmallScenery.cpp

`map_place_non_scenery_clear_func` and `map_place_scenery_clear_func` did basically the same thing, with a single branch difference

* Reduce code duplication in src/openrct2-ui/windows/TopToolbar.cpp

Make `top_toolbar_tool_update_scenery_clear` call `top_toolbar_tool_update_land_paint` and then do the additional differing calculation it did.
2019-10-19 15:38:26 +02:00
Tulio Leao ce1f38da25 Use ScreenCoordsXY for window functions (#10086)
* Use ScreenCoordsXY for window_create function

* Use ScreenCoordsXY for window_find_from_point function

* Use ScreenCoordsXY for window_find_widget_from_point

* Use ScreenCoordsXY for ride_contruction_tool*

* Use ScreenCoordsXY for window_event_tool*

* Use ScreenCoordsXY for window_event_scroll_mouse*

* Use ScreenCoordsXY for remaining window_event*

* Use ScreenCoordsXY for window_(set|move)_position
2019-10-19 13:07:03 +02:00
duncanspumpkin 213ba15ba5 Remove unused code and variables from function 2019-10-07 18:36:27 +01:00
Michael Steenbeek a11762b11a
Remove old C functions that only call their equivalent
* Remove old C functions that only call their equivalent

* fix formatting
2019-09-22 14:12:49 +02:00
duncanspumpkin f39905bd2e Clang format 2019-08-19 20:04:59 +01:00
duncanspumpkin 5fe5f8e964 Refactor audio_play_sound_at_location to use CoordsXYZ 2019-08-19 20:04:58 +01:00
duncanspumpkin 5333dc4295 Return a SurfaceElement from get_surface_element 2019-08-19 20:04:56 +01:00
Matt cc6321048f
Refactor window_invalidate to use rct_window::Invalidate 2019-08-11 17:22:00 +02:00
Michael Steenbeek 382935c50f
Merge pull request #9644 from IntelOrca/refactor/banners
Refactor banners
2019-07-27 10:59:57 +02:00
Ted John 5c07c53faf Refactor get banner 2019-07-25 22:21:19 +01:00
Ted John 85543bd1c8 Separate RCT2 and OpenRCT2 banner struct 2019-07-25 22:21:19 +01:00
Matt 126226dbe3
Fix #9625: Show correct cost in scenery selection 2019-07-23 18:03:26 +02:00
Duncan ab5f5b20cd
Use enum class for RCT2_SOUND (#9618)
* Use enum class for RCT2_SOUND

* Fix formatting. Fix mistaken declaration.

* Change name of enum to SoundId

* Fix clang format
2019-07-22 19:02:45 +01:00
ζeh Matt cd8c67ddac
Implement SetCheatAction. (#8990)
* Implement SetCheatAction.

* Bump up network version
2019-05-04 15:28:38 +02:00
Aaron van Geffen f1b9c71524
Merge pull request #8687 from Xkeeper0/f/multiplayer-plus
Multiplayer dropdown additions
2019-05-02 22:53:50 +02:00
duncanspumpkin d14637e1ca Fix narrowing and formatting 2019-05-02 17:47:01 +01:00
duncanspumpkin f6b610c325 Implement Banner Place/Remove Actions 2019-05-02 17:47:01 +01:00
Aaron van Geffen 57040c392c Change multiplayer toolbar image to framed globe, with pressed state. 2019-05-02 12:32:45 +02:00
Xkeeper 4a34d2a6da Disable "Reconnect" if not desynced. 2019-05-02 00:30:30 +02:00
Xkeeper c075eec224 Update sync icons, new multiplayer toolbar button
The multiplayer toolbar button is the same globe used for the
multiplayer option on the title screen, since it seems like
a nicer (and better?) looking option than the two riders.

Also conflicts less with the new sync icons.
2019-05-02 00:30:30 +02:00
Xkeeper 8c4de40239 Add graphics for desync notice 2019-05-02 00:29:25 +02:00
Xkeeper bc8ecd8e67 Add "Reconnect" option under the multiplayer button 2019-05-02 00:26:37 +02:00
Xkeeper d614fb4035 add network indicators for desync/player count 2019-05-02 00:22:03 +02:00
Aaron van Geffen df42cfe1e1
Change map toolbar icon with current rotation (#9154) 2019-05-02 00:07:20 +02:00
boucks b052c4ac61 Fix #9054: remove gSceneryTileElement by returning it within GameActi… (#9127)
* Fix #9054: remove gSceneryTileElement by returning it within GameActionResult

* fixing Clang-format issues

* fixing clang-format

lets try this again...

* fixing clang-format

alright should be good this time

* fixing clang-format issues

using automatic clang-formatting

* initializing tileElement
2019-04-24 09:42:00 +01:00
Duncan 46844e2218
Merge branch 'develop' into issue-9053 2019-04-21 19:50:20 +01:00
Michael Steenbeek 42a1a8704d
Use empty() for vectors; clean up bool comparisons (#9118) 2019-04-20 20:39:47 +02:00
Trevor Harkness 844a28f3f5 Fix formatting and added to contributors.md
Adjusted formatting for CI tests
2019-04-19 02:18:55 -04:00
Trevor Harkness 8cb50432de Fix #9053. Remove instances of gSceneryGroundFlags
Created subclass of GameActionResult in LargeSceneryPlaceAction and SmallSceneryPlaceAction. Removed references to global variable in other files.
2019-04-17 22:55:37 -04:00
duncanspumpkin d6522f0aee Fix formatting 2019-04-08 17:19:52 +01:00
duncanspumpkin baad532c17 Fix formatting 2019-04-07 14:55:08 +01:00
duncanspumpkin 00cbd75641 Return more useful error messages.
Fix clearance checks always being on for underground placement
2019-04-07 14:55:08 +01:00
duncanspumpkin d63919c0cc Implement LargeSceneryPlaceAction 2019-04-07 14:55:07 +01:00
duncanspumpkin 008ed86bca Make requested fixes 2019-04-07 12:02:04 +01:00
duncanspumpkin 3593366e95 Implement banner set colour action 2019-04-07 09:22:39 +01:00
duncanspumpkin 5ab42488a9 Implement large scenery set colour action 2019-04-07 09:22:33 +01:00
duncanspumpkin 8ef5afe2ce Implement wall set colour action 2019-04-06 19:39:01 +01:00
duncanspumpkin 8fc1d70239 Implement small scenery set colour action 2019-04-06 19:39:00 +01:00
duncanspumpkin 787993c117 Fix #9062. Pass the correct flag for ghosts. 2019-04-06 18:16:24 +01:00
duncanspumpkin 561ce03d18 Fix formatting 2019-04-04 19:23:44 +01:00
duncanspumpkin 30a5194085 Use a vector for map selection tiles 2019-04-04 19:23:44 +01:00
duncanspumpkin 7e6254f30c Fix function. 2019-04-02 18:36:57 +01:00
duncanspumpkin 29f5018bd1 Implement wall place game action 2019-04-02 18:36:57 +01:00
duncanspumpkin 81307f71df Implement LandSmoothAction 2019-03-27 18:48:26 +00:00
Joshua Tucker c09f283c25 Fix #8468: Removed code incorrectly increasing tile height 2019-03-26 12:10:46 -04:00
Aaron van Geffen f4602d0a34 Use SCREEN_FLAGS_EDITOR when appropriate. 2019-03-20 20:58:08 +01:00
Aaron van Geffen aeaa45c05b Fix #8927: Make cheats menu partially accessible in scenario editor. 2019-03-20 20:03:28 +01:00
duncanspumpkin 351adcc88b Merge #8897 branch 'surface_set_style_ga' into game_actions 2019-03-18 19:58:21 +00:00
Aaron van Geffen 97ba6eec08
Move common actions from debug menu into cheats menu (#8892)
This aims to make it less necessary for users to enable debugging tools.
2019-03-17 12:52:32 +01:00
duncanspumpkin c9332b4c5d Use the game action. Fix issues with it 2019-03-17 07:20:36 +00:00
Aaron van Geffen 2af13904c5 Update copyright notices for 2019. (#8903) 2019-03-17 07:16:15 +00:00
duncanspumpkin c84927306e Implement land/water lower raise 2019-03-15 19:44:17 +00:00
duncanspumpkin 510d71ab68 Add FootpathSceneryPlaceAction 2019-03-04 16:57:21 +00:00
duncanspumpkin cbb02ec98a Use game action for track design. Fix error titles.
Add files to xcode project (#20)

Finally get the placement code working

Use game action for ghosts. Fix basequarter

Remove references to old command

Fix formating remove unused var

Fix clang format
2019-02-27 18:51:54 +00:00
duncanspumpkin b60d97ef55 Use enum values for the savePromptMode 2019-02-22 09:08:04 +00:00
duncanspumpkin eadef45ffd Add LoadOrQuiteAction 2019-02-22 09:00:38 +00:00
duncanspumpkin 866d143930 Move Pause Toggle into the GameAction framework 2019-02-11 10:46:12 +00:00
Matt ecd4f61115 Add Network window 2019-02-07 18:50:58 +01:00
Tom Lankhorst 521948139c Chat toggle button (#8648)
* Add chat_available()

* Add appropriate strings

* Add new Chat icon

* Implement Chat button

* CS

* Fix chat icon

* Make chat icon a bit smaller and less bright

* Update chat icon

* Update changelog
2019-02-03 23:30:34 +01:00
Tom Lankhorst 2695142fbf Fix console opening when only opening and closing debugging tools dropdown 2019-01-20 11:22:25 +01:00
Michael Steenbeek b4bef2fe7d
Merge pull request #8560 from richard-fine/directions
Begin cleanup of direction handling
2019-01-18 19:09:39 +01:00
IntelOrca b9fd90ffd3 Implement ClearAction. 2019-01-07 09:04:51 +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
Hielke Morsink 5ef5e4153d Fix some more implicit and conditional fallthroughs 2019-01-04 22:26:56 +01:00
Michael Steenbeek b5317ee9e9
Split drawing of path and railing 2019-01-02 19:52:53 +01:00
Gymnasiast 806073ec59 Fix 'Object index exceeds maximum' spam 2018-12-15 20:34:28 +01:00
Gymnasiast 0d775f48ec Clean up scenery ghost flags 2018-12-15 20:31:41 +01:00
Hielke Morsink 354d973a48 Use std::size instead of Util::CountOf 2018-11-23 21:59:08 +01:00
Michał Janiszewski 0d2751a54e
Hide the network class declaration to Network.cpp (#8276)
The Network class is not used by anyone other than free functions in
Network.cpp, nor should it be used by anyone with the current design.

This change leaves only the publicly-exposed functions left in the
header, drastically reducing amount of required headers in network.h,
one of the heaviest headers we had so far.
2018-11-19 23:10:54 +01:00
Michael Steenbeek df768a3fad
Fix #8201: Only quarter scenery objects in one corner can be painted 2018-11-05 20:12:22 +01:00
Michael Steenbeek f8add7f62e
Rename rct_tile_element to TileElement 2018-11-01 13:53:50 +01:00
Michael Steenbeek 687fbc2a0a Modify game_command_set_scenery_colour() to only take the scenery quadrant 2018-10-31 13:10:26 +01:00
Michael Steenbeek 0f4560598e Replace residual access to path element entry index field 2018-10-31 13:09:29 +01:00
Michał Janiszewski 74ee2cf741
Fix types of windows scenery tab selections (#8179) 2018-10-29 14:52:07 -07: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
Michael Steenbeek 0af198aa45 Use constants for flags 2018-10-03 12:31:02 +02:00
Michael Steenbeek 28e8b4e12b Modify game_command_remove_scenery to take unshifted scenery quadrant 2018-10-03 12:31:02 +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 6062960390 Port remaining wall stuff to struct methods 2018-09-17 15:42:34 +02:00
Michael Steenbeek dcabdeb805 Move wall colour functions over to the struct methods 2018-09-17 14:22:17 +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 d186a04e4f Remove case of direct access to direction 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
Linus Unnebäck fd07be587a
Remove Math::Clamp in favour of std::clamp 2018-08-12 16:47:12 +01:00
ζeh Matt b25cb8c793 Scale mouse delta by zoom when using shift. (#7868)
* Scale mouse delta by zoom when using shift.

* Clamp maximum height of object drag.

* Address code review comments; add changelog entry.
2018-08-12 11:47:46 +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
clang-format e558660860 clang-format UI windows 2018-07-23 16:00:14 +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 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
Ted John 9e9c2c072e Fix #7678: Crash when Loading or starting a new game...
...while having object selection window open

Close the object manager window before loading the next park.
2018-06-13 23:29:05 +01:00
Hielke Morsink 8aa122f54e Use empty initializer lists in the openrct2ui project 2018-06-05 14:37:24 +02:00
Ted John 92f6ac7333 Rename header files to match renamed source files 2018-06-01 09:38:30 +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
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
Michał Janiszewski a2ef4bd699
Exclude pre-formatted blocks from clang-format (#7520)
[ci skip]
2018-05-16 20:41:29 +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
Hielke Morsink a86482576f Land Line Tools (select land edges/row of tiles)
(This commit is multiple commits squashed together, to make rebasing and merging easier. Many of the commits undid or slightly altered previous changes.)

This Extends the land-tool by allowing the player to select an edge of a surface tile, and to select a row of tiles. Both work by holding down the Ctrl key (same key for keeping the same base-height for other tools). When using a single-sized tool, the selection will become the edge, and when using a selection area of 2x2 or higher, the selection becomes a row of tiles.

The tables `tile_element_raise_styles` and `tile_element_lower_styles` hold the data for how slopes should change when a tile gets raised or lowered with the land tool. Each row represents a selection, and each column the slope type.

Co-authored-by: Adam T <32143337+Despotico@users.noreply.github.com>
2018-05-03 23:03:07 +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 3bff12c081 Seperate surface tile element 2018-05-01 16:33:16 +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
Michael Steenbeek 44524d1e6f Name unknown variable 2018-03-09 19:40:16 +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
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
Richard Jenkins 95dfcea6bd Implement #4984: Add option to highlight vomit, litter and handymen 2018-02-05 00:20:12 +00:00
Marijn van der Werf 4c956def67 Update UI imports 2018-01-18 22:57:55 +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
Aaron van Geffen 4246b84130 Invalidate virtual floor once selection has changed.
Cache the position of the last invalidate call to prevent a big dip in performance.
2018-01-11 10:37:40 +01:00
Jeroen D Stout d67aba09ad Make placing scenery set virtual floor height 2018-01-11 10:37:40 +01:00
Ted John 83d1b6eb8f Refactor widget.c to C++ 2018-01-07 12:39:58 +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
Hielke Morsink 512dc2c721 Fix #6923: hovering over queues turns them into regular paths 2018-01-04 21:23:56 +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
Marijn van der Werf 1e946fc0fe Move Dropdown to UI project 2017-12-16 15:47:38 +02:00
Marijn van der Werf 22966c1ad7 Fix graph land move 2017-12-16 15:47:38 +02:00
Michael Steenbeek 1a9975d683 Compile util and cheats as C++ 2017-12-14 10:03:21 +01:00
Michael Steenbeek 6dc49d643a Compile files in base dir as C++ 2017-12-13 08:03:48 +01:00
Marijn van der Werf 862ab26cc1 Move object selection window to UI module 2017-12-07 17:52:03 +01:00
Michael Steenbeek 407f1ad148
Create scenery_small_entry_has_flag() 2017-12-04 20:09:38 +01:00
Ted John 47a68e9e90 Add constant for maximum zoom level 2017-11-30 21:21:38 +00:00
Marijn van der Werf f19344aea6 Move tile inspector to UI module 2017-11-23 23:12:25 +01:00
Ted John 53493d0977 Name only flag for banner objects 2017-11-22 22:06:56 +00:00
Michael Steenbeek dd8464f907 Refactor small, large and wall scenery 2017-11-20 14:40:56 +01:00
Marijn van der Werf 3d7867791d Move scenery window to UI module 2017-11-18 21:07:21 +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 c2bf44ab1b Refactor scenery flags
Every SCENERY_GHOST_FLAG_X is connected with its respective
SCENERY_TYPE_xxx flag
2017-11-17 17:03:57 +01:00
Michael Steenbeek 3bd68947b9 Create functions for getting large scenery type and sequence 2017-11-17 12:56:08 +01:00
Marijn van der Werf bd0bd9e038 Move top toolbar to UI module 2017-11-11 23:57:19 +01:00
Renamed from src/openrct2/windows/TopToolbar.cpp (Browse further)