Compare commits
No commits in common. "2e03f91596027ff8dfaf38a9b06be1249f609cb0" and "7362545493b5bf510e150e083351716228f40a71" have entirely different histories.
2e03f91596
...
7362545493
|
|
@ -1 +1 @@
|
||||||
Subproject commit 24d2ac6564e2cb3c52b872736071df540599439f
|
Subproject commit 778a9ecbfd3e3a8a64e694e8e41b9a0be6dc70f2
|
||||||
|
|
@ -9,13 +9,8 @@ int animation_system_init(component_t *component)
|
||||||
{
|
{
|
||||||
animation_system_data_t *system_data = component->data;
|
animation_system_data_t *system_data = component->data;
|
||||||
|
|
||||||
component_t *sprite_component = entity_get_component(component->entity, SPRITE_COMPONENT);
|
system_data->sprite_component_data = entity_get_component(component->entity, SPRITE_COMPONENT)->data;
|
||||||
if(!sprite_component)
|
if(!system_data->sprite_component_data) return EXIT_FAILURE;
|
||||||
{
|
|
||||||
error_printf("Animation system require a sprite component.");
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
system_data->sprite_component_data = sprite_component->data;
|
|
||||||
|
|
||||||
system_data->nb_frames = 1;
|
system_data->nb_frames = 1;
|
||||||
system_data->current_frame_nb = 0;
|
system_data->current_frame_nb = 0;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ int hitbox_component_init(component_t *component);
|
||||||
int hitbox_component_update(component_t *component);
|
int hitbox_component_update(component_t *component);
|
||||||
|
|
||||||
#if DEBUG >= 2
|
#if DEBUG >= 2
|
||||||
int hitbox_component_draw(const component_t *component);
|
int hitbox_component_draw(component_t *component);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int hitbox_component_destroy(component_t *component);
|
int hitbox_component_destroy(component_t *component);
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ int sprite_component_init(component_t *component);
|
||||||
|
|
||||||
int sprite_component_update(component_t *component);
|
int sprite_component_update(component_t *component);
|
||||||
|
|
||||||
int sprite_component_draw(const component_t *component);
|
int sprite_component_draw(component_t *component);
|
||||||
|
|
||||||
int sprite_component_destroy(component_t *component);
|
int sprite_component_destroy(component_t *component);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ int transform_component_init(component_t *component);
|
||||||
int transform_component_update(component_t *component);
|
int transform_component_update(component_t *component);
|
||||||
|
|
||||||
#if DEBUG >= 2
|
#if DEBUG >= 2
|
||||||
int transform_component_draw(const component_t *component);
|
int transform_component_draw(component_t *component);
|
||||||
#endif // DEBUG >= 2
|
#endif // DEBUG >= 2
|
||||||
|
|
||||||
int transform_component_destroy(component_t *component);
|
int transform_component_destroy(component_t *component);
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,8 @@ int hitbox_component_init(component_t *component)
|
||||||
{
|
{
|
||||||
hitbox_component_data_t *component_data = component->data;
|
hitbox_component_data_t *component_data = component->data;
|
||||||
|
|
||||||
component_t *transform_component = entity_get_component(component->entity, TRANSFORM_COMPONENT);
|
component_data->transform_component_data = entity_get_component(component->entity, TRANSFORM_COMPONENT)->data;
|
||||||
if(!transform_component)
|
if(!component_data->transform_component_data) return EXIT_FAILURE;
|
||||||
{
|
|
||||||
error_printf("Hitbox component require a transform component.");
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
component_data->transform_component_data = transform_component->data;
|
|
||||||
|
|
||||||
component_data->position = (fvector2d_t) {
|
component_data->position = (fvector2d_t) {
|
||||||
.x = 0.0f,
|
.x = 0.0f,
|
||||||
|
|
@ -35,7 +30,7 @@ int hitbox_component_init(component_t *component)
|
||||||
int hitbox_component_update(component_t *component)
|
int hitbox_component_update(component_t *component)
|
||||||
{
|
{
|
||||||
hitbox_component_data_t *component_data = component->data;
|
hitbox_component_data_t *component_data = component->data;
|
||||||
const transform_component_data_t *transform_component_data = component_data->transform_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;
|
component_data->bounds.x = transform_component_data->bounds.x + (transform_component_data->bounds.w - component_data->bounds.w) * component_data->position.x;
|
||||||
component_data->bounds.y = transform_component_data->bounds.y + (transform_component_data->bounds.h - component_data->bounds.h) * component_data->position.y;
|
component_data->bounds.y = transform_component_data->bounds.y + (transform_component_data->bounds.h - component_data->bounds.h) * component_data->position.y;
|
||||||
|
|
@ -49,9 +44,9 @@ int hitbox_component_update(component_t *component)
|
||||||
#include "display.h"
|
#include "display.h"
|
||||||
#include "errors.h"
|
#include "errors.h"
|
||||||
|
|
||||||
int hitbox_component_draw(const component_t *component)
|
int hitbox_component_draw(component_t *component)
|
||||||
{
|
{
|
||||||
const hitbox_component_data_t *component_data = component->data;
|
hitbox_component_data_t *component_data = component->data;
|
||||||
|
|
||||||
if(display_draw_frect(&component_data->bounds, C_RED, 128)) return EXIT_FAILURE;
|
if(display_draw_frect(&component_data->bounds, C_RED, 128)) return EXIT_FAILURE;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,21 +11,9 @@ int physics_system_init(component_t *component)
|
||||||
{
|
{
|
||||||
physics_system_data_t *system_data = component->data;
|
physics_system_data_t *system_data = component->data;
|
||||||
|
|
||||||
component_t *transform_component = entity_get_component(component->entity, TRANSFORM_COMPONENT);
|
system_data->hitbox_component_data = entity_get_component(component->entity, HITBOX_COMPONENT)->data;
|
||||||
if(!transform_component)
|
if(!system_data->hitbox_component_data) return EXIT_FAILURE;
|
||||||
{
|
system_data->transform_component_data = system_data->hitbox_component_data->transform_component_data;
|
||||||
error_printf("Physics system require a transform component.");
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
system_data->transform_component_data = transform_component->data;
|
|
||||||
|
|
||||||
component_t *hitbox_component = entity_get_component(component->entity, HITBOX_COMPONENT);
|
|
||||||
if(!hitbox_component)
|
|
||||||
{
|
|
||||||
error_printf("Physics system require an hitbox component.");
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
system_data->hitbox_component_data = hitbox_component->data;
|
|
||||||
|
|
||||||
system_data->target_velocity = (fvector2d_t) {
|
system_data->target_velocity = (fvector2d_t) {
|
||||||
.x = 0.0f,
|
.x = 0.0f,
|
||||||
|
|
|
||||||
|
|
@ -11,29 +11,11 @@ inline int player_system_init(component_t *component)
|
||||||
{
|
{
|
||||||
player_system_data_t *system_data = component->data;
|
player_system_data_t *system_data = component->data;
|
||||||
|
|
||||||
component_t *sprite_component = entity_get_component(component->entity, SPRITE_COMPONENT);
|
system_data->animation_system_data = entity_get_component(component->entity, ANIMATION_SYSTEM)->data;
|
||||||
if(!sprite_component)
|
if(!system_data->animation_system_data) return EXIT_FAILURE;
|
||||||
{
|
system_data->sprite_component_data = system_data->animation_system_data->sprite_component_data;
|
||||||
error_printf("Player system require a sprite component.");
|
system_data->physics_system_data = entity_get_component(component->entity, PHYSICS_SYSTEM)->data;
|
||||||
return EXIT_FAILURE;
|
if(!system_data->physics_system_data) return EXIT_FAILURE;
|
||||||
}
|
|
||||||
system_data->sprite_component_data = sprite_component->data;
|
|
||||||
|
|
||||||
component_t *animation_system = entity_get_component(component->entity, ANIMATION_SYSTEM);
|
|
||||||
if(!animation_system)
|
|
||||||
{
|
|
||||||
error_printf("Player system require an animation system.");
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
system_data->animation_system_data = animation_system->data;
|
|
||||||
|
|
||||||
component_t *physics_system = entity_get_component(component->entity, PHYSICS_SYSTEM);
|
|
||||||
if(!physics_system)
|
|
||||||
{
|
|
||||||
error_printf("Player system require a physics system.");
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
system_data->physics_system_data = physics_system->data;
|
|
||||||
|
|
||||||
system_data->state = PLAYER_MOVING;
|
system_data->state = PLAYER_MOVING;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,21 +9,16 @@ inline int sprite_component_init(component_t *component)
|
||||||
{
|
{
|
||||||
sprite_component_data_t *component_data = component->data;
|
sprite_component_data_t *component_data = component->data;
|
||||||
|
|
||||||
component_t * transform_component = entity_get_component(component->entity, TRANSFORM_COMPONENT);
|
component_data->transform_component_data = entity_get_component(component->entity, TRANSFORM_COMPONENT)->data;
|
||||||
if(!transform_component)
|
if(!component_data->transform_component_data) return EXIT_FAILURE;
|
||||||
{
|
|
||||||
error_printf("Sprite component require a transform component.");
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
component_data->transform_component_data = transform_component->data;
|
|
||||||
|
|
||||||
transform_component_data_t *transform_component_data = component_data->transform_component_data;
|
transform_component_data_t *transform_component_data = component_data->transform_component_data;
|
||||||
|
|
||||||
if(sprite_component_set_texture(component_data, "dummy_sheet")) return EXIT_FAILURE;
|
if(sprite_component_set_texture(component_data, "dummy_sheet")) return EXIT_FAILURE;
|
||||||
|
|
||||||
frect_to_rect(&transform_component_data->bounds, &component_data->src_rect);
|
frect_to_rect(&transform_component_data->bounds, &component_data->src_rect);
|
||||||
component_data->src_rect.x = 0;
|
component_data->src_rect.x = 0.0f;
|
||||||
component_data->src_rect.y = 0;
|
component_data->src_rect.y = 0.0f;
|
||||||
|
|
||||||
component_data->flip = false;
|
component_data->flip = false;
|
||||||
|
|
||||||
|
|
@ -33,16 +28,14 @@ inline int sprite_component_init(component_t *component)
|
||||||
inline int sprite_component_update(component_t *component)
|
inline int sprite_component_update(component_t *component)
|
||||||
{
|
{
|
||||||
sprite_component_data_t *component_data = component->data;
|
sprite_component_data_t *component_data = component->data;
|
||||||
|
|
||||||
component_data->dst_rect = component_data->transform_component_data->bounds;
|
component_data->dst_rect = component_data->transform_component_data->bounds;
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int sprite_component_draw(const component_t *component)
|
inline int sprite_component_draw(component_t *component)
|
||||||
{
|
{
|
||||||
const sprite_component_data_t *component_data = 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;
|
if(display_draw_texture(component_data->texture, &component_data->src_rect, &component_data->dst_rect, component_data->flip)) return EXIT_FAILURE;
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,9 @@ inline int transform_component_update(component_t *component __attribute__((unus
|
||||||
#include "display.h"
|
#include "display.h"
|
||||||
#include "errors.h"
|
#include "errors.h"
|
||||||
|
|
||||||
inline int transform_component_draw(const component_t *component)
|
inline int transform_component_draw(component_t *component)
|
||||||
{
|
{
|
||||||
const transform_component_data_t *component_data = component->data;
|
transform_component_data_t *component_data = component->data;
|
||||||
|
|
||||||
if(display_draw_frect(&component_data->bounds, C_BLUE, 128)) return EXIT_FAILURE;
|
if(display_draw_frect(&component_data->bounds, C_BLUE, 128)) return EXIT_FAILURE;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue