Browse Source

Merge pull request #34 from FreeSlave/scoreboard_gs_fix

Use old API to draw scoreboard and motd lines in goldsource
asheep
Alibek Omarov 7 years ago committed by GitHub
parent
commit
c9c4c22438
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      cl_dll/cdll_int.cpp
  2. 6
      cl_dll/cl_util.h
  3. 8
      cl_dll/hud_redraw.cpp
  4. 3
      cl_dll/input_mouse.cpp

5
cl_dll/cdll_int.cpp

@ -305,3 +305,8 @@ void DLLEXPORT HUD_MobilityInterface( mobile_engfuncs_t *gpMobileEngfuncs )
return; return;
gMobileEngfuncs = gpMobileEngfuncs; gMobileEngfuncs = gpMobileEngfuncs;
} }
bool isXashFWGS()
{
return gMobileEngfuncs != NULL;
}

6
cl_dll/cl_util.h

@ -15,7 +15,8 @@
// //
// cl_util.h // cl_util.h
// //
#ifndef CL_UTIL_H
#define CL_UTIL_H
#include "exportdef.h" #include "exportdef.h"
#include "cvardef.h" #include "cvardef.h"
@ -179,3 +180,6 @@ inline void UnpackRGB( int &r, int &g, int &b, unsigned long ulRGB )\
} }
HSPRITE LoadSprite( const char *pszName ); HSPRITE LoadSprite( const char *pszName );
bool isXashFWGS();
#endif

8
cl_dll/hud_redraw.cpp

@ -235,6 +235,8 @@ int CHud::DrawHudString( int xpos, int ypos, int iMaxX, const char *szIt, int r,
int DrawUtfString( int xpos, int ypos, int iMaxX, const char *szIt, int r, int g, int b ) int DrawUtfString( int xpos, int ypos, int iMaxX, const char *szIt, int r, int g, int b )
{ {
if (isXashFWGS())
{
// xash3d: reset unicode state // xash3d: reset unicode state
gEngfuncs.pfnVGUI2DrawCharacterAdditive( 0, 0, 0, 0, 0, 0, 0 ); gEngfuncs.pfnVGUI2DrawCharacterAdditive( 0, 0, 0, 0, 0, 0, 0 );
@ -256,8 +258,12 @@ int DrawUtfString( int xpos, int ypos, int iMaxX, const char *szIt, int r, int g
int c = (unsigned int)(unsigned char)*szIt; int c = (unsigned int)(unsigned char)*szIt;
xpos += gEngfuncs.pfnVGUI2DrawCharacterAdditive( xpos, ypos, c, r, g, b, 0 ); xpos += gEngfuncs.pfnVGUI2DrawCharacterAdditive( xpos, ypos, c, r, g, b, 0 );
} }
return xpos; return xpos;
}
else
{
return gHUD.DrawHudString(xpos, ypos, iMaxX, szIt, r, g, b);
}
} }
int CHud::DrawHudStringLen( const char *szIt ) int CHud::DrawHudStringLen( const char *szIt )

3
cl_dll/input_mouse.cpp

@ -1,6 +1,7 @@
#include "input_mouse.h" #include "input_mouse.h"
#include "exportdef.h" #include "exportdef.h"
#include "hud.h" #include "hud.h"
#include "cl_util.h"
// shared between backends // shared between backends
Vector dead_viewangles(0, 0, 0); Vector dead_viewangles(0, 0, 0);
@ -68,7 +69,7 @@ void IN_Shutdown( void )
void IN_Init( void ) void IN_Init( void )
{ {
#ifdef SUPPORT_GOLDSOURCE_INPUT #ifdef SUPPORT_GOLDSOURCE_INPUT
if (gMobileEngfuncs) { if (isXashFWGS()) {
gEngfuncs.Con_Printf( "FWGS Xash3D input is in use\n" ); gEngfuncs.Con_Printf( "FWGS Xash3D input is in use\n" );
currentInput = &fwgsInput; currentInput = &fwgsInput;
} else { } else {

Loading…
Cancel
Save