From 9e66c4cd69b93e6fee87d9c03fd78a78b1ed0feb Mon Sep 17 00:00:00 2001 From: fgenesis Date: Thu, 11 Jul 2013 15:07:39 +0200 Subject: [PATCH] Correct wrong mod precache logic --- Aquaria/Mod.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Aquaria/Mod.cpp b/Aquaria/Mod.cpp index 4a38b9c..d646000 100644 --- a/Aquaria/Mod.cpp +++ b/Aquaria/Mod.cpp @@ -177,15 +177,10 @@ const std::string& Mod::getName() const void Mod::recache() { - if (doRecache) + if(doRecache) { dsq->precacher.clean(); dsq->unloadResources(); - - dsq->precacher.precacheList("data/precache.txt"); - dsq->reloadResources(); - - core->resetTimer(); } if(active) @@ -195,15 +190,24 @@ void Mod::recache() if(fname[fname.length() - 1] != '/') fname += '/'; fname += "precache.txt"; - fname = localisePath(fname, dsq->mod.getPath()); fname = core->adjustFilenameCase(fname); if (exists(fname)) + { modcache.precacheList(fname); + core->resetTimer(); + } } else { modcache.clean(); } + + if(doRecache) + { + dsq->precacher.precacheList("data/precache.txt"); + dsq->reloadResources(); + core->resetTimer(); + } } void Mod::start()