jvoisin
2c3c603be2
Sprinkle some const in components/to_utf8
2021-06-22 12:52:29 +02:00
jvoisin
aec3c74fa5
Sprinkle some [[noreturn]] where possible
2021-06-22 12:51:08 +02:00
jvoisin
17e0c75d30
Some more constexpr in esm/variant.cpp
2021-06-22 12:49:09 +02:00
jvoisin
6140c9c3fd
Don't catch exceptions in EsmReader::getExact
2021-06-21 20:06:45 +00:00
jvoisin
cff11fbca9
Inline a couple of methods in esmreader.cpp
2021-06-21 14:22:26 +02:00
Evil Eye
67c8d73fe0
Allow scripts to fail per target
2021-06-19 19:26:55 +02:00
Evil Eye
c1177d7ffe
Allow unquoted string arguments to start with . and -
2021-06-19 11:21:37 +02:00
psi29a
afda721d4b
Merge branch 'race_floats' into 'master'
...
Display Race record height/weight as a float
See merge request OpenMW/openmw!880
2021-06-19 00:29:21 +00:00
psi29a
a6b695e15b
Merge branch 'esmcleanup' into 'master'
...
More ESM cleanup
See merge request OpenMW/openmw!903
2021-06-19 00:23:52 +00:00
psi29a
f66196588c
Merge branch 'object_paging_min_size_combo_box' into 'master'
...
Adding Object Paging Min Size combo box to Advanced -> Visuals
See merge request OpenMW/openmw!917
2021-06-19 00:20:29 +00:00
psi29a
7b6fc1a1f1
Merge branch 'name_shaders' into 'master'
...
Append filename to shader names
See merge request OpenMW/openmw!930
2021-06-19 00:16:36 +00:00
jvoisin
22153cca7b
Reduce a bit the code bloat in hot paths/small functions
...
There is no need to bloat hot/small functions with
a ton of function calls and involving locales
for simple error messages.
2021-06-15 17:57:14 +02:00
Bret Curtis
868a5b35e3
workaround shadow issue on macOS, https://gitlab.com/OpenMW/openmw/-/issues/6057
2021-06-12 00:10:55 +02:00
glassmancody.info
bb834fb44e
append filename to shader names
2021-06-05 18:21:03 -07:00
jvoisin
7f4f2c042e
Use sizeof(GLfloat) instead of sizeof(GL_FLOAT)
...
GL_FLOAT is an enum, with the value 0x1406, while GLFloat is the actual type.
Source: https://www.khronos.org/opengl/wiki/OpenGL_Type
2021-06-04 23:21:26 +02:00
Thunderforge
89950e5528
Preventing type conversion of double to float for objectPagingMinSize
2021-05-29 16:27:23 -05:00
elsid
d4f28ac979
Avoid resetting buffer object when configuring light buffer layout
...
Otherwise this casues RaceSelectionPreview to have no light until first change.
2021-05-28 10:46:42 +02:00
psi29a
9dfba37ce9
Merge branch 'fix_big_object_navmesh_update' into 'master'
...
Fix overwhelming recast mesh and navmesh updates for big rotating objects (#6060 )
Closes #6060
See merge request OpenMW/openmw!911
2021-05-27 21:08:33 +00:00
elsid
4a6961b365
Trigger navmesh update on moved player only when player tile has been changed
2021-05-27 16:52:42 +02:00
elsid
ed91cf9397
Replace unordered_map by map for storing objects
...
For small amount of items it gives better performance for find by key
for update.
2021-05-27 16:38:40 +02:00
elsid
22c2f106b7
Store object tiles position as sorted vector instead of set
2021-05-27 16:00:31 +02:00
elsid
f4f9fa4701
Limit oscillating recast mesh object AABB by tile bounds
...
AABB change outside recast mesh tile should not affect navmesh for this tile.
2021-05-27 12:40:29 +02:00
elsid
d122e184cc
Report navmesh change for not posted tiles
...
Corresponding recast mesh tiles can be updated but navmesh tiles may never
appear for them. Report back zero navmesh version to allow oscillating recast
objects detection to work. This version is always less than any generated
navmesh tile version so any report for generated navmesh will override it.
If zero navmesh version is reported after recast mesh tile got report about
generated navmesh tile it is a no-op since generated version is always greater
than zero.
2021-05-27 12:40:00 +02:00
elsid
3915e5d2cc
Always center loading screen progress bar by height when there is active message box
...
To fix all possible situations when active message box overlaps with loading
screen progress.
The only used condition to center loading screen progress by height is
number of message boxes > 0. No need to pass it through interface.
LoadingScreen can check it inside setLabel function.
2021-05-26 23:29:37 +02:00
Alexei Dobrohotov
6a7bc208de
Merge branch 'dont_assign' into 'master'
...
Don't assign a variable passed by value
See merge request OpenMW/openmw!897
2021-05-23 22:51:42 +00:00
Dobrohotov Alexei
e68a454fd8
More ESM cleanup
2021-05-23 16:02:05 +03:00
jvoisin
e51669c05d
Don't assign a variable passed by value
2021-05-21 18:15:31 +02:00
CedricMocquillon
86d137363e
Check if the archive is opened before adding a file to it and clear state on close
2021-05-20 21:28:52 +02:00
CedricMocquillon
b61249841e
Update lookup only after sorting files
2021-05-19 18:38:42 +02:00
psi29a
c4fde03542
Merge branch 'ObjectPagingMergeIssue' into 'master'
...
Share state
See merge request OpenMW/openmw!879
2021-05-19 05:08:12 +00:00
Alexei Dobrohotov
fea5c0ac1a
Merge branch 'armour_error_fix' into 'master'
...
Fixed data subrecord name for Armour record used in error
See merge request OpenMW/openmw!882
2021-05-18 22:02:30 +00:00
CedricMocquillon
d11a6bd92c
Share state
2021-05-18 17:57:47 +02:00
Bret Curtis
523edd0723
Merge pull request #3093 from akortunov/light_crash
...
Fix crashes on exit in LightManager
2021-05-18 10:47:36 +02:00
psi29a
e73c0f92b8
Merge branch 'fix_present_tile_crash' into 'master'
...
Add missing synchronization for present tiles modification
See merge request OpenMW/openmw!878
2021-05-18 08:13:25 +00:00
psi29a
4bc7012104
Merge branch 'pack-default-settings' into 'master'
...
Pack default settings
Closes #5925
See merge request OpenMW/openmw!822
2021-05-18 08:11:13 +00:00
AnyOldName3
4cedb3549b
Decode base64-packed settings files
2021-05-17 23:39:56 +01:00
Benjamin Winger
21f04f0d0f
Fixed data subrecord name for Armour record used in error
2021-05-17 18:36:59 -04:00
Benjamin Winger
41cfcfdc0f
Display Race record height/weight as a float
2021-05-17 18:33:02 -04:00
AnyOldName3
081650a2e5
Integrate Base64 library with build
2021-05-17 23:00:23 +01:00
elsid
a73ffc25c3
Add missing synchronization for present tiles modification
...
insert/erase can be done from multiple threads simultaneously. mMutex is
already used to synchronize reads so use it for writes too.
2021-05-17 17:44:31 +02:00
psi29a
f1f1703441
Merge branch 'fix_navmesh_wait' into 'master'
...
Fix redundant waiting until navmesh is generated
See merge request OpenMW/openmw!861
2021-05-17 10:54:23 +00:00
Andrei Kortunov
11c57978b6
Fix crashes on exit in the LightManager (bug #6044 )
2021-05-17 13:01:15 +04:00
Andrei Kortunov
c54ef55ebb
Revert "Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing"
...
This reverts commit 5373cf1cd5
.
2021-05-17 12:40:55 +04:00
elsid
d520b440aa
Copy LightBuffer data into a new object when changing layout
...
Before this change LightBuffer copy constructor copied only mData pointer into
a new object. Then memcpy was applied to an overlapping source and destination
that is UB.
Replace configureLayout function by a special constructor. That copies all
mData values and a pointer to a buffer object into a newly allocated object.
2021-05-16 22:37:31 +02:00
Bret Curtis
fef9e91510
Merge pull request #3090 from akortunov/warnfix
...
Fix warning in assert - size_t can not be negative
2021-05-16 20:25:46 +02:00
Andrei Kortunov
e38063dcdb
Discard button press events during save loading (bug #5619 )
2021-05-16 16:04:28 +04:00
elsid
1e2aae8095
Use stable sort+unique to collect RefIDs for ESMStore records counting
...
The idea is to avoid std::map lookup for each CellRef. Instead generate a
sequence of added and removed RefNums into a vector then order them by RefNum
using a stable sort that preserves relative order of elements with the same
RefNum. RefIDs are stored in a different vector to avoid std::string move ctor
calls when swapping elements while sorting. Reversed iteration over added and
removed RefNums for each unique RefNum is an equivalent to what map-based
algorithm produces. The main benefit from sorting a vector is a data locality
that means less cache misses for each access. Reduces ESMStore::countRecords
perf cycles by 25%.
2021-05-15 18:45:22 +02:00
Andrei Kortunov
b717103fe0
Fix warning in assert - size_t can not be negative
2021-05-15 19:56:14 +04:00
elsid
5373cf1cd5
Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing
...
When game exit is requests when initial loading screen is active LightManager
can be destructed in the main thread before LightManagerStateAttribute::apply
is completed by different thread. Given that it uses raw pointer at some point
it becomes dangling because object is destructed this leads to UB and eventual
SIGSEGV.
2021-05-15 15:23:28 +02:00
elsid
eeba92d48b
Merge branch 'includes_detournavigator' into 'master'
...
Remove some superfluous includes in components/detournavigator
See merge request OpenMW/openmw!860
2021-05-14 21:09:22 +00:00
elsid
59f89d22f8
Apply min distance only for not present tiles
...
To avoid waiting when navmesh update is triggered by transformed object for
already present tiles.
2021-05-14 22:41:11 +02:00
elsid
d0ea9c482a
Reorder async navmesh updater jobs when player tile changes
...
When player tile changes distance to player that is part of jobs priority is
invalidated. So jobs are no longer in the right order. This can lead to
processing of farests tiles first.
Sort queue each time player tile is changed.
2021-05-14 22:41:05 +02:00
Bret Curtis
66a527c3de
Merge pull request #3075 from akortunov/warnfix
...
Fix MSVC's C4244 and C4267 warnings
2021-05-14 21:28:56 +02:00
jvoisin
28d5e5e8be
Remove some superfluous includes in components/detournavigator
2021-05-14 20:45:59 +02:00
glassmancody.info
4bbbbb00f6
use particle data for particle system quota
2021-05-14 10:52:19 -07:00
psi29a
d843ec321e
Merge branch 'DoNotSearchTwice' into 'master'
...
Search only in the niffilemanager for nif files
See merge request OpenMW/openmw!823
2021-05-13 17:11:57 +00:00
psi29a
fd89582e0c
Merge branch 'navmesh_wait' into 'master'
...
Wait until navmesh is generated within given distance around player (#5500 )
Closes #5500
See merge request OpenMW/openmw!819
2021-05-13 16:56:39 +00:00
Petr Mikheev
4a7147e222
Merge branch 'constexpr_esm' into 'master'
...
Use a constexpr for esm cc
See merge request OpenMW/openmw!849
2021-05-13 13:30:01 +00:00
jvoisin
bcd8190516
Fix a crash in aipackage.cpp
2021-05-13 14:19:12 +02:00
jvoisin
89f721fad3
Use a constexpr for esm cc
2021-05-12 22:35:00 +02:00
Andrei Kortunov
963e1b8b3f
Fix MSVC's C4244 warnings
2021-05-12 10:34:40 +04:00
Andrei Kortunov
f9d42ed396
Fix MSVC's C4267 warnings
2021-05-12 10:34:39 +04:00
Andrei Kortunov
54c8375672
Recreate a special case for IntersectionVisitor on QuadTreeWorld
2021-05-11 16:34:02 +04:00
Bret Curtis
340801e08b
Merge pull request #3084 from akortunov/master
...
Return check for distance when we try to reuse data
2021-05-11 11:30:23 +02:00
psi29a
f7b8c817f8
Merge branch 'performance-faster-string-find' into 'master'
...
Fixing performance-faster-string-find issues
See merge request OpenMW/openmw!842
2021-05-11 08:42:01 +00:00
Andrei Kortunov
3e281f625d
Return check for distance when we try to reuse data (bug #6026 )
2021-05-11 09:36:46 +04:00
Thunderforge
339d347aea
Fixing performance-faster-string-find issues
...
This addresses the Clang Tidy check [performance-faster-string-find](https://clang.llvm.org/extra/clang-tidy/checks/performance-faster-string-find.html ).
2021-05-10 22:44:07 -05:00
Bret Curtis
f84e9f5fb9
Merge pull request #3082 from akortunov/warnfix2
...
Add new scene nodes to scene graph serializer blacklist
2021-05-10 09:21:42 +02:00
AnyOldName3
09f39b29f0
Load defaults.bin instead of settings-default.cfg. Do not decode yet.
2021-05-09 21:14:06 +01:00
AnyOldName3
92325976e9
Update documentation to refer to defaults.bin
2021-05-09 21:13:34 +01:00
Petr Mikheev
e65b285f06
Merge branch 'use_min' into 'master'
...
Use existing min implementation
See merge request OpenMW/openmw!828
2021-05-09 13:05:39 +00:00
elsid
b806445a36
Use existing min implementation
2021-05-09 13:58:05 +02:00
Frederic Chardon
caf382c19f
Merge branch 'barrier' into 'master'
...
Do not store callback inside Misc::Barrier
See merge request OpenMW/openmw!821
2021-05-07 22:21:44 +00:00
Andrei Kortunov
2e8873af51
Add new scene nodes to scene graph serializer blacklist
2021-05-07 19:27:23 +04:00
psi29a
08e1a8e0fb
Merge branch 'esm_opti' into 'master'
...
Teensy optimisation for esmtool
See merge request OpenMW/openmw!826
2021-05-07 14:21:37 +00:00
jvoisin
8a56ba6aaa
Fix compilation
2021-05-07 13:58:30 +02:00
elsid
fbeccc2908
Apply 1 suggestion(s) to 1 file(s)
2021-05-07 09:28:47 +00:00
Bret Curtis
e720a56030
Merge pull request #3080 from akortunov/fix_ci
...
Add missing include for std::inserter
2021-05-07 11:18:33 +02:00
Andrei Kortunov
8d4a374516
Add missing include for std::inserter
2021-05-07 11:30:10 +04:00
psi29a
6263ade01a
Merge branch 'esmcleanup' into 'master'
...
Minor ESM code cleanup
See merge request OpenMW/openmw!825
2021-05-07 06:47:45 +00:00
jvoisin
e97e4d07dd
Teensy optimisation for esmtool
...
- Use an unordered_set instead of a list to
keep track of skipped records.
- Reduce the number of conditions when parsing 4-letters
records by using a switch-case instead of cascading conditions.
- Add a const
2021-05-06 22:41:20 +02:00
CedricMocquillon
a885134868
Do not search if it is not used
2021-05-06 13:28:06 +02:00
elsid
626e032931
Do not store callback inside Misc::Barrier
...
The only wait method can be provided with it so pass it as a template
parameter there.
2021-05-05 23:42:47 +02:00
CedricMocquillon
813b8ee0d1
Search only in the niffilemanager for nif files
2021-05-05 23:19:08 +02:00
CedricMocquillon
e378159ea8
Use O(log(n)) search instead of O(n)
2021-05-05 23:10:24 +02:00
Dobrohotov Alexei
57c372a50e
ESM code cleanup
2021-05-05 22:23:06 +03:00
elsid
7a51d0db18
Wait until navmesh is generated within given distance around player
...
Add a setting to change this distance.
To prevent situations when there is not enough navmesh generated and actors
can't find path correctly.
2021-05-05 19:44:16 +02:00
elsid
f169f8e6f0
Wait until navmesh is generated for interior cells
...
Add special loading progress bar.
It should be fast enough to not keep loading screen for noticably long but
will provide better pathfinding for actors inside interior cells.
2021-05-05 19:27:49 +02:00
psi29a
110001d47f
Merge branch 'nullroots' into 'master'
...
Improve null root handling
Closes #5963
See merge request OpenMW/openmw!818
2021-05-05 07:24:43 +00:00
Dobrohotov Alexei
19f0b80983
Improve null root handling
2021-05-05 02:41:30 +03:00
psi29a
6513c38875
Merge branch 'clean_navigator' into 'master'
...
Remove redundant and useless code from navigator
See merge request OpenMW/openmw!815
2021-05-04 21:57:16 +00:00
psi29a
e94181b2b2
Merge branch 'constexpr' into 'master'
...
Sprinkle a couple of constexpr found by VS
See merge request OpenMW/openmw!800
(cherry picked from commit 5e8ea624bc85acebf457592dd10b790124ecf6ef)
5704b2ac Sprinkle a couple of constexpr found by VS
2021-05-04 21:09:20 +00:00
psi29a
e6b097085b
Merge branch 'const_ref' into 'master'
...
Sprinkle some const-ref to avoid unnecessary copies
See merge request OpenMW/openmw!803
2021-05-04 21:02:14 +00:00
elsid
87ada56edd
Various fixes for niftest
2021-05-04 20:58:01 +00:00
elsid
865ef56a09
Replace include by RecastMesh forward declaration
...
To reduce dependency between navigator interface and implementation.
2021-05-04 13:00:06 +02:00
elsid
ec87b3f8f7
Remove redundant ChunkyTriMesh
...
This AABB tree required when need to filter out input mesh that has not
influence navmesh tile output. This filtering is already done before. Each
recast mesh corresponds to a single navmesh tile and has appropriate bounds.
2021-05-04 13:00:06 +02:00
elsid
bce06df254
Add missing array header
2021-05-04 13:00:06 +02:00
elsid
22aebcea74
Remove useless rcMarkWalkableTriangles call
...
It fills areas.data with walkable triangles but right after it's overwritten
and rcClearUnwalkableTriangles is called instead that fills areas.data with
unwalkable triangles.
2021-05-04 02:23:07 +02:00
Gleb Mazovetskiy
e3a6cb1695
Remove OsIdentity.cmake
...
Removes the OsIdentity.cmake file and uses a cross-compilation friendly
and OS-independent method of detecting system double-precision bullet
instead.
2021-05-03 00:08:47 +01:00
psi29a
7f7041656d
Merge branch 'enforce_double_bullet' into 'master'
...
Remove support for single-precision Bullet, fail during configuration instead of during linking (#5980 )
See merge request OpenMW/openmw!806
2021-05-02 20:52:57 +00:00
fredzio
6fd04cb8f6
Remove support for single-precision Bullet, fail during configuration instead of during linking.
2021-05-02 17:48:50 +02:00
jvoisin
d4d111a709
Don't use std::move on const
2021-05-02 15:50:44 +02:00
jvoisin
d45184a730
Sprinkle some const-ref to avoid unnecessary copies
2021-05-02 14:43:46 +02:00
jvoisin
813969a46e
Fix an off-by-one in windows_crashcatcher.cpp
2021-05-02 11:21:54 +00:00
Chris Djali
f0cef87cd8
Merge pull request #3069 from akortunov/msvc_warnings
...
Rework warnings settings
2021-05-01 19:03:43 +01:00
psi29a
0e50349192
Merge branch 'uvcontroller' into 'master'
...
Fix NiUVController UV offset calculations (bug #5995 )
Closes #5995
See merge request OpenMW/openmw!795
2021-04-30 21:27:01 +00:00
Dobrohotov Alexei
971ba81ed2
Use higher level transformations in UVController
2021-04-30 18:28:03 +03:00
Alexei Dobrohotov
e9ff90f3de
Merge branch 'pgrd_overflow' into 'master'
...
Fix a heap overflow in loadpgrd.cpp
See merge request OpenMW/openmw!784
2021-04-30 12:04:41 +00:00
jvoisin
5f65583a3a
Fix a heap overflow in loadpgrd.cpp
2021-04-30 12:04:41 +00:00
Dobrohotov Alexei
24f4bf9c28
Fix NiUVController UV offset calculations (bug #5995 )
2021-04-30 14:38:16 +03:00
Andrei Kortunov
18a4c81b5c
Merge branch 'fix_toggleborders' into 'master'
...
Fix ToggleBorders debug view with 'Shaders' lighting method
See merge request OpenMW/openmw!792
2021-04-30 08:35:58 +00:00
AnyOldName3
ceb6a280ff
Fix typo
...
Hopefully this will actually let us make better use of shadow bounds,
but I wouldn't count on it.
2021-04-29 21:35:31 +00:00
glassmancody.info
9f314d1d6f
Fix ToggleBorders
2021-04-29 12:11:49 -07:00
Roman Siromakha
68ddde84fe
Merge pull request #3074 from akortunov/warnfix
...
Declare separate constructors with const reference and rvalue arguments for OscillatingRecastMeshObject
2021-04-28 17:15:29 +02:00
psi29a
16bb3919d1
Merge branch 'navmesh_cache_simplification' into 'master'
...
Simplify navmesh cache
See merge request OpenMW/openmw!691
2021-04-28 08:01:06 +00:00
Andrei Kortunov
0bc0cfce5f
Declare separate constructors with const reference and rvalue arguments for OscillatingRecastMeshObject
2021-04-28 11:49:57 +04:00
Evil Eye
abb120b439
Don't log a warning for reading to the end of the subrecord
2021-04-27 14:57:07 +02:00
Alexei Dobrohotov
add04a4ea0
Merge branch 'fix_esm' into 'master'
...
Fix a read head-buffer-overflow in esm
See merge request OpenMW/openmw!751
2021-04-25 21:56:52 +00:00
Andrei Kortunov
6d351b2bdd
Fix MSVC 4706 warnings
2021-04-23 22:53:59 +04:00
Andrei Kortunov
2d869ca9ff
Fix node masks signed/unsigned mismatch
2021-04-20 10:52:51 +04:00
Bret Curtis
50d6cd2a34
Merge pull request #3070 from akortunov/coverity
...
Fix an another portion of Coverity warnings
2021-04-20 07:33:03 +02:00
Bret Curtis
c6c92b5712
Merge pull request #3071 from akortunov/master
...
Fix an another batch of MSVC complaints
2021-04-20 07:31:56 +02:00
AnyOldName3
ff46eceabe
Merge branch 'maybe-reintroduce-5904' into 'master'
...
Fix crash on startup
See merge request OpenMW/openmw!709
2021-04-19 19:31:21 +00:00
Andrei Kortunov
d10399e083
Cast double constant to float explicitely
2021-04-19 17:08:03 +04:00
Andrei Kortunov
7d5c5f8a24
Do not assign negative values to unsigned variables
2021-04-19 16:08:19 +04:00
Andrei Kortunov
9647b670e4
Do not declare unused variables
2021-04-19 15:43:00 +04:00
Andrei Kortunov
2009916dd8
Fix dead code
2021-04-19 15:38:02 +04:00
Bret Curtis
befa3f587f
Merge pull request #3068 from akortunov/master
...
Clean up MSVC warnings
2021-04-19 09:27:17 +02:00
psi29a
b645c1f4c0
Merge branch 'navmesh_ignore' into 'master'
...
Do not trigger NavMesh update when RecastMesh update should not change NavMesh (#4917 )
See merge request OpenMW/openmw!762
2021-04-18 21:53:43 +00:00
elsid
3e67f5ffa5
Detect and ignore updates for oscillating objects
...
To avoid triggering NavMesh update when RecastMesh change should not change
NavMesh.
Based on the following assumption:
Given a set of transformations and a bounding shape for all these
tranformations, a new object transformation that does not change this
bounding shape also should not change navmesh if for all of this object
transformations resulting navmesh tiles are equivalent
The idea is to report back to RecastMeshManager all changes of NavMesh if there
are any assiciated with RecastMesh version. So we know the last time when
RecastMesh change resulted into the NavMesh change. When later report shows
that there was no NavMesh change for a new RecastMesh version we can assume
that any object transformation within the same bounding box should not change
NavMesh.
2021-04-18 23:00:13 +02:00
elsid
64fb700ae9
Remove unnecessary relation between updateCompoundObject and RecastMeshObject
2021-04-18 23:00:13 +02:00
elsid
629cedb6d0
Do not track last build revision in RecastMeshManger
...
mLastBuildRevision == mRevision with current use cases does not happen. But
even if this will happen when another use case will be added it does not save
much computation. The most expensive operation is not adding objects to the
MeshBuilder but to optimize resulting navmesh that will happen anyway in
MeshBuilder::create call.
2021-04-18 22:59:16 +02:00
psi29a
3423d3f882
Merge branch 'various_warn' into 'master'
...
Fix various warnings found by clang
See merge request OpenMW/openmw!758
2021-04-18 20:04:20 +00:00
elsid
62f32f4543
Do not replace equivalent navmesh tiles
2021-04-18 20:04:41 +02:00
jvoisin
032ba1e9a0
Fix the compilation
2021-04-18 13:26:26 +02:00
Andrei Kortunov
987b231fdd
Fix an another portion of Coverity warnings
2021-04-18 07:09:44 +04:00
jvoisin
c0f7e0d585
Use isnan
2021-04-17 20:58:37 +02:00
jvoisin
38316cdaf8
Fix various warnings found by clang
...
- unused alias
- inefficient use of push_back
- exceptions not inheriting from std::exception
- weird use of a comma
- value compared against itself
2021-04-17 19:06:33 +02:00
psi29a
a69619a1e8
Merge branch 'where_is_my_log' into 'master'
...
Don't clobber game log file when we collect a stack trace.
See merge request OpenMW/openmw!755
2021-04-17 15:55:45 +00:00
jvoisin
a35eae3dd1
Fix a read head-buffer-overflow in esm
...
The check forgot to account for the terminal zero.
2021-04-17 15:36:38 +02:00
fredzio
4058e117ca
Don't clobber game log file when we collect a stack trace.
...
When the crash catcher catch a signal it forks to collect data about its
parent. In the process the child reinitialize the log file, which ends
up empty.
2021-04-17 13:14:01 +02:00
Andrei Kortunov
f308dde254
Clean up MSVC warnings
2021-04-17 12:14:50 +04:00
psi29a
d3c865d909
Merge branch 'fix_bsa' into 'master'
...
Add some validation for bsa parsing
Closes #5955
See merge request OpenMW/openmw!750
2021-04-16 19:53:02 +00:00
psi29a
d0883f9a0d
Merge branch 'light_settings_tweak' into 'master'
...
Lighting patch
Closes #5957 and #5959
See merge request OpenMW/openmw!752
2021-04-16 19:47:26 +00:00
glassmancody.info
16856d45c5
Lighting Patch
...
Fixes build errors with older OSG builds and some issues with 'shared' layout.
Bring back ambient in inventory through lightmodel instead of sun ambient, mirrors scene ambient/sunlight relationship.
Forces shaders when certain lighting methods are enabled and finalize settings.
Correctly override sun for localmap.
2021-04-16 11:55:40 -07:00
Evil Eye
80266d435c
Merge branch 'fix_crash' into 'master'
...
Fix an off-by-one in loadscpt
See merge request OpenMW/openmw!728
2021-04-16 18:02:47 +00:00
jvoisin
47ced7dec4
Add some validation for bsa parsing
...
This should fix #5955
2021-04-16 18:33:12 +02:00
fredzio
16b288f53c
Re-add dropped struct keyword to fix build.
...
rtprio is both a struct and a function, so we need to be explicit.
../../../components/misc/thread.cpp:53:9: error: must use 'struct' tag
to refer to type 'rtprio' in this scope
rtprio prio;
^
struct
/usr/include/sys/rtprio.h:91:5: note: struct 'rtprio' is hidden by a
non-type declaration of 'rtprio' here
int rtprio(int, pid_t, struct rtprio *);
^
1 error generated.
2021-04-16 08:38:11 +02:00
psi29a
c686dd05d0
Merge branch 'thread_idle_priority' into 'master'
...
Set idle priority for navmesh generation thread
See merge request OpenMW/openmw!632
2021-04-15 19:32:23 +00:00
Andrei Kortunov
33b8233887
Validate GUI scaling and place it to the launcher
2021-04-15 15:18:32 +04:00
elsid
ab8d1c02d4
Set idle priority for navmesh generation thread
...
Support Linux, Windows, FreeBSD.
2021-04-14 21:39:06 +02:00
Andrei Kortunov
016a1d45df
Remove outdated field - remnant from earlier implementation
2021-04-14 10:58:44 +04:00
Andrei Kortunov
0c7ddd3938
Remove redundant qualifiers
2021-04-14 09:02:20 +04:00
Andrei Kortunov
ac347810ca
Fix uninitialized field in the mouse event
2021-04-14 08:36:17 +04:00
Andrei Kortunov
bce6effe95
Fix uninitialized variables in the LightManager
2021-04-14 08:20:23 +04:00
Andrei Kortunov
e309f75938
Join variables declaration and usage
2021-04-14 08:07:56 +04:00
Andrei Kortunov
5f6f2c15b1
An another attempt to suppress Coverity warning about mkstemp
2021-04-14 08:07:43 +04:00
Andrei Kortunov
696cf9ab05
Extend variables range to avoid integer overflow
2021-04-14 08:06:22 +04:00
glassmancody.info
531a6e1979
Code review fixes, remove implicit GLSL casts
2021-04-13 11:09:54 -07:00
glassmancody.info
582f7b52cf
Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up
2021-04-13 11:09:52 -07:00
glassmancody.info
92033bca64
Fixed error in calculating viewspace sun dir, minor cleanup
2021-04-13 11:09:49 -07:00
glassmancody.info
9e80091aff
clear up force shaders and make it less convoluted
2021-04-13 11:09:49 -07:00
glassmancody.info
8ce65232ff
fix race condition with sun uniform
2021-04-13 11:09:49 -07:00
glassmancody.info
d4e7d25d14
Make life not suck for whoever wants to edit lighting shaders
2021-04-13 11:09:49 -07:00
glassmancody.info
eecb9886a9
Shader cleanup, fix indicies
2021-04-13 11:09:49 -07:00
glassmancody.info
4ba473b684
Finalize settings, torch fix
2021-04-13 11:09:49 -07:00
glassmancody.info
71c30a31df
in-game settings, some require restart
2021-04-13 11:09:49 -07:00
glassmancody.info
3d713e8602
Fix incorrect minimum ambient
2021-04-13 11:09:49 -07:00
glassmancody.info
280fd2b162
Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up
2021-04-13 11:09:35 -07:00
glassmancody.info
d195602a9d
Switch to shared layout, some rewording
2021-04-13 11:09:35 -07:00
glassmancody.info
690995988b
More formatting, OpenCS cells are unbroken
2021-04-13 11:09:35 -07:00
glassmancody.info
328ec85757
Code review cleanup, add setting documentation
2021-04-13 11:09:35 -07:00
glassmancody.info
05a5cee132
Brighter point lights and light fade
2021-04-13 11:09:35 -07:00
glassmancody.info
7370acdf54
Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up
2021-04-13 11:09:19 -07:00
glassmancody.info
43ac32921c
Rewrite, support different lighting methods
2021-04-13 11:09:19 -07:00
glassmancody.info
9d9074c244
Add shared UBO
2021-04-13 11:07:48 -07:00
glassmancody.info
c5ea966f24
Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up
2021-04-13 11:06:16 -07:00
glassmancody.info
dda735c54a
initial commit
2021-04-13 11:06:16 -07:00
jvoisin
54adb9cbed
Fix an off-by-one in loadscpt
2021-04-12 12:03:20 +02:00
fredzio
fda639eb57
Remove unused forward declarations
2021-04-11 14:46:51 +02:00
psi29a
301411c5c5
Merge branch 'esm_variant' into 'master'
...
Use std::variant for ESM::Variant implementation
See merge request OpenMW/openmw!719
2021-04-10 12:53:11 +00:00
Andrei Kortunov
45b1c68af4
Remove annotation which does not work
2021-04-10 12:32:12 +04:00
Andrei Kortunov
903b89a0ff
Add bound for UI scale factor, as it specified in docs
2021-04-10 11:21:53 +04:00
Andrei Kortunov
124a33d8a3
Fix uninitialized variables
2021-04-10 10:58:00 +04:00
Andrei Kortunov
41c78a889a
Check for decompression error code
2021-04-10 09:35:31 +04:00
elsid
8e1c92d9af
Use std::variant for ESM::Variant implementation
2021-04-08 19:39:31 +02:00
CedricMocquillon
d617d66a87
Add file to BSA
2021-04-08 18:08:28 +02:00
elsid
03fc3ec803
Do not allow write variant of string as local variable
...
To be consitent with read where it's not allowed.
2021-04-04 23:09:27 +02:00
AnyOldName3
168f26fc80
Fix crash on startup
2021-04-04 15:29:08 +00:00
AnyOldName3
c6033b4de6
Fix #5904
2021-03-29 21:00:28 +00:00
Andrei Kortunov
b61337643e
Merge branch 'issue-5680' into 'master'
...
change aim calculation
See merge request OpenMW/openmw!685
2021-03-26 11:43:20 +00:00
Andrei Kortunov
bb9c4d5377
Merge branch 'fix_the_swimmer' into 'master'
...
Fix The Swimmer (#5914 )
See merge request OpenMW/openmw!686
2021-03-26 11:19:57 +00:00
elsid
0c6d72b2d1
Consider first set element as first acquired
2021-03-25 19:28:41 +01:00
elsid
f2ebad5115
Return cached element when set existing
2021-03-25 19:28:41 +01:00
elsid
05d6f6ac25
Use single map for navmesh cache
2021-03-25 19:28:41 +01:00
elsid
b9a40bc5fc
Add NavMeshTilesCache benchmarks
2021-03-25 19:28:41 +01:00
Max
2cd96e56d5
create constant and use constant in other parts of the code base
2021-03-24 14:54:46 -07:00
Andrei Kortunov
cf52bee188
Fix build with OSG 3.4
2021-03-24 16:32:15 +04:00
elsid
39c0ce9ddf
Build limited path for far destinations
...
When distance between start and end point is greater than max radius of area
possibly covered by navmesh there is no way to find path via navmesh. Also if
distance is greater than cell size navmesh might not exists withing mentioned
area because cell is not loaded therefore navmesh is not generated. So minumum
of these values is used to limit max path distance. Assuming that path
actually exists it's possible to build path to the edge of a circle. When
actor reaches initial edge path is built further. However it will not be
optimal.
2021-03-23 23:23:12 +01:00
psi29a
a86b6ff6e2
Merge branch 'nifnifnifnifnif' into 'master'
...
Add in incomplete BSShader[PP/No]LightingProperty work before it rots away
See merge request OpenMW/openmw!681
2021-03-22 21:54:50 +00:00
psi29a
415591b7ed
Merge branch 'ai_reaction_deviation' into 'master'
...
Distribute AI reactions and engage combat calls over time
See merge request OpenMW/openmw!674
2021-03-22 21:37:09 +00:00
Alexei Dobrohotov
2fdbe9b3f6
Handle BSShader[PP/No]LightingProperty
2021-03-22 01:55:58 +03:00
wareya
63f01d8c5f
Prevent physics death spiral by falling back to true delta time when needed
2021-03-21 20:45:46 +00:00
elsid
675c0ab72f
Apply uniform random deviation to AI reaction timer
...
This allows to distribute AI reaction calls over time.
Before this change actors appearing at the same frame will react in the same
frame over and over because AI reaction period is constant. It creates a
non-uniform CPU usage over frames. If a single frame has too many AI reactions
it may cause stuttering when there are too many actors on a scene for current
system.
Another concern is a synchronization of actions between creatures and NPC.
They start to go or hit at the same frame that is unnatural.
2021-03-20 14:47:54 +01:00
Bret Curtis
68c1adec0f
Merge pull request #3055 from akortunov/keyinit
...
Init animation key struct before usage
2021-03-18 12:28:10 +01:00
Andrei Kortunov
a22f6b24d5
Init animation key struct before usage
2021-03-18 11:47:06 +04:00
Alexei Dobrohotov
7acebbd6e8
Merge branch 'no-using-namespace-std' into 'master'
...
Minor cleanup: Remove `using namespace std`
See merge request OpenMW/openmw!664
2021-03-17 16:49:32 +00:00
Gleb Mazovetskiy
b9c2f6ea1a
Minor cleanup: Remove using namespace std
...
I came across these while trying to figure why MSVC build triggers
https://developercommunity.visualstudio.com/t/error-c2872-byte-ambiguous-symbol/93889
In the end, the issue was not in openmw but in OSG, but it's good to
clean up here anyway.
2021-03-16 19:58:02 +00:00
AnyOldName3
ba74fbf30e
Fix MyGUI log
...
Also actually print an error to the regular log when the MyGUI log can't
be opened so we notice if we kill it again in under five years.
2021-03-15 22:35:13 +00:00
AnyOldName3
20852e82b2
Merge branch 'zbuffer' into 'master'
...
NiZBufferProperty: handle depth test flag (bug #5902 )
Closes #5902
See merge request OpenMW/openmw!658
2021-03-15 15:20:50 +00:00
Dobrohotov Alexei
952b31ac5c
NiZBufferProperty: handle depth test flag (bug #5902 )
2021-03-15 13:40:02 +03:00
Bret Curtis
90baf8ad60
Merge pull request #3053 from akortunov/master
...
Add move assignment operator for the ESM::Variant
2021-03-14 22:12:23 +01:00
AnyOldName3
9466d6a409
Hide macro usage from Macs where it isn't defined
2021-03-14 03:42:23 +00:00
Andrei Kortunov
4d48c81998
Add move assignment operator and move constructor for the ESM::Variant
2021-03-13 22:28:13 +04:00
psi29a
cc6f08930b
Merge branch 'alpha-meddling' into 'master'
...
Replace deprecated alpha test in shader visitor
Closes #4899
See merge request OpenMW/openmw!473
2021-03-13 08:13:19 +00:00
AnyOldName3
0431ba4c87
Merge branch 'alpha-meddling-shader-side-mip-meddling' into alpha-meddling
2021-03-13 01:23:30 +00:00
AnyOldName3
d52ae28b7a
Fix linking on MacOS
2021-03-11 00:28:14 +00:00
psi29a
9f47190411
Merge branch 'now-it-blends' into 'master'
...
Convert blending factors properly for the character preview
See merge request OpenMW/openmw!644
2021-03-10 23:27:04 +00:00
AnyOldName3
cb2cbb4181
Convert blending factors properly for the character preview
2021-03-10 22:07:14 +00:00
AnyOldName3
450b971bb0
Merge branch 'gl4es-patch' into 'master'
...
gl4es: Delay feature detection until a context exists
See merge request OpenMW/openmw!626
2021-03-10 19:01:39 +00:00
AnyOldName3
deb184cdce
Merge branch 'fix-build' into 'master'
...
Fix linking with `-DOPENMW_USE_SYSTEM_OSG=ON -DOSG_STATIC=ON`
See merge request OpenMW/openmw!640
2021-03-08 19:01:02 +00:00
Evil Eye
eb07818f13
Ignore agents without bounding boxes
2021-03-07 20:58:09 +01:00
Gleb Mazovetskiy
455be9dbbb
Fix linking with -DOPENMW_USE_SYSTEM_OSG=ON -DOSG_STATIC=ON
...
1. CMake's built-in OSG finder does not use pkgconfig, so we have to
manually ensure the order is correct for inter-library dependencies.
https://gitlab.kitware.com/cmake/cmake/-/issues/21701
2. OSG plugin pkgconfig files are missing dependencies on the underlying
libraries (e.g. freetype, png, jpeg), so we have to link them manually.
https://github.com/openscenegraph/OpenSceneGraph/issues/1052
2021-03-06 21:17:52 +00:00
Gleb Mazovetskiy
4495b67d77
MyGUI HEAD compatibility
...
Makes OpenMW compatible with the current MyGUI HEAD at:
f93d4fb614
Refs #5806
2021-03-02 13:24:30 +00:00
Gleb Mazovetskiy
044e784072
gl4es: Delay feature detection until a context exists
...
gl4es feature detection does not work reliably with EGL.
If a context already exists, gl4es can instead reliably detect
the underlying GLES features from the context itself.
This requires gl4es to be configured with:
-DNOEGL=ON -DNO_LOADER=ON -DNO_INIT_CONSTRUCTOR=ON
This also requires gl4es to have this fix: https://github.com/ptitSeb/gl4es/pull/271
2021-02-28 07:59:48 +00:00
psi29a
937549c99e
Merge branch 'fix_still_actors' into 'master'
...
Make actor flee from a combat when cannot reach a target (#5851 )
See merge request OpenMW/openmw!601
2021-02-26 23:25:05 +00:00
AnyOldName3
46a1715d8a
Actually return something
2021-02-26 20:10:58 +00:00
AnyOldName3
16e8cf89af
Fix compilation of tests with MSVC
2021-02-26 20:10:03 +00:00
AnyOldName3
f5a87ee46d
Refactor out duplicated RTT setup code
2021-02-26 19:01:27 +00:00
AnyOldName3
153ab57ae3
Make assignment in while loop condition obviously intentional
2021-02-24 17:45:44 +00:00
AnyOldName3
2b144ff3dd
Merge branch 'fix_frame_rate_limit' into 'master'
...
Fix frame rate limit (#5686 )
See merge request OpenMW/openmw!603
2021-02-21 16:20:51 +00:00
Gleb Mazovetskiy
7fe39c6a3a
sdlcursormanager: Clarify ANDROID check
...
This check will not be needed in the upcoming versions of OSG.
This was originally needed due to a bug in OSG that was fixed in
https://github.com/openscenegraph/OpenSceneGraph/pull/1027
2021-02-20 00:52:46 +00:00
AnyOldName3
9be258d260
Make it possible to reinstate FFP state easily
2021-02-19 19:59:48 +00:00
psi29a
5c0214142b
Merge branch 'static-build' into 'master'
...
Optional local source builds of OSG, MyGUI, Bullet
See merge request OpenMW/openmw!547
2021-02-19 16:58:05 +00:00
psi29a
de28a89a43
Merge branch 'navigator_cleanup' into 'master'
...
Navigator cleanup
See merge request OpenMW/openmw!612
2021-02-19 16:37:45 +00:00
psi29a
59e09cba5b
Merge branch 'boltsize' into 'master'
...
Use projectile mesh size (#5829 )
See merge request OpenMW/openmw!587
2021-02-15 08:40:30 +00:00
elsid
561628087c
Merge branch 'profiler_fix' into 'master'
...
Fix profiler glitches (#5850 )
See merge request OpenMW/openmw!605
2021-02-15 00:01:06 +00:00
elsid
bc67669a97
Comment unused argument
2021-02-15 00:22:48 +01:00
elsid
4983684fda
Fix implicit int to float conversion warning
2021-02-15 00:20:15 +01:00
elsid
bb0c478954
Add missing include and use std malloc and free
2021-02-15 00:20:15 +01:00
elsid
3a9b1ce63a
Use camel case for local constant
2021-02-15 00:20:14 +01:00
elsid
a7fe6c7ba1
Move duplicated usage patter of dtNavMeshQuery::findNearestPoly into a separate function
2021-02-14 23:54:59 +01:00
elsid
d3ab6c972f
Avoid set unused position from dtNavMeshQuery::findNearestPoly result
2021-02-14 23:54:59 +01:00
AnyOldName3
4f510d85ba
Merge remote-tracking branch 'upstream/master' into alpha-meddling
2021-02-14 22:42:55 +00:00
elsid
8dba61f7ae
Use navmesh raycast to find reachable position around target
2021-02-14 04:14:22 +01:00
fredzio
c4e909c29e
Silence a clang warning:
...
warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
2021-02-12 19:36:03 +01:00
fredzio
bc4047d815
Update engine stats for all levels above first, not only at the second.
2021-02-12 19:03:02 +01:00
elsid
8ab5fd9b40
Fix frame rate limit
...
Measure time at the computation end but before sleep. This allows to adjust
sleep interval for the next frame in case sleep is not precise due to syscall
overhead or too low timer resolution.
Remove old frame limiting mechanism.
2021-02-12 00:03:11 +01:00
psi29a
c33b2e0100
Merge branch 'dehardcodebaseanim' into 'master'
...
Dehardcode Base_animation and improve Collada support
See merge request OpenMW/openmw!510
2021-02-10 16:29:47 +00:00
Sergey Fukanchik
f3271cb66b
Add unit test for swapEndiannessInplace(). Part of Bug #5837
2021-02-09 13:09:36 -05:00