summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bb93120)
raw | patch | inline | side by side (parent: bb93120)
author | DeaDDooMER <deaddoomer@deadsoftware.ru> | |
Sat, 29 Jan 2022 18:44:13 +0000 (21:44 +0300) | ||
committer | DeaDDooMER <deaddoomer@deadsoftware.ru> | |
Sat, 29 Jan 2022 18:44:13 +0000 (21:44 +0300) |
diff --git a/src/game/Doom2DF.lpr b/src/game/Doom2DF.lpr
index e7999c553863f7840e31b71ff6b812be1d4ca624..5a06f52c4e40bc39f5e4624cac70e2ab1ce6c27d 100644 (file)
--- a/src/game/Doom2DF.lpr
+++ b/src/game/Doom2DF.lpr
g_triggers in 'g_triggers.pas',
g_weapons in 'g_weapons.pas',
g_window in 'g_window.pas',
-{$IFNDEF HEADLESS}
- {$IFDEF USE_SYSSTUB}
- g_system in 'stub/g_system.pas',
- {$ENDIF}
- {$IFDEF USE_SDL}
- g_system in 'sdl/g_system.pas',
- {$ENDIF}
- {$IFDEF USE_SDL2}
- g_system in 'sdl2/g_system.pas',
+
+ {$IFDEF ENABLE_SYSTEM}
+ {$IFDEF USE_SYSSTUB}
+ g_system in 'stub/g_system.pas',
+ {$ENDIF}
+ {$IFDEF USE_SDL}
+ g_system in 'sdl/g_system.pas',
+ {$ENDIF}
+ {$IFDEF USE_SDL2}
+ g_system in 'sdl2/g_system.pas',
+ {$ENDIF}
{$ENDIF}
-{$ENDIF}
{$IFDEF ENABLE_RENDER}
{$I ../shared/vampimg.inc}
Time, Time_Delta: Int64;
Frame: Int64;
begin
- {$IFDEF HEADLESS}
- Result := False;
- {$ELSE}
+ {$IFDEF ENABLE_SYSTEM}
Result := sys_HandleInput();
+ {$ELSE}
+ Result := False;
{$ENDIF}
Time := GetTickCount64();
gLerpFactor := 1.0
else
gLerpFactor := nmin(1.0, (Time - Time_Old) / 28.0);
-{$IFDEF ENABLE_RENDER}
- r_Render_Draw;
- sys_Repaint;
-{$ENDIF}
+ {$IFDEF ENABLE_RENDER}
+ r_Render_Draw;
+ {$ENDIF}
+ {$IFDEF ENABLE_SYSTEM}
+ sys_Repaint;
+ {$ENDIF}
Frame := Time
end
else
InitPrep;
e_Input_Initialize;
e_InitSoundSystem(NoSound);
- {$IFNDEF HEADLESS}
+ {$IFDEF ENABLE_SYSTEM}
sys_Init;
sys_CharPress := @CharPress; (* install hook *)
sys_ScreenResize := @ScreenResize; (* install hook *)
(* g_Touch_Finalize; *)
{$IFDEF ENABLE_RENDER}
r_Render_Finalize;
+ {$ENDIF}
+ {$IFDEF ENABLE_SYSTEM}
sys_Final;
{$ENDIF}
g_Console_Finalize;
diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index 69c12409394213a367cff2e2da5ad6d95ce50769..de56a17540e941d289947a4dc780f82bb5555211 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
{$IFDEF ENABLE_RENDER}
r_render,
{$ENDIF}
- {$IFNDEF HEADLESS}
+ {$IFDEF ENABLE_SYSTEM}
g_system,
{$ENDIF}
e_res, g_window,
gExit := EXIT_QUIT;
- {$IFNDEF HEADLESS}
+ {$IFDEF ENABLE_SYSTEM}
sys_RequestQuit;
{$ENDIF}
end;
index e708c13227bfd843e38f60a4fb4a243c9e4946b4..120fcde446ff5d355e780370d129311e9723e9fb 100644 (file)
--- a/src/game/g_netmaster.pas
+++ b/src/game/g_netmaster.pas
{$IFDEF ENABLE_RENDER}
r_render,
{$ENDIF}
- {$IFNDEF HEADLESS}
+ {$IFDEF ENABLE_SYSTEM}
g_system,
{$ENDIF}
e_input, e_log, g_net, g_console,
if gConsoleShow or gChatShow then
Exit;
- {$IFDEF HEADLESS}
- qm := True;
- {$ELSE}
+ {$IFDEF ENABLE_SYSTEM}
qm := sys_HandleInput(); // this updates kbd
+ {$ELSE}
+ qm := True;
{$ENDIF}
if qm or e_KeyPressed(IK_ESCAPE) or e_KeyPressed(VK_ESCAPE) or
{$IFDEF ENABLE_RENDER}
r_Render_Draw;
{$ENDIF}
- {$IFNDEF HEALESS}
+ {$IFDEF ENABLE_SYSTEM}
sys_Repaint;
{$ENDIF}
diff --git a/src/game/g_window.pas b/src/game/g_window.pas
index 027f409b8a75938152c4c57ddc02820903ba4831..a6edeae8069d4c26e73b7784db2c47d5d73dbae5 100644 (file)
--- a/src/game/g_window.pas
+++ b/src/game/g_window.pas
{$IFDEF ENABLE_RENDER}
r_render,
{$ENDIF}
- {$IFNDEF HEADLESS}
+ {$IFDEF ENABLE_SYSTEM}
g_system,
{$ENDIF}
e_sound, g_net
procedure ProcessLoading (forceUpdate: Boolean = False);
var update: Boolean;
begin
- {$IFDEF HEADLESS}
- update := True;
- {$ELSE}
+ {$IFDEF ENABLE_SYSTEM}
update := sys_HandleInput() = False;
+ {$ELSE}
+ update := True;
{$ENDIF}
if update then
begin
index 286ce250b12e292e780e7e85a2b62872f07c1411..314c7e7ac21d663d3dc4ba4546f71f03143b52ed 100644 (file)
{$IFDEF ENABLE_CORPSES}
g_corpses,
{$ENDIF}
+ {$IFDEF ENABLE_SYSTEM}
+ g_system,
+ {$ENDIF}
SysUtils, Classes, Math,
g_base, g_basic, r_graphics,
- g_system,
MAPDEF, xprofiler, utils, wadreader, CONFIG,
e_input, e_sound,
g_language, g_console, g_triggers, g_player, g_options, g_monsters, g_map, g_panel,
begin
e_TextureFontGetSize(gStdFont, ww2, hh2);
- sys_HandleInput;
+ {$IFDEF ENABLE_SYSTEM}
+ sys_HandleInput;
+ {$ENDIF}
if g_Console_Action(ACTION_SCORES) then
begin
index 253ff7de93177bb0bab72d0665fe21a4e951ba23..2a4c3e7247226170373c12d4ce38ea07ca61444e 100644 (file)
{$IFDEF ENABLE_GFX}
r_gfx,
{$ENDIF}
+ {$IFDEF ENABLE_SYSTEM}
+ g_system,
+ {$ENDIF}
SysUtils, Classes, Math,
- e_log, g_system, utils,
+ e_log, utils,
g_game, g_options, g_console,
r_window, r_graphics, r_console, r_playermodel, r_textures, r_animations,
r_weapons, r_items, r_monsters, r_map, r_player, r_game
procedure r_Render_Initialize;
begin
- if sys_SetDisplayMode(gRC_Width, gRC_Height, gBPP, gRC_FullScreen, gRC_Maximized) = False then
- raise Exception.Create('Failed to set videomode on startup.');
+ {$IFDEF ENABLE_SYSTEM}
+ if sys_SetDisplayMode(gRC_Width, gRC_Height, gBPP, gRC_FullScreen, gRC_Maximized) = False then
+ raise Exception.Create('Failed to set videomode on startup.');
+ {$ENDIF}
LoadGL;
r_Window_Initialize;
r_Console_Init;
procedure r_Render_Apply;
begin
- if sys_SetDisplayMode(Max(1, gRC_Width), Max(1, gRC_Height), Max(1, gBPP), gRC_FullScreen, gRC_Maximized) then
- e_LogWriteln('resolution changed')
- else
- e_LogWriteln('resolution not changed');
- sys_EnableVSync(gVSync)
+ {$IFDEF ENABLE_SYSTEM}
+ if sys_SetDisplayMode(Max(1, gRC_Width), Max(1, gRC_Height), Max(1, gBPP), gRC_FullScreen, gRC_Maximized) then
+ e_LogWriteln('resolution changed')
+ else
+ e_LogWriteln('resolution not changed');
+ sys_EnableVSync(gVSync)
+ {$ENDIF}
end;
function r_Render_WriteScreenShot (filename: String): Boolean;
index 9b7100f4ea05ff642754341043a7cf188f0d8a8d..3e4075fe0d615bbdb1ccae719632740f48cc4060 100644 (file)
uses
{$INCLUDE ../nogl/noGLuses.inc}
+ {$IFDEF ENABLE_SYSTEM}
+ g_system,
+ {$ENDIF}
SysUtils, Classes,
e_log, utils,
- r_graphics, r_game, r_console, g_system,
+ r_graphics, r_game, r_console,
g_options, g_game, g_console,
xprofiler
;
e_SetViewPort(0, 0, gWinSizeX, gWinSizeY);
e_BlitFramebuffer(gWinSizeX, gWinSizeY);
- sys_Repaint;
+ {$IFDEF ENABLE_SYSTEM}
+ sys_Repaint;
+ {$ENDIF}
prevLoadingUpdateTime := getTimeMilli();
end;
end;
diff --git a/src/shared/a_modes.inc b/src/shared/a_modes.inc
index d018fa0ddcc1f35ba5b88ab36e9fde8028a4c8de..13ee251ab42e57a9271428f782b23fba338e33f4 100644 (file)
--- a/src/shared/a_modes.inc
+++ b/src/shared/a_modes.inc
{$UNDEF ENABLE_RENDER}
{$DEFINE DISABLE_RENDER}
{$ENDIF}
+ {$IFDEF ENABLE_SYSTEM}
+ {$WARNING System in headless mode has no sense. Disabled.}
+ {$UNDEF ENABLE_SYSTEM}
+ {$DEFINE DISABLE_SYSTEM}
+ {$ENDIF}
{$ENDIF}
{$IF DEFINED(ENABLE_MENU) AND DEFINED(DISABLE_MENU)}
{$ENDIF}
{$ENDIF}
+{$IF DEFINED(ENABLE_SYSTEM) AND DEFINED(DISABLE_SYSTEM)}
+ {$ERROR Select ENABLE_SYSTEM or DISABLE_SYSTEM}
+{$ELSEIF NOT DEFINED(ENABLE_SYSTEM) AND NOT DEFINED(DISABLE_SYSTEM)}
+ // default ENABLE/DISABLE system driver
+ {$IFDEF HEADLESS}
+ {$DEFINE DISABLE_SYSTEM}
+ {$ELSE}
+ {$DEFINE ENABLE_SYSTEM}
+ {$ENDIF}
+{$ENDIF}
+
{$IF DEFINED(USE_SYSSTUB)}
{$IF DEFINED(USE_SDL) OR DEFINED(USE_SDL2)}
{$ERROR Only one system driver must be selected!}
{$ERROR Holmes supported only with desktop OpenGL}
{$ENDIF}
{$ENDIF}
+
+{$IFDEF ENABLE_MENU}
+ {$IFDEF DISABLE_RENDER}
+ {$FATAL Render driver required for current menu implementation}
+ {$ENDIF}
+{$ENDIF}
+
+{$IFDEF ENABLE_TOUCH}
+ {$IFDEF DISABLE_SYSTEM}
+ {$FATAL System driver required for current touch implementation}
+ {$ENDIF}
+{$ENDIF}