From e5f548a327b6541c0b8990b449d43c1bb1925891 Mon Sep 17 00:00:00 2001 From: Ulysse Cura Date: Tue, 12 Aug 2025 15:27:11 +0200 Subject: [PATCH] Changed files names --- src/bin.cpp | 171 ---------------------------------------------- src/bin.hpp | 45 ------------ src/game_data.cpp | 23 +++++++ src/game_data.hpp | 31 +++++++++ src/main.cpp | 10 +-- 5 files changed, 59 insertions(+), 221 deletions(-) delete mode 100644 src/bin.cpp delete mode 100644 src/bin.hpp create mode 100644 src/game_data.cpp create mode 100644 src/game_data.hpp diff --git a/src/bin.cpp b/src/bin.cpp deleted file mode 100644 index e119867..0000000 --- a/src/bin.cpp +++ /dev/null @@ -1,171 +0,0 @@ -#include -#include -#include -#include - -#include "bin.hpp" - -void load_json_into_bin(json *json_input, bin_t *bin_output) -{ - // value - bin_output->value = (*json_input)["value"].get(); - - // str - std::string str = (*json_input)["str"]; - bin_output->str_size = str.size(); - bin_output->str = (char *)malloc(bin_output->str_size * sizeof(char)); - - for(size_t i = 0; i < bin_output->str_size; i++) - { - bin_output->str[i] = str[i]; - } - - // list - std::vector list = (*json_input)["list"]; - bin_output->list_size = list.size(); - bin_output->list = (int *)malloc(bin_output->list_size * sizeof(int)); - - for(size_t i = 0; i < bin_output->list_size; i++) - { - bin_output->list[i] = list[i]; - } - - // object -> value2 - bin_output->object.value2 = (*json_input)["object"]["value2"].get(); - - // object -> str2 - std::string str2 = (*json_input)["object"]["str2"]; - bin_output->object.str2_size = str2.size(); - bin_output->object.str2 = (char *)malloc(bin_output->object.str2_size * sizeof(char)); - - for(size_t i = 0; i < bin_output->object.str2_size; i++) - { - bin_output->object.str2[i] = str2[i]; - } - - // object -> list2 - std::vector list2 = (*json_input)["object"]["list2"]; - bin_output->object.list2_size = list2.size(); - bin_output->object.list2 = (int *)malloc(bin_output->object.list2_size * sizeof(int)); - - for(size_t i = 0; i < bin_output->object.list2_size; i++) - { - bin_output->object.list2[i] = list2[i]; - } - - // object_list - std::vector object_list = (*json_input)["object_list"]; - bin_output->object_list_size = object_list.size(); - bin_output->object_list = (person_t *)malloc(bin_output->object_list_size * sizeof(person_t)); - - for(size_t i = 0; i < bin_output->object_list_size; i++) - { - json object = object_list[i]; - - std::string name = object["name"]; - bin_output->object_list[i].name_size = name.size(); - bin_output->object_list[i].name = (char *)malloc(bin_output->object_list[i].name_size * sizeof(char)); - - for(size_t j = 0; j < bin_output->object_list[i].name_size; j++) - { - bin_output->object_list[i].name[j] = name[j]; - } - - bin_output->object_list[i].age = object["age"].get(); - - std::vector passions = object["passions"]; - bin_output->object_list[i].nb_passions = passions.size(); - bin_output->object_list[i].passions_size = (size_t *)malloc(bin_output->object_list[i].nb_passions * sizeof(size_t)); - - size_t passions_total_size = 0; - - for(size_t j = 0; j < bin_output->object_list[i].nb_passions; j++) - { - bin_output->object_list[i].passions_size[j] = passions[j].size(); - passions_total_size += passions[j].size(); - } - - bin_output->object_list[i].passions = (char *)malloc(passions_total_size * sizeof(char)); - - size_t last_passion_pos = 0; - for(size_t j = 0; j < bin_output->object_list[i].nb_passions; j++) - { - for(size_t k = 0; k < bin_output->object_list[i].passions_size[j]; k++) - bin_output->object_list[i].passions[k + last_passion_pos] = passions[j][k]; - - std::cout << passions[j] << std::endl; - std::cout << bin_output->object_list[i].passions << std::endl; - - last_passion_pos += bin_output->object_list[i].passions_size[j]; - } - } -} - -void write_bin_into_file(bin_t *bin_output, std::ofstream *bin_output_file) -{ - // value - bin_output_file->write(reinterpret_cast(&bin_output->value), sizeof(int)); - - // str - bin_output_file->write(reinterpret_cast(&bin_output->str_size), sizeof(size_t)); - bin_output_file->write(reinterpret_cast(bin_output->str), bin_output->str_size * sizeof(char)); - - // list - bin_output_file->write(reinterpret_cast(&bin_output->list_size), sizeof(size_t)); - bin_output_file->write(reinterpret_cast(bin_output->list), bin_output->list_size * sizeof(int)); - - // object -> value2 - bin_output_file->write(reinterpret_cast(&bin_output->object.value2), sizeof(int)); - - // object -> str2 - bin_output_file->write(reinterpret_cast(&bin_output->object.str2_size), sizeof(size_t)); - bin_output_file->write(reinterpret_cast(bin_output->object.str2), bin_output->object.str2_size * sizeof(char)); - - // object -> list2 - bin_output_file->write(reinterpret_cast(&bin_output->object.list2_size), sizeof(size_t)); - bin_output_file->write(reinterpret_cast(bin_output->object.list2), bin_output->object.list2_size * sizeof(int)); - - // object_list - bin_output_file->write(reinterpret_cast(&bin_output->object_list_size), sizeof(size_t)); - for (size_t i = 0; i < bin_output->object_list_size; i++) - { - person_t& person = bin_output->object_list[i]; - - // name - bin_output_file->write(reinterpret_cast(&person.name_size), sizeof(size_t)); - bin_output_file->write(reinterpret_cast(person.name), person.name_size * sizeof(char)); - - // age - bin_output_file->write(reinterpret_cast(&person.age), sizeof(int)); - - // passions - bin_output_file->write(reinterpret_cast(&person.nb_passions), sizeof(size_t)); - bin_output_file->write(reinterpret_cast(person.passions_size), person.nb_passions * sizeof(size_t)); - - size_t passions_total_size = 0; - - for(size_t j = 0; j < person.nb_passions; j++) - { - passions_total_size += person.passions_size[j]; - } - - bin_output_file->write(person.passions, passions_total_size); - } -} - -void free_bin(bin_t *bin) -{ - free(bin->list); - bin->list = nullptr; - bin->list_size = 0; - free(bin->str); - bin->str = nullptr; - bin->str_size = 0; - - free(bin->object.list2); - bin->object.list2 = nullptr; - bin->object.list2_size = 0; - free(bin->object.str2); - bin->object.str2 = nullptr; - bin->object.str2_size = 0; -} \ No newline at end of file diff --git a/src/bin.hpp b/src/bin.hpp deleted file mode 100644 index 2f08a90..0000000 --- a/src/bin.hpp +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef BIN_H -#define BIN_H - -#include -#include "json/json.hpp" - -using nlohmann::json; - -typedef struct object_t { - int value2; - size_t list2_size; - int *list2; - size_t str2_size; - char *str2; -} object_t; - -typedef struct person_t { - size_t name_size; - char *name; - int age; - size_t nb_passions; - size_t *passions_size; - char *passions; -} person_t; - -typedef struct bin_t { - int value; - size_t list_size; - int *list; - size_t str_size; - char *str; - - object_t object; - - size_t object_list_size; - person_t *object_list; -} bin_t; - -void load_json_into_bin(json *json_input, bin_t *bin_output); - -void write_bin_into_file(bin_t *bin_output, std::ofstream *bin_output_file); - -void free_bin(bin_t *bin); - -#endif // BIN_H \ No newline at end of file diff --git a/src/game_data.cpp b/src/game_data.cpp new file mode 100644 index 0000000..1a04fcd --- /dev/null +++ b/src/game_data.cpp @@ -0,0 +1,23 @@ +#include +#include +#include +#include + +#include "game_data.hpp" + +struct texture_t builtin_textures[NB_TEXTURES] = { + {"player_idle_sheet", &player_idle_sheet}, + {"player_run_sheet", &player_run_sheet} +}; + +void load_json_into_game_data(json *json_input, game_data_t *bin_output) +{ +} + +void write_game_data_as_bin_into_file(game_data_t *game_data, std::ofstream *bin_output_file) +{ +} + +void free_game_data(game_data_t *game_data) +{ +} \ No newline at end of file diff --git a/src/game_data.hpp b/src/game_data.hpp new file mode 100644 index 0000000..ef3f16b --- /dev/null +++ b/src/game_data.hpp @@ -0,0 +1,31 @@ +#ifndef GAME_DATA_HPP +#define GAME_DATA_HPP + +#include +#include "gint/display-cg.h" +#include "nlohmann/json/json.hpp" + +using nlohmann::json; + +extern bopti_image_t player_idle_sheet; +extern bopti_image_t player_run_sheet; + +typedef struct texture_t { + const char *name; + bopti_image_t *image; +} texture_t; + +#define NB_TEXTURES 2 +extern struct texture_t builtin_textures[]; + +typedef struct game_data_t { + texture_t *textures; +} game_data_t; + +void load_json_into_game_data(json *json_input, game_data_t *game_data); + +void write_game_data_as_bin_into_file(game_data_t *game_data, std::ofstream *bin_output_file); + +void free_game_data(game_data_t *game_data); + +#endif // GAME_DATA_HPP \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 4f6d3a4..1193ff0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,6 @@ #include -#include "bin.hpp" +#include "game_data.hpp" void error(std::string error); @@ -27,13 +27,13 @@ int main(int argc, char *argv[]) } json json_input = json::parse(json_input_file); - bin_t bin_output; + game_data_t game_data; - load_json_into_bin(&json_input, &bin_output); + load_json_into_game_data(&json_input, &game_data); - write_bin_into_file(&bin_output, &bin_output_file); + write_game_data_as_bin_into_file(&game_data, &bin_output_file); - free_bin(&bin_output); + free_game_data(&game_data); return EXIT_SUCCESS; }