Добавил возможность при "effects 1" указать минимальную прозрачность через переменную конфига "transparency"
Мой пост вчера удалили т.к. по правилам форума нельзя прикреплять скомпилированные файлы, поэтому выкладываю только diff:
Для компиляции при помощи GCC/Clang вам потребуется еще наложить данный патч:
И создать файл "meson.build":
После этого установить meson и скомпилировать командами:
Мой пост вчера удалили т.к. по правилам форума нельзя прикреплять скомпилированные файлы, поэтому выкладываю только diff:
Diff:
diff --git a/include/main.h b/include/main.h
index d6f6cff..5f7801a 100644
--- a/include/main.h
+++ b/include/main.h
@@ -1,7 +1,6 @@
#ifndef _INCLUDE_MAIN_H_
#define _INCLUDE_MAIN_H_
-#define MIN_AMOUNT 100.0f
#define FLOAT_CROUCH 49.9f
#define MAX_CLIENTS 32
#define GET_DISTANCE(a, b) ((a - b).Length2D())
diff --git a/src/main.cpp b/src/main.cpp
index eef84f8..c0cc1de 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -211,7 +211,9 @@ state_update:
if (g_Config.GetTransparency())
{
state->rendermode = kRenderTransAlpha;
- state->renderamt = g_Config.GetEffects() ? (pPlayer->GetDiff(pObject->GetIndex()) > MIN_AMOUNT) ? pPlayer->GetDiff(pObject->GetIndex()) : MIN_AMOUNT : g_Config.GetTransparency();
+ state->renderamt = (g_Config.GetEffects() && pPlayer->GetDiff(pObject->GetIndex()) > g_Config.GetTransparency())
+ ? pPlayer->GetDiff(pObject->GetIndex())
+ : g_Config.GetTransparency();
}
}
}
Diff:
diff --git a/cssdk/engine/rehlds_api.h b/cssdk/engine/rehlds_api.h
index 2f4a115..182553b 100644
--- a/cssdk/engine/rehlds_api.h
+++ b/cssdk/engine/rehlds_api.h
@@ -37,6 +37,11 @@
#define REHLDS_API_VERSION_MAJOR 3
#define REHLDS_API_VERSION_MINOR 0
+typedef enum sv_delta_s {
+ sv_packet_nodelta,
+ sv_packet_delta
+} sv_delta_t;
+
//Steam_NotifyClientConnect hook
typedef IHookChain<qboolean, IGameClient*, const void*, unsigned int> IRehldsHook_Steam_NotifyClientConnect;
typedef IHookChainRegistry<qboolean, IGameClient*, const void*, unsigned int> IRehldsHookRegistry_Steam_NotifyClientConnect;
diff --git a/include/engine_rehlds_api.h b/include/engine_rehlds_api.h
index 2fccc5b..3fd6780 100644
--- a/include/engine_rehlds_api.h
+++ b/include/engine_rehlds_api.h
@@ -7,11 +7,6 @@ extern IRehldsApi* g_RehldsApi;
extern IRehldsHookchains* g_RehldsHookchains;
extern bool RehldsApi_Init();
-typedef enum sv_delta_s {
- sv_packet_nodelta,
- sv_packet_delta
-} sv_delta_t;
-
typedef struct packet_entities_s {
int num_entities;
unsigned char flags[32];
Код:
project('ReSemiclip', 'cpp')
cppflags = [
'-std=c++17',
'-D_vsnprintf=vsnprintf',
'-m32',
'-w'
]
ldflags = '-m32'
inc = include_directories(
'.',
'include',
'cssdk/common',
'cssdk/dlls',
'cssdk/engine',
'cssdk/game_shared',
'cssdk/pm_shared',
'cssdk/public',
'metamod'
)
src = [
'src/h_export.cpp',
'src/gamedll_api.cpp',
'src/engine_rehlds_api.cpp',
'src/meta_api.cpp',
'src/main.cpp',
'src/config.cpp',
'cssdk/public/interface.cpp'
]
cpp = meson.get_compiler('cpp')
dl = cpp.find_library('dl')
shared_library('resemiclip', src, include_directories: inc, cpp_args: cppflags, link_args: ldflags, dependencies: dl)
Код:
mkdir build
cd build
meson --buildtype=release ..
ninja
Последнее редактирование: