psi29a
c290754077
Revert "Merge branch 'loadSSEAlchemyTable' into 'master'"
...
This reverts merge request !3267
2023-08-03 19:55:06 +00:00
alekulyn
d2896945e8
Load SSE alchemy table
2023-07-28 07:46:20 +00:00
Alexei Kotov
3f252eab5d
Copy triangle data from NiSkinPartition
2023-07-23 13:32:33 +03:00
alekulyn
74aa7b947a
Load BSTriShape NIF nodes
2023-07-09 10:14:27 +00:00
Alexei Dobrohotov
a983977e6a
Fix NiSkinData loading for >4.2.1.0
2023-05-23 01:19:22 +03:00
Alexei Dobrohotov
1b5e904285
Read BSMultiBound et al.
2023-05-22 23:05:10 +03:00
Alexei Kotov
d39127cc3d
Add NiTriBasedGeomData abstraction
2023-02-10 23:06:56 +03:00
psi29a
de2bd6d802
Merge branch 'nistringpalette' into 'master'
...
Fix NiStringPalette loading again
See merge request OpenMW/openmw!2703
2023-02-10 07:46:39 +00:00
Alexei Kotov
a4ddf443ed
Fix NiStringPalette loading
2023-02-09 21:10:25 +03:00
Alexei Kotov
c8430ee6c8
Clean up fillTriangleMesh for NiTriStrips
2023-02-09 20:24:05 +03:00
elsid
0688b6de40
Separate record list reading from its state
...
To make it possible to set record list state independently from reading NIF
file.
2022-09-24 19:10:35 +02:00
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.
2022-09-24 19:10:14 +02:00
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.
2022-09-24 19:10:05 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base
2022-09-22 21:35:26 +03:00
Andrei Kortunov
c36c28e8f9
Move NIF implementation to cpp files
2022-07-21 15:54:52 +04:00
Alexei Dobrohotov
54df5031b7
Add XYZ rotation axis order support
2022-02-19 02:22:08 +03:00
Alexei Dobrohotov
26dfce1114
Rehash key group and morph loading (bug #6517 )
2021-12-24 07:21:30 +03:00
Alexei Dobrohotov
41097352a8
Load BSDismemberSkinInstance
2021-11-10 19:40:02 +03:00
Andrei Kortunov
696cf9ab05
Extend variables range to avoid integer overflow
2021-04-14 08:06:22 +04:00
Alexei Dobrohotov
db9c174ca8
Make NIF particle node handling more generic
2020-11-30 12:33:18 +03:00
Alexei Dobrohotov
117697ea22
Fix NiStringPalette loading
2020-11-14 01:12:32 +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
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
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
Alexei Dobrohotov
05cd005b30
Fix NiTriStripsData loading
2020-10-09 19:37:54 +03:00
Alexei Dobrohotov
29ccb09da5
Introduce some extended NIF definitions
2020-10-04 13:18:56 +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
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
Capostrophic
e363d5df21
Some more minor NIF support fixes
2020-02-02 17:28:46 +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
8056107c6e
More minor NIF improvements
2019-10-16 01:36:43 +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
elsid
b3c5d64ff3
Use std::make_shared
2019-03-10 22:07:46 +03: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
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
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