1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-14 06:40:40 +00:00

40 Commits

Author SHA1 Message Date
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
0b385d5db9 Create MWWorld::SafePtr 2023-03-13 23:44:00 +01:00
Petr Mikheev
c294898246 Lua commands to create/move/remove objects; consistent handling of disabled objects (#6726, #6893) 2023-01-22 00:08:21 +01:00
florent.teppe
3780033837 Reverts Cell name to a string 2023-01-21 18:39:42 +01:00
Petr Mikheev
4b8b3a9187 Raise an error if initData in obj:addScript has incorrect type. 2023-01-04 21:40:35 +01:00
Petr Mikheev
b248c3e173 Allow passing initData to the :addSript call (#7091) 2022-12-31 22:08:17 +01:00
Petr Mikheev
310acaeee9 Don't pass MWLua::WorldView to MWLua::Action 2022-12-28 22:06:49 +01:00
Petr Mikheev
aef2e9d8de Replace World::getExterior with WorldModel::getCell 2022-12-28 22:06:49 +01:00
Petr Mikheev
b8fb013edf Merge MWLua::ObjectRegistry and MWWorld::WorldModel 2022-12-28 12:45:11 +01:00
florent.teppe
1ef1de974d script blacklist => RefId
Applies changes from review

Fixed clang format

Clang format + review.
2022-12-27 19:16:21 +01:00
florent.teppe
2c30575b3b CellName is now a RefId, makes more sense that way. 2022-12-27 19:16:21 +01:00
fteppe
125b21de20 Initial commit: In ESM structures, replace the string members that are RefIds to other records, to a new strong type
The strong type is actually just a string underneath, but this will help in the future to have a distinction so it's easier to search and replace when we use an integer ID

Slowly going through all the changes to make, still hundreds of errors

a lot of functions/structures use std::string or stringview to designate an ID. So it takes time

Continues slowly replacing ids. There are technically more and more compilation errors

I have good hope that there is a point where the amount of errors will dramatically go down as all the main functions use the ESM::RefId type

Continue moving forward, changes to the stores

slowly moving along

Starting to see the fruit of those changes.

still many many error, but more and more Irun into a situation where a function is sandwiched between two functions that use the RefId type.

More replacements. Things are starting to get easier

I can see more and more often the issue is that the function is awaiting a RefId, but is given a string
there is less need to go down functions and to fix a long list of them.

Still moving forward, and for the first time error count is going down!

Good pace, not sure about topics though, mId and mName are actually the same thing and are used interchangeably

Cells are back to using string for the name, haven't fixed everything yet. Many other changes

Under the bar of 400 compilation errors.

more good progress <100 compile errors!

More progress

Game settings store can use string for find, it was a bit absurd how every use of it required to create refId from string

some more progress on other fronts

Mostly game settings clean

one error opened a lot of other errors. Down to 18, but more will prbably appear

only link errors left??

Fixed link errors

OpenMW compiles, and launches, with some issues, but still!
2022-12-27 19:15:54 +01:00
Petr Mikheev
55db95d4cf Update Lua profiler; add ability to run OpenMW with old LuaJit that doesn't allow custom allocator (Lua profiler will be disabled in this case) 2022-12-03 16:58:03 +01:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
elsid
552301c8fb
Cleanup openmw lua includes 2022-08-17 23:47:30 +02:00
elsid
49f8445f87
Move AiSetting out of MWMechanics::CreatureStats
To replace creaturestats.hpp include in mwworld/class.hpp with forward
declaration reducing total size of preprocessed code.
2022-07-16 16:43:33 +02:00
elsid
20c15b30de
Move getLuaType out of MWWorld::PtrBase
This function is used only for Lua related code and don't need to be present
everywhere ptr.hpp is included.
2022-07-05 00:53:19 +02:00
Petr Mikheev
a70d5831c5 Lua scripts configuration in omwaddon 2022-06-05 01:36:39 +02:00
psi29a
71e4e5ceec Merge branch 'lua_activate' into 'master'
[Lua] Fix the bug that object:activate() doesn't trigger mwscripts

See merge request OpenMW/openmw!1834
2022-05-08 08:30:50 +00:00
Petr Mikheev
2d1d7e644c [Lua] Fix the bug the object:activate() doesn't trigger mwscripts 2022-05-06 23:46:36 +02:00
Petr Mikheev
70c7f1880d [Lua] pairs and ipairs for ObjectList (resolves #6732) 2022-05-06 23:11:47 +02:00
Petr Mikheev
a65f8ebbc6 Reorganize delayed Lua actions 2022-04-11 22:19:51 +02:00
Petr Mikheev
fa115418eb [Lua] Remove queries 2022-03-15 23:35:36 +01:00
Petr Mikheev
43bed7f0d2 [Lua] Split obj.inventory into Actor.inventory(obj) and Container.content(obj) 2022-03-15 23:35:36 +01:00
Petr Mikheev
d251c4e2a1 [Lua] Change behavior of obj.type 2022-03-15 23:35:36 +01:00
Petr Mikheev
af93ebf433 [Lua] Move class-specific functions to openmw.types 2022-03-15 19:23:26 +01:00
Petr Mikheev
a294adcdaf Proper support of pairs and ipairs in Lua; fix bug in makeReadOnly. 2022-02-06 22:10:20 +00:00
Petr Mikheev
6e4f628866 Replace inventory:get<Type>() with inventory:getAll(<Type>) 2022-02-03 02:05:49 +01:00
Petr Mikheev
47c37e5849 Lua command object:activateBy(actor) and handler onActivate 2022-02-01 23:42:56 +00:00
Petr Mikheev
c7d6620c35 Add error checking in MWLua::Action 2021-11-15 01:17:53 +01:00
Petr Mikheev
9adc190209 Redesign LuaUtil::ScriptsContainer to work with ScriptsConfiguration 2021-10-26 21:32:48 +02:00
Petr Mikheev
6aab246879 Add ESM records that are needed to store Lua scripts configuration;
Use ptr.getType() (i.e. esm record names) instead of typeid(ptr.getClass()) in apps/openmw/mwlua.
2021-10-26 21:32:02 +02:00
Petr Mikheev
3771e523f1 More object bindings 2021-08-21 17:18:11 +02:00
Petr Mikheev
702eb19271 Fixes and refactoring 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
9d09ecf8ca Add mwlua/actions 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
3d7e306064 Add apps/openmw/mwlua 2021-07-09 20:03:27 +02:00