1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-30 12:32:36 +00:00

403 Commits

Author SHA1 Message Date
Petr Mikheev
90397662bc Lua bindings for magic. Based on the work made by @bharbich in !2765. 2023-04-20 18:48:34 +02:00
florent.teppe
53cc9f3614 functions return reference instead of ptr
because the function can never return an nullptr, we return a reference.
2023-04-20 15:55:40 +02:00
psi29a
2a6e301925 Merge branch 'activation' into 'master'
Allow Lua scripts to extend or override standard activation mechanics

See merge request OpenMW/openmw!2935
2023-04-20 11:29:21 +00:00
psi29a
cace3e6566 Merge branch 'fix_teleporting' into 'master'
Fix bugs related to Lua commands `obj:teleport` and `obj:moveInto`

See merge request OpenMW/openmw!2937
2023-04-20 11:28:02 +00:00
Petr Mikheev
1c3903f155 Support ESM4 types in cell:getAll 2023-04-20 01:47:16 +02:00
Petr Mikheev
00beb06391 Initial Lua bindings for ESM4 types; bindings for ESM4Door. 2023-04-20 01:47:16 +02:00
Petr Mikheev
75e47f859c Restore logic that was accidentally removed in !2852. Because of it onUpdate handler in local Lua scripts doesn't work. 2023-04-18 23:31:44 +02:00
Petr Mikheev
0cebaec360 Fix bug: world.createObject(id):moveTo(inventory) produces disabled objects that are visible in inventory, but can not be droped to the ground. 2023-04-17 19:07:44 +02:00
Petr Mikheev
60a8d08e66 Refactor teleporting in Lua; fix a bug in worldmodel.cpp 2023-04-17 19:07:30 +02:00
Petr Mikheev
61d207bd78 Allow Lua scripts to extend or override standard activation mechanics 2023-04-16 23:50:27 +02:00
Zackhasacat
224b7a0bf8 Allow Soul values on Misc Items to be set by Lua 2023-04-16 19:28:26 +00:00
psi29a
d6d7746c9b Merge branch 'records' into 'master'
[Lua] Fix implementation of types.*.records

See merge request OpenMW/openmw!2918
2023-04-11 06:54:19 +00:00
Petr Mikheev
55c9cde2ed [Lua] Add missing record.id for NPC and Creature records. 2023-04-10 23:28:15 +02:00
Petr Mikheev
9279c3d3e1 [Lua] Fix implementation of types.*.records 2023-04-10 23:15:28 +02:00
Mitten.O
85dc0ec481 Create a custom Lua usertype to expose a record store as a read-only array 2023-04-09 15:00:01 +03:00
Petr Mikheev
f09a689a4f Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
florent.teppe
3f678c3b0a Dest Door and teleport use ESM::RefId
This changes a lot of files as a consequence.
Still buggy, moving to exterior doesn't bring to the right place yet
coc "seyda neen" doesn't work. SO I broke somehting when fetching a cell from a name
2023-04-03 14:16:03 +02:00
uramer
7f3926db3f Merge branch 'lua_ai' into 'master'
Expose the argument `cancelOther` of `AiSequence::stack` to Lua

Closes #7245

See merge request OpenMW/openmw!2865
2023-03-30 19:35:48 +00:00
Mitten Orvan
4744b1eeda Make API for creating potions 2023-03-29 07:46:11 +00:00
Petr Mikheev
3c5a9f55c5 Expose the argument cancelOther of AiSequence::stack to Lua 2023-03-27 02:28:45 +02:00
Petr Mikheev
a72dc6c7a1 (Lua) Add onActivate handler in global scripts 2023-03-27 01:36:45 +02:00
psi29a
76cba95a44 Merge branch 'lua' into 'master'
LuaManager refactoring

See merge request OpenMW/openmw!2852
2023-03-26 11:12:51 +00:00
Petr Mikheev
a88fcbffb0 Address review comments 2023-03-26 03:38:40 +02:00
Petr Mikheev
8d1e52ed51 Extract engine handlers processing from LuaManager to a new class EngineEvents 2023-03-26 03:38:40 +02:00
Petr Mikheev
7ef759c78b Refactor mwlua/eventqueue and extract some code out of LuaManager 2023-03-26 03:38:40 +02:00
Petr Mikheev
4fd07cb58d Implement MWWorld::Class::isItem(ptr) and remove a hacky MWLua::WorldView::isItem. 2023-03-26 03:38:40 +02:00
elsid
b7fdca0fe6
Use serialized ESM::RefId for Lua records 2023-03-25 18:19:46 +01:00
elsid
ca9c55ac26
Use common function to add record binding 2023-03-25 15:05:58 +01:00
elsid
33a59a9342
Use ESM::RefId::toDebugString to convert record to string in Lua 2023-03-25 15:05:55 +01:00
elsid
017f3d5484
Interpret ESM::Light::mSound as identifier not a path 2023-03-24 15:42:26 +01:00
elsid
069d4255b9
Make ESM::RefId to be fixed size cheap to copy
Use std::variant. Store refId strings in unordered_set and use pointer to an
item there. Inserts to unordered_set do not invalidate pointers to values so the
pointer is always valid. Elements are not removed. Assume there is finite number
of string refIds.
2023-03-19 17:20:43 +01:00
Petr Mikheev
2bfffb3063 Move std::variant<SelfObject*, LObject, GObject> from mwlua/stats.cpp to mwlua/objectvariant.hpp 2023-03-13 23:44:00 +01:00
Petr Mikheev
0b385d5db9 Create MWWorld::SafePtr 2023-03-13 23:44:00 +01:00
Mitten Orvan
4e6d48d246 Add a bit of high-level developer documentation about the Lua system 2023-03-13 22:41:28 +00:00
Petr Mikheev
65885d994f Don't expose LuaUtil::Callback to lua 2023-02-14 21:08:19 +01:00
Petr Mikheev
71ba7b88e2 Move asyncpackage from apps/openmw/mwlua to components/lua 2023-02-14 20:03:32 +01:00
Kindi
4734504e2c Lua binding for Clothing 2023-02-12 00:19:08 +08:00
Alexei Kotov
5340c2c816 Fix Lua ingredient bindings 2023-02-10 02:50:13 +03:00
elsid
f09789002a
Define hardcoded global variable names as constants 2023-02-07 00:47:34 +01:00
psi29a
4032c447e9 Merge branch 'load-ESM4-Cell' into 'master'
Can load and coc into an interrior oblivion cell

See merge request OpenMW/openmw!2647
2023-02-06 08:56:23 +00:00
psi29a
68b3b90255 Merge branch 'ui_content_leak' into 'master'
Move implementation of UI Content to Lua (#7155)

See merge request OpenMW/openmw!2661
2023-02-01 22:51:47 +00:00
uramer
e96681151c Get rid of the LuaUI::Content namespace 2023-02-01 17:18:50 +01:00
uramer
fb0646dda1 Remove Ui Content counter in Lua profiler 2023-01-31 19:52:28 +01:00
uramer
bbbef96087 Switch to loadInternalLib 2023-01-31 19:50:33 +01:00
Petr Mikheev
c4e8d38e30 Do several passes of garbage collecting in LuaManager::clear() 2023-01-31 11:08:01 +00:00
uramer
fc1430af95 Move implementation of UI Content to Lua 2023-01-29 17:07:38 +01:00
florent.teppe
216ca71149 Applied review comments
getEditorName => getNameId
restored cosntructor in CoordinateConverter
2023-01-28 12:14:00 +01:00
florent.teppe
23614ae2ae Renamed esm3esm4bridge => esmbridge 2023-01-27 18:40:15 +01:00
florent.teppe
531e55e04c Better handling of the esm3 vs esm4 cell problem
Common attribute are in one structure that has two constructors, one for ESM3 vs ESM4 Cell
Mood part of MWWorld::Cell
2023-01-27 13:39:39 +01:00
florent.teppe
c896a2ca48 Crashfix on launch 2023-01-26 22:37:32 +01:00