fixed bug at21983
This commit is contained in:
parent
e9db0c8c76
commit
8112fbe161
|
@ -49,7 +49,6 @@ void OnAmxxAttach()
|
|||
MF_AddNatives(global_Natives);
|
||||
memset(glinfo.szLastLights, 0x0, 128);
|
||||
memset(glinfo.szRealLights, 0x0, 128);
|
||||
glinfo.bLights = false;
|
||||
glinfo.fNextLights = 0;
|
||||
glinfo.bCheckLights = false;
|
||||
}
|
||||
|
@ -203,7 +202,7 @@ void ServerDeactivate()
|
|||
{
|
||||
memset(glinfo.szLastLights, 0x0, 128);
|
||||
memset(glinfo.szRealLights, 0x0, 128);
|
||||
glinfo.bLights = false;
|
||||
glinfo.bCheckLights = false;
|
||||
glinfo.fNextLights = 0;
|
||||
|
||||
// Reset all forwarding function tables (so that forwards won't be called before plugins are initialized)
|
||||
|
@ -218,6 +217,7 @@ void ServerDeactivate()
|
|||
g_pFunctionTable->pfnThink=NULL; // "pfn_think", "register_think"
|
||||
g_pFunctionTable->pfnStartFrame=NULL; // "server_frame","ServerFrame"
|
||||
g_pFunctionTable->pfnTouch=NULL; // "pfn_touch","vexd_pfntouch"
|
||||
g_pFunctionTable_Post->pfnStartFrame = NULL; // "set_lights"
|
||||
|
||||
ClearHooks();
|
||||
|
||||
|
|
|
@ -559,15 +559,15 @@ static cell AMX_NATIVE_CALL set_view(AMX *amx, cell *params) {
|
|||
static cell AMX_NATIVE_CALL set_lights(AMX *amx, cell *params) {
|
||||
int iLength;
|
||||
char *szLights = MF_GetAmxString(amx, params[1], 0, &iLength);
|
||||
g_pFunctionTable_Post->pfnStartFrame = StartFrame_Post;
|
||||
|
||||
if (FStrEq(szLights, "#OFF")) {
|
||||
glinfo.bLights = false;
|
||||
glinfo.bCheckLights = false;
|
||||
memset(glinfo.szLastLights, 0x0, 128);
|
||||
(g_engfuncs.pfnLightStyle)(0, (char *)glinfo.szRealLights);
|
||||
return 1;
|
||||
}
|
||||
|
||||
glinfo.bLights = true;
|
||||
glinfo.bCheckLights = true;
|
||||
|
||||
//Reset LastLights
|
||||
|
|
|
@ -108,7 +108,6 @@ struct PlayerInfo {
|
|||
};
|
||||
|
||||
struct GlobalInfo {
|
||||
bool bLights;
|
||||
float fNextLights;
|
||||
char *szLastLights[128];
|
||||
char *szRealLights[128];
|
||||
|
|
|
@ -109,13 +109,6 @@ void KeyValue(edict_t *pEntity, KeyValueData *pkvd)
|
|||
|
||||
void StartFrame()
|
||||
{
|
||||
if (glinfo.bCheckLights) {
|
||||
if (!FStrEq((const char*)glinfo.szLastLights, "")) {
|
||||
(g_engfuncs.pfnLightStyle)(0, (char *)glinfo.szLastLights);
|
||||
glinfo.fNextLights = gpGlobals->time + 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (StartFrameForward != -1)
|
||||
MF_ExecuteForward(StartFrameForward);
|
||||
else if (VexdServerForward != -1)
|
||||
|
@ -124,6 +117,20 @@ void StartFrame()
|
|||
RETURN_META(MRES_IGNORED);
|
||||
}
|
||||
|
||||
void StartFrame_Post()
|
||||
{
|
||||
if (glinfo.bCheckLights)
|
||||
{
|
||||
if (glinfo.fNextLights < gpGlobals->time)
|
||||
{
|
||||
(g_engfuncs.pfnLightStyle)(0, (char *)glinfo.szLastLights);
|
||||
glinfo.fNextLights = gpGlobals->time + 1;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_META(MRES_IGNORED);
|
||||
}
|
||||
|
||||
void CmdStart(const edict_t *player, const struct usercmd_s *_cmd, unsigned int random_seed)
|
||||
{
|
||||
unsigned int i = 0;
|
||||
|
|
|
@ -130,7 +130,7 @@
|
|||
// #define FN_ServerDeactivate_Post ServerDeactivate_Post
|
||||
// #define FN_PlayerPreThink_Post PlayerPreThink_Post
|
||||
// #define FN_PlayerPostThink_Post PlayerPostThink_Post
|
||||
// #define FN_StartFrame_Post StartFrame_Post
|
||||
#define FN_StartFrame_Post StartFrame_Post
|
||||
// #define FN_ParmsNewLevel_Post ParmsNewLevel_Post
|
||||
// #define FN_ParmsChangeLevel_Post ParmsChangeLevel_Post
|
||||
// #define FN_GetGameDescription_Post GetGameDescription_Post
|
||||
|
|
Loading…
Reference in New Issue
Block a user