Commit Graph

57194 Commits

Author SHA1 Message Date
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.
2023-09-09 19:26:47 +01:00
Peter Nelson
f6939d6c4d Codechange: Make INVALID_TE_ID a TextEffectID instead of a TextEffectMode.
Type-correctness?
2023-09-09 19:26:47 +01:00
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.
2023-09-09 19:26:47 +01:00
Peter Nelson
78b841d14e Codechange: Take reference to text effect instead of pointer when updating. 2023-09-09 19:26:47 +01:00
Peter Nelson
7519f7ad79 Codechange: Use std::find_if to find or assign a text effect slot.
This replaces an index-based loop.
2023-09-09 19:26:47 +01:00
Peter Nelson
7bd019df90 Codechange: Use std::array for TemporaryStorageArray.
This removes the need for initialisation with memset().
2023-09-09 15:26:03 +01:00
Peter Nelson
9040d7813d Codechange: Use std::array and std::unique_ptr for PersistentStorageArrays.
This (mostly) avoids the need for manual memory management and copying.
2023-09-09 15:26:03 +01:00
Patric Stout
c3918838f6 Fix: crash when opening a damaged base-graphics (#11275) 2023-09-09 14:06:00 +00:00
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.
2023-09-09 13:15:53 +00:00
Patric Stout
00f13282a9 Codechange: keep how we convert string <-> JSON private (#11269) 2023-09-08 19:03:10 +02:00
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.
2023-09-08 10:11:37 +00:00
Rubidium
8c742b456f Codechange: use Textbuf directly, instead via several virtual functions in Window 2023-09-06 23:07:04 +02:00
Peter Nelson
7cc1ed9594 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.

(cherry picked from commit e4613fc04c)
2023-09-06 21:56:20 +01:00
Peter Nelson
2178ff1e80 Change: Replace fixed length _grf_text array with vector.
Additionally reshuffle GRFTextEntry for better alignment.

This removes a mostly-unused static 20MB allocation.

(cherry picked from commit 3e762af2d1)
2023-09-06 21:56:20 +01:00
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().
2023-09-06 21:36:26 +02:00
Loïc Guilloux
21bd5fb991 Fix: [CI] preview flow can't install latest version of npm (#11265) 2023-09-06 16:29:34 +00:00
Patric Stout
5f9b8aaa95 Codechange: [Script] use nlohmann for Squirrel <-> JSON conversion (#11251) 2023-09-06 13:14:12 +02:00
translators
6e8d7964ed Update: Translations from eints
english (us): 4 changes by 2TallTyler
2023-09-05 18:38:17 +00:00
Jonathan G Rennison
85b20068a8 Merge PR #595 into jgrpp 2023-09-05 18:40:47 +01:00
Jonathan G Rennison
6f75465800 Fix 2f692a79: Dest ptr not advanced for BM_BLACK_REMAP in 32bpp optimised blitter 2023-09-05 18:37:50 +01:00
pvillaverde
f4ad08200e 🌐 Update Galician Translations up to 0.55.1 2023-09-05 17:35:07 +02:00
Jonathan G Rennison
d0fb85a5db Version: Committing version data for tag: jgrpp-0.55.1 2023-09-05 01:34:37 +01:00
Jonathan G Rennison
a48a3ac07b Fix 87911bdf: Fix FindLastBit for unsigned long long (uint64 on Windows)
See: #594
2023-09-05 00:39:44 +01:00
Jonathan G Rennison
20ece8025e Test: Add tests for FindLastBit function 2023-09-04 23:42:42 +01:00
Jonathan G Rennison
94cffc0aea Fix autorenew ship purchase cost not being applied for multi-cargo ships 2023-09-04 23:33:01 +01:00
translators
9d2920e9c5 Update: Translations from eints
french: 2 changes by ottdfevr
2023-09-04 18:38:09 +00:00
Patric Stout
337b7b0c63 Fix 8c9ecde9: actually remove autosave_interval from setting window (#11260) 2023-09-04 11:18:47 +00:00
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.
2023-09-04 10:20:45 +01: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
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.
2023-09-04 09:49:09 +01:00
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.
2023-09-04 09:49:09 +01:00
Jonathan G Rennison
891874a145 TBTR: Remove unused variable 2023-09-04 01:14:35 +01:00
Jonathan G Rennison
8481fb4b7b Fix compiler warnings on Windows ARM64 2023-09-04 01:00:30 +01:00
Jonathan G Rennison
44d4d4944c Version: Committing version data for tag: jgrpp-0.55.0 2023-09-04 00:38:45 +01:00
Jonathan G Rennison
f51d51de40 Fix compiler warning in BuildReplacementMultiPartShip 2023-09-04 00:07:57 +01:00
Jonathan G Rennison
0e6decbdfb Fix compiler warning on Windows ARM64 2023-09-04 00:06:30 +01:00
Jonathan G Rennison
3856891467 Strgen: Fix compiler warning in LangString constructor 2023-09-04 00:04:54 +01:00
Jonathan G Rennison
597382e989 Build: Fix MacOS compilation 2023-09-04 00:02:45 +01:00
Jonathan G Rennison
ed0ee16bf9 Build: Fix MinGW compilation 2023-09-03 21:56:44 +01:00
Jonathan G Rennison
be13d8d970 Update low level changes document 2023-09-03 20:58:25 +01:00
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
2023-09-03 18:38:15 +00:00
Jonathan G Rennison
80fa53bc58 Allow unpausing upstream savegames using PM_COMMAND_DURING_PAUSE 2023-09-03 18:19:56 +01:00
Jonathan G Rennison
428e1c364e Enable picker tool for rail signals 2023-09-03 00:29:36 +01:00
Jonathan G Rennison
bd378a2842 Reorder struct CargoPacket
Reduce size from 40 bytes to 32 bytes.
See: https://github.com/OpenTTD/OpenTTD/pull/11201
2023-09-02 22:18:42 +01:00
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.
2023-09-02 20:56:36 +00:00
Jonathan G Rennison
fabe507b08 Fix 2ae4e5bd: Wrong upstream save/load version for RV path cache 2023-09-02 21:18:03 +01:00
Jonathan G Rennison
c0598d34bf Merge branch 'master' into jgrpp
# Conflicts:
#	src/console.cpp
#	src/os/os2/os2.cpp
#	src/os/unix/font_unix.cpp
#	src/strgen/strgen.h
#	src/strgen/strgen_base.cpp
#	src/table/settings/gui_settings.ini
2023-09-02 20:48:58 +01:00
translators
5c2e4ee6fe Update: Translations from eints 2023-09-02 18:38:13 +00:00
Michael Lutz
fb6d85dbe5 Add: [Script] Custom news message text for industry SetProductionLevel.
(cherry picked from commit 0089323542)
2023-09-02 19:33:00 +01:00
glx22
b0f8890ba5 Codechange: [CMake] detect source files with duplicate names 2023-09-02 20:32:44 +02:00