Koncord
48a59cf9e9
[General] Add new class BasePacketProcessor
2017-04-01 02:33:03 +08:00
Allofich
3780d94214
Cast LAND_SIZE to integer to avoid linking error
2017-03-28 01:57:31 +09:00
Allofich
2a505b427d
Remove second LAND_SIZE definition
2017-03-27 03:45:53 +09:00
David Cernat
c10dd1b002
Merge pull request #188 from OpenMW/master
...
Add OpenMW commits up to 24 Mar 2017
2017-03-24 07:24:55 +02:00
scrawl
f676b62711
Remove unused variable
2017-03-23 19:35:07 +01:00
David Cernat
ab92b9f795
Merge pull request #187 from OpenMW/master
...
Add OpenMW commits up to 20 Mar 2017
2017-03-20 04:59:12 +02:00
scrawl
c992cb6e82
Fix texture not being applied on rendering the composite map ( Fixes #3791 )
2017-03-19 19:15:22 +01:00
MiroslavR
06dc94552f
Log a warning if size in SCHD (script header) does not match SCDT (bytecode) size instead of failing
2017-03-18 15:42:24 +01:00
David Cernat
5eb183bacf
Merge pull request #186 from OpenMW/master
...
Add OpenMW commits up to 15 Mar 2017
2017-03-15 23:13:24 +02:00
scrawl
a070551af3
Attempt to fix naming conflict on windows
2017-03-15 17:51:00 +01:00
scrawl
3d58ba7301
Fix boolean test
2017-03-15 17:50:13 +01:00
David Cernat
60037e4081
Merge pull request #185 from OpenMW/master
...
Add OpenMW commits up to 14 Mar 2017
2017-03-15 11:20:06 +02:00
scrawl
fd215caa02
Add local LandCache to cut down on store searches
2017-03-14 19:27:57 +01:00
scrawl
088d5604bf
Use a shader if required to display the composite map
...
Fixes composited terrain not respecting the 'clamp lighting' setting.
2017-03-14 19:27:56 +01:00
scrawl
7f5beb3172
Remove unused includes
2017-03-14 19:27:56 +01:00
scrawl
5044816770
Remove unused code
2017-03-14 19:27:56 +01:00
scrawl
b66c2abfe3
Build the bounding sphere in the loading thread (only relevant for TerrainGrid)
2017-03-14 19:27:56 +01:00
scrawl
9e9c028f1d
Skip light collection for far away terrain
2017-03-14 19:27:56 +01:00
scrawl
0782839a42
Avoid redundant culling tests on the transform/drawable
2017-03-14 19:27:56 +01:00
scrawl
fb8ac06524
Reduce the minSize of quad tree nodes for better performance
2017-03-14 19:27:56 +01:00
scrawl
a041546b54
Use the quad tree's minSize in the LodCallback
2017-03-14 19:27:56 +01:00
scrawl
e4e8821902
Refactor update of lodFlags
2017-03-14 19:27:56 +01:00
scrawl
2aa09639a9
Re-enable terrain intersections
2017-03-14 19:27:56 +01:00
scrawl
db00d47ca2
Hold a ref to the intersection visitor's view if possible
2017-03-14 19:27:56 +01:00
scrawl
11bee6ee35
Avoid compiling composite maps that are no longer referenced
2017-03-14 19:27:56 +01:00
scrawl
9eed7fa6f5
Fix composite map when force shaders is enabled
2017-03-14 19:27:56 +01:00
scrawl
d055dc25bf
Add custom traversal for local map camera to avoid loading terrain nodes that are exactly outside the border to another cell
2017-03-14 19:27:56 +01:00
scrawl
7d50b6c2e2
Add QuadTreeWorld::cacheCell to preload cells at max LOD for local maps
2017-03-14 19:27:56 +01:00
scrawl
6ccb6009ee
Use the View-based preloading for TerrainGrid as well
2017-03-14 19:27:56 +01:00
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
David Cernat
e0234dc362
Merge pull request #183 from OpenMW/master while resolving conflicts
...
# Conflicts:
# .travis.yml
# CMakeLists.txt
2017-03-13 18:20:07 +02: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
Koncord
3d294500ba
[General] Use std::replace() instead for-each in Utils::convertPath()
2017-03-08 12:06:47 +08: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
Koncord
435d9780a7
[General] Fix PacketPreInit
2017-03-06 18:40:53 +08:00
Koncord
690211ad99
[General] Extract BaseEvent & BasePlayer from packets to functions
...
Move Send and Read functions to BasePacket
2017-03-06 18:40:07 +08:00
Koncord
0c1905e842
[General] Add PreInit packet
2017-03-05 16:46:11 +08:00
Koncord
0d53a6916d
[General] Move repeated code in Packet() to base class
2017-03-05 16:27:41 +08:00
David Cernat
df051a777a
Merge pull request #181 from OpenMW/master
...
Add OpenMW commits up to 4 Mar 2017
2017-03-04 22:56:16 +02: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
Koncord
c353e18645
[General] Move Utils from server to components
...
Rewrite CRC32 functions to the Boost equivalent
2017-03-04 13:08:22 +08:00
David Cernat
0d32bf5943
[General] Add extra death debug, don't request data from player on death
2017-03-04 00:29:01 +02:00
David Cernat
a2ef39c655
Merge pull request #178 from OpenMW/master
...
Add OpenMW commits up to 2 Mar 2017
2017-03-02 22:14:15 +02: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
David Cernat
db8218545f
Merge pull request #177 from OpenMW/master
...
Add OpenMW commits up to 1 Mar 2017
2017-03-01 18:24:26 +02: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
David Cernat
5c269a5f8d
[General] Rename ID_GAME_DIE and ID_GAME_RESURRECT
2017-02-28 01:38:25 +02:00
David Cernat
4aaa9ed694
[General] Update version to 0.5.2
2017-02-28 00:11:36 +02:00
David Cernat
e6bc7ad463
[General] Make all flying players fly correctly, including TCL users
2017-02-27 23:01:33 +02:00
David Cernat
48125913c3
Merge pull request #175 from OpenMW/master
...
Add OpenMW commits up to 27 Feb 2017
2017-02-27 12:09:47 +02:00
scrawl
1402e0b872
Don't optimize billboard nodes ( Fixes #3774 )
2017-02-27 00:39:35 +01:00
David Cernat
4110fac629
Merge pull request #174 from OpenMW/master
...
Add OpenMW commits up to 26 Feb 2017, part 2
2017-02-27 01:05:02 +02: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
David Cernat
5d30ba0abd
Merge pull request #173 from OpenMW/master
...
Add OpenMW commits up to 26 Feb 2017
2017-02-26 14:13:37 +02: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
David Cernat
060e440ab2
[General] Update version to 0.5.1
2017-02-25 12:17:22 +02:00
David Cernat
a94d1ed296
Merge pull request #169 from OpenMW/master
...
Add missing copy of callbacks when a Transform is replaced by Group
2017-02-24 09:56:54 +02: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
Koncord
715422aff6
[General] Fix memory leak in Log dtor
2017-02-24 13:41:11 +08:00
David Cernat
328e3b6618
Merge pull request #167 from OpenMW/master
...
Add OpenMW commits up to 24 Feb 2017
2017-02-24 06:57:39 +02:00
Koncord
e3f4c63ea6
[General] Delete invalid & redundant code
2017-02-24 12:30:18 +08: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
Koncord
059043fea9
[General] Change signature of BaseEvent::action
2017-02-23 15:16:28 +08:00
David Cernat
38ccc2671c
Merge pull request #164 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/mwmechanics/spellcasting.cpp
2017-02-23 00:52:53 +02: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
David Cernat
a1988ac6ef
Merge pull request #161 from OpenMW/master
...
Add OpenMW commits up to 21 Feb 2017
2017-02-21 07:02:59 +02:00
scrawl
4aa40d16bc
Increase the importance of light radius when sorting lights (Bug #2759 )
2017-02-21 04:32:59 +01:00