1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-31 21:45:35 +00:00
Commit graph

19307 commits

Author SHA1 Message Date
Bret Curtis
3925903ad5 backport CLAMP_TO_EDGE fix to 0.48 2023-06-16 13:15:21 +02:00
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.
2023-05-30 09:44:23 +02:00
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
2023-05-28 19:09:36 +02:00
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.
2023-05-14 15:00:58 +02:00
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
2023-05-12 10:31:45 +00:00
elsid
ab0a460a6f
Update cell local map on different neighbour cells 2023-05-11 22:55:22 +02:00
Petr Mikheev
d18588dce7 Use LuaUtil::cast for casting sol::object to prevent crashing on type mismatch in Lua scripts. 2023-04-26 00:38:29 +02:00
Petr Mikheev
51cbfa84fa Add function LuaUtil::cast 2023-04-26 00:27:36 +02:00
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.
2023-03-21 09:39:28 +01:00
elsid
9f00b99b22
Use set to track visited directories instead of removing duplicates 2023-03-21 09:39:17 +01:00
Evil Eye
47d75c70ea Don't capture temporaries by reference 2023-03-20 22:14:21 +01:00
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.
2023-03-18 22:01:55 +01:00
Mads Buvik Sandvei
7d057600ea SkyStereoStatesetUpdater was incorrectly always using reverseZ matrices. 2023-03-11 14:01:11 +01:00
Mads Buvik Sandvei
00e02bb326 Change assosiative order of stereo-related matrix multiplications to reduce FP errors. 2023-03-11 14:00:39 +01:00
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.
2023-03-05 18:06:50 +01:00
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
2023-03-04 12:43:03 +00:00
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
2023-03-03 21:53:13 +00:00
Cody Glassman
7fb4acaaf2 fix sunglare flash, make sure all bound render targets have color masks set 2023-03-03 20:43:43 +03:00
Petr Mikheev
95219e6fa2 Fix bug in lua_ui/content.lua: getmetatable(ui.content{}) shouldn't return a global mutable table (!2733 for 0.48) 2023-02-27 23:44:00 +01:00
Petr Mikheev
1540c9679f Don't expose LuaUtil::Callback to lua (!2733 for 0.48) 2023-02-27 23:44:00 +01:00
Petr Mikheev
628017a817 Move asyncpackage from apps/openmw/mwlua to components/lua (!2733 for 0.48) 2023-02-27 23:44:00 +01:00
uramer
4b2ef32b86 Move implementation of UI Content to Lua (!2661 for 0.48) 2023-02-27 22:17:04 +01:00
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
2023-02-18 22:36:16 +00:00
Evil Eye
8e73d49602 Cap temporary disposition gain and compute permanent changes accordingly 2023-02-14 20:32:54 +01:00
elsid
09199ea006
Use shared locks in physics system when using multithreaded bullet 2023-02-12 15:02:41 +01:00
Alexei Kotov
3ab719f5a6 Improve post-process HUD search field usability (0.48.0) 2023-02-11 03:12:17 +03:00
Alexei Kotov
15df41f459 Fix Lua ingredient bindings 2023-02-10 02:56:20 +03:00
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
2023-02-02 09:38:27 +00:00
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
2023-02-01 22:49:34 +00:00
elsid
f23866be90
Stop updating navmeshtool progress on first bad message 2023-01-27 19:12:57 +01:00
Evil Eye
c1b9a91877 Delay teleportation till the menu is closed 2023-01-19 20:11:35 +01:00
Evil Eye
bb36155a54 End combat when the target is outside the active grid 2023-01-15 19:54:54 +01:00
Alexei Kotov
d327e92d7f Don't cancel animation-less knockout 2023-01-07 23:05:03 +03:00
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
2022-12-29 23:26:26 +00:00
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.
2022-12-29 22:09:56 +01:00
Cédric Mocquillon
30e2ea2951 Connect zoom in/out only when the option is allowed 2022-12-29 21:29:39 +01:00
Evil Eye
7d97ca6cd5 Don't call getClass on an empty Ptr 2022-12-27 10:09:45 +01:00
psi29a
678898b8f6 Merge branch 'keep_calm_and_get_hit_48' into 'openmw-48'
!2522 for 0.48

See merge request OpenMW/openmw!2538
2022-12-19 12:46:54 +00:00
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.
2022-12-09 19:01:42 +00:00
Evil Eye
92761f0527 Add option to restore non-MCP Calm spell behaviour 2022-12-09 17:21:04 +01:00
Petr Mikheev
734f09abe6 Run Lua GC in every frame 2022-12-04 22:27:44 +01:00
Andrei Kortunov
babd9ee24b Improve postprocess HUD layout 2022-11-18 11:48:00 +04:00
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)
2022-11-07 13:03:18 +00:00
elsid
4f360e6374
Support negative days in TimeStamp
As vanilla engine does.
2022-11-02 20:28:23 +01:00
Evil Eye
df5eac88b8 Only force adjust the player and NPCs teleported out of the active grid 2022-10-31 12:56:05 +01:00
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
2022-10-30 18:36:26 +00:00
Evil Eye
2881a30e9e Allow bound effects to be recast if they're attached to a recastable effect 2022-10-30 14:31:41 +01:00
Petr Mikheev
710ad11dc8 Fix #7039: freeze after throwing an error in a queued Lua callback 2022-10-22 17:59:59 +02:00
uramer
5cf96a808e Lua coroutine crash tests 2022-10-22 17:59:59 +02:00
uramer
4f25796029 Execute async callbacks on the main Lua stack 2022-10-22 17:59:56 +02:00