1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-22 11:23:51 +00:00
Commit graph

4033 commits

Author SHA1 Message Date
Alexander Stillich
70d578d050 Removed escape_hash_filter::mPrevious, removed usage of boost::replace_all 2017-11-07 23:10:58 +01:00
Alexander Stillich
af3e1f92ec Added StringUtil::replaceAll() 2017-11-07 23:06:23 +01:00
AnyOldName3
715f29165b Dynamically adjust shaders to have the required number of shadow maps. 2017-11-07 20:22:45 +00:00
Alexander Stillich
7d39c5450c Fixed escaping @ in boost program options filter 2017-11-05 22:14:16 +01:00
scrawl
ceaf0ee409 Enable shadow casting for terrain
Add a check to TerrainDrawable to make sure shadows are only drawn once, not once per blending pass
2017-10-31 21:21:05 +01:00
David Walley
41dc82abad Update Links to Documentation in settings.cfg files (#1523)
* Update settings-default.cfg

* Update settings.cpp
2017-10-28 16:05:30 +00:00
AnyOldName3
c1a871ff1f Make indentation consistent. 2017-10-24 23:31:40 +01:00
AnyOldName3
daf7d8451c Switch to a more reliable method of passing the git-version targt the data it needs 2017-10-24 23:29:18 +01:00
AnyOldName3
e3142b9643 Add missing variables to those forwarded to the git-version target 2017-10-24 23:10:50 +01:00
scrawl
0c6ef17fb5 Add explicit variant of 'OnActivate' 2017-10-23 23:33:06 +00:00
Marcin Baszczewski
46b015d3d9 Fix assert with empty setting value
Local value could be empty, so it's important to check it size before read first char.
2017-10-22 10:10:04 +02:00
Marc Zinnschlag
bdabace7e2 Merge remote-tracking branch 'aesylwinn/LLmerge' 2017-10-19 14:24:58 +02:00
scrawl
7f8d996eff Merge pull request #1502 from AnyOldName3/launcher-and-wizard-ampersand-escape-support
Launcher and wizard ampersand escape support
2017-10-16 21:09:04 +00:00
scrawl
136ef1f738 Fix incomplete settings in recreateShaders() 2017-10-15 17:24:23 +02:00
scrawl
03554b2f4b Fix some style issues flagged by cppcheck 2017-10-15 17:06:58 +02:00
scrawl
50d7eb8e54 Fix crash when adding a NULL object to the cache 2017-10-15 17:06:58 +02:00
scrawl
97ec38affb Merge pull request #1492 from drummyfish/master
fix rain/snow moving with player (issue #2698)
2017-10-15 09:04:48 +00:00
AnyOldName3
49dbb4a9ca Add a third copy of a comment where I felt clarification was missing 2017-10-15 02:05:22 +01:00
AnyOldName3
7329e6a9ef Load 'data=...' lines correctly when starting the wizard or launcher, and save them correctly when exiting the launcher. 2017-10-15 01:59:21 +01:00
AnyOldName3
28ff677337 Save 'data=...' lines correctly when exiting the wizard 2017-10-15 00:07:46 +01:00
Miloslav Číž
65977b910e wrap weather around in all directions 2017-10-14 21:42:27 +02:00
Miloslav Číž
380a5799dd use bbox as wrap range & apply to all particle systems 2017-10-14 21:42:19 +02:00
Miloslav Číž
33a1459b11 search for particle system by class name 2017-10-14 21:41:47 +02:00
Kyle Cooley
11eae16645 Get rid of duplicate function, fix flag checking 2017-10-14 15:09:12 -04:00
scrawl
5fbdb64bb9 Add OPENMW_DECOMPRESS_TEXTURES environment variable to decompress textures in software if not supported by graphics hardware
Disabled by default due to requiring new functionality that was just added to OSG 3.6 or OpenMW/OSG.
2017-10-14 18:28:46 +00:00
scrawl
f3ca9832b0 Merge pull request #1500 from akortunov/extraspell
Implement ExtraSpell magic effect
2017-10-14 14:01:49 +00:00
Andrei Kortunov
30b05b557b ExtraSpell magic effect: a basic implementation 2017-10-14 16:55:00 +04:00
AnyOldName3
c9e86a8ebc Remove superfluous argument 2017-10-12 18:16:44 +01:00
AnyOldName3
f9a3562ccd Remove duplicate macro definition and fix warning 2017-10-12 02:45:50 +01:00
AnyOldName3
2652a89df4 Fix mismatched indentation that apparently the .editorconfig file doesn't handle automatically 2017-10-11 22:10:52 +01:00
AnyOldName3
f8fe992dc0 Adjust CMake's run-time resource handling such that the Windows CI script does not have to copy these files 2017-10-11 21:58:55 +01:00
Marc Zinnschlag
dd17f70068 Merge remote-tracking branch 'aesylwinn/landrecords' 2017-10-03 13:32:02 +02:00
scrawl
64e27c032b Merge pull request #1481 from scrawl/keyfocus
WindowManager overhaul & improved keyboard support
2017-09-28 22:34:05 +00:00
scrawl
44720bf41a Allow MWList items to retain key focus 2017-09-27 12:56:00 +00:00
scrawl
b9341925f2 Set AutoSizedEditBox as Static by default
Would look very odd anyway to use it for editable text, with the widget resizing as you type.
2017-09-27 12:55:53 +00:00
scrawl
c88c535e0e Fix HBox/VBox not using Client widget with MyGUI <= 3.2.2 2017-09-27 12:55:50 +00:00
scrawl
be7bdec2ed Merge pull request #1471 from crussell187/nif_stream_optimization
first pass on optimization of nif parsing functions from the file stream
2017-09-25 22:43:34 +00:00
scrawl
19e07fad30 Remove redundant Services enum 2017-09-25 19:52:20 +02:00
scrawl
82a211ba03 Fix duplicate code 2017-09-25 17:47:30 +02:00
scrawl
76ddf8d794 Support Up/DownArrow keys to change NumericEditBox value 2017-09-25 00:47:07 +02:00
scrawl
1ad14b232f Adjust ImageButton to accept key focus and use the 'highlighted' texture 2017-09-24 19:08:11 +02:00
scrawl
e7ad012977 Pass repeat key events to the GUI
For example, one can scroll to the last element in a list by holding down the 'Down Arrow' key.
2017-09-24 19:08:11 +02:00
scrawl
2494c22d66 Merge pull request #1470 from MiroslavR/convertmprj
ESS-Importer: Convert magic projectiles
2017-09-23 22:55:56 +00:00
825de71b29 removed an iostream include used for debug prints from nifstream.hpp 2017-09-23 11:10:05 -05:00
30a213a9b3 updates for nifstream optimization including fixing the non-x86 path for little endian reads 2017-09-22 21:08:25 -05:00
8834066dea make streaming to a type array in nif a direct copy from the file into the vector 2017-09-21 23:47:09 -05:00
090a8408b8 made nif basic type read optimizations more portable 2017-09-21 22:37:19 -05:00
c72aa19d6d first pass on optimization of nif parsing functions from the file stream 2017-09-20 23:53:12 -05:00
scrawl
58f9688433 Use client coordinates in HBox/VBox 2017-09-20 22:24:19 +00:00
scrawl
fb975d02db Use client coordinates in HBox/VBox 2017-09-20 22:41:50 +02:00
MiroslavR
f15de6d3ca ESS-Importer: Convert magic projectiles (Closes #2320) 2017-09-20 18:58:56 +02:00
Chris Robinson
021627bdf8 Mark some functions with override
Fixes some Clang warnings about overriding a virtual function without the
override keyword.
2017-09-18 01:51:11 -07:00
Kyle Cooley
50d9d9f78f Get rid of some templates, exceptions instead of assert, and other small changes. 2017-09-17 20:29:51 -04:00
Andrei Kortunov
4bb349a525 Use default 0 precision in the float formatting (bug #4096) 2017-09-17 15:07:04 +04:00
Kyle Cooley
2abf7f1752 Remove unnecessary cache dump 2017-09-15 12:19:12 -04:00
Kyle Cooley
09e645a0e0 Fix careless mistake. 2017-09-09 23:18:09 -04:00
Kyle Cooley
25d4a0370f Changes to land data access in tables, also update Land once per frame in scene view. 2017-09-09 15:37:52 -04:00
Kyle Cooley
d030b595f8 Fix potential segfault, cleanup, get rid of warnings. 2017-09-09 11:48:13 -04:00
Kyle Cooley
72cb405de2 Some bug fixes, changes to land load code. 2017-09-08 21:03:52 -04:00
Kyle Cooley
2eacc2f093 Changes to land creation, add ability to specifically clear terrain cache 2017-09-08 14:37:03 -04:00
Kyle Cooley
ab607f3028 Tweaks to land loading, land cloning, terrain signals, placeholder land update handling 2017-09-08 00:51:46 -04:00
Andrei Kortunov
538498230b Declare mClient variable 2017-09-06 15:59:54 +04:00
scrawl
dca31b7ffa Remove redundant _boundingBoxComputed which no longer exists in osg master (Fixes #4075) 2017-09-04 19:35:42 +00:00
Kyle Cooley
d3014cf394 Temporary fix for adding new lands, cloned lands will still reference old data though 2017-09-04 15:13:45 -04:00
Kyle Cooley
7cc95a11a4 Add more land table columns 2017-09-03 20:00:19 -04:00
scrawl
2e58024f1c Fix intersections with Rig/MorphGeometry, was caused by an issue in the LineSegmentIntersector not respecting the cullingActive flag of a drawable. 2017-09-03 14:14:15 +00:00
scrawl
5e790b567e Fix node path issue
Needs to be set so that the 'cullingActive' flag of the node path's end can be checked
2017-09-01 22:12:40 +00:00
scrawl
4bef8260ab Add const qualifiers 2017-09-01 21:42:36 +00:00
scrawl
5d524a6a10 Add custom version of MorphGeometry replacing osgAnimation
Double buffering, custom bounding box and the update in the cull visitor (instead of update) are now all handled internally rather than needing hacks and/or callbacks.
2017-09-01 21:42:36 +00:00
scrawl
f1ebb129c1 Fix ShaderVisitor to deal with the fact RigGeometry no longer derives from Geometry 2017-09-01 21:42:35 +00:00
scrawl
209e139aa8 Move double buffering implementation inside RigGeometry
The double buffering is an implementation detail so it should be handled as such, rather than mandating the scene graph to be structured in a certain way.

Override accept(NodeVisitor&) instead of using callbacks.
2017-09-01 21:42:34 +00:00
Kyle Cooley
9e41f1340a Replace nonconst getId with setId, add template specialization and specialized derived classes for LandTexture 2017-08-31 22:09:49 -04:00
scrawl
45f7563a55 Revert "Revert "Check for a Geometry node when attaching bodyparts""
Issue with shaders has been fixed with b9931fb71c

This reverts commit a1e3fb7604.
2017-08-31 21:40:35 +00:00
scrawl
b9931fb71c Set the shader on the node containing the StateSet 2017-08-31 21:39:21 +00:00
scrawl
a1e3fb7604 Revert "Check for a Geometry node when attaching bodyparts"
This reverts commit 3fc8634206.
2017-08-29 22:40:19 +00:00
scrawl
3fc8634206 Check for a Geometry node when attaching bodyparts (Fixes #3957) 2017-08-29 12:55:42 +00:00
scrawl
bc82c6a35d Use white color if told to use nonexisting vertexcolors (Fixes #3833) 2017-08-27 21:22:44 +00:00
scrawl
5d2fe5e887 Implement lightmode/vertmode of NiVertexColorProperty 2017-08-27 21:22:17 +00:00
scrawl
4fba157d3b Implement releaseGLObjects for cached resources 2017-08-26 19:29:12 +00:00
Kyle Cooley
d3d04171f9 Fix seg fault, undo changes BsaArchive 2017-08-22 15:06:56 -04:00
Kyle Cooley
8c4b12a603 VFS changes, one VFS and resource system per document.
Added ability to reset a VFS::Manager.
Removed ability to rebuild the index for a VFS::Manager.
Moved VFS creation to CSM::Data.
2017-08-21 22:31:19 -04:00
Kyle Cooley
979b0d7211 Code cleanup and more cache clearing 2017-08-21 18:58:38 -04:00
Kyle Cooley
679a284735 Use scoped lock instead of directly locking/unlocking mutex 2017-08-21 13:33:11 -04:00
Kyle Cooley
3b9326d238 Clear terrain cache and reload terrain 2017-08-20 22:34:41 -04:00
Kyle Cooley
b62cb0e2a4 Clear out GPU texture/stateset cache 2017-08-20 19:55:16 -04:00
Kyle Cooley
7914fd5c9c Re-index BSAs 2017-08-20 19:36:21 -04:00
Kyle Cooley
d7744e8b16 A bit of cleanup 2017-08-20 19:07:23 -04:00
Kyle Cooley
5950b26912 Update scene assets 2017-08-19 19:36:45 -04:00
Kyle Cooley
742bd00ec6 Clear cached resources 2017-08-19 15:26:46 -04:00
Kyle Cooley
d31ed83b54 Preliminary asset reloading 2017-08-19 03:43:31 -04:00
Thunderforge
54fe645703 Removing erroneous comment since Qt is not relevant here 2017-08-09 23:12:43 -05:00
Thunderforge
464c64a306 Swap the OIS Ctrl and Meta keys on macOS to match Qt 2017-08-09 20:03:27 -05:00
scrawl
cef415509f Revert "Merge redundant input events" 2017-08-06 20:54:20 +00:00
Julian
3cfd9af945 merge redundant input events 2017-08-02 18:54:16 +02:00
scrawl
c9d9461d3e Add Spacer class derived from AutoSizedWidget
Using a normal widget as a spacer with HStretch/VStretch may not work properly because for widgets not derived from AutoSizedWidget, the HBox/VBox treat the widget's current size as the requested minimum size. This leads the layout to break when resized more than once.

The new class sets HStretch and VStretch to true by default to save some typing.
2017-07-31 16:20:29 +02:00
PlutonicOverkill
5049fe4320 Pause game when minimised on Windows 2017-07-20 21:31:05 +12:00
scrawl
3e03a0d7bd Terrain: remove ref argument that is now always true 2017-07-19 16:24:35 +02:00
scrawl
ac78d01b2b Terrain: use the main camera's viewpoint for intersection tests
Fixes lag spikes caused by intersection tests loading/unloading terrain pages.
2017-07-19 13:11:44 +02:00
scrawl
ffb6dff6aa Merge pull request #1338 from akortunov/valuefix
Change mValue type for clothes to unsigned short (bug #3960)
2017-07-18 10:13:51 +00:00
Andrei Kortunov
2bd105f5e2 Change mValue type for clothes to unsigned short (fixes #3960) 2017-07-18 11:51:19 +04:00
scrawl
40dc1dd6f5 Fix checking a variable before it's assigned (Bug #3950) 2017-07-10 23:50:24 +02:00
scrawl
be940656db Add '0' as an alias for 'OFF' for OPENMW_OPTIMIZE 2017-07-10 23:49:42 +02:00
scrawl
54bb1b13cb Change NCO/NCC flags to NC* (Fixes #3915) 2017-06-20 00:36:17 +02:00
Allofich
42402976e3 Fixes for building in MSVC 2017-06-13 19:38:12 +09:00
Bret Curtis
c6805314c2 be explicit about what we are trying to catch instead of catching everything and fixed up formatting
use Allman style brackets not K&R style, additional formatting for fallback.cpp which needed some love

revert allman formatting changes
2017-06-12 00:32:29 +02:00
Bret Curtis
7c758a6293 std::stof can not handle comma in us localization and can not handle period in french localization, using std::replace is not a solution, going back to boost::lexical_cast 2017-06-12 00:32:28 +02:00
Bret Curtis
f0b21cca22 use own inline hash_combine function 2017-06-12 00:32:28 +02:00
David Carlier
8a5c62de97 needs this head for getuid 2017-06-10 14:50:43 +01:00
Bret Curtis
c781d1f8ed purge unnecessary imports
add fstream back

add fstream back

add fstream back

add fstream back

add fstream back

add fstream back

add fstream back
2017-06-09 19:08:53 +02:00
Bret Curtis
154d7cffa2 replace and purge boost::function 2017-06-09 19:08:53 +02:00
Bret Curtis
d48b829b45 replace and purge boost::lexical_cast 2017-06-09 19:08:53 +02:00
Bret Curtis
98752a9702 replace boost::bind 2017-06-09 19:08:53 +02:00
Bret Curtis
b7c27e5e96 remove boost/tuple 2017-06-09 19:08:53 +02:00
Bret Curtis
39185e6f8c purge the rest of boost::shared and any other boost related things that no longer are required
put boost system back in, clean others up

revert Qt

add back boost fstream
2017-06-09 19:08:53 +02:00
Bret Curtis
d785344fad purge all instances of <boost/shared_ptr.hpp>, clean up unused headers 2017-06-09 19:08:53 +02:00
Bret Curtis
07f75e1104 replace boost::shared_ptr in extern and components 2017-06-09 19:08:53 +02:00
Ewan Higgs
38a2de3c51 convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 2017-06-09 16:49:25 +02:00
Julian Ospald
5d85fa9220
Fix build with osg >= 3.5.6 2017-05-28 17:30:01 +02:00
scrawl
813af876f6 Use a partial binary search in isReservedName (Fixes #3835) 2017-05-07 23:28:56 +02:00
scrawl
8d84869432 Fix commit 8f71b65d38 (don't overwrite the previous user data)
This resulted in a crash/corruption because the KeyframeController, for performance reasons, does not check that the expected user data is there and of correct type.

(Fixes #3829)
2017-05-05 05:27:00 +02:00
scrawl
45d9e38616 Fix check for default material 2017-04-22 14:27:45 +02:00
Allofich
e095817ac2 Treat =< and => as == in scripts
(Fixes #3744)
2017-04-21 22:26:13 +09:00
Allofich
ff3e307059 Pass parameters by const reference 2017-04-20 23:47:03 +09:00
scrawl
8f71b65d38 sceneutil/attach: inherit the UserDataContainer to avoid the resource cache from being cleared incorrectly 2017-04-14 15:04:53 +02:00
MiroslavR
c962b6dd6d Fix correctActorModelPath to work properly when both backward and forward slashes are used in the path (Fixes #3822) 2017-04-09 18:34:36 +02:00
MiroslavR
395e97cf40 Remove evil "implicit GetJournalIndex" hack from expression parser 2017-04-03 01:44:26 +02: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
scrawl
f676b62711 Remove unused variable 2017-03-23 19:35:07 +01: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
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
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
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