From 03016fb61ccc40744c70d093c2739f3ceb65dca5 Mon Sep 17 00:00:00 2001 From: Tituya Date: Sat, 3 Jul 2021 01:44:43 +0200 Subject: [PATCH] grid + mutations layout + cursor --- CMakeLists.txt | 1 + assets-cg/cursor.png | Bin 698 -> 1260 bytes assets-cg/grid.png | Bin 0 -> 8132 bytes assets-cg/infos.png | Bin 0 -> 25084 bytes assets-cg/mutations.png | Bin 15723 -> 5314 bytes src/core.c | 8 ++++---- src/display_engine.c | 17 ++++++++++------- 7 files changed, 15 insertions(+), 11 deletions(-) create mode 100644 assets-cg/grid.png create mode 100644 assets-cg/infos.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d27207..98adcb5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,7 @@ set(ASSETS_cg assets-cg/planes.png assets-cg/map.png assets-cg/message.png + assets-cg/grid.png assets-cg/mutations.png assets-cg/cursor.png assets-cg/title.png diff --git a/assets-cg/cursor.png b/assets-cg/cursor.png index c16cb9b8c63014e53cfb328c4f8ad5f53403258d..4e1f3ca9f2c8b575ae04b8b109f877fce40745ac 100644 GIT binary patch delta 874 zcmV-w1C{)`1?&kSiBL{Q4GJ0x0000DNk~Le0000i000132nGNE0FE~m*0CXy0e=G{ zNkldu7Sg_ zIV@-mY{tGfUgzP=ck)T#Vc5>R#DAFBxd-;AaQ7=oZ_c0Q2W20KOs7eD!HM<8L+Hd0 z491f8_Mj8uu_T8VeGG|UEXn0TCw@SRL0FR0icWz1Jdk5BmgKfflYCku5riezXrWc` z+y94{2rRi)4K0G7geBMH=sawzLt>UF@3HB@d_tHSEX`h1gQZv>+_NT&jDNK&JbQJ4 zl`FhLb%7nc3Kmd?MDct)dOuBy4bT@9>KJ|!TE*s3P`&Ab(M>F1m?eVHCM>Xn9gDyb z=<1lwk&THT&|(m}ip|w6Z3)GyA{f1~oMP~Owp`(8bQkvc#S=M`dDndet8Fp7(VOkK z2A?H*EA9Dd7DL0H{wX44Lw{SUZVf9QC}McafP-6Dp#H^S9v)YO1q-yl>8j{gyj1t) ztYO6hwg-3-T|ys0d$6VxikPBxyWA4V-D}>yu~+WG*&hzTAD_q7Yd&FflxPR`KseCm zUbBk5D6DAH7sqI94hy>Z)!f3ei!{TT&(~|d8rzxI)@$B=n3KAD&3~;A%05uL*X+c4 z<015^*E|?Y-rIvFz2+b+$>BvGLn0VUa(U2+9}u&S!IGR-^k;>o=YgDUESBW9Oq128 zwID3HMhmTiZ@*}wplG5+@RP9QnkV!=Y}a^zFYdAV!E8d98!XITbAyHW0^p7{S!66; z;mNBDEM4IRstaWBB7ayw84|_w@zZ+E+JZtI!%sr%*nJdKZ@OS~6AKt-i6FEI3+!OW zB5+u**}4c${D7Ku47!fpt6SPguQ?dKv7BP?eYR7tISAc_J$~^-&SYJ^<|Dtd#Zas( z$u-nov$N8!UURb;3ik9*=@DRZ@<%qbh3eL@;(;=^c#$iEfj?VVz}Rc<-D&rP1q(QO z%_91a>b{&ctXRO=YbNNs^0zZQSknnbOwnup2hOY$&kKg?+W-In07*qoM6N<$g0-Wn AKL7v# delta 308 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 BXu<#h literal 15723 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 diff --git a/src/core.c b/src/core.c index 5c8fb97..585492f 100644 --- a/src/core.c +++ b/src/core.c @@ -99,17 +99,17 @@ int get_inputs(const int background, int *mutation_menu, int *boost) if (key == KEY_VARS) { *mutation_menu = 4; - return 3; + return 2; } if (key == KEY_ALPHA) { - if (background == 5) return 3; + if (background == 4) return 2; else return 1; } if (key == KEY_EXIT && background == 1) return -1; - if (background == 3) + if (background == 2) { switch (key) { @@ -128,7 +128,7 @@ int get_inputs(const int background, int *mutation_menu, int *boost) // Validation case KEY_SHIFT: if (*mutation_menu == 4) return 1; - else return 5; + else return 4; break; } } diff --git a/src/display_engine.c b/src/display_engine.c index b6afbdc..1d8c066 100644 --- a/src/display_engine.c +++ b/src/display_engine.c @@ -18,6 +18,7 @@ void display_background(const int background) extern const bopti_image_t img_map; extern const bopti_image_t img_message; + extern const bopti_image_t img_grid; switch(background) { case 1: @@ -28,6 +29,7 @@ void display_background(const int background) case 3: break; case 4: + dimage(0, 0, &img_grid); break; case 5: dimage(0, 0, &img_message); @@ -108,9 +110,9 @@ void display_foreground(const int background, const struct game *current_game, c dline(57, 60, 57 + length, 60, C_BLACK); dline(57, 61, 57 + length, 61, C_BLACK); - if (current_game->mutations_selected[0]) dsubimage(7, 15, &img_mutations, 0, 16 * (current_game->mutations_selected[0] - 1), 15, 15, 0); - if (current_game->mutations_selected[1]) dsubimage(37, 15, &img_mutations, 16, 16 * (current_game->mutations_selected[1] - 1), 15, 15, 0); - if (current_game->mutations_selected[2]) dsubimage(67, 15, &img_mutations, 32, 16 * (current_game->mutations_selected[2] - 1), 15, 15, 0); + if (current_game->mutations_selected[0]) dsubimage(7, 15, &img_mutations, 0, 44 * (current_game->mutations_selected[0] - 1), 44, 44, 0); + if (current_game->mutations_selected[1]) dsubimage(37, 15, &img_mutations, 44, 44 * (current_game->mutations_selected[1] - 1), 44, 44, 0); + if (current_game->mutations_selected[2]) dsubimage(67, 15, &img_mutations, 88, 44 * (current_game->mutations_selected[2] - 1), 44, 44, 0); break; } } @@ -123,14 +125,15 @@ void display_mutation(const int table[4][8], const struct cursor c, const int mu dclear(C_WHITE); display_background(4); + dprint(106,14,C_WHITE,"test menu"); for (int i = 0 ; i < 4 ; i++) { for (int j = 0 ; j < 8; j++) { - if (table[i][j]) dsubimage(j*16, i*16, &img_mutations, 16 * (mutation_menu - 1), 16 * (table[i][j] - 1), 15, 15, DIMAGE_NONE); + if (table[i][j]) dsubimage(j*44+22, i*44+46, &img_mutations, 44 * (mutation_menu - 1), 44 * (table[i][j] - 1), 44, 44, DIMAGE_NONE); } } - dsubimage((16 * c.x) - 1, (16 * c.y) - 1, &img_cursor, 0, 17 * (c.display), 17, 17, DIMAGE_NONE); + dsubimage((44 * c.x)+22, (44 * c.y)+46, &img_cursor, 0, 44 * (c.display), 44, 44, DIMAGE_NONE); dupdate(); } @@ -147,7 +150,7 @@ void display_mutation_buy(const struct cursor c, const int mutation_menu, const dclear(C_WHITE); display_background(3); - dsubimage(3, 21, &img_mutations, 16 * (mutation_menu - 1), 16 * (id - 1), 15, 15, DIMAGE_NONE); + dsubimage(3, 21, &img_mutations, 44 * (mutation_menu - 1), 44 * (id - 1), 44, 44, DIMAGE_NONE); dprint(47, 25, C_BLACK, mutation_data->name); if (!current_game->mutations_bought[mutation_menu - 1][id - 1]) dprint(81, 33, C_BLACK, "%d", mutation_data->dna); @@ -172,7 +175,7 @@ void display_mutation_description(const char *name, const char *description, con dclear(C_WHITE); display_background(6); - dsubimage(3, 21, &img_mutations, 16 * (mutation_menu - 1), 16 * (id - 1), 15, 15, DIMAGE_NONE); + dsubimage(3, 21, &img_mutations, 44 * (mutation_menu - 1), 44 * (id - 1), 44, 44, DIMAGE_NONE); dprint(47, 25, C_BLACK, name); for (int i = 0; i < 4; i ++)