From ac956a9b4f1683ebacdd14e9d1ad9f2c464020f0 Mon Sep 17 00:00:00 2001 From: nillerusr Date: Sat, 4 Jun 2022 23:08:40 +0300 Subject: [PATCH] game: small fixes --- game/client/c_vote_controller.cpp | 2 +- game/server/triggers.cpp | 4 +++- launcher/android.cpp | 19 ++++++++++++++----- launcher_main/main.cpp | 3 +++ togles/linuxwin/dxabstract.cpp | 6 +++++- 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/game/client/c_vote_controller.cpp b/game/client/c_vote_controller.cpp index 52184061..b750c2a9 100644 --- a/game/client/c_vote_controller.cpp +++ b/game/client/c_vote_controller.cpp @@ -30,7 +30,7 @@ END_RECV_TABLE() void C_VoteController::RecvProxy_VoteType( const CRecvProxyData *pData, void *pStruct, void *pOut ) { C_VoteController *pMe = (C_VoteController *)pStruct; - if( pMe->m_iActiveIssueIndex == pData->m_Value.m_Int ) + if( memcmp( &pMe->m_iActiveIssueIndex, &pData->m_Value.m_Int, sizeof(pData->m_Value.m_Int)) == 0 ) return; memcpy( &pMe->m_iActiveIssueIndex, &pData->m_Value.m_Int, sizeof(pData->m_Value.m_Int) ); diff --git a/game/server/triggers.cpp b/game/server/triggers.cpp index 295e826a..94b0323a 100644 --- a/game/server/triggers.cpp +++ b/game/server/triggers.cpp @@ -2517,6 +2517,8 @@ LINK_ENTITY_TO_CLASS( trigger_autosave, CTriggerSave ); //----------------------------------------------------------------------------- void CTriggerSave::Spawn( void ) { + m_minHitPoints = 1; + if ( g_pGameRules->IsDeathmatch() ) { UTIL_Remove( this ); @@ -2534,7 +2536,7 @@ void CTriggerSave::Spawn( void ) void CTriggerSave::Touch( CBaseEntity *pOther ) { // Only save on clients - if ( !pOther->IsPlayer() ) + if ( !pOther->IsPlayer() || !pOther->IsAlive() ) return; if ( m_fDangerousTimer != 0.0f ) diff --git a/launcher/android.cpp b/launcher/android.cpp index ceb7cb3f..7e5b4aa6 100644 --- a/launcher/android.cpp +++ b/launcher/android.cpp @@ -2,6 +2,17 @@ #include #include +#ifdef ANDROID +#include + +#define TAG "SRCENG" +#define PRIO ANDROID_LOG_DEBUG +#define LogPrintf(...) do { __android_log_print(PRIO, TAG, __VA_ARGS__); printf( __VA_ARGS__); } while( 0 ); + +#else +#define LogPrintf(...) printf(__VA_ARGS__) +#endif + typedef void (*t_set_getprocaddress)(void *(*new_proc_address)(const char *)); t_set_getprocaddress gl4es_set_getprocaddress; @@ -18,13 +29,13 @@ void InitGL4ES() void *lgl4es = dlopen("libgl4es.so", RTLD_LAZY); if( !lgl4es ) { - printf("Failed to dlopen library libgl4es.so: %s\n", dlerror()); + LogPrintf("Failed to dlopen library libgl4es.so: %s\n", dlerror()); } void *lEGL = dlopen("libEGL.so", RTLD_LAZY); if( !lEGL ) { - printf("Failed to dlopen library libEGL.so: %s\n", dlerror()); + LogPrintf("Failed to dlopen library libEGL.so: %s\n", dlerror()); } gl4es_set_getprocaddress = (t_set_getprocaddress)dlsym(lgl4es, "set_getprocaddress"); @@ -36,13 +47,11 @@ void InitGL4ES() } else { - printf("Failed to call set_getprocaddress\n"); + LogPrintf("Failed to call set_getprocaddress\n"); } } #ifdef ANDROID - -#include #include #include #include diff --git a/launcher_main/main.cpp b/launcher_main/main.cpp index 90aafcc3..4740ac88 100644 --- a/launcher_main/main.cpp +++ b/launcher_main/main.cpp @@ -217,6 +217,9 @@ static void WaitForDebuggerConnect( int argc, char *argv[], int time ) int main( int argc, char *argv[] ) { void *launcher = dlopen( "bin/liblauncher" DLL_EXT_STRING, RTLD_NOW ); + if ( !launcher ) + fprintf( stderr, "%s\nFailed to load the launcher\n", dlerror() ); + if( !launcher ) launcher = dlopen( "bin/launcher" DLL_EXT_STRING, RTLD_NOW ); diff --git a/togles/linuxwin/dxabstract.cpp b/togles/linuxwin/dxabstract.cpp index 796ac60e..a1b17a69 100644 --- a/togles/linuxwin/dxabstract.cpp +++ b/togles/linuxwin/dxabstract.cpp @@ -3769,6 +3769,10 @@ static int ShadowDepthSamplerMaskFromName( const char *pName ) { return (1<<7); } + else if ( V_stristr( pName, "skin_ps" ) ) + { + return (1<<4) | (1<<6); + } else if ( V_stristr( pName, "infected_ps" ) ) { return (1<<1); @@ -3795,7 +3799,7 @@ static int ShadowDepthSamplerMaskFromName( const char *pName ) } else if ( V_stristr( pName, "worldtwotextureblend_ps" ) ) { - return (1<<7); + return (1<<2); } else if ( V_stristr( pName, "teeth_flashlight_ps" ) ) {