diff options
author | Oxore <oxore@protonmail.com> | 2017-12-02 10:35:47 +0300 |
---|---|---|
committer | Oxore <oxore@protonmail.com> | 2017-12-02 10:35:47 +0300 |
commit | 3768cde7594ee1c39b09e14369452652282e66e8 (patch) | |
tree | 5d925a33484adcd3a0b4dca2904b3ba865c62544 | |
parent | 0bdb97ed81ec84bd587c08f1726b86af6d268d08 (diff) |
Apply loading from yaml file for texts in menu
-rw-r--r-- | dat/ya.yaml | 4 | ||||
-rw-r--r-- | src/main.c | 33 | ||||
-rw-r--r-- | src/text.c | 4 |
3 files changed, 15 insertions, 26 deletions
diff --git a/dat/ya.yaml b/dat/ya.yaml index b6882ce..1086999 100644 --- a/dat/ya.yaml +++ b/dat/ya.yaml @@ -31,6 +31,6 @@ scene: "menu" text: "Press \"S\" to start" font: "Arial" - size: 36 - x: 266 + size: 20 + x: 276 y: 200 @@ -6,8 +6,6 @@ Window w = {.mode = {450, 520, 32}}; Game game = {.isStarted = 0, .scoreCurrent = 0, .level = 1}; List *texts; -Text menu1; -Text menu2; Text score; Text level; sfFont *fontScore; @@ -58,22 +56,6 @@ void prepare() { sfText_setCharacterSize(level.sfText, 20); sfText_setPosition(level.sfText, (sfVector2f){.x = 250+10+10, .y = 44}); - /* - * Menu texts - * - */ - menu1.sfText = sfText_create(); - sfText_setFont(menu1.sfText, fontScore); - sfText_setCharacterSize(menu1.sfText, 36); - sfText_setPosition(menu1.sfText, (sfVector2f){.x = 250+10+30, .y = 100}); - sfText_setString(menu1.sfText, "TETRIS"); - - menu2.sfText = sfText_create(); - sfText_setFont(menu2.sfText, fontScore); - sfText_setCharacterSize(menu2.sfText, 20); - sfText_setPosition(menu2.sfText, (sfVector2f){.x = 250+10+16, .y = 200}); - sfText_setString(menu2.sfText, "Press \"S\" to start"); - w.window = sfRenderWindow_create(w.mode, windowName_conf, sfResize | sfClose, @@ -109,11 +91,19 @@ void menuTick() } } +void drawTextsAtScene(List *texts, char *scene, sfRenderWindow *window) { + List *t = texts; + while (t) { + if (!strcmp(((Text *)t->obj)->scene, scene)) + sfRenderWindow_drawText(window, ((Text *)t->obj)->sfText, NULL); + t = t->next; + } +} + void menuLoop() { menuTick(); drawFld(w.window); - sfRenderWindow_drawText(w.window, menu1.sfText, NULL); - sfRenderWindow_drawText(w.window, menu2.sfText, NULL); + drawTextsAtScene(texts, "menu", w.window); if (sfKeyboard_isKeyPressed(sfKeyS) == 1) { game.isStarted = 1; freeFld(); @@ -144,8 +134,7 @@ int main() freeFld(); sfRenderWindow_destroy(w.window); sfText_destroy(score.sfText); - sfText_destroy(menu1.sfText); - sfText_destroy(menu2.sfText); + ListOfText_free(&texts); return EXIT_SUCCESS; } @@ -210,7 +210,7 @@ void _loadText_initSfText(Text *objo, void *obji) int size = _loadText_getInt(obji, "size"); char *text = _loadText_getString(obji, "text"); objo->sfText = sfText_create(); - //sfText_setFont(objo->sfText, fontScore); + sfText_setFont(objo->sfText, fontScore); sfText_setCharacterSize(objo->sfText, size); sfText_setPosition(objo->sfText, pos); sfText_setString(objo->sfText, text); @@ -242,7 +242,7 @@ void Text_free(Text *obj) free(obj->scene); free(obj->text); free(obj->font); - //sfText_destroy(obj->sfText); + sfText_destroy(obj->sfText); free(obj); } |