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.
2023-11-05 20:09:45 +00:00
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.
2023-11-05 20:09:45 +00:00
Peter Nelson
ac54bd7e58
Codechange: Apply PIP during AssignSizePosition() instead of SetupSmallestSize().
2023-11-05 20:09:45 +00:00
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.
2023-11-05 20:09:11 +00:00
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.
2023-11-05 19:24:59 +00:00
Peter Nelson
b1eb5533eb
Add: WindowDesc unit test to validate NWidgetPart lists.
2023-11-05 19:24:59 +00:00
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.
2023-11-05 19:24:59 +00:00
Peter Nelson
05436d9c2f
Add: Expose minimal parts of SpriteCache internals.
...
These parts are needed to be able to mock the SpriteCache for unit-tests.
2023-11-05 19:24:59 +00:00
Peter Nelson
46f63074da
Add: MockFontCache for testing GUI code that only needs to know font sizes.
2023-11-05 19:24:59 +00:00
translators
af4c7799fe
Update: Translations from eints
...
korean: 1 change by telk5093
finnish: 1 change by hpiirai
portuguese (brazilian): 1 change by pasantoro
2023-11-05 18:37:09 +00:00
Peter Nelson
b5861fd8f3
Fix: Using MIN_YEAR for a date is probably wrong, Use MIN_DATE instead. ( #11444 )
...
Even with strong types ...
2023-11-05 15:43:56 +00:00
Peter Nelson
ef385499c7
Codechange: Remove ineffective NWidgetParts. ( #11443 )
2023-11-05 14:09:47 +00:00
translators
01728177e7
Update: Translations from eints
...
english (us): 3 changes by 2TallTyler
french: 2 changes by Lishouuu
2023-11-04 18:37:37 +00:00
Michael Lutz
071fdab236
Codechange: Replicate cursor screen backup to chat message display, removing explicit memory management.
...
Incidentally, this makes Blitter::GetBytesPerPixel unneeed.
2023-11-04 16:08:34 +01:00
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.
2023-11-04 14:42:47 +00:00
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.
2023-11-04 10:39:18 +00:00
Peter Nelson
db6b32e421
Codechange: Avoid pointers and lengthof in ExpensesList. ( #11427 )
...
Use std::initializer_list which allows iteration.
2023-11-03 23:15:37 +00:00
Michael Lutz
86e28e79fb
Fix #11402 : Make string filter locale-aware.
2023-11-03 22:34:01 +01:00
Michael Lutz
c294eaacc1
Fix: char_traits::find needs to return nullptr if nothing was found.
2023-11-03 22:34:01 +01:00
Peter Nelson
7d4a91ef9e
Cleanup: Remove some unused functions. ( #11429 )
...
These were picked up with cppcheck.
2023-11-03 21:21:00 +00:00
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
2023-11-03 18:38:51 +00:00
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.
2023-11-03 09:38:41 +00:00
Peter Nelson
e8db137135
Codechange: Move test for Container WidgetType to helper function.
2023-11-03 09:38:41 +00:00
Peter Nelson
d4a77411a5
Fix: Some NWidget lists were not properly closed. ( #11425 )
2023-11-03 08:17:26 +00:00
Peter Nelson
cda896bca5
Remove: windowdesc-ini-key workflow, as this is now performed more reliably by a unit-test.
2023-11-02 22:25:01 +00:00
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.
2023-11-02 22:25:01 +00:00
Peter Nelson
18fb8e153f
Codechange: Add __FILE__/__LINE__ of WindowDesc to WindowDesc.
...
This is to allow unit-tests to produce more useful output.
2023-11-02 22:25:01 +00:00
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.
2023-11-02 21:28:24 +00:00
translators
82ebc9860b
Update: Translations from eints
...
finnish: 2 changes by hpiirai
danish: 1 change by bscargo
2023-11-02 18:38:58 +00:00
Rubidium
a849b4e175
Fix: allow same length server password in the UI
2023-11-02 17:19:38 +01:00
Rubidium
c6411168d8
Cleanup: missing spaces before continuation * in some comments
2023-11-01 22:56:11 +01:00
Peter Nelson
c687b59efc
Codechange: Use unique_ptr for SmallMapWindow's overlay.
2023-11-01 21:49:06 +00:00
Peter Nelson
53845bc024
Codechange: Move includes to correct place.
...
Some other source file inadvertently included things via smallmap_gui.h
2023-11-01 21:49:06 +00:00
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`.
2023-11-01 21:49:06 +00:00
Peter Nelson
f91462f54b
Codechange: Don't access SmallMapWindow method directly from LinkGraphOverlay.
2023-11-01 21:49:06 +00:00
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.
2023-11-01 21:37:53 +00:00
Peter Nelson
278b42d078
Codechange: Document Industry::GetCargoProduced/Accepted and add const-variant.
2023-11-01 21:37:53 +00:00
Peter Nelson
4f3adc038a
Cleanup: Use standard comment codestyle.
2023-11-01 21:37:53 +00:00
Tyler Trahan
49d53c41ab
Doc: Don't use other names for road vehicle bay stops ( #11418 )
2023-11-01 21:19:31 +00:00
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.
2023-11-01 20:12:08 +00:00
Tyler Trahan
89480f3531
Change: Don't set vehicle on time if timetable not started ( #11359 )
2023-11-01 15:26:39 -04:00
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
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
2023-11-01 18:38:53 +00:00
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 .
2023-10-31 01:19:04 +00:00
frosch
e81313e93e
Feature: Base graphics can offer parameters for additional settings.
2023-10-31 01:41:50 +01:00
frosch
de3f29d7b2
Add: store base graphics parameters in openttd.cfg.
2023-10-31 01:41:50 +01:00
frosch
f09fda1ff0
Codechange: store the GRFConfig of the base graphics, once loaded.
2023-10-31 01:41:50 +01:00
frosch
0b7ecf6102
Codechange: use the shortname as unique id to identify the base graphics in openttd.cfg.
2023-10-31 01:41:50 +01:00
frosch
97df27e41f
Codechange: Store base graphics settings in a separate section in openttd.cfg.
2023-10-31 01:41:50 +01: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