diff --git a/Touhou.g3a b/Touhou.g3a index 88173b3..b9a1e56 100644 Binary files a/Touhou.g3a and b/Touhou.g3a differ diff --git a/src/dialog.c b/src/dialog.c index 4839ca7..ade71f6 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -17,14 +17,13 @@ void dialog(dialog_t *dialog) int talking = 0; // Init dialog characters pictures - img_t tmp = img_hflip_create(*(dialog->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);