mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-02-03 02:24:28 +00:00
Use old API to draw scoreboard and motd lines in goldsource
This commit is contained in:
parent
34c577572b
commit
ca590f2420
@ -305,3 +305,8 @@ void DLLEXPORT HUD_MobilityInterface( mobile_engfuncs_t *gpMobileEngfuncs )
|
|||||||
return;
|
return;
|
||||||
gMobileEngfuncs = gpMobileEngfuncs;
|
gMobileEngfuncs = gpMobileEngfuncs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isXashFWGS()
|
||||||
|
{
|
||||||
|
return gMobileEngfuncs != NULL;
|
||||||
|
}
|
||||||
|
@ -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
|
||||||
|
@ -235,29 +235,35 @@ 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 )
|
||||||
{
|
{
|
||||||
// xash3d: reset unicode state
|
if (isXashFWGS())
|
||||||
gEngfuncs.pfnVGUI2DrawCharacterAdditive( 0, 0, 0, 0, 0, 0, 0 );
|
|
||||||
|
|
||||||
// draw the string until we hit the null character or a newline character
|
|
||||||
for( ; *szIt != 0 && *szIt != '\n'; szIt++ )
|
|
||||||
{
|
{
|
||||||
int w = gHUD.m_scrinfo.charWidths['M'];
|
// xash3d: reset unicode state
|
||||||
if( xpos + w > iMaxX )
|
gEngfuncs.pfnVGUI2DrawCharacterAdditive( 0, 0, 0, 0, 0, 0, 0 );
|
||||||
return xpos;
|
|
||||||
if( ( *szIt == '^' ) && ( *( szIt + 1 ) >= '0') && ( *( szIt + 1 ) <= '7') )
|
|
||||||
{
|
|
||||||
szIt++;
|
|
||||||
r = colors[*szIt - '0'][0];
|
|
||||||
g = colors[*szIt - '0'][1];
|
|
||||||
b = colors[*szIt - '0'][2];
|
|
||||||
if( !*(++szIt) )
|
|
||||||
return xpos;
|
|
||||||
}
|
|
||||||
int c = (unsigned int)(unsigned char)*szIt;
|
|
||||||
xpos += gEngfuncs.pfnVGUI2DrawCharacterAdditive( xpos, ypos, c, r, g, b, 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
return xpos;
|
// draw the string until we hit the null character or a newline character
|
||||||
|
for( ; *szIt != 0 && *szIt != '\n'; szIt++ )
|
||||||
|
{
|
||||||
|
int w = gHUD.m_scrinfo.charWidths['M'];
|
||||||
|
if( xpos + w > iMaxX )
|
||||||
|
return xpos;
|
||||||
|
if( ( *szIt == '^' ) && ( *( szIt + 1 ) >= '0') && ( *( szIt + 1 ) <= '7') )
|
||||||
|
{
|
||||||
|
szIt++;
|
||||||
|
r = colors[*szIt - '0'][0];
|
||||||
|
g = colors[*szIt - '0'][1];
|
||||||
|
b = colors[*szIt - '0'][2];
|
||||||
|
if( !*(++szIt) )
|
||||||
|
return xpos;
|
||||||
|
}
|
||||||
|
int c = (unsigned int)(unsigned char)*szIt;
|
||||||
|
xpos += gEngfuncs.pfnVGUI2DrawCharacterAdditive( xpos, ypos, c, r, g, b, 0 );
|
||||||
|
}
|
||||||
|
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 )
|
||||||
|
@ -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…
x
Reference in New Issue
Block a user