Commit Graph

216 Commits (experimental-mono)

Author SHA1 Message Date
David Cernat 5bd2fdcf66 [Server] Add OnObjectScale callback, and set scale for WorldObject 8 years ago
David Cernat 8c019f2c61 [Server] Update OnObjectPlace and OnObjectDelete callbacks 8 years ago
David Cernat 5eff2ece21 [Server] Fix memory leaks related to WorldEvents as suggested by Koncord 8 years ago
David Cernat b549da996e [Server] On second thought, keep cell description as argument to them 8 years ago
David Cernat 5989bbd97e [Server] Remove arguments from OnObjectPlace & OnObjectDelete callbacks 8 years ago
David Cernat 2cecce6c72 [Server] Use static WorldEvent variable in Networking 8 years ago
David Cernat 9f1e491a75 [General] Make WorldEvents store information about multiple objects 8 years ago
David Cernat 4f288ab558 [Server] Read contents of ID_PLAYER_CELL_STATE 8 years ago
David Cernat 96bd21a7ca [Server] Rename OnPlayerCellLoad to OnPlayerCellState, add action param 8 years ago
David Cernat 244da19a51 [General] Turn ID_PLAYER_CELL_LOAD into ID_PLAYER_CELL_STATE for clarity 8 years ago
David Cernat 73d39c1a0a [General] Stop using virtual functions in BasePlayer, part 2 8 years ago
David Cernat 63c8a98083 [General] Stop using virtual functions in BasePlayer 8 years ago
David Cernat c62a575a9e [Server] Change order of words in the names of script callbacks 8 years ago
David Cernat 1d9c6ddd81 [General] Add placeholders for the new packet ID_PLAYER_CELL_LOAD 8 years ago
David Cernat 25e535e8ad [Server] Fix integer types for new script callbacks 8 years ago
David Cernat f9feaf05f0 [Server] Add script callbacks for object placement and deletion 8 years ago
David Cernat 68727751ed Fix arguments for OnPlayerChangeSpellbook in server Networking 8 years ago
David Cernat 869b32383e Fix arguments for OnPlayerChangeJournal in server Networking 8 years ago
David Cernat e2c595fc5d Add preliminary structure for journal changes 8 years ago
David Cernat e9b22814b9 Create placeholder for ID_GAME_JOURNAL 8 years ago
David Cernat a69f294ef0 Rename ID_GAME_CELL into ID_PLAYER_CELL_CHANGE 8 years ago
David Cernat e7675d94d4 Make server script functions for spells consistent with those from items 8 years ago
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.
8 years ago
Koncord f510a5583f Move MasterClient to Networking class
Rename MOTD to hostname
8 years ago
Koncord b5c586d5b7 Add and implement ID_MASTER_QUERY 8 years ago
Koncord 97dd8704a3 Ignore ping packets 8 years ago
Koncord 7595b33461 Implement spellbook 8 years ago
Koncord af7b232789 Fix type mismatch 8 years ago
Koncord 0d9a4f2b6f Fix "Unhandled PlayerPacket with identifier 135" 8 years ago
Koncord f74734cfba Fix server crash if player is not fully connected 8 years ago
David Cernat 4e23fc0a5b Send action parameter to OnPlayerChangeSpellbook 8 years ago
David Cernat 9e290ad799 Fix spacing irregularities 8 years ago
David Cernat 95efb77e53 Implement sending of ID_GAME_SPELLBOOK from client 8 years ago
David Cernat 6ea5f08e9c Create placeholder for ID_GAME_SPELLBOOK 8 years ago
David Cernat ae39daf76a Add and implement ID_MUSIC_PLAY 8 years ago
Koncord 902e968fd9 Use RakNetGUID instead uint64_t in TPlayers 8 years ago
Koncord e2359b01ea Use constant instead magic value 8 years ago
Koncord e2522fa366 Simplify LOG macros 8 years ago
David Cernat ad43cb5473 Revert "Use lowerCamelCase in tes3mp server script function names, part 2"
This reverts commit 80d16fe1fd.
8 years ago
David Cernat 6cd959fac8 Rename BasePlayer's GetCell() into getCell() 8 years ago
David Cernat 80d16fe1fd Use lowerCamelCase in tes3mp server script function names, part 2 8 years ago
David Cernat 25dc2b19e7 Use lowerCamelCase in tes3mp server networking function names 8 years ago
David Cernat 7be86388db Fix build for server 8 years ago
Koncord 82f202c891 Implement GetAvgPing(pid) function 8 years ago
David Cernat 107dacac6d Add OnPlayerChangeInventory server script callback 8 years ago
David Cernat 31d02e8bf1 Move Networking code for ID_GAME_INVENTORY next to ID_GAME_EQUIPMENT 8 years ago
David Cernat 373011f883 Only send information to POSTLOADED player about other POSTLOADED ones 8 years ago
David Cernat 05cfc918f5 Temporarily use a whitelist for scripts instead of a blacklist 8 years ago
David Cernat 621faf368e Fix server crash caused by invalid player GUIDs, 2nd attempt 8 years ago
David Cernat ffb7683a5f Use suicide as death reason when an attacker leaves the server 8 years ago
David Cernat eebe1f156a Change logic for death reasons so it makes sense 8 years ago
David Cernat 3c88f6f0cd Fix server crash caused by invalid player GUIDs 8 years ago
David Cernat 46397a7dac Add and implement ID_OBJECT_ANIM_PLAY 8 years ago
David Cernat c205e793cb Add and implement ID_SCRIPT_MEMBER_SHORT 8 years ago
David Cernat c91e240664 Simplify the type of map that player objects are stored in 8 years ago
David Cernat 2032bf9cad Fix typo in debug 8 years ago
David Cernat 97468980af Add and implement 3 new WorldPackets for ingame script variable values 8 years ago
David Cernat 385b5f39e3 Add and implement ID_OBJECT_ROTATE 8 years ago
David Cernat 0fb9b6eefb On second thought, rename ID_OBJECT_MOVE_WORLD into ID_OBJECT_MOVE 8 years ago
David Cernat 947a677801 Replace ID_ACTIVATOR_ACTIVATE with ID_OBJECT_MOVE_WORLD 8 years ago
David Cernat c25ebc34b3 Shorten WorldPacket IDs by removing WORLD from them 8 years ago
David Cernat 52d156e136 Make server able to receive the 5 new WorldPackets 8 years ago
David Cernat 24bfe40bf7 Add debug about current server crash 8 years ago
David Cernat b6111d16cc Add and implement ID_WORLD_VIDEO_PLAY 8 years ago
David Cernat 3fd93896f2 Add and implement ID_WORLD_OBJECT_LOCK 8 years ago
David Cernat 08ea5163c4 Add and implement ID_WORLD_OBJECT_UNLOCK 8 years ago
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
8 years ago
David Cernat 0a44bea91d Send cell coordinates in tes3mp using mData instead of mCellId.mIndex 8 years ago
David Cernat cbc132612a Use mRefNum.mIndex instead of just mRefNum and add extra debug 8 years ago
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
```
8 years ago
David Cernat 3c49157ed7 Rename WorldPackets to ID_WORLD_OBJECT_DELETE and ID_WORLD_OBJECT_PLACE 8 years ago
David Cernat 92463c4a03 Fix Windows server crash caused by printing event->CellRef()->mRefID 8 years ago
David Cernat 8080cceac6 Add some placeholder code so Stanislav can test it 8 years ago
David Cernat 565e7e4b9f Create and implement placeholder for ID_WORLD_OBJECT_CREATION 8 years ago
David Cernat ac666edebd Add a CellRef to WorldEvent 8 years ago
David Cernat d0328f2553 Add placeholder ProcessWorldPacket method to server's Networking 8 years ago
David Cernat 2602c1f71a Add ProcessPlayerPacket method to server's Networking 8 years ago
David Cernat f1ec01cc6b Add WorldPacketController to server's Networking 8 years ago
David Cernat bda1f867fd Rename server's GetController() method into GetPlayerController() 8 years ago
David Cernat d2212ef80b Rename PacketsController into PlayerPacketController 8 years ago
David Cernat 5e0c0dd5f1 Use logger in server's Networking MainLoop 8 years ago
David Cernat b8f4cb94fb Rename BasePacket into PlayerPacket 8 years ago
Koncord bd1b1fca64 Woops 8 years ago
Koncord 50d989d767 Fix server crash if player is not fully connected 8 years ago
Koncord 79532cf797 Detecting reason of death 8 years ago
Koncord 94d5efdfd3 Call LOG_QUIT after Networking's dtor call 8 years ago
David Cernat 433190d82e Rename OnPlayerUpdateEquiped into OnPlayerChangeEquipment 8 years ago
David Cernat b6086ab015 Rename ID_GAME_DYNAMICSTATS_CURRENT into ID_GAME_DYNAMICSTATS 8 years ago
David Cernat 57f07813b0 Rename ID_GAME_UPDATE_POS into ID_GAME_POS 8 years ago
David Cernat 26487598a6 Rename ID_GAME_UPDATE_EQUIPED into ID_GAME_EQUIPMENT 8 years ago
David Cernat ce4b326b02 Rename ID_GAME_UPDATE_BASESTATS into ID_GAME_DYNAMICSTATS_CURRENT 8 years ago
David Cernat 046a1ea899 Add packet for player levels 8 years ago
David Cernat 9690e007df Don't send unhandled skill and attribute requests to joining players 8 years ago
Koncord 24617589e4 Fix packet spam 8 years ago
Koncord 96e2d749c7 New auth protocol 8 years ago
Koncord 11eae277a9 Characters Class API
Added some new functions
8 years ago
David Cernat 486de67d84 Make handshake log message less confusing 8 years ago
David Cernat 7691bcc958 Add server script callbacks for attribute and skill changes 8 years ago
David Cernat 03d6e0cb62 Send attributes and skills to server whenever they change 8 years ago
David Cernat c4f49e05e3 Remove manual newlines for logger 8 years ago
Koncord d3c9864fb0 Fix maximum connections 8 years ago
David Cernat cba01af683 Log player initialization on server 8 years ago
David Cernat 2337a0becb Add LOG_APPEND method for writing to log without timestamp and level 8 years ago
David Cernat f4744f8547 Add additional log info 8 years ago
David Cernat 97f944dde7 Use logger for most console messages 8 years ago
David Cernat a2dbeb6c95 Share skills and attributes correctly upon logging in, and fix grammar 8 years ago
David Cernat e5cb58e7c4 Add debug info about ID_GAME_BASE_INFO packets 8 years ago
David Cernat 8eda381016 Make formatting consistent, part 2 9 years ago
David Cernat 1363c4c5b6 Make formatting consistent 9 years ago
David Cernat 38c8d2344b Uncomment sending of stats packets to and from new players 9 years ago
Koncord c695923825 Added master server stuff 9 years ago
Koncord 7898b1181d Reduced package size 9 years ago
Koncord a815d013fe Reducing CPU usage for server 9 years ago
Koncord 9ab77cb123 New API functions: MessageBox, CustomMessageBox, InputDialog
New Callback: OnGUIAction
9 years ago
Koncord 299c4c904e Resurrect function 9 years ago
Koncord 1b259e2d33 Syncing inventory, animations, position, 8 key attributes
Created Package system
9 years ago