Commit Graph

27465 Commits (becffef14263dfe04978ebcbf4004f78f25b7885)
 

Author SHA1 Message Date
psi29a becffef142 Merge branch 'cull_navmesh_objects' into 'master'
Cull navmesh objects by scene bounds (#5858)

Closes #5858

See merge request OpenMW/openmw!1625
3 years ago
AnyOldName3 9d8853442b Merge branch 'portable' into 'master'
Make OpenMW "portable"

Closes #2491

See merge request OpenMW/openmw!1555
3 years ago
psi29a c3e07619a4 Merge branch 'lua' into 'master'
Replace `inventory:get<Type>()` with `inventory:getAll(<Type>)`

See merge request OpenMW/openmw!1624
3 years ago
elsid 0b644a897e
Explicitly bind TileCachedRecastMeshManager with mutex 3 years ago
elsid 3caeda7299
Consider animated object unchanged if no transform updates done 3 years ago
elsid 832ab103cb
Filter out unchanged animated objects for navigator update 3 years ago
elsid 05b54cbfb8
Cull navmesh objects by scene bounds
If object is too big iteration over all tiles covering it can take too much
time. Limit bounds to a square around a player position to cover only tiles
that will be present in navmesh based on max tiles number option.

Each object is associated with a set of tiles its present in. Culling can
reduce this set but it has to be update when bounds change position. Do this
in TileCachedRecastMeshManager::setBounds updating the set and adding/removing
objects to the corresponding CachedRecastMeshManagers.
3 years ago
elsid 563f3f87dd
Reduce critical sections size 3 years ago
elsid a5b078e9a7
Allow to represent empty range with TilesPositionsRange 3 years ago
elsid 1b2954f2db
Remove unused z coordinate 3 years ago
elsid 1a52a2a029
Clamp tile position 3 years ago
elsid 783411fa1f
Use new player position when updating navigator on cell loading 3 years ago
elsid 542717394a
Remove objects, water and heightfields when no longer required 3 years ago
Petr Mikheev 6e4f628866 Replace `inventory:get<Type>()` with `inventory:getAll(<Type>)` 3 years ago
Cody Glassman 002d0bf694 Merge branch 'rm_redundant_code' into 'master'
Avoid unnecessary computation

See merge request OpenMW/openmw!1623
3 years ago
elsid 16cfdfec19
Avoid unnecessary computation
And fix UBSAN error:

/home/elsid/dev/openmw/apps/openmw/mwrender/renderingmanager.cpp:659:81: runtime error: division by zero
    #0 0x556eac16f4dc in MWRender::RenderingManager::configureAmbient(ESM::Cell const*) /home/elsid/dev/openmw/apps/openmw/mwrender/renderingmanager.cpp:659
    #1 0x556eadfd3d60 in MWWorld::Scene::loadCell(MWWorld::CellStore*, Loading::Listener*, bool, osg::Vec3f const&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:467
    #2 0x556eadfe3047 in MWWorld::Scene::changeToInteriorCell(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:830
    #3 0x556eadeb8fb3 in MWWorld::World::changeToInteriorCell(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/worldimp.cpp:978
    #4 0x556eadeba5f1 in MWWorld::World::changeToCell(ESM::CellId const&, ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/worldimp.cpp:1008
    #5 0x556eaeb852dd in MWState::StateManager::loadGame(MWState::Character const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:533
    #6 0x556eaeb81674 in MWState::StateManager::loadGame(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:366
    #7 0x556eaebd2aae in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:1025
    #8 0x556eaeba810a in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:221
    #9 0x556eaf865e9a 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:205
    #10 0x556eaeba8368 in main /home/elsid/dev/openmw/apps/openmw/main.cpp:233
    #11 0x7f89773b3b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    #12 0x556eac13c09d in _start (/home/elsid/dev/openmw/build/gcc/ubsan/openmw+0x669c09d)
3 years ago
Petr Mikheev 6084dbfc3a Add a warning if replace==config is used. 3 years ago
Petr Mikheev 5b23ba3faf Fix `defaulted` in ConfigurationManager::mergeComposingVariables 3 years ago
Petr Mikheev 9c1ff16b62 Add config variable `user-data="?userdata?"`. Allows to override paths to saves and screenshots. 3 years ago
Petr Mikheev 5ff2fc55ac Make ConfigurationManager::getUserConfigPath to return the actual config path where the settings, logs, and Lua storage are stored. 3 years ago
Petr Mikheev a453e5c198 Reuse the same code to load settings in apps/openmw, apps/launcher, apps/opencs 3 years ago
Petr Mikheev 1bcc4a8bcc Read settings.cfg from all active config dirs 3 years ago
Petr Mikheev 5ca56a4f8a New option "config" for specifying additional config directories. 3 years ago
Petr Mikheev dd5ba5c57b Redirect log only after parsing configuration 3 years ago
psi29a bb6b031afd Merge branch 'fix_simulation_crash' into 'master'
Fix use after free and possible deadlock on exit (#6577)

Closes #6577

See merge request OpenMW/openmw!1601
3 years ago
psi29a cf8d49bb9a Merge branch 'lua_settings_ui' into 'master'
Lua settings UI

Closes #6454

See merge request OpenMW/openmw!1595
3 years ago
psi29a fb99ed78d5 Merge branch 'absoluteprecision' into 'master'
Fix compilation errors with double precision bound types (bug #6579)

Closes #6579

See merge request OpenMW/openmw!1619
3 years ago
psi29a 0100f682b9 Merge branch 'fix_docs' into 'master'
Fix util.color docs

See merge request OpenMW/openmw!1622
3 years ago
uramer 2945f6238e Fix util.color docs 3 years ago
uramer 946b8b804c MR feedback 3 years ago
Alexei Dobrohotov 142b6fdf2f Fix double precision bound issues in std::max/std::clamp 3 years ago
Alexei Dobrohotov aaea2bc0f6 Implement transformBoundingSphere for both sphere types (bug #6579) 3 years ago
uramer 406e950052 Merge branch 'lua_activate' into 'master'
Lua command `object:activateBy(actor)` and handler `onActivate`

See merge request OpenMW/openmw!1618
3 years ago
Petr Mikheev 47c37e5849 Lua command `object:activateBy(actor)` and handler `onActivate` 3 years ago
uramer f873703bdb Merge branch 'lua_aux_util' into 'master'
Add range to "aux_util.findNearestTo".

See merge request OpenMW/openmw!1620
3 years ago
uramer f68c0c41a9 Prioritize setting pages with hits in the name when searching 3 years ago
uramer 2185fd29c5 Document ui.registerSettingsPage 3 years ago
uramer ef1e72dc17 Revert from settings description to searchHints 3 years ago
uramer 7f796d148e Clean up 3 years ago
uramer 01d65a14f1 Implement more advanced search, sort script setting pages by alphabet and filter match quality 3 years ago
uramer 67641dcdb7 Fix compile errors 3 years ago
uramer f07f05ddd3 Add Container widget type, use it to make Adapter code less hacky 3 years ago
uramer 086a7d9bc5 Wrap Lua settings widgets into an Adapter widget 3 years ago
uramer db9e734a6a Fix warning 3 years ago
uramer 1455aa3e02 Allow changing script settings pages after registering them 3 years ago
uramer 5f7ab49880 Implement script setting pages' descriptions 3 years ago
uramer a005f25c4b Use page terminology for script settings 3 years ago
uramer e78b8402fa Fix warnings 3 years ago
uramer a972a54ea9 Allow changing element root widget type, prevent use after free in script settings 3 years ago
uramer 64df4f54c6 Add scrolling to the script settings view 3 years ago