// 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();
}
Example #2
0
// 080EDBE8
void intro_end(struct intro *in) {
	if (in->field4 == 0) {
		sub_08070424(0, 0, 0x400);
		in->field4 = 1;
	} else if (in->field4 == 1) {
		if (sub_080F682C() == 0) {
			task_del(in->tid);
			free(in);
			sub_08000B94(2);
			hblank_handler_set(0);
			set_callback2(&c2_intro_2);
		}
	}
}