Commit graph

1173 commits

Author SHA1 Message Date
Gymnasiast
ed616b0fb5 Add assert; fix crash 2018-09-25 21:57:21 +02:00
Gymnasiast
eecf465e3b Fix formatting 2018-09-25 21:57:21 +02:00
Michael Steenbeek
7643eea514 Fix window_ride_open_track() 2018-09-25 21:57:21 +02:00
Michael Steenbeek
897a2982a0 Move brake/booster speed functions to struct methods 2018-09-25 21:57:21 +02:00
Michael Steenbeek
e6d5638815 Move inverted() functions to struct methods 2018-09-25 21:57:21 +02:00
Michael Steenbeek
0cea008c18 Move cable lift functions to struct methods 2018-09-25 21:57:21 +02:00
Michael Steenbeek
69f02400f9 Move GetColourScheme to struct methods 2018-09-25 21:57:21 +02:00
Michael Steenbeek
a3e9c63fc3 Move GetRideIndex to struct methods 2018-09-25 21:57:21 +02:00
Michael Steenbeek
650971bc68 Move HasChain to struct methods 2018-09-25 21:57:21 +02:00
Gymnasiast
67d7d5c022 Move getting station index to struct methods 2018-09-25 21:57:21 +02:00
Gymnasiast
6bd732ce5a Move getting seat rotation to struct methods 2018-09-25 21:57:21 +02:00
Gymnasiast
ae4c464ce7 Move getting track sequence to struct methods 2018-09-25 21:57:21 +02:00
Gymnasiast
8908f3f47e Move getting track type to struct methods 2018-09-25 21:57:21 +02:00
jensj12
eac9b720ee Add #7726: Shortcut to advance one tick (#7851) 2018-09-23 23:40:47 +02:00
Gymnasiast
7d7d0aeab5 Adopt OpenLoco's UTF-8 handling 2018-09-23 11:31:04 +02:00
Michał Janiszewski
fbb71c7c47
Fix Android builds after #7971 (#8009) 2018-09-20 21:53:34 +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
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
Aaron van Geffen
47eea292b5 Allow assigning a keyboard shortcut for opening the tile inspector (#7994)
* Allow assigning a keyboard shortcut for opening the tile inspector.

* Only open when debug tools are enabled.

* Add changelog entry
2018-09-15 08:57:50 +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
Michael Steenbeek
1a825a4045 Small fixes 2018-09-14 10:18:46 +02:00
Aaron van Geffen
a5ad9a3729
Merge pull request #7971 from Osmodium/7930-part2-Add-open-folder-button
#7930 part2 add open folder button
2018-09-14 00:03:58 +02:00
Aaron van Geffen
d6769fafe2 Move title menu buttons up to compensate for new item. 2018-09-13 23:20:17 +02:00
Aaron van Geffen
e1d6585423 Simplify EscapePathForShell by using std functions. 2018-09-13 23:20:17 +02:00
Aaron van Geffen
cf6f8a356f
Merge pull request #7920 from ZehMatt/sprite-structs
Simplify sprite structs
2018-09-13 23:04:02 +02:00
Gymnasiast
e84348309c Add function to shell-escape path 2018-09-13 22:20:45 +02:00
Gymnasiast
dfdb3b4681 Rename STR_OPEN_CUSTOM_USER_FOLDER 2018-09-13 22:20:45 +02:00
Gymnasiast
40cd64c916 Add Linux support 2018-09-13 22:20:45 +02:00
Christian Schubert
b1ac76910e Removed methods from Context, added headers and functionality only in TitleMenu.cpp 2018-09-13 22:20:45 +02:00
Christian Schubert
97ebf50035 Removed c styled method. 2018-09-13 22:19:51 +02:00
Christian Schubert
6e6753aaf1 Added MacOS OpenFolder support. 2018-09-13 22:19:51 +02:00
Christian Schubert
48d6e2f58f Added 'open custom content folder' button to toolbar menu. 2018-09-13 22:18:09 +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
Viktor Friberg
574fd83882 Improve #2940: Staff patrol areas can now be mouse-painted in singleplayer 2018-09-13 09:25:12 +02:00
Hielke Morsink
64c52fa796 Improve readability 2018-09-09 00:16:46 +02:00
wolfreak99
28bfab0c9b Draw dangerous G forces on graph in red 2018-09-09 00:03:35 +02:00
ζeh Matt
65659e2ab6 Fix OpenGL renderer stuttering when loading new textures into atlas 2018-09-07 10:21:28 +02:00
Matt
04928d4b84 Refactor reference over std::shared_ptr. 2018-08-31 07:18:48 +02:00
Michael Steenbeek
5cd4057c76
Remove remnants of STEX support 2018-08-29 23:29:45 +02:00
Aaron van Geffen
f8c765f798
Fix #7912: 'New folder' and 'New file' buttons are missing (#7926) 2018-08-22 00:00:44 +02:00
Hielke Morsink
e7af3290c0 Fix system file browser not populating properly (#7916) 2018-08-21 23:19:32 +02:00
Matt
a89b352fb2 Rename rct_sprite::unknown to rct_sprite::generic 2018-08-20 18:27:40 +02:00
Hielke Morsink
3e2f8148c5
Fix #7911: Unable to save new scenarios (#7914)
The problem was that the filters have changed so they included the '*' character. This got appended to the path, which caused the check for valid filenames to fail.

This commit reverts the offending strings and code lines to how it was before.
2018-08-19 19:49:49 +02:00
Aaron van Geffen
c4f93e24b5 Rename heightmap load/save type; add heightmap dir. 2018-08-18 13:28:27 +02:00
Aaron van Geffen
4b4510b347 Refactor common code to their own functions. 2018-08-18 13:28:27 +02:00
Aaron van Geffen
25170fda45 Implement #7658: Add option to always use system file browsing window. 2018-08-18 13:28:27 +02:00
Hielke Morsink
01608baeb6 Draw sound effects and music checkboxes as disabled when appropirate 2018-08-17 22:15:58 +02:00
Aaron van Geffen
d4591a1492 Draw disabled checkboxes inset. 2018-08-17 22:14:11 +02:00
Hielke Morsink
c99d28116f Fix muting game sounds instead of master sound
Clicking mute from the top toolbar or from with the hotkey will toggle the master volume instead of the game volume now, and invalidates the options window to immediately make the checkbox visible.
2018-08-17 22:14:11 +02:00
Aaron van Geffen
69d76a3263 Pause/unpause audio when disabling channels. 2018-08-17 22:14:11 +02:00
Sijmen Schoon
1b805d94e7 Change window_options_scrollgetsize width to 500px 2018-08-17 22:14:11 +02:00
Sijmen Schoon
5f8c7ef04d Refactor widget_hscrollbar_draw to be more readable 2018-08-17 22:14:11 +02:00
Sijmen Schoon
a7d17a6b41 Fix widget_index type and scroll_index -> _id 2018-08-17 22:14:11 +02:00
Sijmen Schoon
1a1ad56336 Refactor volume slider initialization 2018-08-17 22:14:11 +02:00
Sijmen Schoon
9583368b7c clang-format Options.cpp 2018-08-17 22:14:11 +02:00
Sijmen Schoon
0cdd7c8cc8 Add master sound checkbox and master volume slider
Also includes some rewriting of rct_scroll code that I did while
debugging the issue with more than two rct_scrolls in one window. I
decided to leave it in.
2018-08-17 22:14:11 +02:00
Sijmen Schoon
2e95c64a7c Fix issue with more than two rct_scrolls not working 2018-08-17 22:14:11 +02:00
Michael Steenbeek
9f891bfdcc
Allow opening SV7 files 2018-08-16 16:16:56 +02:00
Gymnasiast
6fc86d5766 Fix #7872: CJK tooltips are often cut off 2018-08-13 21:41:10 +02:00
Michael Steenbeek
0a1b53e1c2
Auto-detect RCT1 files location (#7882) 2018-08-13 15:50:45 +02:00
Aaron van Geffen
a0360124b7 Tweak staff list name columns a little (#7890) 2018-08-13 14:05:52 +02:00
Linus Unnebäck
fd07be587a
Remove Math::Clamp in favour of std::clamp 2018-08-12 16:47:12 +01:00
Gymnasiast
45b8ca9421 Remove more strings, fix error 2018-08-12 15:56:47 +02:00
Gymnasiast
c615d08d78 Remove many unused strings 2018-08-12 15:56:47 +02:00
Michael Steenbeek
49c30600b7
Merge pull request #7755 from Gymnasiast/fix/7204
Fix #7204: add a dedicated source parameter to JSON objects
2018-08-12 15:47:39 +02: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
ζeh Matt
b2005c3b9f Implement FootpathRemoveAction as a GameAction (#7867) 2018-08-12 10:31:00 +02:00
moTechPlz
8784dfbf41 Fix #7462: Guest window goes beyond the map edge on a spiral slide. (#7752) 2018-08-07 16:20:51 +02:00
Sijmen Schoon
f3f4776afd Properly fix maze building when paused (#7852)
Also fixes two relevant bugs:
- The error message having no title
- Fixes the controls in the construction window activating when the initial placement fails because of e.g. the game being paused.
2018-08-04 14:30:13 +02:00
Gymnasiast
0ba233efa4 Fix formatting 2018-07-31 22:27:00 +02:00
Gymnasiast
edaebd5163 Protect against Sources being null 2018-07-30 22:01:04 +02:00
Gymnasiast
b257619418 Use vector for source games 2018-07-30 21:41:12 +02:00
Michael Steenbeek
2a64ec7aff Use sourceGame parameter in JSON files instead of originalId 2018-07-30 21:39:27 +02:00
Michael Steenbeek
71bd110526 Fix filtering 2018-07-30 21:33:31 +02:00
Ted John
ec0d35bac7 Add new source field to ORI struct 2018-07-30 21:32:07 +02:00
Michael Steenbeek
5ce76e1603 Attempt at showing secondary source game 2018-07-30 21:28:55 +02:00
Hielke Morsink
25eea49983 Add trailing commas to some window source files 2018-07-23 16:00:23 +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
73a7e935c3 Correct formatting for files in the project root 2018-07-23 16:00:17 +02:00
clang-format
9c022606f1 clang-format UI root 2018-07-23 16:00:14 +02:00
clang-format
e558660860 clang-format UI windows 2018-07-23 16:00:14 +02:00
clang-format
f13e3e83d7 clang-format UI title 2018-07-23 16:00:13 +02:00
clang-format
949a34646e clang-format UI interface 2018-07-23 16:00:13 +02:00
clang-format
2151b8d75a clang-format UI input 2018-07-23 16:00:13 +02:00
clang-format
16720f0182 clang-format UI drawing 2018-07-23 16:00:13 +02:00
clang-format
ebb17929a7 clang-format UI audio 2018-07-23 16:00:12 +02:00
Hielke Morsink
4d38475f12 Undefine keywords to fix macOS build 2018-07-23 15:58:01 +02:00
Hielke Morsink
ce59ed0ba2 Fix include order and defines for Windows builds 2018-07-23 15:57:59 +02:00
Michał Janiszewski
4a77801cb3
Increase the allowed aspect ratio epsilon (#7775) 2018-07-18 22:33:20 +01:00
Ted John
3d85ec4ea1
Fix #7786: Crash when importing a track design (#7790) 2018-07-18 21:19:25 +01:00
Brian Callahan
66bfd42551 Do not print which(1) errors to the console
On first launch of the game, OpenRCT2 tries to find Gnome or KDE eyecandy dialog programs zenity and kdialog to inform the user to set the `game_path`. It will fall back to an SDL popup with manual instructions if neither is found, which looks fine. However, if OpenRCT2 is launched from the command line, which will print "file not found" errors if you don't have zenity and/or kdialog installed, which might potentially confuse the user.

This patch routes the error messages to `/dev/null`, as we don't really care if those programs are not found.

See this thread on the OpenBSD mailing list: https://marc.info/?l=openbsd-ports&m=153020454402268&w=2
2018-07-07 20:53:50 +02:00
muemart
6365eaba66 Fix #3177: Wrong keys displayed in shortcut menu
SDL_GetScancodeName doesn't actually translate the scancode to the physical key, so first we need to convert the scancode to a keycode and then turn the keycode into a string.
2018-07-03 20:48:28 +02:00
Ted John
fe76c807aa Fix #7707: Opening scenario editor closes game
Ensure w is updated after closing the dropdown window.
2018-06-27 11:11:50 +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
Ted John
98905fdbc3 Change g_window_list to use the heap for windows 2018-06-16 16:04:01 +01:00
Ted John
0f6138f8b6 Convert g_window_list to a std::vector 2018-06-16 16:04:01 +01:00
Ted John
a716b4aa28 Remove use of window list in Viewport.cpp 2018-06-16 16:04:01 +01:00
Aaron van Geffen
1f5572fe28 Fix #7701: Strings overflow in drawing debug windows. (#7702)
The last widget was not taken into account.
2018-06-16 14:41:18 +01:00
Ted John
26666b1da9 Remove empty function: viewport_update_pointers 2018-06-15 23:15:52 +01: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
0528a455e9 Automatically resize debug window to fit strings 2018-06-15 16:13:47 +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
Michael Steenbeek
74dd8a4eac
Merge pull request #5993 from wolfreak99/improved_window_inputs/ride_price_textinput
Make ride window prices allow text input
2018-06-15 10:09:37 +02:00
Michael Steenbeek
7bd4244797
Merge pull request #7628 from Chaosmeister/unpickable-research-items
make always researched researchitems unpickable.
2018-06-15 09:47:08 +02:00
Aaron van Geffen
ee64daae58 Fix event list. 2018-06-15 09:36:17 +02:00
Gymnasiast
fe54cf5ee6 Allow forcing decimals 2018-06-15 09:36:17 +02:00
wolfreak99
961d25dbb9 Make ride window prices allow text input 2018-06-15 09:36:17 +02:00
Ted John
fdb1d98868
Move rain window loop to libopenrct2ui (#7684) 2018-06-15 07:46:04 +01:00
Hielke Morsink
c3cff07b91 Disallow placing items in-between always researched items
This adds a loop that iterates down the list, until it reaches either a researched item or the end.
2018-06-15 00:34:30 +02:00
Hielke Morsink
c437f438f1 Remove invalid cast 2018-06-15 00:34:30 +02:00
Hielke Morsink
30b9d3a338 Move always_researched checks and add comments 2018-06-15 00:34:30 +02:00
Chaosmeister
308ae4b357 Make always-researched research items unpickable. 2018-06-15 00:34:30 +02:00
Michael Steenbeek
8a9dfa6033
Stop ride type dropdown state sharing among ride windows
This eliminates the _rideType variable, which was necessary when we still used a spinner and an Apply button, but is now no longer needed.
2018-06-14 20:15:31 +02:00
Michael Steenbeek
9436dab66c
Fix #7655: Large portions of the screen do not invalidate properly
Also fixes #7676.
Error was introduced during refactoring in 85dc161c5a.
2018-06-14 12:01:55 +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
6b22a9d38b
Merge pull request #7586 from Broxzier/refactor/banner-ride-index
Banner code cleanups
2018-06-13 21:48:04 +02:00
Andy Ford
2ab3bd515d Fix #7673: Vehicle names cut in invention list (#7675)
* Fix #7673: Vehicle names cut in invention list

The string formatting was formatting based on the size of the
pointer to the buffer, not the buffer itself, this truncated all
vehicle names to 8 characters.

* Adjust Long Vehicle Names For Vertical Scrollbar

The ellipsis in long vehicle names were being cut off by
the scrollbar. Reduced the string formatting length by
vertical scrollbar size - 1. The extra 1 is for the fact
that the second column starts + 1 from the middlepoint of the box.
2018-06-13 21:44:25 +02:00
Ted John
86ca6be58b Fix #7674: Rides show up as random numbers in guest's ride list 2018-06-13 18:32:00 +01:00
Ted John
dea935314e Add null check for showing guest's favourite ride 2018-06-13 18:27:32 +01:00
Ted John
7373987f0a
Merge pull request #6978 from tobiaskohlbau/refactor/network
HTTP: Refactor into modern C++
2018-06-12 21:50:46 +01:00
pkubaj
7a65faa477 Add string include (#7667)
LLVM 6.0 on FreeBSD needs it for basic_string template.
2018-06-12 20:46:20 +01:00
Andy Ford
ebf8c19272 Fix #7653: Loan spinner too small for big loans (#7663)
On large loans in the millions (e.g. Alton Towers / BPB), the loan
amount can extend that it runs over the loan spinner widget. This change
enlarges the loan box to allow for large loans.
2018-06-11 22:08:59 +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
Aaron van Geffen
7cfa6aa176 Fix non-network builds. 2018-06-11 11:49:45 +02:00
Aaron van Geffen
f1d4e5b596 Rename Http namespace, add default initialisers. 2018-06-11 11:19:04 +02:00
Michał Janiszewski
bcd4e9c50b
Merge pull request #6284 from janisozaur/compiler-warnings
Compiler warnings
2018-06-11 11:06:34 +02:00
Tobias Kohlbau
62c25d88fb HTTP: refactor http into modern C++
Signed-off-by: Tobias Kohlbau <tobias@kohlbau.de>
2018-06-11 10:24:19 +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
841fea1eb0 Revert "Update SDL2 includes to non-system"
This reverts commit b43a9a6ccf, as SDL2
fails -Wdocumentation check
2018-06-11 09:52:54 +02:00
Michał Janiszewski
1d28826b79 Fix -Wdocumentation and add it to default warnings 2018-06-11 09:52:54 +02:00
Aaron van Geffen
8ef5f4e02e Update Xcode project. 2018-06-11 01:22:24 +02:00
Ted John
3096c4de00 Remove window internals from TileInspector logic 2018-06-11 00:09:00 +01:00
Ted John
04da3be824 Move Widget.cpp to libopenrct2ui 2018-06-11 00:04:41 +01:00
Ted John
a4d6a45e78 Move window_all_wheel_input to libopenrct2ui 2018-06-10 23:56:05 +01:00
Ted John
370a6300c0 Move ViewportInteraction to libopenrct2ui 2018-06-10 23:39:56 +01:00
Ted John
ae6af47341 Move TitleSequencePlayer to libopenrct2ui 2018-06-10 23:39:56 +01:00
Ted John
bc1d2252aa Remove window dependency from Ride.cpp 2018-06-10 23:34:36 +01:00
Ted John
5a368ce6d9 Move theme code to libopenrct2ui 2018-06-10 23:34:27 +01:00
Ted John
e6e61c3a2f Move create window code to libopenrct2ui 2018-06-10 23:34:20 +01:00
Ted John
e38f4df575 [wip] Move themes to libopenrct2ui 2018-06-10 23:34:12 +01:00
Ted John
85dc161c5a Add SetMainView to WindowManager 2018-06-10 23:33:52 +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
Hielke Morsink
36d123b272
Revert renaming of spinners (#7650) 2018-06-10 21:31:08 +02:00
Hielke Morsink
82370c36c6
Allow holding down spinners in tile inspector (#7647)
This basically moves much of the event handling from mouseup to mousedown, and adds a new array with widget indices for the spinners. This automatically enables scrolling for them as well.
2018-06-10 18:55:44 +02:00
Andy Ford
1acb1c4b35 Fix #7434: Diagonal ride segments cannot be deleted if they are isolated
Mimic vanilla RCT2:

- If the isolated track is the last piece on the ride, delete and
set the construction mode to a straight piece. Rotate said piece
45 degrees anti-clockwise.
- If other track still exists, delete and rotate as above but
set the track type to station-platform.
- If banked, set track type to the turn that entered the previous
orientation. For example, north west banked track would continue
with a banked 45 degree turn starting facing west.
2018-06-10 17:34:37 +02:00
Hielke Morsink
0fc4cad80f
Fix tile inspector errors for banner (#7640)
This is likely the least used page of the tile inspector, since two things have been broken for months apparently.

- The checkboxes for the blocked edges weren't being positioned correctly
- Rotating a banner that has either 0 or more than 1 edges blocked, the blocked edges weren't updated correctly
2018-06-09 17:16:04 +02:00
Aaron van Geffen
e920871d67
Fix #7601: Always-researched items not rendered with inset. (#7638)
This re-introduces the use of buffers to work around colours not being set properly.

For clipping strings, we also now manually invoke `gfx_clip_string` instead of relying
on `gfx_draw_string_left_clipped` to do it for us. The latter resets the current font,
meaning it prevents the use of `MEDIUM_EXTRA_DARK` bases. This issue should be addressed
in a later commit.
2018-06-08 22:57:29 +02:00
Aaron van Geffen
b2b997c328
Fix #6647: Prevent changelog window from painting lines out of view. (#7611) 2018-06-08 09:30:20 +02:00
Michał Janiszewski
320eee0d59
Fix -Wunreachable-code-break and add it to deafult warnings (#7634) 2018-06-06 22:30:21 +02:00
Michał Janiszewski
cee74a06e1
Fix #7595: Docker image fails to build (#7633) 2018-06-06 22:23:01 +02:00
Michał Janiszewski
27b684e785
Merge pull request #7629 from Broxzier/missing-field-initializers
Fix missing field initializers
2018-06-06 20:28:41 +02:00
Hielke Morsink
b9590f14b1
Merge pull request #7627 from Broxzier/scrolling-spin-uh-steppers
Allow scrolling on spinners/steppers
2018-06-06 20:00:38 +02:00
Hielke Morsink
184c46992c Fix remaining non-empty list initializers 2018-06-05 16:07:54 +02:00
Hielke Morsink
de3cab59bb Fix warnings reported by travis 2018-06-05 16:07:54 +02:00
Hielke Morsink
8aa122f54e Use empty initializer lists in the openrct2ui project 2018-06-05 14:37:24 +02:00
Aaron van Geffen
5b6ae9d9cb Fix appearance of brake/booster speed widgets 2018-06-04 18:51:37 +02:00
Hielke Morsink
32c4dab6c8 Move cut-away stepper logic to mousedown handler
This makes scrolling work for the stepper widget, and overrides behaviour for scrolling anywhere else in the window.
2018-06-04 13:41:27 +02:00
Michał Janiszewski
30e6cf1787 Remove OpenGLAPIProc.h from headers check target 2018-06-04 12:05:54 +02:00
Michał Janiszewski
798a4fe1a7 Add header verification for openrct2-ui 2018-06-04 12:05:54 +02:00
Hielke Morsink
15c908e4af Remove no longer needed global widget indices 2018-06-04 01:11:00 +02:00
Michał Janiszewski
b43a9a6ccf Update SDL2 includes to non-system 2018-06-03 22:32:10 +02:00
Michał Janiszewski
995d72f262 Remove function unused with HTTP disabled 2018-06-03 19:56:11 +02:00
Aaron van Geffen
35242f4815 Improve scrolling behaviour in object selection window (#7607) 2018-06-03 14:46:17 +02:00
Michał Janiszewski
debb6cd46c Remove declarations of unimplemented functions (#7615) 2018-06-02 13:51:23 +02:00
Aaron van Geffen
9ee1a1f4df
Fix #7613: Improve scrolling behaviour in staff list. (#7614) 2018-06-02 13:06:38 +02:00
Aaron van Geffen
635eab3305
Merge pull request #7579 from AaronVanGeffen/widgets/spinners
Make widget spinners horizontal
2018-06-02 00:03:20 +02:00
Aaron van Geffen
f2b0f7457e Terminology change: rename spinners to steppers. 2018-06-01 23:25:07 +02:00
Aaron van Geffen
0e930287c6 Change spinners for MapGen, Editor{Objective,Scenario}Options. 2018-06-01 23:25:07 +02:00
Ted John
e40a8d2cf5
Merge pull request #7591 from OpenRCT2/performance/msbuild
Improve msbuild performance

Ensure source file names are unique so that all object files can be written to a single directory which allows a single MSVC instance to compile all source files in parallel.
2018-06-01 21:26:15 +01:00
Aaron van Geffen
03020530ef Order vehicle type dropdown orthographically. 2018-06-01 20:35:52 +02:00
Aaron van Geffen
9806ab878d Refactor current vehicle dropdown preparation into its own function.
Splitting the lot off to window_ride_show_vehicle_type_dropdown.
2018-06-01 18:48:27 +02:00
Aaron van Geffen
af0d8fea36 Change spinners for Cheats and Map windows. 2018-06-01 15:29:56 +02:00
Aaron van Geffen
e5f184b01b Spinners for CustomCurrency, RideConstruction, ServerStart, ViewClipping. 2018-06-01 15:20:13 +02:00
Aaron van Geffen
64b04cccd1 Change spinners in Tile Inspector to new +/- buttons. 2018-06-01 15:20:13 +02:00
Aaron van Geffen
88955543d1 Spinners for Finances, NewCampaign, Park windows. 2018-06-01 15:20:13 +02:00
Aaron van Geffen
262409a8d4 Fix #7578: Clicking same price throughout park on accident. 2018-06-01 15:20:13 +02:00
Aaron van Geffen
2181e35b95 Replace spinner widgets with horizontal +/- buttons.
Limited to Options and Ride windows so far.
2018-06-01 15:20:13 +02:00
Michael Steenbeek
e91777bd7e
Small cleanup to ride window price box 2018-06-01 14:23:46 +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
Hielke Morsink
2fed57d792
Check for ghost flag when removing track blocks (#7596) 2018-05-31 22:36:45 +02:00
Michał Janiszewski
3137469272
Merge pull request #7593 from janisozaur/remove-extra-decls
Remove superfluous declarations
2018-05-31 00:53:50 +02:00
Hielke Morsink
f805c8db1a Fix #7589: Error in ride window's hold_down_widgets 2018-05-31 00:24:48 +02:00
Michał Janiszewski
58ea1b3446 Add missing #pragma once 2018-05-31 00:22:19 +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
Aaron van Geffen
2127a0170e
Merge pull request #7567 from IntelOrca/performance/park-loading
Improve performance of park loading
2018-05-30 11:51:16 +02:00
Ted John
f5e77a9e15 Load objects for title editor and scenario editor 2018-05-29 18:39:12 +01:00
Aaron van Geffen
6eadf00a33 Order ride type dropdown orthographically. 2018-05-29 19:09:56 +02:00
Aaron van Geffen
8a1de9d8fd Turn ride type selection into a normal dropdown.
This removes the spinner aspect that previously worked around dropdown item limits.
2018-05-29 19:09:56 +02:00
Park Joon-Kyu
30fa405eb3 Make Twitch integration API URL configurable. (#7555) 2018-05-28 22:01:37 +02:00
Hielke Morsink
617372fd38 Check for page correctly 2018-05-27 18:07:05 +02:00
Hielke Morsink
15ae358946
Fix #7569: Assertion hit when using the XY spinners (#7570)
The X/Y spinners change the currently tile selected, and reset the element selection index. Previously this would also set the page to default immediately, but since that's now done on invalidation instead, the page would not be correct. This is fixed by checking the index of the selected element too, instead of only the selected page, in the mouse_up event.
2018-05-27 18:03:34 +02:00
Hielke Morsink
f5c8ad2189
Merge pull request #7562 from AaronVanGeffen/windows/inventions-resize
Resizeable invention list window
2018-05-27 15:28:18 +02:00
Ted John
cce37698e8 Fix #7454: Rides list windows has weird strings...
The ride list assumed the ride structure had 0 packing. Format the name by explicitly setting format arguments to the ride's name arguments.
2018-05-27 13:27:43 +01:00
Aaron van Geffen
1a2958df84 Make text painting adapt to scrollview width as well. 2018-05-27 00:45:50 +02:00
Aaron van Geffen
248585281c Fix #6221: Make invention list resizeable. 2018-05-27 00:37:45 +02:00
Aaron van Geffen
7a107264df Tile inspector: clip overly long object name strings. 2018-05-26 01:20:46 +02:00
Aaron van Geffen
146235931f Tile inspector: use SCROLLABLE_ROW_HEIGHT constant.
The tile inspector window was using its own LIST_ITEM_HEIGHT constant,
instead of the SCROLLABLE_ROW_HEIGHT constant commonly used in other windows.

This fixes CJK text overlapping.
2018-05-26 01:20:29 +02:00
Hielke Morsink
1a9dc7beee
Fix #7564 Some buttons are not greyed out when they should (#7565) 2018-05-25 23:09:52 +02:00
Aaron van Geffen
8a724c3983 Hide speed and length statistics for flat ride TD6 files (#7563)
This hides the speed and length statistics in the track design list when viewing designs for non-tracked rides.

Fixes #7507.
2018-05-25 23:01:27 +02:00
Aaron van Geffen
a2f39079a7
Merge pull request #7556 from Gymnasiast/tile-element-cleanup
Replace all occurrences of tile_element_is_last_for_tile()
2018-05-25 13:34:28 +02:00
Hielke Morsink
c50011aa3e Re-add zebra stripes and light text 2018-05-25 00:46:21 +02:00
Hielke Morsink
59c7b097ee Add Ctrl + Click to select tile elements
Co-authored-by: wolfreak99 <jbminor1991@gmail.com>
2018-05-25 00:46:20 +02:00
Hielke Morsink
0d77c279aa Fix: buttons sometimes stay pressed
In the invalidate function of the tile inspector, the checkboxes get checked to match the selected tile element. Some of those checkboxes share their widget index with buttons from other pages. When a checkbox is checked, the it's set to be "pressed", which causes the butons in the other tabs so appear that way. This behaviour is fixed by unpressing widgets when switching to another page.
2018-05-25 00:46:20 +02:00
Hielke Morsink
fe40005372 Automatically set the correct page
Instead of having to set the page and setup the widgets correctly when a new elements gets selected, it now switches automatically on invalidation to the correct tab. This fixes the issue where pasted elements were selected but the page for them not shown, and removes two of the intents that were made for the tile inspector.
2018-05-25 00:46:20 +02:00
Hielke Morsink
4b25a71924 #5832 Resize tile inspector automatically when selecting a tile element 2018-05-25 00:46:19 +02:00
Hielke Morsink
f79589527d Adjust list style to match other lists
- No odd/even checked colours
- Black text (white on hover)
- Darker background
- Solid fill background for hovered and selected element
2018-05-25 00:46:19 +02:00
Hielke Morsink
4c1097d5b1 Minor code cleanups 2018-05-25 00:46:19 +02:00
Michael Steenbeek
b573bd49b3 Replace all occurrences of tile_element_is_last_for_tile() 2018-05-24 11:44:53 +02:00
Aaron van Geffen
ca16fe8e62 Fix refurbishment confirmation window not closing in multiplayer mode. 2018-05-23 16:33:37 +02:00
jensj12
3f0308a517 Fix Travis builds 2018-05-23 16:33:37 +02:00
jensj12
50e3f8b4f6 Cleanup of ride_demolish 2018-05-23 16:33:37 +02:00
jensj12
23dc6bb9d3 Add button to refurbish ride
Add a button to refurbish the selected ride. The cost for this is 35% of the
build price and may only be done if the ride is closed and empty.
2018-05-23 16:33:37 +02:00
deurklink
996ca5a880 Fix #7528: Tab changing in park pricing window happens on mousedown instead of mouseup (#7542) 2018-05-19 14:57:05 +02:00
wolfreak99
8c9b56d0f2 Keep "Save track design" dropdown open (#7531) 2018-05-19 14:13:08 +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
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
Aaron van Geffen
59e682a835
Merge pull request #6807 from ZehMatt/ga-removewall
Refactors GAME_COMMAND_REMOVE_WALL to a GameAction.
2018-05-15 09:54:37 +02:00
Ted John
6f00e6aafe Make ObjectRepositoryItem C++ 2018-05-15 00:36:35 +01:00
Ted John
f8271e93b0 Refactor code base to allow easy addition of new object types 2018-05-15 00:32:36 +01:00
Michael Steenbeek
fcf507e051
Spin off shop item stuff to separate files 2018-05-14 19:21:43 +02:00
Hielke Morsink
9f0d820b7c Use TileCoordsXYZD for wall locations 2018-05-14 12:36:45 +02:00
Ted John
f0348dafb7 Fix MSVC warning 2018-05-13 01:11:56 +01:00
Ted John
7eb1703f36 Remove old bitmap code via UiContext 2018-05-13 01:11:56 +01:00
Ted John
229c50dff9 Add bitmap reading support 2018-05-13 01:11:56 +01:00
Hielke Morsink
5b64abd7aa Keep 'select area' button pressed while the tool is active 2018-05-12 14:48:22 +02:00
Hielke Morsink
1324b6ae8f Add group boxes and clear button 2018-05-12 14:26: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
28c1dbaf5a Show hovered tile selection 2018-05-12 14:24:06 +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
8eacc3582c Remove PlainContext 2018-05-11 20:39:00 +01:00
Ted John
302fe00805 Always pass shared_ptr by reference 2018-05-11 20:39:00 +01:00
Ted John
35df72e61f Remove use of gCurrentLanguage 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
Ted John
7dc170ef85 Use shared_ptr for long-life objects
Use unique_ptr and shared_ptr for IContext, IPlatformEnvironment, IUiContext, and IAudioContext.
2018-05-11 20:37:48 +01:00
Aaron van Geffen
afd1dee580 Leftover cleanup of unnecessarily setting widget types. 2018-05-11 19:39:51 +02:00
Aaron van Geffen
56b9f5ff16 Removed unused string from audio options. 2018-05-11 19:39:47 +02:00
Aaron van Geffen
5ecb2d951e Draw misc options' dropdown captions directly through widgets. 2018-05-11 19:39:47 +02:00
Aaron van Geffen
fe044477c2 Draw interface options' dropdown captions directly through widgets. 2018-05-11 19:39:47 +02:00
Aaron van Geffen
bf817d2312 Draw culture options' dropdown captions directly through widgets. 2018-05-11 19:39:47 +02:00
Aaron van Geffen
13f3fb3448 Draw audio options' dropdown captions directly through widgets. 2018-05-11 19:39:47 +02:00
Aaron van Geffen
adf3e55d9b Draw display options' dropdown captions directly through widgets. 2018-05-11 19:39:47 +02:00
ZehMatt
5e4cdeb78b Refactor out references to compatibility function wall_remove 2018-05-11 12:33:57 +02:00
ZehMatt
b0f7435e9d Refactor GAME_COMMAND_REMOVE_WALL to game action. 2018-05-11 12:32:14 +02:00
rwjuk
9a167bb9d3 Disable saving without scenery for flat rides 2018-05-10 20:54:53 +02:00
Richard Jenkins
41f0b181bf Display flat rides correctly in previews 2018-05-10 20:54:53 +02:00
rwjuk
066980a9d4 Initial implementation of track saving for flat rides 2018-05-10 20:54:53 +02:00
Duncan
7b8507cb22
Merge pull request #7404 from OpenRCT2/peep
Peep Refactor
2018-05-08 20:22:39 +01:00
Olivier Wervers
e6ef627fe2 Fix graphs skipping values of 0 2018-05-08 09:20:13 +02:00
Michael Steenbeek
907d318e1c
Make Ride Groups more C++-like 2018-05-07 20:18:06 +02:00
deurklink
0d332cdf68 Implement #7459: Allow opening and closing of parks that use no mone 2018-05-07 19:48:47 +02:00
Hielke Morsink
afac7f6557 Make more global functions part of rct_peep 2018-05-05 11:42:43 +01:00
duncanspumpkin
fcb66b7449 Start refactoring pathfinding to use tileCoords 2018-05-05 11:42:34 +01:00
Hielke Morsink
6e02d6af4c Make peep_has_food, has_item and has_drink member functions 2018-05-05 11:13:22 +01:00
Hielke Morsink
8d10bfb5a1 Add namespace closing comments 2018-05-04 22:54:43 +02:00
Hielke Morsink
bc44792da9 Pack nested namespaces together 2018-05-04 22:54:43 +02:00
Ted John
dbbd5b89e6 Fix assert in SDL2 (debug) 2018-05-04 20:24:35 +01:00
Aaron van Geffen
e92264a2af Fix #7484: Incorrect label offsets in New Campaign window 2018-05-04 10:45:14 +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
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
3bff12c081 Seperate surface tile element 2018-05-01 16:33:16 +02:00
Aaron van Geffen
735cc2df89 Take line height into account in scenario selection screen 2018-05-01 13:58:46 +02:00
Toby Hinloopen
2fc01cb698 Fix #7424: Do not auto-rotate shops to face queue paths 2018-04-30 14:54:26 +02:00
Olivier Wervers
7713cdac4d Replace month count magic numbers 2018-04-29 20:46:46 +02:00
Michael Steenbeek
2d92ecf10b Fix #7436: Only the first 32 vehicles of a train can be painted 2018-04-26 10:33:54 +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
Aaron van Geffen
11207f9c41 Re-introduce zebra striping. 2018-04-16 22:11:53 +02:00
Aaron van Geffen
97d1c296a4 Increase row height for object load error window. 2018-04-16 22:11:53 +02:00
Albert Morgese
a3b04a67b2 Implement #1675: Auto-rotate shops to face footpaths 2018-04-16 20:02:46 +02:00
Ted John
c59f342f2f Use correct SDL2 library in debug builds 2018-04-12 23:31:33 +01:00
Ted John
b8d8d24d21 Get cmake working with msvc for basic game 2018-04-12 23:07:18 +01:00
duncanspumpkin
765500adfa Label offsets and functions
Actually save before commiting

Label more peep vars.

Remove unread var

Further refactoring

Fix mistake in map element type
2018-04-11 18:16:09 +01:00
Ted John
1cd88a1641
Fix #7367: 'invalid name for park' shown when opening a scenario (#7394)
Apply extra changes from my own implementation of ParkSetNameAction
which re-introduces logging and calls the action directly from the UI
layer.
2018-04-10 17:14:32 +01:00
Hielke Morsink
dc673a64d8 Give context the ownership of repositories and the object manager (#7340)
This makes them no longer a singleton, which fixes annoying behaviour when launching multiple contexts in one game session.
2018-04-10 13:19:23 +01:00
Ted John
124fb0df90 Fix out of bounds error in window_editor_object_selection_scroll_mouseover 2018-04-09 17:46:43 +01:00
NathanZabriskie
cc256997ef Opening the mini-map reverts the size of the land tool to 1x1, regardless of what was selected before. #7382 (#7387)
* Opening the mini-map reverts the size of the land tool to 1x1, regardless of what was selected before. #7382
* Updated changelog and contributors
2018-04-08 19:34:36 +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
Michał Janiszewski
b26d484726 Fix remaining headers 2018-03-31 23:48:15 +02:00