Commit Graph

56643 Commits (540cec2af5b769503bbb58ad7fef591887ad4ef8)
 

Author SHA1 Message Date
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 cda896bca5 Remove: windowdesc-ini-key workflow, as this is now performed more reliably by a unit-test. 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