#ifndef GUARD_CONFIG_H #define GUARD_CONFIG_H #include "global.h" // In the Generation 3 games, Asserts were used in various debug builds. // Ruby/Sapphire and Emerald do not have these asserts while Fire Red // still has them in the ROM. This is because the developers forgot // to define NDEBUG before release, however this has been changed as // Ruby's actual debug build does not use the AGBPrint features. // Revision 10 disabled asserts in some other way, comment out NDEBUG there to bring them back. #if REVISION >= 0xA #define NDEBUG #endif // Fire Red likely forgot to define NDEBUG/NOAGBPRN before release, leading // to the inclusion of asserts in the retail ROM. // Revision 10 disabled asserts in some other way, but isagbprint/etc is still present there. #if !defined(NDEBUG) || REVISION >= 0xA #define PRETTY_PRINT_OFF (0) #define PRETTY_PRINT_MINI_PRINTF (1) #define PRETTY_PRINT_LIBC (2) #define LOG_HANDLER_AGB_PRINT (0) #define LOG_HANDLER_NOCASH_PRINT (1) #define LOG_HANDLER_MGBA_PRINT (2) // Use this switch to choose a handler for pretty printing. // NOTE: mini_printf supports a custom pretty printing formatter to display preproc encoded strings. (%S) // some libc distributions (especially dkp arm-libc) will fail to link pretty printing. #define PRETTY_PRINT_HANDLER (PRETTY_PRINT_OFF) // Use this switch to choose a handler for printf output. // NOTE: These will only work on the respective emulators and should not be used in a productive environment. // Some emulators or real hardware might (and is allowed to) crash if they are used. // AGB_PRINT is supported on respective debug units. #define LOG_HANDLER (LOG_HANDLER_AGB_PRINT) #endif // NDEBUG // Define the game version for use elsewhere #if defined(FIRERED) #define GAME_VERSION VERSION_FIRE_RED #else // Default version seems to be LeafGreen #define GAME_VERSION VERSION_LEAF_GREEN #endif // GAME_VERSION // rev1 renamed the source folder for reasons #if REVISION == 0 #define CODE_ROOT "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/" #else #define CODE_ROOT "C:/WORK/POKeFRLG/Src/pm_lgfr_ose/source/" #endif // REVISION #define ABSPATH(x) (CODE_ROOT x) #ifdef ENGLISH #define UNITS_IMPERIAL #else #define UNITS_METRIC #endif // ENGLISH // Crashes may occur due to section reordering in the modern build, // so we force BUGFIX here. #if MODERN #ifndef BUGFIX #define BUGFIX #endif // BUGFIX #ifndef UBFIX #define UBFIX #endif // UBFIX #endif // MODERN #endif // GUARD_CONFIG_H