1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 12:49:54 +00:00
Commit graph

56 commits

Author SHA1 Message Date
Andrei Kortunov
33648313a6 Initialize variables 2021-01-09 14:21:57 +04:00
Alexei Dobrohotov
1e6156e04a Turn all NIF records into structs 2020-12-16 01:54:31 +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
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
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Alexei Dobrohotov
29ccb09da5 Introduce some extended NIF definitions 2020-10-04 13:18:56 +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
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
Andrei Kortunov
77d6fe46ca Handle NiCollisionSwitch node 2020-02-19 12:14:21 +04: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
e654a52b70 More NIF adjustments
Constant interpolation support
2020-01-02 13:07:27 +03:00
capostrophic
8efbdeaa57 Load NiTriStrips/NiTriStripsData (don't do anything yet) 2019-08-08 17:09:06 +03:00
Capostrophic
7c8360d0f3 Use NiSwitchNode initial index field 2019-06-09 01:58:02 +03:00
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04: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
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
626281977e Read NiLODNode (Bug #3008) 2015-11-12 19:52:32 +01: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
46cbec9a4a Add skinning auto-detection in nifosg loader 2015-03-25 15:39:41 +01: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
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
b650338d69 Implement drawMode of NiStencilProperty (Feature #1057) 2014-12-03 18:28:35 +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
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
scrawl
bbd15b185d Skip inactive controllers. Fixes those bloody bone boots again. 2014-01-31 05:59:58 +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
Chris Robinson
36170c5374 Use flag enums instead of hard-coded hex values 2013-04-16 01:20:32 -07:00
Chris Robinson
d26ffe9de0 Move a method to the Node class 2013-04-10 23:19:47 -07: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
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
Nathan Jeffords
0989b44b41 spread some const around NIF loading 2013-01-10 21:32:47 -08: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
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
86b37c6c11 Move the velocity out of the transformation object 2012-07-12 11:21:52 -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
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
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
0143cacd2b Avoid returning pointers from NIFFile 2012-07-09 21:35:36 -07:00
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.
2012-07-09 21:08:23 -07:00
Chris Robinson
d8d00123ea Watch for empty children node refs when setting parents 2012-07-03 18:37:04 -07:00
Chris Robinson
291599c609 Store the parents of NIF's nodes 2012-07-02 22:49:44 -07:00