Commit Graph

3351 Commits (coverity_scan)

Author SHA1 Message Date
scrawl 84a92e665c Improve performance in RigGeometry by optimizing for the most common case of identity geomToSkelMatrix 8 years ago
scrawl f3045331f1 Fix regression in handling of NiZBufferProperty 8 years ago
scrawl 53e4db8a8f Add dummy serializer for CameraRelativeTransform to allow serializing content of Sky Root 8 years ago
scrawl c5f8ff6e0e Add names to several nodes for debugging purposes 8 years ago
David Cernat d9f5dfe65c Merge pull request #138 from OpenMW/master
Add OpenMW commits up to 2 Feb 2017
8 years ago
scrawl 851f61ac82 Always assign osg::Material when a material controller is used 8 years ago
David Cernat 958ff06ca8 [General] Rename ID_DOOR_ACTIVATE into ID_DOOR_STATE 8 years ago
David Cernat 9f8f62b765 Merge pull request #137 from OpenMW/master
Add OpenMW commits up to 1 Feb
8 years ago
scrawl 9180089a3b Add sharing for more State Attributes, most notably BlendFunc and AlphaFunc, to improve the state tracking in osg::State and reduce the number of GL calls 8 years ago
scrawl 960d4a96c3 Reduce the number of osg::Material state by setting the default state on the graph root 8 years ago
scrawl e399e10607 Add missing lock in shareMaterial 8 years ago
scrawl 34deb6e7b1 Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes 8 years ago
scrawl e90941a8b3 Wrap the scene template reference in another object for const correctness and to avoid it from being serialized with the osgDB serializer 8 years ago
David Cernat 2c5cc82f49 [Server] Add script functions for getting world object placement info 8 years ago
David Cernat 08faad9f32 Merge pull request #134 from OpenMW/master
Add OpenMW commits up to 28 Jan
8 years ago
David Cernat 15ed4b8da6 [Components] Use 24 hour format instead of 12 for log file timestamps 8 years ago
David Cernat 8bc6dfe590 [General] Remove duplicate constructor in PacketObjectUnlock 8 years ago
David Cernat 9f1e491a75 [General] Make WorldEvents store information about multiple objects 8 years ago
Allofich 0f20312012 Fix MSVC warnings 8 years ago
David Cernat 244da19a51 [General] Turn ID_PLAYER_CELL_LOAD into ID_PLAYER_CELL_STATE for clarity 8 years ago
David Cernat 4dc0ba21ec [General] Fix packet ID for ID_PLAYER_CELL_LOAD 8 years ago
David Cernat 97aabf4a7d [General] Sketch out sending of cell loading/unloading info in packets 8 years ago
David Cernat 158d606477 [General] Leave one blank line at the end of every tes3mp code file 8 years ago
David Cernat 63c8a98083 [General] Stop using virtual functions in BasePlayer 8 years ago
David Cernat 1d9c6ddd81 [General] Add placeholders for the new packet ID_PLAYER_CELL_LOAD 8 years ago
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 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 745ddd9a69 Merge pull request #130 from OpenMW/master
Add OpenMW commits up to 19 Jan
8 years ago
David Cernat 83277a1512 Send spellbook in LocalPlayer CharGen & change UPDATE action name to SET 8 years ago
scrawl 115e563a7a Fix race conditions caused by Array <-> GLBufferObject interactions (Bug #3580)
The first part of the fix is to assign VBO/EBO's upon loading the array in the Nif reader. This avoids triggering the 'addVertexBufferObjectIfRequired' code path in osg::Geometry which has the race condition when two threads add the same Array at the same time. Essentially, we want the Arrays to be 'const' when they come out of the Nif reader.

The second part of the fix is to make sure not to create empty arrays in the Nif reader (importantly, not assigning a VBO to the empty array). This empty array would be deleted when the NIFFile is cleaned up, and the detachment of the VBO assigned to it (which is still in use by other arrays) would cause threading issues.

This rare crash bug was first introduced with commit a7c5beb7c5. When using OSG dev version 3.5 the crashes were a little more prevalent, because 'addVertexBufferObjectIfRequired' in osg::Geometry is now used even when VBO's are disabled (as part of the VAO support changes).
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
David Cernat 78c6ab2a99 Clean up client Networking by putting item & spell logic in LocalPlayer 8 years ago
David Cernat c77120df6d Merge pull request #129 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwworld/actiontake.cpp
8 years ago
scrawl ac61535d2c optimize OSGVertexBuffer by double buffering the vertex array instead of recreating it on every modification 8 years ago
David Cernat 253ded1ee3 Use new getFilenameStamp() method to generate timestamps for filenames 8 years ago
David Cernat 3932654d5d Use log filenames w/ timestamps instead of adding numbers to their ends 8 years ago
Koncord b5c586d5b7 Add and implement ID_MASTER_QUERY 8 years ago
Koncord 27afb91936 RPI v3 patch #1 8 years ago
Koncord 6311745595 Update version 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 efb40b3c66 Remove redundant code 8 years ago
Koncord 11be8ed005 Rename copyOldLog to renameOldLog 8 years ago
Koncord f7b4aea85b add function for keeping old logs 8 years ago
David Cernat 973db7c78a Merge pull request #113 from OpenMW/master
Add OpenMW commits up to 17 Dec
8 years ago
Leon Krieg 170e723cc7 Handle SDL event 0x304 by doing nothing (#3670) 8 years ago
scrawl eae35af13d Check if the bounding box changed before calling dirtyBound() 8 years ago
scrawl aafff1deb6 Fix memory leak 8 years ago
scrawl cca75499ee Clear the Skeleton's bone cache when a node is added/removed (Fixes #3663) 8 years ago
scrawl c0faeea938 RigGeometry check if mesh has normals (Fixes #3667) 8 years ago
Aussiemon 369272fc70 Handle SDL event 0x302 by doing nothing 8 years ago
mrohrlach f0f78c9d64 Slight adjustments to disintegration fix 8 years ago
mrohrlach 9624d8aade Added new method and variable to track float remainders of disintegration effections 8 years ago
MiroslavR 99bcf47167 Implement NiSphericalCollider (Closes #3644) 8 years ago
Koncord 7b3e487f91 Register packet ActiveSkills in packet controller 8 years ago
Koncord b1bb552b65 Add packet ActiveSkills 8 years ago
David Cernat 7bbeed629d Merge pull request #109 from OpenMW/master
Add OpenMW changes up to 25 Nov
8 years ago
scrawl 5297d7b5be Merge pull request #1137 from nikolaykasyanov/osx-structure
[macOS] Move all resources files inside application bundles (fixes #3566)
8 years ago
Nikolay Kasyanov db69342b5d [macOS] Move all configs & resources into app bundles
Fixes #3566 (https://bugs.openmw.org/issues/3566).
8 years ago
scrawl 505250f6ec Do not use architecture dependent type size_t in esm format (Fixes #3633) 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 b028f0b51f Merge pull request #104 from OpenMW/master
Add OpenMW commits up to 17 Nov
8 years ago
scrawl 9d125bcaa2 Merge pull request #1129 from PhillipAnd/phillipand-cmake-fix
Fix various build issues with Visual Studio environment
8 years ago
Koncord 19240b825d Fix macro for MSVC 8 years ago
Koncord b57ed2c119 Fix parameter type mismatch 8 years ago
Koncord e2522fa366 Simplify LOG macros 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
David Cernat 8d2793401e Merge pull request #103 from OpenMW/master
Add OpenMW commits up to 13 Nov
8 years ago
Phillip Andrews c18fc113e5 Changed missing library dependencies to simple fix 8 years ago
Allofich 3420121c3f Fix shadowing warnings 8 years ago
David Cernat f7b5e5e638 Ignore packets from server that try to move LocalPlayer to invalid cells 8 years ago
Koncord 56959ebfda Implement magic 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 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 cd798d5f23 Merge pull request #89 from OpenMW/master
Add OpenMW commits up to 30 Oct
8 years ago
Allofich 125e94ef0e Fix shadowing warnings 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 fd4085725e Set version to 0.3.0 8 years ago
David Cernat c205e793cb Add and implement ID_SCRIPT_MEMBER_SHORT 8 years ago
David Cernat 6d61c6cf2d Merge pull request #84 from OpenMW/master
Add OpenMW commits from Oct 25
8 years ago
David Cernat 97468980af Add and implement 3 new WorldPackets for ingame script variable values 8 years ago
Assumeru f6ef1ce276 Fix Calm/Frenzy/Demoralize/Rally Creature weakness and resistance 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 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 47ebd24b4a Merge pull request #79 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	apps/openmw/mwinput/inputmanagerimp.cpp
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 2b98e349ce Fix include for WorldEvent 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
MiroslavR 301dd77efb Save controls state (Fixes #3598) 8 years ago
David Cernat f0fa5e8771 Add ContainsPacket method to packet controllers 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 d2212ef80b Rename PacketsController into PlayerPacketController 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 3136a12051 Resolve conflicts in pull request #75
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/CMakeLists.txt
8 years ago
MiroslavR 11565b5966 Make actors with non-portable lights in inventory glow (Closes #2042, #3338) 8 years ago
scrawl 5c94e2324f Add missing use plugin macro for static build 8 years ago
Allofich f6f16b68de Don't let Weakness to Magicka affect paralysis 8 years ago
scrawl 37bfa88b2d Merge pull request #1094 from Allofich/alchemy
Fix reversed use of alembics and retorts
8 years ago
Allofich 498976775a Fix reversed use of alembics and retorts 8 years ago
scrawl 0c981b6fe5 Fix typo in script opcode (Fixes #3583) 8 years ago
David Cernat 6eae017561 Merge pull request #74 from OpenMW/master
Add OpenMW commits up to 5 Oct
8 years ago
Allofich 6ec37b5cfb Fix shadowing warnings 8 years ago
David Cernat f276edddcc Set version to 0.2.0 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 9cbda73586 Remove unused packets IDs 8 years ago
David Cernat b65deca2ae Remove unused PacketRotation and PacketCreateProjectile 8 years ago