Fixed waiting on extra keypress to exit on Windows and onOverlayUpdated() not being called for every video frame.
This commit is contained in:
parent
4f7c0c38b3
commit
9e943584aa
2 changed files with 34 additions and 32 deletions
|
@ -659,7 +659,7 @@ int main(int argc, char *argv[]) {
|
|||
ap_free(&parser);
|
||||
|
||||
#ifdef _WIN32
|
||||
getchar();
|
||||
if (!_confNoConsole) getchar();
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -2354,6 +2354,7 @@ void singe(SDL_Window *window, SDL_Renderer *renderer) {
|
|||
lua_register(_luaContext, "discAudio", apiDiscAudio);
|
||||
lua_register(_luaContext, "discChangeSpeed", apiDiscChangeSpeed);
|
||||
lua_register(_luaContext, "discGetFrame", apiDiscGetFrame);
|
||||
lua_register(_luaContext, "discGetState", apiDiscGetState);
|
||||
lua_register(_luaContext, "discPause", apiDiscPause);
|
||||
lua_register(_luaContext, "discPauseAtFrame", apiDiscPauseAtFrame);
|
||||
lua_register(_luaContext, "discPlay", apiDiscPlay);
|
||||
|
@ -2374,19 +2375,35 @@ void singe(SDL_Window *window, SDL_Renderer *renderer) {
|
|||
lua_register(_luaContext, "fontSelect", apiFontSelect);
|
||||
lua_register(_luaContext, "fontToSprite", apiFontToSprite);
|
||||
|
||||
lua_register(_luaContext, "keyboardGetMode", apiKeyboardGetMode);
|
||||
lua_register(_luaContext, "keyboardSetMode", apiKeyboardSetMode);
|
||||
|
||||
lua_register(_luaContext, "mouseEnable", apiMouseEnable);
|
||||
lua_register(_luaContext, "mouseDisable", apiMouseDisable);
|
||||
lua_register(_luaContext, "mouseGetPosition", apiMouseGetPosition);
|
||||
lua_register(_luaContext, "mouseHowMany", apiMouseHowMany);
|
||||
lua_register(_luaContext, "mouseSetMode", apiMouseSetMode);
|
||||
|
||||
lua_register(_luaContext, "overlayClear", apiOverlayClear);
|
||||
lua_register(_luaContext, "overlayGetHeight", apiOverlayGetHeight);
|
||||
lua_register(_luaContext, "overlayGetWidth", apiOverlayGetWidth);
|
||||
lua_register(_luaContext, "overlayPrint", apiOverlayPrint);
|
||||
|
||||
lua_register(_luaContext, "singeGetPauseFlag", apiSingeGetPauseFlag);
|
||||
lua_register(_luaContext, "singeSetPauseFlag", apiSingeSetPauseFlag);
|
||||
lua_register(_luaContext, "singeEnablePauseKey", apiSingeEnablePauseKey);
|
||||
lua_register(_luaContext, "singeDisablePauseKey", apiSingeDisablePauseKey);
|
||||
lua_register(_luaContext, "singeQuit", apiSingeQuit);
|
||||
lua_register(_luaContext, "singeVersion", apiSingeVersion);
|
||||
lua_register(_luaContext, "singeSetGameName", apiSingeSetGameName);
|
||||
lua_register(_luaContext, "singeGetScriptPath", apiSingeGetScriptPath);
|
||||
|
||||
lua_register(_luaContext, "soundLoad", apiSoundLoad);
|
||||
lua_register(_luaContext, "soundPlay", apiSoundPlay);
|
||||
lua_register(_luaContext, "soundPause", apiSoundPause); // rdg
|
||||
lua_register(_luaContext, "soundResume", apiSoundResume); //
|
||||
lua_register(_luaContext, "soundIsPlaying", apiSoundIsPlaying); //
|
||||
lua_register(_luaContext, "soundStop", apiSoundStop); //
|
||||
lua_register(_luaContext, "soundPause", apiSoundPause);
|
||||
lua_register(_luaContext, "soundResume", apiSoundResume);
|
||||
lua_register(_luaContext, "soundIsPlaying", apiSoundIsPlaying);
|
||||
lua_register(_luaContext, "soundStop", apiSoundStop);
|
||||
lua_register(_luaContext, "soundSetVolume", apiSoundSetVolume);
|
||||
lua_register(_luaContext, "soundGetVolume", apiSoundGetVolume);
|
||||
lua_register(_luaContext, "soundFullStop", apiSoundFullStop);
|
||||
|
@ -2401,23 +2418,6 @@ void singe(SDL_Window *window, SDL_Renderer *renderer) {
|
|||
lua_register(_luaContext, "vldpGetWidth", apiVldpGetWidth);
|
||||
lua_register(_luaContext, "vldpSetVerbose", apiVldpVerbose);
|
||||
|
||||
// by RDG2010
|
||||
lua_register(_luaContext, "keyboardGetMode", apiKeyboardGetMode);
|
||||
lua_register(_luaContext, "keyboardSetMode", apiKeyboardSetMode);
|
||||
lua_register(_luaContext, "mouseEnable", apiMouseEnable);
|
||||
lua_register(_luaContext, "mouseDisable", apiMouseDisable);
|
||||
lua_register(_luaContext, "mouseSetMode", apiMouseSetMode);
|
||||
lua_register(_luaContext, "mouseHowMany", apiMouseHowMany);
|
||||
lua_register(_luaContext, "discGetState", apiDiscGetState);
|
||||
lua_register(_luaContext, "singeGetPauseFlag", apiSingeGetPauseFlag);
|
||||
lua_register(_luaContext, "singeSetPauseFlag", apiSingeSetPauseFlag);
|
||||
lua_register(_luaContext, "singeEnablePauseKey", apiSingeEnablePauseKey);
|
||||
lua_register(_luaContext, "singeDisablePauseKey", apiSingeDisablePauseKey);
|
||||
lua_register(_luaContext, "singeQuit", apiSingeQuit);
|
||||
lua_register(_luaContext, "singeVersion", apiSingeVersion);
|
||||
lua_register(_luaContext, "singeSetGameName", apiSingeSetGameName);
|
||||
lua_register(_luaContext, "singeGetScriptPath", apiSingeGetScriptPath);
|
||||
|
||||
// Open main video file
|
||||
doIndexDisplay(-1);
|
||||
videoSetIndexCallback(doIndexDisplay);
|
||||
|
@ -2788,6 +2788,18 @@ void singe(SDL_Window *window, SDL_Renderer *renderer) {
|
|||
}
|
||||
}
|
||||
|
||||
// Update video
|
||||
thisFrame = videoUpdate(_videoHandle, &_videoTexture);
|
||||
if (_confIsFrameFile) {
|
||||
frameFileUpdate(_frameFileHandle, &_videoHandle);
|
||||
}
|
||||
// Did we get a new video frame?
|
||||
if ((thisFrame != lastFrame) && (thisFrame >= 0)) {
|
||||
lastFrame = thisFrame;
|
||||
frameClock = 0;
|
||||
_refreshDisplay = true;
|
||||
}
|
||||
|
||||
// Call game code
|
||||
if (SDL_GetTicks() > frameClock) {
|
||||
callLua("onOverlayUpdate", ">i", &intReturn);
|
||||
|
@ -2797,16 +2809,6 @@ void singe(SDL_Window *window, SDL_Renderer *renderer) {
|
|||
frameClock = SDL_GetTicks() + 15; // Don't eat all the CPU.
|
||||
}
|
||||
|
||||
// Update video
|
||||
thisFrame = videoUpdate(_videoHandle, &_videoTexture);
|
||||
if (_confIsFrameFile) {
|
||||
frameFileUpdate(_frameFileHandle, &_videoHandle);
|
||||
}
|
||||
if ((thisFrame != lastFrame) && (thisFrame >= 0)) {
|
||||
lastFrame = thisFrame;
|
||||
_refreshDisplay = true;
|
||||
}
|
||||
|
||||
// Update display
|
||||
if (_refreshDisplay || _discStopped) {
|
||||
// Sinden Gun Border
|
||||
|
|
Loading…
Add table
Reference in a new issue