summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/startup.cc
diff options
context:
space:
mode:
authorgammafunk <gammafunk@gmail.com>2014-06-14 08:22:47 -0500
committergammafunk <gammafunk@gmail.com>2014-06-25 20:50:43 -0500
commitf1909d2967591ffdf556ca62d31855aa09329ad8 (patch)
tree4f9750c458d4010af4ec1666ee28e37bb33fd25a /crawl-ref/source/startup.cc
parent90c77aa1b4edc6e6c1c008e5a3cc634e002ea253 (diff)
downloadcrawl-ref-f1909d2967591ffdf556ca62d31855aa09329ad8.tar.gz
crawl-ref-f1909d2967591ffdf556ca62d31855aa09329ad8.zip
objstat: Item and monster generation statistics
The -objstat command-line option will generate iterations of the given levels, compiling stats on every item and monster generated, and average the results over the iterations. It's only available in debug builds and uses the same map specification format as -mapstat. The default number of iterations is 100.
Diffstat (limited to 'crawl-ref/source/startup.cc')
-rw-r--r--crawl-ref/source/startup.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/crawl-ref/source/startup.cc b/crawl-ref/source/startup.cc
index 01d691e578..49b714f040 100644
--- a/crawl-ref/source/startup.cc
+++ b/crawl-ref/source/startup.cc
@@ -14,6 +14,7 @@
#include "ctest.h"
#include "database.h"
#include "dbg-maps.h"
+#include "dbg-scan.h"
#include "defines.h"
#include "dlua.h"
#include "dungeon.h"
@@ -118,8 +119,8 @@ static void _initialize()
// Draw the splash screen before the database gets initialised as that
// may take awhile and it's better if the player can look at a pretty
// screen while this happens.
- if (!crawl_state.map_stat_gen && !crawl_state.test
- && crawl_state.title_screen)
+ if (!crawl_state.map_stat_gen && !crawl_state.obj_stat_gen
+ && !crawl_state.test && crawl_state.title_screen)
{
tiles.draw_title();
tiles.update_title_msg("Loading databases...");
@@ -163,6 +164,12 @@ static void _initialize()
mapstat_generate_stats();
end(0, false);
}
+ else if (crawl_state.obj_stat_gen)
+ {
+ release_cli_signals();
+ objgen_generate_stats();
+ end(0, false);
+ }
#endif
if (!crawl_state.test_list)