mirror of
https://github.com/alliedmodders/amxmodx.git
synced 2024-12-27 15:25:36 +03:00
Cstrike: cs_set_user_zoom - Use a more event-based approach when mode is 0
This commit is contained in:
parent
63a0910f5b
commit
aedde87f42
@ -14,6 +14,7 @@ binary.sources = [
|
|||||||
'CstrikeNatives.cpp',
|
'CstrikeNatives.cpp',
|
||||||
'CstrikeHacks.cpp',
|
'CstrikeHacks.cpp',
|
||||||
'CstrikeUtils.cpp',
|
'CstrikeUtils.cpp',
|
||||||
|
'CstrikeUserMessages.cpp',
|
||||||
'CstrikeHLTypeConversion.cpp',
|
'CstrikeHLTypeConversion.cpp',
|
||||||
'../../../public/memtools/MemoryUtils.cpp',
|
'../../../public/memtools/MemoryUtils.cpp',
|
||||||
'../../../public/memtools/CDetour/detours.cpp',
|
'../../../public/memtools/CDetour/detours.cpp',
|
||||||
|
@ -23,15 +23,6 @@ void ShutdownHacks();
|
|||||||
void ToggleDetour_ClientCommands(bool enable);
|
void ToggleDetour_ClientCommands(bool enable);
|
||||||
void ToggleDetour_BuyCommands(bool enable);
|
void ToggleDetour_BuyCommands(bool enable);
|
||||||
|
|
||||||
extern int MessageIdArmorType;
|
|
||||||
extern int MessageIdMoney;
|
|
||||||
extern int MessageIdResetHUD;
|
|
||||||
extern int MessageIdScoreAttrib;
|
|
||||||
extern int MessageIdScoreInfo;
|
|
||||||
extern int MessageIdStatusIcon;
|
|
||||||
extern int MessageIdTeamInfo;
|
|
||||||
extern int MessageIdTextMsg;
|
|
||||||
|
|
||||||
extern AMX_NATIVE_INFO CstrikeNatives[];
|
extern AMX_NATIVE_INFO CstrikeNatives[];
|
||||||
|
|
||||||
extern IGameConfig *MainConfig;
|
extern IGameConfig *MainConfig;
|
||||||
|
@ -15,23 +15,15 @@
|
|||||||
#include "CstrikePlayer.h"
|
#include "CstrikePlayer.h"
|
||||||
#include "CstrikeUtils.h"
|
#include "CstrikeUtils.h"
|
||||||
#include "CstrikeHacks.h"
|
#include "CstrikeHacks.h"
|
||||||
|
#include "CstrikeUserMessages.h"
|
||||||
#include "CstrikeHLTypeConversion.h"
|
#include "CstrikeHLTypeConversion.h"
|
||||||
#include <CDetour/detours.h>
|
#include <CDetour/detours.h>
|
||||||
|
|
||||||
CCstrikePlayer g_players[33];
|
CCstrikePlayer g_players[33];
|
||||||
int g_zooming[33] = {0};
|
int Zooming[33];
|
||||||
|
|
||||||
bool NoKifesMode = false;
|
bool NoKifesMode = false;
|
||||||
|
|
||||||
int MessageIdArmorType;
|
|
||||||
int MessageIdMoney;
|
|
||||||
int MessageIdResetHUD;
|
|
||||||
int MessageIdScoreAttrib;
|
|
||||||
int MessageIdScoreInfo;
|
|
||||||
int MessageIdStatusIcon;
|
|
||||||
int MessageIdTeamInfo;
|
|
||||||
int MessageIdTextMsg;
|
|
||||||
|
|
||||||
// native cs_set_user_money(index, money, flash = 1);
|
// native cs_set_user_money(index, money, flash = 1);
|
||||||
static cell AMX_NATIVE_CALL cs_set_user_money(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL cs_set_user_money(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
@ -879,6 +871,8 @@ static cell AMX_NATIVE_CALL cs_set_user_model(AMX *amx, cell *params)
|
|||||||
g_players[index].SetModel(modelName);
|
g_players[index].SetModel(modelName);
|
||||||
g_players[index].SetModelled(true);
|
g_players[index].SetModelled(true);
|
||||||
|
|
||||||
|
EnableMessageHooks();
|
||||||
|
|
||||||
SETCLIENTKEYVALUE(index, GETINFOKEYBUFFER(pPlayer), "model", const_cast<char*>(g_players[index].GetModel()));
|
SETCLIENTKEYVALUE(index, GETINFOKEYBUFFER(pPlayer), "model", const_cast<char*>(g_players[index].GetModel()));
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
@ -1323,7 +1317,7 @@ static cell AMX_NATIVE_CALL cs_set_user_zoom(AMX *amx, cell *params)
|
|||||||
int mode = params[3];
|
int mode = params[3];
|
||||||
int weapon = *static_cast<int *>(MF_PlayerPropAddr(index, Player_CurrentWeapon));
|
int weapon = *static_cast<int *>(MF_PlayerPropAddr(index, Player_CurrentWeapon));
|
||||||
|
|
||||||
g_zooming[index] = 0;
|
Zooming[index] = 0;
|
||||||
|
|
||||||
if (type == CS_RESET_ZOOM)
|
if (type == CS_RESET_ZOOM)
|
||||||
{
|
{
|
||||||
@ -1371,7 +1365,8 @@ static cell AMX_NATIVE_CALL cs_set_user_zoom(AMX *amx, cell *params)
|
|||||||
|
|
||||||
if (!mode)
|
if (!mode)
|
||||||
{
|
{
|
||||||
g_zooming[index] = value;
|
Zooming[index] = value;
|
||||||
|
EnableMessageHooks();
|
||||||
}
|
}
|
||||||
|
|
||||||
set_pdata<int>(pPlayer, m_iFOV, value);
|
set_pdata<int>(pPlayer, m_iFOV, value);
|
||||||
@ -1772,31 +1767,11 @@ AMX_NATIVE_INFO CstrikeNatives[] =
|
|||||||
{nullptr, nullptr}
|
{nullptr, nullptr}
|
||||||
};
|
};
|
||||||
|
|
||||||
void MessageBegin(int msg_dest, int msg_type, const float *pOrigin, edict_t *ed)
|
|
||||||
{
|
|
||||||
// Reset player model a short while (MODELRESETTIME) after this if they are using an edited model.
|
|
||||||
if(msg_type == MessageIdResetHUD)
|
|
||||||
{
|
|
||||||
int entityIndex = ENTINDEX(ed);
|
|
||||||
|
|
||||||
if (g_zooming[entityIndex])
|
|
||||||
g_zooming[entityIndex] = 0;
|
|
||||||
|
|
||||||
if(g_players[entityIndex].GetModelled())
|
|
||||||
g_players[entityIndex].SetInspectModel(true);
|
|
||||||
//g_players[ENTINDEX(ed)].SetTime(gpGlobals->time + MODELRESETTIME);
|
|
||||||
}
|
|
||||||
|
|
||||||
RETURN_META(MRES_IGNORED);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***GetEntityAPI2******************/
|
|
||||||
void ClientDisconnect(edict_t *pEntity)
|
void ClientDisconnect(edict_t *pEntity)
|
||||||
{
|
{
|
||||||
int index = ENTINDEX(pEntity);
|
int index = ENTINDEX(pEntity);
|
||||||
g_players[index].SetModelled(false);
|
g_players[index].SetModelled(false);
|
||||||
g_zooming[index] = 0;
|
Zooming[index] = 0;
|
||||||
|
|
||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
@ -1830,16 +1805,3 @@ void PlayerPostThink(edict_t* pPlayer)
|
|||||||
}
|
}
|
||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerPreThink(edict_t *pPlayer)
|
|
||||||
{
|
|
||||||
GET_OFFSET_NO_ERROR("CBasePlayer", m_iFOV);
|
|
||||||
|
|
||||||
int entityIndex = ENTINDEX(pPlayer);
|
|
||||||
if (g_zooming[entityIndex])
|
|
||||||
{
|
|
||||||
set_pdata<int>(pPlayer, m_iFOV, g_zooming[entityIndex]);
|
|
||||||
}
|
|
||||||
|
|
||||||
RETURN_META(MRES_IGNORED);
|
|
||||||
}
|
|
||||||
|
@ -34,4 +34,7 @@ private:
|
|||||||
char model[32];
|
char model[32];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern CCstrikePlayer g_players[33];
|
||||||
|
extern int Zooming[33];
|
||||||
|
|
||||||
#endif // !defined(INCLUDED_CCSTRIKEPLAYER)
|
#endif // !defined(INCLUDED_CCSTRIKEPLAYER)
|
||||||
|
157
modules/cstrike/cstrike/CstrikeUserMessages.cpp
Normal file
157
modules/cstrike/cstrike/CstrikeUserMessages.cpp
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
// vim: set ts=4 sw=4 tw=99 noet:
|
||||||
|
//
|
||||||
|
// AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
|
||||||
|
// Copyright (C) The AMX Mod X Development Team.
|
||||||
|
//
|
||||||
|
// This software is licensed under the GNU General Public License, version 3 or higher.
|
||||||
|
// Additional exceptions apply. For full license details, see LICENSE.txt or visit:
|
||||||
|
// https://alliedmods.net/amxmodx-license
|
||||||
|
|
||||||
|
//
|
||||||
|
// Counter-Strike Module
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <amxxmodule.h>
|
||||||
|
#include "CstrikeUserMessages.h"
|
||||||
|
#include "CstrikeUtils.h"
|
||||||
|
#include "CstrikeHacks.h"
|
||||||
|
#include "CstrikePlayer.h"
|
||||||
|
|
||||||
|
bool ShouldBlock;
|
||||||
|
bool ShouldBlockHLTV;
|
||||||
|
|
||||||
|
int MessageIdArmorType;
|
||||||
|
int MessageIdHLTV;
|
||||||
|
int MessageIdMoney;
|
||||||
|
int MessageIdResetHUD;
|
||||||
|
int MessageIdScoreAttrib;
|
||||||
|
int MessageIdScoreInfo;
|
||||||
|
int MessageIdSetFOV;
|
||||||
|
int MessageIdStatusIcon;
|
||||||
|
int MessageIdTeamInfo;
|
||||||
|
int MessageIdTextMsg;
|
||||||
|
|
||||||
|
struct UserMsg
|
||||||
|
{
|
||||||
|
const char* name;
|
||||||
|
int* id;
|
||||||
|
};
|
||||||
|
|
||||||
|
UserMsg MessagesList[] =
|
||||||
|
{
|
||||||
|
{ "ArmorType" , &MessageIdArmorType },
|
||||||
|
{ "HLTV" , &MessageIdHLTV },
|
||||||
|
{ "CurWeapon" , &MessageIdMoney },
|
||||||
|
{ "ResetHUD" , &MessageIdResetHUD },
|
||||||
|
{ "ScoreAttrib", &MessageIdScoreAttrib },
|
||||||
|
{ "ScoreInfo" , &MessageIdScoreInfo },
|
||||||
|
{ "SetFOV" , &MessageIdSetFOV },
|
||||||
|
{ "StatusIcon" , &MessageIdStatusIcon },
|
||||||
|
{ "TeamInfo" , &MessageIdTeamInfo },
|
||||||
|
{ "TextMsg" , &MessageIdTextMsg },
|
||||||
|
{ nullptr , nullptr }
|
||||||
|
};
|
||||||
|
|
||||||
|
int OnRegUserMsg_Post(const char *pszName, int iSize)
|
||||||
|
{
|
||||||
|
for (size_t i = 0; MessagesList[i].name; ++i)
|
||||||
|
{
|
||||||
|
if (!*MessagesList[i].id && strcmp(MessagesList[i].name, pszName) == 0)
|
||||||
|
{
|
||||||
|
*MessagesList[i].id = META_RESULT_ORIG_RET(int);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_META_VALUE(MRES_IGNORED, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnMessageBegin(int msg_dest, int msg_type, const float *pOrigin, edict_t *pEntity)
|
||||||
|
{
|
||||||
|
switch (msg_dest)
|
||||||
|
{
|
||||||
|
case MSG_ONE:
|
||||||
|
case MSG_ONE_UNRELIABLE:
|
||||||
|
{
|
||||||
|
if (msg_type == MessageIdSetFOV)
|
||||||
|
{
|
||||||
|
int index = ENTINDEX(pEntity);
|
||||||
|
|
||||||
|
if (Zooming[index])
|
||||||
|
{
|
||||||
|
GET_OFFSET_NO_ERROR("CBasePlayer", m_iFOV);
|
||||||
|
|
||||||
|
if (get_pdata<int>(pEntity, m_iFOV) != Zooming[index])
|
||||||
|
{
|
||||||
|
set_pdata<int>(pEntity, m_iFOV, Zooming[index]);
|
||||||
|
|
||||||
|
ShouldBlock = true;
|
||||||
|
ShouldBlockHLTV = true;
|
||||||
|
|
||||||
|
RETURN_META(MRES_SUPERCEDE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (msg_type == MessageIdResetHUD)
|
||||||
|
{
|
||||||
|
int index = ENTINDEX(pEntity);
|
||||||
|
|
||||||
|
if (Zooming[index])
|
||||||
|
Zooming[index] = 0;
|
||||||
|
|
||||||
|
if (g_players[index].GetModelled())
|
||||||
|
g_players[index].SetInspectModel(true);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case MSG_SPEC:
|
||||||
|
{
|
||||||
|
if (msg_type == MessageIdHLTV && ShouldBlockHLTV)
|
||||||
|
{
|
||||||
|
ShouldBlock = true;
|
||||||
|
ShouldBlockHLTV = false;
|
||||||
|
|
||||||
|
RETURN_META(MRES_SUPERCEDE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ShouldBlockHLTV)
|
||||||
|
{
|
||||||
|
ShouldBlockHLTV = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_META(MRES_IGNORED);
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnWriteByte(int iValue)
|
||||||
|
{
|
||||||
|
if (ShouldBlock)
|
||||||
|
{
|
||||||
|
RETURN_META(MRES_SUPERCEDE);
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_META(MRES_IGNORED);
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnMessageEnd(void)
|
||||||
|
{
|
||||||
|
if (ShouldBlock)
|
||||||
|
{
|
||||||
|
ShouldBlock = false;
|
||||||
|
RETURN_META(MRES_SUPERCEDE);
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_META(MRES_IGNORED);
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnableMessageHooks()
|
||||||
|
{
|
||||||
|
if (!g_pengfuncsTable->pfnMessageBegin)
|
||||||
|
{
|
||||||
|
g_pengfuncsTable->pfnMessageBegin = OnMessageBegin;
|
||||||
|
g_pengfuncsTable->pfnWriteByte = OnWriteByte;
|
||||||
|
g_pengfuncsTable->pfnMessageEnd = OnMessageEnd;
|
||||||
|
}
|
||||||
|
}
|
30
modules/cstrike/cstrike/CstrikeUserMessages.h
Normal file
30
modules/cstrike/cstrike/CstrikeUserMessages.h
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
// vim: set ts=4 sw=4 tw=99 noet:
|
||||||
|
//
|
||||||
|
// AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
|
||||||
|
// Copyright (C) The AMX Mod X Development Team.
|
||||||
|
//
|
||||||
|
// This software is licensed under the GNU General Public License, version 3 or higher.
|
||||||
|
// Additional exceptions apply. For full license details, see LICENSE.txt or visit:
|
||||||
|
// https://alliedmods.net/amxmodx-license
|
||||||
|
|
||||||
|
//
|
||||||
|
// Counter-Strike Module
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef CSTRIKE_USER_MESSAGES_H
|
||||||
|
#define CSTRIKE_USER_MESSAGES_H
|
||||||
|
|
||||||
|
extern int MessageIdArmorType;
|
||||||
|
extern int MessageIdHLTV;
|
||||||
|
extern int MessageIdMoney;
|
||||||
|
extern int MessageIdResetHUD;
|
||||||
|
extern int MessageIdScoreAttrib;
|
||||||
|
extern int MessageIdScoreInfo;
|
||||||
|
extern int MessageIdSetFOV;
|
||||||
|
extern int MessageIdStatusIcon;
|
||||||
|
extern int MessageIdTeamInfo;
|
||||||
|
extern int MessageIdTextMsg;
|
||||||
|
|
||||||
|
void EnableMessageHooks();
|
||||||
|
|
||||||
|
#endif // CSTRIKE_USER_MESSAGES_H
|
@ -22,25 +22,6 @@ IGameConfig *MainConfig;
|
|||||||
IGameConfig *OffsetConfig;
|
IGameConfig *OffsetConfig;
|
||||||
IGameConfigManager *ConfigManager;
|
IGameConfigManager *ConfigManager;
|
||||||
|
|
||||||
struct UserMsg
|
|
||||||
{
|
|
||||||
const char* name;
|
|
||||||
int* id;
|
|
||||||
};
|
|
||||||
|
|
||||||
UserMsg MessagesList[] =
|
|
||||||
{
|
|
||||||
{ "ArmorType" , &MessageIdArmorType },
|
|
||||||
{ "CurWeapon" , &MessageIdMoney },
|
|
||||||
{ "ResetHUD" , &MessageIdResetHUD },
|
|
||||||
{ "ScoreAttrib", &MessageIdScoreAttrib },
|
|
||||||
{ "ScoreInfo" , &MessageIdScoreInfo },
|
|
||||||
{ "StatusIcon" , &MessageIdStatusIcon },
|
|
||||||
{ "TeamInfo" , &MessageIdTeamInfo },
|
|
||||||
{ "TextMsg" , &MessageIdTextMsg },
|
|
||||||
{ nullptr , nullptr }
|
|
||||||
};
|
|
||||||
|
|
||||||
int AmxxCheckGame(const char *game)
|
int AmxxCheckGame(const char *game)
|
||||||
{
|
{
|
||||||
if (strcasecmp(game, "cstrike") == 0 ||
|
if (strcasecmp(game, "cstrike") == 0 ||
|
||||||
@ -100,20 +81,6 @@ void OnPluginsLoaded()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int OnRegUserMsg_Post(const char *pszName, int iSize)
|
|
||||||
{
|
|
||||||
for (size_t i = 0; MessagesList[i].name; ++i)
|
|
||||||
{
|
|
||||||
if (!*MessagesList[i].id && strcmp(MessagesList[i].name, pszName) == 0)
|
|
||||||
{
|
|
||||||
*MessagesList[i].id = META_RESULT_ORIG_RET(int);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RETURN_META_VALUE(MRES_IGNORED, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnAmxxDetach()
|
void OnAmxxDetach()
|
||||||
{
|
{
|
||||||
ConfigManager->CloseGameConfigFile(MainConfig);
|
ConfigManager->CloseGameConfigFile(MainConfig);
|
||||||
|
@ -125,7 +125,7 @@
|
|||||||
#define FN_ClientUserInfoChanged ClientUserInfoChanged /* pfnClientUserInfoChanged() (wd) Client has updated their setinfo structure */
|
#define FN_ClientUserInfoChanged ClientUserInfoChanged /* pfnClientUserInfoChanged() (wd) Client has updated their setinfo structure */
|
||||||
// #define FN_ServerActivate ServerActivate /* pfnServerActivate() (wd) Server is starting a new map */
|
// #define FN_ServerActivate ServerActivate /* pfnServerActivate() (wd) Server is starting a new map */
|
||||||
// #define FN_ServerDeactivate ServerDeactivate /* pfnServerDeactivate() (wd) Server is leaving the map (shutdown or changelevel); SDK2 */
|
// #define FN_ServerDeactivate ServerDeactivate /* pfnServerDeactivate() (wd) Server is leaving the map (shutdown or changelevel); SDK2 */
|
||||||
#define FN_PlayerPreThink PlayerPreThink /* pfnPlayerPreThink() */
|
// #define FN_PlayerPreThink PlayerPreThink /* pfnPlayerPreThink() */
|
||||||
#define FN_PlayerPostThink PlayerPostThink /* pfnPlayerPostThink() */
|
#define FN_PlayerPostThink PlayerPostThink /* pfnPlayerPostThink() */
|
||||||
// #define FN_StartFrame StartFrame /* pfnStartFrame() */
|
// #define FN_StartFrame StartFrame /* pfnStartFrame() */
|
||||||
// #define FN_ParmsNewLevel ParmsNewLevel /* pfnParmsNewLevel() */
|
// #define FN_ParmsNewLevel ParmsNewLevel /* pfnParmsNewLevel() */
|
||||||
@ -252,7 +252,7 @@
|
|||||||
// #define FN_LightStyle LightStyle
|
// #define FN_LightStyle LightStyle
|
||||||
// #define FN_DecalIndex DecalIndex
|
// #define FN_DecalIndex DecalIndex
|
||||||
// #define FN_PointContents PointContents
|
// #define FN_PointContents PointContents
|
||||||
#define FN_MessageBegin MessageBegin
|
// #define FN_MessageBegin MessageBegin
|
||||||
// #define FN_MessageEnd MessageEnd
|
// #define FN_MessageEnd MessageEnd
|
||||||
// #define FN_WriteByte WriteByte
|
// #define FN_WriteByte WriteByte
|
||||||
// #define FN_WriteChar WriteChar
|
// #define FN_WriteChar WriteChar
|
||||||
|
@ -149,6 +149,7 @@
|
|||||||
<ClCompile Include="..\CstrikeHLTypeConversion.cpp" />
|
<ClCompile Include="..\CstrikeHLTypeConversion.cpp" />
|
||||||
<ClCompile Include="..\CstrikeNatives.cpp" />
|
<ClCompile Include="..\CstrikeNatives.cpp" />
|
||||||
<ClCompile Include="..\CstrikePlayer.cpp" />
|
<ClCompile Include="..\CstrikePlayer.cpp" />
|
||||||
|
<ClCompile Include="..\CstrikeUserMessages.cpp" />
|
||||||
<ClCompile Include="..\CstrikeUtils.cpp" />
|
<ClCompile Include="..\CstrikeUtils.cpp" />
|
||||||
<ClCompile Include="..\..\..\..\public\sdk\amxxmodule.cpp" />
|
<ClCompile Include="..\..\..\..\public\sdk\amxxmodule.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@ -160,6 +161,7 @@
|
|||||||
<ClInclude Include="..\CstrikeDatas.h" />
|
<ClInclude Include="..\CstrikeDatas.h" />
|
||||||
<ClInclude Include="..\CstrikeHacks.h" />
|
<ClInclude Include="..\CstrikeHacks.h" />
|
||||||
<ClInclude Include="..\CstrikePlayer.h" />
|
<ClInclude Include="..\CstrikePlayer.h" />
|
||||||
|
<ClInclude Include="..\CstrikeUserMessages.h" />
|
||||||
<ClInclude Include="..\moduleconfig.h" />
|
<ClInclude Include="..\moduleconfig.h" />
|
||||||
<ClInclude Include="..\..\..\..\public\sdk\amxxmodule.h" />
|
<ClInclude Include="..\..\..\..\public\sdk\amxxmodule.h" />
|
||||||
<ClInclude Include="..\CstrikeUtils.h" />
|
<ClInclude Include="..\CstrikeUtils.h" />
|
||||||
|
@ -59,6 +59,9 @@
|
|||||||
<ClCompile Include="..\CstrikeHLTypeConversion.cpp">
|
<ClCompile Include="..\CstrikeHLTypeConversion.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\CstrikeUserMessages.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\CstrikePlayer.h">
|
<ClInclude Include="..\CstrikePlayer.h">
|
||||||
@ -91,6 +94,9 @@
|
|||||||
<ClInclude Include="..\CstrikeHacks.h">
|
<ClInclude Include="..\CstrikeHacks.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\CstrikeUserMessages.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\..\..\plugins\include\cstrike.inc">
|
<None Include="..\..\..\..\plugins\include\cstrike.inc">
|
||||||
|
Loading…
Reference in New Issue
Block a user