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
elsid
3dfea1dc1b
Make OutputTransformIterator more generic
2023-07-22 17:24:51 +02:00
elsid
de3a6ca6e6
Use std::span for findPath pathBuffer
2023-07-22 17:24:51 +02:00
elsid
c334176d73
Use std::span for makeSmoothPath polygonPath
2023-07-22 17:24:51 +02:00
elsid
548c38f54d
Remove unused code
2023-07-22 17:24:50 +02:00
elsid
350027c588
Remove redundant NavMesh argument from findSmoothPath
2023-07-22 17:24:50 +02:00
elsid
fcea153947
Transform path coordinates outside findSmoothPath
2023-07-22 17:24:50 +02:00
Alexei Kotov
d6e420fb48
Handle BSShader specular flag
2023-07-22 17:28:05 +03:00
psi29a
62ef209185
Merge branch 'readingbooksbutnotquite' into 'master'
...
Read bhkLimitedHingeConstraint
See merge request OpenMW/openmw!3254
2023-07-22 09:46:21 +00:00
psi29a
686281d276
Merge branch 'helgenkeepcalm' into 'master'
...
NIF additions relevant to Helgen Keep
See merge request OpenMW/openmw!3252
2023-07-22 09:44:48 +00:00
psi29a
dc405df0a5
Merge branch 'morrowind_tests' into 'master'
...
Add Morrowind specific tests
See merge request OpenMW/openmw!2117
2023-07-22 09:32:14 +00:00
Evil Eye
6e5d84ce37
inline
2023-07-22 08:40:02 +02:00
elsid
5a0ad8cdd7
Add Morrowind specific tests
2023-07-22 01:31:55 +02:00
elsid
9bff292a29
Log path to navmesh.db
2023-07-21 23:54:49 +02:00
Evil Eye
9d4877d432
Treat std::array like regular arrays
2023-07-21 17:00:33 +02:00
psi29a
c80a8d5293
Merge branch 'amaranth' into 'master'
...
Add polygon offset to decals in Skyrim models, reducing Z-fighting
See merge request OpenMW/openmw!3237
2023-07-21 09:12:28 +00:00
psi29a
9410eed9e5
Merge branch 'bump-cmake-version' into 'master'
...
Bump required CMake version to 3.16
See merge request OpenMW/openmw!3242
2023-07-20 17:40:29 +00:00
Evil Eye
45ba05c0ed
Disallow implicitly sized reads of ESM structs
2023-07-20 19:16:53 +02:00
Alexei Kotov
6b6a3bcfca
Make decal rendering more accurate for Skyrim models, reducing Z-fighting
2023-07-20 19:28:33 +03:00
psi29a
ec9b4c4563
Merge branch 'caius4friends' into 'master'
...
Fix dialogue insertion again
See merge request OpenMW/openmw!3212
2023-07-20 15:29:57 +00:00
psi29a
03dbe1c9f3
Merge branch 'stringrefidskills' into 'master'
...
Assign StringRefIds to skills
See merge request OpenMW/openmw!3146
2023-07-20 07:15:49 +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
Alexei Kotov
c34157fc28
Fix bhkConstraintMotorCInfo loading
2023-07-20 03:14:55 +03:00
AnyOldName3
34fcfb63cf
Eliminate redundant version checks
2023-07-20 00:43:56 +01:00
psi29a
baa67893b6
Merge branch 'settings_values_gui' into 'master'
...
Use settings values for GUI settings (#6876 )
See merge request OpenMW/openmw!3238
2023-07-18 10:25:36 +00:00
psi29a
85822eca45
Merge branch 'darkmagic' into 'master'
...
Implement the NegativeLight flag
Closes #7477
See merge request OpenMW/openmw!3240
2023-07-18 10:25:19 +00:00
Alexei Kotov
727e5c5af2
Read IDLM model data
2023-07-17 22:51:25 +03:00
Alexei Kotov
1e7fef979a
Skip MISC destruction data
2023-07-17 22:51:25 +03:00
Alexei Kotov
09f6032c9b
Skip TACT::VMAD/MODS
2023-07-17 22:51:25 +03:00
Alexei Kotov
332f38b7ab
Read SCRL::YNAM/ZNAM
2023-07-17 22:51:25 +03:00
Alexei Kotov
7e1e43f9c6
Allow GMSTs with empty EDID
2023-07-17 22:51:25 +03:00
Alexei Kotov
22cc7f3020
Skip LIGH destruction data
2023-07-17 22:51:25 +03:00
Evil Eye
2a1d520c9e
Address feedback
2023-07-17 19:37:28 +02:00
Evil Eye
7573004efc
Implement the NegativeLight flag
2023-07-17 18:00:15 +02:00
elsid
d113f0fc44
Use settings values for GUI settings
2023-07-16 20:46:54 +02:00
Alexei Kotov
25f5c5651d
Sort ESM3ExteriorCellRefIds earlier than StringRefIds
...
Causes inconsistency with the serialized type enumeration, but necessary for COC to work correctly
2023-07-16 17:47:40 +03:00
psi29a
98bb9fc125
Merge branch 'deserializedeez' into 'master'
...
Make RefId::deserializeText return an empty RefId if no pre-existing StringRefId can be found
See merge request OpenMW/openmw!3226
2023-07-16 08:46:48 +00:00
psi29a
abb71eeb53
Merge branch 'plannedobsolescence' into 'master'
...
Allow compilation with MYGUI_DONT_USE_OBSOLETE
See merge request OpenMW/openmw!3232
2023-07-16 08:44:59 +00: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
Evil Eye
a0127dd7e4
Allow compilation with MYGUI_DONT_USE_OBSOLETE
2023-07-15 15:02:27 +02:00
Alexei Kotov
65fe89d8af
Read NiTextureTransformController
2023-07-15 13:33:04 +03:00
Alexei Kotov
ed8fd81714
Don't mess with A/B hardcoding in constraints
2023-07-15 06:59:22 +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
Alexei Kotov
723f5c58e1
Add bhkConstraint
2023-07-15 06:47:28 +03:00
Alexei Kotov
d8f50553af
Move Skyrim shader property controllers to controllers
2023-07-15 03:57:29 +03:00
Evil Eye
cd8f2355c0
Only allow StringRefId for Skill ids
2023-07-14 17:33:32 +02:00
psi29a
ce84fdf5f5
Merge branch 'limitedpower' into 'master'
...
Cap global map cell size (bug #6222 )
Closes #6222
See merge request OpenMW/openmw!3225
2023-07-14 08:20:51 +00:00
Evil Eye
7b909c8d24
Create getRefIds
2023-07-13 20:30:16 +02:00
Evil Eye
967b5d205b
Use StringRefId for skills
2023-07-13 18:55:22 +02:00
Evil Eye
ac9378fa08
Replace Skill::mIndex with Skill::refIdToIndex
2023-07-13 18:55:21 +02:00
Evil Eye
c59032fd66
Make RefId::deserializeText return an empty RefId if no pre-existing StringRefId can be found
2023-07-13 16:49:23 +02:00
psi29a
7952b27c26
Merge branch 'xptl' into 'master'
...
Skip REFR::XPTL
See merge request OpenMW/openmw!3224
2023-07-13 12:08:59 +00:00
Alexei Dobrohotov
39c84c84da
Cap global map cell size (bug #6222 )
2023-07-13 14:53:08 +03:00
psi29a
3a1ae9df58
Merge branch 'nsaids-for-shared-memory-structs' into 'master'
...
Share the dump directory for crash and freeze dumps
See merge request OpenMW/openmw!3221
2023-07-13 08:01:25 +00:00
psi29a
41abbae3e7
Merge branch 'sittingontheoverlap' into 'master'
...
Allow subrecords to overlap the following record (bug #6025 )
Closes #6025
See merge request OpenMW/openmw!3215
2023-07-13 08:00:01 +00:00
Alexei Dobrohotov
c6882dbc6b
Skip REFR::XPTL
...
Needed by Yukichigai Unofficial Patch
2023-07-13 10:22:25 +03:00
AnyOldName3
f239988c06
Remove unused function
2023-07-12 14:48:09 +01:00
AnyOldName3
899f0a4633
Remove redundant explicit null terminator
2023-07-12 14:46:32 +01:00
AnyOldName3
677c17530e
I don't like reformatting things over and over.
2023-07-11 22:58:44 +01:00
AnyOldName3
1bdcb5d6d9
Share the dump directory for crash and freeze dumps
...
This means the shared memory struct is just 255 bytes longer than a few
commits ago instead of 32K.
Also introduce a function for putting path strings in the shared memory
as there was too much copied and pasted code and it was error-prone.
Also free some handles once we're done with them so they don't leak.
2023-07-11 22:22:26 +01:00
Evil Eye
4eac137109
Change control flow to be easier to understand
2023-07-11 22:10:39 +02:00
Alexei Dobrohotov
5adda00f5e
Content selector: allow using non-primary game files as addon files
2023-07-11 11:07:37 +03:00
psi29a
1268dde8fe
Merge branch 'metermarker' into 'master'
...
Don't discard collision for the entire tree if BSXFlags marker flag is set
See merge request OpenMW/openmw!3216
2023-07-11 07:35:51 +00:00
Alexei Dobrohotov
d589b46f96
Launcher, content selector: support ESM4 files
...
Cell name loader ignores ESM4 files
2023-07-11 05:31:58 +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
Alexei Dobrohotov
2de8c6b3c0
Don't discard collision for the entire tree if BSXFlags marker flag is set
2023-07-10 23:37:37 +03:00
Alexei Dobrohotov
66fd1f8862
Allow subrecords to overlap the following record (bug #6025 )
2023-07-10 21:09:22 +03:00
psi29a
d9027f7eef
Merge branch 'falloutfalloffnthtimesthecharm' into 'master'
...
BSEffectShader/NoLighting fixes
See merge request OpenMW/openmw!3211
2023-07-10 07:51:53 +00:00
Evil Eye
d3c1928f01
Fix dialogue insertion again
2023-07-09 15:24:52 +02:00
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
2023-07-09 14:44:09 +03:00
psi29a
a755fa0f34
Merge branch 'cleanup_includes' into 'master'
...
Cleanup includes
See merge request OpenMW/openmw!3203
2023-07-09 10:15:09 +00:00
psi29a
81f8d16982
Merge branch 'loadBsTriShape' into 'master'
...
Load BSTriShape NIF nodes
See merge request OpenMW/openmw!3099
2023-07-09 10:14:27 +00:00
alekulyn
74aa7b947a
Load BSTriShape NIF nodes
2023-07-09 10:14:27 +00:00
psi29a
da592356f1
Merge branch 'no-crash-dump-in-temp' into 'master'
...
Don't put crash dumps in Temp on Windows
Closes #7455
See merge request OpenMW/openmw!3200
2023-07-08 12:36:44 +00:00
elsid
f6fce5ee15
Cleanup includes
2023-07-08 11:28:56 +02:00
psi29a
cab47d0a2a
Merge branch 'settings_values_general' into 'master'
...
Use settings values for General settings (#6876 )
See merge request OpenMW/openmw!3198
2023-07-07 13:07:13 +00:00
psi29a
2a534576de
Merge branch 'fix-the-comments-again' into 'master'
...
Restore and clarify comments damaged by !2971
Closes #7350 and #7349
See merge request OpenMW/openmw!2979
2023-07-07 13:05:48 +00:00
AnyOldName3
106dbba086
Restore and clarify comments damaged by !2971
2023-07-07 13:05:48 +00:00
Petr Mikheev
fb7ba40385
Merge branch 'lua-bb-once-and-for-all' into 'master'
...
Lua - Fix BB once and for all
See merge request OpenMW/openmw!3143
2023-07-05 20:21:38 +00:00
AnyOldName3
48368f79b6
Update Windows crash dump path once we know where we're logging
...
Manual rewrite of 5102f4b11d
2023-07-05 20:38:46 +01:00
AnyOldName3
72d99237e3
This would never have happened had clang format not tried making this function wrogn in the first place
2023-07-05 20:34:34 +01:00
AnyOldName3
1bcbc4f53f
Undo clang format change because clang format in CI disagrees with clang format on my computer
2023-07-05 20:29:18 +01:00
AnyOldName3
3bb3f58c73
Don't put crash dumps in Temp on Windows
...
Well... unless we fail to get the user profile directory.
Also put freeze dumps in a more appropriately-named file.
Discussed in https://gitlab.com/OpenMW/openmw/-/issues/7455
Manual rewrite of c21695c951
As well as that, I found a bug where the crash dump path was being converted from a std::filesystem::path to a utf8-encoded std::string, then passed to the crash catcher, which converted it to a std::filesystem::path implicitly, but using the system eight-bit code page, which wouldn't usually be UTF-8. That's now fixed by passing the function that expects a path a path instead of a string.
2023-07-05 20:25:22 +01:00
elsid
ebb8fdc698
Use settings values for General settings
2023-07-04 21:40:04 +02:00
glassmancody.info
a659d2eaeb
lua - fix bounding box once and for all
2023-07-04 09:55:11 -07:00
elsid
a6dbd819a1
Fix writing IndexRefId to ESM3
...
Use correct enum value.
2023-07-04 11:34:52 +02:00
psi29a
050fc20379
Merge branch 'settings_values_game' into 'master'
...
Use settings values for Game settings (#6876 )
See merge request OpenMW/openmw!3188
2023-07-03 07:20:36 +00:00
psi29a
6601b0cb15
Merge branch 'fastandloose' into 'master'
...
Drop support for --fs-strict
Closes #7394
See merge request OpenMW/openmw!3093
2023-07-02 19:24:14 +00:00
elsid
6e8dcc16c6
Use settings values for Game settings
2023-07-01 00:59:35 +02:00
elsid
86e5b94ef6
Convert setting value int to CollisionShapeType on initialization
2023-07-01 00:59:35 +02:00
psi29a
fc5d73648a
Merge branch 'schooled' into 'master'
...
Merge magic schools into skills
See merge request OpenMW/openmw!3148
2023-06-28 09:32:48 +00:00
alekulyn
683fb0a342
Templated nif reader function modelled after cc9cii's reader
2023-06-28 09:27:22 +00:00
Evil Eye
73c2387708
Merge schools into skills
2023-06-26 20:42:52 +02:00
psi29a
31efad1dd0
Merge branch 'fix_model_path' into 'master'
...
Fix #7403 : incorrect model path for records created by Lua scripts
Closes #7403
See merge request OpenMW/openmw!3151
2023-06-25 20:11:43 +00:00
psi29a
dd0d66513d
Merge branch 'clickbait' into 'master'
...
Mostly dehardcode attributes
See merge request OpenMW/openmw!3164
2023-06-25 20:11:19 +00:00
psi29a
558b3cbf60
Merge branch 'particles_fix' into 'master'
...
Create a stateset for every particle system to create its own defineMap
Closes #7304
See merge request OpenMW/openmw!3162
2023-06-21 14:35:13 +00:00
Andrei Kortunov
a08d921c4c
Create a stateset for every particle system to create its own defineMap
2023-06-21 16:13:58 +04:00
psi29a
47b1247fa2
Merge branch 'l10n' into 'master'
...
Make configurable whether GMST strings have priority over built-in interface messages
See merge request OpenMW/openmw!3134
2023-06-21 06:52:30 +00:00
psi29a
abdd4f5207
Merge branch 'lua_potion_magic' into 'master'
...
Lua: Add effects to potionRecord, ingredientRecord
See merge request OpenMW/openmw!3160
2023-06-20 10:00:06 +00:00
Zackhasacat
611a6429a9
Lua: Add effects to potionRecord, ingredientRecord
2023-06-20 10:00:05 +00:00
psi29a
68415a952e
Merge branch 'lua_quat' into 'master'
...
Breaking change in Lua API: change obj.rotation from Euler angles to Quaternion
See merge request OpenMW/openmw!3123
2023-06-20 09:59:06 +00:00
Andrei Kortunov
2ea7eb4ba8
Simplify file_time_type to time_t conversion
2023-06-19 13:21:40 +04:00
Evil Eye
bac6777fae
Reduce the number of magic numbers
2023-06-18 16:21:06 +02:00
Petr Mikheev
2f16a8d27c
Fix incorrect model part for records created by Lua scripts
2023-06-18 00:19:50 +02:00
Bret Curtis
d582a26e4c
Set the default to CLAMP_TO_EDGE in case it was not explicity called for
2023-06-16 09:16:07 +02:00
Bret Curtis
30da8a27ba
small revert, "It is copying a texture, it is not a default initialized one. The source texture may or may not want GL_CLAMP_TO_EDGE."
2023-06-16 09:16:07 +02:00
Bret Curtis
0b1a0ad1a8
only 4 deep
2023-06-16 09:16:07 +02:00
Bret Curtis
ff6944701f
Be more explicit about use of CLAMP_TO_EDGE instead of defaulting to GL CLAMP
2023-06-16 09:16:07 +02:00
elsid
04215ca9ec
Use settings values for Fog settings
2023-06-15 22:01:14 +02:00
psi29a
1630e04d1b
Merge branch 'fix_7423' into 'master'
...
Fix #7422 , #7423 , #7424
Closes #7424 , #7423 , and #7422
See merge request OpenMW/openmw!3136
2023-06-15 11:02:21 +00:00
psi29a
807893eb45
Merge branch 'clickbait' into 'master'
...
Mostly dehardcode skills
See merge request OpenMW/openmw!3112
2023-06-15 07:03:13 +00:00
Petr Mikheev
ab7eebb356
Fix #7423 (too strict fallback validation)
2023-06-14 20:04:16 +02:00
Petr Mikheev
718d5e4a71
Add setting "gmst overrides l10n"
2023-06-13 10:06:59 +02:00
Petr Mikheev
96399b3d23
Add fallbacks to Store<ESM::GameSetting>
2023-06-12 17:59:40 +02:00
Petr Mikheev
be45b8199e
Whitelist and type validation for fallbacks
2023-06-12 17:59:40 +02:00
Petr Mikheev
3b43cc2aea
Lua: change obj.rotation from Euler angles to Quaternion
2023-06-12 00:16:42 +02:00
Evil Eye
3c588900dd
Apply elsid's suggestion and revert 3a888ef543
2023-06-10 22:04:14 +02:00
elsid
180dd7dc64
Log worldspace in RecastContext
2023-06-10 13:23:47 +02:00
elsid
f9e9368fda
Add operator<< for DetourSettings
2023-06-10 13:14:52 +02:00
elsid
dd08154b23
Add operator<< for DetourNavigator::AreaCosts
2023-06-10 13:14:52 +02:00
elsid
ce5fbd6b68
Write separator between Detour status flags
2023-06-10 13:14:52 +02:00
psi29a
25a719700b
Merge branch 'esmtool_fallout_nv' into 'master'
...
Support FalloutNV.esm
See merge request OpenMW/openmw!3065
2023-06-10 08:48:54 +00:00
psi29a
ec2f0e4645
Merge branch 'fragile' into 'master'
...
More closely replicate Morrowind.exe's locks
Closes #7415
See merge request OpenMW/openmw!3116
2023-06-10 08:47:27 +00:00
elsid
11204d35d6
Use zlib directly for ESM4
...
Fallback to decompression by block of fixed size when decompressing the
whole archive fails.
2023-06-10 00:12:57 +02:00
elsid
f841a1377f
Skip ATTR subrecord in CLAS record
...
Present in FalloutNV.esm.
2023-06-09 23:44:39 +02:00
psi29a
2686e586e5
Merge branch 'dev-7019' into 'master'
...
Fix improper access of stereo manager by other shared components
See merge request OpenMW/openmw!2437
2023-06-09 21:25:21 +00:00
Evil Eye
f5a20d1e9c
Change include guard name
2023-06-08 21:10:12 +02:00
Evil Eye
e8ddccaefe
Use std::transform
2023-06-08 21:10:12 +02:00
Evil Eye
e791d2b498
Fix unit tests
2023-06-08 21:10:11 +02:00
Evil Eye
eeda48ec50
Drop support for --fs-strict
2023-06-08 21:10:09 +02:00
Evil Eye
da4e04522b
More closely replicate Morrowind.exe's locks
2023-06-08 20:10:32 +02:00
Evil Eye
65b22975c9
Remove SkillEnum
2023-06-08 18:35:50 +02:00
Evil Eye
16c0f0d5cc
Use a regular TypedDynamicStore for ESM:Skill
2023-06-08 18:35:47 +02:00
elsid
7d11a18907
Allow any integer number >= 0 for antialiasing level
...
There is wider support than just specific powers of two. The supported level
will be detected anyway.
2023-06-06 00:05:11 +02:00
psi29a
25c1e6abee
Merge branch 'clickbait' into 'master'
...
Use std::array in various ESM structs
See merge request OpenMW/openmw!3103
2023-06-05 07:19:38 +00:00
psi29a
2f5bfb4df2
Merge branch 'fix-#7410' into 'master'
...
fix #7410
Closes #7410
See merge request OpenMW/openmw!3104
2023-06-04 11:28:26 +00:00
elsid
e8ef1a2a0c
Add default initialization for ESM4::TeleportDest::flags
2023-06-04 01:50:08 +02:00
elsid
67e32abd4f
Add default initialization to ESM::Position members
2023-06-04 01:50:04 +02:00
florent.teppe
04e026c53f
getRecNameString now constexpr
...
getTypeDescription uses a static constexpr variable so we don't return ref to temp memory.
2023-06-03 20:28:25 +02:00
Evil Eye
e01a3076dd
Use std::array in NpcStats
2023-06-03 14:26:37 +02:00
Evil Eye
a5bb6c7d8d
Use std::array in NPDTstruct52
2023-06-03 13:27:45 +02:00
Evil Eye
dd83da5eba
Use std::array in FADTstruct
2023-06-03 13:11:49 +02:00
Evil Eye
7be005c9a5
Use std::array in CLDTstruct
2023-06-03 11:58:09 +02:00
Evil Eye
8a474b9807
Use std::array in RADTstruct
2023-06-03 10:45:32 +02:00
psi29a
55cd30ea3b
Merge branch 'string_ref_id_utf8' into 'master'
...
Support UTF-8 by StringRefId::toDebugString (#7407 )
Closes #7407
See merge request OpenMW/openmw!3096
2023-06-03 08:17:19 +00:00
psi29a
cc213fb437
Merge branch 'loadBsInvMarker' into 'master'
...
Load BSInvMarker NIF nodes
See merge request OpenMW/openmw!3092
2023-06-02 07:36:53 +00:00
psi29a
4335667d32
Merge branch 'esm4_cleanup' into 'master'
...
Clean up components/esm4
See merge request OpenMW/openmw!3086
2023-06-02 07:30:52 +00:00
psi29a
0bb652d7ce
Merge branch 'clickbait' into 'master'
...
Resolve Attribute GMSTs
See merge request OpenMW/openmw!3090
2023-06-02 07:30:40 +00:00
alekulyn
dc860ca302
Load BSInvMarker NIF nodes
2023-06-01 15:27:42 -05:00
elsid
78b3f7288a
Support UTF-8 by StringRefId::toDebugString
2023-06-01 22:16:47 +02:00
jvoisin
3152078c7e
Restore missing std::endl removed by an overeager regex
2023-06-01 13:48:41 +02:00
jvoisin
0e33730f5d
Remove useless logging
...
As suggested in https://gitlab.com/OpenMW/openmw/-/merge_requests/3086#note_1413234840
2023-06-01 13:31:48 +02:00
jvoisin
a58dc6fd30
Use the logging system instead of std::cout in components/esm4
...
- Remove debug-related includes
- Add some trivial missing includes
- Remove useless {}
- Move the known-but-skipped-records are the end of the switch-cases
- Always throw on unknown records
2023-06-01 13:31:48 +02:00
psi29a
27a879de9a
Merge branch 'tree_and_furniture' into 'master'
...
Load ESM4::Tree and ESM4::Furniture
See merge request OpenMW/openmw!3040
2023-06-01 09:15:46 +00:00
psi29a
83c8312060
Merge branch 'esm4_cell_fixes' into 'master'
...
A few fixes related to ESM4::Cell
See merge request OpenMW/openmw!3083
2023-06-01 07:51:34 +00:00
Evil Eye
08f35fe839
Add ESM::Skill::mWerewolfValue
2023-05-31 17:45:20 +02:00
Evil Eye
7b0680de5f
Resolve attribute GMST members
2023-05-31 17:02:18 +02:00
Evil Eye
eea730768b
Replace sIconNames with ESM::Skill::mIcon
2023-05-30 20:22:04 +02:00
Evil Eye
9c819b5705
Disallow formatting of UString
2023-05-30 17:35:26 +02:00
Petr Mikheev
5cb4c66266
Avoid using ESM4::Cell with uninitialized fields
2023-05-29 22:37:25 +02:00
Petr Mikheev
19fb9f8e14
Handle editor marker bit in BSXFlags
2023-05-29 18:47:27 +02:00
Petr Mikheev
788a4d32aa
Handle DoubleSided and TreeAnim flags in BSLightingShaderProperty.
2023-05-29 18:47:27 +02:00
Petr Mikheev
fd90a8c9b4
Hide Nif nodes with name "EditorMarker".
2023-05-29 18:47:27 +02:00
Petr Mikheev
1b669db017
Load ESM4::Tree and ESM4::Furniture
2023-05-29 18:47:27 +02:00
Evil Eye
9c60a6fa4d
Replace sSkillNameIds with ESM::Skill::mName
2023-05-29 17:56:14 +02:00
florent.teppe
9f9a6c06e0
Fix get vertex Height for esm4
2023-05-29 12:10:42 +02:00
florent.teppe
5dfa06acf8
removes unused variable
...
it was already mostly unused, it was usefull only in the constructor, even though it was a paramater of the constructor, so it could have been removed.
2023-05-29 12:10:42 +02:00
florent.teppe
12304d36aa
std::cout => Log(Debug::Verbose)
2023-05-29 12:10:42 +02:00
florent.teppe
ad8cfde4e0
ESM::LandData no longer a virtual interface
...
instead it is constructed from ESM::Land or ESM4::Land
2023-05-29 12:10:42 +02:00
fteppe
22dc383f63
fixes errors and warnings
...
Applies review comments
getWorldspaceTerrain => returns a reference because never null
crashfix in navigator
updateLandPositions fixes naming of it
const ESM4::Land* MWWorld::Store<ESM4::Land>::search(ESM::ExteriorCellLocation cellLocation) const removes useless else
ExteriorCellLocation uses default initializers
get terrain height returns -MAX_FLOAT when there is no esm4 terrain.
applied review comments
use default initlializer when possible
factorise code
uses pattern matching in for loop.
2023-05-29 12:10:42 +02:00
florent.teppe
f600730459
fixes functions that were virtual but not tagged as override.
2023-05-29 12:10:41 +02:00
florent.teppe
7d88a240d3
no default terrain for esm4 exterior.
2023-05-29 12:10:41 +02:00
florent.teppe
2bb17279df
linux build
...
clang format 14.0
Arm64 build
2023-05-29 12:10:41 +02:00
florent.teppe
a9e0489867
fixes stutters => bugs in the way cells were updated.
2023-05-29 11:32:14 +02:00
florent.teppe
0e4d21a40c
takes the right terrain bounds.
2023-05-29 11:32:14 +02:00
florent.teppe
7bc4fc6bf9
Fix issues on terrain change
...
terrain Preloader now preloads the right terrain
2023-05-29 11:32:14 +02:00
florent.teppe
427b6ea39a
fix bug in "fixColour" and "fixNormal"
...
fix issue in vtx texture selection
2023-05-29 11:32:13 +02:00
florent.teppe
c2e652b8a0
getLand taken out of loop where it's value would always be the same.
2023-05-29 11:32:13 +02:00
florent.teppe
feb60f5ad8
One landsize variable instead of two.
...
fixes issues in constant values.
2023-05-29 11:32:13 +02:00
florent.teppe
d0211acf9e
Fixes bug in terrain loading + collision heightmap works
...
although terrain rendering is 100% broken right now
2023-05-29 11:32:13 +02:00
florent.teppe
c35c7b3640
ESM4::Land loaded, added to store and to land objects
...
it does not work yet. Some things are displayed, but it looks all wrong.
2023-05-29 11:31:37 +02:00
florent.teppe
fffcf52316
land manager cache's key is an ExteriorCellLocation
...
ESM4::Land is now a ESM::LandData
2023-05-29 11:31:37 +02:00
florent.teppe
e0fa15b727
Abstracted Land data that can be used by esm3 and esm4.
2023-05-29 11:31:37 +02:00
florent.teppe
1b718f09c5
adding worldspace info to terrain data structures
...
Rendering manager can have multiple terrain, one for each queried worldspace
Terrain::World has a worldspace member
storage functions require a worldspace parameter.
2023-05-29 11:31:37 +02:00
florent.teppe
93e7b0d946
Terrain has a mandatory worldspace in constructor
...
getTerrainHeightAt takes a worldspace.
Doesn't change anything for now => Therrain is created with the default ESM3 worldspace, and is never changed.
2023-05-29 11:31:36 +02:00
Evil Eye
90a3a7b62f
Add mWerewolfGMST
2023-05-28 15:28:34 +02:00
Evil Eye
a5e1c87fb8
Remove sGmstAttributeIds, sGmstAttributeDescIds, sAttributeIcons
2023-05-28 15:10:53 +02:00
psi29a
16a580eb21
Merge branch 'clickbait' into 'master'
...
Remove sAttributeIds and sSkillIds
See merge request OpenMW/openmw!3071
2023-05-28 09:14:47 +00:00
psi29a
052972033c
Merge branch 'get_rid_of_asserts_in_esm' into 'master'
...
Replace all asserts in components/esm[34] with throw
See merge request OpenMW/openmw!3069
2023-05-28 09:14:08 +00:00
unknown
14600de185
Remove sAttributeIds and sSkillIds
2023-05-27 21:54:13 +02:00
jvoisin
c98c532213
Replace all asserts in components/esm[34] with throw
2023-05-27 16:10:53 +02:00
elsid
235eb65c97
Rename positionToCellIndex to match return type
2023-05-27 15:49:36 +02:00
psi29a
05555947c3
Merge branch 'specialdedup' into 'master'
...
Deduplicate specialization code
See merge request OpenMW/openmw!3063
2023-05-26 12:08:05 +00:00
jvoisin
44a65512e8
Replace another assert with a throw
2023-05-26 10:23:58 +00:00
Evil Eye
877f6747be
Deduplicate specialization code
2023-05-26 12:16:47 +02:00
elsid
dc8dfe81ce
Add more details to exceptions
2023-05-25 20:56:07 +02:00
Pierre Mossler
e6838cddc7
missing include in attr.cpp
2023-05-25 10:49:27 +00:00
psi29a
d3ed04c551
Merge branch 'lua-activeeffects' into 'master'
...
Lua: Actor api for active effects and active spells
See merge request OpenMW/openmw!3036
2023-05-25 07:49:08 +00: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
elsid
89eccab7f1
Add missing include
...
In file included from /home/elsid/dev/openmw/apps/openmw_test_suite/settings/testvalues.cpp:1:
/home/elsid/dev/openmw/components/misc/strings/conversion.hpp: In function ‘std::string Misc::StringUtils::toHex(std::string_view)’:
/home/elsid/dev/openmw/components/misc/strings/conversion.hpp:139:87: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
139 | const std::ptrdiff_t space = static_cast<std::ptrdiff_t>(static_cast<std::uint8_t>(v) <= 0xf);
| ^~~~~~~
| wint_t
/home/elsid/dev/openmw/components/misc/strings/conversion.hpp:140:97: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
140 | const auto [ptr, ec] = std::to_chars(out + space, out + space + 2, static_cast<std::uint8_t>(v), 16);
| ^~~~~~~
| wint_t
2023-05-24 12:45:50 +02:00
Mads Buvik Sandvei
410e8b100a
Elsid comments
2023-05-23 19:30:29 +02:00
Mads Buvik Sandvei
5a8c6df633
clang'd
2023-05-23 18:12:06 +02:00
Mads Buvik Sandvei
4bf23f152b
Revert use of string_view to std::string for effectIdTo* methods.
2023-05-23 18:12:06 +02:00
Mads Buvik Sandvei
6cfc06d7d8
There is no typo
2023-05-23 18:12:06 +02:00
Mads Buvik Sandvei
9a59330561
refactor effect names in loadmgef. Added a map from effect index to non-gmst effect name for use in lua scripts.
2023-05-23 18:11:59 +02:00
Mads Buvik Sandvei
b791ce9132
Remove redundant qualifiers
2023-05-23 18:11:44 +02:00
Mads Buvik Sandvei
7ba43c9426
actor.ActiveEffects and actor.ActiveSpells
2023-05-23 18:11:44 +02:00
elsid
2f18da08d7
Add missing include
2023-05-23 12:26:16 +02:00
psi29a
2545185d52
Merge branch 'cs_show_magic_effect_name' into 'master'
...
Show magic effect name instead of IndexRefId (#7366 )
Closes #7366
See merge request OpenMW/openmw!3049
2023-05-23 08:21:35 +00:00
psi29a
64b07ee9f4
Merge branch 'esmtool_dawnguard_dragonborn' into 'master'
...
Partial support esmtool dump for Dragonborn.esm and Dawnguard.esm from Skyrim
See merge request OpenMW/openmw!3052
2023-05-23 08:20:10 +00:00
psi29a
a61f955e9f
Merge branch 'case.ext' into 'master'
...
Fix a regression and use more starts_with and ends_with
See merge request OpenMW/openmw!3051
2023-05-23 08:18:41 +00:00
Alexei Dobrohotov
a983977e6a
Fix NiSkinData loading for >4.2.1.0
2023-05-23 01:19:22 +03:00
elsid
7c16ecb258
Skip more unknown ESM4 subrecords
...
CNAM from HDPT is a part of Dawnguard.esm.
ATKR from RACE is a part of Dawnguard.esm.
CIS2 from SCRL is a part of Dragonborn.esm.
SPMV from RACE is a part of Dragonborn.esm.
2023-05-22 22:09:08 +02:00
elsid
e537d1d0d4
Ignore missing localization string files by esmtool
...
Dawnguard.esm from Skyrim depends on files stored in Dawnguard.bsa which is not
processed by esmtool.
2023-05-22 22:09:08 +02:00
elsid
358b7ad3ec
Keep ESM4 localized strings in memory
...
Size of the files is in order of megabytes at max. Storing offset lookup table
to read from file on demand is less efficient than reading from memory for such
size.
Read and store offsets first. Sort them to read values sequentially. Memoize
last offset and value to avoid reading the same value twice. Use seek only when
current possition does not match offset. Optimize seek for short distance by
calling read instead.
2023-05-22 22:09:06 +02:00
Alexei Dobrohotov
1b5e904285
Read BSMultiBound et al.
2023-05-22 23:05:10 +03:00
Alexei Kotov
401ebfd7f2
Merge branch 'fix_oblivion_loading' into 'master'
...
Fix Oblivion loading
See merge request OpenMW/openmw!3050
2023-05-22 18:18:35 +00:00
Evil Eye
9728024978
Replace compare with more idiomatic methods
2023-05-22 19:51:27 +02:00
jvoisin
7f191a2a8a
Merge branch 'if_all_the_asserts' into 'master'
...
Replace all the `asserts` with `throw` in components/esm4/reader.cpp
See merge request OpenMW/openmw!3047
2023-05-22 17:33:55 +00:00
jvoisin
a9bf671992
Fix Oblivion loading
...
Found by elsid@, and due to !3043
2023-05-22 18:24:39 +02:00
Evil Eye
3138eb406b
Fix case sensitive comparison
2023-05-22 18:18:01 +02:00
elsid
8f47da46ec
Show magic effect name instead of IndexRefId
2023-05-22 18:02:21 +02:00
jvoisin
8b654f276d
Replace all the asserts
with throw
in components/esm4/reader.cpp
2023-05-22 17:42:32 +02:00
jvoisin
6da3c3e200
Fix a gcc warning about copy
...
```
/home/jvoisin/dev/openmw/openmw/components/fontloader/fontloader.cpp:532:29: warning: loop variable '[key, value]' creates a copy from type 'std::pair<const int, int> const' [-Wrange-loop-construct]
for (const auto [key, value] : additional)
^
/home/jvoisin/dev/openmw/openmw/components/fontloader/fontloader.cpp:532:18: note: use reference type 'std::pair<const int, int> const &' to prevent copying
for (const auto [key, value] : additional)
^~~~~~~~~~~~~~~~~~~~~~~~~
&
1 warning generated.
```
2023-05-22 17:18:43 +02:00
psi29a
6f8c152487
Merge branch 'convert_camera_settings' into 'master'
...
Use settings values for Camera settings (#6876 )
See merge request OpenMW/openmw!3041
2023-05-22 09:14:06 +00:00
psi29a
dab616f4e2
Merge branch 'guiew' into 'master'
...
Use string_view in more places and reduce the number of empty string literals
See merge request OpenMW/openmw!3042
2023-05-22 09:12:45 +00:00
jvoisin
534e20cf3a
Replace another assert
with a throw
...
It fixes the following crash:
```nasm
[----------------------------------registers-----------------------------------]
RAX: 0xffffffffffffffe4
RBX: 0x7fffffffbd88 --> 0x0
RCX: 0x555555861f01 --> 0xd6000055555582fa
RDX: 0x1
RSI: 0x0
RDI: 0xff
RBP: 0x2e94
RSP: 0x7fffffff9bb0 --> 0x0
RIP: 0x55555574e286 (<_ZN4ESM44Cell4loadERNS_6ReaderE+182>: mov eax,DWORD PTR [rax+0xc])
R8 : 0x0
R9 : 0x555555836bd0 --> 0x555555861f90 --> 0x100000000000000
R10: 0xffffffff
R11: 0x0
R12: 0x7fffffffbd88 --> 0x0
R13: 0x7fffffffbd30 --> 0x7fffffffbd28 --> 0xff0001
R14: 0x7fffffff9da0 --> 0x10fc
R15: 0x7fffffff9ea8 --> 0x7fffffff9eb8 --> 0x0
EFLAGS: 0x10206 (carry PARITY adjust zero sign trap INTERRUPT direction overflow)
[-------------------------------------code-------------------------------------]
0x55555574e27c <_ZN4ESM44Cell4loadERNS_6ReaderE+172>: mov rdi,r12
0x55555574e27f <_ZN4ESM44Cell4loadERNS_6ReaderE+175>: xor esi,esi
0x55555574e281 <_ZN4ESM44Cell4loadERNS_6ReaderE+177>: call 0x5555557edfb0 <_ZNK4ESM46Reader3grpEm>
=> 0x55555574e286 <_ZN4ESM44Cell4loadERNS_6ReaderE+182>: mov eax,DWORD PTR [rax+0xc]
0x55555574e289 <_ZN4ESM44Cell4loadERNS_6ReaderE+185>: cmp eax,0xff
0x55555574e28e <_ZN4ESM44Cell4loadERNS_6ReaderE+190>: ja 0x55555574e314 <_ZN4ESM44Cell4loadERNS_6ReaderE+324>
0x55555574e294 <_ZN4ESM44Cell4loadERNS_6ReaderE+196>: cmp al,0x5
0x55555574e296 <_ZN4ESM44Cell4loadERNS_6ReaderE+198>: jne 0x55555574e314 <_ZN4ESM44Cell4loadERNS_6ReaderE+324>
[------------------------------------stack-------------------------------------]
0000| 0x7fffffff9bb0 --> 0x0
0008| 0x7fffffff9bb8 --> 0x0
0016| 0x7fffffff9bc0 --> 0x0
0024| 0x7fffffff9bc8 --> 0x0
0032| 0x7fffffff9bd0 --> 0x0
0040| 0x7fffffff9bd8 --> 0x0
0048| 0x7fffffff9be0 --> 0x0
0056| 0x7fffffff9be8 --> 0x0
[------------------------------------------------------------------------------]
Legend: code, data, rodata, value
Stopped reason: SIGSEGV
0x000055555574e286 in ESM4::Cell::load (this=0x7fffffff9da0, reader=...) at /home/jvoisin/dev/openmw/openmw/components/esm4/loadcell.cpp:68
68 if (reader.grp().type == ESM4::Grp_ExteriorSubCell && reader.grp().label.grid[1] == 0
gdb-peda$ bt
this=<optimized out>, reader=...) at /home/jvoisin/dev/openmw/openmw/apps/esmtool/tes4.cpp:547
recordInvocable=...) at /home/jvoisin/dev/openmw/openmw/./components/esm4/readerutils.hpp:31
at /home/jvoisin/dev/openmw/openmw/./components/esm4/readerutils.hpp:23
at ../csu/libc-start.c:381
```
2023-05-21 20:07:52 +02:00
psi29a
364bc91f5b
Merge branch 'fix_element_destroy' into 'master'
...
Fix bug in LuaUi::Element::destroy() that sometimes leads to an infinite loop on UI cleanup
See merge request OpenMW/openmw!3033
2023-05-21 17:33:56 +00:00
psi29a
e1754b840a
Merge branch 'fix_empty_vector' into 'master'
...
Guard an undefined behaviour
Closes #6725
See merge request OpenMW/openmw!3037
2023-05-21 17:33:13 +00:00
Evil Eye
4e05dd3cd3
Make FontWrapper conditional
2023-05-21 18:21:42 +02:00
Evil Eye
492e336c0c
Use string_view in more UI code
2023-05-21 18:14:12 +02:00
Alexei Dobrohotov
3e8a9d1de4
Read BSTreeNode, handle as NiNode
2023-05-21 18:16:06 +03:00
Evil Eye
5491512905
Use string_view in more places and reduce the number of empty string literals
2023-05-21 16:39:32 +02:00
elsid
5d5e6844d1
Use settings values for Camera settings
2023-05-20 22:23:09 +02:00
jvoisin
81bd034a9e
Guard an undefined behaviour
...
`std::vector.back()` on an empty `std::vector` is undefined.
This should fix #6725 .
Thanks to @Capostrophic for the investigation.
2023-05-20 19:35:06 +02:00
jvoisin
cde7aeac3d
Replace an asert
with a conditional throw
...
The assert is reachable, resulting in a brutal `abort`
instead of a nice exception.
2023-05-20 19:33:14 +02:00
Petr Mikheev
c6eed2a6c6
Fix bug in LuaUi::Element::destroy() that sometimes leads to an infinite loop on UI cleanup
2023-05-20 02:34:23 +02:00
psi29a
1ce35fa9e7
Merge branch 'lua-bounding-box' into 'master'
...
Expose game object's bounding box in lua api
See merge request OpenMW/openmw!3009
2023-05-19 09:33:44 +00:00
Petr Mikheev
be26fbdacb
Explicitly intialize the fields in ESM4::Cell
that don't have default constructors.
2023-05-18 20:21:47 +02:00
glassmancody.info
a7b7f99d72
Expose game object's bounding box in lua api
2023-05-18 11:10:10 -07:00
Petr Mikheev
61232f4b75
Fix uninitialized mWaterLevel in esm4/loadwrld.cpp
2023-05-18 02:10:39 +02:00
Petr Mikheev
493858127a
Drop NIF root node transformation for Skyrim models the same way as for Morrowind models.
2023-05-18 02:10:39 +02:00
Petr Mikheev
29031d0586
Increase ESM4 active grid
2023-05-18 00:38:41 +02:00
elsid
15f3e3ae71
Support ESM4 IDLE record
2023-05-17 22:59:34 +02:00
elsid
584c0dbcdc
Support reading bool GMST by ESM4
2023-05-17 22:59:34 +02:00
elsid
010db45a10
Read ESM::FormId using ESM4::Reader::getFormId
2023-05-17 22:59:29 +02:00
elsid
a90aa7d8b2
Count navmeshdb reads for each reading job
2023-05-17 10:08:34 +02:00
elsid
5ae8b9cae1
Report raw navmesh cache counters
2023-05-17 10:08:33 +02:00
elsid
a8a76f9a05
Fix BulletShape copy constructor and use for BulletShapeInstance
...
Copy mVisualCollisionType.
2023-05-14 18:45:38 +02:00
elsid
04d439485b
Log more info about navmesh shapes and jobs
2023-05-14 18:34:31 +02:00
psi29a
ab17d0947a
Merge branch 'esm4-exterior' into 'master'
...
Loading ESM4 Exteriors
See merge request OpenMW/openmw!2986
2023-05-12 23:32:55 +00:00
psi29a
c15710c35b
Merge branch 'settings_values_index' into 'master'
...
Use typed settings storage for settings window (#6876 )
See merge request OpenMW/openmw!2997
2023-05-12 21:53:59 +00:00
florent.teppe
a3bd6e7e47
ESM::ExteriorCellIndex => ESM::ExteriorCellLocation
2023-05-12 22:05:55 +02:00
florent.teppe
393357abc0
ESM::Cell::positionToCellIndex returns a ESM::ExteriorCellIndex
...
and takes a worldspace id as input
ESM::getCellSize takes a wordspace as input.
removed useless static in static inline funcs
2023-05-12 22:05:55 +02:00
florent.teppe
559830f59a
applies review comments
...
Removes ToLowercase after .serializeText
removed unused variable
!ptr => ptr == nullptr
better indentation + error message on throw
friend struct std::hash<...> useless on struct with all public fields.
2023-05-12 22:05:55 +02:00
florent.teppe
3d06cabf6a
indexToPosition moved from world -> esm/util.hpp
2023-05-12 22:05:55 +02:00
florent.teppe
1cf0cd5628
moved mwworld/cellutils.hpp -> esm/util.hpp
2023-05-12 22:05:54 +02:00
florent.teppe
75561abfca
Factorises code and fixes preload bug.
2023-05-12 22:05:54 +02:00
florent.teppe
5648e03e9e
function to get cellsize depending on the context.
2023-05-12 22:05:54 +02:00
florent.teppe
93b3d9238c
mWater level disabled for skyrim.
2023-05-12 22:05:54 +02:00
florent.teppe
3de08e654f
Better handling of water levels for exterior cells.
...
Especially for skyrim and it's weird water level values in exteriors.
If we don't have a valid exterior water level we use the world's water level
2023-05-12 22:05:54 +02:00
florent.teppe
56cb2a83ec
removed sDefaultWorldspace, only sDefaultWorldspaceId now.
...
sDefaultWorldspaceId is a StringRefId to be able to getvalue easily.
2023-05-12 22:05:53 +02:00
florent.teppe
141878f30d
int x, int y , ESM::RefId worldspace => ESM::ExteriorCellIndex
...
also removed the changeToExteriorCell that only took a position as input, didn't work with esm4.
2023-05-12 22:05:53 +02:00
florent.teppe
1d03b54694
maps with tuple key instead of map of map
...
instead of using a map with key as exterior and map of <int ,int >, Cell as value we use a single map with a tuple x,y,exterior as key
2023-05-12 22:05:53 +02:00
florent.teppe
d8a782425b
can actually load and teleport to esm4 exterior spaces
2023-05-12 22:05:53 +02:00
florent.teppe
a62e75fd19
Initial attempt at loading esm4 exteriors
2023-05-12 22:05:52 +02:00
jvoisin
0270cfb733
Merge branch 'throw_with_more_info' into 'master'
...
show which file is not found
See merge request OpenMW/openmw!3011
2023-05-10 21:40:04 +00:00
Bret Curtis
95fff7b77b
show which file is not found
2023-05-10 21:43:55 +02:00
Elias Howell
bf8fafa79a
fixed some typos and spelling errors
2023-05-09 20:07:08 -04:00
elsid
258ae9d98e
Add settings index to provide lookup by category and name
2023-05-03 22:11:44 +02:00
psi29a
cdc753df70
Merge branch 'lua_refactoring' into 'master'
...
MWLua refactoring
See merge request OpenMW/openmw!2956
2023-05-02 19:48:21 +00:00
jvoisin
c7a3f43915
Minor header cleanup
...
This has been done via CLion's "unused include directive",
set to "detect completely unused".
2023-04-30 16:26:03 +02:00
elsid
0601d7213e
Remove ESM::RefId::sEmpty
...
This variable is only required to return empty RefId as const reference. There
is no point in doing so for a type cheap to copy.
2023-04-26 21:15:16 +02:00
Petr Mikheev
4562b8c06b
Add headers for all .cpp
files in mwlua; move packages initilaization from LuaManager to luabindings.cpp
2023-04-25 23:24:51 +02:00
Petr Mikheev
c362b2efa6
Use LuaUtil::cast for casting sol::object to prevent crashing on type mismatch in Lua scripts.
2023-04-25 22:11:04 +02:00
Petr Mikheev
61578ca39b
Add function LuaUtil::cast
2023-04-25 21:51:05 +02:00
psi29a
957318d0b9
Merge branch 'remove_cruft' into 'master'
...
remove boost::locale::conv
See merge request OpenMW/openmw!2970
2023-04-25 16:06:55 +00:00
psi29a
50bd6cf263
remove boost::locale::conv
2023-04-25 16:06:55 +00:00
Bret Curtis
0db31207dc
remove remaining boost::filesystem cruft
2023-04-25 16:15:04 +02:00
elsid
35f4bcd31e
Run openmw_settings_access_benchmark in CI
...
Add benchmarks to access 2 and 3 settings. Use settings with max memory address
distance assuming Settings::Values is single memory location object.
Use settings-default.cfg from the source code repository to initialize settings.
2023-04-24 22:30:49 +02:00
elsid
0a678224cd
Add category to error message
2023-04-24 20:27:11 +02:00
elsid
05d09d9927
Fix msvc warning
2023-04-24 11:37:54 +02:00
elsid
8e487c283c
Store default settings values
2023-04-22 21:02:13 +02:00
Tetramir
6936c3a1c8
Merge branch 'fix_esm4' into 'master'
...
Fix regressions in ESM4 reader caused by !2902
See merge request OpenMW/openmw!2957
2023-04-22 18:16:06 +00:00
Petr Mikheev
7b6f0cefb9
Fix regressions in ESM4 reader caused by !2902
2023-04-22 17:07:54 +02:00
Mads Buvik Sandvei
7d69bea7dc
Move InitializeStereoOperation to components/stereo
2023-04-22 16:11:53 +02:00
Mads Buvik Sandvei
fe066069d7
/components/ code should not access the stereo manager without checking whether or not stereo is enabled first. Stereo component code should not read settings itself, but rather take settings as parameters.
2023-04-22 16:11:42 +02:00
elsid
7a7c20d49e
Define single UpdateGuard type in a separate file
2023-04-22 13:22:07 +02:00
elsid
472a36d92a
Cleanup detournavigator includes
2023-04-22 13:21:59 +02:00
elsid
2cbbdc2879
Add missing files to components/detournavigator list
2023-04-21 15:36:54 +02:00
florent.teppe
3bbf60373a
Keep things coherent between references and and cell table
2023-04-20 10:03:34 +02:00