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

7162 commits

Author SHA1 Message Date
elsid
4f683d1ee9
Throw exception on failed write 2023-02-11 15:14:02 +01:00
psi29a
5f1da29881 Merge branch 'bsapriority' into 'master'
Files::Collections: prefer files from highest priority folders (bug #7092)

Closes #7092

See merge request OpenMW/openmw!2716
2023-02-11 10:50:55 +00:00
psi29a
83894bae8a Merge branch 'nif' into 'master'
Add NiTriBasedGeomData abstraction, bring NiVertexColorProperty to modern standards

See merge request OpenMW/openmw!2714
2023-02-11 10:33:08 +00:00
Alexei Kotov
536370c76d Files::Collections: prefer files from highest priority folders 2023-02-11 01:25:00 +03:00
Alexei Kotov
99aa90f90c Rewrite NiVertexColorProperty 2023-02-11 00:58:13 +03:00
Alexei Kotov
d39127cc3d Add NiTriBasedGeomData abstraction 2023-02-10 23:06:56 +03:00
elsid
080700f8fe
Name all custom ESM format versions and add tests 2023-02-10 19:54:15 +01:00
psi29a
de2bd6d802 Merge branch 'nistringpalette' into 'master'
Fix NiStringPalette loading again

See merge request OpenMW/openmw!2703
2023-02-10 07:46:39 +00:00
AnyOldName3
8ea2e15446 clang-format some more
LLVM shouldn't make me download everything they've ever made in the same
package as clang-format.
2023-02-10 00:40:48 +00:00
AnyOldName3
83b940397e AdD lInE bReAk ThAt ClAnG-fOrMaT wAnTeD 2023-02-10 00:12:55 +00:00
Alexei Kotov
a4ddf443ed Fix NiStringPalette loading 2023-02-09 21:10:25 +03:00
Alexei Kotov
c8430ee6c8 Clean up fillTriangleMesh for NiTriStrips 2023-02-09 20:24:05 +03:00
AnyOldName3
7d4410d4fb Use reserveGlobalTextureUnits for shadow maps 2023-02-09 01:32:48 +00:00
psi29a
a41cbfb349 Merge branch 'candles' into 'master'
Read NiBlendInterpolator records, fill in NiControllerManager fields

See merge request OpenMW/openmw!2700
2023-02-08 22:24:37 +00:00
elsid
2c43a8558a
Add option to disable debug log for unsupported nif files
It becomes quite extensive and not very useful when loading oblivion content
files.
2023-02-08 22:59:29 +01:00
Alexei Kotov
d7834c43e5 Fill in NiControllerManager fields 2023-02-09 00:06:08 +03:00
Alexei Kotov
091fcd837e Read all the NiBlendInterpolator record types 2023-02-09 00:06:08 +03:00
Alexei Kotov
7ecf018743 Add NiBlendInterpolator 2023-02-08 22:58:47 +03:00
elsid
02ada74fa1
Do not try to dereference nullptr in object cache 2023-02-08 20:19:59 +01:00
Alexei Kotov
41d6ccd3f6 Read NiDefaultAVObjectPalette 2023-02-08 15:08:52 +03:00
psi29a
5f9332751c Merge branch 'roottrafo' into 'master'
Don't discard root node transformations for Gamebryo meshes

See merge request OpenMW/openmw!2697
2023-02-08 11:32:16 +00:00
Alexei Kotov
b14d1f0c6b Don't discard root node transformations for Gamebryo meshes 2023-02-08 14:20:42 +03:00
Alexei Kotov
8ebdd1e4a5 Fix material data loading for 10.0.1.0 2023-02-08 13:46:54 +03:00
Alexei Kotov
115c30a573 Read bhkConvexTransformShape 2023-02-08 13:26:26 +03:00
AnyOldName3
9be3d2668a Break out of loops when uniform is found 2023-02-07 22:19:53 +00:00
Alexei Kotov
9f28a26b25 Read NiSequence/NiControllerSequence 2023-02-08 01:03:11 +03:00
psi29a
944931c9bf Merge branch 'load_esm4_lights' into 'master'
Adds ESM4 light into ESM4 Cells

See merge request OpenMW/openmw!2692
2023-02-07 16:50:10 +00:00
florent.teppe
486d15b19e moved light common to its own file
moved esm4light to it's own file
2023-02-07 16:29:17 +01:00
florent.teppe
dc961e3189 Adds the light into the scene.
Common struct for ESM3 and ESM4 light
2023-02-07 10:07:59 +01:00
elsid
627bed09ee
Remove redundant operator<< overloads from Log 2023-02-06 21:18:35 +01:00
psi29a
a0795ba7ae Merge branch 'launch_fix' into 'master'
Fix some non-ASCII path issues

Closes #6817

See merge request OpenMW/openmw!2686
2023-02-06 19:50:30 +00:00
florent.teppe
a71a86e64a Load light models in the engine. Doesn't emit light 2023-02-06 20:22:17 +01:00
psi29a
15b3af92df Merge branch 'macos_lua_fix' into 'master'
make sure lua works with macos packages

See merge request OpenMW/openmw!2687
2023-02-06 18:53:19 +00:00
psi29a
4f001d8736 Merge branch 'qt6' into 'master'
Add an initial Qt6 support

See merge request OpenMW/openmw!2684
2023-02-06 16:55:20 +00:00
Andrei Kortunov
7e2aedf637 Add an initial Qt6 support 2023-02-06 18:38:59 +04:00
Bret Curtis
a708fb4a5c make sure lua works with macos packages 2023-02-06 14:35:22 +01:00
Andrei Kortunov
8925f854e7 Fix non-ASCII path logging 2023-02-06 15:12:24 +04:00
Andrei Kortunov
5836d27928 Fix ContentSelector usage with non-ASCII paths 2023-02-06 13:36:02 +04:00
psi29a
4032c447e9 Merge branch 'load-ESM4-Cell' into 'master'
Can load and coc into an interrior oblivion cell

See merge request OpenMW/openmw!2647
2023-02-06 08:56:23 +00:00
glassmancody.info
e778ffee9b po2 scaling for average luminance 2023-02-05 12:30:38 -08:00
elsid
e92ada09af
Replace QRegExp by QRegularExpression 2023-02-05 13:30:26 +01:00
AnyOldName3
80d6f6bc97 Add line break that clang-format wanted 2023-02-05 02:07:00 +00:00
AnyOldName3
0edc8fc77d Don't use FFP-friendly texture image units for shadow maps
This more-or-less gets rid of the shadow system's only depencency on FFP
stuff. All that remains is it using OSG cameras, which OSG provides a
uniform-based implementation of, too, which we can trivially migrate to.

This should mean we're not eating any of the ~8 FPP-friendly texture
units, which is good as Morrowind models can use all of those on their
(although they very rarely do), and instead use some of the ~160
shader-only texture image units. This just requires not calling
glEnable(GL_TEXTURE_2D), accomplished by changing
setTextureAttributeAndModes to setTextureAttribute.

Also changes from using glTexGen and its eye plane matrices to pass the
shadow space matrix for each light to explicit uniforms. Thankfully, the
maths was a simple combination of the valid region matrix and eye plane
matrix maths.

As of this commit, I believe this kills shadows in one eye for stereo
rendering.
2023-02-05 00:40:33 +00:00
psi29a
aee7716c3a Merge branch 'launcher_typed_settings' into 'master'
Typed launcher settings

See merge request OpenMW/openmw!2650
2023-02-04 23:41:59 +00:00
florent.teppe
084207af64 Avoids a lot a special cases for ESM3 vs ESM4 cells. 2023-02-04 23:25:06 +01:00
florent.teppe
1caed2de2a Applies some review comments.
Proper visit for ESM::CellVariant

Fixed MWWorldCell constructor
2023-02-04 17:09:54 +01:00
elsid
f1dbd9b959
Fix -Wduplicated-branches warnings 2023-02-04 00:10:30 +01:00
elsid
c79c14da91
Fix -Wnon-virtual-dtor warnings 2023-02-03 23:00:09 +01:00
psi29a
00978ed7a4 Merge branch 'wherefore_art_thou_horatius' into 'master'
Fix global variable replacement in dialogue

Closes #7197

See merge request OpenMW/openmw!2675
2023-02-01 23:38:32 +00:00
psi29a
68b3b90255 Merge branch 'ui_content_leak' into 'master'
Move implementation of UI Content to Lua (#7155)

See merge request OpenMW/openmw!2661
2023-02-01 22:51:47 +00:00
Evil Eye
8d2b5ed8ee Combine initializer_lists 2023-02-01 22:27:22 +01:00
Evil Eye
d3bc79e9b2 Reduce code duplication 2023-02-01 21:57:50 +01:00
Evil Eye
32ac7406ab Fix global variable replacement in dialogue 2023-02-01 17:49:11 +01:00
Evil Eye
571e11cd42 Restore 0936d716d96cd45b3efc2d1a3697614f7f96952d 2023-02-01 17:26:39 +01:00
uramer
e96681151c Get rid of the LuaUI::Content namespace 2023-02-01 17:18:50 +01:00
uramer
d24c506b0e Move metatable protection asserts to tests 2023-02-01 16:34:32 +01:00
uramer
2a35bae655 Use range_error for invalid indexes 2023-02-01 16:24:58 +01:00
uramer
fb0646dda1 Remove Ui Content counter in Lua profiler 2023-01-31 19:52:28 +01:00
uramer
bbbef96087 Switch to loadInternalLib 2023-01-31 19:50:33 +01:00
uramer
c7b0c0a406 Protecd UI Content's metatable 2023-01-30 23:22:18 +01:00
florent.teppe
4e7cde5d72 applied some review changes.
crashfix tests
2023-01-30 20:49:34 +01:00
psi29a
92f88c16a9 Merge branch 'remove-strerror' into 'master'
Remove strerror usages

Closes #7151

See merge request OpenMW/openmw!2664
2023-01-30 17:09:39 +00:00
psi29a
bc90636316 Merge branch 'fix-7117' into 'master'
Replace boost::scoped_array with std::vector

Closes #7117

See merge request OpenMW/openmw!2662
2023-01-30 14:12:04 +00:00
psi29a
ef0a81e811 Merge branch 'integration_tests_crash_log' into 'master'
Use proper log paths and print crash log in integration tests CI job

See merge request OpenMW/openmw!2668
2023-01-30 12:12:21 +00:00
Petr Mikheev
3096111abb Merge branch 'docs_fixes' into 'master'
Documentation and API fixes (part of !2529)

See merge request OpenMW/openmw!2649
2023-01-30 10:13:26 +00:00
uramer
c17eedd348 Documentation and API fixes (part of !2529) 2023-01-30 10:13:26 +00:00
elsid
c44bc5ade5
Setup logging with properly initialized configuration manager
Default constructed instance may provide different paths from initialized one.
2023-01-30 09:30:55 +01:00
elsid
007ad4e4d1
Write crash log to temporary directory
To make sure current user has rights to do so.
2023-01-30 09:30:55 +01:00
Andrzej Głuszak
9b0a499b58 Remove strerror usages 2023-01-29 22:41:59 +01:00
Andrzej Głuszak
c9e5f0208d Replace boost::scoped_array with std::vector 2023-01-29 20:40:07 +01:00
uramer
259f104311 Clean up 2023-01-29 19:40:13 +01:00
uramer
749c89e26e Add missing to_string 2023-01-29 19:28:54 +01:00
uramer
3618b3f409 Fix Content::View::remove 2023-01-29 18:52:18 +01:00
uramer
fc1430af95 Move implementation of UI Content to Lua 2023-01-29 17:07:38 +01:00
psi29a
3a9a60a453 Merge branch 'esmtool_esm4_globals' into 'master'
Support more fields in esmtool for ESM4

See merge request OpenMW/openmw!2659
2023-01-29 11:30:01 +00:00
florent.teppe
ebfee18e35 implements std::visit for CellVariant, fixes struct vs class forward decl 2023-01-29 11:28:39 +01:00
florent.teppe
aa29f86efe fixed struct vs class. 2023-01-29 10:59:39 +01:00
elsid
d541436b15
Support parent, type and value fields in esmtool for ESM4 2023-01-29 03:02:00 +01:00
elsid
e7acced5e9
Move metafunctions to check ESM4 field existence to a separate header 2023-01-29 03:00:48 +01:00
elsid
5bb088218e
Restore original formId
To make sure esmtool prints original value and not a result of conversion.
2023-01-29 02:35:06 +01:00
florent.teppe
f9da66e9ee Greatly improved how the variant on MWWorld::CellRef works 2023-01-28 18:57:55 +01:00
florent.teppe
216ca71149 Applied review comments
getEditorName => getNameId
restored cosntructor in CoordinateConverter
2023-01-28 12:14:00 +01:00
florent.teppe
e6e27413d9 gives MWWorld::CellRef the MWWorld::Cell treatment
MWWorld::CellRef now has a variant, and datas that are part of the intersection of both ESM4::Reference and ESM::CellRef are part of MWWorld::CellRef

For ESM4 most data isn't filled in, so it returns default values.
2023-01-27 19:40:45 +01:00
elsid
8be2fc9fd7
Stop updating navmeshtool progress on first bad message 2023-01-27 19:10:53 +01:00
florent.teppe
23614ae2ae Renamed esm3esm4bridge => esmbridge 2023-01-27 18:40:15 +01:00
florent.teppe
5037dcf9bc Fixes a crash on launch and some compile issue
also uses std::visit in cellstore comparison to avoid missing combinasion

split loadrefs in loadref of ESM4 and ESM3.
2023-01-27 16:41:00 +01:00
florent.teppe
cb8cdd8831 ESM::CellVariant aans MWWorld:Cell now take reference in constructor: signals that nullptr isn't accepted.
also applied other review comments.
2023-01-27 14:07:50 +01:00
florent.teppe
531e55e04c Better handling of the esm3 vs esm4 cell problem
Common attribute are in one structure that has two constructors, one for ESM3 vs ESM4 Cell
Mood part of MWWorld::Cell
2023-01-27 13:39:39 +01:00
elsid
cf75363290
Typed launcher settings
QMultiMap is not clear about what settings exist and it's not efficient way to
access them after they are loaded.
2023-01-27 12:42:05 +01:00
elsid
0961720835
Join path components using path::operator/ instead of string::operator+ 2023-01-27 01:07:15 +01:00
florent.teppe
3515c8e61a Static references are created as refcells, nothing displayed yet. 2023-01-26 22:37:32 +01:00
florent.teppe
c896a2ca48 Crashfix on launch 2023-01-26 22:37:32 +01:00
florent.teppe
0018bcf7de Should make cellvariant safer to use.
Hopefully clang tidy agrees.
2023-01-26 22:37:32 +01:00
florent.teppe
e81e278363 Implements some cell params + linux compile fix 2023-01-26 22:37:31 +01:00
florent.teppe
562e129bd0 encapsulations of esm3 cell and esm4 cells. 2023-01-26 22:37:31 +01:00
florent.teppe
08b68fcd48 Cannot load a cell yet, but getting more necessary parts in 2023-01-26 22:36:11 +01:00
Evil Eye
d40a9ec5bc Use worldspace coords in AiWanderStorage 2023-01-23 21:06:50 +01:00
psi29a
1422053fa9 Merge branch 'more_uniforms' into 'master'
[Postprocessing] Add sky and ambient colors

See merge request OpenMW/openmw!2638
2023-01-21 22:42:21 +00:00
psi29a
eb853b1315 Merge branch 'ptmikheev-master-patch-34687' into 'master'
Fix constexprant

See merge request OpenMW/openmw!2643
2023-01-21 22:42:03 +00:00
Petr Mikheev
24ef6d29d4 Fix constexprant 2023-01-21 21:58:17 +00:00
florent.teppe
a4137e941c std::string_view can be used in map and unordered map
This avoids some unecessary dynamic allocations.
Also applies some review advice.
2023-01-21 19:19:26 +01:00
florent.teppe
63e44eddc9 Navigator doesn't use RefId anymore 2023-01-21 18:39:57 +01:00
florent.teppe
150e2ba885 Revert "Use ESM::RefId for worldspace in detournavigator"
This reverts commit b4ab153418.

# Conflicts:
#	apps/navmeshtool/worldspacedata.cpp
2023-01-21 18:39:57 +01:00
florent.teppe
3780033837 Reverts Cell name to a string 2023-01-21 18:39:42 +01:00
glassmancody.info
564c408663 expose more uniforms to postprocessing 2023-01-20 17:43:54 -08:00
Petr Mikheev
95999afefd Apply clang-format to the previous commit 2023-01-20 23:44:12 +01:00
Petr Mikheev
ca48b778c3 Merge branch 'addutils' into 'master'
Add remap and round to lua utils

See merge request OpenMW/openmw!2605
2023-01-20 22:28:34 +00:00
Kindi
07da7eddea Add remap and round to lua utils 2023-01-20 22:28:34 +00:00
elsid
dd89403df0
Move ensureUtf8Encoding to named namespace
To follow https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#sf21-dont-use-an-unnamed-anonymous-namespace-in-a-header

Add QtGlobal include to define QT_VERSION and QT_VERSION_CHECK macroses before
they're used.
2023-01-18 22:58:35 +01:00
psi29a
ee980721b8 Merge branch 'debug_lua_memory' into 'master'
Additional information in Lua profiler

See merge request OpenMW/openmw!2612
2023-01-18 14:33:05 +00:00
psi29a
fbeacc1e0f Merge branch 'navigator_check_agent_bounds' into 'master'
Check agent bounds on adding agent to navigator

See merge request OpenMW/openmw!2629
2023-01-18 14:31:22 +00:00
psi29a
54c18ea86d Merge branch 'change-const-to-constexpr' into 'master'
change const to constexpr

Closes #6797

See merge request OpenMW/openmw!2630
2023-01-18 14:30:36 +00:00
elsid
cf1d8544e3
Check agent bounds on adding agent to navigator
Do not add agent bounds which are not supported by recastnavigation with given
settings and log such events.

To avoid reaching navmesh tile generation to find out it can't be generated for
such agent bounds.
2023-01-18 12:00:48 +01:00
James-Deciutiis
4e61fec14d change const to constexpr 2023-01-17 19:31:52 -08:00
Andrei Kortunov
ee9ab8d393 Use STL-style iterators instead of Java-style ones 2023-01-15 20:23:18 +04:00
Andrei Kortunov
792feae39e Do not use deprecated implicit conversion 2023-01-15 20:23:18 +04:00
Andrei Kortunov
0864d997d0 Add missing includes 2023-01-15 20:09:56 +04:00
psi29a
a7a89ba7c1 Merge branch 'launcher' into 'master'
Rework how OpenMW launcher looks

Closes #6922

See merge request OpenMW/openmw!2587
2023-01-15 16:00:59 +00:00
psi29a
dc3ec1a0a0 Merge branch 'mwscript' into 'master'
Multiple mwscript optimizations and some refactoring

See merge request OpenMW/openmw!2600
2023-01-15 15:59:30 +00:00
psi29a
32733d23fa Merge branch 'xanim' into 'master'
X-file handling fixes (bug #5371)

Closes #5371

See merge request OpenMW/openmw!2614
2023-01-15 15:57:27 +00:00
Andrei Kortunov
902c48d1bb Rework launcher UI 2023-01-15 12:36:08 +04:00
elsid
44429f0393
Limit NavMeshManager update range by player tile and max tiles
Object AABB may be much larger than area currently covered by navmesh. In this
case all tiles beyond covered range should be ignored. Attempt to iterate over
them will not result in any new tile updates but can take quite a while. At
maximum this can be pow(INT_MAX - INT_MIN, 2) iterations.

Use arbitrary time limit to check for update call to finish in the test.
2023-01-15 04:46:29 +01:00
Alexei Kotov
6ff9b5d326 Make use of ends_with for KF 2023-01-15 01:48:06 +03:00
Alexei Kotov
434b4deda1 Don't use xkf if xnif is merely the base model (bug #5371) 2023-01-14 04:55:12 +03:00
Alexei Kotov
4d0788e016 Use xnif if its xkf is present even if xnif isn't 2023-01-14 03:35:50 +03:00
elsid
d4ab1101eb
Change Interpreter type aliases to be fixed size types
Remove no longer relevant comment for float type.
2023-01-14 00:09:01 +01:00
elsid
b88f0d2dbd
Replace mwscript program serialization into a vector with simple struct
Mostly to avoid string literal lookup by index with iteration over all preciding
literals and calling strlen. This is very inefficient. In genral this makes code
much more straightforward but also makes it portable since now int and float of
different sizes are properly supported.
2023-01-14 00:07:37 +01:00
Petr Mikheev
d9e9db0983 Additional information in Lua profiler 2023-01-13 21:14:23 +01:00
psi29a
25d7ee7fdc Merge branch 'streams' into 'master'
Setup utf8qtextstream in the way consistent with other Qt components

See merge request OpenMW/openmw!2611
2023-01-13 11:23:44 +00:00
Andrei Kortunov
8da93d4b12 Setup utf8qtextstream in the way consistent with other Qt components 2023-01-13 13:10:34 +04:00
jvoisin
c90d22f3b2 Replace usage of QRegularExpression::anchoredPattern with ^ and $
Using `^` and `$` is shorter than `QRegularExpression::anchoredPattern`,
and even allows us in one case to get rid of a trailing `.*`.
2023-01-12 22:52:00 +01:00
Andrei Kortunov
bfcbc2350d Handle UTF-8 in Qt streams in the Qt6-compatible way 2023-01-12 15:39:50 +04:00
elsid
60eede6a1d
Fix variable naming styleguide 2023-01-11 23:47:42 +01:00
elsid
0ab3090385
Make Runtime::getPC and setPC inline 2023-01-11 23:47:42 +01:00
elsid
46b4427d2e
Remove user defined constructor for Runtime 2023-01-11 23:47:42 +01:00
elsid
9c8df09475
Remove user defined constructors for Interpreter 2023-01-11 23:47:42 +01:00
Andrei Kortunov
307a60e87c Migrate from QRegExp to more modern QRegularExpression 2023-01-11 11:21:46 +04:00
elsid
c173348cbe
Use default initializers for ESM::RefNum members
Instead of unset function that is removed now and assignments all over the code.
2023-01-10 00:44:51 +01:00
psi29a
6a250c5900 Merge branch 'baby_it_is_occluded_outside' into 'master'
Weather Particle Occlusion (#5492)

Closes #5492

See merge request OpenMW/openmw!1328
2023-01-07 22:18:45 +00:00
psi29a
83718878b2 Merge branch 'Load_ESM4' into 'master'
Loading ESM4 data and storing them in the ESMStore

See merge request OpenMW/openmw!2557
2023-01-07 22:17:17 +00:00
psi29a
a9d3186173 Merge branch 'fix_esm_fixed_string_warning' into 'master'
Fix gcc warning: array subscript n is outside array bounds of ‘const char [n]’

See merge request OpenMW/openmw!2585
2023-01-07 22:15:16 +00:00
Andrei Kortunov
9630246cae Sort quests in journal by name (bug 7054) 2023-01-07 18:55:51 +04:00
glassmancody.info
9a4977d334 rain occlusion 2023-01-06 22:23:03 -08:00
elsid
2bbed8cc06
Fix gcc warning: array subscript 5 is outside array bounds of ‘const char [5]’
In function ‘bool ESM::operator==(const FixedString<capacity>&, const T* const&) [with long unsigned int capacity = 5; T = char; <template-parameter-1-3> = void]’,
    inlined from ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = ESM::FixedString<5>; T2 = const char*]’ at /home/elsid/dev/googletest/build/gcc/release/install/include/gtest/gtest.h:1358:11,
    inlined from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = ESM::FixedString<5>; T2 = const char*; typename std::enable_if<((! std::is_integral<_Tp>::value) || (! std::is_pointer<_Dp>::value))>::type* <anonymous> = 0]’ at /home/elsid/dev/googletest/build/gcc/release/install/include/gtest/gtest.h:1377:64,
    inlined from ‘virtual void {anonymous}::EsmFixedString_equality_operator_for_not_convertible_to_uint32_with_const_char_pointer_Test::TestBody()’ at apps/openmw_test_suite/esm/test_fixed_string.cpp:165:9:
components/esm/esmcommon.hpp:134:19: warning: array subscript 5 is outside array bounds of ‘const char [5]’ [-Warray-bounds]
  134 |         return rhs[capacity] == '\0';
      |                ~~~^
apps/openmw_test_suite/esm/test_fixed_string.cpp: In member function ‘virtual void {anonymous}::EsmFixedString_equality_operator_for_not_convertible_to_uint32_with_const_char_pointer_Test::TestBody()’:
apps/openmw_test_suite/esm/test_fixed_string.cpp:164:20: note: at offset 5 into object ‘other’ of size 5
  164 |         const char other[5] = { 'a', 'b', 'c', 'd', '\0' };
      |                    ^~~~~
2023-01-06 22:09:07 +01:00
psi29a
55ba5ed7ea Merge branch 'mygui_log' into 'master'
Use OpenMW logging levels for MyGUI log

Closes #7130

See merge request OpenMW/openmw!2582
2023-01-06 15:09:46 +00:00
Andrei Kortunov
b217d1fc36 Use OpenMW logging levels for MyGUI log (feature 7130) 2023-01-06 16:01:30 +04:00
psi29a
0d8d15a732 Merge branch 'fixcolladaanimopbug' into 'master'
Fix Collada animated object bug #7051

Closes #7051

See merge request OpenMW/openmw!2565
2023-01-06 10:10:27 +00:00
unelsson
5b0713517a Clang-format 2023-01-05 01:40:36 +02:00
psi29a
319aa11d84 Merge branch 'l10n_rename' into 'master'
Reorganize l10n files

See merge request OpenMW/openmw!2546
2023-01-04 21:48:00 +00:00
psi29a
1e62b84f9a Merge branch 'lua_initdata' into 'master'
Allow passing `initData` to the :addSript call (#7091)

Closes #7091

See merge request OpenMW/openmw!2568
2023-01-04 14:32:23 +00:00
florent.teppe
631fa26872 Applies review advice. 2023-01-04 12:22:16 +01:00
unelsson
ba9c2c9928 Add TemplateRef to animated Collada model 2023-01-03 22:51:46 +02:00
florent.teppe
3b2d9161c4 Applied review advice
better deals with templated functions meant for esm3 used by esm4s.
simplified loading of esm4 and dealing with unhandled record types.
2023-01-02 19:20:03 +01:00
florent.teppe
e9190bedc8 Reverts useless CmakeList formatting 2023-01-02 18:35:05 +01:00
Petr Mikheev
8c7d347179 Reorganize l10n files 2023-01-02 13:21:05 +01:00
florent.teppe
077cf97bc4 The esm4 reader logic is mutualised
to avoid copy pasting code, readerutils gives functions that take visitors as params to decide how a record must be handled

Check encoder exists, and get value of stateless encoder.

fixes code formatting conventions

Fixed output of record with RefId

also fixed readTypedRecord and readRecord to have the proper return types

Check if the type has a sRecordId
2023-01-01 19:22:27 +01:00
florent.teppe
c721a6cafa Initial commit to load ESM4
Some data is actually loaded and store in ESM Store
Any new ESM4 will go through the same code path and be automatically sent to the right store
2023-01-01 16:22:57 +01:00
Petr Mikheev
b248c3e173 Allow passing initData to the :addSript call (#7091) 2022-12-31 22:08:17 +01:00
unelsson
d60fd86719 clang format 2022-12-31 00:52:05 +02:00
unelsson
c71504eeb0 Better comments 2022-12-31 00:35:50 +02:00
unelsson
4676ac4ac9 Cleaner code part 2 2022-12-31 00:35:50 +02:00
unelsson
960019cf65 Cleaner code 2022-12-31 00:35:50 +02:00
unelsson
2efc691736 clang format 2022-12-31 00:35:50 +02:00
unelsson
7ef6b3cb62 automatic clang format 2022-12-31 00:35:50 +02:00
unelsson
d8de56e33c Coding style improvements, add Torso animation layer 2022-12-31 00:35:50 +02:00
unelsson
ffc64205c5 Force collada animation layers, remove nif blend mask detection. 2022-12-31 00:35:50 +02:00
elsid
c71862a8df
Reset rcPolyMeshDetail members after rcFree
To avoid double free causing by later recastnavigation versions.
2022-12-30 19:26:48 +01:00
psi29a
e6064645db Merge branch 'esm_ref_id_refactor' into 'master'
Simplify ESM::RefId

See merge request OpenMW/openmw!2563
2022-12-30 13:27:35 +00:00
elsid
755067f0f3
Remove redundant ESM::RefId member functions 2022-12-30 00:32:47 +01:00
elsid
fe57aec2a4
Move ESM::RefId comment to make sure IDEs recognize it and show in tooltips 2022-12-30 00:04:02 +01:00
elsid
b4ab153418
Use ESM::RefId for worldspace in detournavigator 2022-12-29 23:49:49 +01:00
Petr Mikheev
b8fb013edf Merge MWLua::ObjectRegistry and MWWorld::WorldModel 2022-12-28 12:45:11 +01:00
psi29a
80e2cd79ec Merge branch 'boat_closer_to_todd' into 'master'
Ignore special characters preceding script commands

Closes #6807

See merge request OpenMW/openmw!2555
2022-12-28 11:21:24 +00:00
florent.teppe
afed7e60ef Upgraded Filesave version for RefIDs
Fix logic issue
2022-12-27 23:05:31 +01:00
florent.teppe
dc21df97c8 Fixed issue with getSummonedCreature( that returned a reference to a non const static value
Fix compile, and apply review comment

Fixed greater vs more typo.

getCellname is back to a string view.

Because in most cases was used as a strong not a refId.
and there was a fundamental issue with region names used as a cellname
2022-12-27 19:16:22 +01:00
florent.teppe
1ef1de974d script blacklist => RefId
Applies changes from review

Fixed clang format

Clang format + review.
2022-12-27 19:16:21 +01:00
florent.teppe
2c30575b3b CellName is now a RefId, makes more sense that way. 2022-12-27 19:16:21 +01:00
florent.teppe
6ff90b34a8 Fixed an issue with RefId in CellRefs where Ids wouldn't be loaded
Fixed multiple issues from the review.
2022-12-27 19:15:58 +01:00
florent.teppe
42e45723b7 Fixes issue in MW script compilation that would silently produce the wrong bytecode
Fixes issue when fetching MyGui values that were stored as RefId but fetched as String

Removed some uncessary copies, fixed issues with lowercase and uneeded changes
2022-12-27 19:15:57 +01:00
florent.teppe
e7deffb376 Adds comment that explains what RefIds are 2022-12-27 19:15:57 +01:00
florent.teppe
d49f60d2d6 To change fewer things with the master implementation, the Id isn't changed to lower case on creation
lower case utility functions used in comparison functions
2022-12-27 19:15:57 +01:00
florent.teppe
65cdd489fb create a specific esm reader function for RefID to avoid allocation for string and then again for RefId
Fixed some types

removed useless header

applied clang format

fixed compile tests

fixed clang tidy, and closer to logic before this MR

Removed hardcoded refids

unless there is a returned value we don't use static RefIds
can use == between RefId and hardcoded string

Fix clang format

Fixed a few instances where std::string was used, when only const std::string& was needed

removed unused variable
2022-12-27 19:15:57 +01:00
florent.teppe
874ff88288 In the interpretter, the id is no longer passed by vallue, but as a const reference instead.
In getMembersLocal(, a reference to a reference wrapper is used, because the id can change, bu all we need to do is change a pointer.No need to change the value
2022-12-27 19:15:56 +01:00
fteppe
c283ea0ae8 string_view& => string_view
fixed ref to temp variable
2022-12-27 19:15:56 +01:00
fteppe
7da38113be Changed more hardcoded RefId to be static to avoid multiple runtime creations
adresses multiple review comments
2022-12-27 19:15:56 +01:00
fteppe
62d8fe3fc2 changed a few hardcoded refIds used in mutliple places to be defined only once in a variable 2022-12-27 19:15:55 +01:00
fteppe
20da0892ef openMW_test_suite compiles and runs
Slowly moving through the open-cs errors

Good progress in openCS

Very good progress on openCS

Getting closer with openCS

OpenCS compiles and runs! Didn't have time to test it all though

ix openMW

everything compiles on windows??

Fix gcc

Fix Clang
2022-12-27 19:15:55 +01:00
fteppe
2f2e401559 is Hidden marker now takes a const RefId& instead of a string_view 2022-12-27 19:15:55 +01:00
fteppe
0d68735e23 moved all code in CPP in ESM namespace since it was already necessary for << operator
in the equality operator, no longer need ciequal since the id is already always lowercase
2022-12-27 19:15:55 +01:00
fteppe
c8bb733360 removed clear() function, the only way to change the Id from the outside is from the assignment operator
replaced ciEqual with == operator
2022-12-27 19:15:55 +01:00
fteppe
ee941f9b09 RefId's mId can't be get as mutable from the outside
also removed useless operator= defintion
2022-12-27 19:15:55 +01:00
fteppe
d6d2a37d03 some clean and better comments 2022-12-27 19:15:54 +01:00
fteppe
125b21de20 Initial commit: In ESM structures, replace the string members that are RefIds to other records, to a new strong type
The strong type is actually just a string underneath, but this will help in the future to have a distinction so it's easier to search and replace when we use an integer ID

Slowly going through all the changes to make, still hundreds of errors

a lot of functions/structures use std::string or stringview to designate an ID. So it takes time

Continues slowly replacing ids. There are technically more and more compilation errors

I have good hope that there is a point where the amount of errors will dramatically go down as all the main functions use the ESM::RefId type

Continue moving forward, changes to the stores

slowly moving along

Starting to see the fruit of those changes.

still many many error, but more and more Irun into a situation where a function is sandwiched between two functions that use the RefId type.

More replacements. Things are starting to get easier

I can see more and more often the issue is that the function is awaiting a RefId, but is given a string
there is less need to go down functions and to fix a long list of them.

Still moving forward, and for the first time error count is going down!

Good pace, not sure about topics though, mId and mName are actually the same thing and are used interchangeably

Cells are back to using string for the name, haven't fixed everything yet. Many other changes

Under the bar of 400 compilation errors.

more good progress <100 compile errors!

More progress

Game settings store can use string for find, it was a bit absurd how every use of it required to create refId from string

some more progress on other fronts

Mostly game settings clean

one error opened a lot of other errors. Down to 18, but more will prbably appear

only link errors left??

Fixed link errors

OpenMW compiles, and launches, with some issues, but still!
2022-12-27 19:15:54 +01:00
Evil Eye
b19ad079c2 Ignore special characters preceding script commands 2022-12-27 14:59:56 +01:00
Alexei Kotov
cdd6a8c007 Merge branch 'models_for_the_model_god' into 'master'
Implement TestModels/T3D

Closes #7058

See merge request OpenMW/openmw!2506
2022-12-27 00:41:39 +00:00
psi29a
14afde4689 Merge branch 'recast_context' into 'master'
Check input and report errors via RecastContext (#7093)

Closes #7093

See merge request OpenMW/openmw!2544
2022-12-20 09:31:31 +00:00
psi29a
df92d76536 Merge branch 'drippy' into 'master'
Ignore non-3D agents in the navigator

Closes #7093

See merge request OpenMW/openmw!2537
2022-12-19 21:51:38 +00:00
elsid
15e8f0b53c
Check input and report errors via RecastContext
Recast functions have preconditions for arguments they don't validate. This may
produce garbage data which may lead to crash. Check arguments and log when they
are invalid.

Do not throw exceptions when these function calls fail, capture Recast reported
errors via RecastContext inherited from rcContext and log them.
2022-12-19 19:46:45 +01:00
Cédric Mocquillon
7e77e69a3c Use a wider type when converting to a signed type 2022-12-18 21:31:51 +01:00
Evil Eye
d40c09c18c Ignore non-3D agents in the navigator 2022-12-09 16:43:15 +01:00
AnyOldName3
66b8d4fb29 Add a setting to control coverage adjustment
With it on, which was always the case before this setting was added,
vanilla content and poorly-made mods will look acceptable, but well-made
mods will have alpha-tested meshes appear to grow and potentially gain a
weird outline as they get further away.

With it off, which replicates the 0.46 behaviour, well-made mods will
look really good, but vanilla content and poorly-made mods will have
alpha-tested meshes shrink as they get further away.

It's been bugging me that this was forced on since 0.47 released, and
I'd hoped to figure out a solution for automatic detection at some point
before 0.48 branched off, but I didn't, so now this is what we're
getting to have Tamriel Rebuilt look right.
2022-12-09 00:22:08 +00:00
psi29a
1d55be8214 Merge branch 'lua_profiler' into 'master'
Lua profiler

See merge request OpenMW/openmw!2523
2022-12-07 10:53:47 +00:00
Petr Mikheev
55db95d4cf Update Lua profiler; add ability to run OpenMW with old LuaJit that doesn't allow custom allocator (Lua profiler will be disabled in this case) 2022-12-03 16:58:03 +01:00
Andrei Kortunov
b0d687964e Make sure that local path has a trailing slash on Linux and Windows 2022-12-03 11:27:42 +04:00
Petr Mikheev
6fa65e4729 Track memory and CPU usage per script in LuaUtil::LuaState 2022-11-30 00:06:14 +01:00
Evil Eye
bbbcc5e4b7 Add an early out to dialogue loading to match Morrowind.exe behaviour 2022-11-27 22:23:35 +01:00
AnyOldName3
66e5415895 Log screenshot capture 2022-11-22 19:26:28 +00:00
elsid
89884fae0b
Add link dependencies to libosgSim and collada-dom 2022-11-14 12:04:58 +01:00
Evil Eye
b94818b24a Tweak message and temporarily set model ttl to 0 2022-11-10 17:24:58 +01:00
Evil Eye
0ae5755abb Implement TestModels/T3D 2022-11-08 22:36:15 +01:00
elsid
baa39c06bb
Move fourCC to a separate file 2022-11-06 15:35:16 +01:00
glassmancody.info
87c0a6e6dc fix line numbers being off by one for each jump block 2022-10-24 08:40:33 -07:00
uramer
a2fa1fe0a5 Execute async callbacks on the main Lua stack 2022-10-18 22:12:11 +02:00
AnyOldName3
15c51dcbbc Restore false-positive unused includes
They're needed on MacOS as SDL_opengl_gletx.h doesn't define them there.

They don't actually work on MacOS, so long-term, the code that uses
these defines should be changed to use #ifdef to check they're available
before using them.
2022-10-13 00:49:24 +01:00
AnyOldName3
77de37b1ed Revert "Merge branch 'fix_macos_build' into 'master'"
As well as fixing the MacOS build, it meddled with a bunch of files that
already did the right thing.

This reverts commit 8162541a14, reversing
changes made to e16c451d08.
2022-10-12 22:48:34 +01:00
psi29a
8162541a14 Merge branch 'fix_macos_build' into 'master'
Use separate header to define missing GL constants

See merge request OpenMW/openmw!2464
2022-10-10 07:49:01 +00:00
psi29a
e16c451d08 Merge branch 'l10n' into 'master'
Separate l10n manager from lua

See merge request OpenMW/openmw!2451
2022-10-10 07:34:18 +00:00
psi29a
c164437d91 Merge branch 'classism' into 'master'
Use class service flags for autocalc NPCs

Closes #7044

See merge request OpenMW/openmw!2461
2022-10-10 07:32:46 +00:00
elsid
c324482338
Use separate header to define missing GL constants 2022-10-09 23:35:55 +02:00
elsid
843753da14
Remove unused includes 2022-10-09 16:44:18 +02:00
jvoisin
3cbf1dc042 First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
Evil Eye
60c26832d2 Use class service flags for autocalc NPCs 2022-10-08 17:00:33 +02:00
Petr Mikheev
3697c9266b Separate l10n manager from lua 2022-10-07 17:19:04 +02:00
elsid
bb8b5e2108
Add META_Node to clang-format StatementMacros 2022-10-06 21:11:52 +02:00
psi29a
66e14fa3bd Merge branch 'fix_extra_semi_warning' into 'master'
Fix and prevent -Wextra-semi warning

See merge request OpenMW/openmw!2455
2022-10-06 11:10:06 +00:00
elsid
063fff7fa4
Fix and prevent -Wextra-semi warning 2022-10-06 00:26:43 +02:00
elsid
6b8ed4c64f
Use sorted vector for ViewData::contains implementation 2022-10-05 01:10:02 +02:00
elsid
624d8bc931
Support unsigned settings values 2022-10-04 01:34:53 +02:00
elsid
2388b21f63
Use std::from_chars to parse settings integral numbers and handle errors 2022-10-04 01:34:50 +02:00
psi29a
6e71804048 Merge branch 'keying_in' into 'master'
Add key flag on load

Closes #7034

See merge request OpenMW/openmw!2444
2022-09-30 13:16:14 +00:00
Evil Eye
e6592aa850 Add key flag on load 2022-09-30 12:16:45 +02:00
elsid
4de8ea30c8
Report used memory by Lua interpreter 2022-09-30 02:15:21 +02:00
elsid
1b9b61b60b
Format navmesh water vertices and indices 2022-09-27 00:46:34 +02:00
psi29a
b58c658b56 Merge branch 'localtime_errors' into 'master'
Handle localtime errors

See merge request OpenMW/openmw!2434
2022-09-26 07:59:41 +00:00
clang-format-bot
88ec8a9523
Apply clang-format 2022-09-25 18:23:43 +02:00
elsid
dd63a1602f
Handle localtime errors 2022-09-25 16:20:20 +02:00
psi29a
aed0ad6b83 Merge branch 'nifosg_tests' into 'master'
Add tests for NifOsg::Loader

See merge request OpenMW/openmw!2421
2022-09-25 13:37:14 +00:00
Andrei Kortunov
890be1b590 Fix crash in the editor 2022-09-25 12:31:56 +04:00
AnyOldName3
581b333386 Add missing include 2022-09-24 22:11:46 +00:00
Project579
6fe89ff22b Fix dumb regression, initialize "std::filesystem::file_time_type" with "clock::now()". 2022-09-24 21:52:10 +02:00
Project579
5cf2a958eb Make conversions between std::chrono time_point and string safer by not using "localtime" directly. 2022-09-24 21:47:27 +02:00
elsid
06f7e8088e
Check for negative record list length 2022-09-24 19:10:38 +02:00
elsid
0688b6de40
Separate record list reading from its state
To make it possible to set record list state independently from reading NIF
file.
2022-09-24 19:10:35 +02:00
elsid
c338c1e5d3
Add Nif::FileView as read only interface for Nif::NIFFile
To make sure interface is scoped to what users require.
2022-09-24 19:10:21 +02:00
elsid
f2fb3d6de8
Separate NIFFileReader from NIFFile
NIFFile might not always be created from a file or stream containing NIF data.
Basically there are 2 different responsibilities for this class:
1. Read NIF file
2. Provide input for nifosg and bulletnifloader.

Remove no longer needed NIFFileMock since the state of NIFFfile can be
initialized independently from reading NIF file.
2022-09-24 19:10:14 +02:00
elsid
b39ccbeeef
Remove NIFFile::warn and NIFFile::fail functions
These functions use NIFFile only as context, they are not really a part of
either reading nor state invariant. And they only confuse reader because it's
not immediatelly obvious that no code is executed after fail.
2022-09-24 19:10:05 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
elsid
63b51ead84
Use nv_default shader prefix for unhandled types 2022-09-17 17:35:25 +02:00
Alexei Kotov
7aee22be91 Further controller updates
Correct NiMaterialColorController base class
Load everything in NiGeomMorpherController
Make a guess at how weighted interpolators might be supposed to work like
2022-09-16 23:45:54 +03:00
elsid
ac01fd5e75
Add missing non-prefixed reserved nodes 2022-09-16 12:36:00 +02:00
psi29a
86ff454ca2 Merge branch 'thirdtimesthecharm' into 'master'
Rehash the rehashing of rehashed morph loading

See merge request OpenMW/openmw!2413
2022-09-16 06:09:21 +00:00
psi29a
46935e9e97 Merge branch 'renormalise' into 'master'
Renormalise line endings

See merge request OpenMW/openmw!2412
2022-09-16 06:08:36 +00:00
Alexei Kotov
e2ed313389 Don't load keys for Gamebryo morphs 2022-09-16 05:55:37 +03:00
AnyOldName3
84f8a6848a Renormalise line endings
This should replace accidental CRLF with LF
2022-09-16 00:53:24 +01:00
elsid
fd93b7186f
Add missing include 2022-09-16 01:39:59 +02:00
psi29a
16fd01a765 Merge branch 'fix_reserved_names_init' into 'master'
Initialize reserved names once to avoid race condition (#7008)

Closes #7008

See merge request OpenMW/openmw!2409
2022-09-15 22:09:08 +00:00
psi29a
ce90484898 Merge branch 'fix_lua_color' into 'openmw-48'
Make r, g, b, a read-only properties, rather than getters

See merge request OpenMW/openmw!2380

(cherry picked from commit 85f343e87a)

19d01f26 Make r, g, b, a read-only properties, rather than getters
2022-09-15 22:01:59 +00:00
elsid
8068d0153f
Initialize reserved names once to avoid race condition
CanOptimizeCallback::isReservedName function may be executed by multiple threads
simultaneously. One of them creates a static but both of them run if statement
and see it's empty because none of them added elements there yet. Both of them
go to the branch where new elements are added doing it without any
synchronization possibly causing SIGSEGV.
2022-09-15 23:37:57 +02:00
psi29a
d1c79fa8d1 Merge branch 'pre_clang_format_fixes_2' into 'master'
Fixes before applying clang-format 2

See merge request OpenMW/openmw!2401
2022-09-15 08:24:23 +00:00
psi29a
6f95154ca8 Merge branch 'esm4_zero_terminated_strings' into 'master'
Fix reading array of zero terminated strings (ESM4 NIFZ and KFFZ sub records)

See merge request OpenMW/openmw!2403
2022-09-15 07:44:35 +00:00
psi29a
ac2b6525e9 Merge branch 'interpcontrollers' into 'master'
Streamline NiInterpController handling

See merge request OpenMW/openmw!2404
2022-09-15 07:44:11 +00:00
elsid
6f00641c8a
Fix reading array of zero terminated strings
NIFZ and KFFZ subrecords store multiple strings separated by \0 character.
2022-09-15 00:01:19 +02:00
Alexei Kotov
482de23893 Streamline NiInterpController handling 2022-09-15 00:58:10 +03:00
elsid
ae812701ec Merge branch 'crashfix_debugdraw' into 'master'
crashfix of debug draw on game exit

Closes #7004

See merge request OpenMW/openmw!2398
2022-09-14 20:56:03 +00:00
florent.teppe
943198e325 Small changes 2022-09-14 13:20:35 +02:00
elsid
410a2881fe
Add comma to the last array element to prevent putting multiple elements on a single line 2022-09-14 00:36:02 +02:00
florent.teppe
e811f7ed00 Simplified the data structures.
DebugCustomDraw owns the vector of drawcalls and the line geometry.
There are two DebugCustomDraw, so anything they own is double buffered.
Because DebugDrawer has a ref_ptr on the DebugCustomDraw, they live at least as long as DebugDrawer, making memory access from it safe.

removed redundent this
2022-09-13 18:26:33 +02:00
psi29a
675c0f9b31 Merge branch 'disable_clang_format_for_osg' into 'master'
Disable clang-format for files that should have minimal diff with OSG

See merge request OpenMW/openmw!2399
2022-09-13 08:53:30 +00:00
elsid
51314db2f1
Remove AI_CNDT from AI package types
AI_CNDT is a label of subrecord containing cell name. It's not AI package type.
2022-09-13 00:05:12 +02:00
elsid
50d8bd9cdd
Disable clang-format for files that should have minimal diff with OSG 2022-09-12 23:57:10 +02:00
elsid
219b9e7cbf
Revert "Use raw string literals for shaders"
This reverts commit 0e72055385.
2022-09-12 23:54:13 +02:00
elsid
52b7b66e9f
Add comma to the last array element to prevent putting multiple elements on a single line 2022-09-12 21:00:51 +02:00
elsid
0e72055385
Use raw string literals for shaders 2022-09-12 21:00:51 +02:00
elsid
409f83a149
Use raw string literal for error marker definition 2022-09-12 21:00:45 +02:00
florent.teppe
565a08b95a crashfix on game exit 2022-09-12 19:13:02 +02:00
elsid
6ae15f08e0
Avoid chained operator() calls to prevent formatting issues 2022-09-12 16:48:15 +02:00
unrelentingtech
1c8fd2ecdb Implement system-scaled HiDPI support (SDL_WINDOW_ALLOW_HIGHDPI - Wayland, macOS, etc) 2022-09-12 08:18:08 +00:00
elsid
4f7dcd5ae5
Fix conversion to UTF8 for ESM4 Reader strings
toUtf8 returns a string view to the input when input string is ASCII and nothing
is written to the buffer which means output string of Reader::getStringImpl is
not modified.

Move input to the output string and resize it in this case.
2022-09-12 01:42:01 +02:00
psi29a
80d52e3da8 Merge branch 'cursor' into 'master'
Support high-resolution cursor textures

Closes #6933

See merge request OpenMW/openmw!2262
2022-09-11 18:32:18 +00:00
elsid
9f35f9b45b
Add missing include <array> 2022-09-11 19:55:53 +02:00
psi29a
435eacdaad Merge branch 'debug_draw_commands' into 'master'
API to draw primitives

See merge request OpenMW/openmw!2345
2022-09-11 17:17:16 +00:00
Andrei Kortunov
a2c02d2999 Support high-resolution cursor textures (feature 6933) 2022-09-11 20:54:20 +04:00
florent.teppe
43b0ae1ce7 all debug renders now use the same shader and it works
remove debug draw shader, now that debug and debugdraw serve the same function

remove debug draw code from actors to clean

replaced int uniforms with bool for better readability

clang format

cleanup, remove unused func, and mistake whitespace

fix namespace

added more colors

fixed missing whitespace
2022-09-11 17:54:01 +02:00
florent.teppe
21971c08ba debug draw shader uses the generic functions
renamed files

roundabout way to change case with windows noticing

fixed type

fix filename in cmakelist.txt

ported shader and c++ code so glsl 120 can be used instead of 330

new debug shader and old one are almost unified

for some reason, even though I get no compilation issue, old debug draws don't work, only the new one implemented by this MR

remove useless const cast
2022-09-11 17:53:59 +02:00
florent.teppe
bd1bbc0ab8 removes mutex, and uses double buffering to avoid writing on a resource that will be read by the draw thread
changes when the buffers are reset -> at the end of the draw, because that's when we are certain the data isn't needed anymore

removed useless variable
fixed typo
include osg::vec3 instead of osg vec3f

compile linux

compile ?

applied clang format to the new files
2022-09-11 17:53:56 +02:00
florent.teppe
2a980ecb50 cleaned some code and fixed some naming issues
Moved debug draw to components, fixed some whitespace issues, added include guard

fixed uniform name, removed old files

Fixes some more whitespace weirdness
2022-09-11 17:53:53 +02:00
psi29a
29f3de30c2 Merge branch 'master' into 'cellstore_refactor'
# Conflicts:
#   apps/openmw/mwworld/scene.cpp
2022-09-11 15:03:37 +00:00
Project579
886b8c7af2 Fix build error with stdlibc++ due to includes shuffling. 2022-09-11 14:41:21 +02:00
Project579
9ceafe770d Hard fail on loading BSA with records using unicode paths. 2022-09-11 14:41:21 +02:00
Project579
a60cebd0f9 Use std::u8string_view in debug logger overloads parameters. 2022-09-11 14:41:21 +02:00
Project579
ca14fc00dc Added dedicated functions for conversions between QString and std::filesystem::path. 2022-09-11 14:41:21 +02:00
Project579
c226b35f1f Fix some remaining encoding errors due to std::filesystem transition. 2022-09-11 14:41:20 +02:00
Project579
5456ef1d50 Add new functions and overloads to support std::u8string and std::filesystem::path. 2022-09-11 14:41:20 +02:00
Project579
2df8bfed25 Fix build errors after rebase against master due to large amount of changes. 2022-09-11 14:41:20 +02:00
Project579
c3175e371a Fix YAML::LoadFile mangling Unicode paths in Windows. 2022-09-11 14:41:20 +02:00
Project579
a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2022-09-11 14:41:20 +02:00
Project579
dec3f24375 filesystem: configurationmanager: Store file path tokens as std::u8string. 2022-09-11 14:41:20 +02:00
Project579
78ab009d5c Add required overloads to logger for handling unicode paths, also add conversion functions from std::filesystem::path to std::string without losing unicode data. 2022-09-11 14:41:20 +02:00
Project579
b817359bcf Revert "Fix regression from https://gitlab.com/OpenMW/openmw/-/merge_requests/1776"
This reverts commit 6a5ad4ca43.
2022-09-11 14:41:20 +02:00
Project579
864112b5db Fixed Windows build when using MSVC 14.26 and MacOS build. 2022-09-11 14:41:20 +02:00
Project579
e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2022-09-11 14:41:15 +02:00
florent.teppe
10899ed680 typo 2022-09-11 13:18:56 +02:00
Project579
35fe214588 Updated components/misc/timeconvert.hpp to fix the Android build. 2022-09-11 02:20:01 +02:00
Project579
5446571aec Circumvent QT MOC bugs by including the filesystem header in a specific order. 2022-09-11 02:19:07 +02:00
Project579
cf0af87c80 Revert changes from "4c8e1ccf - Fixed windows build and updated tests to reflect changes of escape character from "&" to "\"" in "apps/openmw_test_suite/openmw/options.cpp" 2022-09-11 02:19:07 +02:00
Project579
cd229a965b Fixed windows build and updated tests to reflect changes of escape character from "&" to "\" 2022-09-11 02:19:07 +02:00
Project579
4bb07282c9 Replace all remaining occurrences of boost::filesystem with std::filesystem. 2022-09-11 02:19:00 +02:00
florent.teppe
cdc7864863 missing file 2022-09-10 20:25:18 +02:00
florent.teppe
256d8a699a moves one function from tuplemeta.hpp to newly created tuplehelpers.hpp 2022-09-10 20:13:18 +02:00
elsid
ac1688f9c1
Remove ESM::Reader base class
This class does not serve any useful purpose now. It was added as a first step
in attempt to define common interface for ESM3 and ESM4 readers. But this is not
going to happen.
2022-09-10 15:17:49 +02:00
florent.teppe
65bd007baa simplified some big switch/case 2022-09-09 23:40:56 +02:00
psi29a
95f9f00bcc Merge branch 'navigator_rtree' into 'master'
Optimize updating navmesh from the main thread primarily on cell loading

See merge request OpenMW/openmw!2382
2022-09-08 22:18:36 +00:00
psi29a
95ad1d91df Merge branch 'esmstore-round-2' into 'master'
More ESMStore cleanup

See merge request OpenMW/openmw!2383
2022-09-08 13:08:26 +00:00
ζeh Matt
aa65df8872
Rename meta.hpp to tuplemeta.hpp 2022-09-08 15:03:01 +03:00
elsid
22ee592dd3
Lock TileCachedRecastMeshManager once per changing a cell
To save time on locking mutex and prevent AsyncNavMeshUpdater to use RecastMesh
for a tile in the middle of objects loading.
2022-09-08 11:06:35 +02:00
ζeh Matt
c856095562
Use compile time generated indices for tuples types 2022-09-08 03:38:07 +03:00
ζeh Matt
8f7703d5c8
Rename HasMember to TupleHasType and move code into misc/meta.hpp 2022-09-08 00:13:50 +03:00
elsid
d15e1dca84
Use R-tree for objects to be used for navmesh generation
Instead of storing a set of objects per tile.
2022-09-07 22:51:56 +02:00
psi29a
1859c6eded Merge branch 'pcvisionbonus' into 'master'
Implement PCVisionBonus functions

Closes #6983

See merge request OpenMW/openmw!2371
2022-09-07 20:27:22 +00:00
psi29a
1f2c473242 Merge branch 'bhk' into 'master'
Load bhkCapsuleShape and bhkSphereShape

See merge request OpenMW/openmw!2377
2022-09-07 20:25:24 +00:00
psi29a
fcd9b78cac Merge branch 'REFACTOR_STORE' into 'master'
Refactoring the ESM store to better support many new ESM4 types

See merge request OpenMW/openmw!2161
2022-09-07 20:22:29 +00:00
Alexei Kotov
f17b1cd7ab Load bhkCapsuleShape and bhkSphereShape 2022-09-07 16:09:19 +03:00
psi29a
a5664d7ba9 Merge branch 'reserve_utf8_stream' into 'master'
Reserve the output buffer in lowerCaseUtf8

See merge request OpenMW/openmw!2370
2022-09-07 10:05:26 +00:00
elsid
180d609e0d
Check "wait until min distance to player" only for requiredTilesPresent wait condition
allJobsDone should wait even if "wait until min distance to player" is 0.
2022-09-06 21:51:48 +02:00
elsid
98ddc31902
Fix calculating min distance to nearest absent tile
Tile can be present in either mPushed (waiting in a queue), mProcessingTiles (
being processed or waiting in db queue), mPresentTiles (added to navmesh). It's
not enough to walk over mPushed tiles to find all not present. Need also to
check mProcessingTiles.

Otherwise if all tiles are in mProcessingTiles only
waitUntilJobsDoneForNotPresentTiles may return too early because there are none
in mPushed and therefore none tiles are considered to be absent on navmesh which
is not true.
2022-09-06 21:51:48 +02:00
elsid
de80b86cc1
Use proper type to cast enum value 2022-09-06 21:51:48 +02:00
elsid
204ab6fea3
Use version instead of generation and revision for recast mesh 2022-09-06 21:51:48 +02:00
elsid
914edd1194
Make frequently called oneliners inline 2022-09-06 21:51:48 +02:00
elsid
d1a294664e
Do not try to update tile to post
changedTiles contains unique set of positions and tilesToPost is empty initially
therefore it's not possible to add the same position twice.
2022-09-06 21:51:48 +02:00
florent.teppe
445d91d85d adds missing include 2022-09-06 13:26:13 +02:00
Evil Eye
489c7a10b6 Implement PCVisionBonus functions 2022-09-05 20:21:19 +02:00
psi29a
9472998bad Merge branch 'ori' into 'master'
Implement the full version of the ori command

See merge request OpenMW/openmw!2368
2022-09-05 17:55:21 +00:00
jvoisin
9f62f0c292 Reserve the output buffer in lowerCaseUtf8
Since lowercasing an utf8 string shouldn't change its size very much,
it does make sense to reserve the output buffer, to reduce
memory allocations.
2022-09-05 19:46:39 +02:00
florent.teppe
3cbd0e0762 Fixed naming convention 2022-09-05 17:35:36 +02:00
florent.teppe
9e40550a4a improved readability of esm3Recname and esm4Recname 2022-09-05 17:35:36 +02:00
florent.teppe
7bd7105345 code cleanup 2022-09-05 17:35:36 +02:00
florent.teppe
252550d86f Added records for ESM4s the throw std:: logic error ensures at compile time that there is no collision
static_assert doesn't work because the function can be called at run time
2022-09-05 17:35:35 +02:00
Evil Eye
0b5c2b4609 Implement the full version of the ori command 2022-09-05 17:27:01 +02:00
elsid
e2d566b89d
Store changed tiles in TileCachedRecastMeshManager 2022-09-05 11:49:39 +02:00
psi29a
647b22e175 Merge branch 'DistantLOD' into 'master'
Support for TES distant LOD

See merge request OpenMW/openmw!1861
2022-09-04 11:36:07 +00:00
psi29a
84ec78f0d6 Merge branch 'multitargettransform' into 'master'
Read NiMultiTargetTransformController

See merge request OpenMW/openmw!2357
2022-09-04 07:45:11 +00:00
Alexei Kotov
44fbb5cdc3 Read NiMultiTargetTransformController 2022-09-04 08:36:32 +03:00
Alexei Kotov
8df0587793 Reformat NIF record type mapping 2022-09-04 08:36:32 +03:00
Cédric Mocquillon
83ee25711e Use the pattern according to the esm version 2022-09-03 18:55:06 +02:00
Cédric Mocquillon
6a3d27ce82 Add a dictionary to retrieve the LOD mesh name of a mesh cache 2022-09-03 18:52:27 +02:00
AnyOldName3
4e8e2e1c60 Eliminate &thing[0] pattern 2022-09-03 16:41:35 +01:00
Alexei Kotov
a8e561d885 Avoid issues with saved games that have no screenshot data 2022-09-02 07:04:02 +03:00
Alexei Kotov
126090bdc5 Load NiBillboardNode mode field 2022-08-31 22:32:45 +03:00
psi29a
58d08d402a Merge branch 'navigator_stats' into 'master'
Show stats for writing and reading navmesh db queue jobs

See merge request OpenMW/openmw!2346
2022-08-30 21:12:54 +00:00
psi29a
4ff7f8ddfb Merge branch 'string_viewing' into 'master'
Use string_view in yet more places

See merge request OpenMW/openmw!2348
2022-08-30 21:12:11 +00:00
Andrei Kortunov
3037f190be Implement per-font resolution 2022-08-30 12:16:30 +04:00
Andrei Kortunov
3178868cc3 Improve built-in default fonts 2022-08-30 07:54:20 +00:00
Arnaud Dochain
1163c12645 Allows to build on macos 10.15 2022-08-28 15:28:41 +00:00
Evil Eye
fb9bc5f535 Use string_view in Fallback::Map 2022-08-28 17:20:49 +02:00
Evil Eye
2222b47e3d Make Settings::Manager::getString return a reference 2022-08-28 16:38:11 +02:00
elsid
c15848932b
Separate reading navigator stats and reporting 2022-08-28 14:52:34 +02:00
elsid
e9be8b5efe
Show stats for writing and reading navmesh db queue jobs 2022-08-28 14:14:43 +02:00
AnyOldName3
1d177e2d71 Merge branch 'light_fix' into 'master'
Fix incorrect scene lighting #6952

See merge request OpenMW/openmw!2335
2022-08-27 01:03:19 +00:00
Evil Eye
02bbb0be45 Improve format workaround and add unit tests 2022-08-26 19:43:57 +00:00
psi29a
e46be1c220 Merge branch 'rm_get_poly_height_status' into 'master'
Do not check getPolyHeight status (#6964)

Closes #6964

See merge request OpenMW/openmw!2334
2022-08-25 08:55:01 +00:00
psi29a
c260a0d4c2 Merge branch 'string_me_along' into 'master'
Yet another string_view MR

See merge request OpenMW/openmw!2333
2022-08-25 08:53:28 +00:00
elsid
948e2f5db9
Do not use collision shapes with visual only collision to generate navmesh
These collision shapes are not used for actors movement physics simulation.
2022-08-25 00:56:03 +02:00
glassmancody.info
1f2d9f2280 don't recycle statesets for light cullcallback for now 2022-08-24 15:07:04 -07:00
elsid
ab1ddc690e
Do not check getPolyHeight status
It may fail in some cases depending on a platform without obvious reason.
2022-08-24 23:30:36 +02:00
Evil Eye
4e2e5ad002 Revert format change and ensure string_view args are null-terminated 2022-08-24 23:10:05 +02:00
Evil Eye
1d21330fcc Return string_view from getGameSettingString 2022-08-24 22:16:03 +02:00
jvoisin
e0dbe976bc Merge branch 'qt_signalslot_syntax_update' into 'master'
Migrate to functor-based Qt signal-slot connection syntax

Closes #6948

See merge request OpenMW/openmw!2332
2022-08-24 19:01:35 +00:00
Evil Eye
0cded25033 Remove various string copies 2022-08-24 20:38:52 +02:00
Evil Eye
0df45a90b3 Use string_view in the remaining Class methods and push string_views closer to the MyGUI boundary 2022-08-23 22:14:27 +02:00
mpeco
1868534071 functor-based Qt signal-slot syntax components 2022-08-23 17:14:12 -03:00
psi29a
1f5277349c Merge branch 'span' into 'master'
Replace Misc::Span by std::span

See merge request OpenMW/openmw!2324
2022-08-22 17:34:51 +00:00
psi29a
9c24d6b390 Merge branch 'ci_starts_with' into 'master'
Replace ciCompareLen with ciStartsWith where possible

See merge request OpenMW/openmw!2325
2022-08-22 17:34:03 +00:00
Evil Eye
150d1840d6 Use more string_view and const string& 2022-08-22 16:55:53 +02:00
elsid
5dc612aa54
Replace ciCompareLen with ciStartsWith where possible
`ciCompareLen(a, b, b.size()) == 0` expression is an equivalent of checking for
equality of `a` prefix with size `b.size()` with `b`.

`ciCompareLen(a, b, a.size()) == 0` is also the same thing but `a` is a prefix
`b` should start with.
2022-08-22 09:32:22 +02:00
elsid
e4a254deb7
Replace Misc::Span by std::span 2022-08-21 23:53:27 +02:00
psi29a
36fbef1048 Merge branch 'apple-silicon-arm-build' into 'master'
Get build working on Apple Silicon

See merge request OpenMW/openmw!2286
2022-08-21 20:15:01 +00:00
psi29a
2a2268ea8b Merge branch 'optimize_navigator_update' into 'master'
Optimize navigator per frame update

See merge request OpenMW/openmw!2308
2022-08-21 20:12:30 +00:00
psi29a
f36e13444e Merge branch 'font_loading' into 'master'
Cleanup fonts loading

See merge request OpenMW/openmw!2309
2022-08-21 20:11:02 +00:00
psi29a
aa8eba239a Merge branch 'animation_view' into 'master'
Use string_view in animation code

See merge request OpenMW/openmw!2321
2022-08-21 20:05:00 +00:00
unknown
206711876d Address feedback 2022-08-21 19:43:29 +02:00
unknown
827a2f0b77 Use string_view in animation code 2022-08-21 18:53:38 +02:00
Mads Buvik Sandvei
70e1efdd47 omw_GetWorldPosFromUV() should use omw_GetDepth() 2022-08-21 18:03:38 +02:00
Andrei Kortunov
9e1ab590f1 Cleanup fonts loading 2022-08-21 13:19:04 +04:00
psi29a
4078f19c74 Merge branch 'SHADER_HOT_RELOAD' into 'master'
Shaders: Hot reload, togglable by lua debug command

See merge request OpenMW/openmw!2238
2022-08-21 09:08:27 +00:00
florent.teppe
25c1f0ca16 Renamed variable to fix case issue 2022-08-21 09:18:08 +02:00
elsid
aea4614240
Fix clang tidy warning 2022-08-20 19:17:45 +02:00
elsid
8147d49178
Remove redundant lock
mGeneration is const and mRevision is changed only from the same thread.
2022-08-20 19:15:58 +02:00
elsid
2885885331
Increase mutex scope in TileCachedRecastMeshManager functions
Which are called from the main thread.
2022-08-20 19:15:57 +02:00
elsid
e1bed86d7e
Do single navigator update per frame
Primarily for crossing cell border case. Each Navigator::update call has a cost.
Doing it multiple times per frame increased frame duration on cell loading.

Call Navigator::wait only when cell has changed but do not use
Scene::hasCellChanged because it doesn't always indicates it.
2022-08-20 19:15:55 +02:00
elsid
8125d51a0f
Use std::unique_ptr to implement ScopedLoad
This gives correct implementation of move constructor and assignment operators.
2022-08-19 22:39:39 +02:00
Andrei Kortunov
c3d3f3140b Allow to change font settings in the launcher 2022-08-18 13:29:12 +04:00
psi29a
bf40f9b287 Merge branch 'name_view' into 'master'
Make Class::getName return string_view

See merge request OpenMW/openmw!2289
2022-08-17 20:14:27 +00:00
Andrew Dunn
808a2e587a Merge commit '5ee4ce1232b0f334f29dd702f811c58dccf5c00d' into apple-silicon-arm-build 2022-08-17 23:45:51 +10:00
psi29a
5ee4ce1232 Merge branch 'nipixeldata' into 'master'
Support more NiPixelData formats (feature #6945)

Closes #6945

See merge request OpenMW/openmw!2290
2022-08-17 12:20:00 +00:00
Alexei Kotov
edbd05a3f7 Support more NiPixelData formats (feature #6945) 2022-08-17 14:22:27 +03:00
Evil Eye
4ff12d8945 Make Class::getName return string_view 2022-08-16 21:15:03 +02:00
elsid
cc8c7002ea
Cleanup components includes 2022-08-16 19:14:04 +02:00
Andrew Dunn
1d7d3d5765 Get build working on Apple Silicon
Will validate issues with Intel OSX later
2022-08-17 02:18:48 +10:00
psi29a
b382e92953 Merge branch 'please_dont_copy_my_nfts' into 'master'
Prevent various values from being copied

See merge request OpenMW/openmw!2267
2022-08-16 08:36:34 +00:00
elsid
b1fb42a28c
Cleanup detournavigator includes 2022-08-15 19:46:10 +02:00
psi29a
f42ab6a3e7 Merge branch 'coverity' into 'master'
Do not copy data when it is not needed

See merge request OpenMW/openmw!2277
2022-08-15 12:30:09 +00:00
Andrei Kortunov
e3ad30a517 Do not copy data when it is not needed 2022-08-15 11:52:09 +04:00
Matt
e6868fd211 Allow constexpr hashing 2022-08-14 19:06:29 +00:00
Evil Eye
de8d9b8db3 Use Fowler-Noll-Vo hash instead of std::hash 2022-08-14 19:55:32 +02:00
Evil Eye
eaa108d25d Return string_view from SoundId methods 2022-08-14 14:39:58 +02:00
florent.teppe
166717d601 Makes sure threads are only stopped once ,and that they will be re-started 2022-08-13 00:34:01 +02:00
Evil Eye
51938f9ef7 Use string_view in Interpreter::Context 2022-08-12 19:42:35 +02:00
florent.teppe
16a4b5716b adds missing include 2022-08-12 18:52:31 +02:00
florent.teppe
b14cc673bc adds missing decleration 2022-08-12 18:47:29 +02:00
florent.teppe
decfbc5387 Fix threading issues 2022-08-12 18:37:19 +02:00
psi29a
18dbf722eb Merge branch 'store_view' into 'master'
Allow string_view lookups in MWWorld::Store

See merge request OpenMW/openmw!2010
2022-08-10 22:29:18 +00:00
psi29a
b551e69b6f #5534 remove OSG 3.4 support and require at least 3.6.5 support 2022-08-09 21:07:28 +00:00
Evil Eye
de51525c76 Allow string_view lookups in MWWorld::Store and get some use out of that 2022-08-09 20:43:14 +02:00
psi29a
bb9884c024 Merge branch 'split_stringops' into 'master'
Split components/misc/stringops.hpp into multiple headers

See merge request OpenMW/openmw!2233
2022-08-09 18:06:40 +00:00
florent teppe
baadc06e98 Merge branch 'master' into 'SHADER_HOT_RELOAD'
# Conflicts:
#   apps/openmw/mwrender/postprocessor.hpp
2022-08-09 09:26:55 +00:00
glassmancody.info
c513ec7824 null check 2022-08-08 12:53:20 -07:00
glassmancody.info
2cea4f3172 stop excessive allocations with lightmanager callback 2022-08-07 17:04:03 -07:00
florent.teppe
603b30e117 Added some variable names to make it clearer what their function was
avoid having lost of ->first and ->second that aren't meaningfull
2022-08-07 22:56:32 +02:00
cody glassman
ac4b29be08 cleanup default shaders and remove confusing main shader 2022-08-07 06:42:48 -07:00
florent.teppe
3ab0a99154 Hot reload done only once every 200 ms, no point in beeing faster
it may also help with bugs where the file is still locked and can't be opened
2022-08-04 13:37:12 +02:00
florent.teppe
cc9d436413 includes now work when the same shader has different defines 2022-08-04 13:00:32 +02:00
florent.teppe
7b78bf4b66 Fix files with different defines weren't added to the hot reload manager 2022-08-04 12:46:39 +02:00
florent.teppe
a1c8dc9d45 C++17 compat ? 2022-08-04 09:50:02 +02:00
florent.teppe
cdd95f7889 replaced empty function body by default 2022-08-04 09:25:25 +02:00
florent.teppe
9a475b0c97 fixed blank lines and missing breaks 2022-08-04 09:19:41 +02:00
florent.teppe
b6d7293a12 Removed weird lines that I thought were necessary to please the compiler 2022-08-04 09:13:25 +02:00
florent.teppe
68d0698924 Fixed cyclical included check 2022-08-04 09:09:26 +02:00
florent.teppe
aa51d6de2a Missing chrono include ? 2022-08-04 00:14:53 +02:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
elsid
da0a1ac9ba
Do compile time checks in compile time instead of tests 2022-08-03 21:47:00 +02:00
florent.teppe
f78fa989ee fixed include, cleaned comments and indentation 2022-08-03 20:50:39 +02:00
florent.teppe
31d412527d forgot memory include 2022-08-03 20:17:53 +02:00
florent.teppe
6b38d62223 Added lua bindings to toggle hot reload (disabled by default) or to trigger a reload 2022-08-03 19:56:19 +02:00
florent.teppe
4e7c1c5bef Added break when the operation failed 2022-08-03 19:21:48 +02:00
florent.teppe
8d194a1601 Shaders: rudimentary hot reloader on shaders
every frame we poll the files and check if they are older or newer than the last test, if they are newer we find all the shader that included that file and update them
2022-08-03 19:12:45 +02:00
Alexei Kotov
014de72644 Use NiParticleSystemController's color for the initial particle color 2022-08-03 14:36:51 +03:00
elsid
ba69146ced
Use std::string_view to avoid redundant std::string construction 2022-08-03 00:18:55 +02:00
glassmancody.info
651916694c use correct indexed color mask 2022-08-01 07:56:16 -07:00
psi29a
454684bad3 Merge branch 'custom_actor_collision_shape_type' into 'master'
Support cylinder and rotating box collision shape types for actors (#6138)

Closes #6138

See merge request OpenMW/openmw!2043
2022-08-01 11:00:23 +00:00
psi29a
04fcfcc79d Merge branch 'master' into 'bigpeepeventsenergy'
# Conflicts:
#   components/sdlutil/sdlinputwrapper.cpp
2022-08-01 07:55:51 +00:00
Alexei Kotov
f9fdcfe4a7 Prevent mouse movement events from being queued in loading screens (bug #4374) 2022-08-01 06:54:36 +03:00
Alexei Kotov
bb2fa1cbfa Break SDL_PeepEvents loop on error (bug #6890) 2022-08-01 06:24:45 +03:00
psi29a
9ba3ab2be9 Merge branch 'post_fog' into 'master'
[Postprocessing]  API to work with fog

See merge request OpenMW/openmw!2212
2022-07-31 17:33:08 +00:00
Andrei Kortunov
5bfca57835 Add a way to check if water is enabled in post processing shaders 2022-07-31 10:33:18 +04:00
Andrei Kortunov
888f4d2ac1 Add a post processing API to work with fog 2022-07-30 21:44:18 +04:00
elsid
8b8e4f78b6
Support cylinder and rotating box collision shape types for actors
Cylinder collision shape should give the best consistency between physics
simulation and pathfinding. Rotating box is already used by some actors, so
add it to have the same collision shape type for all actors.
2022-07-30 14:28:21 +02:00
psi29a
c54822acf9 Merge branch 'locale_menu' into 'master'
Add a way to configure locale settings in-game

See merge request OpenMW/openmw!2179
2022-07-28 07:23:55 +00:00
elsid
8cecc55d64
Fix inserting texture to map
Avoid using invalidated iterator after erase call.

Use insert_or_assing instead of operator[] because OSGTexture doesn't have a
default constructor.
2022-07-27 20:01:13 +02:00
psi29a
2964e0d4fd Merge branch 'font_cleanup' into 'master'
Remove code which became redundant due to changes in way how we load bitmap fonts

See merge request OpenMW/openmw!2190
2022-07-27 09:28:30 +00:00
Andrei Kortunov
8ff64ca176 Add a default way to store arrays in the settings.cfg 2022-07-27 13:03:34 +04:00
Andrei Kortunov
a787625c65 Remove code which became redundant due to changes in way how we load bitmap fonts 2022-07-27 12:15:07 +04:00
Evil Eye
55134d1e31 Use string_view in the CharacterController 2022-07-26 17:23:00 +02:00
psi29a
17a0063a7c Merge branch 'async_delete_animation' into 'master'
Destruct animation asynchronously when unloading a cell

See merge request OpenMW/openmw!2177
2022-07-26 13:42:43 +00:00
psi29a
bbcf7809f0 Merge branch 'gui_cleanup' into 'master'
GUI cleanup

See merge request OpenMW/openmw!2169
2022-07-26 13:39:33 +00:00
elsid
d165966bea
Make OSGTexture final
To show that there are no more inheritance levels and also help compiler to
better optimize virtual function calls. There is no need to access virtual table
when compiler calls a virtual function of a final type.
2022-07-26 12:33:31 +02:00
elsid
5f800279ac
Remove unused Gui::FontLoader::mTextures 2022-07-26 12:33:27 +02:00
elsid
0614b82452
Restore UnrefQueue to destruct animation asynchronously 2022-07-24 21:08:43 +02:00
Andrei Kortunov
e0c05a15fb Post processing shaders localization 2022-07-24 13:18:50 +00:00
psi29a
ad687c380a Merge branch 'nif' into 'master'
Move NIF implementation to cpp files

Closes #6518

See merge request OpenMW/openmw!2170
2022-07-21 16:09:33 +00:00
Andrei Kortunov
c36c28e8f9 Move NIF implementation to cpp files 2022-07-21 15:54:52 +04:00
Petr Mikheev
643e33c11a Merge branch 'lua_pathfinding_bindings' into 'master'
Add bindings for navigator utils functions (#6690)

See merge request OpenMW/openmw!2128
2022-07-20 23:52:16 +00:00
elsid
27cc901e76
Add bindings for navigator utils functions 2022-07-21 00:04:26 +02:00
elsid
036937ee02
Store RenderManager textures by value 2022-07-20 22:49:46 +02:00
elsid
6738722aa5
Initialize all required osgMyGUI::DataManager members in constructor 2022-07-20 22:49:46 +02:00
elsid
1c507125df
Remove empty functions 2022-07-20 22:49:46 +02:00
elsid
d307178683
Replace components/vfs/manager.hpp include by forward declaration 2022-07-20 22:49:46 +02:00
elsid
a281bcaf90
Remove redundant Platform::initialize function 2022-07-20 22:49:44 +02:00
elsid
c0e1642d7f
Use unique_ptr for osgMyGUI::Platform members 2022-07-20 21:49:33 +02:00
Andrei Kortunov
de58c9dff3 Get rid of obsolete osg::Geode where it is possible 2022-07-20 15:28:56 +04:00
Andrei Kortunov
168a097c8b Improve binding VFS to MyGUI 2022-07-20 08:06:57 +04:00
psi29a
3b75ae7ff1 Merge branch 'terrain-include-cleanup' into 'master'
Cleanup includes in Terrain component

See merge request OpenMW/openmw!2157
2022-07-19 14:42:43 +00:00
Matt
c6bc264b35 Use correct assertion for the file implementation 2022-07-19 13:48:57 +00:00
psi29a
4a15fae588 Merge branch 'fix-fileclose' into 'master'
Use ScopedHandle for File::Handle

See merge request OpenMW/openmw!2159
2022-07-19 10:05:07 +00:00
ζeh Matt
8f7ec42c09
Close handle if valid for move assignment 2022-07-18 23:11:09 +03:00
Andrei Kortunov
4e7fe5a8bd Set VFS only once 2022-07-18 23:37:41 +04:00
ζeh Matt
8a724eb772
Delete assignment and copy constructor 2022-07-18 22:28:35 +03:00
ζeh Matt
3c8ef8463c
Close only valid handles 2022-07-18 21:44:03 +03:00
Petr Mikheev
e222afc764 Merge branch 'fwd-lua-vfs' into 'master'
Type forward VFS::Manager in luastate.hpp and l10n.hpp

See merge request OpenMW/openmw!2158
2022-07-18 18:23:02 +00:00
ζeh Matt
2014ea40b9
Use ScopedHandle for File::Handle 2022-07-18 21:13:41 +03:00
psi29a
40cab76de5 Merge branch 'fonts' into 'master'
Enhance a way to setup fonts and layout files

See merge request OpenMW/openmw!2112
2022-07-18 17:36:31 +00:00
ζeh Matt
c5d85c1854
Revert removal of <atomic> 2022-07-18 19:40:26 +03:00
ζeh Matt
764d34362e
Type forward VFS::Manager in luastate.hpp and l10n.hpp 2022-07-18 19:36:41 +03:00
ζeh Matt
ddf43ec42f
Move structs into separate headers, cleanup includes, cleanup forwarders 2022-07-18 19:15:03 +03:00
ζeh Matt
ce556ba0cc
Remove obsolete LowLevelFile 2022-07-18 16:41:43 +03:00
Andrei Kortunov
845a812ebf Drop fonts export - users are supposed to use TrueType fonts or mods with legacy format 2022-07-18 10:40:03 +04:00
Andrei Kortunov
5bc5c1bb0c Use our fonts as a fallback 2022-07-18 09:57:20 +04:00
Andrei Kortunov
1f864e3127 Do not override monospace font 2022-07-18 00:04:43 +04:00
Andrei Kortunov
dc0d6fe31d Avoid code duplication 2022-07-17 23:59:35 +04:00
Andrei Kortunov
facdc8fc0d Use string_view 2022-07-17 22:13:27 +04:00
Andrei Kortunov
d83382d236 Rework Profiler to work with VFS 2022-07-17 22:01:48 +04:00
Andrei Kortunov
59c4ea014d Rework StatsHandler to support VFS 2022-07-17 22:01:48 +04:00
Andrei Kortunov
6f6b5ba04b Some refactoring 2022-07-17 22:01:48 +04:00
Andrei Kortunov
db686b25c2 Use fallback data from openmw.cfg to setup fonts 2022-07-17 22:01:48 +04:00
Andrei Kortunov
8513bc9620 Fix build error on MSVC 2022-07-17 22:01:48 +04:00
Andrei Kortunov
8fc3635c2c Use case-insensitive font keys, remove debug code 2022-07-17 22:01:48 +04:00
Andrei Kortunov
c47a48e25d Inject layout files to VFS 2022-07-17 22:01:48 +04:00
Andrei Kortunov
2630bc21dd Allow to override MyGUI layout 2022-07-17 22:01:48 +04:00
Andrei Kortunov
4ddba5142e Introduce font mappings 2022-07-17 22:01:48 +04:00
Andrei Kortunov
dd04bfccfb Load fonts 2022-07-17 22:01:48 +04:00
Evil Eye
3967509cdd Use meaningful names instead of pretending we don't know what snow is 2022-07-17 19:54:59 +02:00
psi29a
7c442926f8 Merge branch 'platform-file' into 'master'
Move platform specific file code into platform and cleanup LowLevelFile

See merge request OpenMW/openmw!2143
2022-07-17 16:44:13 +00:00
psi29a
b032a643f9 Merge branch 'vfs_string_view' into 'master'
Use std::string_view in VFS::Manager

See merge request OpenMW/openmw!2148
2022-07-17 15:50:29 +00:00
psi29a
6cc3ec12db Merge branch 'ci-werror' into 'master'
Windows, MSVC: Enable warnings as errors on CI

See merge request OpenMW/openmw!2146
2022-07-17 15:49:51 +00:00
ζeh Matt
03302a8f5b
Conditionally build cpp for platform, remove obsolete header 2022-07-17 18:40:27 +03:00
elsid
0e12d331f9
Simplify iteration over Bone::mChildren 2022-07-17 13:52:24 +02:00
elsid
e4f599575e
Use unique_ptr to manage Bone lifetime 2022-07-17 13:34:45 +02:00
Petr Mikheev
38ee6d285d Use std::string_view in VFS::Manager 2022-07-17 12:19:19 +02:00
elsid
6c8ed4d19c
Move Files::IStreamPtr alias to a separate header
To avoid transitive include of Windows.h all over the engine.
2022-07-17 11:35:39 +02:00
Project579
02ef9c953e MSVC: Fix all warnings at level 4, upgrade Qt5 to 5.15.2 to also reduce warnings, disabled 5054 warnings due to Qt5's use of deprecated operators in C++20 . 2022-07-17 11:23:12 +02:00
ζeh Matt
3d5f898920
Cleanup and fixes 2022-07-16 21:18:57 +03:00
ζeh Matt
1b70ff775d
Move platform specific file code into platform and cleanup LowLevelFile 2022-07-16 20:40:42 +03:00
elsid
9398e97600
Avoid manual memory management for VFS archives 2022-07-16 15:30:14 +02:00
jvoisin
2ef2e93a46 Merge branch 'collection-lowercase' into 'master'
Makes key inside Collection::getCollection use lowercase

Closes #6483

See merge request OpenMW/openmw!2135
2022-07-14 20:39:27 +00:00
ζeh Matt
92e209c62a
Simplify getIsHungAppWindow 2022-07-14 22:02:01 +03:00
Matt
888d009a1e Apply 1 suggestion(s) to 1 file(s) 2022-07-14 16:50:25 +00:00
Matt
32d50765ab Apply 1 suggestion(s) to 1 file(s) 2022-07-14 16:50:15 +00:00
Igor Fedosov
68887e79a0 Makes key inside Collection::getCollection use lowercase 2022-07-14 17:02:35 +03:00
ζeh Matt
0d625abde0
Declare utf8ToUtf16 static 2022-07-14 16:47:27 +03:00
ζeh Matt
100e400fed
Dynamically obtain the function pointer to IsHungAppWindow 2022-07-14 16:46:31 +03:00
psi29a
80adcf3c88 Merge branch 'maybe_lock' into 'master'
Refactor Maybe*Locks

See merge request OpenMW/openmw!2126
2022-07-12 14:51:21 +00:00
Andrei Kortunov
d3da09878d Drop line about non-existent UnrefQueue 2022-07-12 17:41:07 +04:00
elsid
22ed6d5c1e
Use unsigned to define number of threads 2022-07-12 15:19:52 +02:00
psi29a
54db3a97bb Merge branch 'multiview-refactor' into 'master'
[Multiview] refactoring

See merge request OpenMW/openmw!2122
2022-07-12 08:44:43 +00:00
Petr Mikheev
9fbcc5df5e Merge branch 'localization' into 'master'
Use Lua's YAML-based localization for MyGUI

See merge request OpenMW/openmw!2099
2022-07-12 08:13:33 +00:00
Andrei Kortunov
ccbb5e03fb Use YAML files to translate MyGUI's localization tags 2022-07-12 08:20:40 +04:00
Mads Buvik Sandvei
b277fa48c7 Refactor multiview to avoid littering OSG_HAS_MULTIVIEW and multiview-related uniforms around the code, keep them all in multiview.cpp. 2022-07-11 17:27:05 +02:00
psi29a
aaaeed572a Merge branch 'fix_6841' into 'master'
Treat empty `RootCollisionNode` in NIF as NC flag and generate VisualOnly collision shape

Closes #6841

See merge request OpenMW/openmw!2084
2022-07-11 08:31:59 +00:00
Petr Mikheev
8b8c304953 Treat empty RootCollisionNode in NIF as NCC flag and generate CameraOnly collision shape 2022-07-10 00:46:11 +02:00
Petr Mikheev
dc3ba3a75b Fix #6862 2022-07-09 23:19:38 +02:00
elsid
9ac3bb753e
Move declaration private static member variables of LightManager to .cpp
There is no need to expose them to other translation units.
2022-07-08 17:21:01 +02:00
elsid
4211cf1c24
Use uniform indent and apply openmw naming policy 2022-07-08 17:14:13 +02:00
psi29a
510a9b9a5e Merge branch 'navmeshtilescache_find' into 'master'
Avoid redundant copy when finding item in NavMeshTilesCache

See merge request OpenMW/openmw!2109
2022-07-06 13:48:24 +00:00
elsid
6fb7af3b63
Avoid redundant copy when finding item in NavMeshTilesCache
std::make_tuple returns a tuple for types with removed references which makes it
to copy arguments. std::tie leaves references.
2022-07-06 14:23:07 +02:00
elsid
b4f12aace1
Explicitly ignore result of std::unique_ptr::release call
components/nifbullet/bulletnifloader.cpp:206:13: warning: the value returned by this function should be used [bugprone-unused-return-value]
            boxShape.release();
            ^~~~~~~~~~~~~~~~~~

components/nifbullet/bulletnifloader.cpp:232:13: warning: the value returned by this function should be used [bugprone-unused-return-value]
            child.release();
            ^~~~~~~~~~~~~~~

components/nifbullet/bulletnifloader.cpp:233:13: warning: the value returned by this function should be used [bugprone-unused-return-value]
            mStaticMesh.release();
            ^~~~~~~~~~~~~~~~~~~~~

components/nifbullet/bulletnifloader.cpp:240:9: warning: the value returned by this function should be used [bugprone-unused-return-value]
        mStaticMesh.release();
        ^~~~~~~~~~~~~~~~~~~~~

components/nifbullet/bulletnifloader.cpp:246:9: warning: the value returned by this function should be used [bugprone-unused-return-value]
        mAvoidStaticMesh.release();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~

components/nifbullet/bulletnifloader.cpp:411:9: warning: the value returned by this function should be used [bugprone-unused-return-value]
        childMesh.release();
        ^~~~~~~~~~~~~~~~~~~

components/nifbullet/bulletnifloader.cpp:425:9: warning: the value returned by this function should be used [bugprone-unused-return-value]
        childShape.release();
        ^~~~~~~~~~~~~~~~~~~~
2022-07-06 13:52:29 +02:00
elsid
72bda2bd10
Avoid redundant initialization
components/nifbullet/bulletnifloader.cpp:79:24: warning: Value stored to 'a' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
        unsigned short a = strip[0], b = strip[0], c = strip[1];
                       ^   ~~~~~~~~
2022-07-06 13:52:28 +02:00
elsid
5b9ca3b979
Avoid possible division by zero
components/detournavigator/navmeshdb.cpp:183:43: warning: Division by zero [clang-analyzer-core.DivideZero]
        setMaxPageCount(*mDb, maxFileSize / dbPageSize + static_cast<std::uint64_t>((maxFileSize % dbPageSize) != 0));
                              ~~~~~~~~~~~~^~~~~~~~~~~~
components/detournavigator/navmeshdb.cpp:182:33: note: Calling 'getPageSize'
        const auto dbPageSize = getPageSize(*mDb);
                                ^~~~~~~~~~~~~~~~~
components/detournavigator/navmeshdb.cpp:144:13: note: 'value' initialized to 0
            std::uint64_t value = 0;
            ^~~~~~~~~~~~~~~~~~~
components/detournavigator/navmeshdb.cpp:145:13: note: Calling 'request<DetourNavigator::(anonymous namespace)::GetPageSize, unsigned long *, >'
            request(db, statement, &value, 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
components/sqlite3/request.hpp:254:64: note: Left side of '&&' is false
            for (std::size_t i = 0; executeStep(db, statement) && i < max; ++i)
                                                               ^
components/detournavigator/navmeshdb.cpp:145:13: note: Returning from 'request<DetourNavigator::(anonymous namespace)::GetPageSize, unsigned long *, >'
            request(db, statement, &value, 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
components/detournavigator/navmeshdb.cpp:146:13: note: Returning zero (loaded from 'value')
            return value;
            ^~~~~~~~~~~~
components/detournavigator/navmeshdb.cpp:182:33: note: Returning from 'getPageSize'
        const auto dbPageSize = getPageSize(*mDb);
                                ^~~~~~~~~~~~~~~~~
components/detournavigator/navmeshdb.cpp:182:9: note: 'dbPageSize' initialized to 0
        const auto dbPageSize = getPageSize(*mDb);
        ^~~~~~~~~~~~~~~~~~~~~
components/detournavigator/navmeshdb.cpp:183:43: note: Division by zero
        setMaxPageCount(*mDb, maxFileSize / dbPageSize + static_cast<std::uint64_t>((maxFileSize % dbPageSize) != 0));
                              ~~~~~~~~~~~~^~~~~~~~~~~~
2022-07-06 13:52:28 +02:00
AnyOldName3
2bb28b5e27 Merge branch 'fix_typo' into 'master'
Fix particle flags typo (#6857)

Closes #6857

See merge request OpenMW/openmw!2102
2022-07-05 19:31:37 +00:00
glassmancody.info
0954597fa7 fix typo with wrong flags in particle nifloader 2022-07-05 11:00:28 -07:00
Andrei Kortunov
38042fd7a2 Init missing variables 2022-07-05 17:47:52 +04:00
Andrei Kortunov
aed0da46a9 Check a result of dynamic_cast 2022-07-05 17:47:49 +04:00
jvoisin
f451b09f10 Merge branch 'rm_stream_include' into 'master'
Remove redundant ostream, istream, iostream and sstream includes

See merge request OpenMW/openmw!2097
2022-07-05 11:00:50 +00:00
psi29a
9003e83470 Merge branch 'particle_vertex' into 'master'
Soft enforce vertex lighting on particle systems (i.e. with exception of normal maps)

See merge request OpenMW/openmw!2098
2022-07-05 10:15:36 +00:00
psi29a
85a8359b36 Merge branch 'only_when_necassary' into 'master'
Conditional soft particles

See merge request OpenMW/openmw!2078
2022-07-05 10:14:32 +00:00
glassmancody.info
7bed2208e9 only force ppl on particles with normal maps 2022-07-04 18:28:29 -07:00
elsid
bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
2022-07-05 01:41:28 +02:00
elsid
782d3d9680
Avoid calling getMultiview from ~StereoFrustumManager
Otherwise coverity complains about a function throwing exceptions called from a
destructor.
2022-07-04 20:44:41 +02:00
Andrei Kortunov
f6a07ab603 Merge branch 'fix_image_button_scale' into 'master'
Use float based scale factor for ImageButton texture (#6849)

Closes #6849

See merge request OpenMW/openmw!2076
2022-07-03 17:46:51 +00:00
elsid
a16c55c93f
Use float based scale factor for ImageButton texture 2022-07-03 19:41:13 +02:00
jvoisin
bbcc12262f Merge branch 'fix_icu_from_utf8_debug_crash' into 'master'
Avoid constructing icu::StringPiece from std::string directly (#6782)

Closes #6782

See merge request OpenMW/openmw!2073
2022-07-03 17:37:00 +00:00
jvoisin
498a835b77 Merge branch 'coverity' into 'master'
Fix some Coverity issues

See merge request OpenMW/openmw!2082
2022-07-03 16:29:05 +00:00
Andrei Kortunov
fe785ea788 Don't cast away const when we can avoid it 2022-07-03 16:36:41 +04:00
Andrei Kortunov
14b5674d32 Init missing data members 2022-07-03 15:44:50 +04:00
Andrei Kortunov
124db67496 Add an assert to detect possible nullptr dereference 2022-07-03 15:44:50 +04:00
Andrei Kortunov
5d94a94a98 Use a Boost API to resolve symlinks instead of low-level code 2022-07-03 15:44:50 +04:00
Andrei Kortunov
7cce341822 Fix initializer 2022-07-03 15:44:50 +04:00
Andrei Kortunov
d2a1cc954f Remove unused variable 2022-07-03 15:44:50 +04:00
Andrei Kortunov
aa349f2ed9 Initialize some missing variables 2022-07-03 15:44:50 +04:00
Andrei Kortunov
523ad825c2 There is no point to compare an unsigned value with 0 2022-07-03 15:44:31 +04:00
glassmancody.info
a0265ffb89 only enable soft particles when enabled in settings 2022-07-02 09:42:15 -07:00
AnyOldName3
6609243c87 Merge branch 'dont_notice_me_launcher_senpai' into 'master'
Don't load content entries from global and local configs

Closes #6441

See merge request OpenMW/openmw!2068
2022-07-02 16:02:10 +00:00
Petr Mikheev
11d1a54626 Merge branch 'more-stereo-woes' into 'master'
More stereo-postprocessing integration

See merge request OpenMW/openmw!2054
2022-07-02 15:26:35 +00:00
Mads Buvik Sandvei
6dc727cf8f More stereo-postprocessing integration 2022-07-02 15:26:35 +00:00
florent.teppe
4f832f479b Fixes compressed BSA loading
When creating the folders map, the folder name without / is hashed, but when trying to get a file record, when looking for a folder it was hashed wit the /
So now in getFileRecord parent_path is used instead
2022-07-02 15:37:26 +02:00
AnyOldName3
58593a1e62 Merge branch 'disable_crash_catcher' into 'master'
Allow to disable crash catcher on Windows

See merge request OpenMW/openmw!2072
2022-07-01 23:17:32 +00:00
elsid
d2ed62ec3a
Allow to disable crash catcher on Windows 2022-07-01 22:44:03 +02:00
elsid
316f666e77
Avoid constructing icu::StringPiece from std::string directly
Otherwise it causes a crash on Windows when OpenMW is built in debug
mode but ICU not.
2022-07-01 22:31:06 +02:00
elsid
5891d58f63
Fix C4456 msvc warning
declaration of 'it' hides previous local declaration
2022-07-01 18:47:44 +02:00
elsid
8544aa481c
Fix C4459 msvc warning
declaration of 'navMeshVersion' hides global declaration
2022-07-01 18:47:40 +02:00
elsid
2d6e048d88
Fix C4589 msvc warning
Constructor of abstract class 'SceneUtil::KeyframeController' ignores initializer for virtual base class 'osg::Object'
2022-07-01 18:47:06 +02:00
elsid
7e6c13630a Use target_precompile_headers for the most expensive headers 2022-07-01 14:05:17 +00:00
Evil Eye
c081b8cfa9 Don't load content entries from global and local configs 2022-06-30 20:57:51 +02:00
psi29a
56187ad977 Merge branch 'soften_me_up_like_one_of_your_french_meshes' into 'master'
Allow soft particle effect on any NIF

See merge request OpenMW/openmw!2015
2022-06-30 13:46:22 +00:00
glassmancody.info
b09411d396 allow soft particles on meshes and add extra data extensions 2022-06-29 18:15:12 -07:00
Petr Mikheev
d0deb37f5c Fix several issues with sky blending 2022-06-27 21:51:41 +02:00
elsid
1a5932a669
Move std::ostream& operator<< to .cpp 2022-06-26 22:43:53 +02:00
elsid
10fbf170a2
Reduce number of includes for boost/program_options 2022-06-25 18:32:10 +02:00
psi29a
c3599ada2e Merge branch 'imayhaverunoutofclevernifbranchnames' into 'master'
Clean up NIF record flags/modes

See merge request OpenMW/openmw!2047
2022-06-22 21:15:14 +00:00
psi29a
ede09309a6 Merge branch 'groundcover_progress' into 'master'
Show groundcover loading progress

See merge request OpenMW/openmw!1978
2022-06-22 13:02:22 +00:00
Alexei Kotov
e673f9fa76 Clean up NIF flags 2022-06-22 01:58:16 +03:00
elsid
6abb963bd9
Use string_view for StringUtils functions 2022-06-21 19:40:28 +02:00
psi29a
1a478875f0 Merge branch 'navmesh_agent_bounds' into 'master'
Support different agent collision shape type for pathfinding

See merge request OpenMW/openmw!2030
2022-06-21 16:13:41 +00:00
psi29a
736ea1a8a0 Merge branch 'fix_new_children_visibility' into 'master'
Add missing workaround for a MyGUI visibility bug

Closes #6783

See merge request OpenMW/openmw!2041
2022-06-21 16:08:05 +00:00
psi29a
feef257584 Merge branch 'postprocessor-stereo' into 'master'
[Postprocessing] Stereo integration

See merge request OpenMW/openmw!1988
2022-06-21 15:55:06 +00:00
Mads Buvik Sandvei
b0e4c7e76a [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
psi29a
a822044199 Merge branch 'riggeoosgaext' into 'master'
custom class for osgAnimation::RigGeometry, Collada animated deforming body parts

See merge request OpenMW/openmw!1682
2022-06-21 15:27:34 +00:00
Nelsson Huotari
334c6dde0b custom class for osgAnimation::RigGeometry, Collada animated deforming body parts 2022-06-21 15:27:34 +00:00
elsid
1a12c453d6
Support different agent collision shape type for pathfinding
Actors may have different collision shapes. Currently there are axis-aligned
bounding boxes and rotating bounding boxes. With AABB it's required to use
bounding cylinder for navmesh agent to avoid providing paths where actor can't
pass. But for rotating bounding boxes cylinder with diameter equal to the front
face width should be used to not reduce of available paths. For example rats
have rotating bounding box as collision shape because of the difference between
front and side faces width.

* Add agent bounds to navmesh tile db cache key. This is required to distinguish
  tiles for agents with different bounds.
* Increase navmesh version because navmesh tile db cache key and data has changed.
* Move navmesh version to the code to avoid misconfiguration by users.
* Fix all places where wrong half extents were used for pathfinding.
2022-06-21 12:57:32 +02:00
Petr Mikheev
3bf18c601c Better fog 2022-06-21 02:21:20 +02:00
uramer
591fa9b700 Add missing workaround for a MyGUI visibility bug 2022-06-20 21:43:17 +02:00
psi29a
aeed99ca2c Merge branch 'clean_qt_headers' into 'master'
Clean up Qt includes

See merge request OpenMW/openmw!2027
2022-06-20 14:05:33 +00:00
Cody Glassman
66aa546e97 [Postprocessing] Small cleanup 2022-06-20 06:58:40 +00:00
psi29a
e40461a8e3 Merge branch 'niboundingvolume' into 'master'
Correct NiBoundingVolume loading (#6710)

Closes #6710

See merge request OpenMW/openmw!2029
2022-06-19 11:35:15 +00:00
psi29a
2a789de8d3 Merge branch 'hacky-windows-unicode-fixes' into 'master'
Hacky windows unicode fixes

See merge request OpenMW/openmw!2024
2022-06-19 11:30:23 +00:00
AnyOldName3
c3d23b4948 Extra hack to make this build on Ubuntu with old CMake 2022-06-18 22:43:12 +01:00
elsid
e03e0db55d
Use std::string_view to access settings
There is no more need to copy std::string into a pair when need to call
std::map::find.

Remove unused resetPendingChange function.
2022-06-18 17:54:24 +02:00
Alexei Kotov
e6f7a2f1ef Correct NiBoundingVolume loading 2022-06-17 14:35:33 +03:00
jvoisin
8b9ed57348 Clean up Qt includes 2022-06-17 11:56:54 +02:00
AnyOldName3
bdcac26d8c Fix regressions from https://gitlab.com/OpenMW/openmw/-/merge_requests/1917 2022-06-16 00:30:11 +01:00
AnyOldName3
6a5ad4ca43 Fix regression from https://gitlab.com/OpenMW/openmw/-/merge_requests/1776 2022-06-16 00:28:41 +01:00
elsid
fdd84265b3
Use proper agent height and radius when render actor path
That are based on half extents used to find path over navmesh which is different
for interior and exterior cells.

Use common functions to get agent height and radius for actor path rendering and
navmesh generation.
2022-06-15 01:11:11 +02:00