elsid
8b4362ece7
Disable navmesh disk cache when db is failed to open
3 years ago
elsid
5913036638
Use SQLITE_OPEN_NOMUTEX
3 years ago
Alexei Dobrohotov
76ba5025e3
Clarify root node transformation discard
3 years ago
elsid
ab1a6e034e
Add navmeshtool flag to remove unused tiles from navmesh disk cache
...
* Remove tiles outside processing range. Useful when new content profile map
has different bounds.
* Remove ignored tiles. For a case when content profile maps have intersection
but there is no more data for navmesh.
* Remove older tiles at the same worldspace position. If navmesh tile data has
changed with new content, the old ones unlikely to be used.
* Vacuum the database when there are modifications. SQLite leaves empty pages
in the file on database modification. Vacuum cleans up unused pages reducing
the file size.
3 years ago
elsid
67741402b5
Replace reference to const std::string by std::string_view for navmeshdb related arguments
3 years ago
elsid
52b3a87dae
Make constexpr variable defined in header inline
3 years ago
elsid
9584cb7ac2
Use fixed size types for serialization
3 years ago
Alexei Dobrohotov
dd473d06df
Implement gloss-mapping (feature #6541 )
3 years ago
psi29a
b011809056
Merge branch 'master' into 'sort_me_baby_one_more_time'
...
# Conflicts:
# components/nif/niffile.cpp
3 years ago
psi29a
b73eaadf20
Merge branch 'use_utf8_string_view' into 'master'
...
Avoid extra copy for Utf8Encoder::getUtf8 result
See merge request OpenMW/openmw!1661
3 years ago
psi29a
3af037d2ae
Merge branch 'esm4' into 'master'
...
ESM4 Support
See merge request OpenMW/openmw!1610
3 years ago
elsid
b96c41df07
Initialize string_view with explicit size
...
Otherwise size is detected by null terminating character.
3 years ago
Bret Curtis
0f43455dc3
merge in master
3 years ago
elsid
139ae9325a
Fix compile errors by using StatelessUtf8Encoder
3 years ago
elsid
4a06351c3b
update to_utf8 and translation to make use of new stateless utf8
3 years ago
elsid
875d9dcead
Fix buffer resizing by StatelessUtf8Encoder
3 years ago
psi29a
8a0fb4d633
Merge branch 'stateless_utf8_encoder' into 'master'
...
Add StatelessUtf8Encoder to support caller provided buffer for output
See merge request OpenMW/openmw!1660
3 years ago
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
3 years ago
elsid
3305b400dc
Use ESM::NAME instead of const char* and std::string as argument type
3 years ago
elsid
c044bef6a7
Add StatelessUtf8Encoder to support caller provided buffer for output
3 years ago
elsid
fbbf871067
Avoid extra copy for Utf8Encoder::getUtf8 result
3 years ago
elsid
b617d0aec4
Merge branch 'fix_empty_utf8' into 'master'
...
Fix out of bounds access for std::string_view
See merge request OpenMW/openmw!1658
3 years ago
elsid
071ab3f650
Fix out of bounds access for std::string_view
3 years ago
Evil Eye
649c2f8286
Fix stats not working right for saves started before version 17
3 years ago
psi29a
149ef56b60
Merge branch 'utf8_encoder_tests' into 'master'
...
Add tests for Utf8Encoder
See merge request OpenMW/openmw!1654
3 years ago
elsid
7884a01026
Add tests for Utf8Encoder
3 years ago
psi29a
a2a741c71f
Merge branch 'lua_require' into 'master'
...
Allow `require` to return not a table in Lua
See merge request OpenMW/openmw!1650
3 years ago
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
3 years ago
elsid
c75e938c46
Return string_view from Utf8Encoder functions
...
To avoid redundant std::string constructions.
3 years ago
elsid
c9c7fb7e49
Remove redundant functions from Utf8Encoder interface
3 years ago
Petr Mikheev
6876851766
Allow `require` to return not a table in Lua
3 years ago
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.
3 years ago
elsid
e1fe501013
Use proper type for Record::recType
3 years ago
elsid
283b68025c
Avoid possible race condition on NIFFile::sLoadUnsupportedFiles
...
Its value is written from the main thread but other threads read it.
3 years ago
elsid
fbd95516f4
Repalce raw for-loops by corresponding algorithms
3 years ago
elsid
082810f924
Store record type as a part of construct function type
3 years ago
elsid
d097c16206
Use unique_ptr to manage nif record lifetime
3 years ago
glassmancody.info
712107de2d
nisortadjust support
3 years ago
uramer
ede9d27437
Element-wise multiplication and division of Lua vectors
3 years ago
Alexei Dobrohotov
85053941b3
Properly postprocess NiSortAdjustNode
3 years ago
psi29a
9183fa897e
Merge branch 'particle_vertex_palooza' into 'master'
...
Support vertex emitters (#6592 )
Closes #6592
See merge request OpenMW/openmw!1638
3 years ago
glassmancody.info
27d2daabc1
move depth define to header, missing on mac
3 years ago
glassmancody.info
a05e029aa0
search for stencil enabled flag correctly
3 years ago
glassmancody.info
88f02913d5
use vertex emitters on array particle controllers when appropriate
3 years ago
glassmancody.info
8c2c322d92
add stencil to water RTTs, reword some comments
3 years ago
glassmancody.info
bbc9c53423
support morrowind stenciling
3 years ago
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
3 years ago
Petr Mikheev
a294adcdaf
Proper support of `pairs` and `ipairs` in Lua; fix bug in `makeReadOnly`.
3 years ago
Petr Mikheev
5f74df75c6
Add default value for `config`.
3 years ago
uramer
581c3f4882
Update and document Lua Text and TextEdit widget types, fix some issues with Lua UI
3 years ago
Petr Mikheev
ac5cd6c80a
Add default value for `user-data` in openmw.cfg
3 years ago
elsid
e7f3524924
Add a tool to load and print information about all bullet objects in all cells
3 years ago
psi29a
becffef142
Merge branch 'cull_navmesh_objects' into 'master'
...
Cull navmesh objects by scene bounds (#5858 )
Closes #5858
See merge request OpenMW/openmw!1625
3 years ago
elsid
0b644a897e
Explicitly bind TileCachedRecastMeshManager with mutex
3 years ago
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.
3 years ago
elsid
563f3f87dd
Reduce critical sections size
3 years ago
elsid
a5b078e9a7
Allow to represent empty range with TilesPositionsRange
3 years ago
elsid
1b2954f2db
Remove unused z coordinate
3 years ago
elsid
1a52a2a029
Clamp tile position
3 years ago
elsid
542717394a
Remove objects, water and heightfields when no longer required
3 years ago
Petr Mikheev
6084dbfc3a
Add a warning if replace==config is used.
3 years ago
Petr Mikheev
5b23ba3faf
Fix `defaulted` in ConfigurationManager::mergeComposingVariables
3 years ago
Petr Mikheev
9c1ff16b62
Add config variable `user-data="?userdata?"`. Allows to override paths to saves and screenshots.
3 years ago
Petr Mikheev
5ff2fc55ac
Make ConfigurationManager::getUserConfigPath to return the actual config path where the settings, logs, and Lua storage are stored.
3 years ago
Petr Mikheev
a453e5c198
Reuse the same code to load settings in apps/openmw, apps/launcher, apps/opencs
3 years ago
Petr Mikheev
1bcc4a8bcc
Read settings.cfg from all active config dirs
3 years ago
Petr Mikheev
5ca56a4f8a
New option "config" for specifying additional config directories.
3 years ago
Petr Mikheev
dd5ba5c57b
Redirect log only after parsing configuration
3 years ago
psi29a
cf8d49bb9a
Merge branch 'lua_settings_ui' into 'master'
...
Lua settings UI
Closes #6454
See merge request OpenMW/openmw!1595
3 years ago
Alexei Dobrohotov
142b6fdf2f
Fix double precision bound issues in std::max/std::clamp
3 years ago
Alexei Dobrohotov
aaea2bc0f6
Implement transformBoundingSphere for both sphere types (bug #6579 )
3 years ago
uramer
ef1e72dc17
Revert from settings description to searchHints
3 years ago
uramer
7f796d148e
Clean up
3 years ago
uramer
67641dcdb7
Fix compile errors
3 years ago
uramer
f07f05ddd3
Add Container widget type, use it to make Adapter code less hacky
3 years ago
uramer
086a7d9bc5
Wrap Lua settings widgets into an Adapter widget
3 years ago
uramer
1455aa3e02
Allow changing script settings pages after registering them
3 years ago
uramer
5f7ab49880
Implement script setting pages' descriptions
3 years ago
uramer
a005f25c4b
Use page terminology for script settings
3 years ago
uramer
e78b8402fa
Fix warnings
3 years ago
uramer
a972a54ea9
Allow changing element root widget type, prevent use after free in script settings
3 years ago
uramer
fba82eb1a7
Script settings tab
3 years ago
Bret Curtis
8113620dce
handle a few wearnings raised as errors
3 years ago
cc9cii
ba3ae448d4
Initial import of esm4 by cc9cii
3 years ago
elsid
7ea5aa250b
Revert "Cull navmesh objects by scene bounds"
...
This reverts commit b0ef20c303
.
3 years ago
jvoisin
d291b17c68
Merge branch 'refactor/script-cleanup' into 'master'
...
Use pop_back to shrink the stack
See merge request OpenMW/openmw!1597
3 years ago
jvoisin
4cd6d2dacf
Merge branch 'rework_fixed_string' into 'master'
...
Rework fixed string
See merge request OpenMW/openmw!1596
3 years ago
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
3 years ago
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
3 years ago
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
.
3 years ago
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
3 years ago
uramer
de2383ec98
Fix save corruption introduced by https://gitlab.com/OpenMW/openmw/-/merge_requests/1600
3 years ago
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;
^
3 years ago
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;
| ~~^~~~~~~~
3 years ago
psi29a
7bab714825
Merge branch 'fix_circling_fargoth' into 'master'
...
Remove unnecessary loops from path (#6510 )
Closes #6510
See merge request OpenMW/openmw!1584
3 years ago
psi29a
a0c0ea09b2
Merge branch 'youwe' into 'master'
...
Fix unavailable UV set handling in NIF models
See merge request OpenMW/openmw!1594
3 years ago
psi29a
cb4c96b155
Merge branch 'unpack_position' into 'master'
...
Make ESM::Position not packed (should fix #6566 )
Closes #6566
See merge request OpenMW/openmw!1600
3 years ago
elsid
ecbcdd0e54
Add missing initialization
3 years ago
Petr Mikheev
68ef96410c
Make ESM::Position not packed (should fix #6566 )
3 years ago
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.
3 years ago
ζeh Matt
1832ed6a48
Use pop_back to shrink the stack
3 years ago
Petr Mikheev
53f2dfd1c0
Merge branch 'lua_ui_templates' into 'master'
...
Lua UI templates
See merge request OpenMW/openmw!1475
3 years ago
uramer
960dd1f708
Lua UI templates
3 years ago
elsid
3877d227f4
Avoid unnecessary copies
3 years ago
Alexei Dobrohotov
4521d3987c
Fix out of bounds UV set handling
3 years ago
psi29a
84e209308d
Merge branch 'refactor/interpreter' into 'master'
...
Cleanup interpreter code a bit
Closes #6553
See merge request OpenMW/openmw!1556
3 years ago
Matt
34723c8ea8
Cleanup interpreter code a bit
3 years ago
psi29a
6f7a067e0c
Merge branch 'esmrename' into 'master'
...
esm refactor work
See merge request OpenMW/openmw!1575
3 years ago
psi29a
21ef9d4058
Merge branch 'nif_multi_parents' into 'master'
...
Support multiple parents for NIF nodes (#6552 )
Closes #6552
See merge request OpenMW/openmw!1577
3 years ago
elsid
9069e97dce
Filter out triangles with NaN coordinates
...
Sorting a vector with such values gives invalid result because comparison with
NaN is always false.
3 years ago
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.
3 years ago
elsid
bba7beb0c5
Split tiles position range creation and iteration over
3 years ago
elsid
12ce82980c
Revert "Limit and filter navmesh input ( #5858 )"
...
This reverts commit ecc654a369
.
3 years ago
Evil Eye
903ef60f9d
Merge branch 'navmesh_scene_bounds' into 'master'
...
Limit and filter navmesh input (#5858 )
Closes #5858
See merge request OpenMW/openmw!1583
3 years ago
elsid
ecc654a369
Limit and filter navmesh input ( #5858 )
3 years ago
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.
3 years ago
Petr Mikheev
067d71f7eb
Fix heap use after free in components/lua/storage.cpp
3 years ago
Bret Curtis
74e7cfc023
remove unused includes: part1
...
remove unused imports: part2
revert one tidy we will keep for c++20
3 years ago
Bret Curtis
cdbab2325f
rename esmterrain to esm3terrain
3 years ago
Bret Curtis
a126e29a19
relative to absolute path
3 years ago
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
3 years ago
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.
3 years ago
psi29a
6eb36c6b76
Merge branch 'ripple_fix' into 'master'
...
Restore ripples with soft particles
See merge request OpenMW/openmw!1566
3 years ago
Cody Glassman
9cafc31c0d
Restore ripples with soft particles
3 years ago
elsid
a2002bc983
Support frequency of ProgressReporter calls lower than interval
3 years ago
Petr Mikheev
9d0e427ec1
Merge branch 'dispose_lua_ui_correctly' into 'master'
...
Dispose Lua UI elements correctly
See merge request OpenMW/openmw!1561
3 years ago
uramer
cc528d2e08
Dispose Lua UI elements correctly
3 years ago
uramer
d1d8f058ac
Lua bindings for Colours
3 years ago
uramer
c07fb75bf7
Merge branch 'lua_settings' into 'master'
...
Permanent storage for Lua
See merge request OpenMW/openmw!1489
3 years ago
Petr Mikheev
97d56e198f
Use double precision for vectors serialization in Lua
3 years ago
ζeh Matt
ba30b37bb4
Add missing include to unordered_map
3 years ago
Petr Mikheev
a182fdeea1
Permanent storage for Lua data
3 years ago
Petr Mikheev
2d1b100239
Change terminology of gameSecond/gameHour to simulationTime/gameTime
3 years ago
Josquin Frei
d9672f7d46
Add serialization for TransformM and TransformQ
3 years ago
Alexei Dobrohotov
b5a7ad6d62
Fix multilayer parallax parameter reading
3 years ago
psi29a
d8d7a3b372
Merge branch 'softparticles_patch' into 'master'
...
Shadervisitor adjustments and Mac OS fix for soft particles
See merge request OpenMW/openmw!1380
3 years ago
psi29a
1d4de71d35
Merge branch 'fix2' into 'master'
...
Fixes in components/lua
Closes #6535
See merge request OpenMW/openmw!1538
3 years ago
psi29a
555e0b1f53
Merge branch 'brainfreeze' into 'master'
...
Attempt to catch freezes on Windows
See merge request OpenMW/openmw!1493
3 years ago
Petr Mikheev
6a19a66ae5
Fix #6535
3 years ago
Petr Mikheev
5eca122f04
Avoid creating multiple i18n contexts with the same name.
3 years ago
psi29a
bafde5c9c4
Merge branch 'cleanup' into 'master'
...
Remove constant conditions
See merge request OpenMW/openmw!1527
3 years ago
psi29a
8355153047
Merge branch 'const_looop' into 'master'
...
Fix "warning: loop variable is copied but only used as const reference;...
See merge request OpenMW/openmw!1530
3 years ago
jvoisin
1a6be08149
Fix "warning: loop variable is copied but only used as const reference;...
3 years ago
psi29a
24b9c91ef8
Merge branch 'fix_copy_init' into 'master'
...
Fix unnecessary-copy-initialization
See merge request OpenMW/openmw!1531
3 years ago
glassmancody.info
2c52695361
fix regression where LEQUAL was used instead of LESS for depth function
3 years ago
jvoisin
421e6629ad
Fix unnecessary-copy-initialization
...
> warning: the variable 'key' is copy-constructed from a const reference but is
only used as const reference; consider making it a const reference
[performance-unnecessary-copy-initialization]
Found by clang-tidy.
3 years ago
Evil Eye
5a7a3a0d2d
Silence a signed/unsigned mismatch warning
3 years ago
Evil Eye
bdfad27e05
Remove constant conditions
3 years ago
psi29a
0766e1310b
Merge branch 'lunacy' into 'master'
...
Don't touch base stats when turning into a werewolf
Closes #6333
See merge request OpenMW/openmw!1511
3 years ago
Petr Mikheev
0f246e7365
Use a separate instance of Lua i18n for every context
3 years ago