From cead5831fdcbe370baf6515332ab0dbf4e085dac Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Tue, 29 Jan 2019 01:50:27 +0100 Subject: [PATCH] Implement remaning keys --- Stub/diabloui.cpp | 5 ----- Stub/miniwin_msg_sdl.cpp | 3 +++ Stub/sdlrender.cpp | 3 ++- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Stub/diabloui.cpp b/Stub/diabloui.cpp index 1b7b41979..c2ca1d46b 100644 --- a/Stub/diabloui.cpp +++ b/Stub/diabloui.cpp @@ -32,7 +32,6 @@ BOOL __stdcall UiTitleDialog(int a1) case SDL_MOUSEBUTTONDOWN: return TRUE; case SDL_QUIT: - SDL_Quit(); exit(0); } } @@ -548,7 +547,6 @@ BOOL __stdcall UiSelHeroSingDialog( } break; case SDL_QUIT: - SDL_Quit(); exit(0); } } @@ -816,7 +814,6 @@ BOOL __stdcall UiSelHeroMultDialog( } break; case SDL_QUIT: - SDL_Quit(); exit(0); } } @@ -860,7 +857,6 @@ BOOL __stdcall UiCreditsDialog(int a1) case SDL_MOUSEBUTTONDOWN: return TRUE; case SDL_QUIT: - SDL_Quit(); exit(0); } } @@ -1022,7 +1018,6 @@ int __stdcall UiSelectProvider(int a1, _SNETPROGRAMDATA *client_info, _SNETPLAYE } break; case SDL_QUIT: - SDL_Quit(); exit(0); } } diff --git a/Stub/miniwin_msg_sdl.cpp b/Stub/miniwin_msg_sdl.cpp index 2c9602917..c15dca0fb 100644 --- a/Stub/miniwin_msg_sdl.cpp +++ b/Stub/miniwin_msg_sdl.cpp @@ -13,6 +13,7 @@ static int translate_sdl_key(SDL_Keysym key) case SDLK_ESCAPE: return VK_ESCAPE; case SDLK_RETURN: + case SDLK_KP_ENTER: return VK_RETURN; case SDLK_TAB: return VK_TAB; @@ -63,6 +64,8 @@ static int translate_sdl_key(SDL_Keysym key) case SDLK_LSHIFT: case SDLK_RSHIFT: return VK_SHIFT; + case SDLK_PRINTSCREEN: + return VK_SNAPSHOT; default: if (sym >= SDLK_a && sym <= SDLK_z) { diff --git a/Stub/sdlrender.cpp b/Stub/sdlrender.cpp index bd40e4bf7..ecc97fa39 100644 --- a/Stub/sdlrender.cpp +++ b/Stub/sdlrender.cpp @@ -719,11 +719,12 @@ void FreeMenuItems() tmp = pPcxFont42yImage; pPcxFont42yImage = NULL; mem_free_dbg(tmp); - TTF_Quit(); } void SdlDiabloMainWindow() { + atexit(SDL_Quit); + atexit(TTF_Quit); SDL_Init(SDL_INIT_EVERYTHING); window = SDL_CreateWindow("Diablo", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_RESIZABLE);