David Cernat
f6db7d4fc5
[Client] Avoid sending repeated ObjectDelete packets about an object
6 years ago
David Cernat
fd40e8c971
[Client] Prevent ObjectState spam by not resending an already sent state
6 years ago
David Cernat
a6c6db89fc
[Client] Send object packets when scripts use PlaceItem/PlaceItemCell
6 years ago
David Cernat
1baf82db32
[Client] Avoid PlayerSpellbook packet spam in some mods
6 years ago
David Cernat
d9bc1abf48
[Client] Don't send ObjectScale packets if not logged in
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
David Cernat
45b011452e
[Client] Combine methods for sending spell packets into a single one
6 years ago
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
6 years ago
Andrei Kortunov
b0f2e00e7f
Make forcegreeting a non-op for non-actor objects (bug #4553 )
6 years ago
David Cernat
d93b67ef21
[General] Sync soul refIds for items and add related script functions
7 years ago
Capostrophic
51d369d4da
Add resumeGame method
7 years ago
David Cernat
36ac2d9de4
[Client] Set packetOrigin for all ObjectList packets sent
7 years ago
David Cernat
63a86f145d
[Client] Record type of each InterpreterContext for later checking
7 years ago
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.
7 years ago
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
7 years ago
David Cernat
6d43c8d63d
[Client] Send ActorAI with combat when an NPC's fight is set to 100
7 years ago
David Cernat
743933134d
[Client] Simplify sending of ActorAI packets for uninitialized actors
7 years ago
David Cernat
5f4ec1331f
[Client] Send ActorAI packet when combat is started via a client script
7 years ago
David Cernat
528bd26a3b
[General] Allow followers to follow non-authority players through cells
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
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.
7 years ago
Andrei Kortunov
3d1daaebab
Rework manual spellcasting (e.g. via scripts)
7 years ago
David Cernat
59a56ca35e
[Client] Disallow clients from scaling their associated players
...
Additionally, display messages when trying to scale players.
7 years ago
Andrei Kortunov
c77c50e92b
Make Equip console command to bypass most of restrictions (bug #4460 )
7 years ago
David Cernat
04ba324290
[Client] Disable clientside disabling and enabling of objects
7 years ago
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.
7 years ago
David Cernat
8d9fde810e
[Client] Disable clientside scaling of objects
7 years ago
David Cernat
f3892d697b
[Client] Disable clientside locking and unlocking of objects
7 years ago
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
7 years ago
Andrei Kortunov
97d8cc0efe
Check if the local was not found, just for sure
7 years ago
Andrei Kortunov
f3f7487664
Fix arguments parsing for AiWander console command (bug #4458 )
7 years ago
Miloslav Číž
c3d7ee5a9e
Resolve merge conflicts
7 years ago
Miloslav Číž
db8aaa74d6
Start cell border debug drawing
7 years ago
David Cernat
2a3c74bfcc
Merge pull request #447 from OpenMW/master while resolving conflicts
...
# Conflicts:
# README.md
7 years ago
Andrei Kortunov
24863f620b
RotateWorld: rotate around world axis (bug #4426 )
7 years ago
David Cernat
669d4d3d7e
Merge pull request #440 from OpenMW/master
...
Add OpenMW commits up to 27 May 2018
7 years ago
scrawl
cfdf99f601
Revert "Merged pull request #1573"
...
This reverts commit 7324bd368f
, reversing
changes made to 810e4416f6
.
7 years ago
scrawl
99ffaafe30
Revert "Merge pull request #1701 from akortunov/standfix"
...
This reverts commit da47fc79f5
, reversing
changes made to 7324bd368f
.
7 years ago
David Cernat
c8ec77875c
[Client] Update old comments for changes made by tes3mp
7 years ago
David Cernat
74c2a0b311
Merge pull request #438 from OpenMW/master
...
Add OpenMW commits up to 24 May 2018
7 years ago
Bret Curtis
da47fc79f5
Merge pull request #1701 from akortunov/standfix
...
Do not apply queue movement for standing actors
7 years ago
David Cernat
78234f9071
[General] Rename Event into ObjectList & WorldObject into BaseObject
7 years ago
Andrei Kortunov
3636cf2015
Do not apply queue movement for standing actors
7 years ago
Andrei Kortunov
22fb1f3403
Play spellcasting effects from objects
7 years ago
David Cernat
7db74509e0
Merge pull request #412 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/mwscript/transformationextensions.cpp
7 years ago
scrawl
ec4e2f0064
Merge pull request #1684
7 years ago
Capostrophic
37dc3200d1
Inherit the calling object scale in PlaceAt ( fixes #4308 )
7 years ago