David Cernat
fb4fe75e62
[Client] Always set visibility of GUIChat, not its main widget
...
Don't change the windowState when GUIChat is closed.
2022-04-30 01:54:43 +03:00
David Cernat
ae2d247968
[Client] Add GUIController method for changing chat window mode
2022-04-29 00:06:04 +03:00
David Cernat
d45db97808
[Client] Retain hidden mode for chat window when set
2022-04-27 09:10:25 +03:00
David Cernat
6b1c83f629
[Client] Fix iteration through summoned creature map in ObjectList
2022-04-27 00:39:12 +03:00
David Cernat
3af57f0858
[Client] Fix crash when creating Cell from base Cell lacking Pathgrid
2022-04-15 22:23:53 +03:00
David Cernat
43f531e9a5
[Client] Reuse Pathgrid records from base Cells when creating new Cells
2022-04-15 21:24:48 +03:00
David Cernat
2898ad6e9a
[Client] Make Back button work in character generation
...
Character generation was coded in a strange way by Koncord in the earliest days of the project, but this fixes the main problem with it.
2022-04-14 00:44:44 +03:00
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
a6dd76776f
[Client] Include refId in ObjectList's object searches
2022-03-22 11:07:46 +02:00
David Cernat
cc8c222d18
[General] Combine CellStore's exact object searches
2022-03-22 10:42:19 +02:00
David Cernat
a95099cd03
[Client] Use item model's items for Container packet sent from Take All
...
Previously, a Container packet sent when using the Take All button included all the items in the container, not just all the items in the container window seen on the client. This was a problem when stealing from actors, as the container window does not give access to all of their items.
2022-02-28 18:20:47 +02:00
David Cernat
abdaedd752
[Client] Rely on untranslated topics in ObjectDialogueChoice packets
...
Previously, when using the Russian edition, all dialogue topics were translated into English before being sent to the server in an ObjectDialogueChoice packet and were then translated back into Russian when received again by the client. However, there were situations where different topics in English corresponded to the same Russian word, e.g. "chores" and "duties" were both translated as "задания", which led to the incorrect topic being used on the client in the end.
This commit makes it so that users of the Russian edition send ObjectDialogueChoice packets where the topicId variable contains both the untranslated topic and the translated one, delimited by a | character, with the client simply using the former when receiving the packet again.
This is a hotfix instead of the proper fix, as the proper fix would use different variables for the two versions of the topic and thus require the structure of the ObjectDialogueChoice packet to change.
2022-02-16 22:19:58 +02:00
David Cernat
f2d95dc84d
[Client] Make ActiveSpells::removeSpellByTimestamp() return a boolean
...
Add logging to LocalPlayer::removeSpellsActive() to track when a player's active spell hasn't been removed due to an invalid timestamp.
2022-02-12 14:00:47 +02:00
David Cernat
4aa947ff4b
[Client] Prevent player from auto-equipping items taken from containers
2022-02-10 23:10:11 +02:00
David Cernat
1cb10cd1f2
[Client] Use new exact search with ObjectActivate & ObjectDialogueChoice
2021-12-09 15:29:58 +02:00
David Cernat
dbae0bddc2
[Client] Only play sounds from active cells when receiving ObjectSound
2021-10-21 19:20:02 +02:00
David Cernat
538ccf15cf
[Client] Use higher interpolation distance for DedicatedPlayers
...
This makes up for the laggier-looking jumps since the changes to OpenMW's physics system.
2021-10-17 20:14:21 +02:00
David Cernat
efc0b88058
[Client] Don't reload Ptr for DedicatedActor after adding active spells
...
This prevents non-continuous spell GFX from immediately vanishing.
2021-10-16 02:00:05 +02:00
David Cernat
3e582199fb
[Client] Add createSpellGfx() method to MechanicsHelper
...
Use it to create spell GFX when adding active spells to dedicated players and actors.
2021-10-16 01:35:30 +02:00
David Cernat
7f017217c7
[Client] Fix position sync for falling actors
2021-10-15 17:11:03 +02:00
David Cernat
fb49b62753
[Client] Fix crash when receiving ActiveSpells for uninitialized players
2021-10-12 03:51:14 +02:00
David Cernat
e6a1f0889f
[Client] Add isStackingSpell() method to MechanicsHelper
2021-10-12 01:26:12 +02:00
David Cernat
f03a87df3c
[Client] Remove previous placeholders for tracking ActiveSpells actors
2021-10-12 01:20:38 +02:00
David Cernat
3e81371e53
[General] Fix jump synchronization for players
...
This had been broken by fr3dz10's physics rewrites from the earlier part of the year that made it so dedicated players were always regarded by the movement solver as being on the ground.
2021-10-09 18:11:57 +02:00
David Cernat
06451c13d5
[Client] Update 3rd person model of local player when setting character
2021-10-01 03:27:40 +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
2f98f31af2
[General] Use model variable already included in PlayerBaseInfo packets
...
The variable has been included since TES3MP's earliest proof of concept, but never used for anything. It is now possible to get and set it, due to semi-popular demand.
2021-09-02 15:44:11 +02:00
David Cernat
3f3fe66fde
[General] Track casters of spells in SpellsActive packets
...
Also simplify sending of SpellsActive packets slightly.
2021-07-21 18:14:31 +02:00
David Cernat
4492a7a768
[Client] Add MechanicsHelper method to get actorId of an mwmp::Target
...
Also clean up MechanicsHelper::getPlayerPtr() slightly.
2021-07-21 14:57:55 +02:00
David Cernat
9817d3a563
[Client] Add method to PlayerList for getting players by their actorId
2021-07-20 03:22:16 +02:00
David Cernat
fe4a761ffe
[General] Implement game setting records for RecordDynamic packets
...
Remove unused placeholder for variants from RecordDynamic.
2021-07-18 11:36:07 +02:00
David Cernat
3222afc8b7
[General] Implement PlayerCooldowns packet
...
Although this packet may be used for other kinds of cooldowns in the future, it currently only handles cooldowns for magical powers.
2021-07-10 22:15:19 +02:00
David Cernat
a4b180f65a
[Client] Don't send SpellsActive packets for spells received from server
2021-07-06 17:22:19 +02:00
David Cernat
294f64d12d
[General] Track timestamps for spells in SpellsActive packets
...
This makes it possible to remove a specific effect in effect stacks by checking its timestamp.
2021-07-04 12:54:11 +02:00
David Cernat
767287ae51
[General] Track stacking spells in SpellsActive packets
2021-06-10 13:27:52 +02:00
David Cernat
da16c211a4
[Client] Make potion effects work with SpellsActive packets, part 2
2021-06-06 20:18:44 +02:00
David Cernat
5a852fe6db
[Client] Fix warnings related to declarations
2021-06-04 01:22:13 +02:00
David Cernat
86630b048f
[General] Add creature attack values to RecordDynamic packets
2021-05-28 19:35:05 +02:00
David Cernat
44d037c078
[General] Add creature soul values to RecordDynamic packets
2021-05-25 13:55:12 +02:00
David Cernat
8c7b07b9c8
[Client] Make potion effects work with SpellsActive packets
2021-05-23 01:49:37 +02:00
David Cernat
7a6dfc61ec
Add OpenMW commits up to 21 May 2021
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwscript/interpretercontext.cpp
# components/CMakeLists.txt
2021-05-21 16:00:09 +02:00
David Cernat
1f3a17eff7
[Client] Remove pointless declaration of DedicatedPlayer as struct
...
This seems to have been a typo left over from Koncord's early work on the project.
2021-05-07 18:40:11 +02:00
David Cernat
e00ee1425a
[Client] Reload DedicatedActor ptrs when setting their active spells
...
This makes the spells' visual effects appear correctly.
2021-05-07 18:15:39 +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
a7f517507c
[Client] Handle reenabling of harvested objects via Container packet
...
It is no longer necessary to send ObjectState packets when harvesting objects, as the Container packet will handle the refreshing of those objects' animations instead.
2021-04-06 13:22:17 +02:00
David Cernat
0137772e64
[Client] Log PlayerCellChange packets about the local player
2021-03-25 03:39:13 +02:00
David Cernat
b3c40913f6
[Client] Remove 'using namespace std' from multiplayer-related code
...
This brings TES3MP in line with https://gitlab.com/OpenMW/openmw/-/merge_requests/664
2021-03-20 23:21:40 +02:00
David Cernat
eefa94db12
[Client] Allow ClientScriptGlobal to create new global variables
2021-01-26 01:07:35 +02:00
David Cernat
0eb01591e8
[Client] Move overrideRecord() method for Sound records to right spot
2021-01-17 16:04:12 +02:00