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
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