diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index 918a94714df9f810469a5204a8e83d817fac5074..1923452907701501d2b724eddef191b6aeb3028e 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
SysUtils, Classes,
MAPDEF,
g_basic, g_player, e_graphics, g_res_downloader,
- g_sound, g_gui, utils, md5, mempool, xprofiler;
+ g_sound, g_gui, utils, md5, mempool, xprofiler,
+ g_touch;
type
TGameSettings = record
implementation
uses
+{$IFDEF USE_NANOGL}
+ nanoGL,
+{$ELSE}
+ GL, GLExt,
+{$ENDIF}
e_texture, g_textures, g_main, g_window, g_menu,
e_input, e_log, g_console, g_items, g_map, g_panel,
g_playermodel, g_gfx, g_options, g_weapons, Math,
g_triggers, g_monsters, e_sound, CONFIG,
g_language, g_net,
- ENet, e_msg, g_netmsg, g_netmaster, GL, GLExt,
+ ENet, e_msg, g_netmsg, g_netmaster,
sfs, wadreader, g_holmes;
EndingGameCounter: Byte = 0;
MessageText: String;
MessageTime: Word;
+ MessageLineLength: Integer = 80;
MapList: SSArray = nil;
MapIndex: Integer = -1;
MegaWAD: record
if (not g_Game_IsClient) and
(
(
- (e_KeyPressed(IK_RETURN) or e_KeyPressed(IK_KPRETURN) or e_KeyPressed(IK_SPACE))
+ (
+ e_KeyPressed(IK_RETURN) or e_KeyPressed(IK_KPRETURN) or e_KeyPressed(IK_SPACE) or
+ e_KeyPressed(VK_FIRE) or e_KeyPressed(VK_OPEN)
+ )
and (not gJustChatted) and (not gConsoleShow) and (not gChatShow)
and (g_ActiveWindow = nil)
)
begin
if g_ActiveWindow = nil then
begin
- if e_KeyPressed(gGameControls.GameControls.Chat) then
+ if e_KeyPressed(gGameControls.GameControls.Chat) or e_KeyPressed(VK_CHAT) then
g_Console_Chat_Switch(False)
- else if (e_KeyPressed(gGameControls.GameControls.TeamChat)) and
+ else if (e_KeyPressed(gGameControls.GameControls.TeamChat) or e_KeyPressed(VK_TEAM)) and
(gGameSettings.GameMode in [GM_TDM, GM_CTF]) then
g_Console_Chat_Switch(True);
end;
end else
if not gChatEnter then
if (not e_KeyPressed(gGameControls.GameControls.Chat))
- and (not e_KeyPressed(gGameControls.GameControls.TeamChat)) then
+ and (not e_KeyPressed(gGameControls.GameControls.TeamChat))
+ and (not e_KeyPressed(VK_CHAT))
+ and (not e_KeyPressed(VK_TEAM)) then
gChatEnter := True;
// Ñòàòèñòèêà ïî Tab:
if gGameOn then
IsDrawStat := (not gConsoleShow) and (not gChatShow) and
(gGameSettings.GameType <> GT_SINGLE) and
- e_KeyPressed(gGameControls.GameControls.Stat);
+ (e_KeyPressed(gGameControls.GameControls.Stat) or e_KeyPressed(VK_STATUS));
// Èãðà èäåò:
if gGameOn and not gPause and (gState <> STATE_FOLD) then
end;
// Äåëàåì ñêðèíøîò (íå ÷àùå 200 ìèëëèñåêóíä):
- if e_KeyPressed(gGameControls.GameControls.TakeScreenshot) then
+ if e_KeyPressed(gGameControls.GameControls.TakeScreenshot) or e_KeyPressed(VK_PRINTSCR) then
if (GetTimer()-LastScreenShot) > 200000 div 1000 then
begin
g_TakeScreenShot();
g_ProcessMessages();
- if e_KeyPressed(IK_TAB) then
+ if e_KeyPressed(IK_TAB) or e_KeyPressed(VK_STATUS) then
begin
if not gStatsPressed then
begin
* glBlendFunc(GL_DST_ALPHA, GL_ONE);
* draw all geometry up to and including walls (with alpha-testing, probably) -- this does lighting
*)
-
wassc := (glIsEnabled(GL_SCISSOR_TEST) <> 0);
if wassc then glGetIntegerv(GL_SCISSOR_BOX, @scxywh[0]) else glGetIntegerv(GL_VIEWPORT, @scxywh[0]);
if gGameOn then drawProfilers();
g_Holmes_DrawUI();
+
+ g_Touch_Draw;
end;
procedure g_Game_Quit();
ProcessLoading(true);
- if e_KeyPressed(IK_ESCAPE) or e_KeyPressed(IK_SPACE) then
+ if e_KeyPressed(IK_ESCAPE) or e_KeyPressed(IK_SPACE) or e_KeyPressed(VK_ESCAPE) then
begin
State := 0;
break;
procedure g_Game_Message(Msg: string; Time: Word);
begin
- MessageText := b_Text_Format(Msg);
+ MessageLineLength := (gScreenWidth - 204) div e_CharFont_GetMaxWidth(gMenuFont);
+ MessageText := b_Text_Wrap(b_Text_Format(Msg), MessageLineLength);
MessageTime := Time;
end;