From 242439c05b9559eb0fd4875e7a902243a464b667 Mon Sep 17 00:00:00 2001 From: Darks Date: Tue, 27 Oct 2020 22:47:13 +0100 Subject: [PATCH] Use keydown instead of events --- Touhou.g3a | Bin 213560 -> 213528 bytes src/dialog.c | 22 ++++++++++------------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Touhou.g3a b/Touhou.g3a index 88173b3531d2a0c56a24dce8ac2015b9eb31bce2..b9a1e56a67faab66ac70d161f368f45274b565ec 100644 GIT binary patch delta 3772 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 delta 3811 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 hLikq_characters[1])); + img_t char_flipped = img_hflip_create(*(dialog->characters[1])); img_t chars_img[2][2] = { { img_copy(*(dialog->characters[0])), img_darken_create(*(dialog->characters[0])) }, - { img_copy(tmp), - img_darken_create(tmp)} + { char_flipped, + img_darken_create(char_flipped)} }; - img_destroy(tmp); // Init text properties int current_replica = 0; @@ -34,22 +33,21 @@ void dialog(dialog_t *dialog) // Entering main loop prof_enter(prof_fps); - while(!(e.type == KEYEV_UP && e.key == KEY_EXIT) - && dialog->text[current_replica]) + while(dialog->text[current_replica]) { // Get last keyboard event - e = pollevent(); + clearevents(); // Manage events - if(e.type == KEYEV_UP && e.key == KEY_EXIT) break; - if(e.type == KEYEV_DOWN && e.key == KEY_SHIFT && wait_change == 1) + if(keydown(KEY_EXIT)) break; + if(keydown(KEY_SHIFT) && wait_change == 1) { // Reset current chars current_chars = 0; // Waiting for key up wait_change = 2; } - if(e.type == KEYEV_UP && e.key == KEY_SHIFT && wait_change == 2) + if(!keydown(KEY_SHIFT) && wait_change == 2) { // Change who's speaking talking = !talking; @@ -82,10 +80,10 @@ void dialog(dialog_t *dialog) // Display everything img_render_vram(chars_img[0][talking], DWIDTH * 0.15, - DHEIGHT * (0.15 + 0.04 * cos(time * 0.000005))); + DHEIGHT * (0.15 + 0.04 * fcos(time * 0.000005))); img_render_vram(chars_img[1][!talking], DWIDTH * 0.85 - chars_img[1][0].width, - DHEIGHT * (0.15 + 0.04 * sin(time * 0.000005))); + DHEIGHT * (0.15 + 0.04 * fsin(time * 0.000005))); display_text(dialog->text[current_replica], (int)current_chars);