Peter Nelson
e1a50abcbb
Codechange: Move fallback font detection to FontCacheFactory.
...
Provides a standard interface instead of relying on defines.
2025-08-07 19:38:00 +01:00
Peter Nelson
140f2b291a
Codechange: Use ProviderManager interface to register FontCache factories.
...
This removes use of #ifdefs to select the appropriate loader, and also replaces FontCache self-registration.
2025-08-07 19:38:00 +01:00
Peter Nelson
d09dfd843c
Codechange: Extend industry cargo history to 24 years.
...
Monthly data is stored for the current 24 months.
Quarterly data is stored for a further 2-6 years.
Yearly data is stored for a further 6-24 years.
2025-07-30 01:13:05 +01:00
Peter Nelson
b82ffa3542
Codechange: Decouple glyph map from SpriteFontCache instances. ( #14449 )
...
This makes the map independent from the SpriteFontCache instances.
2025-07-20 22:58:43 +01:00
Peter Nelson
a8650c6b06
Codechange: Make SpriteCacheCtrlFlags an enum bit set. ( #14462 )
...
Due to header dependencies, this requires types to split from the spritecache header.
2025-07-19 23:49:15 +01:00
Peter Nelson
1ddc03b916
Codechange: Give FlatSet insert() a return value.
...
This now returns an iterator, and whether an insert was performed.
Allows the caller to know if the item was already in the FlatSet without explicitly checking first.
2025-06-26 08:33:34 +01:00
Peter Nelson
7744f49a9e
Change: Simplify sprite cache memory management
...
* Remove custom allocator
* Use std::unique_ptr for sprite data
* Perform LRU cache eviction in a single pass
2025-06-23 21:22:37 +01:00
Peter Nelson
940071a5f2
Codechange: Add alternating iterator to take elements from middle of range.
2025-05-23 07:42:10 +01:00
frosch
c1389c77b2
Codechange: ParseInteger optionally clamps out-of-range values, instead of treating them as invalid.
2025-05-20 12:57:30 +02:00
Peter Nelson
6070f8d4f3
Codechange: Add FlatSet implementation.
...
This is a flat set implemented using a sorted vector for storage.
2025-05-05 14:00:38 +01:00
Rubidium
d697280493
Codechange: remove now obsolete char* tests
...
The function is std::string_view and there are std::string_view tests as well.
2025-05-04 10:43:56 +02:00
Rubidium
ec79ceb2be
Codechange: use std::string_view for sq_pushstring
2025-05-03 23:02:09 +02:00
Rubidium
3020e615a9
Codechange: use std::string_view for squirrel compilation
2025-05-03 23:02:09 +02:00
Rubidium
1f39d469ff
Codechange: pass the characters to trim to StrTrimView
2025-05-03 15:57:53 +02:00
Rubidium
414f6a3067
Codechange: add support for parsing octal numbers
2025-05-03 15:57:53 +02:00
Rubidium
7805c1c189
Codechange: use std::string_view for ini_key
2025-05-01 23:24:43 +02:00
frosch
9cf36dac39
Codechange: Use data() instead of c_str(), if no NUL termination is needed.
2025-04-30 19:33:56 +02:00
Rubidium
78250c3bba
Codechange: remove const char* overloads when there are std::string_view and std::string& overloads
2025-04-29 10:14:53 +02:00
Peter Nelson
72ca962b84
Codechange: Pass ScriptInstance by reference.
2025-04-28 23:08:20 +01:00
Rubidium
8b1c1cc33d
Codechange: provide 'sv' (string_view) literals globally
2025-04-28 23:39:33 +02:00
Rubidium
c6ea0ce961
Codechange: use std::span for transferring data in network code
2025-04-28 17:53:18 +02:00
frosch
689f55a0ea
Fix #14044 : Negative string parameters from GS were rendered as zero. ( #14049 )
...
String parameters are always stored as uint64_t. Negative values are sign-extended to int64_t and then casted to uint64_t.
The same applies to encoded strings. But ScriptText encoded them as int64_t.
Co-authored-by: rubidium42 <rubidium42@users.noreply.github.com >
2025-04-20 23:01:49 +02:00
frosch
8aa2f6b8a6
Codefix: StringConsumer integer parsing failed for the most negative value, which has no positive equivalent. ( #14048 )
2025-04-20 22:20:53 +02:00
frosch
461b73e21b
Codefix: stdafx.h and safeguards.h should be the first and last include in every source file, and not appear in any header file.
2025-04-20 22:06:18 +02:00
frosch
ff2da0fc73
Codechange: Remove CircularTileSearch.
2025-04-20 12:50:45 +02:00
frosch
0dada5a750
Codechange: Add SpiralTileSequence to iterate over a tile area the same ways as CircularTileSearch.
2025-04-20 12:50:45 +02:00
frosch
dc21fae18e
Codechange: Add InPlaceReplacement to couple StringConsumer and Builder on the same buffer.
2025-04-14 18:07:23 +02:00
frosch
800d6e339d
Codechange: Add StringConsumer.
2025-04-13 21:59:10 +02:00
frosch
fa284af263
Codechange: Replace remaining Utf8Encode usages with StringBuilder.
2025-04-08 23:10:58 +02:00
frosch
ad8e9634ec
Codechange: Generalize StringBuilder.
2025-04-08 23:10:58 +02:00
frosch
f19e75b606
Codechange: Use Utf8View in Utf8StringLength.
2025-04-03 18:43:41 +02:00
frosch
b19e43ae99
Add: Utf8View and iterator.
2025-04-03 18:43:41 +02:00
Rubidium
a23dda7ffe
Codechange: use const auto & instead of making a copy
2025-03-08 21:33:17 +01:00
Peter Nelson
27761ae431
Cleanup: Remove global string parameters.
...
Global parameters, and functions for dealing with them, are now gone.
2025-03-04 08:48:35 +00:00
Peter Nelson
6e10584b91
Codechange: Use EncodedStrings for News messages. ( #13654 )
2025-02-23 20:24:02 +00:00
Rubidium
23ba18ada7
Codechange: remove SimpleSpriteAllocator
2025-02-23 14:44:11 +01:00
Jonathan G Rennison
d06b371254
Cleanup: Fix various spelling errors
2025-02-12 22:44:51 +01:00
Rubidium
0f5f5714b3
Codechange: add unit test against over optimisation of enum-bitmasks
2025-02-09 14:44:23 +01:00
Peter Nelson
dccc6185b9
Codechange: Change internal format of encoded strings to improve robustness and allow expansion. ( #13499 )
2025-02-09 12:45:50 +00:00
Rubidium
8ca03a3766
Codechange: make network crypto enum classes
2025-02-06 21:03:12 +01:00
Rubidium
5b4c5632ba
Codechange: add unit test against enum over optimisation
2025-01-25 10:49:13 +01:00
Peter Nelson
e076aaf740
Codefix: Use SpriteID when passing sprite IDs. ( #13037 )
2024-10-27 18:54:49 +00:00
Peter Nelson
3d8d0e0d26
Codechange: Use std::variant to store string parameter data.
...
This avoids storing two separate values and makes the test for which type is held clearer.
This replaces use of unique_ptr for conditionally storing a string, and is also used in place of StringParameterBackup.
2024-09-14 15:31:05 +01:00
Peter Nelson
55314513ce
Codechange: Pass NWidgetParts as span instead of begin/end pointers. ( #12779 )
2024-06-12 23:08:35 +01:00
Peter Nelson
7b717fcccb
Codechange: Replace AllocatorProc with SpriteAllocator class.
...
This allows for state to be passed to or maintained by the allocator.
2024-05-30 20:16:28 +01:00
Peter Nelson
980dcaac6e
Cleanup: Remove GetFontTable from FontCache. ( #12677 )
...
This interface is no longer used, so does not need to be implemented.
Removes manual memory management with malloc/free.
2024-05-14 21:13:26 +01:00
Rubidium
66354ab9eb
Codechange: introduce allow list infrastructure for companies
2024-05-07 00:03:15 +02:00
Rubidium
d5e28a904d
Fix fb9d4af: use different nonces for key exchange and stream encryption
2024-03-31 15:14:16 +02:00
Rubidium
7580eac2d5
Codechange: create helper class for useful NetworkAuthorizedKeys functions
2024-03-18 22:56:58 +01:00
Rubidium
1cf8799810
Feature: encrypt the connection between game server and client
2024-03-17 19:48:34 +01:00