1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-19 20:23:54 +00:00
Commit graph

6268 commits

Author SHA1 Message Date
elsid
bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
2022-07-05 01:41:28 +02:00
elsid
782d3d9680
Avoid calling getMultiview from ~StereoFrustumManager
Otherwise coverity complains about a function throwing exceptions called from a
destructor.
2022-07-04 20:44:41 +02:00
Andrei Kortunov
f6a07ab603 Merge branch 'fix_image_button_scale' into 'master'
Use float based scale factor for ImageButton texture (#6849)

Closes #6849

See merge request OpenMW/openmw!2076
2022-07-03 17:46:51 +00:00
elsid
a16c55c93f
Use float based scale factor for ImageButton texture 2022-07-03 19:41:13 +02:00
jvoisin
bbcc12262f Merge branch 'fix_icu_from_utf8_debug_crash' into 'master'
Avoid constructing icu::StringPiece from std::string directly (#6782)

Closes #6782

See merge request OpenMW/openmw!2073
2022-07-03 17:37:00 +00:00
jvoisin
498a835b77 Merge branch 'coverity' into 'master'
Fix some Coverity issues

See merge request OpenMW/openmw!2082
2022-07-03 16:29:05 +00:00
Andrei Kortunov
fe785ea788 Don't cast away const when we can avoid it 2022-07-03 16:36:41 +04:00
Andrei Kortunov
14b5674d32 Init missing data members 2022-07-03 15:44:50 +04:00
Andrei Kortunov
124db67496 Add an assert to detect possible nullptr dereference 2022-07-03 15:44:50 +04:00
Andrei Kortunov
5d94a94a98 Use a Boost API to resolve symlinks instead of low-level code 2022-07-03 15:44:50 +04:00
Andrei Kortunov
7cce341822 Fix initializer 2022-07-03 15:44:50 +04:00
Andrei Kortunov
d2a1cc954f Remove unused variable 2022-07-03 15:44:50 +04:00
Andrei Kortunov
aa349f2ed9 Initialize some missing variables 2022-07-03 15:44:50 +04:00
Andrei Kortunov
523ad825c2 There is no point to compare an unsigned value with 0 2022-07-03 15:44:31 +04:00
glassmancody.info
a0265ffb89 only enable soft particles when enabled in settings 2022-07-02 09:42:15 -07:00
AnyOldName3
6609243c87 Merge branch 'dont_notice_me_launcher_senpai' into 'master'
Don't load content entries from global and local configs

Closes #6441

See merge request OpenMW/openmw!2068
2022-07-02 16:02:10 +00:00
Petr Mikheev
11d1a54626 Merge branch 'more-stereo-woes' into 'master'
More stereo-postprocessing integration

See merge request OpenMW/openmw!2054
2022-07-02 15:26:35 +00:00
Mads Buvik Sandvei
6dc727cf8f More stereo-postprocessing integration 2022-07-02 15:26:35 +00:00
florent.teppe
4f832f479b Fixes compressed BSA loading
When creating the folders map, the folder name without / is hashed, but when trying to get a file record, when looking for a folder it was hashed wit the /
So now in getFileRecord parent_path is used instead
2022-07-02 15:37:26 +02:00
AnyOldName3
58593a1e62 Merge branch 'disable_crash_catcher' into 'master'
Allow to disable crash catcher on Windows

See merge request OpenMW/openmw!2072
2022-07-01 23:17:32 +00:00
elsid
d2ed62ec3a
Allow to disable crash catcher on Windows 2022-07-01 22:44:03 +02: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
elsid
5891d58f63
Fix C4456 msvc warning
declaration of 'it' hides previous local declaration
2022-07-01 18:47:44 +02:00
elsid
8544aa481c
Fix C4459 msvc warning
declaration of 'navMeshVersion' hides global declaration
2022-07-01 18:47:40 +02:00
elsid
2d6e048d88
Fix C4589 msvc warning
Constructor of abstract class 'SceneUtil::KeyframeController' ignores initializer for virtual base class 'osg::Object'
2022-07-01 18:47:06 +02:00
elsid
7e6c13630a Use target_precompile_headers for the most expensive headers 2022-07-01 14:05:17 +00:00
Evil Eye
c081b8cfa9 Don't load content entries from global and local configs 2022-06-30 20:57:51 +02:00
psi29a
56187ad977 Merge branch 'soften_me_up_like_one_of_your_french_meshes' into 'master'
Allow soft particle effect on any NIF

See merge request OpenMW/openmw!2015
2022-06-30 13:46:22 +00:00
glassmancody.info
b09411d396 allow soft particles on meshes and add extra data extensions 2022-06-29 18:15:12 -07:00
Petr Mikheev
d0deb37f5c Fix several issues with sky blending 2022-06-27 21:51:41 +02:00
elsid
1a5932a669
Move std::ostream& operator<< to .cpp 2022-06-26 22:43:53 +02:00
elsid
10fbf170a2
Reduce number of includes for boost/program_options 2022-06-25 18:32:10 +02:00
psi29a
c3599ada2e Merge branch 'imayhaverunoutofclevernifbranchnames' into 'master'
Clean up NIF record flags/modes

See merge request OpenMW/openmw!2047
2022-06-22 21:15:14 +00:00
psi29a
ede09309a6 Merge branch 'groundcover_progress' into 'master'
Show groundcover loading progress

See merge request OpenMW/openmw!1978
2022-06-22 13:02:22 +00:00
Alexei Kotov
e673f9fa76 Clean up NIF flags 2022-06-22 01:58:16 +03:00
elsid
6abb963bd9
Use string_view for StringUtils functions 2022-06-21 19:40:28 +02:00
psi29a
1a478875f0 Merge branch 'navmesh_agent_bounds' into 'master'
Support different agent collision shape type for pathfinding

See merge request OpenMW/openmw!2030
2022-06-21 16:13:41 +00:00
psi29a
736ea1a8a0 Merge branch 'fix_new_children_visibility' into 'master'
Add missing workaround for a MyGUI visibility bug

Closes #6783

See merge request OpenMW/openmw!2041
2022-06-21 16:08:05 +00:00
psi29a
feef257584 Merge branch 'postprocessor-stereo' into 'master'
[Postprocessing] Stereo integration

See merge request OpenMW/openmw!1988
2022-06-21 15:55:06 +00:00
Mads Buvik Sandvei
b0e4c7e76a [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
psi29a
a822044199 Merge branch 'riggeoosgaext' into 'master'
custom class for osgAnimation::RigGeometry, Collada animated deforming body parts

See merge request OpenMW/openmw!1682
2022-06-21 15:27:34 +00:00
Nelsson Huotari
334c6dde0b custom class for osgAnimation::RigGeometry, Collada animated deforming body parts 2022-06-21 15:27:34 +00:00
elsid
1a12c453d6
Support different agent collision shape type for pathfinding
Actors may have different collision shapes. Currently there are axis-aligned
bounding boxes and rotating bounding boxes. With AABB it's required to use
bounding cylinder for navmesh agent to avoid providing paths where actor can't
pass. But for rotating bounding boxes cylinder with diameter equal to the front
face width should be used to not reduce of available paths. For example rats
have rotating bounding box as collision shape because of the difference between
front and side faces width.

* Add agent bounds to navmesh tile db cache key. This is required to distinguish
  tiles for agents with different bounds.
* Increase navmesh version because navmesh tile db cache key and data has changed.
* Move navmesh version to the code to avoid misconfiguration by users.
* Fix all places where wrong half extents were used for pathfinding.
2022-06-21 12:57:32 +02:00
Petr Mikheev
3bf18c601c Better fog 2022-06-21 02:21:20 +02:00
uramer
591fa9b700 Add missing workaround for a MyGUI visibility bug 2022-06-20 21:43:17 +02:00
psi29a
aeed99ca2c Merge branch 'clean_qt_headers' into 'master'
Clean up Qt includes

See merge request OpenMW/openmw!2027
2022-06-20 14:05:33 +00:00
Cody Glassman
66aa546e97 [Postprocessing] Small cleanup 2022-06-20 06:58:40 +00:00
psi29a
e40461a8e3 Merge branch 'niboundingvolume' into 'master'
Correct NiBoundingVolume loading (#6710)

Closes #6710

See merge request OpenMW/openmw!2029
2022-06-19 11:35:15 +00:00
psi29a
2a789de8d3 Merge branch 'hacky-windows-unicode-fixes' into 'master'
Hacky windows unicode fixes

See merge request OpenMW/openmw!2024
2022-06-19 11:30:23 +00:00
AnyOldName3
c3d23b4948 Extra hack to make this build on Ubuntu with old CMake 2022-06-18 22:43:12 +01:00
elsid
e03e0db55d
Use std::string_view to access settings
There is no more need to copy std::string into a pair when need to call
std::map::find.

Remove unused resetPendingChange function.
2022-06-18 17:54:24 +02:00
Alexei Kotov
e6f7a2f1ef Correct NiBoundingVolume loading 2022-06-17 14:35:33 +03:00
jvoisin
8b9ed57348 Clean up Qt includes 2022-06-17 11:56:54 +02:00
AnyOldName3
bdcac26d8c Fix regressions from https://gitlab.com/OpenMW/openmw/-/merge_requests/1917 2022-06-16 00:30:11 +01:00
AnyOldName3
6a5ad4ca43 Fix regression from https://gitlab.com/OpenMW/openmw/-/merge_requests/1776 2022-06-16 00:28:41 +01:00
elsid
fdd84265b3
Use proper agent height and radius when render actor path
That are based on half extents used to find path over navmesh which is different
for interior and exterior cells.

Use common functions to get agent height and radius for actor path rendering and
navmesh generation.
2022-06-15 01:11:11 +02:00
uramer
1fb136a417 Correct icon and mesh paths in Lua records 2022-06-12 11:30:29 +02:00
psi29a
bb0dad7c08 Update to C++20 and see if our CI can handle it. 2022-06-12 08:00:11 +00:00
uramer
6d2dcaea50 Lua UI: Enable autoSize for single line text edit 2022-06-11 22:24:20 +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
Alexei Kotov
dd758f8fd1 Always update the current matrix in KeyframeController 2022-06-11 05:56:28 +03:00
psi29a
d7641ce943 Merge branch 'keyframe' into 'master'
Encapsulate NIF transformations, round 2 (#6709)

Closes #6709

See merge request OpenMW/openmw!1989
2022-06-09 20:44:55 +00:00
psi29a
ee89eccb06 Merge branch 'reload_l10n' into 'master'
Console command `reloadlua` also reloads l10n used by Lua scripts

See merge request OpenMW/openmw!1984
2022-06-09 12:17:38 +00:00
psi29a
f687827f98 Merge branch 'compile-times' into 'master'
Improve compile time a bit

See merge request OpenMW/openmw!1985
2022-06-08 12:07:30 +00:00
Alexei Kotov
21f6e2e419 Encapsulate NIF transformations, round 2 (task #6709) 2022-06-08 07:05:35 +03:00
ζeh Matt
38b6927b31
Fix missing includes 2022-06-07 02:08:50 +03:00
ζeh Matt
e185d186bf
Move Log implementation to cpp, remove expensive mutex include in hpp 2022-06-07 01:41:27 +03:00
ζeh Matt
14bf9af056
Move implementation details of debugging.hpp to cpp, reduce includes 2022-06-07 01:22:43 +03:00
Petr Mikheev
1240b60a24 Console command reloadlua also reloads l10n used by Lua scripts 2022-06-06 23:56:08 +02:00
uramer
6c9c832927 Lua UI: Support autosized multiline text 2022-06-06 21:52:55 +00:00
ζeh Matt
d5ec959449
Create platform component for platform specific things 2022-06-06 20:45:51 +03:00
psi29a
5aeee0a520 Merge branch 'threading_gone_wrong' into 'master'
[Postprocessing] Fix race condition when techniques are dirtied

See merge request OpenMW/openmw!1979
2022-06-06 16:32:35 +00:00
psi29a
5725b5a29c Merge branch 'close_lights' into 'master'
[Postprocessing] Pass sorted lights and ones with associated geometry

See merge request OpenMW/openmw!1976
2022-06-06 16:29:48 +00:00
Evil Eye
10e4eb8e8e Append orphaned dialogue instead of always appending it 2022-06-06 10:12:36 +02:00
glassmancody.info
acc209c294 fix threading issue when dispatching frame dependent data 2022-06-05 15:46:25 -07:00
elsid
9c93de65be
Show groundcover loading progress 2022-06-05 22:21:12 +02:00
psi29a
c7449dc272 Merge branch 'bullet_includes' into 'master'
Clean up bullet includes

See merge request OpenMW/openmw!1974
2022-06-05 10:17:57 +00:00
glassmancody.info
8146b05c92 pass only lights with visible geometry 2022-06-04 21:01:01 -07:00
glassmancody.info
327b8ecdcb pass sorted lights to light postprocess light buffers 2022-06-04 20:33:21 -07:00
Petr Mikheev
a70d5831c5 Lua scripts configuration in omwaddon 2022-06-05 01:36:39 +02:00
psi29a
58fd560ce9 Merge branch 'esm_readers_cache' into 'master'
Limit the number of simultaneously open not actively used content files (#6756)

Closes #6756

See merge request OpenMW/openmw!1966
2022-06-04 19:11:27 +00:00
psi29a
70f0aae14d Merge branch 'const_sRecordId' into 'master'
Make the sRedcordId constexpr

See merge request OpenMW/openmw!1973
2022-06-04 19:09:32 +00:00
psi29a
22ad2615e3 Merge branch 'mygui_includes' into 'master'
Clean up MyGUI includes

See merge request OpenMW/openmw!1972
2022-06-04 19:07:28 +00:00
jvoisin
72a6d1f69f Clean up bullet includes 2022-06-04 20:15:10 +02:00
jvoisin
df0cd86cf4 Use the proper types 2022-06-04 16:34:23 +02:00
jvoisin
6c71071083 Make the sRedcordId constexpr 2022-06-04 16:07:59 +02:00
jvoisin
33c66e3d5e Merge branch 'light_origin' into 'master'
Attach lights at origin when missing AttachLight node

Closes #6794

See merge request OpenMW/openmw!1970
2022-06-04 13:35:27 +00:00
Cody Glassman
ce49aa1202 Attach lights at origin when missing AttachLight node 2022-06-04 13:35:27 +00:00
Cody Glassman
bc0eed9843 [Postprocessing] Typos in docs and state attributes 2022-06-04 13:33:35 +00:00
jvoisin
0cc304e659 Clean up MyGUI includes
This should improve incremental compilation.
2022-06-04 15:26:36 +02:00
jvoisin
075ecc8558 Merge branch 'minor_simp_multidircoll' into 'master'
Minor simplification in multidircollection.cpp

See merge request OpenMW/openmw!1963
2022-06-03 17:22:19 +00:00
elsid
3affe9913f
Limit the number of simultaneously open not actively used content files
Use LRU cache for ESMReaders. When cache capacity is reached close least
recently used ESMReader. Remember the file name if a reader was open. Once the
reader requested again open the file if there is stored name for it. Put
released ESMReader to the back of the free items list. Close ESMReader's from
the front of the free items list.

Cached item can be used only by one client at the same time. If the same item is
requested twice exception is thrown. This should never happen in practice. If
this happens need to fix the client logic.

It's allowed to go over the capacity limit when requesting different readers.
Ideally this should never happen but there will be system error anyway
signalizing about too many open files. Need to fix client logic in this case.

All places that were using a vector of ESMReaders now using the cache. Cache is
local for each use case and there is no need for a thread safety.
2022-06-03 01:29:03 +02:00
jvoisin
a204f392c9 Minor simplification in multidircollection.cpp 2022-06-02 20:23:19 +02:00
Petr Mikheev
23f1d21e48 Make the behaviour of omw.weatherTransition in omwfx more reasonable 2022-06-02 01:35:39 +02:00
glassmancody.info
4dee9acd1e fill bars to postprocess hud 2022-05-31 16:26:51 -07:00
Cody Glassman
447b586d7d [Postprocessing] Fix a couple awkward issues with Lua API 2022-05-31 08:45:27 +00:00
AnyOldName3
e24a85419a Merge branch 'master' into 'master'
When building Win32 (VS 2019), there are problems in line 45.

See merge request OpenMW/openmw!1953
2022-05-30 20:20:53 +00:00
jvoisin
4366ec11fc Merge branch 'blank_is_bad' into 'master'
0 initialize mRecordFlags

Closes #6719

See merge request OpenMW/openmw!1949
2022-05-29 21:23:45 +00:00
psi29a
1712a8779c Merge branch 'remove_moar_booooost' into 'master'
Remove boost:: constructs

See merge request OpenMW/openmw!1948
2022-05-29 20:33:17 +00:00
Evil Eye
bb495bffeb 0 initialize mRecordFlags 2022-05-29 22:12:30 +02:00
jvoisin
aeb3733e57 Remove boost:: constructs
Namely boost::scoped_array and boost::to_lower_copy.
2022-05-29 21:21:51 +02:00
psi29a
fc24ffcaab Merge branch 'folllllllowup' into 'master'
Replace a `c_str()` with an `native()`

See merge request OpenMW/openmw!1938
2022-05-29 19:18:57 +00:00
Evil Eye
a95b6e050a Replace new with make_unique in components 2022-05-29 13:24:32 +02:00
jvoisin
bd5ccaac3c Followup to 21efb74b58 2022-05-27 19:09:34 +02:00
jvoisin
21efb74b58 Remove even most boost:: 2022-05-26 16:13:07 +02:00
psi29a
d74ee0f3fe Merge branch 'postprocess_hud' into 'master'
[Postprocessing] Improve HUD

See merge request OpenMW/openmw!1933
2022-05-26 06:24:36 +00:00
cody glassman
424b828ff8 add ability to use display names 2022-05-25 19:17:31 -07:00
cody glassman
11845e7d9b improve layout of postprocessor hud 2022-05-25 19:07:01 -07:00
jvoisin
cb226e00f9 Remove some more of boost:: 2022-05-25 21:16:26 +02:00
Petr Mikheev
29328867dc Merge branch 'moar_noboost' into 'master'
Remove even more of boost::filesystem

See merge request OpenMW/openmw!1927
2022-05-25 18:29:04 +00:00
jvoisin
4e4debb1cb Remove even more of boost::filesystem 2022-05-25 18:29:02 +00:00
psi29a
a14285bff5 Merge branch 'light_tweaks' into 'master'
[Postprocessing] Tweaks to light collection

See merge request OpenMW/openmw!1928
2022-05-25 07:51:17 +00:00
cody glassman
30a64ee82a move to world space, fix bug with uniform size updates 2022-05-24 22:30:25 -07:00
jvoisin
6feb92a9bf Remove boost::filesystem from a couple of files 2022-05-24 21:18:21 +00:00
psi29a
a737b05d84 Merge branch 'faster_toLower' into 'master'
Improve the speed of toLower

See merge request OpenMW/openmw!1889
2022-05-24 07:53:01 +00:00
glassmancody.info
a987b01717 don't resize user defined samplers to power of 2 2022-05-23 19:44:39 -07:00
jvoisin
998f1c960e Improve the speed of toLower
This significantly improves the speed of my fuzzer,
by something like 15%.
2022-05-23 21:24:17 +02:00
Petr Mikheev
a4b23aad05 Validate l10n context name 2022-05-23 19:25:30 +02:00
elsid
5b592e09e6
Log more information when navmeshtool fails on not enough space 2022-05-23 13:01:30 +02:00
cody glassman
6093cb5f2c postprocessing lua api extensions 2022-05-22 18:53:38 -07:00
psi29a
e3f891c0b0 Merge branch 'fix_boost' into 'master'
Fix build with lld linker

See merge request OpenMW/openmw!1903
2022-05-22 20:53:57 +00:00
psi29a
f17d7fc00b Merge branch 'string_view' into 'master'
Make getStringLiteral return a string_view

See merge request OpenMW/openmw!1896
2022-05-22 20:50:04 +00:00
jvoisin
fb732d74a2 Remove boost::filesystem from bsatool 2022-05-22 18:53:10 +02:00
elsid
ea295a2ac3
Fix build with lld linker
Boost.Filesystem started to depend on Boost.Atomic on 1.77.0 version but lld
can't find library on its own:

libboost_atomic.so.1.79.0 => not found
2022-05-22 15:27:48 +02:00
psi29a
8dd3e53a30 Merge branch 'string_view' into 'master'
Move a couple of files from `const std::string&` to `std::string_view`

See merge request OpenMW/openmw!1901
2022-05-22 10:45:35 +00:00
Evil Eye
ac78b537d2 Address feedback 2022-05-22 09:29:03 +02:00
Petr Mikheev
7f8d433775 Initialize log recorder right after initializing the logging 2022-05-22 02:47:58 +02:00
elsid
ea107bdd53
Remove unused boost include 2022-05-22 02:42:01 +02:00
jvoisin
02cafc3b98 And one more 2022-05-21 22:08:20 +02:00
jvoisin
9ce26ef4b6 Move to_utf8 from const std::string& to std::string_view 2022-05-21 21:44:47 +02:00
jvoisin
23eccebe9e Convert esmtool from const std::string& to std::string_view 2022-05-21 21:39:26 +02:00
Evil Eye
15fda78ddf Include string 2022-05-21 12:00:15 +02:00
Evil Eye
e79f803402 Change includes 2022-05-21 10:48:32 +02:00
Matt
395de4b251 Refactor PostProcessor code 2022-05-21 06:42:05 +00:00
Evil Eye
c6ca0e78c9 Make getStringLiteral return a string_view 2022-05-21 01:21:55 +02:00
uramer
1fe794d935 Changing setting renderer arguments 2022-05-19 19:49:14 +00:00
uramer
9042f47f0a Use an anonymous namespace in element.cpp 2022-05-19 16:10:49 +02:00
uramer
5d7fc0ab17 Limit maximum Lua UI layout depth to prevent stack overflow 2022-05-19 16:10:05 +02:00
psi29a
d4e2000d5b Merge branch 'render_targets' into 'master'
Bind custom render targets per pass

See merge request OpenMW/openmw!1884
2022-05-19 11:03:02 +00:00
glassmancody.info
3d03052717 dont bind rendertargets unless we use them, otherwise texture limit will be reached quickly 2022-05-18 19:45:09 -07:00
psi29a
b9b4f1c3c2 Merge branch 'console_log' into 'master'
In-game log viewer

See merge request OpenMW/openmw!1799
2022-05-18 07:57:59 +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
ζeh Matt
18f16eac4c
Refactor DetourNavigator to pass prng along, use world prng for AiWander 2022-05-17 20:37:15 +03:00
elsid
18d05c8f1a
Use proper variable to check in if condition 2022-05-17 13:19:39 +02:00
psi29a
2f75acc34e Merge branch 'navmesh_render_update_frequency' into 'master'
Add navmesh debug render mode to show update frequency

See merge request OpenMW/openmw!1685
2022-05-17 07:32:08 +00:00
psi29a
bbcdac6b18 Merge branch 'fix_mygui_data_manager_includes' into 'master'
Add includes for used types and functions (#6744)

See merge request OpenMW/openmw!1870
2022-05-17 07:28:35 +00:00
elsid
215b46503c
Support rendering for navmesh update frequency as a heatmap
Useful when need to find tiles with high number of updates.

Add debug Lua package with new functions to toggle render mode and set navmesh
render mode.
2022-05-17 01:54:20 +02:00
cody glassman
915eaa4c91 highp is not available in version 120 2022-05-16 16:17:39 -07:00
elsid
5f2e282359
Add includes for used types and functions 2022-05-17 00:58:24 +02:00
Petr Mikheev
cf49b46d64 Show logs in the debug window
Some part of UI code is written by @andrew-app
2022-05-16 20:50:44 +02:00
Alexei Kotov
8140cceb3e Merge branch 'construct_me_not' into 'master'
Address feedback on !1857

See merge request OpenMW/openmw!1865
2022-05-16 16:58:43 +00:00
Petr Mikheev
7ee796b481 Merge branch 'fix_pairs' into 'master'
Fix Lua pairs and ipairs

See merge request OpenMW/openmw!1864
2022-05-16 15:52:42 +00:00
Evil Eye
134dc2b21b Address feedback on !1857 2022-05-16 17:37:55 +02:00
psi29a
f092d8da9a Merge branch 'post_malone' into 'master'
Post Processing

See merge request OpenMW/openmw!1124
2022-05-16 14:51:13 +00:00
uramer
22994af728 Fix Lua pairs and ipairs 2022-05-16 16:32:18 +02:00
psi29a
dd0e0fea72 Merge branch 'lua_strict_index' into 'master'
[Lua] makeStrictReadOnly for enums

See merge request OpenMW/openmw!1859
2022-05-16 10:59:20 +00:00
psi29a
d8eb9d6818 Merge branch 'smooth_my_nodes' into 'master'
Better support BSPArrayController

See merge request OpenMW/openmw!1858
2022-05-16 08:25:18 +00:00
psi29a
65c95d97c3 Merge branch 'disable_navmeshdb_write_on_lock' into 'master'
Disable writes to navmeshdb on database is locked error

See merge request OpenMW/openmw!1837
2022-05-16 07:38:12 +00:00
Petr Mikheev
7ccbf95503 [Lua] makeStrictReadOnly for enums 2022-05-16 00:16:26 +02:00
cody glassman
72fdf40e06 better support for particle arrays when spawning at node positions 2022-05-15 13:41:52 -07:00
Petr Mikheev
d16fa553c8 Fix LuaUtil::Callback 2022-05-15 21:34:48 +02:00
cody glassman
dae0914820 workarounds for gl4es 2022-05-15 10:03:58 -07:00
cody glassman
ac6089a430 skip flipping of 3D textures which is unsupported in OSG 2022-05-15 10:03:58 -07:00
cody glassman
0cb63ca4e6 experimental point light bindings 2022-05-15 10:03:58 -07:00
cody glassman
04843fed6d moddable post-processing pipeline 2022-05-15 10:03:58 -07:00
Evil Eye
c0cc5feecd Initialize DialInfo::DATAstruct with the proper blank values 2022-05-15 14:52:44 +02:00
uramer
1766f89c4d Fix a typo 2022-05-14 16:55:11 +02:00
uramer
52d05be04b Styling for Settings 2022-05-14 10:27:30 +00:00
ShadIK02
9649bfc4cb When building Win32 (VS 2019), there are problems in line 45.
This change solves the problem.

Special thanks to AnyOldName3 for the hint :)
2022-05-13 21:59:47 +00:00
uramer
e92c88a133 Make the documentation clearer, match the documentation when no buttons are pressed for an event 2022-05-10 20:00:42 +02:00
elsid
a75c7c49f0
Disable writes to navmeshdb on database is locked error
Simultaneously writing to sqlite3 database is not possible. Process exclusively
locks the database for this. Another process will fail to perform any request
when database is locked. Alternatively it can wait. Handling this situation
properly requires complexity that is not really needed. Users are not expected
to run multiple openmw processes simultaneously using the same navmeshdb.

Before this change running multiple openmw processes using the same navmeshdb
can lead to a crash when first transaction fails to start because there is
exception thrown and not catched.

Remove use of explicit transactions from DbWorker. Handling all possible
transaction states due to different errors brings unnecessary complexity.
Initially they were introduced to increase time between flushes to disk. This
makes sense for navmeshtool because of massive number of writes but for the
engine this is not an issue.
2022-05-09 22:54:46 +02:00
cody glassman
ad139f2f9a rename to windowed fullscreen 2022-05-08 22:56:39 -07:00
cody glassman
05901a2480 add borderless windows, deprecate fullscreen mode 2022-05-08 22:56:39 -07:00
uramer
1f5e3b78d4 Use Flex, don't force re-renders on layout table changes 2022-05-08 11:15:17 +02:00
uramer
aea2c019de Fix content names for layouts inserted with :add() 2022-05-08 11:15:16 +02:00
psi29a
49487a17e6 Merge branch 'environment' into 'master'
Make Environment a storage of referencing pointers instead of owned

See merge request OpenMW/openmw!1830
2022-05-08 08:47:34 +00:00
psi29a
c0ffb289ab Merge branch 'ptmikheev-master-patch-72894' into 'master'
Fix #6731

Closes #6731

See merge request OpenMW/openmw!1832
2022-05-08 08:33:43 +00:00
elsid
79676aee15
Make Environment a storage of referencing pointers instead of owned
Engine controls lifetime of managers therefore it should own them. Environment
is only access provider.

This allows to avoid redundant virtual calls and also some functions from
managers base classes can be removed if they are used only by Engine.
2022-05-06 23:44:01 +02:00
Petr Mikheev
70c7f1880d [Lua] pairs and ipairs for ObjectList (resolves #6732) 2022-05-06 23:11:47 +02:00
Petr Mikheev
86d6ab593e Fix #6731 2022-05-06 19:57:41 +00:00
jvoisin
331363d469 Merge branch 'fix_uninit' into 'master'
Fix uninitialized coverity warnings

See merge request OpenMW/openmw!1819
2022-05-05 17:35:16 +00:00
Evil Eye
a64979e25d Replace empty std::string assignments 2022-05-04 22:33:39 +02:00
uramer
03659bef86 MWUI interface (resolve https://gitlab.com/OpenMW/openmw/-/issues/6594) 2022-05-03 17:36:49 +00:00
jvoisin
143dcad0e8 Use an if instead of an assert 2022-05-02 21:17:24 +00:00
elsid
b67a0a8f2b
Fix uninitialized coverity warnings 2022-05-01 18:36:16 +02:00
elsid
92538dde89
End SNAM record as SNAM record 2022-05-01 15:45:22 +02:00
psi29a
275bebb066 Merge branch 'Stereo-MR' into 'master'
Stereo

See merge request OpenMW/openmw!1757
2022-04-30 16:40:09 +00:00
Evil Eye
9a96d64611 Use subrecord size instead of version to load WEAT 2022-04-30 10:11:49 +02:00
madsbuvi
31a97141b7 Mac 2022-04-29 21:59:26 +02:00
madsbuvi
79577f37de Rebase artifacts + cleaned up the remaining unnecessary exposures of stereo awareness. 2022-04-29 17:35:24 +02:00
psi29a
a707f5b0e0 Merge branch 'portable' into 'master'
Make OpenMW more portable (follow up of !1555)

See merge request OpenMW/openmw!1805
2022-04-28 19:35:29 +00:00
Mads Buvik Sandvei
606a795a54 multiview linker-method 2022-04-28 21:09:06 +02:00
madsbuvi
dd5901d351 Initial commit
Multiview shaders.

Refactor Frustum management

Rewrite shared shadow map

cull mask should respect stereo

Stereo savegame screencap

LocalMap refactoring

use the vertex buffer hint instead of the display list patch to enable/disable display lists

Character preview fixes
2022-04-28 21:05:34 +02:00
fredzio
bab5e56768 Make the launcher dara directory and bsa list play nicer with dark
themes.

Known issue: the padding icon for disabled data directories is of wrong
color.
2022-04-28 15:19:54 +02:00
Petr Mikheev
c7ab67c2c1 Allow relative paths in openmw.cfg; support --replace=config. 2022-04-28 00:39:41 +02:00
psi29a
07056802eb Merge branch 'esmtool_tes4' into 'master'
Support esmtool dump for TES4

See merge request OpenMW/openmw!1800
2022-04-27 21:07:25 +00:00
psi29a
dad9f24867 Merge branch 'link-shaders' into 'master'
Shader linking

See merge request OpenMW/openmw!1803
2022-04-27 21:04:08 +00:00
psi29a
66a96bfa5e Merge branch 'launcher-datadirs' into 'master'
Make launcher handle data dirs #2858 and BSA

See merge request OpenMW/openmw!192
2022-04-27 17:31:52 +00:00
madsbuvi
dc3045c970 mono-only version of the shader linking system introduced in the stereo MR 2022-04-26 19:54:24 +02:00
elsid
d2510284ec
Support TES4 in esmtool dump 2022-04-25 17:35:26 +02:00
elsid
4b28d51d5e
Remove virtual modifiers from ESM4 record functions
There is no need to have virtual functions.
2022-04-25 17:35:25 +02:00
elsid
2c9b6fffe5
Remove preloading logic from ESM4::Cell
This logic does not belong here. If client of ESM4::Cell needs to cache load
results it can be done separately.
2022-04-25 17:35:25 +02:00
elsid
13c970b37a
Add const modifier to encoder type 2022-04-25 17:35:25 +02:00
elsid
c7ba4100e1
Remove undefined and redundant ESM4 record type constructors 2022-04-25 17:35:25 +02:00
psi29a
c930aabf17 Merge branch 'fix_windows_build' into 'master'
Fix build on Windows

See merge request OpenMW/openmw!1796
2022-04-25 06:38:33 +00:00
elsid
0dcb1f5aac
Fix build on Windows
Use wrapper header over Windows.h to undefine far and near in a single place.
2022-04-25 00:25:46 +02:00
Petr Mikheev
eae1e87081 [Lua] Update openmw.storage 2022-04-23 18:55:12 +02:00
psi29a
f99f818c0c Merge branch 'esm4_cleanup' into 'master'
ESM4 cleanup

See merge request OpenMW/openmw!1792
2022-04-23 15:27:28 +00:00
fredzio
b88d32ff5b Add 3 tabs in the "Data Files" page
1 with the data directories
2 with the BSA archives
3 with the content selector

When user select a directory to be added, first we walk the directory
hierarchy to make a list of all potential data= entries. If we find
none, the selected directory is added.

If more than one data directory is found, user is presented with a
directory list to check which one(s) are to be added.

Directories containing one or more content file are marked with an icon.

data= and fallback-archive= lines are handled like content= lines:
- they are part of the profile in launcher.cfg, prefixed by the profile
name
- they are updated in openmw.cfg when profile is selected / created

Directories can be moved in the list by drag and drop or by buttons.
Insertion is possible anywhere in the list.
Global data path and data local are shown but are greyed out, as they
are always included.

No attempt is made to ensure that the user choice are valid
(dependencies, overwrite of content).

After a profile is loaded, any added content is highlighted in green.
2022-04-23 09:54:45 +02:00
elsid
4a49bc4941
Remove undefined constructor declaration 2022-04-23 01:27:45 +02:00
elsid
d71a1efa92
Rename components/esm4/acti.hpp -> components/esm4/loadacti.hpp 2022-04-23 00:40:45 +02:00
elsid
d5fb2f8091
Use ESM::fourCC to define ESM4 record types 2022-04-23 00:32:52 +02:00
elsid
761a04ce00
Remove duplicated enum definition 2022-04-23 00:32:52 +02:00
elsid
3abcf3dd0d
Fix style guide 2022-04-23 00:32:52 +02:00
elsid
94c1d0cced
Use unique_ptr to store istream 2022-04-22 18:27:17 +02:00
elsid
c94d8be7bf
Add generic StreamWithBuffer owning the underlying buffer 2022-04-22 18:27:17 +02:00
elsid
9d6d0c6ffb
Move ConstrainedStreamBuf into separate file 2022-04-22 18:27:17 +02:00
elsid
e777e35414
Use system_clock for time in logs
high_resolution_clock may not give real time. MSVC implements it as
steady_clock that is basically CPU time which is usually desynchronized with
real time.
2022-04-21 23:03:40 +02:00
psi29a
c14796fc57 Merge branch 'ncc' into 'master'
#6496 Handle NCC flag in Nif files

See merge request OpenMW/openmw!1516
2022-04-17 20:29:41 +00:00
fredzio
d05a2facf3 Handle NCC flag in Nif files. Objects with this flag will collide only with camera.
Expose objects with NC flag to be used by Lua mods.
2022-04-17 20:03:00 +02:00
Evil Eye
22d02e86b0 Respect ignored flag in navmeshtool and groundcover 2022-04-17 09:23:09 +02:00
Evil Eye
61ea678a96 Implement ignored records 2022-04-16 16:28:39 +02:00
elsid
fbc853804d
Fix recover from errors in Files::getHash 2022-04-15 21:43:54 +02:00
elsid
b09570692e
Use ifstream for ESMReader
ESMReader reads the whole file, there is no need in the ConstrainedFileStream.
2022-04-15 02:58:57 +02:00
psi29a
ea6b84ce1f Merge branch 'fix_esm_loader_prepare_records' into 'master'
Fix loading order in EsmLoader (#6671)

Closes #6671

See merge request OpenMW/openmw!1774
2022-04-14 18:26:40 +00:00
Petr Mikheev
45c9635e94 Fix getmetatable, fix pairsForReadonly, add util.loadCode, _G 2022-04-14 01:00:02 +02:00
elsid
194c11f214
Fix loading order in EsmLoader
Need to load the last present record from a sequence of loaded records. That
means reverse should be called before unique or unique should be applied for
a reversed range. Since unique keeps only the first element from a sub
sequence of equal elements.

Use forEachUnique with reversed range to avoid redundant container
modifications.
2022-04-13 09:33:24 +02:00
psi29a
9809b873a0 Merge branch 'esm_namespace_qualifiers' into 'master'
Remove ESM:: namespace qualifier in components/esm3/ and tests

See merge request OpenMW/openmw!1769
2022-04-12 08:08:31 +00:00
elsid
4447ab0ed7
Remove ESM:: namespace qualifier in components/esm3/ and tests 2022-04-12 02:04:24 +02:00
elsid
39da3bfef8
Ignore player when checking whether AiTravel destination is occupied by other actor 2022-04-11 19:30:54 +02:00
Bret Curtis
7fe6c39aa2 const the key/value 2022-04-11 16:59:46 +02:00
Bret Curtis
db3f9da08a coverity fixes and other bits 2022-04-11 14:37:22 +02:00
psi29a
5820e5701a Merge branch 'refactor/shadowtechnique' into 'master'
Cleanup code in mwshadowtechnique.cpp

See merge request OpenMW/openmw!1756
2022-04-11 11:15:27 +00:00
psi29a
03806eb75e Merge branch 'esm_rm_redundant_include' into 'master'
Remove redundant include from esm3/esmreader.hpp

See merge request OpenMW/openmw!1761
2022-04-11 07:47:48 +00:00
psi29a
cf1764f255 Merge branch 'constrained_file_stream' into 'master'
Avoid redundant conversion to const char* and use make_shared

See merge request OpenMW/openmw!1763
2022-04-11 07:26:53 +00:00
elsid
6481324eb1
Read when need to skip few bytes 2022-04-11 01:55:05 +02:00
elsid
5eb8c4aebe
Avoid redundant conversion to const char* and use make_shared 2022-04-10 22:33:08 +02:00
elsid
db44f91fd5
Remove redundant include from esm3/esmreader.hpp 2022-04-10 22:16:32 +02:00
ζeh Matt
b39aea4346
Move extremeEdges into queue instead of copying 2022-04-10 20:56:52 +03:00
ζeh Matt
19df9c3d17
Use vector for edge queue 2022-04-10 20:38:59 +03:00
elsid
c3a924de23
Fix skip DATA in cell ref loading 2022-04-10 19:16:30 +02:00
ζeh Matt
0790af962e
Cleanup code in mwshadowtechnique.cpp 2022-04-10 20:16:15 +03:00
elsid
6b464a9330
Check ESMReader value size in compile time 2022-04-10 19:16:11 +02:00
Benjamin Winger
21ffbcc4b4 Lua i18n updates 2022-04-10 07:57:02 +00:00
elsid
4509b05bc8
Use std::make_shared instead of new
make_shared allocates single storage for ref counter and the object.
std::shared_ptr<T>(new T) allocates 2 storages.
2022-04-08 22:50:09 +02:00
elsid
bbfdb347bd
Skip load cell ref when there is no need
Primarily to avoid temporary allocations by ESMReader::getHString.
2022-04-08 19:16:38 +02:00
elsid
7038c82690
Configure mav navmeshdb file size from the launcher 2022-04-07 16:38:01 +02:00
psi29a
1ac7eaa6b0 Merge branch 'NiFltAnimationNode' into 'master'
Add NiFltAnimationNode support

Closes #6684

See merge request OpenMW/openmw!1732
2022-04-06 23:59:04 +00:00
psi29a
fc5605fc7f Merge branch 'navmeshtool_binary_log' into 'master'
Send status of navmeshtool to launcher using type binary messages

See merge request OpenMW/openmw!1630
2022-04-06 23:40:45 +00:00
psi29a
f5bc78cac3 Merge branch 'lua_ui_flex' into 'master'
Lua UI Flex widget

Closes #6646

See merge request OpenMW/openmw!1743
2022-04-06 23:29:23 +00:00