From 3737c5a250046409b069633706d505f220d52a3c Mon Sep 17 00:00:00 2001 From: Kearwood Date: Mon, 13 Jul 2020 18:54:15 -0700 Subject: [PATCH] Implemented unmapResource --- kraken/KRContext.cpp | 8 ++++++++ kraken/KRContext.h | 1 + kraken/kraken.cpp | 5 ++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/kraken/KRContext.cpp b/kraken/KRContext.cpp index 98074e7..8ee0b4d 100755 --- a/kraken/KRContext.cpp +++ b/kraken/KRContext.cpp @@ -429,6 +429,14 @@ KrResult KRContext::mapResource(const KrMapResourceInfo* mapResourceInfo) return KR_ERROR_NOT_IMPLEMENTED; } +KrResult KRContext::unmapResource(const KrUnmapResourceInfo* unmapResourceInfo) +{ + if (unmapResourceInfo->resourceHandle < 0 || unmapResourceInfo->resourceHandle >= m_resourceMapSize) { + return KR_ERROR_OUT_OF_BOUNDS; + } + m_resourceMap[unmapResourceInfo->resourceHandle] = nullptr; +} + KrResult KRContext::createScene(const KrCreateSceneInfo* createSceneInfo) { if (createSceneInfo->resourceHandle < 0 || createSceneInfo->resourceHandle >= m_resourceMapSize) { diff --git a/kraken/KRContext.h b/kraken/KRContext.h index 7c75296..bca388e 100755 --- a/kraken/KRContext.h +++ b/kraken/KRContext.h @@ -45,6 +45,7 @@ public: KrResult loadResource(const KrLoadResourceInfo* loadResourceInfo); KrResult unloadResource(const KrUnloadResourceInfo* unloadResourceInfo); KrResult mapResource(const KrMapResourceInfo* mapResourceInfo); + KrResult unmapResource(const KrUnmapResourceInfo* unmapResourceInfo); KrResult saveResource(const KrSaveResourceInfo* saveResourceInfo); KrResult createScene(const KrCreateSceneInfo* createSceneInfo); diff --git a/kraken/kraken.cpp b/kraken/kraken.cpp index 83eaa07..0d128d1 100644 --- a/kraken/kraken.cpp +++ b/kraken/kraken.cpp @@ -76,7 +76,10 @@ KrResult KrMapResource(const KrMapResourceInfo* pMapResourceInfo) KrResult KrUnmapResource(const KrUnmapResourceInfo* pUnmapResourceInfo) { - return KR_ERROR_NOT_IMPLEMENTED; + if (!sContext) { + return KR_ERROR_NOT_INITIALIZED; + } + return sContext->unmapResource(pUnmapResourceInfo); } KrResult KrCreateBundle(const KrCreateBundleInfo* pCreateBundleInfo)