resource: more consistent API function names
This commit is contained in:
parent
ef762dc48b
commit
ad295005db
47 changed files with 192 additions and 198 deletions
|
@ -392,12 +392,12 @@ static void *update_sounds_callback(const char *name, Resource *res, void *arg)
|
|||
}
|
||||
|
||||
void reset_all_sfx(void) {
|
||||
resource_for_each(RES_SFX, update_sounds_callback, (void*)true);
|
||||
res_for_each(RES_SFX, update_sounds_callback, (void*)true);
|
||||
list_foreach(&audio.sound_queue, discard_enqueued_sound, NULL);
|
||||
}
|
||||
|
||||
void update_all_sfx(void) {
|
||||
resource_for_each(RES_SFX, update_sounds_callback, (void*)false);
|
||||
res_for_each(RES_SFX, update_sounds_callback, (void*)false);
|
||||
|
||||
for(struct enqueued_sound *s = audio.sound_queue, *next; s; s = next) {
|
||||
next = (struct enqueued_sound*)s->next;
|
||||
|
|
|
@ -1617,7 +1617,7 @@ void _begin_boss_attack_task(const BossAttackTaskArgs *args) {
|
|||
}
|
||||
|
||||
void boss_preload(void) {
|
||||
preload_resources(RES_SFX, RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, RESF_OPTIONAL,
|
||||
"charge_generic",
|
||||
"charge_extra",
|
||||
"spellend",
|
||||
|
@ -1627,7 +1627,7 @@ void boss_preload(void) {
|
|||
"bossdeath",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SPRITE, RESF_DEFAULT,
|
||||
res_preload_multi(RES_SPRITE, RESF_DEFAULT,
|
||||
"boss_circle",
|
||||
"boss_indicator",
|
||||
"boss_spellcircle0",
|
||||
|
@ -1636,7 +1636,7 @@ void boss_preload(void) {
|
|||
"spell",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SHADER_PROGRAM, RESF_DEFAULT,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, RESF_DEFAULT,
|
||||
"boss_zoom",
|
||||
"boss_death",
|
||||
"spellcard_intro",
|
||||
|
@ -1650,7 +1650,7 @@ void boss_preload(void) {
|
|||
StageInfo *s = global.stage;
|
||||
|
||||
if(s->type != STAGE_SPELL || s->spell->type == AT_ExtraSpell) {
|
||||
preload_resources(RES_TEXTURE, RESF_DEFAULT,
|
||||
res_preload_multi(RES_TEXTURE, RESF_DEFAULT,
|
||||
"stage3/wspellclouds",
|
||||
"stage4/kurumibg2",
|
||||
NULL);
|
||||
|
|
|
@ -555,21 +555,21 @@ static void credits_free(void) {
|
|||
}
|
||||
|
||||
void credits_preload(void) {
|
||||
preload_resource(RES_BGM, "credits", RESF_OPTIONAL);
|
||||
preload_resources(RES_SHADER_PROGRAM, RESF_DEFAULT,
|
||||
res_preload(RES_BGM, "credits", RESF_OPTIONAL);
|
||||
res_preload_multi(RES_SHADER_PROGRAM, RESF_DEFAULT,
|
||||
"pbr",
|
||||
"envmap_reflect",
|
||||
"stage6_sky",
|
||||
NULL);
|
||||
preload_resource(RES_SPRITE, "kyoukkuri", RESF_DEFAULT);
|
||||
preload_resources(RES_TEXTURE, RESF_DEFAULT,
|
||||
res_preload(RES_SPRITE, "kyoukkuri", RESF_DEFAULT);
|
||||
res_preload_multi(RES_TEXTURE, RESF_DEFAULT,
|
||||
"loading", // for transition
|
||||
"stage6/sky",
|
||||
NULL);
|
||||
preload_resources(RES_MATERIAL, RESF_DEFAULT,
|
||||
res_preload_multi(RES_MATERIAL, RESF_DEFAULT,
|
||||
"credits/tower",
|
||||
NULL);
|
||||
preload_resources(RES_MODEL, RESF_DEFAULT,
|
||||
res_preload_multi(RES_MODEL, RESF_DEFAULT,
|
||||
"credits/metal_columns",
|
||||
"credits/tower",
|
||||
"cube",
|
||||
|
|
|
@ -409,7 +409,7 @@ static void cutscene_end_loop(void *ctx) {
|
|||
static void cutscene_preload(const CutscenePhase phases[]) {
|
||||
for(const CutscenePhase *p = phases; p->background; ++p) {
|
||||
if(*p->background) {
|
||||
preload_resource(RES_TEXTURE, p->background, RESF_DEFAULT);
|
||||
res_preload(RES_TEXTURE, p->background, RESF_DEFAULT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -387,5 +387,5 @@ bool dialog_is_active(Dialog *d) {
|
|||
}
|
||||
|
||||
void dialog_preload(void) {
|
||||
preload_resource(RES_SHADER_PROGRAM, "text_dialog", RESF_DEFAULT);
|
||||
res_preload(RES_SHADER_PROGRAM, "text_dialog", RESF_DEFAULT);
|
||||
}
|
||||
|
|
|
@ -56,6 +56,6 @@ const Color *difficulty_color(Difficulty diff) {
|
|||
|
||||
void difficulty_preload(void) {
|
||||
for(Difficulty diff = D_Easy; diff < NUM_SELECTABLE_DIFFICULTIES + D_Easy; ++diff) {
|
||||
preload_resource(RES_SPRITE, difficulty_sprite_name(diff), RESF_PERMANENT);
|
||||
res_preload(RES_SPRITE, difficulty_sprite_name(diff), RESF_PERMANENT);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -345,7 +345,7 @@ void process_enemies(EnemyList *enemies) {
|
|||
}
|
||||
|
||||
void enemies_preload(void) {
|
||||
preload_resources(RES_ANIM, RESF_DEFAULT,
|
||||
res_preload_multi(RES_ANIM, RESF_DEFAULT,
|
||||
"enemy/fairy_blue",
|
||||
"enemy/fairy_red",
|
||||
"enemy/bigfairy",
|
||||
|
@ -353,14 +353,14 @@ void enemies_preload(void) {
|
|||
"enemy/superfairy",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SPRITE, RESF_DEFAULT,
|
||||
res_preload_multi(RES_SPRITE, RESF_DEFAULT,
|
||||
"fairy_circle",
|
||||
"fairy_circle_red",
|
||||
"fairy_circle_big_and_mean",
|
||||
"enemy/swirl",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SFX, RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, RESF_OPTIONAL,
|
||||
"enemydeath",
|
||||
NULL);
|
||||
}
|
||||
|
|
|
@ -528,7 +528,7 @@ static bool events_handler_hotkeys(SDL_Event *event, void *arg) {
|
|||
}
|
||||
|
||||
if(scan == config_get_int(CONFIG_KEY_RELOAD_RESOURCES)) {
|
||||
reload_all_resources();
|
||||
res_reload_all();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -389,14 +389,14 @@ void spawn_and_collect_items(cmplx pos, float collect_value, SpawnItemsArgs grou
|
|||
|
||||
void items_preload(void) {
|
||||
for(ItemType i = ITEM_FIRST; i <= ITEM_LAST; ++i) {
|
||||
preload_resource(RES_SPRITE, item_sprite_name(i), RESF_PERMANENT);
|
||||
res_preload(RES_SPRITE, item_sprite_name(i), RESF_PERMANENT);
|
||||
const char *indicator = item_indicator_sprite_name(i);
|
||||
if(indicator != NULL) {
|
||||
preload_resource(RES_SPRITE, indicator, RESF_PERMANENT);
|
||||
res_preload(RES_SPRITE, indicator, RESF_PERMANENT);
|
||||
}
|
||||
}
|
||||
|
||||
preload_resources(RES_SFX, RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, RESF_OPTIONAL,
|
||||
"item_generic",
|
||||
NULL);
|
||||
}
|
||||
|
|
|
@ -251,7 +251,7 @@ static void create_pass2_resources(void) {
|
|||
}
|
||||
|
||||
void laserdraw_preload(void) {
|
||||
preload_resources(RES_SHADER_PROGRAM, RESF_DEFAULT,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, RESF_DEFAULT,
|
||||
"lasers/sdf_apply",
|
||||
"lasers/sdf_generate",
|
||||
NULL);
|
||||
|
|
|
@ -48,7 +48,7 @@ static void taisei_shutdown(void) {
|
|||
progress_unload();
|
||||
stage_objpools_shutdown();
|
||||
gamemode_shutdown();
|
||||
shutdown_resources();
|
||||
res_shutdown();
|
||||
taskmgr_global_shutdown();
|
||||
audio_shutdown();
|
||||
video_shutdown();
|
||||
|
@ -373,13 +373,13 @@ static void main_post_vfsinit(CallChainResult ccr) {
|
|||
events_init();
|
||||
video_init();
|
||||
filewatch_init();
|
||||
init_resources();
|
||||
res_init();
|
||||
r_post_init();
|
||||
draw_loading_screen();
|
||||
dynstage_init_monitoring();
|
||||
|
||||
audio_init();
|
||||
load_resources();
|
||||
res_post_init();
|
||||
gamepad_init();
|
||||
progress_load();
|
||||
video_post_init();
|
||||
|
|
|
@ -368,7 +368,7 @@ void preload_charprofile_menu(void) {
|
|||
portrait_preload_face_sprite(profiles[i].name, profiles[i].faces[f], RESF_PERMANENT);
|
||||
}
|
||||
portrait_preload_base_sprite(profiles[i].name, NULL, RESF_PERMANENT);
|
||||
preload_resource(RES_TEXTURE, profiles[i].background, RESF_PERMANENT);
|
||||
res_preload(RES_TEXTURE, profiles[i].background, RESF_PERMANENT);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -382,12 +382,12 @@ void preload_char_menu(void) {
|
|||
for(int i = 0; i < NUM_CHARACTERS; ++i) {
|
||||
PlayerCharacter *pchar = plrchar_get(i);
|
||||
portrait_preload_base_sprite(pchar->lower_name, NULL, RESF_PERMANENT);
|
||||
preload_resource(RES_TEXTURE, pchar->menu_texture_name, RESF_PERMANENT);
|
||||
res_preload(RES_TEXTURE, pchar->menu_texture_name, RESF_PERMANENT);
|
||||
}
|
||||
|
||||
char *p = (char*)facedefs;
|
||||
|
||||
for(int i = 0; i < sizeof(facedefs) / FACENAME_LEN; ++i) {
|
||||
preload_resource(RES_SPRITE, p + i * FACENAME_LEN, RESF_PERMANENT);
|
||||
res_preload(RES_SPRITE, p + i * FACENAME_LEN, RESF_PERMANENT);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -185,7 +185,7 @@ static void start_game_do_cleanup(CallChainResult ccr) {
|
|||
replay_reset(&ctx->replay);
|
||||
kill_aux_menus(ctx);
|
||||
mem_free(ctx);
|
||||
free_resources(false);
|
||||
res_unload_all(false);
|
||||
global.gameover = GAMEOVER_NONE;
|
||||
replay_state_deinit(&global.replay.output);
|
||||
main_menu_update_practice_menus();
|
||||
|
|
|
@ -241,8 +241,8 @@ void draw_main_menu(MenuData *menu) {
|
|||
}
|
||||
|
||||
void draw_loading_screen(void) {
|
||||
preload_resource(RES_TEXTURE, "loading", RESF_DEFAULT);
|
||||
preload_resource(RES_SHADER_PROGRAM, "text_default", RESF_PERMANENT);
|
||||
res_preload(RES_TEXTURE, "loading", RESF_DEFAULT);
|
||||
res_preload(RES_SHADER_PROGRAM, "text_default", RESF_PERMANENT);
|
||||
|
||||
set_ortho(SCREEN_W, SCREEN_H);
|
||||
fill_screen("loading");
|
||||
|
@ -260,19 +260,19 @@ void draw_loading_screen(void) {
|
|||
void menu_preload(void) {
|
||||
difficulty_preload();
|
||||
|
||||
preload_resources(RES_FONT, RESF_PERMANENT,
|
||||
res_preload_multi(RES_FONT, RESF_PERMANENT,
|
||||
"big",
|
||||
"small",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_TEXTURE, RESF_PERMANENT,
|
||||
res_preload_multi(RES_TEXTURE, RESF_PERMANENT,
|
||||
"abstract_brown",
|
||||
"cell_noise",
|
||||
"stage1/cirnobg",
|
||||
"menu/mainmenubg",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SPRITE, RESF_PERMANENT,
|
||||
res_preload_multi(RES_SPRITE, RESF_PERMANENT,
|
||||
"part/smoke",
|
||||
"part/petal",
|
||||
"menu/logo",
|
||||
|
@ -280,18 +280,18 @@ void menu_preload(void) {
|
|||
"star",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SHADER_PROGRAM, RESF_PERMANENT,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, RESF_PERMANENT,
|
||||
"mainmenubg",
|
||||
"sprite_circleclipped_indicator",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SFX, RESF_PERMANENT | RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, RESF_PERMANENT | RESF_OPTIONAL,
|
||||
"generic_shot",
|
||||
"shot_special1",
|
||||
"hit",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_BGM, RESF_PERMANENT | RESF_OPTIONAL,
|
||||
res_preload_multi(RES_BGM, RESF_PERMANENT | RESF_OPTIONAL,
|
||||
"menu",
|
||||
NULL);
|
||||
|
||||
|
|
|
@ -220,7 +220,7 @@ static void add_bgm(MenuData *m, const char *bgm_name, bool preload) {
|
|||
// FIXME HACK: make this just RESF_OPTIONAL once we have proper refcounting for resources!
|
||||
// Currently without RESF_PERMANENT we segfault after returning from demo playback,
|
||||
// because transient resources get unloaded.
|
||||
preload_resource(RES_BGM, bgm_name, RESF_PERMANENT | RESF_OPTIONAL);
|
||||
res_preload(RES_BGM, bgm_name, RESF_PERMANENT | RESF_OPTIONAL);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1673,23 +1673,23 @@ uint64_t player_next_extralife_threshold(uint64_t step) {
|
|||
void player_preload(void) {
|
||||
const int flags = RESF_DEFAULT;
|
||||
|
||||
preload_resources(RES_SHADER_PROGRAM, flags,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, flags,
|
||||
"circle_distort",
|
||||
"player_death",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_TEXTURE, flags,
|
||||
res_preload_multi(RES_TEXTURE, flags,
|
||||
"static",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SPRITE, flags,
|
||||
res_preload_multi(RES_SPRITE, flags,
|
||||
"fairy_circle",
|
||||
"focus",
|
||||
"part/blast_huge_halo",
|
||||
"part/powersurge_field",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SFX, flags | RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, flags | RESF_OPTIONAL,
|
||||
"death",
|
||||
"extra_bomb",
|
||||
"extra_life",
|
||||
|
|
|
@ -47,7 +47,7 @@ void plrchar_preload(PlayerCharacter *pc) {
|
|||
|
||||
char buf[64];
|
||||
plrchar_player_anim_name(pc, sizeof(buf), buf);
|
||||
preload_resource(RES_ANIM, buf, RESF_DEFAULT);
|
||||
res_preload(RES_ANIM, buf, RESF_DEFAULT);
|
||||
}
|
||||
|
||||
void plrchar_render_bomb_portrait(PlayerCharacter *pc, Sprite *out_spr) {
|
||||
|
|
|
@ -717,20 +717,20 @@ static double marisa_laser_property(Player *plr, PlrProperty prop) {
|
|||
static void marisa_laser_preload(void) {
|
||||
const int flags = RESF_DEFAULT;
|
||||
|
||||
preload_resources(RES_SPRITE, flags,
|
||||
res_preload_multi(RES_SPRITE, flags,
|
||||
"proj/marisa",
|
||||
"part/maristar_orbit",
|
||||
"hakkero",
|
||||
"masterspark_ring",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_TEXTURE, flags,
|
||||
res_preload_multi(RES_TEXTURE, flags,
|
||||
"marisa_bombbg",
|
||||
"part/marisa_laser0",
|
||||
"part/marisa_laser1",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SHADER_PROGRAM, flags,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, flags,
|
||||
"blur25",
|
||||
"blur5",
|
||||
"marisa_laser",
|
||||
|
@ -739,11 +739,11 @@ static void marisa_laser_preload(void) {
|
|||
"sprite_hakkero",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_ANIM, flags,
|
||||
res_preload_multi(RES_ANIM, flags,
|
||||
"fire",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SFX, flags | RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, flags | RESF_OPTIONAL,
|
||||
"bomb_marisa_a",
|
||||
NULL);
|
||||
}
|
||||
|
|
|
@ -524,7 +524,7 @@ static double marisa_star_property(Player *plr, PlrProperty prop) {
|
|||
static void marisa_star_preload(void) {
|
||||
const int flags = RESF_DEFAULT;
|
||||
|
||||
preload_resources(RES_SPRITE, flags,
|
||||
res_preload_multi(RES_SPRITE, flags,
|
||||
"hakkero",
|
||||
"masterspark_ring",
|
||||
"part/maristar_orbit",
|
||||
|
@ -533,17 +533,17 @@ static void marisa_star_preload(void) {
|
|||
"proj/maristar",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_TEXTURE, flags,
|
||||
res_preload_multi(RES_TEXTURE, flags,
|
||||
"marisa_bombbg",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SHADER_PROGRAM, flags,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, flags,
|
||||
"masterspark",
|
||||
"maristar_bombbg",
|
||||
"sprite_hakkero",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SFX, flags | RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, flags | RESF_OPTIONAL,
|
||||
"bomb_marisa_b",
|
||||
NULL);
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ DEFINE_ENTITY_TYPE(ReimuASlave, {
|
|||
static void reimu_spirit_preload(void) {
|
||||
const int flags = RESF_DEFAULT;
|
||||
|
||||
preload_resources(RES_SPRITE, flags,
|
||||
res_preload_multi(RES_SPRITE, flags,
|
||||
"yinyang",
|
||||
"proj/ofuda",
|
||||
"proj/needle",
|
||||
|
@ -55,16 +55,16 @@ static void reimu_spirit_preload(void) {
|
|||
"part/fantasyseal_impact",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_TEXTURE, flags,
|
||||
res_preload_multi(RES_TEXTURE, flags,
|
||||
"runes",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SHADER_PROGRAM, flags,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, flags,
|
||||
"sprite_yinyang",
|
||||
"reimu_bomb_bg",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SFX, flags | RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, flags | RESF_OPTIONAL,
|
||||
"boom",
|
||||
"bomb_reimu_a",
|
||||
"bomb_marisa_b",
|
||||
|
|
|
@ -679,7 +679,7 @@ static void reimu_dream_init(Player *plr) {
|
|||
static void reimu_dream_preload(void) {
|
||||
const int flags = RESF_DEFAULT;
|
||||
|
||||
preload_resources(RES_SPRITE, flags,
|
||||
res_preload_multi(RES_SPRITE, flags,
|
||||
"yinyang",
|
||||
"proj/ofuda",
|
||||
"proj/needle2",
|
||||
|
@ -688,19 +688,19 @@ static void reimu_dream_preload(void) {
|
|||
"part/stardust",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_TEXTURE, flags,
|
||||
res_preload_multi(RES_TEXTURE, flags,
|
||||
"runes",
|
||||
"gaplight",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SHADER_PROGRAM, flags,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, flags,
|
||||
"sprite_yinyang",
|
||||
"reimu_gap",
|
||||
"reimu_gap_light",
|
||||
"reimu_bomb_bg",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SFX, flags | RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, flags | RESF_OPTIONAL,
|
||||
"bomb_marisa_a",
|
||||
"boon",
|
||||
NULL);
|
||||
|
|
|
@ -619,7 +619,7 @@ static void youmu_mirror_init(Player *plr) {
|
|||
static void youmu_mirror_preload(void) {
|
||||
const int flags = RESF_DEFAULT;
|
||||
|
||||
preload_resources(RES_SPRITE, flags,
|
||||
res_preload_multi(RES_SPRITE, flags,
|
||||
"part/arc",
|
||||
"part/blast_huge_halo",
|
||||
"part/myon",
|
||||
|
@ -629,17 +629,17 @@ static void youmu_mirror_preload(void) {
|
|||
"proj/youmu",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_TEXTURE, flags,
|
||||
res_preload_multi(RES_TEXTURE, flags,
|
||||
"youmu_bombbg1",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SHADER_PROGRAM, flags,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, flags,
|
||||
"sprite_youmu_myon_shot",
|
||||
"youmu_bomb_bg",
|
||||
"youmua_bomb",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SFX, flags | RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, flags | RESF_OPTIONAL,
|
||||
"bomb_youmu_b",
|
||||
NULL);
|
||||
}
|
||||
|
|
|
@ -598,16 +598,16 @@ static void youmu_haunting_init(Player *plr) {
|
|||
static void youmu_haunting_preload(void) {
|
||||
const int flags = RESF_DEFAULT;
|
||||
|
||||
preload_resources(RES_SPRITE, flags,
|
||||
res_preload_multi(RES_SPRITE, flags,
|
||||
"proj/youmu",
|
||||
"part/youmu_slice",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_TEXTURE, flags,
|
||||
res_preload_multi(RES_TEXTURE, flags,
|
||||
"youmu_bombbg1",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SFX, flags | RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, flags | RESF_OPTIONAL,
|
||||
"bomb_youmu_b",
|
||||
NULL);
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ Sprite *portrait_get_base_sprite(const char *charname, const char *variant) {
|
|||
void portrait_preload_base_sprite(const char *charname, const char *variant, ResourceFlags rflags) {
|
||||
char buf[BUFFER_SIZE];
|
||||
portrait_get_base_sprite_name(charname, variant, sizeof(buf), buf);
|
||||
preload_resource(RES_SPRITE, buf, rflags);
|
||||
res_preload(RES_SPRITE, buf, rflags);
|
||||
}
|
||||
|
||||
int portrait_get_face_sprite_name(const char *charname, const char *face, size_t bufsize, char buf[bufsize]) {
|
||||
|
@ -51,7 +51,7 @@ Sprite *portrait_get_face_sprite(const char *charname, const char *face) {
|
|||
void portrait_preload_face_sprite(const char *charname, const char *face, ResourceFlags rflags) {
|
||||
char buf[BUFFER_SIZE];
|
||||
portrait_get_face_sprite_name(charname, face, sizeof(buf), buf);
|
||||
preload_resource(RES_SPRITE, buf, rflags);
|
||||
res_preload(RES_SPRITE, buf, rflags);
|
||||
}
|
||||
|
||||
void portrait_render(Sprite *s_base, Sprite *s_face, Sprite *s_out) {
|
||||
|
|
|
@ -1036,17 +1036,17 @@ void projectiles_preload(void) {
|
|||
const uint num_shaders = sizeof(shaders)/sizeof(*shaders);
|
||||
|
||||
for(uint i = 0; i < num_shaders; ++i) {
|
||||
preload_resource(RES_SHADER_PROGRAM, shaders[i], RESF_PERMANENT);
|
||||
res_preload(RES_SHADER_PROGRAM, shaders[i], RESF_PERMANENT);
|
||||
}
|
||||
|
||||
// FIXME: Why is this here?
|
||||
preload_resources(RES_TEXTURE, RESF_PERMANENT,
|
||||
res_preload_multi(RES_TEXTURE, RESF_PERMANENT,
|
||||
"part/lasercurve",
|
||||
NULL);
|
||||
|
||||
// TODO: Maybe split this up into stage-specific preloads too?
|
||||
// some of these are ubiquitous, but some only appear in very specific parts.
|
||||
preload_resources(RES_SPRITE, RESF_PERMANENT,
|
||||
res_preload_multi(RES_SPRITE, RESF_PERMANENT,
|
||||
"part/blast",
|
||||
"part/bullet_flare",
|
||||
"part/flare",
|
||||
|
@ -1061,11 +1061,11 @@ void projectiles_preload(void) {
|
|||
"part/stardust_green",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_ANIM, RESF_PERMANENT,
|
||||
res_preload_multi(RES_ANIM, RESF_PERMANENT,
|
||||
"part/bullet_clear",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SFX, RESF_PERMANENT,
|
||||
res_preload_multi(RES_SFX, RESF_PERMANENT,
|
||||
"shot1",
|
||||
"shot2",
|
||||
"shot3",
|
||||
|
|
|
@ -20,7 +20,7 @@ typedef struct PPBasicPriv {
|
|||
} PPBasicPriv;
|
||||
|
||||
static void pp_basic_preload(ProjPrototype *proto) {
|
||||
preload_resource(RES_SPRITE, ((PPBasicPriv*)proto->private)->sprite_name, RESF_PERMANENT);
|
||||
res_preload(RES_SPRITE, ((PPBasicPriv*)proto->private)->sprite_name, RESF_PERMANENT);
|
||||
// not assigning ->sprite here because it'll block the thread until loaded
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ void r_post_init(void) {
|
|||
_r_models_init();
|
||||
_r_sprite_batch_init();
|
||||
|
||||
preload_resources(RES_SHADER_PROGRAM, RESF_PERMANENT,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, RESF_PERMANENT,
|
||||
"sprite_default",
|
||||
"texture_post_load",
|
||||
"standard",
|
||||
|
@ -54,7 +54,7 @@ void r_post_init(void) {
|
|||
NULL);
|
||||
|
||||
#if DEBUG
|
||||
preload_resources(RES_FONT, RESF_PERMANENT,
|
||||
res_preload_multi(RES_FONT, RESF_PERMANENT,
|
||||
"monotiny",
|
||||
NULL);
|
||||
#endif
|
||||
|
|
|
@ -982,12 +982,12 @@ void r_clear(BufferKindFlags flags, const Color *colorval, float depthval) {
|
|||
|
||||
INLINE attr_nonnull(1)
|
||||
void r_draw_model(const char *model) {
|
||||
r_draw_model_ptr(get_resource_data(RES_MODEL, model, RESF_DEFAULT), 0, 0);
|
||||
r_draw_model_ptr(res_get_data(RES_MODEL, model, RESF_DEFAULT), 0, 0);
|
||||
}
|
||||
|
||||
INLINE attr_nonnull(1)
|
||||
void r_draw_model_instanced(const char *model, uint instances, uint base_instance) {
|
||||
r_draw_model_ptr(get_resource_data(RES_MODEL, model, RESF_DEFAULT), instances, base_instance);
|
||||
r_draw_model_ptr(res_get_data(RES_MODEL, model, RESF_DEFAULT), instances, base_instance);
|
||||
}
|
||||
|
||||
INLINE
|
||||
|
|
|
@ -93,7 +93,7 @@ static void replay_do_cleanup(CallChainResult ccr) {
|
|||
|
||||
global.gameover = 0;
|
||||
replay_state_deinit(&global.replay.input);
|
||||
free_resources(false);
|
||||
res_unload_all(false);
|
||||
|
||||
CallChain cc = ctx->cc;
|
||||
mem_free(ctx);
|
||||
|
|
|
@ -301,7 +301,7 @@ static void load_animation_stage2(ResourceLoadState *st) {
|
|||
for(int i = 0; i < ani->sprite_count; ++i) {
|
||||
snprintf(buf, sizeof(buf), "%s.frame%04d", st->name, i);
|
||||
|
||||
if(!(ani->sprites[i] = get_resource_data(RES_SPRITE, buf, st->flags))) {
|
||||
if(!(ani->sprites[i] = res_get_data(RES_SPRITE, buf, st->flags))) {
|
||||
log_error("Animation frame '%s' not found but @sprite_count was %d",buf,ani->sprite_count);
|
||||
unload_animation(ani);
|
||||
ani = NULL;
|
||||
|
|
|
@ -196,7 +196,7 @@ static void init_fonts(void) {
|
|||
fonts_event, NULL, EPRIO_SYSTEM,
|
||||
});
|
||||
|
||||
preload_resources(RES_FONT, RESF_PERMANENT,
|
||||
res_preload_multi(RES_FONT, RESF_PERMANENT,
|
||||
"standard",
|
||||
NULL);
|
||||
|
||||
|
@ -223,7 +223,7 @@ static void init_fonts(void) {
|
|||
}
|
||||
|
||||
static void post_init_fonts(void) {
|
||||
globals.default_shader = get_resource_data(RES_SHADER_PROGRAM, "text_default", RESF_PERMANENT | RESF_PRELOAD);
|
||||
globals.default_shader = res_get_data(RES_SHADER_PROGRAM, "text_default", RESF_PERMANENT | RESF_PRELOAD);
|
||||
}
|
||||
|
||||
static void shutdown_fonts(void) {
|
||||
|
@ -799,7 +799,7 @@ static void* reload_font_callback(const char *name, Resource *res, void *varg) {
|
|||
}
|
||||
|
||||
static void reload_fonts(double quality) {
|
||||
resource_for_each(RES_FONT, reload_font_callback, &(struct rlfonts_arg) { quality });
|
||||
res_for_each(RES_FONT, reload_font_callback, &(struct rlfonts_arg) { quality });
|
||||
}
|
||||
|
||||
static inline int apply_kerning(Font *font, uint prev_index, Glyph *gthis) {
|
||||
|
|
|
@ -116,7 +116,7 @@ static void material_load_stage1(ResourceLoadState *st) {
|
|||
|
||||
#define LOADMAP(_map_) do { \
|
||||
if(ld->_map_##_map) { \
|
||||
ld->mat->_map_##_map = get_resource_data( \
|
||||
ld->mat->_map_##_map = res_get_data( \
|
||||
RES_TEXTURE, ld->_map_##_map, st->flags & ~RESF_RELOAD); \
|
||||
if(UNLIKELY(ld->mat->_map_##_map == NULL)) { \
|
||||
log_error("%s: failed to load " #_map_ " map '%s'", st->name, ld->_map_##_map); \
|
||||
|
|
|
@ -35,7 +35,7 @@ static bool postprocess_load_callback(const char *key, const char *value, void *
|
|||
current->uniforms = NULL;
|
||||
|
||||
// if loading this fails, get_resource will print a warning
|
||||
current->shader = get_resource_data(RES_SHADER_PROGRAM, value, ldata->resflags);
|
||||
current->shader = res_get_data(RES_SHADER_PROGRAM, value, ldata->resflags);
|
||||
|
||||
list_append(slist, current);
|
||||
return true;
|
||||
|
@ -68,7 +68,7 @@ static bool postprocess_load_callback(const char *key, const char *value, void *
|
|||
const UniformTypeInfo *type_info = r_uniform_type_info(type);
|
||||
|
||||
if(UNIFORM_TYPE_IS_SAMPLER(type)) {
|
||||
Texture *tex = get_resource_data(RES_TEXTURE, value, ldata->resflags);
|
||||
Texture *tex = res_get_data(RES_TEXTURE, value, ldata->resflags);
|
||||
|
||||
if(tex) {
|
||||
list_append(¤t->uniforms, ALLOC(PostprocessShaderUniform, {
|
||||
|
|
|
@ -991,7 +991,7 @@ static char *get_name_from_path(ResourceHandler *handler, const char *path) {
|
|||
return NULL;
|
||||
}
|
||||
|
||||
return resource_util_basename(handler->subdir, path);
|
||||
return res_util_basename(handler->subdir, path);
|
||||
}
|
||||
|
||||
static bool should_defer_load(InternalResLoadState *st) {
|
||||
|
@ -1343,7 +1343,7 @@ static void load_resource_finish(InternalResLoadState *st) {
|
|||
ires_unlock(persistent);
|
||||
}
|
||||
|
||||
Resource *_get_resource(ResourceType type, const char *name, hash_t hash, ResourceFlags flags) {
|
||||
Resource *_res_get_prehashed(ResourceType type, const char *name, hash_t hash, ResourceFlags flags) {
|
||||
InternalResource *ires;
|
||||
Resource *res;
|
||||
|
||||
|
@ -1394,16 +1394,6 @@ Resource *_get_resource(ResourceType type, const char *name, hash_t hash, Resour
|
|||
}
|
||||
}
|
||||
|
||||
void *_get_resource_data(ResourceType type, const char *name, hash_t hash, ResourceFlags flags) {
|
||||
Resource *res = _get_resource(type, name, hash, flags);
|
||||
|
||||
if(res) {
|
||||
return res->data;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static InternalResource *preload_resource_internal(
|
||||
ResourceType type, const char *name, ResourceFlags flags
|
||||
) {
|
||||
|
@ -1420,18 +1410,18 @@ static InternalResource *preload_resource_internal(
|
|||
return ires;
|
||||
}
|
||||
|
||||
void preload_resource(ResourceType type, const char *name, ResourceFlags flags) {
|
||||
void res_preload(ResourceType type, const char *name, ResourceFlags flags) {
|
||||
if(!res_gstate.env.no_preload) {
|
||||
preload_resource_internal(type, name, flags | RESF_PRELOAD);
|
||||
}
|
||||
}
|
||||
|
||||
void preload_resources(ResourceType type, ResourceFlags flags, const char *firstname, ...) {
|
||||
void res_preload_multi(ResourceType type, ResourceFlags flags, const char *firstname, ...) {
|
||||
va_list args;
|
||||
va_start(args, firstname);
|
||||
|
||||
for(const char *name = firstname; name; name = va_arg(args, const char*)) {
|
||||
preload_resource(type, name, flags);
|
||||
res_preload(type, name, flags);
|
||||
}
|
||||
|
||||
va_end(args);
|
||||
|
@ -1452,7 +1442,7 @@ static void reload_resources(ResourceHandler *h) {
|
|||
ht_iter_end(&iter);
|
||||
}
|
||||
|
||||
void reload_all_resources(void) {
|
||||
void res_reload_all(void) {
|
||||
for(uint i = 0; i < RES_NUMTYPES; ++i) {
|
||||
ResourceHandler *h = get_handler(i);
|
||||
assert(h != NULL);
|
||||
|
@ -1530,7 +1520,7 @@ static bool resource_filewatch_handler(SDL_Event *e, void *a) {
|
|||
return false;
|
||||
}
|
||||
|
||||
void init_resources(void) {
|
||||
void res_init(void) {
|
||||
res_gstate.env.no_async_load = env_get("TAISEI_NOASYNC", false);
|
||||
res_gstate.env.no_preload = env_get("TAISEI_NOPRELOAD", false);
|
||||
res_gstate.env.no_unload = env_get("TAISEI_NOUNLOAD", false);
|
||||
|
@ -1563,7 +1553,7 @@ void init_resources(void) {
|
|||
});
|
||||
}
|
||||
|
||||
void resource_util_strip_ext(char *path) {
|
||||
void res_util_strip_ext(char *path) {
|
||||
char *dot = strrchr(path, '.');
|
||||
char *psep = strrchr(path, '/');
|
||||
|
||||
|
@ -1572,16 +1562,16 @@ void resource_util_strip_ext(char *path) {
|
|||
}
|
||||
}
|
||||
|
||||
char *resource_util_basename(const char *prefix, const char *path) {
|
||||
char *res_util_basename(const char *prefix, const char *path) {
|
||||
assert(strstartswith(path, prefix));
|
||||
|
||||
char *out = strdup(path + strlen(prefix));
|
||||
resource_util_strip_ext(out);
|
||||
res_util_strip_ext(out);
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
const char *resource_util_filename(const char *path) {
|
||||
const char *res_util_filename(const char *path) {
|
||||
char *sep = strrchr(path, '/');
|
||||
|
||||
if(sep) {
|
||||
|
@ -1595,7 +1585,7 @@ static void preload_path(const char *path, ResourceType type, ResourceFlags flag
|
|||
if(_handlers[type]->procs.check(path)) {
|
||||
char *name = get_name_from_path(_handlers[type], path);
|
||||
if(name) {
|
||||
preload_resource(type, name, flags);
|
||||
res_preload(type, name, flags);
|
||||
mem_free(name);
|
||||
}
|
||||
}
|
||||
|
@ -1614,7 +1604,7 @@ static void *preload_all(const char *path, void *arg) {
|
|||
return NULL;
|
||||
}
|
||||
|
||||
void *resource_for_each(ResourceType type, void* (*callback)(const char *name, Resource *res, void *arg), void *arg) {
|
||||
void *res_for_each(ResourceType type, void* (*callback)(const char *name, Resource *res, void *arg), void *arg) {
|
||||
ht_str2ptr_ts_iter_t iter;
|
||||
ht_iter_begin(&get_handler(type)->private.mapping, &iter);
|
||||
void *result = NULL;
|
||||
|
@ -1638,7 +1628,7 @@ void *resource_for_each(ResourceType type, void* (*callback)(const char *name, R
|
|||
return result;
|
||||
}
|
||||
|
||||
void load_resources(void) {
|
||||
void res_post_init(void) {
|
||||
for(uint i = 0; i < RES_NUMTYPES; ++i) {
|
||||
ResourceHandler *h = get_handler(i);
|
||||
assert(h != NULL);
|
||||
|
@ -1661,7 +1651,7 @@ void load_resources(void) {
|
|||
}
|
||||
}
|
||||
|
||||
static void _free_resources(IResPtrArray *tmp_ires_array, bool all) {
|
||||
static void _res_unload_all(IResPtrArray *tmp_ires_array, bool include_permanent) {
|
||||
ht_str2ptr_ts_iter_t iter;
|
||||
|
||||
bool retry = false;
|
||||
|
@ -1676,7 +1666,7 @@ static void _free_resources(IResPtrArray *tmp_ires_array, bool all) {
|
|||
for(; iter.has_data; ht_iter_next(&iter)) {
|
||||
ires = iter.value;
|
||||
|
||||
if(all || !(ires->res.flags & RESF_PERMANENT)) {
|
||||
if(include_permanent || !(ires->res.flags & RESF_PERMANENT)) {
|
||||
*dynarray_append(tmp_ires_array) = ires;
|
||||
}
|
||||
}
|
||||
|
@ -1693,11 +1683,11 @@ static void _free_resources(IResPtrArray *tmp_ires_array, bool all) {
|
|||
|
||||
if(retry) {
|
||||
// Tail call; hope your compiler agrees.
|
||||
_free_resources(tmp_ires_array, all);
|
||||
_res_unload_all(tmp_ires_array, include_permanent);
|
||||
}
|
||||
}
|
||||
|
||||
void free_resources(bool all) {
|
||||
void res_unload_all(bool include_permanent) {
|
||||
// Wait for all resources to finish (re)loading first, and pray that nothing else starts loading
|
||||
// while we are in this function (FIXME)
|
||||
|
||||
|
@ -1716,12 +1706,12 @@ void free_resources(bool all) {
|
|||
}
|
||||
|
||||
IResPtrArray a = { };
|
||||
_free_resources(&a, all);
|
||||
_res_unload_all(&a, include_permanent);
|
||||
dynarray_free_data(&a);
|
||||
}
|
||||
|
||||
void shutdown_resources(void) {
|
||||
free_resources(true);
|
||||
void res_shutdown(void) {
|
||||
res_unload_all(true);
|
||||
|
||||
for(ResourceType type = 0; type < RES_NUMTYPES; ++type) {
|
||||
ResourceHandler *handler = get_handler(type);
|
||||
|
|
|
@ -131,41 +131,45 @@ typedef struct Resource {
|
|||
ResourceFlags flags;
|
||||
} Resource;
|
||||
|
||||
void init_resources(void);
|
||||
void load_resources(void);
|
||||
void shutdown_resources(void);
|
||||
void free_resources(bool all);
|
||||
void reload_all_resources(void);
|
||||
void res_init(void);
|
||||
void res_post_init(void);
|
||||
void res_shutdown(void);
|
||||
void res_unload_all(bool include_permanent);
|
||||
void res_reload_all(void);
|
||||
|
||||
Resource *_get_resource(ResourceType type, const char *name, hash_t hash, ResourceFlags flags) attr_nonnull_all;
|
||||
void *_get_resource_data(ResourceType type, const char *name, hash_t hash, ResourceFlags flags) attr_nonnull_all;
|
||||
Resource *_res_get_prehashed(ResourceType type, const char *name, hash_t hash, ResourceFlags flags) attr_nonnull_all;
|
||||
|
||||
attr_nonnull_all
|
||||
INLINE Resource *get_resource(ResourceType type, const char *name, ResourceFlags flags) {
|
||||
return _get_resource(type, name, ht_str2ptr_hash(name), flags);
|
||||
INLINE void *_res_get_data_prehashed(ResourceType type, const char *name, hash_t hash, ResourceFlags flags) {
|
||||
Resource *res = _res_get_prehashed(type, name, hash, flags);
|
||||
return res ? res->data : NULL;
|
||||
}
|
||||
|
||||
attr_nonnull_all
|
||||
INLINE void *get_resource_data(ResourceType type, const char *name, ResourceFlags flags) {
|
||||
return _get_resource_data(type, name, ht_str2ptr_hash(name), flags);
|
||||
INLINE Resource *res_get(ResourceType type, const char *name, ResourceFlags flags) {
|
||||
return _res_get_prehashed(type, name, ht_str2ptr_hash(name), flags);
|
||||
}
|
||||
|
||||
void preload_resource(ResourceType type, const char *name, ResourceFlags flags);
|
||||
void preload_resources(ResourceType type, ResourceFlags flags, const char *firstname, ...) attr_sentinel;
|
||||
void *resource_for_each(ResourceType type, void *(*callback)(const char *name, Resource *res, void *arg), void *arg);
|
||||
attr_nonnull_all
|
||||
INLINE void *res_get_data(ResourceType type, const char *name, ResourceFlags flags) {
|
||||
return _res_get_data_prehashed(type, name, ht_str2ptr_hash(name), flags);
|
||||
}
|
||||
|
||||
void resource_util_strip_ext(char *path);
|
||||
char *resource_util_basename(const char *prefix, const char *path);
|
||||
const char *resource_util_filename(const char *path);
|
||||
void res_preload(ResourceType type, const char *name, ResourceFlags flags);
|
||||
void res_preload_multi(ResourceType type, ResourceFlags flags, const char *firstname, ...) attr_sentinel;
|
||||
void *res_for_each(ResourceType type, void *(*callback)(const char *name, Resource *res, void *arg), void *arg);
|
||||
|
||||
void res_util_strip_ext(char *path);
|
||||
char *res_util_basename(const char *prefix, const char *path);
|
||||
const char *res_util_filename(const char *path);
|
||||
|
||||
#define DEFINE_RESOURCE_GETTER(_type, _name, _enum) \
|
||||
attr_nonnull_all attr_returns_nonnull \
|
||||
INLINE _type *_name(const char *resname) { \
|
||||
return NOT_NULL(get_resource_data(_enum, resname, RESF_DEFAULT)); \
|
||||
return NOT_NULL(res_get_data(_enum, resname, RESF_DEFAULT)); \
|
||||
}
|
||||
|
||||
#define DEFINE_OPTIONAL_RESOURCE_GETTER(_type, _name, _enum) \
|
||||
attr_nonnull_all \
|
||||
INLINE _type *_name(const char *resname) { \
|
||||
return get_resource_data(_enum, resname, RESF_OPTIONAL); \
|
||||
return res_get_data(_enum, resname, RESF_OPTIONAL); \
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ static void load_shader_program_stage2(ResourceLoadState *st) {
|
|||
char *objname = ldata.objlist;
|
||||
|
||||
for(int i = 0; i < ldata.num_objects; ++i) {
|
||||
if(!(objs[i] = get_resource_data(RES_SHADER_OBJECT, objname, st->flags & ~RESF_RELOAD))) {
|
||||
if(!(objs[i] = res_get_data(RES_SHADER_OBJECT, objname, st->flags & ~RESF_RELOAD))) {
|
||||
log_error("%s: couldn't load shader object '%s'", st->path, objname);
|
||||
mem_free(ldata.objlist);
|
||||
res_load_failed(st);
|
||||
|
|
|
@ -111,7 +111,7 @@ static void load_sprite_stage2(ResourceLoadState *st) {
|
|||
struct sprite_load_state *state = NOT_NULL(st->opaque);
|
||||
Sprite *spr = NOT_NULL(state->spr);
|
||||
|
||||
spr->tex = get_resource_data(RES_TEXTURE, state->texture_name, st->flags & ~RESF_RELOAD);
|
||||
spr->tex = res_get_data(RES_TEXTURE, state->texture_name, st->flags & ~RESF_RELOAD);
|
||||
|
||||
mem_free(state->texture_name);
|
||||
mem_free(state);
|
||||
|
|
|
@ -805,7 +805,7 @@ static void stage_preload(void) {
|
|||
enemies_preload();
|
||||
|
||||
if(global.stage->type != STAGE_SPELL) {
|
||||
preload_resource(RES_BGM, "gameover", RESF_DEFAULT);
|
||||
res_preload(RES_BGM, "gameover", RESF_DEFAULT);
|
||||
dialog_preload();
|
||||
}
|
||||
|
||||
|
|
|
@ -269,27 +269,27 @@ static void stage_draw_destroy_framebuffers(void) {
|
|||
void stage_draw_pre_init(void) {
|
||||
stagedraw.mfb_group = fbmgr_group_create();
|
||||
|
||||
preload_resources(RES_POSTPROCESS, RESF_OPTIONAL,
|
||||
res_preload_multi(RES_POSTPROCESS, RESF_OPTIONAL,
|
||||
"viewport",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SPRITE, RESF_PERMANENT,
|
||||
res_preload_multi(RES_SPRITE, RESF_PERMANENT,
|
||||
"hud/heart",
|
||||
"hud/star",
|
||||
"star",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_TEXTURE, RESF_PERMANENT,
|
||||
res_preload_multi(RES_TEXTURE, RESF_PERMANENT,
|
||||
"powersurge_flow",
|
||||
"titletransition",
|
||||
"hud",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_MODEL, RESF_PERMANENT,
|
||||
res_preload_multi(RES_MODEL, RESF_PERMANENT,
|
||||
"hud",
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_SHADER_PROGRAM, RESF_PERMANENT,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, RESF_PERMANENT,
|
||||
"ingame_menu",
|
||||
"powersurge_effect",
|
||||
"powersurge_feedback",
|
||||
|
@ -306,7 +306,7 @@ void stage_draw_pre_init(void) {
|
|||
#endif
|
||||
NULL);
|
||||
|
||||
preload_resources(RES_FONT, RESF_PERMANENT,
|
||||
res_preload_multi(RES_FONT, RESF_PERMANENT,
|
||||
"mono",
|
||||
"small",
|
||||
"monosmall",
|
||||
|
@ -322,20 +322,20 @@ void stage_draw_pre_init(void) {
|
|||
stagedraw.objpool_stats = env_get("TAISEI_OBJPOOL_STATS", OBJPOOLSTATS_DEFAULT);
|
||||
|
||||
if(stagedraw.framerate_graphs) {
|
||||
preload_resources(RES_SHADER_PROGRAM, RESF_PERMANENT,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, RESF_PERMANENT,
|
||||
"graph",
|
||||
NULL);
|
||||
}
|
||||
|
||||
if(stagedraw.objpool_stats) {
|
||||
preload_resources(RES_FONT, RESF_PERMANENT,
|
||||
res_preload_multi(RES_FONT, RESF_PERMANENT,
|
||||
"monotiny",
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
||||
void stage_draw_init(void) {
|
||||
stagedraw.viewport_pp = get_resource_data(RES_POSTPROCESS, "viewport", RESF_OPTIONAL);
|
||||
stagedraw.viewport_pp = res_get_data(RES_POSTPROCESS, "viewport", RESF_OPTIONAL);
|
||||
stagedraw.hud_text.shader = res_shader("text_hud");
|
||||
stagedraw.hud_text.font = res_font("standard");
|
||||
stagedraw.shaders.fxaa = res_shader("fxaa");
|
||||
|
|
|
@ -92,26 +92,26 @@ static void stage1_preload(void) {
|
|||
// DIALOG_PRELOAD(&global.plr, Stage1PreBoss, RESF_DEFAULT);
|
||||
portrait_preload_base_sprite("cirno", NULL, RESF_DEFAULT);
|
||||
portrait_preload_face_sprite("cirno", "normal", RESF_DEFAULT);
|
||||
preload_resources(RES_BGM, RESF_OPTIONAL, "stage1", "stage1boss", NULL);
|
||||
preload_resources(RES_SPRITE, RESF_DEFAULT,
|
||||
res_preload_multi(RES_BGM, RESF_OPTIONAL, "stage1", "stage1boss", NULL);
|
||||
res_preload_multi(RES_SPRITE, RESF_DEFAULT,
|
||||
"stage1/cirnobg",
|
||||
"stage1/fog",
|
||||
"stage1/snowlayer",
|
||||
"stage1/waterplants",
|
||||
NULL);
|
||||
preload_resources(RES_TEXTURE, RESF_DEFAULT,
|
||||
res_preload_multi(RES_TEXTURE, RESF_DEFAULT,
|
||||
"fractal_noise",
|
||||
"stage1/horizon",
|
||||
NULL);
|
||||
preload_resources(RES_SHADER_PROGRAM, RESF_DEFAULT,
|
||||
res_preload_multi(RES_SHADER_PROGRAM, RESF_DEFAULT,
|
||||
"blur5",
|
||||
"stage1_water",
|
||||
"zbuf_fog",
|
||||
NULL);
|
||||
preload_resources(RES_ANIM, RESF_DEFAULT,
|
||||
res_preload_multi(RES_ANIM, RESF_DEFAULT,
|
||||
"boss/cirno",
|
||||
NULL);
|
||||
preload_resources(RES_SFX, RESF_OPTIONAL,
|
||||
res_preload_multi(RES_SFX, RESF_OPTIONAL,
|
||||
"laser1",
|
||||
NULL);
|
||||
}
|
||||
|
|
|
@ -71,46 +71,46 @@ static void stage2_end(void) {
|
|||
static void stage2_preload(void) {
|
||||
portrait_preload_base_sprite("hina", NULL, RESF_DEFAULT);
|
||||
portrait_preload_face_sprite("hina", "normal", RESF_DEFAULT);
|
||||
preload_resources(RES_BGM, RESF_OPTIONAL, "stage2", "stage2boss", NULL);
|
||||
res_preload_multi(RES_BGM, RESF_OPTIONAL, "stage2", "stage2boss", NULL);
|
||||
|
||||
preload_resources(RES_SPRITE, RESF_DEFAULT,
|
||||
res_preload_multi(RES_SPRITE, RESF_DEFAULT,
|
||||
"fairy_circle_big",
|
||||