diff --git a/dlls/cbase.cpp b/dlls/cbase.cpp index 33825e2c..72abd1fc 100644 --- a/dlls/cbase.cpp +++ b/dlls/cbase.cpp @@ -22,6 +22,8 @@ #include "gamerules.h" #include "game.h" +bool g_fIsXash3D = false; + void EntvarsKeyvalue( entvars_t *pev, KeyValueData *pkvd ); extern "C" void PM_Move ( struct playermove_s *ppmove, int server ); @@ -125,6 +127,11 @@ int GetEntityAPI2( DLL_FUNCTIONS *pFunctionTable, int *interfaceVersion ) return TRUE; } +int Server_GetPhysicsInterface( int version, server_physics_api_t *api, physics_interface_t *interface ) +{ + g_fIsXash3D = true; + return FALSE; // do not tell engine to init physics interface, as we're not using it +} #if !XASH_WIN32 } #endif diff --git a/dlls/cbase.h b/dlls/cbase.h index 831c84bb..275f0697 100644 --- a/dlls/cbase.h +++ b/dlls/cbase.h @@ -58,6 +58,11 @@ CBaseEntity extern "C" EXPORT int GetEntityAPI( DLL_FUNCTIONS *pFunctionTable, int interfaceVersion ); extern "C" EXPORT int GetEntityAPI2( DLL_FUNCTIONS *pFunctionTable, int *interfaceVersion ); +// TODO: replace this by actual definitions from physint.h +typedef void *server_physics_api_t; +typedef void *physics_interface_t; +extern "C" EXPORT int Server_GetPhysicsInterface( int version, server_physics_api_t *api, physics_interface_t *interface ); +extern bool g_fIsXash3D; extern int DispatchSpawn( edict_t *pent ); extern void DispatchKeyValue( edict_t *pentKeyvalue, KeyValueData *pkvd ); diff --git a/dlls/combat.cpp b/dlls/combat.cpp index 40f0f03d..a0bfd445 100644 --- a/dlls/combat.cpp +++ b/dlls/combat.cpp @@ -58,12 +58,6 @@ void CGib::SpawnStickyGibs( entvars_t *pevVictim, Vector vecOrigin, int cGibs ) { int i; - if( g_Language == LANGUAGE_GERMAN ) - { - // no sticky gibs in germany right now! - return; - } - for( i = 0; i < cGibs; i++ ) { CGib *pGib = GetClassPtr( (CGib *)NULL ); @@ -126,16 +120,8 @@ void CGib::SpawnHeadGib( entvars_t *pevVictim ) { CGib *pGib = GetClassPtr( (CGib *)NULL ); - if( g_Language == LANGUAGE_GERMAN ) - { - pGib->Spawn( "models/germangibs.mdl" );// throw one head - pGib->pev->body = 0; - } - else - { - pGib->Spawn( "models/hgibs.mdl" );// throw one head - pGib->pev->body = 0; - } + pGib->Spawn( "models/hgibs.mdl" );// throw one head + pGib->pev->body = 0; if( pevVictim ) { @@ -196,16 +182,8 @@ void CGib::SpawnRandomGibs(entvars_t *pevVictim, int cGibs, const char* gibModel { CGib *pGib = GetClassPtr( (CGib *)NULL ); - if( g_Language == LANGUAGE_GERMAN ) - { - pGib->Spawn( "models/germangibs.mdl" ); - pGib->pev->body = RANDOM_LONG( startGibNum, GERMAN_GIB_COUNT - 1 ); - } - else - { - pGib->Spawn( gibModel ); - pGib->pev->body = RANDOM_LONG( startGibNum, gibBodiesNum - 1 ); - } + pGib->Spawn( gibModel ); + pGib->pev->body = RANDOM_LONG( startGibNum, gibBodiesNum - 1 ); if( pevVictim ) { @@ -718,7 +696,7 @@ void CGib::BounceGibTouch( CBaseEntity *pOther ) } else { - if( g_Language != LANGUAGE_GERMAN && m_cBloodDecals > 0 && m_bloodColor != DONT_BLEED ) + if( m_cBloodDecals > 0 && m_bloodColor != DONT_BLEED ) { vecSpot = pev->origin + Vector( 0.0f, 0.0f, 8.0f );//move up a bit, and trace down. UTIL_TraceLine( vecSpot, vecSpot + Vector( 0.0f, 0.0f, -24.0f ), ignore_monsters, ENT( pev ), &tr ); diff --git a/dlls/crossbow.cpp b/dlls/crossbow.cpp index f52be735..97bc583c 100644 --- a/dlls/crossbow.cpp +++ b/dlls/crossbow.cpp @@ -27,8 +27,6 @@ #define BOLT_AIR_VELOCITY 2000 #define BOLT_WATER_VELOCITY 1000 -extern BOOL g_fIsXash3D; - // UNDONE: Save/restore this? Don't forget to set classname and LINK_ENTITY_TO_CLASS() // // OVERLOADS SOME ENTVARS: diff --git a/dlls/effects.cpp b/dlls/effects.cpp index 170306aa..176e2f3f 100644 --- a/dlls/effects.cpp +++ b/dlls/effects.cpp @@ -1309,14 +1309,7 @@ LINK_ENTITY_TO_CLASS( gibshooter, CGibShooter ) void CGibShooter::Precache( void ) { - if( g_Language == LANGUAGE_GERMAN ) - { - m_iGibModelIndex = PRECACHE_MODEL( "models/germanygibs.mdl" ); - } - else - { - m_iGibModelIndex = PRECACHE_MODEL( "models/hgibs.mdl" ); - } + m_iGibModelIndex = PRECACHE_MODEL( "models/hgibs.mdl" ); } void CGibShooter::KeyValue( KeyValueData *pkvd ) diff --git a/dlls/game.cpp b/dlls/game.cpp index 3899149f..159d58c2 100644 --- a/dlls/game.cpp +++ b/dlls/game.cpp @@ -17,8 +17,6 @@ #include "util.h" #include "game.h" -BOOL g_fIsXash3D; - cvar_t displaysoundlist = {"displaysoundlist","0"}; // multiplayer server rules @@ -728,10 +726,6 @@ cvar_t sv_busters = { "sv_busters", "0" }; // This gets called one time when the game is initialied void GameDLLInit( void ) { - // Register cvars here: - if( !CVAR_GET_POINTER( "sv_language" ) ) - g_fIsXash3D = TRUE; - g_psv_gravity = CVAR_GET_POINTER( "sv_gravity" ); g_psv_aim = CVAR_GET_POINTER( "sv_aim" ); g_footsteps = CVAR_GET_POINTER( "mp_footsteps" ); diff --git a/dlls/gearbox/penguin.cpp b/dlls/gearbox/penguin.cpp index 3e181fce..a9088a20 100644 --- a/dlls/gearbox/penguin.cpp +++ b/dlls/gearbox/penguin.cpp @@ -49,7 +49,7 @@ class CPenguinGrenade : public CGrenade int Classify(void); void EXPORT SuperBounceTouch(CBaseEntity *pOther); void EXPORT HuntThink(void); - int BloodColor(void) { return BLOOD_COLOR_YELLOW; } + int BloodColor(void) { return BLOOD_COLOR_RED; } void Killed(entvars_t *pevAttacker, int iGib); void GibMonster(void); diff --git a/dlls/globals.cpp b/dlls/globals.cpp index 28280887..f9a424c5 100644 --- a/dlls/globals.cpp +++ b/dlls/globals.cpp @@ -36,4 +36,4 @@ DLL_GLOBAL int g_iSkillLevel; DLL_GLOBAL int gDisplayTitle; DLL_GLOBAL BOOL g_fGameOver; DLL_GLOBAL const Vector g_vecZero = Vector( 0, 0, 0 ); -DLL_GLOBAL int g_Language; + diff --git a/dlls/player.cpp b/dlls/player.cpp index 2bd8d426..799862ce 100644 --- a/dlls/player.cpp +++ b/dlls/player.cpp @@ -818,7 +818,6 @@ void CBasePlayer::PackDeadPlayerItems( void ) iPW++; } -end: pWeaponBox->pev->velocity = pev->velocity * 1.2f;// weaponbox has player's velocity, then some. } RemoveAllItems( TRUE );// now strip off everything that wasn't handled by the code above. @@ -3550,13 +3549,11 @@ void CBloodSplat::Spray( void ) { TraceResult tr; - if( g_Language != LANGUAGE_GERMAN ) - { - UTIL_MakeVectors( pev->angles ); - UTIL_TraceLine( pev->origin, pev->origin + gpGlobals->v_forward * 128, ignore_monsters, pev->owner, & tr ); + UTIL_MakeVectors( pev->angles ); + UTIL_TraceLine( pev->origin, pev->origin + gpGlobals->v_forward * 128, ignore_monsters, pev->owner, & tr ); + + UTIL_BloodDecalTrace( &tr, BLOOD_COLOR_RED ); - UTIL_BloodDecalTrace( &tr, BLOOD_COLOR_RED ); - } SetThink( &CBaseEntity::SUB_Remove ); pev->nextthink = gpGlobals->time + 0.1f; } diff --git a/dlls/util.cpp b/dlls/util.cpp index 3d230106..b3d80d89 100644 --- a/dlls/util.cpp +++ b/dlls/util.cpp @@ -1116,9 +1116,6 @@ void UTIL_BloodStream( const Vector &origin, const Vector &direction, int color, if( !UTIL_ShouldShowBlood( color ) ) return; - if( g_Language == LANGUAGE_GERMAN && color == BLOOD_COLOR_RED ) - color = 0; - MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, origin ); WRITE_BYTE( TE_BLOODSTREAM ); WRITE_COORD( origin.x ); @@ -1140,9 +1137,6 @@ void UTIL_BloodDrips( const Vector &origin, const Vector &direction, int color, if( color == DONT_BLEED || amount == 0 ) return; - if( g_Language == LANGUAGE_GERMAN && color == BLOOD_COLOR_RED ) - color = 0; - if( g_pGameRules->IsMultiplayer() ) { // scale up blood effect in multiplayer for better visibility diff --git a/dlls/util.h b/dlls/util.h index 4edb8157..165dfb00 100644 --- a/dlls/util.h +++ b/dlls/util.h @@ -401,18 +401,6 @@ void DBG_AssertFunction(BOOL fExpr, const char* szExpr, const char* szFile, int extern DLL_GLOBAL const Vector g_vecZero; -// -// Constants that were used only by QC (maybe not used at all now) -// -// Un-comment only as needed -// -#define LANGUAGE_ENGLISH 0 -#define LANGUAGE_GERMAN 1 -#define LANGUAGE_FRENCH 2 -#define LANGUAGE_BRITISH 3 - -extern DLL_GLOBAL int g_Language; - #define AMBIENT_SOUND_STATIC 0 // medium radius attenuation #define AMBIENT_SOUND_EVERYWHERE 1 #define AMBIENT_SOUND_SMALLRADIUS 2 diff --git a/dlls/world.cpp b/dlls/world.cpp index 4fbf197b..feddda0e 100644 --- a/dlls/world.cpp +++ b/dlls/world.cpp @@ -522,16 +522,8 @@ void CWorld::Precache( void ) PRECACHE_SOUND( "common/bodydrop3.wav" );// dead bodies hitting the ground (animation events) PRECACHE_SOUND( "common/bodydrop4.wav" ); - g_Language = (int)CVAR_GET_FLOAT( "sv_language" ); - if( g_Language == LANGUAGE_GERMAN ) - { - PRECACHE_MODEL( "models/germangibs.mdl" ); - } - else - { - PRECACHE_MODEL( "models/hgibs.mdl" ); - PRECACHE_MODEL( "models/agibs.mdl" ); - } + PRECACHE_MODEL( "models/hgibs.mdl" ); + PRECACHE_MODEL( "models/agibs.mdl" ); PRECACHE_SOUND( "weapons/ric1.wav" ); PRECACHE_SOUND( "weapons/ric2.wav" );