1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-28 14:53:58 +00:00

3051 Commits

Author SHA1 Message Date
cody glassman
ed6cd487ee allow updating filtering at runtime 2022-04-29 17:26:09 -07:00
cody glassman
13a05dbd63 simple water should respect filter settings 2022-04-29 17:01:28 -07:00
elsid
a2d596dbc7
Prepare navmesh scene asynchronously
It is expensive operation to generate new osg::Group for updated navmesh tile
which noticeably slows down main thread primarily because of
SceneManager::recreateShaders call. Move it to the preload work queue that is
used by RenderingManager. Leave to main thread only manipulations on the root
node.

Also move deallocation of no more needed data to the work queue. It's also
quite expensive operation because SceneManager::recreateShaders allocates a
new state set for each osg::Geometry. Deallocating them takes time.

Avoid creating another work item if there is existing one that is not started
yet.

Make sure results are accepted in the proper serialized order by selecting
completed work item with maximum {id, version}.
2022-04-20 23:14:31 +02:00
fredzio
d05a2facf3 Handle NCC flag in Nif files. Objects with this flag will collide only with camera.
Expose objects with NC flag to be used by Lua mods.
2022-04-17 20:03:00 +02:00
psi29a
9275b3c08f Merge branch 'make_shared' into 'master'
Use std::make_shared instead of new

See merge request OpenMW/openmw!1753
2022-04-08 21:35:55 +00:00
elsid
4509b05bc8
Use std::make_shared instead of new
make_shared allocates single storage for ref counter and the object.
std::shared_ptr<T>(new T) allocates 2 storages.
2022-04-08 22:50:09 +02:00
elsid
df092b558b
Replace shared_ptr by unique_ptr 2022-04-08 22:42:22 +02:00
elsid
bbfdb347bd
Skip load cell ref when there is no need
Primarily to avoid temporary allocations by ESMReader::getHString.
2022-04-08 19:16:38 +02:00
elsid
5156ee94be
Store static id key in lower case 2022-04-08 01:22:48 +02:00
Bret Curtis
c376f3793e check that the index is now -1; otherwise bad things happen 2022-04-07 00:09:11 +02:00
Bret Curtis
0db5415976 refactor to use mInternal, support Flag_Reverse and updated changelog/authors.md 2022-04-07 00:09:11 +02:00
Wolfgang Lieff
ead73fce31 initial NiFltAnimationNode support 2022-04-07 00:09:11 +02:00
Petr Mikheev
3af8ea5dfc Update Lua bindings for the camera 2022-04-06 21:55:05 +02:00
Nelsson Huotari
6869fa18e4 Fix unsafe memory access at object.cpp 2022-03-26 15:16:22 +00:00
ζeh Matt
129d68e299
Fix #6660: Crash during intro video when closing the game 2022-03-03 20:25:35 +02:00
Bret Curtis
ad11cc8d8a reinstall fontconfig as needed; const an imbigious == operator 2022-03-01 10:53:01 +01:00
elsid
6fd251e8f7
Avoid starting async png writing when overlay image is null 2022-02-19 21:41:40 +01:00
Alexei Kotov
4fdf55601c Merge branch 'bigboi' into 'master'
Force a scale update when changing view modes

Closes #6623

See merge request OpenMW/openmw!1662
2022-02-16 22:29:13 +00:00
Evil Eye
f9da792386 Force a scale update when changing view modes 2022-02-15 17:25:07 +01:00
elsid
a4d7b72511
Write png image of the global map for save asynchronously
Write global map to the save file last to give more time for async job to
finish.
2022-02-13 21:42:36 +01:00
glassmancody.info
8c2c322d92 add stencil to water RTTs, reword some comments 2022-02-07 14:35:15 -08:00
glassmancody.info
bbc9c53423 support morrowind stenciling 2022-02-07 11:51:59 -08:00
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)
2022-02-03 00:08:45 +01:00
Alexei Dobrohotov
142b6fdf2f Fix double precision bound issues in std::max/std::clamp 2022-02-02 16:57:59 +03:00
uramer
c31dedb89c Implement Yaw, Pitch and Use (attack / cast spell) in Lua self.controls 2022-02-01 18:47:20 +00:00
Bret Curtis
74e7cfc023 remove unused includes: part1
remove unused imports: part2

revert one tidy we will keep for c++20
2022-01-23 17:30:25 +01:00
Bret Curtis
cdbab2325f rename esmterrain to esm3terrain 2022-01-23 17:19:30 +01:00
Bret Curtis
d1fb854521 move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
esm typo

esm typo
2022-01-23 17:04:48 +01:00
Cody Glassman
9cafc31c0d Restore ripples with soft particles 2022-01-19 11:32:38 +00:00
Cody Glassman
8ec0a52605 Toggable day night switch (#5928) 2022-01-11 09:34:19 +00:00
psi29a
a1f8db7600 Merge branch 'bright_spells' into 'master'
Replicate Morrowind spell lighting (#4949)

Closes #4949

See merge request OpenMW/openmw!1544
2022-01-09 11:07:14 +00:00
cody glassman
8216410e7d add white ambient to spell VFX as in Morrowind 2022-01-08 16:19:42 -08:00
cody glassman
e32d3d11ce ensure readbuffer is bound before using glReadPixels 2022-01-08 16:12:24 -08:00
psi29a
d8d7a3b372 Merge branch 'softparticles_patch' into 'master'
Shadervisitor adjustments and Mac OS fix for soft particles

See merge request OpenMW/openmw!1380
2022-01-06 13:13:52 +00:00
psi29a
e0612db01c Merge branch 'viewport_update' into 'master'
Use updated resolutions when setting projection matrix

See merge request OpenMW/openmw!1533
2022-01-05 10:43:30 +00:00
Cody Glassman
a7166aa05c Use updated resolutions when setting projection matrix 2022-01-05 10:43:30 +00:00
psi29a
5eba352c98 Merge branch 'correct_depth_function' into 'master'
Use correct depth functions (#6537)

Closes #6537

See merge request OpenMW/openmw!1534
2022-01-05 08:38:05 +00:00
glassmancody.info
909aa43ba1 update sky particle node correctly 2022-01-04 14:10:39 -08:00
glassmancody.info
2c52695361 fix regression where LEQUAL was used instead of LESS for depth function 2022-01-04 12:23:37 -08:00
elsid
01c712d5f1
Split navigator settings into subtypes
Mostly to distinguish settings that affect properties of the generated navmesh.
2021-12-10 23:55:03 +01:00
psi29a
7256654f29 Merge branch 'navmesh_render' into 'master'
Rework navmesh render (#6187)

See merge request OpenMW/openmw!1338
2021-12-02 10:34:41 +00:00
psi29a
e221013692 Merge branch 'recalculate-projection-matrix-on-window-resize' into 'master'
Recalculate the Projection Matrix every time the window is resized.

See merge request OpenMW/openmw!1382
2021-11-30 16:00:31 +00:00
OnlyForF1
c5b33185b5 Recalculate the Projection Matrix every time the window is resized. 2021-11-30 16:00:30 +00:00
Bret Curtis
246912f73a
Merge pull request #3206 from akortunov/groundcover_loading
Use a separate storage for groundcover data
2021-11-29 20:09:21 +01:00
Evil Eye
a231037449 Merge branch 'accumroot' into 'master'
Use the anim source to find mAccumRoot (bug #6417)

Closes #6417

See merge request OpenMW/openmw!1431
2021-11-25 19:13:21 +00:00
Alexei Dobrohotov
fd58e5ba77 Use the anim source to find mAccumRoot (bug #6417) 2021-11-23 04:53:03 +03:00
glassmancody.info
44d5c96183 sunglare fix 2021-11-22 17:35:00 -08:00
elsid
cffcb6a897
Share state set between all navmesh tiles
Do not change GL_DEPTH because it's always disabled anyway.
2021-11-21 18:01:26 +01:00
elsid
3c41d0efc3
Render each navmesh tile independently 2021-11-21 17:42:27 +01:00
elsid
6b7363bd59
Replace generation and revision by version 2021-11-21 17:40:54 +01:00