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

7846 commits

Author SHA1 Message Date
Alexei Kotov
1da9038b35 Updates to resource path handling
- Remove consecutive slashes
- Only use backslashes
- Try to find the top level directory in the path before prepending it
2023-10-04 15:54:28 +03:00
Alexei Kotov
284129b9ec Support Fallout 4 skinning
Convert the skinning data into NiSkinData-compatible format
2023-10-04 15:54:28 +03:00
Alexei Kotov
b9d42946be Fix SSE mesh loading 2023-10-04 15:54:28 +03:00
Alexei Kotov
b4f81fb4fa Fix formatting 2023-10-04 15:54:28 +03:00
Alexei Kotov
0497fd111f Handle BSTriShape basic geometry 2023-10-04 15:54:28 +03:00
Alexei Kotov
af24d3fd3c Nth revision of NifLoader geometry handling
Handle BSSegmentedTriShape
2023-10-04 15:54:28 +03:00
Alexei Kotov
8fb900da85 Remove GeometryInterface
Actually, it was a terrible idea
2023-10-04 15:54:28 +03:00
Alexei Kotov
291d0de79e Read more FO4 extra data records 2023-10-04 15:54:28 +03:00
Alexei Kotov
94b286a088 Read NiLightRadiusController 2023-10-04 15:54:28 +03:00
Alexei Kotov
6c2a79184d Read FO4 skinning data 2023-10-04 15:54:28 +03:00
AnyOldName3
15e6ababf1 Merge branch 'soft_particles' into 'master'
Apply soft effect to nifs marked with soft effect flag (originally developed by Cody Glassman)

See merge request OpenMW/openmw!3447
2023-10-02 21:38:14 +00:00
Alexei Kotov
b6d2fa5f9d Merge branch 'initially_disabled' into 'master'
Take into account "Enable Parent" subrecord and disable ESM4 objects that should be initially disabled

See merge request OpenMW/openmw!3461
2023-10-02 18:28:29 +00:00
elsid
b3c8a15af1
Parse navmesh render mode on reading settings 2023-10-01 11:09:59 +02:00
psi29a
df1063be5d Merge branch 'thedichotomyof4' into 'master'
ESM4 upd8s: Fours and Worlds

Closes #7445

See merge request OpenMW/openmw!3454
2023-09-29 08:16:30 +00:00
Petr Mikheev
02de5e82d8 Take into account "Enable Parent" subrecord and disable ESM4 objects that should be initially disabled. 2023-09-28 23:09:09 +02:00
Petr Mikheev
a401461a64 Update addedState in shadervisitor.cpp 2023-09-27 21:19:59 +02:00
elsid
1d94527a19
Avoid using settings in components to get actor model
Settings::Values are initialized only for engine. Accessing them from other
binaries leads to a crash.
2023-09-27 21:00:46 +02:00
Petr Mikheev
63d5bd6f8a Apply soft effect to nifs marked with soft effect flag (developed by Cody Glassman) 2023-09-27 20:41:52 +02:00
Alexei Kotov
8d655054f1 esmtool: Print human-readable ESM4 file format version 2023-09-25 21:40:14 +03:00
Alexei Kotov
9f8f2dd925 Use parent worldspace terrain when requested 2023-09-25 21:40:14 +03:00
Alexei Kotov
8c27dca1df ESM4: add a way to get the current form version
Differentiate between Fallout 4 and TES4 version 1.0 plugins
2023-09-25 21:26:51 +03:00
Alexei Kotov
052fb416c6 Read BSSegmentedTriShape 2023-09-25 14:48:40 +03:00
Alexei Kotov
67e24a0ffe Read all Bethesda Havok Action records 2023-09-25 14:45:40 +03:00
Alexei Kotov
a18601d6e0 Finish bhkPhantom hierarchy, read bhkAabbPhantom 2023-09-25 14:21:15 +03:00
Alexei Kotov
e22654baa7 Read bhkMeshShape 2023-09-25 14:00:44 +03:00
Alexei Kotov
01cd7e715b Fix formatting 2023-09-24 20:22:09 +03:00
Alexei Kotov
6b28f07537 Read bhkPlaneShape and bhkMultiSphereShape 2023-09-24 20:22:09 +03:00
Alexei Kotov
7c11d9acbc Read NiMeshPSysData and related modifiers 2023-09-24 20:22:09 +03:00
Alexei Kotov
285eafbf66 Read bhkBallSocketConstraintChain and BSProceduralLightingController 2023-09-24 20:22:07 +03:00
Alexei Kotov
02c895c107 Read all remaining Havok constraint records 2023-09-24 20:21:30 +03:00
Alexei Kotov
3296dadf60 Read BSPSysMultiTargetEmitterCtlr and bone LOD controllers 2023-09-24 20:21:30 +03:00
Alexei Kotov
d048746146 Read BSMasterParticleSystem, BSParentVelocityModifier, NiLookAtInterpolator 2023-09-24 20:21:30 +03:00
psi29a
8df8135f1d Merge branch 'youhavemyoarcitizen' into 'master'
Fix bhkConvexSweepShape loading

See merge request OpenMW/openmw!3444
2023-09-24 17:11:58 +00:00
Alexei Kotov
7e360df6c0 Place ESM4::Flora instances to the scene 2023-09-24 10:25:44 +03:00
Alexei Kotov
47a1403717 Fix bhkConvexSweepShape loading 2023-09-23 21:16:04 +03:00
Alexei Kotov
470852f88e Cleanup 2023-09-22 21:59:24 +03:00
Alexei Kotov
a416d18adf Read NiPSysColorModifier, NiPSysGrowFadeModifier, BSPSysArrayEmitter 2023-09-22 15:10:49 +03:00
Alexei Kotov
655dcef34c Fix >1 particle radii loading 2023-09-22 11:12:35 +03:00
Alexei Kotov
0ad3463d36 Read BSWindModifier and NiPSysBombModifier 2023-09-22 05:28:18 +03:00
Alexei Kotov
5de3bdd2bc Read Gamebryo particle colliders and a few more modifiers 2023-09-22 05:15:01 +03:00
Alexei Kotov
120223d8df Read even more Gamebryo/Bethesda particle records 2023-09-22 04:42:46 +03:00
Alexei Kotov
8594875ccb Read a few more Gamebryo/Bethesda modifiers 2023-09-22 04:11:32 +03:00
Alexei Kotov
c6d0df432f Read a few Gamebryo particle emitters, NiPSysResetOnLoopCtlr, NiPSysPositionModifier 2023-09-22 03:50:16 +03:00
Alexei Kotov
717b93d61e Read BSPSysLODModifier 2023-09-22 03:15:29 +03:00
Alexei Kotov
b45923ac39 Read NiPSysSpawnModifier, NiPSysAgeDeathModifier 2023-09-22 02:54:03 +03:00
Alexei Kotov
eaa82ba5c6 Read BSStripPSysData 2023-09-22 02:40:12 +03:00
Alexei Kotov
a8946e06f6 Read NiParticleSystem and its twins
Looks like NiPSysData is loading correctly
2023-09-22 02:12:18 +03:00
Alexei Kotov
c800152ca2 Diminish error marker prominence
Don't render ESM4 actors or SpeedTree objects
2023-09-22 01:01:19 +03:00
Alexei Kotov
f507e17807 Read BSWaterShaderProperty and BSSkyShaderProperty 2023-09-22 00:36:41 +03:00
Alexei Kotov
6204a83a2b Read bhkBallAndSocketConstraint and bhkStiffSpringConstraint 2023-09-21 23:07:56 +03:00
Alexei Kotov
e2efc9dd2f Read NiLightColorController and NiPathInterpolator 2023-09-21 16:06:31 +03:00
Alexei Kotov
2d9c700530 Read BSDebrisNode 2023-09-21 16:06:31 +03:00
Alexei Kotov
812b0cf246 Read NiFloatExtraDataController records 2023-09-21 16:06:31 +03:00
Alexei Kotov
c34faaf336 Read NiPSysUpdateCtlr 2023-09-21 16:06:31 +03:00
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
psi29a
3ae189dda1 Merge branch 'nifcouriersix' into 'master'
Modernize NIF loader, part 6

See merge request OpenMW/openmw!3435
2023-09-19 08:37:23 +00:00
Alexei Kotov
82eed09604 Further adjust FO3+ shader properties based on nifly definitions 2023-09-19 00:12:05 +03:00
psi29a
eb688b603d Merge branch 'refnum_ref' into 'master'
Replace `const ESM::RefNum&` -> `ESM::RefNum`

See merge request OpenMW/openmw!3432
2023-09-18 08:35:45 +00: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
defe5ba5e7 Remove last remnants of deprecated NIFStream methods 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
18e4af04b3 Rewrite BSVertexData loading and read FO4 geometry properly 2023-09-17 20:15:30 +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
eb8242946a Improve node record consistency with NifTools 2023-09-16 19:17:40 +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
deb051639e Refactor NiBoundingVolume 2023-09-15 21:11:12 +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
Petr Mikheev
c67b866a11 Replace const ESM::RefNum& -> ESM::RefNum 2023-09-15 19:38:09 +02:00
psi29a
12159d95f3 Merge branch 'music' into 'master'
Rework music system

See merge request OpenMW/openmw!3372
2023-09-15 07:11:31 +00:00
psi29a
59f8034442 Merge branch 'sizedreads' into 'master'
Replace more sized reads

See merge request OpenMW/openmw!3425
2023-09-15 07:03:18 +00:00
Alexei Kotov
2f8229a54d Fix bit shift 2023-09-14 07:01:12 +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
d55ba0cfa2 Cleanup 2023-09-14 03:12:10 +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
b0dfd74562 NIFStream: remove getBoolean, getString 2023-09-14 01:54:27 +03:00
Alexei Kotov
05d8975ed1 Revise various NIF controller records
Mostly those that don't require external changes
2023-09-14 01:44:41 +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
735a948452 Refactor NiMultiTargetTransformController 2023-09-13 23:43:24 +03:00
Alexei Kotov
208bfa9e21 Refactor NiMaterialColorController 2023-09-13 23:37:28 +03:00
Alexei Kotov
a224bea6d4 Rewrite NiBlendInterpolator+friends loading 2023-09-13 23:15:14 +03:00
Evil Eye
b59739a529 Replace more sized reads 2023-09-13 21:51:42 +02:00
Alexei Kotov
956ede52fb NIFStream: remove getShort, getMatrix3, getQuaternion 2023-09-13 21:56:02 +03:00
Andrei Kortunov
e1cae5a029 Rework music system 2023-09-13 09:11:07 +04:00
psi29a
090da90302 Merge branch 'factions' into 'master'
Implement Lua API for factions

See merge request OpenMW/openmw!3405
2023-09-12 19:41:54 +00:00
psi29a
42b77342c5 Merge branch 'nif' into 'master'
Modernize NIF loader, part 3

See merge request OpenMW/openmw!3418
2023-09-12 08:34:46 +00:00
Andrei Kortunov
6ee86dea82 Implement Lua API for factions (feature 7468) 2023-09-12 09:49:03 +04:00
psi29a
39a209cb78
Merge branch 'settings_values_models' into 'master'
Use settings values for Models settings (#6876)

See merge request OpenMW/openmw!3413
2023-09-11 06:55:17 +00:00
psi29a
76b0aaa110
Merge branch 'mistify' into 'master'
Fix NiRotatingParticlesData loading in Mistify

See merge request OpenMW/openmw!3417
2023-09-11 06:51:24 +00:00
Alexei Kotov
9b801b0876 Fix NiParticlesData loading in Mistify 2023-09-10 19:38:05 +03:00
Alexei Kotov
4dd2f34e30 Fix Windows build 2023-09-10 09:20:06 +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
878d4ddaa7 Update record pointer loading 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
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
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
elsid
053a3caf7b
Pass cache expiry delay to GenericResourceManager constructor 2023-09-09 19:35:20 +02:00
elsid
ad509bb954
Use settings values for Models settings 2023-09-09 13:12:08 +02:00
psi29a
61937e19a9
Merge branch 'fixstringformat' into 'master'
Fix string format

See merge request OpenMW/openmw!3408
2023-09-09 08:06:38 +00:00
Alexei Kotov
b9f552b7f4 Preallocate lines in NiLinesData 2023-09-08 15:58:26 +03:00
Kindi
c77b88cd38 fix string format 2023-09-08 10:39:28 +08:00
Alexei Kotov
145ce8f924 Deduplicate some version checks, avoid resizing twice 2023-09-06 23:55:37 +03:00
Alexei Kotov
b7c69d109f Use Fallout 3 stream version constant in NiParticlesData 2023-09-06 23:55:37 +03:00
Alexei Kotov
bf64ad6470 Further cleanup 2023-09-06 23:55:37 +03:00
Alexei Kotov
5b8f574be3 Update keygroup/morph loading 2023-09-06 23:55:36 +03:00
Alexei Kotov
efe1c66536 Further cleanup in NiGeometryData, update NiParticlesData to 20.2.0.7 2023-09-06 23:55:36 +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
50a5d53b41 Modernize NiKeyframeData 2023-09-06 23:55:36 +03:00
Alexei Kotov
cfd37dbcc6 Modernize NiTriShapeData 2023-09-06 23:55:36 +03:00
Alexei Kotov
56ee2588a5 Fix NiSourceTexture loading for internal textures 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
psi29a
690a237896
Merge branch 'init_field' into 'master'
Init structs to make sure that we do not store a random data

See merge request OpenMW/openmw!3400
2023-09-05 07:33:39 +00:00
psi29a
08b9da0023
Merge branch 'static_copy' into 'master'
Do not copy a static string

See merge request OpenMW/openmw!3399
2023-09-05 07:33:09 +00:00
psi29a
58a3fcb972
Merge branch 'var_copy' into 'master'
Do not copy vector

See merge request OpenMW/openmw!3401
2023-09-05 07:32:57 +00:00
Andrei Kortunov
a849a053be Do not copy vector 2023-09-04 16:50:45 +04:00
psi29a
1a4b29f014
Merge branch 'fix_terrain_cache' into 'master'
Terrain cache fixes and optimizations

Closes #7557

See merge request OpenMW/openmw!3388
2023-09-04 09:39:46 +00:00
Andrei Kortunov
5d51f3ea26 Init structs to make sure that we do not store a random data 2023-09-04 12:19:56 +04:00
Andrei Kortunov
fae9ced5f9 Do not copy a static string 2023-09-04 10:24:34 +04:00
psi29a
0b74146b05
Merge branch 'luautflib' into 'master'
Lua utf-8 support

Closes #6505

See merge request OpenMW/openmw!3327
2023-09-03 17:05:27 +00:00
Kindi
7eb456a169 refactoring for readability 2023-09-03 19:20:59 +08:00
psi29a
ccc465db27
Merge branch 'nif' into 'master'
Modernize NIF loader, part 1

See merge request OpenMW/openmw!3394
2023-09-03 10:34:46 +00:00
Kindi
8798217b51 remove const keyword from all string_view 2023-09-02 12:21:07 +08:00
Kindi
db287b2bc6 dont use pass by const reference for small types in func arguments 2023-09-01 19:35:50 +08:00
Kindi
dd61caa96d using misc::stringutils::format and simplify relativeposition function 2023-09-01 19:26:18 +08:00
psi29a
3e99103beb
Merge branch 'rtd' into 'master'
Show OpenMW version and Lua API revision in documentation

Closes #6149

See merge request OpenMW/openmw!3382
2023-09-01 08:06:58 +00:00
psi29a
64bdbe339d
Merge branch 'starfieldbsa' into 'master'
Support Starfield BA2s

See merge request OpenMW/openmw!3392
2023-09-01 08:06:25 +00:00
Alexei Kotov
2edf3399e2 Modernize extra data records 2023-09-01 01:54:11 +03:00
Alexei Kotov
8a7e8a89ac Modernize Bethesda Havok 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
Petr Mikheev
d39552962f Validate version of resources 2023-08-31 20:56:02 +02:00
Petr Mikheev
f260fa006e Show OpenMW version and Lua API revision in documentation. 2023-08-31 20:56:02 +02: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
2cd17830d3
Merge branch 'nifreorg' into 'master'
Reorganize NIF record lists

See merge request OpenMW/openmw!3390
2023-08-31 14:18:26 +00:00
Alexei Kotov
b2bb19ae4d Support Starfield BA2s 2023-08-30 21:57:30 +03:00
Alexei Kotov
f8b2967dab Alphabetize NIF record type list 2023-08-30 19:20:26 +03:00
Alexei Kotov
4140f9da3c Reorganize the list of recognized NIF records 2023-08-30 19:20:26 +03:00
Alexei Kotov
4d717ade6c Allow BSA string tables to contain padding 2023-08-30 17:39:20 +03:00
Kindi
af58b531da change function names and add documentation in overview.rst 2023-08-30 02:33:27 +08:00
elsid
915a8df942
Use struct for GenericObjectCache items 2023-08-29 20:25:21 +02:00
elsid
5f4bd498cf
Move cached value into container to be removed 2023-08-29 20:25:21 +02:00
elsid
d3dca99a76
Preload terrain in single pass
Otherwise there is lodFlags mismatch because some of the neighbours are removed
during preloading. This makes rendering culling create land chunk nodes again
for the same position, lod because lodFlags are different.
2023-08-29 20:25:21 +02:00
elsid
52ab47771c
Initialize expiry delay for all GenericResourceManager instances 2023-08-29 20:25:21 +02:00
elsid
6d120f92e0
Lookup for terrain template using std::map::lower_bound instead of linear search 2023-08-29 20:25:20 +02:00
elsid
b6a3d3c906
Make BaseResourceManager abstract 2023-08-29 20:25:20 +02:00
elsid
3202900fd3
Make GenericResourceManager::setExpiryDelay final 2023-08-29 20:25:20 +02:00
psi29a
15a24a5af6 Merge branch 'formid' into 'master'
Change FormId::toString to be consistent with RefId. Remove FormIdRefId.

See merge request OpenMW/openmw!3378
2023-08-28 11:32:04 +00:00
psi29a
07edabdc75 Merge branch 'optimize_get_land' into 'master'
Optimize Storage::getLand calls

See merge request OpenMW/openmw!3379
2023-08-28 07:01:46 +00:00
Kindi
532230254b add documentation 2023-08-28 02:37:52 +08:00
Kindi
92842cedf5 len,codepoint,offset 2023-08-27 16:12:52 +08:00
Petr Mikheev
32f3a16db3 Change FormId::toString to be consistent with RefId. Remove FormIdRefId. 2023-08-27 09:55:06 +02:00
elsid
816d3772b9
Cache absent land object
This allows to save on lookup in store.
2023-08-27 01:32:36 +02:00
elsid
eba553821b
Use std::vector for LandCache implementation 2023-08-27 01:32:36 +02:00
Evil Eye
10f1e9a4e0 Load the lowest faction reaction for every faction 2023-08-25 16:57:27 +02:00
psi29a
5b3e2fbf1c Merge branch 'clickbait' into 'master'
Assign StringRefIds to attributes

See merge request OpenMW/openmw!3256
2023-08-21 18:59:44 +00:00
psi29a
86f15fa194 Merge branch 'ui' into 'master'
Control GUI from Lua

See merge request OpenMW/openmw!3236
2023-08-21 11:32:24 +00:00
psi29a
7233277d27 Merge branch 'compressedbsagozoomzoom' into 'master'
Rewrite compressed BSA loading

See merge request OpenMW/openmw!3361
2023-08-21 09:29:28 +00:00
psi29a
1c2f92cac9 Merge branch 'use_command_keys' into 'master'
Remove special handling for Mac command key, since MyGUI now switches automatically

See merge request OpenMW/openmw!3363
2023-08-21 09:27:42 +00:00
Zackhasacat
349bad4f98 Remove special handling for Mac command key, since MyGUI now switches automatically 2023-08-21 09:27:42 +00:00
psi29a
cf950c2e4a Merge branch 'sizeable' into 'master'
Replace more explicitly sized reads and variable width integers

See merge request OpenMW/openmw!3364
2023-08-21 09:27:32 +00:00
psi29a
42469c4b54 Merge branch 'crash_temporary_ui_element' into 'master'
Fix crash #7469

See merge request OpenMW/openmw!3367
2023-08-21 09:25:30 +00:00
Petr Mikheev
87eacf774a Control GUI modes from Lua 2023-08-20 17:49:56 +02:00
Petr Mikheev
f86a45d60a [Lua] add __len metafunction for readonly objects 2023-08-20 17:49:56 +02:00
uramer
e1cbeb0d3b Don't free ui element's shared_ptr right before destroying it 2023-08-20 16:02:38 +02:00
psi29a
c5789b5543 Merge branch 'Fix-BA2GNRLFile-GetFile' into 'master'
Fix BA2 general reading file

See merge request OpenMW/openmw!3365
2023-08-20 11:52:41 +00:00
psi29a
ab798be320 Merge branch 'fix_scrollbars' into 'master'
Do not use deprecated MyGUI properties

Closes #5896

See merge request OpenMW/openmw!3320
2023-08-20 11:04:23 +00:00
Alexei Kotov
ab4ed390fc Rewrite compressed BSA loading 2023-08-20 13:19:32 +03:00
Evil Eye
62f47acf6b Replace more explicitly sized reads and variable width integers 2023-08-20 11:34:05 +02:00
Evil Eye
e660a9ca16 Assign StringRefIds to attributes 2023-08-20 10:28:46 +02:00
psi29a
11ae1a1fcb Merge branch 'nifstreamingservice' into 'master'
NIFStream rewrite/refactoring/rewhatever

See merge request OpenMW/openmw!3281
2023-08-19 22:17:25 +00:00
elsid
bda29819cf
Reduce include dependency for land records 2023-08-19 01:30:17 +02:00
elsid
53c3f95ac8
Avoid redundant copy for LandData underlying data 2023-08-19 01:30:17 +02:00
elsid
955790dc31
Split ESM::Land::loadData 2023-08-19 01:30:17 +02:00
elsid
a027cd898b
Use only cell position to detect cell change 2023-08-19 01:30:17 +02:00
elsid
28614730da
Pass land reference to LandObject constructor 2023-08-19 01:30:17 +02:00
elsid
e6f35373b5
Remove ESM::LandObject dependency on ESM::Land 2023-08-19 01:30:16 +02:00
elsid
8a88a2d61f
Make ESM::LandData::mLoadFlags private 2023-08-19 01:30:16 +02:00
elsid
a17cb0ff0e
Remove unused ESM4::Land fields 2023-08-19 01:30:16 +02:00
elsid
401e748aa0
Avoid redundant casts and use static_cast 2023-08-19 01:30:16 +02:00
elsid
9aa9ce48c9
Use proper naming style for ESM4::Land static variables 2023-08-19 01:30:16 +02:00
elsid
e4e857f51f
Remove redundant ESM4::Land default constructor 2023-08-19 01:30:16 +02:00
elsid
bd426bac5c
Use static_cast 2023-08-19 01:30:16 +02:00
elsid
6f3b7072ac
Change mWnam type to std::array 2023-08-19 01:30:16 +02:00
elsid
0cb37742cb
Replace Land::swap by move assignment 2023-08-19 01:30:15 +02:00
elsid
c88e9dee27
Use unique_ptr to store LandData in ESM::Land 2023-08-19 01:30:15 +02:00
elsid
d0f8ab5767
Move getLandData definitions to class definition 2023-08-19 01:30:15 +02:00
elsid
07599d0bb0
Move condLoad to unnamed namespace 2023-08-19 01:30:13 +02:00
Cédric Mocquillon
3b1d6a7e62 Use the right size 2023-08-18 21:32:49 +02:00
elsid
dad0cb3349
Move transposeTextureData to unnamed namespace 2023-08-18 18:30:06 +02:00
elsid
a2f2b1a3d1
Remove redundant ESM::Land and LandData default constructors 2023-08-18 18:30:06 +02:00
elsid
95a39b3281
Use sized types for land records members 2023-08-18 18:30:06 +02:00
elsid
f15ccec0d9
Remove unused ESM::Land functions 2023-08-18 18:30:05 +02:00
psi29a
16628a766f Merge branch 'fallout4' into 'master'
ESM4 Loader: initial Fallout 4 support

See merge request OpenMW/openmw!3347
2023-08-18 16:22:40 +00:00
psi29a
2b78552dac Merge branch 'themostfashionablelandintes5' into 'master'
Only use loaded data for ESM4 terrain

See merge request OpenMW/openmw!3352
2023-08-18 16:21:33 +00:00
Alexei Kotov
4b38db4a69 Only use loaded data for ESM4::Land
Prevents broken vertex colors in cells that lack vertex colors
2023-08-18 16:48:55 +03:00
elsid
db16caa963
Support yaml-cpp 0.8.0 2023-08-18 15:08:00 +02:00
Petr Mikheev
4211665ede Merge branch 'sounds' into 'master'
Lua bindings for sound functions

See merge request OpenMW/openmw!3247
2023-08-18 09:15:24 +00:00
psi29a
5389d32b5c Merge branch 'applycontentfile_coverity' into 'master'
Fix coverity warning in esm3/globalscript.cpp

See merge request OpenMW/openmw!3325
2023-08-18 08:22:26 +00:00
psi29a
adb5774aa9 Merge branch 'optimize_get_blendmaps' into 'master'
Optimize land lookup on blendmaps sampling

See merge request OpenMW/openmw!3333
2023-08-18 08:22:16 +00:00
psi29a
e21e3a0d46 Merge branch 'time' into 'master'
Pause/resume the game in Lua scripts

See merge request OpenMW/openmw!3317
2023-08-18 08:22:04 +00:00
Alexei Kotov
1bd2667c66 Rename REFR::XTEL transition interior field 2023-08-17 23:28:35 +03:00
Alexei Kotov
1a62b2e6b5 ESM4: use switch-cases when relevant 2023-08-17 22:14:40 +03:00
Alexei Kotov
42c6b3b993 Use VER_100 named constant, note precautions 2023-08-17 21:36:49 +03:00
Kindi
6d02c31720 utf8.codes 2023-08-18 00:01:11 +08:00
Alexei Kotov
4e156f2a7d NIFStream: improve handling of ranges and aligned types 2023-08-17 09:15:45 +03:00
Alexei Kotov
57144accf6 Phase out NIFStream::get[Types] 2023-08-17 09:15:45 +03:00
Alexei Kotov
e7bbfed1fd Read BSTriShape bounds into array 2023-08-17 09:15:45 +03:00
Alexei Kotov
6dca3e68a6 NIFStream: don't read vectors of zero length 2023-08-17 09:15:45 +03:00
Alexei Kotov
d078907dcb NIFStream: rewrite loading for everything
Replace overloading with read() template specializations for every type that needs specific handling
Make use of the new read() or get() in all methods
Move complex string-related methods to implementation
2023-08-17 09:15:45 +03:00
Alexei Kotov
ce13f05187 NIFStream: clean up comments 2023-08-17 09:15:45 +03:00
Alexei Kotov
e8f9a918ae NIFStream: use the right function for readArray 2023-08-17 09:15:45 +03:00
Alexei Kotov
4f549c267f NIFStream: rename input stream and file methods
To conform to modern style conventions
2023-08-17 09:15:45 +03:00
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
9da6ce23e9 Maybe load FO4 sound descriptor records 2023-08-17 05:30:39 +03:00
Alexei Kotov
da9a834ce8 Maybe load FO4 body part data records 2023-08-17 04:54:06 +03:00
Alexei Kotov
f3c1b0e7eb Load FO4 form lists 2023-08-17 04:43:47 +03:00
Alexei Kotov
9ec68e864c Load ESM4 idle animations correctly for every game 2023-08-17 04:33:01 +03:00
Alexei Kotov
07c85addb2 Cleanup 2023-08-17 02:14:22 +03:00
Alexei Kotov
f7a85be504 Maybe load FO4 armor addon records
You still can't load into the game because of some unclear localization string problem.
But if getLocalizedString doesn't throw an exception, then it'll work. Sort of.
2023-08-17 02:14:22 +03:00
Alexei Kotov
f302f06e98 Maybe load FO4 dialogue records
The entirety of Fallout4.esm can be read now (well, in esmtool, at least)
2023-08-17 02:14:22 +03:00
Alexei Kotov
b7efdc4add Use the correct filenames for FO4 string tables 2023-08-17 02:14:22 +03:00
Alexei Kotov
cb7e9f4a01 Maybe load FO4 quest records 2023-08-17 02:14:22 +03:00
Alexei Kotov
db66149891 Skip LAND::MPCD subrecord 2023-08-17 02:14:22 +03:00
Alexei Kotov
a2e185d0f9 Maybe load FO4 worldspace records 2023-08-17 02:14:22 +03:00
Alexei Kotov
47af96eb12 Generalize extended storage subrecord handling 2023-08-17 02:14:22 +03:00
Alexei Kotov
ed75c0b311 Maybe load FO4 placed grenade subrecords 2023-08-17 02:14:22 +03:00
Alexei Kotov
3b3545fa58 Fix cell grid and owner subrecord loading for FO4 2023-08-17 02:14:22 +03:00
Alexei Kotov
ae828064a4 ESM4::NAVM: fix loading of NVNM after XXXX 2023-08-17 02:14:22 +03:00
Alexei Kotov
8822df7e4a Maybe load FO4 placed NPC records 2023-08-17 02:14:22 +03:00
Alexei Kotov
0a514db0b5 Skip more FO4 navmesh data 2023-08-17 02:14:22 +03:00
Alexei Kotov
10e841b00f Fix formatting 2023-08-17 02:14:22 +03:00
Alexei Kotov
95488d6ec9 Maybe load FO4 cell references 2023-08-17 02:14:22 +03:00
Alexei Kotov
5a73b351e2 Maybe load FO4 cell records 2023-08-17 02:14:22 +03:00
Alexei Kotov
2b1ca84cb2 Skip FO4 navmesh data 2023-08-17 02:14:22 +03:00
Alexei Kotov
6c82aef29f Maybe load FO4 region records 2023-08-17 02:14:22 +03:00
Alexei Kotov
bcaa402315 Maybe load FO4 levelled item records 2023-08-17 02:14:22 +03:00
Alexei Kotov
1b29077206 Maybe load FO4 terminal records 2023-08-17 02:14:22 +03:00
Alexei Kotov
32f8d08dd3 Maybe load FO4 note records 2023-08-17 02:14:22 +03:00
Alexei Kotov
cfa19cf719 Maybe load FO4 levelled actor records 2023-08-17 02:14:22 +03:00
Alexei Kotov
4dc4add62d Maybe load FO4 NPC records 2023-08-17 02:14:22 +03:00
Alexei Kotov
e9f9da98cf Maybe load FO4 ammunition records 2023-08-17 02:14:21 +03:00
Alexei Kotov
dcb791083e Maybe load FO4 weapon records 2023-08-17 02:14:21 +03:00
Alexei Kotov
ad8d691352 Load object templates in FO4 NPC and weapon records 2023-08-17 02:14:21 +03:00
Alexei Kotov
a188a90023 Maybe load FO4 furniture records 2023-08-17 02:14:21 +03:00
Alexei Kotov
4237da5dfd Maybe load FO4 flora records 2023-08-17 02:14:21 +03:00
Alexei Kotov
a9454fdc0a Improve FO3 idle marker record loading 2023-08-17 02:14:21 +03:00
Alexei Kotov
90d4f375b8 Maybe load FO4 moveable static records 2023-08-17 02:14:21 +03:00
Alexei Kotov
4d3edec59f Maybe load FO4 static collection records 2023-08-17 02:14:21 +03:00
Alexei Kotov
a3069ea863 Maybe load FO4 misc records 2023-08-17 02:14:21 +03:00
Alexei Kotov
f2449df2f7 Maybe load FO4 light records 2023-08-17 02:14:21 +03:00
Alexei Kotov
24d7a096ba Maybe load FO4 door records 2023-08-17 02:14:21 +03:00
Alexei Kotov
2b9b05c010 Maybe load FO4 container records 2023-08-17 02:14:21 +03:00
Alexei Kotov
60813345ae ESM4: Acknowledge all model data records 2023-08-17 02:14:15 +03:00
Alexei Kotov
d9ebdc6e41 Maybe load FO4 book records 2023-08-17 02:12:32 +03:00
Alexei Kotov
aedcc28294 Maybe load FO4 armor records 2023-08-17 02:12:32 +03:00
Alexei Kotov
db6f76fea8 Skip more CIS1/CIS2 and skip all PRTN subrecords
Avoid formatting problems with newly added skipped FO4 blocks
2023-08-17 02:12:32 +03:00
Alexei Kotov
3118800dbd Skip ESM4 destructible data for all relevant records 2023-08-17 02:12:32 +03:00
Alexei Kotov
271c14030a Maybe load FO4 ingestible records 2023-08-17 02:12:32 +03:00
Alexei Kotov
0efc9865f6 Alphabetize SubRecordTypes and include all subrecords used in FO4
SUA_BTXT => SUB_BTXT
2023-08-17 02:12:32 +03:00
Alexei Kotov
d15f301193 Load FO4 activator records 2023-08-17 02:12:32 +03:00
Alexei Kotov
a2ed295f1f Update ESM4 LTEX loading
Load grasses into a list
Fix FO4 loading
Load Havok parameters for FNV
2023-08-17 02:12:32 +03:00
Alexei Kotov
d74df61ce5 Load FO4 acoustic space records 2023-08-17 02:12:32 +03:00
Alexei Kotov
5bce6d8d44 Maybe load some FO4 static records 2023-08-17 02:12:32 +03:00
Alexei Kotov
1a7d68cd33 Skip FO4 SOUN::REPT 2023-08-17 02:12:32 +03:00
Alexei Kotov
c706a46dc4 ESM4::RACE: fix loading more than 5 head parts in FO4 2023-08-17 02:12:31 +03:00
Alexei Kotov
426eae3843 ESM4::RACE: don't use current index if it's unset
To be safer. Doesn't help with FO4 segfaults though
2023-08-17 02:12:31 +03:00
Alexei Kotov
4605894a5a Updating RACE for FO4, first pass 2023-08-17 02:12:31 +03:00
Alexei Kotov
0c05bbea37 Skip CTDA target condition subrecords 2023-08-17 02:12:31 +03:00
Alexei Kotov
22fb744751 Skip PRPS object property subrecords 2023-08-17 02:12:31 +03:00
Alexei Kotov
84d693324b ESM4: read texture set material 2023-08-17 02:12:31 +03:00
Alexei Kotov
e426dd045f Read string GMSTs correctly in >=TES5 2023-08-17 02:12:31 +03:00
Alexei Kotov
0e94ff4a73 Support unsigned int GMSTs 2023-08-17 02:12:31 +03:00
Alexei Kotov
891be9744d Skip TES4::TNAM 2023-08-17 02:12:31 +03:00
psi29a
c9f03b4174 Merge branch 'sizeup' into 'master'
Replace more sized reads

See merge request OpenMW/openmw!3322
2023-08-15 06:28:59 +00:00
Andrei Kortunov
7ce9fc25c5 Implement Lua bindings for sound system 2023-08-15 10:28:29 +04:00
Zackhasacat
3e8a1cce7c Load ESM4 Terminal objects, add lua bindings for them 2023-08-15 06:23:38 +00:00
jvoisin
4cf80cdac2 Merge branch 'fix_esm4_ai' into 'master'
Fix AI in ESM4 cells

See merge request OpenMW/openmw!3338
2023-08-14 22:00:24 +00:00
Kindi
d9c102e14d utf8.char 2023-08-13 23:37:31 +08:00
elsid
5abbc56bf2
Use proper cell size for ESM4 cells in CoordinateConverter 2023-08-13 02:24:22 +02: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
Petr Mikheev
f5ddffa087 Fix coverity warning in esm3/globalscript.cpp 2023-08-12 12:35:08 +02:00
elsid
07c1177b0d
Optimize land lookup on blendmaps sampling
Minimize number of getLand calls by grouping samples per cell.
2023-08-12 02:57:16 +02:00
elsid
ce6ffba986
Move blendmap sampling logic into separate function 2023-08-12 02:45:09 +02:00
Kindi
8622a6da3b luautf8lib 2023-08-10 18:50:22 +08:00
Alexei Dobrohotov
de50f30645 Read a couple of Bethesda-specific controller records
BSMaterialEmittanceMultController
BSRefractionFirePeriodController
BSRefractionStrengthController
2023-08-10 01:59:10 +03:00
Petr Mikheev
87912065fd Rename MWLua::WorldView -> MWLua::ObjectLists 2023-08-08 22:57:28 +02:00
Evil Eye
9e376f3783 Replace explicitly sized reads in cellid, cellref 2023-08-08 21:41:44 +02:00
Evil Eye
48484c9416 Replace explicitly sized reads in aisequence 2023-08-08 21:06:49 +02:00
psi29a
3151452e25 Merge branch 'pandorasbox' into 'master'
Launcher, content selector: support ESM4 files, allow using game files as addon files

See merge request OpenMW/openmw!3219
2023-08-08 08:54:10 +00:00
psi29a
7b4f7b7f07 Merge branch 'adjust_refnum' into 'master'
Adjust FormId in FormIdRefId and for items in containers when loading saves

See merge request OpenMW/openmw!3293
2023-08-08 08:54:00 +00:00
Andrei Kortunov
5cfd21e9ab Do not place deprecated MyGUI property dynamically 2023-08-08 09:48:40 +04:00
Andrei Kortunov
f3cf61627c Do not use deprecated MyGUI features for list boxes 2023-08-08 09:30:13 +04:00
elsid
8e7fe44514
Support terrain sample size greater than cell size 2023-08-06 23:47:35 +02:00
elsid
2a49919b53
Move esm3terrain to esmterrain 2023-08-06 19:17:44 +02:00
elsid
28436557b1
Validate fillVertexBuffers arguments 2023-08-06 19:17:44 +02:00
elsid
fbd3d1f61d
Rename increment to sampleSize 2023-08-06 19:17:44 +02:00
elsid
0da156bdc2
Skip getLand call when no vertices are used 2023-08-06 19:17:44 +02:00
elsid
5fda4b3cfd
Precompute height cooridnates offsets 2023-08-06 19:17:43 +02:00
elsid
2c2a60b86c
Simplify filling positions 2023-08-06 19:17:43 +02:00
elsid
4a2a320e08
Use const where possible 2023-08-06 19:17:43 +02:00
elsid
d3e61e4578
Replace C-style cast by static_cast 2023-08-06 19:17:43 +02:00
elsid
e4584ce5dd
Reduce scope for normal and color 2023-08-06 19:17:43 +02:00
elsid
829f325500
Use proper name and scope for vertex coordinate variables 2023-08-06 19:17:43 +02:00
elsid
a23c98d468
Use std::size_t type for vertex coordinates 2023-08-06 19:17:43 +02:00
elsid
51b24c2b70
Fix variable name 2023-08-06 19:17:43 +02:00
elsid
c10f28a413
Pass references to fillVertexBuffers instead of osg::ref_ptr 2023-08-06 19:17:43 +02:00
psi29a
fadfffe22c Merge branch 'settings_values_map' into 'master'
Use settings values for Map settings (#6876)

See merge request OpenMW/openmw!3284
2023-08-06 16:14:09 +00:00
psi29a
ba4298f36d Merge branch 'refactor_esm4' into 'master'
Refactor components/esm4 to make it easier to load records to ESMStore

See merge request OpenMW/openmw!3301
2023-08-06 16:13:07 +00:00
psi29a
8d1a19a6f4 [#7358] Make MyGui 3.4.2 required for 0.49 2023-08-06 16:05:59 +00:00
Petr Mikheev
957880d515 Add to ESMStore the records that are needed to render ESM4 actors; cleanup usage of records.hpp 2023-08-05 13:18:09 +02:00
Petr Mikheev
5d54ca6fdb Refactor components/esm4 2023-08-05 13:12:24 +02:00
psi29a
ed81baf864 Merge branch 'chrono_fix' into 'master'
Simplify file_time_type to time_t conversion

See merge request OpenMW/openmw!3161
2023-08-03 21:47:40 +00:00
psi29a
c290754077 Revert "Merge branch 'loadSSEAlchemyTable' into 'master'"
This reverts merge request !3267
2023-08-03 19:55:06 +00:00
psi29a
9c2a2e1946 Merge branch 'nvpp_fixes' into 'master'
Improve safety of NVPP ESM records

See merge request OpenMW/openmw!3307
2023-08-03 07:15:43 +00:00
psi29a
4aaffa72e5 Merge branch 'more_coverity_fixes' into 'master'
More coverity fixes

See merge request OpenMW/openmw!3304
2023-08-03 07:15:34 +00:00
psi29a
4557d20f0b Merge branch 'coverity_strings' into 'master'
Simplify strings construction

See merge request OpenMW/openmw!3310
2023-08-03 07:15:06 +00:00
Andrei Kortunov
f5b18d2d5d Do not copy objects twice where possible 2023-08-02 20:03:48 +04:00
Andrei Kortunov
b3a981e0fc Simplify strings construction 2023-08-02 17:59:40 +04:00
psi29a
5160fbc2a0 Merge branch 'fixedtimestamp' into 'master'
Move TimeStamp to ESM3 and remove sized reads

See merge request OpenMW/openmw!3295
2023-08-02 08:11:33 +00:00
psi29a
c86eecb2ea Merge branch 'movable_objects' into 'master'
Move objects instead of copying where possible

See merge request OpenMW/openmw!3289
2023-08-01 10:43:44 +00:00
psi29a
6ff2bb8aeb Merge branch 'more_esm4_fields' into 'master'
Support ESM4 record FullName, CellFlags, X, Y fields by esmtool

See merge request OpenMW/openmw!3299
2023-08-01 07:25:34 +00:00
psi29a
23671ced33 Merge branch 'fix_use_after_move' into 'master'
Fix use after move in InfoOrder::insertInfo

See merge request OpenMW/openmw!3296
2023-08-01 07:25:17 +00:00
Andrei Kortunov
4e531524be Improve safety of NVPP ESM records 2023-08-01 10:39:34 +04:00
Andrei Kortunov
35561450f1 Do not copy osg::ref_ptr when possible 2023-07-31 20:43:46 +04:00
Andrei Kortunov
d3d7a663c6 Move some objects instead of copying 2023-07-31 20:43:46 +04:00
Andrei Kortunov
fe10799bfe Add an assert for possible null pointer dereference 2023-07-31 17:53:58 +04:00
Andrei Kortunov
b1c8a968ae Do not use invalid iterators 2023-07-31 17:53:33 +04:00
Andrei Kortunov
34ba2068b7 Remove dead code 2023-07-31 16:35:31 +04:00
Andrei Kortunov
1ae2a994f0 Avoid null pointer dereference 2023-07-31 16:35:29 +04:00
psi29a
b2f669ca48 Merge branch 'fix_async_load' into 'master'
Fix crash related to async content loading (#7508)

Closes #7508

See merge request OpenMW/openmw!3290
2023-07-31 10:49:33 +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
798f3cc385
Support ESM4 record FullName, CellFlags, X, Y fields by esmtool 2023-07-30 18:20:10 +02:00
elsid
fd01b4cad7
Avoid casts to read cell flags 2023-07-30 17:59:54 +02:00
elsid
66c5944ecf
Fix use after move in InfoOrder::insertInfo
When it->second.mPosition->mPrev != value.mPrev value is first moved into
*mPosition and then used to get mPrev. Since mPrev is RefId and it's copy-only
type there is no real problem but coverity complains about it.

Also enforce contract of insertInfo to support move-only types by adding a test
for a value type with deleted copy constructors.
2023-07-30 13:37:53 +02:00
Evil Eye
79b3855c5b Move TimeStamp to ESM3 and remove sized reads 2023-07-30 11:37:32 +02:00
Petr Mikheev
9a9f9d7081 Adjust FormId in FormIdRefId and for items in containers when loading saves 2023-07-30 02:01:09 +02:00
Petr Mikheev
2b601eea6d Fix crash related to async content loading (#7508) 2023-07-29 21:13:57 +02:00
elsid
dd54857610
Add missing array include 2023-07-29 00:29:03 +02:00
elsid
c9c32d9a0d
Cleanup includes 2023-07-29 00:16:43 +02:00
Andrei Kortunov
d8ec78d732 Fix some Coverity warnings 2023-07-28 20:58:18 +04:00
psi29a
81deb3796b Merge branch 'loadSSEAlchemyTable' into 'master'
Load SSE alchemy table

See merge request OpenMW/openmw!3267
2023-07-28 07:46:20 +00:00
alekulyn
d2896945e8 Load SSE alchemy table 2023-07-28 07:46:20 +00:00
psi29a
a6d6e16d48 Merge branch 'readsize' into 'master'
Disallow implicitly sized reads of ESM structs

See merge request OpenMW/openmw!3100
2023-07-28 07:01:32 +00:00
elsid
9acb93ab29
Use settings values for Map settings 2023-07-27 22:53:53 +02:00
elsid
bdb4808588
Remove unused local map hud widget size setting
Unused since d1a3cc98ff
2023-07-27 22:53:51 +02:00
psi29a
e76ce6b696 Merge branch 'fix_find_path' into 'master'
Remove stepping from findSmoothPath and other tweaks (#7241 , #7485)

Closes #7485 and #7241

See merge request OpenMW/openmw!3264
2023-07-27 09:34:50 +00:00
psi29a
3e16ef7445 Merge branch 'esm4_achr' into 'master'
Load ESM4 actors (no rendering yet)

See merge request OpenMW/openmw!3278
2023-07-27 09:34:28 +00:00
psi29a
f5677aa352 Merge branch 'settings_values_input' into 'master'
Use settings values for Input settings (#6876)

See merge request OpenMW/openmw!3265
2023-07-27 09:33:14 +00:00
psi29a
e073eab05e Merge branch 'more_evade_directions' into 'master'
Use more evade directions and filter by supporting animation (#7450)

Closes #7450

See merge request OpenMW/openmw!3210
2023-07-27 09:32:39 +00:00
Petr Mikheev
9b511fdf7a Load ESM4 actors 2023-07-26 11:47:50 +02:00
Mads Buvik Sandvei
364f2a98e9 Use refnum instead of slot for items during spellcast 2023-07-25 21:23:59 +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
a99aa38d45 Merge branch 'mnam' into 'master'
Read STAT::MNAM

See merge request OpenMW/openmw!3273
2023-07-24 11:22:40 +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
32022e9b5c Read STAT::MNAM 2023-07-24 10:36:39 +03:00
Alexei Kotov
353b06325e Fix unintended sign extension in compressed BSA hash generation
Which, however, never happens with non-ASCII characters
2023-07-24 01:18:56 +03: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
elsid
6c18723bc7
Use settings values for Input settings 2023-07-22 18:27:53 +02:00
elsid
e00eb50587
Remove stepping from findSmoothPath
This is not used anyway. There are features like smooth movement which remove
all redundant points.

Use single findStraightPath call instead of multiple.
2023-07-22 18:08:40 +02:00
elsid
767a14587c
Add more debug logging on navmesh generation 2023-07-22 18:08:36 +02:00
elsid
b4868c6094
Filter evade directions by supported animations
To avoid trying those which will not lead to any actor movement due to absent
animation.
2023-07-22 17:30:40 +02:00
elsid
9817f4ca9a
Find closest position on navmesh to start and end before poly path
Start and end might not be located on navmesh and findPath may give wrong
results.
2023-07-22 17:24:51 +02:00