1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-21 13:23:53 +00:00
Commit graph

7231 commits

Author SHA1 Message Date
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
psi29a
70ddca78bf Merge branch 'ref_id_print_tests' into 'master'
Add more tests for printing RefId and clarify some constants

See merge request OpenMW/openmw!2945
2023-04-20 07:29:05 +00:00
elsid
7db14b3392
Add more tests for printing RefId and clarify some constants 2023-04-20 02:35:14 +02:00
elsid
c97df7d770
Check FormIdRefId value in constructor 2023-04-20 02:19:05 +02:00
Petr Mikheev
3546d2b3e5 Make Store<ESM4::Reference> to use FormId instead of RefId 2023-04-20 01:47:16 +02:00
Petr Mikheev
00beb06391 Initial Lua bindings for ESM4 types; bindings for ESM4Door. 2023-04-20 01:47:16 +02:00
elsid
b8525e8e3d
Fix code format 2023-04-18 20:23:03 +02:00
psi29a
ed4e75df65 Merge branch 'fix_includes' into 'master'
Add missing and remove redundant includes

See merge request OpenMW/openmw!2938
2023-04-18 11:46:52 +00:00
fall-leaf
cc7e29c9a2 opensuse build fix 2023-04-17 23:40:15 +03:00
elsid
b33d12b8e1
Add missing and remove redundant includes 2023-04-17 22:02:36 +02:00
Evil Eye
97fb06d8c9 Add RefId::is 2023-04-13 17:43:13 +02:00
elsid
20129568e6
Replace VisitorCellIdIsESM3Ext with RefId::getIf function 2023-04-13 01:06:27 +02:00
elsid
8f84431840
Do not initialize settings storage for editor 2023-04-10 21:29:56 +02:00
elsid
bdc2eb5250
Check only original default settings
When more than 1 user config layers are used we still want to check only the
first layer of default settings loaded from settings-default.cfg.
2023-04-10 15:38:39 +02:00
psi29a
ad25e9b154 Merge branch 'settings_storage' into 'master'
Typed settings storage (#6876)

See merge request OpenMW/openmw!2651
2023-04-10 10:36:15 +00:00
Petr Mikheev
ff774d6406 Load more ESM4 records 2023-04-09 18:52:11 +02:00
Petr Mikheev
f09a689a4f Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
elsid
bd10becb65
Use lexicographical comparison in ESM3ExteriorCellRefId::operator< 2023-04-08 16:22:01 +02:00
psi29a
ebb5820dd1 Merge branch 'pathgridgraph' into 'master'
Refactor pathgrid indices to use size_t instead of int

See merge request OpenMW/openmw!2900
2023-04-08 00:32:43 +00:00
Evil Eye
8d8207b734 Refactor pathgrid indices to use size_t instead of int 2023-04-08 00:32:43 +00:00
elsid
794050df63
Fix and add tests for ESM3ExteriorCellRefId serialization and text representation 2023-04-08 01:06:11 +02:00
psi29a
aad9ce53db Merge branch 'esm4_gmst' into 'master'
Support loading ESM4 GMST records

See merge request OpenMW/openmw!2892
2023-04-04 09:51:02 +00:00
elsid
dbed00842e
Split components/esm4/common.hpp header 2023-04-04 10:12:20 +02:00
elsid
87ac85223a
Support loading ESM4 GMST records 2023-04-04 09:59:35 +02:00
florent.teppe
0d17e20490 Implements serialize/deserialize
fixes test compilation.
2023-04-03 18:41:25 +02:00
florent.teppe
21bd28542a Applies review advice
2d coord hash moved to hash.hpp file
format version adds suffix to be more coherent
don't use ESM::RefId::sEmpty
RefId equality with string_view, conversion to refId unecessary
action teleport remove test that mCellId is empty
removes some const references, when copy is enough
invalid refid => empty refid
removes useless change
2023-04-03 14:17:35 +02:00
florent.teppe
d782d37ee2 Make sure Vec2iRefId is trivially copyable on GCC 11.3
std::pair<int, int> isn't trivially copyable on some compilers
so a specific struct is defined, it's an int pair, but it should be recognised by GCC 11.3 as trivially copyable

Vec2iRefId => ESM3ExteriorCellRefId

more explcit name and use mX,mY instead of pair
renamed files and enum
2023-04-03 14:17:31 +02:00
florent.teppe
53b14c8b42 fix tests
hopefully also fixes clang tidy
2023-04-03 14:17:17 +02:00
florent.teppe
4c15064a83 Create new Vec2i RefId for ESM3 exterior cells.
Applies the necessary changes to use !2708 for the new Id type
2023-04-03 14:17:16 +02:00
florent.teppe
1e0c3bfdec fixes integration tests
we still want to be able to write using old formats
2023-04-03 14:16:32 +02:00
florent.teppe
f99e65843a Removes most cellId.hpp include, simplifies id generation for cells. 2023-04-03 14:16:32 +02:00
florent.teppe
c2182c2fcc Get Rid of ESM::CellId almost everywhere
it was a competing concept from using RefIds for cell.
There is almost no point to it now, except to load older data.
2023-04-03 14:16:05 +02:00
florent.teppe
fb6701ac1a ESM::CellId is no longer stored on saves. 2023-04-03 14:16:05 +02:00
florent.teppe
c39dd576f8 Gets rid of most ESM::CellId 2023-04-03 14:16:05 +02:00
florent.teppe
6895a452ef restores the concept of worldspace for MWWorld::Cell 2023-04-03 14:16:04 +02:00
florent.teppe
9f597ecfea No more Cellid used by ESM4 cells
and that also means it is no longer used by MWWorld::Cell
fixes tests
2023-04-03 14:16:04 +02:00
florent.teppe
3f678c3b0a Dest Door and teleport use ESM::RefId
This changes a lot of files as a consequence.
Still buggy, moving to exterior doesn't bring to the right place yet
coc "seyda neen" doesn't work. SO I broke somehting when fetching a cell from a name
2023-04-03 14:16:03 +02:00
florent.teppe
36502eaf75 ESM3 Cells have an Id.
Store<ESM::Cell> is updated to use it.
2023-04-03 14:16:03 +02:00
Andrei Kortunov
8c6616214b Remove redundant quotes 2023-04-03 11:28:03 +04:00
psi29a
ee970db9e0 Merge branch 'player_cell_id_test' into 'master'
Test more ESM::Player records

See merge request OpenMW/openmw!2888
2023-04-02 22:41:36 +00:00
psi29a
0a791528bc Merge branch 'fix_index_ref_id_hash' into 'master'
Shift record type value for IndexRefId hash

See merge request OpenMW/openmw!2885
2023-04-02 21:52:29 +00:00
elsid
9162eaa019
Test more ESM::Player records 2023-04-02 19:58:27 +02:00
elsid
171a25645a
Make sure there are tests for all RefId types 2023-04-02 15:46:21 +02:00
elsid
258aec223a
Shift record type value for IndexRefId hash 2023-04-02 15:00:03 +02:00
Mads Buvik Sandvei
e666f36b60 [Multiview] Fix transparent pass and vertex shader 2023-04-01 20:27:07 +00:00
psi29a
1a1f983930 Merge branch 'omwscripts_in_launcher' into 'master'
Support adding Lua mods in subdirectories in the launcher

See merge request OpenMW/openmw!2874
2023-03-31 17:53:55 +00:00
psi29a
119163e74b Merge branch 'fixemptycollisioncrash' into 'master'
Make empty collision shape for objects without any triangles.

Closes #7077

See merge request OpenMW/openmw!2871
2023-03-30 21:47:35 +00:00
psi29a
0c074990ce Merge branch 'fix_lazy_load_skyrim' into 'master'
Fix lazy load skyrim

See merge request OpenMW/openmw!2861
2023-03-30 21:42:55 +00:00
uramer
ee1551f02c Merge branch 'l10n' into 'master'
Dehardcode non-game-specific localization GMSTs

See merge request OpenMW/openmw!2855
2023-03-30 19:35:40 +00:00
fredzio
37c4587ca4 Display directories that contains omwscripts.
Display newly added omwscripts as new.
2023-03-30 21:32:01 +02:00
unelsson
3d4da02b18 Don't mess around with btEmptyShape. Use nullptr instead. 2023-03-28 23:54:26 +03:00
elsid
3e99deb0e8
Use typed settings storage for detournavigator 2023-03-28 20:47:34 +02:00
elsid
db7d0adfe8
Define settings values based on documentation
Using docs/source/reference/modding/settings/*.rst and
files/settings-default.cfg files content.
2023-03-28 20:47:34 +02:00
elsid
3bad40153c
Define typed settings storage with single time initialization
To make sure loaded settings have valid values doing the check once per loading.
And to make access more efficient.
2023-03-28 20:47:34 +02:00
florent.teppe
a3a7767093 applies review changes
filepos changed to an actual file pos
moved lambda declaration out of function call
2023-03-28 17:11:30 +02:00
florent.teppe
464092e323 fix oblivion and skyrim 2023-03-28 17:11:30 +02:00
florent.teppe
34dd24b261 Initial changes to detect when context isn't usable 2023-03-28 17:11:30 +02:00
unelsson
0a1af644af Make empty collision shape for objects without any triangles. 2023-03-28 16:12:23 +03:00
psi29a
cd6413c060 Merge branch 'fix_dialogue_title' into 'master'
Show original dialogue name

See merge request OpenMW/openmw!2862
2023-03-26 21:44:45 +00:00
Petr Mikheev
0769e3daf0 Fix #7294 (launcher creates new contentlist everytime) 2023-03-26 20:12:20 +02:00
elsid
452d1e7e49
Store original string id for Dialogue records 2023-03-26 19:07:32 +02:00
elsid
06f42ba69c
Use fixed size enum type for ESM::Dialogue::mType 2023-03-26 19:07:25 +02:00
elsid
4716583f3e
Set ESM::Dialogue::mType on blank and skip load 2023-03-26 19:07:25 +02:00
elsid
90ed24f4c9
Split type traits for ESM4, ESM3 and unite common 2023-03-26 19:07:23 +02:00
elsid
d5954aba68
Add suffix to the format version name 2023-03-26 15:21:25 +02:00
Petr Mikheev
618b912a20 Dehardcode non-game-specific localization GMSTs; Update l10n files. 2023-03-26 13:43:44 +02:00
psi29a
8f80895b59 Merge branch 'build_fix' into 'master'
Add missing include

See merge request OpenMW/openmw!2860
2023-03-26 11:09:47 +00:00
Andrei Kortunov
e1bee039ac Add missing include 2023-03-26 11:31:25 +04:00
elsid
b7fdca0fe6
Use serialized ESM::RefId for Lua records 2023-03-25 18:19:46 +01:00
elsid
cd4027ffd6
Do not use ESM::RefId::getRefIdString for spell id 2023-03-24 01:57:35 +01:00
psi29a
9a20193eb5 Merge branch 'savedgamecell' into 'master'
Fix cell name format in save menu

See merge request OpenMW/openmw!2853
2023-03-23 18:53:15 +00:00
Evil Eye
54d6fb29c2 Don't store a save's cell name as a RefID 2023-03-22 22:57:52 +01:00
psi29a
db1b260323 Merge branch 'gmst_l10n' into 'master'
Support links to GMSTs in l10n files; extract Morrowind-specific l10n files to a separate directory

See merge request OpenMW/openmw!2822
2023-03-22 20:47:53 +00:00
psi29a
1741a06cd1 Merge branch 'launcher_log' into 'master'
Setup launcher configuration manager and logging before initializing UI

See merge request OpenMW/openmw!2851
2023-03-22 09:19:25 +00:00
elsid
9815f930d9
Setup launcher configuration manager and logging before initializing UI 2023-03-21 21:29:57 +01:00
elsid
d1e8e56619
Make QuickKey type a fixed size enum class 2023-03-21 20:53:04 +01:00
elsid
eb79b29512
Use ranged for loop 2023-03-21 20:45:49 +01:00
elsid
2135eba103
Fix loading ESM3 QuickKeys 2023-03-21 20:44:42 +01:00
elsid
0b852edc7f
Remove redundant inline 2023-03-21 09:34:27 +01:00
elsid
8dd6b16fee
Avoid double lookup 2023-03-21 09:34:26 +01:00
elsid
04d7781424
Support not only StringRefId for checking first person body part 2023-03-19 17:49:41 +01:00
elsid
e6cf516e12
Support index RefId as pair of record type and std::uint32_t 2023-03-19 17:20:48 +01:00
elsid
86293af084
Support generated RefId as std::uint64_t 2023-03-19 17:20:48 +01:00
elsid
0992624c8b
Support reading and writing typed ESM::RefId to ESM 2023-03-19 17:20:48 +01:00
elsid
069d4255b9
Make ESM::RefId to be fixed size cheap to copy
Use std::variant. Store refId strings in unordered_set and use pointer to an
item there. Inserts to unordered_set do not invalidate pointers to values so the
pointer is always valid. Elements are not removed. Assume there is finite number
of string refIds.
2023-03-19 17:20:43 +01:00
elsid
3a0443c472
Make constexpr Misc::NotNullptr member functions 2023-03-18 16:36:26 +01:00
psi29a
d64eea2fc6 Merge branch '7113-move-from-std-atoi-to-std-from_char' into 'master'
Move from std::atoi to std::from_char

Closes #7113

See merge request OpenMW/openmw!2760
2023-03-18 09:30:48 +00:00
Shi Han
a90e3b8c3b Move from std::atoi to std::from_char 2023-03-18 09:30:48 +00:00
psi29a
9664a57cad Merge branch 'esmtool_strings' into 'master'
Use relative to content file path to find strings file

See merge request OpenMW/openmw!2837
2023-03-18 09:14:54 +00:00
elsid
67e96d48ba
Use relative to content file path to find strings file
To be used by esmtool when VFS is not used.
2023-03-18 03:00:18 +01:00
elsid
83d212fe0f
Use SFINAE to avoid conflicts between visit functions 2023-03-17 23:37:11 +01:00
psi29a
a60f657f5a Merge branch 'fast_cell4_load' into 'master'
Lazy loading of ESM4::reference

See merge request OpenMW/openmw!2804
2023-03-17 21:46:37 +00:00
psi29a
2ff4a5a11a Merge branch 'cs_fix_info_collection' into 'master'
Fix loading, inserting and moving topic info records

See merge request OpenMW/openmw!2806
2023-03-17 14:40:05 +00:00
Petr Mikheev
0b385d5db9 Create MWWorld::SafePtr 2023-03-13 23:44:00 +01:00
elsid
e032214fcb
Use common info ordering implementation for engine and editor 2023-03-13 21:57:41 +01:00
elsid
e892c62b10
Fix loading, inserting and moving topic info records
Topic info records need to have specific order defined via mNext and mPrev
fields (next and previous records). When loading multiple files a record may be
inserted into middle of the topic but neighborhood records may not be aware of
it. Having the order it's possible to move the records within one topic.

Sort the record once after loading all content files but preserve the order for
all other operations. Use std::map to group info ids by topic to make sure the
topics order is stable. Keep order within a topic for info ids on loading new
records. Use this order later for sorting the records.
2023-03-13 21:57:38 +01:00
psi29a
9b184a1698 Merge branch 'loadammo' into 'master'
Updates to ESM4::Ammunition loading

See merge request OpenMW/openmw!2830
2023-03-13 09:34:31 +00:00
Alexei Dobrohotov
3d87bc185d Updates to ESM4::Ammunition loading 2023-03-13 01:36:07 +03:00
psi29a
e37860c1dc Cherry pick 'openmw-48-stereo-fixes' into 'master'
Openmw 48 stereo fixes

See merge request OpenMW/openmw!2815
2023-03-12 22:20:23 +01:00
Petr Mikheev
58fdd687a8 Support links to GMST in l10n files 2023-03-12 13:12:13 +01:00
psi29a
efebb8efd8 Merge branch 'cmake_fixes' into 'master'
Formatting and coverage related CMake files fixes

See merge request OpenMW/openmw!2811
2023-03-12 11:03:06 +00:00
elsid
1cc4909144
Add --coverage to components_qt, benchmarks and openmw-cs 2023-03-10 21:36:12 +01:00
elsid
1857d8a68c
Use target_compile_options to add --coverage 2023-03-10 15:34:08 +01:00
elsid
cc066efa11
Fix identation in CMakeLists.txt 2023-03-10 15:28:06 +01:00
florent.teppe
170b732854 readers cache keep a stateless encoder
to keep access to the current encoding configuration

build linux
2023-03-10 12:39:47 +01:00
psi29a
ff7a098e74 Merge branch 'justbenormal' into 'master'
Unify collision shape transformations

See merge request OpenMW/openmw!2808
2023-03-10 07:51:01 +00:00
psi29a
b9f1d5d4e7 Merge branch 'seventeenth-times-the-charm' into 'master'
Fix #7264

Closes #7264

See merge request OpenMW/openmw!2805
2023-03-10 07:21:07 +00:00
Alexei Dobrohotov
562461a659 Unify collision shape transformations 2023-03-10 00:12:12 +03:00
psi29a
eca26e8b18 Merge branch 'Support-BA2-file-format' into 'master'
Support ba2 file format

See merge request OpenMW/openmw!2787
2023-03-08 22:00:43 +00:00
Alexei Dobrohotov
2277bdc1ae Improve btTriangleMesh abuse (bug #6027, part 2) 2023-03-08 06:13:32 +03:00
AnyOldName3
ccdb1bf6b7 Ensure shader requirements are pushed at least once for subgraph
Shaders, if deemed necessary, get attached to the node mentioned by the
top of the requirements stack. Previously an empty stack was incorrectly
assumed to mean no shaders were required, but we found out that was
wrong. We need to put shaders *somewhere*, and the root of the subgraph
we're modifying should be the best place.
2023-03-08 00:28:48 +00:00
AnyOldName3
aee1edaf9e Partially revert "Attach shaders to geometry that lacks a stateset if necessary"
This reverts commit 6aef366fd3.
2023-03-08 00:15:49 +00:00
Cédric Mocquillon
19fbba080d Add a check if the requested file is not found 2023-03-06 21:26:51 +01:00
Cédric Mocquillon
7f936ad18f Some cleanup on includes 2023-03-06 21:26:20 +01:00
Cédric Mocquillon
64ce6eb6bc Merge the two identical conditions 2023-03-06 21:25:53 +01:00
Cédric Mocquillon
1a7b2cd611 Fix remaining bugs 2023-03-06 15:50:45 +01:00