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
9c7f5410a5
[Client] Add exception handling to CellController::isSameCell()
4 years ago
David Cernat
89da1f39fb
[Client] Implement stable cell resets
4 years ago
David Cernat
c6852f49ba
[Client] Add another validity check to CellController::updateLocal()
4 years ago
David Cernat
9a83108fe5
[Client] Add uninitializeCell() method to CellController
4 years ago
David Cernat
bcb7568ac6
[Client] Add cellStore validity check to CellController::updateLocal()
4 years ago
David Cernat
63480a0012
[Client] Use DetourNavigator for local actors, working around c1ebd9474b
5 years ago
David Cernat
a383b7b612
[General] Include death animations in ActorDeath packets
5 years ago
David Cernat
339428872e
[Client] Fix infinite loop in CellController
...
Previously, using CellController::getCellStore() to get an unloaded CellStore would make its references get loaded in the process, with the CellStore's loadRefs() then running updateMergedRefs(), which in turn – before getting as far as setting the CellStore's state to State_Loaded – would call CellController::hasLocalAuthority() on its accompanying ESM::Cell, which would then run CellController::isActiveWorldCell(), which would then run CellController::getCellStore() to get the CellStore again, which – still being marked as unloaded – would run the whole loop again... and again.
5 years ago
David Cernat
3e1c96a49c
[Client] Fix crash by not trying to enable markers for invalid players
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
43f195f0c7
[Client] Use clearer debug for actor initializations
6 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
7e90d1f2a4
[Client] Fix interior-to-exterior and v.v. cell transitions for actors
...
Make sure only players who are cell authorities can get actors to teleport across cells for them, and display a message box for players who are not cell authorities.
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
d8b48f6cf4
[Client] Remove redundant container methods from CellController
7 years ago
David Cernat
66078bfea7
[General] Implement Mark location sync as part of PlayerMiscellaneous
7 years ago
David Cernat
4a9a628a0f
[Client] When getting an actor, make sure their cell is initialized
7 years ago
David Cernat
711c4d83da
[Client] Fix build after recent OpenMW changes to GUI
7 years ago
Koncord
52349278e9
[Client] Fix warnings
8 years ago
Koncord
5b2cab4c6b
[General] Change NULL to nullptr
8 years ago
Koncord
0ed0d2417b
[Client] Make foreach style consistent with other
8 years ago
Koncord
7499777b3a
[Client] Update CellController to C++11
8 years ago
David Cernat
2e45203bbb
[Client] Clean up mapIndexes in CellController
8 years ago
David Cernat
73b9683182
[General] Make most ActorPackets smaller by not including refIds in them
8 years ago
David Cernat
4f273932af
[General] Implement sending and reading of ActorEquipment packets
8 years ago
David Cernat
8d41a0c53b
[Client] Make LocalActor initialization include newly spawned Actors
8 years ago
David Cernat
c3c04bbfc3
[General] Make coding style consistent
8 years ago
Koncord
eda74ddf44
[Client] Fix memory leaks
8 years ago
David Cernat
f6a218025a
[Client] Fix actor memory leaks, part 1
8 years ago
David Cernat
a12694c6ef
[Client] Fix crash caused by late-arriving ActorAuthority packets
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
David Cernat
87ada3e763
[Client] Add CellController::isSameCell() and use it in LocalPlayer
8 years ago
David Cernat
6aa0fa85ab
[Client] Send and read ActorAttack packets
8 years ago
David Cernat
61cedfa192
[Client] Add CellController methods to fetch Actors without needing Ptrs
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
5c1d7f614a
[Client] Rename readDrawStates() into readAnimFlags()
8 years ago
David Cernat
d2fe777f89
[General] Send and read ActorDrawState packets
8 years ago
David Cernat
15f91e7825
[Client] Add CellController methods for getting and checking Cells
8 years ago
David Cernat
69f820f3a0
[Client] Rename CellController's getCell() into getCellStore()
8 years ago
David Cernat
d14102716d
[Client] Retool LocalActors and DedicatedActors for ActorPosition packet
8 years ago
David Cernat
c52084a028
[General] Use BaseActorLists in ActorPackets
8 years ago
David Cernat
0ccbe70e61
[Client] Rename methods to make their purpose clearer
8 years ago
David Cernat
b883b4c7ce
[Client] Reorder includes
8 years ago