Skip to content

Commit

Permalink
World: Log a separate warning for each unknown material
Browse files Browse the repository at this point in the history
Now that the warnings produce collated alerts it is better to log
each unknown material encountered during map conversion separately.
  • Loading branch information
danij-deng committed Jan 15, 2014
1 parent 681410a commit 95e2230
Showing 1 changed file with 9 additions and 15 deletions.
24 changes: 9 additions & 15 deletions doomsday/client/src/world/api_mapedit.cpp
Expand Up @@ -62,13 +62,13 @@ static StringPool *materialDict;
* material dictionary.
*
* @param internId Unique id associated with the reference.
* @param parameters If a uint pointer operate in "count" mode (total written
* @param context If a uint pointer operate in "count" mode (total written
* here). Else operate in "print" mode.
* @return Always @c 0 (for use as an iterator).
*/
static int printMissingMaterialWorker(StringPool::Id internId, void *parameters)
static int printMissingMaterialWorker(StringPool::Id internId, void *context)
{
int *count = (int *)parameters;
int *count = (int *)context;

// A valid id?
if(materialDict->string(internId))
Expand All @@ -87,10 +87,11 @@ static int printMissingMaterialWorker(StringPool::Id internId, void *parameters)
// Print mode.
int const refCount = materialDict->userValue(internId);
String const &materialUri = materialDict->string(internId);
LOG_MSG(" %4i x \"%s\"") << refCount << materialUri;
LOG_RES_WARNING("Found %4i x unknown material \"%s\"") << refCount << materialUri;
}
}
}

return 0; // Continue iteration.
}

Expand All @@ -111,17 +112,10 @@ static void clearMaterialDict()
*/
static void printMissingMaterialsInDict()
{
// Initialized?
if(!materialDict) return;

// Count missing materials.
int numMissing = 0;
materialDict->iterate(printMissingMaterialWorker, &numMissing);
if(!numMissing) return;

LOG_WARNING("Found %i unknown %s:") << numMissing << (numMissing == 1? "material":"materials");
// List the missing materials.
materialDict->iterate(printMissingMaterialWorker, 0);
if(materialDict)
{
materialDict->iterate(printMissingMaterialWorker);
}
}

/**
Expand Down

0 comments on commit 95e2230

Please sign in to comment.