mirror of
https://github.com/celisej567/mcpe.git
synced 2025-12-31 17:49:17 +03:00
* 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>
44 lines
1.2 KiB
C++
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;
|
|
}
|