From 055591ccbb890eec026ee3af6bebf79e01f154f8 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Fri, 30 Dec 2016 02:02:28 +0100 Subject: [PATCH 1/3] [Submodules] Update fmt --- deps/fmt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/fmt b/deps/fmt index 02553d13..b9aaa507 160000 --- a/deps/fmt +++ b/deps/fmt @@ -1 +1 @@ -Subproject commit 02553d13a0242809fbe54f1d123f0e44eec70f2e +Subproject commit b9aaa507fc49680d037fd84c043f747a395bce04 From 554a1f717f60cbf5500881eaf204534b4d681d7b Mon Sep 17 00:00:00 2001 From: momo5502 Date: Fri, 30 Dec 2016 02:03:10 +0100 Subject: [PATCH 2/3] [IclipMap_t] Only clear runtime data if necessary --- src/Components/Modules/AssetInterfaces/IclipMap_t.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Components/Modules/AssetInterfaces/IclipMap_t.cpp b/src/Components/Modules/AssetInterfaces/IclipMap_t.cpp index d1a4f881..e92ecb93 100644 --- a/src/Components/Modules/AssetInterfaces/IclipMap_t.cpp +++ b/src/Components/Modules/AssetInterfaces/IclipMap_t.cpp @@ -869,7 +869,7 @@ namespace Assets } // These mustn't be null, but they don't need to be valid. - for (int i = 0; i < 2; ++i) + for (int i = 0; i < 2 && clipMap->dynEntCount[i]; ++i) { Utils::Stream::ClearPointer(&clipMap->dynEntPoseList[i]); Utils::Stream::ClearPointer(&clipMap->dynEntClientList[i]); From 63bc0db0b3da25a99c224713e6cf41d1445c73d7 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Fri, 30 Dec 2016 03:39:23 +0100 Subject: [PATCH 3/3] [IclipMap_t] Optimize leafbrushnode reading --- src/Components/Modules/AssetInterfaces/IclipMap_t.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Components/Modules/AssetInterfaces/IclipMap_t.cpp b/src/Components/Modules/AssetInterfaces/IclipMap_t.cpp index e92ecb93..372b2bbf 100644 --- a/src/Components/Modules/AssetInterfaces/IclipMap_t.cpp +++ b/src/Components/Modules/AssetInterfaces/IclipMap_t.cpp @@ -702,12 +702,11 @@ namespace Assets clipMap->cLeafBrushNodes = builder->getAllocator()->allocateArray(clipMap->numCLeafBrushNodes); for (int i = 0; i < clipMap->numCLeafBrushNodes; ++i) { - Game::cLeafBrushNode_t tmp = reader.read(); - memcpy(&clipMap->cLeafBrushNodes[i], &tmp, sizeof(Game::cLeafBrushNode_t)); + clipMap->cLeafBrushNodes[i] = reader.read(); - if (tmp.leafBrushCount > 0) + if (clipMap->cLeafBrushNodes[i].leafBrushCount > 0) { - clipMap->cLeafBrushNodes[i].data.brushes = reader.readArray(tmp.leafBrushCount); + clipMap->cLeafBrushNodes[i].data.brushes = reader.readArray(clipMap->cLeafBrushNodes[i].leafBrushCount); } } }