Removed sprite component set texture for more flexibility.
This commit is contained in:
parent
9c728f6992
commit
389421cac4
|
|
@ -1 +1 @@
|
||||||
Subproject commit 1fa9d1cb8703da10bc7e6011df9f29d87e4eac95
|
Subproject commit bfd1e15f2d95374777e800fbd653606639666d76
|
||||||
|
|
@ -23,6 +23,4 @@ int sprite_component_draw(const component_t *component);
|
||||||
|
|
||||||
int sprite_component_destroy(component_t *component);
|
int sprite_component_destroy(component_t *component);
|
||||||
|
|
||||||
int sprite_component_set_texture(sprite_component_data_t *component_data, const char *texture_name);
|
|
||||||
|
|
||||||
#endif // SPRITE_COMPONENT_H
|
#endif // SPRITE_COMPONENT_H
|
||||||
|
|
@ -123,7 +123,10 @@ static inline int player_system_set_animation_and_speed(player_system_data_t *sy
|
||||||
{
|
{
|
||||||
physics_system_data->speed = PLAYER_DEFAULT_RUN_SPEED;
|
physics_system_data->speed = PLAYER_DEFAULT_RUN_SPEED;
|
||||||
|
|
||||||
if(sprite_component_set_texture(sprite_component_data, "player_run_sheet")) return_failure_int;
|
asset_t *asset = asset_manager_get_asset(&game.asset_manager, "player_run_sheet");
|
||||||
|
if(!asset) return_failure_int;
|
||||||
|
|
||||||
|
sprite_component_data->texture = asset->data;
|
||||||
|
|
||||||
animation_system_data->nb_frames = 8;
|
animation_system_data->nb_frames = 8;
|
||||||
animation_system_data->current_frame_nb = 0;
|
animation_system_data->current_frame_nb = 0;
|
||||||
|
|
@ -134,7 +137,10 @@ static inline int player_system_set_animation_and_speed(player_system_data_t *sy
|
||||||
{
|
{
|
||||||
physics_system_data->speed = PLAYER_DEFAULT_WALK_SPEED;
|
physics_system_data->speed = PLAYER_DEFAULT_WALK_SPEED;
|
||||||
|
|
||||||
if(sprite_component_set_texture(sprite_component_data, "player_walk_sheet")) return_failure_int;
|
asset_t *asset = asset_manager_get_asset(&game.asset_manager, "player_walk_sheet");
|
||||||
|
if(!asset) return_failure_int;
|
||||||
|
|
||||||
|
sprite_component_data->texture = asset->data;
|
||||||
|
|
||||||
animation_system_data->nb_frames = 4;
|
animation_system_data->nb_frames = 4;
|
||||||
animation_system_data->current_frame_nb = 0;
|
animation_system_data->current_frame_nb = 0;
|
||||||
|
|
@ -144,7 +150,10 @@ static inline int player_system_set_animation_and_speed(player_system_data_t *sy
|
||||||
}
|
}
|
||||||
else if(!(system_data->state & PLAYER_MOVING) && (system_data->last_state & PLAYER_MOVING))
|
else if(!(system_data->state & PLAYER_MOVING) && (system_data->last_state & PLAYER_MOVING))
|
||||||
{
|
{
|
||||||
if(sprite_component_set_texture(sprite_component_data, "player_idle_sheet")) return_failure_int;
|
asset_t *asset = asset_manager_get_asset(&game.asset_manager, "player_idle_sheet");
|
||||||
|
if(!asset) return_failure_int;
|
||||||
|
|
||||||
|
sprite_component_data->texture = asset->data;
|
||||||
|
|
||||||
animation_system_data->nb_frames = 4;
|
animation_system_data->nb_frames = 4;
|
||||||
animation_system_data->current_frame_nb = 0;
|
animation_system_data->current_frame_nb = 0;
|
||||||
|
|
|
||||||
|
|
@ -55,13 +55,3 @@ inline int sprite_component_destroy(component_t *component)
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int sprite_component_set_texture(sprite_component_data_t *component_data, const char *texture_name)
|
|
||||||
{
|
|
||||||
asset_t *texture_asset = asset_manager_get(&game.asset_manager, texture_name);
|
|
||||||
if(!texture_asset) return_failure_int;
|
|
||||||
|
|
||||||
component_data->texture = texture_asset->data;
|
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
32
src/game.c
32
src/game.c
|
|
@ -18,13 +18,7 @@ int game_init(void)
|
||||||
event_bus_init(&game.event_bus);
|
event_bus_init(&game.event_bus);
|
||||||
entity_manager_init(&game.entity_manager);
|
entity_manager_init(&game.entity_manager);
|
||||||
|
|
||||||
if(!asset_manager_load_asset(&game.asset_manager, "player_idle_sheet", ASSET_TEXTURE)) return_failure_int;
|
if(!asset_manager_load_asset(&game.asset_manager, "tileset", ASSET_TEXTURE)) return_failure_int;
|
||||||
if(!asset_manager_load_asset(&game.asset_manager, "player_walk_sheet", ASSET_TEXTURE)) return_failure_int;
|
|
||||||
if(!asset_manager_load_asset(&game.asset_manager, "player_run_sheet", ASSET_TEXTURE)) return_failure_int;
|
|
||||||
if(!asset_manager_load_asset(&game.asset_manager, "lever_sheet", ASSET_TEXTURE)) return_failure_int;
|
|
||||||
if(!asset_manager_load_asset(&game.asset_manager, "barred_door_sheet", ASSET_TEXTURE)) return_failure_int;
|
|
||||||
if(!asset_manager_load_asset(&game.asset_manager, "wooden_door_sheet", ASSET_TEXTURE)) return_failure_int;
|
|
||||||
if(!asset_manager_load_asset(&game.asset_manager, "tileset", ASSET_TEXTURE)) return_failure_int;
|
|
||||||
|
|
||||||
/* ======== Player ======== */
|
/* ======== Player ======== */
|
||||||
{
|
{
|
||||||
|
|
@ -51,7 +45,14 @@ int game_init(void)
|
||||||
|
|
||||||
sprite_component_data_t *sprite_component_data = sprite_component->data;
|
sprite_component_data_t *sprite_component_data = sprite_component->data;
|
||||||
|
|
||||||
sprite_component_set_texture(sprite_component_data, "player_idle_sheet");
|
if(!asset_manager_load_asset(&game.asset_manager, "player_idle_sheet", ASSET_TEXTURE)) return_failure_int;
|
||||||
|
if(!asset_manager_load_asset(&game.asset_manager, "player_walk_sheet", ASSET_TEXTURE)) return_failure_int;
|
||||||
|
if(!asset_manager_load_asset(&game.asset_manager, "player_run_sheet", ASSET_TEXTURE)) return_failure_int;
|
||||||
|
|
||||||
|
asset_t *asset = asset_manager_get_asset(&game.asset_manager, "player_idle_sheet");
|
||||||
|
if(!asset) return_failure_int;
|
||||||
|
|
||||||
|
sprite_component_data->texture = asset->data;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -117,7 +118,10 @@ int game_init(void)
|
||||||
|
|
||||||
sprite_component_data_t *sprite_component_data = sprite_component->data;
|
sprite_component_data_t *sprite_component_data = sprite_component->data;
|
||||||
|
|
||||||
if(sprite_component_set_texture(sprite_component_data, "lever_sheet")) return_failure_int;
|
asset_t *asset = asset_manager_load_asset(&game.asset_manager, "lever_sheet", ASSET_TEXTURE);
|
||||||
|
if(!asset) return_failure_int;
|
||||||
|
|
||||||
|
sprite_component_data->texture = asset->data;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -215,7 +219,10 @@ int game_init(void)
|
||||||
|
|
||||||
sprite_component_data_t * sprite_component_data = sprite_component->data;
|
sprite_component_data_t * sprite_component_data = sprite_component->data;
|
||||||
|
|
||||||
if(sprite_component_set_texture(sprite_component_data, "barred_door_sheet")) return_failure_int;
|
asset_t *asset = asset_manager_load_asset(&game.asset_manager, "barred_door_sheet", ASSET_TEXTURE);
|
||||||
|
if(!asset) return_failure_int;
|
||||||
|
|
||||||
|
sprite_component_data->texture = asset->data;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -290,7 +297,10 @@ int game_init(void)
|
||||||
|
|
||||||
sprite_component_data_t *sprite_component_data = sprite_component->data;
|
sprite_component_data_t *sprite_component_data = sprite_component->data;
|
||||||
|
|
||||||
if(sprite_component_set_texture(sprite_component_data, "wooden_door_sheet")) return_failure_int;
|
asset_t *asset = asset_manager_load_asset(&game.asset_manager, "wooden_door_sheet", ASSET_TEXTURE);
|
||||||
|
if(!asset) return_failure_int;
|
||||||
|
|
||||||
|
sprite_component_data->texture = asset->data;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue