From 6915a1d5e73d24479e23a69483558f04322378f9 Mon Sep 17 00:00:00 2001 From: Shadow15510 Date: Fri, 4 Jun 2021 22:26:31 +0200 Subject: [PATCH] Correction of the display of the mutation descriptions --- Plague.g1a | Bin 69588 -> 69568 bytes src/core.c | 14 +++----------- src/core.h | 2 +- src/data.c | 2 +- src/display_engine.c | 30 ++++++++++++++++++++++++------ src/display_engine.h | 2 +- src/epidemic_engine.c | 2 +- src/main.c | 2 +- src/mutation_engine.c | 8 +++----- 9 files changed, 35 insertions(+), 27 deletions(-) diff --git a/Plague.g1a b/Plague.g1a index c386ff4e96990c25b4b95e6603c32dc802f80fc6..c155969723fd8da8ec5218aa982773ce141de80e 100644 GIT binary patch delta 5668 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 L9C0#s3O)OOj)5Fi delta 5668 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[1]) { - if (current_game->humans[0] != 0) - { - const char *msg[5] = {"Vous avez", "perdu.", "", "", ""}; - message(msg); - } - else - { - const char *msg[5] = {"Vous avez", "gagne.", "", "", ""}; - message(msg); - } + if (current_game->humans[0]) message("VOUS AVEZ PERDU."); + else message("VOUS AVEZ GAGNE !"); } } } @@ -151,7 +143,7 @@ int callback_tick(volatile int *tick) } -void message(const char *msg[5]) +void message(char *msg) { display_message(msg); diff --git a/src/core.h b/src/core.h index 9332e3d..f756376 100644 --- a/src/core.h +++ b/src/core.h @@ -99,6 +99,6 @@ int rtc_key(void); int callback_tick(volatile int *tick); // message : display a message -void message(const char *msg[5]); +void message(char *msg); #endif /* _PLAGUE_CORE_H */ diff --git a/src/data.c b/src/data.c index 23932a4..1c92e66 100644 --- a/src/data.c +++ b/src/data.c @@ -17,7 +17,7 @@ const struct mutation symptoms_data[14] = {10, 15, 20, 15, 0, "IMMUNITE", "BLOQUE L'ACTION DU SYSTEME IMMUNITAIRE"}, { 0, 20, 0, 15, 10, "PARANOIA", "LES CHERCHEURS N'ARRIVENT PLUS A COOPERER ENTRE EUX"}, { 0, 15, 15, 20, 10, "FOLIE", "PROVOQUE DES CRISES D'HYSTERIES"}, - { 0, 30, 30, 30, 20, "ARRET TOTAL", "EMPECHE LES ORGANES DE FONCTIONNER "}, + { 0, 30, 30, 30, 20, "ARRET TOTAL", "EMPECHE LES ORGANES DE FONCTIONNER"}, }; diff --git a/src/display_engine.c b/src/display_engine.c index afe73d7..6821d0e 100644 --- a/src/display_engine.c +++ b/src/display_engine.c @@ -66,7 +66,7 @@ void display_foreground(const int background, const struct game *current_game, c break; case 3: - drect(mutation_menu + 31 * (mutation_menu - 1), 0, mutation_menu + 31 * (mutation_menu), 7, C_INVERT); + drect(mutation_menu + 31 * (mutation_menu - 1), 0, mutation_menu + 31 * (mutation_menu) - 1, 7, C_INVERT); dprint(102, 37, C_BLACK, "%d", current_game->dna); @@ -160,22 +160,40 @@ void display_mutation_description(const char *name, const char *description, con for (int i = 0; i < 4; i ++) { - dtext_opt(25, 33 + i * 7, C_BLACK, C_WHITE, 0 ,0, description + decalage, 16 ); - if (description[decalage+1] == '\0') break; - else decalage += 16; + dtext_opt(25, 33 + i * 7, C_BLACK, C_WHITE, 0 ,0, description + decalage, 16); + + int offset = 0; + while (description[decalage + offset] != '\0') offset += 1; + + if (!offset) break; + else if (offset > 16) decalage += 16; + else decalage += offset; } dupdate(); } -void display_message(const char *msg[5]) +void display_message(char *msg) { + int decalage = 0; + dclear(C_WHITE); display_background(7); - for (int i = 0; i < 5; i ++) dprint(54, 6 * i + 4, C_BLACK, msg[i]); + for (int i = 0; i < 5; i ++) + { + dtext_opt(54, 6 * i + 4, C_BLACK, C_WHITE, 0, 0, msg + decalage, 11); + + int offset = 0; + while (msg[decalage + offset] != '\0') offset += 1; + + if (!offset) break; + else if (offset > 11) decalage += 11; + else decalage += offset; + } dupdate(); } + void display_dna_animation(const int frame) { extern bopti_image_t img_dna; diff --git a/src/display_engine.h b/src/display_engine.h index ee5ff99..a9c314e 100644 --- a/src/display_engine.h +++ b/src/display_engine.h @@ -19,7 +19,7 @@ void display_mutation_buy(const struct cursor c, const int mutation_menu, const void display_mutation_description(const char *name, const char *description, const int mutation_menu, const int id); // output_error : display text and message background -void display_message(const char *msg[5]); +void display_message(char *msg); // display_dna_animation : display the DNA according to the frame number void display_dna_animation(const int frame); diff --git a/src/epidemic_engine.c b/src/epidemic_engine.c index a2d6417..f10108a 100644 --- a/src/epidemic_engine.c +++ b/src/epidemic_engine.c @@ -41,7 +41,7 @@ void epidemic_simulation(struct game *current_game) uint8_t *current_grid = calloc(current_game->grid.width * current_game->grid.height, sizeof(uint8_t)); init_tab(current_game->grid.width * current_game->grid.height, current_grid, current_game->grid.data); - int healed_rate = ceil(100 * (current_game->research / current_game->limit)); + int healed_rate = ceil((100 * current_game->research / current_game->limit)); // Make the epidemic grid evolove for (int i = 0; i < current_game->grid.width; i ++) diff --git a/src/main.c b/src/main.c index 8adeb4b..e23b835 100644 --- a/src/main.c +++ b/src/main.c @@ -1,6 +1,6 @@ /* Project name ......: Plague - Version ...........: 1.2.1 + Version ...........: 1.3 Last modification .: 4 June 2021 code and assets provided with licence : diff --git a/src/mutation_engine.c b/src/mutation_engine.c index c31166d..65a0f93 100644 --- a/src/mutation_engine.c +++ b/src/mutation_engine.c @@ -134,10 +134,9 @@ int mutation_buy(struct game *current_game, const struct cursor c, const int mut // Update update_disease(current_game); current_game->priority += ceil((mutation_data->severity + mutation_data->lethality)/8); - const char *msg[5] = {"mutation", "achetee", "", "", ""}; - message(msg); + message("MUTATION ACHETEE"); } - else {const char *msg[5] = {"achat", "impossible", "", "", ""}; message(msg);} + else message("ACHAT IMPOSSIBLE"); } // if the player has already bought this mutation @@ -145,8 +144,7 @@ int mutation_buy(struct game *current_game, const struct cursor c, const int mut { current_game->mutations_selected[mutation_menu - 1] = id; update_disease(current_game); - const char *msg[5] = {"mutation", "selectionnee", "", "", ""}; - message(msg); + message("MUTATION SELECTIONNEE"); } }