Make this O(n / 2). Or something like that.
This is designed to be transplantable.
This commit is contained in:
+12
-4
@@ -564,10 +564,18 @@ void UnlockManager::Load()
|
||||
|
||||
// Make sure that we don't have duplicate unlock IDs. This can cause problems
|
||||
// with UnlockCelebrate and with codes.
|
||||
FOREACH_CONST( UnlockEntry, m_UnlockEntries, ue )
|
||||
FOREACH_CONST( UnlockEntry, m_UnlockEntries, ue2 )
|
||||
if( ue != ue2 )
|
||||
ASSERT_M( ue->m_sEntryID != ue2->m_sEntryID, ssprintf("duplicate unlock entry id %s",ue->m_sEntryID.c_str()) );
|
||||
unsigned size = m_UnlockEntries.size();
|
||||
for (unsigned i = 0; i < size - 1; ++i)
|
||||
{
|
||||
UnlockEntry const &ue1 = m_UnlockEntries[i];
|
||||
for (unsigned j = i + 1; j < size; ++j)
|
||||
{
|
||||
UnlockEntry const &ue2 = m_UnlockEntries[j];
|
||||
// at this point, these two are definitely different. Assert.
|
||||
ASSERT_M( ue1.m_sEntryID != ue2.m_sEntryID, ssprintf("duplicate unlock entry id %s", ue1.m_sEntryID.c_str()));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
for (UnlockEntry &e : m_UnlockEntries)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user