Commit Graph

2407 Commits (1f2349ef6e82b7b1b82e1de6db2776e2043fb18d)

Author SHA1 Message Date
scrawl 35d53acc65 Factor out terrain chunk loading/caching into a new resource manager 8 years ago
scrawl 9a3a64f0c4 Add resource manager for ESM::Land to allow data to be unloaded when no longer required 8 years ago
scrawl 5f76317807 Wait for completion of CreateMapItem on exit to avoid potential threading issue 8 years ago
scrawl ccfebdd2c3 Set the underwater fog relative to default view distance 8 years ago
scrawl fe439e7bbf Add missing default material state for character preview 8 years ago
scrawl 37c71c15f2 Remove redundant state 8 years ago
scrawl 4c9bbce1e2 Fix node mask being reset 8 years ago
scrawl 42a04de37c Fix a crash that occurred when a carried light fails to be attached. 8 years ago
scrawl 29556a1802 More consistent wording of errors/warnings
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.

An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.

The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.

Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
8 years ago
scrawl 1692b7f38e Merge pull request #1209 from dhustkoder/master
Added ConstContainerStoreIterator (Task #3092)
8 years ago
scrawl 2873c10284 Clean the object root of StateSets and hidden nodes 8 years ago
scrawl 4e0011bfc8 Improve NPC loading performance by caching the cleaned objectRoot 8 years ago
Rafael Moura 6c2ce2b2a1 Porting more ContainerStoreIterator usage to const version #4
removed const_cast revision
8 years ago
Rafael Moura 7fa2703715 Porting more ContainerStoreIterator usage to const version #3 8 years ago
scrawl 75677f03e7 Remove SceneManager::notifyAttached 8 years ago
scrawl afa39d121f Fix 'part has no parent' warning caused by destructing in the wrong order 8 years ago
scrawl d163228199 Fix updatePtr 8 years ago
scrawl 00d4fea91c Derive Animation from osg::Referenced to allow the UnrefQueue to delete it 8 years ago
scrawl a5247394dc (Re)set the inventory listener outside of the Animation class 8 years ago
scrawl 8f79fa3d72 Add resource statistics panel opened with F4 8 years ago
scrawl 0fbd29ccb8 Use additive alpha blending on the character preview 8 years ago
scrawl e38221edc9 Set character preview's simulationTime to 0 to avoid flickering lights 8 years ago
Rafael Moura 9963601484 Porting code to ConstContainerStoreIterator #1 8 years ago
Allofich 621d3e56cf Fix Clang and OS X Travis CI warnings 8 years ago
scrawl f10edb71cc Add environment variable for disabling IncrementalCompileOperation 8 years ago
scrawl 72c6b11cf8 Move global map render to the worker thread 8 years ago
scrawl 026a05718f Construct the WorkQueue in Engine 8 years ago
scrawl ddd6605608 Move WNAM out of LandData to avoid redundant (de)allocations on startup 8 years ago
scrawl 325bf66653 Return const Land in ESMStore 8 years ago
scrawl 9fa8e88366 Revert "Don't create a CharacterController for objects with no animations"
This reverts commit cce42b6e9d.
8 years ago
scrawl dd54887783 Fix node mask of CharacterPreview being reset 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 d1e86d22ca Check which local map textures actually need to be updated
On a typical exterior cell transition, we'll save 3 of 9 map renders. When moving back and forth between 2 cells, we can even reuse 6 of 9.
8 years ago
scrawl 249fe9077b Handle 'tcb' command as an alias for 'tcg' 8 years ago
scrawl cce42b6e9d Don't create a CharacterController for objects with no animations 8 years ago
scrawl ee4073541c Animation: cache getVelocity() 8 years ago
scrawl 884d306bf3 Throw exception when told to use 0 threads 8 years ago
scrawl 2db7292bcb Add new setting for the number of preloading worker threads
If you have CPU cores to spare, consider setting 2 or 3. Up to about 3 threads, preloading performance seems to increase in a linear fashion, but with 4 or more threads I/O bottlenecks and synchronization overhead starts to show.
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 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
scrawl c5f8ff6e0e Add names to several nodes for debugging purposes 8 years ago
scrawl 1808b8567e Add 'small feature culling pixel size' setting specifically for water RTTs, by default set higher than the one in [Camera] 8 years ago
scrawl fcb4129aee Add 'small feature culling pixel size' setting 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 34deb6e7b1 Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes 8 years ago
Martin-Kevin Neumann 5a8efa1649 added refactoring of shader handling from visvalda's fog shader 8 years ago
scrawl 80c008906b Fix texture coordinates 8 years ago
scrawl 48a23d61b2 Mask out water in global map overlay 8 years ago
scrawl dc1f788cff Use osg::PI over M_PI 8 years ago
scrawl cca75499ee Clear the Skeleton's bone cache when a node is added/removed (Fixes #3663) 8 years ago
Leon Krieg 739cd5ba45 Fixed more spelling mistakes 8 years ago
Leon Krieg c7b4b2cdd7 Fixed multiple spelling mistakes 8 years ago
scrawl 16a913c549 Add emission of water ripple particles for water-walking actors (Fixes #3608) 8 years ago
scrawl f51e06bc47 Recreate shaders if necessary when the NpcAnimation is rebuilt
This fixes certain equipment losing the 'invisibility' effect after a view-mode switch with shaders enabled. Because the initial build of shaders done by the resource manager is not aware of the override state in the NpcAnimation's object root, we have to build new shaders here.
8 years ago
scrawl e823cbf018 Fix incorrect priority of animation sources (Bug #3626) 8 years ago
scrawl 2368382ea5 Fix upside down rain particle texture 8 years ago
scrawl cac8de0b29 Merge pull request #1116 from Allofich/paused
Don't update ripple simulation when paused
8 years ago
Allofich 19db070fca Don't update ripple simulation when paused 8 years ago
Allofich 125e94ef0e Fix shadowing warnings 8 years ago
Allofich 1c54f54ab8 Fix shadowing warnings 8 years ago
MiroslavR 611d02ad43 Remove unused code 8 years ago
MiroslavR 1906d96064 Non-player actors emitting light from a non-portable light item should be illuminated (Fixes #3588) 8 years ago
scrawl 1893617ec9 Improvements to ignored light list setting
The pointer to the LightListCallback is now stored in the Animation, which eliminates the need for dynamic_cast. Also, when the object root is recreated, the previously used LightListCallback will be reused, so we no longer need the objectRootReset() notifier.

Finally, there was a bug when saving and reloading the game, the getIgnoredLightSources() were not being set, as the ActorAnimation constructor completes before the NpcAnimation sets the ObjectRoot. This was solved by creating the LightListCallback in advance in the Animation constructor.
8 years ago
MiroslavR 11565b5966 Make actors with non-portable lights in inventory glow (Closes #2042, #3338) 8 years ago
scrawl 6615330430 Fix use of UnrefQueue in removeObject 8 years ago
sandstranger 5230bf6528 disable using shaders for gles1 and Android 8 years ago
scrawl 85c7d014d3 Use a shader to render the simple water, ensuring that fog is applied per pixel (Fixes #2716) 8 years ago
Allofich a8e9f2df67 Cleanup 8 years ago
Allofich 5aad1d81f4 Remove no longer used parameter 8 years ago
Allofich dc8ff5e49b Play all sfx and use particle textures for permanent enchantments 8 years ago
Allofich 527bbd5243 Change size_t to int for consistency 8 years ago
Allofich 01774c656c Fix for blood effect texture overrides 8 years ago
Allofich a033ba3bd2 Override spell textures by NiTexturingProperty 8 years ago
Allofich 7db31ab58a Correct telekinesis glow length 8 years ago
scrawl 0fd810707e Remove unused stopLooping() 8 years ago
scrawl 0c9882956a Add AnimState::shouldLoop() 8 years ago
scrawl 6450c9be27 Simplify condition 8 years ago
Allofich bf9dc45b2b Emulate vanilla animation loops more closely 8 years ago
scrawl dda5bfbc9f CharacterPreview no longer depends on osgViewer 9 years ago
scrawl 8bfcf259a3 LocalMap no longer depends on osgViewer 9 years ago
scrawl b2ae45f0eb Remove unneeded setGraphicsContext() calls 9 years ago
scrawl 641005b317 Remove Camera's children before removing the Camera
Should work around OSG race condition ( http://forum.openscenegraph.org/viewtopic.php?t=16077 )
9 years ago
scrawl 71f786ff84 Delete the WorkQueue first
Fixes a potential crash on exit.
9 years ago
scrawl c65492193c Use osg::clone 9 years ago
Allofich 83b715734f Move part of addGlow() to addSpellCastGlow() 9 years ago
Allofich 1c76c93ed8 Use raw pointer to node in glowupdater 9 years ago
Allofich 67f31d948e Add removeTexture method 9 years ago
Allofich 4b9aff7a03 Glowupdater fix when using shaders 9 years ago
Allofich 9b2cb2fb8c Cleanups 9 years ago
Allofich 775162ccdf Rewrite spell glow implementation 9 years ago
Allofich cad41599cf Fix travis build error and warnings 9 years ago
Allofich 1910128e9c Don't remove uniform when spell glow ends 9 years ago
Allofich 35c14bb9bb Minor rewrite, make "open" spells play glow effect 9 years ago
Allofich e132b52a69 Handle spell glows within updatecallback 9 years ago
Allofich 57138b416e Fix spell glows to only run one at a time 9 years ago
Allofich 3841a8fb40 Make non-actors glow when they cast spells 9 years ago
scrawl 0bbd715f65 Fix the cloned StateSet not being assigned 9 years ago
Marc Zinnschlag aa1ed9b172 Merge remote-tracking branch 'aesylwinn/RenderWater' 9 years ago
Aesylwinn 5753f52b47 Move water mesh + simple state generation to components library. 9 years ago
MiroslavR b65f379b7f Save scripted animation state (Fixes #1931, #2150, #3393) 9 years ago
Internecine 90735d226d Replaced Store::find usage with Store::search to remove exception handlers. 9 years ago
Internecine 14165352f6 Added exception handlers when trying to retreive enchantment and magic effect data. 9 years ago
MiroslavR 19a8800d4d Fix camera distance not getting reset to max value (Fixes #3473) 9 years ago
scrawl 6f376bd499 Merge pull request #983 from Allofich/telekinesis
Don't allow telekinesis on actors or teleport doors
9 years ago
Allofich 538209b0a2 Change variable to mRatio and initialize it 9 years ago
Allofich 64d53a2314 Avoid double raycasts when using getFacedObject 9 years ago
scrawl 8f62ea2e80 Fix for "RigGeometry rendering with no skeleton" errors 9 years ago
scrawl 252b27f0ef Remove getEyePos() 9 years ago
scrawl a00e4de5c3 Fix another bug related to vanity mode toggle 9 years ago
scrawl c47a679ac9 Fix queueing of vanity mode toggle (Bug #3421) 9 years ago
scrawl ce91637cf9 Do not use/assign the camera distance in first person mode (Fixes #3421) 9 years ago
scrawl 8fb8c2bae5 Fix "part has no parents" warning message caused by nodes being destroyed in the incorrect order 9 years ago
scrawl 44dd67ee0f Fix a potential crash for lights without a model that have "off by default" flag set 9 years ago
scrawl a9561f738a Move RemoveParticlesVisitor to animation.cpp 9 years ago
scrawl 0efbdb25ee Improve const-correctness in Animation 9 years ago
scrawl 59cfcb38e2 Scale the sunlight specular color by weather's GlareView value (Fixes #3375) 9 years ago
Aesylwinn 14ae232938 Remove now unnecessary factory class.
It was originally used for storing normals, but that functionality
was removed.
9 years ago
Aesylwinn 5cac882123 Replace game version of pathgrid rendering with component. 9 years ago
Bret Curtis 2c90b0b78d fix a few spelling mistakes 9 years ago
scrawl 157c11398d Add terrain parallax mapping 9 years ago
scrawl 30402f75e3 Use xbase_anim_female as the base skeleton for female NPCs (Fixes #3258) 9 years ago
scrawl 2b38d10449 Always add xbase_anim 9 years ago
scrawl 85bd4f52f0 Improve occlusion query geometry rendering 9 years ago
scrawl 93ec289b1d Improve setting of occlusion query state 9 years ago
scrawl f898bf493f Don't use Geodes 9 years ago
scrawl 137dde7cf8 Include cleanup 9 years ago
scrawl 0fc65db6bb Remove parts before setting the new object root 9 years ago
scrawl 0df975a4d7 Properly detach nodes in CopyRigVisitor (Fixes #3234) 9 years ago
scrawl 67c8faec75 Infinite loop fix 9 years ago
scrawl 08f06c6c2d Fix a crash that could occur with actors that define 'bip01 spine1' but do not define 'bip01 spine2' (Fixes #3223). 9 years ago
scrawl 87871d7d54 Don't add RotateController to an uncontrolled node 9 years ago
scrawl 84e9d346ef Remove duplicate include 9 years ago
scrawl 90a99991d1 Use empty() instead of !size() 9 years ago
scrawl 8bd16e4d5a Don't compute the world matrix multiple times 9 years ago
scrawl 8f81df2bd3 Cleanup 9 years ago
scrawl 0db7163363 Add specular mapping for terrain 9 years ago
scrawl f01e8a6950 Add specular mapping for objects 9 years ago
scrawl 5cf2441b10 ShaderVisitor: support automatic recognition of normal maps based on file pattern
Introduce new settings 'auto use object normal maps', 'auto use terrain normal maps', 'normal map pattern'
9 years ago
scrawl 6a0ac824bd Fix terrain error in OpenCS 9 years ago
scrawl 17c4dfdb62 Use the lowest unused texture unit for the enchanted item glow texture 9 years ago
scrawl 5e12a1b4ef Add enchanted item glow to the shader 9 years ago
scrawl 268594dcf1 Recreate shader in NpcAnimation::setAlpha 9 years ago
scrawl a73512afb7 Add shader settings to settings.cfg 9 years ago
scrawl 553408949a Fix character preview 9 years ago
scrawl bd279c63f7 Fix fog on water 9 years ago
scrawl 9376811213 Vertex lighting shader 9 years ago
scrawl 044e0a829a Add fog 9 years ago
scrawl 41e1fd407d Disable shaders for the sky 9 years ago
scrawl a9ad1b09e2 Introduce ShaderManager & ShaderVisitor
Actual shaders still to be written.
9 years ago
scrawl e05d975020 Change the way that texture filtering settings are applied at runtime 9 years ago
scrawl 7f89bb273a Add 'reflect actors' setting for the water shader, default off 9 years ago
scrawl 5824619a95 Clean up includes 9 years ago
scrawl 8b596dfcbe Remove support for OSG 3.2
Since commit e8662bea31, we're using OSG functionality that contains an unfixed crash bug in version 3.2. The bug is fixed in version 3.4 (OSG commit 6351e5020371b0b72b300088a5c6772f58379b84)
9 years ago
scrawl d3808580b0 Rename lightRoot to sceneRoot 9 years ago
scrawl 5e876b1379 Add missing include 9 years ago
scrawl 0865cea211 Preload terrain 9 years ago
scrawl 596fe56bfd Make Land::loadData thread safe 9 years ago
scrawl 1457a0de78 Use the UnrefQueue to delete BulletShapeInstances 9 years ago
scrawl e28dc3e72f Preload instances in SceneManager 9 years ago
scrawl ce3cce24a5 Remove unneeded dynamic_cast 9 years ago
scrawl 8ece1885cd Animation: don't create the NodeMap if we don't need it 9 years ago
scrawl ae031b23d4 Do not detach NPC parts in destructor 9 years ago
scrawl d11c2864df Introduce UnrefQueue to handle the deleting of no longer needed objects in the background thread 9 years ago
scrawl 1cda2bf796 Preload sky & water from the main menu 9 years ago
scrawl f9082502f8 Move construction of WorkQueue to RenderingManager 9 years ago
scrawl 1b8e82e929 Preload NPC body parts 9 years ago
scrawl d855a13b44 Clear the resource cache from the worker thread 9 years ago
scrawl df57d4bfba Use a common base class for resource managers
Implement updateCache to delete unreferenced cached objects when they have not been referenced for a while.
9 years ago
scrawl 499beda665 Clear terrain texture cache before applying filter settings 9 years ago
scrawl 9e53e12c70 More renaming of TextureManager -> ImageManager 9 years ago
scrawl 5ee3d1698f Remove getWarningTexture in favor of getWarningImage 9 years ago
scrawl f99f403dda Rename TextureManager to ImageManager 9 years ago
scrawl 6ef848b7c5 Remove TextureManager::getTexture2D
Instead use getImage and let the caller create the Texture. Sharing of textures is then handled in post by the SharedStateManager.

This is closer to what the OSG serializer does.

Streamlines the TextureManager and will make it easier to multithread.
9 years ago
scrawl e8662bea31 Change the way that image origin is converted to OpenGL's lower-left convention
Flip the texture coordinates instead of flipping textures.

This simplifies the TextureManager (no need to worry if the caller wants flipping or not), should make it easier to generalize & multithread it.
9 years ago
scrawl 5b972ee777 Move texture filtering settings to SceneManager
Practical benefits:

- Filter settings are now applied to native OSG format models. These models do not use TextureManager::getTexture2D since the model itself specifies a Texture.
- The GUI render manager will be able to use its own separate textures, making it easier to turn off filtering for them.
9 years ago
scrawl 7d647088ab Make the local map cell distance configurable 9 years ago
scrawl bd655c20fd Refactor local map updates
We don't need the delay any more because the rendering itself is part of the normal rendering traversal - so it's delayed anyway.

Don't request maps that we're not actually using (i.e. with cell grid sizes higher than the default 3, we were rendering more maps than the map window could show).
9 years ago
scrawl aa9905b0eb Do not crash when the water normal map is missing (Fixes #3179) 9 years ago
scrawl 74c18f532e Fix comment 9 years ago
scrawl 5878291064 Fix the path correction for animation sources provided in NPC record (Fixes #2444) 9 years ago
Alexander "Ace" Olofsson 776c715ccd Move NoTraverseCallback to mwrender/util.hpp 9 years ago
scrawl aec8c38461 Move observer_ptr include where it belongs 9 years ago
scrawl fc6fe9acfb Do not crash ModVertexAlphaVisitor when there are no vertex colors 9 years ago
scrawl 87beb73970 Correction 9 years ago
scrawl fbf07133ea Document usage of node masks 9 years ago
scrawl 41c571d4f4 Merge branch 'master' of https://github.com/OpenMW/openmw into lighting
Conflicts:
	apps/opencs/view/render/instancemode.cpp
9 years ago
scrawl 3089aeccc4 Factor out SceneUtil::addLight 9 years ago
scrawl 438b30d6f0 Move configureLight to a separate file 9 years ago
scrawl 6546c05428 Move Fallback map to components/ 9 years ago
scrawl ca4e859f61 Remove unused argument 9 years ago
scrawl 4690fd3f22 Change the local map exploration radius to better match the original engine 9 years ago
scrawl 446c714727 Fix a possible memory leak in error case 9 years ago
scrawl daa94cc50e Fix cppcheck warnings 9 years ago
scrawl 7a2ca5580a Accept a ConstPtr in RippleSimulation 9 years ago
scrawl ed101ad35a Remove redundant getPlayerAnimation function 9 years ago
scrawl 7a8a7e3dd6 Add const version of getAnimation 9 years ago
scrawl 7a4aac1842 Use a ConstPtr for the PtrAnimationMap 9 years ago
scrawl d3d6a69eea Merge pull request #862 from scrawl/const
ConstPtr
9 years ago