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