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
Patric Stout
c3918838f6
Fix: crash when opening a damaged base-graphics ( #11275 )
1 year ago
PeterN
afc1ea8135
Codechange: Using alias and std::array for company expense storage. ( #11273 )
...
This simplifies passing yearly expenses to functions and use of std algorithms.
1 year ago
Patric Stout
00f13282a9
Codechange: keep how we convert string <-> JSON private ( #11269 )
1 year ago
Patric Stout
d725fa14a2
Fix: asserts unintentially being partially disabled in release-builds ( #11268 )
...
The nlohmann-json header file includes assert.h, which rudely resets
the assert macro to what that header thinks is right. As we set the
assert macro to be active with release builds when WITH_ASSERT is
active, this means that every file including nlohmann-json has their
asserts disabled (for release-builds) but files that don't do no.
Let's avoid this issue, by telling nlohmann to not include assert.h.
1 year ago
Rubidium
8c742b456f
Codechange: use Textbuf directly, instead via several virtual functions in Window
1 year ago
Jonathan G Rennison
0316940fe8
Fix: Inaccurate waiting cargo total in station window when using cargodist ( #11213 )
...
For stations with many flows and/or small cargo packets,
due to accumulated inaccuracies in DivideApprox.
The displayed total should match GoodsEntry::TotalCount().
1 year ago
Loïc Guilloux
21bd5fb991
Fix: [CI] preview flow can't install latest version of npm ( #11265 )
1 year ago
Patric Stout
5f9b8aaa95
Codechange: [Script] use nlohmann for Squirrel <-> JSON conversion ( #11251 )
1 year ago
translators
6e8d7964ed
Update: Translations from eints
...
english (us): 4 changes by 2TallTyler
1 year ago
translators
9d2920e9c5
Update: Translations from eints
...
french: 2 changes by ottdfevr
1 year ago
Patric Stout
337b7b0c63
Fix 8c9ecde9: actually remove autosave_interval from setting window ( #11260 )
1 year ago
Peter Nelson
152b0cac34
Codechange: Return update nwid_begin instead of count.
...
This avoids needing to keep track of how many widget parts have been consumed, instead we only to ensure nwid_begin < nwid_end.
1 year ago
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.
1 year ago
Peter Nelson
e4613fc04c
Codechange: Allow using more than 65536 NewGRF string IDs.
...
NewGRF string allocation allowed up to 524288 strings, however stringid was passed as uint16_t which limits to 2^16.
1 year ago
Peter Nelson
3e762af2d1
Change: Replace fixed length _grf_text array with vector.
...
Additionally reshuffle GRFTextEntry for better alignment.
This removes a mostly-unused static 20MB allocation.
1 year ago
translators
dadf5182d8
Update: Translations from eints
...
english (au): 2 changes by krysclarke
russian: 3 changes by Ln-Wolf
finnish: 2 changes by hpiirai
portuguese (brazilian): 2 changes by pasantoro
1 year ago
PeterN
bd150df914
Codechange: Reorder some high-use structs to reduce their size. ( #11201 )
...
This reduces GoodsEntry from 144 to 136 bytes (thereby reducing Station from 9704 bytes to 9192 bytes), and CargoPacket from 40 bytes to 32 bytes.
1 year ago
translators
5c2e4ee6fe
Update: Translations from eints
1 year ago
glx22
b0f8890ba5
Codechange: [CMake] detect source files with duplicate names
1 year ago
glx22
c77184aa35
Codechange: [CMake] reduce code duplication
1 year ago
Bouke Haarsma
7e54418022
Codechange: workaround CMake/Xcode duplicate file name issue ( #11186 )
...
Having a library with files with the same name isn't supported in CMake's Xcode project file generation: https://gitlab.kitware.com/cmake/cmake/-/issues/20501 . One of the files is renamed to work around this bug.
1 year ago
Michael Lutz
0089323542
Add: [Script] Custom news message text for industry SetProductionLevel.
1 year ago
Michael Lutz
1c56991213
Add: [Script] Game script control of industry production level.
1 year ago
mrmbernardi
a5c8365aa4
Feature: Setting to disallow level crossings with competitors ( #10755 )
1 year ago
frosch
236ec41fa2
Fix #11230 : Group list widget layout failed, if dropdown widgets were higher than the font height. ( #11231 )
1 year ago
translators
6ab169fbe0
Update: Translations from eints
...
dutch: 1 change by Afoklala
1 year ago
Patric Stout
7afd686541
Codechange: add tests for GS <-> AdminPort JSON conversion ( #11252 )
...
While at it, fix a bug where booleans were made integers.
1 year ago
Patric Stout
993e7be707
Fix: [Script] GSAdmin.Send() could generate invalid JSON ( #11250 )
1 year ago
glx22
4eddec9e79
Add: [Emscripten] Support for bootstrapping
1 year ago
glx22
3d1c4a8589
Codechange: [Emscripten] Improve syncfs synchronisation on exit/abort
1 year ago
Patric Stout
75d3dc0a19
Codechange: [Emscripten] remove "relative_mode" parameter from -vsdl as it doesn't exist ( #11249 )
1 year ago
Patric Stout
502414b567
Fix: [Emscripten] config not saved on exit game ( #11248 )
...
When changing a Game Option and pressing Exit Game, the changes
were not actually stored. This because the post-mainloop code
was never executed for Emscripten.
1 year ago
Patric Stout
2f96ccc18a
Add: [CI] Create and store breakpad symbols for releases ( #11247 )
...
Additionally, also store PDB and exe files on the Symbol Server
for easier debugging with MSVC.
1 year ago
Patric Stout
ecb4bb5161
Change: for surveys capture more information about the OpenTTD version ( #11244 )
1 year ago
translators
5e75afb628
Update: Translations from eints
...
catalan: 2 changes by J0anJosep
1 year ago
Patric Stout
a3d631ffed
Change: make nlohmann a mandatory library to build OpenTTD ( #11235 )
1 year ago
Patric Stout
13b76b0243
Fix: [CI] don't install breakpad on arm64-windows-static, as it is not supported (yet) ( #11242 )
1 year ago
Patric Stout
110dd0e6c1
Fix: [CI] Allow release-flow to run in forks (while skipping survey-key) ( #11241 )
1 year ago
Patric Stout
abc060525d
Add: calendar date for Survey results
...
This means no heuristics is possible on around which date people
play the game.
1 year ago
Patric Stout
b0d7cfaa3d
Change: [Win32] don't allocate 192KiB of memory on the stack on crash ( #11240 )
...
Heap is out of the question, as it might be corrupted.
Allocating this much on stack is silly.
So instead, allocate virtual pages to write the information in.
1 year ago