uramer
1d8ee7984f
Make input.triggers[] consistent with input.actions[]
2024-01-02 13:45:45 +01:00
uramer
0e2e386dc9
Lua actions take 3
2023-12-29 18:56:59 +00:00
Devin Alexander Torres
8161771969
Add sol::lib::jit to actually enable JIT
2023-12-07 04:57:52 -06:00
uramer
c9eaeb47d5
Minor API inconsistencies
2023-11-21 03:04:24 +00:00
Petr Mikheev
f5325e11e3
Rename mPermanentCallbacks -> mMenuScriptsCallbacks in LuaUtil::Storage
2023-10-31 11:05:00 +01:00
Petr Mikheev
1dd7a15255
Draft: add new type of Lua scripts - menu scripts
2023-10-31 10:29:24 +01:00
Kindi
c77b88cd38
fix string format
2023-09-08 10:39:28 +08:00
Andrei Kortunov
a849a053be
Do not copy vector
2023-09-04 16:50:45 +04:00
psi29a
0b74146b05
Merge branch 'luautflib' into 'master'
...
Lua utf-8 support
Closes #6505
See merge request OpenMW/openmw!3327
2023-09-03 17:05:27 +00:00
Kindi
7eb456a169
refactoring for readability
2023-09-03 19:20:59 +08:00
Kindi
8798217b51
remove const keyword from all string_view
2023-09-02 12:21:07 +08:00
Kindi
db287b2bc6
dont use pass by const reference for small types in func arguments
2023-09-01 19:35:50 +08:00
Kindi
dd61caa96d
using misc::stringutils::format and simplify relativeposition function
2023-09-01 19:26:18 +08:00
Kindi
af58b531da
change function names and add documentation in overview.rst
2023-08-30 02:33:27 +08:00
Kindi
532230254b
add documentation
2023-08-28 02:37:52 +08:00
Kindi
92842cedf5
len,codepoint,offset
2023-08-27 16:12:52 +08:00
Petr Mikheev
87eacf774a
Control GUI modes from Lua
2023-08-20 17:49:56 +02:00
Petr Mikheev
f86a45d60a
[Lua] add __len metafunction for readonly objects
2023-08-20 17:49:56 +02:00
Kindi
6d02c31720
utf8.codes
2023-08-18 00:01:11 +08:00
Kindi
d9c102e14d
utf8.char
2023-08-13 23:37:31 +08:00
Kindi
8622a6da3b
luautf8lib
2023-08-10 18:50:22 +08:00
Andrei Kortunov
f5b18d2d5d
Do not copy objects twice where possible
2023-08-02 20:03:48 +04:00
elsid
5a0ad8cdd7
Add Morrowind specific tests
2023-07-22 01:31:55 +02:00
Petr Mikheev
3b43cc2aea
Lua: change obj.rotation from Euler angles to Quaternion
2023-06-12 00:16:42 +02:00
glassmancody.info
a7b7f99d72
Expose game object's bounding box in lua api
2023-05-18 11:10:10 -07:00
psi29a
cdc753df70
Merge branch 'lua_refactoring' into 'master'
...
MWLua refactoring
See merge request OpenMW/openmw!2956
2023-05-02 19:48:21 +00:00
Petr Mikheev
4562b8c06b
Add headers for all .cpp
files in mwlua; move packages initilaization from LuaManager to luabindings.cpp
2023-04-25 23:24:51 +02:00
Petr Mikheev
c362b2efa6
Use LuaUtil::cast for casting sol::object to prevent crashing on type mismatch in Lua scripts.
2023-04-25 22:11:04 +02:00
Petr Mikheev
61578ca39b
Add function LuaUtil::cast
2023-04-25 21:51:05 +02:00
Petr Mikheev
7b3aa621a4
[Lua] Fix memory leak in sandboxed "require".
2023-02-26 19:59:53 +01:00
Petr Mikheev
d0a82437a4
[Lua] Fix memory tracking
2023-02-26 18:46:57 +01:00
psi29a
0f331a4fc5
Merge branch 'lua_callback' into 'master'
...
Fix potential memory leak in LuaUtil::Callback
See merge request OpenMW/openmw!2733
2023-02-18 21:05:07 +00:00
Petr Mikheev
b71eac3e76
Fix #7210
2023-02-15 10:31:10 +01: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
elsid
c79c14da91
Fix -Wnon-virtual-dtor warnings
2023-02-03 23:00:09 +01:00
uramer
c17eedd348
Documentation and API fixes (part of !2529 )
2023-01-30 10:13:26 +00:00
Petr Mikheev
95999afefd
Apply clang-format to the previous commit
2023-01-20 23:44:12 +01:00
Kindi
07da7eddea
Add remap and round to lua utils
2023-01-20 22:28:34 +00:00
Petr Mikheev
d9e9db0983
Additional information in Lua profiler
2023-01-13 21:14:23 +01:00
Petr Mikheev
b248c3e173
Allow passing initData
to the :addSript call ( #7091 )
2022-12-31 22:08:17 +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
Petr Mikheev
6fa65e4729
Track memory and CPU usage per script in LuaUtil::LuaState
2022-11-30 00:06:14 +01:00
uramer
a2fa1fe0a5
Execute async callbacks on the main Lua stack
2022-10-18 22:12:11 +02:00
Petr Mikheev
3697c9266b
Separate l10n manager from lua
2022-10-07 17:19:04 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base
2022-09-22 21:35:26 +03:00
psi29a
ce90484898
Merge branch 'fix_lua_color' into 'openmw-48'
...
Make r, g, b, a read-only properties, rather than getters
See merge request OpenMW/openmw!2380
(cherry picked from commit 85f343e87a
)
19d01f26
Make r, g, b, a read-only properties, rather than getters
2022-09-15 22:01:59 +00:00
Project579
a13709c510
Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions.
2022-09-11 14:41:20 +02:00
Project579
e5c417c968
Make sure all paths are passed as std::filesystem::path instead of std::string where possible.
2022-09-11 14:41:15 +02:00
Andrei Kortunov
e3ad30a517
Do not copy data when it is not needed
2022-08-15 11:52:09 +04:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
...
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
ζeh Matt
764d34362e
Type forward VFS::Manager in luastate.hpp and l10n.hpp
2022-07-18 19:36:41 +03:00
Andrei Kortunov
ccbb5e03fb
Use YAML files to translate MyGUI's localization tags
2022-07-12 08:20:40 +04:00
elsid
316f666e77
Avoid constructing icu::StringPiece from std::string directly
...
Otherwise it causes a crash on Windows when OpenMW is built in debug
mode but ICU not.
2022-07-01 22:31:06 +02:00
psi29a
9c1970dce4
Merge branch 'lua_esm' into 'master'
...
Advanced Lua scripts configuration in omwaddon
See merge request OpenMW/openmw!1947
2022-06-11 18:48:23 +00:00
Petr Mikheev
1240b60a24
Console command reloadlua
also reloads l10n used by Lua scripts
2022-06-06 23:56:08 +02:00
Petr Mikheev
a70d5831c5
Lua scripts configuration in omwaddon
2022-06-05 01:36:39 +02:00
Petr Mikheev
a4b23aad05
Validate l10n context name
2022-05-23 19:25:30 +02:00
uramer
1fe794d935
Changing setting renderer arguments
2022-05-19 19:49:14 +00:00
psi29a
d3f331793e
Merge branch 'sol' into 'master'
...
Update sol. Replace combined sol.hpp with loose files.
See merge request OpenMW/openmw!1851
2022-05-18 07:57:32 +00:00
uramer
22994af728
Fix Lua pairs and ipairs
2022-05-16 16:32:18 +02:00
Petr Mikheev
7ccbf95503
[Lua] makeStrictReadOnly for enums
2022-05-16 00:16:26 +02:00
Petr Mikheev
d16fa553c8
Fix LuaUtil::Callback
2022-05-15 21:34:48 +02:00
Petr Mikheev
70c7f1880d
[Lua] pairs and ipairs for ObjectList ( resolves #6732 )
2022-05-06 23:11:47 +02:00
Petr Mikheev
eae1e87081
[Lua] Update openmw.storage
2022-04-23 18:55:12 +02:00
Petr Mikheev
45c9635e94
Fix getmetatable, fix pairsForReadonly, add util.loadCode, _G
2022-04-14 01:00:02 +02:00
Benjamin Winger
21ffbcc4b4
Lua i18n updates
2022-04-10 07:57:02 +00:00
Petr Mikheev
eca64b48e8
Bitwise operations in Lua
2022-04-06 21:55:05 +02:00
uramer
36c46ada6f
Pass unhandled Lua UI events to the parent
2022-03-14 19:07:23 +00:00
uramer
a1abc84f59
Implement pairs and ipairs for ui.content and ui.layers. Document all iterable types in a uniform way.
2022-02-21 20:43:27 +00:00
Petr Mikheev
6876851766
Allow require
to return not a table in Lua
2022-02-12 12:02:17 +01:00
uramer
ede9d27437
Element-wise multiplication and division of Lua vectors
2022-02-10 19:43:27 +00:00
Petr Mikheev
a294adcdaf
Proper support of pairs
and ipairs
in Lua; fix bug in makeReadOnly
.
2022-02-06 22:10:20 +00:00
psi29a
6f7a067e0c
Merge branch 'esmrename' into 'master'
...
esm refactor work
See merge request OpenMW/openmw!1575
2022-01-27 17:52:42 +00:00
Petr Mikheev
067d71f7eb
Fix heap use after free in components/lua/storage.cpp
2022-01-23 22:37:04 +01:00
Bret Curtis
d1fb854521
move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
...
esm typo
esm typo
2022-01-23 17:04:48 +01:00
uramer
d1d8f058ac
Lua bindings for Colours
2022-01-17 22:35:06 +00:00
uramer
c07fb75bf7
Merge branch 'lua_settings' into 'master'
...
Permanent storage for Lua
See merge request OpenMW/openmw!1489
2022-01-15 21:52:09 +00:00
Petr Mikheev
97d56e198f
Use double precision for vectors serialization in Lua
2022-01-15 11:25:30 +01:00
Petr Mikheev
a182fdeea1
Permanent storage for Lua data
2022-01-11 11:21:03 +01:00
Petr Mikheev
2d1b100239
Change terminology of gameSecond/gameHour to simulationTime/gameTime
2022-01-10 21:03:35 +01:00
Josquin Frei
d9672f7d46
Add serialization for TransformM and TransformQ
2022-01-10 12:42:03 +00:00
Petr Mikheev
6a19a66ae5
Fix #6535
2022-01-05 20:08:03 +01:00
Petr Mikheev
5eca122f04
Avoid creating multiple i18n contexts with the same name.
2022-01-05 19:50:52 +01:00
Petr Mikheev
0f246e7365
Use a separate instance of Lua i18n for every context
2022-01-02 09:58:51 +01:00
Petr Mikheev
7549496162
A few small fixes + expose makeReadOnly to Lua + an option to apply makeReadOnly during deserialize
2021-12-15 02:38:54 +01:00
uramer
c865114b9b
Lua UI Layers
2021-12-14 17:38:06 +00:00
Petr Mikheev
f9136d4392
Support multiple arguments in Lua callbacks.
2021-11-21 13:12:35 +01:00
Petr Mikheev
d5ca091d6e
Make util.rotateX, util.rotateY, rotate.Z consistent with morrowind rotation
2021-11-19 20:37:21 +01:00
Petr Mikheev
c7d6620c35
Add error checking in MWLua::Action
2021-11-15 01:17:53 +01:00
psi29a
bd694128b9
Merge branch 'lua_input' into 'master'
...
Update Lua package openmw.input
See merge request OpenMW/openmw!1356
2021-11-14 19:57:37 +00:00
Evil Eye
6daefe3ddc
Cast to the unsigned char expected by cctype functions
2021-11-14 11:26:18 +01:00
Evil Eye
f23bd51175
Don't check bounds when the type is unambiguously a char
2021-11-14 11:26:18 +01:00
Evil Eye
751e8cf76b
Do a bounds check before calling functions defined in cctype
2021-11-14 11:26:15 +01:00
Petr Mikheev
ed85393288
Replace sol::table::create_table_with with a more compiler-friendly implementation. It fixes MSVC error "compiler is out of heap space" and also slightly reduces binary size.
2021-11-11 22:46:01 +01:00
Petr Mikheev
e7ec89573e
Refactoring. Lua Callback
is moved from apps/openmw/mwlua to components/lua.
2021-10-31 17:47:46 +01:00
Petr Mikheev
4ec7f0625e
Store Lua timers in std::map rather than in sol::table.
2021-10-26 21:32:48 +02:00
Petr Mikheev
9adc190209
Redesign LuaUtil::ScriptsContainer to work with ScriptsConfiguration
2021-10-26 21:32:48 +02:00
Petr Mikheev
33d71be81f
Add LuaUtil::ScriptsConfiguration
2021-10-26 21:32:02 +02:00