mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-01 03:21:41 +00:00
65cdd489fb
Fixed some types removed useless header applied clang format fixed compile tests fixed clang tidy, and closer to logic before this MR Removed hardcoded refids unless there is a returned value we don't use static RefIds can use == between RefId and hardcoded string Fix clang format Fixed a few instances where std::string was used, when only const std::string& was needed removed unused variable
53 lines
1.1 KiB
C++
53 lines
1.1 KiB
C++
#ifndef GAME_SOUND_WATERSOUNDUPDATER_H
|
|
#define GAME_SOUND_WATERSOUNDUPDATER_H
|
|
|
|
#include "components/esm/refid.hpp"
|
|
#include <string>
|
|
|
|
namespace MWBase
|
|
{
|
|
class World;
|
|
}
|
|
|
|
namespace MWWorld
|
|
{
|
|
class ConstPtr;
|
|
}
|
|
|
|
namespace MWSound
|
|
{
|
|
struct WaterSoundUpdaterSettings
|
|
{
|
|
int mNearWaterRadius;
|
|
int mNearWaterPoints;
|
|
float mNearWaterIndoorTolerance;
|
|
float mNearWaterOutdoorTolerance;
|
|
ESM::RefId mNearWaterIndoorID;
|
|
ESM::RefId mNearWaterOutdoorID;
|
|
};
|
|
|
|
struct WaterSoundUpdate
|
|
{
|
|
ESM::RefId mId;
|
|
float mVolume;
|
|
};
|
|
|
|
class WaterSoundUpdater
|
|
{
|
|
public:
|
|
explicit WaterSoundUpdater(const WaterSoundUpdaterSettings& settings);
|
|
|
|
WaterSoundUpdate update(const MWWorld::ConstPtr& player, const MWBase::World& world) const;
|
|
|
|
void setUnderwater(bool value) { mListenerUnderwater = value; }
|
|
|
|
private:
|
|
const WaterSoundUpdaterSettings mSettings;
|
|
bool mListenerUnderwater = false;
|
|
|
|
float getVolume(const MWWorld::ConstPtr& player, const MWBase::World& world) const;
|
|
};
|
|
}
|
|
|
|
#endif
|