Alexei Kotov
8d3c5c0f05
Unify texture wrapping setup
2023-02-20 00:23:00 +03:00
Alexei Kotov
2de81738c1
Implement the basics of BSEffectShaderProperty
2023-02-20 00:23:00 +03:00
Cédric Mocquillon
6e23ad82d5
Load esm files from vfs
2023-02-19 21:58:19 +01:00
psi29a
0f331a4fc5
Merge branch 'lua_callback' into 'master'
...
Fix potential memory leak in LuaUtil::Callback
See merge request OpenMW/openmw!2733
2023-02-18 21:05:07 +00:00
psi29a
0ed1310417
Merge branch 'fix_fog_state_load' into 'master'
...
Fix loading fog state
See merge request OpenMW/openmw!2743
2023-02-18 07:27:05 +00:00
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.
2023-02-18 01:07:15 +01:00
elsid
959de6f4c1
Avoid UB on empty fog data record
2023-02-17 23:42:49 +01:00
elsid
28f7a89530
Reuse dtNavMeshQuery
...
To avoid redundant allocations.
2023-02-17 15:05:25 +01:00
elsid
996153f78d
Convert RefId to class
2023-02-15 23:20:44 +01:00
Petr Mikheev
b71eac3e76
Fix #7210
2023-02-15 10:31:10 +01:00
Petr Mikheev
eceeb15ee5
Fix bug in lua_ui/content.lua: getmetatable(ui.content{}) shouldn't return a global mutable table
2023-02-14 21:08:19 +01:00
Petr Mikheev
65885d994f
Don't expose LuaUtil::Callback to lua
2023-02-14 21:08:19 +01:00
Petr Mikheev
71ba7b88e2
Move asyncpackage from apps/openmw/mwlua to components/lua
2023-02-14 20:03:32 +01:00
elsid
6d261d38dd
Add functions to read and write ESM::RefId and use them
...
To be later changed with another implementation.
2023-02-13 22:07:58 +01:00
elsid
80e6d6cbe3
Support variable size strings in ESM3
2023-02-13 10:18:32 +01:00
elsid
beb017e699
Do not truncate too long strings on writing ESM
2023-02-13 10:18:32 +01:00
elsid
c0c723bb1b
Add const to read only function
2023-02-13 10:18:32 +01:00
Alexei Kotov
0ba179c332
Discard terrain base layer alpha in non-shader rendering path (bug #6657 )
2023-02-13 03:43:59 +03:00
psi29a
02651cd96c
Merge branch 'texturefx' into 'master'
...
Propagate dynamic effects to node's immediate children (bug #6550 )
Closes #6550
See merge request OpenMW/openmw!2721
2023-02-11 21:42:30 +00:00
elsid
2e64155c0f
Use signed type for left record and files size in ESM3 reader context
...
Otherwise reading some of the records like ESM::CellRef without a subrecord
after could lead to underflow of ESM_Context::leftRec which makes
ESM::ESMReader::hasMoreSubs to return true and load hangs for a while trying to
read the same subrecord many times.
Fix ESM::Variant tests since it's now required to have a record for any ESM
data. Add 16 (size of record header) to all expected data sizes.
2023-02-11 16:09:14 +01:00
Alexei Kotov
9deed5c03e
Propagate dynamic effects to node's immediate children (bug #6550 )
2023-02-11 17:37:25 +03:00
elsid
a5ec108cfb
Add missing space
2023-02-11 15:14:02 +01:00
elsid
4f683d1ee9
Throw exception on failed write
2023-02-11 15:14:02 +01:00
psi29a
5f1da29881
Merge branch 'bsapriority' into 'master'
...
Files::Collections: prefer files from highest priority folders (bug #7092 )
Closes #7092
See merge request OpenMW/openmw!2716
2023-02-11 10:50:55 +00:00
psi29a
83894bae8a
Merge branch 'nif' into 'master'
...
Add NiTriBasedGeomData abstraction, bring NiVertexColorProperty to modern standards
See merge request OpenMW/openmw!2714
2023-02-11 10:33:08 +00:00
Alexei Kotov
536370c76d
Files::Collections: prefer files from highest priority folders
2023-02-11 01:25:00 +03:00
Alexei Kotov
99aa90f90c
Rewrite NiVertexColorProperty
2023-02-11 00:58:13 +03:00
Alexei Kotov
d39127cc3d
Add NiTriBasedGeomData abstraction
2023-02-10 23:06:56 +03:00
elsid
080700f8fe
Name all custom ESM format versions and add tests
2023-02-10 19:54:15 +01:00
psi29a
de2bd6d802
Merge branch 'nistringpalette' into 'master'
...
Fix NiStringPalette loading again
See merge request OpenMW/openmw!2703
2023-02-10 07:46:39 +00:00
AnyOldName3
8ea2e15446
clang-format some more
...
LLVM shouldn't make me download everything they've ever made in the same
package as clang-format.
2023-02-10 00:40:48 +00:00
AnyOldName3
83b940397e
AdD lInE bReAk ThAt ClAnG-fOrMaT wAnTeD
2023-02-10 00:12:55 +00:00
Alexei Kotov
a4ddf443ed
Fix NiStringPalette loading
2023-02-09 21:10:25 +03:00
Alexei Kotov
c8430ee6c8
Clean up fillTriangleMesh for NiTriStrips
2023-02-09 20:24:05 +03:00
AnyOldName3
7d4410d4fb
Use reserveGlobalTextureUnits for shadow maps
2023-02-09 01:32:48 +00:00
psi29a
a41cbfb349
Merge branch 'candles' into 'master'
...
Read NiBlendInterpolator records, fill in NiControllerManager fields
See merge request OpenMW/openmw!2700
2023-02-08 22:24:37 +00:00
elsid
2c43a8558a
Add option to disable debug log for unsupported nif files
...
It becomes quite extensive and not very useful when loading oblivion content
files.
2023-02-08 22:59:29 +01:00
Alexei Kotov
d7834c43e5
Fill in NiControllerManager fields
2023-02-09 00:06:08 +03:00
Alexei Kotov
091fcd837e
Read all the NiBlendInterpolator record types
2023-02-09 00:06:08 +03:00
Alexei Kotov
7ecf018743
Add NiBlendInterpolator
2023-02-08 22:58:47 +03:00
elsid
02ada74fa1
Do not try to dereference nullptr in object cache
2023-02-08 20:19:59 +01:00
Alexei Kotov
41d6ccd3f6
Read NiDefaultAVObjectPalette
2023-02-08 15:08:52 +03:00
psi29a
5f9332751c
Merge branch 'roottrafo' into 'master'
...
Don't discard root node transformations for Gamebryo meshes
See merge request OpenMW/openmw!2697
2023-02-08 11:32:16 +00:00
Alexei Kotov
b14d1f0c6b
Don't discard root node transformations for Gamebryo meshes
2023-02-08 14:20:42 +03:00
Alexei Kotov
8ebdd1e4a5
Fix material data loading for 10.0.1.0
2023-02-08 13:46:54 +03:00
Alexei Kotov
115c30a573
Read bhkConvexTransformShape
2023-02-08 13:26:26 +03:00
AnyOldName3
9be3d2668a
Break out of loops when uniform is found
2023-02-07 22:19:53 +00:00
Alexei Kotov
9f28a26b25
Read NiSequence/NiControllerSequence
2023-02-08 01:03:11 +03:00
psi29a
944931c9bf
Merge branch 'load_esm4_lights' into 'master'
...
Adds ESM4 light into ESM4 Cells
See merge request OpenMW/openmw!2692
2023-02-07 16:50:10 +00:00
florent.teppe
486d15b19e
moved light common to its own file
...
moved esm4light to it's own file
2023-02-07 16:29:17 +01:00
florent.teppe
dc961e3189
Adds the light into the scene.
...
Common struct for ESM3 and ESM4 light
2023-02-07 10:07:59 +01:00
elsid
627bed09ee
Remove redundant operator<< overloads from Log
2023-02-06 21:18:35 +01:00
psi29a
a0795ba7ae
Merge branch 'launch_fix' into 'master'
...
Fix some non-ASCII path issues
Closes #6817
See merge request OpenMW/openmw!2686
2023-02-06 19:50:30 +00:00
florent.teppe
a71a86e64a
Load light models in the engine. Doesn't emit light
2023-02-06 20:22:17 +01:00
psi29a
15b3af92df
Merge branch 'macos_lua_fix' into 'master'
...
make sure lua works with macos packages
See merge request OpenMW/openmw!2687
2023-02-06 18:53:19 +00:00
psi29a
4f001d8736
Merge branch 'qt6' into 'master'
...
Add an initial Qt6 support
See merge request OpenMW/openmw!2684
2023-02-06 16:55:20 +00:00
Andrei Kortunov
7e2aedf637
Add an initial Qt6 support
2023-02-06 18:38:59 +04:00
Bret Curtis
a708fb4a5c
make sure lua works with macos packages
2023-02-06 14:35:22 +01:00
Andrei Kortunov
8925f854e7
Fix non-ASCII path logging
2023-02-06 15:12:24 +04:00
Andrei Kortunov
5836d27928
Fix ContentSelector usage with non-ASCII paths
2023-02-06 13:36:02 +04:00
psi29a
4032c447e9
Merge branch 'load-ESM4-Cell' into 'master'
...
Can load and coc into an interrior oblivion cell
See merge request OpenMW/openmw!2647
2023-02-06 08:56:23 +00:00
glassmancody.info
e778ffee9b
po2 scaling for average luminance
2023-02-05 12:30:38 -08:00
elsid
e92ada09af
Replace QRegExp by QRegularExpression
2023-02-05 13:30:26 +01:00
AnyOldName3
80d6f6bc97
Add line break that clang-format wanted
2023-02-05 02:07:00 +00:00
AnyOldName3
0edc8fc77d
Don't use FFP-friendly texture image units for shadow maps
...
This more-or-less gets rid of the shadow system's only depencency on FFP
stuff. All that remains is it using OSG cameras, which OSG provides a
uniform-based implementation of, too, which we can trivially migrate to.
This should mean we're not eating any of the ~8 FPP-friendly texture
units, which is good as Morrowind models can use all of those on their
(although they very rarely do), and instead use some of the ~160
shader-only texture image units. This just requires not calling
glEnable(GL_TEXTURE_2D), accomplished by changing
setTextureAttributeAndModes to setTextureAttribute.
Also changes from using glTexGen and its eye plane matrices to pass the
shadow space matrix for each light to explicit uniforms. Thankfully, the
maths was a simple combination of the valid region matrix and eye plane
matrix maths.
As of this commit, I believe this kills shadows in one eye for stereo
rendering.
2023-02-05 00:40:33 +00:00
psi29a
aee7716c3a
Merge branch 'launcher_typed_settings' into 'master'
...
Typed launcher settings
See merge request OpenMW/openmw!2650
2023-02-04 23:41:59 +00:00
florent.teppe
084207af64
Avoids a lot a special cases for ESM3 vs ESM4 cells.
2023-02-04 23:25:06 +01:00
florent.teppe
1caed2de2a
Applies some review comments.
...
Proper visit for ESM::CellVariant
Fixed MWWorldCell constructor
2023-02-04 17:09:54 +01:00
elsid
f1dbd9b959
Fix -Wduplicated-branches warnings
2023-02-04 00:10:30 +01:00
elsid
c79c14da91
Fix -Wnon-virtual-dtor warnings
2023-02-03 23:00:09 +01:00
psi29a
00978ed7a4
Merge branch 'wherefore_art_thou_horatius' into 'master'
...
Fix global variable replacement in dialogue
Closes #7197
See merge request OpenMW/openmw!2675
2023-02-01 23:38:32 +00:00
psi29a
68b3b90255
Merge branch 'ui_content_leak' into 'master'
...
Move implementation of UI Content to Lua (#7155 )
See merge request OpenMW/openmw!2661
2023-02-01 22:51:47 +00:00
Evil Eye
8d2b5ed8ee
Combine initializer_lists
2023-02-01 22:27:22 +01:00
Evil Eye
d3bc79e9b2
Reduce code duplication
2023-02-01 21:57:50 +01:00
Evil Eye
32ac7406ab
Fix global variable replacement in dialogue
2023-02-01 17:49:11 +01:00
Evil Eye
571e11cd42
Restore 0936d716d96cd45b3efc2d1a3697614f7f96952d
2023-02-01 17:26:39 +01:00
uramer
e96681151c
Get rid of the LuaUI::Content namespace
2023-02-01 17:18:50 +01:00
uramer
d24c506b0e
Move metatable protection asserts to tests
2023-02-01 16:34:32 +01:00
uramer
2a35bae655
Use range_error for invalid indexes
2023-02-01 16:24:58 +01:00
uramer
fb0646dda1
Remove Ui Content counter in Lua profiler
2023-01-31 19:52:28 +01:00
uramer
bbbef96087
Switch to loadInternalLib
2023-01-31 19:50:33 +01:00
uramer
c7b0c0a406
Protecd UI Content's metatable
2023-01-30 23:22:18 +01:00
florent.teppe
4e7cde5d72
applied some review changes.
...
crashfix tests
2023-01-30 20:49:34 +01:00
psi29a
92f88c16a9
Merge branch 'remove-strerror' into 'master'
...
Remove strerror usages
Closes #7151
See merge request OpenMW/openmw!2664
2023-01-30 17:09:39 +00:00
psi29a
bc90636316
Merge branch 'fix-7117' into 'master'
...
Replace boost::scoped_array with std::vector
Closes #7117
See merge request OpenMW/openmw!2662
2023-01-30 14:12:04 +00:00
psi29a
ef0a81e811
Merge branch 'integration_tests_crash_log' into 'master'
...
Use proper log paths and print crash log in integration tests CI job
See merge request OpenMW/openmw!2668
2023-01-30 12:12:21 +00:00
Petr Mikheev
3096111abb
Merge branch 'docs_fixes' into 'master'
...
Documentation and API fixes (part of !2529 )
See merge request OpenMW/openmw!2649
2023-01-30 10:13:26 +00:00
uramer
c17eedd348
Documentation and API fixes (part of !2529 )
2023-01-30 10:13:26 +00:00
elsid
c44bc5ade5
Setup logging with properly initialized configuration manager
...
Default constructed instance may provide different paths from initialized one.
2023-01-30 09:30:55 +01:00
elsid
007ad4e4d1
Write crash log to temporary directory
...
To make sure current user has rights to do so.
2023-01-30 09:30:55 +01:00
Andrzej Głuszak
9b0a499b58
Remove strerror usages
2023-01-29 22:41:59 +01:00
Andrzej Głuszak
c9e5f0208d
Replace boost::scoped_array with std::vector
2023-01-29 20:40:07 +01:00
uramer
259f104311
Clean up
2023-01-29 19:40:13 +01:00
uramer
749c89e26e
Add missing to_string
2023-01-29 19:28:54 +01:00
uramer
3618b3f409
Fix Content::View::remove
2023-01-29 18:52:18 +01:00
uramer
fc1430af95
Move implementation of UI Content to Lua
2023-01-29 17:07:38 +01:00
psi29a
3a9a60a453
Merge branch 'esmtool_esm4_globals' into 'master'
...
Support more fields in esmtool for ESM4
See merge request OpenMW/openmw!2659
2023-01-29 11:30:01 +00:00
florent.teppe
ebfee18e35
implements std::visit for CellVariant, fixes struct vs class forward decl
2023-01-29 11:28:39 +01:00
florent.teppe
aa29f86efe
fixed struct vs class.
2023-01-29 10:59:39 +01:00
elsid
d541436b15
Support parent, type and value fields in esmtool for ESM4
2023-01-29 03:02:00 +01:00
elsid
e7acced5e9
Move metafunctions to check ESM4 field existence to a separate header
2023-01-29 03:00:48 +01:00
elsid
5bb088218e
Restore original formId
...
To make sure esmtool prints original value and not a result of conversion.
2023-01-29 02:35:06 +01:00
florent.teppe
f9da66e9ee
Greatly improved how the variant on MWWorld::CellRef works
2023-01-28 18:57:55 +01:00
florent.teppe
216ca71149
Applied review comments
...
getEditorName => getNameId
restored cosntructor in CoordinateConverter
2023-01-28 12:14:00 +01:00
florent.teppe
e6e27413d9
gives MWWorld::CellRef the MWWorld::Cell treatment
...
MWWorld::CellRef now has a variant, and datas that are part of the intersection of both ESM4::Reference and ESM::CellRef are part of MWWorld::CellRef
For ESM4 most data isn't filled in, so it returns default values.
2023-01-27 19:40:45 +01:00
elsid
8be2fc9fd7
Stop updating navmeshtool progress on first bad message
2023-01-27 19:10:53 +01:00
florent.teppe
23614ae2ae
Renamed esm3esm4bridge => esmbridge
2023-01-27 18:40:15 +01:00
florent.teppe
5037dcf9bc
Fixes a crash on launch and some compile issue
...
also uses std::visit in cellstore comparison to avoid missing combinasion
split loadrefs in loadref of ESM4 and ESM3.
2023-01-27 16:41:00 +01:00
florent.teppe
cb8cdd8831
ESM::CellVariant aans MWWorld:Cell now take reference in constructor: signals that nullptr isn't accepted.
...
also applied other review comments.
2023-01-27 14:07:50 +01:00
florent.teppe
531e55e04c
Better handling of the esm3 vs esm4 cell problem
...
Common attribute are in one structure that has two constructors, one for ESM3 vs ESM4 Cell
Mood part of MWWorld::Cell
2023-01-27 13:39:39 +01:00
elsid
cf75363290
Typed launcher settings
...
QMultiMap is not clear about what settings exist and it's not efficient way to
access them after they are loaded.
2023-01-27 12:42:05 +01:00
elsid
0961720835
Join path components using path::operator/ instead of string::operator+
2023-01-27 01:07:15 +01:00
florent.teppe
3515c8e61a
Static references are created as refcells, nothing displayed yet.
2023-01-26 22:37:32 +01:00
florent.teppe
c896a2ca48
Crashfix on launch
2023-01-26 22:37:32 +01:00
florent.teppe
0018bcf7de
Should make cellvariant safer to use.
...
Hopefully clang tidy agrees.
2023-01-26 22:37:32 +01:00
florent.teppe
e81e278363
Implements some cell params + linux compile fix
2023-01-26 22:37:31 +01:00
florent.teppe
562e129bd0
encapsulations of esm3 cell and esm4 cells.
2023-01-26 22:37:31 +01:00
florent.teppe
08b68fcd48
Cannot load a cell yet, but getting more necessary parts in
2023-01-26 22:36:11 +01:00
Evil Eye
d40a9ec5bc
Use worldspace coords in AiWanderStorage
2023-01-23 21:06:50 +01:00
psi29a
1422053fa9
Merge branch 'more_uniforms' into 'master'
...
[Postprocessing] Add sky and ambient colors
See merge request OpenMW/openmw!2638
2023-01-21 22:42:21 +00:00
psi29a
eb853b1315
Merge branch 'ptmikheev-master-patch-34687' into 'master'
...
Fix constexprant
See merge request OpenMW/openmw!2643
2023-01-21 22:42:03 +00:00
Petr Mikheev
24ef6d29d4
Fix constexprant
2023-01-21 21:58:17 +00:00
florent.teppe
a4137e941c
std::string_view can be used in map and unordered map
...
This avoids some unecessary dynamic allocations.
Also applies some review advice.
2023-01-21 19:19:26 +01:00
florent.teppe
63e44eddc9
Navigator doesn't use RefId anymore
2023-01-21 18:39:57 +01:00
florent.teppe
150e2ba885
Revert "Use ESM::RefId for worldspace in detournavigator"
...
This reverts commit b4ab153418
.
# Conflicts:
# apps/navmeshtool/worldspacedata.cpp
2023-01-21 18:39:57 +01:00
florent.teppe
3780033837
Reverts Cell name to a string
2023-01-21 18:39:42 +01:00
glassmancody.info
564c408663
expose more uniforms to postprocessing
2023-01-20 17:43:54 -08:00
Petr Mikheev
95999afefd
Apply clang-format to the previous commit
2023-01-20 23:44:12 +01:00
Petr Mikheev
ca48b778c3
Merge branch 'addutils' into 'master'
...
Add remap and round to lua utils
See merge request OpenMW/openmw!2605
2023-01-20 22:28:34 +00:00
Kindi
07da7eddea
Add remap and round to lua utils
2023-01-20 22:28:34 +00:00
elsid
dd89403df0
Move ensureUtf8Encoding to named namespace
...
To follow https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#sf21-dont-use-an-unnamed-anonymous-namespace-in-a-header
Add QtGlobal include to define QT_VERSION and QT_VERSION_CHECK macroses before
they're used.
2023-01-18 22:58:35 +01:00
psi29a
ee980721b8
Merge branch 'debug_lua_memory' into 'master'
...
Additional information in Lua profiler
See merge request OpenMW/openmw!2612
2023-01-18 14:33:05 +00:00
psi29a
fbeacc1e0f
Merge branch 'navigator_check_agent_bounds' into 'master'
...
Check agent bounds on adding agent to navigator
See merge request OpenMW/openmw!2629
2023-01-18 14:31:22 +00:00
psi29a
54c18ea86d
Merge branch 'change-const-to-constexpr' into 'master'
...
change const to constexpr
Closes #6797
See merge request OpenMW/openmw!2630
2023-01-18 14:30:36 +00:00
elsid
cf1d8544e3
Check agent bounds on adding agent to navigator
...
Do not add agent bounds which are not supported by recastnavigation with given
settings and log such events.
To avoid reaching navmesh tile generation to find out it can't be generated for
such agent bounds.
2023-01-18 12:00:48 +01:00
James-Deciutiis
4e61fec14d
change const to constexpr
2023-01-17 19:31:52 -08:00
Andrei Kortunov
ee9ab8d393
Use STL-style iterators instead of Java-style ones
2023-01-15 20:23:18 +04:00
Andrei Kortunov
792feae39e
Do not use deprecated implicit conversion
2023-01-15 20:23:18 +04:00
Andrei Kortunov
0864d997d0
Add missing includes
2023-01-15 20:09:56 +04:00
psi29a
a7a89ba7c1
Merge branch 'launcher' into 'master'
...
Rework how OpenMW launcher looks
Closes #6922
See merge request OpenMW/openmw!2587
2023-01-15 16:00:59 +00:00
psi29a
dc3ec1a0a0
Merge branch 'mwscript' into 'master'
...
Multiple mwscript optimizations and some refactoring
See merge request OpenMW/openmw!2600
2023-01-15 15:59:30 +00:00
psi29a
32733d23fa
Merge branch 'xanim' into 'master'
...
X-file handling fixes (bug #5371 )
Closes #5371
See merge request OpenMW/openmw!2614
2023-01-15 15:57:27 +00:00
Andrei Kortunov
902c48d1bb
Rework launcher UI
2023-01-15 12:36:08 +04:00
elsid
44429f0393
Limit NavMeshManager update range by player tile and max tiles
...
Object AABB may be much larger than area currently covered by navmesh. In this
case all tiles beyond covered range should be ignored. Attempt to iterate over
them will not result in any new tile updates but can take quite a while. At
maximum this can be pow(INT_MAX - INT_MIN, 2) iterations.
Use arbitrary time limit to check for update call to finish in the test.
2023-01-15 04:46:29 +01:00
Alexei Kotov
6ff9b5d326
Make use of ends_with for KF
2023-01-15 01:48:06 +03:00
Alexei Kotov
434b4deda1
Don't use xkf if xnif is merely the base model (bug #5371 )
2023-01-14 04:55:12 +03:00
Alexei Kotov
4d0788e016
Use xnif if its xkf is present even if xnif isn't
2023-01-14 03:35:50 +03:00
elsid
d4ab1101eb
Change Interpreter type aliases to be fixed size types
...
Remove no longer relevant comment for float type.
2023-01-14 00:09:01 +01:00
elsid
b88f0d2dbd
Replace mwscript program serialization into a vector with simple struct
...
Mostly to avoid string literal lookup by index with iteration over all preciding
literals and calling strlen. This is very inefficient. In genral this makes code
much more straightforward but also makes it portable since now int and float of
different sizes are properly supported.
2023-01-14 00:07:37 +01:00
Petr Mikheev
d9e9db0983
Additional information in Lua profiler
2023-01-13 21:14:23 +01:00