client almost builds

This commit is contained in:
d1str4ught
2025-08-19 00:20:40 +02:00
parent 4be475f111
commit be56f3f31a
1090 changed files with 126610 additions and 14032 deletions

View File

@@ -0,0 +1,108 @@
#include "Stdafx.h"
#include "SoundSample.hpp"
#include "../EterBase/Debug.h"
#include "../EterBase/Timer.h"
#include "../EterBase/Utils.h"
SoundSample::SoundSample(HSAMPLE sample) : m_sample(sample)
{
}
SoundSample::SoundSample(SoundSample &&other) : m_sample(other.m_sample), m_sampleFile(std::move(other.m_sampleFile))
{
other.m_sample = nullptr;
other.m_sampleFile.reset();
}
SoundSample::~SoundSample()
{
if (m_sample)
{
AIL_release_sample_handle(m_sample);
m_sample = nullptr;
}
}
SoundSample &SoundSample::operator=(SoundSample &&other)
{
if (this == &other)
return *this;
if (m_sample)
AIL_release_sample_handle(m_sample);
m_sample = other.m_sample;
other.m_sample = nullptr;
m_sampleFile = std::move(other.m_sampleFile);
return *this;
}
bool SoundSample::SetFile(SampleFilePtr sample)
{
if (!AIL_set_named_sample_file(m_sample, sample->GetFilename().c_str(), sample->GetData(), sample->GetSize(), 0))
{
Tracenf("%s: %s", sample->GetFilename().c_str(), AIL_last_error());
return false;
}
m_sampleFile = std::move(sample);
return true;
}
bool SoundSample::IsDone() const
{
return AIL_sample_status(m_sample) == SMP_DONE;
}
void SoundSample::Play(int loopCount) const
{
//AIL_set_sample_3D_distances(m_sample, 5000.0f, -1.0f, 0);
AIL_set_sample_loop_count(m_sample, loopCount);
AIL_start_sample(m_sample);
}
void SoundSample::Pause() const
{
AIL_stop_sample(m_sample);
}
void SoundSample::Resume() const
{
AIL_resume_sample(m_sample);
}
void SoundSample::Stop() const
{
AIL_end_sample(m_sample);
}
float SoundSample::GetVolume() const
{
float volume;
AIL_sample_volume_pan(m_sample, &volume, nullptr);
return volume;
}
void SoundSample::SetVolume(float volume) const
{
volume = std::max<float>(0.0f, std::min<float>(1.0f, volume));
AIL_set_sample_volume_pan(m_sample, volume, 0.5f);
}
void SoundSample::SetPosition(float x, float y, float z) const
{
//AIL_set_sample_3D_position(m_sample, x, y, -z);
// AIL_set_sample_is_3D(m_sample, FALSE);
}
void SoundSample::SetVelocity(float fDistanceX, float fDistanceY, float fDistanceZ, float fNagnitude) const
{
AIL_set_sample_3D_velocity(m_sample, fDistanceX, fDistanceY, fDistanceZ, fNagnitude);
}
void SoundSample::UpdatePosition(float fElapsedTime)
{
AIL_update_sample_3D_position(m_sample, fElapsedTime);
}