Alexei Kotov
120223d8df
Read even more Gamebryo/Bethesda particle records
2023-09-22 04:42:46 +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
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
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
bff9231c3b
Refactor NiGeometry/BSTriShape
...
Don't pass invalid geometry data links to the loaders
2023-09-16 19:17:40 +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
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
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
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
208bfa9e21
Refactor NiMaterialColorController
2023-09-13 23:37:28 +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
6872c7144e
Rename Transformation->NiTransform and update everything directly related
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
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
cfd37dbcc6
Modernize NiTriShapeData
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
087114e55b
Print unsupported interpolator record names
2023-09-01 01:27:03 +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
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
psi29a
2c989e4057
Merge branch 'coverityfixes' into 'master'
...
Correct some things based on Coverity's output
See merge request OpenMW/openmw!3272
2023-07-24 13:22:25 +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
a8119f3863
Fix vertex color emissive lighting mode handling
2023-07-24 00:34:30 +03:00
Alexei Kotov
0d70ae5028
Clean up primitive set copying
2023-07-23 13:32:33 +03: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
Alexei Kotov
6b6a3bcfca
Make decal rendering more accurate for Skyrim models, reducing Z-fighting
2023-07-20 19:28:33 +03: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
Petr Mikheev
19fb9f8e14
Handle editor marker bit in BSXFlags
2023-05-29 18:47:27 +02:00
Petr Mikheev
788a4d32aa
Handle DoubleSided and TreeAnim flags in BSLightingShaderProperty.
2023-05-29 18:47:27 +02:00
Petr Mikheev
fd90a8c9b4
Hide Nif nodes with name "EditorMarker".
2023-05-29 18:47:27 +02:00
Evil Eye
9728024978
Replace compare with more idiomatic methods
2023-05-22 19:51:27 +02:00
Cody Glassman
6a64f352a4
fix shader compilation
2023-02-26 14:31:53 -08:00
Cody Glassman
ac4787aeec
shade refactor
2023-02-25 11:03:39 -08:00
Alexei Kotov
e15434be94
Disable falloff in BSEffectShader for now
2023-02-24 19:36:39 +03:00
Alexei Kotov
8d3c5c0f05
Unify texture wrapping setup
2023-02-20 00:23:00 +03:00
Alexei Kotov
2de81738c1
Implement the basics of BSEffectShaderProperty
2023-02-20 00:23:00 +03:00
Alexei Kotov
9deed5c03e
Propagate dynamic effects to node's immediate children (bug #6550 )
2023-02-11 17:37:25 +03:00
Alexei Kotov
99aa90f90c
Rewrite NiVertexColorProperty
2023-02-11 00:58:13 +03:00
elsid
843753da14
Remove unused includes
2022-10-09 16:44:18 +02:00
jvoisin
3cbf1dc042
First pass with include-what-you-use
2022-10-09 10:39:43 +00:00
elsid
bb8b5e2108
Add META_Node to clang-format StatementMacros
2022-10-06 21:11:52 +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
elsid
63b51ead84
Use nv_default shader prefix for unhandled types
2022-09-17 17:35:25 +02: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
482de23893
Streamline NiInterpController handling
2022-09-15 00:58:10 +03: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
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
b551e69b6f
#5534 remove OSG 3.4 support and require at least 3.6.5 support
2022-08-09 21:07:28 +00: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
Project579
02ef9c953e
MSVC: Fix all warnings at level 4, upgrade Qt5 to 5.15.2 to also reduce warnings, disabled 5054 warnings due to Qt5's use of deprecated operators in C++20 .
2022-07-17 11:23:12 +02:00
Andrei Kortunov
fe785ea788
Don't cast away const when we can avoid it
2022-07-03 16:36:41 +04:00
elsid
2d6e048d88
Fix C4589 msvc warning
...
Constructor of abstract class 'SceneUtil::KeyframeController' ignores initializer for virtual base class 'osg::Object'
2022-07-01 18:47:06 +02:00
glassmancody.info
b09411d396
allow soft particles on meshes and add extra data extensions
2022-06-29 18:15:12 -07:00
Alexei Kotov
e673f9fa76
Clean up NIF flags
2022-06-22 01:58:16 +03:00
Alexei Kotov
dd758f8fd1
Always update the current matrix in KeyframeController
2022-06-11 05:56:28 +03:00
Alexei Kotov
21f6e2e419
Encapsulate NIF transformations, round 2 (task #6709 )
2022-06-08 07:05:35 +03:00
cody glassman
72fdf40e06
better support for particle arrays when spawning at node positions
2022-05-15 13:41:52 -07:00
elsid
4509b05bc8
Use std::make_shared instead of new
...
make_shared allocates single storage for ref counter and the object.
std::shared_ptr<T>(new T) allocates 2 storages.
2022-04-08 22:50:09 +02:00
psi29a
1ac7eaa6b0
Merge branch 'NiFltAnimationNode' into 'master'
...
Add NiFltAnimationNode support
Closes #6684
See merge request OpenMW/openmw!1732
2022-04-06 23:59:04 +00:00
Wolfgang Lieff
373776170d
refactor for NiFltAnimationNode
2022-04-07 00:49:08 +02:00
Bret Curtis
af41560c3f
reverse the reverse flag check; set duration to 0.2f which matches openmw to morrowind speed which is measured in 1/5 seconds
2022-04-07 00:09:11 +02:00
Bret Curtis
0db5415976
refactor to use mInternal, support Flag_Reverse and updated changelog/authors.md
2022-04-07 00:09:11 +02:00
Wolfgang Lieff
ead73fce31
initial NiFltAnimationNode support
2022-04-07 00:09:11 +02:00
Alexei Dobrohotov
eafa66ff40
Don't consider NiCollisionSwitch unoptimizeable
2022-04-06 06:42:06 +03:00
Alexei Dobrohotov
c28f997c87
Make NiPlanarCollider finite-size
2022-04-05 01:33:36 +03:00
psi29a
1542a0392c
Merge branch 'gloss' into 'master'
...
Gloss-mapping
Closes #6541
See merge request OpenMW/openmw!1552
2022-03-24 11:22:58 +00:00
Alexei Dobrohotov
54df5031b7
Add XYZ rotation axis order support
2022-02-19 02:22:08 +03:00
Alexei Dobrohotov
dd473d06df
Implement gloss-mapping (feature #6541 )
2022-02-18 06:24:06 +03:00