From 9a6f3e77309929e218619426f204c2be721ee45e Mon Sep 17 00:00:00 2001
From: Anonymus Raccoon
Date: Sun, 3 May 2020 15:26:16 +0200
Subject: [PATCH] Coding style
---
CMakeLists.txt | 2 +-
include/components/game_display.h | 9 ++--
include/player_utilities.h | 5 +++
lib/gamacon | 2 +-
src/combat/attacks.c | 2 +-
src/components/dialog_methods.c | 4 +-
src/components/game_display.c | 25 ++++++-----
src/main.c | 10 ++---
src/systems/combat_methods.c | 34 ++------------
src/systems/combat_utility.c | 45 +++++++++++++++++++
.../controllers/keyboard_controller_system.c | 7 +--
src/systems/game_display_system.c | 8 ++--
src/systems/game_manager_system.c | 6 +--
13 files changed, 93 insertions(+), 66 deletions(-)
create mode 100644 src/systems/combat_utility.c
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9533225..8ad3578 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -324,7 +324,7 @@ add_executable(my_rpg
src/npc/mage.c
src/combat/boss.c
src/components/combat_holder.c
-)
+ src/systems/combat_utility.c)
add_compile_options(-W -Wall -Wextra -Wshadow)
diff --git a/include/components/game_display.h b/include/components/game_display.h
index c913e9e..55c1281 100644
--- a/include/components/game_display.h
+++ b/include/components/game_display.h
@@ -1,6 +1,9 @@
-//
-// Created by anonymus-raccoon on 3/3/20.
-//
+/*
+** EPITECH PROJECT, 2019
+** MUL_my_runner_2019
+** File description:
+** game_loader
+*/
#ifndef _TEAMS_COMPONENT_H_
#define _TEAMS_COMPONENT_H_
diff --git a/include/player_utilities.h b/include/player_utilities.h
index 5b1a55d..a201f78 100644
--- a/include/player_utilities.h
+++ b/include/player_utilities.h
@@ -13,4 +13,9 @@
void set_combat_player(gc_engine *engine, gc_entity *main_player, \
gc_entity *combat_player);
+bool get_player_and_enemy(gc_scene *sce, gc_entity **player, \
+gc_entity **enemy);
+void combat_create_enemy(struct combat_manager *this, gc_engine *engine, \
+char *enemy_name);
+
#endif //MY_RPG_PLAYER_UTILITIES_H
diff --git a/lib/gamacon b/lib/gamacon
index ef4d013..0b2da32 160000
--- a/lib/gamacon
+++ b/lib/gamacon
@@ -1 +1 @@
-Subproject commit ef4d01357a0ed6bc15a8b0a801c5d1ab424ceca2
+Subproject commit 0b2da3249cbdf0b5d860e74caf51f9f57bfd594c
diff --git a/src/combat/attacks.c b/src/combat/attacks.c
index b3752c0..bc74346 100644
--- a/src/combat/attacks.c
+++ b/src/combat/attacks.c
@@ -92,7 +92,7 @@ void enemy_attack(gc_engine *engine, gc_entity *from, gc_entity *enemy)
struct combat_manager *this = GETSYS(engine, combat_manager);
struct health_component *enemy_health = GETCMP(enemy, health_component);
struct renderer *rend = GETCMP(from, renderer);
- int max = 10 - this->last_enemy_damage;
+ int max = 10 - this->last_enemy_damage;
this->last_enemy_damage = MAX(MIN(random() % max, 10), 0);
if (this->last_attack && !my_strcmp(this->last_attack, "shield"))
diff --git a/src/components/dialog_methods.c b/src/components/dialog_methods.c
index 6eeb4df..ac95460 100644
--- a/src/components/dialog_methods.c
+++ b/src/components/dialog_methods.c
@@ -9,8 +9,8 @@
#include "utility.h"
#include
-struct dialog_line *dialog_add_line(struct dialog_holder *this, char *name, char *text, \
-struct dialog_input *inputs)
+struct dialog_line *dialog_add_line(struct dialog_holder *this, char *name, \
+char *text, struct dialog_input *inputs)
{
struct dialog_line *line = malloc(sizeof(*line));
int count = 0;
diff --git a/src/components/game_display.c b/src/components/game_display.c
index 0550dc7..7ccf6e7 100644
--- a/src/components/game_display.c
+++ b/src/components/game_display.c
@@ -20,6 +20,18 @@ static void ctr(void *component, va_list args)
cmp->type = va_arg(args, display_type_enum);
}
+static void inventory_fdctr(struct game_display *cmp, char *display_type)
+{
+ if (!my_strcmp(display_type, "inventory_1"))
+ cmp->type = INVENTORY_SLOT_1;
+ if (!my_strcmp(display_type, "inventory_2"))
+ cmp->type = INVENTORY_SLOT_2;
+ if (!my_strcmp(display_type, "inventory_3"))
+ cmp->type = INVENTORY_SLOT_3;
+ if (!my_strcmp(display_type, "inventory_4"))
+ cmp->type = INVENTORY_SLOT_4;
+}
+
static void fdctr(gc_entity *entity, gc_scene *scene, void *component, node *n)
{
struct game_display *cmp = (struct game_display *)component;
@@ -30,9 +42,9 @@ static void fdctr(gc_entity *entity, gc_scene *scene, void *component, node *n)
my_printf("Please select properties\n");
return;
}
- if (!my_strcmp(display_type, "selected_tile")) {
+ if (!my_strcmp(display_type, "selected_tile"))
cmp->type = SELECT_TILE_DISPLAY;
- } if (!my_strcmp(display_type, "xp")) {
+ if (!my_strcmp(display_type, "xp")) {
cmp->type = XP_DISPLAY;
rend->destroy = &text_safe_destroy;
} if (!my_strcmp(display_type, "health_ennemy")) {
@@ -41,15 +53,8 @@ static void fdctr(gc_entity *entity, gc_scene *scene, void *component, node *n)
} if (!my_strcmp(display_type, "health")) {
cmp->type = HEALTH_DISPLAY;
rend->destroy = &text_safe_destroy;
- } if (!my_strcmp(display_type, "inventory_1")) {
- cmp->type = INVENTORY_SLOT_1;
- } if (!my_strcmp(display_type, "inventory_2")) {
- cmp->type = INVENTORY_SLOT_2;
- } if (!my_strcmp(display_type, "inventory_3")) {
- cmp->type = INVENTORY_SLOT_3;
- } if (!my_strcmp(display_type, "inventory_4")) {
- cmp->type = INVENTORY_SLOT_4;
}
+ inventory_fdctr(cmp, display_type);
}
static void dtr(void *component)
diff --git a/src/main.c b/src/main.c
index b6b5e0d..a51cc0d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -13,13 +13,13 @@ int usage(char *bin)
return (0);
}
-int main(int argc, char **argv)
+int main(int argc, char **av)
{
bool map_editor = false;
- if (argc != 1 && !my_strcmp(argv[1], "-h"))
- return (usage(argv[0]));
- if (argc > 1 && (!my_strcmp(argv[1], "-e") || !my_strcmp(argv[1], "--editor")))
- map_editor = true;
+ if (argc != 1 && !my_strcmp(av[1], "-h"))
+ return (usage(av[0]));
+ if (argc > 1)
+ map_editor = !my_strcmp(av[1], "-e") || !my_strcmp(av[1], "--editor");
return (start_game(map_editor));
}
\ No newline at end of file
diff --git a/src/systems/combat_methods.c b/src/systems/combat_methods.c
index 649a49c..066f454 100644
--- a/src/systems/combat_methods.c
+++ b/src/systems/combat_methods.c
@@ -7,7 +7,7 @@
#include
#include
-#include
+#include "components/renderer.h"
#include "systems/combat_manager.h"
#include "tile.h"
#include "prefab.h"
@@ -23,9 +23,7 @@
void combat_start(gc_engine *engine, char *enemy_name)
{
struct combat_manager *this = GETSYS(engine, combat_manager);
- gc_list *li = engine->scene->get_data(engine->scene, "enemies", NULL);
gc_scene *scene = scene_create(engine, "prefabs/combat.gcprefab");
- struct enemy *enemy = NULL;
gc_entity *player;
gc_entity *player_combat;
@@ -42,30 +40,7 @@ void combat_start(gc_engine *engine, char *enemy_name)
engine->change_scene(engine, scene);
load_attacks(scene);
dialog_next(engine);
- for (; li; li = li->next) {
- enemy = li->data;
- if ((!enemy_name && random() % 100 < enemy->spawn_rate)
- || (enemy_name && !my_strcmp(enemy_name, enemy->name)))
- break;
- }
- if ((this->current_enemy = enemy))
- prefab_load(engine, enemy->prefab_src);
-}
-
-bool get_player_and_enemy(gc_scene *sce, gc_entity **player, gc_entity **enemy)
-{
- gc_list *enemies = sce->get_entity_by_cmp(sce, "attack_component");
-
- if (enemies && enemies->next && ((gc_entity *)enemies->data)->id == 50) {
- *player = enemies->data;
- *enemy = enemies->next->data;
- } else if (enemies && enemies->next) {
- *enemy = enemies->data;
- *player = enemies->next->data;
- }
- if (!enemy || !player)
- return (false);
- return (true);
+ combat_create_enemy(this, engine, enemy_name);
}
void attack_callback(gc_engine *engine, int index)
@@ -146,9 +121,8 @@ gc_scene *scene, gc_engine *engine)
int count;
struct dialog_line *line;
- if (!get_player_and_enemy(scene, &player, &enemy))
- return;
- if (!(enemy_attack = GETCMP(enemy, attack_component)))
+ if (!get_player_and_enemy(scene, &player, &enemy)
+ ||!(enemy_attack = GETCMP(enemy, attack_component)))
return;
for (count = 0; enemy_attack->attacks[count].name; count++);
if (count == 0) {
diff --git a/src/systems/combat_utility.c b/src/systems/combat_utility.c
new file mode 100644
index 0000000..4ded3df
--- /dev/null
+++ b/src/systems/combat_utility.c
@@ -0,0 +1,45 @@
+/*
+** EPITECH PROJECT, 2020
+** my_rpg
+** File description:
+** combat_utility.c
+*/
+
+#include
+#include "engine.h"
+#include "prefab.h"
+#include "enemy.h"
+#include "my.h"
+#include "systems/combat_manager.h"
+
+void combat_create_enemy(struct combat_manager *this, gc_engine *engine, \
+char *enemy_name)
+{
+ gc_list *li = this->game_scene->get_data(this->game_scene, "enemies", NULL);
+ struct enemy *enemy = NULL;
+
+ for (; li; li = li->next) {
+ enemy = li->data;
+ if ((!enemy_name && random() % 100 < enemy->spawn_rate)
+ || (enemy_name && !my_strcmp(enemy_name, enemy->name)))
+ break;
+ }
+ if ((this->current_enemy = enemy))
+ prefab_load(engine, enemy->prefab_src);
+}
+
+bool get_player_and_enemy(gc_scene *sce, gc_entity **player, gc_entity **enemy)
+{
+ gc_list *enemies = sce->get_entity_by_cmp(sce, "attack_component");
+
+ if (enemies && enemies->next && ((gc_entity *)enemies->data)->id == 50) {
+ *player = enemies->data;
+ *enemy = enemies->next->data;
+ } else if (enemies && enemies->next) {
+ *enemy = enemies->data;
+ *player = enemies->next->data;
+ }
+ if (!*enemy || !*player)
+ return (false);
+ return (true);
+}
\ No newline at end of file
diff --git a/src/systems/controllers/keyboard_controller_system.c b/src/systems/controllers/keyboard_controller_system.c
index 07d2d22..b7eefbb 100644
--- a/src/systems/controllers/keyboard_controller_system.c
+++ b/src/systems/controllers/keyboard_controller_system.c
@@ -30,16 +30,11 @@ gc_entity *entity, float dtime)
(void)dtime;
}
-
-static void ctr(void *system, va_list args)
-{
-}
-
const gc_system keyboard_controller_system = {
name: "keyboard_controller_system",
component_name: "keyboard_controller",
size: sizeof(gc_system),
- ctr: &ctr,
+ ctr: NULL,
dtr: NULL,
check_dependencies: &system_check_dependencies,
update_entity: &keyboard_update_entity,
diff --git a/src/systems/game_display_system.c b/src/systems/game_display_system.c
index eaf0da6..abb6168 100644
--- a/src/systems/game_display_system.c
+++ b/src/systems/game_display_system.c
@@ -30,7 +30,7 @@ void display_current_texture(gc_scene *scene, struct renderer *rend)
((gc_sprite *)rend->data)->texture = map->selected_texture;
}
-void display_current_health(gc_scene *scene, struct renderer *rend, bool is_player)
+void display_health(gc_scene *scene, struct renderer *rend, bool is_player)
{
gc_list *entities = scene->get_entity_by_cmp(scene, "health_component");
gc_entity *entity = NULL;
@@ -41,7 +41,7 @@ void display_current_health(gc_scene *scene, struct renderer *rend, bool is_play
if (!entities)
return;
- for (; entities; entities = entities->next ) {
+ for (; entities; entities = entities->next) {
entity = entities->data;
if ((entity->id == 50 && is_player) || (entity->id != 50 && !is_player))
break;
@@ -85,9 +85,9 @@ float dtime)
if (disp->type == XP_DISPLAY)
display_current_xp(scene, rend);
if (disp->type == HEALTH_DISPLAY)
- display_current_health(scene, rend, true);
+ display_health(scene, rend, true);
if (disp->type == HEALTH_DISPLAY_ENNEMY)
- display_current_health(scene, rend, false);
+ display_health(scene, rend, false);
default:
break;
}
diff --git a/src/systems/game_manager_system.c b/src/systems/game_manager_system.c
index 7f4c16c..b3f2f16 100644
--- a/src/systems/game_manager_system.c
+++ b/src/systems/game_manager_system.c
@@ -24,7 +24,7 @@ bool toggle_pause(gc_engine *engine)
scene->is_paused = !scene->is_paused;
if (scene->is_paused) {
- prefab_load(engine,"prefabs/pause.gcprefab");
+ prefab_load(engine, "prefabs/pause.gcprefab");
return (true);
}
list = scene->get_entity_by_cmp(scene, "tag_component");
@@ -40,9 +40,9 @@ static void key_pressed(gc_engine *engine, va_list args)
gc_keybindings key = va_arg(args, gc_keybindings);
if (key == ESCAPE)
- toggle_pause(engine);
+ toggle_pause(engine);
if (key == KEY_E)
- toggle_inventory(engine);
+ toggle_inventory(engine);
}
static void combat_ended(gc_engine *engine, va_list args)