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

8138 commits

Author SHA1 Message Date
Alexei Kotov
f9f8c1e591 Fix depth test reading in BGSM 2024-04-20 19:43:41 +03:00
Alexei Kotov
8ef6304dd9 BGSM colors are Vec3 2024-04-20 19:43:41 +03:00
Alexei Kotov
015aca2cfd Initial BGSM file parsing 2024-04-20 19:43:41 +03:00
Alexei Kotov
124df1be61 Parse shared part of material files 2024-04-20 19:43:41 +03:00
Alexei Kotov
aea7b10986 Add dummy BGSM/BGEM file reader 2024-04-20 19:43:40 +03:00
AnyOldName3
04f1dc282b Merge branch 'fix-osga-rotate-wildly' into 'master'
Fix OSGAnimation issues

See merge request OpenMW/openmw!3989
2024-04-20 15:37:09 +00:00
elsid
e11a5a4352
Use normalized path for SoundManager::playPlaylist 2024-04-19 22:43:20 +02:00
elsid
82931059fd
Make NormalizedView constructor from const char* explicit 2024-04-19 22:42:04 +02:00
Sam Hellawell
b7aa3b9f47 Remove rename from RenameBonesVisitor, rename to RenameAnimCallbacksVisitor 2024-04-19 07:48:26 +01:00
psi29a
e4c70b7861 Merge branch 'anyoldname3-and-the-amazing-technicolour-terminal-emulator' into 'master'
Support coloured terminal output on Windows

See merge request OpenMW/openmw!4027
2024-04-17 13:09:07 +00:00
psi29a
3600c6c7c7 Merge branch 'filterview' into 'master'
Validate INFO filters when loading the record

See merge request OpenMW/openmw!4003
2024-04-17 13:08:49 +00:00
psi29a
b91ff634e4 Merge branch 'navmesh_queue' into 'master'
Optimize queue for navmesh async jobs

See merge request OpenMW/openmw!4025
2024-04-17 11:10:44 +00:00
Sam Hellawell
2653b76db9 getTranslation/getTransformForNode refactor, unit tests 2024-04-17 08:16:48 +01:00
AnyOldName3
83e3718bed . c l a n g - f o r m a t 2024-04-16 13:14:36 +01:00
AnyOldName3
61364c874f Warn future me off wasting their time again 2024-04-16 01:14:20 +01:00
AnyOldName3
a7021bf9cc Clear std stream errors when reopening
Prior errors are no longer relevant.

Shouldn't make a difference unless you've tried printing something before the streams were set up.
2024-04-16 01:10:39 +01:00
Alexei Kotov
443e341ae7 Generalize unsized pixel format computation 2024-04-16 02:52:25 +03:00
Alexei Kotov
3c0c1717a9 Fix red-green normal map handling for terrain 2024-04-15 12:02:52 +03:00
Alexei Kotov
58afe1ba23 Support red-green normal maps 2024-04-15 12:02:52 +03:00
elsid
910c88325a
Add a setting to wait for all navmesh jobs on exit 2024-04-13 19:51:16 +02:00
elsid
50f4471750
Use R-tree for dynamic priority of navmesh async job 2024-04-13 19:51:16 +02:00
elsid
17bd571a65
Do not repost failed jobs
Failures should not happen except for some weird corner cases. Retrying is
unlikely to help in such situation.
2024-04-13 19:51:16 +02:00
elsid
d6f3d34f2f
Remove tiles present on navmesh but outside desired area 2024-04-13 19:51:16 +02:00
elsid
61c69c5563
Use proper prefix for CollisionShapeType 2024-04-13 19:51:16 +02:00
elsid
a1438f65fe
Set proper max tiles on initializing navmesh settings 2024-04-13 19:48:58 +02:00
AnyOldName3
1930bfeabb Support coloured terminal output on Windows
First try the modern Windowsy way, where we can directly query if escape sequences will be processed.
The function is available as far back as Windows 2000, but it just won't return the right flag until the Windows version is new enough.

If that fails, fall back to the Unixy way, as not all colour-supporting terminal emulators for Windows use the Win32 API to declare that capability.
The implementation isn't identical as isatty wasn't available without adding more headers, and we already have Windows.h in this file, so I might as well use the Win32 API instead of its POSIX-compatibility layer.
2024-04-13 17:09:48 +01:00
Evil Eye
6e79064a57 Fix editor oddities 2024-04-12 18:32:47 +02:00
psi29a
f9e957ea0e Merge branch 'esm4scvr' into 'master'
ESM4: Make script local variable loading more reliable

See merge request OpenMW/openmw!3967
2024-04-12 15:01:46 +00:00
Evil Eye
a4625ea784 Deduplicate dialogue filter parsing 2024-04-11 22:29:33 +02:00
Evil Eye
fb4edda45d Validate INFO filters when loading the record 2024-04-11 16:55:00 +02:00
Sam Hellawell
8c2c66d59e .nif check, matrix mult feedback, auto usage, reuse NodeMap typedef 2024-04-11 02:16:06 +01:00
psi29a
8037a6e765 Merge branch 'portable-launcher' into 'master'
Portable Launcher (plus a whole slew of bugs fixes for problems I found that I suspect aren't on the tracker)

Closes #6846

See merge request OpenMW/openmw!3925
2024-04-10 09:53:07 +00:00
AnyOldName3
48f1f08537 Hide things that depend on present-but-inactive game files
https://gitlab.com/OpenMW/openmw/-/merge_requests/3925#note_1843962919
2024-04-07 22:12:39 +01:00
Sam Hellawell
d23c10622d Use dynamic cast to check for bone 2024-04-07 21:09:45 +01:00
Sam Hellawell
a51d560174 Move bone rename logic to ColladaDescriptionVisitor, undo formatting/refactoring 2024-04-05 01:59:40 +01:00
Sam Hellawell
2288a691d2 Replace osgAnimation bone underscore naming at load time, map bone instances, reset root bone transform each frame 2024-04-04 00:10:51 +01:00
AnyOldName3
bb3c22e4a5 Add and register SettingValue stream operators 2024-04-01 00:15:58 +01:00
psi29a
3da6b4f529 Merge branch 'more_stats' into 'master'
Report more stats in F4

See merge request OpenMW/openmw!3956
2024-03-30 08:41:29 +00:00
psi29a
43f2574406 Merge branch 'vaporeon' into 'master'
Make sunlight scattering and wobbly shores optional

See merge request OpenMW/openmw!3994
2024-03-30 08:41:04 +00:00
elsid
215404e126
Report more stats from caches 2024-03-29 14:25:39 +01:00
elsid
ae41ebfc83
Report CellPreloader stats 2024-03-29 14:05:26 +01:00
elsid
9a24e77d3f
Show F4 stats in pages 2024-03-29 14:05:25 +01:00
Alexei Kotov
76105cc2d1 Make sunlight scattering and wobbly shores optional 2024-03-29 10:41:04 +03:00
Evil Eye
1d13f7db8f Simplify detachFromParent 2024-03-28 20:17:05 +01:00
Evil Eye
8cbcb82dd4 Prevent iterator invalidation when updating Lua UI and increase const correctness 2024-03-28 20:01:50 +01:00
psi29a
2497164b2b Merge branch 'optimize_font_loading' into 'master'
Optimize bitmap fonts loading

See merge request OpenMW/openmw!3988
2024-03-28 09:05:22 +00:00
psi29a
2056da358d Merge branch 'opencs-projectile-speed' into 'master'
OpenMW-CS: Editing and verifying of projectile speed for magic effects

See merge request OpenMW/openmw!3939
2024-03-28 09:04:50 +00:00
psi29a
e8038d353f Merge branch 'esmstuff' into 'master'
Use more decomposition, string_view, and implicit sizes in ESM code

See merge request OpenMW/openmw!3975
2024-03-27 19:40:18 +00:00
Sam Hellawell
deb8894035 ESM::MagicEffect::blank() set the default to 1
Signed-off-by: Sam Hellawell <sshellawell@gmail.com>
2024-03-27 09:26:04 +00:00
Andrei Kortunov
f2dc25e214 Optimize bitmap fonts loading 2024-03-27 12:44:35 +04:00
psi29a
f7f7502d60 Merge branch 'i-said-it-was-unlocked-damn-you' into 'master'
Fix(CS): Actually allow unlocking doors ( #7899 )

Closes #7899

See merge request OpenMW/openmw!3982
2024-03-27 07:32:53 +00:00
Dave Corley
2e68786331 Fix(CS): Actually allow unlocking doors ( #7899 ) 2024-03-27 07:32:53 +00:00
psi29a
b70f1d86c5 Merge branch 'fix-sheathing-non-nifs' into 'master'
Fix weapon and shield sheathing for non-nif meshes

See merge request OpenMW/openmw!3985
2024-03-27 07:30:14 +00:00
Mads Buvik Sandvei
e0b11c14c2 Remove unused member mStackable 2024-03-26 14:44:02 +00:00
Sam Hellawell
7897ff7ac9 Fix weapon sheathing for non-nif meshes 2024-03-25 21:03:59 +00:00
psi29a
012d10703f Merge branch 'spellcast-refactor' into 'master'
Spellcast related Lua API + spellcasting/activespell refactor

See merge request OpenMW/openmw!3922
2024-03-25 13:50:23 +00:00
Mads Buvik Sandvei
320d8ef014 Spellcast related Lua API + spellcasting/activespell refactor 2024-03-25 13:50:23 +00:00
Alexei Kotov
6515fdd73f Handle zero length Lua storage files more gracefully (#7823) 2024-03-24 20:05:37 +03:00
jvoisin
79a62b3ad3 Merge branch 'enable_normals_for_all' into 'master'
Restructure colormasks at higher level

See merge request OpenMW/openmw!3970
2024-03-23 21:56:30 +00:00
Cody Glassman
a4dd9224df Restructure colormasks at higher level 2024-03-23 21:56:30 +00:00
Evil Eye
5a0aed3a78 Use more decomposition, string_view, and implicit sizes in ESM code 2024-03-23 12:15:09 +01:00
Evil Eye
bf708acfac Merge branch 'goddamnit-there-are-more' into 'master'
Even more MSVC-specific warnings that evaded detection in CI

See merge request OpenMW/openmw!3968
2024-03-23 08:07:28 +00:00
Alexei Kotov
63276e0f1f Merge branch 'avoid_copy' into 'master'
Follow-up for YAML API

See merge request OpenMW/openmw!3961
2024-03-23 07:13:39 +00:00
AnyOldName3
818a99a870 Review 2024-03-21 16:18:18 +00:00
AnyOldName3
da8150e2e4 Even more MSVC-specific warnings that evaded detection in CI 2024-03-21 15:51:29 +00:00
Alexei Kotov
3721a69747 ESM4: Make script local variable loading more reliable 2024-03-21 18:16:11 +03:00
psi29a
af9f1b54da Merge branch 'lost-warnings' into 'master'
Fixes for a whole bunch of warnings

See merge request OpenMW/openmw!3950
2024-03-21 07:45:21 +00:00
Alexei Kotov
25414cd660 Merge branch 'rm_esm4_local_static' into 'master'
Remove static modifier from local variables used to store temporary loading results

See merge request OpenMW/openmw!3964
2024-03-21 05:28:40 +00:00
elsid
3358bc80bf Merge branch 'esm4fourcc' into 'master'
Get rid of ESM4::SubRecordTypes

See merge request OpenMW/openmw!3962
2024-03-20 20:42:43 +00:00
elsid
0da8b29a88
Remove static modifier from local variables used to store temporary loading results
They make the code thread unsafe because different threads will use the same
memory to write and read using different instances of the loaded objects.
2024-03-20 00:01:41 +01:00
Alexei Kotov
6b93479bd3 Get rid of ESM4::SubRecordTypes
All my homies hate ESM4::SubRecordTypes
2024-03-18 12:25:17 +03:00
Dave Corley
fcff1a6739 Fix #7887, use actual instead of reported size for script data 2024-03-17 16:14:52 -05:00
Andrei Kortunov
2d3a8ca0fc Do not use an inner namespace 2024-03-17 18:15:23 +04:00
Andrei Kortunov
cb831a5917 Add more includes just for sure 2024-03-17 17:22:10 +04:00
Andrei Kortunov
2523afe9c2 Use namespace instead of static class 2024-03-16 22:06:28 +04:00
Andrei Kortunov
8037ad7f00 Remove unused includes 2024-03-16 22:06:15 +04:00
psi29a
854b4f226b Merge branch 'fix_msvc_build' into 'master'
Fix build with MSVC 19.38

See merge request OpenMW/openmw!3960
2024-03-16 14:09:42 +00:00
Andrei Kortunov
4520ee465d Do not copy vector 2024-03-16 16:26:26 +04:00
elsid
ee2cc8aeb7
Fix build with MSVC 19.38
components\detournavigator\navigator.hpp(44): error C3861: 'assert': identifier not found
2024-03-16 13:09:16 +01:00
elsid
16410d0960
Use std::string for ResourceManager cache key
Otherwise terrain textures cache has zero hits because it stores not normalized
paths. Due to implicit conversion it's possible to add entry with
addEntryToObjectCache passing a string that is converted into normalized path.
But then getRefFromObjectCache called with original value does not find this
entry because it's not converted and overloaded operators are used instead.
2024-03-16 00:17:13 +01:00
Andrei Kortunov
6da151cf77 Fix GCC build 2024-03-15 20:12:47 +04:00
psi29a
5d669f0470 Merge branch 'fix_ui_crashes' into 'master'
Another day, another UI crash fix

See merge request OpenMW/openmw!3949
2024-03-15 11:03:21 +00:00
psi29a
090e57b27c Merge branch 'esm3structs' into 'master'
Replace fixed size writeHNT calls with decomposition

See merge request OpenMW/openmw!3914
2024-03-15 11:02:42 +00:00
psi29a
d746918563 Merge branch 'yaml_parse' into 'master'
Load YAML files via Lua

Closes #7590

See merge request OpenMW/openmw!3924
2024-03-15 11:02:05 +00:00
Alexei Kotov
6e2dbfbd74 Merge branch 'check-osg-plugins-but-better' into 'master'
Get OSG to tell us the plugin filenames it's going to use

See merge request OpenMW/openmw!3942
2024-03-15 08:36:02 +00:00
AnyOldName3
a06ab94a20 Canonicalise resolved representation of data directories 2024-03-15 00:42:15 +00:00
AnyOldName3
9638fbabb4 https://www.youtube.com/watch?v=2_6U9gkQeqY 2024-03-15 00:11:19 +00:00
AnyOldName3
ff3ffa13b6 Auto format 2024-03-14 23:54:22 +00:00
AnyOldName3
28131fd62b Fixes for a whole bunch of warnings
These warnings were always enabled, but we didn't see them due to https://gitlab.com/OpenMW/openmw/-/issues/7882.
I do not fully understand the cause of 7822 as I can't repro it in a minimal CMake project.

Some of these fixes are thought through.
Some are sensible best guesses.
Some are kind of a stab in the dark as I don't know whether there was a
possible bug the warning was telling me about that I've done nothing to
help by introducing a static_cast.

Nearly all of these warnings were about some kind of narrowing
conversion, so I'm not sure why they weren't firing with GCC and Clang,
which have -Wall -Wextra -pedantic set, which should imply -Wnarrowing,
and they can't have been affected by 7882.

There were also some warnings being triggered from Boost code.
The vast majority of library headers that do questionable things weren't
firing warnings off, but for some reason, /external:I wasn't putting
these Boost headers into external mode.

We need these warnings dealt with one way or another so we can switch
the default Windows CI from MSBuild (which doesn't do ccache) to Ninja
(which does).
I have the necessary magic for that on a branch, but the branch won't
build because of these warnings.
2024-03-14 23:39:33 +00:00
uramer
68ed771816 Fix element detachment logic 2024-03-14 20:28:12 +01:00
uramer
2f40491065 Fix crash when destroying UI element in the same frame as creating it 2024-03-14 18:08:18 +01:00
Evil Eye
b52f721318 Use getSubComposite to read AMBI 2024-03-14 17:08:23 +01:00
Andrei Kortunov
715efe892f Load YAML files via Lua (feature 7590) 2024-03-14 16:29:21 +04:00
psi29a
2764d8ceff Merge branch 'fix_destroying_new_elements' into 'master'
Don't destroy root widget for new elements

See merge request OpenMW/openmw!3947
2024-03-14 08:37:13 +00:00
AnyOldName3
942eeb54c1 Yet another osgpluginchecker rewrite
It turns out that it's possible for OSG plugins to be spread across multiple directories, and OSG doesn't account for this in osgDB::listAllAvailablePlugins(), even though it works when actually loading the plugin.

Instead, use code that's much more similar to how OSG actually loads plugin, and therefore less likely to miss anything.

Incidentally make things much simpler as we don't need  awkwardness from working around osgDB::listAllAvailablePlugins()'s limitations.
2024-03-12 23:30:11 +00:00
uramer
b12f98db98 Don't destroy root widget for new elements 2024-03-12 17:48:42 +01:00
elsid
859d765921
Use normalized path for NifFileManager::get 2024-03-11 22:07:37 +01:00
elsid
3ea3eeb613
Use string_view for canOptimize 2024-03-11 22:07:37 +01:00
elsid
a98ce7f76a
Replace std::filesystem::path by std::string_view in Files::getHash argument 2024-03-11 22:07:37 +01:00
elsid
79b73e45a1
Replace std::filesystem::path by std::string and std::string_view in nif code
It's used only for error reporting.
2024-03-11 22:07:37 +01:00