1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-30 08:15:37 +00:00
Commit graph

7962 commits

Author SHA1 Message Date
elsid
1689c59546
Add tests for VFS::Path::Normalized 2024-02-08 11:42:28 +01:00
Andrei Kortunov
6760fa4945 Localize screenshot messages 2024-02-08 12:50:12 +04:00
elsid
a7da604332
Update next tile_id when there is a duplicate in navmeshdb
Disable writes on failure to update next tile_id to avoid further errors.
2024-02-07 11:28:34 +01:00
Andrei Kortunov
66b2d428c8 Merge branch 'qt_localization' into 'master'
Localize Launcher and Wizard

See merge request OpenMW/openmw!3571
2024-02-05 15:11:42 +00:00
psi29a
9fc71bb7df Merge branch 'crash_catcher' into 'master'
Cleanup crash catcher code and support lldb

See merge request OpenMW/openmw!3792
2024-02-05 13:01:10 +00:00
jvoisin
cdd73a1a19 Merge branch 'fix_far_away_navmesh_crash' into 'master'
Limit navmesh vertices coordinates values (#6574)

Closes #6574

See merge request OpenMW/openmw!3825
2024-02-05 09:49:24 +00:00
elsid
e6196c782d
Limit navmesh vertices coordinates values
Float values with more than 22 significant fraction bits may cause out of bounds
access in recastnavigation on triangles rasterization. Prevent passing such
values there.
2024-02-03 18:48:42 +01:00
Alexei Kotov
8b47381162 Merge branch 'more_move' into 'master'
Fix some Coverity Scan complaints

See merge request OpenMW/openmw!3829
2024-02-03 17:24:53 +00:00
Zackhasacat
1338e884a9 Merge branch 'menuscripts' into 'master'
Add new Lua context: menu scripts

Closes #7805 and #7648

See merge request OpenMW/openmw!3464
2024-02-02 21:46:22 +00:00
Andrei Kortunov
225e834b88 Fix some Coverity Scan complaints 2024-02-02 09:28:19 +04:00
uramer
b988db9bda Merge branch 'master' into menuscripts 2024-02-01 20:11:02 +01:00
Andrei Kortunov
66d1e036d2 Pass some arguments by references 2024-02-01 10:02:15 +04:00
Andrei Kortunov
7e345436f4 Localize Launcher and Wizard 2024-02-01 09:47:25 +04:00
psi29a
ee8eb9d36e Merge branch 'localizable_errors' into 'master'
Make ContentSelector errors localizable

See merge request OpenMW/openmw!3821
2024-01-31 10:51:54 +00:00
psi29a
5ca8f7a00e Merge branch 'normalizedsun' into 'master'
Actually normalize the sun position exposed to post-processing

See merge request OpenMW/openmw!3820
2024-01-31 10:50:31 +00:00
Mads Buvik Sandvei
011d9d6493 Dehardcode skill and level progression 2024-01-30 21:25:36 +01:00
elsid
f9b69623d3
Remove stateless encoder from ReadersCache
It was added by https://gitlab.com/OpenMW/openmw/-/merge_requests/2804 without a
good reason. There is already encoder available in the used context.
2024-01-29 11:09:29 +01:00
psi29a
be6d063b94 Merge branch 'pointlessinisettings' into 'master'
Support Timescale Clouds and MaxNumberRipples INI settings (#7792, #7795)

Closes #7792 and #7795

See merge request OpenMW/openmw!3812
2024-01-28 22:13:45 +00:00
psi29a
435a4cb9ec Merge branch 'minusputback' into 'master'
Parse special characters that have been put back as names too

See merge request OpenMW/openmw!3804
2024-01-28 22:12:11 +00:00
psi29a
7450b11402 Merge branch 'vfs_normalized_path_1' into 'master'
Use normalized path for VFS manager and RecursiveDirectoryIterator

See merge request OpenMW/openmw!3806
2024-01-28 21:34:01 +00:00
Andrei Kortunov
43307bee28 Make ContentSelector errors localizable 2024-01-28 11:25:46 +04:00
Alexei Kotov
422e455157 Actually normalize the sun position exposed to post-processing 2024-01-28 05:38:12 +03:00
uramer
9cce2e39ba Merge branch 'master' into menuscripts 2024-01-27 15:45:31 +01:00
Mads Buvik Sandvei
a94add741e Lua: Animation bindings 2024-01-26 21:39:33 +00:00
Alexei Kotov
ad64c71753 Correct MaxNumberRipples and Timescale Clouds validation categories 2024-01-26 17:12:58 +03:00
elsid
70061329a1
Return Path::Normalized from RecursiveDirectoryIterator 2024-01-24 22:19:03 +01:00
elsid
9279138fb0
Accept normalized path by VFS::Manager functions 2024-01-24 21:52:49 +01:00
elsid
d549cfd66b
Check path for being normalized 2024-01-24 21:52:49 +01:00
elsid
199d97d32a
Use forward declaration for VFS::Manager 2024-01-24 21:52:48 +01:00
Evil Eye
54429cd23b Parse special characters that have been put back as names too 2024-01-24 18:31:04 +01:00
jvoisin
940856b774 Merge branch 'ba2ext' into 'master'
Make BA2 extension hash calculation safer (#7784)

Closes #7784

See merge request OpenMW/openmw!3799
2024-01-23 21:02:17 +00:00
jvoisin
ec6ac8058b Merge branch 'vfs_normalized_path' into 'master'
Add type for normalized VFS path and use for VFS::Manager file map key

See merge request OpenMW/openmw!3781
2024-01-23 20:42:48 +00:00
Alexei Kotov
84ab7afd44 Make BA2 extension hash calculation safer (#7784) 2024-01-21 23:03:37 +03:00
Andrei Kortunov
251d01304f Use move semantics for osg::ref_ptr 2024-01-21 13:48:33 +04:00
psi29a
0ad5829e5d Merge branch 'move_components' into 'master'
Move local variables in components

See merge request OpenMW/openmw!3790
2024-01-20 15:53:07 +00:00
psi29a
f7c819a118 Merge branch 'waterculling' into 'master'
Don't use height cull callback when there's no terrain

See merge request OpenMW/openmw!3787
2024-01-20 15:52:59 +00:00
psi29a
c23cd8e544 Merge branch 'umlautontherocks' into 'master'
Convert strings in nif files to utf8

Closes #7780

See merge request OpenMW/openmw!3783
2024-01-20 11:56:59 +00:00
elsid
b96e32144c
Support lldb in crash catcher 2024-01-19 21:11:23 +01:00
elsid
0095cb604f
Handle sysctl errors without assert 2024-01-19 21:11:20 +01:00
elsid
4efc0e20a3
Report errors on handling the crash 2024-01-19 21:00:33 +01:00
elsid
acb246cbf2
Report errors on printing gdb info 2024-01-19 21:00:33 +01:00
elsid
140cc53b55
Report errors on installing crash handler 2024-01-19 21:00:33 +01:00
elsid
2ef286b27a
Make sure function handling crash does not return 2024-01-19 21:00:33 +01:00
elsid
fffc6101b7
Remove unnecessary nesting 2024-01-19 21:00:32 +01:00
elsid
55501a02c0
Define only one crashCatcherInstall function 2024-01-19 21:00:32 +01:00
elsid
fc12728d25
Move crash_switch variable to cpp file 2024-01-19 21:00:32 +01:00
elsid
8348557893
Move crash handling out of crash handler installation 2024-01-19 21:00:32 +01:00
elsid
7763fe73d8
Make it clear handled signals are always the same 2024-01-19 21:00:32 +01:00
elsid
d54bb5cb5a
Declare variables closer to where they are used 2024-01-19 21:00:29 +01:00
elsid
d6f1fbe2c9
Remove unused user info function 2024-01-19 19:22:15 +01:00
elsid
388a73376c
Use std::optional for siginfo 2024-01-19 19:22:15 +01:00
elsid
c95c8fcc36
Add missing description for SIGABRT 2024-01-19 19:22:15 +01:00
elsid
48c3268bcb
Reduce code duplication for finding signal description 2024-01-19 19:22:14 +01:00
elsid
98844a692d
Regroup crash catcher includes 2024-01-19 19:21:01 +01:00
Andrei Kortunov
87c9f395f1 Move local variables in components 2024-01-19 16:01:48 +04:00
Alexei Kotov
e997c44db6 Restore unwrapped Bullet triangle shape shallow copying 2024-01-19 12:53:35 +03:00
Alexei Kotov
ffa52dfe7c Don't use height cull callback when there's no terrain 2024-01-19 12:24:15 +03:00
psi29a
7c14bac7c2 Merge branch 'load_save_composites' into 'master'
Write AiSequence and Script data field by field via decompose function

See merge request OpenMW/openmw!3770
2024-01-19 08:31:43 +00:00
psi29a
c84386aa4b Merge branch 'fix_navigator_update' into 'master'
Fix navmesh update on player changing tile

See merge request OpenMW/openmw!3756
2024-01-19 08:30:22 +00:00
psi29a
6b9fd12ab7 Merge branch 'fix_ubsan_warnings' into 'master'
Fix ubsan warnings

See merge request OpenMW/openmw!3772
2024-01-19 08:29:23 +00:00
elsid
35d9b18b4c
Add type for normalized VFS path and use for VFS::Manager file map key
This will reduce the number of path normalizations while more places will use
this type. In some cases it also will reduce number of temporary allocations for
new strings.

For now make conversion from and to std::string_view implicit to allow gradual
migration to this type.
2024-01-18 00:03:06 +01:00
Evil Eye
48db113149 Address feedback 2024-01-17 18:10:42 +01:00
Evil Eye
27fa411f4f Convert strings in nif files to utf8 2024-01-16 20:56:58 +01:00
elsid
a2147d70cc
Use forward declaration for some VFS types
This will allow to save on preprocessed code size in the future changes.
2024-01-16 01:32:11 +01:00
elsid
4d6350539c
Move FindLowestUnusedTexUnitVisitor to unnamed namespace
It's not used anywhere except this translation unit so no need to make the
symbol available everywhere else.
2024-01-15 22:23:59 +01:00
elsid
6451750890
Write AiSequence and Script data field by field via decompose function
Use the same function to load and save to have single place with field order
definition. Use concepts for overload over different types.
2024-01-14 23:04:56 +01:00
psi29a
4f21ea2eae Merge branch 'rm_redundant_ctors' into 'master'
Remove redundant SizeProxy and RenderTarget constructors

See merge request OpenMW/openmw!3769
2024-01-13 09:51:10 +00:00
psi29a
8dbadd660e Merge branch 'pregenerate_glow_textures' into 'master'
Pregenerate glow texture names

See merge request OpenMW/openmw!3768
2024-01-13 09:50:47 +00:00
uramer
b9afd7245c Create separate UI api tables for menu and player contexts 2024-01-13 10:13:13 +01:00
elsid
dd706aab0e
Add missing SubPass::mMinMap initialization 2024-01-13 01:08:57 +01:00
AnyOldName3
e0eb3feb89 Use OSG_PLUGIN_PREFIX instead of CMAKE_SHARED_MODULE_PREFIX
Logic to generate it copied from OSG's CMake instead of guessed.
2024-01-12 23:49:53 +00:00
uramer
7cc0eae461 Fix Menu Lua settings reset between states 2024-01-13 00:46:24 +01:00
AnyOldName3
62f5c46f25 Split list in CMake instead of C++
That avoids the need for constexpr work, and therefore the need for an MSVC-specific extension
2024-01-12 23:43:14 +00:00
AnyOldName3
de107c6a98 Add missing _view 2024-01-12 23:43:14 +00:00
AnyOldName3
ef65f0c70d Make OSG plugin checker barely functional
* Work out what module filenames should be in CMake, and give those to C++
* Compare just the module filenames instead of the full strings
* Deal with OSG trying to support both UTF-8 and system-eight-bit-code-page file paths on Windows.
* Add a comment complaining about the constexpr situation.
* Use a stub implementation when using static OSG - apparently we don't actually support mixing and matching static and dynamic OSG plugins even though OSG itself does.
2024-01-12 23:43:14 +00:00
AnyOldName3
c2d1a4c861 Initial stab at OSG plugin checker
It doesn't work yet due to osgDB::listAllAvailablePlugins returning a list of paths to dynamic libraries.
That means:
* the check fails when the required plugin is linked statically.
* we're going to have to do something to slice up the filenames.
* there'll probably be unicode errors when the OpenMW installation path isn't representable by the current eight-bit code page on Windows.

Alternatively, we can switch to listing the required file extension support, and use osgDB::Registry::instance()->getReaderWriterList() and each element's supportedExtensions() function, but I don't think we've actually got that list of extensions anywhere and it might get desynced with the existing list of plugins if we add more.
2024-01-12 23:43:14 +00:00
elsid
1bfcfaff34
Use proper naming for member variable 2024-01-12 03:40:54 +01:00
elsid
35da9f8c50
Remove redundant SizeProxy and RenderTarget constructors 2024-01-12 01:49:17 +01:00
elsid
3ad79e3b3e
Pregenerate glow texture names
To avoid strings generation and allocations every time model is added to a
scene.
2024-01-11 23:54:20 +01:00
Evil Eye
1880894f4a Use ciEqual to detect missing content files 2024-01-11 19:05:37 +01:00
Evil Eye
2fc87efa8f Merge branch 'cleanup_navmesh_updater' into 'master'
Cleanup navmesh updater

See merge request OpenMW/openmw!3763
2024-01-11 17:50:12 +00:00
Yury Stepovikov
52623ddd7d Set MacOS current_path before reading configuration files [#7706] 2024-01-11 00:59:27 +00:00
uramer
dd6017e81e Avoid making engine handler methods public 2024-01-11 00:55:29 +01:00
uramer
4ed2af7666 Merge branch 'master' into menuscripts 2024-01-10 23:21:42 +01:00
uramer
1afc7ecd58 Test Lua widgets for text inputs correctly 2024-01-10 23:13:27 +01:00
uramer
79deb5f559 Remove settings pages in Lua 2024-01-10 23:13:27 +01:00
uramer
2107bbc01d Reuse input engine handlers in menu scripts 2024-01-10 23:13:23 +01:00
uramer
962ecc4329 Allow menu scripts to read global sections while a game is loaded 2024-01-10 22:28:57 +01:00
Andrei Kortunov
0e1bb45345 Cleanup navmesh updater 2024-01-10 15:28:26 +04:00
Alexei Kotov
78d8cf86c3 Merge branch 'pickme' into 'master'
Override launcher file info with higher priority info

Closes #7733 and #7103

See merge request OpenMW/openmw!3743
2024-01-09 21:42:45 +00:00
Evil Eye
d05f5e84ff Merge branch 'missing_assert' into 'master'
Add missing assertion

See merge request OpenMW/openmw!3751
2024-01-09 18:17:31 +00:00
Evil Eye
0db8026356 Stop adding and deleting rows 2024-01-09 17:45:48 +01:00
Evil Eye
672cefd594 Track checked EsmFile pointers instead of full paths 2024-01-09 17:40:14 +01:00
Evil Eye
521394d67b Override launcher file info with higher priority info 2024-01-09 17:40:14 +01:00
elsid
69cf507db8
Fix navmesh update on player changing tile
In cases when objects are not present on the scene (e.g. generated exterior
cells) navmesh is not updated because area that suppose to be covered with it
was not updated. It was updated only during cell change. This is a regression
from d15e1dca84.

Set TileCachedRecastMeshManager range on NavMeshManager update to make sure it
always covers correct area around player.

Return a union of objects, heightfields and water ranges from
getLimitedObjectsRange intersected with range provided above.
2024-01-09 01:18:45 +01:00
Andrei Kortunov
d1a7dfee87 Add missing assertion 2024-01-08 16:19:40 +04:00
jvoisin
57066bcac1 Merge branch 'more_cleanup' into 'master'
Code cleanup

See merge request OpenMW/openmw!3746
2024-01-08 11:35:24 +00:00
uramer
a6e2ceebb8 Don't clear menu UI on game load 2024-01-07 23:29:20 +01:00
uramer
d1268acf95 Merge branch 'master' into menuscripts 2024-01-07 23:15:21 +01:00
jvoisin
bb22c6e739 Merge branch 'navmesh_cleanup' into 'master'
Small cleanup for navmesh related code

See merge request OpenMW/openmw!3734
2024-01-07 22:14:52 +00:00
Alexei Kotov
14c8103a9e Merge branch 'dripdrop' into 'master'
Drop support for save game format 4

Closes #6624

See merge request OpenMW/openmw!3737
2024-01-07 18:01:20 +00:00
elsid
b0b6c48a88
Add clarifying comments to detournavigator coordinates conversion functions 2024-01-07 17:57:53 +01:00
elsid
afd6f0739c
Format box shape indices grouping by triangle 2024-01-07 17:57:53 +01:00
Andrei Kortunov
828c40c710 Do not copy due to auto misuse 2024-01-07 18:52:10 +04:00
psi29a
bfb60c5504 Merge branch 'compileerror' into 'master'
Contect selector: fix ESM date and version data encoding/decoding (#7764)

Closes #7764

See merge request OpenMW/openmw!3742
2024-01-07 14:15:52 +00:00
Alexei Kotov
327fafe739 Contect selector: fix ESM date and version data encoding/decoding (#7764) 2024-01-07 07:16:42 +03:00
Alexei Kotov
bd2ea715b4 Bring ESM4 head part reading up-to-date with FO76 2024-01-07 04:55:39 +03:00
Alexei Kotov
0b63fafc6d Bring ESM4 global variable reading up-to-date with FO76 2024-01-07 04:55:39 +03:00
Alexei Kotov
f9825328d2 Bring ESM4 texture set reading up-to-date with FO76 2024-01-07 04:55:39 +03:00
Alexei Kotov
18982ea4a0 Read FO76 plugin header 2024-01-07 04:55:39 +03:00
Evil Eye
a11ff46e82 Drop support for save game format 4 2024-01-06 14:59:22 +01:00
psi29a
21f177daac Merge branch 'shininess' into 'master'
Silence OSG shininess limit warnings

See merge request OpenMW/openmw!3725
2024-01-06 11:26:40 +00:00
psi29a
459aa69b87 Merge branch 'clampunclamped' into 'master'
Manually clamp controller time (#7523)

Closes #7523

See merge request OpenMW/openmw!3713
2024-01-05 09:43:23 +00:00
Alexei Kotov
c5a3b516d6 Merge branch 'init_variables' into 'master'
Add missing initialization

See merge request OpenMW/openmw!3722
2024-01-04 20:31:55 +00:00
Alexei Kotov
3ba03782c0 Silence OSG shininess limit warnings 2024-01-04 01:02:33 +03:00
Andrei Kortunov
8d3efd27ba Add missing initialization 2024-01-03 19:25:33 +04:00
Alexei Kotov
b132fd4373 Merge branch 'lua_action_fixes' into 'master'
Lua Action fixes

See merge request OpenMW/openmw!3717
2024-01-03 15:19:18 +00:00
Alexei Kotov
19a6fd4e1b Merge branch 'display_esm_version' into 'master'
Improve format version in content selector

See merge request OpenMW/openmw!3709
2024-01-02 17:32:21 +00:00
uramer
e9b48e35c0 Coverity defects 2024-01-02 13:54:02 +01:00
uramer
1d8ee7984f Make input.triggers[] consistent with input.actions[] 2024-01-02 13:45:45 +01:00
Alexei Kotov
04b714198a Manually clamp controller time (#7523) 2024-01-01 20:59:33 +03:00
Andrei Kortunov
93e50cc7aa Improve format version in content selector 2024-01-01 18:16:58 +04:00
Evil Eye
b835114ce2 Prevent input type assertion 2024-01-01 12:48:12 +01:00
Evil Eye
e63933efa6 Use NAM9 for stack count 2023-12-31 17:12:46 +00:00
Evil Eye
c97d0b5252 Merge branch 'weather' into 'master'
Make rain and snow ripple settings global rather than per-weather (#7748)

See merge request OpenMW/openmw!3706
2023-12-31 11:01:14 +00:00
psi29a
67955ac55f Merge branch 'treejunk' into 'master'
Discard additional tokens in non-expression contexts

See merge request OpenMW/openmw!3700
2023-12-30 09:42:26 +00:00
psi29a
cb24475662 Merge branch 'what-a-selection-you-have' into 'master'
Feat(CS): Add More Selection Controls

See merge request OpenMW/openmw!3674
2023-12-30 09:40:29 +00:00
Alexei Kotov
640fa53bb8 Make rain and snow ripple settings global rather than per-weather (#7748) 2023-12-30 04:24:18 +03:00
Evil Eye
01eb333fad Merge branch 'generic_object_cache' into 'master'
Refactor GenericObjectCache and add unit tests

See merge request OpenMW/openmw!3689
2023-12-29 21:22:30 +00:00
psi29a
e9f3e5c6d1 Merge branch 'lua_actions_electric_boogaloo' into 'master'
Lua actions take 3

See merge request OpenMW/openmw!2628
2023-12-29 18:56:59 +00:00
uramer
0e2e386dc9 Lua actions take 3 2023-12-29 18:56:59 +00:00
elsid
7a817d3147
Apply project naming styleguide to GenericObjectCache 2023-12-28 21:58:42 +01:00
elsid
45b1b4f1e0
Remove redundant ObjectCacheMap alias 2023-12-28 21:58:42 +01:00
elsid
7b1ee2780b
Use ranged for loops in GenericObjectCache 2023-12-28 21:58:42 +01:00
elsid
2f0613c8d4
Remove user defined destructor for GenericObjectCache 2023-12-28 21:58:42 +01:00
elsid
fd2fc63dd3
Support heterogeneous lookup in GenericObjectCache 2023-12-28 21:58:41 +01:00
elsid
56401a90a1
Merge GenericObjectCache update and remove functions
They are always called together. Single iteration over the items is more
efficient along with locking the mutex only once.
2023-12-28 21:58:33 +01:00
Evil Eye
02775c490b Discard additional tokens in non-expression contexts 2023-12-28 21:49:25 +01:00
alekulyn
f71862fb76 Remove unnecessary code 2023-12-27 22:30:04 -06:00
alekulyn
310b8206dd Fix #7696 2023-12-27 22:15:48 -06:00
Alexei Kotov
f1782ad8df Merge branch 'rm_unused_vfs' into 'master'
Remove unused vfs argument from correctMeshPath

See merge request OpenMW/openmw!3691
2023-12-27 17:23:16 +00:00
Evil Eye
c6e5a28241 Merge branch 'crime_disposition' into 'master'
Implement crime disposition modifier

Closes #4683

See merge request OpenMW/openmw!3448
2023-12-27 11:53:56 +00:00
AnyOldName3
a497d40689 Merge branch 'vfs_string_view' into 'master'
Use string_view for VFS (#6125)

See merge request OpenMW/openmw!3688
2023-12-26 18:40:25 +00:00
AnyOldName3
4567374e1f Merge branch 'localize_tooltip' into 'master'
Make content selector tooltip localizable

See merge request OpenMW/openmw!3687
2023-12-26 18:38:35 +00:00
jvoisin
c3dfc8c213 Merge branch 'detour_alloc' into 'master'
Use RecastGlobalAllocator for Detour

See merge request OpenMW/openmw!3678
2023-12-26 13:44:00 +00:00
elsid
81a483fc7f
Remove unused vfs argument from correctMeshPath 2023-12-26 14:14:52 +01:00
psi29a
5d53eb7566 Merge branch 'russianroulette' into 'master'
BulletNifLoader: Handle NiSkinPartition, reduce false-positive collision generation for NiSwitchNode children

See merge request OpenMW/openmw!3634
2023-12-26 10:33:20 +00:00
psi29a
ff514df5a1 Merge branch 'distortion' into 'master'
Distortion

See merge request OpenMW/openmw!3536
2023-12-26 10:31:51 +00:00
Andrei Kortunov
ffffb427f5 Implement crime disposition modifier (bug 4683) 2023-12-26 14:04:23 +04:00
elsid
851bad4262 Merge branch 'precipitationripples' into 'master'
Use fallback weather ripple settings (bug #7292)

Closes #7292

See merge request OpenMW/openmw!3671
2023-12-26 09:51:23 +00:00