Commit Graph

599 Commits (master)

Author SHA1 Message Date
Alexei Kotov 120223d8df Read even more Gamebryo/Bethesda particle records 1 year ago
Alexei Kotov 4db994cda9 Remap FO76 shader types 1 year ago
Alexei Kotov 81441bc963 Fix formatting and typos 1 year ago
Alexei Kotov 1b93e646b8 Rename Property->NiProperty 1 year ago
Alexei Kotov c551f23667 Update NIF property loading, second pass
Refactor all remaining NIF properties
1 year ago
Alexei Kotov 080d7d2c13 Refactor NiTexturingProperty, load everything 1 year ago
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
1 year ago
Alexei Kotov bff9231c3b Refactor NiGeometry/BSTriShape
Don't pass invalid geometry data links to the loaders
1 year ago
Alexei Kotov 5b0bc97db0 Refactor NiSwitchNode and NiLODNode 1 year ago
Alexei Kotov c9300cac31 Update NIF node records, first pass 1 year ago
Alexei Kotov f271c4305a Fix formatting 1 year ago
Alexei Kotov 8856dff3db Refactor NiParticleSystemController and update definitions 1 year ago
Alexei Kotov 0fe095303f Rename Controller->NiTimeController, update NiTimeController and related code 1 year ago
Alexei Kotov 04d3f6a42d Update NiPathController
Support 10.1.0.0+ NiPathController loading
1 year ago
Alexei Kotov ca85820431 Refactor NiUVController 1 year ago
Alexei Kotov 19d1f6f3f5 Rewrite typed NiInterpolator loading 1 year ago
Alexei Kotov 6d82f8b00d Refactor NiKeyframeController and NiTransformInterpolator 1 year ago
Alexei Kotov 208bfa9e21 Refactor NiMaterialColorController 1 year ago
Alexei Kotov a7cc4e6ba6 Rename Node->NiAVObject and update everything directly related
Update NiNode
Simplify RootCollisionNode handling in BulletNifLoader
1 year ago
Alexei Kotov 6872c7144e Rename Transformation->NiTransform and update everything directly related 1 year ago
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
1 year ago
Alexei Kotov fd3b24e2e6 Make better use of osg::BoundingSpheref in the NIF loader 1 year ago
Alexei Kotov 0154bb78df Modernize NiSkinPartition 1 year ago
Alexei Kotov 6ac271d5c0 Modernize NiParticlesData and NiSkinData 1 year ago
Alexei Kotov 89774716fb Modernize NiGeometryData 1 year ago
Alexei Kotov cfd37dbcc6 Modernize NiTriShapeData 1 year ago
Alexei Kotov 5e8f9e7dd9 Modernize NiPixelData 1 year ago
Alexei Kotov 523e7e8228 Modernize NiRotatingParticlesData and NiVisData 1 year ago
Alexei Kotov eba0ab444b Modernize NiTriStripsData 1 year ago
Alexei Kotov fda6b0b4f8 Modernize NiUVData, NiLinesData, NiTriBasedGeomData 1 year ago
Alexei Kotov 384a398b62 Modernize NiMorphData, palette and BSBound records 1 year ago
Alexei Kotov 5b07a78f2c Modernize skin instance records 1 year ago
Alexei Kotov 2edf3399e2 Modernize extra data records 1 year ago
Alexei Kotov 087114e55b Print unsupported interpolator record names 1 year ago
Alexei Kotov bb6e008801 Modernize dynamic effects 1 year ago
Alexei Kotov 2e847a12c4 Modernize NiSourceTexture and BSShaderTextureSet 1 year ago
Alexei Kotov fb8ead2bd4 Rename nif/controlled to nif/texture 1 year ago
Alexei Kotov 4a88726aba Move particle modifiers into a dedicated file 1 year ago
Alexei Kotov 1d05aa2e37 Modernize particle modifiers 1 year ago
psi29a c290754077 Revert "Merge branch 'loadSSEAlchemyTable' into 'master'"
This reverts merge request !3267
1 year ago
alekulyn d2896945e8 Load SSE alchemy table 1 year ago
psi29a 2c989e4057 Merge branch 'coverityfixes' into 'master'
Correct some things based on Coverity's output

See merge request OpenMW/openmw!3272
1 year ago
psi29a 466b2f1b74 Merge branch 'mantlingtalos' into 'master'
Copy triangle data from NiSkinPartition, a.k.a. SKYRIM TREES

See merge request OpenMW/openmw!3235
1 year ago
Alexei Kotov a8119f3863 Fix vertex color emissive lighting mode handling 1 year ago
Alexei Kotov 0d70ae5028 Clean up primitive set copying 1 year ago
Alexei Kotov 3f252eab5d Copy triangle data from NiSkinPartition 1 year ago
Alexei Kotov d6e420fb48 Handle BSShader specular flag 1 year ago
Alexei Kotov 6b6a3bcfca Make decal rendering more accurate for Skyrim models, reducing Z-fighting 1 year ago
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
1 year ago
Petr Mikheev 19fb9f8e14 Handle editor marker bit in BSXFlags 2 years ago
Petr Mikheev 788a4d32aa Handle DoubleSided and TreeAnim flags in BSLightingShaderProperty. 2 years ago
Petr Mikheev fd90a8c9b4 Hide Nif nodes with name "EditorMarker". 2 years ago
Evil Eye 9728024978 Replace compare with more idiomatic methods 2 years ago
Cody Glassman 6a64f352a4 fix shader compilation 2 years ago
Cody Glassman ac4787aeec shade refactor 2 years ago
Alexei Kotov e15434be94 Disable falloff in BSEffectShader for now 2 years ago
Alexei Kotov 8d3c5c0f05 Unify texture wrapping setup 2 years ago
Alexei Kotov 2de81738c1 Implement the basics of BSEffectShaderProperty 2 years ago
Alexei Kotov 9deed5c03e Propagate dynamic effects to node's immediate children (bug #6550) 2 years ago
Alexei Kotov 99aa90f90c Rewrite NiVertexColorProperty 2 years ago
elsid 843753da14
Remove unused includes 2 years ago
jvoisin 3cbf1dc042 First pass with include-what-you-use 2 years ago
elsid bb8b5e2108
Add META_Node to clang-format StatementMacros 2 years ago
elsid 0688b6de40
Separate record list reading from its state
To make it possible to set record list state independently from reading NIF
file.
2 years ago
elsid c338c1e5d3
Add Nif::FileView as read only interface for Nif::NIFFile
To make sure interface is scoped to what users require.
2 years ago
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.
2 years ago
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.
2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
elsid 63b51ead84
Use nv_default shader prefix for unhandled types 2 years ago
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
2 years ago
Alexei Kotov 482de23893 Streamline NiInterpController handling 2 years ago
Project579 a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2 years ago
Project579 e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2 years ago
psi29a 5ee4ce1232 Merge branch 'nipixeldata' into 'master'
Support more NiPixelData formats (feature #6945)

Closes #6945

See merge request OpenMW/openmw!2290
2 years ago
Alexei Kotov edbd05a3f7 Support more NiPixelData formats (feature #6945) 2 years ago
elsid cc8c7002ea
Cleanup components includes 2 years ago
psi29a b551e69b6f #5534 remove OSG 3.4 support and require at least 3.6.5 support 2 years ago
psi29a bb9884c024 Merge branch 'split_stringops' into 'master'
Split components/misc/stringops.hpp into multiple headers

See merge request OpenMW/openmw!2233
2 years ago
elsid f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2 years ago
Alexei Kotov 014de72644 Use NiParticleSystemController's color for the initial particle color 2 years ago
Andrei Kortunov c36c28e8f9 Move NIF implementation to cpp files 2 years ago
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 . 2 years ago
Andrei Kortunov fe785ea788 Don't cast away const when we can avoid it 3 years ago
elsid 2d6e048d88
Fix C4589 msvc warning
Constructor of abstract class 'SceneUtil::KeyframeController' ignores initializer for virtual base class 'osg::Object'
3 years ago
glassmancody.info b09411d396 allow soft particles on meshes and add extra data extensions 3 years ago
Alexei Kotov e673f9fa76 Clean up NIF flags 3 years ago
Alexei Kotov dd758f8fd1 Always update the current matrix in KeyframeController 3 years ago
Alexei Kotov 21f6e2e419 Encapsulate NIF transformations, round 2 (task #6709) 3 years ago
cody glassman 72fdf40e06 better support for particle arrays when spawning at node positions 3 years ago
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.
3 years ago
psi29a 1ac7eaa6b0 Merge branch 'NiFltAnimationNode' into 'master'
Add NiFltAnimationNode support

Closes #6684

See merge request OpenMW/openmw!1732
3 years ago
Wolfgang Lieff 373776170d refactor for NiFltAnimationNode 3 years ago
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 3 years ago
Bret Curtis 0db5415976 refactor to use mInternal, support Flag_Reverse and updated changelog/authors.md 3 years ago
Wolfgang Lieff ead73fce31 initial NiFltAnimationNode support 3 years ago
Alexei Dobrohotov eafa66ff40 Don't consider NiCollisionSwitch unoptimizeable 3 years ago
Alexei Dobrohotov c28f997c87 Make NiPlanarCollider finite-size 3 years ago
psi29a 1542a0392c Merge branch 'gloss' into 'master'
Gloss-mapping

Closes #6541

See merge request OpenMW/openmw!1552
3 years ago
Alexei Dobrohotov 54df5031b7 Add XYZ rotation axis order support 3 years ago
Alexei Dobrohotov dd473d06df Implement gloss-mapping (feature #6541) 3 years ago