elsid
f2fb3d6de8
Separate NIFFileReader from NIFFile
...
NIFFile might not always be created from a file or stream containing NIF data.
Basically there are 2 different responsibilities for this class:
1. Read NIF file
2. Provide input for nifosg and bulletnifloader.
Remove no longer needed NIFFileMock since the state of NIFFfile can be
initialized independently from reading NIF file.
2 years ago
elsid
b39ccbeeef
Remove NIFFile::warn and NIFFile::fail functions
...
These functions use NIFFile only as context, they are not really a part of
either reading nor state invariant. And they only confuse reader because it's
not immediatelly obvious that no code is executed after fail.
2 years ago
clang-format-bot
ddb0522bbf
Apply clang-format to code base
2 years ago
Alexei Kotov
7aee22be91
Further controller updates
...
Correct NiMaterialColorController base class
Load everything in NiGeomMorpherController
Make a guess at how weighted interpolators might be supposed to work like
2 years ago
Alexei Kotov
e2ed313389
Don't load keys for Gamebryo morphs
2 years ago
psi29a
d1c79fa8d1
Merge branch 'pre_clang_format_fixes_2' into 'master'
...
Fixes before applying clang-format 2
See merge request OpenMW/openmw!2401
2 years ago
Alexei Kotov
482de23893
Streamline NiInterpController handling
2 years ago
elsid
410a2881fe
Add comma to the last array element to prevent putting multiple elements on a single line
2 years ago
Project579
2df8bfed25
Fix build errors after rebase against master due to large amount of changes.
2 years ago
Project579
a13709c510
Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions.
2 years ago
Project579
e5c417c968
Make sure all paths are passed as std::filesystem::path instead of std::string where possible.
2 years ago
Alexei Kotov
f17b1cd7ab
Load bhkCapsuleShape and bhkSphereShape
2 years ago
Alexei Kotov
44fbb5cdc3
Read NiMultiTargetTransformController
2 years ago
Alexei Kotov
8df0587793
Reformat NIF record type mapping
2 years ago
Alexei Kotov
126090bdc5
Load NiBillboardNode mode field
2 years ago
psi29a
5ee4ce1232
Merge branch 'nipixeldata' into 'master'
...
Support more NiPixelData formats (feature #6945 )
Closes #6945
See merge request OpenMW/openmw!2290
2 years ago
Alexei Kotov
edbd05a3f7
Support more NiPixelData formats (feature #6945 )
2 years ago
elsid
cc8c7002ea
Cleanup components includes
2 years ago
psi29a
bb9884c024
Merge branch 'split_stringops' into 'master'
...
Split components/misc/stringops.hpp into multiple headers
See merge request OpenMW/openmw!2233
2 years ago
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
...
Replace all ciEqual overloads with one having std::string_view as argument.
2 years ago
Alexei Kotov
014de72644
Use NiParticleSystemController's color for the initial particle color
2 years ago
Andrei Kortunov
c36c28e8f9
Move NIF implementation to cpp files
2 years ago
elsid
6c8ed4d19c
Move Files::IStreamPtr alias to a separate header
...
To avoid transitive include of Windows.h all over the engine.
2 years ago
glassmancody.info
0954597fa7
fix typo with wrong flags in particle nifloader
3 years ago
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.
3 years ago
Alexei Kotov
e673f9fa76
Clean up NIF flags
3 years ago
Alexei Kotov
e6f7a2f1ef
Correct NiBoundingVolume loading
3 years ago
cody glassman
72fdf40e06
better support for particle arrays when spawning at node positions
3 years ago
elsid
94c1d0cced
Use unique_ptr to store istream
3 years ago
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.
3 years ago
Wolfgang Lieff
373776170d
refactor for NiFltAnimationNode
3 years ago
Bret Curtis
0db5415976
refactor to use mInternal, support Flag_Reverse and updated changelog/authors.md
3 years ago
Wolfgang Lieff
ead73fce31
initial NiFltAnimationNode support
3 years ago
Alexei Dobrohotov
c28f997c87
Make NiPlanarCollider finite-size
3 years ago
Alexei Dobrohotov
9d8f6064a1
Detail the unused parts of controlled.cpp defs
3 years ago
Alexei Dobrohotov
54df5031b7
Add XYZ rotation axis order support
3 years ago
Alexei Dobrohotov
76ba5025e3
Clarify root node transformation discard
3 years ago
psi29a
b011809056
Merge branch 'master' into 'sort_me_baby_one_more_time'
...
# Conflicts:
# components/nif/niffile.cpp
3 years ago
elsid
e1fe501013
Use proper type for Record::recType
3 years ago
elsid
283b68025c
Avoid possible race condition on NIFFile::sLoadUnsupportedFiles
...
Its value is written from the main thread but other threads read it.
3 years ago
elsid
fbd95516f4
Repalce raw for-loops by corresponding algorithms
3 years ago
elsid
082810f924
Store record type as a part of construct function type
3 years ago
elsid
d097c16206
Use unique_ptr to manage nif record lifetime
3 years ago
glassmancody.info
712107de2d
nisortadjust support
3 years ago
Alexei Dobrohotov
85053941b3
Properly postprocess NiSortAdjustNode
3 years ago
glassmancody.info
88f02913d5
use vertex emitters on array particle controllers when appropriate
3 years ago
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.
3 years ago
Alexei Dobrohotov
b5a7ad6d62
Fix multilayer parallax parameter reading
3 years ago
Alexei Dobrohotov
9b2978f143
Rehash morph loading rehashing
3 years ago
Alexei Dobrohotov
26dfce1114
Rehash key group and morph loading (bug #6517 )
3 years ago
psi29a
59ab947f3b
Merge branch 't800' into 'master'
...
Keep only one '\0' in NIF strings (bug #6473 )
Closes #6473
See merge request OpenMW/openmw!1458
3 years ago
psi29a
6c7dc2d72f
Merge branch 'assorted' into 'master'
...
Load NiSortAdjustNode and NiAccumulators
See merge request OpenMW/openmw!1396
3 years ago
Alexei Dobrohotov
dd15b30a27
Keep only one '\0' in NIF strings (bug #6473 )
3 years ago
elsid
a665a38aca
Use MurmurHash3_x64_128 for file hash
3 years ago
Alexei Dobrohotov
63ea57e9cf
Load NiSortAdjustNode and NiAccumulators
3 years ago
Alexei Dobrohotov
50b90a594d
Loading and basic handling of BSLightingShaderProperty
3 years ago
Alexei Dobrohotov
d347f8f4f0
Fix build
3 years ago
Alexei Dobrohotov
25f4d05c2e
Load bhkRigidBody
3 years ago
Alexei Dobrohotov
c01fff280a
Load bhkConvexVerticesShape, bhkBoxShape, bhkListShape
3 years ago
Alexei Dobrohotov
83aa96e38f
Load a bunch of triangle strip-based Havok records
3 years ago
Alexei Dobrohotov
e7cc76bba2
Load bhkMoppBvTreeShape
3 years ago
Alexei Dobrohotov
59ce00f742
Refactor all present Bethesda Havok 'support'
3 years ago
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.
11 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.
11 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.
11 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.
11 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