diff --git a/apps/openmw/mwclass/npc.cpp b/apps/openmw/mwclass/npc.cpp index 4cf8671f3..2f013dcc7 100644 --- a/apps/openmw/mwclass/npc.cpp +++ b/apps/openmw/mwclass/npc.cpp @@ -14,7 +14,6 @@ Include additional headers for multiplayer purposes */ #include "../mwmp/Main.hpp" -#include "../mwmp/Networking.hpp" #include "../mwmp/LocalPlayer.hpp" #include "../mwmp/DedicatedPlayer.hpp" /* @@ -564,9 +563,9 @@ namespace MWClass /* Start of tes3mp addition - Ignore hits from DedicatedPlayers + Ignore hit calculations on this client from DedicatedPlayers */ - if (mwmp::Main::get().getNetworking()->isDedicatedPlayer(ptr)) + if (mwmp::PlayerList::isDedicatedPlayer(ptr)) return; /* End of tes3mp addition @@ -949,7 +948,7 @@ namespace MWClass Don't display a dialogue screen for two players interacting with each other */ - if (actor == MWMechanics::getPlayer() && mwmp::Main::get().getNetworking()->isDedicatedPlayer(ptr)) + if (actor == MWMechanics::getPlayer() && mwmp::PlayerList::isDedicatedPlayer(ptr)) return boost::shared_ptr(new MWWorld::FailedAction("Not implemented.")); /* End of tes3mp addition diff --git a/apps/openmw/mwmechanics/combat.cpp b/apps/openmw/mwmechanics/combat.cpp index 8eccffe98..f556d1ab2 100644 --- a/apps/openmw/mwmechanics/combat.cpp +++ b/apps/openmw/mwmechanics/combat.cpp @@ -4,10 +4,17 @@ #include -#include "../mwmp/Networking.hpp" +/* + Start of tes3mp addition + + Include additional headers for multiplayer purposes +*/ #include "../mwmp/Main.hpp" #include "../mwmp/DedicatedPlayer.hpp" #include "../mwmp/LocalPlayer.hpp" +/* + End of tes3mp addition +*/ #include "../mwbase/environment.hpp" #include "../mwbase/world.hpp" @@ -196,7 +203,7 @@ namespace MWMechanics Ignore projectiles fired by DedicatedPlayers */ - if (mwmp::Main::get().getNetworking()->isDedicatedPlayer(attacker)) + if (mwmp::PlayerList::isDedicatedPlayer(attacker)) return; /* End of tes3mp addition diff --git a/apps/openmw/mwmechanics/spellcasting.cpp b/apps/openmw/mwmechanics/spellcasting.cpp index cba1f1882..072d4ecbf 100644 --- a/apps/openmw/mwmechanics/spellcasting.cpp +++ b/apps/openmw/mwmechanics/spellcasting.cpp @@ -8,9 +8,17 @@ #include +/* + Start of tes3mp addition + + Include additional headers for multiplayer purposes +*/ #include "../mwmp/Main.hpp" #include "../mwmp/DedicatedPlayer.hpp" #include "../mwmp/LocalPlayer.hpp" +/* + End of tes3mp addition +*/ #include "../mwbase/windowmanager.hpp" #include "../mwbase/soundmanager.hpp" diff --git a/apps/openmw/mwmp/DedicatedPlayer.cpp b/apps/openmw/mwmp/DedicatedPlayer.cpp index 20f8d29ed..6d0eab962 100644 --- a/apps/openmw/mwmp/DedicatedPlayer.cpp +++ b/apps/openmw/mwmp/DedicatedPlayer.cpp @@ -235,10 +235,10 @@ DedicatedPlayer *PlayerList::getPlayer(const MWWorld::Ptr &ptr) bool PlayerList::isDedicatedPlayer(const MWWorld::Ptr &ptr) { - if (getPlayer(ptr)) - return true; + if (ptr.mRef == 0) + return false; - return false; + return (getPlayer(ptr) != 0); } void DedicatedPlayer::move(float dt) diff --git a/apps/openmw/mwmp/Networking.cpp b/apps/openmw/mwmp/Networking.cpp index db0c32bbf..154ca2eb3 100644 --- a/apps/openmw/mwmp/Networking.cpp +++ b/apps/openmw/mwmp/Networking.cpp @@ -299,15 +299,6 @@ WorldEvent *Networking::getWorldEvent() return &worldEvent; } -bool Networking::isDedicatedPlayer(const MWWorld::Ptr &ptr) -{ - if (ptr.mRef == 0) - return 0; - DedicatedPlayer *pl = PlayerList::getPlayer(ptr); - - return pl != 0; -} - bool Networking::isConnected() { return connected; diff --git a/apps/openmw/mwmp/Networking.hpp b/apps/openmw/mwmp/Networking.hpp index 61f0a4445..2041d28b7 100644 --- a/apps/openmw/mwmp/Networking.hpp +++ b/apps/openmw/mwmp/Networking.hpp @@ -35,8 +35,6 @@ namespace mwmp ActorPacket *getActorPacket(RakNet::MessageID id); WorldPacket *getWorldPacket(RakNet::MessageID id); - bool isDedicatedPlayer(const MWWorld::Ptr &ptr); - RakNet::SystemAddress serverAddress() { return serverAddr;