diff --git a/deps/json11 b/deps/json11 index 8d7936d7..bf6316cf 160000 --- a/deps/json11 +++ b/deps/json11 @@ -1 +1 @@ -Subproject commit 8d7936d757dc0018af3863282316b6411d668edc +Subproject commit bf6316cf4376a6047b8754ac006218eb6c446bb3 diff --git a/deps/mongoose b/deps/mongoose index f1d0b451..4d9f8168 160000 --- a/deps/mongoose +++ b/deps/mongoose @@ -1 +1 @@ -Subproject commit f1d0b451b1cd26a30178cb307842a000ab1d1930 +Subproject commit 4d9f8168b8bb264d4160b219b10ad43d2eb7c88a diff --git a/deps/protobuf b/deps/protobuf index c9cd6acd..eed99519 160000 --- a/deps/protobuf +++ b/deps/protobuf @@ -1 +1 @@ -Subproject commit c9cd6acd71e928164db10602b9d0837216ee367e +Subproject commit eed9951991c6ee7c629b5c4252444c372f7774fd diff --git a/src/Components/Modules/AssetInterfaces/IXModel.cpp b/src/Components/Modules/AssetInterfaces/IXModel.cpp index 99d7c629..227ccb0b 100644 --- a/src/Components/Modules/AssetInterfaces/IXModel.cpp +++ b/src/Components/Modules/AssetInterfaces/IXModel.cpp @@ -202,7 +202,15 @@ namespace Assets asset->physPreset->sndAliasPrefix = reader.readCString(); } - Components::AssetHandler::StoreTemporaryAsset(Game::XAssetType::ASSET_TYPE_PHYSPRESET, { asset->physPreset }); + // This is an experiment, ak74 fails though + if (asset->name == "weapon_ak74u"s) + { + asset->physPreset = nullptr; + } + else + { + Components::AssetHandler::StoreTemporaryAsset(Game::XAssetType::ASSET_TYPE_PHYSPRESET, { asset->physPreset }); + } } if (asset->physCollmap) diff --git a/src/Components/Modules/ModelSurfs.cpp b/src/Components/Modules/ModelSurfs.cpp index c9acb0ad..f1c2f44f 100644 --- a/src/Components/Modules/ModelSurfs.cpp +++ b/src/Components/Modules/ModelSurfs.cpp @@ -189,23 +189,26 @@ namespace Components { hasCustomSurface = true; - auto buffer = ModelSurfs::BufferMap.find(surface->triIndices); - if (buffer != ModelSurfs::BufferMap.end()) + if (!ModelSurfs::BufferMap.empty()) { - buffer->second->Release(); - ModelSurfs::BufferMap.erase(buffer); - } + auto buffer = ModelSurfs::BufferMap.find(surface->triIndices); + if (buffer != ModelSurfs::BufferMap.end()) + { + buffer->second->Release(); + ModelSurfs::BufferMap.erase(buffer); + } - buffer = ModelSurfs::BufferMap.find(surface->verts0); - if (buffer != ModelSurfs::BufferMap.end()) - { - buffer->second->Release(); - ModelSurfs::BufferMap.erase(buffer); + buffer = ModelSurfs::BufferMap.find(surface->verts0); + if (buffer != ModelSurfs::BufferMap.end()) + { + buffer->second->Release(); + ModelSurfs::BufferMap.erase(buffer); + } } } } - if (hasCustomSurface) + if (hasCustomSurface && !ModelSurfs::AllocMap.empty()) { auto allocData = ModelSurfs::AllocMap.find(header.surfaces->name); if (allocData != ModelSurfs::AllocMap.end())