Fixed regression caused by not understanding my code
This was SVN commit r2457.
This commit is contained in:
parent
580d0c7892
commit
e84b8bd017
@ -36,8 +36,12 @@ CObjectEntry::~CObjectEntry()
|
||||
delete m_Model;
|
||||
}
|
||||
|
||||
bool CObjectEntry::BuildRandomVariant(const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator vars_it)
|
||||
bool CObjectEntry::BuildRandomVariant(const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator& vars_it)
|
||||
{
|
||||
// vars_it is passed by reference so that the caller's iterator
|
||||
// can be incremented by the appropriate amount, to point to the
|
||||
// next object's set of variant choices (for propped models).
|
||||
|
||||
CStr chosenTexture;
|
||||
CStr chosenModel;
|
||||
CStr chosenColor;
|
||||
@ -62,7 +66,7 @@ bool CObjectEntry::BuildRandomVariant(const CObjectBase::variation_key& vars, CO
|
||||
u8 var_id = *vars_it++;
|
||||
if (var_id < 0 || var_id >= grp->size())
|
||||
{
|
||||
LOG(ERROR, LOG_CATEGORY, "Internal error (BuildRandomVariant: %d not in 0..%d", var_id, grp->size()-1);
|
||||
LOG(ERROR, LOG_CATEGORY, "Internal error (BuildRandomVariant: %d not in 0..%d)", var_id, grp->size()-1);
|
||||
continue;
|
||||
}
|
||||
CObjectBase::Variant& var ((*grp)[var_id]);
|
||||
|
@ -18,7 +18,7 @@ public:
|
||||
CObjectEntry(int type, CObjectBase* base);
|
||||
~CObjectEntry();
|
||||
|
||||
bool BuildRandomVariant(const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator vars_it);
|
||||
bool BuildRandomVariant(const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator& vars_it);
|
||||
|
||||
// Base actor. Contains all the things that don't change between
|
||||
// different variations of the actor.
|
||||
|
@ -105,7 +105,7 @@ CObjectEntry* CObjectManager::FindObject(const char* objname)
|
||||
return FindObjectVariation(base, var, vars_it);
|
||||
}
|
||||
|
||||
CObjectEntry* CObjectManager::FindObjectVariation(const char* objname, const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator vars_it)
|
||||
CObjectEntry* CObjectManager::FindObjectVariation(const char* objname, const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator& vars_it)
|
||||
{
|
||||
CObjectBase* base = FindObjectBase(objname);
|
||||
|
||||
@ -115,7 +115,7 @@ CObjectEntry* CObjectManager::FindObjectVariation(const char* objname, const COb
|
||||
return FindObjectVariation(base, vars, vars_it);
|
||||
}
|
||||
|
||||
CObjectEntry* CObjectManager::FindObjectVariation(CObjectBase* base, const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator vars_it)
|
||||
CObjectEntry* CObjectManager::FindObjectVariation(CObjectBase* base, const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator& vars_it)
|
||||
{
|
||||
// Look to see whether this particular variation has already been loaded
|
||||
|
||||
|
@ -67,8 +67,8 @@ public:
|
||||
|
||||
CObjectBase* FindObjectBase(const char* objname);
|
||||
|
||||
CObjectEntry* FindObjectVariation(const char* objname, const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator vars_it);
|
||||
CObjectEntry* FindObjectVariation(CObjectBase* base, const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator vars_it);
|
||||
CObjectEntry* FindObjectVariation(const char* objname, const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator& vars_it);
|
||||
CObjectEntry* FindObjectVariation(CObjectBase* base, const CObjectBase::variation_key& vars, CObjectBase::variation_key::const_iterator& vars_it);
|
||||
|
||||
// Get all names, quite slowly. (Intended only for ScEd.)
|
||||
void GetAllObjectNames(std::vector<CStr>& names);
|
||||
|
Loading…
Reference in New Issue
Block a user