Commit Graph

239 Commits (experimental)

Author SHA1 Message Date
David Cernat 35e453dec3 [General] Sketch out most of functionality for journal saving/loading 8 years ago
David Cernat d308897f95 Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges 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 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 7595b33461 Implement spellbook 8 years ago
Koncord 6e6237541a Fix "comparison between signed and unsigned integer expressions" 8 years ago
Koncord 561a88d441 Fix "comparison between signed and unsigned integer expressions" 8 years ago
Koncord b1bb552b65 Add packet ActiveSkills 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 6c8c0827ea Move RequestData() method to BasePacket 8 years ago
David Cernat fd6dd5daa8 Fix packetID for new packet 8 years ago
David Cernat ae39daf76a Add and implement ID_MUSIC_PLAY 8 years ago
David Cernat 6cd959fac8 Rename BasePlayer's GetCell() into getCell() 8 years ago
David Cernat fa9d6e810e Use lowerCamelCase in tes3mp client function names like OpenMW does 8 years ago
Koncord 37e9cafbf7 Add new API function: SetConsoleAllow
example:
tes3mp.SetConsoleAllow(pid, 0) -- disallow console to the player

The console is allowed by default
8 years ago
David Cernat 41504bd02a Use more accurate position for ID_OBJECT_PLACE 8 years ago
David Cernat 937bf97883 Send gold values correctly with ID_OBJECT_PLACE 8 years ago
David Cernat 180aa3f2f3 Send item count ID_WORLD_OBJECT_PLACE 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 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 54ed9a7ab4 Implement ID_OBJECT_MOVE and send it from ingame scripts 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 bdb53e1cb4 Implement ID_WORLD_DOOR_ACTIVATE and send it from MWBase::World 8 years ago
David Cernat 7264f13b8e Implement ID_WORLD_OBJECT_SCALE and send it from ingame scripts 8 years ago
David Cernat 4f0a3e8aa1 Add placeholders for 5 new WorldPackets 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 d85a1ee1a9 Fix errors remaining from merge with tes3mp-packetexpansion 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
David Cernat 17f66e4e90 Implement ID_WORLD_OBJECT_PLACE 8 years ago
David Cernat d0027ae3e7 Set correct packetID for ID_WORLD_OBJECT_PLACE 8 years ago
Koncord 77257b0721 Build fix 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 6e43baf73e Send Cell instead of CellId because of problems with the latter 8 years ago
David Cernat 103b1e3f72 Send CellId in ID_WORLD_OBJECT_DELETE 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 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 b2845cd17c Create and start using WorldEvent class 8 years ago
David Cernat 285f89573d Create placeholders for WorldPacket classes 8 years ago
David Cernat 790d41e278 Move PlayerPackets into their own subfolder 8 years ago
David Cernat d99463d752 Fix show-stopping mistake in PlayerPacket 8 years ago
David Cernat 5e0c0dd5f1 Use logger in server's Networking MainLoop 8 years ago
David Cernat fcc793a0af Create a new BasePacket that PlayerPacket inherits from 8 years ago
David Cernat b8f4cb94fb Rename BasePacket into PlayerPacket 8 years ago
David Cernat 6650b74498 Add handling of skill increases 8 years ago
David Cernat a0e9a672a5 Split updateClassStats in 3 and add handling of level progress 8 years ago
David Cernat bc0aa86bcf Make variable names more consistent and easier to understand 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 b65deca2ae Remove unused PacketRotation and PacketCreateProjectile 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 4d7130b12f Improve logic for script-induced cell changes 8 years ago
David Cernat 046a1ea899 Add packet for player levels 8 years ago
David Cernat 3e2fec973d Remove leftover variable 8 years ago
Koncord fe370fa995 Add PacketLoaded 8 years ago
Koncord 5eaad1b92e again fix headerSize 8 years ago
David Cernat 81999a8179 Remove outdated ID_GAME_UPDATE_SKILLS packet, part 2 8 years ago
David Cernat 8abef0bebe Remove outdated ID_GAME_UPDATE_SKILLS packet 8 years ago
David Cernat 970e9aff2f Remove old class methods and don't include class in ID_GAME_BASE_INFO 8 years ago
David Cernat a20e7890a2 Fix formatting 8 years ago
Koncord cf1a0113a1 Time API 8 years ago
Koncord 3405e36ce4 Woops part 2 8 years ago
Koncord 118ab32c9b Woops 8 years ago
Koncord a661de2a84 PacketClass 8 years ago
Koncord 554810fbeb Removed redundant const in headerSize() 8 years ago
David Cernat 8eda381016 Make formatting consistent, part 2 8 years ago
Koncord 32a2327f59 fix header size 9 years ago
Koncord 1022b6b27c Fix a header size 9 years ago
Koncord 7898b1181d Reduced package size 9 years ago
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"))
9 years ago
Koncord 1e3eff91ac Merged branch tes3mp-gui into tes3mp-gui 9 years ago
Koncord 9ab77cb123 New API functions: MessageBox, CustomMessageBox, InputDialog
New Callback: OnGUIAction
9 years ago
Stanislav Zhukov 917fa63f5c Fixed security issue 9 years ago
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.
9 years ago
Koncord 1b259e2d33 Syncing inventory, animations, position, 8 key attributes
Created Package system
9 years ago