# How to create custom configurations 1. Create folder with name of custom configuration 1. Add `jabyengine_custom_config.hpp` to folder 1. Follow [guidelines](#jabyengine_custom_confighpp) 1. Build JabyEngine and select your configuration 1. Build your application and select your configuration ## jabyengine_custom_config.hpp ### Default configuration file ```c++ // Fix IntelliSense #include "../dummy_default_config.hpp" // Overwrite various configurations struct CustomConfiguration : public DefaultConfiguration { }; // Define macros here ``` ### `CustomConfiguration` options When overriding an option make sure to mark the function as `override` ```c++ struct DefaultConfiguration { struct BIOSFont { // VRAM position and CLUT position to load the BIOS font too static constexpr GPU::PositionU16 texture_load_pos(); static constexpr GPU::PositionU16 CLUT_load_pos(); }; struct Periphery { // Turns on the second controller port and enables multi tap support static constexpr bool include_portB(); static constexpr bool use_multi_tap(); }; }; ``` ### `CustomConfiguration` macros ```c++ #define __USE_DEBUG_COLOR__ // Turns on colored rectangles during boot ```