Alexei Kotov
0eb8d28e81
Read bhkBlendCollisionObject
2023-09-20 05:57:43 +03:00
Alexei Kotov
70877c94bc
Read BSNiAlphaPropertyTestRefController
2023-09-20 05:26:41 +03:00
Alexei Kotov
9a2d385d87
Read NiAdditionalGeometryData records
2023-09-20 05:06:38 +03:00
Alexei Kotov
ecf644bda5
Read bhkCylinderShape
2023-09-20 05:06:38 +03:00
Alexei Kotov
e207285323
Read BSFrustumFOVController and BSKeyframeController
2023-09-20 05:06:38 +03:00
Alexei Kotov
5f504688ad
Read BSMultiBoundAABB
2023-09-20 05:06:38 +03:00
Alexei Kotov
77c5882622
Read various FO3 shader properties
...
BSDistantTreeShaderProperty, DistantLODShaderProperty, HairShaderProperty, Lighting30ShaderProperty, SkyShaderProperty, TallGrassShaderProperty, TileShaderProperty, VolumetricFogShaderProperty, WaterShaderProperty
2023-09-20 05:06:38 +03:00
Alexei Kotov
30b842dd1e
Read BSMeshLODTriShape and BSDynamicTriShape
...
Slightly clean up BSVertexData loading
Fix skin tint alpha loading in BSLightingShaderProperty
2023-09-20 05:06:38 +03:00
Alexei Kotov
a39182f7de
Read a bunch more extra data records
...
NiStringsExtraData, BSExtraData, BSBoneLODExtraData, BSClothExtraData, BSDecalPlacementVectorExtraData, BSDistantObjectExtraData, BSDistantObjectLargeRefExtraData, BSWArray
2023-09-20 02:57:37 +03:00
Alexei Kotov
82eed09604
Further adjust FO3+ shader properties based on nifly definitions
2023-09-19 00:12:05 +03:00
Alexei Kotov
4db994cda9
Remap FO76 shader types
2023-09-18 06:44:44 +03:00
Alexei Kotov
81441bc963
Fix formatting and typos
2023-09-18 06:44:44 +03:00
Alexei Kotov
1b93e646b8
Rename Property->NiProperty
2023-09-18 06:44:44 +03:00
Alexei Kotov
defe5ba5e7
Remove last remnants of deprecated NIFStream methods
2023-09-18 06:44:44 +03:00
Alexei Kotov
c551f23667
Update NIF property loading, second pass
...
Refactor all remaining NIF properties
2023-09-18 06:44:44 +03:00
Alexei Kotov
080d7d2c13
Refactor NiTexturingProperty, load everything
2023-09-18 06:44:44 +03:00
Alexei Kotov
18e4af04b3
Rewrite BSVertexData loading and read FO4 geometry properly
2023-09-17 20:15:30 +03:00
Alexei Kotov
9ae1077808
Update NIF property loading, first pass
...
Revise all FO3+ shader properties (attempt reading FO4, FO76 and Starfield properties)
Use constants for most instances of property flags
Drop invalid usage of non-existent double-sided flag for BSShader
Make formatting more consistent, drop unnecessary comments
2023-09-17 19:22:16 +03:00
Alexei Kotov
eb8242946a
Improve node record consistency with NifTools
2023-09-16 19:17:40 +03:00
Alexei Kotov
bff9231c3b
Refactor NiGeometry/BSTriShape
...
Don't pass invalid geometry data links to the loaders
2023-09-16 19:17:40 +03:00
Alexei Kotov
deb051639e
Refactor NiBoundingVolume
2023-09-15 21:11:12 +03:00
Alexei Kotov
5b0bc97db0
Refactor NiSwitchNode and NiLODNode
2023-09-15 21:11:12 +03:00
Alexei Kotov
c9300cac31
Update NIF node records, first pass
2023-09-15 21:11:09 +03:00
Alexei Kotov
2f8229a54d
Fix bit shift
2023-09-14 07:01:12 +03:00
Alexei Kotov
f271c4305a
Fix formatting
2023-09-14 05:11:40 +03:00
Alexei Kotov
8856dff3db
Refactor NiParticleSystemController and update definitions
2023-09-14 04:57:55 +03:00
Alexei Kotov
d55ba0cfa2
Cleanup
2023-09-14 03:12:10 +03:00
Alexei Kotov
0fe095303f
Rename Controller->NiTimeController, update NiTimeController and related code
2023-09-14 03:12:10 +03:00
Alexei Kotov
04d3f6a42d
Update NiPathController
...
Support 10.1.0.0+ NiPathController loading
2023-09-14 03:12:10 +03:00
Alexei Kotov
ca85820431
Refactor NiUVController
2023-09-14 02:07:24 +03:00
Alexei Kotov
b0dfd74562
NIFStream: remove getBoolean, getString
2023-09-14 01:54:27 +03:00
Alexei Kotov
05d8975ed1
Revise various NIF controller records
...
Mostly those that don't require external changes
2023-09-14 01:44:41 +03:00
Alexei Kotov
19d1f6f3f5
Rewrite typed NiInterpolator loading
2023-09-14 00:34:15 +03:00
Alexei Kotov
6d82f8b00d
Refactor NiKeyframeController and NiTransformInterpolator
2023-09-14 00:03:25 +03:00
Alexei Kotov
735a948452
Refactor NiMultiTargetTransformController
2023-09-13 23:43:24 +03:00
Alexei Kotov
208bfa9e21
Refactor NiMaterialColorController
2023-09-13 23:37:28 +03:00
Alexei Kotov
a224bea6d4
Rewrite NiBlendInterpolator+friends loading
2023-09-13 23:15:14 +03:00
Alexei Kotov
956ede52fb
NIFStream: remove getShort, getMatrix3, getQuaternion
2023-09-13 21:56:02 +03:00
psi29a
42b77342c5
Merge branch 'nif' into 'master'
...
Modernize NIF loader, part 3
See merge request OpenMW/openmw!3418
2023-09-12 08:34:46 +00:00
Alexei Kotov
9b801b0876
Fix NiParticlesData loading in Mistify
2023-09-10 19:38:05 +03:00
Alexei Kotov
4dd2f34e30
Fix Windows build
2023-09-10 09:20:06 +03:00
Alexei Kotov
a7cc4e6ba6
Rename Node->NiAVObject and update everything directly related
...
Update NiNode
Simplify RootCollisionNode handling in BulletNifLoader
2023-09-10 07:18:39 +03:00
Alexei Kotov
878d4ddaa7
Update record pointer loading
2023-09-10 07:18:39 +03:00
Alexei Kotov
6872c7144e
Rename Transformation->NiTransform and update everything directly related
2023-09-10 07:18:39 +03:00
Alexei Kotov
535290a83d
Update NIF Reader class and related code
...
Update BSStreamHeader definitions
Fix 10.0.1.8 loading
Explicitly avoid loading 20.3.1.2
2023-09-10 07:18:39 +03:00
Alexei Kotov
ef896faa90
Rename Named->NiObjectNET and update everything directly related to it
...
BulletNifLoader: properly check if the node has animation controllers
Flatten extra data linked list
2023-09-10 07:18:39 +03:00
Alexei Kotov
b9f552b7f4
Preallocate lines in NiLinesData
2023-09-08 15:58:26 +03:00
Alexei Kotov
145ce8f924
Deduplicate some version checks, avoid resizing twice
2023-09-06 23:55:37 +03:00
Alexei Kotov
b7c69d109f
Use Fallout 3 stream version constant in NiParticlesData
2023-09-06 23:55:37 +03:00
Alexei Kotov
bf64ad6470
Further cleanup
2023-09-06 23:55:37 +03:00
Alexei Kotov
5b8f574be3
Update keygroup/morph loading
2023-09-06 23:55:36 +03:00
Alexei Kotov
efe1c66536
Further cleanup in NiGeometryData, update NiParticlesData to 20.2.0.7
2023-09-06 23:55:36 +03:00
Alexei Kotov
fd3b24e2e6
Make better use of osg::BoundingSpheref in the NIF loader
2023-09-06 23:55:36 +03:00
Alexei Kotov
0154bb78df
Modernize NiSkinPartition
2023-09-06 23:55:36 +03:00
Alexei Kotov
6ac271d5c0
Modernize NiParticlesData and NiSkinData
2023-09-06 23:55:36 +03:00
Alexei Kotov
89774716fb
Modernize NiGeometryData
2023-09-06 23:55:36 +03:00
Alexei Kotov
50a5d53b41
Modernize NiKeyframeData
2023-09-06 23:55:36 +03:00
Alexei Kotov
cfd37dbcc6
Modernize NiTriShapeData
2023-09-06 23:55:36 +03:00
Alexei Kotov
56ee2588a5
Fix NiSourceTexture loading for internal textures
2023-09-06 23:55:36 +03:00
Alexei Kotov
5e8f9e7dd9
Modernize NiPixelData
2023-09-06 23:55:36 +03:00
Alexei Kotov
523e7e8228
Modernize NiRotatingParticlesData and NiVisData
2023-09-06 23:55:35 +03:00
Alexei Kotov
eba0ab444b
Modernize NiTriStripsData
2023-09-06 23:55:35 +03:00
Alexei Kotov
fda6b0b4f8
Modernize NiUVData, NiLinesData, NiTriBasedGeomData
2023-09-06 23:55:35 +03:00
Alexei Kotov
384a398b62
Modernize NiMorphData, palette and BSBound records
2023-09-06 23:55:35 +03:00
Alexei Kotov
5b07a78f2c
Modernize skin instance records
2023-09-06 23:55:35 +03:00
Alexei Kotov
2edf3399e2
Modernize extra data records
2023-09-01 01:54:11 +03:00
Alexei Kotov
8a7e8a89ac
Modernize Bethesda Havok records
2023-09-01 01:54:11 +03:00
Alexei Kotov
bb6e008801
Modernize dynamic effects
2023-08-31 22:06:21 +03:00
Alexei Kotov
2e847a12c4
Modernize NiSourceTexture and BSShaderTextureSet
2023-08-31 20:50:30 +03:00
Alexei Kotov
fb8ead2bd4
Rename nif/controlled to nif/texture
2023-08-31 18:59:33 +03:00
Alexei Kotov
4a88726aba
Move particle modifiers into a dedicated file
2023-08-31 18:43:13 +03:00
Alexei Kotov
1d05aa2e37
Modernize particle modifiers
2023-08-31 18:16:11 +03:00
Alexei Kotov
f8b2967dab
Alphabetize NIF record type list
2023-08-30 19:20:26 +03:00
Alexei Kotov
4140f9da3c
Reorganize the list of recognized NIF records
2023-08-30 19:20:26 +03:00
Alexei Kotov
4e156f2a7d
NIFStream: improve handling of ranges and aligned types
2023-08-17 09:15:45 +03:00
Alexei Kotov
57144accf6
Phase out NIFStream::get[Types]
2023-08-17 09:15:45 +03:00
Alexei Kotov
e7bbfed1fd
Read BSTriShape bounds into array
2023-08-17 09:15:45 +03:00
Alexei Kotov
6dca3e68a6
NIFStream: don't read vectors of zero length
2023-08-17 09:15:45 +03:00
Alexei Kotov
d078907dcb
NIFStream: rewrite loading for everything
...
Replace overloading with read() template specializations for every type that needs specific handling
Make use of the new read() or get() in all methods
Move complex string-related methods to implementation
2023-08-17 09:15:45 +03:00
Alexei Kotov
ce13f05187
NIFStream: clean up comments
2023-08-17 09:15:45 +03:00
Alexei Kotov
e8f9a918ae
NIFStream: use the right function for readArray
2023-08-17 09:15:45 +03:00
Alexei Kotov
4f549c267f
NIFStream: rename input stream and file methods
...
To conform to modern style conventions
2023-08-17 09:15:45 +03:00
Alexei Kotov
62d643f668
NIFStream: Drop LittleEndian from reading methods
...
This is just noise. We don't clarify reading endianness for any other file format.
2023-08-17 09:15:45 +03:00
Alexei Kotov
aed440ce64
Clean up error handling in NIFStream reading
...
No particular reason to introduce is_arithmetic specifically for 16-bit floats, there's no significant code duplication
Bypassing getBoolean() could be error-prone for records that are shared between pre-4.2 and post-4.2 formats
2023-08-17 09:15:45 +03:00
Alexei Kotov
ee7accf3bd
Don't read affected nodes for 10.0.1.0 NiDynamicEffect
2023-08-12 21:48:51 +03:00
Alexei Kotov
baefff323c
Make some NIF loading messages less confusing
2023-08-12 21:45:19 +03:00
Alexei Dobrohotov
de50f30645
Read a couple of Bethesda-specific controller records
...
BSMaterialEmittanceMultController
BSRefractionFirePeriodController
BSRefractionStrengthController
2023-08-10 01:59:10 +03:00
psi29a
c290754077
Revert "Merge branch 'loadSSEAlchemyTable' into 'master'"
...
This reverts merge request !3267
2023-08-03 19:55:06 +00:00
Petr Mikheev
0487bf95d1
Merge branch 'coverity49' into 'master'
...
Fix some Coverity warnings
See merge request OpenMW/openmw!3286
2023-07-31 00:09:14 +00:00
elsid
dd54857610
Add missing array include
2023-07-29 00:29:03 +02:00
Andrei Kortunov
d8ec78d732
Fix some Coverity warnings
2023-07-28 20:58:18 +04:00
alekulyn
d2896945e8
Load SSE alchemy table
2023-07-28 07:46:20 +00:00
psi29a
466b2f1b74
Merge branch 'mantlingtalos' into 'master'
...
Copy triangle data from NiSkinPartition, a.k.a. SKYRIM TREES
See merge request OpenMW/openmw!3235
2023-07-24 09:11:40 +00:00
Alexei Kotov
3f252eab5d
Copy triangle data from NiSkinPartition
2023-07-23 13:32:33 +03:00
Alexei Kotov
d6e420fb48
Handle BSShader specular flag
2023-07-22 17:28:05 +03:00
psi29a
62ef209185
Merge branch 'readingbooksbutnotquite' into 'master'
...
Read bhkLimitedHingeConstraint
See merge request OpenMW/openmw!3254
2023-07-22 09:46:21 +00:00
psi29a
686281d276
Merge branch 'helgenkeepcalm' into 'master'
...
NIF additions relevant to Helgen Keep
See merge request OpenMW/openmw!3252
2023-07-22 09:44:48 +00:00
Alexei Kotov
6b6a3bcfca
Make decal rendering more accurate for Skyrim models, reducing Z-fighting
2023-07-20 19:28:33 +03:00
Alexei Kotov
6c4957fe4a
Read bhkLimitedHingeConstraint
2023-07-20 05:30:22 +03:00
Alexei Kotov
d2c797aee9
Read BSDamageStage
2023-07-20 04:20:28 +03:00