psi29a
41bd20e358
Merge branch 'bullet_shape_hash' into 'master'
...
Store BulletShape source file name and content hash
See merge request OpenMW/openmw!1379
3 years ago
elsid
d7041613ef
Store BulletShape source file name and content hash
3 years ago
Alexei Dobrohotov
cc4c96d0f1
Follow global naming convention for new records
3 years ago
Alexei Dobrohotov
6e5b45453d
some physics stuff idk
3 years ago
Alexei Dobrohotov
6de9b49d3d
Remove an empty line
3 years ago
Alexei Dobrohotov
923756b407
Load NiControllerManager
3 years ago
Alexei Dobrohotov
41097352a8
Load BSDismemberSkinInstance
3 years ago
Alexei Dobrohotov
5571099147
Load NiCollisionObject and bhkCollisionObject
3 years ago
Alexei Dobrohotov
9500afaa5a
Load BSFurnitureMarker
3 years ago
Alexei Dobrohotov
66a1adc31e
Handle NiExtraData *properly*
3 years ago
Alexei Dobrohotov
d5ab6e40ab
Handle NiExtraData
3 years ago
jvoisin
aec3c74fa5
Sprinkle some [[noreturn]] where possible
4 years ago
Dobrohotov Alexei
19f0b80983
Improve null root handling
4 years ago
elsid
87ada56edd
Various fixes for niftest
4 years ago
Andrei Kortunov
696cf9ab05
Extend variables range to avoid integer overflow
4 years ago
Alexei Dobrohotov
2fdbe9b3f6
Handle BSShader[PP/No]LightingProperty
4 years ago
Andrei Kortunov
a22f6b24d5
Init animation key struct before usage
4 years ago
Petr Mikheev
eaaa2f4a1c
Use misc/endianness.hpp in components/nif/nifstream
4 years ago
Andrei Kortunov
33648313a6
Initialize variables
4 years ago
Andrei Kortunov
801e2d6ad0
Avoid to use uninitialized variables
4 years ago
Alexei Dobrohotov
1e6156e04a
Turn all NIF records into structs
4 years ago
Alexei Dobrohotov
085ea44af5
Add BSShaderLightingProperty abstraction
4 years ago
Alexei Dobrohotov
c0b9823372
Read BSShaderProperty and handle NiGeometry properties
4 years ago
Alexei Dobrohotov
42226533d8
Handle BSLODTriShape
...
Its levels of detail are currently not handled
4 years ago
Alexei Dobrohotov
8fd45d85ec
Unify NiGeometry/NiGeometryData handling
4 years ago
Alexei Dobrohotov
5310dd6807
Clean up particle vertex handling
4 years ago
Alexei Dobrohotov
1c83e4936d
Read BSShaderTextureSet and NiColorInterpolator
...
Accept boolean-based and 4D vector-based NiInterpolators in ValueInterpolator constructor
4 years ago
Alexei Dobrohotov
db9c174ca8
Make NIF particle node handling more generic
4 years ago
Alexei Dobrohotov
df9667e923
Read NIF bounding volume data correctly
4 years ago
Alexei Dobrohotov
117697ea22
Fix NiStringPalette loading
4 years ago
Alexei Dobrohotov
a46699fb1e
Handle NiGeomMorpherController interpolator list
4 years ago
Alexei Dobrohotov
f3f5dcb016
Read a few more NIF types
...
NiFloatInterpolator, NiPoint3Interpolator, NiTransformInterpolator, NiBoolInterpolator
Update a few existing controller records
Update NiSkinInstance
4 years ago
Alexei Dobrohotov
c857588ee9
Remove NIFFile settings manager dependency
4 years ago
Alexei Dobrohotov
1d07361f08
Read a few more NIF types
...
BSXFlags, NiTransformData, BSBound, BSFadeNode, bhkBlendController
4 years ago
Alexei Dobrohotov
a38c629425
Read NiSkinPartition
4 years ago
Alexei Dobrohotov
afea11b70a
Read NiStringPalette and NiBoolData
4 years ago
Alexei Dobrohotov
7e63afdecf
Allow loading arbitrary NIF files
4 years ago
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
4 years ago
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
4 years ago
Alexei Dobrohotov
05cd005b30
Fix NiTriStripsData loading
4 years ago
Alexei Dobrohotov
df1014303d
Add more generic extra data NIF types
4 years ago
Alexei Dobrohotov
0d02a3392a
Clean up
4 years ago
Alexei Dobrohotov
e7c37f21b7
Add NiFloatInterpController abstraction
4 years ago
Alexei Dobrohotov
29ccb09da5
Introduce some extended NIF definitions
4 years ago
Alexei Dobrohotov
4e22c2687f
niffile.cpp cleanup
4 years ago
Capostrophic
aa131262ea
Implement quadratic interpolation for scalars and vectors
4 years ago
Bret Curtis
0d1b7fd3f0
Merge pull request #2908 from Capostrophic/uvsets
...
Remove 63 UV set limit
5 years ago
Capostrophic
6f94848dec
Remove 63 UV set limit (now 65535)
5 years ago
Capostrophic
7aca18f92b
Handle NiLines (feature #5445 )
5 years ago
Capostrophic
b665fed8f2
Introduce NiGeometry abstraction
5 years ago
Bret Curtis
bb30b44766
Merge pull request #2839 from Capostrophic/nipathcontroller
...
Add basic NiPathController support (movement only)
5 years ago
Capostrophic
30fc2e3e5e
Add basic NiPathController support (movement only)
5 years ago
Capostrophic
5377e0491b
Adjust NiPixelData loading
5 years ago
Capostrophic
a08a9518c3
NIF version adjustments
...
Cut down on obscure version numbers
Call generateVersion without using a stream object
5 years ago
Bret Curtis
7096ecdcf2
Merge pull request #2719 from Capostrophic/capofixes
...
Fixes of my mistakes
5 years ago
Capostrophic
aef6cd7006
Fix handling of empty strings in NIF string tables
5 years ago
Capostrophic
19a7245251
Add bump mapping support
5 years ago
Andrei Kortunov
77d6fe46ca
Handle NiCollisionSwitch node
5 years ago
Capostrophic
0479311c25
Correct declarations of utility methods
5 years ago
Capostrophic
e363d5df21
Some more minor NIF support fixes
5 years ago
capostrophic
f234d53269
Don't use double negation
5 years ago
capostrophic
32caab663f
Enumerate interpolation types properly
5 years ago
capostrophic
e654a52b70
More NIF adjustments
...
Constant interpolation support
5 years ago
Capostrophic
7c4743fdd1
Convert recordptr typedefs to using directives
5 years ago
Capostrophic
8056107c6e
More minor NIF improvements
5 years ago
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
5 years ago
capostrophic
9c7474f88c
Implement NiPalette support (feature #4882 )
5 years ago
capostrophic
9e93c9ecd2
Fix multiple-strip NiTriStrips loading
5 years ago
capostrophic
7fc3153f62
Reduce code duplication further
5 years ago
capostrophic
8efbdeaa57
Load NiTriStrips/NiTriStripsData (don't do anything yet)
5 years ago
capostrophic
6928adcee1
Prevent front() and operator[] from causing undefined behavior
5 years ago
Capostrophic
7c8360d0f3
Use NiSwitchNode initial index field
6 years ago
Capostrophic
b08fed6d83
Fix NIF printVersion and allow 4.0.0.0 file loading
6 years ago
elsid
b3c5d64ff3
Use std::make_shared
6 years ago
Andrei Kortunov
60f112d11c
Add support for NiRollController (feature #4675 )
6 years ago
Andrei Kortunov
b2126c2b6b
Apply UVControllers only for given UV Set (bug #4827 )
6 years ago
Andrei Kortunov
d2613e35a2
Fix some Clang 7 warnings
6 years ago
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
6 years ago
Andrei Kortunov
1452684d9e
Use new logging system for components
6 years ago
elsid
f2a63bcf35
Add unit tests for BulletNifLoader
6 years ago
Andrei Kortunov
c921d1c7e9
Refactor NifStream class (eliminate LNK4221 MSVC warning)
7 years ago
Andrei Kortunov
fba0c155df
Fix assertion fail related to NiLookAtController
7 years ago
Andrei Kortunov
5afcc56860
Handle NiLookAtController (feature #4407 )
7 years ago
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
7 years ago
Bret Curtis
93f14c219c
camelCase
7 years ago
Bret Curtis
7a7b040216
fix building on mips machines
7 years ago
825de71b29
removed an iostream include used for debug prints from nifstream.hpp
7 years ago
30a213a9b3
updates for nifstream optimization including fixing the non-x86 path for little endian reads
7 years ago
8834066dea
make streaming to a type array in nif a direct copy from the file into the vector
7 years ago
090a8408b8
made nif basic type read optimizations more portable
7 years ago
c72aa19d6d
first pass on optimization of nif parsing functions from the file stream
7 years ago
Bret Curtis
d785344fad
purge all instances of <boost/shared_ptr.hpp>, clean up unused headers
8 years ago
Bret Curtis
07f75e1104
replace boost::shared_ptr in extern and components
8 years ago
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.
8 years ago
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
8 years ago
scrawl
6a37909ee7
Revert "Fix race conditions caused by Array <-> GLBufferObject interactions (Bug #3580 )"
...
This reverts commit 115e563a7a
.
8 years ago
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).
8 years ago
MiroslavR
99bcf47167
Implement NiSphericalCollider ( Closes #3644 )
8 years ago
scrawl
9375cbea44
Make NIFFilePtr const
9 years ago
scrawl
5f4ace1bc2
Implement support for sphere map NiTextureEffects ( Fixes #1827 )
9 years ago
scrawl
e647ee5424
Support RGB and RGBA embedded textures in NIF files ( Fixes #2295 )
9 years ago
scrawl
a9ac108382
Fully read NiPixelData
9 years ago
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.
9 years ago
scrawl
3ebfb47983
Do not discard root node transformations if the root node is named 'bip01' (Bug #3118 )
9 years ago
scrawl
de84452e5a
NifFile: close the stream after reading ( Fixes #3070 )
9 years ago
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
9 years ago
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.
9 years ago
scrawl
a29d1ace2b
Read NiSpotLight
9 years ago
scrawl
ba211ad9ad
Read NiPointLight ( Fixes #3011 )
9 years ago
scrawl
626281977e
Read NiLODNode (Bug #3008 )
9 years ago
scrawl
a7c5beb7c5
Remove redundant allocations for NIF meshes
10 years ago
scrawl
ad46ff7a98
Remove redundant Transform nodes for TriShapes/ParticleSystems with an identity transform
10 years ago
scrawl
c621d0400c
Fix error handling for out-of-range NIF roots (found in Bosmora, TR)
10 years ago
scrawl
b0b55e2037
Delete niftest as it's currently broken
10 years ago
scrawl
da24e298ee
Fix -Wreorder warnings
10 years ago
scrawl
604580d75d
Move toMatrix to Nif::Node
10 years ago
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
10 years ago
Rohit Nirmal
997347b01e
Silence -Wreorder warnings.
10 years ago
Marc Zinnschlag
e69687b0f2
silenced a warning (potentially unintialised variable)
10 years ago
scrawl
372a54bbc7
Dead code removal
10 years ago
scrawl
28643660d3
Change triangle indices to unsigned
10 years ago
scrawl
167ae600c5
Implement gravity decay (previously unknown float)
10 years ago
scrawl
c4738b11b1
Identify unknown float in NiGravity
10 years ago
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
10 years ago
scrawl
c10c146ad1
Skeleton based bounding box callback for RigGeometry (Bug #455 )
10 years ago
scrawl
46cbec9a4a
Add skinning auto-detection in nifosg loader
10 years ago
scrawl
b7867d6f0a
Stop warning about unused nif properties
10 years ago
scrawl
6d9deaa386
Implement planar collider for particles ( Fixes #2149 )
10 years ago
scrawl
9141a8d801
Fully implement NiStencilProperty (Feature #1057 )
10 years ago
scrawl
9242e6d256
Avoid copying keyframes in controller instances
10 years ago
scrawl
2db5df77f0
Change rotation/scale workaround in preparation for loading .kf controllers
10 years ago
scrawl
f8422c3ed4
Particles mostly completed, still need to attach emitters to the correct node and handle NiBSPArrayController
10 years ago
dteviot
45b6538820
fixed MSVC 2013 warning C4800
...
forcing value to bool 'true' or 'false'
10 years ago
dteviot
407cd50890
fixed warning C4099:
...
type name first seen using 'class' now seen using 'struct'
10 years ago
scrawl
6c63bab8e4
Change Nif::Property flags to unsigned
10 years ago
scrawl
8e01d8cb19
Add OSG nifloader, currently supports geometry, materials, basic texturing, skinning, morphing, and most controllers.
10 years ago
scrawl
6b36e55a4e
NIF reader cleanup: move definitions to cpp file
10 years ago
scrawl
387969bf42
Remove an old .gitignore
10 years ago
scrawl
f6f37e02df
NIF Transformation redundancy fix and include fixes
10 years ago
scrawl
8c10d4badb
NIF reader compiles without Ogre
10 years ago
scrawl
d541bc8064
Remove unused functions in nifstream
10 years ago
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
.
10 years ago
Arthur Moore
ad609bff78
components/nif/base.hpp now uses the templated get() function
10 years ago
Arthur Moore
9909c4abad
Made incorrect nif get error message more informative.
10 years ago
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.
10 years ago
Arthur Moore
2619d57bb6
Converted most nifstream "get multiple" functions to the templated version
10 years ago
Arthur Moore
f318ee0b8c
Add a templated option for getting vectors to NIFStream
10 years ago
Arthur Moore
4edc4142f3
Made NIFStream getters templated
10 years ago
Marc Zinnschlag
33d905dc03
Merge remote-tracking branch 'scrawl/master'
10 years ago
Arthur Moore
b8edd9bac3
Get a nif file's version string regardless of its length.
10 years ago
Arthur Moore
cd835152e1
Fix spacing issue for NIF file errors.
10 years ago
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.
10 years ago
scrawl
6eebe9b44c
Read NiFogProperty, but don't use it yet (Feature #920 )
10 years ago
scrawl
5a25649076
Implement XYZ rotation keys support ( Fixes #1067 )
10 years ago
scrawl
b650338d69
Implement drawMode of NiStencilProperty (Feature #1057 )
10 years ago
scrawl
e6c59f5585
Revert "Allow NIF rotation matrices that include scale values"
...
This reverts commit f57ddec6a2
.
Conflicts:
components/nif/nifstream.hpp
(Fixes #2168 )
10 years ago
Arthur Moore
4a9a9855bf
NIFStream getUInt should return an unsigned integer
10 years ago
Arthur Moore
4583dc05db
Move NIFStream functions into a cpp file where they belong
10 years ago
scrawl
f57ddec6a2
Allow NIF rotation matrices that include scale values ( Fixes #2052 )
10 years ago
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.
10 years ago
Arthur Moore
5abed1c32a
Print a NIF file's version information when an error occurs
10 years ago
Arthur Moore
9ebf3f2f10
Provide more data when nifstream throws a runtime_error
10 years ago
scrawl
7252cb63a6
Fix cppcheck issues
10 years ago
scrawl
487e318ede
Remove old niftool test
10 years ago
scrawl
9809748eba
Store NIF keys mapped by time and use lower_bound for searches
10 years ago
cc9cii
7ff1136d81
For compiling in Windows with MSVC.
10 years ago
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.
10 years ago
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.
10 years ago
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.
10 years ago
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.
11 years ago
scrawl
30be59c029
Implement auto-adjusting of particle emit rate
...
This makes ashcloud.nif and blightcloud.nif work properly.
11 years ago
Marc Zinnschlag
c8c45d4923
Merge remote-tracking branch 'lgro/valgrind_fixes'
11 years ago
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>
11 years ago
scrawl
b158919c4b
Fix uninitialized variable use
11 years ago
scrawl
029e438c11
Don't check mInterpolationType each iteration
11 years ago
Arthur Moore
f9f278f645
Fixed a capitalization error.
...
Changed Interpolations to unsigned.
Also explained what's happening in the comments.
11 years ago
Arthur Moore
b90e4db871
Actually read in XYZ_ROTATION_KEY data instead of discarding it.
11 years ago
dreamer-dead
e772bb88da
Remove RTTI usage in NIF reader.
11 years ago
Arthur Moore
576c06d791
Fix Bug #1371
...
Not properly reading in the NIF file's QuaternionKeyList.
11 years ago
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
11 years ago
scrawl
45d2a00717
Fixes #1293 : Allow interpolation type 0 in case of 0 keys
11 years ago
Bret Curtis
ab224f93c9
remove our stdint.h version that uses boost and force usage of system stdint.h
11 years ago
scrawl
bbd15b185d
Skip inactive controllers. Fixes those bloody bone boots again.
11 years ago
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.
11 years ago
scrawl
5931fdcbde
Implement NiBillboardNode. Flags not handled yet.
11 years ago
scrawl
9fcb4fad5c
Implement NiFlipController
11 years ago
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.
11 years ago
Xethik
9f533dbbe4
Fixed "most vexing parse" issue.
11 years ago
Chris Robinson
fb0ee7f2fc
Improve constness of the Nif RecordPtr structs
12 years ago
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.
12 years ago
Chris Robinson
1051fa51a7
Recognize NiFlipController
12 years ago
Chris Robinson
36170c5374
Use flag enums instead of hard-coded hex values
12 years ago
Chris Robinson
bf8bc989fc
Recognize and partly handle NiBSParticleNode
12 years ago
Chris Robinson
d26ffe9de0
Move a method to the Node class
12 years ago
Chris Robinson
3970407772
Use actual classes for properties
12 years ago
Chris Robinson
6c6750342c
Specified particle size is actually the radius
12 years ago
Chris Robinson
23097ac9dc
Minor cleanup of NiMorphData
12 years ago
Chris Robinson
c6c67a1bb4
Read NiGravity fields
12 years ago
Chris Robinson
ebcb4c66c3
Properly read and use the NIF root record list
12 years ago
Chris Robinson
f764f243d2
Fix the particle quota
12 years ago
Chris Robinson
41ce5464c9
Recognize NiBSAnimationNode as a record type
...
And don't warn about animated nodes without textkeys
12 years ago
Chris Robinson
bf0ae3ae72
Read NiVisData info
12 years ago
Chris Robinson
ac10c5f05c
Even more particle information
12 years ago
Chris Robinson
2f6ae4a915
Read more particle information
12 years ago
Chris Robinson
ee0a20f9ce
Read some missing particle data from NIFs
12 years ago
scrawl
a9b56eedc3
Support NIF "glow maps", which are basically an emissive channel.
12 years ago
scrawl
5625d73d84
Bump texture support
12 years ago
Nathan Jeffords
d3c1f5e7b2
renamed low-level NIF related files and include guards to conform to naming convention
12 years ago
Nathan Jeffords
0ed2015319
refactored NIFFile parse to get better code/data seperation
12 years ago
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.
12 years ago
Chris Robinson
2786cc67f6
Fix loading empty NiTriShapeData records
12 years ago
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.
12 years ago
greye
82595e66b2
another missing header for #576
12 years ago
Chris Robinson
b23fcb260c
Use the record index for finding the NiTriShape instead of the name
12 years ago
Chris Robinson
660d73fd88
Store the NIF index in the Record object
12 years ago
scrawl
31e6d28b19
Close NIF file resource after loading it into memory
12 years ago
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.
12 years ago
Nathan Jeffords
0989b44b41
spread some const around NIF loading
12 years ago
Marc Zinnschlag
d684b3ae11
fixed getString function in NIF loader
12 years ago
Marc Zinnschlag
dbcd4a8b5b
compatibility fix
13 years ago
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
13 years ago
Edmondo Tommasina
32b167ce2b
Revert "nif_file.hpp: include type definitions to fix build"
...
This reverts commit b0b3ebe123
.
13 years ago
Edmondo Tommasina
b0b3ebe123
nif_file.hpp: include type definitions to fix build
13 years ago
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
13 years ago
guidoj
0549e949ba
Mostly removal of unnecessary #include's and a little clean up
13 years ago
Chris Robinson
63e40d6e92
Fix world transform calculation
13 years ago
Chris Robinson
b1f7fd9f7b
Pre-transform the mesh vertices when there's no skinning or skeleton
13 years ago
Chris Robinson
61f32eca77
Add methods to get a node's local and full transform as a 4x4 matrix
13 years ago
Chris Robinson
9caa264074
Merge remote branch 'zini/master' into nif-cleanup
13 years ago
scrawl
5345d4eeef
fix a warning
13 years ago
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.
13 years ago
Chris Robinson
9436ca4b0c
Use vectors for ShapeData properties
13 years ago
Chris Robinson
ecdd4ee23f
Load NiMorphData and NiKeyframeData using proper key lists
13 years ago
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.
13 years ago
Chris Robinson
9995dff943
Use a key list for NiColorData
13 years ago
Chris Robinson
3f11b6b1ae
Cleanup a couple unneeded misc component references
13 years ago
Chris Robinson
86b37c6c11
Move the velocity out of the transformation object
13 years ago
Chris Robinson
b292665de9
Use key lists to store some NIF data types
13 years ago
Chris Robinson
b7b9f11333
Add generic classes to help deal with NIF keys
13 years ago
Chris Robinson
645b507ba0
Return a reference to the RecordPtr from operator[] for consistency
...
RecordListT is supposed to be a list of RecordPtrT objects.
13 years ago
Chris Robinson
7e8c146de6
Constify some RecordListT methods
13 years ago
Chris Robinson
8e324c90dc
Constify some RecordPtrT methods
13 years ago
Chris Robinson
395a7600fd
Initialize identify transform when declaring the identity object
13 years ago
Chris Robinson
dddf1b4ee5
Rename getMatrix->getMatrix3 and getVector->getVector3
13 years ago
Chris Robinson
d30f64650a
Make the read_* methods private and remove the generic load() methods
13 years ago
Chris Robinson
930459365b
Rename getShort->getUShort and getByte->getChar
13 years ago
Chris Robinson
95b804a104
Remove NIFFile::getArrayLen
13 years ago
Chris Robinson
ca37706b34
Use Ogre types for Matrix and Vector objects
13 years ago
Chris Robinson
10072f74b4
Remove NIFFile::getType
13 years ago
Chris Robinson
b3aa453f9a
Use Ogre data streams for loading NIFs
13 years ago
Chris Robinson
0143cacd2b
Avoid returning pointers from NIFFile
13 years ago
Chris Robinson
d3a31a24ce
Use proper strings and vectors instead of slice arrays for NIF files
...
Slice arrays use pre-allocated pointers whose memory is managed externally. This is
unnecessary and ultimately detrimental since it prevents any kind of data fixup
(e.g. little endian to big endian, p[adding handling), and it also makes it difficult
to use Ogre data streams.
13 years ago
Chris Robinson
d8d00123ea
Watch for empty children node refs when setting parents
13 years ago
Chris Robinson
832247bff2
Merge remote branch 'zini/master' into nif-cleanup
...
Conflicts:
components/nif/data.hpp
13 years ago
Marc Zinnschlag
c85aaafac2
more include cleanup (most removing Ogre.h)
13 years ago
Chris Robinson
291599c609
Store the parents of NIF's nodes
13 years ago
Chris Robinson
046e9686f9
Cleanup RecordPtrT
...
This moves the index resolution into a separate post method instead of always
checking when access. As a result, it reduces the size of it down to the size
of a pointer, as opposed to 2 pointers + 1 int. The appropriate methods are
added to the various node types to make sure they're resolved.
13 years ago
Roman Melnik
e6c55c144c
Fix tabulation/formatting
13 years ago
Roman Melnik
6d33ad248d
Fix memory leak in getIdentity method
...
Replace static pointer and new() operator with normal static variable
13 years ago
Roman Melnik
ebc49de851
Fix Bug #1 : "Meshes rendered with wrong orientation"
...
Discard the tranformation of the root NiNode when loading nif files
(set the 'identity' transformation instead).
After applying the fix test the following types of interiors:
- Dwemer ruins (the bug was common here before the fix)
- Ancestral tombs (the bug was common here before the fix)
- Daedric shrines
- Caves/grottos
- Dunmer strongholds
- Telvanni, imperial, redoran houses/towers/castles
Also checked exteriors (although it is hard to do without terrain
rendering)
13 years ago
Marc Zinnschlag
5b378e820d
warning level adjustments and some related fixes
13 years ago
Lukasz Gromanowski
8829d46bda
Clean up compilation warnings.
...
Clan up compilation warnings like "variable ... set but not used" introduced
in some older and recent commits.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
13 years ago
Marc Zinnschlag
9b910dda94
clean up
13 years ago
Jason Hooks
0712bba49b
Changing a few things around with handleshapes
13 years ago
Jason Hooks
baa3f51886
Trying to fix errors
13 years ago
Jason Hooks
cef2f5e927
Trying to get code to conform with older c++
13 years ago
Jason Hooks
7bd911b401
Problems with handles
13 years ago
Jason Hooks
e8ec9093f8
More NIFLoader code
13 years ago
Marc Zinnschlag
8446619ac4
Merge branch 'components_namespaces' into next
...
Conflicts:
apps/openmw/mwrender/interior.cpp
components/bsa/bsa_archive.cpp
14 years ago
Lukasz Gromanowski
90985e849e
Mantis: #18 - Move components from global namespace into their own namespace.
...
Moving classes from components/misc into Misc namespace.
Note: Misc namespace introduced conflict with ESM::Misc and MWClass::Misc
classes, so both of them are renamed to ESM::Miscellaneous
and MWClass::Miscellaneous.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
14 years ago
Marc Zinnschlag
0f2df4e2b8
more cleanup
14 years ago
Jason Hooks
d035441876
Reintroducing animation
14 years ago
Jan-Peter Nilsson
a94de76801
Whitespace changes only tabs->spaces and removal of traling space (including mangle and openengline)
14 years ago
gugus
a8ade56c80
Add a bullet Shape Loader
14 years ago
Nicolay Korslund
0eae9d1504
Removed -Werror again
15 years ago
Nicolay Korslund
e30306f7c3
Removed redundant custom exception class
15 years ago
athile
59a2e8dcf7
Merge upstream
15 years ago
athile
819c146ad1
Project clean-up: move 'misc' into the platform lib, update CMake to build 'platform' as a lib, and various fixes for Visual Studio compiler warnings
15 years ago
Marc Zinnschlag
e4f85cb3e6
directory structure reorganisation (still missing the mangle stuff)
15 years ago