Commit Graph

19307 Commits (openmw-48)

Author SHA1 Message Date
Bret Curtis 3925903ad5 backport CLAMP_TO_EDGE fix to 0.48 11 months ago
elsid 524efc4e18
Fix logging and config for portable setup
Setup logging after setting up paths but before settings loading to get proper
log records earlier.

Read configuration by navmeshtool and bulletobjecttool the same way editor and
engine do to properly handle --replace config and --config arguments.

Remove mode and autoSetupLogging arguments from setupLogging since they are no
longer used.

Use temp path to write crash logs because default paths might not be available
for portable setup.
12 months ago
elsid c7b95d1c9e
Fix build with GCC 13.1.1
openmw/apps/openmw/mwinput/controlswitch.hpp:32:49: error: ‘uint32_t’ has not been declared
   32 |         void readRecord(ESM::ESMReader& reader, uint32_t type);
      |                                                 ^~~~~~~~

openmw/apps/esmtool/labels.hpp:63:25: error: ‘uint32_t’ was not declared in this scope
   63 | std::string recordFlags(uint32_t flags);
      |                         ^~~~~~~~

openmw/components/detournavigator/recastmesh.hpp:91:14: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
   91 |         std::uint8_t mLength;
      |              ^~~~~~~
      |              wint_t

openmw/components/platform/file.hpp:9:23: error: found ‘:’ in nested-name-specifier, expected ‘::’
    9 |     enum class Handle : intptr_t
      |                       ^
      |                       ::

openmw/components/settings/settings.hpp:63:21: error: ‘int64_t’ in namespace ‘std’ does not name a type
   63 |         static std::int64_t getInt64(std::string_view setting, std::string_view category);
      |                     ^~~~~~~

openmw/components/esm/common.cpp:5:38: error: ‘uint32_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
    5 |     std::string printName(const std::uint32_t typeId)
      |                                      ^~~~~~~~
      |                                      wint_t
12 months ago
elsid 227b4d3e5e
Use different object id for avoid shape
Otherwise addObject will ignore it as a duplicate and resulting recastmesh will
not match generated by the engine causing navmeshdb cache miss.
1 year ago
psi29a 53f3a5b49b Merge branch 'fix_local_map_update_48' into 'openmw-48'
Update cell local map on different neighbour cells (0.48) (#7140)

See merge request OpenMW/openmw!3015
1 year ago
elsid ab0a460a6f
Update cell local map on different neighbour cells 1 year ago
Petr Mikheev d18588dce7 Use LuaUtil::cast for casting sol::object to prevent crashing on type mismatch in Lua scripts. 1 year ago
Petr Mikheev 51cbfa84fa Add function LuaUtil::cast 1 year ago
elsid 80387049c1
Save original paths
If directory path is a symlink it should be showed and written to config files
as is. Between launcher runs the resulting canonical path may be different so
the resolved path becomes outdated.
1 year ago
elsid 9f00b99b22
Use set to track visited directories instead of removing duplicates 1 year ago
Evil Eye 47d75c70ea Don't capture temporaries by reference 1 year ago
fredzio 76c6848121 In 0.46, SetPos was setting position of actors before physics simulation, and from this position movement was simulated. This changed with async physics merging, and at the same time problems started, mostly with abot's scenic travel.
Skipping the simulation, switching off collisions, and other approaches were not correct as they either broke some mods, or some core mechanics of the engine such as teleportation or waterwalking. As it turns out, the way to go is to simply do _nothing_ (modulo some gymnastics to account for the 1 frame difference in case of async).

Scripted movement and the unstucking logic tends to collide. Early out of unstuck in case the actor doesn't attempt to move. This means there is no AI package for NPC, which are the case for some boats and striders, or the player is content with their position.
1 year ago
Mads Buvik Sandvei 7d057600ea SkyStereoStatesetUpdater was incorrectly always using reverseZ matrices. 1 year ago
Mads Buvik Sandvei 00e02bb326 Change assosiative order of stereo-related matrix multiplications to reduce FP errors. 1 year ago
elsid 2c0e64510c
Do not use std::shared_mutex to wait for job for async physics
std::shared_mutex in combination with std::condition_variable_any may
lead to a situation when notify_all does not wake up all waiting threads
on Windows. Use separate std::mutex and std::condition_variable to
notify about new job. Encapsulate all workers synchronization logic into
a separate type.
1 year ago
psi29a 0fb7d93219 Merge branch 'limit_max_bullet_supported_threads' into 'master'
Limit max bullet supported threads by BT_MAX_THREAD_COUNT - 1

See merge request OpenMW/openmw!2797

(cherry picked from commit 31ae1cd339)

949b9191 Limit max bullet supported threads by BT_MAX_THREAD_COUNT - 1
1 year ago
psi29a 5dfd2709b7 Merge branch 'fix_clamp_physics_threads' into 'master'
Fix clamping physics threads

See merge request OpenMW/openmw!2792

(cherry picked from commit fbb00027d8)

3d3cccb8 Fix clamping physics threads
1 year ago
Cody Glassman 7fb4acaaf2 fix sunglare flash, make sure all bound render targets have color masks set 1 year ago
Petr Mikheev 95219e6fa2 Fix bug in lua_ui/content.lua: getmetatable(ui.content{}) shouldn't return a global mutable table (!2733 for 0.48) 1 year ago
Petr Mikheev 1540c9679f Don't expose LuaUtil::Callback to lua (!2733 for 0.48) 1 year ago
Petr Mikheev 628017a817 Move asyncpackage from apps/openmw/mwlua to components/lua (!2733 for 0.48) 1 year ago
uramer 4b2ef32b86 Move implementation of UI Content to Lua (!2661 for 0.48) 1 year ago
psi29a d95a03a8ba Merge branch 'fix_7223' into 'master'
Fix #7223

Closes #7223

See merge request OpenMW/openmw!2736

(cherry picked from commit a43b6fba4b)

0c3237ad Fix #7223
1 year ago
Evil Eye 8e73d49602 Cap temporary disposition gain and compute permanent changes accordingly 1 year ago
elsid 09199ea006
Use shared locks in physics system when using multithreaded bullet 1 year ago
Alexei Kotov 3ab719f5a6 Improve post-process HUD search field usability (0.48.0) 1 year ago
Alexei Kotov 15df41f459 Fix Lua ingredient bindings 1 year ago
psi29a 3dd8fd2ef9 Merge branch 'handle_bad_navmeshtool_message_magic_48' into 'openmw-48'
Stop updating navmeshtool progress on first bad message (0.48)

See merge request OpenMW/openmw!2660
1 year ago
psi29a 7211779889 Merge branch 'fix_gpu_osg_stats' into 'master'
Delay OSG stats reporting for 3 frames

See merge request OpenMW/openmw!2677

(cherry picked from commit 9c92a8ab57)

96ea1903 Delay OSG stats reporting for 3 frames
1 year ago
elsid f23866be90
Stop updating navmeshtool progress on first bad message 1 year ago
Evil Eye c1b9a91877 Delay teleportation till the menu is closed 1 year ago
Evil Eye bb36155a54 End combat when the target is outside the active grid 1 year ago
Alexei Kotov d327e92d7f Don't cancel animation-less knockout 1 year ago
psi29a eebaf2b61e Merge branch 'fix_hour_modulo_48' into 'openmw-48'
Fix hour modulo expression (#7121) for 0.48

See merge request OpenMW/openmw!2560
1 year ago
elsid 9c34ef8720
Fix hour modulo expression
Round result of std::fmod(hours, 24) to the nearest float below 24 on double to
float conversion when it is not. Add special type and conversion function along
with tests to be used in all places where such conversion happens.

To avoid producing hours equal to 24 due to double to float precision loss.
1 year ago
Cédric Mocquillon 30e2ea2951 Connect zoom in/out only when the option is allowed 1 year ago
Evil Eye 7d97ca6cd5 Don't call getClass on an empty Ptr 1 year ago
psi29a 678898b8f6 Merge branch 'keep_calm_and_get_hit_48' into 'openmw-48'
!2522 for 0.48

See merge request OpenMW/openmw!2538
1 year ago
AnyOldName3 33e39a0360 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.
1 year ago
Evil Eye 92761f0527 Add option to restore non-MCP Calm spell behaviour 1 year ago
Petr Mikheev 734f09abe6 Run Lua GC in every frame 1 year ago
Andrei Kortunov babd9ee24b Improve postprocess HUD layout 2 years ago
psi29a e1e7f3e135 Merge branch 'fix_7056' into 'master'
Add missing content=builtin.omwscripts if openmw is started via openmw-cs

Closes #7056

See merge request OpenMW/openmw!2496

(cherry picked from commit c2b495a187)

6025943f Add missing content=builtin.omwscripts if openmw is started via openmw-cs (fixes #7056)
2 years ago
elsid 4f360e6374
Support negative days in TimeStamp
As vanilla engine does.
2 years ago
Evil Eye df5eac88b8 Only force adjust the player and NPCs teleported out of the active grid 2 years ago
psi29a e0c2131cd7 Merge branch 'bound48' into 'openmw-48'
Allow bound effects to be recast if they're attached to a recastable effect 0.48

See merge request OpenMW/openmw!2487
2 years ago
Evil Eye 2881a30e9e Allow bound effects to be recast if they're attached to a recastable effect 2 years ago
Petr Mikheev 710ad11dc8 Fix #7039: freeze after throwing an error in a queued Lua callback 2 years ago
uramer 5cf96a808e Lua coroutine crash tests 2 years ago
uramer 4f25796029 Execute async callbacks on the main Lua stack 2 years ago