Pokemon-Gen3-to-Gen-X/include/print_system.h
2023-04-09 01:27:03 +02:00

65 lines
1.5 KiB
C

#ifndef PRINT_SYSTEM__
#define PRINT_SYSTEM__
#define PRINT_FUNCTION fast_printf
#define X_LIMIT (SCREEN_WIDTH>>3)
#define Y_LIMIT (SCREEN_HEIGHT>>3)
#define SCREEN_REAL_WIDTH 0x100
#define SCREEN_REAL_HEIGHT 0x100
#define X_SIZE (SCREEN_REAL_WIDTH>>3)
#define Y_SIZE (SCREEN_REAL_HEIGHT>>3)
#define SCREEN_HALF_X (X_LIMIT>>1)
#define PALETTE 0xF
#define HSWAP_TILE 0x400
#define VSWAP_TILE 0x800
#define TOTAL_BG 4
#define DEFAULT_BPP 4
#define BITS_PER_BYTE 8
#define TILE_X_PIXELS 8
#define TILE_Y_PIXELS 8
#define DEFAULT_TILE_ROW_SIZE ((DEFAULT_BPP*TILE_X_PIXELS)/BITS_PER_BYTE)
#define TILE_SIZE (DEFAULT_TILE_ROW_SIZE*TILE_Y_PIXELS)
#define REGULAR_FILL 0
#define BLANK_FILL 1
int fast_printf(const char *, ...);
typedef u16 screen_t;
void init_numbers(void);
void default_reset_screen(void);
void reset_screen(u8);
void set_text_x(u8);
void set_text_y(u8);
u8 get_text_x(void);
u8 get_text_y(void);
void swap_screen_enabled_state(u8);
void enable_screen(u8);
void disable_screen(u8);
void swap_buffer_screen(u8, u8);
void disable_all_screens_but_current(void);
void set_bg_pos(u8, int, int);
screen_t* get_screen(u8 bg_num);
#ifdef __NDS__
screen_t* get_screen_sub(u8 bg_num);
#endif
u8 get_screen_num(void);
void set_screen(u8);
void init_text_system(void);
void prepare_flush(void);
void set_updated_screen(void);
void flush_screens(void);
void wait_for_vblank_if_needed(void);
u8 get_bg_priority(u8);
u8 get_curr_priority(void);
u8 get_loaded_priority(void);
void set_text_palettes(void);
#endif