Commit Graph

2171 Commits

Author SHA1 Message Date
Michał Janiszewski f1fa016400
Reset window pointer when cleaning up after dropdown 2020-07-26 10:09:56 +02:00
Matt fa2bd4cad6 Refactor PeepType to use strong enum 2020-07-25 11:54:37 +02:00
Michael Steenbeek 6ba6184602
Merge pull request #12362 from Gymnasiast/refactor/object-entry-index-null-to-0xFFFF
Change ObjectEntryIndex null value to 0xFFFF
2020-07-25 09:25:04 +02:00
Aaron van Geffen 4d0d41dfbe
Restore spinner decrease button width (#12370) 2020-07-24 19:12:11 +02:00
Gymnasiast 682add27dd
Change ObjectEntryIndex null value to 0xFFFF 2020-07-23 12:45:42 +02:00
Duncan 4a235e3bb6
Refactor ResearchItem Type to an enum class (#12346)
* Change type of ResearchItem.type to enum class

This is to prevent any future issues caused by confusion as to what the type is and further improves the codebase.

* Specifiy a size for the type

Also remove the static cast where not required

* Apply review comments
2020-07-22 14:25:05 +01:00
Aaron van Geffen 205fc3332b
Refactor more widget definitions
* Increase height for changelog button in about window
* Tackle banner window
* Tackle changelog window
* Tackle custom currency window
* Tackle finance summary
* Tackle quit prompt widgets
* Tackle debug paint widgets
* Tackle demolish and refurbish prompt widgets
2020-07-21 17:38:57 +02:00
Aaron van Geffen 7b5087f057
Update copyright year to 2020 2020-07-21 15:04:34 +02:00
Aaron van Geffen 8f57c22bfe
Refactor options window widget definitions into new format (#12316) 2020-07-21 14:14:44 +02:00
Michael Steenbeek 09ece01096
Merge pull request #12303 from AaronVanGeffen/refactor/cheats
Refactor cheats window
2020-07-21 11:36:24 +02:00
Aaron van Geffen 3d7c0a567e Introduce local constants per review suggestion 2020-07-20 00:12:04 +02:00
Aaron van Geffen 0a5b75e882
Refactor more windows into new-style widget format
* Ride Construction
* Ride List
* Save Prompt
* Scenery
* Scenery Scatter
* Server List
* Server Start
* Shortcut Keys
2020-07-19 19:36:54 +02:00
Aaron van Geffen b966173550
Fix #12315: Re-introduce titles in Finances and Research windows. (#12317) 2020-07-19 14:31:24 +02:00
Aaron van Geffen d303f0b1ef Add constants for common cheat widget sizes. 2020-07-19 11:54:41 +02:00
Aaron van Geffen 15704d6d33 Refactor cheat window widget definitions into new format 2020-07-17 22:46:50 +02:00
Aaron van Geffen 6375d79c27 Cheats window: unfold existing window-specific macros 2020-07-17 22:46:48 +02:00
Gymnasiast cf664c8340
Close #11971: Replace ride groups with new ride types 2020-07-17 00:19:49 +02:00
frutiemax f49149222e
Close #12245: Use coords objects for SetLocation (Window_internal.h) 2020-07-16 23:01:42 +02:00
Aaron van Geffen 79ae0786c0
Refactor more widgets definitions into new format
* About
* Editor Bottom Toolbar
* Editor Inventions List
* Editor Object Selection
* Error
* Finances
* Footpath
* Game Bottom Toolbar
* Guest List
* Network Status
* News
* News Options
* Player
* Research
* Staff List
* Title Options
* About window.

And fix MakeSpinnerWidgets declaration order.
2020-07-16 20:48:25 +02:00
frutiemax 0fa0ca451e
Part of #12245: Use coords for window_scroll_to_location (#12282) 2020-07-15 23:26:27 -03:00
frutiemax c474f2ddc0
Close #12096: Use only ScreenRect on gfx_fill_rect (#12280) 2020-07-15 22:34:57 -03:00
Tulio Leao 289dc96f25
Remove goto from window_create_auto_pos (#12256)
* Reduce code duplication on window_create_auto_pos

* Remove deadcode from window_create_auto_pos

Cascadin window offset deadcode

* Extract ClampWindowToScreen from window_create_auto_pos

* Remove goto usage from window_create_auto_pos
2020-07-15 22:59:35 +01:00
frutiemax cd92597ec4
Part of #12096: Use ScreenRect on gfx_fill_rect in Tile*.cpp (#12248) 2020-07-15 16:19:49 -03:00
Tulio Leao f36a86e9e6
Use MakeWidget for most Title windows and the ToolTip (#12264)
* Use MakeWidget for windows/Tooltip.cpp

* Use MakeWidget for windows/TitleScenarioSelect.cpp

* Use MakeWidget for windows/TitleMenu.cpp

* Use MakeWidget for windows/TitleExit.cpp

* Use MakeWidget for windows/TitleLogo.cpp

* Clarify initial size of TitleMenu buttons
2020-07-15 15:48:41 +02:00
Michael Steenbeek d80f9b511f
Merge pull request #12255 from Gymnasiast/refactor/more-constants-in-track-curve
Refactor/more constants in track curve
2020-07-15 15:36:42 +02:00
Tulio Leao 0951c0c5cc
Remove goto from input_state_widget_pressed (#12265) 2020-07-15 07:50:01 -03:00
frutiemax f94c3bc2f3
Close #12242: Convert TrackDesignPlace static globals to use Coords (#12249) 2020-07-15 04:01:16 +02:00
Aaron van Geffen 5344bc2e38 Convert terraforming tools to new widget defintions 2020-07-14 23:36:22 +02:00
Gymnasiast e080d4655e
Use RideConstructionSpecialPieceSelected in two more places 2020-07-14 01:10:47 +02:00
Michael Steenbeek 1034aadb72
Merge pull request #12238 from frutiemax/Fix12223
Close #12223: Assert that Formatter::Add() only receives desired types
2020-07-14 00:05:37 +02:00
frutiemax 5f4e1ba344 Forbid usage of uint8_t* in formatter::Add 2020-07-13 17:40:04 -04:00
frutiemax 84a4c4e473
Part of #12096: ScreenRect on gfx_fill_rect in windows/Ride.cpp (#12239) 2020-07-13 17:49:12 -03:00
frutiemax b39a0037f0
Close #12164: Use Coords for place_virtual_track (#12240) 2020-07-13 16:37:10 -03:00
frutiemax 59618327af
Part of #12096: Use ScreenRect on gfx_fill_rect in Map.cpp (#12230) 2020-07-13 14:36:49 -03:00
Michael Steenbeek 1cf89362f0
Merge pull request #12184 from IntelOrca/sea
Add support for reading .sea (RCT classic) files
2020-07-13 17:23:16 +02:00
Michael Steenbeek 132b2e5966
Fix #12071: Crash in Guest List when a guest dies (#12126)
Send refresh guest list intent on peep removal

Also added protection to guest list to prevent accessing invalid peeps
2020-07-13 09:31:04 -03:00
Thamara Andrade 0fb2a6216c
Close #12099: Use ScreenLine on gfx_draw_line (#12143) 2020-07-12 18:50:52 -03:00
frutiemax 27734e2971
Part of #12160: Use Coords for viewport_coord_to_map_coord (#12216) 2020-07-12 18:42:54 -03:00
frutiemax 508344a088
Close #12174: Remove Formatter additions with uintptr_t 2020-07-11 18:56:12 +02:00
Michael Steenbeek b43ce35ef5
Fix: Map Generator shows incorrect map sizes (#12211) 2020-07-11 12:19:01 -03:00
Ted John 8c81cacc6f Add sea decryption 2020-07-11 11:40:34 +01:00
frutiemax 123d0cceb6
Close #12173: Remove Formatter additions with void* (#12196) 2020-07-11 03:06:23 +02:00
Ted John 0e788918e2 Fix build for latest VS2019 2020-07-10 18:44:26 +01:00
frutiemax 0e96674a46
Part of #12096: ScreenRect w/ gfx_fill_rect in libopenrct2ui (#12188) 2020-07-10 13:59:08 -03:00
Michał Janiszewski dbf00956b5
Fix null pointers reported by launchpad builders (#12168) 2020-07-09 22:52:14 +01:00
Tulio Leao f29abf6953
Part of #11389: Use Formatter on Ride::FormatStatusTo (#12172) 2020-07-09 18:54:30 +02:00
frutiemax 4aa7dec84f
Part of #12096: Use ScreenRect on gfx_fill_rect in Widget.cpp (#12169) 2020-07-08 23:06:46 -03:00
frutiemax 280a21fa30
Fix #12095: Use ScreenRect on gfx_set_dirty_blocks (#12106) 2020-07-08 13:16:24 -03:00
Gymnasiast e8d6383f57
Clean up voucher arguments 2020-07-07 21:13:40 +02:00
Michał Janiszewski 8c88f3c6c0
Fix potential null derference (#12151)
The error is reported by launchpad.net from its PPA builds
2020-07-07 19:57:32 +01:00
Duncan 8c1aa43ef4
Add TryGetEntity to fetch entity objects easily (#11979)
Implement TryGetEntity and use it
2020-07-07 13:13:22 -03:00
Michael Steenbeek f7b42a0254
Merge pull request #11980 from duncanspumpkin/CreateSprite8
SpriteList enum class
2020-07-06 15:21:16 +02:00
Thamara Andrade 8ce799a72e
Close #12118: Prefer foward declaration of *Coords* in headers (#12142)
* Removing unnecessary world/Location includes in headers
* Prefer foward declaration of *Coords* in header files
Closes #12118
2020-07-06 10:10:39 -03:00
Aaron van Geffen 8fc8a435cb
Fix #12123: Long server descriptions are not cut off properly (#12129) 2020-07-05 09:18:23 +02:00
duncanspumpkin 57d2877e67 Provide accesor function for get entity list count 2020-07-05 07:28:38 +01:00
annoyingdroid ad86f7b023
Part of #12098: Use ScreenRect on gfx_filter_rect (#12120)
* Added a gfx_filter_rect function using ScreenRect
2020-07-04 15:16:09 -03:00
duncanspumpkin e51bbeed23 Convert SPRITE_LIST to an enum class 2020-07-04 07:38:11 +01:00
DrunkBlood 55f0f34fe0
Close #12101: gfx_draw_dashed_line to use ScreenLine (#12116) 2020-07-03 18:05:18 -03:00
frutiemax d969e93ea1
Fix #12112: Move TrackColourPreviews to RideTypeDescriptors (#12114) 2020-07-03 22:15:11 +02:00
frutiemax 4661262572
Fix #12085: Use ScreenCoordsXY on clip_drawpixelinfo (#12105) 2020-07-02 14:06:28 -03:00
frutiemax 26ae2dbf04
Part of #11437: Move PlatformFileExists to Platform2.h (#12077) 2020-07-02 12:03:31 -03:00
annoyingdroid 5056872676
Close #12087: Use ScreenCoordsXY on gfx_filter_pixel (#12102) 2020-07-02 11:08:46 -03:00
Duncan cd716ca4aa
Fix #12093. Incorrect position and animation of staff tab. (#12094)
Mistake made when refactoring transposed two digits. Additional mistake made when removing a variable that was unused that changed the memory layout of the window. This meant that a part of the code that accessed a different variable in a union fetched the wrong memory. This was a mistake ultimately made during implementation.
2020-07-02 09:19:19 -03:00
Tulio Leao a86a60cbf5 Extract ScreenRect from Graph for reusability 2020-06-30 09:32:22 -03:00
Michael Steenbeek 33e86ce0d8
Merge pull request #12016 from tupaschoal/screen-coords-string
Make interfaces use ScreenCoordsXY instead of x-y
2020-06-30 08:37:14 +02:00
Duncan 0f106da7eb
Fix #12065 again. Fixed track design previews with diagonals (#12074)
Unsure when mistake was made but there was a variety of issues with this section of code. The rotation of the entrance was meant to be relative to the track design rotation not the last track pieces rotation. This caused issues for tracks that were not complete circuits. In addition there was a mistake for diagonal track pieces where the location of the end piece was not incremented this caused the diagonal piece to act as though it didn't exist breaking the preview.
2020-06-29 10:58:31 -03:00
Tulio Leao b6f252f68e Make gfx_draw_sprite_raw_masked use ScreenCoordsXY 2020-06-29 10:29:05 -03:00
Tulio Leao b7dc5057e5 Make gfx_draw_string_centred_wrapped_partial use ScreenCoordsXY 2020-06-29 10:25:44 -03:00
Tulio Leao 1717f2a9a3 Make draw_string_centred_raw use ScreenCoordsXY 2020-06-29 10:23:54 -03:00
Tulio Leao a0ed2c181e Make gfx_draw_string_left_centred use ScreenCoordsXY 2020-06-29 10:23:54 -03:00
duncanspumpkin 6dfcc1a8b2 Fix #12065. Incorrect Entrance/Exit location on td preview
Unsure when the mistake was made but it could have been prevented by using const on variables that should be const.
2020-06-28 09:05:14 +01:00
TomasZilinek f08206a5d0
Fix #11963 - Refactor Peep::OutsideOfPark (#12060)
* Fix #11963 - Refactor Peep::OutsideOfPark

Changed the definition of Peep::OutsideOfPark from uint8_t to bool and refactored all its occurences in code accordingly.

* Fix #11963 - Refactor Peep::OutsideOfPark

One forgotten instance of Peep::OutsideOfPark occurrence

* Fix #11963 - Refactor Peep::OutsideOfPark

Fix code according to a review suggestion.
2020-06-28 08:39:30 +01:00
Aaron van Geffen 2cb5402069 Introduce widget::textTop 2020-06-26 19:39:30 +02:00
Aaron van Geffen 2e153a7e95 Introduce widget::midX and widget::midY helper functions 2020-06-25 10:31:15 +02:00
Aaron van Geffen 681b8d7938
Introduce widget::width and widget::height helper functions (#12053) 2020-06-24 22:44:00 -03:00
frutiemax 14a07359b3
Part of #11389: Use formatter class for Ride::FormatNameTo (#12041) 2020-06-24 21:02:08 -03:00
Michael Steenbeek a102892370
Merge pull request #11985 from AaronVanGeffen/windows/object-selection
Increase widget heights in object selection window
2020-06-24 23:09:10 +02:00
TomasZilinek 4974d1a9b0
Fix #12050: scenario options initial happiness value misplaced
Fix a mistake made in PR #11984.
2020-06-24 19:42:03 +02:00
TomasZilinek cd6076b5bc
FIx #12017 - Create gfx_draw_sprite overload (#12049)
Second and final part. replaces the rest of the calls and removes the old function.
2020-06-24 12:48:17 -03:00
TomasZilinek 9d965ccfb6
Part of #12017 - create gfx_draw_sprite overload (#12026)
* Part of #12017 - create gfx_draw_sprite overload

Part 1. Creates the overload and replaces about a half of the calls since there are too many for one PR.

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-06-23 18:32:34 -03:00
frutiemax 6e47385b90
Part of #11389 : in peep class, FormatTo* use Formatter class (#12035) 2020-06-23 14:52:08 +01:00
frutiemax 32c342e88d
Part of #11389: Remove FormatTexto that take void* in banner struct (#12034) 2020-06-23 14:50:56 +01:00
frutiemax f86931d8a0
Close #12019: Use ScreenCoordsXY on gfx_draw_sprite_software 2020-06-22 23:52:54 +02:00
frutiemax 4a17d1d64e
Fix #12020 - Use ScreenCoordsXY on gfx_draw_sprite_palette_set_software (#12028)
* Fix #12020 - Use ScreenCoordsXY on gfx_draw_sprite_palette_set_software

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-06-21 22:52:48 -03:00
TomasZilinek 69db54f770
Fix #12018 - gfx_draw_sprite_solid overload (#12023)
Creates the overload, replaces all calls to the old function and removes the old function.
2020-06-21 11:50:05 -03:00
TomasZilinek 9efe43fa59
Fix #11562 - gfx_draw_string_left_wrapped overload (#12015)
I created the overload, replaced remaining calls with the new function and removed the old function.
2020-06-21 06:25:31 -03:00
Hudson Oliveira ef5f117373
Part of #9473: Create Vehicle::GetRide (#12002)
* Part of #9473: Create Vehicle::GetRide

* Redefine Vehicle::GetRide in Compat.cpp
2020-06-21 08:38:53 +01:00
TomasZilinek c1546059ad
Close #11571 - Remove <x,y> gfx_draw_string_left overload (#12010)
Third and final part. replaces the rest of the calls to x,y overload
2020-06-20 16:09:45 -03:00
TomasZilinek 2264c5f7f1
Part of #11571 - Use gfx_draw_string_left with ScreenCoordsXY (#12008) 2020-06-20 11:56:36 -03:00
Michael Steenbeek 82618f2441
Merge pull request #11972 from Gymnasiast/fix/7324
Fix #7324: Research window shows vehicle name instead of ride name
2020-06-20 13:46:31 +02:00
TomasZilinek e93e32d139
Part of #11571: create gfx_draw_string_left() overload (#11984)
Replaces a third of all occurrences of the old function
2020-06-20 00:22:01 -03:00
Gymnasiast f8699d1244
Apply review requests; fix error; remove debug code 2020-06-19 23:35:18 +02:00
Gymnasiast 5029f754ed
Fix #7324: Research window shows vehicle name instead of ride name 2020-06-19 22:50:53 +02:00
frutiemax 51f32130b3
Part of #11964: Merge RideColourKey in RideTypeDescriptor (#11996) 2020-06-19 20:21:16 +02:00
Ted John 5a7fbc8054
Fix #11961: Plugins: ViewportWidget unable to be moved or resized (#11997)
- Ensure child controls for dropdown and spinners are moved.
- Ensure viewport bounds are re-calculated if widget is moved / resized.
2020-06-19 20:20:58 +02:00
Aaron van Geffen 0e9857899e Use widget height constants in object selection window
Replaces hardcoded integers with LIST_ROW_HEIGHT and SCROLLABLE_ROW_HEIGHT.
2020-06-19 08:42:14 +02:00
Aaron van Geffen 81dd7c1a7d Use available vertical text box space for text and cursor 2020-06-19 08:42:12 +02:00
Aaron van Geffen 5cb7bf6216 Increase widget heights in object selection window
These changes accomodate CJK languages:
* Buttons from 11px to 13px.
* Text box from 11px to 13px.

Furthermore:
* Rename WIDX_FILTER_STRING_BUTTON constant to WIDX_FILTER_TEXT_BOX.
* Rename WINDOW_STAFF_LIST_WIDGET_IDX to WINDOW_EDITOR_OBJECT_SELECTION_WIDGET_IDX.
2020-06-19 08:42:10 +02:00
Aaron van Geffen d66c61ca08
Change map generation button heights (#11986) 2020-06-18 23:33:08 +02:00
Michael Steenbeek 5e8a3a709d
Merge pull request #11976 from Gymnasiast/refactor/vehicle-preference
Move build menu preference to objects themselves
2020-06-17 23:41:10 +02:00