From c541cb96cccbee20db17d2b638c261d1904afa86 Mon Sep 17 00:00:00 2001 From: epochwon Date: Fri, 2 May 2025 18:08:08 -0400 Subject: [PATCH 01/11] doppler take 2 --- apps/launcher/settingspage.cpp | 3 ++ apps/launcher/ui/settingspage.ui | 44 +++++++++++++++++++++++ apps/openmw/mwbase/soundmanager.hpp | 2 ++ apps/openmw/mwsound/openaloutput.cpp | 24 ++++++++----- apps/openmw/mwsound/openaloutput.hpp | 7 ++-- apps/openmw/mwsound/sound.hpp | 6 ++++ apps/openmw/mwsound/soundmanagerimp.cpp | 23 +++++++++++- apps/openmw/mwsound/soundmanagerimp.hpp | 3 ++ apps/openmw/mwsound/soundoutput.hpp | 2 +- apps/openmw/mwworld/projectilemanager.cpp | 5 +++ apps/openmw/mwworld/worldimp.cpp | 2 ++ components/settings/categories/sound.hpp | 1 + files/settings-default.cfg | 3 ++ 13 files changed, 111 insertions(+), 14 deletions(-) diff --git a/apps/launcher/settingspage.cpp b/apps/launcher/settingspage.cpp index dfddc45bc5..f7000ab5dd 100644 --- a/apps/launcher/settingspage.cpp +++ b/apps/launcher/settingspage.cpp @@ -293,6 +293,7 @@ bool Launcher::SettingsPage::loadSettings() } } loadSettingBool(Settings::sound().mCameraListener, *cameraListenerCheckBox); + dopplerSpinBox->setValue(Settings::sound().mDopplerFactor); } // Interface Changes @@ -486,6 +487,8 @@ void Launcher::SettingsPage::saveSettings() const bool cCameraListener = cameraListenerCheckBox->checkState() != Qt::Unchecked; Settings::sound().mCameraListener.set(cCameraListener); + + Settings::sound().mDopplerFactor.set(dopplerSpinBox->value()); } // Interface Changes diff --git a/apps/launcher/ui/settingspage.ui b/apps/launcher/ui/settingspage.ui index e792ac2843..c383a6abbf 100644 --- a/apps/launcher/ui/settingspage.ui +++ b/apps/launcher/ui/settingspage.ui @@ -1235,6 +1235,50 @@ + + + + + Controls the strength of the doppler effect. Zero means it is completely disabled. + + + Doppler Factor + + + + + + + + 0 + 0 + + + + + 283 + 0 + + + + 2 + + + 0.000000000000000 + + + 1.000000000000000 + + + 0.010000000000000 + + + 0.250000000000000 + + + + + Qt::Vertical diff --git a/apps/openmw/mwbase/soundmanager.hpp b/apps/openmw/mwbase/soundmanager.hpp index 532bc771ba..5591b7205c 100644 --- a/apps/openmw/mwbase/soundmanager.hpp +++ b/apps/openmw/mwbase/soundmanager.hpp @@ -234,6 +234,8 @@ namespace MWBase const osg::Vec3f& pos, const osg::Vec3f& dir, const osg::Vec3f& up, bool underwater) = 0; + virtual void setListenerVel(const osg::Vec3f& vel) = 0; + virtual void updatePtr(const MWWorld::ConstPtr& old, const MWWorld::ConstPtr& updated) = 0; void setSimulationTimeScale(float scale) { mSimulationTimeScale = scale; } diff --git a/apps/openmw/mwsound/openaloutput.cpp b/apps/openmw/mwsound/openaloutput.cpp index 0f27524912..a8bc166c94 100644 --- a/apps/openmw/mwsound/openaloutput.cpp +++ b/apps/openmw/mwsound/openaloutput.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include "efxpresets.h" @@ -1137,12 +1138,13 @@ namespace MWSound alSourcef(source, AL_GAIN, gain); alSourcef(source, AL_PITCH, pitch); + alSourcef(source, AL_DOPPLER_FACTOR, 0.0f); alSourcefv(source, AL_POSITION, pos.ptr()); alSource3f(source, AL_DIRECTION, 0.0f, 0.0f, 0.0f); alSource3f(source, AL_VELOCITY, 0.0f, 0.0f, 0.0f); } - void OpenALOutput::initCommon3D(ALuint source, const osg::Vec3f& pos, ALfloat mindist, ALfloat maxdist, + void OpenALOutput::initCommon3D(ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat mindist, ALfloat maxdist, ALfloat gain, ALfloat pitch, bool loop, bool useenv) { alSourcef(source, AL_REFERENCE_DISTANCE, mindist); @@ -1177,13 +1179,14 @@ namespace MWSound alSourcef(source, AL_GAIN, gain); alSourcef(source, AL_PITCH, pitch); + alSourcef(source, AL_DOPPLER_FACTOR, Settings::sound().mDopplerFactor); alSourcefv(source, AL_POSITION, pos.ptr()); alSource3f(source, AL_DIRECTION, 0.0f, 0.0f, 0.0f); - alSource3f(source, AL_VELOCITY, 0.0f, 0.0f, 0.0f); + alSourcefv(source, AL_VELOCITY, vel.ptr()); } void OpenALOutput::updateCommon( - ALuint source, const osg::Vec3f& pos, ALfloat maxdist, ALfloat gain, ALfloat pitch, bool useenv) + ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat maxdist, ALfloat gain, ALfloat pitch, bool useenv) { if (useenv && mListenerEnv == Env_Underwater && !mWaterFilter) { @@ -1195,7 +1198,7 @@ namespace MWSound alSourcef(source, AL_PITCH, pitch); alSourcefv(source, AL_POSITION, pos.ptr()); alSource3f(source, AL_DIRECTION, 0.0f, 0.0f, 0.0f); - alSource3f(source, AL_VELOCITY, 0.0f, 0.0f, 0.0f); + alSourcefv(source, AL_VELOCITY, vel.ptr()); } bool OpenALOutput::playSound(Sound* sound, Sound_Handle data, float offset) @@ -1248,7 +1251,7 @@ namespace MWSound } source = mFreeSources.front(); - initCommon3D(source, sound->getPosition(), sound->getMinDistance(), sound->getMaxDistance(), + initCommon3D(source, sound->getPosition(), sound->getVelocity(), sound->getMinDistance(), sound->getMaxDistance(), sound->getRealVolume(), getTimeScaledPitch(sound), sound->getIsLooping(), sound->getUseEnv()); alSourcei(source, AL_BUFFER, GET_PTRID(data)); alSourcef(source, AL_SEC_OFFSET, offset); @@ -1312,7 +1315,7 @@ namespace MWSound return; ALuint source = GET_PTRID(sound->mHandle); - updateCommon(source, sound->getPosition(), sound->getMaxDistance(), sound->getRealVolume(), + updateCommon(source, sound->getPosition(), sound->getVelocity(), sound->getMaxDistance(), sound->getRealVolume(), getTimeScaledPitch(sound), sound->getUseEnv()); getALError(); } @@ -1360,7 +1363,7 @@ namespace MWSound if (sound->getIsLooping()) Log(Debug::Warning) << "Warning: cannot loop stream \"" << decoder->getName() << "\""; - initCommon3D(source, sound->getPosition(), sound->getMinDistance(), sound->getMaxDistance(), + initCommon3D(source, sound->getPosition(), sound->getVelocity(), sound->getMinDistance(), sound->getMaxDistance(), sound->getRealVolume(), getTimeScaledPitch(sound), false, sound->getUseEnv()); if (getALError() != AL_NO_ERROR) return false; @@ -1443,7 +1446,7 @@ namespace MWSound OpenAL_SoundStream* stream = reinterpret_cast(sound->mHandle); ALuint source = stream->mSource; - updateCommon(source, sound->getPosition(), sound->getMaxDistance(), sound->getRealVolume(), + updateCommon(source, sound->getPosition(), sound->getVelocity(), sound->getMaxDistance(), sound->getRealVolume(), getTimeScaledPitch(sound), sound->getUseEnv()); getALError(); } @@ -1459,12 +1462,13 @@ namespace MWSound } void OpenALOutput::updateListener( - const osg::Vec3f& pos, const osg::Vec3f& atdir, const osg::Vec3f& updir, Environment env) + const osg::Vec3f& pos, const osg::Vec3f& atdir, const osg::Vec3f& updir, const osg::Vec3f& vel, Environment env) { if (mContext) { ALfloat orient[6] = { atdir.x(), atdir.y(), atdir.z(), updir.x(), updir.y(), updir.z() }; alListenerfv(AL_POSITION, pos.ptr()); + alListenerfv(AL_VELOCITY, vel.ptr()); alListenerfv(AL_ORIENTATION, orient); if (env != mListenerEnv) @@ -1497,6 +1501,7 @@ namespace MWSound } mListenerPos = pos; + mListenerVel = vel; mListenerEnv = env; } @@ -1583,6 +1588,7 @@ namespace MWSound , mDevice(nullptr) , mContext(nullptr) , mListenerPos(0.0f, 0.0f, 0.0f) + , mListenerVel(0.0f, 0.0f, 0.0f) , mListenerEnv(Env_Normal) , mWaterFilter(0) , mWaterEffect(0) diff --git a/apps/openmw/mwsound/openaloutput.hpp b/apps/openmw/mwsound/openaloutput.hpp index 4e96dd1627..e7089388c3 100644 --- a/apps/openmw/mwsound/openaloutput.hpp +++ b/apps/openmw/mwsound/openaloutput.hpp @@ -46,6 +46,7 @@ namespace MWSound StreamVec mActiveStreams; osg::Vec3f mListenerPos; + osg::Vec3f mListenerVel; Environment mListenerEnv; ALuint mWaterFilter; @@ -64,11 +65,11 @@ namespace MWSound std::unique_ptr mDefaultDeviceThread; void initCommon2D(ALuint source, const osg::Vec3f& pos, ALfloat gain, ALfloat pitch, bool loop, bool useenv); - void initCommon3D(ALuint source, const osg::Vec3f& pos, ALfloat mindist, ALfloat maxdist, ALfloat gain, + void initCommon3D(ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat mindist, ALfloat maxdist, ALfloat gain, ALfloat pitch, bool loop, bool useenv); void updateCommon( - ALuint source, const osg::Vec3f& pos, ALfloat maxdist, ALfloat gain, ALfloat pitch, bool useenv); + ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat maxdist, ALfloat gain, ALfloat pitch, bool useenv); float getTimeScaledPitch(SoundBase* sound); @@ -109,7 +110,7 @@ namespace MWSound void finishUpdate() override; void updateListener( - const osg::Vec3f& pos, const osg::Vec3f& atdir, const osg::Vec3f& updir, Environment env) override; + const osg::Vec3f& pos, const osg::Vec3f& atdir, const osg::Vec3f& updir, const osg::Vec3f& vel, Environment env) override; void pauseSounds(int types) override; void resumeSounds(int types) override; diff --git a/apps/openmw/mwsound/sound.hpp b/apps/openmw/mwsound/sound.hpp index 5160b2934f..0ac30d0ccd 100644 --- a/apps/openmw/mwsound/sound.hpp +++ b/apps/openmw/mwsound/sound.hpp @@ -31,6 +31,8 @@ namespace MWSound struct SoundParams { osg::Vec3f mPos; + osg::Vec3f mLastPos; + osg::Vec3f mVel; float mVolume = 1.0f; float mBaseVolume = 1.0f; float mPitch = 1.0f; @@ -57,6 +59,8 @@ namespace MWSound public: void setPosition(const osg::Vec3f& pos) { mParams.mPos = pos; } + void setLastPosition(const osg::Vec3f& lastpos) { mParams.mLastPos = lastpos; } + void setVelocity(const osg::Vec3f& vel) { mParams.mVel = vel; } void setVolume(float volume) { mParams.mVolume = volume; } void setBaseVolume(float volume) { mParams.mBaseVolume = volume; } void setFadeout(float duration) { setFade(duration, 0.0, Play_StopAtFadeEnd); } @@ -150,6 +154,8 @@ namespace MWSound } const osg::Vec3f& getPosition() const { return mParams.mPos; } + const osg::Vec3f& getLastPosition() const { return mParams.mLastPos; } + const osg::Vec3f& getVelocity() const {return mParams.mVel; } float getRealVolume() const { return mParams.mVolume * mParams.mBaseVolume * mParams.mFadeVolume; } float getPitch() const { return mParams.mPitch; } float getMinDistance() const { return mParams.mMinDistance; } diff --git a/apps/openmw/mwsound/soundmanagerimp.cpp b/apps/openmw/mwsound/soundmanagerimp.cpp index 66bdfbdbfa..f7dff94d1c 100644 --- a/apps/openmw/mwsound/soundmanagerimp.cpp +++ b/apps/openmw/mwsound/soundmanagerimp.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -119,6 +120,7 @@ namespace MWSound , mListenerPos(0, 0, 0) , mListenerDir(1, 0, 0) , mListenerUp(0, 0, 1) + , mListenerVel(0, 0, 0) , mUnderwaterSound(nullptr) , mNearWaterSound(nullptr) , mPlaybackPaused(false) @@ -959,8 +961,16 @@ namespace MWSound mUnderwaterSound = nullptr; } + float physicsFramerate = 60.f; + if (const char* env = getenv("OPENMW_PHYSICS_FPS")) + { + if (const auto physFramerate = Misc::StringUtils::toNumeric(env); + physFramerate.has_value() && *physFramerate > 0) + physicsFramerate = *physFramerate; + } + mOutput->startUpdate(); - mOutput->updateListener(mListenerPos, mListenerDir, mListenerUp, env); + mOutput->updateListener(mListenerPos, mListenerDir, mListenerUp, mListenerVel, env); updateMusic(duration); @@ -977,7 +987,11 @@ namespace MWSound if (sound->getIs3D()) { if (!ptr.isEmpty()) + { + sound->setLastPosition(sound->getPosition()); sound->setPosition(ptr.getRefData().getPosition().asVec3()); + sound->setVelocity((sound->getPosition() - sound->getLastPosition()) * physicsFramerate); + } cull3DSound(sound); } @@ -1013,8 +1027,10 @@ namespace MWSound { if (!ptr.isEmpty()) { + sound->setLastPosition(sound->getPosition()); MWBase::World* world = MWBase::Environment::get().getWorld(); sound->setPosition(world->getActorHeadTransform(ptr).getTrans()); + sound->setVelocity((sound->getPosition() - sound->getLastPosition()) * physicsFramerate); } cull3DSound(sound); @@ -1153,6 +1169,11 @@ namespace MWSound mWaterSoundUpdater.setUnderwater(underwater); } + void SoundManager::setListenerVel(const osg::Vec3f& vel) + { + mListenerVel = vel; + } + void SoundManager::updatePtr(const MWWorld::ConstPtr& old, const MWWorld::ConstPtr& updated) { SoundMap::iterator snditer = mActiveSounds.find(old.mRef); diff --git a/apps/openmw/mwsound/soundmanagerimp.hpp b/apps/openmw/mwsound/soundmanagerimp.hpp index 8fc7e6701f..f1b79557a0 100644 --- a/apps/openmw/mwsound/soundmanagerimp.hpp +++ b/apps/openmw/mwsound/soundmanagerimp.hpp @@ -92,6 +92,7 @@ namespace MWSound osg::Vec3f mListenerPos; osg::Vec3f mListenerDir; osg::Vec3f mListenerUp; + osg::Vec3f mListenerVel; int mPausedSoundTypes[BlockerType::MaxCount] = {}; @@ -283,6 +284,8 @@ namespace MWSound void setListenerPosDir( const osg::Vec3f& pos, const osg::Vec3f& dir, const osg::Vec3f& up, bool underwater) override; + void setListenerVel(const osg::Vec3f& vel) override; + void updatePtr(const MWWorld::ConstPtr& old, const MWWorld::ConstPtr& updated) override; void clear() override; diff --git a/apps/openmw/mwsound/soundoutput.hpp b/apps/openmw/mwsound/soundoutput.hpp index e5c266b204..d0024e9a7c 100644 --- a/apps/openmw/mwsound/soundoutput.hpp +++ b/apps/openmw/mwsound/soundoutput.hpp @@ -62,7 +62,7 @@ namespace MWSound virtual void finishUpdate() = 0; virtual void updateListener( - const osg::Vec3f& pos, const osg::Vec3f& atdir, const osg::Vec3f& updir, Environment env) + const osg::Vec3f& pos, const osg::Vec3f& atdir, const osg::Vec3f& updir, const osg::Vec3f& vel, Environment env) = 0; virtual void pauseSounds(int types) = 0; diff --git a/apps/openmw/mwworld/projectilemanager.cpp b/apps/openmw/mwworld/projectilemanager.cpp index 6ea510e1e2..c436f86df5 100644 --- a/apps/openmw/mwworld/projectilemanager.cpp +++ b/apps/openmw/mwworld/projectilemanager.cpp @@ -461,6 +461,11 @@ namespace MWWorld update(magicBoltState, duration); + for (const auto& sound : magicBoltState.mSounds) + { + sound->setVelocity(direction * speed); + } + // For AI actors, get combat targets to use in the ray cast. Only those targets will return a positive hit // result. std::vector targetActors; diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index f608b8c781..cf9a0d7b07 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -1467,6 +1467,8 @@ namespace MWWorld void World::queueMovement(const Ptr& ptr, const osg::Vec3f& velocity) { mPhysics->queueObjectMovement(ptr, velocity); + if(ptr == MWMechanics::getPlayer()) + MWBase::Environment::get().getSoundManager()->setListenerVel(velocity); } void World::updateAnimatedCollisionShape(const Ptr& ptr) diff --git a/components/settings/categories/sound.hpp b/components/settings/categories/sound.hpp index 8398a38c55..99e70fcdb2 100644 --- a/components/settings/categories/sound.hpp +++ b/components/settings/categories/sound.hpp @@ -24,6 +24,7 @@ namespace Settings SettingValue mHrtfEnable{ mIndex, "Sound", "hrtf enable" }; SettingValue mHrtf{ mIndex, "Sound", "hrtf" }; SettingValue mCameraListener{ mIndex, "Sound", "camera listener" }; + SettingValue mDopplerFactor{ mIndex, "Sound", "doppler factor", makeClampSanitizerFloat(0, 1) }; }; } diff --git a/files/settings-default.cfg b/files/settings-default.cfg index e5654794cc..33c5c60ce5 100644 --- a/files/settings-default.cfg +++ b/files/settings-default.cfg @@ -627,6 +627,9 @@ hrtf = # Specifies whether to use camera as audio listener camera listener = false +# Specifies strength of doppler effect +doppler factor = 0.25 + [Video] # Resolution of the OpenMW window or screen. From d29c01be26dc1b86e637b2888a51b9fb6ba29e1a Mon Sep 17 00:00:00 2001 From: epochwon Date: Fri, 2 May 2025 21:41:37 -0400 Subject: [PATCH 02/11] appease clang + docs --- apps/openmw/mwsound/openaloutput.cpp | 16 ++++++++-------- apps/openmw/mwsound/openaloutput.hpp | 12 ++++++------ apps/openmw/mwsound/sound.hpp | 2 +- apps/openmw/mwsound/soundoutput.hpp | 4 ++-- apps/openmw/mwworld/worldimp.cpp | 2 +- docs/source/reference/modding/settings/sound.rst | 10 ++++++++++ 6 files changed, 28 insertions(+), 18 deletions(-) diff --git a/apps/openmw/mwsound/openaloutput.cpp b/apps/openmw/mwsound/openaloutput.cpp index a8bc166c94..a586fc611a 100644 --- a/apps/openmw/mwsound/openaloutput.cpp +++ b/apps/openmw/mwsound/openaloutput.cpp @@ -1185,8 +1185,8 @@ namespace MWSound alSourcefv(source, AL_VELOCITY, vel.ptr()); } - void OpenALOutput::updateCommon( - ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat maxdist, ALfloat gain, ALfloat pitch, bool useenv) + void OpenALOutput::updateCommon(ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat maxdist, + ALfloat gain, ALfloat pitch, bool useenv) { if (useenv && mListenerEnv == Env_Underwater && !mWaterFilter) { @@ -1315,8 +1315,8 @@ namespace MWSound return; ALuint source = GET_PTRID(sound->mHandle); - updateCommon(source, sound->getPosition(), sound->getVelocity(), sound->getMaxDistance(), sound->getRealVolume(), - getTimeScaledPitch(sound), sound->getUseEnv()); + updateCommon(source, sound->getPosition(), sound->getVelocity(), sound->getMaxDistance(), + sound->getRealVolume(), getTimeScaledPitch(sound), sound->getUseEnv()); getALError(); } @@ -1363,8 +1363,8 @@ namespace MWSound if (sound->getIsLooping()) Log(Debug::Warning) << "Warning: cannot loop stream \"" << decoder->getName() << "\""; - initCommon3D(source, sound->getPosition(), sound->getVelocity(), sound->getMinDistance(), sound->getMaxDistance(), - sound->getRealVolume(), getTimeScaledPitch(sound), false, sound->getUseEnv()); + initCommon3D(source, sound->getPosition(), sound->getVelocity(), sound->getMinDistance(), + sound->getMaxDistance(), sound->getRealVolume(), getTimeScaledPitch(sound), false, sound->getUseEnv()); if (getALError() != AL_NO_ERROR) return false; @@ -1446,8 +1446,8 @@ namespace MWSound OpenAL_SoundStream* stream = reinterpret_cast(sound->mHandle); ALuint source = stream->mSource; - updateCommon(source, sound->getPosition(), sound->getVelocity(), sound->getMaxDistance(), sound->getRealVolume(), - getTimeScaledPitch(sound), sound->getUseEnv()); + updateCommon(source, sound->getPosition(), sound->getVelocity(), sound->getMaxDistance(), + sound->getRealVolume(), getTimeScaledPitch(sound), sound->getUseEnv()); getALError(); } diff --git a/apps/openmw/mwsound/openaloutput.hpp b/apps/openmw/mwsound/openaloutput.hpp index e7089388c3..d689d08546 100644 --- a/apps/openmw/mwsound/openaloutput.hpp +++ b/apps/openmw/mwsound/openaloutput.hpp @@ -65,11 +65,11 @@ namespace MWSound std::unique_ptr mDefaultDeviceThread; void initCommon2D(ALuint source, const osg::Vec3f& pos, ALfloat gain, ALfloat pitch, bool loop, bool useenv); - void initCommon3D(ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat mindist, ALfloat maxdist, ALfloat gain, - ALfloat pitch, bool loop, bool useenv); + void initCommon3D(ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat mindist, ALfloat maxdist, + ALfloat gain, ALfloat pitch, bool loop, bool useenv); - void updateCommon( - ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat maxdist, ALfloat gain, ALfloat pitch, bool useenv); + void updateCommon(ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat maxdist, ALfloat gain, + ALfloat pitch, bool useenv); float getTimeScaledPitch(SoundBase* sound); @@ -109,8 +109,8 @@ namespace MWSound void startUpdate() override; void finishUpdate() override; - void updateListener( - const osg::Vec3f& pos, const osg::Vec3f& atdir, const osg::Vec3f& updir, const osg::Vec3f& vel, Environment env) override; + void updateListener(const osg::Vec3f& pos, const osg::Vec3f& atdir, const osg::Vec3f& updir, + const osg::Vec3f& vel, Environment env) override; void pauseSounds(int types) override; void resumeSounds(int types) override; diff --git a/apps/openmw/mwsound/sound.hpp b/apps/openmw/mwsound/sound.hpp index 0ac30d0ccd..7d020c31f9 100644 --- a/apps/openmw/mwsound/sound.hpp +++ b/apps/openmw/mwsound/sound.hpp @@ -155,7 +155,7 @@ namespace MWSound const osg::Vec3f& getPosition() const { return mParams.mPos; } const osg::Vec3f& getLastPosition() const { return mParams.mLastPos; } - const osg::Vec3f& getVelocity() const {return mParams.mVel; } + const osg::Vec3f& getVelocity() const { return mParams.mVel; } float getRealVolume() const { return mParams.mVolume * mParams.mBaseVolume * mParams.mFadeVolume; } float getPitch() const { return mParams.mPitch; } float getMinDistance() const { return mParams.mMinDistance; } diff --git a/apps/openmw/mwsound/soundoutput.hpp b/apps/openmw/mwsound/soundoutput.hpp index d0024e9a7c..4b24f159d3 100644 --- a/apps/openmw/mwsound/soundoutput.hpp +++ b/apps/openmw/mwsound/soundoutput.hpp @@ -61,8 +61,8 @@ namespace MWSound virtual void startUpdate() = 0; virtual void finishUpdate() = 0; - virtual void updateListener( - const osg::Vec3f& pos, const osg::Vec3f& atdir, const osg::Vec3f& updir, const osg::Vec3f& vel, Environment env) + virtual void updateListener(const osg::Vec3f& pos, const osg::Vec3f& atdir, const osg::Vec3f& updir, + const osg::Vec3f& vel, Environment env) = 0; virtual void pauseSounds(int types) = 0; diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index cf9a0d7b07..eaa8799e84 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -1467,7 +1467,7 @@ namespace MWWorld void World::queueMovement(const Ptr& ptr, const osg::Vec3f& velocity) { mPhysics->queueObjectMovement(ptr, velocity); - if(ptr == MWMechanics::getPlayer()) + if (ptr == MWMechanics::getPlayer()) MWBase::Environment::get().getSoundManager()->setListenerVel(velocity); } diff --git a/docs/source/reference/modding/settings/sound.rst b/docs/source/reference/modding/settings/sound.rst index e38cd9de78..b462428ad1 100644 --- a/docs/source/reference/modding/settings/sound.rst +++ b/docs/source/reference/modding/settings/sound.rst @@ -121,3 +121,13 @@ Sound Settings When true, uses the camera position and direction for audio instead of the player position. This makes audio in third person sound relative to camera instead of the player. False is vanilla Morrowind behaviour. + +.. omw-setting:: + :title: doppler factor + :type: float32 + :range: 0.0 (disabled), 1.0 (maximum strength) + :default: 0.25 + :location: :bdg-success:`Launcher > Settings > Audio` + + This setting controls the strength of the doppler effect. Doppler effect increases or decreases the pitch of sounds + relative to the velocity of the source and the listener. \ No newline at end of file From 120668849416db221e0cae538bc40185a6205b13 Mon Sep 17 00:00:00 2001 From: epochwon Date: Sat, 3 May 2025 14:41:53 -0400 Subject: [PATCH 03/11] language files maybe? --- files/lang/launcher_de.ts | 160 +---------------------------------- files/lang/launcher_en.ts | 172 ++------------------------------------ files/lang/launcher_fr.ts | 90 +++++++++++--------- files/lang/launcher_ru.ts | 90 +++++++++++--------- files/lang/launcher_sv.ts | 90 +++++++++++--------- 5 files changed, 157 insertions(+), 445 deletions(-) diff --git a/files/lang/launcher_de.ts b/files/lang/launcher_de.ts index 86773e5a54..bb53c32ce2 100644 --- a/files/lang/launcher_de.ts +++ b/files/lang/launcher_de.ts @@ -876,50 +876,10 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Select your preferred HRTF profile. - - Interface - - - - <html><head/><body><p>This setting scales GUI windows. A value of 1.0 results in the normal scale.</p></body></html> - - - - <html><head/><body><p>Show the remaining duration of magic effects and lights if this setting is true. The remaining duration is displayed in the tooltip by hovering over the magical effect. </p><p>The default value is false.</p></body></html> - - - - <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be changed in settings.cfg.</p><p>The default value is false.</p></body></html> - - - - Size of characters in game texts. - - - - <html><head/><body><p>Enable zooming on local and global maps.</p></body></html> - - <html><head/><body><p>If this setting is true, containers supporting graphic herbalism will do so instead of opening the menu.</p></body></html> - - <html><head/><body><p>If this setting is true, damage bonus of arrows and bolts will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - - - - <html><head/><body><p>If this setting is true, melee weapons reach and speed will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - - - - <html><head/><body><p>Stretch menus, load screens, etc. to the window aspect ratio.</p></body></html> - - - - <html><head/><body><p>Whether or not the chance of success will be displayed in the enchanting menu.</p><p>The default value is false.</p></body></html> - - <html><head/><body><p>Prevents merchants from equipping items that are sold to them.</p></body></html> @@ -928,42 +888,6 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov <html><head/><body><p>Trainers now only choose which skills to train using their base skill points, allowing mercantile improving effects to be used without making mercantile an offered skill.</p></body></html> - - Miscellaneous - - - - Saves - - - - JPG - - - - PNG - - - - TGA - - - - Testing - - - - These settings are intended for testing mods and will cause issues if used for normal gameplay. - - - - <html><head/><body><p>OpenMW will capture control of the cursor if this setting is true.</p><p>In “look mode”, OpenMW will center the cursor regardless of the value of this setting (since the cursor/crosshair is always centered in the OpenMW window). However, in GUI mode, this setting determines the behavior when the cursor is moved outside the OpenMW window. If true, the cursor movement stops at the edge of the window preventing access to other applications. If false, the cursor is allowed to move freely on the desktop.</p><p>This setting does not apply to the screen where escape has been pressed, where the cursor is never captured. Regardless of this setting “Alt-Tab” or some other operating system dependent key sequence can be used to allow the operating system to regain control of the mouse cursor. This setting interacts with the minimize on focus loss setting by affecting what counts as a focus loss. Specifically on a two-screen configuration it may be more convenient to access the second screen with setting disabled.</p><p>Note for developers: it’s desirable to have this setting disabled when running the game in a debugger, to prevent the mouse cursor from becoming unusable when the game pauses on a breakpoint.</p></body></html> - - - - Browse… - - Collision is used for both physics simulation and navigation mesh generation for pathfinding. Cylinder gives the best consistency between available navigation paths and ability to move by them. Changing this value affects navigation mesh generation therefore navigation mesh disk cache generated for one value will not be useful with another. @@ -1052,18 +976,6 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Lighting - - Tooltip - - - - Crosshair - - - - Screenshots - - <html><head/><body><p>Give actors an ability to swim over the water surface when they follow other actor independently from their ability to swim. Has effect only when nav mesh building is enabled.</p></body></html> @@ -1319,62 +1231,6 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov HRTF Profile - - Tooltip and Crosshair - - - - GUI Scaling Factor - - - - Show Effect Duration - - - - Change Dialogue Topic Color - - - - Font Size - - - - Show Projectile Damage - - - - Show Melee Info - - - - Stretch Menu Background - - - - Show Owned Objects - - - - Show Enchant Chance - - - - Maximum Quicksaves - - - - Screenshot Format - - - - Grab Cursor - - - - Default Cell - - Bounds @@ -1428,23 +1284,11 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov - Can Zoom on Maps + Controls the strength of the doppler effect. Zero means it is completely disabled. - Notify on Saved Screenshot - - - - Skip Menu and Generate Default Character - - - - Start Default Character at - - - - Run Script After Startup: + Doppler Factor diff --git a/files/lang/launcher_en.ts b/files/lang/launcher_en.ts index a0319318e8..5d9fd74b33 100644 --- a/files/lang/launcher_en.ts +++ b/files/lang/launcher_en.ts @@ -1275,170 +1275,6 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Use the Camera as the Sound Listener - - Interface - - - - Tooltip - - - - Crosshair - - - - Tooltip and Crosshair - - - - <html><head/><body><p>This setting scales GUI windows. A value of 1.0 results in the normal scale.</p></body></html> - - - - GUI Scaling Factor - - - - <html><head/><body><p>Show the remaining duration of magic effects and lights if this setting is true. The remaining duration is displayed in the tooltip by hovering over the magical effect. </p><p>The default value is false.</p></body></html> - - - - Show Effect Duration - - - - <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be changed in settings.cfg.</p><p>The default value is false.</p></body></html> - - - - Change Dialogue Topic Color - - - - Size of characters in game texts. - - - - Font Size - - - - <html><head/><body><p>Enable zooming on local and global maps.</p></body></html> - - - - Can Zoom on Maps - - - - <html><head/><body><p>If this setting is true, damage bonus of arrows and bolts will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - - - - Show Projectile Damage - - - - <html><head/><body><p>If this setting is true, melee weapons reach and speed will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - - - - Show Melee Info - - - - <html><head/><body><p>Stretch menus, load screens, etc. to the window aspect ratio.</p></body></html> - - - - Stretch Menu Background - - - - Show Owned Objects - - - - <html><head/><body><p>Whether or not the chance of success will be displayed in the enchanting menu.</p><p>The default value is false.</p></body></html> - - - - Show Enchant Chance - - - - Miscellaneous - - - - Saves - - - - Maximum Quicksaves - - - - Screenshots - - - - Screenshot Format - - - - JPG - - - - PNG - - - - TGA - - - - Notify on Saved Screenshot - - - - Testing - - - - These settings are intended for testing mods and will cause issues if used for normal gameplay. - - - - <html><head/><body><p>OpenMW will capture control of the cursor if this setting is true.</p><p>In “look mode”, OpenMW will center the cursor regardless of the value of this setting (since the cursor/crosshair is always centered in the OpenMW window). However, in GUI mode, this setting determines the behavior when the cursor is moved outside the OpenMW window. If true, the cursor movement stops at the edge of the window preventing access to other applications. If false, the cursor is allowed to move freely on the desktop.</p><p>This setting does not apply to the screen where escape has been pressed, where the cursor is never captured. Regardless of this setting “Alt-Tab” or some other operating system dependent key sequence can be used to allow the operating system to regain control of the mouse cursor. This setting interacts with the minimize on focus loss setting by affecting what counts as a focus loss. Specifically on a two-screen configuration it may be more convenient to access the second screen with setting disabled.</p><p>Note for developers: it’s desirable to have this setting disabled when running the game in a debugger, to prevent the mouse cursor from becoming unusable when the game pauses on a breakpoint.</p></body></html> - - - - Grab Cursor - - - - Skip Menu and Generate Default Character - - - - Start Default Character at - - - - Default Cell - - - - Run Script After Startup: - - - - Browse… - - Smooth Animation Transitions @@ -1447,5 +1283,13 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov <html><head/><body><p>If enabled - makes transitions between different animations/poses much smoother. Also allows to load animation blending config YAML files that can be bundled with animations in order to customise blending styles.</p></body></html> + + Controls the strength of the doppler effect. Zero means it is completely disabled. + + + + Doppler Factor + + diff --git a/files/lang/launcher_fr.ts b/files/lang/launcher_fr.ts index 569a460cd0..546e9d3f18 100644 --- a/files/lang/launcher_fr.ts +++ b/files/lang/launcher_fr.ts @@ -878,27 +878,27 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Interface - Interface + Interface <html><head/><body><p>This setting scales GUI windows. A value of 1.0 results in the normal scale.</p></body></html> - <html><body><p>Cette option agrandit ou diminue l'interface utilisateur. Une valeur de 1 correspond à sa taille nominale.</p></body></html> + <html><body><p>Cette option agrandit ou diminue l'interface utilisateur. Une valeur de 1 correspond à sa taille nominale.</p></body></html> <html><head/><body><p>Show the remaining duration of magic effects and lights if this setting is true. The remaining duration is displayed in the tooltip by hovering over the magical effect. </p><p>The default value is false.</p></body></html> - <html><body><p>Cette option permet d'activer la durée de vie restante des effets magiques et des lampes. Cette durée restante s'affiche en passant la souris au-dessus de l'icône de l'effet magique.</p></body></html> + <html><body><p>Cette option permet d'activer la durée de vie restante des effets magiques et des lampes. Cette durée restante s'affiche en passant la souris au-dessus de l'icône de l'effet magique.</p></body></html> <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be changed in settings.cfg.</p><p>The default value is false.</p></body></html> - <html><body><p>Lorsque cette option est activée, les sujets de conversation de la fenêtre de dialogue auront des couleurs différentes si ceux-ci sont spécifiques au PNJ ou qu'ils ont déjà été lus autre part. Ces couleurs peuvent être changées dans le fichier settings.cfg.</p></body></html> + <html><body><p>Lorsque cette option est activée, les sujets de conversation de la fenêtre de dialogue auront des couleurs différentes si ceux-ci sont spécifiques au PNJ ou qu'ils ont déjà été lus autre part. Ces couleurs peuvent être changées dans le fichier settings.cfg.</p></body></html> Size of characters in game texts. - <html><body><p>Taille des caractères des textes du jeu.</p></body></html> + <html><body><p>Taille des caractères des textes du jeu.</p></body></html> <html><head/><body><p>Enable zooming on local and global maps.</p></body></html> - <html><body><p>Cette option permet de zoomer en jeu sur la carte (carte locale et carte du monde).</p></body></html> + <html><body><p>Cette option permet de zoomer en jeu sur la carte (carte locale et carte du monde).</p></body></html> <html><head/><body><p>If this setting is true, containers supporting graphic herbalism will do so instead of opening the menu.</p></body></html> @@ -906,19 +906,19 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov <html><head/><body><p>If this setting is true, damage bonus of arrows and bolts will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><body><p>Lorsque cette option est activée, les bonus de dommages des flèches et des carreaux apparaissent dans l'infobulle de l'objet.</p></body></html> + <html><body><p>Lorsque cette option est activée, les bonus de dommages des flèches et des carreaux apparaissent dans l'infobulle de l'objet.</p></body></html> <html><head/><body><p>If this setting is true, melee weapons reach and speed will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><body><p>Lorsque cette option est activée, la portée et la rapidité d'attaque des armes de mêlées apparaissent dans l'infobulle de l'objet.</p></body></html> + <html><body><p>Lorsque cette option est activée, la portée et la rapidité d'attaque des armes de mêlées apparaissent dans l'infobulle de l'objet.</p></body></html> <html><head/><body><p>Stretch menus, load screens, etc. to the window aspect ratio.</p></body></html> - <html><body><p>Étends les menus, les écrans de chargement et autres éléments d'interface aux formats d'image du jeu.</p></body></html> + <html><body><p>Étends les menus, les écrans de chargement et autres éléments d'interface aux formats d'image du jeu.</p></body></html> <html><head/><body><p>Whether or not the chance of success will be displayed in the enchanting menu.</p><p>The default value is false.</p></body></html> - <html><body><p>Lorsque l'option est activée, affiche les chances de succès d'un enchantement dans le menu des enchantements.</body></html> + <html><body><p>Lorsque l'option est activée, affiche les chances de succès d'un enchantement dans le menu des enchantements.</body></html> <html><head/><body><p>Prevents merchants from equipping items that are sold to them.</p></body></html> @@ -930,39 +930,39 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Miscellaneous - Divers + Divers Saves - Sauvegardes + Sauvegardes JPG - JPG + JPG PNG - PNG + PNG TGA - TGA + TGA Testing - Testeurs + Testeurs These settings are intended for testing mods and will cause issues if used for normal gameplay. - Ces options sont destinées aux testeurs de contenus additionnels (mods). Ils poseront problème lors d'une partie normale. + Ces options sont destinées aux testeurs de contenus additionnels (mods). Ils poseront problème lors d'une partie normale. <html><head/><body><p>OpenMW will capture control of the cursor if this setting is true.</p><p>In “look mode”, OpenMW will center the cursor regardless of the value of this setting (since the cursor/crosshair is always centered in the OpenMW window). However, in GUI mode, this setting determines the behavior when the cursor is moved outside the OpenMW window. If true, the cursor movement stops at the edge of the window preventing access to other applications. If false, the cursor is allowed to move freely on the desktop.</p><p>This setting does not apply to the screen where escape has been pressed, where the cursor is never captured. Regardless of this setting “Alt-Tab” or some other operating system dependent key sequence can be used to allow the operating system to regain control of the mouse cursor. This setting interacts with the minimize on focus loss setting by affecting what counts as a focus loss. Specifically on a two-screen configuration it may be more convenient to access the second screen with setting disabled.</p><p>Note for developers: it’s desirable to have this setting disabled when running the game in a debugger, to prevent the mouse cursor from becoming unusable when the game pauses on a breakpoint.</p></body></html> - <html><body><p>Lorsque cette option est activée, OpenMW capture le curseur de la souris.</p><p>Lorsque le jeu est en mode "Regard/Déplacement", OpenMW centre le curseur au milieu de l'écran; sans tenir compte de cette option (le curseur/viseur est toujours au centre de la fenêtre d'OpenMW). Néanmoins, lorsqu'un menu est ouvert, cette option permet de récupérer le contrôle de la souris. En effet, lorsque l'option est active, le mouvement du curseur s'arrête aux bords de la fenêtre et empêche d'accéder à d'autres applications. Tandis que, lorsque l'option est désactivée, le curseur peut sortir librement de la fenêtre et accéder au bureau.</p><p>Cette option ne s'applique pas à l'écran lorsque la touche Échap a été enfoncée, dans ce cas, le curseur n'est jamais capturé. Cette option n'agit pas non plus sur "Atl-Tab" ou toute autre séquence de touches utilisée par le système d'exploitation pour récupérer le contrôle du curseur de la souris. </p><p>Cette option interagit avec l'option de minimisation de la fenêtre lors de la perte de focus en modifiant ce qui est considéré comme une perte de focus. Par exemple, avec une configuration à doubles écrans, il peut être plus agréable d'accéder au second écran avec cette option désactivée.</p><p>Note aux développeurs : Il est préférable de désactiver cette option lorsque le jeu tourne dans un débogueur, ceci afin d'empêcher le curseur de la souris de devenir inutilisable lorsque le jeu s'arrête sur un breakpoint.</p></body></html> + <html><body><p>Lorsque cette option est activée, OpenMW capture le curseur de la souris.</p><p>Lorsque le jeu est en mode "Regard/Déplacement", OpenMW centre le curseur au milieu de l'écran; sans tenir compte de cette option (le curseur/viseur est toujours au centre de la fenêtre d'OpenMW). Néanmoins, lorsqu'un menu est ouvert, cette option permet de récupérer le contrôle de la souris. En effet, lorsque l'option est active, le mouvement du curseur s'arrête aux bords de la fenêtre et empêche d'accéder à d'autres applications. Tandis que, lorsque l'option est désactivée, le curseur peut sortir librement de la fenêtre et accéder au bureau.</p><p>Cette option ne s'applique pas à l'écran lorsque la touche Échap a été enfoncée, dans ce cas, le curseur n'est jamais capturé. Cette option n'agit pas non plus sur "Atl-Tab" ou toute autre séquence de touches utilisée par le système d'exploitation pour récupérer le contrôle du curseur de la souris. </p><p>Cette option interagit avec l'option de minimisation de la fenêtre lors de la perte de focus en modifiant ce qui est considéré comme une perte de focus. Par exemple, avec une configuration à doubles écrans, il peut être plus agréable d'accéder au second écran avec cette option désactivée.</p><p>Note aux développeurs : Il est préférable de désactiver cette option lorsque le jeu tourne dans un débogueur, ceci afin d'empêcher le curseur de la souris de devenir inutilisable lorsque le jeu s'arrête sur un breakpoint.</p></body></html> Browse… - Parcourir... + Parcourir... Collision is used for both physics simulation and navigation mesh generation for pathfinding. Cylinder gives the best consistency between available navigation paths and ability to move by them. Changing this value affects navigation mesh generation therefore navigation mesh disk cache generated for one value will not be useful with another. @@ -1054,15 +1054,15 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Tooltip - Infobulles + Infobulles Crosshair - Réticule de visée + Réticule de visée Screenshots - Captures d'écran + Captures d'écran <html><head/><body><p>Give actors an ability to swim over the water surface when they follow other actor independently from their ability to swim. Has effect only when nav mesh building is enabled.</p></body></html> @@ -1324,59 +1324,59 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Tooltip and Crosshair - Infobulles et réticule de visée + Infobulles et réticule de visée GUI Scaling Factor - Échelle de l'interface + Échelle de l'interface Show Effect Duration - Afficher la durée des effets + Afficher la durée des effets Change Dialogue Topic Color - Changer la couleur des sujets de conversation + Changer la couleur des sujets de conversation Font Size - Taille des polices + Taille des polices Show Projectile Damage - Afficher les dommages des projectiles + Afficher les dommages des projectiles Show Melee Info - Afficher les infos de mêlée + Afficher les infos de mêlée Stretch Menu Background - Étendre les arrière-plans + Étendre les arrière-plans Show Owned Objects - Afficher la possession des objets + Afficher la possession des objets Show Enchant Chance - Afficher les chances d'enchantement + Afficher les chances d'enchantement Maximum Quicksaves - Nombre maximum de sauvegardes rapides + Nombre maximum de sauvegardes rapides Screenshot Format - Format des captures + Format des captures Grab Cursor - Capturer le curseur + Capturer le curseur Default Cell - la cellule par défaut + la cellule par défaut Bounds @@ -1432,23 +1432,31 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Can Zoom on Maps - Permettre le zoom sur la carte + Permettre le zoom sur la carte Notify on Saved Screenshot - Notifier l'enregistrement des captures d'écran + Notifier l'enregistrement des captures d'écran Skip Menu and Generate Default Character - Passer le menu principal et générer un personnage standard + Passer le menu principal et générer un personnage standard Start Default Character at - Placer le personnage par défaut dans + Placer le personnage par défaut dans Run Script After Startup: - Script à lancer après démarrage : + Script à lancer après démarrage : + + + Controls the strength of the doppler effect. Zero means it is completely disabled. + + + + Doppler Factor + diff --git a/files/lang/launcher_ru.ts b/files/lang/launcher_ru.ts index 879f24dc76..e06d26a5e3 100644 --- a/files/lang/launcher_ru.ts +++ b/files/lang/launcher_ru.ts @@ -1054,47 +1054,47 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Interface - Интерфейс + Интерфейс <html><head/><body><p>This setting scales GUI windows. A value of 1.0 results in the normal scale.</p></body></html> - <html><head/><body><p>Эта настройка отвечает за масштабирование окон внутриигрового интерфейса. Значение 1.0 соответствует нормальному размеру интерфейса.</p></body></html> + <html><head/><body><p>Эта настройка отвечает за масштабирование окон внутриигрового интерфейса. Значение 1.0 соответствует нормальному размеру интерфейса.</p></body></html> GUI Scaling Factor - Масштаб интерфейса + Масштаб интерфейса <html><head/><body><p>Show the remaining duration of magic effects and lights if this setting is true. The remaining duration is displayed in the tooltip by hovering over the magical effect. </p><p>The default value is false.</p></body></html> - <html><head/><body><p>Когда настройка включена, в подсказке, всплывающей при наведении курсора на иконку магического эффекта, будет отображаться оставшаяся длительность магического эффекта или источника света.</p><p>По умолчанию настройка отключена.</p></body></html> + <html><head/><body><p>Когда настройка включена, в подсказке, всплывающей при наведении курсора на иконку магического эффекта, будет отображаться оставшаяся длительность магического эффекта или источника света.</p><p>По умолчанию настройка отключена.</p></body></html> Show Effect Duration - Показывать длительность эффектов + Показывать длительность эффектов <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be changed in settings.cfg.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Если эта настройка включена, у тем диалогов будет другой цвет, если у вашего собеседника есть уникальная реплика по заданной теме, или же если вы уже видели текст темы. Цвета могут быть настроены через settings.cfg.</p><p>По умолчанию настройка отключена.</p></body></html> + <html><head/><body><p>Если эта настройка включена, у тем диалогов будет другой цвет, если у вашего собеседника есть уникальная реплика по заданной теме, или же если вы уже видели текст темы. Цвета могут быть настроены через settings.cfg.</p><p>По умолчанию настройка отключена.</p></body></html> Change Dialogue Topic Color - Смена цвета тем для диалогов + Смена цвета тем для диалогов Size of characters in game texts. - Размер символов в текстах. + Размер символов в текстах. Font Size - Размер шрифтов + Размер шрифтов <html><head/><body><p>Enable zooming on local and global maps.</p></body></html> - <html><head/><body><p>Включить возможность масштабирования на локальной и глобальной картах.</p></body></html> + <html><head/><body><p>Включить возможность масштабирования на локальной и глобальной картах.</p></body></html> Can Zoom on Maps - Включить масштабирование карты + Включить масштабирование карты <html><head/><body><p>If this setting is true, containers supporting graphic herbalism will do so instead of opening the menu.</p></body></html> @@ -1102,39 +1102,39 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov <html><head/><body><p>If this setting is true, damage bonus of arrows and bolts will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Если эта настройка включена, на всплывающих подсказках стрел и болтов будет показан их бонус к урону.</p><p>По умолчанию настройка выключена.</p></body></html> + <html><head/><body><p>Если эта настройка включена, на всплывающих подсказках стрел и болтов будет показан их бонус к урону.</p><p>По умолчанию настройка выключена.</p></body></html> Show Projectile Damage - Показывать урон снарядов + Показывать урон снарядов <html><head/><body><p>If this setting is true, melee weapons reach and speed will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Если эта настройка включена, на всплывающих подсказках оружия ближнего боя будут показаны его дальность и скорость атаки.</p><p>По умолчанию настройка выключена.</p></body></html> + <html><head/><body><p>Если эта настройка включена, на всплывающих подсказках оружия ближнего боя будут показаны его дальность и скорость атаки.</p><p>По умолчанию настройка выключена.</p></body></html> Show Melee Info - Показывать информацию об оружии + Показывать информацию об оружии <html><head/><body><p>Stretch menus, load screens, etc. to the window aspect ratio.</p></body></html> - <html><head/><body><p>Растягивать фон меню, экранов загрузки и т.д., чтобы изображение соответствовало соотношению сторон выбранного разрешения экрана.</p></body></html> + <html><head/><body><p>Растягивать фон меню, экранов загрузки и т.д., чтобы изображение соответствовало соотношению сторон выбранного разрешения экрана.</p></body></html> Stretch Menu Background - Растягивать фон меню + Растягивать фон меню Show Owned Objects - Выделять объекты с владельцами + Выделять объекты с владельцами <html><head/><body><p>Whether or not the chance of success will be displayed in the enchanting menu.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Показывать шанс успеха в меню зачарования, или же нет.</p><p>По умолчанию настройка выключена.</p></body></html> + <html><head/><body><p>Показывать шанс успеха в меню зачарования, или же нет.</p><p>По умолчанию настройка выключена.</p></body></html> Show Enchant Chance - Показывать шанс успеха зачарования + Показывать шанс успеха зачарования <html><head/><body><p>Prevents merchants from equipping items that are sold to them.</p></body></html> @@ -1150,63 +1150,63 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Miscellaneous - Разное + Разное Saves - Сохранения + Сохранения JPG - JPG + JPG PNG - PNG + PNG TGA - TGA + TGA Notify on Saved Screenshot - Уведомление при сохранении снимка + Уведомление при сохранении снимка Testing - Отладка + Отладка These settings are intended for testing mods and will cause issues if used for normal gameplay. - Эти настройки предназначены для отладки модов, и при их использовании для нормального игрового процесса возникнут проблемы. + Эти настройки предназначены для отладки модов, и при их использовании для нормального игрового процесса возникнут проблемы. <html><head/><body><p>OpenMW will capture control of the cursor if this setting is true.</p><p>In “look mode”, OpenMW will center the cursor regardless of the value of this setting (since the cursor/crosshair is always centered in the OpenMW window). However, in GUI mode, this setting determines the behavior when the cursor is moved outside the OpenMW window. If true, the cursor movement stops at the edge of the window preventing access to other applications. If false, the cursor is allowed to move freely on the desktop.</p><p>This setting does not apply to the screen where escape has been pressed, where the cursor is never captured. Regardless of this setting “Alt-Tab” or some other operating system dependent key sequence can be used to allow the operating system to regain control of the mouse cursor. This setting interacts with the minimize on focus loss setting by affecting what counts as a focus loss. Specifically on a two-screen configuration it may be more convenient to access the second screen with setting disabled.</p><p>Note for developers: it’s desirable to have this setting disabled when running the game in a debugger, to prevent the mouse cursor from becoming unusable when the game pauses on a breakpoint.</p></body></html> - <html><head/><body><p>Когда эта настройка включена, OpenMW будет управлять курсором мыши.</p><p>В “режиме обзора”, OpenMW будет захватывать курсор в центре экрана вне зависимости от значения этой настройки (потому что курсор всегда расположен по центру в окне OpenMW). Однако в режиме меню эта настройка определяет поведение выхода курсора за пределы окна OpenMW. Если настройка включена, курсор остановится на краю окна, предотвращая доступ к другим приложениям. Если выключена, курсор может свободно перемещаться по рабочему столу.</p><p>Эта настройка не применяется к экрану, на котором нажата клавиша “Escape” (там курсор никогда не захватывается). Вне зависимости от значения этой настройки “Alt-Tab” и некоторые другие зависимые от операционной системы комбинации клавиш могут быть использованы, чтобы вернуть управление курсором операционной системе. Эта настройка также взаимодействует с настройкой "minimize on focus loss", определяя, что именно считать потерей фокуса. На системах с двумя экранами может быть проще получить доступ ко второму экрану, если настройка выключена.</p><p>Замечание для разработчиков: лучше запускать игру с отключенной настройкой при запуске игры через отладчик, чтобы курсор не становился недоступен, когда игра останавливается на точке останова.</p></body></html> + <html><head/><body><p>Когда эта настройка включена, OpenMW будет управлять курсором мыши.</p><p>В “режиме обзора”, OpenMW будет захватывать курсор в центре экрана вне зависимости от значения этой настройки (потому что курсор всегда расположен по центру в окне OpenMW). Однако в режиме меню эта настройка определяет поведение выхода курсора за пределы окна OpenMW. Если настройка включена, курсор остановится на краю окна, предотвращая доступ к другим приложениям. Если выключена, курсор может свободно перемещаться по рабочему столу.</p><p>Эта настройка не применяется к экрану, на котором нажата клавиша “Escape” (там курсор никогда не захватывается). Вне зависимости от значения этой настройки “Alt-Tab” и некоторые другие зависимые от операционной системы комбинации клавиш могут быть использованы, чтобы вернуть управление курсором операционной системе. Эта настройка также взаимодействует с настройкой "minimize on focus loss", определяя, что именно считать потерей фокуса. На системах с двумя экранами может быть проще получить доступ ко второму экрану, если настройка выключена.</p><p>Замечание для разработчиков: лучше запускать игру с отключенной настройкой при запуске игры через отладчик, чтобы курсор не становился недоступен, когда игра останавливается на точке останова.</p></body></html> Grab Cursor - Захватывать курсор + Захватывать курсор Skip Menu and Generate Default Character - Пропустить меню и создать персонажа по умолчанию + Пропустить меню и создать персонажа по умолчанию Start Default Character at - Запустить с персонажем по умолчанию в локации + Запустить с персонажем по умолчанию в локации Default Cell - по умолчанию + по умолчанию Run Script After Startup: - Запустить скрипт после запуска: + Запустить скрипт после запуска: Browse… - Выбрать… + Выбрать… <html><head/><body><p><a name="docs-internal-guid-f375b85a-7fff-02ff-a5af-c5cff63923c0"/>When enabled, a navigation mesh is built in the background for world geometry to be used for pathfinding. When disabled only the path grid is used to build paths. Single-core CPU systems may have a big performance impact on existing interior location and moving across the exterior world. May slightly affect performance on multi-core CPU systems. Multi-core CPU systems may have different latency for nav mesh update depending on other settings and system performance. Moving across external world, entering/exiting location produce nav mesh update. NPC and creatures may not be able to find path before nav mesh is built around them. Try to disable this if you want to have old fashioned AI which doesn't know where to go when you stand behind that stone and cast a firebolt.</p></body></html> @@ -1414,27 +1414,27 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Tooltip - Всплывающая подсказка + Всплывающая подсказка Crosshair - Прицел + Прицел Tooltip and Crosshair - Всплывающая подсказка и прицел + Всплывающая подсказка и прицел Maximum Quicksaves - Количество быстрых сохранений + Количество быстрых сохранений Screenshots - Снимки экрана + Снимки экрана Screenshot Format - Формат снимков экрана + Формат снимков экрана <html><head/><body><p>Set the internal handling of light sources.</p> @@ -1462,5 +1462,13 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Use the Camera as the Sound Listener Использовать камеру как слушателя + + Controls the strength of the doppler effect. Zero means it is completely disabled. + + + + Doppler Factor + + diff --git a/files/lang/launcher_sv.ts b/files/lang/launcher_sv.ts index f2cca2346c..90aff98f08 100644 --- a/files/lang/launcher_sv.ts +++ b/files/lang/launcher_sv.ts @@ -883,27 +883,27 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin Interface - Gränssnitt + Gränssnitt <html><head/><body><p>This setting scales GUI windows. A value of 1.0 results in the normal scale.</p></body></html> - <html><head/><body><p>Denna inställning skalar grafiska fönster i gränssnittet. Ett värde på 1.0 ger den normala skalan.</p></body></html> + <html><head/><body><p>Denna inställning skalar grafiska fönster i gränssnittet. Ett värde på 1.0 ger den normala skalan.</p></body></html> <html><head/><body><p>Show the remaining duration of magic effects and lights if this setting is true. The remaining duration is displayed in the tooltip by hovering over the magical effect. </p><p>The default value is false.</p></body></html> - <html><head/><body><p>Visar den återstående tiden för magiska effekter och ljus om denna inställning är på. Den återstående tiden visas som en inforuta när muspekaren befinner sig över den magiska effekten. </p><p>Förvalt är av.</p></body></html> + <html><head/><body><p>Visar den återstående tiden för magiska effekter och ljus om denna inställning är på. Den återstående tiden visas som en inforuta när muspekaren befinner sig över den magiska effekten. </p><p>Förvalt är av.</p></body></html> <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be changed in settings.cfg.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Om denna inställning är på kommer dialogämnen ha en annan färg om ämnet är specifikt till den icke-spelbara figur du pratar med eller om ämnet redan har setts. Färger kan ändras i settings.cfg.</p><p>Förvalt är av.</p></body></html> + <html><head/><body><p>Om denna inställning är på kommer dialogämnen ha en annan färg om ämnet är specifikt till den icke-spelbara figur du pratar med eller om ämnet redan har setts. Färger kan ändras i settings.cfg.</p><p>Förvalt är av.</p></body></html> Size of characters in game texts. - Storlek på tecken i speltext. + Storlek på tecken i speltext. <html><head/><body><p>Enable zooming on local and global maps.</p></body></html> - <html><head/><body><p>Aktivera zoomning på lokala och globala kartor.</p></body></html> + <html><head/><body><p>Aktivera zoomning på lokala och globala kartor.</p></body></html> <html><head/><body><p>If this setting is true, containers supporting graphic herbalism will do so instead of opening the menu.</p></body></html> @@ -911,19 +911,19 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin <html><head/><body><p>If this setting is true, damage bonus of arrows and bolts will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Om denna inställning är på kommer skadebonus från pilar visas på föremålens inforuta.</p><p>Förvalt är av.</p></body></html> + <html><head/><body><p>Om denna inställning är på kommer skadebonus från pilar visas på föremålens inforuta.</p><p>Förvalt är av.</p></body></html> <html><head/><body><p>If this setting is true, melee weapons reach and speed will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Om denna inställning är på kommer närstridsvapens räckvidd och hastighet att visas på föremåls inforuta.</p><p>Förvalt är av.</p></body></html> + <html><head/><body><p>Om denna inställning är på kommer närstridsvapens räckvidd och hastighet att visas på föremåls inforuta.</p><p>Förvalt är av.</p></body></html> <html><head/><body><p>Stretch menus, load screens, etc. to the window aspect ratio.</p></body></html> - <html><head/><body><p>Sträck ut menyer, laddskärmar o.s.v. till fönstrets aspektratio.</p></body></html> + <html><head/><body><p>Sträck ut menyer, laddskärmar o.s.v. till fönstrets aspektratio.</p></body></html> <html><head/><body><p>Whether or not the chance of success will be displayed in the enchanting menu.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Huruvida chansen att lyckas kommer visas i förtrollningsmenyn.</p><p>Förvalt är av.</p></body></html> + <html><head/><body><p>Huruvida chansen att lyckas kommer visas i förtrollningsmenyn.</p><p>Förvalt är av.</p></body></html> <html><head/><body><p>Prevents merchants from equipping items that are sold to them.</p></body></html> @@ -935,39 +935,39 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin Miscellaneous - Diverse + Diverse Saves - Sparfiler + Sparfiler JPG - JPG + JPG PNG - PNG + PNG TGA - TGA + TGA Testing - Testning + Testning These settings are intended for testing mods and will cause issues if used for normal gameplay. - Dessa inställningar är avsedda för att testa moddar och kommer orsaka problem vid normalt spelande. + Dessa inställningar är avsedda för att testa moddar och kommer orsaka problem vid normalt spelande. <html><head/><body><p>OpenMW will capture control of the cursor if this setting is true.</p><p>In “look mode”, OpenMW will center the cursor regardless of the value of this setting (since the cursor/crosshair is always centered in the OpenMW window). However, in GUI mode, this setting determines the behavior when the cursor is moved outside the OpenMW window. If true, the cursor movement stops at the edge of the window preventing access to other applications. If false, the cursor is allowed to move freely on the desktop.</p><p>This setting does not apply to the screen where escape has been pressed, where the cursor is never captured. Regardless of this setting “Alt-Tab” or some other operating system dependent key sequence can be used to allow the operating system to regain control of the mouse cursor. This setting interacts with the minimize on focus loss setting by affecting what counts as a focus loss. Specifically on a two-screen configuration it may be more convenient to access the second screen with setting disabled.</p><p>Note for developers: it’s desirable to have this setting disabled when running the game in a debugger, to prevent the mouse cursor from becoming unusable when the game pauses on a breakpoint.</p></body></html> - <html><head/><body><p>OpenMW kommer ta kontroll av muspekaren om denna inställning är aktiverad.</p><p>I ”tittläge” kommer OpenMW centrera muspekaren oavsett värdet på denna inställning (eftersom muspekaren/hårkorset alltid är centrerat i OpenMW-fönstret). I gränssnittsläge däremot kommer denna inställning bedöma beteendet när muspekaren flyttas utanför OpenMW-fönstret. Om på kommer muspekarrörelsen stanna vid kanten av fönstret, vilket förhindrar tillgång till andra applikationer. Om av tillåts muspekaren att röras fritt över skrivbordet.</p><p>Denna inställning appliceras inte på skärmen där Escape har blivit tryckt, då muspekaren aldrig tas över. Oavsett denna inställning kan ”Alt-Tab” eller annan operativsystemberoende knappsekvens användas för att ge operativsystemet åter tillgång till muspekaren. Denna inställning interagerar med minimera vid fokusförlust-inställningen genom att påverka vad som räknas som en fokusförlust. Specifikt på en tvåskärmskonfiguration kan det vara mer smidigt att få tillgång till den andra skärmen med inställningen inaktiverad.</p><p>Notis för utvecklare: det är önskvärt att ha denna inställning inaktiverad när OpenMW körs i debug-läge för att förhindra att musen blir oanvändbar när spelet pausar vid en brytpunkt.</p></body></html> + <html><head/><body><p>OpenMW kommer ta kontroll av muspekaren om denna inställning är aktiverad.</p><p>I ”tittläge” kommer OpenMW centrera muspekaren oavsett värdet på denna inställning (eftersom muspekaren/hårkorset alltid är centrerat i OpenMW-fönstret). I gränssnittsläge däremot kommer denna inställning bedöma beteendet när muspekaren flyttas utanför OpenMW-fönstret. Om på kommer muspekarrörelsen stanna vid kanten av fönstret, vilket förhindrar tillgång till andra applikationer. Om av tillåts muspekaren att röras fritt över skrivbordet.</p><p>Denna inställning appliceras inte på skärmen där Escape har blivit tryckt, då muspekaren aldrig tas över. Oavsett denna inställning kan ”Alt-Tab” eller annan operativsystemberoende knappsekvens användas för att ge operativsystemet åter tillgång till muspekaren. Denna inställning interagerar med minimera vid fokusförlust-inställningen genom att påverka vad som räknas som en fokusförlust. Specifikt på en tvåskärmskonfiguration kan det vara mer smidigt att få tillgång till den andra skärmen med inställningen inaktiverad.</p><p>Notis för utvecklare: det är önskvärt att ha denna inställning inaktiverad när OpenMW körs i debug-läge för att förhindra att musen blir oanvändbar när spelet pausar vid en brytpunkt.</p></body></html> Browse… - Bläddra… + Bläddra… Collision is used for both physics simulation and navigation mesh generation for pathfinding. Cylinder gives the best consistency between available navigation paths and ability to move by them. Changing this value affects navigation mesh generation therefore navigation mesh disk cache generated for one value will not be useful with another. @@ -1059,15 +1059,15 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin Tooltip - Inforuta + Inforuta Crosshair - Hårkors + Hårkors Screenshots - Skärmdumpar + Skärmdumpar <html><head/><body><p>Give actors an ability to swim over the water surface when they follow other actor independently from their ability to swim. Has effect only when nav mesh building is enabled.</p></body></html> @@ -1332,59 +1332,59 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin Tooltip and Crosshair - Inforuta och hårkors + Inforuta och hårkors GUI Scaling Factor - Skalningsfaktor för gränssnitt + Skalningsfaktor för gränssnitt Show Effect Duration - Visa effektvaraktighet + Visa effektvaraktighet Change Dialogue Topic Color - Ändra färg på dialogämnen + Ändra färg på dialogämnen Font Size - Fontstorlek + Fontstorlek Show Projectile Damage - Visa projektilskada + Visa projektilskada Show Melee Info - Visa närstridsinfo + Visa närstridsinfo Stretch Menu Background - Sträck ut menybakgrund + Sträck ut menybakgrund Show Owned Objects - Visa ägda objekt + Visa ägda objekt Show Enchant Chance - Visa chans för "Enchant" + Visa chans för "Enchant" Maximum Quicksaves - Max snabbsparfiler + Max snabbsparfiler Screenshot Format - Skärmdumpformat + Skärmdumpformat Grab Cursor - Ta över muspekaren + Ta över muspekaren Default Cell - Förinställd cell + Förinställd cell Bounds @@ -1440,23 +1440,23 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin Can Zoom on Maps - Kan zooma på kartor + Kan zooma på kartor Notify on Saved Screenshot - Ge notis vid sparad skärmdump + Ge notis vid sparad skärmdump Skip Menu and Generate Default Character - Hoppa över meny och generera förinställd rollfigur + Hoppa över meny och generera förinställd rollfigur Start Default Character at - Starta förinställd rollfigur vid + Starta förinställd rollfigur vid Run Script After Startup: - Kör skript efter uppstart: + Kör skript efter uppstart: Smooth Animation Transitions @@ -1466,5 +1466,13 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin <html><head/><body><p>If enabled - makes transitions between different animations/poses much smoother. Also allows to load animation blending config YAML files that can be bundled with animations in order to customise blending styles.</p></body></html> <html><head/><body><p>Vid aktivering gör denna funktion att övergångarna mellan olika animationer och poser blir mycket mjukare. Funktionen gör det också möjligt att konfigurera animationsövergångarna i YAML-filer. Dessa filer kan buntas ihop tillsammans med nya animationsfiler.</p></body></html> + + Controls the strength of the doppler effect. Zero means it is completely disabled. + + + + Doppler Factor + + From f0e9df4de2098ac015af266d498d61a563f6b455 Mon Sep 17 00:00:00 2001 From: epochwon Date: Sat, 3 May 2025 21:19:06 -0400 Subject: [PATCH 04/11] fix launcher ui and lang mess --- apps/launcher/ui/settingspage.ui | 1 + files/lang/launcher_de.ts | 164 +++++++++++++++++++++++++++++++ files/lang/launcher_en.ts | 164 +++++++++++++++++++++++++++++++ files/lang/launcher_fr.ts | 82 ++++++++-------- files/lang/launcher_ru.ts | 82 ++++++++-------- files/lang/launcher_sv.ts | 82 ++++++++-------- 6 files changed, 452 insertions(+), 123 deletions(-) diff --git a/apps/launcher/ui/settingspage.ui b/apps/launcher/ui/settingspage.ui index c383a6abbf..6abbc3428d 100644 --- a/apps/launcher/ui/settingspage.ui +++ b/apps/launcher/ui/settingspage.ui @@ -1279,6 +1279,7 @@ + Qt::Vertical diff --git a/files/lang/launcher_de.ts b/files/lang/launcher_de.ts index bb53c32ce2..c7b22be633 100644 --- a/files/lang/launcher_de.ts +++ b/files/lang/launcher_de.ts @@ -876,10 +876,50 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Select your preferred HRTF profile. + + Interface + + + + <html><head/><body><p>This setting scales GUI windows. A value of 1.0 results in the normal scale.</p></body></html> + + + + <html><head/><body><p>Show the remaining duration of magic effects and lights if this setting is true. The remaining duration is displayed in the tooltip by hovering over the magical effect. </p><p>The default value is false.</p></body></html> + + + + <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be changed in settings.cfg.</p><p>The default value is false.</p></body></html> + + + + Size of characters in game texts. + + + + <html><head/><body><p>Enable zooming on local and global maps.</p></body></html> + + <html><head/><body><p>If this setting is true, containers supporting graphic herbalism will do so instead of opening the menu.</p></body></html> + + <html><head/><body><p>If this setting is true, damage bonus of arrows and bolts will be shown on item tooltip.</p><p>The default value is false.</p></body></html> + + + + <html><head/><body><p>If this setting is true, melee weapons reach and speed will be shown on item tooltip.</p><p>The default value is false.</p></body></html> + + + + <html><head/><body><p>Stretch menus, load screens, etc. to the window aspect ratio.</p></body></html> + + + + <html><head/><body><p>Whether or not the chance of success will be displayed in the enchanting menu.</p><p>The default value is false.</p></body></html> + + <html><head/><body><p>Prevents merchants from equipping items that are sold to them.</p></body></html> @@ -888,6 +928,42 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov <html><head/><body><p>Trainers now only choose which skills to train using their base skill points, allowing mercantile improving effects to be used without making mercantile an offered skill.</p></body></html> + + Miscellaneous + + + + Saves + + + + JPG + + + + PNG + + + + TGA + + + + Testing + + + + These settings are intended for testing mods and will cause issues if used for normal gameplay. + + + + <html><head/><body><p>OpenMW will capture control of the cursor if this setting is true.</p><p>In “look mode”, OpenMW will center the cursor regardless of the value of this setting (since the cursor/crosshair is always centered in the OpenMW window). However, in GUI mode, this setting determines the behavior when the cursor is moved outside the OpenMW window. If true, the cursor movement stops at the edge of the window preventing access to other applications. If false, the cursor is allowed to move freely on the desktop.</p><p>This setting does not apply to the screen where escape has been pressed, where the cursor is never captured. Regardless of this setting “Alt-Tab” or some other operating system dependent key sequence can be used to allow the operating system to regain control of the mouse cursor. This setting interacts with the minimize on focus loss setting by affecting what counts as a focus loss. Specifically on a two-screen configuration it may be more convenient to access the second screen with setting disabled.</p><p>Note for developers: it’s desirable to have this setting disabled when running the game in a debugger, to prevent the mouse cursor from becoming unusable when the game pauses on a breakpoint.</p></body></html> + + + + Browse… + + Collision is used for both physics simulation and navigation mesh generation for pathfinding. Cylinder gives the best consistency between available navigation paths and ability to move by them. Changing this value affects navigation mesh generation therefore navigation mesh disk cache generated for one value will not be useful with another. @@ -976,6 +1052,18 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Lighting + + Tooltip + + + + Crosshair + + + + Screenshots + + <html><head/><body><p>Give actors an ability to swim over the water surface when they follow other actor independently from their ability to swim. Has effect only when nav mesh building is enabled.</p></body></html> @@ -1231,6 +1319,62 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov HRTF Profile + + Tooltip and Crosshair + + + + GUI Scaling Factor + + + + Show Effect Duration + + + + Change Dialogue Topic Color + + + + Font Size + + + + Show Projectile Damage + + + + Show Melee Info + + + + Stretch Menu Background + + + + Show Owned Objects + + + + Show Enchant Chance + + + + Maximum Quicksaves + + + + Screenshot Format + + + + Grab Cursor + + + + Default Cell + + Bounds @@ -1283,6 +1427,26 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Use the Camera as the Sound Listener + + Can Zoom on Maps + + + + Notify on Saved Screenshot + + + + Skip Menu and Generate Default Character + + + + Start Default Character at + + + + Run Script After Startup: + + Controls the strength of the doppler effect. Zero means it is completely disabled. diff --git a/files/lang/launcher_en.ts b/files/lang/launcher_en.ts index 5d9fd74b33..7c29749b15 100644 --- a/files/lang/launcher_en.ts +++ b/files/lang/launcher_en.ts @@ -1275,6 +1275,170 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Use the Camera as the Sound Listener + + Interface + + + + Tooltip + + + + Crosshair + + + + Tooltip and Crosshair + + + + <html><head/><body><p>This setting scales GUI windows. A value of 1.0 results in the normal scale.</p></body></html> + + + + GUI Scaling Factor + + + + <html><head/><body><p>Show the remaining duration of magic effects and lights if this setting is true. The remaining duration is displayed in the tooltip by hovering over the magical effect. </p><p>The default value is false.</p></body></html> + + + + Show Effect Duration + + + + <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be changed in settings.cfg.</p><p>The default value is false.</p></body></html> + + + + Change Dialogue Topic Color + + + + Size of characters in game texts. + + + + Font Size + + + + <html><head/><body><p>Enable zooming on local and global maps.</p></body></html> + + + + Can Zoom on Maps + + + + <html><head/><body><p>If this setting is true, damage bonus of arrows and bolts will be shown on item tooltip.</p><p>The default value is false.</p></body></html> + + + + Show Projectile Damage + + + + <html><head/><body><p>If this setting is true, melee weapons reach and speed will be shown on item tooltip.</p><p>The default value is false.</p></body></html> + + + + Show Melee Info + + + + <html><head/><body><p>Stretch menus, load screens, etc. to the window aspect ratio.</p></body></html> + + + + Stretch Menu Background + + + + Show Owned Objects + + + + <html><head/><body><p>Whether or not the chance of success will be displayed in the enchanting menu.</p><p>The default value is false.</p></body></html> + + + + Show Enchant Chance + + + + Miscellaneous + + + + Saves + + + + Maximum Quicksaves + + + + Screenshots + + + + Screenshot Format + + + + JPG + + + + PNG + + + + TGA + + + + Notify on Saved Screenshot + + + + Testing + + + + These settings are intended for testing mods and will cause issues if used for normal gameplay. + + + + <html><head/><body><p>OpenMW will capture control of the cursor if this setting is true.</p><p>In “look mode”, OpenMW will center the cursor regardless of the value of this setting (since the cursor/crosshair is always centered in the OpenMW window). However, in GUI mode, this setting determines the behavior when the cursor is moved outside the OpenMW window. If true, the cursor movement stops at the edge of the window preventing access to other applications. If false, the cursor is allowed to move freely on the desktop.</p><p>This setting does not apply to the screen where escape has been pressed, where the cursor is never captured. Regardless of this setting “Alt-Tab” or some other operating system dependent key sequence can be used to allow the operating system to regain control of the mouse cursor. This setting interacts with the minimize on focus loss setting by affecting what counts as a focus loss. Specifically on a two-screen configuration it may be more convenient to access the second screen with setting disabled.</p><p>Note for developers: it’s desirable to have this setting disabled when running the game in a debugger, to prevent the mouse cursor from becoming unusable when the game pauses on a breakpoint.</p></body></html> + + + + Grab Cursor + + + + Skip Menu and Generate Default Character + + + + Start Default Character at + + + + Default Cell + + + + Run Script After Startup: + + + + Browse… + + Smooth Animation Transitions diff --git a/files/lang/launcher_fr.ts b/files/lang/launcher_fr.ts index 546e9d3f18..f81c3d78d5 100644 --- a/files/lang/launcher_fr.ts +++ b/files/lang/launcher_fr.ts @@ -878,27 +878,27 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Interface - Interface + Interface <html><head/><body><p>This setting scales GUI windows. A value of 1.0 results in the normal scale.</p></body></html> - <html><body><p>Cette option agrandit ou diminue l'interface utilisateur. Une valeur de 1 correspond à sa taille nominale.</p></body></html> + <html><body><p>Cette option agrandit ou diminue l'interface utilisateur. Une valeur de 1 correspond à sa taille nominale.</p></body></html> <html><head/><body><p>Show the remaining duration of magic effects and lights if this setting is true. The remaining duration is displayed in the tooltip by hovering over the magical effect. </p><p>The default value is false.</p></body></html> - <html><body><p>Cette option permet d'activer la durée de vie restante des effets magiques et des lampes. Cette durée restante s'affiche en passant la souris au-dessus de l'icône de l'effet magique.</p></body></html> + <html><body><p>Cette option permet d'activer la durée de vie restante des effets magiques et des lampes. Cette durée restante s'affiche en passant la souris au-dessus de l'icône de l'effet magique.</p></body></html> <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be changed in settings.cfg.</p><p>The default value is false.</p></body></html> - <html><body><p>Lorsque cette option est activée, les sujets de conversation de la fenêtre de dialogue auront des couleurs différentes si ceux-ci sont spécifiques au PNJ ou qu'ils ont déjà été lus autre part. Ces couleurs peuvent être changées dans le fichier settings.cfg.</p></body></html> + <html><body><p>Lorsque cette option est activée, les sujets de conversation de la fenêtre de dialogue auront des couleurs différentes si ceux-ci sont spécifiques au PNJ ou qu'ils ont déjà été lus autre part. Ces couleurs peuvent être changées dans le fichier settings.cfg.</p></body></html> Size of characters in game texts. - <html><body><p>Taille des caractères des textes du jeu.</p></body></html> + <html><body><p>Taille des caractères des textes du jeu.</p></body></html> <html><head/><body><p>Enable zooming on local and global maps.</p></body></html> - <html><body><p>Cette option permet de zoomer en jeu sur la carte (carte locale et carte du monde).</p></body></html> + <html><body><p>Cette option permet de zoomer en jeu sur la carte (carte locale et carte du monde).</p></body></html> <html><head/><body><p>If this setting is true, containers supporting graphic herbalism will do so instead of opening the menu.</p></body></html> @@ -906,19 +906,19 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov <html><head/><body><p>If this setting is true, damage bonus of arrows and bolts will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><body><p>Lorsque cette option est activée, les bonus de dommages des flèches et des carreaux apparaissent dans l'infobulle de l'objet.</p></body></html> + <html><body><p>Lorsque cette option est activée, les bonus de dommages des flèches et des carreaux apparaissent dans l'infobulle de l'objet.</p></body></html> <html><head/><body><p>If this setting is true, melee weapons reach and speed will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><body><p>Lorsque cette option est activée, la portée et la rapidité d'attaque des armes de mêlées apparaissent dans l'infobulle de l'objet.</p></body></html> + <html><body><p>Lorsque cette option est activée, la portée et la rapidité d'attaque des armes de mêlées apparaissent dans l'infobulle de l'objet.</p></body></html> <html><head/><body><p>Stretch menus, load screens, etc. to the window aspect ratio.</p></body></html> - <html><body><p>Étends les menus, les écrans de chargement et autres éléments d'interface aux formats d'image du jeu.</p></body></html> + <html><body><p>Étends les menus, les écrans de chargement et autres éléments d'interface aux formats d'image du jeu.</p></body></html> <html><head/><body><p>Whether or not the chance of success will be displayed in the enchanting menu.</p><p>The default value is false.</p></body></html> - <html><body><p>Lorsque l'option est activée, affiche les chances de succès d'un enchantement dans le menu des enchantements.</body></html> + <html><body><p>Lorsque l'option est activée, affiche les chances de succès d'un enchantement dans le menu des enchantements.</body></html> <html><head/><body><p>Prevents merchants from equipping items that are sold to them.</p></body></html> @@ -930,39 +930,39 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Miscellaneous - Divers + Divers Saves - Sauvegardes + Sauvegardes JPG - JPG + JPG PNG - PNG + PNG TGA - TGA + TGA Testing - Testeurs + Testeurs These settings are intended for testing mods and will cause issues if used for normal gameplay. - Ces options sont destinées aux testeurs de contenus additionnels (mods). Ils poseront problème lors d'une partie normale. + Ces options sont destinées aux testeurs de contenus additionnels (mods). Ils poseront problème lors d'une partie normale. <html><head/><body><p>OpenMW will capture control of the cursor if this setting is true.</p><p>In “look mode”, OpenMW will center the cursor regardless of the value of this setting (since the cursor/crosshair is always centered in the OpenMW window). However, in GUI mode, this setting determines the behavior when the cursor is moved outside the OpenMW window. If true, the cursor movement stops at the edge of the window preventing access to other applications. If false, the cursor is allowed to move freely on the desktop.</p><p>This setting does not apply to the screen where escape has been pressed, where the cursor is never captured. Regardless of this setting “Alt-Tab” or some other operating system dependent key sequence can be used to allow the operating system to regain control of the mouse cursor. This setting interacts with the minimize on focus loss setting by affecting what counts as a focus loss. Specifically on a two-screen configuration it may be more convenient to access the second screen with setting disabled.</p><p>Note for developers: it’s desirable to have this setting disabled when running the game in a debugger, to prevent the mouse cursor from becoming unusable when the game pauses on a breakpoint.</p></body></html> - <html><body><p>Lorsque cette option est activée, OpenMW capture le curseur de la souris.</p><p>Lorsque le jeu est en mode "Regard/Déplacement", OpenMW centre le curseur au milieu de l'écran; sans tenir compte de cette option (le curseur/viseur est toujours au centre de la fenêtre d'OpenMW). Néanmoins, lorsqu'un menu est ouvert, cette option permet de récupérer le contrôle de la souris. En effet, lorsque l'option est active, le mouvement du curseur s'arrête aux bords de la fenêtre et empêche d'accéder à d'autres applications. Tandis que, lorsque l'option est désactivée, le curseur peut sortir librement de la fenêtre et accéder au bureau.</p><p>Cette option ne s'applique pas à l'écran lorsque la touche Échap a été enfoncée, dans ce cas, le curseur n'est jamais capturé. Cette option n'agit pas non plus sur "Atl-Tab" ou toute autre séquence de touches utilisée par le système d'exploitation pour récupérer le contrôle du curseur de la souris. </p><p>Cette option interagit avec l'option de minimisation de la fenêtre lors de la perte de focus en modifiant ce qui est considéré comme une perte de focus. Par exemple, avec une configuration à doubles écrans, il peut être plus agréable d'accéder au second écran avec cette option désactivée.</p><p>Note aux développeurs : Il est préférable de désactiver cette option lorsque le jeu tourne dans un débogueur, ceci afin d'empêcher le curseur de la souris de devenir inutilisable lorsque le jeu s'arrête sur un breakpoint.</p></body></html> + <html><body><p>Lorsque cette option est activée, OpenMW capture le curseur de la souris.</p><p>Lorsque le jeu est en mode "Regard/Déplacement", OpenMW centre le curseur au milieu de l'écran; sans tenir compte de cette option (le curseur/viseur est toujours au centre de la fenêtre d'OpenMW). Néanmoins, lorsqu'un menu est ouvert, cette option permet de récupérer le contrôle de la souris. En effet, lorsque l'option est active, le mouvement du curseur s'arrête aux bords de la fenêtre et empêche d'accéder à d'autres applications. Tandis que, lorsque l'option est désactivée, le curseur peut sortir librement de la fenêtre et accéder au bureau.</p><p>Cette option ne s'applique pas à l'écran lorsque la touche Échap a été enfoncée, dans ce cas, le curseur n'est jamais capturé. Cette option n'agit pas non plus sur "Atl-Tab" ou toute autre séquence de touches utilisée par le système d'exploitation pour récupérer le contrôle du curseur de la souris. </p><p>Cette option interagit avec l'option de minimisation de la fenêtre lors de la perte de focus en modifiant ce qui est considéré comme une perte de focus. Par exemple, avec une configuration à doubles écrans, il peut être plus agréable d'accéder au second écran avec cette option désactivée.</p><p>Note aux développeurs : Il est préférable de désactiver cette option lorsque le jeu tourne dans un débogueur, ceci afin d'empêcher le curseur de la souris de devenir inutilisable lorsque le jeu s'arrête sur un breakpoint.</p></body></html> Browse… - Parcourir... + Parcourir... Collision is used for both physics simulation and navigation mesh generation for pathfinding. Cylinder gives the best consistency between available navigation paths and ability to move by them. Changing this value affects navigation mesh generation therefore navigation mesh disk cache generated for one value will not be useful with another. @@ -1054,15 +1054,15 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Tooltip - Infobulles + Infobulles Crosshair - Réticule de visée + Réticule de visée Screenshots - Captures d'écran + Captures d'écran <html><head/><body><p>Give actors an ability to swim over the water surface when they follow other actor independently from their ability to swim. Has effect only when nav mesh building is enabled.</p></body></html> @@ -1324,59 +1324,59 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Tooltip and Crosshair - Infobulles et réticule de visée + Infobulles et réticule de visée GUI Scaling Factor - Échelle de l'interface + Échelle de l'interface Show Effect Duration - Afficher la durée des effets + Afficher la durée des effets Change Dialogue Topic Color - Changer la couleur des sujets de conversation + Changer la couleur des sujets de conversation Font Size - Taille des polices + Taille des polices Show Projectile Damage - Afficher les dommages des projectiles + Afficher les dommages des projectiles Show Melee Info - Afficher les infos de mêlée + Afficher les infos de mêlée Stretch Menu Background - Étendre les arrière-plans + Étendre les arrière-plans Show Owned Objects - Afficher la possession des objets + Afficher la possession des objets Show Enchant Chance - Afficher les chances d'enchantement + Afficher les chances d'enchantement Maximum Quicksaves - Nombre maximum de sauvegardes rapides + Nombre maximum de sauvegardes rapides Screenshot Format - Format des captures + Format des captures Grab Cursor - Capturer le curseur + Capturer le curseur Default Cell - la cellule par défaut + la cellule par défaut Bounds @@ -1432,23 +1432,23 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Can Zoom on Maps - Permettre le zoom sur la carte + Permettre le zoom sur la carte Notify on Saved Screenshot - Notifier l'enregistrement des captures d'écran + Notifier l'enregistrement des captures d'écran Skip Menu and Generate Default Character - Passer le menu principal et générer un personnage standard + Passer le menu principal et générer un personnage standard Start Default Character at - Placer le personnage par défaut dans + Placer le personnage par défaut dans Run Script After Startup: - Script à lancer après démarrage : + Script à lancer après démarrage : Controls the strength of the doppler effect. Zero means it is completely disabled. diff --git a/files/lang/launcher_ru.ts b/files/lang/launcher_ru.ts index e06d26a5e3..71bbbf4f4a 100644 --- a/files/lang/launcher_ru.ts +++ b/files/lang/launcher_ru.ts @@ -1054,47 +1054,47 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Interface - Интерфейс + Интерфейс <html><head/><body><p>This setting scales GUI windows. A value of 1.0 results in the normal scale.</p></body></html> - <html><head/><body><p>Эта настройка отвечает за масштабирование окон внутриигрового интерфейса. Значение 1.0 соответствует нормальному размеру интерфейса.</p></body></html> + <html><head/><body><p>Эта настройка отвечает за масштабирование окон внутриигрового интерфейса. Значение 1.0 соответствует нормальному размеру интерфейса.</p></body></html> GUI Scaling Factor - Масштаб интерфейса + Масштаб интерфейса <html><head/><body><p>Show the remaining duration of magic effects and lights if this setting is true. The remaining duration is displayed in the tooltip by hovering over the magical effect. </p><p>The default value is false.</p></body></html> - <html><head/><body><p>Когда настройка включена, в подсказке, всплывающей при наведении курсора на иконку магического эффекта, будет отображаться оставшаяся длительность магического эффекта или источника света.</p><p>По умолчанию настройка отключена.</p></body></html> + <html><head/><body><p>Когда настройка включена, в подсказке, всплывающей при наведении курсора на иконку магического эффекта, будет отображаться оставшаяся длительность магического эффекта или источника света.</p><p>По умолчанию настройка отключена.</p></body></html> Show Effect Duration - Показывать длительность эффектов + Показывать длительность эффектов <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be changed in settings.cfg.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Если эта настройка включена, у тем диалогов будет другой цвет, если у вашего собеседника есть уникальная реплика по заданной теме, или же если вы уже видели текст темы. Цвета могут быть настроены через settings.cfg.</p><p>По умолчанию настройка отключена.</p></body></html> + <html><head/><body><p>Если эта настройка включена, у тем диалогов будет другой цвет, если у вашего собеседника есть уникальная реплика по заданной теме, или же если вы уже видели текст темы. Цвета могут быть настроены через settings.cfg.</p><p>По умолчанию настройка отключена.</p></body></html> Change Dialogue Topic Color - Смена цвета тем для диалогов + Смена цвета тем для диалогов Size of characters in game texts. - Размер символов в текстах. + Размер символов в текстах. Font Size - Размер шрифтов + Размер шрифтов <html><head/><body><p>Enable zooming on local and global maps.</p></body></html> - <html><head/><body><p>Включить возможность масштабирования на локальной и глобальной картах.</p></body></html> + <html><head/><body><p>Включить возможность масштабирования на локальной и глобальной картах.</p></body></html> Can Zoom on Maps - Включить масштабирование карты + Включить масштабирование карты <html><head/><body><p>If this setting is true, containers supporting graphic herbalism will do so instead of opening the menu.</p></body></html> @@ -1102,39 +1102,39 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov <html><head/><body><p>If this setting is true, damage bonus of arrows and bolts will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Если эта настройка включена, на всплывающих подсказках стрел и болтов будет показан их бонус к урону.</p><p>По умолчанию настройка выключена.</p></body></html> + <html><head/><body><p>Если эта настройка включена, на всплывающих подсказках стрел и болтов будет показан их бонус к урону.</p><p>По умолчанию настройка выключена.</p></body></html> Show Projectile Damage - Показывать урон снарядов + Показывать урон снарядов <html><head/><body><p>If this setting is true, melee weapons reach and speed will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Если эта настройка включена, на всплывающих подсказках оружия ближнего боя будут показаны его дальность и скорость атаки.</p><p>По умолчанию настройка выключена.</p></body></html> + <html><head/><body><p>Если эта настройка включена, на всплывающих подсказках оружия ближнего боя будут показаны его дальность и скорость атаки.</p><p>По умолчанию настройка выключена.</p></body></html> Show Melee Info - Показывать информацию об оружии + Показывать информацию об оружии <html><head/><body><p>Stretch menus, load screens, etc. to the window aspect ratio.</p></body></html> - <html><head/><body><p>Растягивать фон меню, экранов загрузки и т.д., чтобы изображение соответствовало соотношению сторон выбранного разрешения экрана.</p></body></html> + <html><head/><body><p>Растягивать фон меню, экранов загрузки и т.д., чтобы изображение соответствовало соотношению сторон выбранного разрешения экрана.</p></body></html> Stretch Menu Background - Растягивать фон меню + Растягивать фон меню Show Owned Objects - Выделять объекты с владельцами + Выделять объекты с владельцами <html><head/><body><p>Whether or not the chance of success will be displayed in the enchanting menu.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Показывать шанс успеха в меню зачарования, или же нет.</p><p>По умолчанию настройка выключена.</p></body></html> + <html><head/><body><p>Показывать шанс успеха в меню зачарования, или же нет.</p><p>По умолчанию настройка выключена.</p></body></html> Show Enchant Chance - Показывать шанс успеха зачарования + Показывать шанс успеха зачарования <html><head/><body><p>Prevents merchants from equipping items that are sold to them.</p></body></html> @@ -1150,63 +1150,63 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Miscellaneous - Разное + Разное Saves - Сохранения + Сохранения JPG - JPG + JPG PNG - PNG + PNG TGA - TGA + TGA Notify on Saved Screenshot - Уведомление при сохранении снимка + Уведомление при сохранении снимка Testing - Отладка + Отладка These settings are intended for testing mods and will cause issues if used for normal gameplay. - Эти настройки предназначены для отладки модов, и при их использовании для нормального игрового процесса возникнут проблемы. + Эти настройки предназначены для отладки модов, и при их использовании для нормального игрового процесса возникнут проблемы. <html><head/><body><p>OpenMW will capture control of the cursor if this setting is true.</p><p>In “look mode”, OpenMW will center the cursor regardless of the value of this setting (since the cursor/crosshair is always centered in the OpenMW window). However, in GUI mode, this setting determines the behavior when the cursor is moved outside the OpenMW window. If true, the cursor movement stops at the edge of the window preventing access to other applications. If false, the cursor is allowed to move freely on the desktop.</p><p>This setting does not apply to the screen where escape has been pressed, where the cursor is never captured. Regardless of this setting “Alt-Tab” or some other operating system dependent key sequence can be used to allow the operating system to regain control of the mouse cursor. This setting interacts with the minimize on focus loss setting by affecting what counts as a focus loss. Specifically on a two-screen configuration it may be more convenient to access the second screen with setting disabled.</p><p>Note for developers: it’s desirable to have this setting disabled when running the game in a debugger, to prevent the mouse cursor from becoming unusable when the game pauses on a breakpoint.</p></body></html> - <html><head/><body><p>Когда эта настройка включена, OpenMW будет управлять курсором мыши.</p><p>В “режиме обзора”, OpenMW будет захватывать курсор в центре экрана вне зависимости от значения этой настройки (потому что курсор всегда расположен по центру в окне OpenMW). Однако в режиме меню эта настройка определяет поведение выхода курсора за пределы окна OpenMW. Если настройка включена, курсор остановится на краю окна, предотвращая доступ к другим приложениям. Если выключена, курсор может свободно перемещаться по рабочему столу.</p><p>Эта настройка не применяется к экрану, на котором нажата клавиша “Escape” (там курсор никогда не захватывается). Вне зависимости от значения этой настройки “Alt-Tab” и некоторые другие зависимые от операционной системы комбинации клавиш могут быть использованы, чтобы вернуть управление курсором операционной системе. Эта настройка также взаимодействует с настройкой "minimize on focus loss", определяя, что именно считать потерей фокуса. На системах с двумя экранами может быть проще получить доступ ко второму экрану, если настройка выключена.</p><p>Замечание для разработчиков: лучше запускать игру с отключенной настройкой при запуске игры через отладчик, чтобы курсор не становился недоступен, когда игра останавливается на точке останова.</p></body></html> + <html><head/><body><p>Когда эта настройка включена, OpenMW будет управлять курсором мыши.</p><p>В “режиме обзора”, OpenMW будет захватывать курсор в центре экрана вне зависимости от значения этой настройки (потому что курсор всегда расположен по центру в окне OpenMW). Однако в режиме меню эта настройка определяет поведение выхода курсора за пределы окна OpenMW. Если настройка включена, курсор остановится на краю окна, предотвращая доступ к другим приложениям. Если выключена, курсор может свободно перемещаться по рабочему столу.</p><p>Эта настройка не применяется к экрану, на котором нажата клавиша “Escape” (там курсор никогда не захватывается). Вне зависимости от значения этой настройки “Alt-Tab” и некоторые другие зависимые от операционной системы комбинации клавиш могут быть использованы, чтобы вернуть управление курсором операционной системе. Эта настройка также взаимодействует с настройкой "minimize on focus loss", определяя, что именно считать потерей фокуса. На системах с двумя экранами может быть проще получить доступ ко второму экрану, если настройка выключена.</p><p>Замечание для разработчиков: лучше запускать игру с отключенной настройкой при запуске игры через отладчик, чтобы курсор не становился недоступен, когда игра останавливается на точке останова.</p></body></html> Grab Cursor - Захватывать курсор + Захватывать курсор Skip Menu and Generate Default Character - Пропустить меню и создать персонажа по умолчанию + Пропустить меню и создать персонажа по умолчанию Start Default Character at - Запустить с персонажем по умолчанию в локации + Запустить с персонажем по умолчанию в локации Default Cell - по умолчанию + по умолчанию Run Script After Startup: - Запустить скрипт после запуска: + Запустить скрипт после запуска: Browse… - Выбрать… + Выбрать… <html><head/><body><p><a name="docs-internal-guid-f375b85a-7fff-02ff-a5af-c5cff63923c0"/>When enabled, a navigation mesh is built in the background for world geometry to be used for pathfinding. When disabled only the path grid is used to build paths. Single-core CPU systems may have a big performance impact on existing interior location and moving across the exterior world. May slightly affect performance on multi-core CPU systems. Multi-core CPU systems may have different latency for nav mesh update depending on other settings and system performance. Moving across external world, entering/exiting location produce nav mesh update. NPC and creatures may not be able to find path before nav mesh is built around them. Try to disable this if you want to have old fashioned AI which doesn't know where to go when you stand behind that stone and cast a firebolt.</p></body></html> @@ -1414,27 +1414,27 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Tooltip - Всплывающая подсказка + Всплывающая подсказка Crosshair - Прицел + Прицел Tooltip and Crosshair - Всплывающая подсказка и прицел + Всплывающая подсказка и прицел Maximum Quicksaves - Количество быстрых сохранений + Количество быстрых сохранений Screenshots - Снимки экрана + Снимки экрана Screenshot Format - Формат снимков экрана + Формат снимков экрана <html><head/><body><p>Set the internal handling of light sources.</p> diff --git a/files/lang/launcher_sv.ts b/files/lang/launcher_sv.ts index 90aff98f08..ca822f55b8 100644 --- a/files/lang/launcher_sv.ts +++ b/files/lang/launcher_sv.ts @@ -883,27 +883,27 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin Interface - Gränssnitt + Gränssnitt <html><head/><body><p>This setting scales GUI windows. A value of 1.0 results in the normal scale.</p></body></html> - <html><head/><body><p>Denna inställning skalar grafiska fönster i gränssnittet. Ett värde på 1.0 ger den normala skalan.</p></body></html> + <html><head/><body><p>Denna inställning skalar grafiska fönster i gränssnittet. Ett värde på 1.0 ger den normala skalan.</p></body></html> <html><head/><body><p>Show the remaining duration of magic effects and lights if this setting is true. The remaining duration is displayed in the tooltip by hovering over the magical effect. </p><p>The default value is false.</p></body></html> - <html><head/><body><p>Visar den återstående tiden för magiska effekter och ljus om denna inställning är på. Den återstående tiden visas som en inforuta när muspekaren befinner sig över den magiska effekten. </p><p>Förvalt är av.</p></body></html> + <html><head/><body><p>Visar den återstående tiden för magiska effekter och ljus om denna inställning är på. Den återstående tiden visas som en inforuta när muspekaren befinner sig över den magiska effekten. </p><p>Förvalt är av.</p></body></html> <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be changed in settings.cfg.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Om denna inställning är på kommer dialogämnen ha en annan färg om ämnet är specifikt till den icke-spelbara figur du pratar med eller om ämnet redan har setts. Färger kan ändras i settings.cfg.</p><p>Förvalt är av.</p></body></html> + <html><head/><body><p>Om denna inställning är på kommer dialogämnen ha en annan färg om ämnet är specifikt till den icke-spelbara figur du pratar med eller om ämnet redan har setts. Färger kan ändras i settings.cfg.</p><p>Förvalt är av.</p></body></html> Size of characters in game texts. - Storlek på tecken i speltext. + Storlek på tecken i speltext. <html><head/><body><p>Enable zooming on local and global maps.</p></body></html> - <html><head/><body><p>Aktivera zoomning på lokala och globala kartor.</p></body></html> + <html><head/><body><p>Aktivera zoomning på lokala och globala kartor.</p></body></html> <html><head/><body><p>If this setting is true, containers supporting graphic herbalism will do so instead of opening the menu.</p></body></html> @@ -911,19 +911,19 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin <html><head/><body><p>If this setting is true, damage bonus of arrows and bolts will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Om denna inställning är på kommer skadebonus från pilar visas på föremålens inforuta.</p><p>Förvalt är av.</p></body></html> + <html><head/><body><p>Om denna inställning är på kommer skadebonus från pilar visas på föremålens inforuta.</p><p>Förvalt är av.</p></body></html> <html><head/><body><p>If this setting is true, melee weapons reach and speed will be shown on item tooltip.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Om denna inställning är på kommer närstridsvapens räckvidd och hastighet att visas på föremåls inforuta.</p><p>Förvalt är av.</p></body></html> + <html><head/><body><p>Om denna inställning är på kommer närstridsvapens räckvidd och hastighet att visas på föremåls inforuta.</p><p>Förvalt är av.</p></body></html> <html><head/><body><p>Stretch menus, load screens, etc. to the window aspect ratio.</p></body></html> - <html><head/><body><p>Sträck ut menyer, laddskärmar o.s.v. till fönstrets aspektratio.</p></body></html> + <html><head/><body><p>Sträck ut menyer, laddskärmar o.s.v. till fönstrets aspektratio.</p></body></html> <html><head/><body><p>Whether or not the chance of success will be displayed in the enchanting menu.</p><p>The default value is false.</p></body></html> - <html><head/><body><p>Huruvida chansen att lyckas kommer visas i förtrollningsmenyn.</p><p>Förvalt är av.</p></body></html> + <html><head/><body><p>Huruvida chansen att lyckas kommer visas i förtrollningsmenyn.</p><p>Förvalt är av.</p></body></html> <html><head/><body><p>Prevents merchants from equipping items that are sold to them.</p></body></html> @@ -935,39 +935,39 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin Miscellaneous - Diverse + Diverse Saves - Sparfiler + Sparfiler JPG - JPG + JPG PNG - PNG + PNG TGA - TGA + TGA Testing - Testning + Testning These settings are intended for testing mods and will cause issues if used for normal gameplay. - Dessa inställningar är avsedda för att testa moddar och kommer orsaka problem vid normalt spelande. + Dessa inställningar är avsedda för att testa moddar och kommer orsaka problem vid normalt spelande. <html><head/><body><p>OpenMW will capture control of the cursor if this setting is true.</p><p>In “look mode”, OpenMW will center the cursor regardless of the value of this setting (since the cursor/crosshair is always centered in the OpenMW window). However, in GUI mode, this setting determines the behavior when the cursor is moved outside the OpenMW window. If true, the cursor movement stops at the edge of the window preventing access to other applications. If false, the cursor is allowed to move freely on the desktop.</p><p>This setting does not apply to the screen where escape has been pressed, where the cursor is never captured. Regardless of this setting “Alt-Tab” or some other operating system dependent key sequence can be used to allow the operating system to regain control of the mouse cursor. This setting interacts with the minimize on focus loss setting by affecting what counts as a focus loss. Specifically on a two-screen configuration it may be more convenient to access the second screen with setting disabled.</p><p>Note for developers: it’s desirable to have this setting disabled when running the game in a debugger, to prevent the mouse cursor from becoming unusable when the game pauses on a breakpoint.</p></body></html> - <html><head/><body><p>OpenMW kommer ta kontroll av muspekaren om denna inställning är aktiverad.</p><p>I ”tittläge” kommer OpenMW centrera muspekaren oavsett värdet på denna inställning (eftersom muspekaren/hårkorset alltid är centrerat i OpenMW-fönstret). I gränssnittsläge däremot kommer denna inställning bedöma beteendet när muspekaren flyttas utanför OpenMW-fönstret. Om på kommer muspekarrörelsen stanna vid kanten av fönstret, vilket förhindrar tillgång till andra applikationer. Om av tillåts muspekaren att röras fritt över skrivbordet.</p><p>Denna inställning appliceras inte på skärmen där Escape har blivit tryckt, då muspekaren aldrig tas över. Oavsett denna inställning kan ”Alt-Tab” eller annan operativsystemberoende knappsekvens användas för att ge operativsystemet åter tillgång till muspekaren. Denna inställning interagerar med minimera vid fokusförlust-inställningen genom att påverka vad som räknas som en fokusförlust. Specifikt på en tvåskärmskonfiguration kan det vara mer smidigt att få tillgång till den andra skärmen med inställningen inaktiverad.</p><p>Notis för utvecklare: det är önskvärt att ha denna inställning inaktiverad när OpenMW körs i debug-läge för att förhindra att musen blir oanvändbar när spelet pausar vid en brytpunkt.</p></body></html> + <html><head/><body><p>OpenMW kommer ta kontroll av muspekaren om denna inställning är aktiverad.</p><p>I ”tittläge” kommer OpenMW centrera muspekaren oavsett värdet på denna inställning (eftersom muspekaren/hårkorset alltid är centrerat i OpenMW-fönstret). I gränssnittsläge däremot kommer denna inställning bedöma beteendet när muspekaren flyttas utanför OpenMW-fönstret. Om på kommer muspekarrörelsen stanna vid kanten av fönstret, vilket förhindrar tillgång till andra applikationer. Om av tillåts muspekaren att röras fritt över skrivbordet.</p><p>Denna inställning appliceras inte på skärmen där Escape har blivit tryckt, då muspekaren aldrig tas över. Oavsett denna inställning kan ”Alt-Tab” eller annan operativsystemberoende knappsekvens användas för att ge operativsystemet åter tillgång till muspekaren. Denna inställning interagerar med minimera vid fokusförlust-inställningen genom att påverka vad som räknas som en fokusförlust. Specifikt på en tvåskärmskonfiguration kan det vara mer smidigt att få tillgång till den andra skärmen med inställningen inaktiverad.</p><p>Notis för utvecklare: det är önskvärt att ha denna inställning inaktiverad när OpenMW körs i debug-läge för att förhindra att musen blir oanvändbar när spelet pausar vid en brytpunkt.</p></body></html> Browse… - Bläddra… + Bläddra… Collision is used for both physics simulation and navigation mesh generation for pathfinding. Cylinder gives the best consistency between available navigation paths and ability to move by them. Changing this value affects navigation mesh generation therefore navigation mesh disk cache generated for one value will not be useful with another. @@ -1059,15 +1059,15 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin Tooltip - Inforuta + Inforuta Crosshair - Hårkors + Hårkors Screenshots - Skärmdumpar + Skärmdumpar <html><head/><body><p>Give actors an ability to swim over the water surface when they follow other actor independently from their ability to swim. Has effect only when nav mesh building is enabled.</p></body></html> @@ -1332,59 +1332,59 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin Tooltip and Crosshair - Inforuta och hårkors + Inforuta och hårkors GUI Scaling Factor - Skalningsfaktor för gränssnitt + Skalningsfaktor för gränssnitt Show Effect Duration - Visa effektvaraktighet + Visa effektvaraktighet Change Dialogue Topic Color - Ändra färg på dialogämnen + Ändra färg på dialogämnen Font Size - Fontstorlek + Fontstorlek Show Projectile Damage - Visa projektilskada + Visa projektilskada Show Melee Info - Visa närstridsinfo + Visa närstridsinfo Stretch Menu Background - Sträck ut menybakgrund + Sträck ut menybakgrund Show Owned Objects - Visa ägda objekt + Visa ägda objekt Show Enchant Chance - Visa chans för "Enchant" + Visa chans för "Enchant" Maximum Quicksaves - Max snabbsparfiler + Max snabbsparfiler Screenshot Format - Skärmdumpformat + Skärmdumpformat Grab Cursor - Ta över muspekaren + Ta över muspekaren Default Cell - Förinställd cell + Förinställd cell Bounds @@ -1440,23 +1440,23 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin Can Zoom on Maps - Kan zooma på kartor + Kan zooma på kartor Notify on Saved Screenshot - Ge notis vid sparad skärmdump + Ge notis vid sparad skärmdump Skip Menu and Generate Default Character - Hoppa över meny och generera förinställd rollfigur + Hoppa över meny och generera förinställd rollfigur Start Default Character at - Starta förinställd rollfigur vid + Starta förinställd rollfigur vid Run Script After Startup: - Kör skript efter uppstart: + Kör skript efter uppstart: Smooth Animation Transitions From ce666db34f6e30583f77ef9db08888e83735c8d8 Mon Sep 17 00:00:00 2001 From: epochwon Date: Sun, 4 May 2025 14:24:34 -0400 Subject: [PATCH 05/11] don't use EFX doppler, set doppler factor globally instead of per-sound --- apps/openmw/mwsound/openaloutput.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/openmw/mwsound/openaloutput.cpp b/apps/openmw/mwsound/openaloutput.cpp index a586fc611a..e861545460 100644 --- a/apps/openmw/mwsound/openaloutput.cpp +++ b/apps/openmw/mwsound/openaloutput.cpp @@ -964,6 +964,7 @@ namespace MWSound // Speed of sound is in units per second. Take the sound speed in air (assumed // meters per second), multiply by the units per meter to get the speed in u/s. alSpeedOfSound(Constants::SoundSpeedInAir * Constants::UnitsPerMeter); + alDopplerFactor(Settings::sound().mDopplerFactor); alGetError(); mInitialized = true; @@ -1138,7 +1139,6 @@ namespace MWSound alSourcef(source, AL_GAIN, gain); alSourcef(source, AL_PITCH, pitch); - alSourcef(source, AL_DOPPLER_FACTOR, 0.0f); alSourcefv(source, AL_POSITION, pos.ptr()); alSource3f(source, AL_DIRECTION, 0.0f, 0.0f, 0.0f); alSource3f(source, AL_VELOCITY, 0.0f, 0.0f, 0.0f); @@ -1179,7 +1179,6 @@ namespace MWSound alSourcef(source, AL_GAIN, gain); alSourcef(source, AL_PITCH, pitch); - alSourcef(source, AL_DOPPLER_FACTOR, Settings::sound().mDopplerFactor); alSourcefv(source, AL_POSITION, pos.ptr()); alSource3f(source, AL_DIRECTION, 0.0f, 0.0f, 0.0f); alSourcefv(source, AL_VELOCITY, vel.ptr()); From ba361302a17a7804d330eebec5186dab46d04556 Mon Sep 17 00:00:00 2001 From: epochwon Date: Thu, 8 May 2025 18:08:46 -0400 Subject: [PATCH 06/11] cache physics framerate at start instead of checking every update --- apps/openmw/mwsound/soundmanagerimp.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/openmw/mwsound/soundmanagerimp.cpp b/apps/openmw/mwsound/soundmanagerimp.cpp index f7dff94d1c..3933af1523 100644 --- a/apps/openmw/mwsound/soundmanagerimp.cpp +++ b/apps/openmw/mwsound/soundmanagerimp.cpp @@ -43,6 +43,8 @@ namespace MWSound constexpr float sSfxFadeOutDuration = 1.0f; constexpr float sSoundCullDistance = 2000.f; + float physicsFramerate = 60.f; + WaterSoundUpdaterSettings makeWaterSoundUpdaterSettings() { WaterSoundUpdaterSettings settings; @@ -140,6 +142,13 @@ namespace MWSound return; } + if (const char* env = getenv("OPENMW_PHYSICS_FPS")) + { + if (const auto physFramerate = Misc::StringUtils::toNumeric(env); + physFramerate.has_value() && *physFramerate > 0) + physicsFramerate = *physFramerate; + } + std::vector names = mOutput->enumerate(); std::stringstream stream; @@ -961,14 +970,6 @@ namespace MWSound mUnderwaterSound = nullptr; } - float physicsFramerate = 60.f; - if (const char* env = getenv("OPENMW_PHYSICS_FPS")) - { - if (const auto physFramerate = Misc::StringUtils::toNumeric(env); - physFramerate.has_value() && *physFramerate > 0) - physicsFramerate = *physFramerate; - } - mOutput->startUpdate(); mOutput->updateListener(mListenerPos, mListenerDir, mListenerUp, mListenerVel, env); From db22706e8e8a725b9203d671f06da2fab8cf59f3 Mon Sep 17 00:00:00 2001 From: epochwon Date: Wed, 2 Jul 2025 17:28:53 -0400 Subject: [PATCH 07/11] I'm sorry clang, forgive me --- apps/openmw/mwsound/openaloutput.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/openmw/mwsound/openaloutput.cpp b/apps/openmw/mwsound/openaloutput.cpp index e861545460..58f78ac280 100644 --- a/apps/openmw/mwsound/openaloutput.cpp +++ b/apps/openmw/mwsound/openaloutput.cpp @@ -1144,8 +1144,8 @@ namespace MWSound alSource3f(source, AL_VELOCITY, 0.0f, 0.0f, 0.0f); } - void OpenALOutput::initCommon3D(ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat mindist, ALfloat maxdist, - ALfloat gain, ALfloat pitch, bool loop, bool useenv) + void OpenALOutput::initCommon3D(ALuint source, const osg::Vec3f& pos, const osg::Vec3f& vel, ALfloat mindist, + ALfloat maxdist, ALfloat gain, ALfloat pitch, bool loop, bool useenv) { alSourcef(source, AL_REFERENCE_DISTANCE, mindist); alSourcef(source, AL_MAX_DISTANCE, maxdist); @@ -1250,8 +1250,9 @@ namespace MWSound } source = mFreeSources.front(); - initCommon3D(source, sound->getPosition(), sound->getVelocity(), sound->getMinDistance(), sound->getMaxDistance(), - sound->getRealVolume(), getTimeScaledPitch(sound), sound->getIsLooping(), sound->getUseEnv()); + initCommon3D(source, sound->getPosition(), sound->getVelocity(), sound->getMinDistance(), + sound->getMaxDistance(), sound->getRealVolume(), getTimeScaledPitch(sound), sound->getIsLooping(), + sound->getUseEnv()); alSourcei(source, AL_BUFFER, GET_PTRID(data)); alSourcef(source, AL_SEC_OFFSET, offset); if (getALError() != AL_NO_ERROR) From 57280eaf9d1014ad0f52ff702d8b0f745836f5bd Mon Sep 17 00:00:00 2001 From: epochwon Date: Wed, 30 Jul 2025 10:28:41 -0400 Subject: [PATCH 08/11] Update Doppler description + Russian line --- apps/launcher/ui/settingspage.ui | 2 +- docs/source/reference/modding/settings/sound.rst | 4 ++-- files/lang/launcher_de.ts | 2 +- files/lang/launcher_en.ts | 2 +- files/lang/launcher_fr.ts | 2 +- files/lang/launcher_ru.ts | 4 ++-- files/lang/launcher_sv.ts | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/launcher/ui/settingspage.ui b/apps/launcher/ui/settingspage.ui index 6abbc3428d..c9ec5b1109 100644 --- a/apps/launcher/ui/settingspage.ui +++ b/apps/launcher/ui/settingspage.ui @@ -1239,7 +1239,7 @@ - Controls the strength of the doppler effect. Zero means it is completely disabled. + <html><head/><body><p>Controls the strength of the Doppler effect. Zero means it is completely disabled.</p><p>The Doppler effect increases or decreases the pitch of sounds relative to the velocity of the sound source and the listener.</p></body></html> Doppler Factor diff --git a/docs/source/reference/modding/settings/sound.rst b/docs/source/reference/modding/settings/sound.rst index b462428ad1..4e73df989c 100644 --- a/docs/source/reference/modding/settings/sound.rst +++ b/docs/source/reference/modding/settings/sound.rst @@ -129,5 +129,5 @@ Sound Settings :default: 0.25 :location: :bdg-success:`Launcher > Settings > Audio` - This setting controls the strength of the doppler effect. Doppler effect increases or decreases the pitch of sounds - relative to the velocity of the source and the listener. \ No newline at end of file + This setting controls the strength of the Doppler effect. The Doppler effect increases or decreases the pitch of sounds + relative to the velocity of the sound source and the listener. diff --git a/files/lang/launcher_de.ts b/files/lang/launcher_de.ts index c7b22be633..ec6372584b 100644 --- a/files/lang/launcher_de.ts +++ b/files/lang/launcher_de.ts @@ -1448,7 +1448,7 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov - Controls the strength of the doppler effect. Zero means it is completely disabled. + <html><head/><body><p>Controls the strength of the Doppler effect. Zero means it is completely disabled.</p><p>The Doppler effect increases or decreases the pitch of sounds relative to the velocity of the sound source and the listener.</p></body></html> diff --git a/files/lang/launcher_en.ts b/files/lang/launcher_en.ts index 7c29749b15..d510ec5b2b 100644 --- a/files/lang/launcher_en.ts +++ b/files/lang/launcher_en.ts @@ -1448,7 +1448,7 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov - Controls the strength of the doppler effect. Zero means it is completely disabled. + <html><head/><body><p>Controls the strength of the Doppler effect. Zero means it is completely disabled.</p><p>The Doppler effect increases or decreases the pitch of sounds relative to the velocity of the sound source and the listener.</p></body></html> diff --git a/files/lang/launcher_fr.ts b/files/lang/launcher_fr.ts index f81c3d78d5..eb056c02d6 100644 --- a/files/lang/launcher_fr.ts +++ b/files/lang/launcher_fr.ts @@ -1451,7 +1451,7 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Script à lancer après démarrage : - Controls the strength of the doppler effect. Zero means it is completely disabled. + <html><head/><body><p>Controls the strength of the Doppler effect. Zero means it is completely disabled.</p><p>The Doppler effect increases or decreases the pitch of sounds relative to the velocity of the sound source and the listener.</p></body></html> diff --git a/files/lang/launcher_ru.ts b/files/lang/launcher_ru.ts index 71bbbf4f4a..5af50f3fea 100644 --- a/files/lang/launcher_ru.ts +++ b/files/lang/launcher_ru.ts @@ -1463,12 +1463,12 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Использовать камеру как слушателя - Controls the strength of the doppler effect. Zero means it is completely disabled. + <html><head/><body><p>Controls the strength of the Doppler effect. Zero means it is completely disabled.</p><p>The Doppler effect increases or decreases the pitch of sounds relative to the velocity of the sound source and the listener.</p></body></html> Doppler Factor - + Множитель эффекта Доплера diff --git a/files/lang/launcher_sv.ts b/files/lang/launcher_sv.ts index ca822f55b8..db3b64521f 100644 --- a/files/lang/launcher_sv.ts +++ b/files/lang/launcher_sv.ts @@ -1467,7 +1467,7 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin <html><head/><body><p>Vid aktivering gör denna funktion att övergångarna mellan olika animationer och poser blir mycket mjukare. Funktionen gör det också möjligt att konfigurera animationsövergångarna i YAML-filer. Dessa filer kan buntas ihop tillsammans med nya animationsfiler.</p></body></html> - Controls the strength of the doppler effect. Zero means it is completely disabled. + <html><head/><body><p>Controls the strength of the Doppler effect. Zero means it is completely disabled.</p><p>The Doppler effect increases or decreases the pitch of sounds relative to the velocity of the sound source and the listener.</p></body></html> From aae21c6f53f64d83e0a68311dc454455d8b08322 Mon Sep 17 00:00:00 2001 From: epochwon Date: Wed, 30 Jul 2025 14:51:18 -0400 Subject: [PATCH 09/11] Get physics fps delta time from physics system --- apps/openmw/mwbase/world.hpp | 2 ++ apps/openmw/mwphysics/physicssystem.hpp | 4 ++-- apps/openmw/mwsound/openaloutput.cpp | 2 -- apps/openmw/mwsound/soundmanagerimp.cpp | 17 +++++------------ apps/openmw/mwworld/worldimp.cpp | 5 +++++ apps/openmw/mwworld/worldimp.hpp | 2 ++ 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/apps/openmw/mwbase/world.hpp b/apps/openmw/mwbase/world.hpp index f268ed0e52..9b2755ac8a 100644 --- a/apps/openmw/mwbase/world.hpp +++ b/apps/openmw/mwbase/world.hpp @@ -481,6 +481,8 @@ namespace MWBase virtual float getSunVisibility() const = 0; virtual float getSunPercentage() const = 0; + virtual float getPhysicsFrameRateDT() const = 0; + virtual bool findInteriorPositionInWorldSpace(const MWWorld::CellStore* cell, osg::Vec3f& result) = 0; /// Teleports \a ptr to the closest reference of \a id (e.g. DivineMarker, PrisonMarker, TempleMarker) diff --git a/apps/openmw/mwphysics/physicssystem.hpp b/apps/openmw/mwphysics/physicssystem.hpp index 546d72676e..e85fc23067 100644 --- a/apps/openmw/mwphysics/physicssystem.hpp +++ b/apps/openmw/mwphysics/physicssystem.hpp @@ -287,6 +287,8 @@ namespace MWPhysics void reportStats(unsigned int frameNumber, osg::Stats& stats) const; void reportCollision(const btVector3& position, const btVector3& normal); + float mPhysicsDt; + private: void updateWater(); @@ -330,8 +332,6 @@ namespace MWPhysics osg::ref_ptr mParentNode; - float mPhysicsDt; - std::size_t mSimulationsCounter = 0; std::array, 2> mSimulations; std::vector> mActorsPositions; diff --git a/apps/openmw/mwsound/openaloutput.cpp b/apps/openmw/mwsound/openaloutput.cpp index 58f78ac280..ed6e448645 100644 --- a/apps/openmw/mwsound/openaloutput.cpp +++ b/apps/openmw/mwsound/openaloutput.cpp @@ -1587,8 +1587,6 @@ namespace MWSound : SoundOutput(mgr) , mDevice(nullptr) , mContext(nullptr) - , mListenerPos(0.0f, 0.0f, 0.0f) - , mListenerVel(0.0f, 0.0f, 0.0f) , mListenerEnv(Env_Normal) , mWaterFilter(0) , mWaterEffect(0) diff --git a/apps/openmw/mwsound/soundmanagerimp.cpp b/apps/openmw/mwsound/soundmanagerimp.cpp index 3933af1523..de285e4b3b 100644 --- a/apps/openmw/mwsound/soundmanagerimp.cpp +++ b/apps/openmw/mwsound/soundmanagerimp.cpp @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include @@ -43,8 +42,6 @@ namespace MWSound constexpr float sSfxFadeOutDuration = 1.0f; constexpr float sSoundCullDistance = 2000.f; - float physicsFramerate = 60.f; - WaterSoundUpdaterSettings makeWaterSoundUpdaterSettings() { WaterSoundUpdaterSettings settings; @@ -142,13 +139,6 @@ namespace MWSound return; } - if (const char* env = getenv("OPENMW_PHYSICS_FPS")) - { - if (const auto physFramerate = Misc::StringUtils::toNumeric(env); - physFramerate.has_value() && *physFramerate > 0) - physicsFramerate = *physFramerate; - } - std::vector names = mOutput->enumerate(); std::stringstream stream; @@ -991,7 +981,9 @@ namespace MWSound { sound->setLastPosition(sound->getPosition()); sound->setPosition(ptr.getRefData().getPosition().asVec3()); - sound->setVelocity((sound->getPosition() - sound->getLastPosition()) * physicsFramerate); + MWBase::World* world = MWBase::Environment::get().getWorld(); + sound->setVelocity( + (sound->getPosition() - sound->getLastPosition()) / world->getPhysicsFrameRateDT()); } cull3DSound(sound); @@ -1031,7 +1023,8 @@ namespace MWSound sound->setLastPosition(sound->getPosition()); MWBase::World* world = MWBase::Environment::get().getWorld(); sound->setPosition(world->getActorHeadTransform(ptr).getTrans()); - sound->setVelocity((sound->getPosition() - sound->getLastPosition()) * physicsFramerate); + sound->setVelocity( + (sound->getPosition() - sound->getLastPosition()) / world->getPhysicsFrameRateDT()); } cull3DSound(sound); diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index eaa8799e84..1ed18a25af 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -3152,6 +3152,11 @@ namespace MWWorld return mWeatherManager->getSunPercentage(getTimeStamp().getHour()); } + float World::getPhysicsFrameRateDT() const + { + return mPhysics->mPhysicsDt; + } + bool World::findInteriorPositionInWorldSpace(const MWWorld::CellStore* cell, osg::Vec3f& result) { if (cell->isExterior()) diff --git a/apps/openmw/mwworld/worldimp.hpp b/apps/openmw/mwworld/worldimp.hpp index b1286d5532..c0a7c37b8f 100644 --- a/apps/openmw/mwworld/worldimp.hpp +++ b/apps/openmw/mwworld/worldimp.hpp @@ -576,6 +576,8 @@ namespace MWWorld float getSunVisibility() const override; float getSunPercentage() const override; + float getPhysicsFrameRateDT() const override; + bool findInteriorPositionInWorldSpace(const MWWorld::CellStore* cell, osg::Vec3f& result) override; /// Teleports \a ptr to the closest reference of \a id (e.g. DivineMarker, PrisonMarker, TempleMarker) From b792bc0ee2577ff5a3b9afe4e83bcadc81edc521 Mon Sep 17 00:00:00 2001 From: epochwon Date: Thu, 31 Jul 2025 11:14:08 -0400 Subject: [PATCH 10/11] fixes + russian line --- apps/openmw/mwbase/world.hpp | 2 +- apps/openmw/mwphysics/physicssystem.cpp | 8 ++++---- apps/openmw/mwsound/soundmanagerimp.cpp | 4 ++-- apps/openmw/mwworld/worldimp.cpp | 2 +- apps/openmw/mwworld/worldimp.hpp | 2 +- files/lang/launcher_ru.ts | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/openmw/mwbase/world.hpp b/apps/openmw/mwbase/world.hpp index 9b2755ac8a..88255e754c 100644 --- a/apps/openmw/mwbase/world.hpp +++ b/apps/openmw/mwbase/world.hpp @@ -481,7 +481,7 @@ namespace MWBase virtual float getSunVisibility() const = 0; virtual float getSunPercentage() const = 0; - virtual float getPhysicsFrameRateDT() const = 0; + virtual float getPhysicsFrameRateDt() const = 0; virtual bool findInteriorPositionInWorldSpace(const MWWorld::CellStore* cell, osg::Vec3f& result) = 0; diff --git a/apps/openmw/mwphysics/physicssystem.cpp b/apps/openmw/mwphysics/physicssystem.cpp index 5e7c70788d..2571448da2 100644 --- a/apps/openmw/mwphysics/physicssystem.cpp +++ b/apps/openmw/mwphysics/physicssystem.cpp @@ -93,9 +93,10 @@ namespace namespace MWPhysics { PhysicsSystem::PhysicsSystem(Resource::ResourceSystem* resourceSystem, osg::ref_ptr parentNode) - : mShapeManager( - std::make_unique(resourceSystem->getVFS(), resourceSystem->getSceneManager(), - resourceSystem->getNifFileManager(), Settings::cells().mCacheExpiryDelay)) + : mPhysicsDt(1.f / 60.f) + , mShapeManager(std::make_unique(resourceSystem->getVFS(), + resourceSystem->getSceneManager(), resourceSystem->getNifFileManager(), + Settings::cells().mCacheExpiryDelay)) , mResourceSystem(resourceSystem) , mDebugDrawEnabled(false) , mTimeAccum(0.0f) @@ -103,7 +104,6 @@ namespace MWPhysics , mWaterHeight(0) , mWaterEnabled(false) , mParentNode(std::move(parentNode)) - , mPhysicsDt(1.f / 60.f) { mResourceSystem->addResourceManager(mShapeManager.get()); diff --git a/apps/openmw/mwsound/soundmanagerimp.cpp b/apps/openmw/mwsound/soundmanagerimp.cpp index de285e4b3b..86631448a9 100644 --- a/apps/openmw/mwsound/soundmanagerimp.cpp +++ b/apps/openmw/mwsound/soundmanagerimp.cpp @@ -983,7 +983,7 @@ namespace MWSound sound->setPosition(ptr.getRefData().getPosition().asVec3()); MWBase::World* world = MWBase::Environment::get().getWorld(); sound->setVelocity( - (sound->getPosition() - sound->getLastPosition()) / world->getPhysicsFrameRateDT()); + (sound->getPosition() - sound->getLastPosition()) / world->getPhysicsFrameRateDt()); } cull3DSound(sound); @@ -1024,7 +1024,7 @@ namespace MWSound MWBase::World* world = MWBase::Environment::get().getWorld(); sound->setPosition(world->getActorHeadTransform(ptr).getTrans()); sound->setVelocity( - (sound->getPosition() - sound->getLastPosition()) / world->getPhysicsFrameRateDT()); + (sound->getPosition() - sound->getLastPosition()) / world->getPhysicsFrameRateDt()); } cull3DSound(sound); diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index 1ed18a25af..2e858324ec 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -3152,7 +3152,7 @@ namespace MWWorld return mWeatherManager->getSunPercentage(getTimeStamp().getHour()); } - float World::getPhysicsFrameRateDT() const + float World::getPhysicsFrameRateDt() const { return mPhysics->mPhysicsDt; } diff --git a/apps/openmw/mwworld/worldimp.hpp b/apps/openmw/mwworld/worldimp.hpp index c0a7c37b8f..ed41ed8263 100644 --- a/apps/openmw/mwworld/worldimp.hpp +++ b/apps/openmw/mwworld/worldimp.hpp @@ -576,7 +576,7 @@ namespace MWWorld float getSunVisibility() const override; float getSunPercentage() const override; - float getPhysicsFrameRateDT() const override; + float getPhysicsFrameRateDt() const override; bool findInteriorPositionInWorldSpace(const MWWorld::CellStore* cell, osg::Vec3f& result) override; diff --git a/files/lang/launcher_ru.ts b/files/lang/launcher_ru.ts index 5af50f3fea..f3c00360b4 100644 --- a/files/lang/launcher_ru.ts +++ b/files/lang/launcher_ru.ts @@ -1464,7 +1464,7 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov <html><head/><body><p>Controls the strength of the Doppler effect. Zero means it is completely disabled.</p><p>The Doppler effect increases or decreases the pitch of sounds relative to the velocity of the sound source and the listener.</p></body></html> - + <html><head/><body><p>Определяет силу эффекта Доплера. Нулевое значение означает, что эффект отключен полностью.</p><p>Эффект Доплера увеличивает или уменьшает высоту звуков в зависимости от скорости источника звука и слушателя.</p></body></html> Doppler Factor From 05d67ef4125fdac6e9c229e8de01faebb374520a Mon Sep 17 00:00:00 2001 From: epochwon Date: Fri, 1 Aug 2025 14:47:54 -0400 Subject: [PATCH 11/11] swedish lines --- files/lang/launcher_sv.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/files/lang/launcher_sv.ts b/files/lang/launcher_sv.ts index db3b64521f..c20b733c4e 100644 --- a/files/lang/launcher_sv.ts +++ b/files/lang/launcher_sv.ts @@ -1468,11 +1468,11 @@ de ordinarie fonterna i Morrowind. Bocka denna ruta om du ändå föredrar ordin <html><head/><body><p>Controls the strength of the Doppler effect. Zero means it is completely disabled.</p><p>The Doppler effect increases or decreases the pitch of sounds relative to the velocity of the sound source and the listener.</p></body></html> - + <html><head/><body><p>Kontrollerar styrkan på dopplereffekten. Noll innebär helt inaktiverat.</p><p>Dopplereffekten höjer eller sänker tonhöjden på ljud i förhållande till ljudkällans hastighet och lyssnaren.</p></body></html> Doppler Factor - + Dopplerfaktor