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