maj00r
65fd1c10f3
Add binary scenery format (eu7 v3) with async baking, replacing SBT
...
Text scenery component files (.scn/.inc/.scm/.ctr) are compiled into
per-file binary twins (.scnb/.incb/.scmb/.ctrb), handled transparently
at the cParser layer: a fresh twin (mtime-checked, version-matched) is
replayed instead of re-tokenizing text; otherwise the text is parsed and
a twin is compiled alongside it for next time.
Format details:
- per-file string interning: keywords/paths stored once, referenced by
varint index (so node/endmodel/... are not repeated as text)
- numeric tokens stored as 8-byte IEEE doubles, not ASCII
- includes kept as references with parameters; random sets stored verbatim
and re-evaluated on every load (choice not frozen at compile time)
- twin writing offloaded to a bounded thread pool so baking overlaps
scene construction instead of blocking the load
The legacy terrain-only .sbt path is removed; terrain now loads as
ordinary scenery content.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-21 21:37:36 +02:00
docentYT
6542021253
Optimize substr_path implementation and change return type to sd::string
2026-05-07 12:59:57 +02:00
docentYT
13c7317f6e
Do not allow implicit cast for inline std::string to_string(bool Value) and change to_string to std::string for non boolean values
2026-05-03 15:49:29 +02:00
docentYT
7081dab3c2
Replace RadToDeg and DegToRad with glm::degrees and glm::radians
2026-05-02 14:51:13 +02:00
docentYT
ca699d117f
Remove not needed includes
2026-05-02 14:40:31 +02:00
docentYT
b734cbcd51
Refactor smoothInterpolate
2026-05-02 01:37:22 +02:00
docentYT
3628eb0fc3
Replace interpolate with std::lerp and glm::mix
2026-05-02 01:31:38 +02:00
docentYT
362338ee5e
Refactor min_speed
2026-05-02 00:43:02 +02:00
docentYT
28baad8c5b
Refactor clamp_power_of_two
2026-05-02 00:35:50 +02:00
docentYT
76844e33e7
Refactor clamp_circular
2026-05-02 00:07:06 +02:00
docentYT
d1f16411a1
Replace clamp with std::clamp
2026-05-01 22:14:29 +02:00
docentYT
1bdd000443
is_equal more precise type and code cleanup
2026-05-01 18:56:24 +02:00
docentYT
2d1616af60
SafeDelete template type set to pointer
2026-05-01 18:47:52 +02:00
docentYT
0e6950a386
Replace count_trailing_zeros with std::countr_zero
2026-05-01 17:43:43 +02:00
docentYT
ec1dfae953
Replace starts_with and ends_with with string class methods
2026-05-01 17:31:11 +02:00
docentYT
9c27b54960
Simplify len_common_prefix
2026-05-01 13:57:33 +02:00
docentYT
664c340d84
substr_path refactor
2026-05-01 13:45:57 +02:00
docentYT
bd21b8f49c
Replace string_starts_with and string_ends_with with string::starts_with and string::ends_with
2026-05-01 13:33:32 +02:00
docentYT
e1d8c08915
Remove not needed to_string overloads and refactor existing one
2026-05-01 13:15:33 +02:00
docentYT
b59ccb6de5
Better Split implementation and remove of unused overloads
2026-05-01 01:55:46 +02:00
docentYT
350123fb9e
Replace ExchangeCharInString with std::ranges::replace
2026-05-01 00:43:22 +02:00
docentYT
2faf3293b1
Remove not used DUE and DWE
2026-05-01 00:28:35 +02:00
docentYT
ee3af0bf18
Change RandomInt to Random overload and reuse global random engine.
2026-05-01 00:25:16 +02:00
docentYT
337e750ed1
Replace Max0R and Min0R with std::max and std::min
2026-04-30 23:47:32 +02:00
docentYT
ca839652bf
Use the sq function to force constexpr expressions for numeric literals and enhance readability
2026-04-28 13:23:14 +02:00
jerrrrycho
9f43dca48b
refactor: create paths namespace instead of global variables
2026-03-15 11:55:30 +01:00
copilot-swe-agent[bot]
7e49aa8740
Rewrite #includes to use explicit subdirectory paths
...
Co-authored-by: Hirek193 <23196899+Hirek193@users.noreply.github.com >
2026-03-14 19:16:48 +00:00
copilot-swe-agent[bot]
0531086bb9
Reorganize source files into logical subdirectories
...
Co-authored-by: Hirek193 <23196899+Hirek193@users.noreply.github.com >
2026-03-14 19:01:57 +00:00