Commit Graph

18177 Commits (f85053d78c7d21484bcf49d75ab2a9fce5ce79f3)

Author SHA1 Message Date
Alexei Kotov f210559a80 Merge branch 'bound_rating' into 'master'
Improve AI rating of bound effects

Closes #3855

See merge request OpenMW/openmw!1366
3 years ago
elsid d7041613ef
Store BulletShape source file name and content hash 3 years ago
Cédric Mocquillon 512d64e514 Extract correctSoundPath method to avoid code duplication. Add unit test for the new method 3 years ago
Alexei Dobrohotov 9880c43c86 Add specular strength shader parameter 3 years ago
Alexei Dobrohotov 0d13b8cd3f Allow movement during blocking (bug #6327) 3 years ago
Alexei Dobrohotov 835bec0ed1 Fix stupid typo 3 years ago
psi29a 295ebbebbd Merge branch 'astoecke-fix-6354-sfx-distance-attenuation' into 'master'
Fade sounds when performing distance-based culling (Fixes #6354)

Closes #6354

See merge request OpenMW/openmw!1341
3 years ago
psi29a 5836d0225f Merge branch 'leave_butter_to_soften' into 'master'
Soft Particles (#6128)

See merge request OpenMW/openmw!980
3 years ago
psi29a 28589b9692 Merge branch 'holsteredshield-already-has-shaders' into 'master'
Remove redundant recreateShaders

See merge request OpenMW/openmw!1368
3 years ago
Bret Curtis f2bc179b0a Add groundcover back into view 3 years ago
Evil Eye 1a2fde04bb Clarify logic 3 years ago
Bo Svensson 5f1bf89369
improves groundcover view distance (#3219)
This PR aims to solve all issues with `Groundcover` view distance handling in a satisfying way while preserving other optimisations that benefit other features. The main idea here is not to rely on `ViewData` updates for distance culling calculations because we can not accurately determine distance against lazily updated views. Instead, we perform an accurate measurement in a cull callback we can run every frame in `Groundcover` itself. While we do have to add some code to handle this feature, it is quite loosely coupled code that could be useful elsewhere in the future. These changes should address a performance regression @akortunov experienced.
3 years ago
psi29a 9f26dfadd1 Merge branch 'cleanup_includes' into 'master'
Cleanup some includes

See merge request OpenMW/openmw!1369
3 years ago
psi29a 9b7dfcac6b Merge branch 'windows_aero_snap' into 'master'
Fix windows aero snap with borderless window (#5394)

See merge request OpenMW/openmw!1370
3 years ago
Alexei Kotov a315af48e9 Merge branch 'parent_visibility' into 'master'
Only restore focus to widgets with visible parents

Closes #5377

See merge request OpenMW/openmw!1364
3 years ago
glassmancody.info c489b77385 fix windows aero snap 3 years ago
elsid e0c4f08aa5
Remove redundant includes 3 years ago
AnyOldName3 90ce50190e Remove redundant recreateShaders 3 years ago
Evil Eye 11ed594910 Improve AI rating of bound effects 3 years ago
Evil Eye 9394cdde22 Only restore focus to widgets with visible parents 3 years ago
Bo Svensson 2e031f195b
fixes LightBufferBinding messages (#3223)
This PR aims to solve `uniform block LightBufferBinding has no binding` messages @glassmancody has reportedly encountered since PR #3110 due to an apparent bug in OSG. While we do have to add a workaround here that adds a bit of clunkiness, #3216 should allow us to clean up these interactions a bit in the future.
3 years ago
Evil Eye 3f48d67d8e Merge branch 'blackscreen_fix' into 'master'
Blackscreen fix (#6229)

See merge request OpenMW/openmw!1359
3 years ago
Evil Eye a3e039d862 Explicitely sort by file name after adding all data dirs 3 years ago
Alexei Kotov 0c11175da1 Merge branch 'combat_aiming' into 'master'
Finish turning before attacking

Closes #3488

See merge request OpenMW/openmw!1358
3 years ago
Alexei Dobrohotov e125308dd8 Force assign head animation timer (bug #4389) 3 years ago
psi29a 627f816348 Merge branch 'navigator_impl' into 'master'
Reduce the size of included code from detournavigator/ into the engine

See merge request OpenMW/openmw!1355
3 years ago
Langerz82 303082f6b4 Finish turning before attacking 3 years ago
wareya 6d98866be0 Merge remote-tracking branch 'upstream/master' 3 years ago
Evil Eye 5fbfbb3d84 Merge branch 'clamp' into 'master'
Make better use of std::clamp

See merge request OpenMW/openmw!1357
3 years ago
cody glassman 04692e6012 blackscreen fix 3 years ago
Alexei Dobrohotov 7a0c13fcf8 Make better use of std::clamp 3 years ago
Alexei Kotov 9e2b132508 Merge branch 'dont_linger_weather' into 'master'
Stop lingering weather effects (#6387)

See merge request OpenMW/openmw!1349
3 years ago
elsid 6b30d375fa
Replace detournavigator includes by forward declarations 3 years ago
elsid 9f808fbe3a
Move findPath-like navigator functions into a separate header 3 years ago
elsid 5e99454cc4
Add factory functions to create navigator implementations 3 years ago
elsid 3f80725ebe
Remove duplicated implementation of Misc::Convert::toOsg 3 years ago
psi29a b6d2c57de2 Merge branch 'new2017' into 'master'
MSVC2017 Compilation Fixes

See merge request OpenMW/openmw!1348
3 years ago
Bo Svensson 1960e976e2
refactors stringops.hpp (#3192)
With this PR we refactor `StringUtils::replaceAll` to accept `string_view` as suggested in a code comment. In addition, while we are touching this rebuild happy file, we slim it down a bit by moving a few sparingly used functions elsewhere.
3 years ago
wareya d5aaa0394a Fix a missing required include 3 years ago
Bo Svensson 0371072631
removes lowerCaseInPlace (#3217)
This PR removes unneeded `lowerCaseInPlace` calls in in a hot path of `objectpaging.cpp` that are no longer necessary after PR #3197. In addition, I have been informed that these changes should by coincidence address a compiler specific compilation error we currently experience.
3 years ago
Andreas Stöckel 3ee4aadd88 Heuristic for fading environment sounds in 3 years ago
Andreas Stöckel 1cafef7bdb Fade water sounds more softly 3 years ago
Andreas Stöckel 9cfa2eeab8 Remove hard maximum distance in the OpenAL driver
Hard sound source culling is now handled by the SoundManager.
3 years ago
Andreas Stöckel 6f2e311c58 Fade out sound sources that are no longer close
* Handle culling of all sound sources in a separate function cull3DSound
* Add two new settings Sound::sfx fade in duration and Sound::sfx fade out duration
3 years ago
Andreas Stöckel 1583252dd8 Improve sound fading
* Implement a more general SoundBase::setFade that can be used to fade to any desired
volume and not just fading out
* Implement SoundBase::setFadeout by using SoundBase::setFade
* Implement an exponential fade mode
3 years ago
Bo Svensson cd946ea35a
removes unused recordcmp.hpp (#3214)
This PR removes an unused source file.
3 years ago
Bo Svensson 6cf74f7041
refactors ESM::Land (#3213)
With this PR we reduce coupling, simplify code, encapsulate a variable and separate actual `ESM` data from its context.
3 years ago
Bo Svensson 3042c000c6
fixes setActorFade logic errors (#3195)
* resets state updater to apply light settings (#3141)

resets state updater to apply light settings

With this PR we achieve the same effect with fewer lines of code.

* fixes LightSource logic errors

We currently update `LightSource::setActorFade` in `TransparencyUpdater`. There are several logic errors inherent in this approach:
1. We fail to update `LightSource::setActorFade` for off screen actors because their `TransparencyUpdater` cull callback is not invoked.
2. We fail to update `LightSource::setActorFade` in the instant that a `TransparencyUpdater` is removed.
3. We fail to update `setActorFade` when an `mExtraLightSource` is created after calling `Animation::setAlpha`.
With this PR we avoid such issues by updating `LightSource::setActorFade` in `Animation::setAlpha` and `Animation::addExtraLightSource` instead.
3 years ago
glassmancody.info 4c3dd1a964 remove particle node when resetting particle effect 3 years ago
Bo Svensson f684c1da52
fixes assertion (#3215)
This PR fixes an assertion introduced by #3211. For some reason my build originally did not contain assertions despite passing `DEBUG` into cmake, but after deleting `CMakeCache.txt` I have now hit the assertion @glassmancody reported as well.
3 years ago
Bo Svensson fac84b5dd3 restores ESM::Dialogue order (#3209)
With this PR we restore the previous order of `ESM::Dialogue` entries implicitly changed by PR #3197. In the future we may want to consider additional verification and documentation of `mShared` order inconsistencies. We might additionally consider applying this sorting in the particular code that requires it.
3 years ago
psi29a c9f3c27dc7 Merge branch 'phys_perf_test' into 'master'
Help bullet optimize collisions with very complex collision meshes by making small collision tests if possible

See merge request OpenMW/openmw!1317
3 years ago
Bo Svensson 4657c655b1 refactors parentFileIndices (#3211)
This PR aims to start addressing `ESM` design issues that have silenced errors we incorporated into groundcover `ESM` loading approaches.

- We move the resolution of `parentFileIndices` from `ESMStore` to `ESMReader` as suggested in a `TODO` comment.
- We improve a highly misleading comment which downplayed the significance of `parentFileIndices`.
- We document important preconditions.
- We move a user facing error message to the highest level and improve its context.
- We remove an inappropriate `setGlobalReaderList` method. We now pass this reader list into the method that requires it.
- We remove a thoroughly pointless optimisation of `Store<ESM::LandTexture>`'s construction that has unnecessarily depended on `getGlobalReaderList`.

There should be no functional changes for `master`, but this PR should remove an issue blocking PR #3208.
3 years ago
elsid 2b057f5c15
Expect nif node children to have parent 3 years ago
elsid 4e8e8304aa
Avoid mesh allocation when data is invalid 3 years ago
elsid 4631d95739
Add more tests for BulletNifLoader 3 years ago
psi29a 523289c531 Merge branch 'refactor_bullet_shape' into 'master'
Refactor bullet shape

See merge request OpenMW/openmw!1333
3 years ago
psi29a 4ff4afd50b Merge branch 'lua_callback' into 'master'
Refactoring. Lua `Callback` is moved from apps/openmw/mwlua to components/lua.

See merge request OpenMW/openmw!1334
3 years ago
psi29a ea7e83499d Merge branch 'enlightened_skeletons' into 'master'
Allow creatures to use torches

Closes #6376

See merge request OpenMW/openmw!1335
3 years ago
Evil Eye a9106f4d7c Rotate torches by 90 degrees 3 years ago
wareya 940e338453 Constifications 3 years ago
Bo Svensson 213faa6695
restores countRecords optimisations (#3210)
With this PR we restore @elsid 's optimisations of countRecords we have unintentionally discarded in PR #3197. In addition, we give it a more appropriate name and add comments concerning its peculiar background.
3 years ago
psi29a d3b2503111 Merge branch 'distractions' into 'master'
Reduce code duplication in getting the shield model

See merge request OpenMW/openmw!1337
3 years ago
psi29a 9694398b69 Merge branch 'actually_walk_on_the_water' into 'master'
#6373: finish half commited commit

See merge request OpenMW/openmw!1336
3 years ago
Andreas Stöckel a5a895ffd4 Fix #6381
Do not use osg::PI_f
3 years ago
Evil Eye 3660d5cc4c Reduce code duplication in getting the shield model 3 years ago
glassmancody.info 4461366761 settings update and launcher option 3 years ago
fredzio 8c21b0b503 Apply waterwalking even when we skip simulation.
This chunk was supposed to be part of !1324 but somehow got stuck staged in my tree.
3 years ago
wareya 221f6f134d gcc and clang don't like this 3 years ago
wareya 838fc634c6 address review comments 3 years ago
Evil Eye 92bdd44e58 Allow creatures to use torches 3 years ago
wareya e1378cd290 Replace uniform with define 3 years ago
Petr Mikheev e7ec89573e Refactoring. Lua `Callback` is moved from apps/openmw/mwlua to components/lua. 3 years ago
wareya 226d3eac0d Improve performance, add simpler ripples, add a setting, fix nighttime brightness 3 years ago
Evil Eye 3c40935ec1 Fix regression #6375 3 years ago
Bo Svensson 356e9d7cf0
refactors osg::Callback virtual inheritance (#3200)
With this PR we refactor `SceneUtil::KeyframeController` not to require `virtual osg::Callback` inheritance. I suppose such `virtual` overhead is not justified here because it negatively impacts many other classes we derive from `osg::Callback`.
3 years ago
psi29a 4c81518abb Merge branch 'puddle' into 'master'
Give each reflect and spell absorption effect a chance to apply

Closes #6255 and #6253

See merge request OpenMW/openmw!1279
3 years ago
glassmancody.info 8c3b00164e soft particles 3 years ago
psi29a 3eb6b658c6 Merge branch 'setpos_strikes_back' into 'master'
#6292 unbreak scripted spells

See merge request OpenMW/openmw!1324
3 years ago
psi29a 740045f7d6 Merge branch 'test_compiler' into 'master'
Add unit tests for the mwscript compiler

See merge request OpenMW/openmw!1325
3 years ago
psi29a 15cb9f886c Merge branch 'launcher_omwscripts' into 'master'
Support *.omwscripts in openmw-launcher

See merge request OpenMW/openmw!1329
3 years ago
Bo Svensson 1329f22186
refactors MWWorld::Store maps (#3197)
With this PR we clean up `MWWorld::Store` maps according to the approach of PR #3184.
3 years ago
Bo Svensson 7d34149adc
consolidates createUnlitMaterial (#3203)
With this PR we remove a few duplicate lines of code by adding a parameter to `createUnlitMaterial`.
3 years ago
Bo Svensson 7e6533f0f3
refactors screenshot360 (#3202)
With this PR we refactor screenshot360 not to manually adjust node masks.
3 years ago
Evil Eye ae08f942d5 Test binary operators 3 years ago
Evil Eye 3c5a50cf90 Add issues from Redmine 3 years ago
Evil Eye 319d30fb85 Add AddTopic testing 3 years ago
Evil Eye b3208f4066 Add more issues and a forum thread 3 years ago
Evil Eye 8e0dfe3a8a Add tests for more issues 3 years ago
Evil Eye b2cdbe2e61 Add tests for certain issues 3 years ago
Evil Eye 3dada0796a Validate integer math 3 years ago
Evil Eye f027acf575 Move boilerplate to separate file 3 years ago
Evil Eye be759e576a Be sure to verify the opcode got executed 3 years ago
Evil Eye 6ad8549163 Allow validation of constant arguments 3 years ago
Evil Eye e1ac871672 Start adding compiler tests 3 years ago
elsid a78dee740a Merge branch 'dead_code' into 'master'
remove dead code and fix changelog entry

See merge request OpenMW/openmw!1330
3 years ago
glassmancody.info f0eb068e4b remove dead code and fix changelog entry 3 years ago
elsid 8e71c246bf
Remove redundant BulletShape getters 3 years ago
elsid b905dd17c3
Use unique_ptr to store btCollisionShape in BulletShape 3 years ago
fredzio 68f4c336ce Rework again SetPos command to make more mods work.
Previous version skipped collision the frame immediately after a call to SetPos. It worked for one-off calls (teleports for instance) and continuous call along a pre-defined path (scenic travel). However, in the case of mod which uses SetPos to simulate a player-controlled movement, it is equivalent to using tcl.
Solution:
1/ skip update of mPosition and  mPreviousPosition to avoid janky interpolation
2/ use back plain moveObject() instead of moveObjectBy() since we don't want physics simulation
3/ rework a little bit waterwalking influence on coordinate because of 1/
3 years ago