1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-03 13:45:34 +00:00
Commit graph

5666 commits

Author SHA1 Message Date
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
Petr Mikheev
31b5150e0d Fix implementation of Misc::swapEndiannessInplace 2021-02-07 09:12:38 +01:00
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
2021-02-06 20:26:46 +00:00
AnyOldName3
3e273a759a Clarify method name now we're using it differently 2021-02-06 16:41:46 +00:00
fredzio
6e969ca3fa Use mesh collision box instead of node bounding sphere for projectile
size. The bounding sphere is much bigger than the mesh.
2021-02-05 22:53:45 +01:00
Alexei Dobrohotov
ab28847eaf Merge branch 'collisionextentsandcenter' into 'master'
Get collision box extents and center from btBvhTriangleMeshShape

See merge request OpenMW/openmw!579
2021-02-04 23:03:43 +00:00
unelsson
303f1912a6 less debug spam 2021-02-04 23:14:52 +02:00
unelsson
d5844b0982 Use accompanying txt file for textkeys in osgAnimation formats 2021-02-04 23:14:21 +02:00
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.
2021-02-04 01:12:59 +01:00
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.
2021-02-04 01:01:15 +01:00
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.
2021-02-04 01:00:41 +01:00
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.
2021-02-04 00:44:23 +01:00
elsid
88ca4a1db6
Count navmesh cache hit rate 2021-02-04 00:35:24 +01:00
Nelsson Huotari
45fde84f4f Use nodemasks and visitors for detecting custom collision shapes 2021-02-03 21:16:54 +02:00
Nelsson Huotari
5c32460153 Add underscore-separated node-names to reserved-list 2021-02-03 14:25:50 +02:00
Nelsson Huotari
384112746c Add option for custom collision node with non-nif files 2021-02-03 14:25:09 +02:00
Nelsson Huotari
bae27e8199 dynamic_cast to static_cast 2021-02-02 21:52:15 +02:00
Nelsson Huotari
b28d8251aa Clone animation tracks 2021-02-02 21:52:08 +02:00
Nelsson Huotari
6c0c28c2eb Get collision box extents and center from btBvhTriangleMeshShape 2021-02-02 21:51:46 +02:00
Nelsson Huotari
1221889cf7 Limit conversion of underscores to nodes origating from osgAnimation library 2021-02-02 21:41:17 +02:00
Nelsson Huotari
5b88d16a50 Clean-up 2021-02-02 21:09:50 +02:00
Nelsson Huotari
2162b97fef Handle case in osgAnimation bone names 2021-02-02 17:34:02 +02:00
Nelsson Huotari
7d3f2bc113 Convert underscores in bone names to whitespaces 2021-02-02 17:33:40 +02:00
madsbuvi
7edaa50195 another approach 2021-01-31 18:02:05 +01:00
Nelsson Huotari
f87c45c92a Get collision box extents and center from btBvhTriangleMeshShape 2021-01-30 16:03:02 +02:00
Nelsson Huotari
3194520dcd Move base_anim settings to settings-default.cfg 2021-01-27 13:41:02 +02:00
Bret Curtis
b164f1aa17
Merge pull request #3023 from akortunov/grass_intsancing
Grass instancing
2021-01-27 12:21:24 +01:00
Frederic Chardon
7cd7fa2f08 Collect all available stats if OPENMW_OSG_STATS_FILE is set and point to
a valid file.
2021-01-27 08:04:33 +00:00
Gleb Mazovetskiy
99ba45a308 Optional static builds of OSG, MyGUI, Bullet 2021-01-26 19:00:55 +00:00
Andrei Kortunov
24e1dfcddc Use default argument 2021-01-26 22:29:41 +04:00
Andrei Kortunov
f40e227686 Remove redundant formatting changes 2021-01-26 22:29:41 +04:00
Andrei Kortunov
d12a0fdcb3 Mark only instances from groundcover files as groundcover objects 2021-01-26 22:29:41 +04:00
Andrei Kortunov
14cf0ce1dc Implement instanced groundcover 2021-01-26 22:29:41 +04:00
psi29a
49c828c138 Merge branch 'threadsafe-createchunk' into 'master'
Avoid OSG setting array binding from multiple threads

Closes #4765

See merge request OpenMW/openmw!557
2021-01-23 22:19:31 +00:00
Gleb Mazovetskiy
1e113710ef Clean-up FontLoader::loadFontFromXml fix
Follow-up to !559
2021-01-23 17:14:56 +00:00
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.
2021-01-23 04:08:39 +00:00
AnyOldName3
eb80c997b8 Avoid OSG setting array binding from multiple threads 2021-01-22 19:44:22 +00:00
Gleb Mazovetskiy
cd5e31dc4b Revert "Merge branch 'windowing-system' into 'master'"
This reverts merge request !541
2021-01-22 19:04:07 +00:00
AnyOldName3
b6e92c9c6d Use ShaderVisitor to skip translucent framebuffer specific stuff 2021-01-20 23:37:19 +00:00
psi29a
7455dfb3a1 Merge branch 'windowing-system' into 'master'
Fix OSG USE_GRAPHICSWINDOW check

See merge request OpenMW/openmw!541
2021-01-14 15:00:34 +00:00
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.
2021-01-13 20:45:34 +00:00
Andrei Kortunov
89f3f860ed Allow to get a rotation vector from ESM::Position 2021-01-13 14:25:25 +04:00
Andrei Kortunov
f175beb304 Define template ref classes in components 2021-01-13 14:25:21 +04:00
psi29a
654238fd18 Merge branch 'no_bonus_points' into 'master'
Show mesh origin

Closes #5771

See merge request OpenMW/openmw!507
2021-01-11 21:21:47 +00:00
Petr Mikheev
eaaa2f4a1c Use misc/endianness.hpp in components/nif/nifstream 2021-01-10 16:34:47 +01:00
Petr Mikheev
14dd11372f Utility functions for little-endian <-> big-endian conversion. 2021-01-10 16:34:47 +01:00
Bret Curtis
a735bbe9a5
Merge pull request #3040 from akortunov/pvs
Fix some issues, found by PVS Studio
2021-01-10 12:58:17 +01:00
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)
2021-01-09 22:59:24 +01:00
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)
2021-01-09 22:59:24 +01:00
Andrei Kortunov
8e5f26c109 Code cleanup 2021-01-09 14:41:10 +04:00
Andrei Kortunov
33648313a6 Initialize variables 2021-01-09 14:21:57 +04:00
Andrei Kortunov
7fc4c9f3f6 Avoid dead code 2021-01-09 13:52:01 +04:00
Andrei Kortunov
801e2d6ad0 Avoid to use uninitialized variables 2021-01-09 13:36:40 +04:00
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.
2021-01-07 18:13:51 +00:00
Alexei Dobrohotov
c17e498465 Merge branch 'launchercleanup' into 'master'
Remove deadcode from the launcher.

See merge request OpenMW/openmw!511
2021-01-03 08:48:52 +00:00
AnyOldName3
e3fd5efcfe Disable A2C for alpha-blended drawables 2021-01-02 19:09:06 +00:00
fredzio
dbdd397716 Remove deadcode. 2021-01-01 16:54:45 +01:00
Evil Eye
630ec36d1f iterate in reverse order 2020-12-30 10:35:51 +01:00
unknown
3bf641d3ce Show mesh origin 2020-12-29 21:45:59 +01:00
Andrei Kortunov
ee2416017e Fix tag mismatch 2020-12-28 12:19:22 +04:00
wareya
18ef32ca82 values for this higher than sGroundOffset cause jittering on some surface; use safe-seeming value slightly less than sGroundOffset 2020-12-27 22:16:11 +00:00
AnyOldName3
5e004356a2 Merge remote-tracking branch 'upstream/master' into alpha-meddling 2020-12-27 02:48:42 +00:00
AnyOldName3
8f4b856b44 Initial A2C implementation 2020-12-26 22:45:53 +00:00
AnyOldName3
8c3a786e54 Unconditionally disable alpha testing when shaders are used 2020-12-24 00:32:15 +00:00
AnyOldName3
11b4af49ce Allow shadowsbin to optimise clockwise-wound meshes when face culling is off 2020-12-23 01:24:15 +00:00
AnyOldName3
a36ed5f129 Optimise out redundant call
We already had the results
2020-12-23 00:23:49 +00:00
AnyOldName3
7e045cff75 #include <memory> 2020-12-20 01:51:45 +00:00
AnyOldName3
657da50d99 Ensure GL_BLEND is disabled when drawing shadow maps 2020-12-20 01:36:34 +00:00
AnyOldName3
0e4e8eb0f3 Add glDebugGroup support 2020-12-20 01:22:14 +00:00
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.
2020-12-19 21:57:42 +00:00
AnyOldName3
264539cd63 Merge branch 'WindowCrashCatcher' into 'master'
Handle Crashes on Windows

See merge request OpenMW/openmw!455
2020-12-18 13:41:18 +00:00
AnyOldName3
0b5d5eab4c Move is faster 2020-12-18 02:11:51 +00:00
AnyOldName3
05ad44d0b1 Set correct array size 2020-12-18 01:44:46 +00:00
AnyOldName3
a080071588 Set default state sensibly 2020-12-18 00:02:51 +00:00
Alexei Dobrohotov
46ec40fa92 Make sure NIFLoader avoids working further with empty geometry 2020-12-18 01:22:34 +03:00
AnyOldName3
ce2bcba5d4 Replace deprecated alpha test in shader visitor 2020-12-17 14:57:43 +00:00
Alexei Dobrohotov
1e6156e04a Turn all NIF records into structs 2020-12-16 01:54:31 +03:00
psi29a
78e85fe011 Merge branch 'this_is_nife' into 'master'
More NIF stuff

See merge request OpenMW/openmw!461
2020-12-15 15:43:12 +00:00
Nelsson Huotari
8b2bf12e8f Use bip01 for root bone name 2020-12-15 13:51:49 +02:00
Nelsson Huotari
6c1f6169c0 Fix root movement glitch 2020-12-15 13:50:19 +02:00
Nelsson Huotari
3195716a2c Don't force loop textkey 2020-12-15 13:49:25 +02:00
Alexei Dobrohotov
53e1e57eef Formatting 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
085ea44af5 Add BSShaderLightingProperty abstraction 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
c0b9823372 Read BSShaderProperty and handle NiGeometry properties 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
42226533d8 Handle BSLODTriShape
Its levels of detail are currently not handled
2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
8fd45d85ec Unify NiGeometry/NiGeometryData handling 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
8ca324af0a Handle emissive TexEnv creation in one place 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
5310dd6807 Clean up particle vertex handling 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
1c83e4936d Read BSShaderTextureSet and NiColorInterpolator
Accept boolean-based and 4D vector-based NiInterpolators in ValueInterpolator constructor
2020-12-15 00:06:43 +03:00
CedricMocquillon
cc5c6fe3ad Use data() method 2020-12-13 20:50:48 +01:00
CedricMocquillon
112437cf28 Change crash file to dmp on window to avoid renaming it 2020-12-13 14:13:07 +01:00
CedricMocquillon
adeb4fe02f Handle case where the log path has more that MAX_PATH characters 2020-12-13 14:10:44 +01:00
CedricMocquillon
f400116bcd Use 32767 characters for log path 2020-12-13 14:09:44 +01:00
CedricMocquillon
3eb2b32123 Fix typpo issue on arguments 2020-12-13 14:09:14 +01:00
CedricMocquillon
e2041de969 Use the incremental approach to handle long path 2020-12-12 21:47:50 +01:00
Nelsson Huotari
256aa5e71d Use const auto& 2020-12-12 22:23:20 +02:00
CedricMocquillon
73afc55462 Fork the current process to monitor exe, generate minidump on crash 2020-12-12 20:17:26 +01:00
Alexei Dobrohotov
15291f15d3 Make actor collision box components a struct 2020-12-11 20:07:59 +03:00
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
2020-12-11 12:04:15 +00:00
Petr Mikheev
49c6e50c31 Print '--version' and '--help' messages without timestamps 2020-12-08 23:14:49 +01:00
CedricMocquillon
2d3d22025a Avoid height for empty message in AutoSizedTextBox 2020-12-07 14:57:25 +01:00
Petr Mikheev
5734551ff3 Add time to logs. Redirect OSG log to OpenMW log. 2020-12-05 13:46:02 +01:00
AnyOldName3
48f397f168 Remove existing shader when no longer required 2020-12-03 21:06:02 +00:00
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.
2020-12-03 18:41:32 +00:00
Alexei Dobrohotov
db9c174ca8 Make NIF particle node handling more generic 2020-11-30 12:33:18 +03:00
Andrei Kortunov
8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
AnyOldName3
86fad60c7d Merge branch 'roots' into 'master'
Handle multiple root nodes (bug #5604)

Closes #5604

See merge request OpenMW/openmw!428
2020-11-29 01:25:22 +00:00
psi29a
dc1bd8ec29 Merge branch 'osgAnimation_basics' into 'master'
Collada animation support

See merge request OpenMW/openmw!421
2020-11-28 16:55:26 +00:00
Nelsson Huotari
55dcc6582a Don't duplicate getFileExtension, use OpenMW's namespaces 2020-11-28 15:03:10 +02:00
Alexei Dobrohotov
5b6377b061 Handle multiple root nodes (bug #5604) 2020-11-28 13:25:39 +03:00
Andrei Kortunov
4acd910b37 Rework file error messages handling 2020-11-26 18:53:56 +04:00
Nelsson Huotari
08dcbe30b3 Earlier nullptr check 2020-11-20 19:46:08 +02:00
Nelsson Huotari
3232faa703 Use const ref instead of value 2020-11-20 19:41:01 +02:00
Nelsson Huotari
32d4344803 Don't copy osga-data in base class keyframecontroller, fix warnings. 2020-11-20 19:38:29 +02:00
psi29a
f95d2cf54c Merge branch 'update_recastnavigation' into 'master'
Update recastnavigation

See merge request OpenMW/openmw!420
2020-11-19 06:44:46 +00:00
Nelsson Huotari
6e77ad1f6a OSG-Collada animation support 2020-11-19 01:11:56 +02:00
Nelsson Huotari
f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 2020-11-18 22:48:47 +02:00
AnyOldName3
37661bffea Merge branch 'shadowdisable-fix' into 'master'
Make disableShadowsForStateSet a no-op when shadows are disabled

See merge request OpenMW/openmw!205
2020-11-18 18:56:36 +00:00
elsid
9b11b8a27b
Fix boundary check 2020-11-18 18:52:00 +01:00
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
2020-11-16 21:01:20 +00:00
psi29a
6064d3e741 Merge branch 'boundingvolume' into 'master'
Read NIF bounding volume data correctly

See merge request OpenMW/openmw!407
2020-11-14 13:19:29 +00:00
Alexei Dobrohotov
df9667e923 Read NIF bounding volume data correctly 2020-11-14 14:16:29 +03:00
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
2020-11-14 09:30:57 +00:00
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.
2020-11-14 02:04:46 +00:00
Alexei Dobrohotov
117697ea22 Fix NiStringPalette loading 2020-11-14 01:12:32 +03:00
Alexei Dobrohotov
8a6d3d1b4f Minor fixes
Fix extra semicolon
Disable collision avoidance if AI is disabled
2020-11-13 22:53:12 +03:00
AnyOldName3
981fffe590 Merge branch 'itsakindoftemplatemagic' into 'master'
Fix MSVC2017 builds

See merge request OpenMW/openmw!404
2020-11-13 17:22:22 +00:00
AnyOldName3
1e0df23d14 Merge branch 'shadows-bin' into 'master'
Use a custom renderbin to avoid pointless OpenGL state switches

See merge request OpenMW/openmw!402
2020-11-13 16:29:41 +00:00
Evil Eye
94c89e6d5e check ValueTs 2020-11-13 16:41:45 +01:00
AnyOldName3
fcfd340c69 Actually copy alpha blended drawables to the new stategraph 2020-11-12 23:23:40 +00:00
Evil Eye
d8897c4509 remove inline and use enable_if_t 2020-11-12 20:46:45 +01:00
Evil Eye
d8d4351962 fix MSVC2017 builds 2020-11-12 19:45:32 +01:00
AnyOldName3
55f65752fd Don't bind unnecessary colour buffer when drawing shadow maps 2020-11-12 17:55:10 +00:00
AnyOldName3
cdbf19a508 Tidy up run-on lines 2020-11-12 17:04:23 +00:00
AnyOldName3
296dce470a Spelling fix 2020-11-12 16:58:29 +00:00
AnyOldName3
72f7e6a702 Handle all shadow alpha uniforms in shadowsbin 2020-11-12 00:26:30 +00:00
AnyOldName3
5d046bc95d Mark override 2020-11-11 14:58:06 +00:00
Alexei Dobrohotov
a46699fb1e Handle NiGeomMorpherController interpolator list 2020-11-10 23:23:11 +03:00
Alexei Dobrohotov
f3f5dcb016 Read a few more NIF types
NiFloatInterpolator, NiPoint3Interpolator, NiTransformInterpolator, NiBoolInterpolator
Update a few existing controller records
Update NiSkinInstance
2020-11-10 22:37:39 +03:00
psi29a
ed8342ebc9 Merge branch 'niffile' into 'master'
Remove NIFFile settings manager dependency

See merge request OpenMW/openmw!398
2020-11-10 09:03:10 +00:00
Alexei Dobrohotov
c857588ee9 Remove NIFFile settings manager dependency 2020-11-09 14:24:48 +03:00
Alexei Dobrohotov
b523574090 Remove shader visitor settings manager dependency 2020-11-09 13:59:59 +03:00
Alexei Dobrohotov
1d07361f08 Read a few more NIF types
BSXFlags, NiTransformData, BSBound, BSFadeNode, bhkBlendController
2020-11-09 00:19:35 +03:00
Alexei Dobrohotov
a38c629425 Read NiSkinPartition 2020-11-08 13:23:18 +03:00
Alexei Dobrohotov
afea11b70a Read NiStringPalette and NiBoolData 2020-11-08 13:23:18 +03:00
Alexei Dobrohotov
c79f509652 Misc NIF loader improvements
Bullet NIF loader cleanup
Collect all extra records of a node
Remove code duplication in geometry type detection in OSG-side NIF loader
2020-11-08 13:23:18 +03:00
Alexei Dobrohotov
7e63afdecf Allow loading arbitrary NIF files 2020-11-08 13:23:18 +03:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
AnyOldName3
449506fef1 Attempt to explain what shadowsbin is doing 2020-10-31 19:06:20 +00:00
Andrei Kortunov
64ba81ecf2 Fix some issues, found by CoverityScan 2020-10-28 18:02:31 +04:00
Andrei Kortunov
00503d86e1 Try to disable CoverityScan warning in code with explanation 2020-10-28 18:01:42 +04:00
AnyOldName3
5869ac71e3 Merge all composing variables, not just those in destination already
This resolves a regression where the local openmw.cfg doesn't exist, so
we fall back to the global openmw.cfg, but because we've not loaded
anything from the local openmw.cfg, there are no variables with which to
merge.
2020-10-28 00:36:49 +00:00
psi29a
3ccb424faf Merge branch 'nifstuff' into 'master'
Try to fix macOS build

See merge request OpenMW/openmw!378
2020-10-26 13:32:19 +00:00
Alexei Dobrohotov
7e521788e9 Try to fix build 2020-10-26 15:09:31 +03:00
psi29a
fa9278e25b Merge branch 'boost_min_ver' into 'master'
set minimal boost version; remove #ifdef boost version checks

See merge request OpenMW/openmw!376
2020-10-26 08:13:24 +00:00
psi29a
ff6f0413f0 Merge branch 'nifstuff' into 'master'
Minor NIF fixes and cleanup

See merge request OpenMW/openmw!377
2020-10-26 08:12:49 +00:00
Bret Curtis
175e29af00
Merge pull request #3022 from akortunov/shaders
Allow to assign custom shaders to nodes
2020-10-26 09:07:13 +01:00
Alexei Dobrohotov
4fc5e22e9e NIF fixes and cleanup
Get rid of NodeIndexHolder
Use unsigned 32-bit type for NIF record index
Fix calculation of the number of UV sets
2020-10-26 02:51:25 +03:00
Bret Curtis
4032b754e4 set minimal boost version; remove #ifdef boost version checks 2020-10-25 22:43:10 +01:00
Alexei Dobrohotov
a78aa6b22c Merge branch 'nipixeldata' into 'master'
Clean up palettized NiPixelData loading

See merge request OpenMW/openmw!374
2020-10-25 21:22:15 +00:00
Andrei Kortunov
660df19ff7 Allow to assign custom shaders to nodes 2020-10-25 18:22:16 +04:00
unknown
71e78c66cd Re-add missing includes removed in 5a824d0333 2020-10-25 14:33:23 +01:00
Alexei Dobrohotov
71056c6014 Clean up palettized NiPixelData loading 2020-10-25 14:37:29 +03:00
Bret Curtis
0e0c091e15 add more optionals and casserts for windows 2020-10-25 01:34:04 +02:00
Bret Curtis
4a54d375cc add cassert for windows 2020-10-25 01:31:05 +02:00
Bret Curtis
f6bead88a9 purge boost/optional.hpp headers 2020-10-25 00:58:44 +02:00
Bret Curtis
62b0781f7d use std::optional instead of boost::optional 2020-10-25 00:33:41 +02:00
psi29a
957a1425d1 Merge branch 'cleanup_1' into 'master'
Cleanup 1

See merge request OpenMW/openmw!365
2020-10-24 18:43:03 +00:00
psi29a
fb63f8058f Merge branch 'hash' into 'master'
Rewrite compressed BSA hash calculation again

See merge request OpenMW/openmw!368
2020-10-23 19:55:53 +00:00
Alexei Dobrohotov
45c155b054 Rewrite compressed BSA hash calculation again 2020-10-23 21:19:58 +03:00
AnyOldName3
f7dddb8857 Merge branch '3' of https://gitlab.com/bzzt/openmw into shadows-bin
This won't actually work.
2020-10-23 17:55:15 +01:00
AnyOldName3
538314b03a Make path settings have path type 2020-10-23 15:34:41 +01:00
AnyOldName3
f57851587d Fix edge case where FallbackMap has no comma 2020-10-23 13:16:51 +01:00
AnyOldName3
ce0966b9b7 Improve validate implementation 2020-10-23 13:13:47 +01:00
AnyOldName3
350f6e61f7 Move FallbackMap validator implementation to source file 2020-10-23 13:03:36 +01:00
AnyOldName3
8b28b6e55e Compose BSA, context and script blacklist lists
These would only take their value from the highest priority source, so
specifying `openmw --content anExtraEsp.esp` would override all the
content files in the user cfg file, and the user cfg file would override
any in the global/local one.
2020-10-23 01:58:43 +01:00
AnyOldName3
fca8634b74 Remove debugging lines 2020-10-23 01:46:49 +01:00
AnyOldName3
cf81f1bbb7 Make composing variables compose in the expected order 2020-10-23 01:41:28 +01:00
Bret Curtis
5aa053c53e components/compiler/streamerrorhandler.cpp needs sstream for MacOS 2020-10-23 00:13:51 +02:00
Bret Curtis
e51ca542d4 components/config cleanup 2020-10-23 00:03:14 +02:00
Bret Curtis
5a824d0333 components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues 2020-10-22 23:57:53 +02:00
Bret Curtis
5475e696c8 components/bullethelpers cleanup; removed warnings by using override 2020-10-22 22:46:18 +02:00
Bret Curtis
d826fbdadf components/bsa cleanup 2020-10-22 22:39:59 +02:00
AnyOldName3
6c311f4a3d Partially revert 3a912485
While it solved the bug it was supposed to, it caused a regression where
the user config could no longer override the global config.
2020-10-22 21:38:22 +01:00
fredzio
1357bba0a0 Use some C++17 where it makes the code more readable
Also replace boost::optional
2020-10-22 07:15:16 +02:00
Bret Curtis
82431b752d removed unnessary bits that cmake should be doing for us; replace Misc::gcd with std::gcd 2020-10-20 23:38:05 +02:00
WW
d39aef3f5a Changed LZ4F_dctx* to LZ4F_decompressionContext_t for better compatibility. 2020-10-20 15:15:29 +00:00
Alexei Dobrohotov
1492ba4a53 Link against LZ4::LZ4 2020-10-19 22:36:02 +03:00
Alexei Dobrohotov
66d2b9c195 Add Skyrim SE BSA version support
Fix embedded file name loading
2020-10-19 22:31:42 +03:00
Andrei Kortunov
065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Andrei Kortunov
d7fadc933f Fix override warning with MyGUI 3.4 2020-10-18 10:02:25 +04:00
Bret Curtis
8050882baf
Merge pull request #3015 from akortunov/overrides
Mark overrided methods as overrides
2020-10-17 13:32:08 +02:00
AnyOldName3
df178ed97c Merge branch 'container-regressions' into 'master'
Fix container regressions

See merge request OpenMW/openmw!346

(cherry picked from commit b0aee6f83d4cddb0116284b197913f9687dd9cee)

95e7a22d fix container regressions
2020-10-16 22:55:10 +00:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
psi29a
c16fa27407 Merge branch 'async-physics' into 'master'
Async physics

See merge request OpenMW/openmw!248
2020-10-15 08:34:26 +00:00
fredzio
3c2504b442 Process movement queue in one or several background threads
Before movement calculation, the main thread prepare a
vector of ActorFrameData, which contains all data necessary to perform
the simulation, and feed it to the solver. At the same time it fetches
the result from the previous background simulation, which in turn is
used by the game mechanics.
Other functions of the physics system (weapon hit for instance)
interrupt the background simulation, with some exceptions described
below.

The number of threads is controlled by the numeric setting

[Physics]
async num threads

In case 'async num threads' > 1 and Bullet doesn't support multiple threads,
1 async thread will be used. 0 means synchronous solver.
Additional settings (will be silently switched off if async num threads = 0)

[Physics]
defer aabb update

Update AABBs of actors and objects in the background thread(s). It is not an especially
costly operation, but it needs exclusive access to the collision world, which blocks
other operations. Since AABB needs to be updated for collision detection, one can queue
them to defer update before start of the movement solver. Extensive tests on as much
as one installation (mine) show no drawback having that switched on.

[Physics]
lineofsight keep inactive cache

Control for how long (how many frames) the line of sight (LOS) request will be kept updated.
When a request for LOS is made for the first time, the background threads are stopped to
service it. From now on, the LOS will be refreshed preemptively as part of the background
routine until it is not required for lineofsight keep inactive cache frames. This mean
that subsequent request will not interrupt the background computation.
2020-10-15 06:41:35 +02:00
fredzio
4ea07639b8 Unbreak build with cmake < 3.12
This reverts commit 3cadc16f88.
2020-10-14 06:15:23 +02:00
Assumeru
72549651e0
Rework container resolution (#3006)
* Rework container resolution

* add optional argument to getCount

* remove now-redundant changes

* undo worldimp changes

* move save-fixing code to InventoryState

* replace Rng instances with Seeds
2020-10-13 17:46:32 +02:00
Bret Curtis
c99be77a32
Merge pull request #3008 from akortunov/strings
Rework fixed strings handling
2020-10-13 17:37:48 +02:00
psi29a
82736f013d Merge branch 'objectlib' into 'master'
Convert components to an object library.

See merge request OpenMW/openmw!342
2020-10-13 13:32:43 +00:00
psi29a
9a912486f9 Merge branch 'deprecated-exception' into 'master'
Use C++11 exception specification

See merge request OpenMW/openmw!343
2020-10-13 13:31:48 +00:00
fredzio
3cadc16f88 Convert components to an OBJECT library. It saves space in the object
directory (about 1G on an optimized build on Windows and BSD).
Build should run somewhat fast as well.
2020-10-13 14:10:52 +02:00
Bret Curtis
11c938b176
Merge pull request #3011 from elsid/navmesh_fixes
Navmesh fixes
2020-10-12 11:22:26 +02:00
fredzio
460e69e92a Get rid of warning: dynamic exception specifications are deprecated 2020-10-10 12:12:55 +02:00
Alexei Dobrohotov
05cd005b30 Fix NiTriStripsData loading 2020-10-09 19:37:54 +03:00
Alexei Dobrohotov
9f08dc9968 Revert "Merge branch 'skinning' into 'master'"
This reverts merge request !327
2020-10-08 23:24:28 +00:00
elsid
7591d45008
Use memcpy to create navmesh key
Implementation with memcpy is ~13 times faster.
2020-10-08 19:55:56 +02:00
elsid
f637dc38bd
Add cached flag to update navmesh status 2020-10-08 19:55:55 +02:00
elsid
eb140ed15f
Write unknown status numeric value 2020-10-08 19:55:55 +02:00
elsid
7d73e73cad
Consider tile as not removed when it is not found 2020-10-08 19:55:55 +02:00
Alexei Dobrohotov
6be808e301 RigGeometry: convert some pairs to structs 2020-10-08 03:05:59 +03:00
psi29a
ee22081ae1 Merge branch 'nifgobrrrr' into 'master'
More NIF stuff

See merge request OpenMW/openmw!324
2020-10-07 10:22:56 +00:00
psi29a
bca698d951 Merge branch 'shader_line_numbering' into 'master'
Correctly resetting line numbering during shader processing.

See merge request OpenMW/openmw!317
2020-10-07 07:16:45 +00:00
Alexei Dobrohotov
df1014303d Add more generic extra data NIF types 2020-10-06 21:21:55 +03:00
Alexei Dobrohotov
302d8eed27 Clean up Roll- and FlipController implementation 2020-10-06 20:47:06 +03:00
Alexei Dobrohotov
0d02a3392a Clean up 2020-10-06 20:36:10 +03:00
Alexei Dobrohotov
e7c37f21b7 Add NiFloatInterpController abstraction 2020-10-06 20:24:05 +03:00
Andrei Kortunov
822764d0fa Rework fixed strings handling 2020-10-05 21:52:22 +04:00
Alexei Dobrohotov
29ccb09da5 Introduce some extended NIF definitions 2020-10-04 13:18:56 +03:00
Mads Buvik Sandvei
d5450a7d88 Correctly resetting line numbering during shader processing. 2020-10-03 14:22:34 +02:00
Alexei Dobrohotov
4e22c2687f niffile.cpp cleanup 2020-10-02 21:50:54 +03:00
psi29a
4faaa86449 Merge branch 'cyclic_includes' into 'master'
More accurate detection of cyclic includes

See merge request OpenMW/openmw!281
2020-09-30 05:39:28 +00:00
AnyOldName3
a338e8c561 Actually set the uvSet value
This got lost when uvSet was made into a local variable.
2020-09-24 17:13:09 +01:00
AnyOldName3
390fb4f12e Disable OpenGL Debug stuff when SDL doesn't provide the necessary definitions 2020-09-21 00:49:09 +01:00
psi29a
22c3588d0d Merge branch '4771-and-4631' into 'master'
Try lower MSAA level if the requested value isn't available

Closes #4471 and #4631

See merge request OpenMW/openmw!297

(cherry picked from commit b3db387512340a5e9a77427c2d7d9d88c2340056)

da0aef7a Retrieve SDL OpenGL attributes after context creation
a51e63b3 Try lower MSAA levels if OpenGL context doesn't have what we requested
c4e92a0a Update CHANGELOG.md
2020-09-20 12:35:26 +00:00
psi29a
87028e1640 Merge branch 'flipping-heck' into 'master'
Make NiFlipControllers only affect base texture

Closes #2069

See merge request OpenMW/openmw!301
2020-09-20 12:20:18 +00:00
AnyOldName3
3f61ff3a44 Make OpenGL debugging optional 2020-09-19 23:30:34 +01:00
AnyOldName3
441c09578a Merge remote-tracking branch 'origin/khr_debug' into khr_debug 2020-09-19 23:09:11 +01:00
AnyOldName3
b2cb98d30e Fix NiFlipController
NiFlipControllers *always* affect the base texture, even if no base
texture is bound. When no base texture is bound, they default to UV set
zero and to having wrapped UV coordinates, instead of using the settings
for the disabled base texture.
2020-09-16 23:03:42 +01:00
AnyOldName3
85b5fdee35 Discard the alpha channel of 16-bit TGAs, just like Morrowind 2020-09-12 00:20:44 +01:00
Andrei Kortunov
9f1fbd56a3 Fix SummonKey comparison function 2020-09-04 13:45:38 +04:00
Andrei Kortunov
67eace1028 Use struct instead of tuple 2020-08-29 11:24:08 +04:00
Andrei Kortunov
924f634bda Support for multiple summons with same ID in the single spell 2020-08-28 21:14:54 +04:00
psi29a
f90a049702 Merge branch 'movement_refactoring' into 'master'
Refactoring related to "smooth movement"

See merge request OpenMW/openmw!285

(cherry picked from commit 6eaf0a389d5aed3b74ab1a7cf89574612f964bdf)

e847b4c8 Split getSpeed() to getMaxSpeed() and getCurrentSpeed()
a96c46bc Refactor calculation of movement.mSpeedFactor
03ee9090 Use getMaxSpeed instead of getCurrentSpeed where it makes sense.
a178af5c Create helper functions `normalizeAngle` and `rotateVec2f`
2020-08-27 11:54:30 +00:00
AnyOldName3
fd14dad789 const osg::ref_ptf reference should be faster than value as constructor and destructor are non-trivial
I played around in GodBolt and got into an argument to determine this. The difference will be immeasurably small, but my curiosity has been satisfied.
2020-08-20 03:01:43 +01:00
AnyOldName3
707204133d Double-buffer shadow uniforms that change each frame 2020-08-20 00:38:13 +01:00
AnyOldName3
ce98d7053b Double buffer view-dependent data stateset 2020-08-19 22:55:41 +01:00
AnyOldName3
98b2d5d921 Make shadow debug HUD thread-safe
* Double buffer the frustum uniforms.
* Don't mess with the debug geometry's StateSet.
* Change two-element vectors to arrays so the size is explicit.
2020-08-19 19:29:19 +01:00
Andrei Kortunov
215ddb9106 Do not print warnings for VisController 2020-08-12 11:16:37 +04:00
Bret Curtis
05a19f4f93
Merge pull request #2984 from Capostrophic/optimizer
Avoid optimizing animated shapes once again (regression #5565)
2020-08-07 22:09:02 +02:00
Bret Curtis
30b8e6eda9
Merge pull request #2987 from Capostrophic/bezier
Add quadratic interpolation for scalars and vectors (part of #2379)
2020-08-07 21:53:23 +02:00
Capostrophic
aa131262ea Implement quadratic interpolation for scalars and vectors 2020-08-07 11:13:53 +03:00
Capostrophic
35de34c019 Don't clamp GeomMorpherController recovered weight value
Seems that Morrowind doesn't do it.
2020-08-07 11:13:53 +03:00
Capostrophic
a211527b4b Fix AppVeyor warnings 2020-08-07 09:59:16 +03:00
Mads Buvik Sandvei
0d6be9bd18 More accurate detection of cyclic includes 2020-08-06 01:16:19 +02:00
Capostrophic
8c213cbfb1 Avoid optimizing animated shapes once again (regression #5565) 2020-08-05 22:39:48 +03:00
Mads Buvik Sandvei
045b4566dd Merge branch 'master' into 'resize_breaks_window' 2020-08-05 17:10:16 +00:00
Mads Buvik Sandvei
2ed12a398d addLineDirectivesAfterConditionalBlocks move check for npos to catch all npos 2020-08-04 01:46:54 +00:00
Capostrophic
3d31d21bc2 Don't encapsulate NIF transformation changes
Currently that causes issues
2020-07-29 20:46:36 +03:00
Evil Eye
6ad20ec9c7 Mutate base records when adding/removing spells 2020-07-28 08:33:28 +02:00
Capostrophic
46825e8a4d Move NIF record index back to a separate user object
This makes sure it's never erroneously optimized out. NodeIndexHolders don't need to be cloned as their record index is never supposed to be changed.
2020-07-26 09:57:43 +03:00
Capostrophic
f93655e803 Encapsulate NIF transform changes in NifOsg::MatrixTransform 2020-07-26 09:57:43 +03:00
Capostrophic
ad87289d59 Fix NifOsg::MatrixTransform constructor inheritance 2020-07-26 09:57:43 +03:00
Capostrophic
cc791af0f5 Serialization fixes
Make sure NifOsg::MatrixTransform serialization behaves as intended
Add a dummy serializer for NifOsg::UVController
2020-07-26 09:57:43 +03:00
Capostrophic
3b55d657e5 CopyRigVisitor: Log the number of parents in multiple parents error 2020-07-26 09:57:43 +03:00
Capostrophic
a61267f57d Replace NodeUserData with a custom transform node 2020-07-26 09:57:43 +03:00
Capostrophic
4c9cefefdd Get rid of NifOsg::CollisionSwitch 2020-07-26 09:57:43 +03:00
psi29a
fc7266d4ee Merge branch 'Improve-cell-name-autocompleter-implementation' into 'master'
#5520 Improve cell name autocompleter implementation

See merge request OpenMW/openmw!267
2020-07-25 13:58:42 +00:00
Cédric Mocquillon
2e27de027e Add members in AdvancedPage class to avoid memory leak when the list of cells names is updated as we recreated a completer at each notification event 2020-07-25 13:58:42 +00:00
Petr Mikheev
8cdc7031f5 Support vectors in settings.cfg 2020-07-24 21:47:49 +02:00
Mads Buvik Sandvei
90c3089370 Update sdlvideowrapper.cpp 2020-07-22 12:17:03 +00:00
Mads Buvik Sandvei
8323f7f68d Alternative fix 2020-07-14 19:54:50 +02:00
Mads Buvik Sandvei
8aa57a745a Fix 2020-07-14 13:19:51 +02:00
Bret Curtis
f47d2bb8af make sure we use case-sensative BULLET_ prefix 2020-07-10 15:01:44 +02:00
Bret Curtis
67c2f0b26c
Merge pull request #2951 from elsid/sound_object_pool
Store SoundManager sounds and streams in object pool
2020-07-06 07:18:46 +02:00
Bret Curtis
0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
Replace OpenThreads by std types
2020-07-04 13:11:23 +02:00
Bret Curtis
28d85e4030
Merge pull request #2926 from akortunov/warnfix
Use QMultiMap instead of QMap
2020-07-04 11:39:11 +02:00
elsid
02f9b44f01
Use RAII for object ptr from pool 2020-07-04 01:15:27 +02:00
elsid
6ca29c6107
Use common type for pool of sounds and streams 2020-07-04 01:09:04 +02:00
elsid
56bc462007
Make all stats fit into the window 2020-07-03 20:49:23 +02:00
Frederic Chardon
f268bc13f1 Do not set particle lifetime to 0 (#5472) 2020-07-01 11:04:18 +00:00
Andrei Kortunov
ef6fe8d52a Fix crash in the stateset updater (regression #5478) 2020-06-30 09:01:17 +04:00
Andrei Kortunov
d0fe15b095 Use meaningful names instead of mSkill1 and mSkill2 2020-06-26 11:47:59 +04:00
elsid
40ad87bc4d
Replace OpenThreads by std types 2020-06-25 22:16:09 +02:00
elsid
3251687a3d
Use std types for WorkQueue 2020-06-24 21:23:31 +02:00
Andrei Kortunov
487bfed672 Use QMultiMap instead of QMap 2020-06-24 15:13:56 +04:00
Bret Curtis
61a5c6125d #5480: Drop Qt4 support and require Qt 5.12 or later. 2020-06-22 12:17:06 +02:00
Cédric Mocquillon
6e397e4008 Add a search function to the "Datafiles" tab of the OpenMW launcher 2020-06-21 14:45:30 +00:00
psi29a
f94ca28dbe #5463: Optimizer fix, problem was indeed related to tangents not being transformd properly. 2020-06-18 17:23:16 +00:00
Andrei Kortunov
6357bc3dad Catch MyGUI exceptions in the FontLoader destructor 2020-06-18 15:13:02 +04:00
Andrei Kortunov
808c905e1f Initialize fields to avoid undefined behaviour 2020-06-18 14:50:06 +04:00
Andrei Kortunov
0e810c8d32 Fix cell borders color 2020-06-18 09:12:56 +04:00
Bret Curtis
c944acf26b
Merge pull request #2913 from akortunov/warnfix
Get rid of ECLD and dependencies
2020-06-17 15:00:57 +02:00
psi29a
1724099d34 Merge branch 'mingw' into 'master'
Fix mingw Windows build

See merge request OpenMW/openmw!213
2020-06-17 09:19:02 +00:00
Andrei Kortunov
d1a3cc98ff Get rid of ECLD and dependencies 2020-06-17 13:09:16 +04:00
psi29a
66b5cf9f1d Merge branch 'master' into 'near_far_mode_in_launcher'
# Conflicts:
#   files/settings-default.cfg
2020-06-16 23:05:07 +00:00
Bret Curtis
b5a2e809cd
Merge pull request #2911 from unelsson/fixdaematerialseq
Use sequenced texture units with .dae/collada
2020-06-16 16:43:04 +02:00
Andrei Kortunov
805d826d5b Fix Clang warnings about invalid overrides 2020-06-16 16:59:37 +04:00
Nelsson Huotari
5bc44cf2ee Use sequenced texture units with .dae/collada 2020-06-16 14:37:06 +03:00
psi29a
0dc7715c35 Merge branch 'object_paging_retry' into 'master'
Object Paging

See merge request OpenMW/openmw!209
2020-06-16 08:21:54 +00:00
elsid
00197e1cd9
Optimize recast mesh size by vertex deduplication 2020-06-16 00:51:36 +02:00
Bret Curtis
0d1b7fd3f0
Merge pull request #2908 from Capostrophic/uvsets
Remove 63 UV set limit
2020-06-15 07:54:51 +02:00
Capostrophic
6f94848dec Remove 63 UV set limit (now 65535) 2020-06-14 23:02:03 +03:00
elsid
b095ca6c86
Use actor speed to define area cost for pathfinding 2020-06-13 02:24:52 +02:00
elsid
439588d10e
Remove unused mOffMeshConnectionIds 2020-06-13 02:24:51 +02:00
bzzt lost a hitlab login
26ab176389 profiling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
daa2761c2d alphablending & billboardfix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
f12879a04c allow statesetupdater as cullcallback = faster + works in paging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
4238fbccdf view fix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
9f0398c021 intersection by refnum tag + enable paging for acti,door,cont
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
65cd2c77aa static intersections
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
c7fda6d280 activegrid paging = 2xfps
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
b4af2ac672 avoid blocking on pagerebuild
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
17637c6575 pagerebuild on disable
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
c1ebd9474b stop navmesh updates when ai off
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
ffbed7ee38 loadingscreen
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
da92ad329b move renderbin
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
b7b31926a8 fix map glitch + cleanup
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
77b92aee9c fix shadowsglitch by bounds overflow
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
69514dfd46 ico redundency fix + stats counter
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt lost a hitlab login
1f891ca46d billboarding support for tree mods
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt lost a hitlab login
cf439581e1 comply by elsid review
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt lost a hitlab login
ce505a9bb3 crashfix + optimiziation
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt
d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
elsid
c4cd3b2c4f
Add pathgrid to navmesh as off mesh connection 2020-06-12 21:04:02 +02:00
Andrei Kortunov
d997842f8d Use FourCC to declare all ESM record names 2020-06-09 10:07:37 +04:00
Bret Curtis
cd97d0c61c
Merge branch 'master' into automove 2020-06-08 11:42:05 +02:00
Roman Siromakha
27a113167c
Merge pull request #2890 from akortunov/position
Do not store object position, if it is the same as in CellRef
2020-06-08 01:12:47 +02:00
Alexei Dobrohotov
3f0cf65335
Merge pull request #2895 from elsid/esm_objectstate_final
Add final for derived and overriden from ESM::ObjectsState
2020-06-08 02:02:57 +03:00
Andrei Kortunov
75e7a3e8b1 Do not store object position, if it is the same as in CellRef 2020-06-07 09:25:46 +04:00
elsid
5209f5ff6d
Mark all derived classes from ESM::ObjectsState and overriden functions as final 2020-06-06 23:00:53 +02:00
Capostrophic
e02b66cdf4 Ignore bogus string arguments for Disable/Enable again 2020-06-06 20:04:09 +03:00
Capostrophic
1873da4c91 Don't save to or read automove state from saved games (#5452) 2020-06-06 15:58:21 +03:00
Andrei Kortunov
6de97e6bc2 Remove redundant variables from RenderingManager 2020-06-06 14:10:24 +04:00
Bret Curtis
204d2acf25
Merge pull request #2092 from akortunov/float_stats
Store attributes and skills values as floats
2020-06-05 22:38:12 +02:00
Bret Curtis
5d019c27ae
Merge pull request #2887 from akortunov/worldmanager
Introduce a separate class to control world date and time
2020-06-05 13:15:44 +02:00
Andrei Kortunov
81805b7263 Introduce a separate class to control world date and time 2020-06-05 12:07:32 +04:00
elsid
d35ccc39c6
Fix build tests with double precision bullet 2020-06-03 21:34:05 +02:00
Andrei Kortunov
5468fcb29f Store attributes and skills values as floats (bug #4021) 2020-06-03 17:34:15 +04:00
Andrei Kortunov
3dce225f28 Implement vanilla-style corprus handling (bug #3714, bug #4623) 2020-06-03 12:58:17 +04:00
Capostrophic
7aca18f92b Handle NiLines (feature #5445) 2020-05-30 19:09:34 +03:00
Bret Curtis
505a5e9ca6
Merge pull request #2873 from Capostrophic/nifcleanup
NIFLoader adjustments
2020-05-29 23:44:55 +02:00
Bret Curtis
9d0855baa5
Merge pull request #2866 from elsid/extend_osg_stats
Extend OSG stats
2020-05-29 23:23:38 +02:00
Andrei Kortunov
396afe79f1 Move font loading to the FontLoader 2020-05-28 23:18:31 +04:00
Roman Siromakha
b3b8480d49
Merge pull request #2868 from Capostrophic/opcodes
Give new opcodes to old functions made custom
2020-05-26 14:08:27 +02:00
Capostrophic
74a74209ac Allow junk (data-less) NiParticleColorModifiers 2020-05-26 15:08:10 +03:00
Capostrophic
7a9403aeed Remove unnecessary casts 2020-05-26 15:01:26 +03:00
Capostrophic
fc9a10ba48 Streamline node controller handling
Reduce code duplication
Allow non-animated nodes controlled by NiVisController to be optimized out
2020-05-26 15:00:47 +03:00
Capostrophic
89a2c69a61 Support particle node transformations 2020-05-25 23:51:15 +03:00
Fanael Linithien
e8ec62b298 Use all-lowercase names for windows API headers
This allows the code to successfully cross-compile from hosts with case
sensitive file names, like linux.
2020-05-24 16:49:20 +02:00
laikh
d6e4fbe085 Fix mingw Windows build 2020-05-24 08:53:43 +08:00
Capostrophic
e0ecbc08df Give new opcodes to old functions made custom 2020-05-23 11:57:15 +03:00
elsid
69df6098e5
Report frame number, number of actors and objects to stats 2020-05-22 17:39:18 +02:00
Alexei Dobrohotov
a68a4338a0
Merge pull request #2841 from Assumeru/consistent-refs
Script reference consistency
2020-05-22 12:48:50 +03:00
elsid
a59e25e093
Optimize MWRender::Animation::hasAnimation
Use a set to check for group start existence.
Reduce time taken from 2.6% to 0.08% and
MWMechanics::MechanicsManager::update from 7% to 5%
in relative CPU time usage for a scene with ~100 actors.
2020-05-21 16:21:11 +02:00
Bret Curtis
88a7ecc18d
Merge pull request #2528 from akortunov/effectstime
Use real time to update spell effects
2020-05-18 11:07:48 +02:00
Evil Eye
3875b837bc make MenuMode, Random, GetSecondsPassed regular functions 2020-05-17 22:34:54 +02:00
Icecream95
f14db21745
Make disableShadowsForStateSet a no-op when shadows are disabled
Otherwise the GPU has to do useless shadow comparisons when shadows
are disabled.
2020-05-17 19:52:23 +12:00
Bret Curtis
59bda361f0
Merge pull request #2848 from akortunov/bullet
Fix Bullet flags usage
2020-05-16 23:22:34 +02:00
Andrei Kortunov
b5833f3c59 Use real time to update spell effects instead of game timestamps (bug #5165) 2020-05-16 11:00:28 +04:00
Bret Curtis
a04a41a429
Merge pull request #2843 from Capostrophic/nigeometry
Introduce NiGeometry abstraction
2020-05-15 17:35:39 +02:00
Bret Curtis
7da5558808
Merge pull request #2845 from akortunov/save_cleanup
Optimize characters data in savegame
2020-05-15 17:34:34 +02:00
Bret Curtis
f9fca8675b
Merge pull request #2846 from Capostrophic/envmap
CopyRigVisitor fixes (bug #5415)
2020-05-15 17:32:11 +02:00
Andrei Kortunov
add42830d9 Add a flag to use double-precision functions from Bullet 2020-05-15 12:48:47 +04:00
Capostrophic
78b1bbe130 Remove unnecessary null check 2020-05-15 10:34:49 +03:00
Bret Curtis
c69c7d0b3b
Merge pull request #2049 from elsid/bullet_double_precision
Support bullet double precision
2020-05-15 07:41:02 +02:00
Capostrophic
72e5043eda CopyRigVisitor fixes
Make sure it copies all relevant drawable parent nodes (e.g. including the node with the environment map effect)
Make sure it doesn't copy nodes multiple times
2020-05-15 01:12:06 +03:00
Andrei Kortunov
e6ca95174a Optimize characters data in savegame 2020-05-14 21:07:31 +04:00
Capostrophic
b665fed8f2 Introduce NiGeometry abstraction 2020-05-14 10:52:27 +03:00
Capostrophic
30558c2434 Try to resolve CI concerns 2020-05-14 10:00:33 +03:00
Capostrophic
915ffe2241 Handle non-node roots more gracefully (bug #5416) 2020-05-14 00:57:00 +03:00
Evil Eye
f0e2ee45fa reuse ImplicitRef and ExplicitRef for enable, disable, getdisabled, startscript; move scriptrunning and stopscript 2020-05-13 21:17:08 +02:00
Bret Curtis
bb30b44766
Merge pull request #2839 from Capostrophic/nipathcontroller
Add basic NiPathController support (movement only)
2020-05-13 21:06:54 +02:00
elsid
14d0ca4cd3
Cast float to btScalar 2020-05-13 18:44:11 +02:00
Capostrophic
30fc2e3e5e Add basic NiPathController support (movement only) 2020-05-13 18:01:22 +03:00
Capostrophic
5377e0491b Adjust NiPixelData loading 2020-05-13 17:00:41 +03:00
Capostrophic
a08a9518c3 NIF version adjustments
Cut down on obscure version numbers
Call generateVersion without using a stream object
2020-05-13 01:06:38 +03:00
Andrei Kortunov
d5806fd0ed Fix merge conflicts 2020-05-12 14:33:00 +04:00
Bret Curtis
42cba092b7
Merge pull request #2716 from akortunov/png
Store fog of war as a PNG image instead of TGA
2020-05-12 11:52:23 +02:00
Bret Curtis
2c743b6153
Merge pull request #2828 from Capostrophic/colormode
Improve color mode handling in shaders
2020-05-12 11:45:45 +02:00
Bret Curtis
4b30bf5699
Merge pull request #2829 from Capostrophic/logging
Log some more things
2020-05-12 11:44:05 +02:00
Bret Curtis
62290182eb
Merge pull request #2648 from Assumeru/start-scripts
Allow targeting non-unique actors with StartScript. Fixes #2311
2020-05-12 10:39:11 +02:00
Bret Curtis
507adac8cd
Merge pull request #2783 from akortunov/input
Refactor InputManager
2020-05-12 09:34:22 +02:00
unknown
3b4782959e Allow targeting non-unique actors with StartScript (bug #2311) 2020-05-10 14:57:06 +02:00
Capostrophic
b91d0d889f Fix warning
/home/travis/build/OpenMW/openmw/components/nifosg/nifloader.cpp:615:42: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                    if (hasVisController |= (ctrl->recType == Nif::RC_NiVisController))
                        ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/travis/build/OpenMW/openmw/components/nifosg/nifloader.cpp:615:42: note: place parentheses around the assignment to silence this warning
                    if (hasVisController |= (ctrl->recType == Nif::RC_NiVisController))
                                         ^
                        (                                                             )
2020-05-10 14:38:07 +03:00
Capostrophic
aa5161f99e Log some more things 2020-05-09 20:27:12 +03:00
Capostrophic
c0b322b264 Improve color mode handling in shaders 2020-05-09 16:15:10 +03:00
Andrei Kortunov
4a1e27ac21
Merge pull request #2824 from Capostrophic/cleanup
Cleanup
2020-05-09 14:46:17 +04:00
Andrei Kortunov
b33c4c920c Move all OICS handling to the separate file 2020-05-09 11:27:02 +04:00
Andrei Kortunov
f990150c49 Move video wrapper to the WindowsManager 2020-05-09 11:27:02 +04:00
psi29a
b72720f357 Merge branch 'shadow-transparency-rework' into 'master'
Only alpha-test shadows when necessary

See merge request OpenMW/openmw!170
2020-05-08 21:32:16 +00:00
Bret Curtis
aaa8990006
Merge pull request #2799 from Capostrophic/simplewaterfog
Fix simple water with radial fog enabled
2020-05-08 20:48:04 +02:00
Capostrophic
1bf2ddac4d Cleanup
Move static variable declaration out of the loop
Remove redundant boolean argument from applyDrawableProperties()
Improve HeightCullCallback class formatting
2020-05-07 18:54:09 +03:00
Bret Curtis
b8c467e2e0
Merge pull request #2787 from p4r4digm/screenshot-path
Added setting to change the directory screenshots are stored in
2020-05-04 17:11:49 +02:00
Bret Curtis
34181b9ae6
Merge pull request #2803 from elsid/disable_crash_catcher_env
Add env variable to disable crash catcher
2020-05-04 17:09:24 +02:00
elsid
1f3dfaedcc
Add tests for ShaderManager 2020-05-02 17:59:49 +02:00
elsid
edf002aa97
Rename argument shaderTemplate to templateName 2020-05-02 17:56:24 +02:00
Bret Curtis
f51476a3c5
Merge pull request #2816 from Capostrophic/switchlod
CollisionSwitch and Switch/LOD node fixes
2020-05-01 23:49:08 +02:00
elsid
b150d681a9
Update same navmesh tile with limited frequency 2020-05-01 18:05:58 +02:00
Bret Curtis
5f0f2f0f16 rename to better reflect what is going on per AnyOldName3 comment; added none option 2020-05-01 00:34:31 +02:00
elsid
10daadefbe
Add missing include 2020-04-30 21:58:00 +02:00
Bret Curtis
bf6daa7269
Merge pull request #2811 from Capostrophic/emitter
Allow particle emitters to be attached to an arbitrary node
2020-04-30 14:56:49 +02:00
Bret Curtis
1dc21919f6
Merge pull request #2815 from Capostrophic/tga
Use the new option to treat TGA files as TGA 1.0
2020-04-30 14:50:51 +02:00
Bret Curtis
b7f7aabd8b
Merge pull request #2806 from elsid/detournavigator_tests
Add detournavigator test for multiple worker threads
2020-04-30 14:48:02 +02:00
Capostrophic
957d2a890f Ignore empty children of osg::LOD and osg::Switch like in OSG 2020-04-30 15:04:58 +03:00
Capostrophic
63fe02b1ba CollisionSwitch and Switch/LOD node fixes
Properly apply transformations to both switch and LOD nodes
Allow both NiSwitchNode and NiLODNode to be the root node
Properly add CollisionSwitch into the scene graph
2020-04-30 15:04:57 +03:00
Bret Curtis
7345c89b54
Merge pull request #2813 from Capostrophic/collisionswitch
Fix collision switch node mask (again)
2020-04-30 13:50:09 +02:00
Capostrophic
16f6c7b27f Use the new option to treat TGA files as TGA 1.0 2020-04-30 09:57:58 +03:00
psi29a
bb5fe13e13 Make sure it is either one or the other with the default to bounding volumes. 2020-04-29 23:06:44 +00:00
Bret Curtis
d38c3e971c remove extra line 2020-04-29 17:05:08 +02:00
Bret Curtis
ae729a1ac7 add ability to set the type of near far method to be used in shadow calculation; default to bounding volumes; cleaned up code while there and re-ordered items 2020-04-29 16:36:48 +02:00
Capostrophic
89282d14aa Fix collision switch node mask (again) 2020-04-29 17:18:39 +03:00
elsid
899a6b5aa3
Workaround for GCC 5 bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636
2020-04-29 13:54:52 +02:00
Capostrophic
6b874e397b Make particle system cloning map names more sensible 2020-04-29 12:25:52 +03:00
Capostrophic
f516178ec9 Fix particle processor cloning
Extend emitter handling comment in NIF loader
2020-04-29 11:14:22 +03:00
Capostrophic
c08f9e13af Allow emitters to be attached to nodes after particle systems 2020-04-29 11:13:45 +03:00
psi29a
476a74c2d3 Merge branch 'bzzt_5_tight_scene_bound' into 'master'
Allow use of OSG's Bounding Volumes

See merge request OpenMW/openmw!189
2020-04-29 07:44:03 +00:00
Alexei Dobrohotov
0329003af7 Merge branch 'opcode2' into 'master'
Remove 2-arguments opcodes

See merge request OpenMW/openmw!187
2020-04-29 07:36:14 +00:00
Bret Curtis
9bad3666ab
Merge pull request #2810 from Capostrophic/hasviscontroller
Fix hidden node with NiVisController optimization
2020-04-29 07:10:44 +02:00
Bret Curtis
d77047e1cf
tab2space 2020-04-28 13:16:37 +02:00
Capostrophic
3b7fb9ec09 Use pipe-equal operator 2020-04-28 10:00:46 +03:00
AnyOldName3
a3b032bf2b Fix chameleon shadows 2020-04-27 23:49:48 +01:00
psi29a
9ab6657d8f Merge branch 'no_more_ttf_spam_in_stats' into 'master'
puts an end of error spam when OSG is compiled without Freetype support

See merge request OpenMW/openmw!188
2020-04-27 19:29:29 +00:00
Bret Curtis
31a75a962a Add 3 additional classes to be ignored who dumping "showscenegraph" debug output; less spammy 2020-04-27 11:56:10 +02:00
Bret Curtis
ca0adc25bb add two additional classes we do not need to serialize; less pam during showscenegraph debug dump. 2020-04-27 11:51:18 +02:00
Bret Curtis
886b9813ad Something changed in OSG 3.6 that makes the command "showscenegraph" less useful; it writes out raw data of images to the debug output file openmw.ogst. This commit adds the hint and restores default behaviour found in OSG 3.4 2020-04-27 11:40:49 +02:00
bzzt
dc33eeadf1 tightscenebound is uncessary after water bbfix 2020-04-27 08:42:46 +02:00
Bret Curtis
1870b4b345 catch and set with no _found; leave empty as empty string 2020-04-27 08:02:42 +02:00
Capostrophic
bbd15cccd5 Fix hidden node with NiVisController optimization 2020-04-27 00:21:34 +03:00
Bret Curtis
6d3f9ce307 puts an end of error spam when OSG is copmiled without Freetype support 2020-04-26 22:20:57 +02:00
elsid
bd1ef4dd6d
Add detournavigator test for multiple worker threads 2020-04-26 22:00:55 +02:00
Alexei Dobrohotov
d42cb4f16d
Merge pull request #2805 from elsid/detournavigator_update_callback
Use callback to handle changed tiles
2020-04-26 22:52:40 +03:00
Alexei Dobrohotov
f5b42107d3
Merge pull request #2807 from elsid/detournavigator_thread_jobs_stats
Add number of thread jobs to update jobs stats
2020-04-26 22:44:59 +03:00
fredzio
916a9641fc Delete support for 2-arguments opcodes - it was never used 2020-04-26 00:56:11 +02:00
elsid
df6e85b619
Use callback to handle changed tiles
Instead of collecting changed tiles into a temporary vector.
2020-04-25 17:56:41 +02:00
elsid
7502db1570
Add number of thread jobs to update jobs stats 2020-04-25 17:51:50 +02:00
elsid
066f0a744f
Add env variable to enable/disable crash catcher 2020-04-25 15:42:06 +02:00
elsid
c59c8ae1f4
Remove unused macro 2020-04-24 20:38:55 +02:00
Capostrophic
688e804548 Fix simple water with radial fog enabled 2020-04-24 13:52:53 +03:00
psi29a
3b9a51b8ac Merge branch 'bzzt_1_waterculling' into 'master'
waterculling

See merge request OpenMW/openmw!184
2020-04-24 10:38:16 +00:00
Bret Curtis
e7795f2bf7
Merge pull request #2775 from Capostrophic/dooractivation
Only disarm traps with keys when the door/container is locked (bug #5370)
2020-04-24 08:46:24 +02:00
Bret Curtis
ed970f4d17 Apply suggestion to components/terrain/terraingrid.hpp 2020-04-24 06:26:08 +00:00
elsid
7aaec5e989
Log shader template name on parse error 2020-04-23 19:52:17 +02:00
Bret Curtis
756ec7117b make mGrid (and friends) private again, create accessor method to return bool of mGrid.empty() 2020-04-23 17:40:10 +02:00
Bret Curtis
48713915cb re-use bzzts waterplane overlay for debug; makes it easier to test. To use this, set the env OPENMW_WATER_CULLING_DEBUG=1; You will see blue rectangles corresponding to water outlines. Once there are no more outlines, water is culled. You can further see this by pressing F3 3 times to check the the amount of quads. Before culling it should be around 1600, after culling it should drop to 0. 2020-04-23 11:12:10 +02:00
Bret Curtis
407fbe320e cleanup and use C++ version of FLT_MAX 2020-04-23 10:10:50 +02:00
bzzt
ed20d869b4 waterculling for both terrain 2020-04-23 08:53:21 +02:00
Bret Curtis
a4d1068d1a Merge branch '13' into 'master'
terrainshadowclusterculling

See merge request OpenMW/openmw!141
2020-04-22 21:42:50 +00:00
Bret Curtis
68549828b4 create static functions to set/get hidden node mask; compromise on magic numbers to make things easier to understand 2020-04-22 13:34:19 +02:00
Bret Curtis
e1a5435531 Merge commit '8a8107e8' 2020-04-22 13:22:54 +02:00
Capostrophic
9106e3646c Fix outdated bug tracker links 2020-04-22 01:45:11 +03:00
AnyOldName3
53b9b41159 Rely on existing alpha test for non-blended shadow casting 2020-04-21 18:18:55 +01:00
Chris Djali
71c46204ec
Merge pull request #2781 from mp3butcher/partsysfix
Particle System shading and lighting (fixing bug#3676 and #4949)
2020-04-20 21:29:50 +01:00
Julien Valentin
886fd5efc9 enable particle shading and force particle normal to (0.3,0.3,0.3)
and update changelog
2020-04-20 22:15:34 +02:00
Bret Curtis
8a8107e837 as it says; revert vismask and uncomplicate openmw 2020-04-20 20:57:38 +02:00
p4r4digm
0741fe5b80 removed path configuration and made screenshots just save in a folder 2020-04-20 09:22:50 -07:00
Bret Curtis
63bdc84f91 Merge branch 'remove_evil_const_cast' into 'master'
clean up code; purge const_cast

See merge request OpenMW/openmw!175
2020-04-20 09:22:34 +00:00
p4r4digm
2b54e6216b Added setting to change the directory screenshots are stored in 2020-04-19 16:38:57 -07:00
Bret Curtis
7ade0cb2c3
Merge pull request #2784 from Capostrophic/specular
Disable specular lighting for 4.0.0.2 and earlier files
2020-04-19 22:21:20 +02:00
fredzio
0630cc482c Compile helpviewer in components only when USE_QT is defined
It fixes build of OpenMW alone (wihtout launcher or OpenCS)
2020-04-19 19:37:40 +02:00
Bret Curtis
8c2f3ff007 clean up code; purge const_cast 2020-04-19 16:31:54 +02:00
Bret Curtis
4ae0bd1fae Merge branch 'helplink' into 'master'
Link to readthedocs documentation from OpenCS

See merge request OpenMW/openmw!171
2020-04-18 20:54:21 +00:00
Frederic Chardon
513ac8986d Add link to opencs documentation on readthedocs, available through
context menu.
The documentation opens in default browser.

There are 3 contexts:
- global: opens the OpenMW CS User Manual main page
- when a record is selected: opens the "Tables" page
- when the filter field is selected: opens the "Record Filters" page

There is also a link to the OpenCS tutorial in the help menu.
2020-04-18 20:54:21 +00:00
AnyOldName3
1cf2036386 Don't add empty PrimitiveSets (prevent undefined behaviour) 2020-04-18 02:38:20 +01:00
Capostrophic
c3cc8ee1e1 Disable specular lighting for 4.0.0.2 and earlier files 2020-04-17 14:08:29 +03:00
Julien Valentin
6e2a651252 fix particle alpha 2020-04-16 02:48:42 +02:00
Capostrophic
bbed9a70c5 Ignore traps of initially unlocked refs with assigned keys 2020-04-14 17:49:03 +03:00
elsid
208a50340d
Specialize DetourNavigator::ObjectId ctor for pointers
To fix msvc error:
components\detournavigator\objectid.hpp(14,13): error C2440: 'reinterpret_cast': cannot convert from 'const T' to 'size_t'
          with
          [
              T=unsigned long
          ]
2020-04-13 20:48:34 +02:00
Andrei Kortunov
8d4dde7b56
Merge branch 'master' into autocalc 2020-04-13 13:53:29 +04:00
Andrei Kortunov
3f61022f80 Merge branch 'unused_var' into 'master'
Remove unused field from QuadTreeBuilder

See merge request OpenMW/openmw!173
2020-04-12 03:29:09 +00:00
Capostrophic
ad333e88fe Handle enchantment autocalc flag as a flag (bug #5363) 2020-04-11 00:03:14 +03:00
fredzio
39a55318b0 Remove unused variable 2020-04-10 22:50:28 +02:00
Capostrophic
e1d635cd71 Make extra sure groups with special behavior aren't optimized out 2020-04-10 18:11:21 +03:00
AnyOldName3
12044a607b Only alpha-test shadows when necessary
Previously we always discarded shadow map fragments if the alpha channel of the output would have been low, but there were some (modded) assets that have non-one alpha but have testing or blending disabled so end up opaque anyway. This lets the shadows of those objects match.
2020-04-10 15:45:37 +01:00
Bret Curtis
328c3617b7
Merge pull request #2752 from Assumeru/parsing-errors
Reset errorhandler context
2020-04-05 10:03:34 +02:00
Andrei Kortunov
028760e108
Merge pull request #2758 from akortunov/warnfix
Fix some issues, found by CoverityScan
2020-04-04 21:34:26 +04:00
Capostrophic
5732b8e026 Use std::fill instead of loops to reset some arrays to defaults 2020-04-04 17:53:36 +03:00
Capostrophic
27d4fe9ee1 Fix ESM::Land oversights 2020-04-04 16:48:38 +03:00
Andrei Kortunov
a68d9aed4c Fix issues, found by CoverityScan 2020-04-04 17:45:26 +04:00
Evil Eye
8c433d587c less complicated context override 2020-04-04 14:09:00 +02:00
Andrei Kortunov
02d7b13075
Merge pull request #2529 from akortunov/nodecopy
Copy transformations data when we clone node
2020-04-04 15:04:49 +04:00
elsid
ef4a7089e4
Use template specialization for writeHNT to write raw arrays
To avoid passing explicit size argument where it's possible.
2020-04-04 01:12:49 +02:00
Roman Siromakha
3bd2c114a7
Merge pull request #2741 from akortunov/warnfix
Fix C5204 warnings by adding default virtual destructors
2020-04-04 00:12:07 +02:00
Evil Eye
a16727d5e3 implement move constructor 2020-04-02 20:27:52 +02:00
Evil Eye
8958e29187 reset errorhandler context 2020-04-02 20:14:52 +02:00
Bret Curtis
baf3c36a76
Merge pull request #2722 from akortunov/gyro
Rotate camera via gyroscope on mobile devices
2020-04-02 09:55:08 +02:00
Andrei Kortunov
e63325ebff Support for camera rotation via gyroscope on Android (feature #5311) 2020-04-01 19:57:04 +04:00
Capostrophic
80239235d3 Always create NiGeometry nodes as MatrixTransform 2020-03-31 13:04:03 +03:00
Alexei Dobrohotov
4bb41a52bf
Merge pull request #2740 from Assumeru/empty-string
Ignore unterminated empty strings
2020-03-30 20:22:56 +03:00
Bret Curtis
5df95b95f2
Merge branch 'master' into empty-string 2020-03-30 09:11:18 +02:00
Evil Eye
15a95add08 remove false positive 2020-03-29 22:40:22 +02:00
Evil Eye
e07fa37fa3 ignore final whitespace/comments 2020-03-29 22:29:22 +02:00
Capostrophic
69219c18a7 Make sure blank lines at the end of settings.cfg don't disappear 2020-03-28 19:15:43 +03:00
Capostrophic
bec5746fdd Improve blank line handling in settings writer (bug #5326) 2020-03-26 23:41:33 +03:00
Andrei Kortunov
2e7712a390 Fix C5204 warnings by adding default virtual destructors 2020-03-26 14:49:12 +04:00
Evil Eye
fea7e68fe9 silence operator precedence warning 2020-03-25 20:34:08 +01:00
Evil Eye
8dc081a60d ignore unterminated empty strings 2020-03-25 19:52:22 +01:00
Capostrophic
7319eda54e Correct drawable property apply order (bug #5313) 2020-03-23 20:47:47 +03:00
James Moore
a37bdfd492 Implement a refresh button on data files page 2020-03-21 19:35:20 +00:00
Andrei Kortunov
e20d156904 Do not write empty trade time 2020-03-18 13:31:26 +04:00
Bret Curtis
79517f3f42
Merge pull request #2724 from akortunov/factions
Cleanup ownership for items in containers
2020-03-18 10:00:36 +01:00
Andrei Kortunov
ea30e27370 Cleanup ownership for items in containers 2020-03-17 17:22:39 +04:00
Andrei Kortunov
dea2018d9f Do not use dynamic casts when using ObjectState 2020-03-17 15:18:40 +04:00
elsid
5168f2059f
Compare revisions by equality to support overflow 2020-03-14 09:38:24 +01:00
elsid
7ae7cb181d
Support recast mesh rendering 2020-03-14 09:38:24 +01:00
Capostrophic
c1f1e367fa Accept an extra numerical argument in GetItemCount 2020-03-11 20:56:46 +03:00
Bret Curtis
7096ecdcf2
Merge pull request #2719 from Capostrophic/capofixes
Fixes of my mistakes
2020-03-11 09:05:12 +01:00
Capostrophic
d3244dc777 Don't save space in compressed BSA hash generation 2020-03-10 23:47:39 +03:00
Capostrophic
aef6cd7006 Fix handling of empty strings in NIF string tables 2020-03-10 23:04:20 +03:00
Andrei Kortunov
94df2114c1 Store fog of war as a PNG image instead of TGA (bug #5108) 2020-03-07 11:05:32 +04:00
Capostrophic
5770227e37 Avoid using auto-detected normal maps that are bump map namesakes 2020-03-05 13:19:34 +03:00
Capostrophic
624a9ac353 Force shaders for objects affected by new envmap option 2020-03-04 14:06:22 +03:00
Capostrophic
2b3ecff004 Remove broken fixed function pipeline support
Added by mistake
2020-03-03 21:50:50 +03:00
Capostrophic
6999f1fd28 Add an option to apply lighting to environment maps 2020-03-03 20:08:59 +03:00
Capostrophic
19a7245251 Add bump mapping support 2020-03-03 13:32:30 +03:00
Andrei Kortunov
8c177f0306 Take in account transformations of NiCollisionSwitch 2020-02-25 11:09:36 +04:00
Bret Curtis
c907cd98c8
Merge pull request #2704 from akortunov/collisionswitch
Handle NiCollisionSwitch node
2020-02-19 21:24:25 +01:00
Alexei Dobrohotov
e1f0504557
Merge pull request #2703 from akortunov/masks
Fix a regression in the NiVisController
2020-02-19 11:50:51 +03:00
Andrei Kortunov
77d6fe46ca Handle NiCollisionSwitch node 2020-02-19 12:14:21 +04:00
Andrei Kortunov
7b5ec76db4 Fix regression in the NiVisController 2020-02-19 11:50:59 +04:00
elsid
650f429ff5
Add final modifier to fix warnings 2020-02-18 10:36:08 -08:00
Andrei Kortunov
84979fa8b7 Move VisMask to components 2020-02-16 16:03:35 +04:00
Andrei Kortunov
f4291ea948 Fix intersector usage (bug #5283) 2020-02-10 22:31:20 +04:00
Andrei Kortunov
b8548b8f56
Merge pull request #2691 from elsid/navigator_status
Use status codes to handle navigator errors instead of exceptions
2020-02-05 13:24:29 +04:00
elsid
349040ffb2
Use status codes to handle navigator errors instead of exceptions
For find path use case.
2020-02-04 22:33:56 +01:00
Capostrophic
216a5d27c6 Avoid working with AMBI subrecord in tools unnecessarily (bug #5269) 2020-02-04 20:57:04 +03:00
Capostrophic
0479311c25 Correct declarations of utility methods 2020-02-02 19:01:47 +03:00
Capostrophic
e363d5df21 Some more minor NIF support fixes 2020-02-02 17:28:46 +03:00
Alexei Dobrohotov
234fdfefb7
Revert "Don't apply 1.6 magic value to NiGravity decay factor (#5266)" 2020-01-31 15:11:29 +03:00
Capostrophic
dcafe719a5 Don't apply 1.6 magic value to NiGravity decay factor (#5266) 2020-01-31 01:15:58 +03:00
elsid
f7caeefddb
Fallback to straight path when navmesh and pathgrind are not available 2020-01-29 11:14:07 +01:00
Bret Curtis
44a85795cf
Merge pull request #2669 from Capostrophic/wnam
Generate WNAM subrecord upon saving terrain instead of upon editing it
2020-01-28 11:43:47 +01:00
elsid
1e106013a0
Use navmesh to find wander destination outside pathgrid for ground based actors
Use dtNavMeshQuery::findRandomPointAroundCircle from recastnavigation
2020-01-21 00:01:06 +01:00
capostrophic
89055f1c6c Generate WNAM upon saving terrain 2020-01-11 02:42:04 +03:00
Bret Curtis
95f9e4f4c9
Merge pull request #2649 from Capostrophic/nifstreamline
Yet more NIF adjustments
2020-01-10 22:07:25 +01:00
Alexei Dobrohotov
7a4caaf5bf
Merge pull request #2660 from akortunov/boost
Additional de-boosting
2020-01-09 22:14:32 +03:00
Alexei Dobrohotov
ff2739b8a3
Merge pull request #2651 from akortunov/encoding
Unify streams usage to support non-ASCII paths
2020-01-09 22:12:55 +03:00
Andrei Kortunov
a250a405b4 An attempt to fix the MSVC2017 build 2020-01-09 20:42:06 +04:00
Andrei Kortunov
1cdd33b434 Implement additional stringops to avoid Boost functions 2020-01-09 19:40:22 +04:00
Andrei Kortunov
cb1a8ec518 Do not link the Boost threads library 2020-01-09 19:40:22 +04:00
capostrophic
0467e8ee15 Avoid heap corruption while reading SCVR (bug #4680) 2020-01-04 01:34:41 +03:00
Andrei Kortunov
3704acf857 Unify streams usage to support non-ASCII paths (bug #5239) 2020-01-03 07:10:17 +04:00
capostrophic
f234d53269 Don't use double negation 2020-01-02 13:13:57 +03:00
capostrophic
32caab663f Enumerate interpolation types properly 2020-01-02 13:07:27 +03:00
capostrophic
e654a52b70 More NIF adjustments
Constant interpolation support
2020-01-02 13:07:27 +03:00
Andrei Kortunov
75fed1d236 Print error code when failed to open file on Windows 2020-01-02 09:28:38 +04:00
Alexei Dobrohotov
133b99bf18
Merge pull request #2622 from akortunov/testcells
Implement TestCells and TestInteriorCells console commands
2019-12-29 14:27:48 +03:00
Alexei Dobrohotov
2693598d82
Merge pull request #2642 from akortunov/warnfix2
Add safety checks for door state
2019-12-23 21:22:56 +03:00
Alexei Dobrohotov
dfcc6d8b5a
Merge pull request #2640 from akortunov/save
Do not store gold-specific value for everything
2019-12-23 21:22:26 +03:00
Andrei Kortunov
24044b08e0 Do not store gold-specific value for everything 2019-12-23 19:34:57 +04:00
Andrei Kortunov
88a695f251 Add safety checks for door state 2019-12-23 19:29:12 +04:00
Andrei Kortunov
24ce242941 Implement TestCells (feature #5219) 2019-12-22 11:13:42 +04:00
Andrei Kortunov
cd81f81fb6 Initialize variables to avoid GCC warnings 2019-12-22 10:44:14 +04:00
Assumeru
737aa1e4e8 Remove FactionID editing from OpenCS (#2636)
* Remove FactionID editing

* remove useless comments

* rename FactionID to Unknown
2019-12-18 20:42:54 +03:00
Assumeru
dfbe0021a5 Change rescaling to be more inline with vanilla (fixes #5214) (#2635)
* move rescaling to loadData

* clamp on save
2019-12-18 19:37:45 +03:00
Alexei Dobrohotov
f3e8fbfded Merge branch 'range-safety' into 'master'
Make script literal lookup functions safer

See merge request OpenMW/openmw!113
2019-12-18 15:27:49 +00:00
Andrei Kortunov
c41562fa27 Make TextureProperty warnings more informative 2019-12-15 13:56:20 +04:00
Capostrophic
909c8ef0ea Avoid working with empty controller data (bug #5229) 2019-12-14 20:35:23 +03:00
Andrei Kortunov
5b5c52d92e Handle NiKeyframeController for NiTriShape (feature #5224) 2019-12-10 16:20:27 +04:00
Capostrophic
4b38bab0d9 Make sure empty cell name subrecords are saved (bug #5222) 2019-12-03 18:47:02 +03:00
Andrei Kortunov
eec82f676a
Merge pull request #2602 from elsid/clang_tidy
Fix clang-tidy issues
2019-12-03 08:27:43 +04:00
Andrei Kortunov
ab4b3677e3 Merge branch '16' into 'master'
perf regression fix

See merge request OpenMW/openmw!157
2019-12-02 05:35:19 +00:00
Andrei Kortunov
974670a7c5
Merge pull request #2540 from elsid/fix_startup_fail_crash
Fix crash on destructed stream usage
2019-11-30 22:15:00 +04:00
Andrei Kortunov
ae80d8e490
Merge pull request #2618 from elsid/fix_rope_bridge
Fix objects culling for recast mesh tiles (bug #5216)
2019-11-30 21:54:14 +04:00
Alexei Dobrohotov
c01324fdb2
Merge pull request #2613 from akortunov/warnfix3
Fix GCC9 warnings about implicit declarations
2019-11-30 16:09:01 +03:00
elsid
7ec5a20c64
Filter recast mesh triangles by global bounding box
Except heightfields to reduce slow down.
2019-11-30 13:19:27 +01:00
elsid
7729e396b2
Fix exceptions logging 2019-11-30 10:33:14 +01:00
Andrei Kortunov
1b98fe4395 Fix GCC9 warnings about implicit declarations 2019-11-29 12:41:23 +04:00
Andrei Kortunov
5daf602256 Fix iterator usage when destroying cell borders (bug #5218) 2019-11-29 12:26:17 +04:00
bzzt
d340224c95 shadowsbin for gl state reduction 2019-11-20 13:37:00 +00:00
bzzt
480302d634 terrainclusterculling 2019-11-20 13:37:00 +00:00
bzzt
f09125fc93 perf regression fix 2019-11-20 13:37:00 +00:00
elsid
8d358eeb7d
Avoid virtual call in ParticleSystem ctor 2019-11-17 18:50:45 +01:00
elsid
b07a6afa91
Avoid virtual call in GraphicsWindowSDL2 ctor
/home/elsid/dev/openmw/components/sdlutil/sdlgraphicswindow.cpp:23:8: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
    if(valid())
       ^
/home/elsid/dev/openmw/components/sdlutil/sdlgraphicswindow.cpp:23:8: note: This constructor of an object of type 'GraphicsWindowSDL2' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sdlutil/sdlgraphicswindow.cpp:23:8: note: Call to virtual function during construction
2019-11-17 18:50:11 +01:00
elsid
4cd2ff9a3d
Avoid virtual call in TerrainGrid dtor
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: warning: Call to virtual function during destruction [clang-analyzer-optin.cplusplus.VirtualCall]
        unloadCell(mGrid.begin()->first.first, mGrid.begin()->first.second);
        ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:29:12: note: Assuming the condition is true
    while (!mGrid.empty())
           ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:29:5: note: Loop condition is true.  Entering loop body
    while (!mGrid.empty())
    ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: note: This destructor of an object of type '~TerrainGrid' has not returned when the virtual method was called
        unloadCell(mGrid.begin()->first.first, mGrid.begin()->first.second);
        ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: note: Call to virtual function during destruction
2019-11-17 18:50:11 +01:00
elsid
2e1d8a5e55
Remove unused virtual modifiers in DebugHUD
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < 2; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is false. Execution continues on line 3102
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:21: note: Assuming 'i' is < 'numberOfShadowMapsPerLight'
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
                    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: This constructor of an object of type 'DebugHUD' has not returned when the virtual method was called
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: Call to virtual function during construction
2019-11-17 18:50:11 +01:00
elsid
bd149b909f
Remove unused virtual modifiers in ShadowManager
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        setupShadowSettings();
        ^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: note: Call to virtual function during construction
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        enableOutdoorMode();
        ^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: Call to virtual function during construction
2019-11-17 18:26:56 +01:00
Andrei Kortunov
f09d20434c Clamp number of shadow maps 2019-11-17 17:25:02 +04:00
Alexei Dobrohotov
ef138e9afc
Merge pull request #2592 from akortunov/switchnode
Use transformations of NiSwitchNode
2019-11-15 19:46:45 +03:00
Andrei Kortunov
34873b6065 Fix dead code 2019-11-13 15:29:18 +04:00
Andrei Kortunov
7074baa1c2 Clamp number of shadow maps, as described in docs 2019-11-13 15:10:22 +04:00
Andrei Kortunov
af41e9acc1 Initialize variables to avoid undefined values 2019-11-13 14:47:29 +04:00
Andrei Kortunov
51cfd070c6 Use transformations of NiSwitchNode 2019-11-09 21:43:08 +04:00
Andrei Kortunov
bafc0d9e90 Added support for texture fragment usage to the ImageButton 2019-11-09 12:52:42 +04:00
Andrei Kortunov
6eb8e0cf4d Display magic effects according to research page 2019-11-07 11:05:18 +04:00
Alexei Dobrohotov
a8843fa5a8
Make sure MultiChar::data() constructs a valid string
mData may ultimately not be a valid C-string (e.g. if it contains 4 significant characters) so it may not necessarily be converted into a valid std::string
2019-11-05 22:33:14 +03:00
elsid
d42b5fd28e
Fix warning -Woverloaded-virtual
In file included from openmw/components/terrain/quadtreeworld.cpp:10:
openmw/components/terrain/quadtreenode.hpp:95:14: warning: 'Terrain::QuadTreeNode::traverse' hides overloaded virtual function [-Woverloaded-virtual]
        void traverse(ViewData* vd, const osg::Vec3f& viewPoint, LodCallback* lodCallback, float maxDist);
             ^
OpenSceneGraph/build/clang/release/include/osg/Group:43:22: note: hidden overloaded virtual function 'osg::Group::traverse' declared here: different number of parameters (1 vs 4)
        virtual void traverse(NodeVisitor& nv);
                     ^
1 warning generated.
2019-11-05 09:31:38 +01:00
bzzt
b6ed2f1718 Add optional shadow map max distance and fading 2019-11-02 18:06:39 +03:00
Bret Curtis
ec9a593fc3
Merge pull request #2578 from akortunov/mouse
Implement mouse wheel bindings (bug #2679)
2019-10-31 13:14:29 +01:00
Michael Stopa
e4bec88a68 Implement mouse wheel bindings (bug #2679) 2019-10-30 20:45:51 +04:00
Alexei Dobrohotov
9ab8d88753
Accept a bogus cell string argument for Position 2019-10-30 17:54:34 +03:00
Andrei Kortunov
45ab6e1430 Implement UTF-8 support for script parser (bug #4598) 2019-10-30 14:59:47 +04:00
Alexei Dobrohotov
dc8e5f1d12
Accept redundant volume and pitch StopSound arguments
Exploited in Arktwend.
2019-10-29 18:51:58 +03:00
Alexei Dobrohotov
8bc2c1ac34
Make ForceGreeting ignore any extra argument 2019-10-29 14:39:21 +03:00
Andrei Kortunov
b2e12f0a73 Attempt to fix a regression - crash on ARM 2019-10-28 18:58:16 +04:00
Capostrophic
f7d2cdb782 Revert to 0.45.0 comments-in-the-middle settings behavior 2019-10-26 10:55:10 +03:00
Bret Curtis
9f039fac87
Merge pull request #2520 from unelsson/transientlandshapeedit
[Review phase] Editor: Transient land shape editing
2019-10-25 00:26:43 +02:00
Roman Siromakha
4e5aec5c30
Merge pull request #2539 from Capostrophic/scripting
Try to parse strings as number literals (bug #5097)
2019-10-24 22:12:50 +02:00
Bret Curtis
2040ca5637
Merge pull request #2555 from akortunov/encoding
Encode ID's in all places to UTF-8
2019-10-24 00:48:12 +02:00
Nelsson Huotari
0ce971c1bb Revert back to less aggressive component-level changes. 2019-10-22 21:26:55 +03:00
Nelsson Huotari
c2428bc5fa Remove unneeded forward declaration 2019-10-22 21:25:10 +03:00
Nelsson Huotari
16138fc896 Transient land shape editing 2019-10-22 21:25:10 +03:00
elsid
275f552fcf
Do not modify settings on save 2019-10-21 22:47:24 +02:00
elsid
a7930073e8
Move settings parser declaration to separate header 2019-10-21 22:47:24 +02:00
Bret Curtis
f666d796e9
Merge pull request #2547 from Capostrophic/nif2
More minor NIF improvements
2019-10-21 21:49:07 +02:00
elsid
045ceeac11
Replace foreach macro by for-loop 2019-10-20 20:08:16 +02:00
Capostrophic
7c4743fdd1 Convert recordptr typedefs to using directives 2019-10-16 01:36:43 +03:00
Capostrophic
8056107c6e More minor NIF improvements 2019-10-16 01:36:43 +03:00
Andrei Kortunov
2fc819cdae Encode ID's in all places to UTF-8 (bug #3977) 2019-10-10 20:52:32 +04:00
unelsson
3deebf0247
Merge branch 'master' into wnamfix 2019-10-07 01:40:23 +03:00
Nelsson Huotari
2fdaacf23c remove for array, just std::swap 2019-10-06 23:50:16 +03:00
Nelsson Huotari
e35ed960ee for -> std::copy 2019-10-06 21:57:10 +03:00
Nelsson Huotari
7f030fc3ee copy mWnam record in copy constructor and custom assignment operator 2019-10-06 21:50:40 +03:00
Capostrophic
bde4a38181 Cast Random result to float (bug #5175) 2019-10-03 23:20:25 +03:00
elsid
751accad0f
Remove unused field QuadTreeBuilder::mLodFactor 2019-09-28 14:26:52 +02:00
elsid
29f262e514
Fix crash on destructed stream usage 2019-09-28 11:30:38 +02:00
Capostrophic
138a7ac434 Expression parser: Try to parse strings as number literals (bug #5097) 2019-09-26 02:54:17 +03:00
Alexei Dobrohotov
822b20ef46
Fix invalid strips-based collision shape transformation 2019-09-23 20:38:42 +03:00
Alexei Dobrohotov
0a97dd8e84
[Regression] Fix horribly broken fallback loading 2019-09-21 15:05:12 +03:00
Andrei Kortunov
1f3f3dd1a5
Merge pull request #2526 from Capostrophic/config
openmw.cfg-related fixes (incl. bug 2976)
2019-09-20 09:09:38 +04:00
Andrei Kortunov
e6b79d100a
Merge pull request #2503 from Capostrophic/keyword
Allow usage of more keywords as string arguments (bug #5087)
2019-09-20 07:38:57 +04:00
Andrei Kortunov
e568ad30ea Copy transformations data when we clone node (bug #5163) 2019-09-19 11:35:15 +04:00
Capostrophic
3a912485ca openmw.cfg-related fixes
Make sure the defaults exist in local openmw.cfg too
Make sure constant attenuation settings are defined now that they are implemented
Fix config file loading order once and for all (bug #2976)
2019-09-17 21:26:06 +03:00
Capostrophic
83f61d1636 Support target color in NiMaterialColorController (bug #5159) 2019-09-16 22:31:18 +03:00
Capostrophic
8baddefdbd Refactor extra data and particle modifier handling
Objects no longer inherit from extra data class
"Controlled" harmful abstraction no longer exists
Introduced NiParticleModifier/NiParticleCollider abstractions
Extra data size reading moved into the base read() method
2019-09-13 20:26:22 +03:00
capostrophic
8f2ed884a5 Allow usage of more keywords as string arguments (bug #5087) 2019-09-06 19:12:08 +03:00
Capostrophic
c0438a0c6b Avoid using getPtr on empty geometry data 2019-08-26 23:01:58 +03:00
Alexei Dobrohotov
64fde2d7c2
Fix crash when NiGeometry lacks NiGeometryData 2019-08-24 22:34:56 +03:00
capostrophic
9c7474f88c Implement NiPalette support (feature #4882) 2019-08-16 20:21:09 +03:00
capostrophic
efa463af8f Fix non-tiling textures clamp mode (bug #5137) 2019-08-16 16:26:11 +03:00
Andrei Kortunov
d4a8023e1a
Merge pull request #2485 from Capostrophic/lighting
Add support for QuadraticMethod/LinearMethod setup (bug #4965, continuation)
2019-08-11 22:17:40 +04:00
capostrophic
62fd2d47a5 Rewrite flickering/pulsing to work more like vanilla (bug #4952) 2019-08-11 20:33:13 +03:00
Alexei Dobrohotov
3668473d6d
Fix comment 2019-08-10 19:22:46 +03:00
Alexei Dobrohotov
eaedf34975
Fix ventriloquism 2019-08-10 19:21:36 +03:00
capostrophic
c0d5cbdc8b Add support for QuadraticMethod/LinearMethod setup (bug #4965) 2019-08-10 13:25:49 +03:00
Alexei Dobrohotov
307e9ba666
Merge pull request #2413 from akortunov/weapon
Refactor weapon types behaviour
2019-08-09 20:02:10 +03:00
Andrei Kortunov
f0cef772fa Refactor weapon types behaviour
1. Move weapon types behaviour from switches to the table (should allow
us to de-hardcode weapon types later)
2. Gereralize bones injection to actors skeletons (instead of using the
hardcoded xbase_anim_sh.nif)
2019-08-09 19:40:27 +04:00
capostrophic
9e93c9ecd2 Fix multiple-strip NiTriStrips loading 2019-08-08 22:48:24 +03:00
capostrophic
93f73fe87b Fix comparison 2019-08-08 20:41:46 +03:00
capostrophic
7fc3153f62 Reduce code duplication further 2019-08-08 20:29:45 +03:00
capostrophic
91efdf18a9 Reduce Bullet part code duplication 2019-08-08 19:02:08 +03:00
capostrophic
ed154f0e2c Fix typo and replace failsave with an assert 2019-08-08 18:42:58 +03:00
capostrophic
7cc70ffb50 Reduce skinned shape code duplication 2019-08-08 18:37:42 +03:00
capostrophic
bd6c455fd4 Reduce code duplication for non-skinned shapes 2019-08-08 18:12:46 +03:00
capostrophic
b4f54651f8 Make sure strips have valid size 2019-08-08 17:15:33 +03:00
capostrophic
6599a28ecf Generate collision shape based on NiTriStrips 2019-08-08 17:15:33 +03:00
capostrophic
adb06913f7 Add basic NiTriStrips rendering (no physics yet) 2019-08-08 17:09:06 +03:00
capostrophic
8efbdeaa57 Load NiTriStrips/NiTriStripsData (don't do anything yet) 2019-08-08 17:09:06 +03:00
capostrophic
7b6af4a893 Make sure local path includes trailing slash
Launcher assumes it does
2019-08-08 17:06:27 +03:00
Andrei Kortunov
8557346fbd Use glow for enchanted arrows (feature #5122) 2019-08-07 12:58:14 +04:00
capostrophic
6928adcee1 Prevent front() and operator[] from causing undefined behavior 2019-08-04 14:47:33 +03:00
capostrophic
168e5050bb Ignore an extra number argument in ModRegion (bug #5110) 2019-08-01 20:48:58 +03:00
Chris Djali
576285573b
Merge pull request #2404 from Capostrophic/framerate
Make framerate limit configurable in the launcher
2019-07-19 16:16:20 +01:00
fredzio
ca7ac30f6d Use the POSIX pathconf(2) to determine the maximum path length.
It fixes build on BSD platforms where PATH_MAX is defined in
<sys/syslimits.h> vs <linux/limits.h> on Linux.
2019-07-07 01:02:38 +02:00
Alexei Dobrohotov
e4c596adf8
Fix CI builds (attempt №2)
Gosh darn dem tabs
2019-07-04 14:12:36 +03:00
Alexei Dobrohotov
e4e513c5dc
Fix CI builds
Apparently the only tab characters are in this file.
2019-07-04 13:36:27 +03:00
Nat Meo
bcc5142b32 Issue #4202: Open .omwaddon files without needing to open openmw-cs first. 2019-07-02 16:07:38 +00:00
AnyOldName3
bb72ed9744 Merge branch '9' into 'master'
IMPORTANT!! racingcrashfix #4766

See merge request OpenMW/openmw!119
2019-07-01 15:36:40 +00:00
AnyOldName3
8a6a8086da Make in-memory buffers seekable to fix fog of war 2019-07-01 00:07:44 +01:00
Capostrophic
dfb852cbb0 Improve Boost apologia 2019-06-22 18:15:19 +03:00
Capostrophic
49c691d00a Make settings manager locale-independent again 2019-06-22 18:15:19 +03:00
Capostrophic
e06178bf0f Make sure shadow shapes aren't visible (bug #5063) 2019-06-22 18:13:41 +03:00
Andrei Kortunov
b9a1e4d796
Merge pull request #2425 from Capostrophic/esm
Signedness fixes
2019-06-21 10:01:10 +04:00
Alexei Dobrohotov
f984f61055
Ignore any fourth AITravel argument for now 2019-06-20 14:18:12 +03:00
Capostrophic
3aa65273c5 Signedness fixes 2019-06-18 14:47:10 +03:00
Evil Eye
698c90b3ee fix builds against MyGUI master 2019-06-16 14:41:34 +02:00
Andrei Kortunov
b66c437700
Merge pull request #2419 from Capostrophic/lod
Optimizer: Only merge pure osg::Groups
2019-06-12 18:33:07 +04:00
Andrei Kortunov
4fcbc1c96b
Merge pull request #2391 from Capostrophic/contentselector
Content selector: don't add file namesakes (bug #2395)
2019-06-10 10:15:19 +04:00
Capostrophic
6622e36226 Only merge pure osg::Groups in the optimizer 2019-06-09 11:47:43 +03:00
Capostrophic
7c8360d0f3 Use NiSwitchNode initial index field 2019-06-09 01:58:02 +03:00
Alexei Dobrohotov
ce92b364e6
Merge pull request #2403 from akortunov/crashinfo
Improve info message about missing GDB
2019-06-06 11:09:46 +03:00
bzzt
a730365ea1 Creanup Distant Terrain code
- Cull terrain in the stock osg::CullVisitor
- Do not compile composite maps for shadow camera
- Do not abuse userdata for composite maps
2019-06-05 19:09:57 +04:00
bzzt
e4ba6ecf15 Do not store a LOD callback in the every QuadTreeNode 2019-06-05 18:27:37 +04:00
bzzt
a61c0aaee1 Do not load height data to the qued tree since we do not need it now 2019-06-05 18:27:37 +04:00
bzzt
ebcf8ca062 Do not store a ViewDataMap in the every QuadTreeNode 2019-06-05 18:27:37 +04:00
bzzt
cb6d27fb12 Use the custom LineSegmentIntersector for QuadTree to simplify traversal
code
2019-06-05 18:27:37 +04:00
bzzt
ce4e8be9ac Move traverse methods to the QuadTreeNode 2019-06-05 18:27:37 +04:00
Capostrophic
b7afb213ae "Handle" RepairedOnMe scripting function (feature #4255) 2019-06-03 02:17:32 +03:00
Alexei Dobrohotov
f0640cbb21
Merge pull request #2296 from akortunov/blend
Optimize blendmap generation
2019-06-03 00:10:22 +03:00
bzzt
528cda8032 Prevent layers duplication when a terrain chunk crosses plugin borders 2019-06-01 14:52:42 +04:00
Andrei Kortunov
1da012f6ee Optimize blendmap generation 2019-06-01 14:37:29 +04:00
Alexei Dobrohotov
5965aa991b
Improve grammar in a warning 2019-06-01 00:06:49 +03:00
Capostrophic
0fcb75fb21 Achieve CHIM and get rid of the loop 2019-05-31 20:01:46 +03:00
Capostrophic
5cd781b3eb Experimental folder handling rewrite 2019-05-31 20:01:46 +03:00
Capostrophic
2fbed21f83 Avoid a memory leak 2019-05-31 20:01:46 +03:00
Capostrophic
e14ada8f36 Make file name comparison case-insensitive 2019-05-31 20:01:46 +03:00
Capostrophic
ebe5448816 Content selector: drop duplicates of the added file (bug #2395) 2019-05-31 20:01:46 +03:00
Andrei Kortunov
f1db97fbbd Improve info message about missing GDB (bug #4341) 2019-05-30 14:51:31 +04:00
bzzt
ffe8bbd2dd racingcrashfix #4766 2019-05-29 13:37:00 +00:00
Andrei Kortunov
7c53b99d31 Avoid possible data race during access to the static local variable 2019-05-24 08:03:45 +04:00
Phillip Andrews
dee72e9430 Make script literal lookup functions safer
Assert isn't really the right way to range check these, since in theory we could have a malformed compiled script.  This should make it safer with zero performance overhead.
2019-05-21 17:58:10 -05:00
Alexei Dobrohotov
7c46102f0c
Merge pull request #2389 from akortunov/fmt
Introduce a custom format() function
2019-05-21 21:45:52 +03:00
Andrei Kortunov
6832a2fa9a Remove BOM from CPP files (allows to build OpenMW with LCC on Elbrus) 2019-05-21 19:22:34 +04:00
Andrei Kortunov
e679190f31 Introduce a custom format() function to get rid of boost::format() and hackish replace() 2019-05-20 09:20:01 +04:00
Alexei Dobrohotov
2c956398c1
Actually fix bug 4938 2019-05-15 21:41:49 +03:00
Alexei Dobrohotov
1444ef6f43
Merge pull request #2298 from akortunov/optimize
Do not allocate eight dummy LightStateAttribute's for every stateset
2019-05-11 02:32:34 +03:00
Alexei Dobrohotov
acae586765
Merge pull request #2365 from akortunov/guifixes
Refactor Settings::Manager::apply()
2019-05-04 21:01:15 +03:00
Andrei Kortunov
4f42fe5595 Refactor Settings::Manager::apply() 2019-05-04 21:38:36 +04:00
Alexei Dobrohotov
1bfe0e43af
Merge pull request #2360 from akortunov/guifixes
Do not track resolution settings changes in the InputManager
2019-05-04 20:23:03 +03:00
Alexei Dobrohotov
74112976b2
Merge pull request #2085 from akortunov/herbalism
Native graphics herbalism support
2019-05-03 20:58:22 +03:00
Andrei Kortunov
7ce07e9202
Merge pull request #2345 from Capostrophic/scripting
More argument usage corrections
2019-05-03 08:06:06 +04:00
Ilya Zhuravlev
2e1ac51203 Clean up androidpath 2019-05-02 18:18:49 -04:00
Andrei Kortunov
861d41f4a4 Native graphics herbalism support (feature #5010) 2019-05-02 23:03:47 +04:00
Capostrophic
95751ba671 Ignore extra numerical arguments for ForceGreeting, Position(Cell), PlaceItem(Cell) 2019-05-02 20:50:05 +03:00
Capostrophic
05727f2bcd Ignore string arguments for AITravel, GetDynamic, LowerRank, RaiseRank 2019-05-02 20:50:05 +03:00
Andrei Kortunov
0cd8d4b842 Do not track resolution settings changes in the InputManager (bug #4902) 2019-05-02 19:00:47 +04:00
Capostrophic
05d94d35f9 Make disabled shadow defines map static 2019-04-29 19:31:46 +03:00
Andrei Kortunov
7941fd6780 Merge branch 'patch-2' into 'master'
Add support for OpenGLES 3.2

See merge request OpenMW/openmw!93
2019-04-24 17:03:10 +00:00
Bret Curtis
e0edecf1f2
Merge pull request #2341 from Capostrophic/scripting
Allow using functions in non-conditional expressions (bug #3725)
2019-04-24 12:05:07 +02:00
Andrei Kortunov
bd2188a0f8 Use the logging system for compiler errors 2019-04-23 22:20:18 +04:00
Capostrophic
3d64a46df2 Allow using functions in non-conditional expressions (bug #3725) 2019-04-22 20:37:32 +03:00
Andrei Kortunov
9059971a69 Increase required MyGUI version to 3.2.2 2019-04-22 20:52:18 +04:00
Alexei Dobrohotov
53d704fec8
Merge pull request #2335 from akortunov/guifixes
Allow to shrink tooltip width to its actual text width
2019-04-22 19:44:17 +03:00
Andrei Kortunov
626a05f825
Merge pull request #2128 from Capostrophic/blood
Support all eight possible blood types (feature #4958)
2019-04-21 21:14:30 +04:00
Andrei Kortunov
7e0bf40dbe Allow to shrink tooltip width to its actual text width (bug #3812) 2019-04-21 08:27:14 +04:00
Capostrophic
6cbec4a688 Stray argument usage corrections 2019-04-19 21:28:06 +03:00
terrabyte25
b29476de58
Add support for OpenGLES 3.2 2019-04-15 17:09:36 -05:00
Capostrophic
7814bd1b76 Support eight possible blood types (feature #4958) 2019-04-14 18:48:31 +03:00
elsid
4500f01efd
Remove unused field 2019-04-13 13:25:49 +02:00
Alexei Dobrohotov
5b8fc5a151
Merge pull request #2314 from OpenMW/stdc++14
bump from C++11 to C++14
2019-04-12 17:34:18 +03:00
Bret Curtis
f4e113e7c1
Merge pull request #2277 from akortunov/terrain
Camera-related fixes
2019-04-12 11:17:20 +02:00
Bret Curtis
10643a10f2
Merge branch 'master' into lighting 2019-04-11 09:55:09 +02:00
Alexei Dobrohotov
d3e6921946
Merge pull request #2318 from elsid/navmesh_lock_tile
Avoid work duplication for multiple thread async navmesh updater
2019-04-11 00:19:52 +03:00
elsid
c683dc8565
Lock navmesh tile by thread while processing
To avoid duplicated work on a same tile by different threads.
If tile is locked by another thread, then post job into this thread queue.
2019-04-10 22:01:50 +02:00
Capostrophic
85e99182ce Revise light source configuration (bug #4965)
Set up attenuation less awkwardly
Use global attenuation settings for magic light source
Use constant attenuation settings
2019-04-10 22:31:31 +03:00
Bret Curtis
2ab7f903d7 make use of std::make_unique to test that MSVC2015 can handle that 2019-04-10 11:09:44 +02:00
Capostrophic
b08fed6d83 Fix NIF printVersion and allow 4.0.0.0 file loading 2019-04-09 21:58:29 +03:00
Andrei Kortunov
14b756a692 Use a generic logging system for RecastNavigation 2019-04-08 20:31:21 +04:00
Bret Curtis
7808cbbfe8
Merge pull request #2292 from akortunov/fallback
Make fallback map static to simplify constructors
2019-04-07 17:43:59 +02:00
bzzt
391f6faffb Remove unused defaultViewer / defaultViewPoint 2019-04-07 11:21:09 +04:00
bzzt
e908790584 Inherit the view point from main camera for water RTT cameras 2019-04-07 11:21:07 +04:00
Andrei Kortunov
489e5c6cce Store preloaded terrain view in the main thread 2019-04-07 11:15:21 +04:00
bzzt
63ab7345be Reuse traversal result for different traversal with same view point
Rename eyePoint to viewPoint to match OSG conventions (eyePoint is the camera position, viewPoint is for LOD handling)
2019-04-07 11:14:37 +04:00
Bret Curtis
a5504f8cc1
Merge pull request #2297 from Capostrophic/esm
Make sure the record hasn't ended in getHString hack (bug #4938)
2019-03-31 21:15:23 +02:00
bzzt
1a65adacdd Do not allocate dummy LightStateAttribute's for every stateset 2019-03-30 21:36:08 +04:00
Capostrophic
4b6fc5f720 Make sure the record hasn't ended in getHString hack (bug #4938) 2019-03-30 20:11:22 +03:00
Andrei Kortunov
368d1f9d25
Merge pull request #2191 from akortunov/viewer
Do not store Viewer reference in the ViewData
2019-03-30 08:24:44 +04:00
Andrei Kortunov
cae456a4aa
Merge pull request #2294 from Capostrophic/arguments
Ignore extra arguments to PlayLoopSound3D too
2019-03-30 08:18:39 +04:00
Capostrophic
7ef7555c19 Ignore extra arguments to PlayLoopSound3D too 2019-03-30 01:06:01 +03:00
Andrei Kortunov
a302ec9c65 Make fallback map static to simplify constructors 2019-03-29 15:30:49 +04:00
Capostrophic
17dce28705 Improve compiler messages 2019-03-29 00:59:26 +03:00
bzzt
c8d2107b80 Do not store Viewer reference in the ViewData 2019-03-28 09:51:45 +04:00
Bret Curtis
1e9eac568f
Merge pull request #2249 from akortunov/cache
Implement generic caching system
2019-03-25 13:32:23 +01:00
Bret Curtis
6cbf1288ff
Merge pull request #1929 from Capostrophic/elseif
Ignore the rest of the line after else operator (bug #3006)
2019-03-24 16:35:49 +01:00
Capostrophic
cbce1a1b7c Ignore the rest of the line after else (bug #3006) 2019-03-24 18:34:33 +03:00
Bret Curtis
8f8bba66d9
Merge pull request #2178 from Capostrophic/declaration
Ignore extra text after a local variable declaration (bug #4867)
2019-03-24 16:33:21 +01:00
Capostrophic
786f3e5fc3 Remove unused and unfinished blendmap packing feature 2019-03-22 22:15:28 +03:00
Capostrophic
af47ec7756 Skip extra text after variable declaration (bug #4867) 2019-03-21 17:00:40 +03:00
Bret Curtis
5e12073b47
Merge pull request #2272 from akortunov/optimize_terrain
Do not block loading while compiling composite maps
2019-03-21 09:17:02 +01:00
Andrei Kortunov
b466bfee40 Enable light sources directly to avoid virtual calls 2019-03-21 10:27:50 +04:00
Andrei Kortunov
0e1f5f68b6 Do not allow different threads to compile the same composite map 2019-03-21 08:52:13 +04:00
Andrei Kortunov
cad45e96ac Remove redundant mCompile set - we do not use data from it anyway 2019-03-21 08:42:48 +04:00
bzzt
c2986b3bd7 Do not block the loading thread while compiling composite maps in the
draw thread
2019-03-20 21:42:53 +04:00
Bret Curtis
26feedfcae
Merge pull request #2268 from akortunov/scanfix
Fix some issues from the Coverity Scan report
2019-03-19 17:27:48 +01:00
Bret Curtis
19dcbf2b3d
Merge pull request #2266 from Capostrophic/vsync
Vsync tweaks
2019-03-19 09:23:48 +01:00
Andrei Kortunov
b2fca46206 Fix a couple of minor issues in shadows 2019-03-19 09:14:07 +04:00
Andrei Kortunov
7995a92672 Initialize missing variables 2019-03-19 09:12:31 +04:00
Capostrophic
9b65f0dbca Vsync tweaks
Try to use adaptive vsync if available
Don't use vsync if unavailable
2019-03-18 21:45:02 +03:00
Bret Curtis
b819690e82
Merge pull request #2264 from akortunov/optimize_terrain
Delete composite map layers in the background thread
2019-03-18 13:52:17 +01:00
bzzt
aa5a071aef Delete composite map layers in the background thread 2019-03-18 14:00:50 +04:00
Bret Curtis
d56733149c
Merge pull request #2201 from akortunov/optimize_terrain
Optimize terrain
2019-03-18 08:59:10 +01:00
Bret Curtis
45221418bd
Merge pull request #2260 from elsid/fix_clean_unused_navmeshes
Fix clean unused navmeshes
2019-03-18 08:57:46 +01:00
bzzt
6029ed4ecc Reject empty quad tree nodes at the cell level without land data 2019-03-18 10:27:29 +04:00
bzzt
36fa51b6ad Fix bounding box calculation for terrain shapes 2019-03-18 10:27:09 +04:00
elsid
4624f31788
Report navigator stats 2019-03-17 22:15:18 +03:00
elsid
8adc83f6e2
Fix clean unused navmeshes
weak_ptr doesn't have constructor for shared_ptr&& type, so ptr wasn't
moved, just copied.
2019-03-17 21:28:34 +03:00
elsid
2c78d530a2
Use static vector to store stat names 2019-03-17 20:50:15 +03:00
Bret Curtis
ab69ad65ed
Merge pull request #2234 from Capostrophic/terrain
Some more improvements from bzzt's branch
2019-03-17 18:07:19 +01:00
Capostrophic
de572226e4 Update optimizer with upstream improvements 2019-03-17 07:59:16 +03:00
bzzt
b42ad0f610 Inline certain terrain storage functions 2019-03-17 07:27:27 +03:00
bzzt
e131e6699c Match vertex colors data type to source 2019-03-17 07:24:22 +03:00
elsid
c91deaf7af
Use std::vector::data method to avoid reference binding to null pointer 2019-03-16 00:46:00 +03:00
elsid
dd0b45ede6
Do not pass nullptr to std::memcmp 2019-03-14 22:15:57 +03:00
Bret Curtis
7917f1fc84
Merge pull request #2252 from akortunov/terrain
Do not allocate empty callbacks in the RigGeometry
2019-03-14 14:53:35 +01:00
bzzt
4ab93aeffe Do not allocate empty callbacks in the RigGeometry 2019-03-14 12:37:41 +04:00
Andrei Kortunov
2ed05a5195 Implement generic caching system 2019-03-14 09:10:19 +04:00
elsid
8e09468f45
Don't set display list usage for navmesh 2019-03-12 00:05:55 +03:00
Bret Curtis
7b1a62fc1d
Merge pull request #2247 from akortunov/loadtex
Allow to override texture records in the game
2019-03-11 21:05:30 +01:00
Andrei Kortunov
943279abbb Consider land texture with given ID and index as override for base texture with the same ID and index (bug #4736) 2019-03-11 20:19:19 +04:00
Bret Curtis
7efdddd53c
Merge pull request #2242 from elsid/make_shared
Use std::make_shared
2019-03-11 07:53:02 +01:00
Bret Curtis
cb1a5f3679
Merge pull request #2245 from elsid/navigator_refactor
Refactor navigator related code
2019-03-11 07:51:43 +01:00
Bret Curtis
7b793b8809
Merge pull request #2244 from elsid/navmesh_cache_item_refactor
Make NavMeshCacheItem consistent
2019-03-11 07:51:22 +01:00
elsid
68948bc847
Avoid key allocation to find tile in cache 2019-03-11 03:01:41 +03:00
elsid
4395a92c35
Use display list to render navmesh
Slightly improves performance of massive navmesh rendering.
2019-03-10 23:58:49 +03:00
elsid
849f2078c1
Swap outside critical section 2019-03-10 23:58:49 +03:00
elsid
8d2af94b75
Use default objects for NavigatorStub methods result 2019-03-10 23:58:49 +03:00
elsid
ece111d05a
Check for jobs using predicate 2019-03-10 23:58:49 +03:00
elsid
c05fc9e054
Add missing cleanup 2019-03-10 23:58:49 +03:00
elsid
ce9aebcba1
Clear all changed tiles after post 2019-03-10 23:58:48 +03:00
elsid
9d61c49478
Store key by reference in tiles map 2019-03-10 23:56:52 +03:00
elsid
614d5243c3
Make NavMeshCacheItem consistent
Move all logic related to this type into its methods.
2019-03-10 23:07:36 +03:00
elsid
b3c5d64ff3
Use std::make_shared 2019-03-10 22:07:46 +03:00
elsid
f6a1d3cecf
Store weak pointers to navmesh in jobs queue
To avoid useless processing for removed navmeshes.
2019-03-10 17:06:19 +03:00
elsid
ccc709a316
Store guarded navmesh cache item in shared_ptr
Remove useless SharedGuarded type.
2019-03-10 17:06:19 +03:00
elsid
0479ebf5ae
Remove unused actors and navmeshes on update
When there is only one actor (player) on a scene and it moving to other
cell first it will be removed from navigator then added. Remove cause
navmesh removing for its half extents. After it is added navmesh for
same half extents is created and added. While this all happens there are
still jobs for old navmesh are processing. Old navmesh still exists
because it is stored by shared pointer. So jobs take tiles from cache
and place them into old navmesh. After that other jobs take same tiles
from cache (half extents and coordinates are equal) and place them into
other navmesh. dtNavMesh changes tile data on add and remove. Adding tile
to two dtNavMesh corrupts tile in both nameshes.
2019-03-10 17:06:15 +03:00
Chris Djali
c328c4a010
Merge pull request #2231 from akortunov/warnfix
Get rid of C-style limits in the shadows code
2019-03-09 19:00:39 +00:00
Andrei Kortunov
bacaa1f789 Get rid of C-style limits in the shadows code 2019-03-09 13:52:03 +04:00
Andrei Kortunov
12f9184d00 Allow to interrupt terrain preloading 2019-03-09 13:15:23 +04:00
Andrei Kortunov
b214c54b3a Calculate bounding volumes when preloading model instance 2019-03-09 13:15:16 +04:00
Bret Curtis
c20e69ef24
Merge pull request #2227 from elsid/fix_twitchy_massive_creatures
Fix twitchy movement for massive creatures (bug #4907)
2019-03-09 02:11:11 +01:00
elsid
b9f21ec81a
Use custom steps size to make smooth path depending on half extents 2019-03-08 22:33:34 +03:00
bzzt
e0cf460ba3 Do not load terrain beyond the viewing distance 2019-03-08 22:15:27 +04:00
Andrei Kortunov
a6fd077537 Render nearby default cells if the Distant Terrain is disabled 2019-03-08 22:15:27 +04:00
Andrei Kortunov
46e1ed660c Revert "Render default land texture for Wilderness cells with distant terrain"
This reverts commit 888c2d9a33.
2019-03-08 22:15:27 +04:00
elsid
f2e47d640d
Add option to limit max number of navmesh tiles 2019-03-08 17:39:04 +03:00
elsid
ff47df4f2c
Repost navmesh update jobs when failed because of out of memory
DT_OUT_OF_MEMORY error is returned when limit of tiles is reached.
2019-03-08 17:39:04 +03:00
elsid
82e2739bae
Notify workers when only at least one job is posted 2019-03-08 15:27:16 +03:00
elsid
b9b8ed177c
Store priority values as named fields 2019-03-08 15:23:36 +03:00
elsid
0c16fef285
Add navmesh update status builder 2019-03-08 15:07:07 +03:00
elsid
14c9190f49
Move tile replacement into separate function 2019-03-08 15:06:11 +03:00
elsid
b6243e7d1f
Fix name styleguide 2019-03-08 15:02:49 +03:00
Bret Curtis
551563cbfb Merge branch 'clsb-warning' into 'master'
Hopefully fix Clang warning about hiding overloaded virtual functions

See merge request OpenMW/openmw!82
2019-03-08 08:50:03 +00:00
Bret Curtis
0764271999
Merge pull request #2224 from elsid/fix_odr_violation
Fix ODR violation for VDSMCameraCullCallback
2019-03-08 09:09:36 +01:00
Bret Curtis
a381a1aff4
Merge pull request #2222 from akortunov/warnfix
Attempt to fix Clang warnings about hidden virtual methods
2019-03-08 00:09:31 +01:00
elsid
47e87cc2bd
Fix ODR violation for VDSMCameraCullCallback
This class is also defined in OpenSceneGraph at global namespace.
2019-03-07 23:49:23 +03:00
AnyOldName3
d34724a3c4 Hopefully fix Clang warning about hiding overloaded virtual functions 2019-03-07 20:46:10 +00:00
Bret Curtis
c55141d18d
Merge pull request #2217 from Capostrophic/shader
Move forcePPL and clamp to global shader defines (task #4869)
2019-03-07 16:56:09 +01:00
Andrei Kortunov
72db11b56c Fix Clang warnings about hidden virtual methods 2019-03-07 17:53:59 +04:00
Capostrophic
0cdc46dfd6 Move forcePPL and clamp to global shader defines (bug #4869) 2019-03-05 23:36:08 +03:00
Capostrophic
59f7df187d Add explicit variant of Journal 2019-03-05 20:47:05 +03:00
elsid
27d7452267
Update scaled objects in navigator 2019-03-04 22:59:39 +03:00
Bret Curtis
14c93b3df0 Revert "Merge pull request #2204 from elsid/fix_navigator_update"
This reverts commit 26fb0e7a0f, reversing
changes made to 42b2391303.
2019-03-04 11:06:15 +01:00
elsid
133d7447f3
Update scaled objects in navigator 2019-03-03 16:46:41 +03:00
Andrei Kortunov
bf5f68a4d8 Replace boost GCD to the homebrew implementation 2019-03-02 17:32:05 +04:00
Bret Curtis
cd70354f34
Merge pull request #2190 from akortunov/terrain
Make Distant Terrain configurable
2019-03-02 11:19:45 +01:00
Bret Curtis
3b8b0b5dd7
Merge pull request #2197 from akortunov/quadtree
Optimize terrain QuadTree build
2019-03-01 17:09:06 +01:00
Andrei Kortunov
56fea4b062 Add setting to control composite geometry size 2019-03-01 18:02:40 +04:00
bzzt
9d44e18af6 Allow to configure terrain vertex LOD 2019-03-01 18:02:38 +04:00
bzzt
03f23b235a Optimize terrain QuadTree build 2019-03-01 16:17:11 +04:00
bzzt
fd94d7f7ff Make Distant Terrain more configurable (feature #4890) 2019-03-01 14:51:13 +04:00
Grigory Latyshev
3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
2019-02-28 20:03:42 +00:00
Bret Curtis
fe23acdd14 Merge branch 'misc_stringutils_tolower' into 'master'
Simplify Misc::StringUtils::toLower

See merge request OpenMW/openmw!71
2019-02-28 19:59:05 +00:00
David Cernat
12cef51122
Merge pull request #2192 from Capostrophic/bzzt
Port minor fixes from bzzt's branch
2019-02-28 12:55:58 +02:00
AnyOldName3
6de1deeb2d Include gldebug attribution and licence 2019-02-28 00:02:07 +00:00
AnyOldName3
e147f6fed9 Finsih gldebug move completely this time 2019-02-28 00:02:07 +00:00
AnyOldName3
ac18983f37 Finish gldebug location move 2019-02-28 00:02:07 +00:00
AnyOldName3
d42c976852 Add detailed OpenGL debug messages 2019-02-28 00:02:07 +00:00
AnyOldName3
aaa3eedf99 Move gldebug from components/misc to components/debug 2019-02-28 00:02:07 +00:00
AnyOldName3
3d917fcbad Add basic OpenGL debug callback 2019-02-28 00:02:07 +00:00
bzzt
567ad293fd Don't discard object cache with uninitialized timestamp
This can happen during terrain loading
2019-02-28 03:01:32 +03:00
bzzt
b2000b7642 Fix quad tree node child bounding box dimensions 2019-02-28 02:51:46 +03:00
bzzt
172cb74763 Delete composite map layers on demand 2019-02-28 02:47:00 +03:00
bzzt
4f387fdf1c Prune empty quad tree nodes 2019-02-28 02:47:00 +03:00
bzzt
aecbc2f01c Fix crash when incremental compile operation is not used 2019-02-28 02:46:59 +03:00
Grigory
af7b6a09a8 Simplify Misc::StringUtils::toLower 2019-02-28 00:24:43 +03:00
bzzt
8c649f05e6 Don't reallocate light list vector unnecessarily 2019-02-27 00:12:14 +03:00
bzzt
a567111400 Use emplace instead of find-assign 2019-02-27 00:10:34 +03:00
bzzt
5bce3cbc68 Don't use MWRender namespace in common terrain components 2019-02-27 00:04:01 +03:00
Capostrophic
9bc360267b Ignore stray explicit references for names in expressions 2019-02-26 17:47:18 +03:00
Capostrophic
cc855e065a Ignore stray references for variables in Set instruction 2019-02-26 16:58:16 +03:00
elsid
33f6fb258d
Option to set specific random seed for random number generator 2019-02-26 09:36:34 +03:00
Bret Curtis
3316938dfc
Merge pull request #2182 from Capostrophic/format
Replace Boost format and replace_all where possible
2019-02-24 20:17:31 +01:00
Bret Curtis
56d5fc788c
Merge pull request #2163 from Capostrophic/hello
AI data handling minor revisions
2019-02-24 20:14:08 +01:00
Capostrophic
e70cc10305 Some more de-boosting 2019-02-24 03:20:20 +03:00
Capostrophic
8ecd0b82a4 Replace Boost format and replace_all where possible 2019-02-24 03:20:20 +03:00
Bret Curtis
d4564a9be7
Merge pull request #2180 from akortunov/includes
Remove redundant includes
2019-02-24 01:14:16 +01:00
Bret Curtis
8cf2523a8d
Merge pull request #2176 from akortunov/rollcontroller
Add support for NiRollController
2019-02-23 23:55:27 +01:00
Bret Curtis
44920352ce
Merge pull request #2181 from Capostrophic/boost
Get rid of Boost.Array
2019-02-23 23:54:30 +01:00
Capostrophic
594ea39f5d Revise AI data handling
Make Hello 16-bit unsigned as it's intended to be
Get rid of redundant mHasAI boolean
Always save AI data subrecord
Adjust creature and NPC default rating values to Morrowind defaults
2019-02-23 21:00:47 +03:00
Bret Curtis
4a69d96483 Merge branch 'esm_name_template_fix' into 'master'
Make sure that proper operator function of ESM:FIXED_STRING is used for char[N] argument

See merge request OpenMW/openmw!63
2019-02-23 13:39:15 +00:00
Adam Fandrejewski
75c204cdd8 Fix #4835 - undefined behavior - uninitialized mCtx 2019-02-23 13:35:25 +00:00
Andrei Kortunov
3032b177a1 Remove redundant includes 2019-02-23 08:02:12 +04:00
Capostrophic
58788de7c4 Get rid of Boost.Array 2019-02-22 23:16:34 +03:00
Bret Curtis
212f097b3c
Merge pull request #2172 from akortunov/pvs_fix
Fix some issues, found by PVS-Studio
2019-02-22 15:01:37 +01:00
elsid
73734fc04d
Fix update navmesh for not changed objects
When update method is called for not changed object befor this change
all object tiles were considered as not object tiles and were removed.
Also this marked those tiles as changed. This lead to alternation
between remove and add each tile update method was called. Problem was
detected by using Animated Containers mod.
2019-02-22 11:48:31 +03:00
Andrei Kortunov
60f112d11c Add support for NiRollController (feature #4675) 2019-02-21 12:34:35 +04:00
Chris Djali
cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
Shadows
2019-02-20 15:35:49 +00:00
AnyOldName3
0c8ad0a3bb Double buffer debug HUD frustum geometries to prevent race conditions. 2019-02-19 18:13:03 +00:00
Bret Curtis
7a9ff9f7b3
Merge pull request #2161 from akortunov/switchnode
Do not create a redundant parent node for LOD and Switch nodes
2019-02-18 19:46:25 +01:00
Bret Curtis
09262e0336
Merge pull request #2170 from elsid/disable_navigator_option
Add option to disable DetourNavigator component (feature #4833)
2019-02-18 16:01:30 +01:00
Andrei Kortunov
18a59df050 Throw exceptions by value instead of reference 2019-02-17 10:24:25 +04:00
elsid
da6df818ff
Fix update navmesh
Every updated object should produce a set of changed tiles where it is
placed. Before this change only current object tiles were updated. If
object was moved to another set of tiles then navmesh were not changed
in new tiles.

TileCachedRecastMeshManager::updateObject should add all new tiles if object
was moved and remove all no more used tiles. Both new and old tiles should be
marked as changed.

Also add tests to show desired result for add, update, remove.
2019-02-17 01:50:53 +03:00
elsid
9626b6ec42
Add option to disable DetourNavigator component to find paths 2019-02-16 15:50:58 +03:00
elsid
34c594f01e
Add default initializators for settings fields 2019-02-16 15:39:06 +03:00
elsid
16675fd254
Return empty path when navmesh is not found for agent 2019-02-16 15:37:06 +03:00
elsid
1d3668cd22
Add Navigator interface 2019-02-16 15:37:06 +03:00
elsid
d63881e054
Make Navigator::findPath independent from class fields 2019-02-16 15:14:05 +03:00
elsid
a0ed981a7c
Fix operator ++ for OutputTransformIterator 2019-02-16 15:09:57 +03:00
elsid
c68e64a2a7
Make navigator from settings manager setting in separate function 2019-02-16 14:41:11 +03:00
Andrei Kortunov
058e289162 Do not create a redundant parent node for LOD and Switch nodes (bug #4837) 2019-02-09 12:02:09 +04:00
Andrei Kortunov
573b3f4f1d Init target for AI packages from old saves 2019-02-05 08:03:31 +04:00
Bret Curtis
f4313c02e1
Merge pull request #2153 from akortunov/glowing_windows
Native glowing windows support
2019-02-04 14:50:13 +01:00
Andrei Kortunov
60c9806d62 Share RigGeometry node data 2019-02-03 13:09:49 +04:00
Azdul
7940317e42 Make sure that proper operator function is used for char[N] argument 2019-02-03 09:32:32 +01:00
Andrei Kortunov
9e4a339ad3 Daytime node switch support (feature #4836) 2019-02-02 10:50:15 +04:00
AnyOldName3
15547750ba Correct behaviour of use front face culling setting to not use back face culling either when disabled. 2019-02-01 00:29:13 +00:00
AnyOldName3
cfe921fb82 Remove uneeded includes. 2019-01-31 20:12:42 +00:00
AnyOldName3
2761a38562 Prettify shadow define map setup. 2019-01-31 20:12:17 +00:00
AnyOldName3
57e10e26b2 Make variable name less confusing 2019-01-31 14:58:57 +00:00
AnyOldName3
a24b8ec3d2 Fix enable/disable mixup. 2019-01-31 14:57:56 +00:00
AnyOldName3
556c9a3382 Add normal-offset shadow mapping to remove shadow acne (flicker) 2019-01-30 22:28:00 +00:00
Bret Curtis
e748abde7d
Merge pull request #2147 from akortunov/uvcontroller
Apply UVControllers only for given UV Set
2019-01-28 10:20:43 +01:00
Andrei Kortunov
03b71d3c30 Improve switchable nodes handling by optimizer 2019-01-27 15:19:48 +04:00