1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-31 06:45:35 +00:00
Commit graph

203 commits

Author SHA1 Message Date
Alexei Kotov
a90c848349 Reject files with non-zero preceding separators
This sign is typically bad news on some 10.0.1.2 files used in Oblivion.
Technically our fault, but NifTools research is incomplete, will need to check if cc9cii found anything
2023-09-21 16:06:31 +03:00
Alexei Kotov
c8307ad397 Read particle system modifier controllers 2023-09-21 16:06:31 +03:00
Alexei Kotov
dddfbf806b Move particle geometry, add NiPSysData and NiPSysEmitterCtlrData
These record types are currently unreachable, might get tweaks later
2023-09-21 13:26:01 +03:00
Alexei Kotov
73a12eb74a Read BSLagBoneController 2023-09-20 08:53:35 +03:00
Alexei Kotov
1aabc9aee5 Read bhkNPCollisionObject, bhkPhysicsSystem and bhkRagdollSystem 2023-09-20 08:27:20 +03:00
Alexei Kotov
b5f1d0a91b Fix formatting 2023-09-20 08:15:48 +03:00
Alexei Kotov
ad20384750 Read NiLightDimmerController 2023-09-20 07:14:07 +03:00
Alexei Kotov
312e32717c Read bhkConvexListShape and bhkConvexSweepShape 2023-09-20 07:14:03 +03:00
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
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
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
4140f9da3c Reorganize the list of recognized NIF records 2023-08-30 19:20:26 +03:00
Alexei Kotov
57144accf6 Phase out NIFStream::get[Types] 2023-08-17 09:15:45 +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
alekulyn
d2896945e8 Load SSE alchemy table 2023-07-28 07:46:20 +00:00
psi29a
62ef209185 Merge branch 'readingbooksbutnotquite' into 'master'
Read bhkLimitedHingeConstraint

See merge request OpenMW/openmw!3254
2023-07-22 09:46:21 +00: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
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
eb3e762c50 Read bhkHingeConstraint 2023-07-15 06:47:28 +03:00
Alexei Kotov
83be42893d Read bhkRagdollConstraint 2023-07-15 06:47:28 +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
alekulyn
74aa7b947a Load BSTriShape NIF nodes 2023-07-09 10:14:27 +00:00
alekulyn
dc860ca302 Load BSInvMarker NIF nodes 2023-06-01 15:27:42 -05: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
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
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
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
091fcd837e Read all the NiBlendInterpolator record types 2023-02-09 00:06:08 +03:00
Alexei Kotov
41d6ccd3f6 Read NiDefaultAVObjectPalette 2023-02-08 15:08:52 +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
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
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
Andrei Kortunov
c36c28e8f9 Move NIF implementation to cpp files 2022-07-21 15:54:52 +04:00
elsid
94c1d0cced
Use unique_ptr to store istream 2022-04-22 18:27:17 +02:00
Wolfgang Lieff
ead73fce31 initial NiFltAnimationNode support 2022-04-07 00:09:11 +02:00
psi29a
b011809056 Merge branch 'master' into 'sort_me_baby_one_more_time'
# Conflicts:
#   components/nif/niffile.cpp
2022-02-17 09:24:50 +00:00
elsid
283b68025c
Avoid possible race condition on NIFFile::sLoadUnsupportedFiles
Its value is written from the main thread but other threads read it.
2022-02-11 21:41:08 +01:00
elsid
fbd95516f4
Repalce raw for-loops by corresponding algorithms 2022-02-11 21:41:08 +01:00
elsid
082810f924
Store record type as a part of construct function type 2022-02-11 21:41:08 +01:00
elsid
d097c16206
Use unique_ptr to manage nif record lifetime 2022-02-11 20:40:38 +01:00
glassmancody.info
712107de2d nisortadjust support 2022-02-10 11:59:49 -08:00
psi29a
6c7dc2d72f Merge branch 'assorted' into 'master'
Load NiSortAdjustNode and NiAccumulators

See merge request OpenMW/openmw!1396
2021-12-06 13:49:47 +00:00
elsid
a665a38aca
Use MurmurHash3_x64_128 for file hash 2021-11-21 17:05:59 +01:00
Alexei Dobrohotov
63ea57e9cf Load NiSortAdjustNode and NiAccumulators 2021-11-14 00:31:49 +03:00
Alexei Dobrohotov
50b90a594d Loading and basic handling of BSLightingShaderProperty 2021-11-13 22:52:45 +03:00
Alexei Dobrohotov
25f4d05c2e Load bhkRigidBody 2021-11-13 19:59:30 +03:00
Alexei Dobrohotov
c01fff280a Load bhkConvexVerticesShape, bhkBoxShape, bhkListShape 2021-11-13 19:53:03 +03:00
Alexei Dobrohotov
83aa96e38f Load a bunch of triangle strip-based Havok records 2021-11-13 19:52:08 +03:00
Alexei Dobrohotov
e7cc76bba2 Load bhkMoppBvTreeShape 2021-11-13 19:27:32 +03:00
psi29a
41bd20e358 Merge branch 'bullet_shape_hash' into 'master'
Store BulletShape source file name and content hash

See merge request OpenMW/openmw!1379
2021-11-13 13:33:22 +00:00
elsid
d7041613ef
Store BulletShape source file name and content hash 2021-11-11 00:27:18 +01:00
Alexei Dobrohotov
923756b407 Load NiControllerManager 2021-11-10 19:42:55 +03:00
Alexei Dobrohotov
41097352a8 Load BSDismemberSkinInstance 2021-11-10 19:40:02 +03:00
Alexei Dobrohotov
5571099147 Load NiCollisionObject and bhkCollisionObject 2021-11-10 19:31:28 +03:00
Alexei Dobrohotov
9500afaa5a Load BSFurnitureMarker 2021-11-10 19:21:07 +03:00
Alexei Dobrohotov
66a1adc31e Handle NiExtraData *properly* 2021-07-27 07:58:57 +03:00
Alexei Dobrohotov
d5ab6e40ab Handle NiExtraData 2021-07-26 04:46:03 +03:00
Dobrohotov Alexei
19f0b80983 Improve null root handling 2021-05-05 02:41:30 +03:00
elsid
87ada56edd Various fixes for niftest 2021-05-04 20:58:01 +00:00
Alexei Dobrohotov
2fdbe9b3f6 Handle BSShader[PP/No]LightingProperty 2021-03-22 01:55:58 +03:00
Alexei Dobrohotov
c0b9823372 Read BSShaderProperty and handle NiGeometry properties 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
42226533d8 Handle BSLODTriShape
Its levels of detail are currently not handled
2020-12-15 00:06:43 +03:00