Commit Graph

33856 Commits (443e341ae763cc906324e2445b52b894be87b610)
 

Author SHA1 Message Date
AnyOldName3 f49d270c26 Don't throw away user-provided shadow map resolutions
Resolves https://gitlab.com/OpenMW/openmw/-/issues/7891

I think this is better than just adding 8192 as an allowed option as the vast majority of GPUs would be too slow given what we know about the cost if that setting (maybe that'll change if we get rid of the unconditional conditional discard I suspect is the cause of the slowness that's there for no good reason since the shadowsbin already moves most drawables to a known alpha-free stateset).
10 months ago
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.
10 months ago
Alexei Kotov 974415addf Allow weapon equip/unequip animations to intersect (#7886) 10 months ago
psi29a 7dcd127295 Merge branch 'openmw-cs-regionmap-improvements' into 'master'
OpenMW CS: Minor region map fixes and improvements

See merge request OpenMW/openmw!3959
10 months ago
psi29a 4ec04486f7 Merge branch 'but-lore-i-have-no-data' into 'master'
Fix #7887, use actual instead of reported size for script data

Closes #7887

See merge request OpenMW/openmw!3958
10 months ago
psi29a ab7e81bca7 Merge branch 'osg_stats_json' into 'master'
Support printing stats table in json format by osg_stats.py and change multi source handling

See merge request OpenMW/openmw!3955
10 months ago
Alexei Kotov 6b93479bd3 Get rid of ESM4::SubRecordTypes
All my homies hate ESM4::SubRecordTypes
10 months ago
elsid 6b860caa3e
Fix spelling 10 months ago
elsid 080245aa26
Do not align arrays by duplicating last value
To produce the same stats for single and multiple sources.

If there are multiple sources with different number of frames, leave the number
of values per each metric as is. For example:

source 1: [1, None, 2]
source 2: [3, None, 4, 5]

before this change becomes:

source 1: [1, 1, 2, 2]
source 2: [3, 3, 4, 5]

and after this change:

source 1: [1, 1, 2]
source 2: [3, 3, 4, 5]
10 months ago
jvoisin 3b485d824e Merge branch 'fix_warnings' into 'master'
Fix warnings

See merge request OpenMW/openmw!3957
10 months ago
Dave Corley fcff1a6739 Fix #7887, use actual instead of reported size for script data 10 months ago
Andrei Kortunov 2d3a8ca0fc Do not use an inner namespace 10 months ago
Andrei Kortunov cb831a5917 Add more includes just for sure 10 months ago
Andrei Kortunov 2523afe9c2 Use namespace instead of static class 10 months ago
Andrei Kortunov b657cb2e4c Simplify code 10 months ago
Andrei Kortunov 8037ad7f00 Remove unused includes 10 months ago
psi29a 854b4f226b Merge branch 'fix_msvc_build' into 'master'
Fix build with MSVC 19.38

See merge request OpenMW/openmw!3960
10 months ago
psi29a 379d9a096f Merge branch 'fix_terrain_texture_cache' into 'master'
Fix performance regression in the terrain texture cache

See merge request OpenMW/openmw!3954
10 months ago
Andrei Kortunov 4520ee465d Do not copy vector 10 months ago
elsid ee2cc8aeb7
Fix build with MSVC 19.38
components\detournavigator\navigator.hpp(44): error C3861: 'assert': identifier not found
10 months ago
Sam Hellawell a62da201e5 check for land index not -1, fix warning
Signed-off-by: Sam Hellawell <sshellawell@gmail.com>
10 months ago
Sam Hellawell 5fca45565c Feature: display different brush for land vs water 10 months ago
Sam Hellawell aa0c9fb4cb Fix: cannot drag region into map, map columns are rectangular 10 months ago
elsid 9ae7b542c6
Fix warning: -Wmaybe-uninitialized
In file included from apps/opencs/model/world/pathgrid.hpp:7,
                 from apps/opencs/model/world/idcollection.hpp:15,
                 from apps/opencs/model/world/idcollection.cpp:1:
In constructor ‘constexpr ESM::Pathgrid::Pathgrid(ESM::Pathgrid&&)’,
    inlined from ‘constexpr CSMWorld::Pathgrid::Pathgrid(CSMWorld::Pathgrid&&)’ at apps/opencs/model/world/pathgrid.hpp:24:12,
    inlined from ‘constexpr CSMWorld::Record<CSMWorld::Pathgrid>::Record(CSMWorld::Record<CSMWorld::Pathgrid>&&)’ at apps/opencs/model/world/record.hpp:39:12,
    inlined from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = CSMWorld::Record<CSMWorld::Pathgrid>; _Args = {CSMWorld::Record<CSMWorld::Pathgrid>}]’ at /usr/include/c++/13.2.1/bits/unique_ptr.h:1070:30,
    inlined from ‘std::unique_ptr<CSMWorld::RecordBase> CSMWorld::Record<ESXRecordT>::modifiedCopy() const [with ESXRecordT = CSMWorld::Pathgrid]’ at apps/opencs/model/world/record.hpp:92:116:
components/esm3/loadpgrd.hpp:19:12: warning: ‘<unnamed>.CSMWorld::Record<CSMWorld::Pathgrid>::mBase.CSMWorld::Pathgrid::<unnamed>.ESM::Pathgrid::mData’ may be used uninitialized [-Wmaybe-uninitialized]
   19 |     struct Pathgrid
      |            ^~~~~~~~
In file included from apps/opencs/model/world/idcollection.hpp:8:
apps/opencs/model/world/record.hpp: In member function ‘std::unique_ptr<CSMWorld::RecordBase> CSMWorld::Record<ESXRecordT>::modifiedCopy() const [with ESXRecordT = CSMWorld::Pathgrid]’:
apps/opencs/model/world/record.hpp:92:53: note: ‘<anonymous>’ declared here
   92 |         return std::make_unique<Record<ESXRecordT>>(Record<ESXRecordT>(State_ModifiedOnly, nullptr, &(this->get())));
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10 months ago
elsid 9b412bc802
Fix benchmark warning: -Wdeprecated-declarations
Example:

apps/benchmarks/settings/access.cpp: In function ‘void {anonymous}::localStatic(benchmark::State&)’:
apps/benchmarks/settings/access.cpp:43:37: warning: ‘typename std::enable_if<(std::is_trivially_copyable<_Tp>::value && (sizeof (Tp) <= sizeof (Tp*)))>::type benchmark::DoNotOptimize(const Tp&) [with Tp = float; typename std::enable_if<(std::is_trivially_copyable<_Tp>::value && (sizeof (Tp) <= sizeof (Tp*)))>::type = void]’ is deprecated: The const-ref version of this method can permit undesired compiler optimizations in benchmarks [-Wdeprecated-declarations]
   43 |             benchmark::DoNotOptimize(v);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~^~~
10 months ago
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.
10 months ago
elsid 2b53c2335f
Support printing stats table in json format 10 months ago
Alexei Kotov 2a41811c83 Merge branch 'buildifx' into 'master'
Fix GCC build

See merge request OpenMW/openmw!3953
10 months ago
AnyOldName3 ddb2c15bc9 Review 10 months ago
Andrei Kortunov 6da151cf77 Fix GCC build 10 months ago
Andrei Kortunov 009ccca978 Modify sound API permissions 10 months ago
AnyOldName3 b5f61a119a min 10 months ago
psi29a 5d669f0470 Merge branch 'fix_ui_crashes' into 'master'
Another day, another UI crash fix

See merge request OpenMW/openmw!3949
10 months ago
psi29a 090e57b27c Merge branch 'esm3structs' into 'master'
Replace fixed size writeHNT calls with decomposition

See merge request OpenMW/openmw!3914
10 months ago
psi29a d746918563 Merge branch 'yaml_parse' into 'master'
Load YAML files via Lua

Closes #7590

See merge request OpenMW/openmw!3924
10 months ago
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
10 months ago
AnyOldName3 dd18e17c97 And now Clang's noticed questionable type conversions 10 months ago
AnyOldName3 a06ab94a20 Canonicalise resolved representation of data directories 10 months ago
AnyOldName3 9638fbabb4 https://www.youtube.com/watch?v=2_6U9gkQeqY 10 months ago
AnyOldName3 ff3ffa13b6 Auto format 10 months ago
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.
10 months ago
uramer 68ed771816 Fix element detachment logic 10 months ago
uramer 2f40491065 Fix crash when destroying UI element in the same frame as creating it 10 months ago
Evil Eye b52f721318 Use getSubComposite to read AMBI 10 months ago
Andrei Kortunov 715efe892f Load YAML files via Lua (feature 7590) 10 months ago
psi29a 2764d8ceff Merge branch 'fix_destroying_new_elements' into 'master'
Don't destroy root widget for new elements

See merge request OpenMW/openmw!3947
10 months ago
Alexei Kotov 288a911ece Merge branch 'vfs_normalized_path_5' into 'master'
Use normalized path for NifFileManager::get

See merge request OpenMW/openmw!3944
10 months ago
Alexei Kotov 86a47acc39 Merge branch 'chancywind' into 'master'
Roll for each region sound

Closes #7872

See merge request OpenMW/openmw!3935
10 months ago
psi29a f06b93d019 Merge branch '1.0milestone' into 'master'
Replace readme 1.0 label link with 1.0 milestone link (#7876)

Closes #7876

See merge request OpenMW/openmw!3946
10 months ago
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.
10 months ago