1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-27 21:35:24 +00:00

25866 Commits

Author SHA1 Message Date
elsid
153cd9a20c
Avoid redundant search for existing element 2021-07-12 11:41:21 +02:00
elsid
d4a2dab9d9
Remove redundant else 2021-07-12 11:41:21 +02:00
elsid
eece47f70e
Avoid copying osg::ref_ptr when adding or removing item from work queue
Copy constructor does refcounting, and move constructor doesn't.
2021-07-12 11:41:21 +02:00
elsid
b8fcd6d3ba
Manage work item lifetime on the client side
Instead of explicit work queue stop before any possibly used engine manager
is destructed. Based on an assumption that any engine manager can be destructed
independently from the work queue destruction. This model is already used in
CellPreloader that conflicts with explicit work queue stop.

After the work queue is requested to be stopped, any client waiting for a not
started work item to be done will wait forever because the work item is dropped
from the queue. Therefore either clients should not wait for own work items to
be completed in destructor or the work queue should not drop items before
clients are destructed. Other approaches are possible but are not considered
due to increasing complexity.

CellPreloader already tries to wait for all created work items to be done so
keep it that way and extend the model to AsyncScreenCaptureOperation and Scene.
Additionally abort all scheduled work items when owner is destructed. This
prevents a long exit when multiple screenshots are scheduled right before
exiting the game.
2021-07-12 11:41:14 +02:00
psi29a
5287c9627c Merge branch 'fix_debugbatch_colors' into 'master'
Fix black objects in object paging debug view

See merge request OpenMW/openmw!1011
2021-07-12 08:59:07 +00:00
glassmancody.info
389b830046 fix black objects with OP batch debug due to unitialized uniform 2021-07-11 23:03:55 -07:00
psi29a
ba3d66503f Merge branch 'ci_tests_debug' into 'master'
Add CI jobs to build tests in debug mode

See merge request OpenMW/openmw!1006
2021-07-11 19:06:13 +00:00
elsid
73639a93b6
Avoid CTAD to fix macOS build
../../../apps/openmw/engine.cpp:706:23: error: no viable constructor or deduction guide for deduction of template arguments of 'function'
                    ? std::function(ScheduleNonDialogMessageBox {})
                      ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:1430:48: note: candidate template ignored: could not match 'function<_Fp>' against '(anonymous namespace)::ScheduleNonDialogMessageBox'
template<class _Fp> class _LIBCPP_TEMPLATE_VIS function; // undefined
                                               ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:1430:48: note: candidate function template not viable: requires 0 arguments, but 1 was provided
../../../apps/openmw/engine.cpp:707:23: error: no viable constructor or deduction guide for deduction of template arguments of 'function'
                    : std::function(IgnoreString {})
                      ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:1430:48: note: candidate template ignored: could not match 'function<_Fp>' against '(anonymous namespace)::IgnoreString'
template<class _Fp> class _LIBCPP_TEMPLATE_VIS function; // undefined
                                               ^
2021-07-11 13:26:21 +02:00
elsid
e1c525914c
Add CI jobs to build tests in debug mode 2021-07-11 01:10:55 +02:00
elsid
5357c67c3e Merge branch 'fix_6151' into 'master'
Disable special processing of Lua errors in debug builds. Fixes #6151.

Closes #6151

See merge request OpenMW/openmw!1008
2021-07-10 23:05:09 +00:00
Petr Mikheev
84721fb58a Disable special processing of Lua errors in debug builds. Fixes #6151. 2021-07-10 23:43:55 +02:00
psi29a
5688b7b4d8 Merge branch 'FixLODIssueWithObjectPaging' into 'master'
LOD issue with object paging

See merge request OpenMW/openmw!1007
2021-07-10 21:03:04 +00:00
Cédric Mocquillon
269cd31059 Use same world coordinates to compute distances 2021-07-10 19:04:46 +02:00
psi29a
83af0402b8 Merge branch 'fix_sol_build' into 'master'
Add missing include from sol/sol.hpp

See merge request OpenMW/openmw!1003
2021-07-10 00:16:40 +00:00
elsid
36ec877a8e
Add missing include from sol/sol.hpp 2021-07-10 01:01:50 +02:00
psi29a
61f3c528d2 Merge branch 'lua' into 'master'
Lua

Closes #5990

See merge request OpenMW/openmw!430
2021-07-09 21:53:00 +00:00
Petr Mikheev
c2280ada1d OpenMW Lua, API_VERSION=0 2021-07-09 20:48:54 +02:00
Petr Mikheev
85c441ec9a Refactoring and minor fixes related to active/inactive object state 2021-07-09 20:48:54 +02:00
Petr Mikheev
43b7e6964a Add function World::isCellActive 2021-07-09 20:48:54 +02:00
Petr Mikheev
702eb19271 Fixes and refactoring 2021-07-09 20:48:54 +02:00
Petr Mikheev
25cc884c17 Integrate Lua doc into sphinx doc (issue #5931) 2021-07-09 20:48:54 +02:00
Petr Mikheev
4eb5841c60 Update OpenMW Lua documentation 2021-07-09 20:48:54 +02:00
Petr Mikheev
cc7dbabd19 Change argument of onKeyPress 2021-07-09 20:48:54 +02:00
Petr Mikheev
b1a6441c23 Add LocalScripts::LocalEngineEvent. Add OnConsume engine handler. 2021-07-09 20:48:54 +02:00
Petr Mikheev
1268597676 Make loaded but inactive objects available in Lua scripts. 2021-07-09 20:48:54 +02:00
Petr Mikheev
403d31313c New setting "lua num threads". Thread syncronization is changed from std:🧵:yield to std::condition_variable. 2021-07-09 20:48:54 +02:00
Petr Mikheev
a8f76260bc A possibility to view actor controls from lua scripts without disabling AI. 2021-07-09 20:48:54 +02:00
Petr Mikheev
7087eb1a4e Add built-in Lua library 'openmw_aux' that extends OpenMW Lua API 2021-07-09 20:48:54 +02:00
Petr Mikheev
c463f52390 Add Cell Lua bindings 2021-07-09 20:48:54 +02:00
Petr Mikheev
de349962d1 Engine handlers onActive/onInactive and a function self:isActive() 2021-07-09 20:32:53 +02:00
Petr Mikheev
d5cda61855 Console command "reload lua" 2021-07-09 20:24:56 +02:00
Petr Mikheev
9d09ecf8ca Add mwlua/actions 2021-07-09 20:24:56 +02:00
uramer
8facf2952a Documentation for lua package 'openmw.query' 2021-07-09 20:24:56 +02:00
Petr Mikheev
9746800eed Documentation for Lua scripting 2021-07-09 20:24:56 +02:00
Petr Mikheev
f5722f9ba0 Inventory bindings 2021-07-09 20:24:56 +02:00
Petr Mikheev
bdccf161c4 Add lua package 'openmw.query' 2021-07-09 20:24:56 +02:00
Petr Mikheev
32218f6dd5 More Lua bindings 2021-07-09 20:24:56 +02:00
Petr Mikheev
87b5afb9bf Control active Lua scripts from openmw.cfg 2021-07-09 20:24:56 +02:00
Petr Mikheev
8c6d303730 Saving/loading for Lua scripts (saves format is changed) 2021-07-09 20:24:56 +02:00
Petr Mikheev
914e604e06 Interactions between LuaManager and other parts of OpenMW 2021-07-09 20:24:56 +02:00
Petr Mikheev
f2d0a702e9 Add Lua timers 2021-07-09 20:24:51 +02:00
Petr Mikheev
3d7e306064 Add apps/openmw/mwlua 2021-07-09 20:03:27 +02:00
Petr Mikheev
7df500c385 Put RefData move constructor to cpp file 2021-07-09 20:03:27 +02:00
Petr Mikheev
6db2450c90 Initial support of generated RefNums with negative mContentFile. 2021-07-09 20:03:27 +02:00
Petr Mikheev
b53667d555 Queries. Data structures and lua bindings. 2021-07-09 20:03:27 +02:00
Petr Mikheev
479856f812 Add components/lua/scriptscontainer and components/esm/luascripts 2021-07-09 20:03:27 +02:00
Petr Mikheev
8dbaf6022c Add components/lua/serilalization 2021-07-09 20:03:27 +02:00
Petr Mikheev
4b068b27ca Add components/lua/luastate and components/lua/utilpackage 2021-07-09 20:03:27 +02:00
Petr Mikheev
b432a1a1c1 Add a directory for builtin lua scripts. Dehardcoded game mechanics are supposed to live there. 2021-07-09 20:03:27 +02:00
Petr Mikheev
9a5229a821 Temporary fix for MacOS build. Remove this commit after resolving #5990. 2021-07-09 20:03:27 +02:00