Commit Graph

382 Commits

Author SHA1 Message Date
Peter Nelson
bb50cbb772
Codechange: Assign/StoreSizePosition x/y can be negative. (#11416)
AssignSizePosition is used with negative values when an NWidgetMatrix is
scrolled, but they were passed as unsigned and then stored as signed.

Widget pos_x/pos_y were already made signed.
2023-11-01 18:44:23 +00:00
Peter Nelson
2d3fef3113 Fix: Incorrect padding for smallmap legend 'icon'.
The size of this icon is based off FONT_HEIGHT_SMALL - 1, so it makes sense to use a scaled 1 here.
2023-10-30 22:11:31 +00:00
Peter Nelson
a8aba06a07 Fix: Insufficient space for labels on smallmap legend. 2023-10-30 22:11:31 +00:00
Peter Nelson
59a2abd298 Codechange: Use unified NWidgetContainer methods instead of duplicating.
Most NWidgetContainer derivatives implemented Draw() and GetWidgetFromPos()
the same way. Move this these to NWidgetContainer itself to avoid repeating.
2023-10-21 14:26:36 +01:00
Peter Nelson
f379b31e28 Add: data parameter in Window::Close method.
This allows passing data when closing a window, e.g. to indicate how it was closed.
2023-10-13 20:47:28 +01:00
frosch
b6c8f301be Codechange: Silence warnings about intentionally unused parameters. 2023-09-19 22:49:59 +02:00
Peter Nelson
e8015e497d Codechange: Use begin/end of nwidget parts of begin/length.
This simplifies processing nwidget parts as, unlike the remaining length, the pointer to the end of the list never changes. This is the same principle as we use(d) for tracking end instead of length for C-style strings.

And this removes 160~ instances of the lengthof() macro.
2023-09-04 10:20:45 +01:00
Rubidium
eaae0bb5e7 Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Richard Wheeler
3b2934c479
Change: Make terraforming point selection sprite visible at >2x zoom out (#11017) 2023-06-27 10:47:42 -04: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
5199881a8d Codechange: Use correct type for linkgraph company mask. 2023-04-07 22:09:55 +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
Rubidium
bcfe0fb076 Codechange: introduce GetMainWindow() to properly account for nullptr checks
Some nullptr checks have been removed as they were not triggered with nullptr
with the null video driver and in dedicated server mode.
2023-01-14 21:15:23 +01:00
Peter Nelson
920e588334 Change: Use standard dimensions instead of custom widths. 2022-11-12 18:28:39 +00:00
Peter Nelson
9666e46739 Feature: Variable GUI scale.
GUI scale is now variable from 100% to 500%, and no longer restricted to
powers-of-2.
2022-11-12 18:28:39 +00:00
Peter Nelson
890b2666d3 Change: Use scaled WidgetDimensions. 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
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
Artin Alavi
dd44f2139e
Fix c536bde: Remove problematic inline specifier (#10109) 2022-10-25 04:41:27 +02:00
Artin Alavi
c536bde19e Fix #8252: Remove duplicate functionality in screenshot.cpp 2022-10-22 20:51:02 +02:00
Tyler Trahan
e79724ea22
Feature: Alternative linkgraph colour schemes (#9866) 2022-04-25 19:32:55 +02:00
glx22
994bf19aef Fix f6d5c01: Delay deletion when closing windows 2021-05-29 21:08:25 +02:00
rubidium42
b791ffc6de Fix: do not hide parameter by local variable with the same name 2021-05-27 18:30:56 +02:00
glx22
38c97e1492 Codechange: Replace TILE_AREA_LOOP with range-based for loops 2021-05-13 00:13:54 +02:00
Peter Nelson
5434d63f91 Fix: Scale smallmap legend 'blob' to fit text. 2021-04-30 17:08:15 +01:00
Patric Stout
1a1049bc0d Change: rename setting "max_heightlevel" to "map_height_limit"
This better reflects what it is, and hopefully removes a bit of
the confusion people are having what this setting actually does.

Additionally, update the text on the setting to better inform
users what it is doing exactly, so they can make an educated
decision on how to change it.

Next commit will introduce an "auto" value, which should be the
new default. The rename has as added benefit that everyone will
start out on the "auto" value.
2021-03-26 12:22:32 +01:00
SamuXarick
f9dee5aaa0 Feature: Show rainforest under vegetation on small map 2021-01-13 15:05:15 +00:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +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
TELK
e04ca904a9 Feature: Minimap screenshot 2020-01-04 18:21:38 +01:00
glx
ee7a8eebca Codechange: Replace FOR_ALL_TOWNS with range-based for loops 2019-12-21 20:13:03 +01:00
glx
d8a1be48cd Codechange: Replace vehicle related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +01:00
glx
3a14cea068 Codechange: Replace FOR_ALL_COMPANIES with range-based for loops 2019-12-21 20:13:03 +01:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
peter1138
c02ef3e456 Feature: Add NotRoadTypes (NRT) 2019-05-01 21:36:27 +02:00
Charles Pigott
69a6c494bf Codechange: Set VehicleType's base type to byte instead of using VehicleTypeByte 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
0797de06be Codechange: use std::vector for _sorted_cargo_specs 2019-04-18 21:49:34 +02:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Andy
423aea5c32 Change: adjust Violet smallmap colour 1 shade darker, to compensate for legibility against darker blue of sea introduced by #7436 2019-03-30 22:57:07 +01:00
SamuXarick
ed51fba7ed Change: Dark Blue company and water were indistinguishable in small map. (#7436) 2019-03-29 19:00:43 +00:00
peter1138
317f69c152 Codechange: Use override specifier in Window-derived classes. 2019-03-24 16:10:04 +01:00
PeterN
87ebfe1227
Fix #7004: Mark linkgraph dirty to be rebuilt on next draw call. (#7265)
Previously the linkgraph was rebuilt before the viewport extents were finalized.
2019-02-23 19:19:41 +00:00
Peter Nelson
6733b71300 Change: Make mini-map widget capture mouse when left-click dragging.
This allows the mini-map to be dragged when the cursor has left the widget.
2019-02-21 08:11:35 +00:00
Johannes E. Krause
f0290d5de7 Codechange: Add InverseRemapCoords2 function for remapping viewport coordinates to underlying tile coordinates (Patch by adf88, #6583) 2019-01-24 21:17:17 +01:00
Peter Nelson
806e7d25dd Change: Use GUITimer class instead of bare int/uints. 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
Charles Pigott
f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
Alexander Weiss
e1a164b531 Change: [OSX] Setting mouse-wheel to scroll the map does not disable pinch to zoom 2018-05-24 21:31:37 +02:00
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. (#6790) 2018-05-21 22:08:39 +01:00
PeterN
cfe6a8ea4f
Add: Replace independment map scrolling GUI settings with single option, and add choice to not lock cursor position when scrolling. (#6756) 2018-04-28 22:27:14 +01:00
adf88
74e1fe130c (svn r27905) -Fix [FS#6585]: Keep the "link" between industry chain and smallmap windows whenever possible 2017-08-31 06:48:55 +00:00
frosch
b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
frosch
e56707bd4e (svn r27622) -Change: In industry map view, give visible industry types the highest tile priority, and hidden industry types a lower one. This way filtered and highlighted industries are not hidden by overlapping tiles in zoomed-out smallmap. (adf88) 2016-07-22 21:44:54 +00:00
frosch
a5b7800aca (svn r27621) -Fix (r27620): Committed too early. 2016-07-22 21:38:49 +00:00
frosch
ed27cec094 (svn r27620) -Codechange: Inline GetEffectiveTileType (adf88) 2016-07-22 21:29:04 +00:00
michi_cc
2b8bb12d62 (svn r27381) -Fix: Warnings due to C++11 requirements for explicit narrowing conversions in initializer lists. 2015-08-10 20:24:13 +00:00
frosch
5e47c27550 (svn r27277) -Codechange: Make _displayed_industries a std::bitset. 2015-05-09 09:24:19 +00:00
frosch
cfac8dbbc6 (svn r27160) -Fix: Division of signed values by TILE_SIZE requires cast to stay signed. 2015-02-22 14:14:30 +00:00
frosch
fc72d3dc8f (svn r27159) -Codechange: Simplify mapping from smallmap to viewport coordinates by duplicating less code. 2015-02-22 14:12:34 +00:00
frosch
06d1d50884 (svn r27158) -Codechange: Simplify mapping from viewport to smallmap coordinates by duplicating less code. 2015-02-22 14:10:44 +00:00
rubidium
1d27ae9bda (svn r27036) -Fix [FS#6148] (r26928): crash when changing smallmap colour when the smallmap window has not been opened yet 2014-10-23 10:50:34 +00:00
rubidium
9627eb6e17 (svn r26929) -Change: accounts for maximum height when filling the height legend of the smallmap 2014-09-27 14:49:37 +00:00
rubidium
0176ef274f (svn r26928) -Change: scale the heightmap colours over the whole range of heights (based on patch by ic111) 2014-09-27 11:17:54 +00:00
rubidium
f192045796 (svn r26927) -Codechange: split the heightmap colour tables into their own file in the table folder 2014-09-27 10:43:59 +00:00
rubidium
03b731f929 (svn r26904) -Fix: account for the height level for showing the seen area in the viewport (ic111) 2014-09-21 18:07:54 +00:00
peter1138
e353ef5908 (svn r26858) -Codechange: Rearrange smallmap filter and settings expand/collapse buttons to fix frame borders and allow buttons to fit height of resize button. 2014-09-20 10:23:38 +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
fonsinchen
b158c7d0fa (svn r26266) -Fix [FS#5860]: Update smallmap overlay if player joins different company and make sure company masks are valid 2014-01-19 09:26:56 +00:00
fonsinchen
be62387e44 (svn r26265) -Fix: Don't rebuild the link graph overlay cache twice in a row 2014-01-19 09:26:17 +00:00
fonsinchen
014813141d (svn r26228) -Fix: missing variable initialization 2014-01-05 11:28:31 +00:00
rubidium
2618d960e3 (svn r26209) -Codechange: remove some template magic and simplify some code 2014-01-02 22:41:58 +00:00
rubidium
50fdf5e30c (svn r26121) -Codechange: add some asserts after dynamic casts to show they shouldn't return NULL ever 2013-11-26 13:21:25 +00:00
rubidium
78a316d349 (svn r26061) -Fix: negative result of ftell wasn't handled correctly in some cases 2013-11-23 13:17:45 +00:00
frosch
103b6fffbb (svn r25916) -Add: GUI sprite for the smallmap cargoflow button. (frosch, planetmaker, V453000) 2013-10-27 15:09:41 +00:00
rubidium
f292a87dc4 (svn r25312) -Fix-ish: missing spaces after comma + realignment of tables; quite boring with -x -w 2013-06-01 07:44:53 +00:00
frosch
4e4e635916 (svn r25294) -Feature: Add another button to window title bars to resize the window to its default size. 2013-05-26 19:30:07 +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
rubidium
163dfdd34a (svn r25262) -Feature: linkgraph overlay for smallmap 2013-05-19 14:36:35 +00:00
rubidium
52aeef1a79 (svn r25020) -Codechange: refactor SmallMapWindow to make adding map types easier and unduplicate some code (fonsinchen) 2013-02-17 20:51:55 +00:00
rubidium
dfdced2239 (svn r25019) -Fix: GCC doesn't seem to care if one does Class::Class::Function (thinks it is a function), whereas MSVC thinks it is the constructor 2013-02-17 20:48:52 +00:00
rubidium
6b68956969 (svn r25018) -Codechange: Move SmallMapWindow declaration to header (fonsinchen) 2013-02-17 20:38:35 +00:00
rubidium
a6ae4ea8a2 (svn r24958) -Fix [FS#5458]: refering to non-existent method 2013-02-02 19:52:56 +00:00
planetmaker
c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46: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
89988c6163 (svn r24534) -Feature: Highlight industries on the smallmap when the mouse is over an entry in the legend. 2012-09-19 22:11:26 +00:00
frosch
a4f22a2de1 (svn r24533) -Codechange: Move position determination on minimap legend to separate function. 2012-09-19 22:10:48 +00:00
rubidium
41e5c839e0 (svn r24179) -Codechange: move some variables of Town to TownCache 2012-04-25 20:50:13 +00:00
alberth
4af8c2d5e1 (svn r23704) -Doc: Doxygen comment fixes and additions. 2012-01-01 17:22:32 +00:00
truebrain
1c9bec1999 (svn r23640) -Fix: stop using FORCEINLINE (1/3rd of the instances were, the others were still regular inline), but make sure inline is always a 'forced' inline (I am looking at you MSVC) 2011-12-20 17:57:56 +00:00
truebrain
9266bde593 (svn r23546) -Codechange: document and rename widgets to be consistent and understandable 2011-12-16 18:14:11 +00:00
truebrain
2aa774e831 (svn r23528) -Codechange: move widget enums to widgets/NNN_type.h 2011-12-15 22:22:55 +00:00
peter1138
81598273e9 (svn r23316) -Feature: Add ability to zoom in to 2x and 4x level. 2011-11-24 12:38:48 +00:00
frosch
3eddb9c23f (svn r23049) -Fix [FS#4810]: Use the same forest-check for the vegetation-map colour as for nearby station names. 2011-10-21 19:10:35 +00:00
frosch
83c5f77810 (svn r22433) -Add/Fix: Add constants for the palette colours used in the smallmap and fix some windows palette indices. 2011-05-07 00:22:46 +00:00
frosch
c2be206cd9 (svn r22432) -Codechange: Simplify smallmap colour constants using some more specialised macros. 2011-05-07 00:15:46 +00:00