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
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
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
elsid
12ce82980c
Revert "Limit and filter navmesh input ( #5858 )"
...
This reverts commit ecc654a369
.
2022-01-25 16:33:53 +01:00
Evil Eye
903ef60f9d
Merge branch 'navmesh_scene_bounds' into 'master'
...
Limit and filter navmesh input (#5858 )
Closes #5858
See merge request OpenMW/openmw!1583
2022-01-25 14:06:53 +00:00
elsid
ecc654a369
Limit and filter navmesh input ( #5858 )
2022-01-25 14:06:53 +00:00
elsid
7ec7c57879
Remove unnecessary loops from path
...
This prevents actors going back when a new shortest path includes a point
behind them where they were right before. Such situation can happen when path
includes off mesh connection. Resulting cost of such path can be lower than
the real one because off mesh connections are straight lines and walking
surface usually is not a plane but a surface.
Skip to path point where distance from current position to the line between
previous and this point is less than point tolerance. Which means actor is
standing very close to the edge between those points. Additionally check by
navmesh raycasting to make sure there is actually a valid path.
2022-01-24 22:32:04 +01:00
Petr Mikheev
067d71f7eb
Fix heap use after free in components/lua/storage.cpp
2022-01-23 22:37:04 +01:00
Bret Curtis
74e7cfc023
remove unused includes: part1
...
remove unused imports: part2
revert one tidy we will keep for c++20
2022-01-23 17:30:25 +01:00
Bret Curtis
cdbab2325f
rename esmterrain to esm3terrain
2022-01-23 17:19:30 +01:00
Bret Curtis
a126e29a19
relative to absolute path
2022-01-23 17:04:48 +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
elsid
3f14011087
Support multiple parents for NIF nodes
...
Choose a parent base on which node is used to iterate over children nodes.
This leads to duplicate handing of child nodes. A node will be handled so many
times how many parents it has.
For example:
p1 p2
\ /
c
Will be handled as:
p1 p2
| |
c c
If c has children they will be handled X times c is handled.
2022-01-22 01:02:31 +01:00
psi29a
6eb36c6b76
Merge branch 'ripple_fix' into 'master'
...
Restore ripples with soft particles
See merge request OpenMW/openmw!1566
2022-01-19 11:32:38 +00:00
Cody Glassman
9cafc31c0d
Restore ripples with soft particles
2022-01-19 11:32:38 +00:00
elsid
a2002bc983
Support frequency of ProgressReporter calls lower than interval
2022-01-19 01:10:58 +01:00