1
0
Fork 0
Commit Graph

276 Commits (7596f98e2df52f4629b72f9d341a09ff080c1ba3)

Author SHA1 Message Date
glx22 46b504a700 Fix: ini_key issues reported by the script 2023-07-14 14:32:46 +02:00
Rubidium 7c37dcb8e3 Fix: do not use {STRING} when {STRING1} or {STRING2} is needed 2023-06-14 09:44:06 +02:00
PeterN f814c86389
Codechange: Reorganise hotkey initialisation. (#10951)
Hotkeys are now initialized inline, and use std::vector instead of
separate static C-arrays and std::string instead of char *. The list end
marker is no longer required.
2023-06-05 18:12:30 +01:00
PeterN 40f567d464
Fix #10811: Crash getting row from non-resizable widget. (#10833)
GetScrolled*FromWidget took line height from the widget's resize_y value,
however not all widgets are resizable, resulting in a division-by-zero.

Allow passing line height explicitly in cases where a widget is not
resizable.
2023-05-15 18:57:50 +01:00
Peter Nelson 531d1ae8bc Codechange: Use GetScrolled(Row/Item)FromWidget in more places.
In many instances the clicked row position is 'manually' calculated
instead of using the GetScrolledRowFromWidget helper function, with
variations on checks. Replace with the two helpers where possible.
2023-05-12 21:45:32 +01:00
Peter Nelson 0880616851 Codechange: Remove various STRING strings. 2023-05-05 07:07:54 +01:00
Patric Stout 3ebc7ad16e Codechange: migrate all game-time-related timers to the new framework 2023-04-15 13:58:55 +02:00
Peter Nelson 890b2666d3 Change: Use scaled WidgetDimensions. 2022-11-12 18:28:39 +00:00
Peter Nelson b6ed595176 Codechange: Prefer suggested widget padding. 2022-11-12 18:28:39 +00:00
Peter Nelson 6f95e04005 Change: Use Rect helpers for widget drawing.
This replaces repetitive and sometimes unwieldy use of constants.
2022-11-12 18:28:39 +00:00
Peter Nelson eb4ba1991b Change: Use CenterBounds function in more places.
CenterBounds may have a 1 pixel difference so the result is not exactly
the same.
2022-11-12 18:28:39 +00:00
Henry Wilson a394be2780 Feature: Airport construction GUI displays infrastructure cost 2022-10-22 12:16:46 +02:00
Peter Nelson af6c4d50ce Change: Tidy up coverage area label widget layout.
Label is now centered properly and uses standard spacing.
2022-10-03 22:14:18 +01:00
Peter Nelson 8626090b24 Codechange: Draw station acceptance text in its own widget. 2022-10-03 22:14:18 +01:00
Michael Lutz 8503854655 Codechange: Pass unpacked command arguments to command callbacks (except Script). 2021-12-16 22:28:32 +01:00
Michael Lutz 6fe445e6c0 Codechange: Un-bitstuff station/depot/waypoint commands. 2021-12-16 22:28:32 +01:00
Michael Lutz eab18f06a4 Codechange: Pass additional data as byte stream to command callbacks. 2021-12-16 22:28:32 +01:00
Michael Lutz 0f64ee5ce1 Codechange: Template DoCommandP to automagically reflect the parameters of the command proc.
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
2021-12-16 22:28:32 +01:00
Michael Lutz e740c24eb7 Codechange: Template DoCommand to automagically reflect the parameters of the command proc.
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
2021-12-16 22:28:32 +01:00
Michael Lutz 996b16de70 Codechange: Use lambdas instead of CommandContainer to manage station picker commands. 2021-12-16 22:28:32 +01:00
Michael Lutz 4fc055d6e9 Codechange: Align parameter order of command callbacks to command handlers. 2021-12-16 22:28:32 +01:00
Michael Lutz 123c7f99c3 Codechange: Move command callback declarations to the cmd header files. 2021-12-16 22:28:32 +01:00
Michael Lutz a38bbefe1b Codechange: Untangle command code, flags and error string for DoCommand*. 2021-12-16 22:28:32 +01:00
Peter Nelson 7385e780ac Cleanup: nested_array should not be accessed directly.
Replace accesses with GetWidget() as documented.
2021-06-14 17:49:01 +01:00
glx22 5799402f7a Codechange: Rename window related DeleteXXX to match new behaviour 2021-05-29 21:08:25 +02:00
glx22 994bf19aef Fix f6d5c01: Delay deletion when closing windows 2021-05-29 21:08:25 +02:00
frosch d9b4413bc9
Codechange: rename sound ids to make more sense. (#8701) 2021-02-20 19:01:04 +01:00
Patric Stout b6ac5a3ab9
Fix 85a49a0d3: hotkeys were enabled outside of GM_NORMAL (#8534) 2021-01-08 23:28:46 +01:00
Patric Stout af22a4f2cd Add: show in the tooltip of disabled toolbar buttons why they are disabled 2021-01-08 16:43:51 +01:00
Patric Stout 85a49a0d36 Change: always allow to click on the toolbar icons for road/rail/dock/airport
This change allows a user to see what is available and what will become
available before it is available, instead of only disabling the button
with no further explanation. It also always allows building roads and
canals, even if no vehicles are available for road / water.

For rail/road/tram, a dropdown with available types is shown. If
none are available, it reads "None". If the type is not yet available,
it is greyed out.

For dock/airport, this always open the toolbar, but building airports,
docks, and depots buttons are disabled till vehicles are available
for those.

Road is the only exception, with the primary road always being
available. Here too, stations and depots are disabled till vehicles
become available. It does mean you can now always build roads to
for example help towns grow.
2021-01-08 16:43:51 +01:00
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
Łukasz Hryniuk 3effad0bea
Fix: Properly invalidate mouse-over station coverage highlight (#8263) 2020-07-27 17:37:47 +01:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
glx22 b3fd787959 Fix #7188: check the validity of command callback for scripts (#7701) 2019-09-07 17:37:01 +01:00
peter1138 81f0f97406 Feature: Add existing station coverage area display when placing new station parts. 2019-04-25 09:14:01 +02:00
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Michael Lutz c7b9987d08 Codechange: Switch DropDownList to directly use std::vector, thus making AutoDeleteSmallVector obsolete.
DropDownListItem are strongly managed using std::unique_ptr to ensure leak-free handling. Appropriate use
of move-semantics make intent a lot clearer than parameter comments and allows the compiler to generate
copy-free code for most situations.
2019-04-09 22:45:15 +02:00
Henry Wilson a0f36a50e6 Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back() 2019-03-26 20:15:57 +00:00
peter1138 317f69c152 Codechange: Use override specifier in Window-derived classes. 2019-03-24 16:10:04 +01:00
Peter Nelson 2a8fa5fef9 Change: Split up Window::OnTick into OnGameTick and OnRealtimeTick. Adjust timers to work with milliseconds instead of ticks. 2019-01-11 11:56:21 +00:00
frosch c639fb0d8e (svn r27163) -Fix [FS#6204]: Toolbars were not invalidated when changing max-vehicles settings. (adf88) 2015-02-22 15:26:27 +00:00
peter1138 cb62e83e0e (svn r26996) -Codechange: Don't clamp airport construction window size -- this causes very poor performance if the game window is not large enough. 2014-10-12 10:48:18 +00:00
rubidium 03551d2b35 (svn r26732) -Fix [FS#6083]: do not reset the last selected airport or layout (unless it is really necessary) 2014-08-15 19:41:57 +00:00
rubidium 0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
frosch 5370613924 (svn r26422) -Fix [FS#5946]: Some road constructions used the rail sound effect. Rename the enum items to properly reflect their purpose. 2014-03-23 13:28:32 +00:00
frosch 4818b72c75 (svn r26165) -Change [FS#5832]: Improve layout of build-airport GUI (hackalittlebit) 2013-12-18 18:23:30 +00:00
rubidium 83eeba28b7 (svn r26086) -Codechange: use AutoDeleteSmallVector instead std::list for dropdowns 2013-11-24 14:46:26 +00:00
frosch f89375aa44 (svn r25731) -Fix [FS#5692]: Minor RTL alignment issues. (sbr) 2013-08-18 19:30:25 +00:00
frosch 5f8f71edf0 (svn r25532) -Fix: Do not make the minimal size of matrix or panel widgets depend on their number of rows, since that changes when resizing the window. 2013-06-30 14:33:15 +00:00
frosch 98fdd20f84 (svn r25531) -Codechange: Use separate function to set data of WWT_MATRIX widgets. 2013-06-30 14:32:31 +00:00
frosch fef30983e6 (svn r25414) -Codechange: Move handling of global hotkeys to HotkeyList. 2013-06-15 15:31:22 +00:00
frosch 5cb174c6b8 (svn r25412) -Codechange: Make use of Window::OnHotkey 2013-06-15 15:30:44 +00:00
frosch 1b8b1f3f6c (svn r25410) -Codechange: Put all hotkeys of a window into a static HotkeyList member. 2013-06-15 15:28:09 +00:00
frosch d9e9710cb3 (svn r25408) -Codechange: Simplify hotkeys by removing unused stuff. 2013-06-15 15:27:33 +00:00
frosch bb308c5e30 (svn r25401) -Fix-ish: Add missing includes with prototypes to functions declared in the cpp file. 2013-06-15 15:05:54 +00:00
frosch 9cb89b3639 (svn r25395) -Fix [FS#5596]: The size of station construction windows could oscillate when resizing the window moved the mouse into the window. 2013-06-11 18:36:26 +00:00
frosch 8157a8afd8 (svn r25290) -Add: Assign string names to notable windows. 2013-05-26 19:25:01 +00:00
frosch 56e4a8c4d6 (svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window after construction. 2013-05-26 19:23:42 +00:00
frosch 3ce8d2ce70 (svn r24846) -Add: Advanced settings to disable certain sound effects. 2012-12-23 21:09:09 +00:00
frosch 03736af2ae (svn r24700) -Cleanup: Remove WDF_UNCLICK_BUTTONS and make it the default. 2012-11-11 16:10:43 +00:00
frosch c841a78f69 (svn r24167) -Codechange: Rename NewGRFClass::GetCount() to NewGRFClass::GetClassCount() 2012-04-22 16:28:19 +00:00
frosch 0f0e7e43cf (svn r24166) -Codechange: Turn NewGRFClass::Get(Tid, uint) and GetCount(Tid) into non-static members GetSpec(uint) and GetSpecCount(). 2012-04-22 16:28:14 +00:00
frosch 6f4d2160c2 (svn r24162) -Codechange: Remove NewGRFClass::GetName() and SetName() in favour of using Get() and direct member access (which is needed anyway for GRF string resolving). 2012-04-22 16:27:55 +00:00
rubidium 6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
truebrain e9f584ac21 (svn r23531) -Codechange: document and rename widgets to be consistent and understandable 2011-12-16 16:27:45 +00:00
truebrain 2aa774e831 (svn r23528) -Codechange: move widget enums to widgets/NNN_type.h 2011-12-15 22:22:55 +00:00
rubidium 82077965fc (svn r23179) -Codechange: use some tooltips that already existed (monoid) 2011-11-10 17:55:52 +00:00
planetmaker ad254f2b7c (svn r22716) -Fix: Murphy is a bitch 2011-08-04 17:22:18 +00:00
planetmaker d20b5eb915 (svn r22715) -Fix: If there's also no point in opening the air toolbar via custom-defined global hotkeys, if there are no aircraft available 2011-08-04 17:13:24 +00:00
rubidium 015231a478 (svn r22538) -Fix [FS#4619]: possible crash when opening the airport build window for the first time 2011-06-04 14:48:21 +00:00
planetmaker 8828acd722 (svn r22497) -Codechange: Simplify button handling in airport build GUI 2011-05-27 16:26:10 +00:00
planetmaker 9a744793b0 (svn r22495) -Fix: The layout selectors of the airport build GUI did not latch properly 2011-05-27 15:40:32 +00:00
yexo 4ac6f2a994 (svn r22494) -Fix: airport preview sprite can depend on the layout, so update the cached SpriteID when the layout changes 2011-05-27 15:31:54 +00:00
frosch 5e449b8fae (svn r22429) -Add: some constants for specific palette colours used in the GUI. 2011-05-06 21:13:29 +00:00
frosch 22286bd7b6 (svn r22421) -Fix: Replace various references to Windows palette greyscale indices with the DOS palette indices. 2011-05-04 17:45:16 +00:00
rubidium 8017c2a3d7 (svn r21909) -Fix: some missing spaces 2011-01-26 08:14:36 +00:00
alberth 852e647bcc (svn r21627) -Codechange: Remove _place_proc global variable. 2010-12-24 15:08:19 +00:00
alberth 802ec80c5d (svn r21609) -Fix (r21545,r21552,r21580,r21586): Restore diagonal clearing of areas. 2010-12-23 14:38:01 +00:00
alberth 264acca2fa (svn r21580) -Codechange: Replace callback via pointer by a switch statement. 2010-12-21 16:27:50 +00:00
alberth 5a2bf89caf (svn r21579) -Codechange: Remove _build_air_button_proc and its functions to a switch statement, record the last started action. 2010-12-21 16:26:34 +00:00
alberth f5c6fd1a25 (svn r21331) -Codechange: Make drawing the widgets default behaviour in OnPaint(). 2010-11-26 15:22:18 +00:00
rubidium 30f2afac9b (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 2010-08-26 22:01:16 +00:00
frosch d496ec65b9 (svn r20470) -Codechange: Make arrow buttons lower and raise like other buttons when clicked. 2010-08-12 16:44:51 +00:00
frosch 9e538acc03 (svn r20461) -Codechange: Replace WWT_HSCROLLBAR, WWT_SCROLLBAR and WWT_SCROLL2BAR with NWID_HSCROLLBAR and NWID_VSCROLLBAR. 2010-08-12 09:16:43 +00:00
frosch 71ca58c2bb (svn r20453) -Codechange: Remove direct accesses to Window::hscroll, vscroll and vscroll2.
Note: All windows get individual members with the same names, which are initialised via Window::GetScrollbar(). This caching is not required at all, but simplifies conversion.
2010-08-12 08:37:01 +00:00
frosch 10339c60c0 (svn r20452) -Codechange: Remove NWidgetCore::FindScrollbar() and associate scrollbar explicitly using a NWidgetPart via SetScrollbar(). 2010-08-12 06:44:45 +00:00
rubidium ef50a89ca5 (svn r20407) -Codechange: make AirportClass use the new generic class 2010-08-07 22:08:20 +00:00
frosch 1cd34128d6 (svn r20382) -Codechange: Hide default airport layoutname if there is only one layout. 2010-08-05 17:24:45 +00:00
frosch 66dd872bdc (svn r20379) -Codechange: Draw airport preview using company colours. 2010-08-05 17:16:31 +00:00
yexo 00902294b3 (svn r20373) -Feature: [NewGRF] callback 0x156 to use another name for airport layouts than the default "Layout x" 2010-08-05 12:05:56 +00:00
yexo d6fa76b044 (svn r20372) -Feature; [NewGRF] callback 0x155 to display extra information about an airport in the build gui 2010-08-05 12:05:15 +00:00
yexo 3e6f8165d4 (svn r20369) -Feature: preview sprites for airports 2010-08-05 12:03:34 +00:00
yexo d2f9b87ccd (svn r20366) -Codechange: store the rotation of the airport layout in the station struct and use it to rotate hangar tiles 2010-08-05 12:00:09 +00:00
yexo 330c2f979e (svn r20365) -Codechange: allow multiple layouts for one airport statemachine, store the layout number 2010-08-05 11:59:07 +00:00
yexo 63951fada6 (svn r20362) -Codechange: use correct parameter type for SetFill in airport gui 2010-08-04 10:33:18 +00:00
rubidium e356cb9405 (svn r20281) -Codechange: unify case scope closure + break coding style 2010-08-01 18:53:30 +00:00
frosch 397d1186d7 (svn r20071) -Codechange: Consistently return the toolbar window for ShowBuildXxxToolbar(). 2010-07-04 09:27:15 +00:00
yexo 26be68ae98 (svn r20070) -Feature: when none of the open windows handles a keypress, try all toolbars for global hotkeys
Users that have run a version between r20056 and r20068 should delete their hotkeys.cfg to reset the terraform toolbar hotkeys to default
2010-07-03 21:43:44 +00:00
yexo 2e0acdbb07 (svn r20062) -Feature: customizable hotkeys for the airport toolbar 2010-07-03 18:10:18 +00:00
rubidium 062dd0e24c (svn r19814) -Codechange: give some more unnamed enums a name, in case they consisted of unrelated values use static const (u)int 2010-05-13 10:14:29 +00:00