Commit Graph

839 Commits

Author SHA1 Message Date
Aaron van Geffen c023f6a3f7 Moved console command, window invalidation, fix help. 2018-01-07 23:53:47 +01:00
Aaron van Geffen bf1bb33b86 Properly invalidate widgets after using date spinners. 2018-01-07 23:53:47 +01:00
Harrison Gentry 752d9bc89d Add cheat and console command to set game date.
Run "date" command on cmdline to set date.

Ex:
$ date 0004 06 13
sets date to June 13th, year 4
2018-01-07 23:53:47 +01:00
Gymnasiast 2ecbac1550 Fix #6972: Last development field is identical to progress field 2018-01-07 22:28:08 +01:00
Michael Steenbeek 7d5de63484 Refactor rct_research_item, refactor access to rct_research_item
This takes away a lot of the bitshift and bit mask trickery previously used.
2018-01-07 15:33:44 +01:00
Ted John c3eab7ead6 Refactor window.c to C++ 2018-01-07 12:39:58 +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
Ted John b781291b58 Refactor chat.c to C++ 2018-01-07 12:39:58 +01:00
ZehMatt d25c46ef93 Refactor image cache to fixed size. 2018-01-07 02:18:12 +00:00
Michael Steenbeek 755add6c9a
Compile localisation folder as C++ 2018-01-06 18:32:25 +01:00
Aaron van Geffen 15a4f67f14 Restore tab-specific widget dimensions for Finances window. 2018-01-06 16:42:48 +00:00
Richard Jenkins 9bb7b66157 Fix #6948 & #6949: Removing or trying to build a ride freezes game 2018-01-06 13:49:29 +00: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
Ted John 559ec8a404 Refactor font.c to C++ 2018-01-05 22:57:54 +01:00
Ted John 02c58a6c5a Remove custom base Exception class 2018-01-05 18:11:47 +00:00
Harrison Gentry 5862cd9d40 Fix guest counter to say '1 guest' instead of '1 guests' 2018-01-05 08:58:17 +01:00
Aaron van Geffen 81905fc161 Vertically align widgets in lower-left bottom toolbar. 2018-01-05 00:44:59 +01:00
Hielke Morsink 512dc2c721 Fix #6923: hovering over queues turns them into regular paths 2018-01-04 21:23:56 +01:00
Michael Steenbeek 31bf792538 Refactor research - spike 1
This involves refactoring gResearchedRideTypes and gResearchedRideEntries
and the functions involved.

Also renames some functions in order to better express what they do.
2018-01-04 17:44:51 +01:00
Hielke Morsink 3dd98c7aa2 Apply coding style 2018-01-04 07:58:31 +01:00
Hielke Morsink a6e4c1d677 Remove undefined function declaration 2018-01-04 07:58:31 +01:00
Hielke Morsink 7d37798f19 Reduce duplicated code in finances window
All of the pages share some common widgets (title, close button, background, tabs). To
reduce code duplication here, I've moved those values to a define that then gets used
for each of the pages.
The same thing applies to enabled widgets. One additional change is that left bitshifts
from `1` have been changed to `1ULL`.
2018-01-04 07:58:31 +01:00
Aaron van Geffen 0138df5dd8 Centre overall viewports on geometric centre. 2018-01-04 07:57:27 +01:00
Aaron van Geffen 92bcc5f579 For overall views, show small rides zoomed in all the way. 2018-01-04 07:57:27 +01:00
Michał Janiszewski 33a94fe1bb Use C++ headers in C++ code 2018-01-04 07:36:54 +01:00
Michał Janiszewski b2bc974fe7
Use nullptr where possible 2018-01-04 06:58:44 +01:00
Michał Janiszewski 4d0c88fb94 Mark constructors explicit (#6928) 2018-01-04 01:12:34 +00:00
Michael Steenbeek 91589f57c6 Compile map.c as C++ 2018-01-03 20:40:51 +01:00
Ted John 49f5611bd1 Rename scenario.c|h to cpp 2018-01-03 15:07:17 +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 d25856d59c Make tile element type strings in the Tile Inspector translatable 2018-01-03 10:21:53 +01:00
Michael Steenbeek 347ff702d0 Refactor objects 2018-01-03 10:16:51 +01:00
Aaron van Geffen da519c9b32 Add extra padding to label text in guest window. 2018-01-03 10:09:21 +01:00
Michael Steenbeek 3b06f92c0a
Merge pull request #5964 from janisozaur/sse4.1 2018-01-02 22:27:17 +01:00
Michael Steenbeek 1bc711e266
Fix #5761: Mini coaster doesn't appear despite being selected (#6909) 2018-01-02 19:40:08 +01:00
Tobias Kohlbau a726f6decd Multiplayer: save manually added servers
Adding a server via "Add Server" should handle them
as favorites as otherwise the list is not saved locally and
each server is lost after game restart.

Signed-off-by: Tobias Kohlbau <tobias@kohlbau.de>
2018-01-02 13:04:08 +01:00
Michał Janiszewski 7f7054049d Read commandline before initialising other features
This allows setting options that may affect future feature detection,
but also allows for configuring verbosity levels early.
2018-01-01 23:51:43 +01:00
Gymnasiast 1626f86acc Compile park.c as C++ 2018-01-01 01:18:12 +01:00
Gymnasiast 23d70a4ac9 Compile ride.c as C++ 2017-12-31 20:43:17 +01:00
Aaron van Geffen e405867dae Add tooltip to explain why sprite selection is disabled. 2017-12-31 20:03:09 +01:00
Robert Jordan 907f18fd69 Fix: Following canceling
Stop previewing sequence now unfollows the current sprite.
Using the arrow keys in-game cancels following.
Resizing the window no longer cancels following.
2017-12-31 20:03:09 +01:00
Robert Jordan 298420fd1e Finalize follow sprite command
Added new smart follow variable to window to more intuitively follow
sprites that may not be directly followable at all times.
Follow sprite is now canceled when dragging the screen but not
scrolling. This is only relevant when testing title sequences in game.
Select sprite button is now disabled in the title menu.
Sprites are now identified based on their name. Excess identification
information is not given as it'd clutter up the screen and is not
necissary with the viewbox in the command editor.
2017-12-31 20:03:09 +01:00
Hielke Morsink 1443216ba0 Replace number with small viewport 2017-12-31 20:03:09 +01:00
Hielke Morsink 943747056e Add window settings and save support for follow sprite command 2017-12-31 20:03:09 +01:00
Hielke Morsink db7efda880 Fix #6845: Logo artifacts when changing scale.
This correctly invalidates the areas with logo and version text.
2017-12-31 13:14:03 +01:00
Robert Jordan 92fc010b9a Feature: "Load Scenario" title sequence command
New command goes by LOADSC in script files and in the enumeration.
Scenarios are stored using the internal also used for localisation.
Scenarios selected can only be scenarios to originally come with one of
the games or expansions.
Modified Scenario Select window to have a mode just for title editor
scenario selection.
2017-12-31 12:42:40 +01:00
rwjuk 1736a08b04 Fix potential access violation when setting park name 2017-12-29 21:56:07 +01:00
Hielke Morsink d2f732bbb6 Fix garbage in buffer 2017-12-29 12:33:34 +00:00
rwjuk 29c604d850 Fix #6846: Ride overview window zoom level set too high 2017-12-28 08:55:13 +01:00
Hielke Morsink 32cc3082b2 Remove check that would never pass
`safe_strcpy` already takes the null terminator into
account, making the check useless. If the string was too
long, `safe_strcpy` already prints a warning anyway.

Two small fixups included:
 - Sorting includes
 - Comparing char with `\0` instead of 0
2017-12-27 23:11:04 +01:00
Hielke Morsink acc33aa47e Remove duplicated code in text window
The two functions for opening were almost identical. The only
difference was that one was passed a string ID and the other a
raw string. The one taking the string ID now converts it to a
raw string, and then calls the other functions.

This also makes the utf8 string const and replaces some C-string
code with String::Set.
2017-12-27 16:19:46 +00:00
Aaron van Geffen a5ae503f0a Take font line height into account for bottom toolbar 2017-12-27 14:54:09 +01:00
Aaron van Geffen 759c51bbad Fix #6869: incorrect Map button appearance in Guest List.
* Fixes the map button overlapping with the new search icon.

* Fixes the map button not being repositioned when the window is resized.
2017-12-27 14:51:17 +01:00
Aaron van Geffen 4455925fcb Move braces to follow code style. 2017-12-27 13:18:24 +01:00
Aaron van Geffen 10ed48611c Refactor bottom toolbar: hex to dec, apply macro.
This was one of the few windows that had its widget positions defined in
hexadecimals rather than decimals.

The logic was further obscured by using a macro to offset an experimental
change to accomodate longer dates. This change has been widely embraced,
so this patch applied said macro to improve legibility.
2017-12-27 13:18:07 +01:00
Park Joon-Kyu bbf5571c17 Allow filtering guests by name (#6633) 2017-12-25 12:17:37 +01:00
Aaron van Geffen 54e6ffdbdd Fix #6860: Intensity and nausea ratings are too high in build menu. 2017-12-23 00:13:33 +00:00
Michael Steenbeek 2e79aaf54c Fold vehicle name into regular name 2017-12-22 15:28:41 +01:00
Aaron van Geffen 1e7fe352fb Adjust Twitch options to make room for CJK glyphs. 2017-12-22 08:03:03 +01:00
Aaron van Geffen 9e686197aa Audio tab: widen label for 'focus loss' option.
The string used in e.g. the German translation is much longer than its
English counterpart, which led to flickering of the label.
2017-12-22 08:03:03 +01:00
Aaron van Geffen ec37e14f98 More consistent indentation for nested checkboxes.
Also fixes the height of the lightning effect checkbox.
2017-12-22 08:03:03 +01:00
Aaron van Geffen 4e57ad55b3 Refactor widgets for 'controls and interface' tab. 2017-12-22 08:03:03 +01:00
Aaron van Geffen dfffabc08f Change option window tab icons. 2017-12-22 08:03:03 +01:00
Aaron van Geffen 8fd4f323fd Reposition widgets in Miscellaneous tab; add strings. 2017-12-22 08:03:03 +01:00
Aaron van Geffen b76c8b863a Move 'scenario grouping' to Misc tab. 2017-12-22 08:03:03 +01:00
Aaron van Geffen f7b92e4d37 Reposition widgets for 'Advanced' tab. 2017-12-22 08:03:03 +01:00
Aaron van Geffen 511a158fdd Options: introduce new 'Advanced' tab split off from 'Misc'. 2017-12-22 08:03:03 +01:00
Aaron van Geffen 4678829e03 Use LIST_ROW_HEIGHT in Map window. 2017-12-21 16:50:23 +01:00
Aaron van Geffen 9582561a7b Use LIST_ROW_HEIGHT in Park window. 2017-12-21 16:50:23 +01:00
Aaron van Geffen dbb22dd883 Use {SCROLLABLE/LIST}_ROW_HEIGHT in track list window. 2017-12-21 16:50:23 +01:00
Aaron van Geffen ad5246976c Use SCROLLABLE_ROW_HEIGHT in ride list window. 2017-12-21 16:50:23 +01:00
Aaron van Geffen a0cadab70b Use LIST_ROW_HEIGHT in Staff window's stats page. 2017-12-21 16:50:23 +01:00
Aaron van Geffen 3d7d7bee71 Right-align buttons in Options window. 2017-12-17 17:29:51 +01:00
Aaron van Geffen 39b2a00fd8 Disable resolution dropdown on "Windowed" and "Fullscreen (desktop)". 2017-12-17 17:29:34 +01:00
Michael Steenbeek c4f44e5e7a Compile files in paint folder as C++ 2017-12-17 17:24:36 +01:00
Marijn van der Werf 00667c81b6 Reformat MouseInput 2017-12-16 15:47:38 +02:00
Marijn van der Werf 1e946fc0fe Move Dropdown to UI project 2017-12-16 15:47:38 +02:00
Marijn van der Werf 0193ea4fdc Move tooltip to UI project 2017-12-16 15:47:38 +02:00
Marijn van der Werf e9ef843619 Move majority of input.c to UI 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
Marijn van der Werf b660b42554 Move land tool 2017-12-16 15:47:38 +02:00
Marijn van der Werf 6b17a185d6 Move graph 2017-12-16 15:47:38 +02:00
Ted John 31e112cf3b Use std::string for objects 2017-12-14 14:38:14 +01:00
LRFLEW eed00ea363 Add Vsync Toggle to Options 2017-12-14 11:18:28 +01:00
Michael Steenbeek 1a9975d683 Compile util and cheats as C++ 2017-12-14 10:03:21 +01:00
Michael Steenbeek cc27beef73 Remove unnecessary strdup 2017-12-13 19:46:29 +01:00
Michael Steenbeek 8095c970aa Fix memory leak in New Ride window
The way the window handles strings might need to be updated at some point
to be a little bit cleaner, but this at least plugs the leak.
2017-12-13 11:59:03 +01:00
Michael Steenbeek 6dc49d643a Compile files in base dir as C++ 2017-12-13 08:03:48 +01:00
Christian F. Coors 0aa515355a Add cursor scaling 2017-12-12 22:11:40 +01:00
Michael Steenbeek e3c52360db Remove most usages of separate flag
This removes most usages of the separate flag, instead relying on ride groups to do its job.
Research is more complicated and will follow in another commit.
2017-12-08 10:28:29 +01:00
Michael Steenbeek 171271215e Change some ride type names for clarity, fix Americanism 2017-12-08 07:59:44 +01:00
Michael Steenbeek 3868b100df Stop encrypting money
It serves no purpose any more. Of course, we still need the ENCRYPT_MONEY() and DECRYPT_MONEY() functions for importing and exporting S6 files.
2017-12-07 23:22:24 +01:00
Marijn van der Werf 2d776de772 Extract functions from EditorObjectSelection 2017-12-07 17:52:03 +01:00
Marijn van der Werf 862ab26cc1 Move object selection window to UI module 2017-12-07 17:52:03 +01:00
Michael Steenbeek 0ffa2b541a Use more consistent terminology and remove some Americanisms 2017-12-05 10:23:36 +01:00
Michael Steenbeek 10a4dd06b0
Merge pull request #6754 from Gymnasiast/game-as-cpp
Compile game.c and game.h as C++
2017-12-05 09:23:01 +01:00
Hielke Morsink 884bc0c9a4 Trim object names when copying the missing objects list
Before adding a name to the clipboard buffer, it checks for spaces at
the end of the name, to prevent copying those.

It also moves some logic from the "mouseup" function, and moved memory
deallocation within the same function where it got allocated.
2017-12-05 09:22:07 +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 078c2d22c1 Make use of ride preview images clearer and more future-proof 2017-12-04 20:11:38 +01:00
Aaron van Geffen db5b72c360 Fix #6782: Steam overlay checkbox widget not displayed correctly. 2017-12-04 20:10:29 +01: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 b9a6382557 Remove unused tutorial and guest number strings 2017-12-04 11:27:37 +01:00
Aaron van Geffen 1ef73997b5 Removed interface to window limit setting. 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
Aaron van Geffen 38d45a102b Remove interface to option for handymen mowing by default. 2017-12-04 11:26:53 +01:00
Michael Steenbeek c83b2e31cc Replace magic number check for food and drink items with a function call 2017-12-04 10:40:41 +01:00
Michael Steenbeek b0c784ed71 Fix # 6775: New Campaign window only shows 40 rides 2017-12-04 08:35:33 +01:00
Aaron van Geffen 837b177d9d Simplify UI scaling display quality options (#6764)
Simplify UI scaling display quality options.

This removes three options:
* 'Use NN scaling at integer scales', as NN is decidedly preferable at integer scales.
* Anisotropic scaling, as it produces results very similar (if not equal) to linear scaling.
* NN as a selectable option in the dropdown - NN is forced on integer scales and unavailable for non-integer scales.
2017-12-03 22:35:16 +01:00
Michael Steenbeek 63f7820b25 Fix #1185: Close button colour of prompt windows does not match 2017-12-01 17:36:30 +01:00
Ted John 47a68e9e90 Add constant for maximum zoom level 2017-11-30 21:21:38 +00:00
Michael Steenbeek 3f8556c85a Fix #6294: Refactor Editor::SelectedObjects 2017-11-28 13:38:54 +01:00
Michał Janiszewski 14f39e189d Fix building 2017-11-26 21:24:57 +01:00
Michał Janiszewski b7ecaf6ae0 Fix StaffList.cpp compilation 2017-11-26 20:36:03 +01:00
Hielke Morsink 59cfc3459d Add clear button 2017-11-26 13:44:45 +00:00
Hielke Morsink c648a60502 Add search box to track list window
This adds a vector of indices used for the track designs array, which is
used instead of the window list index.

Some other things I've edited that are not directly related to this
commit:

- Orders widgets in logical order like how they appear on screen
- Adds some comments to existing code
2017-11-26 13:44:45 +00:00
rwjuk d920083503 Fix #6663: Object load error window filename corruption 2017-11-24 07:53:49 +01:00
Marijn van der Werf f19344aea6 Move tile inspector to UI module 2017-11-23 23:12:25 +01:00
Ted John 323b8dd352 Partially fix #6129: Guest List not updating after a ride rename
- Force refresh of ride list and guest list for both rename ride and demolish ride actions.
2017-11-23 09:40:39 +01:00
Ted John 53493d0977 Name only flag for banner objects 2017-11-22 22:06:56 +00:00
Ted John ef65a5208b Rename fields in rct_scenery_group_entry 2017-11-22 21:42:41 +00:00
zyliwax 7bffc4ae33 Adding gridlines display toggle shortcut. (#6313)
This feature existed in the original RCT1/2 games but was not present in
the latest development commit.

The original shortcut for this key was '7', placing it between the
"Invisible people toggle" (6) shortcut and the "Height marks on land
toggle" (8). This commit preserves as much as possible, using
placeholder comments that signify the relevant values which this
feature actually uses where this is not possible.
2017-11-22 12:02:23 +00:00
Ted John a98c936316 Fix #5636: Pausing the game shows mute button as active 2017-11-21 23:23:43 +00:00
Michael Steenbeek c1400a12eb Allow separate ride and vehicle names per ride entry 2017-11-21 18:55:42 +01:00
Michael Steenbeek 76dc490fca Clip available vehicles string in New Ride window 2017-11-21 18:28:21 +01:00
Michael Steenbeek 2a01c22e8c Raise vehicle tab window height to avoid text clipping 2017-11-21 15:10:35 +01:00
Michael Steenbeek adae6041f3 Show list of available vehicles in New Ride window 2017-11-20 19:42:29 +01:00
Hielke Morsink b3f9fb5299 Invalidate ride window when opening/closing all
The ride window was not invalidated, resulting in old text being still
visible inside the list. This was especially noticable when the game was
paused.
2017-11-20 18:28:22 +01:00
Ted John 8c53b6a70b Fix #6681: Tons of visual glitches when zooming out
Regression from #6574. Restoring the backup of SPR_TEMP was removed which was necessary as it is the sprite for grass tile zoomed out. Instead make SPR_TEMP a special sprite ID which is not used for anything else apart from temporary sprite drawing.
2017-11-20 13:48:00 +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
Ted John 38024bbd0d
Merge pull request #6699 from IntelOrca/refactor/available-entertainers
Refactor entertainer invented logic
2017-11-19 23:46:54 +00:00
Michael Steenbeek e3ab7e723d Fix #6701: assertion on string ID -2 and name it 2017-11-19 22:22:04 +01:00
Ted John 3251af4f30 Refactor entertainer invented logic
Remove hard dependency on scenery window by calling a new is scenery set invented function. I don't think this the performance is any worse as it called init_scenery anyway for every call to get_available_entertainers.
2017-11-19 16:06:10 +00:00
Marijn van der Werf 67ebf40f83 Move main editor window to UI project 2017-11-18 21:07:21 +01:00
Marijn van der Werf dceb403ca9 Move editor bottom toolbar to UI module 2017-11-18 21:07:21 +01:00
Marijn van der Werf 8b7322ad6e Move bottom toolbar to UI module 2017-11-18 21:07:21 +01:00
Marijn van der Werf 3d7867791d Move scenery window to UI module 2017-11-18 21:07:21 +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 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
Michael Steenbeek e12de39407 Fix include 2017-11-17 12:54:47 +01:00
Michael Steenbeek dd6257af1e Tackle the two residual usages of the colour property 2017-11-17 12:54:47 +01:00
Michael Steenbeek 60d5d5ca1e Cleanup 2017-11-17 12:54:47 +01:00
Michael Steenbeek f448d16707 Add methods for getting and setting track element type 2017-11-17 12:54:47 +01:00
Michael Steenbeek 953d6840f4 Fix some missed occurrences 2017-11-17 12:54:47 +01:00
Michael Steenbeek a292917e50
Compile mapgen.c as C++ 2017-11-17 10:22:54 +01:00
Michał Janiszewski 63e246938f Make sure PORTABLE option is honoured globally 2017-11-16 23:08:03 +01:00
Ted John b5137b0e37
Merge pull request #6574 from IntelOrca/protect-g1-access
Refactor g1 access
2017-11-16 18:51:32 +00:00
Michał Janiszewski 8ec5f3ae82 Move FORCE32 option to top-level CMakeLists.txt 2017-11-15 22:32:51 +01:00
Christian F. Coors 58e8ef5de4 Fix build in clang 2017-11-14 21:01:11 +01:00
Michael Steenbeek 5eed8cecd4 Fix typo in 'multiplier' 2017-11-13 16:22:36 +01:00
Cody Jung 3bb9d41908 Fix #6657: Reset tracking icon status when opening guest list
The guest tracking icon is hidden on the guest list if it's in
PAGE_SUMMARISED mode. Closing then reopening the window reset it back to
INDIVIDUAL mode but did not restore the icon state.
2017-11-13 10:36:16 +01:00
kitsunenokenja 04f0048430 Add missing header include for std::ceil call (#6655)
OpenGLDrawingEngine::ConfigureCanvas calls std::ceil which is defined by
the cmath include. Adding the include directive resolves a compilation
failure to due std::ceil being otherwise undefined.
2017-11-12 14:02:30 +00:00
Marijn van der Werf bd0bd9e038 Move top toolbar to UI module 2017-11-11 23:57:19 +01:00
Marijn van der Werf c247bbcb82 Move ride construction window to UI module 2017-11-11 23:57:19 +01:00
Robert Jordan 4c3065619e Fix #996, #2254, #2589, #2875: Viewport scrolling getting stuck or shaking
Shaking while at the edge of the map has been completely eliminated. In
order to do this, comparison with tile height was also removed which
fixed a few outlier cases.

The main cause was viewport axis were only being set if it's respective
isometric axis was at the boundary, instead of either isometric axis.
Viewport no longer gets stuck which was related to the shaking in the
end. (#2875)

Refactored viewport_update_position. I moved
viewport_set_underground_flag above the bounds checking function since
it had no relation to it. (#996, #2589)

Scrolling on the map edge with arrow keys or mouse edge will now go the
same speed in both directions. (#2254)

Added changelog entry.
2017-11-08 17:43:50 +01:00
Richard Jenkins d6bd26cd83 Fix #5836, #6301: Track list freezes after deletion in Track Manager 2017-11-08 07:51:59 +01:00
Michał Janiszewski cabed0cef5 Remove unused field 2017-11-08 06:53:17 +01:00
Philip Goto 19abb62586 Add Smooth NN scaling to OpenGL renderer 2017-11-06 23:05:21 +01:00
Philip Goto 360cd813b7 include cmath in HardwareDisplayDrawingEngine 2017-11-06 23:05:21 +01:00
Philip Goto 36bece4cf1 Destroy _scaledScreenTexture on destroying hardware engine 2017-11-06 23:05:21 +01:00
Philip Goto 6377ac7bfb Create enum for scale quality 2017-11-06 23:05:21 +01:00
Philip Goto b66df2d6db Add smooth nearest neighbor scaling
This commit implements smooth nearest neighbor scaling, this scaling method looks sharper than linear scaling and not deformed like NN scaling.
2017-11-06 23:05:21 +01:00
Ted John 498857a95d Do not bother backing up SPR_TEMP 2017-11-05 21:10:27 +00:00
Ted John 4232be9fc2 Remove remaining external uses of g1element 2017-11-03 22:18:10 +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
Robert Jordan 8da1cad3ab Enhance: Change title editor default selection
Title editor sequence selection now defaults to current preset. This is
only after the first time the window is opened. Afterwards it keeps the
last selection.
2017-11-03 21:34:37 +01:00
Robert Jordan f4538c6557 Fix: Realign Park Viewport
The viewport had a 1x1 spacing before the bottom right border was
reached.
2017-11-03 07:53:25 +01:00
Marijn van der Werf bbe46cb583 Sort affected includes 2017-11-03 01:54:37 +01:00
Marijn van der Werf 666809fb8b Move object load error window to UI module 2017-11-03 01:54:37 +01:00
Marijn van der Werf 59df233669 Move text input window to UI module 2017-11-03 01:54:37 +01:00
Marijn van der Werf de6b3b4ebf Sort includes in Guest.cpp 2017-11-03 01:54:37 +01:00
Marijn van der Werf 4a4f9648a7 Move network status window to UI module 2017-11-03 01:54:37 +01:00
Marijn van der Werf b85f9c3f68 Move maze construction window to UI module 2017-11-03 01:54:37 +01:00
Marijn van der Werf 1e335308cc Move map tooltip to ui module 2017-11-03 01:54:37 +01:00
Marijn van der Werf ee6c3cfc56 Move track design list window to UI module 2017-11-03 01:54:37 +01:00
Marijn van der Werf 61255e25a7 Move Ride window to UI module 2017-11-03 01:54:37 +01:00
Marijn van der Werf 427d639e69 Improve title screen options button appearance 2017-11-02 22:57:00 +01:00
Robert Jordan d79d2a7503 Fix numerous title sequence editor bugs
* Change how current title sequence is handled. It can either be
previewing a title sequence, or playing the preset.
* LoadMM and LoadRCT1 now save when script is saved.
* No more infinite failing to load loops.
* No more crashing when attempting to display "no save selected" in
title editor.
* Title editor now gracefully fails to preview a title sequence and lets
the user know with a context error.
* When preset title sequence fails to load, the preset will forcibly be
changed to the first sequence to successfully load.

Added changelog entries for last two items.
2017-11-02 18:36:37 +01:00
Christian F. Coors 06afeeda9a Apply some refactoring 2017-11-02 12:22:28 +01:00
Robert Jordan 88b487309d Refactor: Title Editor new lines
[ci skip]
2017-11-01 22:42:58 +00:00
Robert Jordan b715d83bfd Add missing size_t cast 2017-11-01 22:42:58 +00:00
Robert Jordan 61accf6e02 Fix another missing instance of size_t 2017-11-01 22:42:58 +00:00
Robert Jordan 0698154ba1 Refactor: Title sequences and switch to size_t 2017-11-01 22:42:58 +00:00
Robert Jordan 9425ed1aee Implement #6307: Display arrow on park entrance placement 2017-11-01 18:14:01 +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 076be24bb9 Default-initialise fields in DrawRectShader 2017-10-30 16:21:49 +01:00
LRFLEW 778cb9d024 Rename CopyFramebufferShader to ApplyPaletteShader 2017-10-30 16:21:49 +01:00
LRFLEW 50600f6195 Move MaxTransparencyDepth 2017-10-30 16:21:49 +01:00
LRFLEW 7db8d0f00a OpenGL: Fix linear DPI scaling 2017-10-30 16:21:49 +01:00
LRFLEW aac1c59714 OpenGL: Add multi-pass transparency 2017-10-30 16:21:49 +01:00
LRFLEW d3d41ea724 OpenGL: Add single-pass transparency 2017-10-30 16:21:49 +01:00
LRFLEW 3d2d99817c OpenGL: Add Depth Buffer and Depth Test 2017-10-30 16:21:49 +01:00
LRFLEW 6bf2e0157b OpenGL: Improve Shaders 2017-10-30 16:21:49 +01:00
LRFLEW f105237a2e OpenGL: Delay Palette Mapping Until Final Framebuffer Copy to Screen 2017-10-30 16:21:49 +01:00
Robert Jordan a3c64bb146 Feature: Preview title sequences in-game
Title sequences can now be played back in-game, allowing for much easier
editing.

Improved title sequence playback in general. Clicking play while on a
different title sequence will play the new one. Clicking stop will make
the title screen go back to the config title sequence. And the closing
the title sequence window will also make the game go back to the config
title sequence, and reload the sequence if it was modified.

Changes made to title sequences in-game are now correctly loaded in the
title screen.

Starting a title sequence within the editor will now always reset it
even if it's the current playing sequence. (Not for playing in the
editor though).

Get Location in title sequence command editor now has 100% accuracy
compared to before
where it would usually get some offset value.

Added `get_map_coordinates_from_pos_window` which will allow getting the
viewport coordinates of a specific window even if the input coordinates
are under another window. This has use with getting 2D positions from
the main window without the other windows getting in the way.

Options window will now always specify the config title sequence in the
dropdown and not the current title sequence.

Made a global variable `gLoadKeepWindowsOpen`, in game.h to keep windows
open when loading a park. When loading a title sequence park in-game.
The sequence player will force-close all park-specific windows ahead of
time.

Skipping while testing title sequences no longer needs to reload the
park if the current playback position is already before the target
position and ahead of the load position.

Added changelog entry.
2017-10-30 12:07:01 +01:00
Aaron van Geffen 25d5ff729a Increase padding and fix button alignment for load/save window 2017-10-28 09:32:31 +02:00
Aaron van Geffen f1c69ac4f7 Take font line height into account in News window. 2017-10-27 11:11:43 +02:00
Aaron van Geffen a058b39b90 Add extra padding to options in News Options screen. 2017-10-27 11:11:43 +02:00
Michał Janiszewski 90a14205c8 Compile track_data.c as C++ 2017-10-25 23:53:47 +02:00
Michael Steenbeek 4290d0a65d Fix some erroneous use of LOCATION_NULL
Found by @janisozaur and introduced in PR #6461.
2017-10-25 11:59:29 +02:00
blackhand1001 e4caeb7ef9 Use constants for energy bars in Peep window 2017-10-24 09:19:17 +02:00
Aaron van Geffen ec53c1c953 Add extra padding to the editor's scrollable invention lists. 2017-10-22 22:00:49 +02:00
Aaron van Geffen 9dbba6e56e Add extra padding to scrollable list items in staff window. 2017-10-22 22:00:49 +02:00
Aaron van Geffen cbb178743f Add extra padding to scrollable list items in guest window. 2017-10-22 22:00:49 +02:00
Aaron van Geffen 84435262ba Increase height of the options button on the title screen. 2017-10-22 22:00:49 +02:00
Aaron van Geffen 01b92b06fd Take line heights into account in Error windows. 2017-10-22 21:48:09 +02:00
Aaron van Geffen 4fe70294e2 Take line heights into account in About and Music Credits windows. 2017-10-22 21:48:09 +02:00
Aaron van Geffen 9f67fafc43 Add theme support for console background colour. 2017-10-19 21:26:53 +02:00
Michał Janiszewski 35644a66e0 Fix android build 2017-10-19 10:48:25 +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
blackhand1001 ce0650daf5 Change min energy cheat to the correct min value 32.
Change min energy cheat to the correct min value 32. This fixes the issue with the min energy cheat that causes it to reset to 255 a few seconds after applying it.
2017-10-18 21:52:46 +02:00
Duncan d224f1219e Reintroduce error titles to game actions. Small refactor. (#6462)
* Reintroduce error title to game actions. Small refactor.

Removed setting error titles in any calling functions.
Refactored place park entrance result to conform with other game actions.

* Remove unread variable (fixing Travis)
2017-10-18 19:57:36 +01:00
Robert Jordan ec22d04089 Fix #6470: Title sequence naming issues
Predefined title sequence filenames are now treated as "reserved".
Custom title sequences cannot use reserved names and an error will
appear if the user tries.

Duplicating predefined title sequence now uses default text of
predefined sequence's proper name instead of filename.

Renamed `WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON` to
`WIDX_TITLE_EDITOR_RENAME_BUTTON` to follow formatting of other preset
button ids.

Added string id 6154, `STR_ERROR_RESERVED_NAME`, "Name is reserved".
2017-10-18 11:18:14 +02:00
Aaron van Geffen d6ee66acb4 Split/rename ROW_HEIGHT constant into widget-specific ones. 2017-10-18 11:17:22 +02:00
Aaron van Geffen 7e9a5bbb6b Increase padding for finances summary and marketing tab. 2017-10-18 11:17:22 +02:00
Christian F. Coors e5ce3859a3 Fix Intent pointers/strings 2017-10-17 22:31:05 +02:00
Michael Steenbeek bb01699b7d Compile track.c as C++ 2017-10-17 13:51:47 +02:00
Aaron van Geffen 60aa849a83 Increase height for items in shortcuts window.
This increases the height for each item in the keyboard shortcuts window from 10px to 12px.
While this may not seem like much, it ensures the text no longer overlaps for Japanese and Korean.
At also has the added benefit of making the window look a bit nicer for Western languages.
2017-10-17 11:39:24 +02:00
Arnav Borborah 8271da85a2 Fix arguments to main() 2017-10-17 00:04:40 +02:00
Robert Jordan 9d5c6a4127 Use proper names for predefined themes
Predefined themes *RCT1* and *RCT2* will now be called their respective
game name*RollerCoaster Tycoon 1* or *RollerCoaster Tycoon 2* in the
current language.

Predefined themes in the config file now are prefixed with an asterisk
like they are supposed to be. AKA `*RCT1` instead of `RCT1`.

This will invalidate the user's currently selected theme in the config
file, but only if they were using RCT1's theme.
2017-10-16 10:04:09 +02:00
Christian F. Coors e1d24641a4 Fix saving without dialog in new scenario 2017-10-16 08:07:10 +02:00
Martin Müller ffdc854c1f Fix #5741: Disappearing land/construction rights indicators 2017-10-15 16:11:08 +02:00
Tomas Dittmann e393ff1f22 Stop using (void*)-1 for invalid pointers 2017-10-15 15:53:16 +02:00
Robert Jordan 74f1eb39a8 Fix: TitleSequence spelling errors
```c++
bool TileSequenceSave(TitleSequence * seq);
bool TileSequenceAddPark(TitleSequence * seq, const utf8 * path, const
utf8 * name);
bool TileSequenceRenamePark(TitleSequence * seq, size_t index, const
utf8 * name);
```

Renamed to:

```c++
bool TitleSequenceSave(TitleSequence * seq);
bool TitleSequenceAddPark(TitleSequence * seq, const utf8 * path, const
utf8 * name);
bool TitleSequenceRenamePark(TitleSequence * seq, size_t index, const
utf8 * name);
```
2017-10-15 10:33:10 +02:00
Krutonium fd459f0791 Add a visible notification for missing KDialog/Zenity 2017-10-14 22:16:51 +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
Michael Steenbeek 3a9dc3f491 Ensure that get_ride_entry returns NULL on invalid ride entries 2017-10-12 21:07:35 +02:00
Michael Steenbeek 3a2aeda398 Refactor expenditure table and history graph 2017-10-12 20:35:59 +02:00
Michael Steenbeek 42d6a10952 Compile management as C++ 2017-10-11 21:38:26 +02:00
Michał Janiszewski 07f7928382 Indent namespace contents in KeyboardShortcut.cpp 2017-10-11 11:30:40 +02:00
Michael Steenbeek 34200848a9 Fix Xcode project; rename input.h 2017-10-11 11:30:38 +02:00
Michał Janiszewski 992721bdb7 Remove C sources from libopenrct2ui.vcxproj globs 2017-10-11 11:30:37 +02:00
Michał Janiszewski bc1d3c0cb2 Remove C sources from glob patterns for openrct2-ui 2017-10-11 11:30:37 +02:00
Michał Janiszewski 50fa761fa0 Apply C++ formatting to Input.cpp 2017-10-11 11:30:36 +02:00
Michał Janiszewski f04c871515 Compile input.c as C++ 2017-10-11 11:30:35 +02:00
Michał Janiszewski 83bb8721f8 Apply C++ formatting 2017-10-11 11:30:34 +02:00
Michał Janiszewski b55f966a87 Compile keyboard_shortcut as C++ 2017-10-11 11:30:33 +02:00
Daniel Trujillo Viedma 39ecd37d27 Fix fault in #6401: append extensions only when saving 2017-10-11 09:43:49 +02:00
Michael Steenbeek 17557569d0 Turn 'unlock all prices' into a regular option
This uses a previously unused S6 flag to save this option persistently.
This should not make S6 import much harder, but should reduce the amount of questions about S4 import.

Also refactor the checks whether the user can ask money for rides or entry. This should make it a lot easier
when our own save format comes around.
2017-10-11 08:33:17 +02:00
LRFLEW 0868902f11 Rework OpenGL API declarations 2017-10-10 22:26:35 +02:00
Daniel Trujillo Viedma 9dc04ed07a Fix #3510: Auto append file extension when not specified on save 2017-10-10 09:55:40 +02:00
Michał Janiszewski c4538496c5 Make sure variables are either static or declared externally 2017-10-09 22:59:40 +02:00
Marijn van der Werf ebb4bbe5d5 Move ride list window to UI module (#6412) 2017-10-08 22:15:41 +02:00
vector-of-bool 57a8bbac23 Respect POSIX path separators on Windows (#6356) 2017-10-08 21:28:38 +02:00
Christian F. Coors e737b3108c Add status messages to server list window 2017-10-08 11:51:22 +02:00
Aaron van Geffen 34685b07a0 Fix #6407: Load/Save window theme is not applied 2017-10-07 23:56:47 +02:00
Marijn van der Werf d02976695d Move new ride and research windows 2017-10-07 22:24:14 +02:00
Marijn van der Werf eef3bd9af5 Move staff and guest windows 2017-10-07 22:24:14 +02:00
Marijn van der Werf 8569a7fe2f Move map window 2017-10-07 22:24:14 +02:00
Aaron van Geffen 86031410c6 Clear IME buffer after committing composed text. 2017-10-07 20:12:05 +02:00
Christian F. Coors 72b3896fec Fix strings in Intent 2017-10-07 19:21:56 +02:00
Michael Steenbeek 25b72260d7 Compile research.cpp as C++, small refactor 2017-10-06 21:41:50 +02:00
Aaron van Geffen 0217734c4e Fix #6383: macOS deprecation errors when compiling. 2017-10-06 11:23:16 +02:00
Christian F. Coors ecc6bf5120 Fix scrolling with mouse wheel 2017-10-06 10:17:43 +02:00
Aaron van Geffen af3fa4b0ff Options window: fix background colour for some dropdowns 2017-10-05 14:11:37 +02:00
ZehMatt bf0bc77dfc Refactor SetParkEntranceFeeAction to use constructor for parameters.
Add RideSetNameAction.
Support of string serialisation.
Check requested status for ride in Query.
Add RideDemolishAction.
2017-10-05 10:42:44 +02:00
Michael Steenbeek b2968ce8b0 Fix #6320: Crash when CSS1.DAT is absent 2017-09-29 10:43:47 +02:00
Michael Steenbeek 289e154fe4 Fix #6315: Not all researched items in S4 are available 2017-09-28 16:24:44 +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
Michael Steenbeek 18db4a5274 Implement #6292: Allow building queue lines in the the Scenario Editor
Also format the file properly and do a bit of clean up.
It's now also possible to build queue lines for editor-only paths.
2017-09-25 22:09:40 +02:00
Marijn van der Werf 9d80f7efed Apply recommended fixes 2017-09-24 22:41:49 +02:00
Marijn van der Werf 11787d4ce4 Allow opening guest list 2017-09-24 22:41:49 +02:00
Marijn van der Werf 47e65d1ab1 Finish rebase 2017-09-24 22:41:49 +02:00
Marijn van der Werf 227ee1f914 Add logging for missing window handling 2017-09-24 22:41:49 +02:00
Marijn van der Werf 6df955dd27 Add missing window initializers 2017-09-24 22:41:49 +02:00
Marijn van der Werf 9d93d28efb Change method argument type 2017-09-24 22:41:49 +02:00
Marijn van der Werf 257c9d60d5 Fix imports 2017-09-24 22:41:49 +02:00
Marijn van der Werf b7164c5eac Rename intent extra keys 2017-09-24 22:41:49 +02:00
Marijn van der Werf 619733ba05 Move track design windows 2017-09-24 22:41:49 +02:00
Marijn van der Werf d18e59ff17 Move loadsave dialog 2017-09-24 22:41:49 +02:00
Marijn van der Werf 9b1b2b5c62 WIP window moving 2017-09-24 22:41:49 +02:00
Marijn van der Werf ac910a5979 Move Error, Campaign and Ride Demolition windows 2017-09-24 22:41:49 +02:00
Marijn van der Werf a49a777047 Move Banner, Player and Sign windows 2017-09-24 22:41:49 +02:00
Marijn van der Werf 8503b8e204 Move Finances and Park windows 2017-09-24 22:41:49 +02:00
Michael Steenbeek 1fd1d8c26b Move editor to C++; add defines for object limits 2017-09-22 07:56:24 +02:00
Michael Steenbeek fa5ec031f1 Clean up ride naming 2017-09-20 21:19:55 +02:00
Michał Janiszewski 00fd18809c Move extern "C" {} blocks to headers (#6282) 2017-09-18 17:05:28 +02:00
Michael Steenbeek 597d40b25b Add cheat to show all drawable track elements 2017-09-13 19:38:30 +02:00
Marijn van der Werf dfbce1ad4c Fix Cmake compilation on macOS 10.12.6 2017-09-12 21:19:56 +02:00
Gymnasiast a28509e24c Split Ride and rct2_ride 2017-09-12 11:16:57 +02:00
Michał Janiszewski 5b0636cf0d Adapt Linux UiContext to Emscripten 2017-09-08 11:57:24 +02: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
Dennis-Z 859faa4bad Fix ghosting when moving over transparent map elements 2017-09-01 21:02:11 +02:00
Ted John 3f1991804a Add debug option to show dirty blocks 2017-08-31 22:36:15 +01:00
wolfreak99 8e93c69e47 Implement console scrolling by pageup and pagedown 2017-08-26 18:19:03 +02:00
wolfreak99 3e4d4ca56f Allow Random Terrain and Place Trees on Simplex Map Generator 2017-08-23 08:56:56 +02:00
Richard Jenkins 71e580a58f Refactor game load functions, resolves #6011 2017-08-23 08:04:36 +02:00
Tomas Dittmann 841bc52027 Use desktop-hwnd as directorydialog-owner, fixes #6198
Restore the mainwindow after the dialog. Correctly cleanup COM memory.
2017-08-22 23:07:36 +02:00
Dennis-Z abf440d01c Fix viewport clipping issues with the OpenGL renderer (#6188) 2017-08-16 22:11:43 +01:00
jensj12 c3a5ffbe04 Implement #3994: Show bottom toolbar with map tooltip 2017-08-16 22:27:20 +02:00
Tomas Dittmann d266ab5f91 Fix #6133: Construction rights not shown after selecting buy mode
tool_set() cancels the previous tool, so it has to be called first or it will cancel the _landRightsMode that was meant to be activated.
2017-08-16 10:22:27 +02:00
Dennis-Z 2c2c5a6fde Remove unused hardcoded color table
Was previously used for the old FiltRect stuff
2017-08-16 00:43:52 +02:00
Dennis-Z 75b784c107 Flush OpenGL command buffers before drawing a rectangle instead of after
This fixes an issue causing the first rectangle that is being drawn
to not be over whatever was previously drawn.
2017-08-16 00:43:47 +02:00
Dennis-Z 634ee96f54 Implement OpenGL renderer FilterRect through palette remapping
Replace the previous "filtering" of rectangles based on
luminance, now using a remap palette like the software renderer for
better output colors.
Various other simplifications regarding to rectangle rendering are
included here too.
2017-08-16 00:43:41 +02:00
Dennis-Z 97ad4ac402 Register/load glUniform1iv function 2017-08-16 00:43:25 +02:00
Michał Janiszewski d698ad1100 Convert NULL -> nullptr in C++ 2017-08-15 11:51:56 +02:00
Michał Janiszewski 44c8c84b7c Convert integers acting as bools to bools (#6177)
Also fixes MSVC2015 according to AppVeyor
2017-08-15 09:03:10 +01:00
Marijn van der Werf 294cef3c9b Move additional windows to UI project 2017-08-14 23:53:28 +02:00
Dennis-Z 85c89481a5 Recreating the atlasses texture instead of changing the format of the existing atlasses texture (#6159)
This improves performance
2017-08-12 13:04:26 +01:00
Michał Janiszewski f9342438e3 Include SDL2 as system headers
On some systems defines may be checked for value even though not present
2017-08-10 17:04:08 +02:00
Marijn van der Werf 247fdc2f5d Fix formatting of C includes 2017-08-10 13:42:27 +02:00
Michał Janiszewski 38f4f8be79 Fix missing includes 2017-08-10 13:42:27 +02:00
Michał Janiszewski 872b3e2039 Update casing of header file 2017-08-10 13:42:27 +02:00
duncanspumpkin 81201a43ac Fix VS project file 2017-08-10 13:42:27 +02:00
Marijn van der Werf 4d90940d21 Move windows to UI project 2017-08-10 13:42:27 +02:00
Ted John f3ef92edcb Fix MSVC build errors and warnings 2017-08-10 13:42:27 +02:00
Marijn van der Werf a53a7ab706 Convert remaining dialogs 2017-08-10 13:42:27 +02:00
Michał Janiszewski 1df22c889d Update minimum required CMake version to 3.1 2017-08-09 23:30:18 +02:00
Duncan 77330ac257 Fix #5890. Primary and secondary colours now work in zoomed opengl. (#6109)
Mistake made due to a missunderstanding of how the software renderer works. At this point in the software renderer the primary and secondary colours are already calculated into the palette so can be ignored. In opengl the colours still need to be passed to the command queue. Fixes #4715 as well.

Update changelog
2017-08-02 20:58:11 +01:00
Ted John 6699d0885b Merge pull request #6065 from IntelOrca/refactor/remove-rct2.c
Move remaining functions out rct2.c
2017-07-30 18:09:26 +01:00
Michał Janiszewski 9eb0dc6ea9 Fix wrong mouse button being released on FingerUp event 2017-07-30 17:57:07 +02:00
Michał Janiszewski eb76b188ae Ensure UiContext deletes allocated resources 2017-07-30 17:34:30 +02:00
Michał Janiszewski d5e6ab3111 Properly dispose of AudioMixer to plug memleak 2017-07-30 17:21:36 +02:00
Ted John 8b2eb8a13e Move screen variables to OpenRCT2.h 2017-07-29 20:29:29 +01:00
Ted John e6e503a853 Move path related functions to Context.cpp
- rct2_init_directories
- get_file_path
2017-07-29 20:29:26 +01:00
Ted John 8bc4e52ae9 Move rct2_quit to Context 2017-07-29 20:28:18 +01:00
Michał Janiszewski 70793f65a5 Verify queried renderer information 2017-07-28 08:06:11 +02:00
Kuriibo 59fabad37c Added new string for shortcut, validate_global_widx 2017-07-26 17:23:47 +01:00
Kuriibo d0db59e196 Keyboard Shortcut for Scenery Remover - #5835
Added a hotkey for the "clear scenery" window. By default, the hotkey is the "b" key (b/c bulldozer).
2017-07-26 17:23:47 +01:00
ZehMatt fabf7f9fb5 Refactored window flags only being updated every 1000ms. 2017-07-25 08:33:57 +02:00
Ted John bc88cb9c2b Make TitleScreen a class (#5971) 2017-07-22 23:42:14 +01: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
Ted John 7fbcf1ab0b Move rct2_update into Context 2017-07-16 23:25:11 +01:00
Sjors Gielen 553e16144b Fix null pointer dereference when cancelling an RCT1 location dialog on Mac OS X.
To reproduce, run openrct2 on OSX, go to the options dialog, then to the bottom
of the misc tab, select an RCT1 location. Then, cancel that dialog. This would
trigger a null pointer dereference by returning std::string(nullptr).
2017-07-14 13:33:54 +02:00
Ted John a808da910c Merge pull request #5885 from willox/gltransparency
Fix regression in OpenGL DrawImageCommand flags
2017-07-13 19:17:59 +01:00
William Wallace ae110a9159 Allow switching between OpenGL and other renderers without restarting 2017-07-13 19:04:37 +01:00
William Wallace ab39262ccf Remove incorrect/unnecessary OpenGL API calls 2017-07-13 19:04:37 +01:00
William Wallace fbb424ba21 Add enums for DrawImageInstance flags 2017-07-13 18:10:14 +01:00
William Wallace 110d01f863 Fix regression in OpenGL DrawImageCommand flags
Flag 1 isn't supposed to be set when flag 3 is set.
2017-07-13 15:42:46 +01:00
ZehM4tt 5f1bc914af Fix copying commands to draw image instances. 2017-07-13 10:17:23 +02:00
Duncan 7b47438f49 Fix windows x86 debug builds (#5845) 2017-07-09 09:51:02 +01:00
rwjuk 214bf3988b Implement 'missing objects' window
Implement 'missing objects' window

Basic implementation of 'bad objects' window

Add new object_load_error.c

Add object_load_error.c

Faffing about

String stuff

Stuff

Get window basically displaying

Proper col header for object

Display object types

Display file name and explanatory message

Probably about time I added myself to the dev list

Cleanup and comments

Make bad object window work with SC6

Fix whitespace, string IDs, flip core function sense

Fix spacing in string_ids.h

Fix string ID snafu

Fix HasNoInvalidObjects() sense

Attempt to refactor this to pass data properly

Move typedefs to separate header

Fix up signatures

Add park_load_result_types.h

Clean up includes and remnants of prev implementation

Split duplication into function, free invalid entries list on close

Use pointer for object_validity_result param

Fixup string IDs

Use LoadObject() directly

Use dependency injection, fix string termination

Xcode fix, make helper function static

Fix buffer overrun and memory leak

Use SDL for clipboard functionality

Fix function & variable declarations

Rework editor_read_s6() to use new park load result type

Update changelog for #5624

[ci skip]

Fix mem leak, function signature and whitespace
2017-07-01 01:28:51 +01:00
Michael Steenbeek 44af1653a6 Replace 'center' with 'centre' (#5745) 2017-06-30 23:11:28 +01:00
Ted John 9b2777bc56 Fix read keyboard config error
Do not try to read more keyboard shortcuts than there actually are.
2017-06-30 19:11:32 +01:00
Ted John 659ccc03d0 Merge pull request #5740 from OpenRCT2/bugfixes
Fix chat sounds
2017-06-30 00:22:53 +01:00
zsilencer 2385ef1059 Fix incorrect arguments to resampler. 2017-06-29 16:40:00 -06:00
zsilencer bde3197e79 Fix incorrect resampling rate when at the end of a sound. 2017-06-29 15:43:40 -06:00
Michał Janiszewski 5a20ab2ffe Add missing newline in input.c
[ci skip]
2017-06-29 23:21:31 +02:00
David CARLIER 04ed2d78d2 Fix building on FreeBSD 2017-06-27 08:56:03 +02:00
Brian Callahan fe8f949b3f Add OpenBSD support. 2017-06-25 23:25:46 +02:00
Ted John f275e5ba9b Remove all platform.h includes from header files
System headers, particularly windows.h polute the namespace too much with macros and unwanted definitions. Do not use them in header files.
2017-06-25 18:59:56 +01:00
Ted John acf3b0cf83 Only include FindPkgConfig once 2017-06-25 14:28:25 +01:00
Ted John 89d43c1120 Merge pull request #5702 from IntelOrca/refactor/nosdl/freetype2
Remove SDL2_ttf dependency, replace with some code form SDL2_ttf without SDL2 dependencies and instead only requiring freetype alone.
2017-06-25 11:35:06 +01:00
wolfreak99 c80e782e67 Add default shortcut 2017-06-24 19:01:00 +02:00
wolfreak99 8364d8d3d8 Implement load game shortcut 2017-06-24 19:01:00 +02:00
Ted John 2c07a55696 Refactor TTF into new source and remove SDL2_ttf 2017-06-24 14:50:30 +01:00
Michael Steenbeek 1f00469b26 Replace free+null with SafeFree, allow freeing NULL
free(NULL) is perfectly fine, no need to check
2017-06-22 12:49:33 +02:00
Michael Steenbeek 9c3a16b6e0 Merge pull request #5611 from OpenRCT2/android
Android
2017-06-19 10:25:18 +02:00
Michał Janiszewski 9903c15e2a Remove various trailing whitespaces
[ci skip]
2017-06-17 13:41:40 +02:00
Marijn van der Werf 8766ec37a1 Add Android project 2017-06-15 14:22:15 +02:00
Ted John 1dae7f9f32 Move SDL_LoadBMP call to libopenrct2ui (#5616) 2017-06-14 19:47:22 +01:00
Ted John fda2f38097 Merge pull request #5589 from duncanspumpkin/remove_win32_debug
Remove Win32 debug special builds as they no longer work and we will soon be removing RCT2 interop entirely.
2017-06-14 07:45:15 +01:00
Ted John 20197d50c3 Fix #5595: No longer able to navigate map diagonally using arrow keys 2017-06-13 17:20:50 +01:00
duncanspumpkin e70a96c04f Remove Win32 debug special builds
Win32 debug previously built a special .dll build to allow calling into RCT2. This has been broken for a while and has little use anymore. It has therefore been removed.
2017-06-13 12:23:26 +01:00
Ted John ee7c97b7be Move scancode to key to openrct2ui 2017-06-11 23:22:32 +01:00
Ted John 31c2b9c6b7 Move remaining SDL in input.c to openrct2ui 2017-06-11 21:18:56 +01:00
Ted John 3988b7797e Fix display of chat shortcut on network games (#5593) 2017-06-11 18:19:15 +01:00
Ted John 7a86fc2cb5 Link back shortcut functions
Some of this will be temporary until input and windows move over to libopenrct2ui.
2017-06-11 17:23:52 +01:00
Ted John 524248cfec Fix libopenrct2ui.vcxproj 2017-06-11 17:23:52 +01:00
Ted John 89ea9064de Move things in keyboard_shortcut.h into KeyboardShortcuts.h 2017-06-11 17:23:51 +01:00
Ted John cbd53f920c Create IWindowManager to open window from libopenrct2 2017-06-11 17:23:51 +01:00
Ted John dfa1b47a4f Move keyboard shortcut code to libopenrct2ui. 2017-06-11 16:52:15 +01:00
Ted John 0d8f9d6618 Refactor IPlatformEnvironment (#5590) 2017-06-11 12:53:37 +01:00
Ted John 5bb48f3539 Move SDL part of lightfx blend to drawing engine 2017-06-10 22:18:54 +01:00
Ted John 90aad2e2ec Use rct_palette instead of SDL 2017-06-10 22:18:54 +01:00
Ted John fc899d15ef Remove SDL_Window from IDrawingEngine and UiContext 2017-06-10 22:18:54 +01:00
Ted John b32f0b276d Merge pull request #5574 from IntelOrca/fix/screenshot
Fix screenshot command and refactor drawing engine
2017-06-10 20:06:26 +01:00
Ted John 47e6f1d139 Rename our version of SDL_MIX_MAXVOLUME to MIXER_VOLUME_MAX
Keep an assert to make sure its the same as SDL in the mixer. If SDL changes it, we can either change ours or convert the number proportionally.
2017-06-10 17:14:07 +01:00
Ted John abb857e51d Remove platform_get_non_window_flags 2017-06-10 16:40:08 +01:00
Ted John 97d68957f0 Fix segfault in screenshot command 2017-06-10 15:48:05 +01:00
Ted John 0ad2c075e5 Separate hardware display drawing engine from software 2017-06-10 15:48:05 +01:00
Ted John df16e6a4f7 Inherit X8 engine from software engine 2017-06-10 15:48:04 +01:00
Richard Jenkins 60a633e79b Fix #5571: Crash when deleting text at end of line (#5572) 2017-06-08 19:17:43 +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 94e982289e Fix openrct2-cli build
By using a dummy audio context, we can now make openrct2-cli start a headless instance without any SDL2 calls. SDL2 is still a dependency until we remove out the input code to openrct2-ui.
2017-06-04 00:18:26 +01:00
Ted John af91b9f4b4 Fix #5521: Infinite loop on first run if neither Zenity nor kdialog are installed (#5526) 2017-06-03 22:13:20 +01:00
Ted John e048f52738 Fix #5537: SDL_Init(SDL_INIT_VIDEO) is called even when using --headless option
Create a dummy UI context and use that if headless is enabled. Some extra guards added to deal with the return values from the dummy class. It may be temporary until the window and input code is moved to openrct2ui.
2017-06-02 19:08:03 +01:00
Ted John 852ea898e7 Fix #5534: Unable to select any full screen resolutions 2017-06-02 18:36:21 +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
Richard Jenkins 25e50bf43c Set CMAKE_INSTALL_RPATH before adding executables. 2017-05-31 19:39:38 +01:00
Ted John 1e550e9059 Create portable builds
Which set rpath to $ORIGIN so it can be run out the box.
2017-05-31 08:51:51 +01:00
Ted John 3ca1b48384 Open the game window on the last remembered display 2017-05-29 22:39:17 +02:00
Ted John 4932537a91 Fix kdialog implementation 2017-05-29 22:38:46 +02:00
Ted John a15a226d7a Fix zenity dialog logic 2017-05-29 22:38:46 +02:00
Ted John e313568a27 Initialise UiContext input fields
This was causing undefined data to appear in _keysPressed which caused shortcuts to be invoked on startup.
2017-05-29 22:38:46 +02:00
Richard Jenkins 7a59eef47e Fix cmake for OpenRCT2-UI on macOS 2017-05-29 22:38:46 +02:00
Ted John f998172674 Fix IME text input 2017-05-29 22:38:46 +02:00
Ted John 3ebf5be3ea Fix mingw cmake 2017-05-29 22:38:46 +02:00
Richard Jenkins e54bed73c6 Remove stray spaces in header 2017-05-29 22:38:46 +02:00
Richard Jenkins d4e5514f6b Tabs-to-spaces on UiContext.macOS.mm 2017-05-29 22:38:46 +02:00
Richard Jenkins aa5151503a Fix formatting 2017-05-29 22:38:46 +02:00
Richard Jenkins 999a467b9a Add SetKeysPressed() function to UiContext 2017-05-29 22:38:46 +02:00
Richard Jenkins 898ffdb8e0 Fix #5487: Crash on deleting text 2017-05-29 22:38:46 +02:00
Marijn van der Werf 52552a9dc4 Work on fixing openrct2-gui compilation 2017-05-29 22:38:45 +02:00
Ted John ee9aa55083 Fix more warnings 2017-05-29 22:38:45 +02:00
Richard Jenkins 63771389c3 Remove whitespace in UiContext.cpp 2017-05-29 22:38:45 +02:00
Richard Jenkins c71fc2b542 Remove test code 2017-05-29 22:38:45 +02:00
Richard Jenkins e8ec7ee58f Implement building of libopenrct2 and OpenRCT-UI for macOS
Initial setup of xcode for multiple targets

libopenrct2 partially working

Restore macOS mach_info init

Get macOS OpenRCT2-ui working if hackish

Implement UiContext for macOS properly

Put tabbing cancellation code back
2017-05-29 22:38:45 +02:00
Ted John 3fa764321e Fix string errors and warnings 2017-05-29 22:38:45 +02:00
Ted John f1a8b32db4 Prevent SDL_INIT when the game does not need to launch 2017-05-29 22:38:45 +02:00
Ted John 41f376f7aa Add final to implementations 2017-05-29 22:38:44 +02:00
Ted John 98d59ccaa3 Fix Linux build errors 2017-05-29 22:38:44 +02:00
Ted John e133585727 Fix 32-bit build 2017-05-29 22:38:44 +02:00
Ted John 50197f04ed Fix boolean warning 2017-05-29 22:38:44 +02:00
Ted John e2a7189663 Do not use SDL_Colour for gPalette 2017-05-29 22:38:44 +02:00
Ted John cf0dcb4753 Refactor file / directory dialogs to UiContext 2017-05-29 22:38:43 +02:00
Ted John 3fcd42fe2b Move more window code to UiContext 2017-05-29 22:38:43 +02:00
Ted John a020a9fbef Fix premature deletion of platform context 2017-05-29 22:38:43 +02:00
Ted John 0440c3deea Clean up audio.cpp 2017-05-29 22:38:43 +02:00
Ted John e426c70bbc Get moved audio code linking 2017-05-29 22:38:43 +02:00
Ted John d206d181f2 Move audio code to UI project 2017-05-29 22:38:43 +02:00
Ted John 175606ae52 Create new audio context interface 2017-05-29 22:38:43 +02:00
Ted John bd9839ff50 Get the game working
Mostly just needed to resolve screen size which is now retrieved via ui context.
2017-05-29 22:38:43 +02:00
Ted John 7163973bd2 Start moving code from OpenRCT2 to Context 2017-05-29 22:38:42 +02:00
Ted John 9d24e47e6f Fix build 2017-05-29 22:38:42 +02:00
Ted John f736e8ff96 Move more platform code to UiContext 2017-05-29 22:38:42 +02:00
Ted John 5885cb646f Start moving window logic to UI project 2017-05-29 22:38:42 +02:00
Ted John 10182879da Invert Context and UiContext dependencies 2017-05-29 22:38:42 +02:00
Ted John 06bba09b43 Fix various issues with the cmake projects 2017-05-29 22:38:42 +02:00
Ted John c7b1feea07 Add back most of the cmake options 2017-05-29 22:38:42 +02:00
Ted John 89780363ee Add openrct2-ui cmake project 2017-05-29 22:38:42 +02:00
Ted John 5c59b743fd Add new CLI and UI builds for non Windows platforms 2017-05-29 22:38:42 +02:00
Ted John 006a76c099 Refactor registration of drawing engines 2017-05-29 22:38:42 +02:00
Ted John bf3749833d Allow drawing engine registration via context interfaces 2017-05-29 22:38:42 +02:00
Ted John c7b66ab193 Fix includes for moved files 2017-05-29 22:38:41 +02:00
Ted John 19aafc4e24 Move drawing engine implementation code to openrct2-ui 2017-05-29 22:38:41 +02:00
Ted John 9c904db1c3 Add UI src project 2017-05-29 22:38:41 +02:00