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