X-Git-Url: https://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fgame%2Fsdl2%2Fg_system.pas;h=f46c3278669f208ae7258eef957b5caab3991d89;hp=9485fd9b6e9a0897a5eb328b7232ae8f7ac8a3d9;hb=2d2ce4c1770a59c3e780f3fd31249ce6043f374c;hpb=4171d8dd0b8d733da27c584616e431811bf0fdcf diff --git a/src/game/sdl2/g_system.pas b/src/game/sdl2/g_system.pas index 9485fd9..f46c327 100644 --- a/src/game/sdl2/g_system.pas +++ b/src/game/sdl2/g_system.pas @@ -24,7 +24,7 @@ interface procedure sys_Delay (ms: Integer); (* --- Graphics --- *) - function sys_GetDispalyModes (bpp: Integer): SSArray; + function sys_GetDisplayModes (bpp: Integer): SSArray; function sys_SetDisplayMode (w, h, bpp: Integer; fullscreen: Boolean): Boolean; procedure sys_EnableVSync (yes: Boolean); procedure sys_Repaint; @@ -128,7 +128,7 @@ implementation context := SDL_GL_CreateContext(window); if context <> nil then begin - {$IFDEF USE_NOGL} + {$IFDEF NOGL_INIT} nogl_Init; {$ENDIF} UpdateSize(w, h); @@ -167,7 +167,7 @@ implementation SDL_GL_SetSwapInterval(0) end; - function sys_GetDispalyModes (bpp: Integer): SSArray; + function sys_GetDisplayModes (bpp: Integer): SSArray; var i, count, num, pw, ph: Integer; m: TSDL_DisplayMode; begin result := nil; @@ -408,20 +408,19 @@ implementation procedure HandleTextInput (var ev: TSDL_TextInputEvent); var ch: UnicodeChar; sch: AnsiChar; begin - if g_dbg_input then - e_LogWritefln('Input Debug: text, text=%s', [ev.text]); Utf8ToUnicode(@ch, PChar(ev.text), 1); - if IsValid1251(Word(ch)) then - begin - sch := AnsiChar(wchar2win(ch)); + sch := AnsiChar(wchar2win(ch)); + if g_dbg_input then + e_LogWritefln('Input Debug: text, text="%s", ch = %s, sch = %s', [ev.text, Ord(ch), Ord(sch)]); + if IsValid1251(Word(ch)) and IsPrintable1251(ch) then CharPress(sch); - end; end; function sys_HandleInput (): Boolean; var ev: TSDL_Event; begin result := false; + ZeroMemory(@ev, sizeof(ev)); while SDL_PollEvent(@ev) <> 0 do begin case ev.type_ of @@ -475,7 +474,7 @@ implementation e_WriteLog('Releasing SDL2', TMsgType.Notify); if context <> nil then begin - {$IFDEF USE_NOGL} + {$IFDEF NOGL_INIT} nogl_Quit; {$ENDIF} SDL_GL_DeleteContext(context);