Compare commits

...

18 Commits

Author SHA1 Message Date
David Anderson
83f374561c Bumped versions again. 2009-05-30 23:49:31 -04:00
David Anderson
d914a6b982 Fixed buildbot script bugs. 2009-05-30 23:49:10 -04:00
David Anderson
9b14101586 Bumped versions for release. 2009-05-30 22:57:53 -04:00
David Anderson
46c87f509b Changed branch from dev to rel. 2009-05-30 22:51:23 -04:00
David Anderson
4df1d19cf2 Updated changelog for 1.2.1 release. 2009-05-30 22:49:10 -04:00
David Anderson
c1af9081c6 Build push. 2009-05-30 21:18:58 -04:00
David Anderson
ae538916b6 Fixed build. 2009-05-30 19:57:59 -04:00
David Anderson
1efea1fd82 Fixed compiler asserting when returning a string literal (bug 3836, r+a12=fyren). 2009-05-30 19:43:02 -04:00
David Anderson
ef255c9a3e Fixed compiler erroring when tagging functions for string return (bug 3837, r+a12=fyren). 2009-05-30 19:41:34 -04:00
David Anderson
0909a1ffae Fixed compiler not handling constant chained relational operators correctly (bug 3838, r+a12=fyren). 2009-05-30 19:40:13 -04:00
David Anderson
d725178405 Fixed revote bug and inflexibilities in RedrawClientVoteMenu (bug 3834, r=fyren). 2009-05-30 19:32:43 -04:00
Fyren
148271c5ea Fix crash when unloading a plugin with live user message hooks (bug 3817, r+a12=dvander) 2009-05-25 18:13:28 -07:00
David Anderson
6252676e57 Fixed compiler using NDEBUG in debug builds (bug 3815, r=fyren, a12=NPOTB). 2009-05-24 12:08:00 -04:00
David Anderson
d4709704ea Fixed Plugin_Handled acting like a Stop in usermsg hooks (bug 3685, r=fyren, a12=blocking). 2009-05-24 12:00:53 -04:00
Fyren
e6d418c04e This is the do something button. 2009-05-21 20:51:31 -07:00
Fyren
752f7bdefc Preliminary TF2 gamedata changes 2009-05-21 20:39:03 -07:00
Fyren
ced6add9ea Add L4D handling to GuessSDKVersion() (bug 3842, r+a12=dvander) 2009-05-13 16:05:37 -07:00
noob cannon lol
e9834a33b1 Updated Zombie Panic Source offsets (bug 3632, r=dvander). 2009-05-12 20:28:04 -04:00
39 changed files with 269 additions and 168 deletions

View File

@ -2,6 +2,38 @@ SourceMod Changelog
----------------------------
SourceMod 1.2.1 [2009-05-31]
URL: http://wiki.alliedmods.net/SourceMod_1.2.1_Release_Notes
- Updated SDKTools for latest Team Fortress update.
- Added L4D handling to GuessSDKVersion() (bug 3842).
- Updated Zombie Panic Source offsets (bug 3632).
- Fixed crash when clientprefs saw disconnect from 64th client (bug 3821).
- Fixed Plugin_Handled acting like a Stop in usermsg hooks (bug 3685).
- Fixed early tv_enable causing crashes (bug 3766).
- Fixed unhook event crash (bug 3814).
- Fixed compiler reading uninitialized strings while processing varargs (bug 3811).
- Fixed compiler choosing whether to emit stradjust.pri on dynamic arrays based on uninitialized memory (bug 3810).
- Fixed Windows L4D CreateFakeClient signature (bug 3792).
- Fixed sm_slap for EP1 games (bug 3768).
- Fixed casting problems in TextParsers breaking TrimString for non-ASCII characters (bug 3800).
- Fixed OnClientConnect rejectmsg handling, improved doc (bug 3690).
- Fixed clientprefs not loading cookies for clients on late load (bug 3735).
- Fixed GetCommandFlags on original engine games (bug 3759).
- Fixed compiler asserting when returning a string literal (bug 3836).
- Fixed compiler erroring when tagging functions for string return (bug 3837).
- Fixed compiler not handling constant chained relational operators correctly (bug 3838).
- Fixed revote bug and inflexibilities in RedrawClientVoteMenu (bug 3834).
- Fixed auto update URL being set too late (bug 3699).
- Disabled nextmap in Synergy and Dystopia (bug 3687, bug 3741).
- Removed unnecessary SSE optimizations from msvc9 project files (bug 3756).
- Removed short-lived tag system (bug 3751).
- Removed the alive check from sm_rename. (bug 3698).
- Switched FortressForever to Valve menus (bug 3819).
----------------------------
SourceMod 1.2.0 [2009-03-05]
URL: http://wiki.alliedmods.net/SourceMod_1.2.0_Release_Notes

View File

@ -798,5 +798,11 @@ bool MenuManager::IsClientInVotePool(int client)
bool MenuManager::RedrawClientVoteMenu(int client)
{
return s_VoteHandler.RedrawToClient(client);
return RedrawClientVoteMenu2(client, true);
}
bool MenuManager::RedrawClientVoteMenu2(int client, bool revote)
{
return s_VoteHandler.RedrawToClient(client, revote);
}

View File

@ -91,6 +91,7 @@ public:
unsigned int GetRemainingVoteDelay();
bool IsClientInVotePool(int client);
bool RedrawClientVoteMenu(int client);
bool RedrawClientVoteMenu2(int client, bool revote);
public: //IHandleTypeDispatch
void OnHandleDestroy(HandleType_t type, void *object);
bool GetHandleApproxSize(HandleType_t type, void *object, unsigned int *pSize);

View File

@ -1,8 +1,8 @@
/**
* vim: set ts=4 :
* vim: set ts=4 sw=4 :
* =============================================================================
* SourceMod
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
* Copyright (C) 2004-2009 AlliedModders LLC. All rights reserved.
* =============================================================================
*
* This program is free software; you can redistribute it and/or modify it under
@ -205,7 +205,7 @@ bool VoteMenuHandler::GetClientVoteChoice(int client, unsigned int *pItem)
return true;
}
bool VoteMenuHandler::RedrawToClient(int client)
bool VoteMenuHandler::RedrawToClient(int client, bool revotes)
{
unsigned int time_limit;
@ -214,6 +214,18 @@ bool VoteMenuHandler::RedrawToClient(int client)
return false;
}
if (m_ClientVotes[client] >= 0)
{
if ((m_VoteFlags & VOTEFLAG_NO_REVOTES) == VOTEFLAG_NO_REVOTES || !revotes)
{
return false;
}
assert((unsigned)m_ClientVotes[client] < m_Items);
assert(m_Votes[m_ClientVotes[client]] > 0);
m_Votes[m_ClientVotes[client]]--;
m_ClientVotes[client] = -1;
}
if (m_nMenuTime == MENU_TIME_FOREVER)
{
time_limit = m_nMenuTime;
@ -489,3 +501,4 @@ bool VoteMenuHandler::IsCancelling()
{
return m_bCancelled;
}

View File

@ -74,7 +74,7 @@ public:
unsigned int GetRemainingVoteDelay();
bool IsClientInVotePool(int client);
bool GetClientVoteChoice(int client, unsigned int *pItem);
bool RedrawToClient(int client);
bool RedrawToClient(int client, bool revote);
private:
void Reset(IMenuHandler *mh);
void DecrementPlayerCount();
@ -102,3 +102,4 @@ private:
};
#endif //_INCLUDE_SOURCEMOD_MENUVOTING_H_

View File

@ -496,12 +496,7 @@ void UserMessages::OnMessageEnd_Pre()
iter++;
}
if (handled)
{
goto supercede;
}
if (intercepted)
if (!handled && intercepted)
{
bf_write *engine_bfw;

View File

@ -40,8 +40,8 @@
* @file Contains SourceMod version information.
*/
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -457,6 +457,10 @@ static cell_t GuessSDKVersion(IPluginContext *pContext, const cell_t *params)
{
return 30;
}
else if (version == SOURCE_ENGINE_LEFT4DEAD)
{
return 40;
}
#else
if (g_HL2.IsOriginalEngine())
{

View File

@ -676,7 +676,13 @@ static cell_t VoteMenu(IPluginContext *pContext, const cell_t *params)
cell_t *addr;
pContext->LocalToPhysAddr(params[2], &addr);
if (!g_Menus.StartVote(menu, params[3], addr, params[4]))
cell_t flags = 0;
if (params[0] >= 5)
{
flags = params[5];
}
if (!g_Menus.StartVote(menu, params[3], addr, params[4], flags))
{
return 0;
}
@ -1445,7 +1451,13 @@ static cell_t RedrawClientVoteMenu(IPluginContext *pContext, const cell_t *param
return pContext->ThrowNativeError("Client is not in the voting pool");
}
return g_Menus.RedrawClientVoteMenu(client) ? 1 : 0;
bool revote = true;
if (params[0] >= 2 && !params[2])
{
revote = false;
}
return g_Menus.RedrawClientVoteMenu2(client, revote) ? 1 : 0;
}
class EmptyMenuHandler : public IMenuHandler
@ -1567,3 +1579,4 @@ REGISTER_NATIVES(menuNatives)
{"VoteMenu", VoteMenu},
{NULL, NULL},
};

View File

@ -130,7 +130,7 @@ void UsrMessageNatives::OnPluginUnloaded(IPlugin *plugin)
for (iter=pList->begin(); iter!=pList->end(); iter++)
{
pListener = (*iter);
if (g_UserMsgs.UnhookUserMessage(pListener->GetMessageId(), pListener, pListener->IsInterceptHook()))
if (g_UserMsgs.UnhookUserMessage2(pListener->GetMessageId(), pListener, pListener->IsInterceptHook()))
{
m_FreeListeners.push(pListener);
}

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_BINTOOLS_VERSION_H_
#define _INCLUDE_BINTOOLS_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_CLIENTPREFS_VERSION_H_
#define _INCLUDE_CLIENTPREFS_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_SDKTOOLS_VERSION_H_
#define _INCLUDE_SDKTOOLS_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_GEOIP_VERSION_H_
#define _INCLUDE_GEOIP_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_GEOIP_VERSION_H_
#define _INCLUDE_GEOIP_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_MYSQLEXT_VERSION_H_
#define _INCLUDE_MYSQLEXT_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_REGEXEXT_VERSION_H_
#define _INCLUDE_REGEXEXT_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_SDKTOOLS_VERSION_H_
#define _INCLUDE_SDKTOOLS_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_SQLITEEXT_VERSION_H_
#define _INCLUDE_SQLITEEXT_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_SDKTOOLS_VERSION_H_
#define _INCLUDE_SDKTOOLS_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_SQLITEEXT_VERSION_H_
#define _INCLUDE_SQLITEEXT_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -36,8 +36,8 @@
#ifndef _INCLUDE_UPDATER_VERSION_H_
#define _INCLUDE_UPDATER_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -7,48 +7,48 @@
{
"GiveNamedItem"
{
"windows" "406"
"linux" "410"
"windows" "421"
"linux" "426"
}
"RemovePlayerItem"
{
"windows" "238"
"linux" "239"
"windows" "243"
"linux" "244"
}
"Weapon_GetSlot"
{
"windows" "236"
"linux" "237"
"windows" "241"
"linux" "242"
}
"Ignite"
{
"windows" "193"
"linux" "194"
"windows" "198"
"linux" "199"
}
"Extinguish"
{
"windows" "197"
"linux" "198"
"windows" "202"
"linux" "203"
}
"Teleport"
{
"windows" "100"
"linux" "101"
"windows" "105"
"linux" "106"
}
"CommitSuicide"
{
"windows" "391"
"linux" "391"
"windows" "397"
"linux" "397"
}
"GetVelocity"
{
"windows" "130"
"linux" "131"
"windows" "135"
"linux" "136"
}
"EyeAngles"
{
"windows" "122"
"linux" "123"
"windows" "127"
"linux" "128"
}
"DispatchKeyValue"
{
@ -77,8 +77,8 @@
}
"WeaponEquip"
{
"windows" "229"
"linux" "230"
"windows" "234"
"linux" "235"
}
"Activate"
{

View File

@ -1,120 +1,126 @@
"Games"
{
/* Zombie Panic! Source 1.2b
* Note: This mod is not fully supported yet.
/* Zombie Panic! Source 1.3-1.5
* The definitions below were supplied by a third party.
* (thanks "noob cannon lol")
*/
"ZPS"
"zps"
{
"Offsets"
{
"GiveNamedItem"
{
"windows" "333"
"linux" "334"
"windows" "355"
"linux" "356"
}
"RemovePlayerItem"
{
"windows" "242"
"linux" "243"
}
"Weapon_GetSlot"
{
"windows" "237"
"linux" "238"
}
"Ignite"
{
"windows" "194"
"linux" "195"
}
"Extinguish"
{
"windows" "198"
"linux" "199"
}
"Teleport"
{
"windows" "102"
"linux" "103"
}
"CommitSuicide"
{
"windows" "396"
"linux" "396"
}
"GetVelocity"
{
"windows" "131"
"linux" "132"
}
"EyeAngles"
{
"windows" "123"
"linux" "124"
}
"AcceptInput"
{
"windows" "34"
"linux" "35"
}
"DispatchKeyValue"
{
"windows" "29"
"linux" "28"
}
"DispatchKeyValueFloat"
{
"windows" "28"
"linux" "29"
}
"DispatchKeyValueVector"
{
"windows" "27"
"linux" "30"
}
"SetEntityModel"
{
"windows" "23"
"linux" "24"
}
"WeaponEquip"
{
"windows" "230"
"linux" "231"
}
"Weapon_GetSlot"
{
"windows" "226"
"linux" "227"
}
"Ignite"
{
"windows" "190"
"linux" "191"
}
"Extinguish"
{
"windows" "191"
"linux" "192"
}
"Teleport"
{
"windows" "100"
"linux" "101"
}
"CommitSuicide"
{
"windows" "361"
"linux" "362"
}
"GetVelocity"
{
"windows" "128"
"linux" "129"
}
"EyeAngles"
{
"windows" "120"
"linux" "121"
}
"AcceptInput"
{
"windows" "35"
"linux" "36"
}
"DispatchKeyValue"
{
"windows" "31"
"linux" "30"
}
"DispatchKeyValueFloat"
{
"windows" "30"
"linux" "31"
}
"DispatchKeyValueVector"
{
"windows" "29"
"linux" "32"
}
"SetEntityModel"
{
"windows" "25"
"linux" "26"
}
"WeaponEquip"
{
"windows" "219"
"linux" "220"
}
"Activate"
{
"windows" "32"
"linux" "33"
"windows" "31"
"linux" "32"
}
}
"Signatures"
{
"CreateGameRulesObject"
"DispatchSpawn"
{
"library" "server"
"windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2C\x6A\x01"
}
"FindEntityByClassname"
{
"library" "server"
"windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x2A\x2A\x8B\x00\x25\xFF\x0F\x00\x00\x40\xC1\xC1\xE0\x04\x8B\x2A\x2A\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x2A\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4\x24\x00\x00\x00\x00\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x2A\x39"
"linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
"linux" "@_Z13DispatchSpawnP11CBaseEntity"
"windows"
"\x53\x55\x56\x8B\x74\x24\x10\x2A\x2A\x2A\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x64\x8B\xCB"
}
"CreateEntityByName"
{
"library" "server"
"linux" "@_Z18CreateEntityByNamePKci"
"windows" "\x56\x8B\x74\x24\x2A\x57\x8B\x7C\x24\x2A\x83\xFE\xFF\x74\x2A\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x2A\x56\xFF\xD2"
"windows"
"\x56\x8B\x74\x24\x0C\x57\x8B\x7C\x24\x0C\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2"
}
"DispatchSpawn"
"FindEntityByClassname"
{
"library" "server"
"linux" "@_Z13DispatchSpawnP11CBaseEntity"
"windows" "\x53\x55\x56\x8B\x74\x24\x10\x2A\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x60\x8B\xCB"
}
"windows"
"\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x08\xFF\xD2\x8B\x00\x25\xFF\x0F\x00\x00\xC1\xE0\x04\x8B\x3C\x30\xEB\x06\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A"
"linux"
"@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
}
"FireOutput"
{
"library" "server"
"windows" "\x81\xEC\x1C\x01\x00\x00\x53\x55\x56\x8B\x71\x14"
"linux"
"@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
}
}
}
}

View File

@ -39,8 +39,8 @@
{
"ForceRespawn"
{
"windows" "281"
"linux" "282"
"windows" "287"
"linux" "288"
}
}
}

View File

@ -40,8 +40,8 @@
* @file Contains SourceMod version information.
*/
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -94,6 +94,8 @@ enum MenuAction
#define VOTEINFO_ITEM_INDEX 0 /**< Item index */
#define VOTEINFO_ITEM_VOTES 1 /**< Number of votes for the item */
#define VOTEFLAG_NO_REVOTES (1<<0) /**< Players cannot change their votes */
/**
* Reasons a menu can be cancelled (MenuAction_Cancel).
*/
@ -469,22 +471,24 @@ native CancelVote();
* @param clients Array of clients to broadcast to.
* @param numClients Number of clients in the array.
* @param time Maximum time to leave menu on the screen.
* @param flags Optional voting flags.
* @return True on success, false if this menu already has a vote session
* in progress.
* @error Invalid Handle, or a vote is already in progress.
*/
native bool:VoteMenu(Handle:menu, clients[], numClients, time);
native bool:VoteMenu(Handle:menu, clients[], numClients, time, flags=0);
/**
* Sends a vote menu to all clients. See VoteMenu() for more information.
*
* @param menu Menu Handle.
* @param time Maximum time to leave menu on the screen.
* @param flags Optional voting flags.
* @return True on success, false if this menu already has a vote session
* in progress.
* @error Invalid Handle.
*/
stock VoteMenuToAll(Handle:menu, time)
stock VoteMenuToAll(Handle:menu, time, flags=0)
{
new num = GetMaxClients();
new total;
@ -499,7 +503,7 @@ stock VoteMenuToAll(Handle:menu, time)
players[total++] = i;
}
return VoteMenu(menu, players, total, time);
return VoteMenu(menu, players, total, time, flags);
}
/**
* Callback for when a vote has ended and results are available.
@ -543,7 +547,7 @@ native CheckVoteDelay();
/**
* Returns whether a client is in the pool of clients allowed
* to participate in the current vote. This is determined by
* the client list passed to StartVote().
* the client list passed to VoteMenu().
*
* @param client Client index.
* @return True if client is allowed to vote, false otherwise.
@ -555,12 +559,13 @@ native bool:IsClientInVotePool(client);
* Redraws the current vote menu to a client in the voting pool.
*
* @param client Client index.
* @param revotes True to allow revotes, false otherwise.
* @return True on success, false if the client is in the vote pool
* but cannot vote again.
* @error No vote in progress, client is not in the voting pool,
* or client index is invalid.
*/
native bool:RedrawClientVoteMenu(client);
native bool:RedrawClientVoteMenu(client, bool:revotes=true);
/**
* Returns a style's global Handle.
@ -807,3 +812,4 @@ stock bool:IsNewVoteAllowed()
return true;
}

View File

@ -39,4 +39,4 @@
#define SOURCEMOD_V_MINOR 2 /**< SourceMod Minor version */
#define SOURCEMOD_V_RELEASE 1 /**< SourceMod Release version */
#define SOURCEMOD_VERSION "1.2.1-dev" /**< SourceMod version string (major.minor.release.build) */
#define SOURCEMOD_VERSION "1.2.1" /**< SourceMod version string (major.minor.release.build) */

View File

@ -36,7 +36,7 @@
#include <IHandleSys.h>
#define SMINTERFACE_MENUMANAGER_NAME "IMenuManager"
#define SMINTERFACE_MENUMANAGER_VERSION 15
#define SMINTERFACE_MENUMANAGER_VERSION 16
/**
* @file IMenuManager.h
@ -179,6 +179,8 @@ namespace SourceMod
#define MENUFLAG_BUTTON_EXITBACK (1<<1) /**< Menu has an "exit back" button */
#define MENUFLAG_NO_SOUND (1<<2) /**< Menu will not have any select sounds */
#define VOTEFLAG_NO_REVOTES (1<<0) /**< Players cannot change their votes */
/**
* @brief Extended menu options.
*/
@ -869,7 +871,7 @@ namespace SourceMod
* @param num_clients Number of clients to display to.
* @param clients Client index array.
* @param max_time Maximum time to hold menu for.
* @param flags Vote flags (currently unused).
* @param flags Vote flags.
* @return True on success, false if a vote is in progress.
*/
virtual bool StartVote(IBaseMenu *menu,
@ -914,7 +916,17 @@ namespace SourceMod
* @return True on success, false if client is not allowed to vote.
*/
virtual bool RedrawClientVoteMenu(int client) =0;
/**
* @brief Redraws the current vote menu to a client in the voting pool.
*
* @param client Client index.
* @param revotes True to allow revotes, false otherwise.
* @return True on success, false if client is not allowed to vote.
*/
virtual bool RedrawClientVoteMenu2(int client, bool revotes) =0;
};
}
#endif //_INCLUDE_SOURCEMOD_MENU_SYSTEM_H_

View File

@ -13,3 +13,5 @@ S
!
joys of buildbot, part 5: a watermelon's diatribes need not be cause for spilling the queen's tea
What the hell.
<@predcrab> might need to click the do something button
joys of buildbot, part 6: why you got to do a thing

View File

@ -30,7 +30,7 @@ LINK = -lgcc -static-libgcc
INCLUDE = -I. -I$(SMSDK)/public/sourcepawn
CFLAGS += -DLINUX -DNDEBUG -DHAVE_STDINT_H -DAMX_ANSIONLY -DENABLE_BINRELOC -m32
CFLAGS += -DLINUX -DHAVE_STDINT_H -DAMX_ANSIONLY -DENABLE_BINRELOC -m32
CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
################################################

View File

@ -6362,6 +6362,11 @@ static void doreturn(void)
error(78); /* mix "return;" and "return value;" */
ident=doexpr(TRUE,FALSE,TRUE,FALSE,&tag,&sym,TRUE);
needtoken(tTERM);
if (ident==iARRAY && sym==NULL) {
/* returning a literal string is not supported (it must be a variable) */
error(39);
ident=iCONSTEXPR; /* avoid handling an "array" case */
} /* if */
/* see if this function already has a sub type (an array attached) */
sub=finddepend(curfunc);
assert(sub==NULL || sub->ident==iREFARRAY);
@ -6407,7 +6412,7 @@ static void doreturn(void)
} /* if */
} else {
int idxtag[sDIMEN_MAX];
int argcount;
int argcount, slength=0;
/* this function does not yet have an array attached; clone the
* returned symbol beneath the current function
*/
@ -6425,6 +6430,8 @@ static void doreturn(void)
if (dim[numdim]<=0)
error(46,sym->name);
} /* for */
if (sym->tag==pc_tag_string && numdim!=0)
slength=dim[numdim-1];
/* the address of the array is stored in a hidden parameter; the address
* of this parameter is 1 + the number of parameters (times the size of
* a cell) + the size of the stack frame and the return address
@ -6440,7 +6447,7 @@ static void doreturn(void)
assert(curfunc->dim.arglist!=NULL);
for (argcount=0; curfunc->dim.arglist[argcount].ident!=0; argcount++)
/* nothing */;
sub=addvariable(curfunc->name,(argcount+3)*sizeof(cell),iREFARRAY,sGLOBAL,curfunc->tag,dim,numdim,idxtag);
sub=addvariable2(curfunc->name,(argcount+3)*sizeof(cell),iREFARRAY,sGLOBAL,curfunc->tag,dim,numdim,idxtag,slength);
sub->parent=curfunc;
} /* if */
/* get the hidden parameter, copy the array (the array is on the heap;

View File

@ -698,6 +698,7 @@ static int plnge_rel(int *opstr,int opoff,int (*hier)(value *lval),value *lval)
int lvalue,opidx;
value lval2={0};
int count;
char boolresult;
/* this function should only be called for relational operators */
assert(op1[opoff]==os_le);
@ -714,7 +715,9 @@ static int plnge_rel(int *opstr,int opoff,int (*hier)(value *lval),value *lval)
error(212);
if (count>0) {
relop_prefix();
boolresult=lval->boolresult;
*lval=lval2; /* copy right hand expression of the previous iteration */
lval->boolresult=boolresult;
} /* if */
opidx+=opoff;
plnge2(op1[opidx],hier,lval,&lval2);

View File

@ -19,8 +19,8 @@
* @file Contains SourceMod version information.
*/
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -32,8 +32,8 @@
#ifndef _INCLUDE_JIT_VERSION_H_
#define _INCLUDE_JIT_VERSION_H_
#define SM_BUILD_STRING "-dev"
#define SM_BUILD_UNIQUEID "2655:fb3f7371c612" SM_BUILD_STRING
#define SM_BUILD_STRING ""
#define SM_BUILD_UNIQUEID "2708:69195a250d70" SM_BUILD_STRING
#define SVN_FULL_VERSION "1.2.1" SM_BUILD_STRING
#define SVN_FILE_VERSION 1,2,1,0

View File

@ -59,7 +59,7 @@ if ($^O eq "linux")
}
my ($build_type);
$build_type = Build::GetBuildType(Build::PathFormat('tools/buildbot/build_type'));
if ($build_type == "dev")
if ($build_type eq "dev")
{
Build::Command(Build::PathFormat('tools/versionchanger.pl') . ' --buildstring="-dev"');
}

View File

@ -1 +1 @@
dev
rel

View File

@ -25,11 +25,11 @@ $version .= '-hg' . Build::HgRevNum('.');
my ($build_type);
$build_type = Build::GetBuildType(Build::PathFormat('tools/buildbot/build_type'));
if ($build_type == "dev")
if ($build_type eq "dev")
{
$build_type = "buildbot";
}
elsif ($build_type == "rel")
elsif ($build_type eq "rel")
{
$build_type = "release";
}

0
tools/versionchanger.pl Normal file → Executable file
View File