[Client] Remove isLocalActor (no longer needed) from LiveCellRefBase

pull/199/head
David Cernat 8 years ago
parent ca8fd1aa72
commit 8ebe7ed683

@ -11,9 +11,18 @@
#include <components/settings/settings.hpp> #include <components/settings/settings.hpp>
/*
Start of tes3mp addition
Include additional headers for multiplayer purposes
*/
#include "../mwmp/Main.hpp" #include "../mwmp/Main.hpp"
#include "../mwmp/CellController.hpp"
#include "../mwmp/DedicatedPlayer.hpp" #include "../mwmp/DedicatedPlayer.hpp"
#include "../mwmp/LocalPlayer.hpp" #include "../mwmp/LocalPlayer.hpp"
/*
End of tes3mp addition
*/
#include "../mwworld/esmstore.hpp" #include "../mwworld/esmstore.hpp"
#include "../mwworld/class.hpp" #include "../mwworld/class.hpp"
@ -1139,14 +1148,17 @@ namespace MWMechanics
return; // for now abort update of the old cell when cell changes by teleportation magic effect return; // for now abort update of the old cell when cell changes by teleportation magic effect
// a better solution might be to apply cell changes at the end of the frame // a better solution might be to apply cell changes at the end of the frame
} }
/* /*
Start of tes3mp change (major) Start of tes3mp change (major)
Allow AI processing when LiveCellRefBase's isLocalActor set to true Allow AI processing when LiveCellRefBase's isLocalActor set to true
*/ */
bool isLocalActor = mwmp::Main::get().getCellController()->isLocalActor(actor);
//if (MWBase::Environment::get().getMechanicsManager()->isAIActive() && inProcessingRange) //if (MWBase::Environment::get().getMechanicsManager()->isAIActive() && inProcessingRange)
if ((MWBase::Environment::get().getMechanicsManager()->isAIActive() || actor.getBase()->isLocalActor) if ((MWBase::Environment::get().getMechanicsManager()->isAIActive() || isLocalActor)
&& inProcessingRange) && inProcessingRange)
/* /*
End of tes3mp change (major) End of tes3mp change (major)

@ -40,7 +40,8 @@ void Cell::updateLocal(bool forceUpdate)
if (actor->getPtr().getCell() != store) if (actor->getPtr().getCell() != store)
{ {
LOG_APPEND(Log::LOG_INFO, "- Removing LocalActor %s which is no longer in this cell", it->first.c_str()); LOG_APPEND(Log::LOG_INFO, "- Removing LocalActor %s which is no longer in this cell", it->first.c_str());
actor->getPtr().getBase()->isLocalActor = false;
Main::get().getCellController()->removeLocalActorRecord(it->first);
localActors.erase(it++); localActors.erase(it++);
} }
else else
@ -144,7 +145,6 @@ void Cell::initializeLocalActors()
LocalActor *actor = new LocalActor(); LocalActor *actor = new LocalActor();
actor->cell = esmCell; actor->cell = esmCell;
ptr.getBase()->isLocalActor = true;
actor->setPtr(ptr); actor->setPtr(ptr);
std::string mapIndex = Main::get().getCellController()->generateMapIndex(ptr); std::string mapIndex = Main::get().getCellController()->generateMapIndex(ptr);
@ -189,7 +189,6 @@ void Cell::uninitializeLocalActors()
for (std::map<std::string, LocalActor *>::iterator it = localActors.begin(); it != localActors.end(); ++it) for (std::map<std::string, LocalActor *>::iterator it = localActors.begin(); it != localActors.end(); ++it)
{ {
LocalActor *actor = it->second; LocalActor *actor = it->second;
actor->getPtr().getBase()->isLocalActor = false;
Main::get().getCellController()->removeLocalActorRecord(it->first); Main::get().getCellController()->removeLocalActorRecord(it->first);
} }

@ -20,7 +20,6 @@ MWWorld::LiveCellRefBase::LiveCellRefBase(const std::string& type, const ESM::Ce
Set default values for tes3mp-only booleans Set default values for tes3mp-only booleans
*/ */
canChangeCell = true; canChangeCell = true;
isLocalActor = false;
/* /*
End of tes3mp addition End of tes3mp addition
*/ */

@ -38,17 +38,6 @@ namespace MWWorld
End of tes3mp addition End of tes3mp addition
*/ */
/*
Start of tes3mp addition
Useful boolean for quickly establishing which creatures and NPCs should be
processed locally by the player
*/
bool isLocalActor;
/*
End of tes3mp addition
*/
/** runtime-data */ /** runtime-data */
RefData mData; RefData mData;

Loading…
Cancel
Save