bool8 ScrCmd_fadescreendelay(struct ScriptContext *ctx) { u8 val1 = ScriptReadByte(ctx); u8 val2 = ScriptReadByte(ctx); fade_screen(val1, val2); SetupNativeScript(ctx, sub_8066248); return TRUE; }
void region_loop(u8 tid) { (void)tid; switch (pokedex_context->state) { case 0: bgid_send_tilemap(2); for (u8 i = 0; i < 7; ++i) { rboxid_clear_pixels(i, 0); rboxid_print(i, FONT_DEX_STD, region_text_x_offset[i], region_text_y_offset[i], &pdex_text_color, 0, pdex_str_regions[i + 1]); rboxid_update_tilemap_and_tileset(i); } region_load_border(); region_load_icon_palettes(); for (u8 i = 0; i < 21; ++i) region_load_icon(i); palette_bg_faded_fill_black(); pokedex_context->state++; break; case 1: gpu_sync_bg_show(0); gpu_sync_bg_hide(1); gpu_sync_bg_hide(3); gpu_sync_bg_show(2); fade_screen(0xFFFFFFFF, PDEX_FADEIN_SPD, 16, 0, 0x0000); pokedex_context->state++; break; case 2: if (!pal_fade_control.active) pokedex_context->state++; break; case 3: switch (super.buttons_new) { case KEY_RIGHT: if (pokedex_context->region_selected < 6) { pokedex_context->region_selected++; m4aSongNumStart(101); } break; case KEY_DOWN: if (pokedex_context->region_selected < 3) { pokedex_context->region_selected += 3; m4aSongNumStart(101); } break; case KEY_LEFT: if (pokedex_context->region_selected > 0) { pokedex_context->region_selected--; m4aSongNumStart(101); } break; case KEY_UP: if ((pokedex_context->region_selected > 2) && (pokedex_context->region_selected < 6)) { pokedex_context->region_selected -= 3; m4aSongNumStart(101); } break; case KEY_A: fade_screen(0xFFFFFFFF, PDEX_FADEIN_SPD, 0, 16, 0x0000); pokedex_context->state = 10; m4aSongNumStart(5); break; case KEY_B: fade_screen(0xFFFFFFFF, PDEX_FADEIN_SPD, 0, 16, 0x0000); pokedex_context->state = 11; m4aSongNumStart(601); default: break; } break; case 10: if (!pal_fade_control.active) { task_del(tid); pdex_vram_free_bgmaps(); pokedex_context->cursor_position_top = region_to_dex[pokedex_context->region_selected]; set_callback2(pdex_load); } break; case 11: if (!pal_fade_control.active) { task_del(tid); pdex_free_memory(); set_callback2(c2_overworld_switch_start_menu); set_callback1(c1_overworld); } break; default: break; } }
bool8 ScrCmd_fadescreen(struct ScriptContext *ctx) { fade_screen(ScriptReadByte(ctx), 0); SetupNativeScript(ctx, sub_8066248); return TRUE; }