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
36ac2d9de4
[Client] Set packetOrigin for all ObjectList packets sent
2018-07-23 01:39:43 +03:00
David Cernat
78234f9071
[General] Rename Event into ObjectList & WorldObject into BaseObject
2018-05-13 00:42:24 +03:00
David Cernat
7ac115b359
[Client] Implement sending and reading of ObjectTrap packets
2017-05-26 00:21:24 +03:00
David Cernat
dcc61a095a
[Client] Allow multiple WorldObjects to be added to a WorldEvent
2017-05-06 20:44:39 +03:00
David Cernat
a82646a130
[Client] Delineate tes3mp-only code more clearly, part 2
2017-04-24 19:46:12 +03:00
David Cernat
9759764699
[Client] Clean up getting and resetting of WorldEvent
2017-04-05 09:04:41 +03:00
David Cernat
4abe295a80
[Client] Simplify sending of world packets by adding WorldEvent methods
2017-04-05 07:54:23 +03:00
David Cernat
2bd81c3de0
[Client] Use mpNum for every WorldObject
2017-04-04 11:07:16 +03:00
Koncord
690211ad99
[General] Extract BaseEvent & BasePlayer from packets to functions
...
Move Send and Read functions to BasePacket
2017-03-06 18:40:07 +08:00
Koncord
cea1425db1
[Client] Remove redundant newlines & keep ~120 columns
2017-03-04 14:55:35 +08:00
David Cernat
a58601fb2b
[Client] Delineate tes3mp-only code more clearly, part 1
2017-02-26 16:59:53 +02:00
David Cernat
ed2176c984
[Client] Reuse 1 BaseEvent over and over instead of creating new ones
2017-02-23 09:19:09 +02:00
David Cernat
e703dd42aa
[Client] Rename LocalEvent into WorldEvent
2017-02-06 17:40:32 +02:00
David Cernat
9c76b805b2
[Client] Send ID_CONTAINER when starting to drag a container item
2017-02-04 21:33:50 +02:00
Koncord
f78c749981
[Client] Use "NULL" instead "nullptr"
...
nullptr keyword introduced in C++11
2017-02-01 15:58:29 +08:00
David Cernat
703f253712
[Client] Delete new LocalEvents after sending them
2017-01-31 09:48:37 +02:00
David Cernat
9f1e491a75
[General] Make WorldEvents store information about multiple objects
2017-01-28 12:34:45 +02:00
David Cernat
624b85347a
[Client] Create LocalEvent class and use it instead of WorldEvent
2017-01-27 20:57:47 +02:00
David Cernat
c77120df6d
Merge pull request #129 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/mwworld/actiontake.cpp
2017-01-19 06:34:09 +02:00
scrawl
45fb4f04b1
Update reference of the interpreter context when an Activate results in a take action ( Fixes #3727 )
2017-01-18 21:57:50 +01:00
Koncord
804259b2c9
Change some printf to LOG_MESSAGE_SIMPLE
...
printf is not streamed to files
2016-12-16 18:50:34 +08:00
Koncord
536715cf46
Cleanup tes3mp headers
2016-12-16 16:59:15 +08:00
David Cernat
6e630e6123
Send inventory packets when picking up world items
2016-11-17 20:51:07 +02:00
David Cernat
fa9d6e810e
Use lowerCamelCase in tes3mp client function names like OpenMW does
2016-11-15 21:54:06 +02:00
David Cernat
25afa47e08
Only declare ptrCellStore for WorldPackets that need it
2016-11-04 15:47:55 +02:00
David Cernat
cee7843576
Send ID_OBJECT_DELETE when taking world items through inventory screen
2016-10-30 02:26:32 +03:00
David Cernat
c25ebc34b3
Shorten WorldPacket IDs by removing WORLD from them
2016-10-25 12:15:27 +03:00
David Cernat
3a5a5e73a1
Send ID_WORLD_OBJECT_UNLOCK from ingame scripts and regular unlocking
2016-10-24 11:43:27 +03:00
David Cernat
0a44bea91d
Send cell coordinates in tes3mp using mData instead of mCellId.mIndex
2016-10-23 16:55:30 +03:00
David Cernat
cbc132612a
Use mRefNum.mIndex instead of just mRefNum and add extra debug
2016-10-23 16:33:53 +03:00
David Cernat
17f66e4e90
Implement ID_WORLD_OBJECT_PLACE
2016-10-23 13:30:32 +03:00
David Cernat
6e43baf73e
Send Cell instead of CellId because of problems with the latter
2016-10-22 20:09:13 +03:00
David Cernat
103b1e3f72
Send CellId in ID_WORLD_OBJECT_DELETE
2016-10-22 18:44:13 +03:00
David Cernat
3c49157ed7
Rename WorldPackets to ID_WORLD_OBJECT_DELETE and ID_WORLD_OBJECT_PLACE
2016-10-22 18:05:32 +03:00
David Cernat
b3d6dad0c5
Send ID_WORLD_OBJECT_REMOVAL from actiontake.cpp and not worldimp.cpp
2016-10-22 17:10:57 +03:00
scrawl
67bd6cd708
Remove empty line at the beginning of files
...
git ls-files -z | xargs -0 sed -i '1{/^$/d}'
2015-08-18 23:06:12 +02:00
scrawl
aa6ebcd75c
Change stolen items handling to match MW ( Fixes #1443 , Fixes #2290 )
2015-02-05 04:18:43 +01:00
scrawl
3c0080d2c1
Implement theft detection
2014-01-07 19:58:17 +01:00
scrawl
dde2cd5d5a
Fix some code that still used setCount directly instead of using the ContainerStore interface. Also fix a related annoyance with the interface.
2014-01-05 20:53:45 +01:00
Emanuel Guevel
48d2554ac3
Auto-equip when items are added to the inventory
...
We limit that to armor pieces and clothing items.
No auto-equiping for the player nor werewolves.
2013-08-07 15:17:55 +02:00
scrawl
00db13be32
Reverted previous commits, and handle disallowed inventory in MWWorld::Class. Wanted to avoid this, but the previous solution broke teleport door sounds. Also fixed book/scroll window take button showing when inventory was not allowed.
2013-02-17 15:56:22 +01:00
scrawl
0bc34c1c0d
Action::executeImp returns a bool value to indicate if the sound should be played.
2013-02-16 16:40:44 +01:00
Marc Zinnschlag
da041f902f
Issue #370 : fixed item taking sound
2012-09-04 20:56:28 +02:00
Marc Zinnschlag
8ed8dd649a
Issue #370 : replaced custom target handling in take action with base class implementation
2012-09-04 15:34:44 +02:00
Marc Zinnschlag
6534c2a55a
Issue #107 : WindowManager is accessed only through the interface class from now on
2012-08-12 18:11:09 +02:00
Marc Zinnschlag
78fe6fdce5
Issue #351 : Refactoring Action class
2012-07-27 12:00:10 +02:00
Marc Zinnschlag
4c39fefd1e
Issue #107 : World is accessed only through the interface class from now on; some include cleanup
2012-07-03 12:30:50 +02:00
scrawl
c7010623fb
Issue #294 : disallowed inventory prevents Talk, Open and Take actions
2012-05-25 18:45:17 +02:00