David Cernat
fd40e8c971
[Client] Prevent ObjectState spam by not resending an already sent state
2019-01-15 14:26:00 +02:00
David Cernat
a6c6db89fc
[Client] Send object packets when scripts use PlaceItem/PlaceItemCell
2018-12-05 01:56:27 +02:00
David Cernat
1baf82db32
[Client] Avoid PlayerSpellbook packet spam in some mods
2018-10-26 19:07:35 +03:00
David Cernat
d9bc1abf48
[Client] Don't send ObjectScale packets if not logged in
2018-10-26 02:33:47 +03:00
David Cernat
a8cf1e02c4
[Client] Allow unilateral scripted container changes not from console
...
This prevents infinite loops in certain client scripts from mods that use while loops to determine that all items of a certain type have been removed from a container, such as in the script BCSwap2Arg from Better_Clothes.
2018-10-25 22:38:45 +03:00
David Cernat
d9dd7073cf
[General] Send certain packets only when logged in
...
Previously, client mods adding packet-sending scripts to the spawn area made clients send the associated packets as soon as they inputted their character name when joining a server using those mods. This made the clients either get disconnected for not replying to a handshake first, or it made them get kicked for sending object packets that are disallowed for players who are not logged in.
To fix this, LocalPlayer's hasFinishedCharGen() has been replaced with isLoggedIn(), because the former was already returning true when players inputted their names.
2018-10-13 15:36:13 +03:00
David Cernat
3bd8aa82fe
[General] Reduce inventory-sending hooks to just 2 in ContainerStore
...
Whenever an item is added to or removed from the player's ContainerStore, that player sends a PlayerInventory packet with just that addition or removal.
This eliminates all the unnecessary packet spam related to oversized PlayerInventory packets that had existed in one form or another since the initial implementation of inventory sync in 1b259e2d33
Additionally, move booleans from BasePlayer to LocalPlayer when they are only needed on the client, and make the usage of the isReceivingQuickKeys boolean consistent with the new isReceivingInventory boolean by having them both in the processors of their associated packets.
2018-08-28 05:01:52 +03:00
David Cernat
03832f933b
[Client] Send only individual items in PlayerInventory packets
...
For a long time, whenever a PlayerInventory packet was sent, it contained all the items in the player's inventory, because that's how Koncord originally implemented it and I always had too many other priorities to go back and rework it.
From now on, clients only send PlayerInventory packet with the one item added or removed, with the single exception being trading with merchants, where the entire inventory is still sent for the time being.
2018-08-21 10:10:06 +03:00
David Cernat
45b011452e
[Client] Combine methods for sending spell packets into a single one
2018-08-21 01:20:30 +03:00
David Cernat
a083439139
Merge pull request #469 from davidcernat/master while resolving conflicts
...
# Conflicts:
# apps/openmw/main.cpp
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwdialogue/dialoguemanagerimp.cpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwscript/dialogueextensions.cpp
# apps/openmw/mwworld/worldimp.hpp
2018-08-20 14:08:44 +03:00
Andrei Kortunov
b0f2e00e7f
Make forcegreeting a non-op for non-actor objects (bug #4553 )
2018-08-05 09:31:45 +04:00
David Cernat
d93b67ef21
[General] Sync soul refIds for items and add related script functions
2018-07-26 22:37:04 +03:00
Capostrophic
51d369d4da
Add resumeGame method
2018-07-26 20:35:34 +03:00
David Cernat
36ac2d9de4
[Client] Set packetOrigin for all ObjectList packets sent
2018-07-23 01:39:43 +03:00
David Cernat
63a86f145d
[Client] Record type of each InterpreterContext for later checking
2018-07-23 00:46:07 +03:00
David Cernat
b891acd46e
[Client] Send Container packets when items are added/removed via scripts
...
Additionally, disable unilateral addition and removal of items on clients, and expect the server to reply back with an approved addition or removal.
2018-07-22 17:04:17 +03:00
David Cernat
6cb5ac6e63
Merge pull request #457 from OpenMW/master while resolving conflicts
...
Conflicts:
CMakeLists.txt
apps/openmw/engine.cpp
apps/openmw/main.cpp
apps/openmw/mwgui/windowmanagerimp.cpp
apps/openmw/mwmechanics/character.cpp
components/CMakeLists.txt
2018-07-14 03:57:05 +03:00
David Cernat
6d43c8d63d
[Client] Send ActorAI with combat when an NPC's fight is set to 100
2018-07-14 02:55:38 +03:00
David Cernat
743933134d
[Client] Simplify sending of ActorAI packets for uninitialized actors
2018-07-14 01:00:27 +03:00
David Cernat
5f4ec1331f
[Client] Send ActorAI packet when combat is started via a client script
2018-07-14 00:07:15 +03:00
David Cernat
528bd26a3b
[General] Allow followers to follow non-authority players through cells
2018-07-13 21:27:29 +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
f0d4f1bbe5
[Client] Send ActorAI packets when followed by an NPC
...
The packet is sent regardless of whether we are the cell authority or not, so the server can decide what it wants to do with it.
2018-07-12 23:08:17 +03:00
Andrei Kortunov
3d1daaebab
Rework manual spellcasting (e.g. via scripts)
2018-07-12 16:24:25 +04:00
David Cernat
59a56ca35e
[Client] Disallow clients from scaling their associated players
...
Additionally, display messages when trying to scale players.
2018-07-12 03:29:38 +03:00
Andrei Kortunov
c77c50e92b
Make Equip console command to bypass most of restrictions (bug #4460 )
2018-07-11 00:06:21 +04:00
David Cernat
04ba324290
[Client] Disable clientside disabling and enabling of objects
2018-07-08 03:31:48 +03:00
David Cernat
acdaf1a282
[Client] Disable clientside deletion of objects through console/scripts
...
Unfortunately, disabling clientside deletion of summons and items that can be picked up requires extra work on actors and inventories respectively, to avoid buggy situations.
2018-07-08 00:39:07 +03:00
David Cernat
8d9fde810e
[Client] Disable clientside scaling of objects
2018-07-08 00:28:31 +03:00
David Cernat
f3892d697b
[Client] Disable clientside locking and unlocking of objects
2018-07-08 00:06:01 +03:00
David Cernat
a236ffc4be
Merge pull request #456 from OpenMW/master while resolving conflicts
...
# Conflicts:
# .travis.yml
# README.md
# apps/openmw/mwgui/quickkeysmenu.cpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwmechanics/combat.cpp
2018-07-04 01:52:29 +03:00
Andrei Kortunov
97d8cc0efe
Check if the local was not found, just for sure
2018-06-25 11:21:00 +04:00
Andrei Kortunov
f3f7487664
Fix arguments parsing for AiWander console command (bug #4458 )
2018-06-16 22:11:10 +04:00
Miloslav Číž
c3d7ee5a9e
Resolve merge conflicts
2018-06-13 08:22:37 +02:00
Miloslav Číž
db8aaa74d6
Start cell border debug drawing
2018-06-13 01:48:31 +02:00
David Cernat
2a3c74bfcc
Merge pull request #447 from OpenMW/master while resolving conflicts
...
# Conflicts:
# README.md
2018-06-08 06:01:00 +03:00
Andrei Kortunov
24863f620b
RotateWorld: rotate around world axis (bug #4426 )
2018-05-30 16:35:52 +04:00
David Cernat
669d4d3d7e
Merge pull request #440 from OpenMW/master
...
Add OpenMW commits up to 27 May 2018
2018-05-27 16:10:16 +03:00
scrawl
cfdf99f601
Revert "Merged pull request #1573 "
...
This reverts commit 7324bd368f
, reversing
changes made to 810e4416f6
.
2018-05-26 11:39:30 +00:00
scrawl
99ffaafe30
Revert "Merge pull request #1701 from akortunov/standfix"
...
This reverts commit da47fc79f5
, reversing
changes made to 7324bd368f
.
2018-05-26 11:35:48 +00:00
David Cernat
c8ec77875c
[Client] Update old comments for changes made by tes3mp
2018-05-26 05:11:41 +03:00
David Cernat
74c2a0b311
Merge pull request #438 from OpenMW/master
...
Add OpenMW commits up to 24 May 2018
2018-05-24 12:16:11 +03:00
Bret Curtis
da47fc79f5
Merge pull request #1701 from akortunov/standfix
...
Do not apply queue movement for standing actors
2018-05-23 22:35:08 +02:00
David Cernat
78234f9071
[General] Rename Event into ObjectList & WorldObject into BaseObject
2018-05-13 00:42:24 +03:00
Andrei Kortunov
3636cf2015
Do not apply queue movement for standing actors
2018-05-05 22:41:26 +04:00
Andrei Kortunov
22fb1f3403
Play spellcasting effects from objects
2018-04-30 17:12:06 +04:00
David Cernat
7db74509e0
Merge pull request #412 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/mwscript/transformationextensions.cpp
2018-04-25 21:55:32 +03:00
scrawl
ec4e2f0064
Merge pull request #1684
2018-04-22 15:27:31 +00:00
Capostrophic
37dc3200d1
Inherit the calling object scale in PlaceAt ( fixes #4308 )
2018-04-20 00:15:26 +03:00
David Cernat
9e5ddeac50
Merge pull request #408 from OpenMW/master
...
Add OpenMW commits up to 18 Apr 2018
2018-04-18 18:05:09 +03:00