Remove asset argument from entity creation

scene_man
En Yi 2023-11-11 12:18:45 +08:00
parent 2968172921
commit ffc890240b
8 changed files with 36 additions and 36 deletions

View File

@ -491,7 +491,7 @@ static void render_editor_game_scene(Scene_t* scene)
static void spawn_chest(Scene_t* scene, unsigned int tile_idx)
{
LevelSceneData_t* data = &(CONTAINER_OF(scene, LevelScene_t, scene)->data);
Entity_t* p_crate = create_chest(&scene->ent_manager, &scene->engine->assets);
Entity_t* p_crate = create_chest(&scene->ent_manager);
if (p_crate == NULL) return;
CTransform_t* p_ctransform = get_component(p_crate, CTRANSFORM_COMP_T);
@ -503,7 +503,7 @@ static void spawn_chest(Scene_t* scene, unsigned int tile_idx)
static void spawn_crate(Scene_t* scene, unsigned int tile_idx, bool metal, ContainerItem_t item, bool active)
{
LevelSceneData_t* data = &(CONTAINER_OF(scene, LevelScene_t, scene)->data);
Entity_t* p_crate = create_crate(&scene->ent_manager, &scene->engine->assets, metal, item);
Entity_t* p_crate = create_crate(&scene->ent_manager, metal, item);
if (p_crate == NULL) return;
CTransform_t* p_ctransform = get_component(p_crate, CTRANSFORM_COMP_T);
@ -515,7 +515,7 @@ static void spawn_crate(Scene_t* scene, unsigned int tile_idx, bool metal, Conta
static void spawn_boulder(Scene_t* scene, unsigned int tile_idx)
{
LevelSceneData_t* data = &(CONTAINER_OF(scene, LevelScene_t, scene)->data);
Entity_t* p_boulder = create_boulder(&scene->ent_manager, &scene->engine->assets);
Entity_t* p_boulder = create_boulder(&scene->ent_manager);
if (p_boulder == NULL) return;
CTransform_t* p_ctransform = get_component(p_boulder, CTRANSFORM_COMP_T);
@ -626,7 +626,7 @@ static void toggle_block_system(Scene_t* scene)
break;
case SPAWN_LEVEL_END:
{
Entity_t* p_ent = create_level_end(&scene->ent_manager, &scene->engine->assets);
Entity_t* p_ent = create_level_end(&scene->ent_manager);
if (p_ent != NULL)
{
CTransform_t* p_ct = get_component(p_ent, CTRANSFORM_COMP_T);
@ -981,7 +981,7 @@ void init_sandbox_scene(LevelScene_t* scene)
EndTextureMode();
create_player(&scene->scene.ent_manager, &scene->scene.engine->assets);
create_player(&scene->scene.ent_manager);
update_entity_manager(&scene->scene.ent_manager);
// insert level scene systems

View File

@ -5,17 +5,17 @@
bool init_player_creation(const char* info_file, Assets_t* assets);
bool init_player_creation_rres(const char* rres_file, const char* file, Assets_t* assets);
Entity_t* create_player(EntityManager_t* ent_manager, Assets_t* assets);
Entity_t* create_dead_player(EntityManager_t* ent_manager, Assets_t* assets);
Entity_t* create_player(EntityManager_t* ent_manager);
Entity_t* create_dead_player(EntityManager_t* ent_manager);
bool init_item_creation(Assets_t* assets);
Entity_t* create_crate(EntityManager_t* ent_manager, Assets_t* assets, bool metal, ContainerItem_t item);
Entity_t* create_boulder(EntityManager_t* ent_manager, Assets_t* assets);
Entity_t* create_arrow(EntityManager_t* ent_manager, Assets_t* assets, uint8_t dir);
Entity_t* create_bomb(EntityManager_t* ent_manager, Assets_t* assets, Vector2 launch_dir);
Entity_t* create_explosion(EntityManager_t* ent_manager, Assets_t* assets);
Entity_t* create_chest(EntityManager_t* ent_manager, Assets_t* assets);
Entity_t* create_level_end(EntityManager_t* ent_manager, Assets_t* assets);
Entity_t* create_crate(EntityManager_t* ent_manager, bool metal, ContainerItem_t item);
Entity_t* create_boulder(EntityManager_t* ent_manager);
Entity_t* create_arrow(EntityManager_t* ent_manager, uint8_t dir);
Entity_t* create_bomb(EntityManager_t* ent_manager, Vector2 launch_dir);
Entity_t* create_explosion(EntityManager_t* ent_manager);
Entity_t* create_chest(EntityManager_t* ent_manager);
Entity_t* create_level_end(EntityManager_t* ent_manager);
#endif // __ENT_IMPL_H

View File

@ -357,7 +357,7 @@ void init_game_scene(LevelScene_t* scene)
(Rectangle){25, 25, 32*TILE_SIZE, 18*TILE_SIZE}
);
create_player(&scene->scene.ent_manager, &scene->scene.engine->assets);
create_player(&scene->scene.ent_manager);
update_entity_manager(&scene->scene.ent_manager);
// insert level scene systems

View File

@ -309,7 +309,7 @@ void player_respawn_system(Scene_t* scene)
if (!p_player->m_alive)
{
CTransform_t* p_ct = get_component(p_player, CTRANSFORM_COMP_T);
Entity_t* ent = create_dead_player(&scene->ent_manager, &scene->engine->assets);
Entity_t* ent = create_dead_player(&scene->ent_manager);
if (ent != NULL)
{
CTransform_t* new_ct = get_component(ent, CTRANSFORM_COMP_T);
@ -1751,16 +1751,16 @@ void container_destroy_system(Scene_t* scene)
switch (p_container->item)
{
case CONTAINER_LEFT_ARROW:
new_ent = create_arrow(&scene->ent_manager, &scene->engine->assets, 0);
new_ent = create_arrow(&scene->ent_manager, 0);
break;
case CONTAINER_RIGHT_ARROW:
new_ent = create_arrow(&scene->ent_manager, &scene->engine->assets, 1);
new_ent = create_arrow(&scene->ent_manager, 1);
break;
case CONTAINER_UP_ARROW:
new_ent = create_arrow(&scene->ent_manager, &scene->engine->assets, 2);
new_ent = create_arrow(&scene->ent_manager, 2);
break;
case CONTAINER_DOWN_ARROW:
new_ent = create_arrow(&scene->ent_manager, &scene->engine->assets, 3);
new_ent = create_arrow(&scene->ent_manager, 3);
break;
case CONTAINER_BOMB:
if (dmg_src != NULL && dmg_src->m_tag == PLAYER_ENT_TAG)
@ -1778,15 +1778,15 @@ void container_destroy_system(Scene_t* scene)
{
launch_dir.x = -1;
}
new_ent = create_bomb(&scene->ent_manager, &scene->engine->assets, launch_dir);
new_ent = create_bomb(&scene->ent_manager, launch_dir);
}
else
{
new_ent = create_explosion(&scene->ent_manager, &scene->engine->assets);
new_ent = create_explosion(&scene->ent_manager);
}
break;
case CONTAINER_EXPLOSION:
new_ent = create_explosion(&scene->ent_manager, &scene->engine->assets);
new_ent = create_explosion(&scene->ent_manager);
break;
default:
new_ent = NULL;

View File

@ -33,7 +33,7 @@ bool init_item_creation(Assets_t* assets)
}
Entity_t* create_crate(EntityManager_t* ent_manager, Assets_t* assets, bool metal, ContainerItem_t item)
Entity_t* create_crate(EntityManager_t* ent_manager, bool metal, ContainerItem_t item)
{
Entity_t* p_crate = add_entity(ent_manager, CRATES_ENT_TAG);
if (p_crate == NULL) return NULL;
@ -75,7 +75,7 @@ Entity_t* create_crate(EntityManager_t* ent_manager, Assets_t* assets, bool meta
return p_crate;
}
Entity_t* create_boulder(EntityManager_t* ent_manager, Assets_t* assets)
Entity_t* create_boulder(EntityManager_t* ent_manager)
{
Entity_t* p_boulder = add_entity(ent_manager, BOULDER_ENT_TAG);
if (p_boulder == NULL) return NULL;
@ -105,7 +105,7 @@ Entity_t* create_boulder(EntityManager_t* ent_manager, Assets_t* assets)
return p_boulder;
}
Entity_t* create_arrow(EntityManager_t* ent_manager, Assets_t* assets, uint8_t dir)
Entity_t* create_arrow(EntityManager_t* ent_manager, uint8_t dir)
{
Entity_t* p_arrow = add_entity(ent_manager, ARROW_ENT_TAG);
if (p_arrow == NULL) return NULL;
@ -151,7 +151,7 @@ Entity_t* create_arrow(EntityManager_t* ent_manager, Assets_t* assets, uint8_t d
return p_arrow;
}
Entity_t* create_bomb(EntityManager_t* ent_manager, Assets_t* assets, Vector2 launch_dir)
Entity_t* create_bomb(EntityManager_t* ent_manager, Vector2 launch_dir)
{
Entity_t* p_bomb = add_entity(ent_manager, DESTRUCTABLE_ENT_TAG);
if (p_bomb == NULL) return NULL;
@ -183,7 +183,7 @@ Entity_t* create_bomb(EntityManager_t* ent_manager, Assets_t* assets, Vector2 la
return p_bomb;
}
Entity_t* create_explosion(EntityManager_t* ent_manager, Assets_t* assets)
Entity_t* create_explosion(EntityManager_t* ent_manager)
{
Entity_t* p_explosion = add_entity(ent_manager, DESTRUCTABLE_ENT_TAG);
if (p_explosion == NULL) return NULL;
@ -210,7 +210,7 @@ Entity_t* create_explosion(EntityManager_t* ent_manager, Assets_t* assets)
return p_explosion;
}
Entity_t* create_chest(EntityManager_t* ent_manager, Assets_t* assets)
Entity_t* create_chest(EntityManager_t* ent_manager)
{
Entity_t* p_chest = add_entity(ent_manager, CHEST_ENT_TAG);
if (p_chest == NULL) return NULL;
@ -238,7 +238,7 @@ Entity_t* create_chest(EntityManager_t* ent_manager, Assets_t* assets)
return p_chest;
}
Entity_t* create_level_end(EntityManager_t* ent_manager, Assets_t* assets)
Entity_t* create_level_end(EntityManager_t* ent_manager)
{
Entity_t* p_flag = add_entity(ent_manager, LEVEL_END_TAG);
if (p_flag == NULL) return NULL;

View File

@ -55,7 +55,7 @@ static unsigned int player_sprite_transition_func(Entity_t* ent)
return (p_ctrans->velocity.y < 0) ? SPR_PLAYER_JUMP : SPR_PLAYER_FALL;
}
Entity_t* create_player(EntityManager_t* ent_manager, Assets_t* assets)
Entity_t* create_player(EntityManager_t* ent_manager)
{
Entity_t* p_ent = add_entity(ent_manager, PLAYER_ENT_TAG);
if (p_ent == NULL) return NULL;
@ -106,7 +106,7 @@ Entity_t* create_player(EntityManager_t* ent_manager, Assets_t* assets)
return p_ent;
}
Entity_t* create_dead_player(EntityManager_t* ent_manager, Assets_t* assets)
Entity_t* create_dead_player(EntityManager_t* ent_manager)
{
Entity_t* p_ent = add_entity(ent_manager, NO_ENT_TAG);
if (p_ent == NULL) return NULL;

View File

@ -103,7 +103,7 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num)
default: break;
}
Entity_t* ent = create_crate(&scene->scene.ent_manager, &scene->scene.engine->assets, tmp_idx > 5, item);
Entity_t* ent = create_crate(&scene->scene.ent_manager, tmp_idx > 5, item);
CTransform_t* p_ct = get_component(ent, CTRANSFORM_COMP_T);
p_ct->position.x = (i % scene->data.tilemap.width) * scene->data.tilemap.tile_size;
p_ct->position.y = (i / scene->data.tilemap.width) * scene->data.tilemap.tile_size;
@ -127,7 +127,7 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num)
break;
case 20:
{
Entity_t* ent = create_boulder(&scene->scene.ent_manager, &scene->scene.engine->assets);
Entity_t* ent = create_boulder(&scene->scene.ent_manager);
CTransform_t* p_ct = get_component(ent, CTRANSFORM_COMP_T);
p_ct->position.x = (i % scene->data.tilemap.width) * scene->data.tilemap.tile_size;
p_ct->position.y = (i / scene->data.tilemap.width) * scene->data.tilemap.tile_size;
@ -140,7 +140,7 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num)
break;
case 22:
{
Entity_t* ent = create_player(&scene->scene.ent_manager, &scene->scene.engine->assets);
Entity_t* ent = create_player(&scene->scene.ent_manager);
CTransform_t* p_ct = get_component(ent, CTRANSFORM_COMP_T);
p_ct->position.x = (i % scene->data.tilemap.width) * scene->data.tilemap.tile_size;
p_ct->position.y = (i / scene->data.tilemap.width) * scene->data.tilemap.tile_size;

View File

@ -424,7 +424,7 @@ int main(void)
unsigned int tile_idx = (scene.data.tilemap.height - 1) * scene.data.tilemap.width + i;
change_a_tile(&scene.data.tilemap, tile_idx, SOLID_TILE);
}
create_player(&scene.scene.ent_manager, &scene.scene.engine->assets);
create_player(&scene.scene.ent_manager);
update_entity_manager(&scene.scene.ent_manager);
scene.data.tile_sprites[ONEWAY_TILE] = get_sprite(&engine.assets, "tl_owp");