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
Alexei Kotov
5a3dce160c
Read NiBoolTimelineInterpolator
2023-07-20 04:05:11 +03:00
Alexei Kotov
4265524ad5
Read BSRangeNode and BSBlastNode
2023-07-20 04:04:49 +03:00
Alexei Kotov
fa39f04a3a
Read BSBehaviorGraphExtraData
2023-07-20 03:38:15 +03:00
Alexei Kotov
e710e94304
Read BSLightingShaderPropertyColorController
2023-07-20 03:18:09 +03:00
Alexei Kotov
c34157fc28
Fix bhkConstraintMotorCInfo loading
2023-07-20 03:14:55 +03:00
psi29a
5bc06b3678
Merge branch 'bhkconstraint' into 'master'
...
Read bhkRagdollConstraint and bhkHingeConstraint
See merge request OpenMW/openmw!3231
2023-07-16 08:44:41 +00:00
Alexei Kotov
65fe89d8af
Read NiTextureTransformController
2023-07-15 13:33:04 +03:00
Alexei Kotov
ed8fd81714
Don't mess with A/B hardcoding in constraints
2023-07-15 06:59:22 +03:00
Alexei Kotov
eb3e762c50
Read bhkHingeConstraint
2023-07-15 06:47:28 +03:00
Alexei Kotov
83be42893d
Read bhkRagdollConstraint
2023-07-15 06:47:28 +03:00
Alexei Kotov
723f5c58e1
Add bhkConstraint
2023-07-15 06:47:28 +03:00
Alexei Kotov
d8f50553af
Move Skyrim shader property controllers to controllers
2023-07-15 03:57:29 +03:00
alekulyn
b085a52681
Add template Nif record
2023-07-10 19:25:52 -05:00
alekulyn
4b90352c2f
Add RC value to BSLightingShaderPropertyFloatController and change the revelant RC value in niffile
2023-07-10 19:11:28 -05:00
alekulyn
589726d4f8
Enchanting table fully ready
2023-07-10 18:12:00 -05:00
alekulyn
ed532b5aca
Add BSEffectShaderPropertyFloatController record reading
2023-07-10 17:58:32 -05:00
alekulyn
7ea2ea96b6
Read new nodes pt1
2023-07-10 17:27:05 -05:00
psi29a
d9027f7eef
Merge branch 'falloutfalloffnthtimesthecharm' into 'master'
...
BSEffectShader/NoLighting fixes
See merge request OpenMW/openmw!3211
2023-07-10 07:51:53 +00:00
Alexei Dobrohotov
52a16e0e93
BSEffectShader/NoLighting fixes
...
Don't hijack BSShader::NoLighting for BSEffectShader functionality
(Fallout meshes break if you use the actual emissive color as a base color)
Don't use falloff for textureless NoLighting objects
Use falloff flag for BSEffectShader
2023-07-09 14:44:09 +03:00
alekulyn
74aa7b947a
Load BSTriShape NIF nodes
2023-07-09 10:14:27 +00:00
alekulyn
683fb0a342
Templated nif reader function modelled after cc9cii's reader
2023-06-28 09:27:22 +00:00
alekulyn
dc860ca302
Load BSInvMarker NIF nodes
2023-06-01 15:27:42 -05:00
Petr Mikheev
788a4d32aa
Handle DoubleSided and TreeAnim flags in BSLightingShaderProperty.
2023-05-29 18:47:27 +02:00
Petr Mikheev
e74161ea8e
Merge branch 'slashrslashmarijuanaenthusiasts' into 'master'
...
Improve Skyrim tree loading (limited)
See merge request OpenMW/openmw!3054
2023-05-24 19:16:55 +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
Evil Eye
9728024978
Replace compare with more idiomatic methods
2023-05-22 19:51:27 +02:00
Alexei Dobrohotov
3e8a9d1de4
Read BSTreeNode, handle as NiNode
2023-05-21 18:16:06 +03:00
Petr Mikheev
493858127a
Drop NIF root node transformation for Skyrim models the same way as for Morrowind models.
2023-05-18 02:10:39 +02:00
Alexei Kotov
d8dad79195
Read bsLeafAnimNode
2023-02-24 20:34:41 +03:00
Alexei Kotov
9618a465ce
Read bhkCompressedMeshShape
2023-02-24 20:32:35 +03:00
Alexei Kotov
fc6bc90c3d
Read BSFurnitureMarkerNode
2023-02-24 19:38:29 +03:00
Alexei Kotov
2de81738c1
Implement the basics of BSEffectShaderProperty
2023-02-20 00:23:00 +03:00
Alexei Kotov
99aa90f90c
Rewrite NiVertexColorProperty
2023-02-11 00:58:13 +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
psi29a
a41cbfb349
Merge branch 'candles' into 'master'
...
Read NiBlendInterpolator records, fill in NiControllerManager fields
See merge request OpenMW/openmw!2700
2023-02-08 22:24:37 +00:00
elsid
2c43a8558a
Add option to disable debug log for unsupported nif files
...
It becomes quite extensive and not very useful when loading oblivion content
files.
2023-02-08 22:59:29 +01:00
Alexei Kotov
d7834c43e5
Fill in NiControllerManager fields
2023-02-09 00:06:08 +03:00
Alexei Kotov
091fcd837e
Read all the NiBlendInterpolator record types
2023-02-09 00:06:08 +03:00
Alexei Kotov
7ecf018743
Add NiBlendInterpolator
2023-02-08 22:58:47 +03:00
Alexei Kotov
41d6ccd3f6
Read NiDefaultAVObjectPalette
2023-02-08 15:08:52 +03:00
psi29a
5f9332751c
Merge branch 'roottrafo' into 'master'
...
Don't discard root node transformations for Gamebryo meshes
See merge request OpenMW/openmw!2697
2023-02-08 11:32:16 +00:00
Alexei Kotov
b14d1f0c6b
Don't discard root node transformations for Gamebryo meshes
2023-02-08 14:20:42 +03:00
Alexei Kotov
8ebdd1e4a5
Fix material data loading for 10.0.1.0
2023-02-08 13:46:54 +03:00
Alexei Kotov
115c30a573
Read bhkConvexTransformShape
2023-02-08 13:26:26 +03:00
Alexei Kotov
9f28a26b25
Read NiSequence/NiControllerSequence
2023-02-08 01:03:11 +03:00
jvoisin
3cbf1dc042
First pass with include-what-you-use
2022-10-09 10:39:43 +00:00
elsid
06f7e8088e
Check for negative record list length
2022-09-24 19:10:38 +02: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
c338c1e5d3
Add Nif::FileView as read only interface for Nif::NIFFile
...
To make sure interface is scoped to what users require.
2022-09-24 19:10:21 +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
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
2022-09-16 23:45:54 +03:00
Alexei Kotov
e2ed313389
Don't load keys for Gamebryo morphs
2022-09-16 05:55:37 +03:00
psi29a
d1c79fa8d1
Merge branch 'pre_clang_format_fixes_2' into 'master'
...
Fixes before applying clang-format 2
See merge request OpenMW/openmw!2401
2022-09-15 08:24:23 +00:00
Alexei Kotov
482de23893
Streamline NiInterpController handling
2022-09-15 00:58:10 +03:00
elsid
410a2881fe
Add comma to the last array element to prevent putting multiple elements on a single line
2022-09-14 00:36:02 +02:00
Project579
2df8bfed25
Fix build errors after rebase against master due to large amount of changes.
2022-09-11 14:41:20 +02:00
Project579
a13709c510
Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions.
2022-09-11 14:41:20 +02:00
Project579
e5c417c968
Make sure all paths are passed as std::filesystem::path instead of std::string where possible.
2022-09-11 14:41:15 +02:00
Alexei Kotov
f17b1cd7ab
Load bhkCapsuleShape and bhkSphereShape
2022-09-07 16:09:19 +03:00
Alexei Kotov
44fbb5cdc3
Read NiMultiTargetTransformController
2022-09-04 08:36:32 +03:00
Alexei Kotov
8df0587793
Reformat NIF record type mapping
2022-09-04 08:36:32 +03:00
Alexei Kotov
126090bdc5
Load NiBillboardNode mode field
2022-08-31 22:32:45 +03:00
psi29a
5ee4ce1232
Merge branch 'nipixeldata' into 'master'
...
Support more NiPixelData formats (feature #6945 )
Closes #6945
See merge request OpenMW/openmw!2290
2022-08-17 12:20:00 +00:00
Alexei Kotov
edbd05a3f7
Support more NiPixelData formats (feature #6945 )
2022-08-17 14:22:27 +03:00
elsid
cc8c7002ea
Cleanup components includes
2022-08-16 19:14:04 +02:00
psi29a
bb9884c024
Merge branch 'split_stringops' into 'master'
...
Split components/misc/stringops.hpp into multiple headers
See merge request OpenMW/openmw!2233
2022-08-09 18:06:40 +00:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
...
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
Alexei Kotov
014de72644
Use NiParticleSystemController's color for the initial particle color
2022-08-03 14:36:51 +03:00
Andrei Kortunov
c36c28e8f9
Move NIF implementation to cpp files
2022-07-21 15:54:52 +04:00
elsid
6c8ed4d19c
Move Files::IStreamPtr alias to a separate header
...
To avoid transitive include of Windows.h all over the engine.
2022-07-17 11:35:39 +02:00
glassmancody.info
0954597fa7
fix typo with wrong flags in particle nifloader
2022-07-05 11:00:28 -07:00
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.
2022-07-05 01:41:28 +02:00
Alexei Kotov
e673f9fa76
Clean up NIF flags
2022-06-22 01:58:16 +03:00
Alexei Kotov
e6f7a2f1ef
Correct NiBoundingVolume loading
2022-06-17 14:35:33 +03:00
cody glassman
72fdf40e06
better support for particle arrays when spawning at node positions
2022-05-15 13:41:52 -07:00
elsid
94c1d0cced
Use unique_ptr to store istream
2022-04-22 18:27:17 +02:00