Commit Graph

5013 Commits (d500507dec6db05e0f458c3b2527f4c74363232d)

Author SHA1 Message Date
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
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
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
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
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
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
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
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
wareya 18ef32ca82 values for this higher than sGroundOffset cause jittering on some surface; use safe-seeming value slightly less than sGroundOffset 4 years ago
AnyOldName3 5e004356a2 Merge remote-tracking branch 'upstream/master' into alpha-meddling 4 years ago
AnyOldName3 8f4b856b44 Initial A2C implementation 4 years ago
AnyOldName3 8c3a786e54 Unconditionally disable alpha testing when shaders are used 4 years ago
AnyOldName3 11b4af49ce Allow shadowsbin to optimise clockwise-wound meshes when face culling is off 4 years ago
AnyOldName3 a36ed5f129 Optimise out redundant call
We already had the results
4 years ago
AnyOldName3 7e045cff75 #include <memory> 4 years ago
AnyOldName3 657da50d99 Ensure GL_BLEND is disabled when drawing shadow maps 4 years ago
AnyOldName3 0e4e8eb0f3 Add glDebugGroup support 4 years ago
AnyOldName3 cc2ce9fa3e Explicitly default-construct array
The docs seem to imply this is automatic when the array contains a
class-type, which osg::ref_ptr is, but I got a crash log that doesn't
make sense if that's true.
4 years ago
AnyOldName3 264539cd63 Merge branch 'WindowCrashCatcher' into 'master'
Handle Crashes on Windows

See merge request OpenMW/openmw!455
4 years ago
AnyOldName3 0b5d5eab4c Move is faster 4 years ago
AnyOldName3 05ad44d0b1 Set correct array size 4 years ago
AnyOldName3 a080071588 Set default state sensibly 4 years ago
Alexei Dobrohotov 46ec40fa92 Make sure NIFLoader avoids working further with empty geometry 4 years ago
AnyOldName3 ce2bcba5d4 Replace deprecated alpha test in shader visitor 4 years ago
Alexei Dobrohotov 1e6156e04a Turn all NIF records into structs 4 years ago
psi29a 78e85fe011 Merge branch 'this_is_nife' into 'master'
More NIF stuff

See merge request OpenMW/openmw!461
4 years ago
Nelsson Huotari 8b2bf12e8f Use bip01 for root bone name 4 years ago
Nelsson Huotari 6c1f6169c0 Fix root movement glitch 4 years ago
Nelsson Huotari 3195716a2c Don't force loop textkey 4 years ago
Alexei Dobrohotov 53e1e57eef Formatting 4 years ago
Alexei Dobrohotov 085ea44af5 Add BSShaderLightingProperty abstraction 4 years ago
Alexei Dobrohotov c0b9823372 Read BSShaderProperty and handle NiGeometry properties 4 years ago
Alexei Dobrohotov 42226533d8 Handle BSLODTriShape
Its levels of detail are currently not handled
4 years ago
Alexei Dobrohotov 8fd45d85ec Unify NiGeometry/NiGeometryData handling 4 years ago
Alexei Dobrohotov 8ca324af0a Handle emissive TexEnv creation in one place 4 years ago
Alexei Dobrohotov 5310dd6807 Clean up particle vertex handling 4 years ago
Alexei Dobrohotov 1c83e4936d Read BSShaderTextureSet and NiColorInterpolator
Accept boolean-based and 4D vector-based NiInterpolators in ValueInterpolator constructor
4 years ago
CedricMocquillon cc5c6fe3ad Use data() method 4 years ago
CedricMocquillon 112437cf28 Change crash file to dmp on window to avoid renaming it 4 years ago
CedricMocquillon adeb4fe02f Handle case where the log path has more that MAX_PATH characters 4 years ago
CedricMocquillon f400116bcd Use 32767 characters for log path 4 years ago
CedricMocquillon 3eb2b32123 Fix typpo issue on arguments 4 years ago
CedricMocquillon e2041de969 Use the incremental approach to handle long path 4 years ago
Nelsson Huotari 256aa5e71d Use const auto& 4 years ago
CedricMocquillon 73afc55462 Fork the current process to monitor exe, generate minidump on crash 4 years ago
Alexei Dobrohotov 15291f15d3 Make actor collision box components a struct 4 years ago
psi29a 11eff02a1d Merge branch 'Show-more-information-about-level-on-menu' into 'master'
Show more information about level on menu

See merge request OpenMW/openmw!437
4 years ago
Petr Mikheev 49c6e50c31 Print '--version' and '--help' messages without timestamps 4 years ago
CedricMocquillon 2d3d22025a Avoid height for empty message in AutoSizedTextBox 4 years ago
Petr Mikheev 5734551ff3 Add time to logs. Redirect OSG log to OpenMW log. 4 years ago
AnyOldName3 48f397f168 Remove existing shader when no longer required 4 years ago
AnyOldName3 5ad297e6ff Guarantee glow updater regenerates shaders on completion
Previously, it would edit the odd numbered stateset, then regenerate
shaders for the even-numbered one, then edit the even numbered one, and
regenerate shaders for the odd numbered one (or vice versa if it
finished during an even numbered frame). This would leave one of the
shader programs still trying to use the state that had been removed.
4 years ago
Alexei Dobrohotov db9c174ca8 Make NIF particle node handling more generic 4 years ago
Andrei Kortunov 8084a336b5 Replace zeroes and nulls by nullptrs 4 years ago
AnyOldName3 86fad60c7d Merge branch 'roots' into 'master'
Handle multiple root nodes (bug #5604)

Closes #5604

See merge request OpenMW/openmw!428
4 years ago
psi29a dc1bd8ec29 Merge branch 'osgAnimation_basics' into 'master'
Collada animation support

See merge request OpenMW/openmw!421
4 years ago
Nelsson Huotari 55dcc6582a Don't duplicate getFileExtension, use OpenMW's namespaces 4 years ago
Alexei Dobrohotov 5b6377b061 Handle multiple root nodes (bug #5604) 4 years ago
Andrei Kortunov 4acd910b37 Rework file error messages handling 4 years ago
Nelsson Huotari 08dcbe30b3 Earlier nullptr check 4 years ago
Nelsson Huotari 3232faa703 Use const ref instead of value 4 years ago
Nelsson Huotari 32d4344803 Don't copy osga-data in base class keyframecontroller, fix warnings. 4 years ago
psi29a f95d2cf54c Merge branch 'update_recastnavigation' into 'master'
Update recastnavigation

See merge request OpenMW/openmw!420
4 years ago
Nelsson Huotari 6e77ad1f6a OSG-Collada animation support 4 years ago
Nelsson Huotari f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 4 years ago
AnyOldName3 37661bffea Merge branch 'shadowdisable-fix' into 'master'
Make disableShadowsForStateSet a no-op when shadows are disabled

See merge request OpenMW/openmw!205
4 years ago
elsid 9b11b8a27b
Fix boundary check 4 years ago
AnyOldName3 7768556ce6 Set dummy state when disabling shadows indoors
As we don't reconfigure all shaders without shadows when we disable them
indoors (as it'd probably add a hitch to transitioning in and out) we
need to set up dummy state so the shaders don't do anything illegal.

This hadn't had symptoms for most objects as when indoors, nearly
everything would be drawn first in one of the water RTTs, which had
dummy state to disable shadows already. This wasn't true of the water
plane itself, though, yet somehow it took until just now for anyone to
report that.

This resolves vtastek's issue where the water would be invisible indoors
4 years ago
psi29a 6064d3e741 Merge branch 'boundingvolume' into 'master'
Read NIF bounding volume data correctly

See merge request OpenMW/openmw!407
4 years ago
Alexei Dobrohotov df9667e923 Read NIF bounding volume data correctly 4 years ago
psi29a 37e81f0df8 Merge branch 'redirection-fix' into 'master'
Only reroute stdout etc. to new console if not already redirected

Closes #5650

See merge request OpenMW/openmw!408
4 years ago
AnyOldName3 89d73c5fc7 Only reroute stdout etc. to new console if not already redirected
This should fix the issue where Windows Release builds (compiled as
/SUBSYSTEM:WINDOWS instead of /SUBSYSTEM:CONSOLE) can't have their
output redirected.

Basically, a console application creates a console if not given one, so
you get a console window behind OpenMW while it's running. It was
decided that this was ugly, so we set Release builds to be windows
applications, which don't get an automatic console and don't
automatically connect to a console if given one anyway.

Of course, we still wanted to actually be able to print to a console if
given one, so we manually attach to the parent process' console if it
exists, then reopen the standard streams connected to CON, the Windows
pseudo-file representing the current console.

This is a little like connecting a second wire into a dumb terminal in
that you're pumping characters into the display rather than onto a
pipeline, so output can't be redirected.

It turns out, though, that if a /SUBSYSTEM:WINDOWS application has its
standard streams redirected by the calling process, it still gets its
handles as normal, so everything starts off connected just how we want
it and we were clobbering this good setup with the straight-to-console
fix.

All we need to do to fix that is check if we've got valid standard
handles and that they go somewhere useful, and if so, avoid reopening
them once the console is attached. Simples.
4 years ago
Alexei Dobrohotov 117697ea22 Fix NiStringPalette loading 4 years ago
Alexei Dobrohotov 8a6d3d1b4f Minor fixes
Fix extra semicolon
Disable collision avoidance if AI is disabled
4 years ago
AnyOldName3 981fffe590 Merge branch 'itsakindoftemplatemagic' into 'master'
Fix MSVC2017 builds

See merge request OpenMW/openmw!404
4 years ago
AnyOldName3 1e0df23d14 Merge branch 'shadows-bin' into 'master'
Use a custom renderbin to avoid pointless OpenGL state switches

See merge request OpenMW/openmw!402
4 years ago
Evil Eye 94c89e6d5e check ValueTs 4 years ago
AnyOldName3 fcfd340c69 Actually copy alpha blended drawables to the new stategraph 4 years ago
Evil Eye d8897c4509 remove inline and use enable_if_t 4 years ago
Evil Eye d8d4351962 fix MSVC2017 builds 4 years ago
AnyOldName3 55f65752fd Don't bind unnecessary colour buffer when drawing shadow maps 4 years ago
AnyOldName3 cdbf19a508 Tidy up run-on lines 4 years ago
AnyOldName3 296dce470a Spelling fix 4 years ago
AnyOldName3 72f7e6a702 Handle all shadow alpha uniforms in shadowsbin 4 years ago