// reset screen attributes void setup() { // callbacks vblank_handler_set(0); hblank_handler_set(0); set_callback2((super_callback)0x812EB11); // BGs overworld_free_bgmaps(); gpu_tile_bg_drop_all_sets(0); int src_zero = 0; CpuSet(&src_zero, (void *)0x6000000, (uint)0x5006000); // pals pal_fade_control_and_dead_struct_reset(); palette_bg_faded_fill_black(); pal_fade_control_and_dead_struct_reset(); gpu_pal_allocator_reset(); *gpu_pal_tag_search_lower_boundary = 0; // objs obj_and_aux_reset_all(); // tasks tasks_init(); // more BG setup superstate.callback_vblank = vblank_cb; setup_ioregs_bg(); bgid_mod_x_offset(0, 0, 0); bgid_mod_y_offset(0, 0, 0); bgid_mod_x_offset(1, 0, 0); bgid_mod_y_offset(1, 0, 0); bgid_mod_x_offset(2, 0, 0); bgid_mod_y_offset(2, 0, 0); bgid_mod_x_offset(3, 0, 0); bgid_mod_y_offset(3, 0, 0); remoboxes_acknowledge(); rboxes_free(); }
void trainerschool_test_init_components(){ generic_callback1(); if(!fading_is_active()){ //init gfx and stuff big_callback_delete_all(); oam_reset(); oam_palette_allocation_reset(); bg_reset(0); bg_setup(0, trainerschool_test_bg_configs, 3); bg_sync_display_and_show(0); bg_sync_display_and_show(1); bg_sync_display_and_show(2); bg_display_sync(); bg_virtual_map_displace(0, 0, 0); bg_virtual_set_displace(0, 0, 0); bg_virtual_map_displace(1, 0, 0); bg_virtual_set_displace(1, 0, 0); bg_virtual_map_displace(2, 0, 0); bg_virtual_set_displace(2, 0, 0); io_set(0x10, 0); io_set(0x12, 4); io_set(0x14, 0); io_set(0x16, 0); io_set(0x18, 0); io_set(0x1A, 0); void *bg0map = malloc_and_clear(0x800); void *bg1map = malloc_and_clear(0x800); void *bg2map = malloc_and_clear(0x800); bg_set_tilemap(0, bg0map); bg_set_tilemap(1, bg1map); bg_set_tilemap(2, bg2map); lz77uncompwram(gfx_trainerschool_paperMap, bg2map); lz77uncompvram(gfx_trainerschool_paperTiles, (void*) 0x06000000); lz77uncompvram(gfx_trainerschool_page_0Tiles, (void*) 0x06004000); bg_copy_vram(0, bg0map, 0x800, 0, 2); bg_copy_vram(1, bg1map, 0x800, 0, 2); bg_copy_vram(2, bg2map, 0x800, 0, 2); pal_decompress(gfx_trainerschool_paperPal, 0, 32); u8 pal_id = oam_allocate_palette(0xA0E0); pal_decompress(gfx_trainerschool_correctPal, (u16)(256 + pal_id * 16), 32); pal_set_all_to_black(); //we avoid the 1frame show of a pal tbox_sync_with_virtual_bg_and_init_all(trainerschool_test_tboxes); trainerschool_test_load_question(); oam_load_graphic(&trainerschool_test_graphic_correct); oam_load_graphic(&trainerschool_test_graphic_wrong); fadescreen_all(0, 0); callback1_set(trainerschool_test_idle); vblank_handler_set(generic_vblank_handler); bg_virtual_sync(0); bg_virtual_sync(1); bg_virtual_sync(2); } }