Merge branch 'deadcode' into 'master'

GC some unused code, simplify some other

See merge request OpenMW/openmw!820
pull/593/head
elsid 4 years ago
commit 00de80c884

@ -8,28 +8,11 @@
#include <components/loadinglistener/loadinglistener.hpp> #include <components/loadinglistener/loadinglistener.hpp>
#include <components/misc/rng.hpp> #include <components/misc/rng.hpp>
#include <iterator>
#include <stdexcept> #include <stdexcept>
namespace namespace
{ {
template<typename T>
class GetRecords
{
const std::string mFind;
std::vector<const T*> *mRecords;
public:
GetRecords(const std::string &str, std::vector<const T*> *records)
: mFind(Misc::StringUtils::lowerCase(str)), mRecords(records)
{ }
void operator()(const T *item)
{
if(Misc::StringUtils::ciCompareLen(mFind, item->mId, mFind.size()) == 0)
mRecords->push_back(item);
}
};
struct Compare struct Compare
{ {
bool operator()(const ESM::Land *x, const ESM::Land *y) { bool operator()(const ESM::Land *x, const ESM::Land *y) {
@ -169,7 +152,11 @@ namespace MWWorld
const T *Store<T>::searchRandom(const std::string &id) const const T *Store<T>::searchRandom(const std::string &id) const
{ {
std::vector<const T*> results; std::vector<const T*> results;
std::for_each(mShared.begin(), mShared.end(), GetRecords<T>(id, &results)); std::copy_if(mShared.begin(), mShared.end(), std::back_inserter(results),
[&id](const T* item)
{
return Misc::StringUtils::ciCompareLen(id, item->mId, id.size()) == 0;
});
if(!results.empty()) if(!results.empty())
return results[Misc::Rng::rollDice(results.size())]; return results[Misc::Rng::rollDice(results.size())];
return nullptr; return nullptr;
@ -186,17 +173,6 @@ namespace MWWorld
return ptr; return ptr;
} }
template<typename T> template<typename T>
const T *Store<T>::findRandom(const std::string &id) const
{
const T *ptr = searchRandom(id);
if(ptr == nullptr)
{
const std::string msg = T::getRecordType() + " starting with '" + id + "' not found";
throw std::runtime_error(msg);
}
return ptr;
}
template<typename T>
RecordId Store<T>::load(ESM::ESMReader &esm) RecordId Store<T>::load(ESM::ESMReader &esm)
{ {
T record; T record;

@ -179,10 +179,6 @@ namespace MWWorld
const T *find(const std::string &id) const; const T *find(const std::string &id) const;
/** Returns a random record that starts with the named ID. An exception is thrown if none
* are found. */
const T *findRandom(const std::string &id) const;
iterator begin() const; iterator begin() const;
iterator end() const; iterator end() const;

Loading…
Cancel
Save