Commit Graph

20316 Commits (24eb1165fcdfe9a4a6561750adac901c6d809e77)

Author SHA1 Message Date
Evil Eye 99ab08eaef Rotate blizzard particles 2 years ago
Mitten Orvan 4744b1eeda Make API for creating potions 2 years ago
elsid e5d5c51673
Add benchmarks for settings access 2 years ago
florent.teppe a3a7767093 applies review changes
filepos changed to an actual file pos
moved lambda declaration out of function call
2 years ago
florent.teppe 464092e323 fix oblivion and skyrim 2 years ago
florent.teppe 34dd24b261 Initial changes to detect when context isn't usable 2 years ago
psi29a 954e5884c3 Merge branch 'log_setup' into 'master'
Setup logging before loading settings

See merge request OpenMW/openmw!2866
2 years ago
elsid 70ab116880
Setup logging before loading settings 2 years ago
Petr Mikheev 3c5a9f55c5 Expose the argument `cancelOther` of `AiSequence::stack` to Lua 2 years ago
Petr Mikheev a72dc6c7a1 (Lua) Add onActivate handler in global scripts 2 years ago
psi29a cd6413c060 Merge branch 'fix_dialogue_title' into 'master'
Show original dialogue name

See merge request OpenMW/openmw!2862
2 years ago
elsid 452d1e7e49
Store original string id for Dialogue records 2 years ago
elsid 06f42ba69c
Use fixed size enum type for ESM::Dialogue::mType 2 years ago
elsid d6c8c54dc5
Generate test cases for all ESM3 format versions since MaxStringRefIdFormatVersion 2 years ago
elsid 90ed24f4c9
Split type traits for ESM4, ESM3 and unite common 2 years ago
elsid e1f580e7a0
Use static constexpr string_view for hardcoded ids 2 years ago
Petr Mikheev 618b912a20 Dehardcode non-game-specific localization GMSTs; Update l10n files. 2 years ago
psi29a 76cba95a44 Merge branch 'lua' into 'master'
LuaManager refactoring

See merge request OpenMW/openmw!2852
2 years ago
psi29a 6756e1ba97 Merge branch 'lua_ref_id' into 'master'
Use ESM::RefId for Lua records

See merge request OpenMW/openmw!2857
2 years ago
Petr Mikheev a88fcbffb0 Address review comments 2 years ago
Petr Mikheev 8d1e52ed51 Extract engine handlers processing from LuaManager to a new class EngineEvents 2 years ago
Petr Mikheev 7ef759c78b Refactor mwlua/eventqueue and extract some code out of LuaManager 2 years ago
Petr Mikheev 4fd07cb58d Implement MWWorld::Class::isItem(ptr) and remove a hacky MWLua::WorldView::isItem. 2 years ago
elsid b7fdca0fe6
Use serialized ESM::RefId for Lua records 2 years ago
elsid ca9c55ac26
Use common function to add record binding 2 years ago
elsid 33a59a9342
Use ESM::RefId::toDebugString to convert record to string in Lua 2 years ago
elsid 30fd8c9d23
Add benchmarks for RefId serialization and deserialization 2 years ago
elsid a762624581
Reorganize and update benchmarks 2 years ago
Evil Eye c48c91a07f Fix bed ownership check 2 years ago
elsid 017f3d5484
Interpret ESM::Light::mSound as identifier not a path 2 years ago
elsid cd4027ffd6
Do not use ESM::RefId::getRefIdString for spell id 2 years ago
psi29a dce809ea95 Merge branch 'editorclone' into 'master'
Fix some GCC12 warnings

See merge request OpenMW/openmw!2854
2 years ago
psi29a 9a20193eb5 Merge branch 'savedgamecell' into 'master'
Fix cell name format in save menu

See merge request OpenMW/openmw!2853
2 years ago
Andrei Kortunov 302c331559 Add field initialization 2 years ago
Andrei Kortunov 11484205f5 Use constexpr to do not generate an invalid code in templates 2 years ago
Evil Eye 54d6fb29c2 Don't store a save's cell name as a RefID 2 years ago
psi29a db1b260323 Merge branch 'gmst_l10n' into 'master'
Support links to GMSTs in l10n files; extract Morrowind-specific l10n files to a separate directory

See merge request OpenMW/openmw!2822
2 years ago
psi29a 99dac61e49 Merge branch 'noskill' into 'master'
Remove Attribute/Skill from tooltips

Closes #7281

See merge request OpenMW/openmw!2845
2 years ago
psi29a 1741a06cd1 Merge branch 'launcher_log' into 'master'
Setup launcher configuration manager and logging before initializing UI

See merge request OpenMW/openmw!2851
2 years ago
elsid 9815f930d9
Setup launcher configuration manager and logging before initializing UI 2 years ago
elsid d1e8e56619
Make QuickKey type a fixed size enum class 2 years ago
elsid 2135eba103
Fix loading ESM3 QuickKeys 2 years ago
elsid de112a2950
Simplify converting file names into absolute file paths 2 years ago
elsid d18d860ea2
Catch and log exceptions on loading cell names
Instead of terminating the process.
2 years ago
elsid 5a691380ea
Use single set to check presence of archives 2 years ago
elsid b1765cf05a
Do single lookup for widget item 2 years ago
elsid 62536d5cf7
Use static QFile::exists instead of creating object 2 years ago
elsid ecb9c35268
Remove unused variable 2 years ago
psi29a 2a50212f87 Merge branch 'fix_launcher_paths' into 'master'
Save original paths in launcher (#7246)

Closes #7246

See merge request OpenMW/openmw!2847
2 years ago
elsid 9280957581
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.
2 years ago
elsid ff7fcd752a
Use set to track visited directories instead of removing duplicates 2 years ago
Evil Eye 0fe27e8107 Remove Attribute/Skill from tooltips 2 years ago
Evil Eye 6e33da6cfe Don't capture temporaries by reference 2 years ago
psi29a b55313c08e Merge branch 'small_ref_id' into 'master'
Make ESM::RefId to be fixed size cheap to copy and support different implementation types

See merge request OpenMW/openmw!2708
2 years ago
elsid 04d7781424
Support not only StringRefId for checking first person body part 2 years ago
elsid e6cf516e12
Support index RefId as pair of record type and std::uint32_t 2 years ago
elsid 86293af084
Support generated RefId as std::uint64_t 2 years ago
elsid 0992624c8b
Support reading and writing typed ESM::RefId to ESM 2 years ago
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.
2 years ago
psi29a 3dc0e71b58 Merge branch 'constant_telekinesis' into 'master'
Remove redundant lookup

See merge request OpenMW/openmw!2843
2 years ago
Evil Eye 0b0f02d08b Remove redundant lookup 2 years ago
elsid c90e4435cd
Remove unused startup script argument 2 years ago
psi29a 5db11d81fe Merge branch 'ref_id_strings' into 'master'
Use RefId high level functions instead of accessing internal data

See merge request OpenMW/openmw!2840
2 years ago
elsid 99069b02e4
Remove unused variable 2 years ago
elsid 1f6d19859a
Use startsWith for ESM::RefId 2 years ago
elsid 1258bdf40a
Use operator<< for ESM::RefId 2 years ago
psi29a d64eea2fc6 Merge branch '7113-move-from-std-atoi-to-std-from_char' into 'master'
Move from std::atoi to std::from_char

Closes #7113

See merge request OpenMW/openmw!2760
2 years ago
Shi Han a90e3b8c3b Move from std::atoi to std::from_char 2 years ago
psi29a b4a5e8ed19 Merge branch '9003rd_times_the_charm' into 'master'
Rework again scripted movement. Partially revert and refine !1324

See merge request OpenMW/openmw!1372
2 years ago
psi29a a60f657f5a Merge branch 'fast_cell4_load' into 'master'
Lazy loading of ESM4::reference

See merge request OpenMW/openmw!2804
2 years ago
elsid 6a182e7798
Move generation for default values of required records to separate functions 2 years ago
psi29a 2ff4a5a11a Merge branch 'cs_fix_info_collection' into 'master'
Fix loading, inserting and moving topic info records

See merge request OpenMW/openmw!2806
2 years ago
fredzio 63d4564455 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.
2 years ago
psi29a df89a8c845 Merge branch 'ptr' into 'master'
MWLua refactoring

See merge request OpenMW/openmw!2803
2 years ago
Kindi 65cbf7f17c skip reading if retrievalLimit is 0 2 years ago
Petr Mikheev 2bfffb3063 Move `std::variant<SelfObject*, LObject, GObject>` from mwlua/stats.cpp to mwlua/objectvariant.hpp 2 years ago
Petr Mikheev 0b385d5db9 Create MWWorld::SafePtr 2 years ago
Mitten Orvan 4e6d48d246 Add a bit of high-level developer documentation about the Lua system 2 years ago
elsid e032214fcb
Use common info ordering implementation for engine and editor 2 years ago
elsid e892c62b10
Fix loading, inserting and moving topic info records
Topic info records need to have specific order defined via mNext and mPrev
fields (next and previous records). When loading multiple files a record may be
inserted into middle of the topic but neighborhood records may not be aware of
it. Having the order it's possible to move the records within one topic.

Sort the record once after loading all content files but preserve the order for
all other operations. Use std::map to group info ids by topic to make sure the
topics order is stable. Keep order within a topic for info ids on loading new
records. Use this order later for sorting the records.
2 years ago
psi29a d8d2cb980c Merge branch 'world_model_init' into 'master'
Refactor WorldModel initialization making it C++ core guidelines complaint

See merge request OpenMW/openmw!2825
2 years ago
elsid 899c302b14
Avoid nested ifs 2 years ago
elsid c8402c0b14
Avoid double assignment on info saving 2 years ago
elsid 0d523c3793
Log loading errors 2 years ago
elsid 9598b26462
Make loading error messages copyable 2 years ago
psi29a 6d8f3c7bce Merge branch 'cs_unit_tests' into 'master'
Introduce unit tests for editor

See merge request OpenMW/openmw!2821
2 years ago
psi29a e95f5f2ec1 Merge branch 'cherry-pick-fb3a80be' into 'master'
Cherry pick 'openmw-48-stereo-fixes' into 'master'

See merge request OpenMW/openmw!2829
2 years ago
psi29a 34724c5538 Merge branch 'remove_double_dialogue_store_setup' into 'master'
Set up Store<ESM::Dialogue> once

See merge request OpenMW/openmw!2824
2 years ago
psi29a e37860c1dc Cherry pick 'openmw-48-stereo-fixes' into 'master'
Openmw 48 stereo fixes

See merge request OpenMW/openmw!2815
2 years ago
elsid 4cf5136143
Mark WorldModel copy ctor and assignment operators as delete 2 years ago
elsid 48fde4b517
Use default initializers for WorldModel members 2 years ago
elsid 2f730011dc
Initialize WorldModel::mIdCache in the class initializer list 2 years ago
elsid 0577d2751b
Set up Store<ESM::Dialogue> once
Store<ESM::Dialogue> is derived from DynamicStore and setUp is called for it
along with other setUp calls for stores derived from DynamicStore.
2 years ago
elsid 55ebd97949
Remove misleading part of the function name 2 years ago
Petr Mikheev 685f86f19e Move Morrowind-specific l10n files to a separate data dir; dehardcode a few GMST names. 2 years ago
Petr Mikheev 58fdd687a8 Support links to GMST in l10n files 2 years ago
elsid 403bc927fb
Add test for CSMWorld::InfoCollection::load 2 years ago
elsid 6f6e452dfa
Add executable to run CS tests 2 years ago
elsid 59f2fccc9f
Split openmw-cs into binary and library 2 years ago
psi29a efebb8efd8 Merge branch 'cmake_fixes' into 'master'
Formatting and coverage related CMake files fixes

See merge request OpenMW/openmw!2811
2 years ago
elsid 9c780efe50
Add ESMStore tests for loading dialogue and info records 2 years ago
elsid 1cc4909144
Add --coverage to components_qt, benchmarks and openmw-cs 2 years ago
elsid 1857d8a68c
Use target_compile_options to add --coverage 2 years ago
elsid cc066efa11
Fix identation in CMakeLists.txt 2 years ago
elsid 8031b9a16c
Use spaces only for identation in CMakeLists.txt 2 years ago
florent.teppe 170b732854 readers cache keep a stateless encoder
to keep access to the current encoding configuration

build linux
2 years ago
Alexei Dobrohotov 562461a659 Unify collision shape transformations 2 years ago
psi29a eca26e8b18 Merge branch 'Support-BA2-file-format' into 'master'
Support ba2 file format

See merge request OpenMW/openmw!2787
2 years ago
Alexei Dobrohotov 2277bdc1ae Improve btTriangleMesh abuse (bug #6027, part 2) 2 years ago
psi29a 8e36d5e704 Merge branch 'operate_on_this' into 'master'
Handle incorrect comparison operators

Closes #6716

See merge request OpenMW/openmw!2801
2 years ago
psi29a 0858da3d1f Merge branch 'cellstore' into 'master'
[Refactorring] Merge duplicated `public:` and `private:` sections in cellstore.hpp

See merge request OpenMW/openmw!2800
2 years ago
Evil Eye 724c6ec425 Match unit test to Morrowind.exe behaviour 2 years ago
Petr Mikheev 929fade8be Merge duplicated `public:` and `private:` sections in cellstore.hpp 2 years ago
elsid 0040da3497
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.
2 years ago
florent.teppe 214cb8d8fe Only loads ESM4::reference when they are needed
and only those from the cell they are a part of.
The cell stores where it starts in the file for quick access later.
2 years ago
psi29a 31ae1cd339 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
2 years ago
psi29a a91b4e0cce Merge branch 'duplicated_locales' into 'master'
Ignore duplicated preferred l10n locales

See merge request OpenMW/openmw!2796
2 years ago
Petr Mikheev e70ab80b90 Ignore duplicated preferred l10n locales 2 years ago
elsid 949b9191a5
Limit max bullet supported threads by BT_MAX_THREAD_COUNT - 1
There is a check and assert for number of threads >= BT_MAX_THREAD_COUNT.
btDbvtBroadphase::m_rayTestStacks::size may return BT_MAX_THREAD_COUNT which
triggers the assert.
2 years ago
Petr Mikheev e007dc9d6b Log reserving texture units 2 years ago
psi29a 88567cd363 Merge branch 'unplugged' into 'master'
Handle sound device changes

Closes #4382

See merge request OpenMW/openmw!2791
2 years ago
psi29a 2f4eb3e299 Merge branch 'string_to_ref_id' into 'master'
Replace std::string and std::string_view by ESM::RefId to avoid getRefIdString call

See merge request OpenMW/openmw!2790
2 years ago
elsid 3d3cccb8e5
Fix clamping physics threads 2 years ago
Evil Eye 027d49cf28 Set thread priority and start thread on fallback usage 2 years ago
Evil Eye e020af8b4a Switch to new default device if default device changes 2 years ago
elsid d03bec60e9
Avoid redundant conversion from RefId to string and back 2 years ago
elsid 191f207e78
Avoid redundant conversion to lower case for CommandDispatcher::mSelection items 2 years ago
elsid 7daef583cb
Use ESM::RefId as key for ScriptContext::mLocals 2 years ago
elsid 3975003778
Use ESM::RefId as key for Globals::mVariables 2 years ago
elsid cd6a5b5a0e
Support asymmetric comparison between ESM::RefId and std::string_view 2 years ago
elsid 6f329f3d40
Add tests for ESM::RefId 2 years ago
elsid 693f4c40f4
Use ESM::RefId as key for Data::mRefLoadCache 2 years ago
elsid 419a86f0b9
Use ESM::RefId for actor parts
To avoid redundant conversion RefId to string and back.
2 years ago
elsid 4cb095ce39
Use ESM::RefId as key for MergeReferencesStage::mIndex 2 years ago
elsid eb17f0ba06
Use ESM::RefId as key in TestInterpreterContext::mMembers 2 years ago
elsid 3c9dbb11cc
Use ESM::RefId as key for SavingState::mSubRecords 2 years ago
elsid dfcea389be
Add helper functions for string comparison to RefId 2 years ago
Evil Eye b762807dfb Reopen audio device on disconnect 2 years ago
Evil Eye 754dac6103 Copy alext.h from OpenAL Soft 1.23 2 years ago
Cédric Mocquillon d30deef4b5 Use the right archive type to load bsa according to their type 2 years ago
Cédric Mocquillon 974799c011 Handle DX10 case of ba2 format 2 years ago
Cédric Mocquillon c1fbe90953 Handle GNRL case of ba2 format 2 years ago
psi29a 340a2aa826 Merge branch 'ref_id_cmp_string_view' into 'master'
Support RefId comparison with std::string_view

See merge request OpenMW/openmw!2784
2 years ago
psi29a 3d8acf17bd Merge branch 'shadervisitor' into 'master'
Attach shaders to geometry that lacks a stateset if necessary (bug #7251)

See merge request OpenMW/openmw!2782
2 years ago
psi29a 09c784c840 Merge branch 'bullettime' into 'master'
Don't combine static node collision geometry (bug #6027)

Closes #6027

See merge request OpenMW/openmw!2779
2 years ago
jvoisin 136a3c6f77 Merge branch 'cs_cleanup' into 'master'
Cleanup inheritance and id related editor code

See merge request OpenMW/openmw!2781
2 years ago
elsid 2fcb94064d
Support RefId comparison with std::string_view 2 years ago
Alexei Kotov 7fd9b27b54 Don't combine static node collision geometry (bug #6027) 2 years ago
elsid c03d3360d9
Remove redundant virtual modifiers, add override and final modifiers 2 years ago
Alexei Dobrohotov 6aef366fd3 Attach shaders to geometry that lacks a stateset if necessary 2 years ago
psi29a a9fdb51041 Merge branch 'fix_lua_memoryleak' into 'master'
Fix Lua memory leak (#7128)

Closes #7128

See merge request OpenMW/openmw!2774
2 years ago
elsid a09612264c
Fix setRecordId overload declaration
To match other declarations arguments order.
2 years ago
Alexei Dobrohotov 540fa00f12 Don't use ESM4::Lighting fog power as fog density 2 years ago
Petr Mikheev b0a6e4e510 [Lua] Add memory usage test 2 years ago
Cody Glassman 924ba11826 Default shader at root
Assign a default shader to the scene root, otherwise objects without an assigned shader will use the FFP. An example of this is a trishape with no material, resulting in an empty stateset on the drawable level.
2 years ago
psi29a 2aac6abb85 Merge branch 'sun_writes' into 'master'
Sun flickering on Mac (part of #7052)

See merge request OpenMW/openmw!2768
2 years ago
psi29a e8e97679f7 Merge branch 'vsync' into 'master'
Add support for non-adaptive VSync

Closes #7129

See merge request OpenMW/openmw!2769
2 years ago
uramer 552614768f Fix clang format 2 years ago
Andrei Kortunov be488649c3 Add support for non-adaptive VSync (feature 7129) 2 years ago
Andrei Kortunov 83d15ef786 Fix Clang-Format complaints 2 years ago
Alexei Kotov c3c61e1cd3 Merge branch 'conjure_cheap_tricks' into 'master'
Increase priority of Bound and Summon spells

Closes #2623

See merge request OpenMW/openmw!2745
2 years ago
Cody Glassman fb5979312f fix sunglare flash, make sure all bound render targets have color masks set 2 years ago
psi29a 8651ea4412 Merge branch '7214-add-searching-to-ingame-console' into 'master'
Searching in the in-game console

Closes #7214

See merge request OpenMW/openmw!2759
2 years ago
psi29a c02a159a26 Merge branch 'shader_refactor_v2' into 'master'
Shader refactor

See merge request OpenMW/openmw!2667
2 years ago
Cody Glassman ac4787aeec shade refactor 2 years ago
psi29a 99acfdccb8 Merge branch 'rm_id_accessor' into 'master'
Remove redundant IdAccessor type

See merge request OpenMW/openmw!2764
2 years ago
Evil Eye 702de406ff Take skill into account when summoning weapons 2 years ago
Evil Eye ad76b0374a Increase priority of Bound and Summon spells 2 years ago
elsid 4ed0960856
Remove redundant IdAccessor type
Use overloaded free functions instead.
2 years ago
Petr Mikheev 1c2f24d1ca Remove unused searchInContainers in WorldModel::getPtr 2 years ago
Petr Mikheev 47b7c71c73 Remove unused functions 2 years ago
Shihan42 902cad77c8 Resolve minor errors 2 years ago
Shihan42 274afff5c3 Minimal length of search string is now 1 2 years ago
Shihan42 b83cf9a92e Search is case-insensitive 2 years ago
Shihan42 ef879b5865 Rewriting the search methods 2 years ago
Shihan42 54f1f380e1 Add complete search functionality for forward and backward searching 2 years ago
Shihan42 b80556b5af Add buttons to search for next and previous occurrence 2 years ago
Shihan42 63659224fd Add new EditBox for searching to console layout 2 years ago
Cédric Mocquillon 6e23ad82d5 Load esm files from vfs 2 years ago
psi29a a43b6fba4b Merge branch 'fix_7223' into 'master'
Fix #7223

Closes #7223

See merge request OpenMW/openmw!2736
2 years ago
psi29a 0f331a4fc5 Merge branch 'lua_callback' into 'master'
Fix potential memory leak in LuaUtil::Callback

See merge request OpenMW/openmw!2733
2 years ago
Petr Mikheev 0c3237ad78 Fix #7223 2 years ago
Evil Eye f5c5ebc1dc Prevent consumption of ingredients that don't have a first effect 2 years ago
psi29a 0ed1310417 Merge branch 'fix_fog_state_load' into 'master'
Fix loading fog state

See merge request OpenMW/openmw!2743
2 years ago
elsid b5ec584be2
Replace ESM::RefId::sEmpty by default constructed RefId where possible
Static const is only required to provide a reference or a pointer when it is not
possible with default constructed temporary.
2 years ago
elsid 8a62a4fe4d
Support dump for ESM3 CSTA record in esmtool 2 years ago
elsid 28f7a89530
Reuse dtNavMeshQuery
To avoid redundant allocations.
2 years ago
elsid 540ee5399c
Do expensive navmesh calls on timer
Reducing the number of them on each frame.
2 years ago
psi29a d846a9fc15 Merge branch 'cs_optimize_saving' into 'master'
Fix editor saving performance

See merge request OpenMW/openmw!2741
2 years ago
elsid e618026c69
Use ESM::RefId as index key in collections 2 years ago
elsid b2299ef914
Optimize saving in editor 2 years ago
elsid 8383fa3547
Log time spent on document operations in editor 2 years ago
psi29a 18d488d968 Merge branch 'ref_id_class' into 'master'
Convert RefId to class

See merge request OpenMW/openmw!2739
2 years ago
elsid 996153f78d
Convert RefId to class 2 years ago
elsid b6a2fd8fc1
Simplify InfoCollection
There was additional logic to create topic infos index by topic id to make
getTopicInfos and removeDialogueInfos functions faster. In practice it makes
loading slower.

Move infos index by topic to CSMWorld::Data and use only on loading.
2 years ago
elsid de24cdc12c
Log content files loading time by editor 2 years ago
psi29a a0cea6569b Merge branch 'took_an_arrow_to_the_disposition_cap' into 'master'
Cap temporary disposition gain and compute permanent changes accordingly

Closes #7224

See merge request OpenMW/openmw!2734
2 years ago
Petr Mikheev eceeb15ee5 Fix bug in lua_ui/content.lua: getmetatable(ui.content{}) shouldn't return a global mutable table 2 years ago
Petr Mikheev 65885d994f Don't expose LuaUtil::Callback to lua 2 years ago
Evil Eye 0aa4235096 Cap temporary disposition gain and compute permanent changes accordingly 2 years ago