1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 09:19:58 +00:00
Commit graph

678 commits

Author SHA1 Message Date
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
David Cernat
18cd964d21 Allow script-induced dynamic stat changes 2016-09-29 10:19:39 +03:00
David Cernat
16216b30f7 Fix formatting 2016-09-28 14:27:35 +03:00
David Cernat
b6086ab015 Rename ID_GAME_DYNAMICSTATS_CURRENT into ID_GAME_DYNAMICSTATS 2016-09-28 14:13:24 +03:00
David Cernat
57f07813b0 Rename ID_GAME_UPDATE_POS into ID_GAME_POS 2016-09-28 11:45:14 +03:00
David Cernat
26487598a6 Rename ID_GAME_UPDATE_EQUIPED into ID_GAME_EQUIPMENT 2016-09-28 11:36:29 +03:00
David Cernat
0479eb38cc Update protocol version and make version mismatch error less confusing 2016-09-28 08:26:18 +03:00
David Cernat
ce4b326b02 Rename ID_GAME_UPDATE_BASESTATS into ID_GAME_DYNAMICSTATS_CURRENT 2016-09-28 07:50:16 +03:00
David Cernat
4d7130b12f Improve logic for script-induced cell changes 2016-09-27 11:28:44 +03:00
David Cernat
01af4f3bbc Update position before sending cell packet 2016-09-26 17:00:09 +03:00
David Cernat
1ee2458f6e Add packet for player levels, part 2 2016-09-26 13:19:01 +03:00
David Cernat
046a1ea899 Add packet for player levels 2016-09-25 14:28:25 +03:00
David Cernat
9690e007df Don't send unhandled skill and attribute requests to joining players 2016-09-19 11:06:04 +03:00
Koncord
24617589e4 Fix packet spam 2016-09-18 15:52:26 +08:00
Koncord
96e2d749c7 New auth protocol 2016-09-18 11:55:51 +08:00
Koncord
1e48555617 Make sensitivity to protocol version 2016-09-18 11:55:51 +08:00
David Cernat
5b6caa7b2c Fix build by adding missing argument to onHit 2016-09-15 09:34:05 +03:00
Koncord
0f7670dd07 Add some verbose messages for chat 2016-09-10 13:57:15 +08:00
Koncord
a34d46f57e Add chat messages to log in client
Cleanup redundant code in GUIChat class
2016-09-10 13:40:06 +08:00
Koncord
ab6d6d1cc8 Fix log message in Networking::Connect() 2016-09-04 16:18:53 +08:00
Koncord
d110834ee7 Fix log message in Networking::Update() 2016-09-04 16:03:07 +08:00
David Cernat
81999a8179 Remove outdated ID_GAME_UPDATE_SKILLS packet, part 2 2016-09-02 07:58:20 +03:00
David Cernat
8abef0bebe Remove outdated ID_GAME_UPDATE_SKILLS packet 2016-09-02 07:36:39 +03:00
David Cernat
dafc6c0843 Save and load birthsigns 2016-09-02 06:57:13 +03:00
David Cernat
941d76fce0 Fix setting of default classes and initialize classes safely on server 2016-09-02 04:31:35 +03:00
Koncord
534ef527b9 Fix my stupid epic fail 2016-09-02 07:35:53 +08:00
David Cernat
263efa9988 Fix formatting, part 2 2016-08-30 12:37:36 +03:00
David Cernat
a20e7890a2 Fix formatting 2016-08-30 10:52:30 +03:00
Koncord
cf1a0113a1 Time API 2016-08-30 13:24:42 +08:00
Koncord
11eae277a9 Characters Class API
Added some new functions
2016-08-30 11:18:19 +08:00
Koncord
a03c2f5019 Now server & client sensitive to version 2016-08-27 15:36:22 +08:00
Koncord
8a5e32c631 Show the InputBox only if queue is free 2016-08-27 13:58:06 +08:00
Koncord
4c2415e9db Fix focus for InputDialog
Created a special pipe for future GUI modes.
2016-08-27 13:40:11 +08:00
David Cernat
00e7810428 Add script functions for saving and loading non-custom player classes 2016-08-27 00:14:50 +03:00
David Cernat
7bb6020e51 Display message boxes when client is disconnected. 2016-08-25 02:58:03 +03:00
Koncord
1b403719f5 Merged branch master into master 2016-08-24 16:15:56 +08:00
Koncord
997c62cc52 Add --connect option to client 2016-08-24 16:15:34 +08:00
David Cernat
77aff346e9 Fix typo in method name "getGUIConroller", part 2 2016-08-24 05:55:02 +03:00
David Cernat
63eebd3d18 Respawn players in Fort Pelagiad instead of ToddTest for the time being 2016-08-24 05:32:40 +03:00
David Cernat
d830937f4e Fix typo in method name "getGUIConroller" 2016-08-24 04:48:35 +03:00
David Cernat
5385563972 Let players inform others about Lua script-induced cell & pos changes 2016-08-24 02:53:39 +03:00
David Cernat
7b187d0295 Fix visual glitch when jumping without adjusting camera afterwards 2016-08-23 22:27:12 +03:00
David Cernat
03d6e0cb62 Send attributes and skills to server whenever they change 2016-08-23 02:24:10 +03:00
David Cernat
ce5553cda6 Get hand-to-hand attack victim's stats if there actually is a victim 2016-08-23 01:23:09 +03:00
David Cernat
c4f49e05e3 Remove manual newlines for logger 2016-08-19 07:54:10 +03:00
Koncord
90215f4e7c Fix log messages for GCC compatibility 2016-08-19 09:37:24 +08:00
David Cernat
2337a0becb Add LOG_APPEND method for writing to log without timestamp and level 2016-08-18 23:17:46 +03:00
David Cernat
f4744f8547 Add additional log info 2016-08-18 22:29:54 +03:00
David Cernat
97f944dde7 Use logger for most console messages 2016-08-18 20:20:17 +03:00
David Cernat
a2dbeb6c95 Share skills and attributes correctly upon logging in, and fix grammar 2016-08-18 05:21:25 +03:00
Koncord
35991fcd15 Add logger to client 2016-08-18 07:58:37 +08:00
David Cernat
e5cb58e7c4 Add debug info about ID_GAME_BASE_INFO packets 2016-08-17 21:18:04 +03:00
David Cernat
8eda381016 Make formatting consistent, part 2 2016-08-17 18:20:36 +03:00
David Cernat
1363c4c5b6 Make formatting consistent 2016-08-17 18:04:35 +03:00
David Cernat
1bbd7c271f Add fail-safes to DedicatedPlayer cell updating to narrow down problems 2016-08-17 07:27:40 +03:00
David Cernat
aa69c156c7 Fix race-related graphical glitches when players spawn 2016-08-17 01:06:50 +03:00
Koncord
2bdacc950b Fix messagebox in connection failed 2016-08-09 18:25:52 +08:00
Koncord
edd214dd00 Removed redundant requestQuit 2016-08-09 18:19:03 +08:00
Koncord
1022b6b27c Fix a header size 2016-08-06 03:28:01 +08:00
Koncord
7898b1181d Reduced package size 2016-08-05 14:21:09 +08:00
Koncord
e4e17ca4b9 Close #30 2016-08-05 00:31:15 +08:00
David Cernat
8dd8e22a0b Replace tabs with spaces in LocalPlayer changes 2016-08-04 00:55:28 +03:00
David Cernat
3362902396 Update position after changing cell (for real) 2016-08-04 00:03:05 +03:00
David Cernat
b0bd10f219 Allow script-based teleportation from interior to exterior cell 0,0 2016-08-03 22:07:49 +03:00
Koncord
31e2ab54d6 Revert "Update position after changing cell"
This reverts commit 5e072b9d3c.
2016-07-30 04:57:43 +08:00
Koncord
5e072b9d3c Update position after changing cell 2016-07-30 04:12:47 +08:00
Koncord
7107136808 New API
SetExterior(pid, x, y)
GetExteriorX(pid)
GetExteriorY(pid)

also "SetCell" will now move to the named external cells (e.g. SetCell(pid, "Balmora"))
2016-07-30 01:33:28 +08:00
Koncord
1e3eff91ac Merged branch tes3mp-gui into tes3mp-gui 2016-07-23 22:08:01 +08:00
Koncord
9ab77cb123 New API functions: MessageBox, CustomMessageBox, InputDialog
New Callback: OnGUIAction
2016-07-23 22:02:06 +08:00
Stanislav Zhukov
fe50394f4d Fix movement desync
I think this should fix all movements desyncs
2016-07-22 23:40:34 +08:00
davidcernat
ab309180c2 Add useful debug info for cell changes 2016-07-21 23:07:37 +03:00
davidcernat
3c8543bfaf Make player references cross exterior cells only when called by server
Previously, clientside representations of players were able to move to a new exterior cell once during their movement tick and then again when sending a cell change packet to the server. Besides causing crashes in CellRef because of a messy cell-changing record, this also led to major desyncs.

Clientside representations of players can now only change their cells when a server-sent cell change packet specifically allows it.
2016-07-20 03:26:25 +03:00
Aesylwinn
3483b54df5 Build fix. 2016-07-18 00:05:27 -04:00
davidcernat
7bf08e5e5a Fix transition between exterior cells for non-local players
Make the local player send a packet whenever moving from one exterior cell to another, don't require objects to have RefNums to be moved correctly between exterior cells, and increase the packet priority for cell changes.
2016-07-17 22:03:20 +03:00
Koncord
6f07d590d4 Fix SetPos and SetAngle functions
Fix types for SetPos and SetAngle
2016-07-17 17:59:46 +08:00
Stanislav Zhukov
b09e4a0218 Fix chat 'y'
Now you can close chat only if pressed 'Enter'.
2016-07-13 03:21:30 +08:00
Koncord
1b259e2d33 Syncing inventory, animations, position, 8 key attributes
Created Package system
2016-07-07 23:50:48 +08:00
Koncord
1e29409dd5 Add OpenMW-mp target 2016-07-07 23:50:38 +08:00
Koncord
4be6b362c5 Add OpenMW-mp target 2016-01-04 20:15:55 +08:00