Commit Graph

55585 Commits (19835b51eef7dcf24faa3a74367472fd3af2c534)
 

Author SHA1 Message Date
Jonathan G Rennison 19835b51ee Move StationCargoList and FlowStatMap out of GoodsEntry struct
Move them into a new GoodsEntryData struct referenced
using a std::unique_ptr from GoodsEntry.
The unique_ptr may be nullptr if the cargo list and flow stat map
are both empty (this is the case for unused cargoes).

This reduces GoodsEntry from 128 to 24 bytes,
and Station from 8680 to 2024 bytes,
(on Linux x86_64).
11 months ago
Jonathan G Rennison cd2ab6430b Use btree map for GRFParameterInfo value names 11 months ago
Jonathan G Rennison 615c42d357 Reserve vector size when loading station flow stats 11 months ago
Jonathan G Rennison 0f9f1f4280 Use btree map for _town_test_ratings 11 months ago
Jonathan G Rennison 2bc943d31a Avoid std::set in script version checks 11 months ago
Jonathan G Rennison 1979fa9db1 Use btree set for _changed_storage_arrays 11 months ago
Jonathan G Rennison 53ef4536d9 Departures: Use btree map for scheduled dispatch maps 11 months ago
Jonathan G Rennison 66b5c615b7 Use btree map for GRF ID overrides 11 months ago
Jonathan G Rennison e912cfc19d Ring buffer: Use as backing for std::queue uses 11 months ago
Jonathan G Rennison 2296b92ea2 Use btree map for StationCargoAmountMap 11 months ago
Jonathan G Rennison 23ad010d70 Replace remaining uses of std::deque with ring buffers
Cargo packet lists and associated save/load
11 months ago
Jonathan G Rennison b59a8dc21c Ring buffer: Don't apply const when dereferencing iterators 11 months ago
Jonathan G Rennison 0c634edef5 Ring buffer: Add erase 11 months ago
Jonathan G Rennison 877e301c5a Ring buffer: Add multi-value insert 11 months ago
Jonathan G Rennison bdfdb9808a Ring buffer: Add iterator conversions 11 months ago
Jonathan G Rennison 8d2911fe29 Ring buffer: Add swap function, make move (swap) assignment noexcept 11 months ago
Jonathan G Rennison ab128143fb Ring buffer: Make iterator default constructor public 11 months ago
Jonathan G Rennison 8d3a90425c Test: Add tests for ring buffer functionality 11 months ago
Jonathan G Rennison 3f2b06fcbe Ring buffer: Fix various insert/emplace cases 11 months ago
Jonathan G Rennison 6b8994c947 Ring buffer: Fix iterator operator + and - 11 months ago
Jonathan G Rennison 21adf399c0 Ring buffer: Add a std::initializer_list constructor 11 months ago
Rubidium 73d7052732 Add: unit test functionality using catch2
(cherry picked from commit 43a7e54067)
11 months ago
Rubidium f92a96dad2 Add: catch2 v2.13.10
(cherry picked from commit 88ead3f102)
11 months ago
Jonathan G Rennison 5a28405ced Merge branch 'master' into jgrpp
# Conflicts:
#	src/company_gui.cpp
#	src/group_gui.cpp
#	src/newgrf.cpp
#	src/newgrf_debug_gui.cpp
#	src/saveload/saveload.cpp
11 months ago
Jonathan G Rennison ef168b7d46 Fix: Road stops should not draw a ground sprite of 0 11 months ago
Jonathan G Rennison aee13946ff Fix: Inaccurate waiting cargo total in station window when using cargodist
For stations with many flows and/or small cargo packets,
due to accumulated inaccuracies in DivideApprox.

The displayed total should match GoodsEntry::TotalCount().
11 months ago
Jonathan G Rennison c7712bbd20 Debug: Shpw station GoodsEntry info in station debug window 11 months ago
Patric Stout 66b324a4c0 Fix: [MacOS] screen looks blue-ish when using newer SDKs (#11207)
The define kCGBitmapByteOrder32Host changed (around SDK 12?)
into an enum, which means an old #ifndef was triggering,
overwriting the value to 0. Sadly, 0 means Order16Big, causing
RGBA to become GRAB, which results in strange colours.

As we no longer support PPC, drop that piece of code completely.

(cherry picked from commit 5ac333c2cc)
11 months ago
Loïc Guilloux c890f96d07 Fix: no fast forward in network was ensured only from GUI side (#11206)
(cherry picked from commit 2bf3c02fbf)
11 months ago
Jonathan G Rennison 175f6c979c Use ring buffer for network TCP packet send queue 11 months ago
Jonathan G Rennison cf655f624b Remove unused include 11 months ago
Jonathan G Rennison 7502fbd44b Use ring buffers for tile/landscape candidate queues 11 months ago
Jonathan G Rennison 69683eecb8 Use ring buffer for console buffer 11 months ago
Jonathan G Rennison a403a0c8e3 Use ring buffer for script log line data 11 months ago
Jonathan G Rennison 7fb815aad8 Use ring buffer in TCPConnecter::OnResolved 11 months ago
Jonathan G Rennison 8c1a3c26af Use ring buffers for network _chatmsg_list and _command_queue 11 months ago
Jonathan G Rennison e958bdde9f Use ring buffers for train lookahead items and curves 11 months ago
Jonathan G Rennison ebd375c247 Container: Add a self-resizing ring buffer container 11 months ago
Jonathan G Rennison 87911bdf47 Use bitmath builtins for FindLastBit 11 months ago
Jonathan G Rennison c49651ae7b VarAction2: Use reserve and shrink_to_fit for DSG adjusts vector 11 months ago
Jonathan G Rennison 129691dcc7 Music: Defer probing for music driver until a music set is loaded 11 months ago
Jonathan G Rennison 8681f29155 Linux: Try to enable transparent huge pages for map allocation
Using single allocation for tile and tile-extended
11 months ago
Jonathan G Rennison 41fed27d0a Animated tile: Prefetch next item in map 11 months ago
Jonathan G Rennison 2212191b6c Saveload: Fix missing cast warnings for ship/RV path cache load 11 months ago
Jonathan G Rennison 9cf39b7a25 Prefetch next tile in tile loop iteration 11 months ago
Jonathan G Rennison cc57ac0eff Add pre-check to auxiliary tile loop flooding test 11 months ago
Jonathan G Rennison 5a062bd5b2 Workflow: Add zstd to github release workflow 11 months ago
Jonathan G Rennison 6fa3620222 CMake: Change -ffile-prefix-map to be enabled by an option
Use in github release workflows
11 months ago
Jonathan G Rennison 8dc953c590 Fix: ICU layout: Glyph to char mapping with multiple runs
See: https://github.com/OpenTTD/OpenTTD/issues/11203
See: https://github.com/OpenTTD/OpenTTD/issues/10790
11 months ago
Jonathan G Rennison 6ccf3774b6 Fix missing tooltip texts 11 months ago