#ifndef BG_ENGINE_H #define BG_ENGINE_H #include "global_frame_controller.h" #include "sprite_data.h" #include "text_engine.h" // This order does matter, as if two backgrounds are on the same layer, // the lowest number will be the one that is displayed #define BG_BACKDROP REG_BG0CNT #define BG_FLEX REG_BG1CNT #define BG_TEXTBOX REG_BG2CNT #define BG_TEXT REG_BG3CNT void background_frame(int global_frame_count); /** * @brief This function draws the textbox (=copies the tiles) for a specific text table and text * key. Each text table entry could have a different type of textbox associated with it. This * function will look up the textbox type for the given text table and text key, and then draw the * textbox accordingly. */ void create_textbox(int text_section, int text_key, bool eraseMainBox); /** * @brief Given the textbox type, this function draws it (=copies the tiles). */ void create_textbox(u8 textbox_type, bool eraseMainBox); /** * @brief This function draws a textbox at the specified tile coordinates, with the specified text * space dimensions. This is the most low-level version of the create_textbox function, and it * doesn't do any lookup for textbox types. It just draws a textbox with the given parameters. */ void create_textbox( int startTileX, int startTileY, int text_space_width, int text_space_height, bool eraseMainBox); void show_textbox(); void hide_textbox(); #endif