Commit Graph

55 Commits (ffi-server-rewrite)

Author SHA1 Message Date
David Cernat 5bd2244898 [Client] Uninitialize DedicatedActors instantly in some situations
When LocalActors briefly become DedicatedActors as the result of a server script, the DedicatedActors are immediately uninitialized to avoid bugs like them jumping in place or rotating slightly.

Additionally, the playing of animations and sounds received in packets for DedicatedActors is no longer done during their next update, but is instead done instantly when the packets are received.
6 years ago
David Cernat f1315ef30d [Cllient] Differentiate itemPtr from actor Ptr in DedicatedActor methods
2427a4f877 mistakenly used the variable name "ptr" for both the actor and the items in that actor's inventory.
7 years ago
David Cernat 743933134d [Client] Simplify sending of ActorAI packets for uninitialized actors 7 years ago
David Cernat 6c1173d598 [Client] Rename searchPtrViaRefIndex into searchPtrViaUniqueIndex 7 years ago
David Cernat 09da24f1ea [General] Rename all instances of refNumIndex into refNum
This creates symmetry with mpNum and should cause less confusion in the future.
7 years ago
David Cernat 6316f1e590 [Client] Add ActorList methods for sending ActorAI packets
Additionally, use consistent capitalization for AI-related methods.
7 years ago
David Cernat 8ca29dbaac [Client] Fix remaining mistakes in debug for received ActorAI packets 7 years ago
David Cernat 25f7a55495 [Client] Improve debug for received ActorAI packets 7 years ago
David Cernat bff6e9e235 [General] Implement ActorAI packet, part 5
Allow repetition for AiWander package to be turned on and off.
7 years ago
David Cernat 2e31c212c0 [Client] Make any ActorAI packet override an actor's desire to fight 7 years ago
David Cernat 79ee976c95 [Client] Implement ACTIVATE action in DedicatedActor::setAI()
Additionally, clean up usage of CreatureStats in DedicatedActor.
7 years ago
David Cernat 00c13ae96c [General] Implement ActorAI packet, part 4
The server can now make actors activate players and objects, at least in theory. In practice, OpenMW''s AiActivate package needs to be worked so it allows specific objects as targets instead of just refIds.
7 years ago
David Cernat 0e13207afe [General] Implement ActorAI packet, part 3
The server can now cancel actor AI, make actors travel to a location, make actors wander, and make actors get escorted by a player or another actor.
7 years ago
David Cernat 5baef09f79 [General] Implement ActorAI packet, part 2
The server can now make actors start combat with players or other actors.
7 years ago
David Cernat 5628f3b977 [Client] Fix debug for DedicatedActor::setAI() 7 years ago
David Cernat b86155dc11 [Client] Allow AiFollow package to have infinite distance when desired 7 years ago
David Cernat 8a23a96da4 [Client] Update initialization of AiFollow packages in multiplayer code 7 years ago
David Cernat 77389538e8 [General] Implement ActorAI packet, part 1
The server can now make actors become followers of players or other actors.
7 years ago
David Cernat b9520c11da [General] Rework PlayerEquipment packets so they are of minimal size
Moreover, rename BaseNetCreature's equipedItems into equipmentItems.

(cherry picked from commit d1ad0c91f8)
7 years ago
David Cernat 6b75a82777 [Client] Ignore equipment items for DedicatedActors with count below 0 7 years ago
David Cernat 605b06c303 [General] Find actor speech captions instead of sending them in packets 7 years ago
Koncord 2427a4f877 [Client] Update DedicatedActor to C++11 8 years ago
Koncord 6222c20e82 [Client] Convert MechanicsHelper to namespace 8 years ago
David Cernat c6aee3b780 [Client] Fix build by changing boost::shared_ptr into std::shared_ptr 8 years ago
David Cernat 6ac7ee8fcd [Client] Fix problems with NPC equipment sync 8 years ago
David Cernat cf41956cad [Client] Prevent framerate drops caused by invalid rotation values 8 years ago
David Cernat 068a45be87 [General] Synchronize player & NPC rotation animations 8 years ago
David Cernat b0c1aafc5a [Client] Use a 10 times higher maximum distance for linear interpolation 8 years ago
David Cernat 4f273932af [General] Implement sending and reading of ActorEquipment packets 8 years ago
David Cernat 8f5e6531db [Client] Avoid updating positions and anim flags when framerate is low
Also rename DedicatedPlayer methods so they are consistent with those from DedicatedActor
8 years ago
David Cernat 1f747d4375 [Client] Only apply interpolation when positions don't change too much 8 years ago
David Cernat 3def111ca1 [Client] Fix graphical glitches related to DedicatedActor initialization 8 years ago
David Cernat b745a33f18 [Client] Resurrect DedicatedActors that aren't supposed to be dead 8 years ago
David Cernat 8b4e167efe [Client] Prevent NPC subtitles from being added to open Dialogue window 8 years ago
David Cernat bcdbecf608 [Client] Initialize Cell before moving DedicatedActor to it 8 years ago
David Cernat 60cf623455 [Client] Make DedicatedActors transition into LocalActors when eligible 8 years ago
David Cernat a77bd6652f [Client] Read ActorPosition packets sent from Lua script cell loads 8 years ago
David Cernat e8e0090b9b [General] Use new SimpleCreatureStats struct in BaseActor 8 years ago
David Cernat 7dbcfbd3b1 [Client] Use better check for empty CreatureStats in DedicatedActor 8 years ago
David Cernat ea7c3f2dc7 [Client] Make tes3mp combat code work with Creatures, not just NPCs 8 years ago
David Cernat 841e6a63f8 [Client] Initialize Creatures as LocalActors 8 years ago
David Cernat 284f863292 [Client] Add linear interpolation for DedicatedActors 8 years ago
David Cernat 871d8c8308 [Client] Send and read ActorCellChange packets 8 years ago
David Cernat f0f0b2dcc9 [General] Send and read ActorSpeech packets 8 years ago
David Cernat 1fb11dafef [General] Send and read ActorStatsDynamic packets 8 years ago
David Cernat 2872675f5e [General] Send and read ActorAnimPlay packets 8 years ago
David Cernat de8d28e2c3 [Client] Improve logic for updating LocalActors & sending their packets 8 years ago
David Cernat d2fe777f89 [General] Send and read ActorDrawState packets 8 years ago
David Cernat d14102716d [Client] Retool LocalActors and DedicatedActors for ActorPosition packet 8 years ago
David Cernat f52fc19762 [Client] Reorder methods and don't set variables that are no longer used 8 years ago