Esempio n. 1
0
// 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();
}
Esempio n. 2
0
void profSlideLeft(u8 index) {
	if (bgid_get_x_offset(2) < 0) {
		bgid_mod_x_offset(2, 0x200, 1);
		return;
	}

	tasks[index].function = (u32) profThisWorld;
}
Esempio n. 3
0
void profSlideRight(u8 index) {
	if (check_a_pressed(0)) return;

	/*
	 * Slide right until he is positioned correctly
	 */
	if (bgid_get_x_offset(2) > -0x3600) {
		bgid_mod_x_offset(2, 0x200, 2);
		return;
	}

	tasks[index].function = (u32) profAdvice;
}
Esempio n. 4
0
void sky_scroll(u8 task_id) {
	bgid_mod_x_offset(0, bgid_get_x_offset(0) + 64, 0);
}