Commit Graph

95 Commits (master)

Author SHA1 Message Date
David Cernat 3e881e6231 [Client] Uninitialize LocalActors whose references have been deleted 3 years ago
David Cernat f219cb5417 [General] Ensure that objects initialized as DedicatedActors are actors 3 years ago
David Cernat 7393e3def6 [General] Add and use getShortDescription() for ESM::Cell
ESM::Cell's getDescription() method was modified by aa5161f99e despite being used heavily by TES3MP. All instances of it in the TES3MP code have now been changed into the newly added getShortDescription() that is identical to the previous getDescription().
3 years ago
David Cernat bf0a42fdad [General] Implement ActorSpellsActive packet, part 1
The packet can now set the active spells of DedicatedActors.
4 years ago
David Cernat 7dd03798e7 [Client] Don't update already initialized but deleted LocalActors 5 years ago
David Cernat 2af811be40 [Client] Use proper log message when receiving ActorDeath packets 5 years ago
David Cernat f43ba7fba2 [Client] Don't initialize disabled or deleted actors as LocalActors 5 years ago
David Cernat a383b7b612 [General] Include death animations in ActorDeath packets 5 years ago
David Cernat 5a46b40e1a [Client] Stop switching drawstates when receiving ActorAttack packets
Previously, some of the spammier ActorAttack packets were overriding spellcasting animations with weapon attack animations.
5 years ago
David Cernat ef944aa050 [Client] Remove unused redeclarations of localActors & dedicatedActors 5 years ago
David Cernat 19418f4953 [Client] Don't ignore entire Actor packet if one actor can't be found 5 years ago
David Cernat 9350e1d484 [General] Split up Attack packets into Attack and Cast ones
Create an entirely new PlayerCast packet for that purpose, but rename the already existing but unused ActorInteraction into ActorCast.
5 years ago
David Cernat 0339958e21 [General] Rename Log class into TimedLog 5 years ago
David Cernat 77952440f6 [Client] Clean up handling of draw states 6 years ago
David Cernat 43f195f0c7 [Client] Use clearer debug for actor initializations 6 years ago
David Cernat 433a69a588 [Client] Send all data for newly initialized LocalActors at least once 6 years ago
David Cernat 3f6ca6f22b [Client] Bring drawState fallback for actors up-to-date w/ attack types 6 years ago
David Cernat 113002ca19 [Client] Return early when processing actors that can't be initialized 6 years ago
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 5fd4113978 [General] Implement sending of ActorSpeech packets from server scripts 6 years ago
David Cernat b69e6b96e6 [Client] Use verbose logging level for LocalActor debug 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 bff6e9e235 [General] Implement ActorAI packet, part 5
Allow repetition for AiWander package to be turned on and off.
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 864c66d1d4 [Client] Make sure hasAiTarget is set correctly for DedicatedActors 7 years ago
David Cernat 7ffdb18bf9 [General] Implement ActorDeath packet, part 1
ActorDeath packets are sent for dead actors before their StatsDynamic packets. They contain the actor's deathReason in a manner similar to that of PlayerDeath packets.

A future commit will replace the deathReason with a variable named killer which will be an mwmp::Target.
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 09548d05f7 [Client] Ignore cell changes that move actors to where they already are 7 years ago
David Cernat 605b06c303 [General] Find actor speech captions instead of sending them in packets 7 years ago
Koncord 52349278e9 [Client] Fix warnings 8 years ago
Koncord 0ed0d2417b [Client] Make foreach style consistent with other 8 years ago
Koncord 7d4dd2ad1c [Client] Update Cell to C++11 8 years ago
Koncord 6222c20e82 [Client] Convert MechanicsHelper to namespace 8 years ago
David Cernat bea3afaec8 [Client] Ensure uninitialization of DedicatedActors for late packets 8 years ago
David Cernat 312fc84a6f [Client] Use update timer in mwmp::Cell instead of LocalActor 8 years ago
David Cernat 97bf0252a4 [Client] Disable collision for actors loaded as dead from server 8 years ago
David Cernat 7177d56cfb [Client] Only require refNumIndex & mpNum for CellStore::searchExact() 8 years ago
David Cernat 7c87ac80ee [Client] Ensure correct drawState when receiving an ActorAttack packet 8 years ago
David Cernat 4f273932af [General] Implement sending and reading of ActorEquipment packets 8 years ago
David Cernat 271594f0ee [Client] Don't play death animations for NPCs saved as dead on server 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 206c9cc357 [Client] Use CellController pointers to make code easier to read 8 years ago
David Cernat e05adbfe65 [Client] Add better debug for Actor cell changes 8 years ago
David Cernat 950a8eae3d [Client] Move Actors to Cells rather than reinitialize them from scratch 8 years ago
David Cernat 8d41a0c53b [Client] Make LocalActor initialization include newly spawned Actors 8 years ago
Koncord e0139c33b3 [Client] Remove destructor in Cell 8 years ago
David Cernat cad3eb8968 [Client] Iterate through CellStore's mergedRefs when initializing Actors 8 years ago