Remove excesive explicity.

This commit is contained in:
Ulysse Cura 2026-08-04 20:34:46 +02:00
parent e177798bd7
commit 56cede5015
8 changed files with 63 additions and 43 deletions

@ -1 +1 @@
Subproject commit b63a67eb84262ea6e9883089cfc622d0a67f74cf
Subproject commit 34ee7e2a57079f8e5b00af4183d14ed75b35d8b8

View File

@ -7,9 +7,9 @@
// Args : size_t nb_frames, size_t current_frame, float frame_delay_ms, bool play, bool loop, bool reverse
int animation_system_init(component_t *component)
{
animation_system_data_t *system_data = component->component_data;
animation_system_data_t *system_data = component->data;
system_data->sprite_component_data = entity_get_component(component->entity, SPRITE_COMPONENT)->component_data;
system_data->sprite_component_data = entity_get_component(component->entity, SPRITE_COMPONENT)->data;
if(!system_data->sprite_component_data) return EXIT_FAILURE;
system_data->nb_frames = 1;
@ -29,7 +29,7 @@ int animation_system_init(component_t *component)
int animation_system_update(component_t *component)
{
animation_system_data_t *system_data = component->component_data;
animation_system_data_t *system_data = component->data;
if(system_data->play)
{
@ -83,7 +83,7 @@ int animation_system_update(component_t *component)
inline int animation_system_destroy(component_t *component)
{
animation_system_data_t *system_data = component->component_data;
animation_system_data_t *system_data = component->data;
if(linked_list_exit(&system_data->frames)) return EXIT_FAILURE;

View File

@ -7,9 +7,9 @@
// Args : frect_t bounds, double speed
int hitbox_component_init(component_t *component)
{
hitbox_component_data_t *component_data = component->component_data;
hitbox_component_data_t *component_data = component->data;
component_data->transform_component_data = entity_get_component(component->entity, TRANSFORM_COMPONENT)->component_data;
component_data->transform_component_data = entity_get_component(component->entity, TRANSFORM_COMPONENT)->data;
if(!component_data->transform_component_data) return EXIT_FAILURE;
component_data->position = (fvector2d_t) {
@ -29,7 +29,7 @@ int hitbox_component_init(component_t *component)
int hitbox_component_update(component_t *component)
{
hitbox_component_data_t *component_data = component->component_data;
hitbox_component_data_t *component_data = component->data;
transform_component_data_t *transform_component_data = component_data->transform_component_data;
component_data->bounds.x = transform_component_data->bounds.x + (transform_component_data->bounds.w - component_data->bounds.w) * component_data->position.x;
@ -46,7 +46,7 @@ int hitbox_component_update(component_t *component)
int hitbox_component_draw(component_t *component)
{
hitbox_component_data_t *component_data = component->component_data;
hitbox_component_data_t *component_data = component->data;
if(display_draw_frect(&component_data->bounds, C_RED, 128)) return EXIT_FAILURE;
@ -56,7 +56,7 @@ int hitbox_component_draw(component_t *component)
inline int hitbox_component_destroy(component_t *component)
{
hitbox_component_data_t *component_data = component->component_data;
hitbox_component_data_t *component_data = component->data;
free(component_data);

View File

@ -6,47 +6,55 @@
// Args : frect_t bounds, double speed
int physics_system_init(component_t *component)
{
physics_system_data_t *component_data = component->component_data;
physics_system_data_t *system_data = component->data;
component_data->transform_component_data = entity_get_component(component->entity, TRANSFORM_COMPONENT)->component_data;
if(!component_data->transform_component_data) return EXIT_FAILURE;
system_data->transform_component_data = entity_get_component(component->entity, TRANSFORM_COMPONENT)->data;
if(!system_data->transform_component_data) return EXIT_FAILURE;
component_data->target_velocity = (fvector2d_t) {
system_data->target_velocity = (fvector2d_t) {
.x = 0.0f,
.y = 0.0f
};
component_data->velocity = (fvector2d_t) {
system_data->velocity = (fvector2d_t) {
.x = 0.0f,
.y = 0.0f
};
component_data->speed = 0.0f;
system_data->speed = 0.0f;
component_data->smoothing_factor = 1.0f;
system_data->smoothing_factor = 1.0f;
return EXIT_SUCCESS;
}
static inline void physics_system_update_pos(physics_system_data_t *system_data)
{
transform_component_data_t *transform_component_data = system_data->transform_component_data;
system_data->velocity.x = lerp(system_data->velocity.x, system_data->target_velocity.x, system_data->smoothing_factor);
system_data->velocity.y = lerp(system_data->velocity.y, system_data->target_velocity.y, system_data->smoothing_factor);
transform_component_data->bounds.x += system_data->velocity.x * system_data->speed * (float)game.delta_time_ms / 1000.0f;
transform_component_data->bounds.y += system_data->velocity.y * system_data->speed * (float)game.delta_time_ms / 1000.0f;
}
int physics_system_update(component_t *component)
{
physics_system_data_t *component_data = component->component_data;
transform_component_data_t *transform_component_data = component_data->transform_component_data;
physics_system_data_t *system_data = component->data;
component_data->velocity.x = lerp(component_data->velocity.x, component_data->target_velocity.x, component_data->smoothing_factor);
component_data->velocity.y = lerp(component_data->velocity.y, component_data->target_velocity.y, component_data->smoothing_factor);
physics_system_update_pos(system_data);
transform_component_data->bounds.x += component_data->velocity.x * component_data->speed * (float)game.delta_time_ms / 1000.0f;
transform_component_data->bounds.y += component_data->velocity.y * component_data->speed * (float)game.delta_time_ms / 1000.0f;
// linked_list_for_each(&game.entity_manager.entities, );
return EXIT_SUCCESS;
}
inline int physics_system_destroy(component_t *component)
{
physics_system_data_t *component_data = component->component_data;
physics_system_data_t *system_data = component->data;
free(component_data);
free(system_data);
return EXIT_SUCCESS;
}

View File

@ -9,12 +9,12 @@
// No args
inline int player_system_init(component_t *component)
{
player_system_data_t *system_data = component->component_data;
player_system_data_t *system_data = component->data;
system_data->animation_system_data = entity_get_component(component->entity, ANIMATION_SYSTEM)->component_data;
system_data->animation_system_data = entity_get_component(component->entity, ANIMATION_SYSTEM)->data;
if(!system_data->animation_system_data) return EXIT_FAILURE;
system_data->sprite_component_data = system_data->animation_system_data->sprite_component_data;
system_data->physics_system_data = entity_get_component(component->entity, PHYSICS_SYSTEM)->component_data;
system_data->physics_system_data = entity_get_component(component->entity, PHYSICS_SYSTEM)->data;
if(!system_data->physics_system_data) return EXIT_FAILURE;
system_data->state = PLAYER_MOVING;
@ -129,7 +129,7 @@ static inline int player_system_set_animation_and_speed(player_system_data_t *sy
inline int player_system_update(component_t *component)
{
player_system_data_t *system_data = component->component_data;
player_system_data_t *system_data = component->data;
player_system_get_inputs(system_data);
player_system_set_velocity(system_data);
@ -140,7 +140,7 @@ inline int player_system_update(component_t *component)
inline int player_system_destroy(component_t *component)
{
player_system_data_t *component_data = component->component_data;
player_system_data_t *component_data = component->data;
free(component_data);

View File

@ -7,9 +7,9 @@
// Arg : const char *name
inline int sprite_component_init(component_t *component)
{
sprite_component_data_t *component_data = component->component_data;
sprite_component_data_t *component_data = component->data;
component_data->transform_component_data = entity_get_component(component->entity, TRANSFORM_COMPONENT)->component_data;
component_data->transform_component_data = entity_get_component(component->entity, TRANSFORM_COMPONENT)->data;
if(!component_data->transform_component_data) return EXIT_FAILURE;
transform_component_data_t *transform_component_data = component_data->transform_component_data;
@ -27,7 +27,7 @@ inline int sprite_component_init(component_t *component)
inline int sprite_component_update(component_t *component)
{
sprite_component_data_t *component_data = component->component_data;
sprite_component_data_t *component_data = component->data;
component_data->dst_rect = component_data->transform_component_data->bounds;
return EXIT_SUCCESS;
@ -35,7 +35,7 @@ inline int sprite_component_update(component_t *component)
inline int sprite_component_draw(component_t *component)
{
sprite_component_data_t *component_data = component->component_data;
sprite_component_data_t *component_data = component->data;
if(display_draw_texture(component_data->texture, &component_data->src_rect, &component_data->dst_rect, component_data->flip)) return EXIT_FAILURE;
return EXIT_SUCCESS;
@ -43,7 +43,7 @@ inline int sprite_component_draw(component_t *component)
inline int sprite_component_destroy(component_t *component)
{
sprite_component_data_t *component_data = component->component_data;
sprite_component_data_t *component_data = component->data;
free(component_data);

View File

@ -6,7 +6,7 @@
// Args : frect_t bounds, double speed
int transform_component_init(component_t *component)
{
transform_component_data_t *component_data = component->component_data;
transform_component_data_t *component_data = component->data;
component_data->bounds = (frect_t) {
.x = 0.0f,
@ -29,7 +29,7 @@ inline int transform_component_update(component_t *component __attribute__((unus
inline int transform_component_draw(component_t *component)
{
transform_component_data_t *component_data = component->component_data;
transform_component_data_t *component_data = component->data;
if(display_draw_frect(&component_data->bounds, C_BLUE, 128)) return EXIT_FAILURE;
@ -39,7 +39,7 @@ inline int transform_component_draw(component_t *component)
inline int transform_component_destroy(component_t *component)
{
transform_component_data_t *component_data = component->component_data;
transform_component_data_t *component_data = component->data;
free(component_data);

View File

@ -29,7 +29,7 @@ int game_init(void)
component_t *component = entity_new_component(player, TRANSFORM_COMPONENT);
if(!component) return EXIT_FAILURE;
((transform_component_data_t *)component->component_data)->bounds = (frect_t) {
((transform_component_data_t *)component->data)->bounds = (frect_t) {
.x = 10.0f,
.y = 10.0f,
.w = 32.0f,
@ -39,12 +39,12 @@ int game_init(void)
component = entity_new_component(player, HITBOX_COMPONENT);
if(!component) return EXIT_FAILURE;
((hitbox_component_data_t *)component->component_data)->position = (fvector2d_t) {
((hitbox_component_data_t *)component->data)->position = (fvector2d_t) {
.x = 0.5f,
.y = 1.0f
};
((hitbox_component_data_t *)component->component_data)->scale = (fvector2d_t) {
((hitbox_component_data_t *)component->data)->scale = (fvector2d_t) {
.x = 0.5f,
.y = 0.5f
};
@ -61,14 +61,26 @@ int game_init(void)
component = entity_new_component(entity, TRANSFORM_COMPONENT);
if(!component) return EXIT_FAILURE;
((transform_component_data_t *)component->component_data)->bounds = (frect_t) {
((transform_component_data_t *)component->data)->bounds = (frect_t) {
.x = 120.0f,
.y = 30.0f,
.w = 32.0f,
.h = 32.0f
};
if(!entity_new_component(entity, HITBOX_COMPONENT)) return EXIT_FAILURE;
component = entity_new_component(entity, HITBOX_COMPONENT);
if(!component) return EXIT_FAILURE;
((hitbox_component_data_t *)component->data)->position = (fvector2d_t) {
.x = 0.5f,
.y = 0.5f
};
((hitbox_component_data_t *)component->data)->scale = (fvector2d_t) {
.x = 2.0f / 3.0f,
.y = 2.0f / 3.0f
};
if(!entity_new_component(entity, SPRITE_COMPONENT)) return EXIT_FAILURE;
game.is_running = true;