Hello quickfix 64bit negative values to executeForwards -> now upcasting everything 32bit to cell before passing to executeForwards

This commit is contained in:
Pavol Marko 2005-10-18 21:05:52 +00:00
parent 3d59eabdc5
commit c8d69c41bc
6 changed files with 33 additions and 26 deletions

View File

@ -425,7 +425,7 @@ void EventsMngr::executeEvents()
} }
(*iter).m_Stamp = (float)*m_Timer; (*iter).m_Stamp = (float)*m_Timer;
executeForwards((*iter).m_Func, m_ParseVault ? m_ParseVault[0].iValue : 0); executeForwards((*iter).m_Func, static_cast<cell>(m_ParseVault ? m_ParseVault[0].iValue : 0));
} }
m_CurrentMsgType = -1; m_CurrentMsgType = -1;

View File

@ -44,7 +44,7 @@ CPluginMngr::CPlugin *CTaskMngr::CTask::getPlugin() const
return m_pPlugin; return m_pPlugin;
} }
void CTaskMngr::CTask::set(CPluginMngr::CPlugin *pPlugin, int iFunc, int iFlags, int iId, float fBase, int iParamsLen, const cell *pParams, int iRepeat, float fCurrentTime) void CTaskMngr::CTask::set(CPluginMngr::CPlugin *pPlugin, int iFunc, int iFlags, cell iId, float fBase, int iParamsLen, const cell *pParams, int iRepeat, float fCurrentTime)
{ {
clear(); clear();
m_bFree = false; m_bFree = false;
@ -226,7 +226,7 @@ void CTaskMngr::registerTimers(float *pCurrentTime, float *pTimeLimit, float *pT
m_pTmr_TimeLeft = pTimeLeft; m_pTmr_TimeLeft = pTimeLeft;
} }
void CTaskMngr::registerTask(CPluginMngr::CPlugin *pPlugin, int iFunc, int iFlags, int iId, float fBase, int iParamsLen, const cell *pParams, int iRepeat) void CTaskMngr::registerTask(CPluginMngr::CPlugin *pPlugin, int iFunc, int iFlags, cell iId, float fBase, int iParamsLen, const cell *pParams, int iRepeat)
{ {
// first, search for free tasks // first, search for free tasks
TaskListIter iter = m_Tasks.find(CTaskDescriptor(0, NULL, true)); TaskListIter iter = m_Tasks.find(CTaskDescriptor(0, NULL, true));

View File

@ -41,7 +41,7 @@ private:
// task settings // task settings
CPluginMngr::CPlugin *m_pPlugin; CPluginMngr::CPlugin *m_pPlugin;
int m_iId; cell m_iId;
int m_iFunc; int m_iFunc;
int m_iRepeat; int m_iRepeat;
@ -57,7 +57,7 @@ private:
// execution // execution
float m_fNextExecTime; float m_fNextExecTime;
public: public:
void set(CPluginMngr::CPlugin *pPlugin, int iFunc, int iFlags, int iId, float fBase, int iParamsLen, const cell *pParams, int iRepeat, float fCurrentTime); void set(CPluginMngr::CPlugin *pPlugin, int iFunc, int iFlags, cell iId, float fBase, int iParamsLen, const cell *pParams, int iRepeat, float fCurrentTime);
void clear(); void clear();
bool isFree() const; bool isFree() const;
@ -78,7 +78,7 @@ private:
class CTaskDescriptor class CTaskDescriptor
{ {
public: public:
int m_iId; cell m_iId;
AMX *m_pAmx; AMX *m_pAmx;
bool m_bFree; bool m_bFree;
@ -112,7 +112,7 @@ public:
~CTaskMngr(); ~CTaskMngr();
void registerTimers(float *pCurrentTime, float *pTimeLimit, float *pTimeLeft); // The timers will always point to the right value void registerTimers(float *pCurrentTime, float *pTimeLimit, float *pTimeLeft); // The timers will always point to the right value
void registerTask(CPluginMngr::CPlugin *pPlugin, int iFunc, int iFlags, int iId, float fBase, int iParamsLen, const cell *pParams, int iRepeat); void registerTask(CPluginMngr::CPlugin *pPlugin, int iFunc, int iFlags, cell iId, float fBase, int iParamsLen, const cell *pParams, int iRepeat);
int removeTasks(int iId, AMX *pAmx); // remove all tasks that match the id and amx int removeTasks(int iId, AMX *pAmx); // remove all tasks that match the id and amx
int changeTasks(int iId, AMX *pAmx, float fNewBase); // change all tasks that match the id and amx int changeTasks(int iId, AMX *pAmx, float fNewBase); // change all tasks that match the id and amx

View File

@ -200,7 +200,8 @@ int C_InconsistentFile(const edict_t *player, const char *filename, char *discon
{ {
CPlayer *pPlayer = GET_PLAYER_POINTER((edict_t *)player); CPlayer *pPlayer = GET_PLAYER_POINTER((edict_t *)player);
if (executeForwards(FF_InconsistentFile, pPlayer->index, filename, disconnect_message) == 1) if (executeForwards(FF_InconsistentFile, static_cast<cell>(pPlayer->index),
filename, disconnect_message) == 1)
RETURN_META_VALUE(MRES_SUPERCEDE, FALSE); RETURN_META_VALUE(MRES_SUPERCEDE, FALSE);
RETURN_META_VALUE(MRES_SUPERCEDE, TRUE); RETURN_META_VALUE(MRES_SUPERCEDE, TRUE);
@ -462,7 +463,7 @@ void C_ServerDeactivate()
{ {
CPlayer *pPlayer = GET_PLAYER_POINTER_I(i); CPlayer *pPlayer = GET_PLAYER_POINTER_I(i);
if (pPlayer->initialized) if (pPlayer->initialized)
executeForwards(FF_ClientDisconnect, pPlayer->index); executeForwards(FF_ClientDisconnect, static_cast<cell>(pPlayer->index));
if (pPlayer->ingame) if (pPlayer->ingame)
{ {
@ -573,7 +574,7 @@ BOOL C_ClientConnect_Post(edict_t *pEntity, const char *pszName, const char *psz
if (!pPlayer->bot) if (!pPlayer->bot)
{ {
bool a = pPlayer->Connect(pszName, pszAddress); bool a = pPlayer->Connect(pszName, pszAddress);
executeForwards(FF_ClientConnect, pPlayer->index); executeForwards(FF_ClientConnect, static_cast<cell>(pPlayer->index));
if (a) if (a)
{ {
@ -582,7 +583,7 @@ BOOL C_ClientConnect_Post(edict_t *pEntity, const char *pszName, const char *psz
g_auth.put(aa); g_auth.put(aa);
} else { } else {
pPlayer->Authorize(); pPlayer->Authorize();
executeForwards(FF_ClientAuthorized, pPlayer->index); executeForwards(FF_ClientAuthorized, static_cast<cell>(pPlayer->index));
} }
} }
@ -593,7 +594,7 @@ void C_ClientDisconnect(edict_t *pEntity)
{ {
CPlayer *pPlayer = GET_PLAYER_POINTER(pEntity); CPlayer *pPlayer = GET_PLAYER_POINTER(pEntity);
if (pPlayer->initialized) if (pPlayer->initialized)
executeForwards(FF_ClientDisconnect, pPlayer->index); executeForwards(FF_ClientDisconnect, static_cast<cell>(pPlayer->index));
if (pPlayer->ingame) if (pPlayer->ingame)
{ {
@ -611,7 +612,7 @@ void C_ClientPutInServer_Post(edict_t *pEntity)
{ {
pPlayer->PutInServer(); pPlayer->PutInServer();
++g_players_num; ++g_players_num;
executeForwards(FF_ClientPutInServer, pPlayer->index); executeForwards(FF_ClientPutInServer, static_cast<cell>(pPlayer->index));
} }
RETURN_META(MRES_IGNORED); RETURN_META(MRES_IGNORED);
@ -620,7 +621,7 @@ void C_ClientPutInServer_Post(edict_t *pEntity)
void C_ClientUserInfoChanged_Post(edict_t *pEntity, char *infobuffer) void C_ClientUserInfoChanged_Post(edict_t *pEntity, char *infobuffer)
{ {
CPlayer *pPlayer = GET_PLAYER_POINTER(pEntity); CPlayer *pPlayer = GET_PLAYER_POINTER(pEntity);
executeForwards(FF_ClientInfoChanged, pPlayer->index); executeForwards(FF_ClientInfoChanged, static_cast<cell>(pPlayer->index));
const char* name = INFOKEY_VALUE(infobuffer, "name"); const char* name = INFOKEY_VALUE(infobuffer, "name");
// Emulate bot connection and putinserver // Emulate bot connection and putinserver
@ -632,15 +633,15 @@ void C_ClientUserInfoChanged_Post(edict_t *pEntity, char *infobuffer)
{ {
pPlayer->Connect(name, "127.0.0.1"/*CVAR_GET_STRING("net_address")*/); pPlayer->Connect(name, "127.0.0.1"/*CVAR_GET_STRING("net_address")*/);
executeForwards(FF_ClientConnect, pPlayer->index); executeForwards(FF_ClientConnect, static_cast<cell>(pPlayer->index));
pPlayer->Authorize(); pPlayer->Authorize();
executeForwards(FF_ClientAuthorized, pPlayer->index); executeForwards(FF_ClientAuthorized, static_cast<cell>(pPlayer->index));
pPlayer->PutInServer(); pPlayer->PutInServer();
++g_players_num; ++g_players_num;
executeForwards(FF_ClientPutInServer, pPlayer->index); executeForwards(FF_ClientPutInServer, static_cast<cell>(pPlayer->index));
} }
RETURN_META(MRES_IGNORED); RETURN_META(MRES_IGNORED);
@ -684,7 +685,7 @@ void C_ClientCommand(edict_t *pEntity)
} }
} }
if (executeForwards(FF_ClientCommand, pPlayer->index) > 0) if (executeForwards(FF_ClientCommand, static_cast<cell>(pPlayer->index)) > 0)
RETURN_META(MRES_SUPERCEDE); RETURN_META(MRES_SUPERCEDE);
/* check for command and if needed also for first argument and call proper function */ /* check for command and if needed also for first argument and call proper function */
@ -698,7 +699,8 @@ void C_ClientCommand(edict_t *pEntity)
{ {
if ((*aa).matchCommandLine(cmd, arg) && (*aa).getPlugin()->isExecutable((*aa).getFunction())) if ((*aa).matchCommandLine(cmd, arg) && (*aa).getPlugin()->isExecutable((*aa).getFunction()))
{ {
ret = executeForwards((*aa).getFunction(), pPlayer->index, (*aa).getFlags(), (*aa).getId()); ret = executeForwards((*aa).getFunction(), static_cast<cell>(pPlayer->index),
static_cast<cell>((*aa).getFlags()), static_cast<cell>((*aa).getId()));
if (ret & 2) result = MRES_SUPERCEDE; if (ret & 2) result = MRES_SUPERCEDE;
if (ret & 1) RETURN_META(MRES_SUPERCEDE); if (ret & 1) RETURN_META(MRES_SUPERCEDE);
} }
@ -732,7 +734,8 @@ void C_ClientCommand(edict_t *pEntity)
{ {
Menu *pMenu = g_NewMenus[menu]; Menu *pMenu = g_NewMenus[menu];
int item = pMenu->PagekeyToItem(pPlayer->page, pressed_key); int item = pMenu->PagekeyToItem(pPlayer->page, pressed_key);
ret = executeForwards((*a).getFunction(), pPlayer->index, menu, item); ret = executeForwards((*a).getFunction(), static_cast<cell>(pPlayer->index),
static_cast<cell>(menu), static_cast<cell>(item));
if (ret & 2) if (ret & 2)
result = MRES_SUPERCEDE; result = MRES_SUPERCEDE;
@ -755,7 +758,8 @@ void C_ClientCommand(edict_t *pEntity)
} }
} }
} else { } else {
ret = executeForwards((*a).getFunction(), pPlayer->index, pressed_key, 0); ret = executeForwards((*a).getFunction(), static_cast<cell>(pPlayer->index),
static_cast<cell>(pressed_key), 0);
if (ret & 2) result = MRES_SUPERCEDE; if (ret & 2) result = MRES_SUPERCEDE;
if (ret & 1) RETURN_META(MRES_SUPERCEDE); if (ret & 1) RETURN_META(MRES_SUPERCEDE);
@ -790,7 +794,7 @@ void C_StartFrame_Post(void)
if (strcmp(auth, "STEAM_ID_PENDING")) if (strcmp(auth, "STEAM_ID_PENDING"))
{ {
(*a)->Authorize(); (*a)->Authorize();
executeForwards(FF_ClientAuthorized, (*a)->index); executeForwards(FF_ClientAuthorized, static_cast<cell>((*a)->index));
a.remove(); a.remove();
continue; continue;
@ -1108,10 +1112,12 @@ void C_CvarValue(const edict_t *pEdict, const char *value)
if (pQuery->paramLen) if (pQuery->paramLen)
{ {
cell arr = prepareCellArray(pQuery->params, pQuery->paramLen); cell arr = prepareCellArray(pQuery->params, pQuery->paramLen);
executeForwards(pQuery->resultFwd, ENTINDEX(pEdict), pQuery->cvarName.c_str(), value, arr); executeForwards(pQuery->resultFwd, static_cast<cell>(ENTINDEX(pEdict)),
pQuery->cvarName.c_str(), value, arr);
} }
else else
executeForwards(pQuery->resultFwd, ENTINDEX(pEdict), pQuery->cvarName.c_str(), value); executeForwards(pQuery->resultFwd, static_cast<cell>(ENTINDEX(pEdict)),
pQuery->cvarName.c_str(), value);
unregisterSPForward(pQuery->resultFwd); unregisterSPForward(pQuery->resultFwd);

View File

@ -219,7 +219,7 @@ const char *Menu::GetTextString(int player, page_t page, int &keys)
if (pItem->handler != -1) if (pItem->handler != -1)
{ {
ret = executeForwards(pItem->handler, player, thisId, i); ret = executeForwards(pItem->handler, static_cast<cell>(player), static_cast<cell>(thisId), static_cast<cell>(i));
if (ret == ITEM_ENABLED) if (ret == ITEM_ENABLED)
enabled = true; enabled = true;
else if (ret == ITEM_DISABLED) else if (ret == ITEM_DISABLED)

View File

@ -254,7 +254,8 @@ void plugin_srvcmd()
{ {
if ((*a).matchCommand(cmd) && (*a).getPlugin()->isExecutable((*a).getFunction())) if ((*a).matchCommand(cmd) && (*a).getPlugin()->isExecutable((*a).getFunction()))
{ {
cell ret = executeForwards((*a).getFunction(), g_srvindex, (*a).getFlags(), (*a).getId()); cell ret = executeForwards((*a).getFunction(), static_cast<cell>(g_srvindex),
static_cast<cell>((*a).getFlags()), static_cast<cell>((*a).getId()));
if (ret) break; if (ret) break;
} }
++a; ++a;