mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-20 03:19:19 +02:00
Add EU7 PACK v12 PROT/INST and tune streaming apply path
Introduce EU7B v8 bake with global PROT chunk and v12 section payloads (solo MODL + compact inst records, per-chunk solo/inst tables). Reader parses v12 with chunked decode and v11→flat fallback; fix chunk blob layout to write solo blocks before inst records. Streaming: add unload keep-radius hysteresis on deceleration, ring-deficit urgent drain, higher cold-mesh/apply budgets, and smarter warm-prefix preload. Move UMES mesh prefetch to the main thread and route PACK apply through ensure_pack_mesh_in_session_cache to avoid GetModel races on Global.asCurrentTexturePath; harden MdlMngr texture-path trimming. Rebake root scenario .eu7 files to get v12; existing v7–v11 packs remain readable.
This commit is contained in:
@@ -33,6 +33,7 @@ http://mozilla.org/MPL/2.0/.
|
||||
#include "scene/eu7/eu7_bake.h"
|
||||
#include "scene/eu7/eu7_loader.h"
|
||||
#include "scene/eu7/eu7_load_stats.h"
|
||||
#include "scene/eu7/eu7_model_prefetch.h"
|
||||
#include "scene/eu7/eu7_pack_bench.h"
|
||||
#include "scene/eu7/eu7_section.h"
|
||||
#include "scene/eu7/eu7_transform.h"
|
||||
@@ -545,9 +546,9 @@ state_serializer::insert_eu7_pack_models(
|
||||
if( found != mesh_cache.end() ) {
|
||||
mesh = found->second;
|
||||
}
|
||||
else {
|
||||
mesh = TModelsManager::GetModel( model_file, false, false );
|
||||
mesh_cache.emplace( model_file, mesh );
|
||||
else if( scene::eu7::ensure_pack_mesh_in_session_cache( model_file, mesh_cache ) ) {
|
||||
auto const loaded { mesh_cache.find( model_file ) };
|
||||
mesh = loaded != mesh_cache.end() ? loaded->second : nullptr;
|
||||
}
|
||||
}
|
||||
loaded = instance->LoadEu7PackWarm( mesh, texture_file );
|
||||
|
||||
Reference in New Issue
Block a user