// --------------------------------------------------------------------------- void eir_gfx_release_env(eir_gfx_env_t * gfx_env) { if (gfx_env) { eir_gfx_release_texture(&gfx_env->text_texture); eir_gfx_release_image(&gfx_env->text_image); EIR_KER_FREE_ARRAY_BIS(gfx_env->images, eir_gfx_release_image); EIR_KER_FREE_ARRAY_BIS(gfx_env->textures, eir_gfx_release_texture); EIR_KER_FREE_ARRAY_BIS(gfx_env->groups, eir_gfx_release_group); eir_gfx_release_group(&gfx_env->bar_group); EIR_SYS_FREE(gfx_env->sorted_groups); } }
static void eir_gme_release_map(eir_gme_map_component_t * map) { if (map) { EIR_KER_FREE_ARRAY_BIS(map->layers, eir_gme_release_map_layer); } }
void eir_snd_release_env(eir_snd_env_t * env) { EIR_KER_LOG_MESSAGE("release sound env"); if (env) { EIR_KER_FREE_ARRAY_BIS(env->sounds, eir_snd_release_sound); } }
void eir_gme_release_env(eir_gme_env_t * env) { EIR_KER_LOG_MESSAGE("release game env"); if (env) { EIR_KER_FREE_ARRAY_BIS(env->worlds, eir_gme_release_world); env->curr_world = 0; } }
static void eir_gme_release_map_layer(eir_gme_map_layer_t * map_layer) { if (map_layer) { map_layer->position.x = 0.0f; map_layer->position.y = 0.0f; map_layer->col_count = 0; map_layer->row_count = 0; map_layer->tile_width = 0; map_layer->tile_height = 0; map_layer->group = 0; map_layer->batch = 0; EIR_KER_FREE_ARRAY_BIS(map_layer->tiles, eir_gme_release_map_tile); } }