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
|
// Make sure that we don't have duplicate unlock IDs. This can cause problems
|
||||||
// with UnlockCelebrate and with codes.
|
// with UnlockCelebrate and with codes.
|
||||||
FOREACH_CONST( UnlockEntry, m_UnlockEntries, ue )
|
unsigned size = m_UnlockEntries.size();
|
||||||
FOREACH_CONST( UnlockEntry, m_UnlockEntries, ue2 )
|
for (unsigned i = 0; i < size - 1; ++i)
|
||||||
if( ue != ue2 )
|
{
|
||||||
ASSERT_M( ue->m_sEntryID != ue2->m_sEntryID, ssprintf("duplicate unlock entry id %s",ue->m_sEntryID.c_str()) );
|
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)
|
for (UnlockEntry &e : m_UnlockEntries)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user