From ac5fab3d4062f8144dd9157dd46949255ea2c2ef Mon Sep 17 00:00:00 2001
From: Anonymus Raccoon
Date: Sat, 11 Jan 2020 18:12:23 +0100
Subject: [PATCH] Coding style
---
Makefile | 1 +
src/components/renderers/anim_renderer.c | 9 ++---
src/scene/scene.c | 30 ---------------
src/scene/scene_destroy.c | 49 ++++++++++++++++++++++++
src/scene/scene_loader.c | 4 +-
src/sfml_renderer/sfml_drawer.c | 2 +-
src/sfml_renderer/sfml_functions.c | 8 ++--
src/sfml_renderer/sfml_music_player.c | 4 +-
src/systems/sfml_renderer_system.c | 1 -
9 files changed, 63 insertions(+), 45 deletions(-)
create mode 100644 src/scene/scene_destroy.c
diff --git a/Makefile b/Makefile
index dec3e1d..2ab9b7f 100644
--- a/Makefile
+++ b/Makefile
@@ -28,6 +28,7 @@ SRC = src/engine/engine.c \
src/components/renderers/text_renderer.c \
src/scene/scene.c \
src/scene/scene_loader.c \
+ src/scene/scene_destroy.c \
src/utility/arraylen.c \
src/utility/list.c \
src/utility/tupple.c \
diff --git a/src/components/renderers/anim_renderer.c b/src/components/renderers/anim_renderer.c
index 4d2b6ce..66f6d49 100644
--- a/src/components/renderers/anim_renderer.c
+++ b/src/components/renderers/anim_renderer.c
@@ -80,23 +80,22 @@ void anim_fdctr(gc_scene *scene, struct renderer *cmp, node *n)
{
gc_animholder *hold = malloc(sizeof(gc_animholder));
int animcount = xml_getchildcount_filtered(n, "animation") + 1;
- gc_anim *anims = malloc(sizeof(gc_anim) * animcount);
int i = 1;
- if (!hold || !anims)
+ hold->anims = malloc(sizeof(gc_anim) * animcount);
+ if (!hold || !hold->anims)
return;
sprite_fdctr(scene, cmp, n);
hold->sprite = (gc_sprite *)cmp->data;
- hold->anims = anims;
hold->current = NULL;
hold->animcount = animcount;
hold->timesince_up = 0;
cmp->data = hold;
- animation_setnone(&anims[0], hold->sprite);
+ animation_setnone(&hold->anims[0], hold->sprite);
for (n = n->child; n; n = n->next) {
if (my_strcmp(n->name, "animation"))
continue;
- animation_fdctr(&anims[i], hold->sprite, n);
+ animation_fdctr(&hold->anims[i], hold->sprite, n);
i++;
}
cmp->type = GC_ANIMREND;
diff --git a/src/scene/scene.c b/src/scene/scene.c
index 8e2c649..9aa5c72 100644
--- a/src/scene/scene.c
+++ b/src/scene/scene.c
@@ -69,34 +69,4 @@ int change_scene(gc_engine *engine, gc_scene *scene)
if (music)
engine->play_music(music);
return (0);
-}
-
-void scene_destroy(gc_scene *scene)
-{
- void *next = NULL;
- gc_tupple *tup = scene->entities_by_cmp;
-
- for (gc_list *entity = scene->entities; entity; entity = next) {
- next = entity->next;
- ((gc_entity *)entity->data)->destroy(entity->data);
- free(entity);
- }
- for (gc_list *data = scene->data; data; data = next) {
- next = data->next;
- if (((gc_data *)data->data)->destroy)
- ((gc_data *)data->data)->destroy(data->data);
- free(((gc_data *)data->data)->type);
- free(data->data);
- free(data);
- }
- for (gc_tupple *tupple = tup; tupple; tupple = tup) {
- tup = tupple->next;
- for (gc_list *li = tupple->entities; li; li = next) {
- next = li->next;
- free(li);
- }
- free(tupple->name);
- free(tupple);
- }
- free(scene);
}
\ No newline at end of file
diff --git a/src/scene/scene_destroy.c b/src/scene/scene_destroy.c
new file mode 100644
index 0000000..7ef7f9d
--- /dev/null
+++ b/src/scene/scene_destroy.c
@@ -0,0 +1,49 @@
+/*
+** EPITECH PROJECT, 2020
+** Twac
+** File description:
+** scene_destroy
+*/
+
+#include "scene.h"
+#include "data.h"
+#include "list.h"
+#include "tupple.h"
+#include
+
+static void free_data(gc_scene *scene)
+{
+ void *next = NULL;
+
+ for (gc_list *data = scene->data; data; data = next) {
+ next = data->next;
+ if (((gc_data *)data->data)->destroy)
+ ((gc_data *)data->data)->destroy(data->data);
+ free(((gc_data *)data->data)->type);
+ free(data->data);
+ free(data);
+ }
+}
+
+void scene_destroy(gc_scene *scene)
+{
+ void *next = NULL;
+ gc_tupple *tup = scene->entities_by_cmp;
+
+ for (gc_list *entity = scene->entities; entity; entity = next) {
+ next = entity->next;
+ ((gc_entity *)entity->data)->destroy(entity->data);
+ free(entity);
+ }
+ free_data(scene);
+ for (gc_tupple *tupple = tup; tupple; tupple = tup) {
+ tup = tupple->next;
+ for (gc_list *li = tupple->entities; li; li = next) {
+ next = li->next;
+ free(li);
+ }
+ free(tupple->name);
+ free(tupple);
+ }
+ free(scene);
+}
\ No newline at end of file
diff --git a/src/scene/scene_loader.c b/src/scene/scene_loader.c
index 2f4c6f0..d71d1e9 100644
--- a/src/scene/scene_loader.c
+++ b/src/scene/scene_loader.c
@@ -45,8 +45,8 @@ void scene_load_data(gc_engine *engine, gc_scene *scene, node *n)
return ((void)my_printf("Couldn't find data loader for the type %s\
\n", data->type));
if (loader->load(data, n) < 0)
- return ((void)my_printf("Error while loading data %s (type %s).\n",\
-data->name, data->type));
+ return ((void)my_printf("Error while loading data %s (type %s).\
+\n", data->name, data->type));
scene->data = list_add(scene->data, data);
}
}
\ No newline at end of file
diff --git a/src/sfml_renderer/sfml_drawer.c b/src/sfml_renderer/sfml_drawer.c
index 6327a1a..7606763 100644
--- a/src/sfml_renderer/sfml_drawer.c
+++ b/src/sfml_renderer/sfml_drawer.c
@@ -20,7 +20,7 @@ struct transform_component *tra, gc_sprite *sprite)
sfVector2f scale = (sfVector2f){
tra->size.x * sprite->scale.x / sprite->rect.width,
tra->size.y * sprite->scale.y / sprite->rect.height
- };;
+ };
sprite->pos = tra->position;
if (!sprite->texture)
diff --git a/src/sfml_renderer/sfml_functions.c b/src/sfml_renderer/sfml_functions.c
index 9bd7cd2..d558534 100644
--- a/src/sfml_renderer/sfml_functions.c
+++ b/src/sfml_renderer/sfml_functions.c
@@ -46,10 +46,10 @@ void sfml_handle_events(gc_engine *engine)
event.size.width,
event.size.height
});
- // entities_update_to_cam_size(engine->scene, (gc_vector2) {
- // event.size.width,
- // event.size.height
- // });
+ entities_update_to_cam_size(engine->scene, (gc_vector2) {
+ event.size.width,
+ event.size.height
+ });
}
}
}
diff --git a/src/sfml_renderer/sfml_music_player.c b/src/sfml_renderer/sfml_music_player.c
index 92a54c9..4e95716 100644
--- a/src/sfml_renderer/sfml_music_player.c
+++ b/src/sfml_renderer/sfml_music_player.c
@@ -17,9 +17,9 @@ void sfml_play_music(void *music)
void sfml_stop_music(gc_engine *engine)
{
void *music;
-
+
if (!engine->scene)
return;
- music = engine->scene->get_data(engine->scene, "music", NULL);
+ music = engine->scene->get_data(engine->scene, "music", NULL);
sfMusic_stop(music);
}
\ No newline at end of file
diff --git a/src/systems/sfml_renderer_system.c b/src/systems/sfml_renderer_system.c
index f9acb10..8fe3c65 100644
--- a/src/systems/sfml_renderer_system.c
+++ b/src/systems/sfml_renderer_system.c
@@ -40,7 +40,6 @@ gc_entity *entity, float dtime)
my_printf("Trying to render a texture with an unknown type.\n");
break;
}
- (void)dtime;
(void)engine;
}