diff --git a/src/game/g_main.pas b/src/game/g_main.pas
index 357f0225355986087c2fb36636f61b96a0373ac9..c2307efbfaf090f99599e1c2a97aead8d32bb07e 100644 (file)
--- a/src/game/g_main.pas
+++ b/src/game/g_main.pas
implementation
uses
- SDL, GL, GLExt, WADEDITOR, e_log, g_window,
+ SDL2, GL, GLExt, WADEDITOR, e_log, g_window,
e_graphics, e_input, g_game, g_console, g_gui,
e_sound, g_options, g_sound, g_player,
g_weapons, SysUtils, g_triggers, MAPDEF, g_map,
e_WriteLog(gLanguage, MSG_NOTIFY);
g_Language_Set(gLanguage);
- if SDL_Init(SDL_INIT_JOYSTICK or SDL_INIT_TIMER or SDL_INIT_AUDIO) < 0 then
+{$IFDEF USE_SDLMIXER}
+ if SDL_Init({SDL_INIT_JOYSTICK or SDL_INIT_TIMER or SDL_INIT_VIDEO or SDL_INIT_AUDIO}SDL_INIT_EVERYTHING) < 0 then
+{$ELSE}
+ if SDL_Init(SDL_INIT_JOYSTICK or SDL_INIT_TIMER or SDL_INIT_VIDEO) < 0 then
+{$ENDIF}
raise Exception.Create('SDL: Init failed: ' + SDL_GetError());
+ SDL_StartTextInput();
+
e_WriteLog('Entering SDLMain', MSG_NOTIFY);
{$WARNINGS OFF}
SDLMain();
{$WARNINGS ON}
+ SDL_StopTextInput();
+
e_WriteLog('Releasing SDL', MSG_NOTIFY);
SDL_Quit();
end;
if not gNoSound then
begin
- e_WriteLog('Init FMOD', MSG_NOTIFY);
- if not e_InitSoundSystem(44100, False) then e_InitSoundSystem(48000, True);
+ e_WriteLog('Initializing sound system', MSG_NOTIFY);
+ e_InitSoundSystem();
end;
e_WriteLog('Init game', MSG_NOTIFY);
procedure KeyPress(K: Word);
var
Msg: g_gui.TMessage;
- a: Integer;
begin
case K of
IK_PAUSE: // <Pause/Break>:
begin
g_GUI_ShowWindow('MainMenu');
g_Sound_PlayEx('MENU_OPEN');
- end
- else
- begin
- for a := 0 to 14 do
- charbuff[a] := charbuff[a+1];
- charbuff[15] := UpCase(Chr(K));
- Cheat();
end;
end;
end;
procedure CharPress(C: Char);
var
Msg: g_gui.TMessage;
+ a: Integer;
begin
if (not gChatShow) and ((C = '`') or (C = '~') or (C = '¸') or (C = '¨')) then
Exit;
Msg.Msg := WM_CHAR;
Msg.WParam := Ord(C);
g_ActiveWindow.OnMessage(Msg);
+ end
+ else
+ begin
+ for a := 0 to 14 do
+ charbuff[a] := charbuff[a+1];
+ charbuff[15] := UpCase(C);
+ Cheat();
end;
end;