1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-24 11:23:52 +00:00
Commit graph

186 commits

Author SHA1 Message Date
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
Alexei Dobrohotov
1c83e4936d Read BSShaderTextureSet and NiColorInterpolator
Accept boolean-based and 4D vector-based NiInterpolators in ValueInterpolator constructor
2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
db9c174ca8 Make NIF particle node handling more generic 2020-11-30 12:33:18 +03:00
Alexei Dobrohotov
f3f5dcb016 Read a few more NIF types
NiFloatInterpolator, NiPoint3Interpolator, NiTransformInterpolator, NiBoolInterpolator
Update a few existing controller records
Update NiSkinInstance
2020-11-10 22:37:39 +03:00
Alexei Dobrohotov
c857588ee9 Remove NIFFile settings manager dependency 2020-11-09 14:24:48 +03:00
Alexei Dobrohotov
1d07361f08 Read a few more NIF types
BSXFlags, NiTransformData, BSBound, BSFadeNode, bhkBlendController
2020-11-09 00:19:35 +03:00
Alexei Dobrohotov
a38c629425 Read NiSkinPartition 2020-11-08 13:23:18 +03:00
Alexei Dobrohotov
afea11b70a Read NiStringPalette and NiBoolData 2020-11-08 13:23:18 +03:00
Alexei Dobrohotov
7e63afdecf Allow loading arbitrary NIF files 2020-11-08 13:23:18 +03:00
Alexei Dobrohotov
4fc5e22e9e NIF fixes and cleanup
Get rid of NodeIndexHolder
Use unsigned 32-bit type for NIF record index
Fix calculation of the number of UV sets
2020-10-26 02:51:25 +03:00
Alexei Dobrohotov
df1014303d Add more generic extra data NIF types 2020-10-06 21:21:55 +03:00
Alexei Dobrohotov
0d02a3392a Clean up 2020-10-06 20:36:10 +03:00
Alexei Dobrohotov
29ccb09da5 Introduce some extended NIF definitions 2020-10-04 13:18:56 +03:00
Alexei Dobrohotov
4e22c2687f niffile.cpp cleanup 2020-10-02 21:50:54 +03:00
Capostrophic
7aca18f92b Handle NiLines (feature #5445) 2020-05-30 19:09:34 +03:00
Capostrophic
a08a9518c3 NIF version adjustments
Cut down on obscure version numbers
Call generateVersion without using a stream object
2020-05-13 01:06:38 +03:00
Andrei Kortunov
77d6fe46ca Handle NiCollisionSwitch node 2020-02-19 12:14:21 +04:00
Capostrophic
e363d5df21 Some more minor NIF support fixes 2020-02-02 17:28:46 +03:00