Commit Graph

81 Commits (1f2349ef6e82b7b1b82e1de6db2776e2043fb18d)

Author SHA1 Message Date
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
David Cernat f59609fcd7 [Client] Fix actor memory leaks, part 2 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 f6a218025a [Client] Fix actor memory leaks, part 1 8 years ago
David Cernat d333c0b484 [Client] Read ActorStatsDynamic packets sent from Lua script cell loads 8 years ago
David Cernat e419e25e72 [Client] Don't initialize actors without unique indexes 8 years ago
David Cernat 7dbcfbd3b1 [Client] Use better check for empty CreatureStats in DedicatedActor 8 years ago
David Cernat e4a261ea2e [Client] Remove unused include and variables, fixing warnings 8 years ago
David Cernat 841e6a63f8 [Client] Initialize Creatures as LocalActors 8 years ago
David Cernat 850b19badf [Client] Add clearer debug messages for Actor initialization 8 years ago
David Cernat 2082f8ff4f [Client] Send LocalActor cell changes at end of mwmp::Cell's update 8 years ago
David Cernat 284f863292 [Client] Add linear interpolation for DedicatedActors 8 years ago
David Cernat 14e1ff27cb [Client] Rename CellController's cellsActive to cellsInitialized for clarity 8 years ago
David Cernat 871d8c8308 [Client] Send and read ActorCellChange packets 8 years ago