Synced with engine repo and fixed compiling
diff --git a/src/engine/API/cgame_api.h b/src/engine/API/cgame_api.h
index 6e02d71..d1a19c9 100644
--- a/src/engine/API/cgame_api.h
+++ b/src/engine/API/cgame_api.h
@@ -29,13 +29,6 @@
#ifndef __CG_API_H__
#define __CG_API_H__
-#ifndef __Q_SHARED_H__
-#include <qcommon/q_shared.h>
-#endif
-#ifndef __R_TYPES_H__
-#include <GPURenderer/r_types.h>
-#endif
-
#define CGAME_IMPORT_API_VERSION 5
#define CAM_PRIMARY 0
@@ -62,7 +55,6 @@ struct cgameImports_t
void( *AddCommand )( StringEntry cmdName, StringEntry cmdDesc );
void( *RemoveCommand )( StringEntry cmdName );
void( *SendClientCommand )( StringEntry s );
- void( *UpdateScreen )( void );
void( *GetCurrentSnapshotNumber )( S32* snapshotNumber, S32* serverTime );
S32( *MemoryRemaining )( void );
bool( *loadCamera )( S32 camNum, StringEntry name );
@@ -121,6 +113,7 @@ struct cgameImports_t
idCmdSystem* cmdSystem;
idSystem* idsystem;
idClientGUISystem* idGUISystem;
+ idClientScreenSystem* clientScreenSystem;
};
class idCGame
diff --git a/src/engine/API/clientScreen_api.h b/src/engine/API/clientScreen_api.h
new file mode 100644
index 0000000..b670f0b
--- /dev/null
+++ b/src/engine/API/clientScreen_api.h
@@ -0,0 +1,42 @@
+////////////////////////////////////////////////////////////////////////////////////////
+// Copyright(C) 2020 Dusan Jocic <dusanjocic@msn.com>
+//
+// This file is part of the OpenWolf GPL Source Code.
+// OpenWolf Source Code is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// OpenWolf Source Code is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with OpenWolf Source Code. If not, see <http://www.gnu.org/licenses/>.
+//
+// -------------------------------------------------------------------------------------
+// File name: clientScreen_api.h
+// Created:
+// Compilers: Microsoft Visual C++ 2019, gcc (Ubuntu 8.3.0-6ubuntu1) 8.3.0
+// Description:
+// -------------------------------------------------------------------------------------
+////////////////////////////////////////////////////////////////////////////////////////
+
+#ifndef __CLIENTSCREEN_API_H__
+#define __CLIENTSCREEN_API_H__
+
+//
+// idClientScreenSystem
+//
+class idClientScreenSystem
+{
+public:
+
+ virtual void UpdateScreen( void ) = 0;
+};
+
+extern idClientScreenSystem* clientScreenSystem;
+
+#endif // !__CLIENTSCREEN_API_H__
+
diff --git a/src/engine/API/gui_api.h b/src/engine/API/gui_api.h
index b616469..9b4f7aa 100644
--- a/src/engine/API/gui_api.h
+++ b/src/engine/API/gui_api.h
@@ -29,16 +29,6 @@
#ifndef __GUI_PUBLIC_H__
#define __GUI_PUBLIC_H__
-#ifndef __Q_SHARED_H__
-#include <qcommon/q_shared.h>
-#endif
-#ifndef __R_TYPES_H__
-#include <GPURenderer/r_types.h>
-#endif
-#ifndef __CGAME_API__
-#include <API/cgame_api.h>
-#endif
-
#define UI_API_VERSION 1
typedef enum
@@ -191,7 +181,6 @@ struct guiImports_t
{
void( *Print )( StringEntry fmt, ... );
void( *Error )( S32 level, StringEntry fmt, ... );
- void( *UpdateScreen )( void );
void( *CheckAutoUpdate )( void );
void( *GetAutoUpdate )( void );
S32( *Parse_LoadSourceHandle )( StringEntry filename );
@@ -227,6 +216,7 @@ struct guiImports_t
idCGame* idcgame;
idClientLANSystem* idLANSystem;
idClientGUISystem* idGUISystem;
+ idClientScreenSystem* clientScreenSystem;
};
//
diff --git a/src/gameLogics/GUI/gui_api.cpp b/src/gameLogics/GUI/gui_api.cpp
index f56cedf..4e4737b 100644
--- a/src/gameLogics/GUI/gui_api.cpp
+++ b/src/gameLogics/GUI/gui_api.cpp
@@ -41,6 +41,7 @@ idSystem* idsystem;
idCGame* idCgame;
idClientLANSystem* idLANSystem;
idClientGUISystem* idGUISystem;
+idClientScreenSystem* idScreenSystem;
#ifdef __LINUX__
extern "C" idUserInterfaceManager* dllEntry( guiImports_t* guiimports )
@@ -60,6 +61,7 @@ Q_EXPORT idUserInterfaceManager* dllEntry( guiImports_t* guiimports )
idCgame = imports->idcgame;
idLANSystem = imports->idLANSystem;
idGUISystem = imports->idGUISystem;
+ idScreenSystem = imports->clientScreenSystem;
return uiManager;
}
@@ -266,7 +268,7 @@ void trap_R_ModelBounds( clipHandle_t model, vec3_t mins, vec3_t maxs )
void trap_UpdateScreen( void )
{
- imports->UpdateScreen();
+ imports->clientScreenSystem->UpdateScreen();
}
S32 trap_CM_LerpTag( orientation_t* tag, clipHandle_t mod, S32 startFrame, S32 endFrame, F32 frac, StringEntry tagName )
diff --git a/src/gameLogics/GUI/gui_precompiled.h b/src/gameLogics/GUI/gui_precompiled.h
index 0e2340a..9270f54 100644
--- a/src/gameLogics/GUI/gui_precompiled.h
+++ b/src/gameLogics/GUI/gui_precompiled.h
@@ -56,6 +56,7 @@
#include <sgame/tremulous.h>
#include <framework/SurfaceFlags_Tech3.h>
#include <API/cm_api.h>
+#include <API/clientScreen_api.h>
#include <API/clientGUI_api.h>
#include <API/clientGame_api.h>
#include <API/clientLAN_api.h>
diff --git a/src/gameLogics/cgame/cgame_api.cpp b/src/gameLogics/cgame/cgame_api.cpp
index 3c07b66..4129ad0 100644
--- a/src/gameLogics/cgame/cgame_api.cpp
+++ b/src/gameLogics/cgame/cgame_api.cpp
@@ -41,6 +41,7 @@ idCmdBufferSystem* cmdBufferSystem;
idCmdSystem* cmdSystem;
idSystem* idsystem;
idClientGUISystem* idGUISystem;
+idClientScreenSystem* idScreenSystem;
#ifdef __LINUX__
extern "C" idCGame* dllEntry( cgameImports_t* cgimports )
@@ -60,6 +61,7 @@ Q_EXPORT idCGame* dllEntry( cgameImports_t* cgimports )
cmdSystem = imports->cmdSystem;
idsystem = imports->idsystem;
idGUISystem = imports->idGUISystem;
+ idScreenSystem = imports->clientScreenSystem;
return cgame;
}
@@ -186,7 +188,7 @@ void trap_SendClientCommand( StringEntry s )
void trap_UpdateScreen( void )
{
- imports->UpdateScreen();
+ imports->clientScreenSystem->UpdateScreen();
}
void trap_CM_LoadMap( StringEntry mapname )
diff --git a/src/gameLogics/cgame/cgame_precompiled.h b/src/gameLogics/cgame/cgame_precompiled.h
index b624af3..f380b2e 100644
--- a/src/gameLogics/cgame/cgame_precompiled.h
+++ b/src/gameLogics/cgame/cgame_precompiled.h
@@ -56,6 +56,7 @@
#include <framework/SurfaceFlags_Tech3.h>
#include <qcommon/qfiles.h>
#include <API/cm_api.h>
+#include <API/clientScreen_api.h>
#include <API/clientAVI_api.h>
#include <API/clientGame_api.h>
#include <API/clientGUI_api.h>
GitHub
sha: 5e2f242a