#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. // #define NDEBUG // Fire Red likely forgot to define NDEBUG/NOAGBPRN before release, leading // to the inclusion of asserts in the retail ROM. #ifndef NDEBUG #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_MINI_PRINTF) // 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_MGBA_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 // Generation constants used in configs to define behavior #define GEN_1 0 #define GEN_2 1 #define GEN_3 2 #define GEN_4 3 #define GEN_5 4 #define GEN_6 5 #define GEN_7 6 #define GEN_8 7 #define GEN_9 8 #define GEN_LATEST GEN_9 #endif // GUARD_CONFIG_H