mirror of
https://github.com/alliedmodders/amxmodx.git
synced 2025-03-30 06:19:05 +03:00
Revert GetWeaponData implementation.
This commit is contained in:
parent
6ef40779e7
commit
c8abe26ec5
@ -311,6 +311,22 @@ static cell AMX_NATIVE_CALL dllfunc(AMX *amx,cell *params)
|
|||||||
pset = reinterpret_cast<unsigned char *>(*cRet);
|
pset = reinterpret_cast<unsigned char *>(*cRet);
|
||||||
|
|
||||||
return gpGamedllFuncs->dllapi_table->pfnAddToFullPack(es, iparam1, TypeConversion.id_to_edict(index), TypeConversion.id_to_edict(indexb), iparam2, iparam3, pset);
|
return gpGamedllFuncs->dllapi_table->pfnAddToFullPack(es, iparam1, TypeConversion.id_to_edict(index), TypeConversion.id_to_edict(indexb), iparam2, iparam3, pset);
|
||||||
|
case DLLFunc_GetWeaponData: // int ) (struct edict_s *player, struct weapon_data_s *info);
|
||||||
|
cRet = MF_GetAmxAddr(amx, params[2]);
|
||||||
|
index = cRet[0];
|
||||||
|
CHECK_ENTITY(index);
|
||||||
|
weapon_data_t *wd;
|
||||||
|
|
||||||
|
if ((params[0] / sizeof(cell)) == 3){
|
||||||
|
cell *ptr = MF_GetAmxAddr(amx, params[3]);
|
||||||
|
if (*ptr == 0)
|
||||||
|
wd = &g_wd_glb;
|
||||||
|
else
|
||||||
|
wd = reinterpret_cast<weapon_data_t *>(*ptr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
wd = &g_wd_glb;
|
||||||
|
return gpGamedllFuncs->dllapi_table->pfnGetWeaponData(TypeConversion.id_to_edict(index), wd);
|
||||||
case DLLFunc_CmdStart: // void ) (const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed)
|
case DLLFunc_CmdStart: // void ) (const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed)
|
||||||
cRet = MF_GetAmxAddr(amx, params[2]);
|
cRet = MF_GetAmxAddr(amx, params[2]);
|
||||||
index = cRet[0];
|
index = cRet[0];
|
||||||
|
@ -73,8 +73,8 @@ enum
|
|||||||
// You can pass in 0 for global usercmd handle or another usercmd handle here
|
// You can pass in 0 for global usercmd handle or another usercmd handle here
|
||||||
DLLFunc_CmdStart, // void ) (const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed);
|
DLLFunc_CmdStart, // void ) (const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed);
|
||||||
DLLFunc_CmdEnd, // void ) (const edict_t *player);
|
DLLFunc_CmdEnd, // void ) (const edict_t *player);
|
||||||
DLLFunc_CreateBaseline // void ) (int player, int eindex, struct entity_state_s *baseline, struct edict_s *entity, int playermodelindex, vec3_t player_mins, vec3_t player_maxs);
|
DLLFunc_CreateBaseline, // void ) (int player, int eindex, struct entity_state_s *baseline, struct edict_s *entity, int playermodelindex, vec3_t player_mins, vec3_t player_maxs);
|
||||||
|
DLLFunc_GetWeaponData // int ) (struct edict_s *player, struct weapon_data_s *info);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //_INCLUDE_DLLFUNC_H
|
#endif //_INCLUDE_DLLFUNC_H
|
||||||
|
|
||||||
|
@ -297,6 +297,7 @@ void FMH_ServerDeactivate_Post()
|
|||||||
RESETN(OnFreeEntPrivateData);
|
RESETN(OnFreeEntPrivateData);
|
||||||
RESETN(GameShutdown);
|
RESETN(GameShutdown);
|
||||||
RESETN(ShouldCollide);
|
RESETN(ShouldCollide);
|
||||||
|
RESETD(GetWeaponData);
|
||||||
|
|
||||||
g_pFunctionTable->pfnServerActivate = ServerActivate;
|
g_pFunctionTable->pfnServerActivate = ServerActivate;
|
||||||
|
|
||||||
|
@ -26,6 +26,8 @@ extern entity_state_t g_es_glb;
|
|||||||
extern entity_state_t *g_es_hook;
|
extern entity_state_t *g_es_hook;
|
||||||
extern usercmd_t g_uc_glb;
|
extern usercmd_t g_uc_glb;
|
||||||
extern usercmd_t *g_uc_hook;
|
extern usercmd_t *g_uc_hook;
|
||||||
|
extern weapon_data_t g_wd_glb;
|
||||||
|
extern weapon_data_t *g_wd_hook;
|
||||||
|
|
||||||
struct KVD_Wrapper
|
struct KVD_Wrapper
|
||||||
{
|
{
|
||||||
@ -218,6 +220,32 @@ enum UserCmd
|
|||||||
UC_ImpactPosition
|
UC_ImpactPosition
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum WeaponData
|
||||||
|
{
|
||||||
|
WD_iId,
|
||||||
|
WD_iClip,
|
||||||
|
WD_flNextPrimaryAttack,
|
||||||
|
WD_flNextSecondaryAttack,
|
||||||
|
WD_flTimeWeaponIdle,
|
||||||
|
WD_fInReload,
|
||||||
|
WD_fInSpecialReload,
|
||||||
|
WD_flNextReload,
|
||||||
|
WD_flPumpTime,
|
||||||
|
WD_fReloadTime,
|
||||||
|
WD_fAimedDamage,
|
||||||
|
WD_fNextAimBonus,
|
||||||
|
WD_fInZoom,
|
||||||
|
WD_iWeaponState,
|
||||||
|
WD_iUser1,
|
||||||
|
WD_iUser2,
|
||||||
|
WD_iUser3,
|
||||||
|
WD_iUser4,
|
||||||
|
WD_flUser1,
|
||||||
|
WD_flUser2,
|
||||||
|
WD_flUser3,
|
||||||
|
WD_flUser4,
|
||||||
|
};
|
||||||
|
|
||||||
extern AMX_NATIVE_INFO tr_Natives[];
|
extern AMX_NATIVE_INFO tr_Natives[];
|
||||||
extern AMX_NATIVE_INFO ext2_natives[];
|
extern AMX_NATIVE_INFO ext2_natives[];
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@ ke::Vector<KVD_Wrapper *>g_FreeKVDWs;
|
|||||||
clientdata_t g_cd_glb;
|
clientdata_t g_cd_glb;
|
||||||
entity_state_t g_es_glb;
|
entity_state_t g_es_glb;
|
||||||
usercmd_t g_uc_glb;
|
usercmd_t g_uc_glb;
|
||||||
|
weapon_data_t g_wd_glb;
|
||||||
|
|
||||||
static cell AMX_NATIVE_CALL set_tr2(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL set_tr2(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
@ -1243,6 +1244,198 @@ static cell AMX_NATIVE_CALL set_uc(AMX *amx, cell *params)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static cell AMX_NATIVE_CALL get_wd(AMX *amx, cell *params)
|
||||||
|
{
|
||||||
|
weapon_data_t *wd1;
|
||||||
|
if (params[1] == 0)
|
||||||
|
wd1 = &g_wd_glb;
|
||||||
|
else
|
||||||
|
wd1 = reinterpret_cast<weapon_data_t *>(params[1]);
|
||||||
|
|
||||||
|
auto wd = &wd1[params[2]];
|
||||||
|
cell *ptr;
|
||||||
|
|
||||||
|
switch(params[3])
|
||||||
|
{
|
||||||
|
case WD_iId:
|
||||||
|
return wd->m_iId;
|
||||||
|
case WD_iClip:
|
||||||
|
return wd->m_iClip;
|
||||||
|
|
||||||
|
case WD_flNextPrimaryAttack:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->m_flNextPrimaryAttack);
|
||||||
|
return 1;
|
||||||
|
case WD_flNextSecondaryAttack:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->m_flNextSecondaryAttack);
|
||||||
|
return 1;
|
||||||
|
case WD_flTimeWeaponIdle:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->m_flTimeWeaponIdle);
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
case WD_fInReload:
|
||||||
|
return wd->m_fInReload;
|
||||||
|
case WD_fInSpecialReload:
|
||||||
|
return wd->m_fInSpecialReload;
|
||||||
|
case WD_flNextReload:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->m_flNextReload);
|
||||||
|
return 1;
|
||||||
|
case WD_flPumpTime:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->m_flPumpTime);
|
||||||
|
return 1;
|
||||||
|
case WD_fReloadTime:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->m_fReloadTime);
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
case WD_fAimedDamage:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->m_fAimedDamage);
|
||||||
|
return 1;
|
||||||
|
case WD_fNextAimBonus:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->m_fNextAimBonus);
|
||||||
|
return 1;
|
||||||
|
case WD_fInZoom:
|
||||||
|
return wd->m_fInZoom;
|
||||||
|
case WD_iWeaponState:
|
||||||
|
return wd->m_iWeaponState;
|
||||||
|
|
||||||
|
case WD_iUser1:
|
||||||
|
return wd->iuser1;
|
||||||
|
case WD_iUser2:
|
||||||
|
return wd->iuser2;
|
||||||
|
case WD_iUser3:
|
||||||
|
return wd->iuser3;
|
||||||
|
case WD_iUser4:
|
||||||
|
return wd->iuser4;
|
||||||
|
case WD_flUser1:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->fuser1);
|
||||||
|
return 1;
|
||||||
|
case WD_flUser2:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->fuser2);
|
||||||
|
return 1;
|
||||||
|
case WD_flUser3:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->fuser3);
|
||||||
|
return 1;
|
||||||
|
case WD_flUser4:
|
||||||
|
ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
*ptr = amx_ftoc(wd->fuser4);
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid WeaponData member: %d", params[3]);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static cell AMX_NATIVE_CALL set_wd(AMX *amx, cell *params)
|
||||||
|
{
|
||||||
|
if (*params / sizeof(cell) < 4)
|
||||||
|
{
|
||||||
|
MF_LogError(amx, AMX_ERR_NATIVE, "No data passed");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
weapon_data_t *pWd;
|
||||||
|
if (params[1] == 0)
|
||||||
|
pWd = &g_wd_glb;
|
||||||
|
else
|
||||||
|
pWd = reinterpret_cast<weapon_data_t *>(params[1]);
|
||||||
|
|
||||||
|
auto wd = &pWd[params[2]];
|
||||||
|
cell *ptr = MF_GetAmxAddr(amx, params[4]);
|
||||||
|
|
||||||
|
switch(params[3])
|
||||||
|
{
|
||||||
|
case WD_iId:
|
||||||
|
wd->m_iId = *ptr;
|
||||||
|
return 1;
|
||||||
|
case WD_iClip:
|
||||||
|
wd->m_iClip = *ptr;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
case WD_flNextPrimaryAttack:
|
||||||
|
wd->m_flNextPrimaryAttack = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
case WD_flNextSecondaryAttack:
|
||||||
|
wd->m_flNextSecondaryAttack = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
case WD_flTimeWeaponIdle:
|
||||||
|
wd->m_flTimeWeaponIdle = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
case WD_fInReload:
|
||||||
|
wd->m_fInReload = *ptr;
|
||||||
|
return 1;
|
||||||
|
case WD_fInSpecialReload:
|
||||||
|
wd->m_fInSpecialReload = *ptr;
|
||||||
|
return 1;
|
||||||
|
case WD_flNextReload:
|
||||||
|
wd->m_flNextReload = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
case WD_flPumpTime:
|
||||||
|
wd->m_flPumpTime = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
case WD_fReloadTime:
|
||||||
|
wd->m_fReloadTime = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
case WD_fAimedDamage:
|
||||||
|
wd->m_fAimedDamage = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
case WD_fNextAimBonus:
|
||||||
|
wd->m_fNextAimBonus = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
case WD_fInZoom:
|
||||||
|
wd->m_fInZoom = *ptr;
|
||||||
|
return 1;
|
||||||
|
case WD_iWeaponState:
|
||||||
|
wd->m_iWeaponState = *ptr;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
case WD_iUser1:
|
||||||
|
wd->iuser1 = *ptr;
|
||||||
|
return 1;
|
||||||
|
case WD_iUser2:
|
||||||
|
wd->iuser2 = *ptr;
|
||||||
|
return 1;
|
||||||
|
case WD_iUser3:
|
||||||
|
wd->iuser3 = *ptr;
|
||||||
|
return 1;
|
||||||
|
case WD_iUser4:
|
||||||
|
wd->iuser4 = *ptr;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
case WD_flUser1:
|
||||||
|
wd->fuser1 = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
case WD_flUser2:
|
||||||
|
wd->fuser2 = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
case WD_flUser3:
|
||||||
|
wd->fuser3 = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
case WD_flUser4:
|
||||||
|
wd->fuser4 = amx_ctof(*ptr);
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid ClientData member: %d", params[3]);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
CStack<TraceResult *> g_FreeTRs;
|
CStack<TraceResult *> g_FreeTRs;
|
||||||
|
|
||||||
static cell AMX_NATIVE_CALL create_tr2(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL create_tr2(AMX *amx, cell *params)
|
||||||
@ -1329,6 +1522,8 @@ AMX_NATIVE_INFO ext2_natives[] =
|
|||||||
{"set_es", set_es},
|
{"set_es", set_es},
|
||||||
{"get_uc", get_uc},
|
{"get_uc", get_uc},
|
||||||
{"set_uc", set_uc},
|
{"set_uc", set_uc},
|
||||||
|
{"set_wd", set_wd},
|
||||||
|
{"get_wd", get_wd},
|
||||||
{NULL, NULL},
|
{NULL, NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ KVD_Wrapper g_kvd_hook;
|
|||||||
clientdata_t *g_cd_hook;
|
clientdata_t *g_cd_hook;
|
||||||
entity_state_t *g_es_hook;
|
entity_state_t *g_es_hook;
|
||||||
usercmd_t *g_uc_hook;
|
usercmd_t *g_uc_hook;
|
||||||
|
weapon_data_t *g_wd_hook;
|
||||||
|
|
||||||
cell origCellRet;
|
cell origCellRet;
|
||||||
float origFloatRet;
|
float origFloatRet;
|
||||||
@ -820,6 +821,21 @@ SIMPLE_VOID_HOOK_VOID(GameShutdown);
|
|||||||
SIMPLE_INT_HOOK_EDICT_EDICT(ShouldCollide);
|
SIMPLE_INT_HOOK_EDICT_EDICT(ShouldCollide);
|
||||||
|
|
||||||
|
|
||||||
|
int GetWeaponData(struct edict_s *player, struct weapon_data_s *info)
|
||||||
|
{
|
||||||
|
g_wd_hook = info;
|
||||||
|
FM_ENG_HANDLE(FM_GetWeaponData, (Engine[FM_GetWeaponData].at(i), (cell)ENTINDEX(player), (cell)info));
|
||||||
|
RETURN_META_VALUE(mswi(lastFmRes), (int)mlCellResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
int GetWeaponData_post(struct edict_s *player, struct weapon_data_s *info)
|
||||||
|
{
|
||||||
|
g_wd_hook = info;
|
||||||
|
origCellRet = META_RESULT_ORIG_RET(int);
|
||||||
|
FM_ENG_HANDLE_POST(FM_GetWeaponData, (EnginePost[FM_GetWeaponData].at(i), (cell)ENTINDEX(player), (cell)info));
|
||||||
|
RETURN_META_VALUE(MRES_IGNORED, (int)mlCellResult);
|
||||||
|
}
|
||||||
|
|
||||||
static cell AMX_NATIVE_CALL unregister_forward(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL unregister_forward(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
int func = params[1];
|
int func = params[1];
|
||||||
@ -1492,6 +1508,10 @@ static cell AMX_NATIVE_CALL register_forward(AMX *amx, cell *params)
|
|||||||
fId = MF_RegisterSPForwardByName(amx, funcname, FP_STRING, FP_DONE);
|
fId = MF_RegisterSPForwardByName(amx, funcname, FP_STRING, FP_DONE);
|
||||||
ENGHOOK(ServerPrint);
|
ENGHOOK(ServerPrint);
|
||||||
break;
|
break;
|
||||||
|
case FM_GetWeaponData:
|
||||||
|
fId = MF_RegisterSPForwardByName(amx, funcname, FP_CELL, FP_CELL, FP_DONE);
|
||||||
|
DLLHOOK(GetWeaponData);
|
||||||
|
break;
|
||||||
#if 0
|
#if 0
|
||||||
|
|
||||||
// I know this does not fit with DLLFUNC(), but I dont want another native just for it.
|
// I know this does not fit with DLLFUNC(), but I dont want another native just for it.
|
||||||
|
@ -180,6 +180,7 @@ enum {
|
|||||||
FM_GetInfoKeyBuffer,
|
FM_GetInfoKeyBuffer,
|
||||||
FM_ClientPrintf,
|
FM_ClientPrintf,
|
||||||
FM_ServerPrint,
|
FM_ServerPrint,
|
||||||
|
FM_GetWeaponData,
|
||||||
FM_LAST_DONT_USE_ME
|
FM_LAST_DONT_USE_ME
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -498,6 +498,13 @@ native free_kvd(kvd_handle);
|
|||||||
native get_cd(cd_handle, ClientData:member, any:...);
|
native get_cd(cd_handle, ClientData:member, any:...);
|
||||||
native set_cd(cd_handle, ClientData:member, any:...);
|
native set_cd(cd_handle, ClientData:member, any:...);
|
||||||
|
|
||||||
|
// These functions are used with the weapon_data data structure (FM_GetWeaponData)
|
||||||
|
// Get: 0 extra params - Return integer; 1 extra param - by ref float or vector; 2 extra params - string and length
|
||||||
|
// Set: Use anything
|
||||||
|
// Use 0 for cd_handle to specify the global weapon_data handle
|
||||||
|
native get_wd(wd_handler, index, WeaponData:member, any:...);
|
||||||
|
native set_wd(wd_handler, index, WeaponData:member, any:...);
|
||||||
|
|
||||||
// These functions are used with the entity_state data structure (FM_AddToFullPack)
|
// These functions are used with the entity_state data structure (FM_AddToFullPack)
|
||||||
// Get: 0 extra params - Return integer; 1 extra param - by ref float or vector or array
|
// Get: 0 extra params - Return integer; 1 extra param - by ref float or vector or array
|
||||||
// Set: Use anything
|
// Set: Use anything
|
||||||
|
@ -190,7 +190,8 @@ enum
|
|||||||
// You can pass in 0 for global usercmd handle or another usercmd handle here
|
// You can pass in 0 for global usercmd handle or another usercmd handle here
|
||||||
DLLFunc_CmdStart, // void ) (const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed);
|
DLLFunc_CmdStart, // void ) (const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed);
|
||||||
DLLFunc_CmdEnd, // void ) (const edict_t *player);
|
DLLFunc_CmdEnd, // void ) (const edict_t *player);
|
||||||
DLLFunc_CreateBaseline // void ) (int player, int eindex, struct entity_state_s *baseline, struct edict_s *entity, int playermodelindex, vec3_t player_mins, vec3_t player_maxs);
|
DLLFunc_CreateBaseline, // void ) (int player, int eindex, struct entity_state_s *baseline, struct edict_s *entity, int playermodelindex, vec3_t player_mins, vec3_t player_maxs);
|
||||||
|
DLLFunc_GetWeaponData // int ) (struct edict_s *player, struct weapon_data_s *info);
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -550,7 +551,8 @@ enum {
|
|||||||
FM_ClientPrintf,
|
FM_ClientPrintf,
|
||||||
|
|
||||||
// LATE ADDITIONS (v1.80)
|
// LATE ADDITIONS (v1.80)
|
||||||
FM_ServerPrint
|
FM_ServerPrint,
|
||||||
|
FM_GetWeaponData
|
||||||
};
|
};
|
||||||
|
|
||||||
enum TraceResult
|
enum TraceResult
|
||||||
@ -744,6 +746,64 @@ enum UserCmd
|
|||||||
UC_ImpactPosition // float array[3]
|
UC_ImpactPosition // float array[3]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum WeaponData
|
||||||
|
{
|
||||||
|
WD_iId,
|
||||||
|
WD_iClip,
|
||||||
|
WD_flNextPrimaryAttack,
|
||||||
|
WD_flNextSecondaryAttack,
|
||||||
|
WD_flTimeWeaponIdle,
|
||||||
|
WD_fInReload,
|
||||||
|
WD_fInSpecialReload,
|
||||||
|
WD_flNextReload,
|
||||||
|
WD_flPumpTime,
|
||||||
|
WD_fReloadTime,
|
||||||
|
WD_fAimedDamage,
|
||||||
|
WD_fNextAimBonus,
|
||||||
|
WD_fInZoom,
|
||||||
|
WD_iWeaponState,
|
||||||
|
WD_iUser1,
|
||||||
|
WD_iUser2,
|
||||||
|
WD_iUser3,
|
||||||
|
WD_iUser4,
|
||||||
|
WD_flUser1,
|
||||||
|
WD_flUser2,
|
||||||
|
WD_flUser3,
|
||||||
|
WD_flUser4,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Info about weapons player might have in his/her possession
|
||||||
|
typedef struct weapon_data_s
|
||||||
|
{
|
||||||
|
int m_iId;
|
||||||
|
int m_iClip;
|
||||||
|
|
||||||
|
float m_flNextPrimaryAttack;
|
||||||
|
float m_flNextSecondaryAttack;
|
||||||
|
float m_flTimeWeaponIdle;
|
||||||
|
|
||||||
|
int m_fInReload;
|
||||||
|
int m_fInSpecialReload;
|
||||||
|
float m_flNextReload;
|
||||||
|
float m_flPumpTime;
|
||||||
|
float m_fReloadTime;
|
||||||
|
|
||||||
|
float m_fAimedDamage;
|
||||||
|
float m_fNextAimBonus;
|
||||||
|
int m_fInZoom;
|
||||||
|
int m_iWeaponState;
|
||||||
|
|
||||||
|
int iuser1;
|
||||||
|
int iuser2;
|
||||||
|
int iuser3;
|
||||||
|
int iuser4;
|
||||||
|
float fuser1;
|
||||||
|
float fuser2;
|
||||||
|
float fuser3;
|
||||||
|
float fuser4;
|
||||||
|
} weapon_data_t;
|
||||||
|
*/
|
||||||
|
|
||||||
enum AlertType
|
enum AlertType
|
||||||
{
|
{
|
||||||
at_notice = 0,
|
at_notice = 0,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user