Commit Graph

13316 Commits (6229269506aa00e225e209ac0827aa0a2c8266b3)

Author SHA1 Message Date
Koncord 799842b5da Reduce using of the CPU 8 years ago
Koncord 56959ebfda Implement magic 8 years ago
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.
8 years ago
David Cernat dc5bb32f2a Merge pull request #100 from OpenMW/master
Add OpenMW commits up to 11 Nov
8 years ago
scrawl f0d5cf7afb Merge pull request #1112 from Assumeru/waterwalking
Move actors out of the water if there's room for them. Fixes #1138
8 years ago
Assumeru 05cc258ed3 Start trace from collision object origin 8 years ago
Assumeru 99bc4f733f Trace up to waterlevel + halfextent 8 years ago
David Cernat 48ca4d29bc Merge pull request #99 from OpenMW/master
Add OpenMW commits up to 7 Nov
8 years ago
scrawl 92d42ef49b Merge pull request #1123 from Allofich/warnings
Fix dereference of null pointer warning
8 years ago
Allofich c7313606f5 Fix dereference of null pointer warning 8 years ago
David Cernat 8aaf44e5a8 Fix accidental line duplication 8 years ago
David Cernat ec211e58d0 Merge pull request #98 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/CMakeLists.txt
8 years ago
MiroslavR e80636f0ca Improve performance of repairing/recharging (Fixes #2493) 8 years ago
Nikolay Kasyanov 3adf4cb97f Link OpenMW with libz on macOS 8 years ago
Nikolay Kasyanov 0115a3a874 Revert "Link OpenMW with libz on macOS"
This reverts commit 0c4dd05118.
8 years ago
Nikolay Kasyanov 0c4dd05118 Link OpenMW with libz on macOS 8 years ago
scrawl d8b506155e Merge pull request #1118 from MiroslavR/resize-perf
Fix horrible performance when resizing/moving the settings window
8 years ago
David Cernat 817b63922c Put DedicatedPlayer in ToddTest if his cell doesn't exist on our client 8 years ago
David Cernat 4d053743a0 Merge branch 'master' of https://github.com/TES3MP/openmw-tes3mp 8 years ago
David Cernat 25afa47e08 Only declare ptrCellStore for WorldPackets that need it 8 years ago
Koncord 82f202c891 Implement GetAvgPing(pid) function 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
Koncord 3759127627 Woops 8 years ago
Koncord 6f6993255a Fix string in breakpad() 8 years ago
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
8 years ago
David Cernat 107dacac6d Add OnPlayerChangeInventory server script callback 8 years ago
David Cernat 6ff47bbde9 Merge pull request #93 from OpenMW/master
Add OpenMW commits from 1 Nov
8 years ago
Nikolay Kasyanov 5d4734c02e Use local path from configuration manager to load openmw.cfg in launcher 8 years ago
MiroslavR 5cd04af3fa Fix horrible performance when resizing/moving the settings window
Resize widgets instead of reconstructing them.
8 years ago
David Cernat 66e697953c Add missing break statement in Networking to prevent default nighttime 8 years ago
David Cernat 31d02e8bf1 Move Networking code for ID_GAME_INVENTORY next to ID_GAME_EQUIPMENT 8 years ago
David Cernat 06152fde77 Stop player-controlled NPCs from reporting crimes committed by players 8 years ago
David Cernat 4621363b65 Make capitalization reflect name of filename, and remove unused check 8 years ago
David Cernat 373011f883 Only send information to POSTLOADED player about other POSTLOADED ones 8 years ago
David Cernat cd798d5f23 Merge pull request #89 from OpenMW/master
Add OpenMW commits up to 30 Oct
8 years ago
scrawl e0f613661e Fix char -> int, fix shadowing warning 8 years ago
David Cernat 05cfc918f5 Temporarily use a whitelist for scripts instead of a blacklist 8 years ago
scrawl cac8de0b29 Merge pull request #1116 from Allofich/paused
Don't update ripple simulation when paused
8 years ago
scrawl e5cb7306c3 Merge pull request #1115 from Allofich/conversion
Fix narrowing conversion warning
8 years ago
Allofich 19db070fca Don't update ripple simulation when paused 8 years ago
David Cernat 621faf368e Fix server crash caused by invalid player GUIDs, 2nd attempt 8 years ago
Allofich 68ed264f40 Fix narrowing conversion warning 8 years ago
David Cernat ffb7683a5f Use suicide as death reason when an attacker leaves the server 8 years ago
Allofich 125e94ef0e Fix shadowing warnings 8 years ago
David Cernat 3c4b74cd14 Fix frame listener errors for player markers 8 years ago
David Cernat eebe1f156a Change logic for death reasons so it makes sense 8 years ago
David Cernat 9c12aa2141 Fix formatting 8 years ago
David Cernat 6929cd6c4c Delete debug about player map that is no longer needed 8 years ago
David Cernat cee7843576 Send ID_OBJECT_DELETE when taking world items through inventory screen 8 years ago
David Cernat 41504bd02a Use more accurate position for ID_OBJECT_PLACE 8 years ago
David Cernat a4647de048 Break away from OpenMW by giving RefNum indexes to new created objects 8 years ago
David Cernat 3c88f6f0cd Fix server crash caused by invalid player GUIDs 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 1f982e4dc7 Find objects from world packets using both ID and reference number 8 years ago
David Cernat d93e66207e Update player markers only when getting a position packet 8 years ago
David Cernat 7f98cddfdf Don't send animation packets from blacklisted scripts 8 years ago
David Cernat e414261121 Send ID_OBJECT_ANIM_PLAY from ingame scripts 8 years ago
David Cernat 46397a7dac Add and implement ID_OBJECT_ANIM_PLAY 8 years ago
David Cernat 344f2b535a Fix setting of index for ID_SCRIPT_MEMBER_SHORT in InterpreterContext 8 years ago
David Cernat fff6833950 Send ID_SCRIPT_MEMBER_SHORT from MWScript::InterpreterContext 8 years ago
David Cernat d5fca115f7 Fix variable name for ID_SCRIPT_GLOBAL_SHORT in InterpreterContext 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 65363b0dd1 Avoid sending packets for 9 more ingame scripts 8 years ago
David Cernat 2032bf9cad Fix typo in debug 8 years ago
David Cernat a9f6ea4d8d Use the name "guid" for RakNet IDs so as to not confuse with int IDs 8 years ago
David Cernat 47854d631b Avoid sending packets for 2 more ingame scripts 8 years ago
David Cernat c99c3b1486 Avoid sending packets for 3 additional spammy ingame scripts 8 years ago
David Cernat 749c6db49e Send WorldPackets with script values from MWScript::InterpreterContext 8 years ago
David Cernat 97468980af Add and implement 3 new WorldPackets for ingame script variable values 8 years ago
Assumeru 25d64989b3 Check if the actor still exists /first/ 8 years ago
David Cernat e7ebeb8eec Stop sending ID_OBJECT_MOVE and ID_OBJECT_ROTATE from scripts, because it clashes with syncing script variable values across players and makes movements and rotations happen twice 8 years ago
David Cernat 75f6d82f08 Add a way of filtering out ingame scripts for upcoming script packets 8 years ago
Assumeru a72cd896ca Move actors out of the water if there's room for them. Fixes #1138 8 years ago
David Cernat aaf4cc0d7e Prevent being in a menu from disabling script execution or actor damage 8 years ago
David Cernat cc40b85034 Don't send packets for floating objects 8 years ago
David Cernat b1051255e0 Send ID_OBJECT_ROTATE from ingame scripts 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 52d156e136 Make server able to receive the 5 new WorldPackets 8 years ago
David Cernat ef6f20e3f7 In server console, print number of players remaining when one leaves 8 years ago
David Cernat 24bfe40bf7 Add debug about current server crash 8 years ago
David Cernat b2688777c1 Create marker once a player has been initialized properly and fix debug 8 years ago
David Cernat be73265848 Send ID_WORLD_VIDEO_PLAY from ingame scripts 8 years ago
David Cernat b6111d16cc Add and implement ID_WORLD_VIDEO_PLAY 8 years ago
David Cernat c54af2b02b Make DedicatedPlayer's setMarkerState method actually enable markers 8 years ago
David Cernat 1e4d625c99 Make player markers show up in exterior cells 8 years ago
David Cernat 04eb051df6 Make markers get removed when their players quit, rename marker methods 8 years ago
David Cernat aed884949c Send ID_WORLD_OBJECT_LOCK from ingame scripts 8 years ago
David Cernat 3fd93896f2 Add and implement ID_WORLD_OBJECT_LOCK 8 years ago
David Cernat 3a5a5e73a1 Send ID_WORLD_OBJECT_UNLOCK from ingame scripts and regular unlocking 8 years ago
David Cernat 08ea5163c4 Add and implement ID_WORLD_OBJECT_UNLOCK 8 years ago
David Cernat 94c5d6d2f9 Don't use autoEquip on player-controlled NPCs 8 years ago
David Cernat 47ebd24b4a Merge pull request #79 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	apps/openmw/mwinput/inputmanagerimp.cpp
8 years ago
David Cernat a6fa0073a0 Find items by mRefNum.mIndex instead of mRefNum for WorldPackets 8 years ago
David Cernat 6bfaf3be50 Send an ID_WORLD_OBJECT_PLACE whenever ingame scripts place objects 8 years ago
David Cernat 3380c482c0 Fix errors remaining from merge with tes3mp-packetexpansion, part 2 8 years ago
David Cernat b06a2f3119 Fix part about Breakpad in server's CMakeLists 8 years ago
David Cernat e7567020bb Fix debug for ID_WORLD_OBJECT_DELETE in client's Networking 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 025a847fd1 Send an ID_WORLD_OBJECT_DELETE whenever ingame scripts delete objects 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
Koncord a6467c9c47 Add breakpad to server 8 years ago
Koncord df3886168f Word wrapping in chat 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 2e57e25675 Only delete object from ID_WORLD_OBJECT_DELETE if it actually exists 8 years ago
David Cernat 3c49157ed7 Rename WorldPackets to ID_WORLD_OBJECT_DELETE and ID_WORLD_OBJECT_PLACE 8 years ago
David Cernat 40f1db2d86 Create SearchByRefNumCustomVisitor in CellStore that returns entire Ptr 8 years ago
David Cernat b3d6dad0c5 Send ID_WORLD_OBJECT_REMOVAL from actiontake.cpp and not worldimp.cpp 8 years ago
David Cernat cc98a25dcf Add searchByRefNum method to OpenMW's CellStore 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
Stanislav Zhukov 81dfd21d9a Merge pull request #76 from TES3MP/tes3mp-minimap
Show dedicated players on minimap
8 years ago
Koncord b704519078 Show dedicated players on minimap 8 years ago
David Cernat 565e7e4b9f Create and implement placeholder for ID_WORLD_OBJECT_CREATION 8 years ago
David Cernat 32dc8cf63f Read contents of ID_WORLD_OBJECT_REMOVAL on client 8 years ago
David Cernat 36f218876a Add ProcessPlayerPacket and ProcessWorldPacket to client's Networking 8 years ago
David Cernat ac666edebd Add a CellRef to WorldEvent 8 years ago
MiroslavR cd9de94c0c Import teleporting and levitation disabled state from vanilla savegames (Fixes #3420) 8 years ago
David Cernat b2845cd17c Create and start using WorldEvent class 8 years ago
David Cernat a42d5f2429 Make client send placeholder ID_WORLD_OBJECT_REMOVAL to server 8 years ago
MiroslavR f3ce0840be Import controls state from vanilla savegames 8 years ago
MiroslavR 301dd77efb Save controls state (Fixes #3598) 8 years ago
MiroslavR 407abc605f Fix auto-equipping of blunt weapons 8 years ago
David Cernat f218613231 Rename client Networking's GetPacket method into GetPlayerPacket 8 years ago
David Cernat e27d1857ef Fix formatting in previous changes made by tes3mp to OpenMW's core 8 years ago
scrawl 9c549a85ce Merge pull request #1108 from MiroslavR/autoequip-weap
Auto-equip weapons
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 790d41e278 Move PlayerPackets into their own subfolder 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
MiroslavR 76ddd9bebb Add a setting for merchant auto-equipping prevention 8 years ago
scrawl a7d4928593 Properly handle moved references in respawning code (Fixes #3600) 8 years ago
MiroslavR 1d3008594d Autoequip weapons (Fixes #3562) 8 years ago
David Cernat b8f4cb94fb Rename BasePacket into PlayerPacket 8 years ago
MiroslavR 14240cf7a2 Fix autoEquip to better match vanilla (Fixes #3590) 8 years ago