#ifndef LCD_H_ #define LCD_H_ #include "objects.h" struct bg_config { u32 id : 2; u32 char_base : 2; u32 map_base : 5; u32 size: 2; u32 colormode : 1; u32 priority : 2; }; u8 gpu_copy_to_vram_by_bgid(u8 bg_id, void* source, u16 byte_size, u16 start_tile, u8 mode); void gpu_init_bgs(); void gpu_tile_bg_drop_all_sets(u8 bg); void bg_vram_setup(u8 mirror, struct bg_config* configs, u8 count); void bg_set_tilemap(u8 bg_id, void* tilemap); void bg_nullify_tilemap(u8 bg_id); void* bg_get_tilemap(u8 bg_id); void bg_send_tilemap(u8 bg_id); void wram_decompress(void* src, void* dst); void pal_decompress_slice_to_faded_and_unfaded(void* src, u16 start, u16 end); void gpu_bg_show(u8 id); void gpu_bg_hide(u8 id); void gpu_sync_bg_visibility_and_mode(); void lcd_io_set_func(u8 id, u16 value); void gpu_pal_upload(); void gpu_sprites_upload(); void gpu_pal_obj_alloc_tag_and_apply(resource *pal); void gpu_pal_free_by_tag(u16 tag); void gpu_tile_obj_free_by_tag(u16 tag); void obj_delete_and_free_tiles(object *obj); void obj_delete_all(); u16 lcd_io_get(u8 id); #define palette_unfaded_buffer ((void*)0x020371F8) #define palette_faded_buffer ((void*)0x020375F8) #endif