// 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 profSlideLeft(u8 index) { if (bgid_get_x_offset(2) < 0) { bgid_mod_x_offset(2, 0x200, 1); return; } tasks[index].function = (u32) profThisWorld; }
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; }
void sky_scroll(u8 task_id) { bgid_mod_x_offset(0, bgid_get_x_offset(0) + 64, 0); }