//#define TESTING //By using the testing("message") proc you can create debug-feedback for people with this //uncommented, but not visible in the release version) //#define DATUMVAR_DEBUGGING_MODE //Enables the ability to cache datum vars and retrieve later for debugging which vars changed. // Comment this out if you are debugging problems that might be obscured by custom error handling in world/Error #ifdef DEBUG #define USE_CUSTOM_ERROR_HANDLER #endif #ifdef TESTING #define DATUMVAR_DEBUGGING_MODE ///Used to find the sources of harddels, quite laggy, don't be surpised if it freezes your client for a good while //#define REFERENCE_TRACKING #ifdef REFERENCE_TRACKING ///Used for doing dry runs of the reference finder, to test for feature completeness ///Slightly slower, higher in memory. Just not optimal //#define REFERENCE_TRACKING_DEBUG ///Run a lookup on things hard deleting by default. //#define GC_FAILURE_HARD_LOOKUP #ifdef GC_FAILURE_HARD_LOOKUP ///Don't stop when searching, go till you're totally done #define FIND_REF_NO_CHECK_TICK #endif //ifdef GC_FAILURE_HARD_LOOKUP #endif //ifdef REFERENCE_TRACKING /* * Enables debug messages for every single reaction step. This is 1 message per 0.5s for a SINGLE reaction. Useful for tracking down bugs/asking me for help in the main reaction handiler (equilibrium.dm). * * * Requires TESTING to be defined to work. */ //#define REAGENTS_TESTING #define VISUALIZE_ACTIVE_TURFS //Highlights atmos active turfs in green #define TRACK_MAX_SHARE //Allows max share tracking, for use in the atmos debugging ui #endif //ifdef TESTING /// If this is uncommented, we set up the ref tracker to be used in a live environment /// And to log events to [log_dir]/harddels.log //#define REFERENCE_DOING_IT_LIVE #ifdef REFERENCE_DOING_IT_LIVE // compile the backend #define REFERENCE_TRACKING // actually look for refs #define GC_FAILURE_HARD_LOOKUP #endif // REFERENCE_DOING_IT_LIVE //#define UNIT_TESTS //If this is uncommented, we do a single run though of the game setup and tear down process with unit tests in between /// If this is uncommented, Autowiki will generate edits and shut down the server. /// Prefer the autowiki build target instead. // #define AUTOWIKI /// If this is uncommented, will profile mapload atom initializations // #define PROFILE_MAPLOAD_INIT_ATOM /// If this is uncommented, force our verb processing into just the 2% of a tick /// We normally reserve for it /// NEVER run this on live, it's for simulating highpop only // #define VERB_STRESS_TEST #ifdef VERB_STRESS_TEST /// Uncomment this to force all verbs to run into overtime all of the time /// Essentially negating the reserve 2% // #define FORCE_VERB_OVERTIME #warn Hey brother, you're running in LAG MODE. #warn IF YOU PUT THIS ON LIVE I WILL FIND YOU AND MAKE YOU WISH YOU WERE NEVE- #endif #ifndef PRELOAD_RSC //set to: #define PRELOAD_RSC 2 // 0 to allow using external resources or on-demand behaviour; #endif // 1 to use the default behaviour; // 2 for preloading absolutely everything; #ifdef LOWMEMORYMODE #define FORCE_MAP "runtimestation" #define FORCE_MAP_DIRECTORY "_maps" #endif //Update this whenever you need to take advantage of more recent byond features #define MIN_COMPILER_VERSION 514 #define MIN_COMPILER_BUILD 1557 //SKYRAT EDIT CHANGE - Compiler failure due to insufficent memory when running previous builds. #if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM) //Don't forget to update this part #error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update. #error You need version 514.1556 or higher #endif #if (DM_VERSION == 514 && DM_BUILD > 1575 && DM_BUILD <= 1577) #error Your version of BYOND currently has a crashing issue that will prevent you from running Dream Daemon test servers. #error We require developers to test their content, so an inability to test means we cannot allow the compile. #error Please consider downgrading to 514.1575 or lower. #endif //Additional code for the above flags. #ifdef TESTING #warn compiling in TESTING mode. testing() debug messages will be visible. #endif #ifdef CIBUILDING #define UNIT_TESTS #endif #ifdef CITESTING #define TESTING #endif #if defined(UNIT_TESTS) //Hard del testing defines #define REFERENCE_TRACKING #define REFERENCE_TRACKING_DEBUG #define FIND_REF_NO_CHECK_TICK #define GC_FAILURE_HARD_LOOKUP #endif #ifdef TGS // TGS performs its own build of dm.exe, but includes a prepended TGS define. #define CBT #endif // A reasonable number of maximum overlays an object needs // If you think you need more, rethink it #define MAX_ATOM_OVERLAYS 100 #if !defined(CBT) && !defined(SPACEMAN_DMM) #warn Building with Dream Maker is no longer supported and will result in errors. #warn In order to build, run BUILD.bat in the root directory. #warn Consider switching to VSCode editor instead, where you can press Ctrl+Shift+B to build. #endif