Commit Graph

33685 Commits (5a0aed3a78edeca440dd2b3c50120bb0bb3a3f19)
 

Author SHA1 Message Date
Evil Eye 5a0aed3a78 Use more decomposition, string_view, and implicit sizes in ESM code 9 months ago
Evil Eye 781e797810 Merge branch 'instanceselectionmode' into 'master'
Fix instance selection mode destruction (#7447)

Closes #7447

See merge request OpenMW/openmw!3945
9 months ago
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
9 months ago
Evil Eye c92e63aaf2 Merge branch 'cleanup_includes' into 'master'
Cleanup includes

See merge request OpenMW/openmw!3916
9 months ago
Alexei Kotov 63276e0f1f Merge branch 'avoid_copy' into 'master'
Follow-up for YAML API

See merge request OpenMW/openmw!3961
9 months ago
AnyOldName3 7c85755950 Warning that doesn't fire with MSVC 2022
Hopefully this fixes it.
I've only tried MSVC 2022 locally, so can't verify this fix.
9 months ago
AnyOldName3 1aff88e6a3 Even more warning fixes 9 months ago
AnyOldName3 818a99a870 Review 9 months ago
AnyOldName3 da8150e2e4 Even more MSVC-specific warnings that evaded detection in CI 9 months ago
elsid 37b695a0cf
Cleanup includes 9 months ago
psi29a 82bc6674dc Merge branch 'that-one-issue-sophie-keeps-nagging-about' into 'master'
Don't throw away user-provided shadow map resolutions

Closes #7891

See merge request OpenMW/openmw!3965
9 months ago
psi29a af9f1b54da Merge branch 'lost-warnings' into 'master'
Fixes for a whole bunch of warnings

See merge request OpenMW/openmw!3950
9 months ago
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
9 months ago
elsid 3358bc80bf Merge branch 'esm4fourcc' into 'master'
Get rid of ESM4::SubRecordTypes

See merge request OpenMW/openmw!3962
9 months ago
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).
9 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.
9 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
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 9638fbabb4 https://www.youtube.com/watch?v=2_6U9gkQeqY 10 months ago