X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_main.pas;h=c2307efbfaf090f99599e1c2a97aead8d32bb07e;hb=cc934f758d8d3036fa3bca8a3cca949814e04d89;hp=357f0225355986087c2fb36636f61b96a0373ac9;hpb=88ce644db1b40111bdb380f4357fa59bdb5173be;p=d2df-sdl.git diff --git a/src/game/g_main.pas b/src/game/g_main.pas index 357f022..c2307ef 100644 --- a/src/game/g_main.pas +++ b/src/game/g_main.pas @@ -20,7 +20,7 @@ var 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, @@ -49,15 +49,23 @@ begin 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; @@ -78,8 +86,8 @@ begin 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); @@ -377,7 +385,6 @@ end; procedure KeyPress(K: Word); var Msg: g_gui.TMessage; - a: Integer; begin case K of IK_PAUSE: // : @@ -479,13 +486,6 @@ begin 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; @@ -495,6 +495,7 @@ 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; @@ -507,6 +508,13 @@ begin 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;