Peter Nelson
ab1a4c6c80
Change: Don't restart playback when toggling playlist shuffle.
...
Instead update the selected playlist entry for the current song.
10 months ago
Peter Nelson
6c91c4b99d
Fix: Invalidate playlist window when (un)shuffling playlist.
10 months ago
Peter Nelson
4c6ccb5248
Change: Try stopping extmidi player with SIGINT first. ( #11404 )
...
This may give the player a chance to issue MIDI note-off commands.
The kill/waitpid cycle is also less aggressive, waiting 50ms each time.
10 months ago
Peter Nelson
e3622da408
Fix #11500 : Rename Textfile GUI's LinkType to HyperlinkType. ( #11502 )
...
This disambiguates it with LinkType in league tables.
10 months ago
Peter Nelson
46098449b6
Fix 7cfcf65: cargo_filter_criteria is now a CargoID instead of a index. ( #11497 )
10 months ago
Peter Nelson
7bee955a4b
Change: Set height of larger heightmap/scenario worldgen buttons by text height. ( #11496 )
...
This allows the button height to scale properly by font size.
10 months ago
Jonathan G Rennison
c5a292c0df
Fix #11493 : Incorrect flow values in LinkGraphJob::EdgeAnnotation ( #11494 )
10 months ago
translators
c6b9227dbb
Update: Translations from eints
10 months ago
Tyler Trahan
d28caa3ced
Codechange: Use ticks for timetable start date
10 months ago
Tyler Trahan
3902acb13d
Codechange: Define a TickCounter variable type for TimerGameTick::counter
10 months ago
Peter Nelson
bc1d49ebf4
Codechange: Add missing `ar` from `Toolb`.
10 months ago
Peter Nelson
5489b9fc0c
Codechange: Undo #11447 , drop down list divider lines are now explicit.
10 months ago
Peter Nelson
667be98ce8
Codechange: List toolbar menu items and dividers explicitly.
...
This makes it clearer what items will be shown in the list, allows for non-consecutive
string IDs, and means unused enum values are not necessary.
10 months ago
Peter Nelson
47eabe0cd9
Fix 7cfcf65: Check if last-remembered build vehicle cargo filter is valid. ( #11486 )
...
This can be invalid when switching between games with different cargoes loaded.
10 months ago
Peter Nelson
096da3e59f
Fix #11407 : Don't steal focus from dropdown menus. ( #11484 )
10 months ago
Peter Nelson
09d01bd015
Fix: Restore original cargo legend 'blob' dimensions. ( #11480 )
...
An off-by-one in a previous life made the 'blob' too narrow.
10 months ago
Peter Nelson
c2f19fed24
Fix: Widget without tooltip should use STR_NULL not STR_EMPTY. ( #11482 )
10 months ago
Peter Nelson
c18a1494b7
Codechange: Remove FONT_HEIGHT_... macros. ( #11481 )
...
These make it look like we're dealing with a constant, but actually each is a call to `GetCharacterHeight(...)`.
10 months ago
translators
96ec9c1b47
Update: Translations from eints
...
indonesian: 67 changes by ekaknl22
10 months ago
Peter Nelson
0d60dc0353
Fix 96d98d08: Crash in text layouter due to trying to find height of string with zero-width.
...
96d98d08
removed the hardcoded minimum width in favour of all-calculated widths, however this does not work when determining multiline text sizes.
10 months ago
Peter Nelson
62d4fd0572
Codechange: Add method to guess the width/height required for a multiline string.
...
This is necessary for widget layouts where a minimum width is not yet known during UpdateWidgetSize().
10 months ago
Peter Nelson
f281525492
Codechange: Add method to resize both width and height of a widget.
10 months ago
Peter Nelson
d04fd4602d
Codechange: Assert that max width passed to GetStringHeight is non-zero.
...
Max width of zero will cause text layouters to crash, potentially after exhausting memory first.
10 months ago
Peter Nelson
0578b8eaa9
Change: Use picker-spacing for scenario found town window. ( #11478 )
10 months ago
Peter Nelson
a58a043402
Fix 6065122: Missing SetFill on worldgen spacer. ( #11477 )
10 months ago
Jonathan G Rennison
9822fa6584
Fix: Trivial autoreplace of mixed cargo articulated engines ( #11253 )
...
Do not fail autoreplace/autorenew of mixed cargo articulated engines
due to an inability to refit to mixed cargoes, when no refit is
required because the target engine already has a suitable set of cargoes.
Notably, this allows autorenew (autoreplace to same engine type)
to succeed.
10 months ago
Peter Nelson
96d98d08c8
Change: Use sparse padding for main intro menu. ( #11475 )
10 months ago
Peter Nelson
c80fa7d752
Codechange: Simplify setting minimum width for game options dropdown lists. ( #11474 )
...
Height isn't necessary as drop down controls already have sufficient height, so we can use GetDropDownListDimension() to get the width.
10 months ago
Peter Nelson
f58a7ef673
Codechange: Remove now-unnecessary containers in picker layouts. ( #11473 )
...
These are no longer necessary as the issue they work around was resolved by #11471
10 months ago
Peter Nelson
293a26f248
Change: Use sparse padding and SETTING_BUTTON sizes for custom currency window. ( #11472 )
10 months ago
Peter Nelson
05b55c4d43
Fix: Extra space allocated to container-within-container may not get allocated to children. ( #11471 )
...
Always derive additional length from contained widgets instead of from the container, as the container's minimal length may have been adjusted by an NC_EQUALSIZE parent container.
10 months ago
translators
29102ce42c
Update: Translations from eints
...
dutch: 1 change by Afoklala
10 months ago
Peter Nelson
08778094f4
Fix: extmidi did not move on to next song after playing ends. ( #11469 )
...
`song` is no longer a C-style string so cannot be cleared by writing a NUL char.
Use `.clear()` to properly clear a std::string.
10 months ago
Peter Nelson
b2d4d90502
Change: Apply interface scaling to NewGRF settings min/max sizes.
10 months ago
Peter Nelson
42ae61a4fe
Change: Use sparse padding for NewGRF settings window.
10 months ago
Peter Nelson
cdb4e98a15
Change: Use sparse padding for AI/GS settings windows. ( #11466 )
10 months ago
Peter Nelson
f93711838f
Fix 6317967: Missing exception for SetPipRatio(). ( #11465 )
10 months ago
Peter Nelson
60651227a0
Change: Simplify world gen widgets and use sparse padding. ( #11464 )
10 months ago
translators
bca321443a
Update: Translations from eints
...
french: 1 change by Lishouuu
10 months ago
Peter Nelson
7d48a3f073
Codechange: Move RectPadding::zero definition to header. ( #11461 )
...
This potentially allows better inlining/optimization.
10 months ago
Peter Nelson
e2e0753916
Codechange: Use GetCurrentRect() where feasible. ( #11460 )
10 months ago
Peter Nelson
17ceed0241
Change: Use sparse padding for Game Options window. ( #11463 )
10 months ago
Peter Nelson
306e75223a
Change: Adjust layouts and standardize spacing for company-related windows.
10 months ago
Peter Nelson
58c037fba0
Change: Increase finance window lines (and underlines) with interface scale.
10 months ago
translators
1dff1e34f6
Update: Translations from eints
...
tamil: 3 changes by Jeyanthinath
10 months ago
Peter Nelson
7cfcf65f95
Codechange: Simplify cargo filter lists, building only when required.
...
Some cargo filter lists were built in advance, and used as lookups to test which cargo type to filter.
Instead, use the Cargo ID directly as the filter parameter, and build the lists only when the drop down list is used.
10 months ago
Peter Nelson
08dfe35442
Codechange: Move DropDownList height and width calculation to helper.
10 months ago
translators
1242b355e5
Update: Translations from eints
...
danish: 1 change by bscargo
polish: 1 change by pAter-exe
10 months ago
Peter Nelson
c877494f7a
Codechange: Simplify autoreplace rail/road types by using separate widget. ( #11457 )
...
This avoids needing to determine which type of list to deal with by additionally checking the window number for VEH_TRAIN/VEH_ROAD.
10 months ago
Tyler Trahan
7a6d102c4b
Codechange: Clean up timetable start checks ( #11456 )
10 months ago
translators
5446ece100
Update: Translations from eints
...
vietnamese: 7 changes by KhoiCanDev
korean: 1 change by telk5093
catalan: 7 changes by J0anJosep
10 months ago
translators
1432511fe5
Update: Translations from eints
...
english (au): 1 change by krysclarke
italian: 7 changes by Rivarossi
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 1 change by azulcosta
portuguese (brazilian): 1 change by pasantoro
10 months ago
Tyler Trahan
235ac0bceb
Codechange: Reword rail/road type label constants ( #11451 )
10 months ago
translators
ef1abbcd1f
Update: Translations from eints
10 months ago
Peter Nelson
bd2ddb07ca
Change: Move baseset missing/corrupted files label to list item. ( #11455 )
...
This allows any baseset error to be displayed in the drop down list so it is more easily visible, and avoids wasted space in the layout.
10 months ago
Peter Nelson
1071acb483
Codechange: Redundant use of char * and c_str(). ( #11454 )
10 months ago
Peter Nelson
938c8339d2
Codechange: Ensure space between `for`/`if` and `(`.
10 months ago
Peter Nelson
d4008850e3
Codechange: Ensure function opening `{` is on new line.
10 months ago
Jonathan G Rennison
1de1af08b9
Codechange: Replace AllocatedStringParameters with ArrayStringParameters ( #11452 )
...
All uses of AllocatedStringParameters are with a compile-time fixed
constant.
Use of a dynamically allocated buffer on the heap is unnecessary and
increases overhead, particularly due to frequent use as a temporary.
10 months ago
translators
92816ac96b
Update: Translations from eints
...
german: 3 changes by SecretIdetity
romanian: 6 changes by bnegrut
10 months ago
Peter Nelson
9f90ab7b04
Codechange: Use rail/road type label constants instead of literals. ( #11450 )
10 months ago
translators
382d7a9076
Update: Translations from eints
...
hungarian: 54 changes by titanicbobo
10 months ago
Peter Nelson
90bd8e64d8
Change: Simplify help window widgets and use sparse padding.
11 months ago
Peter Nelson
55adbe10b7
Add: WidgetDimensions for 'sparse' widget windows.
...
These are for windows that have space between widgets instead of being clumped together.
11 months ago
translators
56657eeaae
Update: Translations from eints
...
chinese (simplified): 1 change by WenSimEHRP
danish: 1 change by bscargo
hindi: 111 changes by NisheshTyagi
11 months ago
Peter Nelson
842cf87765
Change: Bring airport picker inline with other pickers.
11 months ago
Peter Nelson
b216dc493f
Change: Bring dock picker inline with other pickers.
11 months ago
Peter Nelson
27b5979056
Change: Improve layout of object picker.
11 months ago
Peter Nelson
db18f60beb
Change: Improve layout of road/tram stop pickers.
11 months ago
Peter Nelson
61deab08fc
Change: Improve layout of station picker.
11 months ago
Peter Nelson
136551408c
Change: Show empty string drop down entries as divider. ( #11447 )
11 months ago
Peter Nelson
ab535c0a86
Codechange: Add base() method to StrongType to allow access to the base type without casting. ( #11445 )
...
This removes the ability to explicitly cast to the base type, but the requirement
to use .base() means the conversion is still explicit.
11 months ago
translators
737775f834
Update: Translations from eints
...
korean: 14 changes by telk5093
polish: 1 change by pAter-exe
11 months ago
Peter Nelson
badce415ea
Change: Add horizontal scrollbar to Industry Directory window.
...
This list could be very wide depending on industries and language.
11 months ago
Peter Nelson
8ff6562b2f
Codechange: Reduce variable scope.
11 months ago
Peter Nelson
6b9dc8cfcf
Codechange: Don't filter industry list by cargo type every 3-sec refresh.
...
The 3-sec refresh is to update the list sorting. The filter only needs to
be applied once rebuilding the list.
11 months ago
Peter Nelson
4033750968
Codechange: Remove redundant NWID_VERTICAL in Industry Directory layout.
11 months ago
Peter Nelson
d380f2f3a2
Codechange: Simplify layout of depot pickers.
11 months ago
Peter Nelson
665902f5ba
Codechange: Add widget dimensions to standardise picker winodws.
11 months ago
Peter Nelson
3cab980b30
Codechange: Skip invisible (zero-size) widgets in PIP Containers.
...
This gets rid of doubled-up spacing where an invisible child widget would be.
11 months ago
Peter Nelson
6317967dba
Codechange: Add ability to allocate PIP-space dynamically by ratio.
...
This can be used to space out, centre, start-align, or end-align widgets without additional spacers.
11 months ago
Peter Nelson
ac54bd7e58
Codechange: Apply PIP during AssignSizePosition() instead of SetupSmallestSize().
11 months ago
Peter Nelson
43aa91a7f5
Fix #11437 : Flipped shorter rail vehicles disappear in windows. ( #11446 )
...
Mixed signed/unsigned strikes again, causing an incorrect sprite offset for shortened vehicles.
11 months ago
Peter Nelson
a9aaa2a183
Codechange: Don't be lenient with invalid NWidgetPart lists.
...
Some NWidgetPart combinations were ignored but it was not clear that they do nothing. Instead, assert if NWidgetPart is incorrectly applied.
11 months ago
Peter Nelson
b1eb5533eb
Add: WindowDesc unit test to validate NWidgetPart lists.
11 months ago
Peter Nelson
1c94fb0389
Add: Mock sprite cache intialization.
...
This fills up the sprite cache with SPR_OPENTTD_BASE + OPENTTD_SPRITE_COUNT zero-size sprites, to
allow GetSpriteSize() calls to continue from unit-tests.
11 months ago
Peter Nelson
05436d9c2f
Add: Expose minimal parts of SpriteCache internals.
...
These parts are needed to be able to mock the SpriteCache for unit-tests.
11 months ago
Peter Nelson
46f63074da
Add: MockFontCache for testing GUI code that only needs to know font sizes.
11 months ago
translators
af4c7799fe
Update: Translations from eints
...
korean: 1 change by telk5093
finnish: 1 change by hpiirai
portuguese (brazilian): 1 change by pasantoro
11 months ago
Peter Nelson
b5861fd8f3
Fix: Using MIN_YEAR for a date is probably wrong, Use MIN_DATE instead. ( #11444 )
...
Even with strong types ...
11 months ago
Peter Nelson
ef385499c7
Codechange: Remove ineffective NWidgetParts. ( #11443 )
11 months ago
translators
01728177e7
Update: Translations from eints
...
english (us): 3 changes by 2TallTyler
french: 2 changes by Lishouuu
11 months ago
Michael Lutz
071fdab236
Codechange: Replicate cursor screen backup to chat message display, removing explicit memory management.
...
Incidentally, this makes Blitter::GetBytesPerPixel unneeed.
11 months ago
Peter Nelson
bbd64bbe2b
Fix #9545 : Crash when all cargo types are disabled. ( #11432 )
...
This is not a very useful state, but it's nice to not crash.
Some parts of the game don't (yet) check for cargo types being redefined, that is out-of-scope here.
11 months ago
Patric Stout
c059ce0c97
Fix cda6f24f: don't ignore binary-dir if it happens to be working-dir ( #11431 )
...
Some of our code ignores the SP_WORKING_DIR for some actions, which
means that if, for example, your SP_BINARY_DIR is the same as your
SP_WORKING_DIR, neither is scanned.
Instead, only add SP_WORKING_DIR if it is unique.
11 months ago
Peter Nelson
db6b32e421
Codechange: Avoid pointers and lengthof in ExpensesList. ( #11427 )
...
Use std::initializer_list which allows iteration.
11 months ago
Michael Lutz
86e28e79fb
Fix #11402 : Make string filter locale-aware.
11 months ago
Michael Lutz
c294eaacc1
Fix: char_traits::find needs to return nullptr if nothing was found.
11 months ago
Peter Nelson
7d4a91ef9e
Cleanup: Remove some unused functions. ( #11429 )
...
These were picked up with cppcheck.
11 months ago
translators
4c58df75fd
Update: Translations from eints
...
english (au): 1 change by krysclarke
russian: 1 change by Ln-Wolf
dutch: 3 changes by Afoklala
portuguese: 1 change by azulcosta
11 months ago
Peter Nelson
ce6e739491
Codechange: Add unit-test to check if nested widget parts of properly closed.
...
Properly closed means exactly one EndContainer for every Container widget.
11 months ago
Peter Nelson
e8db137135
Codechange: Move test for Container WidgetType to helper function.
11 months ago
Peter Nelson
d4a77411a5
Fix: Some NWidget lists were not properly closed. ( #11425 )
11 months ago
Peter Nelson
e563057478
Add: WindowDesc unit test to validate ini-key value.
...
ini-key must be present if WWT_DEFSIZEBOX or WWT_STICKYBOX is present.
This was previously enforced by a workflow, however that parsed the source
code with regex which turned out to be error-prone.
11 months ago
Peter Nelson
18fb8e153f
Codechange: Add __FILE__/__LINE__ of WindowDesc to WindowDesc.
...
This is to allow unit-tests to produce more useful output.
11 months ago
Peter Nelson
873f93cab1
Fix: AI config window should not have an ini_key. ( #11423 )
...
This was missed by the workflow script that enforces this constraint.
11 months ago
translators
82ebc9860b
Update: Translations from eints
...
finnish: 2 changes by hpiirai
danish: 1 change by bscargo
11 months ago
Rubidium
a849b4e175
Fix: allow same length server password in the UI
11 months ago
Rubidium
c6411168d8
Cleanup: missing spaces before continuation * in some comments
11 months ago
Peter Nelson
c687b59efc
Codechange: Use unique_ptr for SmallMapWindow's overlay.
11 months ago
Peter Nelson
53845bc024
Codechange: Move includes to correct place.
...
Some other source file inadvertently included things via smallmap_gui.h
11 months ago
Peter Nelson
ed8df72c49
Revert 6b68956: Move declaration of SmallMapWindow out of header file.
...
This split needlessly complicates `SmallMapWindow` for the sake of one method (no longer) used by `LinkGraphOverlay`.
11 months ago
Peter Nelson
f91462f54b
Codechange: Don't access SmallMapWindow method directly from LinkGraphOverlay.
11 months ago
Peter Nelson
ff5e8bb9a3
Fix #11413 : Incorrect sorting by industry production.
...
Error caused by single character mistake. However this algorithm was inefficent if a filter was specified, and clearly the flow was error-prone.
Now using separately-scoped loops to avoid similar.
11 months ago
Peter Nelson
278b42d078
Codechange: Document Industry::GetCargoProduced/Accepted and add const-variant.
11 months ago
Peter Nelson
4f3adc038a
Cleanup: Use standard comment codestyle.
11 months ago
Tyler Trahan
49d53c41ab
Doc: Don't use other names for road vehicle bay stops ( #11418 )
11 months ago
Peter Nelson
d3cb6e1e67
Codechange: Call Widget::SetDirty/SetLowered directly. ( #11417 )
...
In these instances we already have the widget to hand, so don't need to look it up by index again.
11 months ago
Tyler Trahan
89480f3531
Change: Don't set vehicle on time if timetable not started ( #11359 )
11 months ago
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.
11 months ago
translators
c97120f003
Update: Translations from eints
...
english (au): 1 change by krysclarke
chinese (simplified): 5 changes by WenSimEHRP
korean: 2 changes by telk5093
russian: 1 change by Ln-Wolf
portuguese: 1 change by azulcosta
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by pAter-exe
11 months ago
Peter Nelson
35a7770fde
Fix 233aac5: Set newline default comment for new groups. ( #11411 )
...
The newline space between ini groups is actually recorded as a comment of the group. This got inadvertantly dropped in #11364 .
11 months ago
frosch
e81313e93e
Feature: Base graphics can offer parameters for additional settings.
11 months ago
frosch
de3f29d7b2
Add: store base graphics parameters in openttd.cfg.
11 months ago
frosch
f09fda1ff0
Codechange: store the GRFConfig of the base graphics, once loaded.
11 months ago
frosch
0b7ecf6102
Codechange: use the shortname as unique id to identify the base graphics in openttd.cfg.
11 months ago
frosch
97df27e41f
Codechange: Store base graphics settings in a separate section in openttd.cfg.
11 months ago
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.
11 months ago
Peter Nelson
a8aba06a07
Fix: Insufficient space for labels on smallmap legend.
11 months ago
translators
186829b99f
Update: Translations from eints
...
english (au): 1 change by krysclarke
dutch: 1 change by TrueBrain
portuguese: 1 change by azulcosta
polish: 4 changes by pAter-exe
11 months ago
translators
40f52afac2
Update: Translations from eints
...
indonesian: 1 change by liimee
russian: 2 changes by Ln-Wolf
finnish: 1 change by hpiirai
danish: 1 change by bscargo
french: 1 change by ottdfevr
portuguese (brazilian): 1 change by pasantoro
11 months ago
translators
9e6ea16ca7
Update: Translations from eints
11 months ago
Peter Nelson
c0aa9a5f87
Add: Debug tool to draw widget outlines. ( #11401 )
...
This is considered a developer tool and is controlled from the help menu (or default hotkey Ctrl-O).
This draws a white dashed outline around widgets. NWidgetSpacer and (unused) WWT_EMPTY widgets are also filled with check pattern to highlight them, as they usually indicate a design issue.
11 months ago
Peter Nelson
129e98fbab
Fix d42a78f: Some raw drop down list strings may need token processing. ( #11400 )
...
Storing the raw string without processing though GetString() caused token
processing to be skipped.
11 months ago
Peter Nelson
062c19830b
Fix: OpenTTD can fail to exit on an error due to mutex locks in threads. ( #11398 )
11 months ago
translators
7b376493a2
Update: Translations from eints
...
dutch: 3 changes by Afoklala
french: 1 change by ottdfevr
11 months ago
translators
7b4ecb5241
Update: Translations from eints
...
korean: 3 changes by telk5093
slovak: 1 change by legitalk
polish: 4 changes by pAter-exe
11 months ago
Peter Nelson
5ae5c35f38
Codechange: Remove redundant WWT_PANEL from bootstrap error windows.
11 months ago
Peter Nelson
a601a1f406
Change: Use modalpopup spacing for goal question windows.
11 months ago
Peter Nelson
616fb48e25
Change: Use modalpopup spacing for engine preview window.
11 months ago
Peter Nelson
19c314ea1f
Change: Use modalpopup spacing for buy company window.
11 months ago
Peter Nelson
8a49c0eb2c
Change: Use modalpopup spacing for network relay and survey windows.
11 months ago
Peter Nelson
f78c2c9810
Fix: Incorrect title on framerate windows for AIs.
11 months ago
Peter Nelson
d19832569e
Cleanup: No need to cast `const Font *` to itself. ( #11395 )
11 months ago
translators
3d7f54472d
Update: Translations from eints
...
english (us): 3 changes by 2TallTyler
danish: 3 changes by bscargo
polish: 1 change by pAter-exe
11 months ago
translators
9cdf66d3a1
Update: Translations from eints
...
czech: 18 changes by vladoschreiner
german: 27 changes by Wuzzy2
11 months ago
translators
d1351fa0d2
Update: Translations from eints
...
english (au): 3 changes by krysclarke
russian: 3 changes by Ln-Wolf
finnish: 3 changes by hpiirai
turkish: 4 changes by BeratSJ
french: 3 changes by ottdfevr
portuguese: 3 changes by azulcosta
portuguese (brazilian): 3 changes by pasantoro
11 months ago
Tyler Trahan
92ab114e13
Fix f49ffaa: Use DateAtStartOfYear() to calculate max timetable start date ( #11388 )
11 months ago
translators
f32058e4e5
Update: Translations from eints
11 months ago
Bernhard Reutner-Fischer
ac42dea7b2
Codechange: Remove unused parameter for Height()
...
DropDownListItem::Height does not need to take an argument so remove it
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
11 months ago
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.
11 months ago
Peter Nelson
af41c5cb4e
Codechange: Hide toolbar buttons by setting width to zero.
...
Zero-width is how widgets are hidden elsewhere.
This removes the need for an extra array to lookup if a button is hidden.
11 months ago
Peter Nelson
81ecbaaa33
Codechange: Hide multiplayer headers by setting width to zero.
...
Zero-width is how widgets are hidden elsewhere.
This removes the need for an extra array to lookup if a header is hidden.
11 months ago
Tyler Trahan
2dd2910ab3
Feature: Cheat to fix station ratings at 100% ( #11346 )
11 months ago
Rubidium
37f84b7372
Codechange: replace x.size() != 0 with !x.empty()
11 months ago
Rubidium
f16399f4c9
Codechange: replace x.size() > 0 with !x.empty()
11 months ago
Rubidium
c9276c2959
Codechange: replace x.size() == 0 with x.empty()
11 months ago
Peter Nelson
f06b3e9846
Change: Use CARGO_LIST to show station cargo acceptance changes. ( #11379 )
...
This simplifies construction of the news message and allows for more than
two changes to be show in one line.
11 months ago
translators
4c24334fda
Update: Translations from eints
11 months ago
Peter Nelson
fd6f1e844a
Codechange: Avoid emplace_back(new()) into a unique_ptr. ( #11384 )
...
This could theoretically leave an unmanaged pointer in certain circumstances, and directly using
make_unique shows intent.
11 months ago
Peter Nelson
429a6f58e7
Codechange: Use max_element to find best cargo (sub-)type in NewGRF var 42. ( #11370 )
...
This replaces two manual loops to find the best cargo (sub-)type.
11 months ago
Peter Nelson
90351578a6
Codechange: Use std::map instead of fixed array to store refit options.
...
This simplifies handling of available refit options.
11 months ago
Peter Nelson
e4f94747f3
Codechange: Use comparator struct to sort cargo ID by predefined sort order.
...
This allows reuse of the comparator where a typename is used instead.
11 months ago
Peter Nelson
bc8e26f4e7
Codechange: Simplify usage of GRFFile cargo_map. ( #11349 )
11 months ago
Peter Nelson
69e20e79ab
Codechange: Add const versions of GetItem/GetGroup, and sprinkle liberally.
...
Non-const version of GetItem is not needed.
11 months ago
Peter Nelson
17ba9d8c96
Codechange: Use range-for instead of nullptr-terminated list in settingsgen.
...
This simplifies iteration and avoids use of pointers.
11 months ago
Peter Nelson
233aac567b
Codechange: Use std::list instead of C-linked list for ini files.
...
This removes self-management of memory with new/delete and allows simpler iteration.
11 months ago
Peter Nelson
ec1cf96b62
Codechange: Move initialization of group-type to CreateGroup function.
11 months ago
Peter Nelson
8bd06807e4
Codechange: Pass initializer list instead of null-terminated list of group types.
11 months ago
Peter Nelson
1fecbeff76
Codechange: Remove create parameter from IniLoadFile::GetGroup.
...
GetGroup now only returns nullptr if the group does not exist.
Use GetOrCreateGroup to create a group.
This avoids creating groups while reading ini files.
11 months ago
Peter Nelson
c47a0e1578
Codechange: Correct scope of IniItem for for-loop.
11 months ago
Peter Nelson
6ce7195ef1
Codechange: Split GetGroup into GetGroup/GetOrCreateGroup.
...
This follows the pattern used for GetItem/GetOrCreateItem, and allows use
of references where we know the group must exist.
11 months ago
Peter Nelson
54b1a067eb
Codechange: Test for nullptr instead of treating pointer as boolean.
11 months ago
Peter Nelson
d3c5ae2648
Codechange: Add CreateGroup/CreateItem methods for ini files.
...
This abstracts the internals a bit.
11 months ago
Peter Nelson
0c85ce29ea
Codechange: Pass ini file by reference and prefer automatic storage.
...
This avoids new/delete operations, and (not) checking for nullptr.
11 months ago
Peter Nelson
3961318974
Codechange: Accept std::string in RemoveGroup().
11 months ago
Peter Nelson
bb6fa9bf3b
Change: Display cargo lists in sorted cargo order. ( #11383 )
11 months ago
Tyler Trahan
088db62dba
Change: Always allow expanding towns in Scenario Editor to build new roads ( #11377 )
11 months ago
Jonathan G Rennison
4df2640f87
Fix: Tile slope missing from road stops varact2 variable 0x42
11 months ago
Peter Nelson
e1c83869ed
Fix: Scale minimum width for server name by interface scale. ( #11381 )
11 months ago
Peter Nelson
9602de474d
Codechange: Use iterators and/or range-for on cargo related loops.
11 months ago
Peter Nelson
2a88e0fab3
Codechange: Use bitmask instead of array for cargo consistency check.
...
We only need to know if a cargo type is accepted, not how much.
11 months ago
Jonathan G Rennison
a1c6923c63
Fix: Assertion in sprite aligner window ( #11371 )
...
When clicking sprite number after re-opening window having previously used sprite picker tool
11 months ago
Loïc Guilloux
ab805c4e9e
Fix #11375 , 7c37dcb: Use STRING2 when the passed string can have 2 parameters ( #11376 )
11 months ago
Tyler Trahan
f49ffaaaea
Fix e4fd99a
, Fix #11270 : Vehicle max age is not subject to leap years ( #11372 )
11 months ago
Peter Nelson
356a5d5773
Codechange: Use std::vector in fallback layouter, and shorten accessors. ( #11355 )
...
This avoids use of malloc/free (and custom move constructors), and follows how the exist layouters are written.
11 months ago
translators
2be1b72a5b
Update: Translations from eints
...
hungarian: 50 changes by Norodix
11 months ago
translators
a73ef95a2b
Update: Translations from eints
...
chinese (simplified): 5 changes by WenSimEHRP
11 months ago
Rubidium
adad078b55
Fix #11367 , 7c37dcb: use STRING1 when the passed string can have a parameter
11 months ago
Peter Nelson
bdcf6b6acd
Fix: Treat closing network relay window as a choice of "No".
...
Issue ConnectFailure when closing the window if the relay request is
considered unhandled.
11 months ago
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.
11 months ago
Peter Nelson
cda6f24fe8
Change: Filter duplicate paths from valid search path list. ( #11363 )
11 months ago
Loïc Guilloux
0458c15060
Cleanup: [MacOS] Remove unneeded WITH_SDL checks ( #11360 )
11 months ago
Peter Nelson
ac9db3f5aa
Codechange: Don't use bit-field in Yapf rail node. ( #11362 )
...
Compacting 3 booleans into 3 bits could save memory allocation, however this data is inside a union which also contains a 4-byte integer. As such this gives the cost penalty of a bit-field without any benefit.
11 months ago
translators
84201a8520
Update: Translations from eints
...
chinese (traditional): 80 changes by wpi3
chinese (simplified): 1 change by WenSimEHRP
12 months ago
Peter Nelson
2fd3d943aa
Fix 94167dfd: Don't shade the currently selected engine in autoreplace window. ( #11354 )
...
This breaks #7729 which specifically allows autoreplace of same engine types, and also did not work properly if the engine had been built during the current game session.
12 months ago
translators
89acfc7ff9
Update: Translations from eints
...
chinese (simplified): 1 change by WenSimEHRP
indonesian: 12 changes by liimee
12 months ago
Peter Nelson
d1a94d75e1
Fix: Incorrect include path for timers. ( #11351 )
12 months ago
translators
7145b7060a
Update: Translations from eints
...
romanian: 3 changes by bnegrut
12 months ago
merni-ns
c794676928
Fix #10763 , Fix #11168 : Display variant groups that consist only of unavailable sub-groups ( #11342 )
12 months ago
Peter Nelson
5869f790d8
Fix: Check for engine variant loops during NewGRF initialization. ( #11343 )
...
Invalid NewGRFs could set up an engine variant loop that never ends. This
was checked for in some places that evaluated variants, but not all. In
most cases this would result in the engines not appearing, but could
potentially cause an infinite loop and crash.
Instead, during NewGRF initialization detect loops and remove invalid
variants before setting display flags.
12 months ago
merni-ns
077b08bbfa
Fix #11261 : Set number of items correctly when choosing available airport set ( #11344 )
12 months ago
frosch
82c8720814
Fix #8846 : When upgrading NewGRF presets, copy NewGRF parameters only if the NewGRF are compatible. Otherwise reset to defaults.
12 months ago
frosch
d75a5e1a9a
Fix: Upgrading NewGRF presets could result in incomplete display of NewGRF parameters until restart.
12 months ago
translators
c84219a42e
Update: Translations from eints
...
english (us): 1 change by 2TallTyler
vietnamese: 21 changes by KhoiCanDev
12 months ago
Peter Nelson
b5dc9328f2
Change: Store station blocked/wires/pylons flags in map. ( #11337 )
...
This stores three flags in unused map bits, and avoids having to look up
station graphics and custom station specs to determine blocked/wires/pylons
status.
This potentially affects rail pathfinding performance.
Savegame version is not bumped, as the flags can just be updated every
time.
12 months ago
translators
fd79d34ba9
Update: Translations from eints
...
korean: 1 change by telk5093
12 months ago
translators
beafdadde4
Update: Translations from eints
...
italian: 25 changes by Rivarossi
12 months ago
Peter Nelson
015fbafe34
Codechange: Add missing override specifiers to squirrel.
12 months ago
Peter Nelson
49dae08a3b
Codechange: Add missing override specifiers.
12 months ago
translators
a650194227
Update: Translations from eints
...
finnish: 1 change by hpiirai
12 months ago
translators
976f8c474f
Update: Translations from eints
...
chinese (simplified): 139 changes by BYXxiaonanhui
catalan: 23 changes by J0anJosep
portuguese (brazilian): 1 change by pasantoro
12 months ago
translators
f8303b0397
Update: Translations from eints
...
english (au): 1 change by krysclarke
russian: 1 change by Ln-Wolf
danish: 1 change by bscargo
dutch: 1 change by Afoklala
french: 1 change by ottdfevr
portuguese: 1 change by azulcosta
polish: 68 changes by pAter-exe
1 year ago
Peter Nelson
398c7e5f9d
Codechange: Use new function to get a bitmask of empty cargo types.
1 year ago
Peter Nelson
69ee38bd43
Codechange: Use GetAcceptanceMask() instead of duplicating it.
1 year ago
PeterN
6d675c8acf
Fix : #11329 : Don't assert vehicle list length is non-zero when only asked to set string parameter. ( #11330 )
...
Since #11321 , the vehicle list is not yet initialized when SetStringParameters is called, so a test that the vehicle list size is zero is triggered. However, doing this check in the SetStringParameters function is a bit out of its remit, so just remove it.
1 year ago
PeterN
cef6a5f79c
Fix #11326 : Update autoreplace scrollbar count after clearing engine list. ( #11327 )
1 year ago
Joan Josep
6b7537646d
Fix: Allow NewGRF inspection of road tiles. ( #11323 )
1 year ago
Peter Nelson
122bfa2afd
Codechange: Use less locals for station free names bitmask.
1 year ago
Peter Nelson
aeaa552385
Codechange: Use std::bitset instead of bool array.
...
This avoids use of C-style pointers and memset.
1 year ago
Peter Nelson
2eacf36d0a
Codechange: List fallback station names by ID instead of magic number.
...
This improves readability and intention of the station name generator.
1 year ago
frosch
f40816503f
Codechange: Add enum items for dynmically created setting dropdowns.
1 year ago
frosch
39e67b6f4c
Codechange: Use existing widget ids instead of raw numbers.
1 year ago
frosch
e0df937247
Fix b5885295: NewGRF preset dropdown was broken.
1 year ago
translators
72323ae9e6
Update: Translations from eints
...
danish: 20 changes by bscargo
1 year ago
Joan Josep
b9a1cb5d7c
Fix: Spelling of NIHAirport. ( #11322 )
1 year ago
PeterN
a0c6259e33
Codechange: Don't access cargo filter before it is initialized. ( #11321 )
...
The cargo filter list is initialized during window OnInit, but the first
build of the filtered list occurred before this.
1 year ago
PeterN
48dc4219ea
Codechange: Don't pass GUI cargo filter constants to command system. ( #11320 )
...
CMD_BUILD_VEHICLE expects CT_INVALID to indicate a new vehicle should not
be refitted on build, but the code passed CF_NONE instead. CF_NONE has the
same numeric value at CT_INVALID, so the test passed, but...
1 year ago
frosch
6b586dddad
Cleanup: TransmitNotesOff is only called with buffer==_buffer.
1 year ago
frosch
c84fd30317
Codechange: Add missing 'override'.
1 year ago
frosch
a7707302e6
Codechange: silence false warning.
1 year ago
frosch
55da426d44
Codechange: All ParagraphLayoutFactory::AppendToBuffer assume that the buffer has at least some space.
...
Assert on that.
1 year ago
frosch
baf7cc858b
Codechange: Rename ship docking tile related functions.
1 year ago
frosch
5733145c59
Cleanup: Remove unneeded parameters.
1 year ago
frosch
b5885295f0
Codechange: Use parameters, which should be used.
1 year ago
frosch
b6c8f301be
Codechange: Silence warnings about intentionally unused parameters.
1 year ago
Patric Stout
df400ef84a
Fix: only count distance traveled in vehicles for cargo payment ( #11283 )
...
No longer you can utilize the free (and instant) labour of station
workers, transporting your cargo from one part of the station to
the other. No more!
Based on patch by dP.
1 year ago
translators
710722e3c1
Update: Translations from eints
...
korean: 1 change by telk5093
1 year ago
Peter Nelson
6fb89b189f
Fix #11315 : Sort industries and cargoes by name* in industry chain window.
...
*Cargo types are sorted by the normal method so it's not strictly alphabetical.
1 year ago
Peter Nelson
106f29f761
Codechange: Use iteration to copy cargo list into CFT_CARGO.
1 year ago
Peter Nelson
4f8d06ff73
Codechange: Use uint8_t instead of byte for numeric values.
1 year ago
Peter Nelson
9457bda614
Codechange: Use std::fill instead of memset when initializing GUI cargo fields.
1 year ago
PeterN
18e75dbc88
Fix: Don't produce invalid cargo. ( #11314 )
...
Production for secondary industries did not always check that the produced cargo type isn't valid.
1 year ago
Peter Nelson
fd2dd4397f
Codechange: Use range-for and iterator to populate default cargo table.
1 year ago
Peter Nelson
280dce9543
Codechange: Reorder CargoSpec to reduce alignment padding.
1 year ago
Peter Nelson
e8cbc3c2c7
Codechange: Simplify initialization of default cargoes.
1 year ago
Rubidium
3a2509198f
Codechange: use better location for the "invalid" action sentinel value
...
It used to be a random sentinel for end-of-(widget-)list that was used to tell
that no action has taken place yet. Since the last action is practically the
widget that was pressed, add the sentinel to that enumeration.
1 year ago
Rubidium
09a7902d36
Fix 8ab0936: missed WIDGET_LIST_END removals
1 year ago
Jonathan G Rennison
3afb732c37
Fix #11307 : Incorrect GroupStatistics after selling leading wagon
...
When this results in a countable consist
1 year ago
Peter Nelson
14bcfff6f5
Codechange: Rename INVALID_CARGO to INVALID_CARGO_BITNUM
...
... to avoid future ambiguity.
1 year ago
Peter Nelson
9d1b131c44
Codechange: Use correct constant for invalid cargo type.
1 year ago
Rubidium
7ef22af2bb
Codechange: introduce and use function to raise and dirty a set of widgets when they are lowered
1 year ago
PeterN
6580ff1adb
Fix #11230 : Widget layout also failed for group-less vehicle list window. ( #11310 )
1 year ago
Rubidium
4cf88e068a
Remove: unused include of cstdarg/stdarg.h
1 year ago
Rubidium
8ab0936491
Codechange: use parameter pack/folding instead of va_arg macros for widget states
1 year ago
translators
30eba33f1e
Update: Translations from eints
...
english (us): 20 changes by 2TallTyler
1 year ago
frosch
c6f5b57f13
Fix #11297 , 4e9a871: SCC_GENDER_LIST tried to determine the gender from the wrong sub-string. ( #11299 )
1 year ago
Patric Stout
39ef4b503f
Fix: also apply cargo filters on shared groups in vehicle listing ( #11294 )
1 year ago
translators
8d90448153
Update: Translations from eints
...
romanian: 18 changes by bnegrut
turkish: 22 changes by densxd
dutch: 20 changes by Afoklala
portuguese: 21 changes by azulcosta
1 year ago
Jonathan G Rennison
42170e6c2b
Codechange: Rename RoadType parameter of MakeRoadDepot
...
See: #9642
1 year ago
frosch
a3f661cb66
Fix: compilation failed on gcc 10.2 due to missing include. ( #11300 )
...
'_exit' is defined in 'unistd.h'.
1 year ago
translators
ba51a34b4c
Update: Translations from eints
...
english (au): 20 changes by krysclarke
korean: 25 changes by telk5093
russian: 20 changes by Ln-Wolf
finnish: 20 changes by hpiirai
french: 20 changes by glx22
portuguese (brazilian): 20 changes by pasantoro
1 year ago
Patric Stout
37e2f99c09
Change: store crash logs in JSON format ( #11232 )
1 year ago
Peter Nelson
a0353af223
Codechange: Shuffle Depot members to reduce padding.
1 year ago
Peter Nelson
2fdc22e7ea
Codechange: Shuffle CargoPayment members to reduce padding.
1 year ago
PeterN
a3c70ee6fb
Codechange: Pass by reference and use emplace-at-end for CargoSummary. ( #11296 )
1 year ago
Loïc Guilloux
b4ff06b6ef
Fix: marked text was not updated during text deletion ( #11293 )
1 year ago
translators
fca62c245f
Update: Translations from eints
1 year ago
Loïc Guilloux
220f93f552
Fix: IConsoleWindow:GetTextBoundingRect() is incorrect ( #11292 )
1 year ago
Daniel Robinson
71c2878799
Fix #10600 : 'Replace Vehicles' didn't show numbers >999 ( #10680 )
1 year ago
Patric Stout
9c49a61249
Fix: base cargo payment on load/unload tile, instead of station sign location ( #11281 )
1 year ago
Patric Stout
ba67f39db6
Codechange: vendor the nlohmann-json library ( #11290 )
1 year ago
Niels Martin Hansen
41de0d46f3
Feature: Help and manuals access window
1 year ago
Niels Martin Hansen
4765d0f8c2
Change: Text Layouter support querying all lines for character at pixel
1 year ago
Patric Stout
d1a0ca67be
Codechange: simplify splitting of CargoPacket ( #11286 )
1 year ago
translators
a16aa3ef7d
Update: Translations from eints
...
swedish: 1 change by joeax910
1 year ago
translators
3fd50c2949
Update: Translations from eints
...
swedish: 2 changes by optiedev
vietnamese: 11 changes by KhoiCanDev
romanian: 5 changes by bnegrut
danish: 2 changes by bscargo
dutch: 2 changes by Afoklala
portuguese: 2 changes by azulcosta
polish: 15 changes by pAter-exe
1 year ago
PeterN
acd7d3c913
Codechange: Rename *Railtype* to *RailType* for consistency. ( #11287 )
1 year ago
PeterN
a0b2f28f9c
Codechange: Use std::copy/fill pattern to initialize rail and road specs. ( #11285 )
...
This avoids use of lengthof and array indices.
1 year ago
Patric Stout
7e3cdbaf62
Fix: mark next_station as INVALID_STATION when loading from older savegames
1 year ago
Patric Stout
9e3763cfb3
Fix b0e73277: save/load next_station for CargoPacket again
1 year ago
Patric Stout
1243c331b6
Fix: don't compare next_station when trying to merge CargoPackets
...
For vehicle packets they shouldn't be compared, and for station
packets they are already in a bucket per next_station.
1 year ago
Patric Stout
9f8c1ea552
Codechange: rename next_station to next_hop to avoid confusing with another next_station
1 year ago
Patric Stout
a0f6983be4
Codechange: remove parameter from VehicleCargoList::Reassign that is always INVALID_STATION
1 year ago
PeterN
6643c010bd
Fix: NewGRF house class mappings were not reset between games. ( #11279 )
1 year ago
Michael Lutz
1c620b349f
Feature: [NewGRF] Related Act2 objects for airports and airport tiles.
...
Airports are similar two stations and industries, both of which have the town as related object.
Airport tiles are similar to industry tiles, which have the industry as related object.
This seems a sensible structure, so let's make it Airport Tile -> Airport -> Town.
1 year ago
Michael Lutz
a6f2f3c042
Add: [NewGRF] Inspection window for airports.
...
As as the station window combines all station types, accessing the
debug view is via the parent of the airport tile only.
1 year ago
Patric Stout
e6c02ebee6
Fix b0e73277: cargodist information got lost when splitting of cargo ( #11280 )
...
During b0e73277
we removed loaded_at_xy, but I kinda forgot that
it was a union with next_station. Now next_station wasn't copied
anymore, or checked in AreMergable.
1 year ago
Tyler Trahan
701a61c9af
Codechange: Delete date_type.h
1 year ago
Tyler Trahan
77173a6a10
Codechange: Move date consts and functions to CalendarTime and TimerGameCalendar classes
1 year ago
Tyler Trahan
fca2b37726
Codechange: Move Ticks into their own class
1 year ago
Patric Stout
30172fc037
Codechange: cleanup CargoPacket in terms of variable/function names ( #11278 )
...
Over the years, things got reused and changed, making the current
names somewhat unclear in what they actually mean and do.
1 year ago
Patric Stout
b0e73277d6
Codechange: remove loaded_at_xy from CargoPacket as it was unused ( #11276 )
1 year ago
Peter Nelson
f3b4f9d640
Codechange: Reduce size of TextEffectMode and TextEffectID.
...
TextEffectID was promoted to size_t in #9235 , when it was used in loops.
However since then the relevant code uses range-for or iterators instead.
1 year ago
Peter Nelson
f6939d6c4d
Codechange: Make INVALID_TE_ID a TextEffectID instead of a TextEffectMode.
...
Type-correctness?
1 year ago
Peter Nelson
3c61c642a9
Codechange: Don't allocate a text effect with INVALID_TE_ID.
...
Previously, despite INVALID_TE_ID existing, it was not checked during allocation and there was no limit to the number of text effects.
1 year ago
Peter Nelson
78b841d14e
Codechange: Take reference to text effect instead of pointer when updating.
1 year ago
Peter Nelson
7519f7ad79
Codechange: Use std::find_if to find or assign a text effect slot.
...
This replaces an index-based loop.
1 year ago
Peter Nelson
7bd019df90
Codechange: Use std::array for TemporaryStorageArray.
...
This removes the need for initialisation with memset().
1 year ago
Peter Nelson
9040d7813d
Codechange: Use std::array and std::unique_ptr for PersistentStorageArrays.
...
This (mostly) avoids the need for manual memory management and copying.
1 year ago