Jonathan G Rennison
14dc6586bc
Sprite cache: Avoid resizing to fully zoomed if not needed
2023-08-23 02:20:53 +01:00
Jonathan G Rennison
0cac2526f1
Fix 2f692a79
: Dest ptr not advanced for BM_BLACK_REMAP in 32bpp anim blitter
2023-08-23 02:03:00 +01:00
Jonathan G Rennison
3a8217fc99
Sprite cache: Move LRU to struct Sprite
...
Prune from sprite cache by individual sprite structs instead of IDs
2023-08-23 01:30:57 +01:00
Jonathan G Rennison
8077274ed1
Sprite cache: Clamp recolour sprite allocation to max size
2023-08-23 01:02:15 +01:00
Jonathan G Rennison
627fd3d4fa
Add console command to dump sprite cache stats
2023-08-23 00:26:59 +01:00
Jonathan G Rennison
7e5a87dd46
Blitter: Null blitter always requires no zoom levels
2023-08-22 23:10:52 +01:00
Jonathan G Rennison
c4e8b919f8
Blitter: Change some informational virtual functions to member values
2023-08-22 23:02:25 +01:00
Jonathan G Rennison
46f5fb9f25
Sprite cache: Allow caching only required subset of sprite zoom levels
...
Enable for blitters based on 32bpp_optimized or SSE
2023-08-22 22:16:04 +01:00
Jonathan G Rennison
785216db73
Sprite: Don't allocate sprite encode space for map-mode zoom levels
2023-08-21 23:19:26 +01:00
Jonathan G Rennison
d6f01988e3
Sprite cache: List total candidates in cache eviction debug message
2023-08-21 21:56:07 +01:00
Jonathan G Rennison
d5e0d8f81e
Blitter: Reduce mallocs, memsets in Blitter_32bppOptimized::Encode
2023-08-21 22:10:28 +01:00
Jonathan G Rennison
83d3fab599
TBTR: Autorefit button in depot window now also does template replacements
2023-08-20 23:37:46 +01:00
Jonathan G Rennison
b0331c84b3
TBTR: Refactor handling of vehicle start/stop state
2023-08-20 23:36:39 +01:00
Jonathan G Rennison
d7d9c05cbd
TBTR: Fix various refit issues in refit as incoming vehicle mode
...
Allow refits to fail in refit as incoming vehicle mode
Remove virtual train mode from CmdRefitVehicle
Fix refit as incoming for non-head parts being free
2023-08-20 22:30:33 +01:00
Jonathan G Rennison
64df35067a
TBTR: Handle setting unit direction separately from refits
2023-08-20 22:30:33 +01:00
Jonathan G Rennison
2cf95eea36
TBTR: Refactor train/template match function to return difference flags
2023-08-20 22:30:33 +01:00
Jonathan G Rennison
2b44d3302e
CommandCost: Change AllocSummaryMessage to std::string SummaryMessage
2023-08-20 22:30:33 +01:00
Jonathan G Rennison
b0538a00e0
Add setting for whether to allow converting town road to non-house types
...
See: 51e22617
2023-08-20 17:53:08 +01:00
Jonathan G Rennison
ff61b6d243
Fix crash in NewGRF parameters window (manual parameter mode)
...
See: https://github.com/OpenTTD/OpenTTD/issues/11215
2023-08-20 11:27:42 +01:00
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).
2023-08-19 21:24:29 +01:00
Jonathan G Rennison
cd2ab6430b
Use btree map for GRFParameterInfo value names
2023-08-19 18:15:34 +01:00
Jonathan G Rennison
615c42d357
Reserve vector size when loading station flow stats
2023-08-19 18:15:34 +01:00
Jonathan G Rennison
0f9f1f4280
Use btree map for _town_test_ratings
2023-08-19 18:15:34 +01:00
Jonathan G Rennison
2bc943d31a
Avoid std::set in script version checks
2023-08-19 18:15:34 +01:00
Jonathan G Rennison
1979fa9db1
Use btree set for _changed_storage_arrays
2023-08-19 18:15:34 +01:00
Jonathan G Rennison
53ef4536d9
Departures: Use btree map for scheduled dispatch maps
2023-08-19 18:15:34 +01:00
Jonathan G Rennison
66b5c615b7
Use btree map for GRF ID overrides
2023-08-19 18:15:34 +01:00
Jonathan G Rennison
e912cfc19d
Ring buffer: Use as backing for std::queue uses
2023-08-19 15:28:45 +01:00
Jonathan G Rennison
2296b92ea2
Use btree map for StationCargoAmountMap
2023-08-19 14:24:06 +01:00
Jonathan G Rennison
23ad010d70
Replace remaining uses of std::deque with ring buffers
...
Cargo packet lists and associated save/load
2023-08-19 14:01:06 +01:00
Jonathan G Rennison
b59a8dc21c
Ring buffer: Don't apply const when dereferencing iterators
2023-08-19 13:54:52 +01:00
Jonathan G Rennison
0c634edef5
Ring buffer: Add erase
2023-08-19 13:47:14 +01:00
Jonathan G Rennison
877e301c5a
Ring buffer: Add multi-value insert
2023-08-19 13:04:48 +01:00
Jonathan G Rennison
bdfdb9808a
Ring buffer: Add iterator conversions
2023-08-19 12:25:15 +01:00
Jonathan G Rennison
8d2911fe29
Ring buffer: Add swap function, make move (swap) assignment noexcept
2023-08-19 12:16:33 +01:00
Jonathan G Rennison
ab128143fb
Ring buffer: Make iterator default constructor public
2023-08-19 12:09:09 +01:00
Jonathan G Rennison
8d3a90425c
Test: Add tests for ring buffer functionality
2023-08-19 11:44:58 +01:00
Jonathan G Rennison
3f2b06fcbe
Ring buffer: Fix various insert/emplace cases
2023-08-19 11:41:29 +01:00
Jonathan G Rennison
6b8994c947
Ring buffer: Fix iterator operator + and -
2023-08-19 11:41:11 +01:00
Jonathan G Rennison
21adf399c0
Ring buffer: Add a std::initializer_list constructor
2023-08-19 11:32:49 +01:00
Rubidium
73d7052732
Add: unit test functionality using catch2
...
(cherry picked from commit 43a7e54067
)
2023-08-19 10:18:31 +01:00
Rubidium
f92a96dad2
Add: catch2 v2.13.10
...
(cherry picked from commit 88ead3f102
)
2023-08-19 10:18:31 +01:00
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
2023-08-19 01:28:36 +01:00
Jonathan G Rennison
ef168b7d46
Fix: Road stops should not draw a ground sprite of 0
2023-08-19 00:18:25 +01:00
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().
2023-08-18 23:35:11 +01:00
Jonathan G Rennison
c7712bbd20
Debug: Shpw station GoodsEntry info in station debug window
2023-08-18 23:13:30 +01:00
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
)
2023-08-18 21:27:43 +01:00
Loïc Guilloux
c890f96d07
Fix: no fast forward in network was ensured only from GUI side ( #11206 )
...
(cherry picked from commit 2bf3c02fbf
)
2023-08-18 21:27:33 +01:00
Jonathan G Rennison
175f6c979c
Use ring buffer for network TCP packet send queue
2023-08-18 21:25:36 +01:00
Jonathan G Rennison
cf655f624b
Remove unused include
2023-08-18 21:25:36 +01:00