1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-06 01:45:34 +00:00
Commit graph

5788 commits

Author SHA1 Message Date
Bret Curtis
0f43455dc3 merge in master 2022-02-16 16:57:59 +01:00
elsid
139ae9325a Fix compile errors by using StatelessUtf8Encoder 2022-02-16 16:41:23 +01:00
elsid
4a06351c3b update to_utf8 and translation to make use of new stateless utf8 2022-02-16 10:48:49 +01:00
elsid
875d9dcead
Fix buffer resizing by StatelessUtf8Encoder 2022-02-15 23:02:32 +01:00
psi29a
8a0fb4d633 Merge branch 'stateless_utf8_encoder' into 'master'
Add StatelessUtf8Encoder to support caller provided buffer for output

See merge request OpenMW/openmw!1660
2022-02-15 08:35:31 +00:00
psi29a
776b286286 Merge branch 'esm_name' into 'master'
Use ESM::NAME instead of const char* and std::string as argument type

See merge request OpenMW/openmw!1659
2022-02-15 08:11:12 +00:00
elsid
3305b400dc
Use ESM::NAME instead of const char* and std::string as argument type 2022-02-14 23:40:40 +01:00
elsid
c044bef6a7
Add StatelessUtf8Encoder to support caller provided buffer for output 2022-02-14 23:19:49 +01:00
elsid
fbbf871067
Avoid extra copy for Utf8Encoder::getUtf8 result 2022-02-14 23:01:32 +01:00
elsid
b617d0aec4 Merge branch 'fix_empty_utf8' into 'master'
Fix out of bounds access for std::string_view

See merge request OpenMW/openmw!1658
2022-02-14 21:42:10 +00:00
elsid
071ab3f650
Fix out of bounds access for std::string_view 2022-02-14 19:56:50 +01:00
Evil Eye
649c2f8286 Fix stats not working right for saves started before version 17 2022-02-14 18:38:37 +01:00
psi29a
149ef56b60 Merge branch 'utf8_encoder_tests' into 'master'
Add tests for Utf8Encoder

See merge request OpenMW/openmw!1654
2022-02-14 06:39:39 +00:00
elsid
7884a01026
Add tests for Utf8Encoder 2022-02-13 17:19:08 +01:00
psi29a
a2a741c71f Merge branch 'lua_require' into 'master'
Allow `require` to return not a table in Lua

See merge request OpenMW/openmw!1650
2022-02-13 15:30:37 +00:00
psi29a
cd8967e265 Merge branch 'utf8_encoder_string_view' into 'master'
Use std::string_view for argument and return type of Utf8Encoder functions

See merge request OpenMW/openmw!1652
2022-02-12 18:07:26 +00:00
elsid
c75e938c46
Return string_view from Utf8Encoder functions
To avoid redundant std::string constructions.
2022-02-12 17:11:54 +01:00
elsid
c9c7fb7e49
Remove redundant functions from Utf8Encoder interface 2022-02-12 13:47:46 +01:00
Petr Mikheev
6876851766 Allow require to return not a table in Lua 2022-02-12 12:02:17 +01:00
elsid
2a87cf1720
Replace unordered_map by switch statement
Add handling for missing Nif::BSLightingShaderType::ShaderType_SkinTint. Use
string_view instead of string to avoid lifetime issues for returning value.
osg::Object::setUserValue will anyway copy string.
2022-02-11 22:12:39 +01:00
elsid
e1fe501013
Use proper type for Record::recType 2022-02-11 21:52:00 +01:00
elsid
283b68025c
Avoid possible race condition on NIFFile::sLoadUnsupportedFiles
Its value is written from the main thread but other threads read it.
2022-02-11 21:41:08 +01:00
elsid
fbd95516f4
Repalce raw for-loops by corresponding algorithms 2022-02-11 21:41:08 +01:00
elsid
082810f924
Store record type as a part of construct function type 2022-02-11 21:41:08 +01:00
elsid
d097c16206
Use unique_ptr to manage nif record lifetime 2022-02-11 20:40:38 +01:00
glassmancody.info
712107de2d nisortadjust support 2022-02-10 11:59:49 -08:00
uramer
ede9d27437 Element-wise multiplication and division of Lua vectors 2022-02-10 19:43:27 +00:00
Alexei Dobrohotov
85053941b3 Properly postprocess NiSortAdjustNode 2022-02-09 13:55:32 +03:00
psi29a
9183fa897e Merge branch 'particle_vertex_palooza' into 'master'
Support vertex emitters (#6592)

Closes #6592

See merge request OpenMW/openmw!1638
2022-02-09 08:35:09 +00:00
glassmancody.info
27d2daabc1 move depth define to header, missing on mac 2022-02-08 14:12:17 -08:00
glassmancody.info
a05e029aa0 search for stencil enabled flag correctly 2022-02-08 13:49:05 -08:00
glassmancody.info
88f02913d5 use vertex emitters on array particle controllers when appropriate 2022-02-07 19:46:42 -08:00
glassmancody.info
8c2c322d92 add stencil to water RTTs, reword some comments 2022-02-07 14:35:15 -08:00
glassmancody.info
bbc9c53423 support morrowind stenciling 2022-02-07 11:51:59 -08:00
Evil Eye
7a7a95407a Merge branch 'lua_pairs' into 'master'
Proper support of `pairs` and `ipairs` in Lua; fix bug in `makeReadOnly`.

See merge request OpenMW/openmw!1628
2022-02-06 22:10:21 +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
Petr Mikheev
5f74df75c6 Add default value for config. 2022-02-06 23:09:06 +01:00
uramer
581c3f4882 Update and document Lua Text and TextEdit widget types, fix some issues with Lua UI 2022-02-06 20:22:38 +00:00
Petr Mikheev
ac5cd6c80a Add default value for user-data in openmw.cfg 2022-02-06 21:07:14 +01:00
elsid
e7f3524924
Add a tool to load and print information about all bullet objects in all cells 2022-02-04 16:14:52 +01:00
psi29a
becffef142 Merge branch 'cull_navmesh_objects' into 'master'
Cull navmesh objects by scene bounds (#5858)

Closes #5858

See merge request OpenMW/openmw!1625
2022-02-04 14:07:13 +00:00
elsid
0b644a897e
Explicitly bind TileCachedRecastMeshManager with mutex 2022-02-03 22:24:26 +01:00
elsid
05b54cbfb8
Cull navmesh objects by scene bounds
If object is too big iteration over all tiles covering it can take too much
time. Limit bounds to a square around a player position to cover only tiles
that will be present in navmesh based on max tiles number option.

Each object is associated with a set of tiles its present in. Culling can
reduce this set but it has to be update when bounds change position. Do this
in TileCachedRecastMeshManager::setBounds updating the set and adding/removing
objects to the corresponding CachedRecastMeshManagers.
2022-02-03 22:09:37 +01:00
elsid
563f3f87dd
Reduce critical sections size 2022-02-03 21:44:37 +01:00
elsid
a5b078e9a7
Allow to represent empty range with TilesPositionsRange 2022-02-03 21:43:56 +01:00
elsid
1b2954f2db
Remove unused z coordinate 2022-02-03 21:43:53 +01:00
elsid
1a52a2a029
Clamp tile position 2022-02-03 02:44:04 +01:00
elsid
542717394a
Remove objects, water and heightfields when no longer required 2022-02-03 02:43:35 +01:00
Petr Mikheev
6084dbfc3a Add a warning if replace==config is used. 2022-02-03 00:07:30 +01:00
Petr Mikheev
5b23ba3faf Fix defaulted in ConfigurationManager::mergeComposingVariables 2022-02-02 23:47:11 +01:00
Petr Mikheev
9c1ff16b62 Add config variable user-data="?userdata?". Allows to override paths to saves and screenshots. 2022-02-02 23:47:11 +01:00
Petr Mikheev
5ff2fc55ac Make ConfigurationManager::getUserConfigPath to return the actual config path where the settings, logs, and Lua storage are stored. 2022-02-02 23:47:11 +01:00
Petr Mikheev
a453e5c198 Reuse the same code to load settings in apps/openmw, apps/launcher, apps/opencs 2022-02-02 23:47:11 +01:00
Petr Mikheev
1bcc4a8bcc Read settings.cfg from all active config dirs 2022-02-02 23:47:11 +01:00
Petr Mikheev
5ca56a4f8a New option "config" for specifying additional config directories. 2022-02-02 23:47:11 +01:00
Petr Mikheev
dd5ba5c57b Redirect log only after parsing configuration 2022-02-02 23:47:11 +01:00
psi29a
cf8d49bb9a Merge branch 'lua_settings_ui' into 'master'
Lua settings UI

Closes #6454

See merge request OpenMW/openmw!1595
2022-02-02 21:04:18 +00:00
Alexei Dobrohotov
142b6fdf2f Fix double precision bound issues in std::max/std::clamp 2022-02-02 16:57:59 +03:00
Alexei Dobrohotov
aaea2bc0f6 Implement transformBoundingSphere for both sphere types (bug #6579) 2022-02-02 16:51:35 +03:00
uramer
ef1e72dc17 Revert from settings description to searchHints 2022-02-01 19:50:03 +01:00
uramer
7f796d148e Clean up 2022-02-01 19:50:03 +01:00
uramer
67641dcdb7 Fix compile errors 2022-02-01 19:50:03 +01:00
uramer
f07f05ddd3 Add Container widget type, use it to make Adapter code less hacky 2022-02-01 19:50:03 +01:00
uramer
086a7d9bc5 Wrap Lua settings widgets into an Adapter widget 2022-02-01 19:50:03 +01:00
uramer
1455aa3e02 Allow changing script settings pages after registering them 2022-02-01 19:50:02 +01:00
uramer
5f7ab49880 Implement script setting pages' descriptions 2022-02-01 19:50:02 +01:00
uramer
a005f25c4b Use page terminology for script settings 2022-02-01 19:50:02 +01:00
uramer
e78b8402fa Fix warnings 2022-02-01 19:50:02 +01:00
uramer
a972a54ea9 Allow changing element root widget type, prevent use after free in script settings 2022-02-01 19:50:02 +01:00
uramer
fba82eb1a7 Script settings tab 2022-02-01 19:50:02 +01:00
Bret Curtis
8113620dce handle a few wearnings raised as errors 2022-01-31 08:58:45 +01:00
cc9cii
ba3ae448d4 Initial import of esm4 by cc9cii 2022-01-31 08:58:45 +01:00
elsid
7ea5aa250b
Revert "Cull navmesh objects by scene bounds"
This reverts commit b0ef20c303.
2022-01-30 21:43:23 +01:00
jvoisin
d291b17c68 Merge branch 'refactor/script-cleanup' into 'master'
Use pop_back to shrink the stack

See merge request OpenMW/openmw!1597
2022-01-30 18:50:01 +00:00
jvoisin
4cd6d2dacf Merge branch 'rework_fixed_string' into 'master'
Rework fixed string

See merge request OpenMW/openmw!1596
2022-01-30 18:47:06 +00:00
psi29a
e18393d7d6 Merge branch 'prevent_wrong_use_of_write' into 'master'
Disallow to call ESMWriter::writeT with pointer type

See merge request OpenMW/openmw!1609
2022-01-30 16:34:45 +00:00
psi29a
ff11377bc0 Merge branch 'sanitizers' into 'master'
Add gitlab jobs to run tests and benchmarks with ASAN, TSAN and UBSAN

See merge request OpenMW/openmw!1608
2022-01-30 13:59:54 +00:00
elsid
b17c9a22ff
Disallow to call ESMWriter::writeT with pointer type
This will make ESMWriter to use a pointer to this pointer to access the data
that is unlikely an intent. For example:
68ef96410c.
2022-01-30 14:13:02 +01:00
Petr Mikheev
4554a075e7 Merge branch 'fix_save_corruption' into 'master'
Fix save corruption introduced by https://gitlab.com/OpenMW/openmw/-/merge_requests/1600

See merge request OpenMW/openmw!1607
2022-01-30 11:59:30 +00:00
uramer
de2383ec98 Fix save corruption introduced by https://gitlab.com/OpenMW/openmw/-/merge_requests/1600 2022-01-30 11:59:30 +00:00
elsid
bebeff8881
Fix build with libc++
/home/elsid/dev/openmw/components/esm3/objectstate.cpp:33:30: error: implicit instantiation of undefined template 'std::array<float, 6>'
        std::array<float, 6> pos;
                             ^
/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
/home/elsid/dev/openmw/components/esm3/objectstate.cpp:78:30: error: implicit instantiation of undefined template 'std::array<float, 6>'
        std::array<float, 6> pos;
                             ^
/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
2022-01-30 02:19:29 +01:00
elsid
b0f192d878
Fix warning: maybe-uninitialized
../../components/misc/color.cpp: In static member function 'static Misc::Color Misc::Color::fromHex(std::string_view)':
../../components/misc/color.cpp:36:24: error: 'v' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   36 |             rgb[i] = v / 255.0f;
      |                      ~~^~~~~~~~
2022-01-30 00:44:22 +01:00
psi29a
7bab714825 Merge branch 'fix_circling_fargoth' into 'master'
Remove unnecessary loops from path (#6510)

Closes #6510

See merge request OpenMW/openmw!1584
2022-01-29 19:48:02 +00:00
psi29a
a0c0ea09b2 Merge branch 'youwe' into 'master'
Fix unavailable UV set handling in NIF models

See merge request OpenMW/openmw!1594
2022-01-29 19:42:17 +00:00
psi29a
cb4c96b155 Merge branch 'unpack_position' into 'master'
Make ESM::Position not packed (should fix #6566)

Closes #6566

See merge request OpenMW/openmw!1600
2022-01-29 12:46:10 +00:00
elsid
ecbcdd0e54
Add missing initialization 2022-01-29 06:31:14 +01:00
Petr Mikheev
68ef96410c Make ESM::Position not packed (should fix #6566) 2022-01-29 02:32:58 +01:00
elsid
45db56b382
Rework fixed string
* Avoid inheritance.
* Define equality operators out of the class definition.
* Replace toString with toStringView where it doesn't make sense to create a string.
2022-01-28 18:39:09 +01:00
ζeh Matt
1832ed6a48
Use pop_back to shrink the stack 2022-01-28 16:26:43 +02:00
Petr Mikheev
53f2dfd1c0 Merge branch 'lua_ui_templates' into 'master'
Lua UI templates

See merge request OpenMW/openmw!1475
2022-01-28 09:31:46 +00:00
uramer
960dd1f708 Lua UI templates 2022-01-28 09:31:45 +00:00
elsid
3877d227f4
Avoid unnecessary copies 2022-01-28 01:07:27 +01:00
Alexei Dobrohotov
4521d3987c Fix out of bounds UV set handling 2022-01-28 01:15:15 +03:00
psi29a
84e209308d Merge branch 'refactor/interpreter' into 'master'
Cleanup interpreter code a bit

Closes #6553

See merge request OpenMW/openmw!1556
2022-01-27 19:18:57 +00:00
Matt
34723c8ea8 Cleanup interpreter code a bit 2022-01-27 19:18:57 +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
psi29a
21ef9d4058 Merge branch 'nif_multi_parents' into 'master'
Support multiple parents for NIF nodes (#6552)

Closes #6552

See merge request OpenMW/openmw!1577
2022-01-25 19:17:19 +00:00
elsid
9069e97dce
Filter out triangles with NaN coordinates
Sorting a vector with such values gives invalid result because comparison with
NaN is always false.
2022-01-25 17:08:52 +01:00
elsid
b0ef20c303
Cull navmesh objects by scene bounds
If object is too big iteration over all tiles covering it can take too much
time. Limit bounds to a square around a player position to cover only tiles
that will be present in navmesh based on max tiles number option.
2022-01-25 17:08:45 +01:00
elsid
bba7beb0c5
Split tiles position range creation and iteration over 2022-01-25 16:34:03 +01:00