1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 16:19:54 +00:00
Commit graph

95 commits

Author SHA1 Message Date
David Cernat
3e881e6231 [Client] Uninitialize LocalActors whose references have been deleted 2022-03-25 11:26:15 +02:00
David Cernat
f219cb5417 [General] Ensure that objects initialized as DedicatedActors are actors 2022-03-23 09:51:05 +02:00
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().
2021-09-17 19:14:55 +02:00
David Cernat
bf0a42fdad [General] Implement ActorSpellsActive packet, part 1
The packet can now set the active spells of DedicatedActors.
2021-04-20 03:25:14 +02:00
David Cernat
7dd03798e7 [Client] Don't update already initialized but deleted LocalActors 2019-12-06 16:12:29 +02:00
David Cernat
2af811be40 [Client] Use proper log message when receiving ActorDeath packets 2019-12-06 12:43:41 +02:00
David Cernat
f43ba7fba2 [Client] Don't initialize disabled or deleted actors as LocalActors 2019-12-05 20:27:48 +02:00
David Cernat
a383b7b612 [General] Include death animations in ActorDeath packets 2019-12-05 13:27:55 +02:00
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.
2019-11-28 19:53:34 +02:00
David Cernat
ef944aa050 [Client] Remove unused redeclarations of localActors & dedicatedActors 2019-11-28 13:00:20 +02:00
David Cernat
19418f4953 [Client] Don't ignore entire Actor packet if one actor can't be found 2019-10-11 21:29:21 +03:00
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.
2019-08-25 09:35:23 +03:00
David Cernat
0339958e21 [General] Rename Log class into TimedLog 2019-08-19 21:39:33 +03:00
David Cernat
77952440f6 [Client] Clean up handling of draw states 2019-06-19 08:24:53 +03:00
David Cernat
43f195f0c7 [Client] Use clearer debug for actor initializations 2019-01-05 23:27:35 +02:00
David Cernat
433a69a588 [Client] Send all data for newly initialized LocalActors at least once 2018-12-31 04:36:59 +02:00
David Cernat
3f6ca6f22b [Client] Bring drawState fallback for actors up-to-date w/ attack types 2018-09-11 15:12:11 +03:00
David Cernat
113002ca19 [Client] Return early when processing actors that can't be initialized 2018-09-05 20:03:35 +03:00
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.
2018-08-16 03:50:41 +03:00
David Cernat
5fd4113978 [General] Implement sending of ActorSpeech packets from server scripts 2018-08-13 20:39:03 +03:00
David Cernat
b69e6b96e6 [Client] Use verbose logging level for LocalActor debug 2018-07-23 22:11:59 +03:00
David Cernat
09da24f1ea [General] Rename all instances of refNumIndex into refNum
This creates symmetry with mpNum and should cause less confusion in the future.
2018-07-13 04:12:03 +03:00
David Cernat
6316f1e590 [Client] Add ActorList methods for sending ActorAI packets
Additionally, use consistent capitalization for AI-related methods.
2018-07-12 20:48:47 +03:00
David Cernat
bff6e9e235 [General] Implement ActorAI packet, part 5
Allow repetition for AiWander package to be turned on and off.
2018-07-10 23:18:32 +03:00
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.
2018-07-10 05:07:58 +03:00
David Cernat
864c66d1d4 [Client] Make sure hasAiTarget is set correctly for DedicatedActors 2018-07-10 01:35:38 +03:00
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.
2018-06-27 21:47:55 +03:00
David Cernat
77389538e8 [General] Implement ActorAI packet, part 1
The server can now make actors become followers of players or other actors.
2018-05-12 06:29:11 +03:00
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)
2018-04-20 22:46:16 +03:00
David Cernat
09548d05f7 [Client] Ignore cell changes that move actors to where they already are 2018-01-08 01:37:01 +02:00
David Cernat
605b06c303 [General] Find actor speech captions instead of sending them in packets 2017-10-30 11:06:09 +02:00
Koncord
52349278e9 [Client] Fix warnings 2017-07-03 23:41:16 +08:00
Koncord
0ed0d2417b [Client] Make foreach style consistent with other 2017-06-27 22:27:02 +08:00
Koncord
7d4dd2ad1c [Client] Update Cell to C++11 2017-06-27 21:56:24 +08:00
Koncord
6222c20e82 [Client] Convert MechanicsHelper to namespace 2017-06-27 16:43:53 +08:00
David Cernat
bea3afaec8 [Client] Ensure uninitialization of DedicatedActors for late packets 2017-06-10 15:49:00 +03:00
David Cernat
312fc84a6f [Client] Use update timer in mwmp::Cell instead of LocalActor 2017-06-10 03:29:51 +03:00
David Cernat
97bf0252a4 [Client] Disable collision for actors loaded as dead from server 2017-05-31 07:52:45 +03:00
David Cernat
7177d56cfb [Client] Only require refNumIndex & mpNum for CellStore::searchExact() 2017-05-27 16:59:23 +03:00
David Cernat
7c87ac80ee [Client] Ensure correct drawState when receiving an ActorAttack packet 2017-05-27 04:19:28 +03:00
David Cernat
4f273932af [General] Implement sending and reading of ActorEquipment packets 2017-05-26 04:37:49 +03:00
David Cernat
271594f0ee [Client] Don't play death animations for NPCs saved as dead on server 2017-05-14 10:27:43 +03:00
David Cernat
bcdbecf608 [Client] Initialize Cell before moving DedicatedActor to it 2017-05-05 19:54:20 +03:00
David Cernat
60cf623455 [Client] Make DedicatedActors transition into LocalActors when eligible 2017-05-05 07:37:09 +03:00
David Cernat
206c9cc357 [Client] Use CellController pointers to make code easier to read 2017-05-05 04:58:44 +03:00
David Cernat
e05adbfe65 [Client] Add better debug for Actor cell changes 2017-05-05 04:46:40 +03:00
David Cernat
950a8eae3d [Client] Move Actors to Cells rather than reinitialize them from scratch 2017-05-05 03:52:41 +03:00
David Cernat
8d41a0c53b [Client] Make LocalActor initialization include newly spawned Actors 2017-05-05 02:46:16 +03:00
Koncord
e0139c33b3 [Client] Remove destructor in Cell 2017-05-03 14:46:25 +08:00
David Cernat
cad3eb8968 [Client] Iterate through CellStore's mergedRefs when initializing Actors 2017-05-02 03:31:40 +03:00