Commit Graph

3351 Commits (1d84cbe96351b9cd00c5ea0fadf71e7a5b1a796b)

Author SHA1 Message Date
scrawl e00b420f68 Move saving of LandData into Land::save 8 years ago
scrawl 325bf66653 Return const Land in ESMStore 8 years ago
David Cernat a5d7c5fd39 Merge pull request #148 from OpenMW/master
Add OpenMW commits up to 13 Feb 2017
8 years ago
Marc Zinnschlag 93c5630e02 Merge remote-tracking branch 'matahualpa/openmw-cs_tablecontents' 8 years ago
scrawl 892d1b162d nifloader: ignore nodes named 'bounding box' (Fixes #3650) 8 years ago
MAtahualpa b4ef9e2314 Update loadbook.cpp 8 years ago
MAtahualpa 5a58ab1837 Update loadbook.hpp 8 years ago
David Cernat 6763718412 Merge pull request #146 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwmechanics/actors.cpp
8 years ago
scrawl bbcba57495 Disable hitAttemptActorId saving code for now 8 years ago
scrawl 2ea0db1d1a Merge pull request #1198 from Allofich/combat
Make combat engagement logic more like vanilla
8 years ago
David Cernat ae23c6d6a5 Merge pull request #145 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
8 years ago
scrawl 67e4a7e37b Change some osg::clone's to direct copy constructor to avoid dynamic_cast overhead 8 years ago
scrawl d141b98f0c Add base animations to preloadCommonAssets 8 years ago
scrawl 839928e210 Fix light data being reset for the wrong light 8 years ago
scrawl a46593fa74 Add PreloadItem::abort() to avoid no longer required cells from blocking the work thread 8 years ago
scrawl d3e1dbe920 Fix race conditions in terrain loader caused by static variables 8 years ago
scrawl 4d53ab6c32 nifloader: attempt to remove redundant root node when a Skeleton is added 8 years ago
scrawl 2a42c4781e nifloader: override animflags instead of accumulating them 8 years ago
scrawl 0187f2ce4c nifloader: combine animFlags and particleFlags (Bug #2100) 8 years ago
scrawl bccfd6cef8 nifloader: handle textures with no image that are later assigned in a FlipController
As found in vurt's trees (Bug #2100)
8 years ago
scrawl 792f505b2a Fix potential crash in ShaderVisitor for textures with no image assigned 8 years ago
scrawl 45ae8d5ffa Add support for GL_AMBIENT colorMode to shaders as required by particle systems 8 years ago
scrawl c00532d82d Add LightStateCache to avoid redundantly setting the same gl_Light
Normally, osg::State would do this for us (via lastAppliedAttribute), but since we're using a custom StateAttribute to apply all lights at once, we have to track ourselves.

Further reduction of GL calls in a typical scene by ~2%
8 years ago
scrawl 4d4dc1b9c1 Add specialized DisableLight state attribute for more efficient undoing of light state
Seems to reduce # of GL calls by 10-15% in a typical scene.
8 years ago
David Cernat 6144ca95d8 Set version to 0.4.2 8 years ago
David Cernat 5038353792 [General] Rename BaseEvent's state into doorState & adjust related funcs 8 years ago
David Cernat d8a9a5f6c9 [General] Send item owner in ID_CONTAINER 8 years ago
David Cernat 3614b21e10 [General] Send charge and goldValue in ID_CONTAINER 8 years ago
Allofich 5d2090684a Store mHitAttemptActorId in save files 8 years ago
David Cernat 182b238b5f [General] Rename WorldEvent into BaseEvent 8 years ago
David Cernat 75392297b5 [General] Use vector::at in most places 8 years ago
David Cernat 60d6a6d463 [Client] See when other players remove items from containers 8 years ago
David Cernat f314b13edf [General] Rename item health into charge, for consistency with OpenMW 8 years ago
David Cernat ecc456fea9 [General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE 8 years ago
David Cernat 04d45b9dbb [General] Rename packets to show they are for players only, not NPCs 8 years ago
David Cernat 9f8bed9be1 [General] Add action types to WorldEvent's ContainerChanges 8 years ago
David Cernat a07e616878 [General] Add ContainerItem and ContainerChanges structs to WorldEvent 8 years ago
David Cernat 6328ffb9aa [General] In ID_GAME_ATTRIBUTE & ID_GAME_SKILL, rename GAME into PLAYER 8 years ago
David Cernat 9130c1f302 [General] Rename ID_CONTAINER_ADD into ID_CONTAINER 8 years ago
David Cernat d2cf96af99 [General] Repurpose the unused ID_CONTAINER_REMOVE into ID_OBJECT_HEALTH 8 years ago
David Cernat 44e27148d5 Merge pull request #140 from OpenMW/master
Add OpenMW commits up to 4 Feb 2017
8 years ago
scrawl a1069dce3c Change UnrefQueue to accept osg::Referenced instead of osg::Object 8 years ago
scrawl 33e654f94d Add explicit handling of most commonly used nodes to NodeVisitors to avoid excessive virtual function calls 8 years ago
scrawl c95868969b Early out for scene graphs with no update callbacks in SceneManager::notifyAttached 8 years ago
scrawl 767eba941f Speed up finding of attachment node by using the cached nodeMap 8 years ago
scrawl a76d693627 Speed up ControllerVisitor by skipping sub graphs that have no ChildrenRequiringUpdateTraversal() 8 years ago
David Cernat c1427b2558 [General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE 8 years ago
David Cernat 63974af131 Merge pull request #139 from OpenMW/master
Add OpenMW commits up to 3 Feb 2017
8 years ago
scrawl 30b101b175 Fix build error in OSG_USE_FLOAT_MATRIX=OFF mode due to a double implicit conversion to double (pun doubly intended) 8 years ago
scrawl b4a6b6387b Create own instance of osgDB::SharedStateManager so we control when to call prune()
prune() is now called in the background thread, just like the resource cache update.

Seems to improve performance by ~0.3 ms/frame
8 years ago
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