David Cernat
426d5a7fc2
[Client] Add missing usage of sendDrawStateActors()
2017-04-13 18:56:38 +03:00
David Cernat
d2fe777f89
[General] Send and read ActorDrawState packets
2017-04-13 15:26:48 +03:00
David Cernat
9c731990a9
[Client] Use clearer var names in LocalPlayer::updateDrawStateAndFlags()
2017-04-13 14:10:42 +03:00
David Cernat
0d196af685
[General] Add placeholders for 7 new ActorPackets
2017-04-11 11:37:38 +03:00
David Cernat
9852076590
[Client] Send all NPC data to newly arriving players
2017-04-10 18:24:30 +03:00
David Cernat
15f91e7825
[Client] Add CellController methods for getting and checking Cells
2017-04-10 18:13:22 +03:00
David Cernat
69f820f3a0
[Client] Rename CellController's getCell() into getCellStore()
2017-04-10 17:30:57 +03:00
David Cernat
d14102716d
[Client] Retool LocalActors and DedicatedActors for ActorPosition packet
2017-04-10 17:10:18 +03:00
David Cernat
2709de83fb
[Client] Use clearer variable names in LocalPlayer::UpdatePosition()
2017-04-10 14:53:59 +03:00
David Cernat
b6c3830ea0
[General] Rename WorldObject's pos into position for consistency
2017-04-10 09:25:20 +03:00
David Cernat
174f316787
[General] Rename PacketActorFrame into PacketActorTest
2017-04-10 08:37:18 +03:00
David Cernat
a5d0486c82
[General] Set actor data correctly
2017-04-10 07:22:03 +03:00
David Cernat
c52084a028
[General] Use BaseActorLists in ActorPackets
2017-04-09 16:32:44 +03:00
David Cernat
070c6a3bd4
[General] Add ActorPacketController & make controller var names clearer
2017-04-09 08:51:28 +03:00
David Cernat
c8a486de6c
[Client] Fix Ptr initialization in mwmp::Cell
2017-04-08 16:02:59 +03:00
David Cernat
0ccbe70e61
[Client] Rename methods to make their purpose clearer
2017-04-08 14:31:22 +03:00
David Cernat
b883b4c7ce
[Client] Reorder includes
2017-04-08 12:54:38 +03:00
David Cernat
3d6dc74bdc
[Client] Fix logic for mwmp::Cell initialization
2017-04-08 12:33:41 +03:00
David Cernat
417284c701
[Client] Implement head rotation sync for NPCs
2017-04-08 11:40:19 +03:00
David Cernat
f52fc19762
[Client] Reorder methods and don't set variables that are no longer used
2017-04-08 10:58:25 +03:00
David Cernat
d3f3fb5d05
[Client] Correctly implement movement animation sync for NPCs
2017-04-08 08:59:21 +03:00
David Cernat
5b43e62c50
[Client] Make it possible to get DedicatedActor from CellController
2017-04-08 07:46:33 +03:00
David Cernat
e6536c7473
[Client] Disable basic NPC sync in preparation for overhaul
2017-04-07 16:04:21 +03:00
David Cernat
1101ff1e28
[Client] Update DedicatedActors every frame to allow interpolation
2017-04-07 15:51:34 +03:00
David Cernat
ae92117d21
[Client] Add missing return
2017-04-07 11:32:42 +03:00
David Cernat
18be1880f0
[Client] Make it possible to get LocalActor from CellController
2017-04-07 10:16:23 +03:00
David Cernat
10be52d40d
[Client] Add localActorsToCells map to more easily find LocalActors
2017-04-07 08:12:50 +03:00
David Cernat
e89265e469
[Client] Turn CellController's cellsActive into a map instead of a deque
2017-04-07 05:52:07 +03:00
David Cernat
d829d219c3
[General] Add (very) partial animation sync for NPCs
2017-04-06 15:11:51 +03:00
David Cernat
e8638d9884
[Client] Add basic position sync for NPCs
2017-04-06 11:46:56 +03:00
David Cernat
89ed318d3c
[Client] Remove usage of nullptr that Travis CI is getting stuck on
2017-04-06 06:17:27 +03:00
David Cernat
67ec81ad0c
[Client] Use utility function for converting strings in mwmp::Cell
2017-04-06 05:45:49 +03:00
David Cernat
d4a12856ee
[Client] Enable AI for LocalActors
2017-04-06 04:59:55 +03:00
David Cernat
0d766a7a04
[Client] Add and use mwmp::Cell class
2017-04-06 04:00:50 +03:00
David Cernat
9beaf9b7a1
[Client] Initialize and update LocalActors while their cells are active
2017-04-06 00:49:20 +03:00
David Cernat
8df9d55331
[Client] Create placeholder DedicatedActor class
2017-04-06 00:48:20 +03:00
David Cernat
d24cde16dd
[General] Add simple BaseActor and LocalActor classes
2017-04-05 12:52:27 +03:00
David Cernat
679e790d8d
[Client] Rename WorldController into CellController to avoid confusion with Networking's WorldPacketController
2017-04-05 12:00:21 +03:00
David Cernat
c2d6265ffd
[Client] Reorder methods in WorldEvent, placing packet senders at bottom
2017-04-05 09:12:02 +03:00
David Cernat
9759764699
[Client] Clean up getting and resetting of WorldEvent
2017-04-05 09:04:41 +03:00
David Cernat
d7a760490e
[Client] Simplify sending of world packets, part 2
2017-04-05 08:43:35 +03:00
David Cernat
b55a3d5eb2
[Client] Add placeholder editActors() method for random creature sync
2017-04-05 08:07:53 +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
1d23a48a42
[Client] Print mpNums when objects are found in a cell
2017-04-05 07:10:22 +03:00
David Cernat
6c60c9c78e
[Client] Clean up debug messages for when objects are found in a cell
2017-04-05 06:30:12 +03:00
David Cernat
bb9ea6ccd4
[Client] Also include list of creatures in reply to ActorList
2017-04-05 06:22:01 +03:00
David Cernat
ca92be14a5
[Client] Reply to ActorList request with list of NPCs
2017-04-05 05:54:25 +03:00
David Cernat
8c2469bf6d
[General] Add placeholder ActorList, ActorAuthority & ActorFrame packets
2017-04-05 04:06:45 +03:00
David Cernat
2bd81c3de0
[Client] Use mpNum for every WorldObject
2017-04-04 11:07:16 +03:00
David Cernat
4644235cf6
[Client] Use mpNum in exact searches for objects
2017-04-04 10:07:15 +03:00
David Cernat
8cc61b6048
[General] Generate mpNums on the server when forwarding ID_OBJECT_PLACE
2017-04-04 09:23:34 +03:00
David Cernat
31cd836558
[General] Small tweaks to debug info
2017-04-04 08:24:11 +03:00
David Cernat
e5cf632e1d
[Client] Stop creating new reference numbers for placed/spawned objects
2017-04-04 06:01:48 +03:00
David Cernat
e7b5097c13
[Client] Print plugin paths correctly for Windows
2017-04-01 05:57:27 +03:00
Koncord
2a723279b1
[Client] Send ID_GAME_PREINIT packet
2017-03-06 22:52:18 +08: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
6076346df4
[Client] Add Networking::preInit() method
2017-03-05 16:55:05 +08:00
Koncord
cea1425db1
[Client] Remove redundant newlines & keep ~120 columns
2017-03-04 14:55:35 +08:00
Koncord
4015c3e9a9
[Client] Use constant instead magic value in Lerp function
2017-03-04 14:24:26 +08:00
Koncord
a10cf4360c
[Client] Print all esm/esp files in load queue with idx & CRC32 checksum
2017-03-04 13:23:26 +08:00
Koncord
9199446edd
[Client] Add Files::Collections to Main::init() arguments
2017-03-04 13:11:46 +08:00
David Cernat
0d32bf5943
[General] Add extra death debug, don't request data from player on death
2017-03-04 00:29:01 +02:00
David Cernat
c4b11a1251
[Client] Remove now unused sendData() and BitStream declarations
2017-03-04 00:17:16 +02:00
David Cernat
cf6de6c474
[Client] Update old packet-sending code in LocalPlayer and GUIChat
2017-03-03 23:36:29 +02:00
David Cernat
6887930c04
[Client] Let scripts handle respawn point instead of hardcoding it
2017-03-02 22:12:46 +02:00
David Cernat
03984685e5
[Client] Remove unnecessary type specifiers
2017-02-28 12:35:51 +02:00
David Cernat
5c269a5f8d
[General] Rename ID_GAME_DIE and ID_GAME_RESURRECT
2017-02-28 01:38:25 +02:00
David Cernat
e6bc7ad463
[General] Make all flying players fly correctly, including TCL users
2017-02-27 23:01:33 +02:00
David Cernat
02487dce13
[Client] Prevent invalid race used by other player from freezing client
2017-02-27 01:45:27 +02:00
David Cernat
8c8414f098
[Client] Spawn DedicatedPlayer in center of exterior cell 0,0
2017-02-27 01:02:59 +02:00
David Cernat
9035908f6d
[Client] Spawn DedicatedPlayer in exterior 0,0 (for other master files)
2017-02-25 23:18:50 +02:00
David Cernat
aab5b69c80
[Client] Unready weapon & spell upon death to avoid attack inability bug
2017-02-24 11:50:43 +02:00
Koncord
cbace41e14
[Client] Fix crash on LInux
2017-02-23 17:40:22 +08: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
1b59ce8c8f
[Client] Send ID_PLAYER_DRAWSTATE when teleported by server
2017-02-23 06:26:42 +02:00
Koncord
f8a25747ba
[Client] Some tabs have been killed in GUIChat
2017-02-23 11:48:10 +08:00
David Cernat
586a7f6656
[Client] Prevent DedicatedPlayer from spawning on ground from 0 fatigue
2017-02-23 04:35:07 +02:00
Battlerax
fd845198ad
[Client] You can now cancel the chat box by pressing enter without a message.
2017-02-22 15:03:59 -06:00
David Cernat
90275f777e
[Client] Don't crash when dying while inside a container
2017-02-22 06:41:25 +02:00
David Cernat
e4ae8c5f9f
[Client] Cancel drag for teleported players, fix ID_OBJECT_SCALE debug
2017-02-22 02:44:00 +02:00
David Cernat
37e7d2c15b
[Client] Don't get invalid cells in LocalPlayer::sendJournalEntry()
2017-02-21 02:09:39 +02:00
David Cernat
bf2f932e18
[Client] If in a container, don't crash when teleported to another cell
2017-02-21 01:01:30 +02:00
David Cernat
f5470e0b49
[Client] Print cell descriptions for WorldEvents only once
2017-02-21 00:20:19 +02:00
David Cernat
92439e6e62
[Client] Reduce WorldPacket debug because it can cause freezes
2017-02-20 23:48:08 +02:00
Koncord
ea9c31a8f7
[Client] Add password to client params and to config file
2017-02-20 22:40:09 +08:00
David Cernat
a4526605a6
[General] Remove goldValue from ContainerItem because it is never useful
2017-02-20 12:31:11 +02:00
David Cernat
ed91f20cd3
[General] Print action used for ID_CONTAINER when receiving one
2017-02-19 23:11:26 +02:00
David Cernat
4f2b88df8a
[General] Remove owner var from ContainerItem because it is always empty
2017-02-18 23:59:02 +02:00
David Cernat
5b3fabdb9d
[Client] Send ID_CONTAINER with all containers in cell when requested
2017-02-16 13:34:32 +02:00
David Cernat
3b604a432e
[General] Restructure ID_CONTAINER to allow multiple containers at once
2017-02-15 20:14:25 +02:00
David Cernat
88f891b5bd
[Client] Make it possible to easily iterate through container items
2017-02-14 23:10:45 +02:00
David Cernat
c8cbfbef62
[General] Sketch out server requests to players for container data
2017-02-14 19:31:56 +02:00
David Cernat
5038353792
[General] Rename BaseEvent's state into doorState & adjust related funcs
2017-02-06 23:09:50 +02:00
David Cernat
d8a9a5f6c9
[General] Send item owner in ID_CONTAINER
2017-02-06 22:45:23 +02:00
David Cernat
3614b21e10
[General] Send charge and goldValue in ID_CONTAINER
2017-02-06 21:28:03 +02:00
David Cernat
e703dd42aa
[Client] Rename LocalEvent into WorldEvent
2017-02-06 17:40:32 +02:00
David Cernat
182b238b5f
[General] Rename WorldEvent into BaseEvent
2017-02-06 12:53:41 +02:00
David Cernat
1f03c12d96
[Client] See when other players use the Take All button with a container
2017-02-05 20:04:50 +02:00
David Cernat
d2c5a3387a
[Client] See when other players add items to containers
2017-02-05 19:33:11 +02:00
David Cernat
75392297b5
[General] Use vector::at in most places
2017-02-05 19:01:06 +02:00
David Cernat
60d6a6d463
[Client] See when other players remove items from containers
2017-02-05 18:45:23 +02:00
David Cernat
f314b13edf
[General] Rename item health into charge, for consistency with OpenMW
2017-02-05 14:56:27 +02:00
David Cernat
f03724be7b
[Client] Send ID_PLAYER_INVENTORY upon dropping an item
2017-02-05 14:38:04 +02:00
David Cernat
ecc456fea9
[General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE
2017-02-05 13:45:12 +02:00
David Cernat
04d45b9dbb
[General] Rename packets to show they are for players only, not NPCs
2017-02-05 09:01:33 +02:00
David Cernat
a07e616878
[General] Add ContainerItem and ContainerChanges structs to WorldEvent
2017-02-04 20:14:39 +02:00
David Cernat
6328ffb9aa
[General] In ID_GAME_ATTRIBUTE & ID_GAME_SKILL, rename GAME into PLAYER
2017-02-04 14:25:43 +02:00
David Cernat
57f54aa370
[Client] Don't store multiple cellStates for the same cell
2017-02-04 09:46:27 +02:00
David Cernat
a2e3fe18fe
[Client] Send ID_PLAYER_CELL_STATE to server at end of CharGen
...
Also, allow requests for ID_PLAYER_CELL_STATE from the server.
2017-02-04 09:13:15 +02:00
David Cernat
c1427b2558
[General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE
2017-02-03 20:27:40 +02:00
David Cernat
958ff06ca8
[General] Rename ID_DOOR_ACTIVATE into ID_DOOR_STATE
2017-02-01 11:54:40 +02:00
Koncord
42b6a456f0
[Client] Fix code style
2017-01-30 22:53:22 +08:00
Koncord
c5035cd174
[Client] Fix crash and memory leak when erasing spellbook
2017-01-30 22:37:09 +08:00
David Cernat
dddc253d70
[Client] Fix console message for LocalPlayer's cell change
2017-01-28 16:39:03 +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
7efb374f75
[Client] Avoid fetching guiMessageBox.type again for every condition
2017-01-27 10:41:10 +02:00
Koncord
ab3c2544b5
[Client] Use constant instead magic value
2017-01-26 21:47:28 +08:00
Koncord
34a46e6811
[Client] Simplify hasFinishedCharGen method
2017-01-26 21:42:12 +08:00
David Cernat
244da19a51
[General] Turn ID_PLAYER_CELL_LOAD into ID_PLAYER_CELL_STATE for clarity
2017-01-26 13:49:20 +02:00
David Cernat
b5b5551fcd
[Client] Add LocalPlayer::hasFinishedCharGen() method
2017-01-26 13:13:43 +02:00
David Cernat
97aabf4a7d
[General] Sketch out sending of cell loading/unloading info in packets
2017-01-26 09:02:01 +02:00
David Cernat
158d606477
[General] Leave one blank line at the end of every tes3mp code file
2017-01-26 06:17:29 +02:00
David Cernat
63c8a98083
[General] Stop using virtual functions in BasePlayer
2017-01-25 17:06:15 +02:00
David Cernat
1d9c6ddd81
[General] Add placeholders for the new packet ID_PLAYER_CELL_LOAD
2017-01-25 14:51:43 +02:00
David Cernat
35e453dec3
[General] Sketch out most of functionality for journal saving/loading
2017-01-24 19:32:25 +02:00
David Cernat
d308897f95
Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges
2017-01-20 12:43:05 +02:00
David Cernat
e2c595fc5d
Add preliminary structure for journal changes
2017-01-20 12:05:45 +02:00
David Cernat
e9b22814b9
Create placeholder for ID_GAME_JOURNAL
2017-01-20 11:15:10 +02:00
David Cernat
a69f294ef0
Rename ID_GAME_CELL into ID_PLAYER_CELL_CHANGE
2017-01-20 10:30:50 +02:00
David Cernat
83277a1512
Send spellbook in LocalPlayer CharGen & change UPDATE action name to SET
2017-01-20 09:07:07 +02:00
David Cernat
0f7748d9d2
When clearing LocalPlayer's spells, keep race and birthsign abilities
2017-01-20 08:06:48 +02:00
David Cernat
33e85c54de
Rename BasePlayer Inventory & Spellbook into PacketItems & PacketSpells
...
This avoids confusion when either of those is used to store and send a single item, and no longer requires coming up with confusing variable names like realSpellbook or realInventory for actual full spellbooks and inventories.
2017-01-19 18:06:59 +02:00
David Cernat
78c6ab2a99
Clean up client Networking by putting item & spell logic in LocalPlayer
2017-01-19 15:18:37 +02:00
David Cernat
b8a6020af1
Check for update to inventory when closing a container
2017-01-19 13:08:24 +02:00
Koncord
b9c3849cc7
Change keycode to scancode
2016-12-30 02:33:44 +08:00
Koncord
7595b33461
Implement spellbook
2016-12-29 21:19:57 +08:00
Koncord
6e6237541a
Fix "comparison between signed and unsigned integer expressions"
2016-12-21 16:13:39 +08: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
2eda48acca
Fix issue #111
2016-12-16 18:13:44 +08:00
Koncord
3ee82a761b
Remove redundant include
2016-12-16 17:51:00 +08:00
Koncord
4371a65fc6
fix spaces
2016-12-16 17:31:41 +08:00
Koncord
9ca206dda9
Add hooks for containers
2016-12-16 17:27:19 +08:00
Koncord
536715cf46
Cleanup tes3mp headers
2016-12-16 16:59:15 +08:00
Koncord
753dc50131
Fix crash if connection has failed
2016-12-03 23:36:53 +08:00
David Cernat
9e290ad799
Fix spacing irregularities
2016-11-21 23:40:50 +02:00
David Cernat
95efb77e53
Implement sending of ID_GAME_SPELLBOOK from client
2016-11-21 06:07:29 +02:00
David Cernat
6ea5f08e9c
Create placeholder for ID_GAME_SPELLBOOK
2016-11-21 02:28:05 +02:00
David Cernat
ae39daf76a
Add and implement ID_MUSIC_PLAY
2016-11-20 22:54:49 +02:00
David Cernat
456aee65d9
Add and implement ClearInventory() script function
2016-11-20 04:06:33 +02:00
David Cernat
80b40bfb70
Prevent inventory requests from making LocalPlayer send inventory twice
2016-11-20 03:21:15 +02:00
David Cernat
843e84ba26
Once again use RakNetGUID as index for player map everywhere
...
Because of frequent server crashes, I tried to simplify the player map indexes with commit c91e240664
, but it had no noticeable effect and was later partially reverted by Koncord in commit 902e968fd9
, apparently for reasons of readability.
For the sake of consistency, this commit completes his reversion.
2016-11-19 22:16:21 +02:00
David Cernat
7f25abb9c8
Implement UnequipItem() script function
2016-11-18 01:50:55 +02:00
David Cernat
c1bd4f1ce3
Use correct item count in LocalPlayer::setEquipment() for new items
2016-11-18 01:33:46 +02:00
David Cernat
fcd24ebb7e
Rename methods to show they deal with Equipment instead of Inventory
2016-11-17 22:33:30 +02:00
David Cernat
3a733eb122
Make tes3mp includes consistent
2016-11-17 17:16:25 +02:00
David Cernat
faea5221d3
Use LocalPlayer's updateInventory() every cell change, not every frame
2016-11-17 15:32:04 +02:00
Koncord
e2522fa366
Simplify LOG macros
2016-11-17 12:39:35 +08:00
David Cernat
eedd40328a
Add and use SendInventory() method in LocalPlayer, and clarify some code
2016-11-16 21:34:46 +02:00
David Cernat
c5c72a3b17
Use consistent names for booleans in LocalPlayer
2016-11-16 20:01:47 +02:00
David Cernat
6cd959fac8
Rename BasePlayer's GetCell() into getCell()
2016-11-16 17:43:58 +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
527024a026
Stop WorldPackets about invalid cells from causing framelistener errors
2016-11-15 19:51:05 +02:00
David Cernat
a430ee011a
Use WorldController to fetch CellStore for WorldPackets received
2016-11-15 19:13:36 +02:00
David Cernat
3dcb8738c1
Create placeholder WorldController class
2016-11-15 18:42:52 +02:00
David Cernat
f7b5e5e638
Ignore packets from server that try to move LocalPlayer to invalid cells
2016-11-12 22:21:02 +02:00
Koncord
c85e6a5f91
Fix sucess chance
2016-11-12 20:43:18 +08:00
Koncord
56959ebfda
Implement magic
2016-11-12 19:39:16 +08:00
David Cernat
729da2c0ba
Improve logic and clarity of LocalPlayer's charGenThread()
...
Until now, the fact that charGenThread() returned false whenever the player had a menu open was preventing Main::UpdateWorld() from running at all with a menu open.
The result was that no player packets from LocalPlayer::Update() were being sent by a player in a menu.
2016-11-11 23:46:17 +02:00
David Cernat
817b63922c
Put DedicatedPlayer in ToddTest if his cell doesn't exist on our client
2016-11-04 20:53:19 +02:00
David Cernat
25afa47e08
Only declare ptrCellStore for WorldPackets that need it
2016-11-04 15:47:55 +02:00
Koncord
37e9cafbf7
Add new API function: SetConsoleAllow
...
example:
tes3mp.SetConsoleAllow(pid, 0) -- disallow console to the player
The console is allowed by default
2016-11-04 03:01:26 +08:00
Koncord
3759127627
Woops
2016-11-04 00:57:51 +08:00
Koncord
adb49b7c7d
Add New GUI dialog: ListBox
...
Example:
local GUI_LISTBOX = 42
function OnPlayerSendMessage(pid, message)
if message == "/lb" then
local items = "consectetur adipiscing elit\nsed do eiusmod tempor incididunt ut labore\net dolore magna aliqua." -- items can be separated through newline
local label = "Lorem ipsum dolor sit amet"
tes3mp.ListBox(pid, GUI_LISTBOX, label, items)
end
end
function OnGUIAction(pid, idGui, data)
if idGui == GUI_LISTBOX then
print("ID: " .. idGui .. " data: " .. tostring(data)) -- if value higher than last item id
end
end
2016-11-04 00:24:16 +08:00
David Cernat
107dacac6d
Add OnPlayerChangeInventory server script callback
2016-11-03 16:39:31 +02:00
David Cernat
66e697953c
Add missing break statement in Networking to prevent default nighttime
2016-10-31 22:53:32 +02:00
David Cernat
31d02e8bf1
Move Networking code for ID_GAME_INVENTORY next to ID_GAME_EQUIPMENT
2016-10-31 17:16:41 +02:00
David Cernat
4621363b65
Make capitalization reflect name of filename, and remove unused check
2016-10-31 01:23:31 +02:00
David Cernat
05cfc918f5
Temporarily use a whitelist for scripts instead of a blacklist
2016-10-30 21:00:54 +02:00
David Cernat
3c4b74cd14
Fix frame listener errors for player markers
2016-10-30 16:39:59 +02:00
David Cernat
9c12aa2141
Fix formatting
2016-10-30 12:58:58 +02:00
David Cernat
41504bd02a
Use more accurate position for ID_OBJECT_PLACE
2016-10-30 00:51:23 +03:00
David Cernat
a4647de048
Break away from OpenMW by giving RefNum indexes to new created objects
2016-10-30 00:21:55 +03:00
David Cernat
937bf97883
Send gold values correctly with ID_OBJECT_PLACE
2016-10-29 00:34:46 +03:00
David Cernat
180aa3f2f3
Send item count ID_WORLD_OBJECT_PLACE
2016-10-28 22:35:01 +03:00
David Cernat
1f982e4dc7
Find objects from world packets using both ID and reference number
2016-10-28 21:31:41 +03:00
David Cernat
d93e66207e
Update player markers only when getting a position packet
2016-10-27 19:09:05 +03:00
David Cernat
46397a7dac
Add and implement ID_OBJECT_ANIM_PLAY
2016-10-27 16:09:02 +03:00
David Cernat
fff6833950
Send ID_SCRIPT_MEMBER_SHORT from MWScript::InterpreterContext
2016-10-27 02:18:27 +03:00
David Cernat
c205e793cb
Add and implement ID_SCRIPT_MEMBER_SHORT
2016-10-27 00:41:14 +03:00
David Cernat
c91e240664
Simplify the type of map that player objects are stored in
2016-10-26 21:36:58 +03:00
David Cernat
65363b0dd1
Avoid sending packets for 9 more ingame scripts
2016-10-26 21:33:13 +03:00
David Cernat
a9f6ea4d8d
Use the name "guid" for RakNet IDs so as to not confuse with int IDs
2016-10-26 15:55:34 +03:00
David Cernat
47854d631b
Avoid sending packets for 2 more ingame scripts
2016-10-26 15:24:53 +03:00
David Cernat
c99c3b1486
Avoid sending packets for 3 additional spammy ingame scripts
2016-10-26 12:43:26 +03:00
David Cernat
97468980af
Add and implement 3 new WorldPackets for ingame script variable values
2016-10-26 12:25:50 +03:00
David Cernat
75f6d82f08
Add a way of filtering out ingame scripts for upcoming script packets
2016-10-25 22:44:15 +03:00
David Cernat
385b5f39e3
Add and implement ID_OBJECT_ROTATE
2016-10-25 14:28:39 +03:00
David Cernat
54ed9a7ab4
Implement ID_OBJECT_MOVE and send it from ingame scripts
2016-10-25 14:07:00 +03:00
David Cernat
c25ebc34b3
Shorten WorldPacket IDs by removing WORLD from them
2016-10-25 12:15:27 +03:00
David Cernat
bdb53e1cb4
Implement ID_WORLD_DOOR_ACTIVATE and send it from MWBase::World
2016-10-25 10:40:55 +03:00
David Cernat
7264f13b8e
Implement ID_WORLD_OBJECT_SCALE and send it from ingame scripts
2016-10-25 00:52:42 +03:00
David Cernat
b2688777c1
Create marker once a player has been initialized properly and fix debug
2016-10-24 21:08:47 +03:00
David Cernat
b6111d16cc
Add and implement ID_WORLD_VIDEO_PLAY
2016-10-24 17:52:19 +03:00
David Cernat
c54af2b02b
Make DedicatedPlayer's setMarkerState method actually enable markers
2016-10-24 16:26:51 +03:00
David Cernat
1e4d625c99
Make player markers show up in exterior cells
2016-10-24 15:29:10 +03:00
David Cernat
04eb051df6
Make markers get removed when their players quit, rename marker methods
2016-10-24 15:10:32 +03:00
David Cernat
3fd93896f2
Add and implement ID_WORLD_OBJECT_LOCK
2016-10-24 13:20:04 +03:00
David Cernat
08ea5163c4
Add and implement ID_WORLD_OBJECT_UNLOCK
2016-10-24 11:26:31 +03:00
David Cernat
e7567020bb
Fix debug for ID_WORLD_OBJECT_DELETE in client's Networking
2016-10-23 19:10:21 +03:00
David Cernat
d85a1ee1a9
Fix errors remaining from merge with tes3mp-packetexpansion
2016-10-23 18:32:03 +03:00
David Cernat
c639337842
Merge with tes3mp-packetexpansion by fixing conflicts
...
# Conflicts:
# apps/openmw-mp/Networking.cpp
# apps/openmw/mwmp/Networking.cpp
# components/CMakeLists.txt
# components/openmw-mp/NetworkMessages.hpp
# components/openmw-mp/PacketsController.cpp
2016-10-23 17:57:38 +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
Koncord
df3886168f
Word wrapping in chat
2016-10-23 14:33:43 +08:00
Koncord
c27351c19e
Implement inventory functions
...
AddItem, RemoveItem, GetItemName, GetItemCount, GetItemHealth, GetInventorySize SendInventory
Example:
```lua
tes3mp.AddItem(pid, "glass dagger", 1, 50)
tes3mp.AddItem(pid, "glass dagger", 1, -1)
tes3mp.SendInventory(pid)
tes3mp.RemoveItem(pid, "glass dagger", 1)
tes3mp.SendInventory(pid)
local invSize = tes3mp.GetInventorySize(pid) - 1
for i = 0, invSize do
print(("%s %d %d"):format(tes3mp.GetItemName(pid, i), tes3mp.GetItemCount(pid, i), tes3mp.GetItemHealth(pid, i)))
end
```
2016-10-23 02:57:49 +08: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
2e57e25675
Only delete object from ID_WORLD_OBJECT_DELETE if it actually exists
2016-10-22 18:19:57 +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
David Cernat
cc98a25dcf
Add searchByRefNum method to OpenMW's CellStore
2016-10-22 16:47:11 +03:00
David Cernat
92463c4a03
Fix Windows server crash caused by printing event->CellRef()->mRefID
2016-10-22 14:13:16 +03:00
David Cernat
8080cceac6
Add some placeholder code so Stanislav can test it
2016-10-22 12:45:19 +03:00
Stanislav Zhukov
81dfd21d9a
Merge pull request #76 from TES3MP/tes3mp-minimap
...
Show dedicated players on minimap
2016-10-22 17:21:02 +08:00
Koncord
b704519078
Show dedicated players on minimap
2016-10-22 17:06:26 +08:00
David Cernat
565e7e4b9f
Create and implement placeholder for ID_WORLD_OBJECT_CREATION
2016-10-21 21:57:05 +03:00
David Cernat
32dc8cf63f
Read contents of ID_WORLD_OBJECT_REMOVAL on client
2016-10-21 20:44:15 +03:00
David Cernat
36f218876a
Add ProcessPlayerPacket and ProcessWorldPacket to client's Networking
2016-10-21 19:23:56 +03:00
David Cernat
b2845cd17c
Create and start using WorldEvent class
2016-10-20 14:28:19 +03:00
David Cernat
f218613231
Rename client Networking's GetPacket method into GetPlayerPacket
2016-10-19 22:49:35 +03:00
David Cernat
790d41e278
Move PlayerPackets into their own subfolder
2016-10-19 19:37:10 +03:00
David Cernat
d2212ef80b
Rename PacketsController into PlayerPacketController
2016-10-19 16:31:07 +03:00
David Cernat
b8f4cb94fb
Rename BasePacket into PlayerPacket
2016-10-17 15:54:36 +03:00
David Cernat
14bac1e533
Make player markers appear on inventory map
2016-10-09 13:41:00 +03:00
David Cernat
07acd7a721
Make player markers work in interiors and make them easier to test
2016-10-09 10:29:30 +03:00
Koncord
2e81034e53
Started work on the map markers
2016-10-07 13:17:44 +08:00
Koncord
fa0a55c2a9
Fix use of freed memory
2016-10-01 10:54:42 +08:00
David Cernat
e0361835b0
Allow script-induced setting of equipment
2016-09-30 12:36:20 +03:00
David Cernat
728a09e423
Reorder functions in LocalPlayer and make their names more consistent
2016-09-30 08:59:58 +03:00
David Cernat
6650b74498
Add handling of skill increases
2016-09-30 07:15:59 +03:00
David Cernat
f4621d8529
Use setLevelProgress when setting LocalPlayer's skills
2016-09-30 06:27:26 +03:00
David Cernat
a0e9a672a5
Split updateClassStats in 3 and add handling of level progress
2016-09-30 04:52:21 +03:00
David Cernat
2ab619b0e3
Constantly update skill progress from LocalPlayer
2016-09-30 03:43:49 +03:00
David Cernat
6ae4cc15e4
Clean up handling of stat packets on client, part 2
2016-09-29 17:48:33 +03:00
David Cernat
5efa5aa912
Fix indentation
2016-09-29 13:17:46 +03:00
David Cernat
afbd3274cc
Clean up handling of stat packets on client
2016-09-29 13:10:32 +03:00
David Cernat
bc0aa86bcf
Make variable names more consistent and easier to understand
2016-09-29 12:05:44 +03:00
David Cernat
694ce537b6
Allow script-induced dynamic stat changes, part 2
2016-09-29 11:02:57 +03:00