Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Andrei Kortunov
1452684d9e
Use new logging system for components
2018-08-14 19:42:41 +04:00
elsid
f2a63bcf35
Add unit tests for BulletNifLoader
2018-08-11 18:00:52 +03:00
Andrei Kortunov
c921d1c7e9
Refactor NifStream class (eliminate LNK4221 MSVC warning)
2018-07-10 13:32:52 +04:00
Andrei Kortunov
fba0c155df
Fix assertion fail related to NiLookAtController
2018-06-09 17:07:38 +04:00
Andrei Kortunov
5afcc56860
Handle NiLookAtController (feature #4407 )
2018-04-29 09:24:13 +04:00
Harald H
d3b623b5d3
http to https for supported urls ( #1625 )
...
* http to https for supported urls
* http to https
* http to https
* http to https
* http to https
* http to https
* http to https
* http to https
* http tp https
* http to https
* http to https
* http to https
* http to https
* http to https
* http to https
* http to https
* http to https
* some url fixes
* http to https
2018-03-08 21:23:24 +01:00
Bret Curtis
93f14c219c
camelCase
2018-01-01 16:32:20 +01:00
Bret Curtis
7a7b040216
fix building on mips machines
2018-01-01 14:10:23 +01: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
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
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
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
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
MiroslavR
99bcf47167
Implement NiSphericalCollider ( Closes #3644 )
2016-12-06 01:32:13 +01:00
scrawl
9375cbea44
Make NIFFilePtr const
2016-07-10 17:10:19 +02:00
scrawl
5f4ace1bc2
Implement support for sphere map NiTextureEffects ( Fixes #1827 )
2016-02-24 21:06:41 +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
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
3ebfb47983
Do not discard root node transformations if the root node is named 'bip01' (Bug #3118 )
2016-01-02 01:30:06 +01:00
scrawl
de84452e5a
NifFile: close the stream after reading ( Fixes #3070 )
2015-12-09 04:52:00 +01:00
scrawl
462ef617ce
Don't read forward/backward values for Quaternion key lists
...
https://forum.openmw.org/viewtopic.php?f=8&t=3201&p=35867#p35867
2015-12-04 00:18:54 +01:00
scrawl
695fcf41c4
Optimize ValueInterpolator / KeyframeController
...
Cache the current position in the animation track and attempt to reuse it in the next frame.
Decent speed up for the Update phase, about 0.3 ms faster in Balmora.
2015-11-30 20:53:47 +01:00
scrawl
a29d1ace2b
Read NiSpotLight
2015-11-12 23:45:12 +01:00
scrawl
ba211ad9ad
Read NiPointLight ( Fixes #3011 )
2015-11-12 23:42:17 +01:00
scrawl
626281977e
Read NiLODNode (Bug #3008 )
2015-11-12 19:52:32 +01:00
scrawl
a7c5beb7c5
Remove redundant allocations for NIF meshes
2015-06-18 01:26:45 +02:00
scrawl
ad46ff7a98
Remove redundant Transform nodes for TriShapes/ParticleSystems with an identity transform
2015-06-15 02:06:04 +02:00
scrawl
c621d0400c
Fix error handling for out-of-range NIF roots (found in Bosmora, TR)
2015-06-09 18:22:18 +02:00
scrawl
b0b55e2037
Delete niftest as it's currently broken
2015-06-01 02:48:15 +02:00
scrawl
da24e298ee
Fix -Wreorder warnings
2015-05-23 22:44:00 +02:00
scrawl
604580d75d
Move toMatrix to Nif::Node
2015-05-07 21:17:15 +02:00
scrawl
e1f4a7f647
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/openmw/engine.cpp
apps/openmw/mwgui/mainmenu.cpp
apps/openmw/mwgui/windowmanagerimp.cpp
apps/openmw/mwinput/inputmanagerimp.cpp
apps/openmw/mwrender/animation.cpp
apps/openmw/mwrender/debugging.cpp
apps/openmw/mwrender/npcanimation.cpp
apps/openmw/mwrender/renderingmanager.cpp
apps/openmw/mwrender/sky.cpp
components/nif/nifkey.hpp
components/nif/nifstream.hpp
components/nifbullet/bulletnifloader.cpp
components/nifogre/ogrenifloader.hpp
libs/openengine/bullet/physic.cpp
libs/openengine/gui/manager.cpp
2015-05-04 02:41:50 +02:00
Rohit Nirmal
997347b01e
Silence -Wreorder warnings.
2015-04-28 18:48:02 -05:00
Marc Zinnschlag
e69687b0f2
silenced a warning (potentially unintialised variable)
2015-04-28 14:06:52 +02:00
scrawl
372a54bbc7
Dead code removal
2015-04-25 01:28:01 +02:00
scrawl
28643660d3
Change triangle indices to unsigned
2015-04-21 20:56:16 +02:00
scrawl
167ae600c5
Implement gravity decay (previously unknown float)
2015-04-20 00:37:17 +02:00
scrawl
c4738b11b1
Identify unknown float in NiGravity
2015-04-05 00:09:05 +02:00
scrawl
236d628884
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/opencs/model/doc/document.cpp
apps/opencs/model/doc/documentmanager.cpp
components/CMakeLists.txt
components/bsa/resources.cpp
components/nif/data.hpp
components/nif/node.cpp
components/nifogre/mesh.hpp
components/nifogre/ogrenifloader.cpp
components/nifogre/particles.cpp
2015-03-27 17:30:48 +01:00
scrawl
c10c146ad1
Skeleton based bounding box callback for RigGeometry (Bug #455 )
2015-03-26 23:15:46 +01:00
scrawl
46cbec9a4a
Add skinning auto-detection in nifosg loader
2015-03-25 15:39:41 +01:00
scrawl
b7867d6f0a
Stop warning about unused nif properties
2015-03-25 05:29:00 +01:00
scrawl
6d9deaa386
Implement planar collider for particles ( Fixes #2149 )
2015-03-25 04:57:01 +01:00
scrawl
9141a8d801
Fully implement NiStencilProperty (Feature #1057 )
2015-03-24 23:05:20 +01:00
scrawl
9242e6d256
Avoid copying keyframes in controller instances
2015-03-22 23:47:49 +01:00
scrawl
2db5df77f0
Change rotation/scale workaround in preparation for loading .kf controllers
2015-03-22 22:55:35 +01:00
scrawl
f8422c3ed4
Particles mostly completed, still need to attach emitters to the correct node and handle NiBSPArrayController
2015-03-19 03:01:11 +01:00
dteviot
45b6538820
fixed MSVC 2013 warning C4800
...
forcing value to bool 'true' or 'false'
2015-03-06 23:19:57 +13:00
dteviot
407cd50890
fixed warning C4099:
...
type name first seen using 'class' now seen using 'struct'
2015-03-06 21:36:42 +13:00
scrawl
6c63bab8e4
Change Nif::Property flags to unsigned
2015-02-23 21:08:25 +01:00
scrawl
8e01d8cb19
Add OSG nifloader, currently supports geometry, materials, basic texturing, skinning, morphing, and most controllers.
2015-02-23 21:06:10 +01:00
scrawl
6b36e55a4e
NIF reader cleanup: move definitions to cpp file
2015-02-22 19:17:28 +01:00
scrawl
387969bf42
Remove an old .gitignore
2015-02-22 18:05:46 +01:00
scrawl
f6f37e02df
NIF Transformation redundancy fix and include fixes
2015-02-20 17:56:49 +01:00
scrawl
8c10d4badb
NIF reader compiles without Ogre
2015-02-17 17:08:55 +01:00
scrawl
d541bc8064
Remove unused functions in nifstream
2015-01-31 22:40:42 +01:00
scrawl
c6c7d102d0
Revert "components/nif/base.hpp now uses the templated get() function"
...
This reverts commit ad609bff78
.
Revert "Made incorrect nif get error message more informative."
This reverts commit 9909c4abad
.
Revert "Build the nif file tester by default"
This reverts commit c1315ed90c
.
Revert "Converted most nifstream "get multiple" functions to the templated version"
This reverts commit 2619d57bb6
.
Revert "Add a templated option for getting vectors to NIFStream"
This reverts commit f318ee0b8c
.
Revert "Made NIFStream getters templated"
This reverts commit 4edc4142f3
.
2015-01-06 23:36:15 +01:00
Arthur Moore
ad609bff78
components/nif/base.hpp now uses the templated get() function
2015-01-02 01:19:34 -05:00
Arthur Moore
9909c4abad
Made incorrect nif get error message more informative.
2015-01-02 01:16:47 -05:00
Arthur Moore
c1315ed90c
Build the nif file tester by default
...
It's extremely useful in determining if a nif file is bad without having to load up openmw or opencs.
Also updated the nif testing script to run at a low priority.
2015-01-01 22:49:33 -05:00
Arthur Moore
2619d57bb6
Converted most nifstream "get multiple" functions to the templated version
2015-01-01 22:49:05 -05:00
Arthur Moore
f318ee0b8c
Add a templated option for getting vectors to NIFStream
2015-01-01 22:45:55 -05:00
Arthur Moore
4edc4142f3
Made NIFStream getters templated
2015-01-01 21:39:44 -05:00
Marc Zinnschlag
33d905dc03
Merge remote-tracking branch 'scrawl/master'
2014-12-13 12:37:57 +01:00
Arthur Moore
b8edd9bac3
Get a nif file's version string regardless of its length.
2014-12-12 02:01:46 -05:00
Arthur Moore
cd835152e1
Fix spacing issue for NIF file errors.
2014-12-12 02:01:46 -05:00
Arthur Moore
018f4e6895
Fail early if trying to read a string larger than the nif file size.
...
This is much better than failing after a few minutes with an out of memory error.
2014-12-12 02:01:46 -05:00
scrawl
6eebe9b44c
Read NiFogProperty, but don't use it yet (Feature #920 )
2014-12-10 20:51:32 +01:00
scrawl
5a25649076
Implement XYZ rotation keys support ( Fixes #1067 )
2014-12-05 20:58:03 +01:00
scrawl
b650338d69
Implement drawMode of NiStencilProperty (Feature #1057 )
2014-12-03 18:28:35 +01:00
scrawl
e6c59f5585
Revert "Allow NIF rotation matrices that include scale values"
...
This reverts commit f57ddec6a2
.
Conflicts:
components/nif/nifstream.hpp
(Fixes #2168 )
2014-12-03 18:28:35 +01:00
Arthur Moore
4a9a9855bf
NIFStream getUInt should return an unsigned integer
2014-10-31 05:01:26 -04:00
Arthur Moore
4583dc05db
Move NIFStream functions into a cpp file where they belong
2014-10-31 04:54:16 -04:00
scrawl
f57ddec6a2
Allow NIF rotation matrices that include scale values ( Fixes #2052 )
2014-10-27 21:53:00 +01:00
Arthur Moore
38bcff2622
Moved base NIF classes into a separate file.
...
This resolves the dependency mess, and makes things more readable.
The dependency tree for nif records now looks like this:
Record.hpp
--base.hpp
----controlled.hpp
----controller.hpp
----data.hpp
----effect.hpp
----extra.hpp
----node.hpp
Node.hpp has many extra dependencies because nifogre only includes it instead of each of these files.
That should be fixed.
2014-10-19 03:01:30 -04:00
Arthur Moore
5abed1c32a
Print a NIF file's version information when an error occurs
2014-10-19 02:54:27 -04:00
Arthur Moore
9ebf3f2f10
Provide more data when nifstream throws a runtime_error
2014-10-19 02:42:28 -04:00
scrawl
7252cb63a6
Fix cppcheck issues
2014-09-26 17:48:14 +02:00
scrawl
487e318ede
Remove old niftool test
2014-09-26 15:25:51 +02:00
scrawl
9809748eba
Store NIF keys mapped by time and use lower_bound for searches
2014-09-02 04:29:30 +02:00
cc9cii
7ff1136d81
For compiling in Windows with MSVC.
2014-08-27 21:25:47 +10:00
Arthur Moore
b7852b8215
Convert niffile.cpp to use std::map instead of a custom search function.
...
I haven't profiled this, but it should speed things up a decent bit.
2014-08-24 14:39:59 -04:00
Arthur Moore
8be6aefd95
Moved functions from niffile.cpp to where they belong.
...
Also cleaned up some #includes
Removed a few asserts. Vector already throws an out_of_range error.
2014-08-24 13:45:36 -04:00
Arthur Moore
cdfa24e15d
(Re) Wrote a tool to test NIF files in BSAs and on the filesystem.
...
Just give it a set of files, one file per argument, and it will make sure openmw can read them.
On linux/mac you can use "xargs --arg-file=nifs.txt ./niftest" to give it a list of files to check.
2014-08-24 12:09:39 -04:00
scrawl
2b407a9995
Refactor NIF cache
...
- Remove broken cache locking mechanism
This was supposed to unload NIFFiles after a cell transition completes, but it was never working due to a mistake on the line if (--sLockLevel), should have been if (--sLockLevel == 0). Repairing this would increase load times (NIF files would have to be reloaded more frequently), so just removed it for now.
- Decouple cache from NIFFile (now a new nifcache component)
- Add API for future background loading
- Provide a reliable way (SharedPtr) to hold on to loaded NIFFiles. This will be useful to avoid deep copies of keyframe and text key data, which is currently a performance bottleneck.
2014-08-24 02:37:50 +02:00
scrawl
30be59c029
Implement auto-adjusting of particle emit rate
...
This makes ashcloud.nif and blightcloud.nif work properly.
2014-06-24 03:07:10 +02:00
Marc Zinnschlag
c8c45d4923
Merge remote-tracking branch 'lgro/valgrind_fixes'
2014-06-15 10:57:01 +02:00
Lukasz Gromanowski
abeb1d4ab3
Valgrind: Added constructor for KeyListT class, and added initialziation of ver member field in NIFFile class.
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2014-06-15 09:39:16 +02:00
scrawl
b158919c4b
Fix uninitialized variable use
2014-06-13 02:26:52 +02:00
scrawl
029e438c11
Don't check mInterpolationType each iteration
2014-06-11 23:57:39 +02:00
Arthur Moore
f9f278f645
Fixed a capitalization error.
...
Changed Interpolations to unsigned.
Also explained what's happening in the comments.
2014-06-06 07:00:04 -04:00
Arthur Moore
b90e4db871
Actually read in XYZ_ROTATION_KEY data instead of discarding it.
2014-06-06 01:26:28 -04:00