Alexei Kotov
44fbb5cdc3
Read NiMultiTargetTransformController
2022-09-04 08:36:32 +03:00
Alexei Kotov
8df0587793
Reformat NIF record type mapping
2022-09-04 08:36:32 +03:00
Alexei Kotov
126090bdc5
Load NiBillboardNode mode field
2022-08-31 22:32:45 +03:00
psi29a
5ee4ce1232
Merge branch 'nipixeldata' into 'master'
...
Support more NiPixelData formats (feature #6945 )
Closes #6945
See merge request OpenMW/openmw!2290
2022-08-17 12:20:00 +00:00
Alexei Kotov
edbd05a3f7
Support more NiPixelData formats (feature #6945 )
2022-08-17 14:22:27 +03:00
elsid
cc8c7002ea
Cleanup components includes
2022-08-16 19:14:04 +02:00
psi29a
bb9884c024
Merge branch 'split_stringops' into 'master'
...
Split components/misc/stringops.hpp into multiple headers
See merge request OpenMW/openmw!2233
2022-08-09 18:06:40 +00:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
...
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
Alexei Kotov
014de72644
Use NiParticleSystemController's color for the initial particle color
2022-08-03 14:36:51 +03:00
Andrei Kortunov
c36c28e8f9
Move NIF implementation to cpp files
2022-07-21 15:54:52 +04:00
elsid
6c8ed4d19c
Move Files::IStreamPtr alias to a separate header
...
To avoid transitive include of Windows.h all over the engine.
2022-07-17 11:35:39 +02:00
glassmancody.info
0954597fa7
fix typo with wrong flags in particle nifloader
2022-07-05 11:00:28 -07:00
elsid
bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
...
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
2022-07-05 01:41:28 +02:00
Alexei Kotov
e673f9fa76
Clean up NIF flags
2022-06-22 01:58:16 +03:00
Alexei Kotov
e6f7a2f1ef
Correct NiBoundingVolume loading
2022-06-17 14:35:33 +03:00
cody glassman
72fdf40e06
better support for particle arrays when spawning at node positions
2022-05-15 13:41:52 -07:00
elsid
94c1d0cced
Use unique_ptr to store istream
2022-04-22 18:27:17 +02:00
fredzio
d05a2facf3
Handle NCC flag in Nif files. Objects with this flag will collide only with camera.
...
Expose objects with NC flag to be used by Lua mods.
2022-04-17 20:03:00 +02:00
Wolfgang Lieff
373776170d
refactor for NiFltAnimationNode
2022-04-07 00:49:08 +02:00
Bret Curtis
0db5415976
refactor to use mInternal, support Flag_Reverse and updated changelog/authors.md
2022-04-07 00:09:11 +02:00
Wolfgang Lieff
ead73fce31
initial NiFltAnimationNode support
2022-04-07 00:09:11 +02:00
Alexei Dobrohotov
c28f997c87
Make NiPlanarCollider finite-size
2022-04-05 01:33:36 +03:00
Alexei Dobrohotov
9d8f6064a1
Detail the unused parts of controlled.cpp defs
2022-04-05 01:33:36 +03:00
Alexei Dobrohotov
54df5031b7
Add XYZ rotation axis order support
2022-02-19 02:22:08 +03:00
Alexei Dobrohotov
76ba5025e3
Clarify root node transformation discard
2022-02-19 00:39:02 +03:00
psi29a
b011809056
Merge branch 'master' into 'sort_me_baby_one_more_time'
...
# Conflicts:
# components/nif/niffile.cpp
2022-02-17 09:24:50 +00:00
elsid
e1fe501013
Use proper type for Record::recType
2022-02-11 21:52:00 +01:00
elsid
283b68025c
Avoid possible race condition on NIFFile::sLoadUnsupportedFiles
...
Its value is written from the main thread but other threads read it.
2022-02-11 21:41:08 +01:00
elsid
fbd95516f4
Repalce raw for-loops by corresponding algorithms
2022-02-11 21:41:08 +01:00
elsid
082810f924
Store record type as a part of construct function type
2022-02-11 21:41:08 +01:00
elsid
d097c16206
Use unique_ptr to manage nif record lifetime
2022-02-11 20:40:38 +01:00
glassmancody.info
712107de2d
nisortadjust support
2022-02-10 11:59:49 -08:00
Alexei Dobrohotov
85053941b3
Properly postprocess NiSortAdjustNode
2022-02-09 13:55:32 +03:00
glassmancody.info
88f02913d5
use vertex emitters on array particle controllers when appropriate
2022-02-07 19:46:42 -08:00
elsid
3f14011087
Support multiple parents for NIF nodes
...
Choose a parent base on which node is used to iterate over children nodes.
This leads to duplicate handing of child nodes. A node will be handled so many
times how many parents it has.
For example:
p1 p2
\ /
c
Will be handled as:
p1 p2
| |
c c
If c has children they will be handled X times c is handled.
2022-01-22 01:02:31 +01:00
Alexei Dobrohotov
b5a7ad6d62
Fix multilayer parallax parameter reading
2022-01-08 01:58:52 +03:00
Alexei Dobrohotov
9b2978f143
Rehash morph loading rehashing
2021-12-26 17:56:19 +03:00
Alexei Dobrohotov
26dfce1114
Rehash key group and morph loading (bug #6517 )
2021-12-24 07:21:30 +03:00
psi29a
59ab947f3b
Merge branch 't800' into 'master'
...
Keep only one '\0' in NIF strings (bug #6473 )
Closes #6473
See merge request OpenMW/openmw!1458
2021-12-06 14:45:57 +00:00
psi29a
6c7dc2d72f
Merge branch 'assorted' into 'master'
...
Load NiSortAdjustNode and NiAccumulators
See merge request OpenMW/openmw!1396
2021-12-06 13:49:47 +00:00
Alexei Dobrohotov
dd15b30a27
Keep only one '\0' in NIF strings (bug #6473 )
2021-12-05 15:56:58 +03:00
elsid
a665a38aca
Use MurmurHash3_x64_128 for file hash
2021-11-21 17:05:59 +01:00
Alexei Dobrohotov
63ea57e9cf
Load NiSortAdjustNode and NiAccumulators
2021-11-14 00:31:49 +03:00
Alexei Dobrohotov
50b90a594d
Loading and basic handling of BSLightingShaderProperty
2021-11-13 22:52:45 +03:00
Alexei Dobrohotov
d347f8f4f0
Fix build
2021-11-13 20:11:18 +03:00
Alexei Dobrohotov
25f4d05c2e
Load bhkRigidBody
2021-11-13 19:59:30 +03:00
Alexei Dobrohotov
c01fff280a
Load bhkConvexVerticesShape, bhkBoxShape, bhkListShape
2021-11-13 19:53:03 +03:00
Alexei Dobrohotov
83aa96e38f
Load a bunch of triangle strip-based Havok records
2021-11-13 19:52:08 +03:00
Alexei Dobrohotov
e7cc76bba2
Load bhkMoppBvTreeShape
2021-11-13 19:27:32 +03:00
Alexei Dobrohotov
59ce00f742
Refactor all present Bethesda Havok 'support'
2021-11-13 19:14:28 +03:00
psi29a
41bd20e358
Merge branch 'bullet_shape_hash' into 'master'
...
Store BulletShape source file name and content hash
See merge request OpenMW/openmw!1379
2021-11-13 13:33:22 +00:00
elsid
d7041613ef
Store BulletShape source file name and content hash
2021-11-11 00:27:18 +01:00
Alexei Dobrohotov
cc4c96d0f1
Follow global naming convention for new records
2021-11-10 22:50:01 +03:00
Alexei Dobrohotov
6e5b45453d
some physics stuff idk
2021-11-10 20:33:46 +03:00
Alexei Dobrohotov
6de9b49d3d
Remove an empty line
2021-11-10 19:59:13 +03:00
Alexei Dobrohotov
923756b407
Load NiControllerManager
2021-11-10 19:42:55 +03:00
Alexei Dobrohotov
41097352a8
Load BSDismemberSkinInstance
2021-11-10 19:40:02 +03:00
Alexei Dobrohotov
5571099147
Load NiCollisionObject and bhkCollisionObject
2021-11-10 19:31:28 +03:00
Alexei Dobrohotov
9500afaa5a
Load BSFurnitureMarker
2021-11-10 19:21:07 +03:00
Alexei Dobrohotov
66a1adc31e
Handle NiExtraData *properly*
2021-07-27 07:58:57 +03:00
Alexei Dobrohotov
d5ab6e40ab
Handle NiExtraData
2021-07-26 04:46:03 +03:00
jvoisin
aec3c74fa5
Sprinkle some [[noreturn]] where possible
2021-06-22 12:51:08 +02:00
Dobrohotov Alexei
19f0b80983
Improve null root handling
2021-05-05 02:41:30 +03:00
elsid
87ada56edd
Various fixes for niftest
2021-05-04 20:58:01 +00:00
Andrei Kortunov
696cf9ab05
Extend variables range to avoid integer overflow
2021-04-14 08:06:22 +04:00
Alexei Dobrohotov
2fdbe9b3f6
Handle BSShader[PP/No]LightingProperty
2021-03-22 01:55:58 +03:00
Andrei Kortunov
a22f6b24d5
Init animation key struct before usage
2021-03-18 11:47:06 +04:00
Petr Mikheev
eaaa2f4a1c
Use misc/endianness.hpp in components/nif/nifstream
2021-01-10 16:34:47 +01:00
Andrei Kortunov
33648313a6
Initialize variables
2021-01-09 14:21:57 +04:00
Andrei Kortunov
801e2d6ad0
Avoid to use uninitialized variables
2021-01-09 13:36:40 +04:00
Alexei Dobrohotov
1e6156e04a
Turn all NIF records into structs
2020-12-16 01:54:31 +03:00
Alexei Dobrohotov
085ea44af5
Add BSShaderLightingProperty abstraction
2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
c0b9823372
Read BSShaderProperty and handle NiGeometry properties
2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
42226533d8
Handle BSLODTriShape
...
Its levels of detail are currently not handled
2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
8fd45d85ec
Unify NiGeometry/NiGeometryData handling
2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
5310dd6807
Clean up particle vertex handling
2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
1c83e4936d
Read BSShaderTextureSet and NiColorInterpolator
...
Accept boolean-based and 4D vector-based NiInterpolators in ValueInterpolator constructor
2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
db9c174ca8
Make NIF particle node handling more generic
2020-11-30 12:33:18 +03:00
Alexei Dobrohotov
df9667e923
Read NIF bounding volume data correctly
2020-11-14 14:16:29 +03:00
Alexei Dobrohotov
117697ea22
Fix NiStringPalette loading
2020-11-14 01:12:32 +03:00
Alexei Dobrohotov
a46699fb1e
Handle NiGeomMorpherController interpolator list
2020-11-10 23:23:11 +03:00
Alexei Dobrohotov
f3f5dcb016
Read a few more NIF types
...
NiFloatInterpolator, NiPoint3Interpolator, NiTransformInterpolator, NiBoolInterpolator
Update a few existing controller records
Update NiSkinInstance
2020-11-10 22:37:39 +03:00
Alexei Dobrohotov
c857588ee9
Remove NIFFile settings manager dependency
2020-11-09 14:24:48 +03:00
Alexei Dobrohotov
1d07361f08
Read a few more NIF types
...
BSXFlags, NiTransformData, BSBound, BSFadeNode, bhkBlendController
2020-11-09 00:19:35 +03:00
Alexei Dobrohotov
a38c629425
Read NiSkinPartition
2020-11-08 13:23:18 +03:00
Alexei Dobrohotov
afea11b70a
Read NiStringPalette and NiBoolData
2020-11-08 13:23:18 +03:00
Alexei Dobrohotov
7e63afdecf
Allow loading arbitrary NIF files
2020-11-08 13:23:18 +03:00
Alexei Dobrohotov
4fc5e22e9e
NIF fixes and cleanup
...
Get rid of NodeIndexHolder
Use unsigned 32-bit type for NIF record index
Fix calculation of the number of UV sets
2020-10-26 02:51:25 +03:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
Alexei Dobrohotov
05cd005b30
Fix NiTriStripsData loading
2020-10-09 19:37:54 +03:00
Alexei Dobrohotov
df1014303d
Add more generic extra data NIF types
2020-10-06 21:21:55 +03:00
Alexei Dobrohotov
0d02a3392a
Clean up
2020-10-06 20:36:10 +03:00
Alexei Dobrohotov
e7c37f21b7
Add NiFloatInterpController abstraction
2020-10-06 20:24:05 +03:00
Alexei Dobrohotov
29ccb09da5
Introduce some extended NIF definitions
2020-10-04 13:18:56 +03:00
Alexei Dobrohotov
4e22c2687f
niffile.cpp cleanup
2020-10-02 21:50:54 +03:00
Capostrophic
aa131262ea
Implement quadratic interpolation for scalars and vectors
2020-08-07 11:13:53 +03:00
Bret Curtis
0d1b7fd3f0
Merge pull request #2908 from Capostrophic/uvsets
...
Remove 63 UV set limit
2020-06-15 07:54:51 +02:00
Capostrophic
6f94848dec
Remove 63 UV set limit (now 65535)
2020-06-14 23:02:03 +03:00
Capostrophic
7aca18f92b
Handle NiLines (feature #5445 )
2020-05-30 19:09:34 +03:00
Capostrophic
b665fed8f2
Introduce NiGeometry abstraction
2020-05-14 10:52:27 +03:00
Bret Curtis
bb30b44766
Merge pull request #2839 from Capostrophic/nipathcontroller
...
Add basic NiPathController support (movement only)
2020-05-13 21:06:54 +02:00
Capostrophic
30fc2e3e5e
Add basic NiPathController support (movement only)
2020-05-13 18:01:22 +03:00
Capostrophic
5377e0491b
Adjust NiPixelData loading
2020-05-13 17:00:41 +03:00
Capostrophic
a08a9518c3
NIF version adjustments
...
Cut down on obscure version numbers
Call generateVersion without using a stream object
2020-05-13 01:06:38 +03:00
Bret Curtis
7096ecdcf2
Merge pull request #2719 from Capostrophic/capofixes
...
Fixes of my mistakes
2020-03-11 09:05:12 +01:00
Capostrophic
aef6cd7006
Fix handling of empty strings in NIF string tables
2020-03-10 23:04:20 +03:00
Capostrophic
19a7245251
Add bump mapping support
2020-03-03 13:32:30 +03:00
Andrei Kortunov
77d6fe46ca
Handle NiCollisionSwitch node
2020-02-19 12:14:21 +04:00
Capostrophic
0479311c25
Correct declarations of utility methods
2020-02-02 19:01:47 +03:00
Capostrophic
e363d5df21
Some more minor NIF support fixes
2020-02-02 17:28:46 +03:00
capostrophic
f234d53269
Don't use double negation
2020-01-02 13:13:57 +03:00
capostrophic
32caab663f
Enumerate interpolation types properly
2020-01-02 13:07:27 +03:00
capostrophic
e654a52b70
More NIF adjustments
...
Constant interpolation support
2020-01-02 13:07:27 +03:00
Capostrophic
7c4743fdd1
Convert recordptr typedefs to using directives
2019-10-16 01:36:43 +03:00
Capostrophic
8056107c6e
More minor NIF improvements
2019-10-16 01:36:43 +03:00
Capostrophic
8baddefdbd
Refactor extra data and particle modifier handling
...
Objects no longer inherit from extra data class
"Controlled" harmful abstraction no longer exists
Introduced NiParticleModifier/NiParticleCollider abstractions
Extra data size reading moved into the base read() method
2019-09-13 20:26:22 +03:00
capostrophic
9c7474f88c
Implement NiPalette support (feature #4882 )
2019-08-16 20:21:09 +03:00
capostrophic
9e93c9ecd2
Fix multiple-strip NiTriStrips loading
2019-08-08 22:48:24 +03:00
capostrophic
7fc3153f62
Reduce code duplication further
2019-08-08 20:29:45 +03:00
capostrophic
8efbdeaa57
Load NiTriStrips/NiTriStripsData (don't do anything yet)
2019-08-08 17:09:06 +03:00
capostrophic
6928adcee1
Prevent front() and operator[] from causing undefined behavior
2019-08-04 14:47:33 +03:00
Capostrophic
7c8360d0f3
Use NiSwitchNode initial index field
2019-06-09 01:58:02 +03:00
Capostrophic
b08fed6d83
Fix NIF printVersion and allow 4.0.0.0 file loading
2019-04-09 21:58:29 +03:00
elsid
b3c5d64ff3
Use std::make_shared
2019-03-10 22:07:46 +03:00
Andrei Kortunov
60f112d11c
Add support for NiRollController (feature #4675 )
2019-02-21 12:34:35 +04:00
Andrei Kortunov
b2126c2b6b
Apply UVControllers only for given UV Set (bug #4827 )
2019-01-26 14:53:33 +04:00
Andrei Kortunov
d2613e35a2
Fix some Clang 7 warnings
2018-11-09 19:42:59 +04:00
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
dreamer-dead
e772bb88da
Remove RTTI usage in NIF reader.
2014-06-05 20:22:20 +04:00
Arthur Moore
576c06d791
Fix Bug #1371
...
Not properly reading in the NIF file's QuaternionKeyList.
2014-06-01 18:01:44 -04:00
Arthur Moore
50a4d175da
Read NIF interpolation type 4 (XYZ_ROTATION_KEY)
...
Don't actually do anything with it yet, but without this the "MW Containers Animated" mod made containers inaccessible.
Partly implements Feature #1067
2014-05-28 03:42:26 -04:00
scrawl
45d2a00717
Fixes #1293 : Allow interpolation type 0 in case of 0 keys
2014-04-26 11:36:27 +02:00
Bret Curtis
ab224f93c9
remove our stdint.h version that uses boost and force usage of system stdint.h
2014-03-05 17:08:58 +01:00
scrawl
bbd15b185d
Skip inactive controllers. Fixes those bloody bone boots again.
2014-01-31 05:59:58 +01:00
scrawl
254eba350e
Not handling interpolation type should be an error, since it will fail reading the next record if it hasn't read the previous one completely.
2013-12-31 00:56:04 +01:00
scrawl
5931fdcbde
Implement NiBillboardNode. Flags not handled yet.
2013-12-26 20:53:52 +01:00
scrawl
9fcb4fad5c
Implement NiFlipController
2013-12-08 18:51:56 +01:00
scrawl
6b81fd78f1
Particle improvements: Handle LocalSpace flag. Attach particle systems to the base node, since they need to be relative to that when LocalSpace is enabled. Get the bone in emitters/affectors so that resulting particle positions are the same. TODO: Fix Controllers to affect particle systems.
2013-11-25 13:50:33 +01:00
Xethik
9f533dbbe4
Fixed "most vexing parse" issue.
2013-09-22 04:57:01 -04:00
Chris Robinson
fb0ee7f2fc
Improve constness of the Nif RecordPtr structs
2013-07-24 23:58:35 -07:00
Chris Robinson
4cedf0fbab
Avoid colliding with AvoidNodes
...
These are placed under the RootCollisionNode hierarchy, but the shapes they
hold aren't collided with. Their exact function is unknown, but seems to be
related to lava? Maybe damage avoidance info for the AI.
2013-04-28 11:12:55 -07:00
Chris Robinson
1051fa51a7
Recognize NiFlipController
2013-04-19 15:07:08 -07:00
Chris Robinson
36170c5374
Use flag enums instead of hard-coded hex values
2013-04-16 01:20:32 -07:00
Chris Robinson
bf8bc989fc
Recognize and partly handle NiBSParticleNode
2013-04-14 12:52:20 -07:00
Chris Robinson
d26ffe9de0
Move a method to the Node class
2013-04-10 23:19:47 -07:00
Chris Robinson
3970407772
Use actual classes for properties
2013-04-10 20:22:13 -07:00
Chris Robinson
6c6750342c
Specified particle size is actually the radius
2013-04-10 13:37:20 -07:00
Chris Robinson
23097ac9dc
Minor cleanup of NiMorphData
2013-04-08 09:47:03 -07:00
Chris Robinson
c6c67a1bb4
Read NiGravity fields
2013-04-07 18:15:23 -07:00
Chris Robinson
ebcb4c66c3
Properly read and use the NIF root record list
2013-04-06 10:17:09 -07:00
Chris Robinson
f764f243d2
Fix the particle quota
2013-04-06 06:44:34 -07:00
Chris Robinson
41ce5464c9
Recognize NiBSAnimationNode as a record type
...
And don't warn about animated nodes without textkeys
2013-04-06 05:00:19 -07:00
Chris Robinson
bf0ae3ae72
Read NiVisData info
2013-04-05 06:29:14 -07:00
Chris Robinson
ac10c5f05c
Even more particle information
2013-04-04 05:10:52 -07:00
Chris Robinson
2f6ae4a915
Read more particle information
2013-04-04 05:10:51 -07:00
Chris Robinson
ee0a20f9ce
Read some missing particle data from NIFs
2013-04-04 05:10:50 -07:00
scrawl
a9b56eedc3
Support NIF "glow maps", which are basically an emissive channel.
2013-04-03 18:51:40 +02:00
scrawl
5625d73d84
Bump texture support
2013-04-03 17:16:34 +02:00
Nathan Jeffords
d3c1f5e7b2
renamed low-level NIF related files and include guards to conform to naming convention
2013-03-02 10:46:12 -08:00
Nathan Jeffords
0ed2015319
refactored NIFFile parse to get better code/data seperation
2013-03-02 10:07:57 -08:00
Nathan Jeffords
6de6d9ff6e
Factored a NIFStream class out of the NIFFile class.
...
Split NIFFile into two parts, NIFFile which is cached and is a container
for a parsed NIF, and NIFStream which is a class specialized for parsing
NIFs. This required a semi-sweeping change to make all record classes
accept a NIFStream instead of a NIFFile as an agurment to their read
functions.
2013-03-02 09:56:41 -08:00
Chris Robinson
2786cc67f6
Fix loading empty NiTriShapeData records
2013-02-28 13:38:48 -08:00
Sergey Shambir
03ca7f6123
NIF: added NiStencilProperty record handling
...
NiStencilProperty appears in Better Clothes plugin. If it not handled,
some parts of NPCs bodies will be not rendered.
2013-02-27 23:45:09 +04:00
greye
82595e66b2
another missing header for #576
2013-02-21 22:47:18 +04:00
Chris Robinson
b23fcb260c
Use the record index for finding the NiTriShape instead of the name
2013-01-13 08:00:04 -08:00
Chris Robinson
660d73fd88
Store the NIF index in the Record object
2013-01-13 06:56:58 -08:00
scrawl
31e6d28b19
Close NIF file resource after loading it into memory
2013-01-12 06:37:43 +01:00
Nathan Jeffords
d5ebd6654d
cache loaded NIF files to eliminate reloads
...
Created a NIF file caching mechanism to prevent the system from
reloading a NIF during a startup and cell changes.
2013-01-10 21:47:02 -08:00
Nathan Jeffords
0989b44b41
spread some const around NIF loading
2013-01-10 21:32:47 -08:00
Marc Zinnschlag
d684b3ae11
fixed getString function in NIF loader
2012-11-22 10:35:03 +01:00
Marc Zinnschlag
dbcd4a8b5b
compatibility fix
2012-08-05 00:06:19 +02:00
Edmondo Tommasina
20deb97a09
nif_file.hpp: add stdint.h include to fix build
...
It fixes such compile errors as:
* error: ‘uint8_t’ does not name a type
* error: ‘uint16_t’ does not name a type
* error: ‘uint32_t’ does not name a type
2012-08-04 23:14:53 +02:00
Edmondo Tommasina
32b167ce2b
Revert "nif_file.hpp: include type definitions to fix build"
...
This reverts commit b0b3ebe123
.
2012-08-04 23:02:27 +02:00
Edmondo Tommasina
b0b3ebe123
nif_file.hpp: include type definitions to fix build
2012-08-03 22:42:59 +02:00
Chris Robinson
6047dc6a0c
Merge remote branch 'zini/master' into nif-cleanup
...
Conflicts:
apps/openmw/mwrender/animation.cpp
apps/openmw/mwrender/animation.hpp
apps/openmw/mwrender/creatureanimation.cpp
apps/openmw/mwrender/npcanimation.cpp
apps/openmw/mwrender/npcanimation.hpp
components/nifogre/ogre_nif_loader.hpp
2012-07-17 10:57:15 -07:00
guidoj
0549e949ba
Mostly removal of unnecessary #include's and a little clean up
2012-07-17 09:27:12 +02:00
Chris Robinson
63e40d6e92
Fix world transform calculation
2012-07-16 13:16:11 -07:00
Chris Robinson
b1f7fd9f7b
Pre-transform the mesh vertices when there's no skinning or skeleton
2012-07-15 17:00:27 -07:00
Chris Robinson
61f32eca77
Add methods to get a node's local and full transform as a 4x4 matrix
2012-07-15 15:23:49 -07:00
Chris Robinson
9caa264074
Merge remote branch 'zini/master' into nif-cleanup
2012-07-14 17:27:36 -07:00
scrawl
5345d4eeef
fix a warning
2012-07-14 18:45:03 +02:00
Chris Robinson
5a381006e5
Fix parsing of some key lists
...
It seems some still want you to read the interpolation type even when there's
no keys.
2012-07-14 09:20:09 -07:00
Chris Robinson
9436ca4b0c
Use vectors for ShapeData properties
2012-07-13 09:32:58 -07:00
Chris Robinson
ecdd4ee23f
Load NiMorphData and NiKeyframeData using proper key lists
2012-07-12 20:56:47 -07:00
Chris Robinson
386ac56bda
Remove the NIF loader and code to manually transform the vertices
...
This currently breaks just about everything. They should come back as it's all
reimplemented, though.
2012-07-12 20:12:18 -07:00
Chris Robinson
9995dff943
Use a key list for NiColorData
2012-07-12 14:33:50 -07:00
Chris Robinson
3f11b6b1ae
Cleanup a couple unneeded misc component references
2012-07-12 12:01:11 -07:00
Chris Robinson
86b37c6c11
Move the velocity out of the transformation object
2012-07-12 11:21:52 -07:00
Chris Robinson
b292665de9
Use key lists to store some NIF data types
2012-07-12 08:00:26 -07:00
Chris Robinson
b7b9f11333
Add generic classes to help deal with NIF keys
2012-07-12 06:47:38 -07:00
Chris Robinson
645b507ba0
Return a reference to the RecordPtr from operator[] for consistency
...
RecordListT is supposed to be a list of RecordPtrT objects.
2012-07-12 05:37:56 -07:00
Chris Robinson
7e8c146de6
Constify some RecordListT methods
2012-07-11 06:39:03 -07:00
Chris Robinson
8e324c90dc
Constify some RecordPtrT methods
2012-07-11 06:37:17 -07:00
Chris Robinson
395a7600fd
Initialize identify transform when declaring the identity object
2012-07-10 23:13:03 -07:00
Chris Robinson
dddf1b4ee5
Rename getMatrix->getMatrix3 and getVector->getVector3
2012-07-10 04:45:14 -07:00
Chris Robinson
d30f64650a
Make the read_* methods private and remove the generic load() methods
2012-07-10 04:21:47 -07:00
Chris Robinson
930459365b
Rename getShort->getUShort and getByte->getChar
2012-07-10 03:52:01 -07:00
Chris Robinson
95b804a104
Remove NIFFile::getArrayLen
2012-07-10 03:02:37 -07:00
Chris Robinson
ca37706b34
Use Ogre types for Matrix and Vector objects
2012-07-10 02:38:35 -07:00
Chris Robinson
10072f74b4
Remove NIFFile::getType
2012-07-10 00:27:13 -07:00
Chris Robinson
b3aa453f9a
Use Ogre data streams for loading NIFs
2012-07-09 22:02:12 -07:00