Peter Nelson
76516d7f70
Codechange: Use IsValidCargoID/IsValidCargoType.
...
IsValidCargoType() is used only for unmapped IDs.
2023-05-22 20:43:40 +01:00
Peter Nelson
c4ca6a0f74
Codechange: Rename IsCargo..Valid to IsValidCargo..
...
This better fits our naming pattern for this type of function.
2023-05-22 20:43:40 +01:00
Rubidium
63d9bb93b8
Codechange: migrate from C-style GetString to C++-style GetString
2023-05-21 21:17:12 +02:00
Peter Nelson
941dbadf9e
Codechange: Add and use GetScrolledItemFromWidget to get a list item.
...
This function returns an iterator, either to the selected item or the
container's end.
This makes handling the result more robust as indices are not used.
2023-05-12 21:45:32 +01:00
Henry Wilson
3a03a12a9c
Feature: Show the number of industries already built in the Fund New Industry window.
2023-05-12 20:48:11 +02:00
Peter Nelson
d68c4bbd2f
Change: Use iterator when drawing industry cargo window.
2023-05-09 17:39:12 +01:00
Peter Nelson
cccf4953f7
Fix: Incorrect padding on industry cargo window.
2023-05-09 17:39:12 +01:00
Peter Nelson
d2034d9c38
Codechange: Scrollbar methods now accept size_t.
...
This clears up a lot of casts from size_t to int.
2023-05-07 20:25:44 +01:00
PeterN
8bf62dac81
Codechange: Clean up build industry window. ( #10779 )
...
* Remove left-over code that treated an invalid list selection as 'fund
many', which is actually implemented as a separate button.
* Manual list management replaced with std::vector.
* Enabled state is only needed for the current selection.
* Selected index is not required only selected type.
2023-05-07 08:19:09 +01:00
Rubidium
fb856e16c1
Codechange: replace some min/clamp constructs to ClampTo
2023-05-06 21:26:13 +02:00
Rubidium
4a5a9f57c4
Fix: conversion to smaller type warnings
2023-05-06 21:26:13 +02:00
Rubidium
c829930440
Codechange: replace strnatcmp with C++ string capable version
2023-04-29 12:07:45 +02:00
Patric Stout
1ba4dcc924
Codechange: migrate all Window-related timers to the new framework
...
This means we also say goodbye to GUITimers.
2023-04-15 13:58:55 +02:00
Peter Nelson
e5af5907ec
Change: Make all dropdown lists extend width if necessary.
...
This removes the auto_width parameter from ShowDropDown(At).
2023-04-13 20:57:47 +01:00
Tyler Trahan
6e52ceab96
Feature: Industry directory text filter ( #10518 )
2023-02-28 12:20:41 -05:00
Rubidium
4e65ec1dc4
Codechange: do not declare functions in blocks
2023-01-29 20:28:45 +01:00
Rubidium
8be908c919
Fix #10430 , Fix 6ba55e6: display chain window causing assert
2023-01-29 18:11:38 +01:00
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
2023-01-29 07:21:34 +01:00
Rubidium
f001e84e5e
Codechange: use RAII to automatically restore _cur_dpi after use
2023-01-28 20:33:02 +01:00
Rubidium
fe2bcd2a58
Codechange: migrate size related functions to Map structure
2023-01-21 17:11:40 +01:00
PeterN
a7adadcf9b
Fix: Indent production in industry window and resolve button issues. ( #10184 )
...
Industry production used to be indented, although a different amount than
the industry accepts list. This is now added back, with the standard indent
width.
Additionally the cheat-mode production modifier buttons now support RTL and
the list height now takes account of the button height.
2022-11-19 21:18:53 +00: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
f5f035a22b
Codechange: Make use of Rect Width/Height helpers.
2022-11-12 18:28:39 +00:00
Bouke Haarsma
93d2d4590f
Fix #9995 : Adjust viewport zoom level for HiDPI displays
...
On HiDPI screens the zoom level is increased for detailed rendering. This causes hard-coded zoom levels to be off by this adjustment. To fix these default zoom levels, we scale the zoom level based on `_gui_zoom` to get the scaled zoom level.
2022-10-18 22:03:21 +02:00
Peter Nelson
ccb62c3a55
Change: Simplify industry-cargoes widgets.
2022-10-11 08:36:59 +01:00
Jonathan G Rennison
67331fe946
Fix #9951 : Scenario editor random industries button and persistent storage ( #9952 )
...
BasePersistentStorageArray::SwitchMode was not called
2022-07-21 16:21:38 +01:00
Andrew Zhou
5ea55f3948
Fix: Prevents crash when no industries are present
2022-04-30 19:29:03 +02:00
Michael Lutz
8503854655
Codechange: Pass unpacked command arguments to command callbacks (except Script).
2021-12-16 22:28:32 +01:00
Michael Lutz
58cff7b081
Codechange: Un-bitstuff the remaining on-map 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
4fc055d6e9
Codechange: Align parameter order of command callbacks to command handlers.
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
Michael Lutz
549caca39c
Codechange: Move command arguments to the back of the networked command function calls.
2021-12-16 22:28:32 +01:00
Rubidium
ad89601c49
Codechange: do not use all upper case enumerators in a scoped enum
2021-12-05 21:41:43 +01:00
Tyler Trahan
4aa63ce8f3
Fix: Changing raw industry funding method redraws GUI ( #9572 )
2021-09-23 21:07:54 +02:00
SamuXarick
26f7f592cd
Fix #8316 : Make sort industries by production and transported with a cargo filter possible ( #8468 )
2021-08-11 19:25:59 +02:00
Loïc Guilloux
ddb6024bc6
Codechange: Don't explicitly unset _generating_world outside of genworld.cpp ( #9418 )
2021-07-10 14:59:17 +02:00
glx22
5844027eb8
Codechange: Remove FOR_ALL_SORTED_STANDARD_CARGOSPECS
2021-07-09 21:36:09 +02:00
PeterN
ce7ef4d824
Fix: Wrong cargo line position in IndustryCargo window. ( #9383 )
...
Resolved by changing calculation to determine the offset based on centring the cargo lines in the available space.
2021-06-17 23:34:59 +01:00
rubidium42
b791ffc6de
Fix: do not hide parameter by local variable with the same name
2021-05-27 18:30:56 +02:00
Rubidium
bb9121dbd4
Fix: comparison of narrow type to wide type in loop (potential for infinite loops)
2021-05-15 10:16:10 +02:00
PeterN
330a305c99
Fix: Apply unscaled padding to Viewport inside WWT_INSET. ( #9219 )
...
Since pixel dimensions in SetPadding() are scaled by GUI size, padding for inset viewports was excessive.
Instead, automatically apply padding for WWT_INSET at widget level. This applies to all widgets inside a WWT_INSET, which in all instances is a NWID_VIEWPORT.
2021-05-08 21:01:16 +01:00
rubidium42
cb89d22cf2
Codechange: add DrawString(Multiline) that accepts std::string&
2021-05-06 21:45:36 +02:00
rubidium42
6bca9e090d
Codechange: add SetDParamStr that accepts std::string&
2021-05-06 21:45:36 +02:00
Peter Nelson
055067c49c
Fix: Scale cargo lines in industry chain window.
...
Replaces constant pixel values with values scaled based on font size.
This allows the industry chain to maintain a consistent look across
different sizes. Previously all except cargo line height were fixed.
2021-04-30 17:08:15 +01:00
Peter Nelson
254ffe9dcc
Fix: Scale industry chain legend blob by font size.
2021-04-30 17:08:15 +01:00
Peter Nelson
617e85cc65
Fix: Scale legend blobs in Fund new industry window.
2021-04-30 17:08:15 +01:00
SamuXarick
7577dfa575
Codechange: Apply coding style
2021-02-19 00:14:30 +00:00
Kuhnovic
83ddb1501f
Feature: Remove all industries button in scenario editor ( #8550 )
2021-02-10 16:35:50 +01:00
dP
bab7de6cf2
Feature: Allow GameScripts to add additional text to Industry view window
2021-01-22 09:50:53 +00:00
frosch
5bfcd742b8
Change: Relocate rename and location buttons in all windows.
2021-01-11 22:15:58 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
2020-12-27 10:55:42 +00:00
Michael Lutz
79240eab1e
Codechange: Make use of the improved C++17 emplace_back function.
2020-12-15 00:29:30 +01:00
Pavel Stupnikov
c9fd85528a
Add: new economy "frozen" that stops production changes and industry closures ( #8282 )
2020-12-14 23:35:07 +01:00
stormcone
49b75d67bd
Fix 70f9c3c6: The *_filter_criteria variables contain an index, not a cargo. ( #8320 )
2020-09-25 15:35:48 +01:00
TechGeekNZ
a10013dd00
Codechange: Spell 'Viewport' consistently
...
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent.
2020-07-27 17:31:29 +01:00
Yexo
1507902d00
Codechange: remove has_newindustries global
2020-06-01 22:46:06 +02:00
Yexo
ce618bf7e9
Codechange: replace custom timer and OnGameTick() with OnHundrethTick()
2020-06-01 22:46:06 +02:00
Jonathan G Rennison
d35f35a968
Codechange: Use cached town, station, industry names for list window sorting
...
This is to avoid needing to expensively regenerate name strings on
every comparison when sorting by name in the town/station/industry
list windows.
2020-01-12 19:37:43 +00:00
Jonathan G Rennison
f1734e7815
Change: Only resort industry directory window on production change if necessary
2020-01-12 19:37:43 +00:00
Jonathan G Rennison
4cc1420beb
Fix: Non-deterministic name sorting in industry directory window
...
In the case where multiple industries have the same name, sorting
in the industry directory window is non-deterministic.
This results in the order changing on each re-sort, and is noticeable
when the industries have different production or transported values.
2020-01-07 09:03:36 +01:00
stormcone
596fb5d54a
Change: In the industry directory window an industry will be greyed out if it temporarily does not accept the cargo selected by the acceptance cargo filter.
2020-01-05 20:52:17 +00:00
stormcone
808253c29c
Change: Move the filtered cargo to the first place in the industry directory window's cargo lists
2020-01-05 20:52:17 +00:00
stormcone
70f9c3c655
Feature: Industry directory cargo filtering
2020-01-05 20:52:17 +00:00
glx
00c2a98cf3
Codechange: Replace FOR_ALL_INDUSTRIES with range-based for loops
2019-12-21 20:13:03 +01:00
glx
fa657c8360
Fix #7631 : 16 out cargo support for industry directory
2019-11-13 08:11:37 +00:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Niels Martin Hansen
53f8d0b815
Codechange: Use std::vector for industry tile layouts
2019-10-19 17:16:25 +01:00
glx22
b3fd787959
Fix #7188 : check the validity of command callback for scripts ( #7701 )
2019-09-07 17:37:01 +01:00
Charles Pigott
5b34c8019f
Codechange: Remove Company/OwnerByte types
2019-04-29 17:40:22 +01:00
glx
48f99fd980
Codechange: use std::array for _sorted_industry_types
2019-04-18 21:49:34 +02:00
glx
2db88953e7
Codechange: use std::sort() in GUIList
2019-04-13 12:49:18 +01: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
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
2019-03-28 00:09:33 +01:00
Henry Wilson
c01a2e2a81
Codechange: Removed SmallVector completely
2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
2019-03-26 20:15:57 +00:00
Henry Wilson
9cba6f7193
Codechange: Replaced SmallVector::Compact() with std::vector::shrink_to_fit()
2019-03-26 20:15:57 +00:00
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
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
peter1138
b3ef06fdf3
Fix #7384 : Industry Chain tooltips did not display on right-click.
...
This is fixed by handling the new Window::OnTooltip() event instead of OnHover()
2019-03-20 23:00:32 +00:00
Niels Martin Hansen
08ffa16d51
Fix 8859381: Display of requires/produces in Build Industry window
...
Change the window to use a dynamically generated string of cargoes,
instead of one of a few fixed-length lists. With up to 16 cargoes
on each list, having 16 with the only difference how many are listed
seems like a bad maintenance idea.
2019-01-19 13:33:17 +01:00
Peter Nelson
15320a37b9
Change: OnGameTick() is only called when not paused.
2019-01-11 11:56:21 +00: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
Niels Martin Hansen
9b560eaa51
Fix: Industry chain window layout no more unnecessarily large when the number of cargoes in/out isn't large either
2018-11-03 21:43:54 +01:00
Niels Martin Hansen
e66cec8f86
Add: NewGRF support for 16-in-16-out industries
2018-11-03 21:43:54 +01:00
Niels Martin Hansen
8859381d30
Add: Industries can produce and accept up to 16 different cargoes
2018-11-03 21:43:54 +01:00
Charles Pigott
e0c0394e37
Fix: Remove various dead or unnecessary assignments
2018-10-31 12:41:49 +01:00
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
2018-10-31 12:35:54 +01:00
frosch
0d1cc32b19
(svn r27952) -Change: Reword texts in industry view, when stockpiling is used.
2017-12-27 21:54:52 +00:00
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
2017-08-13 18:38:42 +00:00
alberth
dcc240f826
(svn r27751) -Feature: Display cargo suffix of accepted cargoes in industry view based on cb37 result type.
...
Industry-sets that have no stockpiling get better control over the displayed accepted cargo information.
- result 0401 only prints the accepted cargo
- results 0800-0BFF prints the accepted cargo and a string (but not the amount)
2017-02-26 15:34:15 +00:00
alberth
325a46e8ed
(svn r27750) -Codechange: Add cb37 result type to the cargo suffix.
2017-02-26 15:33:39 +00:00
alberth
e8635aca1a
(svn r27749) -Codechange: Fold cb37 cargo suffix text in a structure.
2017-02-26 15:30:25 +00:00
frosch
5e47c27550
(svn r27277) -Codechange: Make _displayed_industries a std::bitset.
2015-05-09 09:24:19 +00:00