1 #pragma once
2 
3 // =========================================================================
4 //  Debugging Defines
5 // =========================================================================
6 #ifdef FULLDEBUG
7     // Bounds checking and asserts
8     #ifndef DEBUG
9     #define DEBUG
10     #endif
11 
12     // Outputs many "hidden" details, defaults to wizard on.
13     #define DEBUG_DIAGNOSTICS
14     #define DEBUG_MONINDEX
15 
16     // Scan for bad items before every input (may be slow)
17     //
18     // This function might slow things down quite a bit
19     // on slow machines because it's going to go through
20     // every item on the level and do string comparisons
21     // against the name. Still, it is nice to know the
22     // turn in which "bad" items appear.
23     #define DEBUG_ITEM_SCAN
24     #define DEBUG_MONS_SCAN
25 
26     #define DEBUG_BONES
27 #endif
28 
29 // on by default (and has been for ~10 years)
30 #define DEBUG_ITEM_SCAN
31 
32 #ifdef _DEBUG       // this is how MSVC signals a debug build
33     #ifndef DEBUG
34     #define DEBUG
35     #endif
36 #endif
37 
38 #ifdef DEBUG
39     #ifdef __MWERKS__
40         #define MSIPL_DEBUG_MODE
41     #endif
42 #else
43     #if !defined(NDEBUG)
44         #define NDEBUG                  // used by <assert.h>
45     #endif
46 #endif
47 
48 #ifdef DEBUG_DIAGNOSTICS
49     #define DEBUG_TESTS
50     #define DEBUG_MONSPEAK
51     #define DEBUG_STATISTICS
52 #endif
53 
54 #ifdef DEBUG_MONSPEAK
55     // ensure dprf is available
56     #define DEBUG_DIAGNOSTICS
57 #endif
58