Files
mcpe/source/client/sound/SoundRepository.cpp
Brent 5c1ea03747 Logging cleanup (#69)
* Mac OS X 10.6 & More C++03 Support

* Fix SDL2 options.txt loading for C++03

* Output/Logging Overhaul
* Added StandardOut class
* Renamed LOGX macros to LOG_X
* Removed LogMsg macros in favor of LOG_X
* Added console window for debug Windows builds

* Updated Xcode Project
+ StandardOut.hpp
+ StandardOut.cpp

* StandardOut_windows
* Replaced the Windows #ifdefs in StandardOut with StandardOut_windows

---------

Co-authored-by: Brent Da Mage <BrentDaMage@users.noreply.github.com>
2023-08-28 10:55:41 +03:00

44 lines
1.2 KiB
C++

/********************************************************************
Minecraft: Pocket Edition - Decompilation Project
Copyright (C) 2023 iProgramInCpp
The following code is licensed under the BSD 1 clause license.
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#include "SoundRepository.hpp"
#include "common/Utils.hpp"
#include "common/Mth.hpp"
void SoundRepository::add(const std::string& name, SoundDesc& sd)
{
std::map<std::string, std::vector<SoundDesc> >::iterator iter = m_repo.find(name);
if (iter == m_repo.end())
{
std::vector<SoundDesc> sdv;
sdv.push_back(sd);
m_repo.insert(std::pair<std::string, std::vector<SoundDesc> >(name, sdv));
}
else
{
iter->second.push_back(sd);
}
}
bool SoundRepository::get(const std::string& name, SoundDesc& sd)
{
// TODO: Who's the genius who decided it'd be better to check a name string rather than an enum?
std::map<std::string, std::vector<SoundDesc> >::iterator iter = m_repo.find(name);
if (iter == m_repo.end())
{
LOG_E("Couldn't find a sound with id: %s", name.c_str());
return false;
}
int index = Mth::random(int(iter->second.size()));
sd = iter->second[index];
return true;
}