Commit Graph

55654 Commits

Author SHA1 Message Date
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