scrawl
3c29e2dbeb
Refactor ownership of terrain views
2017-03-14 19:27:56 +01:00
scrawl
28fd492711
Don't use terrain LOD for the map camera
2017-03-14 19:27:56 +01:00
scrawl
e7a0878c10
Add CompositeMapRenderer info to the stats panel
2017-03-14 19:27:56 +01:00
scrawl
c921620ef3
Compile the drawables of a composite map one by one to avoid frame drops for larger maps
2017-03-14 19:27:56 +01:00
scrawl
47ca8aeee5
Use the time elapsed instead of # compiled as limit
2017-03-14 19:27:56 +01:00
scrawl
8a6d909b22
Fix composite map being compiled twice
2017-03-14 19:27:56 +01:00
scrawl
683e625c6c
Rewrite CompositeMapRenderer to be based on Drawable and share the FBO
2017-03-14 19:27:56 +01:00
scrawl
4baa795152
Add preloading implementation to QuadTreeWorld
2017-03-14 19:27:56 +01:00
scrawl
9db71e3f62
Recompute the LOD stitching when the view changes
2017-03-14 19:27:56 +01:00
scrawl
ef704db877
Fix reset of changed flag
2017-03-14 19:27:56 +01:00
scrawl
1c15686353
Remove non required use of WorkQueue
2017-03-14 19:27:56 +01:00
scrawl
433900fca5
Fix waiting on initial quad tree build
2017-03-14 19:27:56 +01:00
scrawl
4dbd224249
Hide the terrain in non-exterior cells
2017-03-14 19:27:56 +01:00
scrawl
2580de11a4
Refactor ownership of ViewDataMap
2017-03-14 19:27:56 +01:00
scrawl
5a3c645c89
Enable lazy compiling of composite maps
2017-03-14 19:27:56 +01:00
scrawl
99e18f0d68
Clear the ViewData on exit
2017-03-14 19:27:56 +01:00
scrawl
bb991850da
Add LOD stitches
2017-03-14 19:27:56 +01:00
scrawl
6bd286d924
Fix unnecessary resizing in ViewData
2017-03-14 19:27:56 +01:00
scrawl
8c151364df
Add special handling for CullVisitor to QuadTreeWorld.
...
- Cull only against bounding box, not bounding sphere, as this appears to perform better.
- Also traverse into non visible nodes to compute their LOD, this is to avoid nodes having to be loaded in when the player turns the view around, and will avoid unnecessary refs/unrefs of rendering data in the View. This should probably be turned off at some point for static cameras, such as the local maps.
2017-03-14 19:27:56 +01:00
scrawl
f19a88be9d
Reject QuadTreeNodes with invalid bounds
2017-03-14 19:27:56 +01:00
scrawl
7d004bf757
Preliminary rendering of QuadTreeWorld
2017-03-14 19:27:55 +01:00
scrawl
e36bdb490e
Add view data structure for efficient collection of LOD nodes to use for a given camera/intersection
2017-03-14 19:27:55 +01:00
scrawl
0efc54c749
Subdivide the composite maps
2017-03-14 19:27:55 +01:00
scrawl
0756fc4ae6
Optimize getBlendmaps for the general case that most points are within the given cell
2017-03-14 19:27:55 +01:00
scrawl
81c9853fe9
Fix handling in getBlendmaps when the chunk is >1 ESM::Cell
2017-03-14 19:27:55 +01:00
scrawl
b384087e28
Fix handling in fillVertexBuffers when the chunk is >1 ESM::Cell
2017-03-14 19:27:55 +01:00
scrawl
819860081f
Remove custom bounding box
2017-03-14 19:27:55 +01:00
scrawl
ce8c4ad4f5
Add quad tree implementation (no rendering yet)
2017-03-14 19:27:55 +01:00
scrawl
14225a42c6
Remove unused pointer to IncrementalCompileOperation
2017-03-14 19:27:55 +01:00
scrawl
c487df0abb
Move updateTextureFiltering and material into the base class
2017-03-14 19:27:55 +01:00
scrawl
5eff286c71
Use separate node mask and parent for CompositeMapRenderer to allow the loading screen to pre compile composite maps.
2017-03-14 19:27:55 +01:00
scrawl
7e4450da55
Change the renderOrder of composite maps to ensure they are updated before water reflections or other cameras that may be using it.
2017-03-14 19:27:55 +01:00
scrawl
b1d4bb5708
Add CompositeMapRenderer
...
Temporarily render all terrain using composite maps for testing purposes
2017-03-14 19:27:55 +01:00
scrawl
e323b2fa7b
Use the SceneManager's ShaderManager
2017-03-14 19:27:55 +01:00
scrawl
0fc465da59
Store the min/max height in LandData
2017-03-14 19:27:55 +01:00
scrawl
051c17a184
Make reportStats const
2017-03-14 19:27:55 +01:00
scrawl
80a0398f9d
Load LandData into the LandObject to avoid threading conflicts when the same data is being loaded by two threads
2017-03-14 19:27:55 +01:00
scrawl
20d30bb8d7
Move mDataLoaded into LandData
2017-03-14 19:27:55 +01:00
scrawl
16b5cadd9e
Fix order of operations w.r.t clearing cache
2017-03-14 19:27:55 +01:00
scrawl
2c68ed4fb4
Remove no longer required use of UnrefQueue as the new resource manager will naturally clear the cache from the worker thread
2017-03-14 19:27:55 +01:00
scrawl
35d53acc65
Factor out terrain chunk loading/caching into a new resource manager
2017-03-14 19:27:55 +01:00
scrawl
274690f790
Refactor BufferCache to allow caching buffers of different sizes
2017-03-14 19:27:55 +01:00
scrawl
9a3a64f0c4
Add resource manager for ESM::Land to allow data to be unloaded when no longer required
2017-03-14 19:27:55 +01:00
scrawl
804f873649
terrain: factor out texture caching into a separate class
2017-03-14 19:27:55 +01:00
scrawl
4cd4457d21
Add support for Functors to ObjectCache
2017-03-14 19:27:55 +01:00
scrawl
9d72d9f0c9
Change order of operations in SceneManager::updateCache to allow deleting of StateSets that just got unreferenced by the scene
2017-03-14 19:27:55 +01:00
scrawl
eef63a880a
terrain: use a custom drawable for multi-pass render instead of osgFX::Effect
...
osgFX::Effect is awkward to use because of the lazy-definition of passes, no support for compileGLObjects, useless 'Technique' abstraction and having to define silly methods like 'effectAuthor()'
Handling the multi-pass rendering inside the Drawable also avoids redundant culling tests against the same bounding box for each pass.
2017-03-14 19:27:55 +01:00
scrawl
34130fc5cc
Fix handling in LightListCallback when the node is not a Group
2017-03-14 19:27:55 +01:00
scrawl
b78a9f89af
Refactor LightListCallback to allow for integration in custom Drawables.
2017-03-14 19:27:55 +01:00
scrawl
c1fe9f2a89
Avoid warping the mouse cursor more than necessary
...
Apparently, the SDL_WarpMouseInWindow can be very expensive (anywhere from 0.1-5ms) due to XSync() in the implementation.
This was causing no-grab=1 configurations to suffer from terrible stuttering when turning the view.
2017-03-14 00:31:27 +01:00
scrawl
928e2061f7
Remove redundant tolower
2017-03-13 02:48:23 +01:00
scrawl
13a6070629
Remove warning spam in skeleton.cpp
...
If the root bone is missing, that is caused by all bones being missing which will have been logged already.
2017-03-13 02:48:22 +01:00
scrawl
21aad00612
Don't pass key events to the viewer when Alt modifier is held
...
Fixes the stats panel briefly showing up when using 'Alt+F4' to exit.
2017-03-08 01:27:04 +01:00
scrawl
fc95a45cb6
Don't pass repeat key events to the viewer's eventQueue
2017-03-08 01:27:04 +01:00
Nikolay Kasyanov
7f429f26e1
Allow getting available version information even when clone is shallow
2017-03-07 21:53:49 +01:00
scrawl
c1b1d502ee
Fix up commit 330e5fefd1
2017-03-04 21:48:31 +01:00
scrawl
4051018862
optimizer: fix FlattenStaticTransformsVisitor not respecting the is permissible callback
2017-03-04 21:48:31 +01:00
scrawl
5866f0f80b
Add OPENMW_OPTIMIZE env variable to help debugging optimizer-related issues
...
Example:
OPENMW_OPTIMIZE=OFF
OPENMW_OPTIMIZE="~FLATTEN_STATIC_TRANSFORMS"
2017-03-04 21:48:31 +01:00
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.
2017-03-04 21:48:31 +01:00
scrawl
62cc091414
Fix incorrect setting of TexMat in terrain material
2017-03-02 18:07:01 +01:00
scrawl
a759ef5d2e
Leave the MyGUI::PixelFormat as Unknown when loading from file as its not required.
2017-03-01 19:04:05 +01:00
scrawl
8fc7942d64
Refactor osgMyGUI::OSGTexture to store width/height inside the object
2017-03-01 19:04:05 +01:00
scrawl
d8505e4f48
Fix a multithreading crash caused by modification of live Geometry
2017-03-01 03:36:04 +01:00
scrawl
4e0011bfc8
Improve NPC loading performance by caching the cleaned objectRoot
2017-03-01 03:00:49 +01:00
scrawl
058681ad73
ShaderVisitor: avoid reset of rig geometry when not required
2017-03-01 03:00:08 +01:00
scrawl
1402e0b872
Don't optimize billboard nodes ( Fixes #3774 )
2017-02-27 00:39:35 +01:00
scrawl
706ac45c76
Fix missing particles caused by shallow copy of ParticleSystemController
2017-02-26 23:10:41 +01:00
scrawl
9b27ec4945
Remove redundant and ambiguous NiNode::makeBone()
...
Ambiguous because a skeleton can have multiple skinned meshes, with their own bone weights/bind matrix each.
2017-02-26 22:39:23 +01:00
scrawl
aba3c471a9
nifloader: fix setting of dataVariance for non-controlled bones and refactor the code
2017-02-26 22:34:45 +01:00
scrawl
5caf53b6a3
optimizer: avoid reordering nodes
...
Fixes an osgParticle cloning issue.
(Fixes #3773 )
2017-02-26 03:25:17 +01:00
scrawl
a95773beef
Fix unnecessary copy of ParticleSystem in SceneUtil::CopyOp
2017-02-26 03:15:57 +01:00
scrawl
585524805f
Add 'tri ' variant of part filters to optimizer ignore list
2017-02-25 21:48:07 +01:00
scrawl
48e0f098ff
Add missing copy of callbacks when a Transform is replaced by Group
...
(Fixes #3770 )
2017-02-24 07:38:03 +01:00
scrawl
330e5fefd1
optimizer: consider a Group with more than one child redundant as well
...
While there could be some value in this hierarchy (i.e. improved culling), we don't know if this is being used sensibly; and using a 'flat' hierarchy helps other optimizations.
2017-02-24 02:58:41 +01:00
scrawl
75677f03e7
Remove SceneManager::notifyAttached
2017-02-24 02:58:41 +01:00
scrawl
3df7a8c4d8
Avoid FLATTEN_STATIC_TRANSFORMS optimization for non-Geometry drawables
2017-02-24 02:58:41 +01:00
scrawl
e4c12e5e56
optimizer: don't merge Geometry that has transparency sorting enabled
2017-02-24 02:58:27 +01:00
scrawl
ebfd845eae
optimizer: run MERGE_GEOMETRY after removing redundant nodes
2017-02-23 23:28:50 +01:00
scrawl
43f31d6e54
optimizer: fix MERGE_GEOMETRY to work with Geometries not attached to a Geode
2017-02-23 23:28:50 +01:00
scrawl
f2a323238f
optimizer: merge groups as part of REMOVE_REDUNDANT_NODES
2017-02-23 23:28:50 +01:00
scrawl
af716d4b61
optimizer: remove hardcoded condition in RemoveRedundantNodesVisitor
2017-02-23 23:28:50 +01:00
scrawl
698738c649
optimizer: use asXYZ() instead of dynamic_cast
2017-02-23 23:28:50 +01:00
scrawl
f7cb4bd245
optimizer: remove some cruft
2017-02-23 23:28:50 +01:00
scrawl
e33829d493
Add fork of osgUtil::Optimizer with backported fixes that have not been released yet
...
Remove optimizers that won't be used.
2017-02-23 23:28:50 +01:00
scrawl
5e2335f250
Use the osgUtil::Optimizer post loading in the SceneManager
2017-02-23 23:28:50 +01:00
scrawl
305cccd263
Don't print Geometry data (vertices, triangles, etc.) in showscenegraph
2017-02-23 23:28:50 +01:00
scrawl
4e5a1e6123
nifloader: improve setting of DataVariance
2017-02-23 23:28:50 +01:00
scrawl
1d6b5b2a52
Add StringUtils::CiComp operator
2017-02-23 23:28:50 +01:00
scrawl
6e996bf2a3
Create TriShapes with an identity transform as a Group
2017-02-23 23:28:50 +01:00
scrawl
6e5d9efa93
Remove NifLoader::optimize, to be replaced with something better
2017-02-23 23:28:50 +01:00
scrawl
c231b06320
Remove boneOffset node after using it
2017-02-23 23:28:50 +01:00
scrawl
d75a3fd0fb
Add SharedStateManager to the stats panel
2017-02-23 23:28:49 +01:00
scrawl
8f79fa3d72
Add resource statistics panel opened with F4
2017-02-22 14:28:45 +01:00
scrawl
3693f05ef5
Transform world-space particle systems in update callback so that animations are accounted for
2017-02-21 23:27:20 +01:00
scrawl
c45013c983
Fix particle systems not being rendered in their first frame
2017-02-21 18:15:30 +01:00
scrawl
4aa40d16bc
Increase the importance of light radius when sorting lights (Bug #2759 )
2017-02-21 04:32:59 +01:00
scrawl
3f27c8cc97
Always print context for script warnings to remove the need for verbose option
...
(Fixes #2813 )
2017-02-21 04:32:59 +01:00
scrawl
3b24bb9a5e
Use OS X cursor workaround for GL_VENDOR ATI and add an environment variable for control
2017-02-19 13:46:40 +01:00
scrawl
aa8459b5c7
Revert "Remove redundant allocations for NIF meshes"
...
This reverts commit a7c5beb7c5
.
Conflicts:
components/nif/data.cpp
components/nifbullet/bulletnifloader.cpp
components/nifosg/nifloader.cpp
2017-02-18 02:33:41 +01:00
scrawl
6a37909ee7
Revert "Fix race conditions caused by Array <-> GLBufferObject interactions (Bug #3580 )"
...
This reverts commit 115e563a7a
.
2017-02-18 02:33:41 +01:00
scrawl
57b585570a
Preload magic effect visuals of the player's selected weapon/spell
2017-02-15 21:01:25 +01:00
scrawl
ddd6605608
Move WNAM out of LandData to avoid redundant (de)allocations on startup
2017-02-14 07:58:16 +01:00
scrawl
e00b420f68
Move saving of LandData into Land::save
2017-02-14 07:58:16 +01:00
scrawl
325bf66653
Return const Land in ESMStore
2017-02-14 07:58:16 +01:00
Marc Zinnschlag
93c5630e02
Merge remote-tracking branch 'matahualpa/openmw-cs_tablecontents'
2017-02-13 10:06:08 +01:00
scrawl
892d1b162d
nifloader: ignore nodes named 'bounding box' ( Fixes #3650 )
2017-02-12 15:44:09 +01:00
MAtahualpa
b4ef9e2314
Update loadbook.cpp
2017-02-12 13:53:10 +01:00
MAtahualpa
5a58ab1837
Update loadbook.hpp
2017-02-12 13:52:36 +01:00
scrawl
bbcba57495
Disable hitAttemptActorId saving code for now
2017-02-10 06:26:32 +01:00
scrawl
2ea0db1d1a
Merge pull request #1198 from Allofich/combat
...
Make combat engagement logic more like vanilla
2017-02-10 06:20:04 +01:00
scrawl
67e4a7e37b
Change some osg::clone's to direct copy constructor to avoid dynamic_cast overhead
2017-02-09 04:51:20 +01:00
scrawl
d141b98f0c
Add base animations to preloadCommonAssets
2017-02-09 03:32:40 +01:00
scrawl
839928e210
Fix light data being reset for the wrong light
2017-02-09 02:46:30 +01:00
scrawl
a46593fa74
Add PreloadItem::abort() to avoid no longer required cells from blocking the work thread
2017-02-09 01:08:07 +01:00
scrawl
d3e1dbe920
Fix race conditions in terrain loader caused by static variables
2017-02-09 00:53:48 +01:00
scrawl
4d53ab6c32
nifloader: attempt to remove redundant root node when a Skeleton is added
2017-02-08 20:04:17 +01:00
scrawl
2a42c4781e
nifloader: override animflags instead of accumulating them
2017-02-08 19:53:02 +01:00
scrawl
0187f2ce4c
nifloader: combine animFlags and particleFlags (Bug #2100 )
2017-02-08 19:53:02 +01:00
scrawl
bccfd6cef8
nifloader: handle textures with no image that are later assigned in a FlipController
...
As found in vurt's trees (Bug #2100 )
2017-02-08 19:52:33 +01:00
scrawl
792f505b2a
Fix potential crash in ShaderVisitor for textures with no image assigned
2017-02-08 19:16:07 +01:00
scrawl
45ae8d5ffa
Add support for GL_AMBIENT colorMode to shaders as required by particle systems
2017-02-08 18:39:24 +01:00
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%
2017-02-07 23:37:57 +01:00
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.
2017-02-07 23:01:36 +01:00
Allofich
5d2090684a
Store mHitAttemptActorId in save files
2017-02-07 01:26:26 +09:00
scrawl
a1069dce3c
Change UnrefQueue to accept osg::Referenced instead of osg::Object
2017-02-04 02:24:42 +01:00
scrawl
33e654f94d
Add explicit handling of most commonly used nodes to NodeVisitors to avoid excessive virtual function calls
2017-02-04 02:16:26 +01:00
scrawl
c95868969b
Early out for scene graphs with no update callbacks in SceneManager::notifyAttached
2017-02-04 01:22:43 +01:00
scrawl
767eba941f
Speed up finding of attachment node by using the cached nodeMap
2017-02-03 23:15:37 +01:00
scrawl
a76d693627
Speed up ControllerVisitor by skipping sub graphs that have no ChildrenRequiringUpdateTraversal()
2017-02-03 23:10:14 +01:00
scrawl
30b101b175
Fix build error in OSG_USE_FLOAT_MATRIX=OFF mode due to a double implicit conversion to double (pun doubly intended)
2017-02-03 06:49:34 +01:00
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
2017-02-03 03:27:12 +01:00
scrawl
84a92e665c
Improve performance in RigGeometry by optimizing for the most common case of identity geomToSkelMatrix
2017-02-03 02:18:44 +01:00
scrawl
f3045331f1
Fix regression in handling of NiZBufferProperty
2017-02-03 01:49:49 +01:00
scrawl
53e4db8a8f
Add dummy serializer for CameraRelativeTransform to allow serializing content of Sky Root
2017-02-02 21:57:18 +01:00
scrawl
c5f8ff6e0e
Add names to several nodes for debugging purposes
2017-02-02 21:49:52 +01:00
scrawl
851f61ac82
Always assign osg::Material when a material controller is used
2017-02-01 21:10:43 +01:00
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
2017-02-01 06:00:14 +01:00
scrawl
960d4a96c3
Reduce the number of osg::Material state by setting the default state on the graph root
2017-02-01 06:00:14 +01:00
scrawl
e399e10607
Add missing lock in shareMaterial
2017-02-01 06:00:14 +01:00
scrawl
34deb6e7b1
Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes
2017-02-01 06:00:14 +01:00
scrawl
e90941a8b3
Wrap the scene template reference in another object for const correctness and to avoid it from being serialized with the osgDB serializer
2017-02-01 06:00:14 +01:00
Allofich
0f20312012
Fix MSVC warnings
2017-01-28 04:37:47 +09:00
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).
2017-01-19 22:23:41 +01:00
scrawl
ac61535d2c
optimize OSGVertexBuffer by double buffering the vertex array instead of recreating it on every modification
2017-01-19 03:19:17 +01:00
Leon Krieg
170e723cc7
Handle SDL event 0x304 by doing nothing ( #3670 )
2016-12-17 12:51:11 +01:00
scrawl
eae35af13d
Check if the bounding box changed before calling dirtyBound()
2016-12-17 00:23:22 +01:00
scrawl
aafff1deb6
Fix memory leak
2016-12-16 20:40:15 +01:00
scrawl
cca75499ee
Clear the Skeleton's bone cache when a node is added/removed ( Fixes #3663 )
2016-12-16 20:09:20 +01:00
scrawl
c0faeea938
RigGeometry check if mesh has normals ( Fixes #3667 )
2016-12-15 22:39:21 +01:00
Aussiemon
369272fc70
Handle SDL event 0x302 by doing nothing
2016-12-14 21:08:20 -07:00
mrohrlach
f0f78c9d64
Slight adjustments to disintegration fix
2016-12-09 19:55:26 -07:00
mrohrlach
9624d8aade
Added new method and variable to track float remainders of disintegration effections
2016-12-09 19:48:56 -07:00
MiroslavR
99bcf47167
Implement NiSphericalCollider ( Closes #3644 )
2016-12-06 01:32:13 +01:00
scrawl
5297d7b5be
Merge pull request #1137 from nikolaykasyanov/osx-structure
...
[macOS] Move all resources files inside application bundles (fixes #3566 )
2016-11-25 02:51:32 +01:00
Nikolay Kasyanov
db69342b5d
[macOS] Move all configs & resources into app bundles
...
Fixes #3566 (https://bugs.openmw.org/issues/3566 ).
2016-11-23 22:32:54 +01:00
scrawl
505250f6ec
Do not use architecture dependent type size_t in esm format ( Fixes #3633 )
2016-11-22 15:47:06 +01:00
scrawl
9d125bcaa2
Merge pull request #1129 from PhillipAnd/phillipand-cmake-fix
...
Fix various build issues with Visual Studio environment
2016-11-17 18:25:23 +01:00
Phillip Andrews
c18fc113e5
Changed missing library dependencies to simple fix
2016-11-14 00:01:22 -06:00
Allofich
3420121c3f
Fix shadowing warnings
2016-11-13 23:20:51 +09:00
Allofich
125e94ef0e
Fix shadowing warnings
2016-10-31 00:39:31 +09:00
Assumeru
f6ef1ce276
Fix Calm/Frenzy/Demoralize/Rally Creature weakness and resistance
2016-10-25 15:42:37 +02:00
MiroslavR
301dd77efb
Save controls state ( Fixes #3598 )
2016-10-20 02:12:01 +02:00
MiroslavR
11565b5966
Make actors with non-portable lights in inventory glow ( Closes #2042 , #3338 )
2016-10-08 23:17:12 +02:00
scrawl
5c94e2324f
Add missing use plugin macro for static build
2016-10-08 19:20:44 +02:00
Allofich
f6f16b68de
Don't let Weakness to Magicka affect paralysis
2016-10-08 17:56:12 +09:00
scrawl
37bfa88b2d
Merge pull request #1094 from Allofich/alchemy
...
Fix reversed use of alembics and retorts
2016-10-06 19:02:24 +02:00
Allofich
498976775a
Fix reversed use of alembics and retorts
2016-10-07 01:38:50 +09:00
scrawl
0c981b6fe5
Fix typo in script opcode ( Fixes #3583 )
2016-10-06 17:36:50 +02:00
Allofich
6ec37b5cfb
Fix shadowing warnings
2016-10-02 17:48:54 +09:00
scrawl
cd4b182091
Merge pull request #1051 from Allofich/textures
...
Use spell effect particle textures
2016-09-18 22:37:14 +02:00
Allofich
a8e9f2df67
Cleanup
2016-09-19 05:20:04 +09:00
Allofich
be96ff1fd1
Remove redundant parameter
2016-09-18 01:57:47 +09:00
scrawl
8f5347b79b
Update comment, osgAnimation::RigGeometry is no longer used
2016-09-17 18:31:39 +02:00
MiroslavR
55e670c5fe
Fix animation state not saving
...
References with animation state changed but otherwise identical to their content file counterparts
were previously considered unchanged and thus dropped while saving.
2016-09-15 16:11:54 +02:00
Allofich
a033ba3bd2
Override spell textures by NiTexturingProperty
2016-09-14 23:03:04 +09:00
emlai
fd2281e825
Fix typo
2016-09-10 21:25:28 +03:00
scrawl
4322e76cb6
Fix shadowing warnings
2016-08-29 12:38:24 +02:00
scrawl
a5da3a269e
Fix shadowing warnings
2016-08-29 12:20:00 +02:00
scrawl
c968ebee96
Merge pull request #1033 from Allofich/warnings
...
Remove unnecessary destructor
2016-08-22 14:44:57 +02:00
Allofich
73463cd12f
Remove unnecessary virtual destructor
2016-08-22 21:34:57 +09:00
scrawl
f92560986e
Merge pull request #1031 from kpp/fix_uninitiaized_escape_hash_filter
...
Fix uninitialized escape_hash_filter
2016-08-21 22:56:31 +02:00
Allofich
8c5aae0722
Add virtual destructors
2016-08-21 18:31:46 +09:00
Roman Proskuryakov
416466e53e
Fix uninitialized escape_hash_filter
2016-08-19 21:13:38 +03:00
scrawl
341e3846c0
Use initial particle state to compute the initial bounding box ( Fixes #3500 )
2016-08-16 23:28:03 +02:00
scrawl
dda5bfbc9f
CharacterPreview no longer depends on osgViewer
2016-08-16 22:47:45 +02:00
scrawl
641005b317
Remove Camera's children before removing the Camera
...
Should work around OSG race condition ( http://forum.openscenegraph.org/viewtopic.php?t=16077 )
2016-08-15 18:12:46 +02:00
scrawl
a44ba0e461
Merge pull request #966 from kpp/find_mygui
...
Find mygui
2016-08-15 16:36:48 +02:00
Roman Proskuryakov
4cffdb67d8
Uses case-sensitive MyGUI_* variables
2016-08-15 15:59:02 +03:00
scrawl
513e1da8a3
Remove unneeded casts
2016-08-14 16:44:11 +02:00
scrawl
33d27a2285
Use ref_ptr
2016-08-14 16:41:33 +02:00
scrawl
2f6075329b
Clang warning fixes
2016-08-14 15:10:50 +02:00
scrawl
46538b9438
Merge pull request #1011 from devnexen/master
...
Mainly making compilable under OpenBSD.
2016-08-07 20:34:03 +02:00
Marc Zinnschlag
aa1ed9b172
Merge remote-tracking branch 'aesylwinn/RenderWater'
2016-08-07 17:03:58 +02:00
David Carlier
83bab29e4b
Mainly making compilable under OpenBSD.
...
Renaming one resource file as the space led to issue for qt/moc.
2016-08-06 19:00:27 +01:00
Aesylwinn
5753f52b47
Move water mesh + simple state generation to components library.
2016-08-05 13:25:05 -04:00
MiroslavR
b65f379b7f
Save scripted animation state ( Fixes #1931 , #2150 , #3393 )
2016-08-03 03:52:35 +02:00
Marc Zinnschlag
63fd1e8df7
Merge remote-tracking branch 'origin/master'
2016-07-27 15:49:11 +02:00
AnyOldName3
a0699ce20d
Change some <> characters to double quotes, resolving compilation problems.
2016-07-27 01:19:05 +01:00
AnyOldName3
20f73f4a32
Relocate escape-related code to new files escape.hpp and escape.cpp.
2016-07-27 00:58:31 +01:00
MiroslavR
d790747389
Implement deletion of moved references (Bug #3471 )
2016-07-22 01:59:02 +02:00
AnyOldName3
7243583963
Change a switch to a series of if/else if/.../else, hopefully resolving compilation issues on OSX and Linux.
2016-07-21 01:36:14 +01:00
AnyOldName3
2b829f7f7b
Move some stuff to a header, removing the need for a dodgy hack.
2016-07-21 01:07:25 +01:00
AnyOldName3
becc053555
Trick the software into building by using what I assume is a really dirty hack.
2016-07-21 00:16:00 +01:00
AnyOldName3
519fbab864
Remove useless print
2016-07-20 23:18:09 +01:00
AnyOldName3
32f0ded8f6
Fix bug in unescape filter, but still manage not to fix build issue.
2016-07-20 23:15:44 +01:00
AnyOldName3
423919abb5
Make it not build again (but theoretically enable the desired functionality).
2016-07-20 15:19:34 +01:00
AnyOldName3
59639e3988
Make it build again (but remove the new functionality).
2016-07-20 15:16:53 +01:00
AnyOldName3
d9d5a6561b
Adjust the code so that it should (maybe) work, changing the compilation error to a less straighforward one.
2016-07-20 14:50:34 +01:00
AnyOldName3
95d2c7ea5c
Attempt to unescape characters when constructing file paths, introducing compilation errors.
2016-07-20 02:48:57 +01:00
Marc Zinnschlag
c17e1ca24a
Merge remote-tracking branch 'anyoldname3/ignore-hash-test'
2016-07-19 16:19:28 +02:00
MiroslavR
721fa28c1e
Fix assertion failure with NiTextureEffect missing source texture
2016-07-16 18:59:18 +02:00
AnyOldName3
f1b5ad5804
Remove unused unsafe function and properly remove inheritance from std::string, providing implementations of missing stream operators preventing boost reading and writing to escape strings.
2016-07-12 17:09:57 +01:00
AnyOldName3
e6f78ae5b7
Switch indentation to spaces to remain consistent with the rest of the project
2016-07-12 01:06:57 +01:00
AnyOldName3
08df463c94
Separate declaration and definition of some static members to hopefully calm Travis down.
2016-07-12 00:37:08 +01:00
AnyOldName3
7475d90693
Fix dodgy include by changing backslashes to forwardslashes
2016-07-12 00:14:19 +01:00
AnyOldName3
5121e77a95
Remove the cause of a warning which upset Travis (but not the thing that made the Travis build fail, as I have no idea why it wouldn't work or how to fix it
2016-07-12 00:00:29 +01:00
AnyOldName3
1a0642f1db
Make it work by realising that what boost::program_options calls validation is what any sane person would regard as parsing
2016-07-11 22:33:15 +01:00
AnyOldName3
195dd27780
Resolve obvious runtime error revealing more subtle one
2016-07-11 22:05:38 +01:00
MiroslavR
9c6739f1b3
Fix doubled particle spawn range
2016-07-11 22:40:58 +02:00
AnyOldName3
fbe6dc9704
Change compilation error to runtime exception and decide that inheriting from std::string may have been a bad idea in C++
2016-07-11 21:33:36 +01:00
AnyOldName3
7697406467
Partially fix '2 overloads have similar conversions' compilation error
2016-07-11 14:39:38 +01:00
AnyOldName3
2a9b12bb3f
Fix an issue preventing compilation, revealing another that doesn't make much sense.
2016-07-11 14:15:35 +01:00
AnyOldName3
c1ffc9e776
Remove a compilation error and set up framework to remove the others
2016-07-11 01:59:16 +01:00
AnyOldName3
e17e354e84
Make # only start a comment in openmw.cfg if it starts a line and introduct compilation errors
2016-07-11 01:16:32 +01:00
MiroslavR
2a987b6857
Do not skip inactive keyframe controllers (Bug #1942 )
2016-07-10 19:02:28 +02:00
scrawl
9375cbea44
Make NIFFilePtr const
2016-07-10 17:10:19 +02:00
scrawl
da0e20edcd
Merge pull request #991 from MiroslavR/opface
...
Implement Face instruction (Feature #1424 )
2016-07-10 02:10:23 +02:00
MiroslavR
f6f3f71db5
Improve format specifiers for message boxes
2016-07-09 03:18:45 +02:00
MiroslavR
dc0bc5b68c
Implement Face instruction (Feature #1424 )
2016-07-09 02:16:47 +02:00
scrawl
8f62ea2e80
Fix for "RigGeometry rendering with no skeleton" errors
2016-07-02 20:19:55 +02:00
scrawl
b9b73d7b12
Replace "sys::default" with ESM::CellId::sDefaultWorldspace
2016-07-02 19:48:11 +02:00
scrawl
d5f497c47d
Pass the node path instead of the node visitor
2016-07-02 19:27:19 +02:00
scrawl
6fa95e72c5
Pass the traversal number instead of the node visitor
2016-07-02 19:26:11 +02:00
MiroslavR
54f52f7bae
Implement effect removal for abilities ( Fixes #3455 )
2016-07-01 18:50:28 +02:00
MiroslavR
b99611a730
Initialize mSpecIncreases in ESM::NpcStats::load
2016-06-26 15:16:32 +02:00
MiroslavR
dfc62c99b4
Show correct class image in level-up dialog ( Fixes #3443 )
2016-06-26 03:22:58 +02:00
scrawl
824cd3be22
Do not set _boundingBoxComputed which is no longer used
2016-06-14 22:25:25 +02:00
scrawl
372f2e2f18
Merge pull request #962 from Allofich/AIPackageFixes
...
Duration fixes for Follow and Escort
2016-06-14 20:47:32 +02:00
Allofich
3bebbab78e
Duration fixes for Follow and Escort
2016-06-15 02:11:30 +09:00
scrawl
197e81206a
Assume mDeathAnimationFinished is true for older save files
2016-06-12 19:46:00 +02:00
scrawl
a825882c6b
Process death events at the end of the death animation ( Fixes #1873 )
2016-06-12 00:04:50 +02:00
scrawl
cb8daaaee1
Do not query the texture's image in osgMyGUI::OSGTexture
...
Doing so could result in a race condition if the draw thread is about to delete the image (UnRefImageDataAfterApply enabled)
2016-06-11 18:26:20 +02:00
Allofich
55ac1fab68
Change Wander duration to run on a counter
2016-06-10 04:36:18 +09:00
Marc Zinnschlag
b079db7913
Merge remote-tracking branch 'aesylwinn/EditPathgrid'
2016-06-07 08:35:16 +02:00
Roman Proskuryakov
3bcd23022a
Rewrites FindBullet using LibFindMacros handling version properly
2016-05-31 07:18:37 +03:00
Aesylwinn
b83f522ecd
Changes to color scheme, slight change to drag indicator,
...
change tooltip description.
2016-05-29 13:26:29 -04:00
Aesylwinn
564d0db68c
Move pathgrid abstraction handling to save code.
2016-05-26 22:11:27 -04:00
scrawl
3749821809
Choose a random death animation for actors that start the game as dead ( Fixes #3397 )
2016-05-19 21:40:05 +02:00
Aesylwinn
1781aaaa27
Drag indicator.
2016-05-18 12:17:26 -04:00
scrawl
04b537bf5f
Minor cleanup
2016-05-15 16:38:04 +02:00
scrawl
85b0c4393b
Remove obsolete code
2016-05-15 16:37:22 +02:00
scrawl
6e0c3b2413
Revert commit 16ac6e7aac
( Fixes #3394 )
2016-05-15 16:28:04 +02:00
scrawl
62018e802b
Minor fix to particle system AutoPlay flag handling
...
The previous commit broke some magic effects (e.g. shield). The controller's emit start/stop times should control the emitter, while the absence of the ParticleSystem's autoplay flag should freeze the whole particle system if no valid controller source gets assigned. This revised version works for both the Shield effect and the "dagoth ur death sparkles" effect.
2016-05-14 22:55:14 +02:00
scrawl
7202072196
Freeze particle systems on construction if the AutoPlay flag is missing
2016-05-14 22:38:49 +02:00
scrawl
0c08f705c5
Make the ParticleSystemController freeze the particle system instead of the emitter (Bug #3390 )
2016-05-14 22:36:53 +02:00
scrawl
e30bb31a79
Handle the particle node's AutoPlay flag (Bug #3390 )
2016-05-14 22:35:34 +02:00
Aesylwinn
32ba5bf8b8
Initial pathgrid editting, support for selection and movement.
2016-05-12 19:35:49 -04:00
scrawl
fcbcc004a3
Don't use unordered_map
2016-05-11 02:35:17 +02:00
scrawl
17a0353a85
Fix forward declaration mismatch
2016-05-10 17:36:25 +02:00
scrawl
a7e6219091
Merge pull request #939 from kpp/rewrite_esm_name_t
...
Rewrite ESM::NAME_T
2016-05-08 13:15:05 +02:00
Marc Zinnschlag
b4e341e1e2
Merge remote-tracking branch 'aesylwinn/RenderPathgrid'
2016-05-08 10:15:12 +02:00
Roman Proskuryakov
d5dfa89060
Rewrite NAME_T into FIXED_STRING.
2016-05-07 23:27:33 +03:00
Roman Proskuryakov
1e7d573f24
Fix uninitialized values in ESMWriter::save
2016-05-07 20:40:21 +03:00
Aesylwinn
14ae232938
Remove now unnecessary factory class.
...
It was originally used for storing normals, but that functionality
was removed.
2016-05-03 16:13:23 -04:00
Aesylwinn
b11f5b2717
Make edges differently colored.
2016-05-03 15:06:28 -04:00
Aesylwinn
0eb863d8fc
Change color to blue to match the pathgrid visibility selector in the
...
editor and slightly increase the scaling.
2016-05-03 03:29:34 -04:00
Aesylwinn
7f0cc6e583
Add a color gradiant to pathgrid nodes to make them less of an eyesore.
2016-05-03 03:29:30 -04:00
Aesylwinn
3d26ff08c4
Get rid of lighting.
2016-05-03 03:29:07 -04:00
Aesylwinn
d141672b53
Pathgrid geometry creator
2016-05-02 22:09:48 -04:00
scrawl
5f34fb0c41
Remove call to MYGUI_DBG_BREAK which was removed in mygui-git
2016-04-20 11:37:48 +02:00
scrawl
f3e9fd49f3
Don't add the autodetected mw path in global config file
...
The wizard takes care of detecting the MW installation path already. By having this path permanently in the global cfg-file, there exists no way to *not* use an autodetected installation, which is a problem.
2016-04-17 17:17:07 +02:00
scrawl
2f8be401cc
Add the unref work items to the front of the workqueue (Bug #3273 )
...
Ensures that memory still gets freed even if the workqueue is overloaded.
2016-03-29 00:27:56 +02:00
scrawl
bc36269617
When a controller is present more than once in the same keyframe file, pick the first one ( Fixes #2719 )
2016-03-26 14:59:49 +01:00
scrawl
8052225460
Remove leftover call to setTexCoordArrayList
2016-03-23 22:56:04 +01:00
scrawl
cc0afe901f
Store a pointer to tangents array to avoid potential type casting issue
2016-03-23 17:03:04 +01:00
scrawl
d1f6169889
Add special handling of RigGeometry tangents in ShaderVisitor
2016-03-23 16:48:41 +01:00
scrawl
95e80e7eff
RigGeometry: don't directly modify the primitive set list
...
This is to ensure that an element buffer object will be assigned to the primitive sets if necessary.
2016-03-23 00:10:22 +01:00
scrawl
c73ec71123
Revert "Store the RigGeometry's source vertices and normals directly"
...
This reverts commit 7a347e3483
.
2016-03-22 23:28:57 +01:00
scrawl
60c8c4fdda
Revert "Animate tangents in RigGeometry"
...
This reverts commit 9cf963b751
.
2016-03-22 23:28:52 +01:00
scrawl
9cf963b751
Animate tangents in RigGeometry
2016-03-22 22:14:35 +01:00
scrawl
7a347e3483
Store the RigGeometry's source vertices and normals directly
2016-03-22 22:01:56 +01:00
scrawl
6f31b3d79f
Add parallax mapping for objects
2016-03-22 21:46:15 +01:00
scrawl
df6fd5f206
Recognize normalHeightMap in the ShaderVisitor
2016-03-22 21:46:15 +01:00
scrawl
157c11398d
Add terrain parallax mapping
2016-03-22 21:46:15 +01:00
scrawl
24ae9f4ac1
Remove no longer needed apply(Geode&) in SetFilterSettingsVisitor and NodeToShapeVisitor
...
In OSG 3.4 (which is now a requirement), Drawables are normal Nodes attached in the scene graph. Geode is still provided for backwards compatibility, but does not need to be specially handled here because it now functions just like a normal Group node.
2016-03-14 00:38:22 +01:00
scrawl
e8caafa190
Remove no longer needed applyEffect(osgFX::Effect&) in SetFilterSettingsVisitor
...
No longer needed because terrain texture filtering is now updated manually in TerrainGrid::updateTextureFiltering.
2016-03-14 00:31:43 +01:00
scrawl
d7c7bb850b
ToggleAI cleanup
2016-03-12 20:32:42 +01:00
scrawl
d986b1a48b
Add comment
2016-03-11 19:28:53 +01:00
scrawl
1abb77f8a1
Cleanup
2016-03-11 19:18:51 +01:00
scrawl
9f03982e0b
Use a dedicated VBO for RigGeometry's vertices and normals
...
The VBO used by the source geometry's arrays may be unintentionally shared with other RigGeometries.
The vertices and normals are the only attributes that are modified at all, so using a dedicated VBO for these should improve performance further.
2016-03-11 19:08:48 +01:00
scrawl
50b8260a39
Disable VBOs in RigGeometry while investigating a crash possibly related to commit cda8a88f0d
2016-03-11 18:21:55 +01:00
scrawl
aae43dbff5
Set the MorphGeometry vertex buffer object usage to GL_DYNAMIC_DRAW
2016-03-11 16:10:39 +01:00
scrawl
4eb090a8d0
Set the RigGeometry vertex buffer object usage to GL_DYNAMIC_DRAW
2016-03-11 16:09:48 +01:00
scrawl
174dd82894
Manually apply the osg::Light state
...
Reduce the amount of virtual function calls. Don't use the osg::Light's lightNum. Don't set spotlight state that we're not using (yet).
2016-03-11 15:43:20 +01:00
scrawl
58e0e8bd4e
Enable vertex buffer objects in RigGeometry
2016-03-11 01:39:09 +01:00
scrawl
0dbf44b414
Enable vertex buffer objects in MyGUI RenderManager now that OSG 3.4 is a dependency
2016-03-11 01:35:57 +01:00
scrawl
3f08cbff71
Share the state attributes for terrain techniques
...
Reduces the total amount of GL calls / frame by about 14% - 50% depending on the scene.
2016-03-11 01:08:53 +01:00
scrawl
84b8da7a09
Share the osg::Material on drawables
...
Reduces the number of GL calls / frame by ~4%.
2016-03-11 01:06:54 +01:00
scrawl
abcfe9bcee
Don't add empty text key objects
2016-03-10 17:01:14 +01:00
scrawl
02d23564dc
Include cleanup
2016-03-10 14:29:45 +01:00
scrawl
f898bf493f
Don't use Geodes
2016-03-10 13:17:01 +01:00
scrawl
137dde7cf8
Include cleanup
2016-03-10 12:59:17 +01:00
scrawl
121bdd3e39
Update comment
2016-03-07 22:46:15 +01:00
scrawl
3e6cf17665
Warn about cellrefs with an empty refId (Bug #3238 )
2016-03-07 22:44:03 +01:00
scrawl
0df975a4d7
Properly detach nodes in CopyRigVisitor ( Fixes #3234 )
2016-03-06 11:33:07 +01:00
scrawl
82b792f808
Eliminate dynamic_cast in BillboardCallback
2016-03-05 20:02:33 +01:00
scrawl
2eaf96e3bf
Make ResourceManager destructor virtual
2016-03-02 21:58:11 +01:00
scrawl
dd2fbfc0a2
Fix windows build
2016-03-02 21:57:25 +01:00
scrawl
3d6323f13a
Force-enable hasWater() for exterior cells ( Fixes #3222 )
2016-03-02 17:02:30 +01:00
scrawl
563807ee53
Share the StateSet used to invert front face
2016-03-02 13:33:44 +01:00
scrawl
6e7c6fdd7e
Implement NiTexturingProperty::DecalTexture
2016-03-01 18:41:36 +01:00
scrawl
30d06bfe0e
Add comment
2016-03-01 17:27:54 +01:00
scrawl
64636bd85a
Improve error reporting
2016-03-01 17:05:02 +01:00
scrawl
2821f46a18
Corpse clearing fix
2016-03-01 11:31:08 +01:00
scrawl
8791063110
Fix "RigGeometry rendering with no skeleton" warnings in rare cases
2016-02-29 18:20:56 +01:00
scrawl
1e5b4bea0a
Don't create an unnecessary osg::Group when copying over a rig
2016-02-29 17:50:18 +01:00
scrawl
27577ce765
Add ESM::Land::DEFAULT_HEIGHT
2016-02-28 16:49:18 +01:00
Marc Zinnschlag
ebaeabc962
Merge remote-tracking branch 'scrawl/respawn'
2016-02-28 10:19:14 +01:00
scrawl
3a2dccad4b
Implement 'Show' script instruction
2016-02-27 13:40:53 +01:00
scrawl
c3ef387208
Vanilla-compatible creature/NPC respawning ( Fixes #2369 , Fixes #2467 )
2016-02-27 12:53:07 +01:00
scrawl
f99cd15f00
Vanilla-compatible activate / onActivate ( Fixes #1629 )
...
See https://forum.openmw.org/viewtopic.php?f=6&t=3074&p=34618#p34635
2016-02-26 13:08:35 +01:00
scrawl
195c3b9967
Merge pull request #904 from sandstranger/disable_opengles_anddroid
...
disable opengl es for Android by default
2016-02-25 21:39:25 +01:00
scrawl
cdccf03228
Fix mismatched delete
2016-02-25 21:32:42 +01:00
sandstranger
a7b78b37f5
disable opengles for Android by default
2016-02-25 22:39:18 +03:00
scrawl
5f4ace1bc2
Implement support for sphere map NiTextureEffects ( Fixes #1827 )
2016-02-24 21:06:41 +01:00
scrawl
062410bd8c
Don't incorrectly remove TexEnv state
2016-02-23 10:56:18 +01:00
scrawl
90a99991d1
Use empty() instead of !size()
2016-02-22 19:06:12 +01:00
scrawl
8bd16e4d5a
Don't compute the world matrix multiple times
2016-02-22 18:58:19 +01:00
scrawl
055d35a2b0
Revert "Warn about particle emitters that have multiple parent node paths"
...
Not working correctly because osg won't ignore camera nodes.
This reverts commit 1667c807be
.
2016-02-22 18:10:25 +01:00
scrawl
1667c807be
Warn about particle emitters that have multiple parent node paths
2016-02-22 15:21:06 +01:00
Marc Zinnschlag
f9f91d5386
Merge remote-tracking branch 'origin/master'
2016-02-21 09:01:17 +01:00
scrawl
cee608e31b
Make it work with appveyor's outdated OSG build
2016-02-21 01:41:50 +01:00
scrawl
8e826eefe6
Add missing initialization
2016-02-21 01:26:45 +01:00
scrawl
e25e0a0600
ShaderVisitor: assume the first texture unit is the diffuseMap
2016-02-20 23:47:32 +01:00
scrawl
e7682e04ae
Cleanup
2016-02-20 22:09:41 +01:00
scrawl
cdefee3e64
Add call to MultiObjectCache::releaseGLObjects
2016-02-20 20:38:37 +01:00
scrawl
4ca6e91292
Fix in-code default settings so that we don't attempt to use shaders in OpenCS
2016-02-20 20:36:29 +01:00
scrawl
8f81df2bd3
Cleanup
2016-02-20 20:34:56 +01:00
scrawl
0db7163363
Add specular mapping for terrain
2016-02-20 19:55:08 +01:00
scrawl
171e293641
ShaderManager: insert #line directives when including files
2016-02-20 19:55:08 +01:00
scrawl
f01e8a6950
Add specular mapping for objects
2016-02-20 19:55:08 +01:00
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'
2016-02-20 18:00:43 +01:00
scrawl
6a0ac824bd
Fix terrain error in OpenCS
2016-02-19 15:00:58 +01:00
scrawl
7071d286e8
Fix inverted check for 16-bit indices
2016-02-19 14:59:47 +01:00
scrawl
4e5462bc19
Don't attempt to create a collision shape for an empty TriShape
2016-02-19 14:23:55 +01:00
scrawl
ca0e1fe0e0
Set the osg::Material on the terrain root node
2016-02-19 01:45:28 +01:00
scrawl
6000e48bba
Add terrain shaders and normal map support
...
Textures with _n filename suffix are automatically recognized as terrain normal maps.
2016-02-19 01:37:30 +01:00
scrawl
5e12a1b4ef
Add enchanted item glow to the shader
2016-02-18 23:05:44 +01:00
scrawl
268594dcf1
Recreate shader in NpcAnimation::setAlpha
2016-02-18 22:48:53 +01:00
scrawl
a73512afb7
Add shader settings to settings.cfg
2016-02-18 19:38:34 +01:00
scrawl
21c4dffed2
Add #include support in shaders
2016-02-18 19:37:58 +01:00
scrawl
22cc5c0965
Cache the Program
2016-02-18 19:37:58 +01:00
scrawl
456816f707
Use diffuse.a / vertex.a, use material emission
2016-02-18 19:37:58 +01:00
scrawl
3e854a84a2
Slightly more efficient applying of light state
2016-02-18 19:37:57 +01:00
scrawl
f93b7ec943
Fix light state issue
...
GLSL does not respect gl_Disable(GL_LIGHTX), so we have to set unused lights to zero.
Sadly, this change makes the applying of the modelView matrix less efficient. So far I couldn't find a better solution, osg's state tracker keeps getting in the way. :(
2016-02-18 19:37:57 +01:00
scrawl
9376811213
Vertex lighting shader
2016-02-18 19:37:57 +01:00
scrawl
a9ad1b09e2
Introduce ShaderManager & ShaderVisitor
...
Actual shaders still to be written.
2016-02-18 19:37:56 +01:00
scrawl
e647ee5424
Support RGB and RGBA embedded textures in NIF files ( Fixes #2295 )
2016-02-18 19:37:56 +01:00
scrawl
a9ac108382
Fully read NiPixelData
2016-02-18 19:37:56 +01:00
scrawl
606758d72f
NifLoader: create the BumpTexture slot, but don't use it yet
2016-02-18 19:37:56 +01:00
scrawl
4cd4131da9
NifLoader: assign a name to created textures
...
This name will tell the shader visitor how to handle that texture.
2016-02-18 19:37:56 +01:00
scrawl
50e92c8136
NifLoader: move texture property handling to a separate function
2016-02-18 19:37:56 +01:00
scrawl
acf44fd9e5
NifLoader: handleTextureControllers outside of the NumTextures loop
2016-02-18 19:37:55 +01:00
scrawl
e05d975020
Change the way that texture filtering settings are applied at runtime
2016-02-18 19:37:55 +01:00
scrawl
a94029267f
Fix an inverted condition (Bug #3209 )
2016-02-18 01:25:52 +01:00
scrawl
c4d38bb42d
Fix clang analyzer warnings
2016-02-16 19:17:04 +01:00
scrawl
ed57293e54
Allow '^' escape characters in books
...
http://forum.openmw.org/viewtopic.php?f=2&t=3373&p=37584&sid=1a0b015e6716b1bced37fd398ef876c7
2016-02-16 14:55:13 +01:00
scrawl
9eb96b9cb6
Parse the bullet version in FindBullet.cmake
2016-02-15 14:34:59 +01:00
scrawl
83a9a164bc
Raise the required bullet version to 2.83
...
2.82 appears to have a bug that causes the player to be able to phase through certain objects (bug #1587 ).
2016-02-15 00:33:17 +01:00
Marc Zinnschlag
28e3fe837f
Merge remote-tracking branch 'scrawl/osg_34'
2016-02-14 17:31:33 +01:00
scrawl
eaf3f5a829
Remove unused arguments
2016-02-13 04:14:05 +01:00
scrawl
6fc6913424
Do not set the cursor when creating it
2016-02-13 03:34:09 +01:00
scrawl
5824619a95
Clean up includes
2016-02-12 19:28:10 +01:00
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)
2016-02-12 14:46:45 +01:00
scrawl
be6ea3d607
Account for UV coordinate flip in UVController ( Fixes #3203 )
2016-02-11 16:22:54 +01:00
Marc Zinnschlag
da6dcfc49e
Merge remote-tracking branch 'scrawl/resource'
2016-02-10 16:23:38 +01:00
scrawl
5e876b1379
Add missing include
2016-02-10 15:34:06 +01:00
scrawl
98c5e072f2
Swap the terrain cache update order to make more sense
2016-02-09 21:17:10 +01:00
scrawl
9f729667fb
Remove debug output
2016-02-09 21:16:11 +01:00
scrawl
0865cea211
Preload terrain
2016-02-09 21:16:11 +01:00
scrawl
98848c752a
Make getLayerInfo thread safe
2016-02-09 20:26:58 +01:00
scrawl
8aba74e6ee
Remove GridElement
2016-02-09 20:23:53 +01:00
scrawl
596fe56bfd
Make Land::loadData thread safe
2016-02-09 20:21:56 +01:00
scrawl
afe533e670
Accept a const Object in UnrefQueue
2016-02-09 19:00:30 +01:00
scrawl
246566cef4
Preload instances in BulletShapeManager
2016-02-09 18:48:49 +01:00
scrawl
e28dc3e72f
Preload instances in SceneManager
2016-02-09 18:35:26 +01:00
scrawl
2e62298bd3
Clean up ObjectCache includes
2016-02-09 18:11:07 +01:00
scrawl
40a6e05e17
Use a deque instead of vector in UnrefQueue
2016-02-09 16:09:55 +01:00
scrawl
d11c2864df
Introduce UnrefQueue to handle the deleting of no longer needed objects in the background thread
2016-02-09 15:45:35 +01:00
scrawl
84f01b7527
Remove unneeded forward declaration
2016-02-08 16:27:28 +01:00
scrawl
b2019d31c7
Mark thread safe methods in BsaFile
2016-02-08 15:55:05 +01:00
scrawl
e4e313fe12
Remove outdated comment
2016-02-08 14:41:21 +01:00
scrawl
c8054424c9
Preload items equipped by NPCs
2016-02-07 22:37:52 +01:00
scrawl
a81b10b415
Make the cache expiryDelay configurable
2016-02-07 19:05:55 +01:00
scrawl
41233fc8e5
Keep a reference to the original scene template for as long as the instance is used
2016-02-07 18:56:21 +01:00
scrawl
778bce3ae9
Remove unused ObjectCache functions
2016-02-07 18:27:12 +01:00
scrawl
49ecac4ced
Add a mutex lock around the SharedStateManager
2016-02-07 07:37:35 -08:00
scrawl
c3ad4dad75
Fix applying of filter settings on terrain textures
2016-02-07 05:53:56 -08:00
scrawl
8b981ab507
Crash fix
2016-02-07 05:53:42 -08:00
scrawl
c155680d3c
Customize ObjectCache for more efficient locking in removeExpiredObjectsInCache
2016-02-07 00:43:37 +01:00
scrawl
d855a13b44
Clear the resource cache from the worker thread
2016-02-07 00:36:31 +01:00
scrawl
6f9ca0f68f
Add basic cell preloader class
...
Not properly in use yet, but seems to be working.
2016-02-07 00:14:13 +01:00
scrawl
e055ae094a
Improve const-correctness in BulletShapeManager
...
Sadly, two const_cast's are needed to work around Bullet API quirks.
2016-02-07 00:14:13 +01:00
scrawl
b7e69cbc64
Refactor WorkQueue, merge WorkTicket and WorkItem
...
Allow the caller to hold on to the WorkItem. This makes it possible for a derived WorkItem to store the result of the work within the WorkItem itself.
2016-02-06 22:42:45 +01:00
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.
2016-02-06 17:22:17 +01:00
scrawl
e02f35264f
Work around OSG 3.2 not respecting the DEEP_COPY_CALLBACK flag ( Fixes #3183 )
2016-02-06 15:08:12 +01:00
scrawl
ea1efaac0c
Use the osgDB::ObjectCache in SceneManager, cleanup
2016-02-06 00:15:12 +01:00
scrawl
909c4d96b6
Use the osgDB::ObjectCache in BulletShapeManager
2016-02-05 23:59:37 +01:00
scrawl
6c1c653cba
Use the osgDB::ObjectCache in ImageManager
...
Should be thread safe now.
2016-02-05 23:31:59 +01:00
scrawl
9e5225bb6f
Do not unref a Texture's image data after applying it
2016-02-05 23:21:54 +01:00
scrawl
9e53e12c70
More renaming of TextureManager -> ImageManager
2016-02-05 23:10:27 +01:00
scrawl
5ee3d1698f
Remove getWarningTexture in favor of getWarningImage
2016-02-05 23:05:43 +01:00
scrawl
f99f403dda
Rename TextureManager to ImageManager
2016-02-05 23:03:53 +01:00
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.
2016-02-05 23:01:11 +01:00
scrawl
fbd4ad9b0c
Flip terrain textures
2016-02-05 22:46:15 +01:00
scrawl
71401aafe7
Handle multipass techniques in SetFilterSettingsVisitor
2016-02-05 21:08:32 +01:00
scrawl
31988ca4cc
Add a dont_override_filter description for textures that should be left alone
2016-02-05 21:07:08 +01:00
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.
2016-02-05 21:03:11 +01:00
scrawl
6ac688c0e2
Change the way that texture filtering setting changes are applied at runtime to not require keeping a reference to textures
...
The references would be difficult to clean up because there may or may not be another reference to the texture in the osgDB::SharedStateManager.
2016-02-05 21:03:11 +01:00
scrawl
e2ee1d5689
Use separate textures for the MyGUI RenderManager
...
This means we can more reliably set the filter parameters.
I believe this commit creates a regression where non-DDS GUI textures would display upside down, which will be addressed by further refactoring in the next commits.
2016-02-05 21:03:10 +01:00
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.
2016-02-05 21:03:10 +01:00
scrawl
b06730ac61
Fix terrain textureCompileDummy
2016-02-05 21:02:16 +01:00
scrawl
2eda495f89
Build fix for OSG 3.2
2016-02-03 19:05:15 +01:00
scrawl
06ed20abf8
Use the initial pose of a MorphGeometry for object placement ( Fixes #3136 )
2016-02-03 18:53:38 +01:00
scrawl
8360cccce7
Don't clone Drawable UpdateCallbacks twice
...
The Drawable copy constructor takes care of that already.
2016-02-01 21:02:48 +01:00
scrawl
6b48acaf0e
Don't optimize TriShapes with controllers ( Fixes #3143 )
2016-02-01 21:01:17 +01:00
scrawl
d9290b0ee0
Array fix
2016-01-25 21:13:38 +01:00
scrawl
aec8c38461
Move observer_ptr include where it belongs
2016-01-25 21:03:33 +01:00
scrawl
48f53e23bf
Allow alternate mesh formats for marker_error
2016-01-25 17:15:54 +01:00
Tobias Kortkamp
0659687bfb
Some fixes for building on FreeBSD
2016-01-25 14:13:16 +01:00
scrawl
f0971ee8ad
Implement Fixme script instruction
2016-01-20 04:07:07 +01:00
scrawl
41c571d4f4
Merge branch 'master' of https://github.com/OpenMW/openmw into lighting
...
Conflicts:
apps/opencs/view/render/instancemode.cpp
2016-01-15 15:46:10 +01:00
scrawl
62fe47b144
Load default terrain if there is none defined
2016-01-14 16:41:50 +01:00
scrawl
458a305bff
OpenCS: add lighting mask
2016-01-11 23:14:43 +01:00
scrawl
e1c7165bfb
Fix bounds calculation for addLight to a transform node
2016-01-11 23:14:43 +01:00
scrawl
93cc08a09c
Lighting fix for LightListCallbacks attached to a Transform node
2016-01-11 23:10:16 +01:00
scrawl
3089aeccc4
Factor out SceneUtil::addLight
2016-01-11 23:10:16 +01:00
scrawl
438b30d6f0
Move configureLight to a separate file
2016-01-11 23:10:16 +01:00
scrawl
11496b8075
Read fallback settings in OpenCS
2016-01-11 23:10:16 +01:00
scrawl
6546c05428
Move Fallback map to components/
2016-01-11 23:10:16 +01:00
Marc Zinnschlag
ece40b1e96
improved the remaining handling of extra arguments
2016-01-07 16:07:49 +01:00
Marc Zinnschlag
46e32de350
improved handling of extra arguments in DiscardParser
2016-01-07 16:01:01 +01:00
Marc Zinnschlag
f9607a47b3
improved handling of extra arguments in StringParser
2016-01-07 15:54:22 +01:00
Marc Zinnschlag
210c77968a
Don't report warning about extra arguments, if there are no extra arguments ( Fixes #3133 )
2016-01-07 15:38:23 +01:00
scrawl
daa94cc50e
Fix cppcheck warnings
2016-01-03 20:19:38 +01:00
scrawl
0597c8fd9c
Pass a Vec4f by reference
2016-01-03 16:43:20 +01:00
scrawl
ea0be6e737
Update ScriptArgs documentation
2016-01-03 00:13:01 +01:00
scrawl
23cd2056bf
Ignore extra arguments in playSound and playSound3D.
...
A common mistake in mods is to use playSound with volume/pitch arguments, which only playSoundVP supports. Previously these extra arguments raised a parser error, making the respective mod unusable.
2016-01-03 00:13:01 +01:00
scrawl
e695619aa5
ExprParser: Warn about ignored arguments
2016-01-03 00:02:58 +01:00
scrawl
3ebfb47983
Do not discard root node transformations if the root node is named 'bip01' (Bug #3118 )
2016-01-02 01:30:06 +01:00
Alexander "Ace" Olofsson
0efb8e2949
osgDB::ObjectCache was added in 3.3.3, not 3.4.0
...
Fixes redefinition error on builds with OSG >3.3.3 <3.4.0
2015-12-24 17:18:32 +01:00
cc9cii
90b76801f6
Reduce the call to tolower() for each character when the string is already in lower case.
...
- only a minor performance gain according to the MSVC profiler
2015-12-19 18:50:07 +11:00
cc9cii
abe6904a94
Minor performance gains on loading cell references.
...
- Use integers where possible
- Unfortunately many functions are simply duplicated for now, but over time the deprecated ones will be removed
2015-12-19 17:54:45 +11:00
cc9cii
003b0d48be
Move resource names listing code out of CSMWorld::Resources ctor in order to avoid multiple scan of the same resources.
...
- The resources are still scanned twice, once when the archive/directory is added and another time when the names are listed.
2015-12-19 17:39:02 +11:00
scrawl
deb7f3caf6
Print deletion state in ObjectReferenceInfo
2015-12-17 20:17:38 +01:00
scrawl
723c392a73
NifLoader: fall back to the first UV set when encountering invalid UV set references
2015-12-17 04:05:39 +01:00
scrawl
0731595c2b
Wrap a Texture2D in a ref_ptr
2015-12-17 03:38:38 +01:00
scrawl
31c3324705
Don't assume the emitter node is a Group ( Fixes #3082 )
...
This would be a correct assumption by default, but is no longer true when the NifLoader::optimize() function optimizes the graph.
2015-12-17 03:38:26 +01:00
scrawl
d5a2586f38
LoadingScreen: add support for important labels
...
Used in saveGame so the player can be sure whether or not the game was saved.
Fixes #3074
2015-12-15 21:16:20 +01:00
scrawl
625644e917
LoadingScreen: documentation updates
2015-12-15 21:03:56 +01:00
scrawl
ccbba5e926
LoadingScreen: remove indicateProgress, not used
2015-12-15 20:52:23 +01:00
scrawl
78a733a12c
Fix initialization of InputWrapper::mWindowHasFocus
2015-12-15 20:13:41 +01:00
scrawl
c70790ecb7
Remove outdated comment
2015-12-14 15:50:30 +01:00
scrawl
076dc539bc
KeyframeManager fix
2015-12-14 15:11:06 +01:00
Chris Robinson
f1faeeae3a
Use separate config options for min and mag texture filters
2015-12-13 17:05:19 -08:00
Chris Robinson
5c0a847eaf
Combine some duplicate code
2015-12-13 16:51:27 -08:00
scrawl
64424e7262
Move keyframe loading out of SceneManager to new KeyframeManager
2015-12-13 15:31:07 +01:00
scrawl
295563ba65
Minor fix
2015-12-13 15:31:07 +01:00
scrawl
6f966b8434
Don't use osg::notify
2015-12-11 16:18:08 +01:00
Paul Cercueil
06719df868
Use the standard cursor if the custom cursor can't be used
...
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2015-12-11 15:59:59 +01:00
scrawl
0efce6cd4c
Fix typo in a comment
2015-12-10 00:15:55 +01:00
scrawl
eb92b853fe
BulletNifLoader: preallocate the btTriangleMesh's vertices/indices
2015-12-10 00:05:35 +01:00
scrawl
293f3f30b5
Indentation fix
2015-12-09 23:30:24 +01:00
scrawl
57b7cac13f
Merge pull request #850 from MatthewRock/fix-2952-2
...
Fix for bug #2952 : Enchantment Merchant Items reshuffled EVERY time 'barter' is clicked
2015-12-09 20:12:45 +01:00
MatthewRock
3b254ad631
Allows the same item to have multiple ancestors
2015-12-09 18:24:35 +01:00
scrawl
bdae572264
Merge pull request #840 from scrawl/movedrefs
...
Object movement between cells
2015-12-09 14:10:57 +01:00
cfcohen
d00d487c3d
Improved error reporting under POSIX using errno and strerror().
2015-12-08 23:35:03 -05:00
scrawl
de84452e5a
NifFile: close the stream after reading ( Fixes #3070 )
2015-12-09 04:52:00 +01:00
scrawl
39feb547a0
Broken lower casing fix ( Fixes #3068 )
2015-12-08 23:12:40 +01:00
MatthewRock
aa721fe1f6
Fix bug 2952 with merchant and levelled items
2015-12-08 22:39:11 +01:00
scrawl
624809c8dc
Minor fix for error handling in skeleton.cpp
2015-12-08 16:50:54 +01:00
scrawl
07b064f616
Rename to lowerCaseInPlace
2015-12-07 22:49:15 +01:00
scrawl
e3d3380c8c
Remove return value for in-place toLowerStr
2015-12-07 22:43:08 +01:00
scrawl
e4751c68e9
Typo fix
2015-12-07 22:30:02 +01:00
scrawl
42d68eb7fb
Build fix
2015-12-07 22:29:57 +01:00
scrawl
f875597be5
Don't use tolower()
...
See https://forum.openmw.org/viewtopic.php?f=8&t=3231&p=35968
2015-12-07 21:58:30 +01:00
scrawl
9d4af59860
Don't attempt to create quest log buttons if textures are unavailable ( Fixes #3063 )
2015-12-07 15:33:04 +01:00
scrawl
671561ea37
Write moved references to the save game file (not resolved on loading yet)
2015-12-06 19:11:25 +01:00
scrawl
1d5af3c9c8
Remove unneeded cast
2015-12-06 15:44:27 +01:00
scrawl
e39f49a88f
OSG extensions namespace fixes
2015-12-06 15:27:43 +01:00
cc9cii
19af94b73e
Reduce copying further by adding move constructors and move assignment operators to CellRef structs.
2015-12-06 15:20:45 +11:00
scrawl
c60f4ba7bd
Make RigGeometry bone references case-insensitive ( Fixes #3058 )
2015-12-05 15:02:35 +01:00
scrawl
3c02703876
Not found Land Textures are no longer a fatal error (Bug #3037 )
...
Log warning message and show the default texture when encountering invalid ESM::LandTexture references.
(cherry picked from commit 35fa1f5865
)
2015-12-05 18:14:55 +11:00
scrawl
a1939ae05f
StringUtils: use the locale-unaware tolower function
...
There is no change in behaviour since we were using the C locale.
The locale-aware tolower is much slower than the locale-unaware one. At least on Linux/GCC it calls dynamic_cast's, and is overall slower by an order of magnitude.
(cherry picked from commit 27e669296e
)
2015-12-05 18:11:21 +11:00
scrawl
0eca29eb62
Ignore Creature INDX subrecords
...
Found in some .ess files, not sure what they mean.
(cherry picked from commit 0bdfd1b0d7
)
2015-12-05 17:42:58 +11:00
cc9cii
1334091613
Resolve merge issues.
2015-12-05 17:28:32 +11:00
scrawl
c221be76dc
Tests: add dialogue_merging_test (requires some data files)
...
(cherry picked from commit 38c155c579
)
2015-12-05 11:26:24 +11:00
scrawl
41ee50c2b7
Move common subrecord definitions (NAME, DELE) to defs.hpp
...
(cherry picked from commit fc8e40889d
)
2015-12-05 11:25:14 +11:00
Stanislav Bas
d789d9369c
Make saving of deleted ESM records more consistent
...
(cherry picked from commit f9b0b7ede5
)
2015-12-05 11:24:21 +11:00
Stanislav Bas
3821bffbfa
Fix missing break in switch statement
...
(cherry picked from commit 9a8ca81907
)
2015-12-05 11:24:09 +11:00
Stanislav Bas
2abdeef2e0
Remove unused includes
...
(cherry picked from commit daaff1284e
)
Conflicts:
apps/openmw/mwworld/store.cpp
components/esm/util.hpp
2015-12-05 11:23:57 +11:00
Stanislav Bas
82363bf318
Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records
...
(cherry picked from commit 4a16eba716
)
Conflicts:
components/esm/loadland.cpp
components/esm/loadland.hpp
2015-12-05 11:20:31 +11:00
Stanislav Bas
7013ba751c
Fix build errors & warnings
...
(cherry picked from commit 1e8182220a
)
2015-12-05 11:19:22 +11:00
Stanislav Bas
d12f784e7e
Remove <cstdint> include file from loaddial.cpp
...
(cherry picked from commit f5745749a6
)
2015-12-05 11:19:11 +11:00
scrawl
258f7a2b42
LightController fixes
2015-12-05 00:38:06 +01:00
Stanislav Bas
696f7a942b
Some refactoring. Remove unused code
...
(cherry picked from commit 5fd48efd28
)
Conflicts:
apps/openmw/mwworld/store.cpp
2015-12-05 09:46:20 +11:00
Stanislav Bas
b5c958c62a
More ESM records have DELE handling.
...
Changed records: Race, Land, Pathgrid, StartScript, DebugProfile, Filter
(cherry picked from commit e65ff723ce
)
Conflicts:
components/esm/loadland.cpp
components/esm/loadland.hpp
2015-12-05 09:17:40 +11:00
Stanislav Bas
8b7b3d2a4e
Refine DELE handling in ESM records. Add position-independent DELE search
...
(cherry picked from commit ad353e6dd0
)
2015-12-05 07:20:36 +11:00
Stanislav Bas
3686c1e32d
Move DELE handling to CellRef record
...
(cherry picked from commit e8a9567be3
)
2015-12-05 07:20:09 +11:00
Stanislav Bas
82e1b0563c
Add NAME handling to DebugProfile and Filter records
...
(cherry picked from commit b55a4999ca
)
2015-12-05 07:19:32 +11:00
Stanislav Bas
72152d84ed
Move ID loading into a separate method for Dialogue and DialInfo records
...
(cherry picked from commit c8c79dc1ef
)
Conflicts:
apps/openmw/mwworld/store.cpp
2015-12-05 07:19:07 +11:00
Stanislav Bas
d518d70212
Remove NAME and DELE handling from IdCollection
...
(cherry picked from commit 74a055f3cc
)
2015-12-05 07:18:39 +11:00
Stanislav Bas
377d606fc3
Load/read methods in MWWorld::Store return a pair (record ID, deleted flag)
...
(cherry picked from commit c266315a35
)
Conflicts:
apps/openmw/mwworld/store.cpp
apps/openmw/mwworld/store.hpp
2015-12-05 07:17:56 +11:00
Stanislav Bas
2448aa05cb
Add removing of deleted Infos to Dialogue::clearDeletedInfos()
...
(cherry picked from commit adec0cb61d
)
2015-12-05 07:09:23 +11:00
Stanislav Bas
25a8cda9ac
Some fixes for ESM Dialogues and Infos
...
(cherry picked from commit e0983c815c
)
2015-12-05 07:09:05 +11:00
Stanislav Bas
80074f90bf
Set Deleted flag to false when initializing ESM records
...
(cherry picked from commit 7ecb54a776
)
2015-12-05 07:08:50 +11:00
Stanislav Bas
e0d5208d26
Remove explicit record ID in load/read methods of MWWorld::Store
...
(cherry picked from commit 89e44c8f1f
)
2015-12-05 07:07:14 +11:00
Stanislav Bas
c4fd4be3ea
Add NAME handling to GameSetting record
...
(cherry picked from commit b2f3ccb080
)
2015-12-05 07:05:41 +11:00
Stanislav Bas
711d787939
Add NAME and DELE handling to Global record
...
(cherry picked from commit 09a3358017
)
2015-12-05 07:05:28 +11:00
Stanislav Bas
1aa1336dcf
Remove redundant code
...
(cherry picked from commit 30b42bf4c0
)
2015-12-05 07:00:07 +11:00
Stanislav Bas
4f1601fe0d
Add NAME handling to Race record
...
(cherry picked from commit 8c3654af11
)
2015-12-05 06:59:53 +11:00
Stanislav Bas
7dc0c9138f
Add NAME and DELE handling to Cell record
...
(cherry picked from commit b667338a8f
)
2015-12-05 06:59:39 +11:00
Stanislav Bas
8c77cafc35
Add DELE handling to Info record
...
(cherry picked from commit 847614c26f
)
2015-12-05 06:59:24 +11:00
Stanislav Bas
d89de1ba30
Add NAME and DELE handling to Dialogue record
...
(cherry picked from commit 0b537186e5
)
2015-12-05 06:59:12 +11:00
Stanislav Bas
93736e9a81
Change DELE sub-record value to 0 (4 bytes)
...
(cherry picked from commit 19ac4e942a
)
2015-12-05 06:59:01 +11:00
Stanislav Bas
1b21d1b5f7
Add NAME and DELE handling to Script record
...
(cherry picked from commit d2c15647a3
)
2015-12-05 06:58:47 +11:00
Stanislav Bas
44c36a00f8
Add NAME and DELE handling to ESM records.
...
Changed records are those where DELE is inserted at the beginning of a
record (before NAME).
The record has all required sub-records in this case.
(cherry picked from commit 9ac20a3355
)
2015-12-05 06:58:34 +11:00
Stanislav Bas
e9a8eac6af
Add NAME and DELE handling to ESM records.
...
Changed records are those where DELE is located after NAME sub-record.
And DELE is the last sub-record.
(cherry picked from commit 926c825d0c
)
Conflicts:
components/esm/loadstat.cpp
components/esm/loadstat.hpp
components/esm/util.hpp
2015-12-05 06:58:16 +11:00
Marc Zinnschlag
70cb6f0238
fixed an interference with script warning mode and error downgrading ( Fixes #2990 )
...
(cherry picked from commit b61b732207
)
2015-12-05 06:40:10 +11:00
scrawl
368dd9bd8d
Compiler: remove unused mNameStartingWithDigit
...
(cherry picked from commit f7d0d06134
)
2015-12-05 06:34:32 +11:00
scrawl
4a9b37aa53
Fix copy constructor issue
2015-12-04 18:08:32 +01:00
scrawl
c442af09c5
Write more documentation for the lighting system
2015-12-04 18:08:32 +01:00
scrawl
462ef617ce
Don't read forward/backward values for Quaternion key lists
...
https://forum.openmw.org/viewtopic.php?f=8&t=3201&p=35867#p35867
2015-12-04 00:18:54 +01:00
scrawl
8e9571d155
Double buffer the light StateAttributes and StateSets
...
Fixes a race condition where the position of a light could jump a frame ahead.
2015-12-04 00:06:22 +01:00
scrawl
1f8ee9b8d1
StateSetUpdater: use the frameNumber
...
More robust in case a node is updated twice in the same frame (e.g. because it has multiple parents).
2015-12-03 23:46:25 +01:00
scrawl
f22982d251
Merge pull request #835 from sandstranger/opengles1
...
enable opengl es1
2015-12-03 21:25:00 +01:00
scrawl
eb458bf9c8
Fix inactive RigGeometry not rendering correctly
2015-12-03 19:49:45 +01:00
sandstranger
7d374b36fd
change cmake variables
2015-12-03 21:29:50 +03:00
Marc Zinnschlag
06efd72a89
allow keywords as strings in messagebox instruction ( Fixes #2991 )
2015-12-03 11:14:58 +01:00
sandstranger
238a5824be
add custom new variable fot Qt
2015-12-03 08:54:14 +03:00
sandstranger
bd5057aa3c
enable opengl es1
2015-12-02 22:40:04 +03:00
scrawl
647bed7f40
Do not read openmw.cfg from global path if one was found in the local path
2015-12-02 19:21:10 +01:00
scrawl
87e44bf627
Small fix
2015-12-02 15:21:13 +01:00
scrawl
d3fa8a8602
Add osgDB::ObjectCache to the repository to work around it not being available in OSG 3.2
2015-12-02 15:14:39 +01:00
scrawl
a29aef14f1
Eliminate a dynamic_cast in ParticleSystemController
2015-12-02 14:59:32 +01:00
scrawl
6cf2c35235
Don't rely on the _particles vector implementation details
...
This will allow compiling OpenMW with an osgParticle optimization to be pushed to OpenMW/osg.
2015-12-02 14:59:32 +01:00
scrawl
3d12b2ca9d
Add NifFileManager to avoid duplicate parsing of the NIFFile in SceneManager and BulletShapeManager.
2015-12-02 14:59:32 +01:00
scrawl
c9d710f334
Use a typedef to avoid conditional compiling
2015-12-01 16:18:19 +01:00
Alexander "Ace" Olofsson
cfcbd20d99
Let's put it as a MSVC-only fix for now
2015-12-01 04:19:30 +01:00
Alexander "Ace" Olofsson
e42f4999bd
Quick fix for building on MSVC
2015-12-01 04:06:34 +01:00
scrawl
e5ec4fe042
Add const specifier
2015-11-30 21:02:26 +01:00
scrawl
695fcf41c4
Optimize ValueInterpolator / KeyframeController
...
Cache the current position in the animation track and attempt to reuse it in the next frame.
Decent speed up for the Update phase, about 0.3 ms faster in Balmora.
2015-11-30 20:53:47 +01:00
scrawl
ac366f1603
Fix the rig bounds being updated twice per frame
...
Unlike what I expected, the osgUtil::UpdateVisitor is set to traverse all children (not only active children). The FrameSwitch was thus traversing both RigGeometries part of the double-buffering scheme, rather than only the one active in the current frame.
2015-11-30 05:42:31 +01:00
scrawl
e49bce7b40
Share the bvh of btBvhTriangleMeshShape's when possible
...
Results in decent cell-loading speed up. (only affects bullet versions < 2.83, since we use btScaledBvhTriangleMeshShape for >=2.83)
2015-11-30 02:06:29 +01:00
scrawl
d5a738bd39
Apply 27e669296e
(locale-unaware tolower) to more code
...
In particular, the one in VFS::normalizeFilename was affecting cell loading performance.
2015-11-30 00:38:52 +01:00
scrawl
f962ce0bbe
Don't link against unnecessary OSG libraries
2015-11-29 19:56:43 +01:00
Marc Zinnschlag
2bef714d34
Merge remote-tracking branch 'emperorarthur/no_relative'
2015-11-28 10:01:05 +01:00
Arthur Moore
c66fd69c47
Fix #include error
2015-11-27 21:20:54 -05:00
Arthur Moore
4c0c20b1a0
Changed relative includes to library header format
2015-11-27 21:01:28 -05:00
scrawl
30cc633f2c
Missing include fix
2015-11-27 22:21:01 +01:00
scrawl
35fa1f5865
Not found Land Textures are no longer a fatal error (Bug #3037 )
...
Log warning message and show the default texture when encountering invalid ESM::LandTexture references.
2015-11-27 21:57:24 +01:00
scrawl
177a6f4a68
Launcher: ensure to clear previous settings when reloading settings
2015-11-27 20:52:29 +01:00
scrawl
ace4cfc0a8
Fix 'duplicate setting' errors when running installation wizard
2015-11-27 20:32:45 +01:00
Marc Zinnschlag
7cc950ed64
Merge remote-tracking branch 'origin/master'
2015-11-27 10:34:22 +01:00
scrawl
27e669296e
StringUtils: use the locale-unaware tolower function
...
There is no change in behaviour since we were using the C locale.
The locale-aware tolower is much slower than the locale-unaware one. At least on Linux/GCC it calls dynamic_cast's, and is overall slower by an order of magnitude.
2015-11-27 03:22:52 +01:00
scrawl
fbee32729a
Cache CellId
...
ESM::Cell::getCellId() was allocating a string on every call. This caused functions dealing with cellIds to be unnecessarily expensive.
For example, World::moveObject spent almost as much time comparing CellIds as it did updating Bullet's AABB after the move. OpGetDistance was by far the most expensive script instruction because it has to compare cellIds.
The total cost of getCellId() relative to the frame loop was about 0.3%.
2015-11-26 23:56:32 +01:00
cfcohen
7605912ece
Merge branch 'master' of https://github.com/OpenMW/openmw into config_writer_changes
2015-11-26 00:57:21 -05:00
cfcohen
ad5eaaa705
Update the OpenMW Launcher so that it only writes changed values to
...
the user settings.cfg file. Add a helpful header to the top of new
settings.cfg files. Remove old code involve whitespace management
that didn't work correctly anayway, and doesn't matter since we're not
adding comments to the file. Remove "automatically generated"
comments.
2015-11-25 21:30:04 -05:00
scrawl
8a3ec14bc6
Revert "Merge remote-tracking branch 'sandstranger/opengles'"
...
This reverts commit cc9cab6fd1
, reversing
changes made to da856eed95
.
2015-11-25 19:22:48 +01:00
Marc Zinnschlag
ef68e2aec4
Merge remote-tracking branch 'origin/master'
2015-11-25 19:18:17 +01:00
cfcohen
67c4b17581
Commit files that I thought wre in the previous commit. :-[ I'm
...
accustomed to the hg behavior of commiting all modified files by
default.
2015-11-25 13:17:03 -05:00
scrawl
1b77428c59
Use const reference, thanks ace13
2015-11-24 03:42:35 +01:00
cfcohen
6882e6451a
Remove tabs. :-[
2015-11-23 20:18:39 -05:00
cfcohen
9a975a2e68
Substantial rewrite of code to save settings.cfg file, allowing
...
comments to persist, ordering of settings to be retained, additional
reporting of changed settings, preservation of the settings.cfg
timestamp when no changes are made, and foundational changes for
possible future features. Due to poor interaction with the
openmw-launcher settings code, the launcher will still discard all of
these benefits.
2015-11-23 20:17:26 -05:00
sandstranger
16c6816a6f
add forgotten file for building on opengles
2015-11-23 20:42:30 +03:00
sandstranger
69acacefff
openmw building on Android with Opengl es
2015-11-23 20:28:35 +03:00
scrawl
38510a56c2
GeomMorpherController: do not dirty the MorphGeometry unless necessary
2015-11-22 21:24:00 +01:00
scrawl
0d49c7fa51
GeomMorpherController: fix double update of MorphGeometry
2015-11-22 21:23:46 +01:00
scrawl
28b20428b9
Remove dynamic_cast in GeomMorpherController
2015-11-22 20:33:22 +01:00
scrawl
94e8560bf8
RigGeometry: do not allocate new NodePath every frame
2015-11-22 20:01:09 +01:00
scrawl
6d5aa272fc
RigGeometry: do not update the geomToSkelMatrix more than once per frame
2015-11-22 19:54:27 +01:00
scrawl
75a464f7ec
Fix a typo
2015-11-22 19:54:27 +01:00
scrawl
fc7456e0a1
Explicitely opt for float matrices in performance critical places
2015-11-22 19:54:27 +01:00
scrawl
ffea9ec2c4
Remove comment
...
SharedStateManager::prune is run automatically during the update traversal.
2015-11-22 19:54:26 +01:00
scrawl
62169a7039
Use a single-precision PositionAttitudeTransform in speed critical places
2015-11-22 19:54:26 +01:00
scrawl
36e91617c9
Revert "NifOsg::Emitter: ignore psToWorld scale"
...
This reverts commit 7c16630874
.
Fixes #3022
2015-11-19 22:09:32 +01:00
scrawl
9b96fcc224
Set the particle scaleReferenceFrame to local space
2015-11-19 15:49:42 +01:00
scrawl
3bd2aaddea
Adjust PulseSlow light controller ( Fixes #1963 )
2015-11-18 23:14:01 +01:00
scrawl
0bdfd1b0d7
Ignore Creature INDX subrecords
...
Found in some .ess files, not sure what they mean.
2015-11-18 16:47:03 +01:00
scrawl
d68ea994d5
Deal with empty meshes
2015-11-17 01:51:21 +01:00
scrawl
83e9a649e5
Cleanup
2015-11-17 01:45:38 +01:00
scrawl
e62470d674
Auto-generate the collision shape for native mesh formats
2015-11-17 00:20:15 +01:00
scrawl
8cf57ef6ac
Move BulletShapeManager and BulletShape to resource/
2015-11-17 00:20:15 +01:00
scrawl
eb2f16d682
Support for loading .osg mesh format
2015-11-16 23:26:43 +01:00
scrawl
21e25f4756
Use the traversalNumber as frame number
2015-11-16 20:03:45 +01:00
scrawl
52901ec10c
Do not create terrain geodes when built with OSG 3.4
2015-11-16 15:11:20 +01:00
Marc Zinnschlag
de98ee0062
Merge remote-tracking branch 'scrawl/esm_rewrite'
2015-11-14 14:25:08 +01:00
scrawl
38c155c579
Tests: add dialogue_merging_test (requires some data files)
2015-11-14 00:27:59 +01:00
scrawl
054c3eb24e
Do not deep copy PrimitiveSets when build with OSG 3.5
2015-11-13 20:39:44 +01:00
scrawl
fc8e40889d
Move common subrecord definitions (NAME, DELE) to defs.hpp
2015-11-13 18:07:18 +01:00
scrawl
b8e11cf197
Merge commit 'pull/upstream/678' into HEAD
...
Conflicts:
apps/esmtool/record.cpp
apps/opencs/model/doc/savingstages.cpp
apps/opencs/model/world/land.cpp
apps/opencs/model/world/land.hpp
apps/opencs/model/world/landtexture.cpp
apps/openmw/mwworld/store.cpp
components/esm/loadland.cpp
components/esm/loadland.hpp
2015-11-13 01:34:36 +01:00
scrawl
7c16630874
NifOsg::Emitter: ignore psToWorld scale
...
Seems wrong to me, but MW appears to do it that way. Without this fix, the light_de_candle_08_64 from http://www.nexusmods.com/morrowind/mods/41654/ has flame particles in the wrong spot.
2015-11-13 00:23:00 +01:00
scrawl
a29d1ace2b
Read NiSpotLight
2015-11-12 23:45:12 +01:00
scrawl
ba211ad9ad
Read NiPointLight ( Fixes #3011 )
2015-11-12 23:42:17 +01:00
scrawl
0965a9059d
Handle NiLODNode using osg::LOD ( Fixes #3008 )
2015-11-12 19:52:36 +01:00
scrawl
626281977e
Read NiLODNode (Bug #3008 )
2015-11-12 19:52:32 +01:00
scrawl
b4ce73f179
Rotations: remove LocalRotation
...
This never existed in vanilla MW in the first place. The reason we got confused was because of a strange behaviour where the order of applying rotations changes as soon as a script touches the object's rotation.
2015-11-12 01:16:37 +01:00
Marc Zinnschlag
b04a23bf43
Merge remote-tracking branch 'origin/openmw-37' into openmw-37
2015-11-11 19:55:42 +01:00
scrawl
1edcb219a7
Leak fix
2015-11-11 16:27:17 +01:00
scrawl
fc93dc6195
Remove a stray method declaration
2015-11-11 01:32:31 +01:00
MatthewRock
a662a00c62
Fixing bug for merchant
2015-11-10 19:18:02 +01:00
scrawl
7776c49fc1
GraphicsWindowSDL2: adjust the log levels
2015-11-10 18:42:59 +01:00
scrawl
0409e5a043
Use OSG_VERSION_GREATER_EQUAL / LESS_THAN rather than MIN_VERSION_REQUIRED (cosmetic change)
2015-11-10 18:28:58 +01:00
scrawl
f1ac408f35
Place Drawables directly in the scene graph when built with OSG 3.4
...
OSG 3.4 adds the ability to place Drawables directly in the scene graph, without a Geode decorating them. Leveraging this should give a small performance boost, because the redundant Geodes increase culling overhead.
There is still an oustanding issue with the RemoveDrawableVisitor no longer working correctly, because Drawables can have multiple parents.
2015-11-10 18:23:42 +01:00
scrawl
35459f20d5
Refactor lighting mask
2015-11-10 17:23:12 +01:00
scrawl
91583fc027
Fix MWRender::Mask_ParticleSystem
2015-11-10 17:00:33 +01:00
Alexander "Ace" Olofsson
37158df339
Update scalinglayer.cpp
...
MSVC Explicitly requires <algorithm> for std::min and/or max
2015-11-10 14:59:26 +01:00
scrawl
bd8332d2b0
Remove default copyop argument for nodecallback copy constructors
...
Works around a compiler warning with OSG 3.4:
warning: base class 'class osg::Callback' should be explicitly initialized in the copy constructor [-Wextra]
With no default argument for osg::CopyOp&, the compiler no longer sees the function as a real copy constructor and stops warning about the missing virtual initializations.
We don't care about this warning because there is nothing interesting to initialize in the osg::NodeCallback base anyway.
A proper fix for the warning would require to inserting OSG_VERSION conditional compiling all over the place, that is as long as we are still supporting OSG 3.2.
2015-11-09 18:57:17 +01:00
scrawl
1200ff9186
RigGeometry: fix incorrect bounding box in the first frame
...
The default computeBound() was overriding the manually set bounding box.
2015-11-09 18:31:41 +01:00
scrawl
64abdbabe3
Small refactor of controllers handling, print warning messages for unhandled controllers
2015-11-09 17:42:35 +01:00
scrawl
35f5be680b
Support for NiVisController on trishape nodes
2015-11-09 17:42:35 +01:00
Marc Zinnschlag
af5a1bc16b
Merge remote-tracking branch 'origin/master'
2015-11-09 09:07:37 +01:00
Marc Zinnschlag
b61b732207
fixed an interference with script warning mode and error downgrading ( Fixes #2990 )
2015-11-09 09:07:18 +01:00
scrawl
79b3f1e6a8
Small cleanup
2015-11-08 18:30:22 +01:00
scrawl
59aee04ddb
Implement ScalingLayer, for layouting of widgets in screen-relative coordinates
2015-11-08 18:30:21 +01:00
scrawl
57b9eafa0f
osgMyGUI: implement AdditiveLayer
2015-11-07 17:45:22 +01:00
scrawl
51f3a8fec6
osgMyGUI: move Platform methods to the .cpp file
2015-11-07 17:39:31 +01:00
scrawl
7ff168b787
osgMyGUI: add support for layers to insert custom rendering state
2015-11-07 17:33:32 +01:00
scrawl
0210b87ffc
Revert "Fix LightSource crash"
...
This reverts commit f336c6db87
.
Root cause should be fixed in next commit.
2015-11-06 23:14:27 +01:00
scrawl
72252d4f32
Terrain: restore IncrementalCompileOperation
2015-11-06 20:22:07 +01:00
scrawl
7ca8e45d5d
Terrain: remove debug code
2015-11-06 20:21:39 +01:00
scrawl
ef18f4217f
Terrain: create 4x4 terrain chunks per ESM::Cell to improve performance
...
Improves performance because the number of splatting layers per chunk is reduced, and finer grained frustum culling can be done.
2015-11-06 20:14:57 +01:00
scrawl
95cf13e3f2
Terrain: make the blendmapSize and layerTileSize in FixedFunctionTechnique configurable
2015-11-06 15:23:37 +01:00
Marc Zinnschlag
e081eb2c34
Merge remote-tracking branch 'origin/master'
2015-11-05 07:56:57 +01:00
Marc Zinnschlag
7239481672
Merge remote-tracking branch 'scrawl/scrawl-patch-2'
2015-11-05 07:53:08 +01:00
scrawl
c996702b56
Fix some uninitialised variables found by static analysis
2015-11-04 20:34:50 +01:00
scrawl
f7d0d06134
Compiler: remove unused mNameStartingWithDigit
2015-11-04 20:31:23 +01:00
scrawl
c23609e22b
Cache the light list in LightListCallback
...
When multiple cameras are rendering, the later cameras can reuse the light lists from the first camera.
2015-11-04 00:19:15 +01:00
scrawl
fd1ccd21ff
Disable freezeOnCull for weather particles
2015-11-02 23:49:22 +01:00
scrawl
5ca0ae5232
Don't add the same AlphaFader to multiple nodes
2015-11-02 23:38:34 +01:00
Marc Zinnschlag
aa31704d5d
deal with script execution from within a script ( Fixes #2964 )
...
(cherry picked from commit 8eb6d337d5
)
2015-11-01 22:48:38 +11:00
Marc Zinnschlag
4677560859
adjusted a workaround for names starting with digits that interfered with some numerical expressions written without spaces
...
(cherry picked from commit 435e52306a
)
2015-11-01 21:37:30 +11:00
Marc Zinnschlag
c5235ea794
removed a redundant else and made unary + work also in the console
...
(cherry picked from commit ae54f34f25
)
2015-11-01 21:37:14 +11:00
Emmanuel Anne
890405bdb1
scripts: recognize '+' also as a unary operator
...
it fixes the armor sorter in "Blades safe house.esp"
(cherry picked from commit dace7ab706
)
2015-11-01 21:37:01 +11:00
scrawl
fcb9068c19
Fix tab indentations in apps/ and components/
...
(cherry picked from commit a47617c21f
)
Conflicts:
apps/openmw/mwinput/inputmanagerimp.cpp
apps/openmw/mwmechanics/aicombat.cpp
apps/openmw/mwphysics/physicssystem.cpp
2015-11-01 21:34:23 +11:00
Marc Zinnschlag
a2294117cd
replaced context-sensitive implementation of allowing digits at the beginning of names with a more general implementation ( Fixes #1730 )
...
(cherry picked from commit 4d94f38f4b
)
2015-11-01 21:33:37 +11:00
cc9cii
148ccb79e8
Set default creature scale to 1. Partially resolves bug #2880 . (no creature verifier yet)
...
(cherry picked from commit 192f01e3ac
)
2015-11-01 21:32:57 +11:00
cc9cii
2f76a1510e
Remove AI flag from the UI and instead auto-detect whether to save AIDT records. Should resolve bug #2879 .
...
(cherry picked from commit 45aee1b508
)
Conflicts:
apps/opencs/model/world/refidadapterimp.hpp
2015-11-01 21:32:34 +11:00
scrawl
c0f21bfb77
Add some comments to ESM::Land
...
(cherry picked from commit 5252dbcf1f
)
Conflicts:
components/esm/loadland.hpp
2015-11-01 19:08:52 +11:00
Marc Zinnschlag
25952369ae
merge land tables
...
(cherry picked from commit a8dc1c1198
)
2015-11-01 18:56:18 +11:00
Marc Zinnschlag
c4b34a077e
refactored loading of land data
...
(cherry picked from commit 69b9eadb52
)
Conflicts:
apps/openmw/mwworld/scene.cpp
components/esmterrain/storage.cpp
2015-11-01 18:54:15 +11:00
Marc Zinnschlag
44020df65f
made return type of ESMTerrain::Storage::getLand const
...
(cherry picked from commit febf611c82
)
2015-11-01 13:40:56 +11:00
Marc Zinnschlag
35c4af9476
added copy constructor and assignment operator for Land record struct
...
(cherry picked from commit b0641934d4
)
2015-11-01 13:40:32 +11:00
scrawl
f336c6db87
Fix LightSource crash
2015-10-29 00:51:35 +01:00
scrawl
05fd4e123e
Use the format field instead of version field
...
(cherry picked from commit a081d402c5
)
2015-10-25 11:35:32 +11:00
scrawl
b9ba1067bf
Savegame loading optimization
...
(cherry picked from commit 4637750601
)
2015-10-25 11:35:15 +11:00
scrawl
49df6b7450
LightManager: fix incorrect view matrix for RELATIVE_RF cameras
2015-10-23 21:25:56 +02:00
scrawl
6dff11f847
Duplicate code fix
2015-10-23 18:16:26 +02:00
scrawl
8552a9d82c
Add multiple camera support to LightManager
2015-10-23 01:58:22 +02:00
scrawl
2ee6b41887
Handle NiAlphaProperty on a drawable basis
...
Removes the RenderBin nesting complication. Also results in leaner StateSets, so the cull phase should be a bit faster.
2015-10-19 15:46:53 +02:00
Marc Zinnschlag
8eb6d337d5
deal with script execution from within a script ( Fixes #2964 )
2015-10-09 12:14:56 +02:00
Emmanuel Anne
b911abd7d8
add a few more possible arguments to choice
...
this fixes some travel dialogs for "Antares Big Mod"
2015-10-07 12:28:35 +02:00
Marc Zinnschlag
435e52306a
adjusted a workaround for names starting with digits that interfered with some numerical expressions written without spaces
2015-09-26 11:34:46 +02:00
Marc Zinnschlag
ae54f34f25
removed a redundant else and made unary + work also in the console
2015-09-26 11:30:35 +02:00
Marc Zinnschlag
2158bfe285
Merge remote-tracking branch 'zelurker/scripts_unary_plus'
2015-09-26 11:25:40 +02:00
scrawl
8e69c80bf6
Add framenumber checks in various cull callbacks, so we don't update more than once per frame when multiple cameras are used
2015-09-26 01:21:33 +02:00
Emmanuel Anne
dace7ab706
scripts: recognize '+' also as a unary operator
...
it fixes the armor sorter in "Blades safe house.esp"
2015-09-25 14:22:57 +02:00
Alexander "Ace" Olofsson
7d4125d97f
Fixes for building with unity build
2015-09-24 15:21:42 +02:00
scrawl
f7e5a40143
Fix typo
2015-09-21 17:58:57 +02:00
scrawl
a47617c21f
Fix tab indentations in apps/ and components/
2015-09-16 20:45:37 +02:00
Marc Zinnschlag
4d94f38f4b
replaced context-sensitive implementation of allowing digits at the beginning of names with a more general implementation ( Fixes #1730 )
2015-09-15 14:57:07 +02:00
cc9cii
192f01e3ac
Set default creature scale to 1. Partially resolves bug #2880 . (no creature verifier yet)
2015-09-12 10:17:14 +10:00
cc9cii
45aee1b508
Remove AI flag from the UI and instead auto-detect whether to save AIDT records. Should resolve bug #2879 .
2015-09-12 10:15:32 +10:00
scrawl
5252dbcf1f
Add some comments to ESM::Land
2015-09-11 21:09:54 +02:00
Marc Zinnschlag
a445683312
Merge branch 'mergetool'
...
Conflicts:
apps/opencs/CMakeLists.txt
apps/opencs/model/tools/tools.cpp
2015-09-11 13:22:15 +02:00
scrawl
f8f66bffb0
Remove empty line at the beginning of files
...
git ls-files -z | xargs -0 sed -i '1{/^$/d}'
2015-09-08 06:40:06 +10:00
scrawl
76fb68a9c0
Handle particle systems that don't have emitters
...
Fixes a crash in the Magic Diversity mod.
2015-09-07 22:07:09 +02:00
Marc Zinnschlag
c157fef2e0
allow use of IDs as function arguments, even if the ID matches a keyword ( Fixes #2830 )
2015-09-08 06:01:47 +10:00
Marc Zinnschlag
a8dc1c1198
merge land tables
2015-09-03 16:15:00 +02:00
Marc Zinnschlag
69b9eadb52
refactored loading of land data
2015-08-31 16:13:26 +02:00
Marc Zinnschlag
febf611c82
made return type of ESMTerrain::Storage::getLand const
2015-08-31 14:17:11 +02:00
Marc Zinnschlag
b0641934d4
added copy constructor and assignment operator for Land record struct
2015-08-31 11:06:32 +02:00
Marc Zinnschlag
7a96a04b75
Merge remote-tracking branch 'origin/master'
2015-08-31 09:22:19 +02:00
scrawl
e9acd135a6
Update todo comment
2015-08-30 20:43:39 +02:00
scrawl
cda8a88f0d
Use DEEP_COPY_PRIMITIVES to work around problem in osg::Geometry copy constructor (Bug #2754 )
2015-08-30 20:00:37 +02:00
slothlife
7817c52cbb
Discard old save game weather records
2015-08-27 09:57:32 -05:00
slothlife
54fa5273dc
Refactor weather transitions to act more like MW
...
Fixed several issues:
* Waiting/jail time/training all now properly skip remaining transitions
* ChangeWeather no longer permanently sets the region's weather
* ChangeWeather being called during a transition now correctly queues up
another transition
* Corrected transition delta and factor calculations
* ModRegion settings are now saved
2015-08-26 22:59:21 -05:00
scrawl
af3b0cd883
Improve some error messages
2015-08-21 00:31:43 +02:00
Nikolay Kasyanov
166df28906
OS X cursor workaround build fix
2015-08-19 21:23:16 +02:00
scrawl
4a68ceaeb7
Restrict the OS X cursor workaround to Intel graphics systems
2015-08-19 19:06:24 +02:00
scrawl
67bd6cd708
Remove empty line at the beginning of files
...
git ls-files -z | xargs -0 sed -i '1{/^$/d}'
2015-08-18 23:06:12 +02:00
scrawl
af5ffa5548
Don't warn about SDL touch events
2015-08-15 22:53:29 +02:00
scrawl
47ac20af40
Workaround flipped cursor on OS X
2015-08-15 22:28:59 +02:00
cc9cii
2242920b85
Fix compiling with MSVC 2013 (typo mistake with the include file).
2015-08-13 13:11:17 +10:00
cc9cii
bb250a236b
Fix compilation when using 1.9 Ogre branch (i.e. the previous change on this file was in fact not related to MSVC 2015, but rather the use of the Ogre default branch).
2015-08-13 13:09:40 +10:00
cc9cii
b920e1bde7
Support MSVC 2015. Tested(*) with updated dependencies:
...
- Microsoft Visual Studio Community 2015 Version 14.0.23107.0 D14REL
- Qt 5.5, commit 1d3966833b5f27fb262f2d3727557ef2c8947828
- SDL2 default branch, Changeset: 9834 (d3fa6d0d3793)
- Ogre default branch, Changeset: 8048 (19479be2c7c5)
- Boost 1.59, commit 9a02cf8eb34eb31f0858c223ce95319f103addfa
- OpenAL commit 8fa4f276f89985be44007ce166109837cbfd5763
(*) only tested compilation and startup of the each app
2015-08-12 06:50:22 +10:00
Marc Zinnschlag
cbf9f83b85
allow use of IDs as function arguments, even if the ID matches a keyword ( Fixes #2830 )
2015-08-05 17:20:01 +02:00
cc9cii
da85b3a4ee
Update to keeping config comments (Feature #2535 )
...
-An attempt to fix Coverity-Scan warning (see: https://github.com/OpenMW/openmw/pull/618#discussion_r33641670 )
- Unable to test until a PR can be submitted.
2015-08-01 13:25:35 +10:00
scrawl
16b8ef3164
Don't use a shared Material in MaterialColorController
2015-07-31 00:01:55 +02:00
scrawl
de479e35c8
Fix AlphaController affecting all instances of the StateSet
2015-07-30 23:51:37 +02:00
Alexander "Ace" Olofsson
1f78ebd3c9
Oops?
2015-07-30 12:22:51 +02:00
Alexander "Ace" Olofsson
77a3a52b4e
What's wrong with this statement?
2015-07-30 12:16:15 +02:00
Alexander "Ace" Olofsson
e9ffbcc1b0
OSG 3.3.3 moves GL extensions out of osg::Texture
2015-07-30 11:45:10 +02:00
cc9cii
5bef43ac14
Remove duplicated config scanning (see: https://forum.openmw.org/viewtopic.php?f=7&t=2922&p=32940#p32940 )
...
* Requires boost::filesystem::canonical() from v1.48
* reduces startup time
* Fixes asset files being listed multiple times in tables
2015-07-30 16:30:59 +10:00
cc9cii
7247da5a77
Fix loading openmw-template.omwgame with debug builds (see: https://forum.openmw.org/viewtopic.php?f=7&p=34026#p34026 ). Script::load() was failing with debug assertion fail (vector subscript out of range)
2015-07-30 15:48:45 +10:00
Marc Zinnschlag
26d617d88b
allow keywords in quotes ( Fixes #2794 )
2015-07-30 09:34:46 +10:00
scrawl
5d3ad13868
Merge pull request #696 from EmperorArthur/verbose_errors
...
Be more descriptive when the NIF loader does not handle something.
2015-07-29 15:32:01 +02:00
Marc Zinnschlag
be1692f218
Merge remote-tracking branch 'origin/master'
2015-07-29 14:46:23 +02:00
Marc Zinnschlag
20106bb90f
allow keywords in quotes ( Fixes #2794 )
2015-07-29 14:45:56 +02:00
Arthur Moore
2d93a6f6cb
Be more verbose when dealing with unhandled nif texture properties
2015-07-28 18:46:11 -04:00
scrawl
d7ad0ee148
Print a sensible error message when S3TC support is missing ( Fixes #2800 )
2015-07-28 23:35:10 +02:00
scrawl
3a7d0d8dc8
Remove a file that isn't in use yet from build
2015-07-28 23:34:55 +02:00
Stanislav Bas
f9b0b7ede5
Make saving of deleted ESM records more consistent
2015-07-28 21:37:21 +03:00
scrawl
26656707dd
Use marker_error.nif as replacement when a mesh fails to load
2015-07-28 03:21:44 +02:00
scrawl
ac1f64b559
Fix StencilProperty front face mixup ( Fixes #2802 )
2015-07-28 03:20:18 +02:00
Koncord
386f545c67
Fix definition conflict
2015-07-27 15:22:19 +10:00
cc9cii
740c8bc6f1
Merge branch 'master' into cc9cii
...
Conflicts:
apps/opencs/model/settings/usersettings.cpp
apps/opencs/view/world/dialoguesubview.cpp
2015-07-27 10:53:39 +10:00
Stanislav Bas
9a8ca81907
Fix missing break in switch statement
2015-07-26 13:54:36 +03:00
scrawl
b3f5ac5dbb
Include cleanup
2015-07-25 02:11:49 +02:00
Stanislav Bas
daaff1284e
Remove unused includes
2015-07-22 22:18:26 +03:00
Stanislav Bas
4a16eba716
Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records
2015-07-22 19:26:00 +03:00
Stanislav Bas
1e8182220a
Fix build errors & warnings
2015-07-19 23:44:16 +03:00
Stanislav Bas
f5745749a6
Remove <cstdint> include file from loaddial.cpp
2015-07-19 22:50:42 +03:00
Koncord
7924ecef3e
Fix definition conflict
2015-07-19 23:37:20 +09:00
Stanislav Bas
5fd48efd28
Some refactoring. Remove unused code
2015-07-19 14:58:14 +03:00
Stanislav Bas
e65ff723ce
More ESM records have DELE handling.
...
Changed records: Race, Land, Pathgrid, StartScript, DebugProfile, Filter
2015-07-19 14:58:13 +03:00
Stanislav Bas
ad353e6dd0
Refine DELE handling in ESM records. Add position-independent DELE search
2015-07-19 14:57:59 +03:00
Marc Zinnschlag
b3ad983f1f
Merge remote-tracking branch 'scrawl/version'
...
Conflicts:
apps/openmw/mwgui/windowmanagerimp.cpp
2015-07-18 12:22:37 +02:00
Marc Zinnschlag
edde1fb727
Merge remote-tracking branch 'scrawl/master'
2015-07-18 11:40:36 +02:00
scrawl
f09e4620b6
Move OpenMW version information to a textfile instead of compiling it in
...
Now we don't need to recompile 3 .cpp files and re-link whenever the current git HEAD changes.
2015-07-18 03:09:04 +02:00
slothlife
420789baa9
Remove an unused include
2015-07-17 15:26:04 -05:00
slothlife
1b3cc957f8
Move some OSG static library setup code
2015-07-17 15:13:43 -05:00
scrawl
41bed4c7d9
Use multimap to speed up custom map marker code
2015-07-17 20:49:10 +02:00
slothlife
df99d5a59d
Move setup code for OSG when statically linked
2015-07-17 09:56:21 -05:00
slothlife
43b1f15af9
Merge remote-tracking branch 'upstream/master' into static-deps-build
2015-07-17 01:03:19 -05:00
slothlife
83ef1f7eea
Add support for linking OpenSceneGraph statically
...
Added some basic support for linking to OpenSceneGraph and its plugins
statically. Also added a library necessary to statically link MyGUI
(previously Ogre pulled it in).
2015-07-17 00:56:15 -05:00
Stanislav Bas
e8a9567be3
Move DELE handling to CellRef record
2015-07-15 19:39:01 +03:00
Koncord
73731d27e9
Add ${MYGUI_LIBRARIES} to components/CMakeLists.txt
2015-07-14 23:54:47 +09:00
scrawl
de6dc21552
Create hardware cursors in advance ( Fixes #2660 )
2015-07-13 23:36:25 +02:00
Stanislav Bas
b55a4999ca
Add NAME handling to DebugProfile and Filter records
2015-07-13 22:37:14 +03:00
scrawl
c4866bdfc6
Disable mipmaps for GUI textures
...
For some reason, the mipmap generator seems to be broken on Linux Intel graphics (works on Nvidia). This was breaking the scrollbar arrows, which are minified enough to show using a mipmap.
2015-07-13 19:13:26 +02:00
Stanislav Bas
c8c79dc1ef
Move ID loading into a separate method for Dialogue and DialInfo records
2015-07-13 11:26:23 +03:00
Stanislav Bas
74a055f3cc
Remove NAME and DELE handling from IdCollection
2015-07-13 10:40:11 +03:00
Stanislav Bas
c266315a35
Load/read methods in MWWorld::Store return a pair (record ID, deleted flag)
2015-07-12 15:20:22 +03:00
Stanislav Bas
2ed182b144
Update to upstream/master. Resolve merge conflicts in MWWorld::Store
2015-07-12 12:01:18 +03:00
Stanislav Bas
adec0cb61d
Add removing of deleted Infos to Dialogue::clearDeletedInfos()
2015-07-12 00:19:04 +03:00
Stanislav Bas
e0983c815c
Some fixes for ESM Dialogues and Infos
2015-07-11 22:17:53 +03:00
scrawl
24ae1d5ace
Fix some issues found by coverity
2015-07-11 03:34:08 +02:00
Marc Zinnschlag
08d2b196bd
Merge remote-tracking branch 'ace/explicit-instantiation'
2015-07-10 08:58:53 +02:00
scrawl
72686c32ae
Fix runtime exceptions on MyGUI debug builds
2015-07-10 03:03:17 +02:00
Stanislav Bas
7ecb54a776
Set Deleted flag to false when initializing ESM records
2015-07-10 00:29:46 +03:00
Stanislav Bas
89e44c8f1f
Remove explicit record ID in load/read methods of MWWorld::Store
2015-07-10 00:29:36 +03:00
Stanislav Bas
b2f3ccb080
Add NAME handling to GameSetting record
2015-07-10 00:29:34 +03:00
Stanislav Bas
09a3358017
Add NAME and DELE handling to Global record
2015-07-10 00:29:32 +03:00
Stanislav Bas
30b42bf4c0
Remove redundant code
2015-07-10 00:29:30 +03:00
Stanislav Bas
8c3654af11
Add NAME handling to Race record
2015-07-10 00:29:28 +03:00
Stanislav Bas
b667338a8f
Add NAME and DELE handling to Cell record
2015-07-10 00:29:26 +03:00
Stanislav Bas
847614c26f
Add DELE handling to Info record
2015-07-10 00:29:24 +03:00
Stanislav Bas
0b537186e5
Add NAME and DELE handling to Dialogue record
2015-07-10 00:29:22 +03:00
Stanislav Bas
19ac4e942a
Change DELE sub-record value to 0 (4 bytes)
2015-07-10 00:29:20 +03:00
Stanislav Bas
d2c15647a3
Add NAME and DELE handling to Script record
2015-07-10 00:29:18 +03:00
Stanislav Bas
9ac20a3355
Add NAME and DELE handling to ESM records.
...
Changed records are those where DELE is inserted at the beginning of a
record (before NAME).
The record has all required sub-records in this case.
2015-07-10 00:25:54 +03:00
Stanislav Bas
926c825d0c
Add NAME and DELE handling to ESM records.
...
Changed records are those where DELE is located after NAME sub-record.
And DELE is the last sub-record.
2015-07-10 00:18:00 +03:00
Alexander "Ace" Olofsson
2bebfea38d
Instantiate struct as a struct
2015-07-09 22:45:25 +02:00
Alexander "Ace" Olofsson
3655ef16af
Explicitly instantiate ESM::StatState
2015-07-07 19:19:37 +02:00
scrawl
49c07de773
Merge pull request #643 from ace13/win-build-fix
...
Fix build error and a pair of warnings
2015-07-05 22:24:24 +02:00
Alexander "Ace" Olofsson
aaaee74a4d
Fix the comments
2015-07-05 21:56:04 +02:00
scrawl
631cec7304
Take the radius of lights into account when sorting
2015-07-02 20:46:34 +02:00
scrawl
bf9c62fa42
Fix for some coverity scan defects
2015-07-02 20:46:34 +02:00
scrawl
a1432b0255
Move attackingOrSpell flag to the CharacterController
2015-07-02 19:14:28 +02:00
scrawl
a081d402c5
Use the format field instead of version field
2015-06-30 17:26:33 +02:00
scrawl
4637750601
Savegame loading optimization
2015-06-30 16:47:41 +02:00
scrawl
43f9c7f295
Skip the Update traversal for inactive skeletons
2015-06-30 03:25:30 +02:00
scrawl
1956e2c988
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/opencs/CMakeLists.txt
2015-06-28 00:38:39 +02:00
scrawl
502cc852da
Handle encoding conversions when saving TES3 header ( Fixes #2727 )
2015-06-26 20:16:32 +02:00
scrawl
882e359008
Move attackStrength to the CharacterController, where it should have been to begin with
...
Only relevant for actors in active cells, so doesn't belong in CreatureStats. This change should slightly reduce the game's memory usage.
2015-06-26 05:15:07 +02:00
scrawl
5bc6513e2d
Fix projectile hit bug where the incorrect attackStrength would be used if a new attack has been performed in the meantime
2015-06-26 02:32:41 +02:00
cc9cii
273ff1cccb
Address review comments.
2015-06-26 07:48:48 +10:00
scrawl
1d76607005
Add ORI (ObjectReferenceInfo) alias for BetaComment ( Fixes #2723 )
2015-06-25 21:48:47 +02:00
scrawl
ea0339d471
Make the string argument to BetaComment optional
2015-06-25 21:45:59 +02:00
cc9cii
b1f07ba4fb
Resolve merge issues and change the getSpells() interface.
2015-06-25 18:57:32 +10:00
cc9cii
7af43a1155
Address review feedback.
2015-06-25 13:32:22 +10:00
cc9cii
91b9ad399f
Include <cmath> for fmod() and floor()
2015-06-24 21:38:38 +10:00
cc9cii
8af12788a4
Merge branch 'master' into autocalc
...
Conflicts:
apps/opencs/view/world/util.cpp
2015-06-24 21:16:48 +10:00
cc9cii
6b00d4ad91
Move NPC autocalc to a separate component so that it can be shared between OpenMW and OpenCS.
...
- Vanilla behaviour mimic'd where possible, except copying over autocalc spells to the npc's spell list when the status changes
2015-06-24 21:05:59 +10:00
scrawl
5ac502d104
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
2015-06-23 05:12:12 +02:00
scrawl
d3ef075952
Fix an uninitialized variable
2015-06-23 05:06:49 +02:00
scrawl
a5670b5133
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/opencs/CMakeLists.txt
apps/opencs/main.cpp
apps/openmw/mwworld/player.hpp
2015-06-22 20:09:02 +02:00
scrawl
2ce269c0fc
Werewolf stats compatibility with old save files
2015-06-21 18:45:49 +02:00
scrawl
d6a7255391
Loading/saving for player's original skills/attributes (prior to becoming a werewolf)
2015-06-21 17:36:49 +02:00
scrawl
44582fe3b3
Don't use separate werewolf skills/attributes for non-player werewolves
...
Still need to deal with save files.
2015-06-21 17:28:18 +02:00
scrawl
efad4efe19
Star fading (Bug #2693 )
2015-06-19 20:55:04 +02:00
scrawl
7a5f220ac5
GlowTexture keeps the alpha channel from the previous texture stage
2015-06-19 17:43:13 +02:00
scrawl
39539603bf
Re-enable a warning message
2015-06-18 03:03:30 +02:00
scrawl
a7c5beb7c5
Remove redundant allocations for NIF meshes
2015-06-18 01:26:45 +02:00
scrawl
43384596d4
Style fix
2015-06-18 01:26:10 +02:00
scrawl
fabc5126f3
Include cleanup
2015-06-18 00:30:51 +02:00
scrawl
81a4a6da6b
Make better use of the available texture units (Bug #2702 )
...
Nvidia drivers only support a maximum of 4 fixed function texture units. To resolve this problem, bind texture units in order instead of binding to the NiTexturingProperty::TextureType unit.
2015-06-17 20:43:39 +02:00
scrawl
934166a853
Ignore the alpha value for particle materials (Bug #2699 )
2015-06-17 18:04:33 +02:00
scrawl
b648722d3b
Don't use the ParticleSystem for computing placeable bounds (Bug #2700 )
2015-06-17 15:13:41 +02:00