X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fgame%2Fsdl2%2Fg_system.pas;h=fd79aa60e30f651f9ecda934dcc1d90bf1cbc674;hp=40e0dff752b0b90b3ac59a9ebf9246cb96314896;hb=d0936017ccb8a078d1b03f55478af284bb015bbc;hpb=1f8100acd63d597420f56d3796e81f5268f49de5 diff --git a/src/game/sdl2/g_system.pas b/src/game/sdl2/g_system.pas index 40e0dff..fd79aa6 100644 --- a/src/game/sdl2/g_system.pas +++ b/src/game/sdl2/g_system.pas @@ -37,6 +37,9 @@ interface procedure sys_Init; procedure sys_Final; + var (* hooks *) + sys_CharPress: procedure (ch: AnsiChar) = nil; + implementation uses @@ -46,7 +49,7 @@ implementation {$IFDEF ENABLE_HOLMES} g_holmes, sdlcarcass, fui_ctls, {$ENDIF} - g_touch, g_options, g_window, g_console, g_game, g_menu, g_gui, g_main, g_basic; + g_touch, g_options, g_window, g_console, g_game, g_menu, g_gui, g_basic; const GameTitle = 'Doom 2D: Forever (SDL 2, %s)'; @@ -522,8 +525,9 @@ implementation 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); + if @sys_CharPress <> nil then + if IsValid1251(Word(ch)) and IsPrintable1251(ch) then + sys_CharPress(sch) end; function sys_HandleInput (): Boolean;