Commit Graph

5828 Commits (a7eeba03a10285fd78e268e6748857f95220fff0)

Author SHA1 Message Date
Bret Curtis 50d6cd2a34
Merge pull request #3070 from akortunov/coverity
Fix an another portion of Coverity warnings
4 years ago
Bret Curtis c6c92b5712
Merge pull request #3071 from akortunov/master
Fix an another batch of MSVC complaints
4 years ago
David Cernat bf0a42fdad [General] Implement ActorSpellsActive packet, part 1
The packet can now set the active spells of DedicatedActors.
4 years ago
AnyOldName3 ff46eceabe Merge branch 'maybe-reintroduce-5904' into 'master'
Fix crash on startup

See merge request OpenMW/openmw!709
4 years ago
Andrei Kortunov d10399e083 Cast double constant to float explicitely 4 years ago
Andrei Kortunov 7d5c5f8a24 Do not assign negative values to unsigned variables 4 years ago
Andrei Kortunov 9647b670e4 Do not declare unused variables 4 years ago
Andrei Kortunov 2009916dd8 Fix dead code 4 years ago
Bret Curtis befa3f587f
Merge pull request #3068 from akortunov/master
Clean up MSVC warnings
4 years ago
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
4 years ago
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.
4 years ago
elsid 64fb700ae9
Remove unnecessary relation between updateCompoundObject and RecastMeshObject 4 years ago
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.
4 years ago
psi29a 3423d3f882 Merge branch 'various_warn' into 'master'
Fix various warnings found by clang

See merge request OpenMW/openmw!758
4 years ago
elsid 62f32f4543
Do not replace equivalent navmesh tiles 4 years ago
jvoisin 032ba1e9a0 Fix the compilation 4 years ago
David Cernat 31a18561a2 [General] Update credits
CoreScripts contributions are no longer counted, as that is a separate repo.
4 years ago
Andrei Kortunov 987b231fdd Fix an another portion of Coverity warnings 4 years ago
jvoisin c0f7e0d585 Use isnan 4 years ago
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
4 years ago
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
4 years ago
jvoisin a35eae3dd1 Fix a read head-buffer-overflow in esm
The check forgot to account for the terminal zero.
4 years ago
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.
4 years ago
Andrei Kortunov f308dde254 Clean up MSVC warnings 4 years ago
psi29a d3c865d909 Merge branch 'fix_bsa' into 'master'
Add some validation for bsa parsing

Closes #5955

See merge request OpenMW/openmw!750
4 years ago
psi29a d0883f9a0d Merge branch 'light_settings_tweak' into 'master'
Lighting patch

Closes #5957 and #5959

See merge request OpenMW/openmw!752
4 years ago
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.
4 years ago
Evil Eye 80266d435c Merge branch 'fix_crash' into 'master'
Fix an off-by-one in loadscpt

See merge request OpenMW/openmw!728
4 years ago
jvoisin 47ced7dec4 Add some validation for bsa parsing
This should fix #5955
4 years ago
David Cernat 4acf9e289b [General] Move active spell structs from BasePlayer to BaseStructs 4 years ago
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.
4 years ago
psi29a c686dd05d0 Merge branch 'thread_idle_priority' into 'master'
Set idle priority for navmesh generation thread

See merge request OpenMW/openmw!632
4 years ago
Andrei Kortunov 33b8233887 Validate GUI scaling and place it to the launcher 4 years ago
elsid ab8d1c02d4
Set idle priority for navmesh generation thread
Support Linux, Windows, FreeBSD.
4 years ago
Andrei Kortunov 016a1d45df Remove outdated field - remnant from earlier implementation 4 years ago
Andrei Kortunov 0c7ddd3938 Remove redundant qualifiers 4 years ago
Andrei Kortunov ac347810ca Fix uninitialized field in the mouse event 4 years ago
Andrei Kortunov bce6effe95 Fix uninitialized variables in the LightManager 4 years ago
Andrei Kortunov e309f75938 Join variables declaration and usage 4 years ago
Andrei Kortunov 5f6f2c15b1 An another attempt to suppress Coverity warning about mkstemp 4 years ago
Andrei Kortunov 696cf9ab05 Extend variables range to avoid integer overflow 4 years ago
David Cernat cedf70f367 Add OpenMW commits up to 13 Apr 2021
# Conflicts:
#   .travis.yml
#   apps/openmw/mwmechanics/actors.cpp
#   apps/openmw/mwmechanics/summoning.cpp
#   apps/openmw/mwphysics/mtphysics.hpp
4 years ago
glassmancody.info 531a6e1979 Code review fixes, remove implicit GLSL casts 4 years ago
glassmancody.info 582f7b52cf Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info 92033bca64 Fixed error in calculating viewspace sun dir, minor cleanup 4 years ago
glassmancody.info 9e80091aff clear up force shaders and make it less convoluted 4 years ago
glassmancody.info 8ce65232ff fix race condition with sun uniform 4 years ago
glassmancody.info d4e7d25d14 Make life not suck for whoever wants to edit lighting shaders 4 years ago
glassmancody.info eecb9886a9 Shader cleanup, fix indicies 4 years ago
glassmancody.info 4ba473b684 Finalize settings, torch fix 4 years ago
glassmancody.info 71c30a31df in-game settings, some require restart 4 years ago
glassmancody.info 3d713e8602 Fix incorrect minimum ambient 4 years ago
glassmancody.info 280fd2b162 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info d195602a9d Switch to shared layout, some rewording 4 years ago
glassmancody.info 690995988b More formatting, OpenCS cells are unbroken 4 years ago
glassmancody.info 328ec85757 Code review cleanup, add setting documentation 4 years ago
glassmancody.info 05a5cee132 Brighter point lights and light fade 4 years ago
glassmancody.info 7370acdf54 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info 43ac32921c Rewrite, support different lighting methods 4 years ago
glassmancody.info 9d9074c244 Add shared UBO 4 years ago
glassmancody.info c5ea966f24 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info dda735c54a initial commit 4 years ago
jvoisin 54adb9cbed Fix an off-by-one in loadscpt 4 years ago
fredzio fda639eb57 Remove unused forward declarations 4 years ago
psi29a 301411c5c5 Merge branch 'esm_variant' into 'master'
Use std::variant for ESM::Variant implementation

See merge request OpenMW/openmw!719
4 years ago
Andrei Kortunov 45b1c68af4 Remove annotation which does not work 4 years ago
Andrei Kortunov 903b89a0ff Add bound for UI scale factor, as it specified in docs 4 years ago
Andrei Kortunov 124a33d8a3 Fix uninitialized variables 4 years ago
Andrei Kortunov 41c78a889a Check for decompression error code 4 years ago
elsid 8e1c92d9af
Use std::variant for ESM::Variant implementation 4 years ago
CedricMocquillon d617d66a87 Add file to BSA 4 years ago
elsid 03fc3ec803
Do not allow write variant of string as local variable
To be consitent with read where it's not allowed.
4 years ago
AnyOldName3 168f26fc80 Fix crash on startup 4 years ago
AnyOldName3 c6033b4de6 Fix #5904 4 years ago
Andrei Kortunov b61337643e Merge branch 'issue-5680' into 'master'
change aim calculation

See merge request OpenMW/openmw!685
4 years ago
Andrei Kortunov bb9c4d5377 Merge branch 'fix_the_swimmer' into 'master'
Fix The Swimmer (#5914)

See merge request OpenMW/openmw!686
4 years ago
elsid 0c6d72b2d1
Consider first set element as first acquired 4 years ago
elsid f2ebad5115
Return cached element when set existing 4 years ago
elsid 05d6f6ac25
Use single map for navmesh cache 4 years ago
elsid b9a40bc5fc
Add NavMeshTilesCache benchmarks 4 years ago
David Cernat 17ee3d54e4 [General] Lower priority of WorldRegionAuthority packets
Previously, sending a PlayerCellChange packet and a WorldRegionAuthority packet to the player at the same time made the latter arrive first even if the former was intended by a server script to arrive first.
4 years ago
Max 2cd96e56d5 create constant and use constant in other parts of the code base 4 years ago
Andrei Kortunov cf52bee188 Fix build with OSG 3.4 4 years ago
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.
4 years ago
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
4 years ago
psi29a 415591b7ed Merge branch 'ai_reaction_deviation' into 'master'
Distribute AI reactions and engage combat calls over time

See merge request OpenMW/openmw!674
4 years ago
Alexei Dobrohotov 2fdbe9b3f6 Handle BSShader[PP/No]LightingProperty 4 years ago
wareya 63f01d8c5f Prevent physics death spiral by falling back to true delta time when needed 4 years ago
David Cernat 4940687455 [General] Remove 'using namespace std' from multiplayer components 4 years ago
David Cernat 59cb31e0a7 Add OpenMW commits up to 20 Mar 2021
# Conflicts:
#   apps/openmw/CMakeLists.txt
#   apps/openmw/mwmechanics/aipursue.cpp
#   components/CMakeLists.txt
4 years ago
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.
4 years ago
Bret Curtis 68c1adec0f
Merge pull request #3055 from akortunov/keyinit
Init animation key struct before usage
4 years ago
Andrei Kortunov a22f6b24d5 Init animation key struct before usage 4 years ago
Alexei Dobrohotov 7acebbd6e8 Merge branch 'no-using-namespace-std' into 'master'
Minor cleanup: Remove `using namespace std`

See merge request OpenMW/openmw!664
4 years ago
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.
4 years ago
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.
4 years ago
AnyOldName3 20852e82b2 Merge branch 'zbuffer' into 'master'
NiZBufferProperty: handle depth test flag (bug #5902)

Closes #5902

See merge request OpenMW/openmw!658
4 years ago
Dobrohotov Alexei 952b31ac5c NiZBufferProperty: handle depth test flag (bug #5902) 4 years ago
Bret Curtis 90baf8ad60
Merge pull request #3053 from akortunov/master
Add move assignment operator for the ESM::Variant
4 years ago
AnyOldName3 9466d6a409 Hide macro usage from Macs where it isn't defined 4 years ago
Andrei Kortunov 4d48c81998 Add move assignment operator and move constructor for the ESM::Variant 4 years ago
psi29a cc6f08930b Merge branch 'alpha-meddling' into 'master'
Replace deprecated alpha test in shader visitor

Closes #4899

See merge request OpenMW/openmw!473
4 years ago
AnyOldName3 0431ba4c87 Merge branch 'alpha-meddling-shader-side-mip-meddling' into alpha-meddling 4 years ago
AnyOldName3 d52ae28b7a Fix linking on MacOS 4 years ago
psi29a 9f47190411 Merge branch 'now-it-blends' into 'master'
Convert blending factors properly for the character preview

See merge request OpenMW/openmw!644
4 years ago
AnyOldName3 cb2cbb4181 Convert blending factors properly for the character preview 4 years ago
AnyOldName3 450b971bb0 Merge branch 'gl4es-patch' into 'master'
gl4es: Delay feature detection until a context exists

See merge request OpenMW/openmw!626
4 years ago
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
4 years ago
Evil Eye eb07818f13 Ignore agents without bounding boxes 4 years ago
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
4 years ago
Gleb Mazovetskiy 4495b67d77 MyGUI HEAD compatibility
Makes OpenMW compatible with the current MyGUI HEAD at:
f93d4fb614

Refs #5806
4 years ago
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
4 years ago
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
4 years ago
AnyOldName3 46a1715d8a Actually return something 4 years ago
AnyOldName3 16e8cf89af Fix compilation of tests with MSVC 4 years ago
AnyOldName3 f5a87ee46d Refactor out duplicated RTT setup code 4 years ago
AnyOldName3 153ab57ae3 Make assignment in while loop condition obviously intentional 4 years ago
David Cernat 39dc6fc355 Add OpenMW commits up to 24 Feb 2021
# Conflicts:
#   CI/before_script.linux.sh
#   CMakeLists.txt
#   apps/openmw/CMakeLists.txt
#   components/CMakeLists.txt
4 years ago
AnyOldName3 2b144ff3dd Merge branch 'fix_frame_rate_limit' into 'master'
Fix frame rate limit (#5686)

See merge request OpenMW/openmw!603
4 years ago
AnyOldName3 9be258d260 Make it possible to reinstate FFP state easily 4 years ago
psi29a 5c0214142b Merge branch 'static-build' into 'master'
Optional local source builds of OSG, MyGUI, Bullet

See merge request OpenMW/openmw!547
4 years ago
psi29a de28a89a43 Merge branch 'navigator_cleanup' into 'master'
Navigator cleanup

See merge request OpenMW/openmw!612
4 years ago
psi29a 59e09cba5b Merge branch 'boltsize' into 'master'
Use projectile mesh size (#5829)

See merge request OpenMW/openmw!587
4 years ago
elsid 561628087c Merge branch 'profiler_fix' into 'master'
Fix profiler glitches (#5850)

See merge request OpenMW/openmw!605
4 years ago
elsid bc67669a97
Comment unused argument 4 years ago
elsid 4983684fda
Fix implicit int to float conversion warning 4 years ago
elsid bb0c478954
Add missing include and use std malloc and free 4 years ago
elsid 3a9b1ce63a
Use camel case for local constant 4 years ago
elsid a7fe6c7ba1
Move duplicated usage patter of dtNavMeshQuery::findNearestPoly into a separate function 4 years ago
elsid d3ab6c972f
Avoid set unused position from dtNavMeshQuery::findNearestPoly result 4 years ago
AnyOldName3 4f510d85ba Merge remote-tracking branch 'upstream/master' into alpha-meddling 4 years ago
David Cernat 7e188f2dd6 Add OpenMW commits up to 14 Feb 2021
# Conflicts:
#   apps/openmw/mwclass/door.cpp
#   apps/openmw/mwscript/aiextensions.cpp
4 years ago
elsid 8dba61f7ae
Use navmesh raycast to find reachable position around target 4 years ago
fredzio c4e909c29e Silence a clang warning:
warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
4 years ago
fredzio bc4047d815 Update engine stats for all levels above first, not only at the second. 4 years ago
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.
4 years ago
psi29a c33b2e0100 Merge branch 'dehardcodebaseanim' into 'master'
Dehardcode Base_animation and improve Collada support

See merge request OpenMW/openmw!510
4 years ago
David Cernat a379d12529 [General] Turn Utils::printVersion() into Utils::getVersionInfo() 4 years ago
Sergey Fukanchik f3271cb66b Add unit test for swapEndiannessInplace(). Part of Bug #5837 4 years ago
Petr Mikheev 31b5150e0d Fix implementation of Misc::swapEndiannessInplace 4 years ago
psi29a dc31e1c680 Merge branch 'refraction_shadow_fix_2' into 'master'
Fix shadows missing in the refraction RTT on the first and second frame

See merge request OpenMW/openmw!590
4 years ago
AnyOldName3 3e273a759a Clarify method name now we're using it differently 4 years ago
fredzio 6e969ca3fa Use mesh collision box instead of node bounding sphere for projectile
size. The bounding sphere is much bigger than the mesh.
4 years ago
David Cernat e1259fdc41 Add OpenMW commits up to 4 Feb 2021
# Conflicts:
#   apps/openmw/engine.cpp
#   apps/openmw/mwmechanics/npcstats.hpp
#   apps/openmw/mwrender/globalmap.cpp
4 years ago
Alexei Dobrohotov ab28847eaf Merge branch 'collisionextentsandcenter' into 'master'
Get collision box extents and center from btBvhTriangleMeshShape

See merge request OpenMW/openmw!579
4 years ago
unelsson 303f1912a6 less debug spam 4 years ago
unelsson d5844b0982 Use accompanying txt file for textkeys in osgAnimation formats 4 years ago
elsid 68fe6b9114
Use only item size to check whether item fits cache
Item size has to be counted anyway and there is no reason to check only navmesh
data first.
4 years ago
elsid 3a2cea5271
Use raw recast mesh data and off mesh connections for navmesh key
Serialization into a vector of chars produces inconsistent results that leads
to reduced cache hit rate. Using a structured object is a more clear solution
and allows to remove serialization and nontrivial key compare logic with more
straigt forward structured object comparison.
4 years ago
elsid ad1f8c1e84
Sort water and off mesh connections for recast mesh
Inconsisten order of these objects in navmesh cache key leads to cache misses
due to key inequality.
4 years ago
elsid 489107c5ee
Count navmesh cache key once in item size
Key is stored only in NavMeshTilesCache::Item, TileMap uses KeyView with
a pointer to a vector.
4 years ago
elsid 88ca4a1db6
Count navmesh cache hit rate 4 years ago
Nelsson Huotari 45fde84f4f Use nodemasks and visitors for detecting custom collision shapes 4 years ago
Nelsson Huotari 5c32460153 Add underscore-separated node-names to reserved-list 4 years ago
Nelsson Huotari 384112746c Add option for custom collision node with non-nif files 4 years ago
Nelsson Huotari bae27e8199 dynamic_cast to static_cast 4 years ago
Nelsson Huotari b28d8251aa Clone animation tracks 4 years ago
Nelsson Huotari 6c0c28c2eb Get collision box extents and center from btBvhTriangleMeshShape 4 years ago
Nelsson Huotari 1221889cf7 Limit conversion of underscores to nodes origating from osgAnimation library 4 years ago
Nelsson Huotari 5b88d16a50 Clean-up 4 years ago
Nelsson Huotari 2162b97fef Handle case in osgAnimation bone names 4 years ago
Nelsson Huotari 7d3f2bc113 Convert underscores in bone names to whitespaces 4 years ago
madsbuvi 7edaa50195 another approach 4 years ago
Nelsson Huotari f87c45c92a Get collision box extents and center from btBvhTriangleMeshShape 4 years ago
Nelsson Huotari 3194520dcd Move base_anim settings to settings-default.cfg 4 years ago
Bret Curtis b164f1aa17
Merge pull request #3023 from akortunov/grass_intsancing
Grass instancing
4 years ago
Frederic Chardon 7cd7fa2f08 Collect all available stats if OPENMW_OSG_STATS_FILE is set and point to
a valid file.
4 years ago
Gleb Mazovetskiy 99ba45a308 Optional static builds of OSG, MyGUI, Bullet 4 years ago
Andrei Kortunov 24e1dfcddc Use default argument 4 years ago
Andrei Kortunov f40e227686 Remove redundant formatting changes 4 years ago
Andrei Kortunov d12a0fdcb3 Mark only instances from groundcover files as groundcover objects 4 years ago
Andrei Kortunov 14cf0ce1dc Implement instanced groundcover 4 years ago
psi29a 49c828c138 Merge branch 'threadsafe-createchunk' into 'master'
Avoid OSG setting array binding from multiple threads

Closes #4765

See merge request OpenMW/openmw!557
4 years ago
Gleb Mazovetskiy 1e113710ef Clean-up FontLoader::loadFontFromXml fix
Follow-up to !559
4 years ago
Gleb Mazovetskiy bd7d5a8f92 Fix memory leak in FontLoader::loadFontFromXml
Tried building with -DCMAKE_CXX_FLAGS='-fsanitize=address -fsanitize-recover=address'
and this was one of the reported leaks.
4 years ago
AnyOldName3 eb80c997b8 Avoid OSG setting array binding from multiple threads 4 years ago
Gleb Mazovetskiy cd5e31dc4b Revert "Merge branch 'windowing-system' into 'master'"
This reverts merge request !541
4 years ago
AnyOldName3 b6e92c9c6d Use ShaderVisitor to skip translucent framebuffer specific stuff 4 years ago
psi29a 7455dfb3a1 Merge branch 'windowing-system' into 'master'
Fix OSG USE_GRAPHICSWINDOW check

See merge request OpenMW/openmw!541
4 years ago
Gleb Mazovetskiy d24a5f7b89 Fix OSG USE_GRAPHICSWINDOW check
When OSG is built with `-DOSG_WINDOWING_SYSTEM=None`, this macro does not exist.

Replaces the Android-specific check with a general one.
4 years ago
Andrei Kortunov 89f3f860ed Allow to get a rotation vector from ESM::Position 4 years ago
Andrei Kortunov f175beb304 Define template ref classes in components 4 years ago
psi29a 654238fd18 Merge branch 'no_bonus_points' into 'master'
Show mesh origin

Closes #5771

See merge request OpenMW/openmw!507
4 years ago
Petr Mikheev eaaa2f4a1c Use misc/endianness.hpp in components/nif/nifstream 4 years ago
Petr Mikheev 14dd11372f Utility functions for little-endian <-> big-endian conversion. 4 years ago
Bret Curtis a735bbe9a5
Merge pull request #3040 from akortunov/pvs
Fix some issues, found by PVS Studio
4 years ago
elsid d2d8a7a940
Fix passing null to memcpy
/home/elsid/dev/openmw/components/detournavigator/navmeshtilescache.cpp:36:24: runtime error: null pointer passed as argument 2, which is declared to never be null
    #0 0x55e37ba4cda5 in makeNavMeshKey /home/elsid/dev/openmw/components/detournavigator/navmeshtilescache.cpp:36
    #1 0x55e37ba4cda5 in DetourNavigator::NavMeshTilesCache::set(osg::Vec3f const&, osg::Vec2i const&, DetourNavigator::RecastMesh const&, std::vector<DetourNavigator::OffMeshConnection, std::allocator<DetourNavigator::OffMeshConnection> > const&, DetourNavigator::NavMeshData&&) /home/elsid/dev/openmw/components/detournavigator/navmeshtilescache.cpp:81
    #2 0x55e37fe3c861 in DetourNavigator::updateNavMesh(osg::Vec3f const&, DetourNavigator::RecastMesh const*, osg::Vec2i const&, osg::Vec2i const&, std::vector<DetourNavigator::OffMeshConnection, std::allocator<DetourNavigator::OffMeshConnection> > const&, DetourNavigator::Settings const&, std::shared_ptr<Misc::ScopeGuarded<DetourNavigator::NavMeshCacheItem> > const&, DetourNavigator::NavMeshTilesCache&) /home/elsid/dev/openmw/components/detournavigator/makenavmesh.cpp:582
    #3 0x55e37fb796ce in DetourNavigator::AsyncNavMeshUpdater::processJob(DetourNavigator::AsyncNavMeshUpdater::Job const&) /home/elsid/dev/openmw/components/detournavigator/asyncnavmeshupdater.cpp:178
    #4 0x55e37fb9a125 in DetourNavigator::AsyncNavMeshUpdater::process() /home/elsid/dev/openmw/components/detournavigator/asyncnavmeshupdater.cpp:144
    #5 0x7f013f585c23 in execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80
    #6 0x7f013f8c63e8 in start_thread (/usr/lib/libpthread.so.0+0x93e8)
    #7 0x7f013e91d292 in __GI___clone (/usr/lib/libc.so.6+0x100292)
4 years ago
elsid 7b54415c40
Fix reference binding to null
/usr/include/c++/10.2.0/bits/stl_vector.h:1046:34: runtime error: reference binding to null pointer of type 'value_type'
    #0 0x55e37f50008a in std::vector<char, std::allocator<char> >::operator[](unsigned long) /usr/include/c++/10.2.0/bits/stl_vector.h:1046
    #1 0x55e37f50008a in ESM::SavedGame::load(ESM::ESMReader&) /home/elsid/dev/openmw/components/esm/savedgame.cpp:28
    #2 0x55e37e726139 in MWState::Character::addSlot(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/character.cpp:31
    #3 0x55e37e742b39 in MWState::Character::Character(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/character.cpp:88
    #4 0x55e37e7006e1 in MWState::CharacterManager::CharacterManager(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/charactermanager.cpp:25
    #5 0x55e37e6d4140 in MWState::StateManager::StateManager(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:90
    #6 0x55e37e82595a in OMW::Engine::prepareEngine(Settings::Manager&) /home/elsid/dev/openmw/apps/openmw/engine.cpp:641
    #7 0x55e37e8439fd in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:867
    #8 0x55e37e782760 in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:289
    #9 0x55e37f6483c3 in wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/components/debug/debugging.cpp:200
    #10 0x55e37ba8e3fe in main /home/elsid/dev/openmw/apps/openmw/main.cpp:301
    #11 0x7f013e845151 in __libc_start_main (/usr/lib/libc.so.6+0x28151)
    #12 0x55e37baa0e3d in _start (/home/elsid/dev/openmw/build/gcc/ubsan/openmw+0x6c11e3d)
4 years ago
Andrei Kortunov 8e5f26c109 Code cleanup 4 years ago
Andrei Kortunov 33648313a6 Initialize variables 4 years ago
Andrei Kortunov 7fc4c9f3f6 Avoid dead code 4 years ago
Andrei Kortunov 801e2d6ad0 Avoid to use uninitialized variables 4 years ago
AnyOldName3 4ed3252001 Check for EXT_gpu_shader4 CPU-side
Mesa lies and always defines GL_EXT_gpu_shader4 even when the extension
isn't present.
4 years ago
David Cernat da3316daf8 Add OpenMW commits up to 4 Jan 2021
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/main.cpp
#   apps/openmw/mwmechanics/npcstats.hpp
#   apps/openmw/mwphysics/actor.cpp
#   apps/openmw/mwphysics/mtphysics.hpp
#   components/CMakeLists.txt
4 years ago
Alexei Dobrohotov c17e498465 Merge branch 'launchercleanup' into 'master'
Remove deadcode from the launcher.

See merge request OpenMW/openmw!511
4 years ago
AnyOldName3 e3fd5efcfe Disable A2C for alpha-blended drawables 4 years ago
fredzio dbdd397716 Remove deadcode. 4 years ago
Evil Eye 630ec36d1f iterate in reverse order 4 years ago
unknown 3bf641d3ce Show mesh origin 4 years ago
Andrei Kortunov ee2416017e Fix tag mismatch 4 years ago