From 4d3b06ea5059ab14359f648078933bb352061a38 Mon Sep 17 00:00:00 2001 From: kichikuou Date: Sun, 31 Mar 2019 16:46:29 +0900 Subject: [PATCH] Fix freeze during fade in/out --- src/sys/nact_sys3.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/sys/nact_sys3.cpp b/src/sys/nact_sys3.cpp index 1187731..ef02c2a 100644 --- a/src/sys/nact_sys3.cpp +++ b/src/sys/nact_sys3.cpp @@ -1398,7 +1398,9 @@ void NACT::cmd_y() Uint32 dwStart = SDL_GetTicks(); for(int i = 0; i < 16; i++) { ags->fade_in(i); - SDL_Delay(dwStart + param * 1000 / 60 * i - SDL_GetTicks()); + int32 ms = dwStart + param * 1000 / 60 * i - SDL_GetTicks(); + if (ms > 0) + SDL_Delay(ms); } ags->fade_end(); } @@ -1410,7 +1412,9 @@ void NACT::cmd_y() Uint32 dwStart = SDL_GetTicks(); for(int i = 0; i < 16; i++) { ags->fade_out(i, (cmd == 41) ? false : true); - SDL_Delay(dwStart + param * 1000 / 60 * i - SDL_GetTicks()); + int32 ms = dwStart + param * 1000 / 60 * i - SDL_GetTicks(); + if (ms > 0) + SDL_Delay(ms); } } break;