1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-31 23:45:35 +00:00
Commit graph

17963 commits

Author SHA1 Message Date
psi29a
00b28d2665 Merge branch 'over_time' into 'master'
Fix particles and magnitudes for (damage) over time effects

See merge request OpenMW/openmw!1298
2021-10-17 12:12:22 +00:00
psi29a
2f0484f4fc Merge branch 'clear_me_not' into 'master'
Do not clear depth buffer in first person (#6078)

Closes #6078

See merge request OpenMW/openmw!1119
2021-10-17 09:30:30 +00:00
glassmancody.info
cc009d246f do not clear depth buffer in first person 2021-10-16 18:37:34 -07:00
unknown
add6eb9c95 Fix particles and magnitudes for (damage) over time effects 2021-10-16 21:40:41 +02:00
psi29a
c051298848 Merge branch 'sqlite3_helpers' into 'master'
Add sqlite3 helpers

See merge request OpenMW/openmw!1299
2021-10-16 18:48:02 +00:00
elsid
c88367b6a6
Add sqlite3 helpers 2021-10-16 17:43:08 +02:00
elsid
501316a9f7
Add missing initialization in MWPhysics::Object
==16218== Conditional jump or move depends on uninitialised value(s)
==16218==    at 0xCDBC27: MWPhysics::Object::commitPositionChange() (object.cpp:68)
==16218==    by 0xCE5B64: MWPhysics::PhysicsTaskScheduler::updatePtrAabb(std::shared_ptr<MWPhysics::PtrHolder> const&) (mtphysics.cpp:446)
==16218==    by 0xCE5CC3: operator() (mtphysics.cpp:432)
==16218==    by 0xCE5CC3: for_each<std::_Rb_tree_const_iterator<std::shared_ptr<MWPhysics::PtrHolder> >, MWPhysics::PhysicsTaskScheduler::updateAabbs()::<lambda(const std::shared_ptr<MWPhysics::PtrHolder>&)> > (stl_algo.h:3820)
==16218==    by 0xCE5CC3: MWPhysics::PhysicsTaskScheduler::updateAabbs() (mtphysics.cpp:431)
==16218==    by 0xCE5E35: MWPhysics::PhysicsTaskScheduler::afterPreStep() (mtphysics.cpp:586)
==16218==    by 0xCE6238: operator() (mtphysics.cpp:533)
==16218==    by 0xCE6238: wait<MWPhysics::PhysicsTaskScheduler::doSimulation()::<lambda()> > (barrier.hpp:33)
==16218==    by 0xCE6238: MWPhysics::PhysicsTaskScheduler::doSimulation() (mtphysics.cpp:533)
==16218==    by 0xCE6377: MWPhysics::PhysicsTaskScheduler::worker() (mtphysics.cpp:464)
==16218==    by 0x74523C3: execute_native_thread_routine (thread.cc:82)
==16218==    by 0x76FF258: start_thread (in /usr/lib/libpthread-2.33.so)
==16218==    by 0x78155E2: clone (in /usr/lib/libc-2.33.so)
==16218==

==16218== Conditional jump or move depends on uninitialised value(s)
==16218==    at 0xCDBC30: MWPhysics::Object::commitPositionChange() (object.cpp:73)
==16218==    by 0xCE5B64: MWPhysics::PhysicsTaskScheduler::updatePtrAabb(std::shared_ptr<MWPhysics::PtrHolder> const&) (mtphysics.cpp:446)
==16218==    by 0xCE5CC3: operator() (mtphysics.cpp:432)
==16218==    by 0xCE5CC3: for_each<std::_Rb_tree_const_iterator<std::shared_ptr<MWPhysics::PtrHolder> >, MWPhysics::PhysicsTaskScheduler::updateAabbs()::<lambda(const std::shared_ptr<MWPhysics::PtrHolder>&)> > (stl_algo.h:3820)
==16218==    by 0xCE5CC3: MWPhysics::PhysicsTaskScheduler::updateAabbs() (mtphysics.cpp:431)
==16218==    by 0xCE5E35: MWPhysics::PhysicsTaskScheduler::afterPreStep() (mtphysics.cpp:586)
==16218==    by 0xCE6238: operator() (mtphysics.cpp:533)
==16218==    by 0xCE6238: wait<MWPhysics::PhysicsTaskScheduler::doSimulation()::<lambda()> > (barrier.hpp:33)
==16218==    by 0xCE6238: MWPhysics::PhysicsTaskScheduler::doSimulation() (mtphysics.cpp:533)
==16218==    by 0xCE6377: MWPhysics::PhysicsTaskScheduler::worker() (mtphysics.cpp:464)
==16218==    by 0x74523C3: execute_native_thread_routine (thread.cc:82)
==16218==    by 0x76FF258: start_thread (in /usr/lib/libpthread-2.33.so)
==16218==    by 0x78155E2: clone (in /usr/lib/libc-2.33.so)
==16218==
2021-10-16 00:43:50 +02:00
elsid
d06e697356
Initialize RenderingManager fields before use
PostProcessor is constructed before mNearClip, mViewDistance, mFieldOfView are
initialized and the constructor calls updateProjectionMatrix that uses these
fields.

==16218== Conditional jump or move depends on uninitialised value(s)
==16218==    at 0x722EBE: min<float> (stl_algobase.h:235)
==16218==    by 0x722EBE: MWRender::RenderingManager::updateProjectionMatrix() (renderingmanager.cpp:1183)
==16218==    by 0x7D022F: MWRender::PostProcessor::PostProcessor(MWRender::RenderingManager&, osgViewer::Viewer*, osg::Group*) (postprocessor.cpp:144)
==16218==    by 0x728B41: MWRender::RenderingManager::RenderingManager(osgViewer::Viewer*, osg::ref_ptr<osg::Group>, Resource::ResourceSystem*, SceneUtil::WorkQueue*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DetourNavigator::Navigator&) (renderingmanager.cpp:452)
==16218==    by 0xBB5E65: MWWorld::World::World(osgViewer::Viewer*, osg::ref_ptr<osg::Group>, Resource::ResourceSystem*, SceneUtil::WorkQueue*, Files::Collections const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, ToUTF8::Utf8Encoder*, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (worldimp.cpp:190)
==16218==    by 0xDEEA6F: OMW::Engine::prepareEngine(Settings::Manager&) (engine.cpp:789)
==16218==    by 0xDF2068: OMW::Engine::go() (engine.cpp:959)
==16218==    by 0xDE7B8F: runApplication(int, char**) (main.cpp:220)
==16218==    by 0x1006593: wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debugging.cpp:205)
==16218==    by 0x7152C3: main (main.cpp:232)
==16218==

==17455== Conditional jump or move depends on uninitialised value(s)
==17455==    at 0x4F8613F: osg::Matrixd::makeFrustum(double, double, double, double, double, double) (Matrix_implementation.cpp:916)
==17455==    by 0x4EC0E11: osg::Camera::setProjectionMatrixAsPerspective(double, double, double, double) (Matrixd:580)
==17455==    by 0x722DDA: MWRender::RenderingManager::updateProjectionMatrix() (renderingmanager.cpp:1167)
==17455==    by 0x7D01EF: MWRender::PostProcessor::PostProcessor(MWRender::RenderingManager&, osgViewer::Viewer*, osg::Group*) (postprocessor.cpp:144)
==17455==    by 0x728BA1: MWRender::RenderingManager::RenderingManager(osgViewer::Viewer*, osg::ref_ptr<osg::Group>, Resource::ResourceSystem*, SceneUtil::WorkQueue*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DetourNavigator::Navigator&) (renderingmanager.cpp:453)
==17455==    by 0xBB5E25: MWWorld::World::World(osgViewer::Viewer*, osg::ref_ptr<osg::Group>, Resource::ResourceSystem*, SceneUtil::WorkQueue*, Files::Collections const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, ToUTF8::Utf8Encoder*, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (worldimp.cpp:190)
==17455==    by 0xDEEA3F: OMW::Engine::prepareEngine(Settings::Manager&) (engine.cpp:789)
==17455==    by 0xDF2038: OMW::Engine::go() (engine.cpp:959)
==17455==    by 0xDE7B5F: runApplication(int, char**) (main.cpp:220)
==17455==    by 0x1006563: wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debugging.cpp:205)
==17455==    by 0x7152C3: main (main.cpp:232)
==17455==
2021-10-16 00:43:31 +02:00
psi29a
ac3c02496c Merge branch 'terrainselectionoptimize' into 'master'
Terrain selection optimizations

See merge request OpenMW/openmw!1261
2021-10-15 20:46:20 +00:00
Chris Djali
9c040d1ff7
Merge pull request #3175 from bosvensson1/patch-52
removes sky bounds
2021-10-15 20:12:32 +01:00
unelsson
14c4bba4a3 Remove unused include 2021-10-15 21:54:00 +03:00
unelsson
28278e9a82 Drawing duplicate lines is faster than iterating through big containers 2021-10-15 21:54:00 +03:00
unelsson
55456a19fc Only iterate through temporary selection when using toggle 2021-10-15 21:54:00 +03:00
unelsson
46960825ef Various terrain selection and editmode dragging fixes 2021-10-15 21:54:00 +03:00
unelsson
89a20b6ea5 Call dragEnded instead of pressed also after aborted operation 2021-10-15 21:54:00 +03:00
unelsson
3df9ceda03 Remove measurement code 2021-10-15 21:54:00 +03:00
unelsson
7602d677fa Terrain selection optimizations, measurements, renderBin change 2021-10-15 21:54:00 +03:00
psi29a
ed1953b811 Merge branch 'actor_souls_only' into 'master'
Don't hit the ground

Closes #6339

See merge request OpenMW/openmw!1295
2021-10-14 17:15:02 +00:00
Evil Eye
5805c0114a Don't hit the ground 2021-10-14 17:40:03 +02:00
psi29a
29082ff658 Merge branch 'morrowland_the_musical' into 'master'
Stop trying to play non-existent music files started by scripts

See merge request OpenMW/openmw!1293
2021-10-14 15:25:11 +00:00
psi29a
787da4891c Merge branch 'actor_souls_only' into 'master'
Check if the target is an actor before updating magic effects

Closes #6339

See merge request OpenMW/openmw!1294
2021-10-14 15:19:16 +00:00
psi29a
89077af3ff Merge branch 'getters' into 'master'
Move getters to header in order to allow inlining (performance optimization)

See merge request OpenMW/openmw!1289
2021-10-14 15:17:08 +00:00
Evil Eye
bba80b07a2 Check if the target is an actor 2021-10-14 16:49:30 +02:00
Bo Svensson
db3d938ee9
cleans up BSAFile (#3177)
We currently build a large map of a BSAFile's contents unused by Open MW. We already map archive contents in VFS. With this PR we remove the map from BSAFile and reimplement its only current use in BSATool.
2021-10-14 14:46:44 +02:00
psi29a
e86b9a7b89 Merge branch 'add_comment' into 'master'
Add comment for MWWorld::Ptr::getType() because it is not obvious.

See merge request OpenMW/openmw!1291
2021-10-14 12:44:04 +00:00
Evil Eye
4a6464ea67 Stop trying to play non-existent music files started by scripts 2021-10-13 22:40:07 +02:00
Evil Eye
ec6451e93a Merge branch 'recordtype' into 'master'
Avoid copying std::string in MWWorld::Ptr::getTypeDescription()

See merge request OpenMW/openmw!1290
2021-10-13 17:04:32 +00:00
Bo Svensson
fc9ab97950
sky.cpp 2021-10-13 10:08:28 +00:00
Petr Mikheev
4e9d691715 Add comment for MWWorld::Ptr::getType() because it is not obvious. 2021-10-12 21:30:37 +02:00
Evil Eye
6b482d0b52 Merge branch 'openmw-tradeglitch' into master 2021-10-12 18:19:19 +02:00
psi29a
6ec66edb7c Merge branch 'soulful' into 'master'
Fix soul trapping for one shot kills

Closes #6337

See merge request OpenMW/openmw!1288
2021-10-12 07:59:44 +00:00
psi29a
67fa8413f3 Merge branch 'physics_heightfield' into 'master'
Replace float type for arguments to create heightfield with int

See merge request OpenMW/openmw!1285
2021-10-12 07:58:34 +00:00
psi29a
207a7245bc Merge branch 'navigator_settings' into 'master'
Initialize navigator max climb and max slope settings in makeSettingsFromSettingsManager

See merge request OpenMW/openmw!1283
2021-10-12 07:02:08 +00:00
psi29a
444765e304 Merge branch 'navmesh_agent_half_extents' into 'master'
Define default actor half extents in settings

See merge request OpenMW/openmw!1282
2021-10-12 07:01:13 +00:00
Petr Mikheev
a8acc19988 Avoid copying std::string in MWWorld::Ptr::getTypeDescription() 2021-10-12 00:18:23 +02:00
elsid
405e814190
Move btCollisionObject creation for MWPhysics::Object into components 2021-10-11 23:14:02 +02:00
Evil Eye
ae4578f566 Fix soul trapping for one shot kills 2021-10-11 21:46:15 +02:00
Petr Mikheev
fec65acd18 Move getters to header in order to allow inlining 2021-10-11 21:33:35 +02:00
elsid
144862aa35
Define default actor half extents in settings
Player's half extents may change over time when wolfskin model is used for
example. Having it in settings is a more presistent approach.
2021-10-11 19:41:43 +02:00
elsid
7c5a590890
Replace float type for arguments to create heightfield with int
To reduce amount of computations on the caller side and restrict possible
values.

* verts can't be non-int because it's a number of things.
* worldsize is initially defined as int by ESM::Land::REAL_SIZE.
* Put function to calculate heightfied shift into components to be able to
  reuse by other binaries.
2021-10-11 19:28:08 +02:00
elsid
6986feb81b
Initialize navigator max climb and max slope settings in makeSettingsFromSettingsManager
To avoid having multiple places to initialize them when they will be required
by multiple binaries.
2021-10-11 18:50:26 +02:00
Bo Svensson
d6613d3677
mostly reverts MWLua changes (#3170)
We just can no longer use the former ptr.getTypeName() as a fallback, but I do not suppose it matters. This value was an implementation defined string that usually contained a garbled mess.
Probably we should additionally refactor Lua types completely now that we have Ptr::getType(). I will leave this up to MWLua developers.
2021-10-11 16:56:26 +02:00
Bo Svensson
5cf9995a31
fixes windows build 2021-10-11 13:28:37 +00:00
Bo Svensson
ef906cbfa8
improves MWClass mapping (#3166)
Currently, we use a peculiar mapping of ESM classes by their std::type_info::name. This mapping is an undefined behaviour because std::type_info::name is strictly implementation defined. It could return a non-unique value on some platforms. With this PR we use the unsigned int sRecordId of the ESM class as a more efficient lookup type that does not build on undefined behaviour. We can expect marginally faster save-game loading with these changes as well.
2021-10-11 13:46:21 +02:00
Bo Svensson
98f8295765
allows to skip ComputeLightSpaceBounds traversal (#3152)
Currently, we always traverse the scene graph an additional time with a ComputeLightSpaceBounds visitor during shadow casting. ComputeLightSpaceBounds is only useful when the shadow casting mask allows us to shrink the bounds of the rendered scene, so we guard its traversal with a check against getCastsShadowTraversalMask. In practice, this guard never works because we build the traversal mask inclusively.

With this PR we limit the getCastsShadowTraversalMask check to relevant masks. This new check allows us to skip a superfluous ComputeLightSpaceBounds traversal with most settings.
2021-10-11 11:27:50 +02:00
psi29a
66a6b80df9 Merge branch 'thrust_into_the_light' into 'master'
Detect keys and enchanted items in containers without custom data

Closes #6326

See merge request OpenMW/openmw!1265
2021-10-11 09:13:31 +00:00
psi29a
f9124ccea6 Merge branch 'recast_mesh_slope' into 'master'
Use different colors for walkable and non-walkable recast mesh triangles

See merge request OpenMW/openmw!1277
2021-10-11 08:56:04 +00:00
psi29a
3e2694dde9 Merge branch 'catch_me' into 'master'
Remove active effects from spells that no longer exist

See merge request OpenMW/openmw!1273
2021-10-11 08:53:48 +00:00
psi29a
d3bad2dba2 Merge branch 'stripperiffic_werewolves' into 'master'
Remove magic effects before saving stats when turning into a werewolf

Closes #6330

See merge request OpenMW/openmw!1270
2021-10-11 08:52:46 +00:00
psi29a
21c4504d35 Merge branch 'max_slope' into 'master'
Change max walkable slope angle to 46 degrees

See merge request OpenMW/openmw!1280
2021-10-11 08:22:35 +00:00