David Anderson
d473b0441d
Allow plugin info fields to outlive their runtime.
2015-09-15 19:07:22 -07:00
Ross Bemrose
10a95cfdce
Add new function: GetMapDisplayName.
...
This function will resolve the name of a map using FindMap, then (if applicable), will turn a workshop map name into a nicely formatted name.
Currently only TF2 and CS:GO Map Workshops are supported. More can be added at a later date.
This function returns false if a map was not found, but true in any other instance even if FindMap could not resolve the map name.
This patch also updates the following core plugins to use this GetMapDisplayName:
BaseTriggers
BaseVotes
MapChooser
NextMap
Nominations
RandomCycle
RockTheVote
2015-09-15 16:16:58 -04:00
David Anderson
653dd36020
Merge pull request #378 from powerlord/fix-convar
...
Fix ConVar .IntValue, .BoolValue, and .FloatValue assignments (Bug 6405)
2015-09-15 12:33:51 -07:00
Nicholas Hastings
28bf744a18
Merge pull request #399 from alliedmodders/tf2branch-nontf2-ismapvalid
...
Fix IsMapValid call on non-TF2 TF2-branch games to use old behavior requiring only map name
2015-09-14 20:44:24 -04:00
Nicholas Hastings
e7d9795fc1
Fix IsMapValid call on non-TF2 TF2-branch games to use old behavior requiring only map name.
2015-09-14 19:24:28 -04:00
David Anderson
2adae27557
Clean up CPlugin member variables.
2015-09-14 12:55:42 -07:00
David Anderson
3430962cbe
Simplify required libs handling and make sure they create dependency links.
2015-09-14 12:53:23 -07:00
David Anderson
0aaa659e29
Fix how the mark-serial is used.
...
The mark-serial is a generation number to optimize dependency tracking. It did not actually get
applied correctly, meaning that in rare cases we could miss dependencies. This patch removes the
incorrect serial propagation and ensures that we don't double-count a dependent plugin.
Additionally, this patch ensures that all callers of BindNativeToPlugin() will update the mark
serial, as is required to correctly track dependencies.
2015-09-14 12:50:50 -07:00
David Anderson
9ef8cc7064
Separate the top of UnloadPlugin into a precursor function.
2015-09-14 12:50:39 -07:00
Nicholas Hastings
44bacdc067
Fix recent regression with finding engine ptr on CS:S, DoD:S, HL2:DM.
...
They are still only have engine v21, not yet v22 (let alone v23).
2015-09-14 09:56:06 -04:00
David Anderson
fc947c68f7
Merge pull request #404 from alliedmodders/fix-crash
...
Fix a regression from the ConCmdManager refactoring that causes a crash using SourceMod commands in the server console.
2015-09-12 22:53:09 -07:00
David Anderson
bcd80d3e84
Fix a regression from the ConCmdManager refactoring that causes a crash using SourceMod commands in the server console.
2015-09-12 00:26:47 -07:00
Nicholas Hastings
f6d7fd4949
Don't use VInterfaceMatch when wanting explicit iface version.
2015-09-11 05:40:03 -07:00
Nicholas Hastings
2bd91dd93b
Fix always failing when falling back to engine v22.
2015-09-11 05:38:53 -07:00
Nicholas Hastings
82b7485001
Shim for TF2-branch games to find latest, non-shimmed engine iface.
2015-09-10 20:43:48 -04:00
Kyle Sanderson
f59df243ea
Change FindMap to take a const char* for searching instead of char*.
2015-09-10 11:47:46 -07:00
David Anderson
fe16e8e47c
Move the SetCommandClient hook into GameHooks.
2015-09-09 20:03:23 -07:00
David Anderson
fd961f4712
Remove code to handle SourceHook versions 3 and lower.
2015-09-09 19:00:18 -07:00
David Anderson
b548ba7b58
Remove bad-console-read protection logic for Metamod:Source 1.7 and earlier.
2015-09-09 18:59:31 -07:00
David Anderson
df672dd8ce
Remove the ability to compile against Metamod:Source versions lower than 1.8.
2015-09-09 18:54:43 -07:00
David Anderson
c54b54ded0
Use GameHooks for ChatTriggers.
2015-09-09 18:51:21 -07:00
David Anderson
5757b729ac
Hide MRES_SUPERCEDE from command hook callbacks.
2015-09-09 18:45:20 -07:00
David Anderson
b048dc7b10
Move ConCommand hooks into GameHooks and switch callbacks to ICommandArgs.
2015-09-09 18:40:04 -07:00
David Anderson
b63bfdc72a
Rename QueryHookMode to ClientCvarQueryMode.
2015-09-09 18:40:01 -07:00
David Anderson
fa93426f6a
Remove blanket includes from sm_stringutil.
2015-09-09 15:18:24 -07:00
David Anderson
86f0a77e73
Reduce dependence on sm_strdup.
2015-09-09 15:18:24 -07:00
David Anderson
13a783d441
Remove UTIL_Format() and UTIL_FormatArgs().
2015-09-09 15:18:17 -07:00
David Anderson
e08697ad54
Remove strncopy().
2015-09-09 14:57:47 -07:00
David Anderson
67c8ee4ce3
Move CDataPack from core to logic.
2015-09-06 11:02:52 -07:00
David Anderson
69984f472f
Remove unused, NPOTB CrazyDebugger.
2015-09-05 20:44:00 -07:00
Ross Bemrose
569a53182c
Allow sm_SetConVarString, sm_SetConVarFloat, and sm_SetConVarNum treat notify and replicate as non-existent.
...
Remove special functions for BoolValue, IntValue, and FloatValue.
2015-08-24 17:03:47 -04:00
Kyle Sanderson
9ebd4ad627
Merge pull request #319 from KyleSanderson/20isntagoodnumber
...
Allow GetMapHistorySize to return numbers greater than 20 (r=Dr!fter).
2015-09-05 13:58:03 -07:00
Nicholas Hastings
1e1b23dc31
Add missing sanity checks on element param on SetEntPropString for data props.
2015-09-02 18:35:37 -04:00
Nicholas Hastings
5cdf35d687
Fix array detection/handling for GetEntPropString with string_t arrays (bug 6409).
2015-09-02 18:33:58 -04:00
David Anderson
4e275eea97
Split intercom.h into separate headers and reduce shared header inclusion.
2015-08-31 10:00:49 -07:00
David Anderson
4f1705e001
Rename some bridge interfaces.
2015-08-31 09:57:32 -07:00
David Anderson
5d55ff23bd
Move OnQueryCvarValueFinished into the global hook manager.
2015-08-31 09:22:08 -07:00
David Anderson
2ed044804d
Move OnConVarChanged into a global hook.
2015-08-31 09:18:29 -07:00
David Anderson
32ba03538b
Move CCommandArgs into its own header.
2015-08-31 00:07:37 -07:00
David Anderson
23feee0e00
Put the game provider in its own header.
2015-08-31 00:07:34 -07:00
David Anderson
401aa038f8
Start a new bridge mechanism for global callbacks.
2015-08-31 00:07:27 -07:00
David Anderson
38e1c2f1f3
Clean up the core side of the logic bridge.
2015-08-30 23:30:15 -07:00
David Anderson
9e4d396d5e
Virtualize MMS functions in the core/logic bridge.
2015-08-30 23:29:46 -07:00
David Anderson
5c5d43137d
Virtualize game state functions in the core/logic bridge.
2015-08-30 23:29:23 -07:00
David Anderson
bdfdab1d3a
Virtualize game description functions in the core/logic bridge.
2015-08-30 23:28:59 -07:00
David Anderson
9366882ac4
Virtualize ConVar bridge functions.
2015-08-30 23:28:44 -07:00
David Anderson
0f9e5234fe
Convert core_bridge to a proper class declaration.
2015-08-30 23:28:28 -07:00
David Anderson
3d5c9f0e21
Rename smcore to bridge, and use it as a pointer.
2015-08-30 23:27:53 -07:00
David Anderson
a2dac43833
Remove CCommand from the logic bridge.
2015-08-30 21:02:14 -07:00
David Anderson
28346c99f2
Move RootConsoleMenu into core/logic.
2015-08-30 21:01:46 -07:00
David Anderson
23d55dd9d5
Move RootConsoleMenu::ConsolePrint into the logic bridge.
2015-08-30 21:01:27 -07:00
David Anderson
2c886943a0
Move RootConsoleMenu into its own header and .cpp file.
2015-08-30 21:01:10 -07:00
David Anderson
9d805ea9fb
Replace the AddRootConsoleCommand API to not expose internal structures.
2015-08-30 21:01:03 -07:00
David Anderson
e992c33f35
Factor irrelevant stuff out of RootConsoleMenu.
2015-08-30 21:00:42 -07:00
David Anderson
ecbcc7ba16
Move the sourcemod_version convar.
2015-08-30 21:00:39 -07:00
David Anderson
6503e92d66
Move LibrarySys from core to logic.
2015-08-30 20:11:22 -07:00
David Anderson
207f643d3a
Replace g_LibSys usage with AMTL primitives.
2015-08-30 20:11:02 -07:00
David Anderson
ec01ca72a0
Replace internal ILibrary use with ke::SharedLib.
2015-08-30 20:10:59 -07:00
David Anderson
5ecd906905
Replace CLibrary with a wrapper around ke::SharedLib.
2015-08-30 20:10:57 -07:00
David Anderson
e78fe93e92
Move gnprintf/atcprintf from core to logic.
2015-08-30 19:32:46 -07:00
David Anderson
9d2bee261c
Move TrimWhitespace from core to logic.
2015-08-30 18:42:25 -07:00
David Anderson
a158205f30
Remove strncopy from the core/logic bridge.
2015-08-30 18:21:07 -07:00
David Anderson
457266d249
Make UTIL_Format wrap ke::SafeSprintf.
2015-08-30 18:03:36 -07:00
David Anderson
9ba1363d86
Remove Format/FormatArgs from the core/logic bridge.
2015-08-30 18:03:31 -07:00
David Anderson
c87b3c0859
Update to the latest AMTL version.
2015-08-27 01:01:18 -04:00
David Anderson
e30b57cb4a
Update build scripts for new AMTL folder structure.
2015-08-26 15:54:55 -04:00
Nicholas Hastings
a95527a72c
Merge pull request #370 from alliedmodders/valvefs-default-pathid
...
Make path id default to "GAME" instead of NULL for FileExists and FileSize if param missing.
2015-08-14 08:44:34 -04:00
Nicholas Hastings
4f0c06d068
Merge pull request #369 from alliedmodders/bug-6391
...
Fix bIsStringIndex not being initialized in SetEntPropString for non-index SendProps (bug 6391).
2015-08-14 08:32:33 -04:00
Nicholas Hastings
af4573e7af
Fix build on Clang.
2015-08-14 08:31:52 -04:00
Nicholas Hastings
a08a693bf3
Make path id default to "GAME" instead of NULL for FileExists and FileSize if param missing.
...
This only affects plugins compiled before the param existed in the includes. NULL defaults to "GAME"
on some engine versions, but is invalid on others, causing any file to not be found.
2015-08-14 07:52:50 -04:00
Nicholas Hastings
8a726a8fbb
Fix bIsStringIndex not being initialized in SetEntPropString for non-index SendProps.
2015-08-14 07:50:10 -04:00
David Anderson
ff692f6040
Merge pull request #366 from peace-maker/timer_paused
...
Fix calling timer callback in paused plugins
2015-08-13 22:14:02 -07:00
David Anderson
bcfef75c5d
Update regex and datapack includes to not use binding syntax.
2015-08-12 11:52:57 -07:00
Peace-Maker
0a14d3f50c
Fix calling timer callback in paused plugins
...
Don't try to call the timer callback, if it's not runnable.
Error wasn't reported before the exception refactoring.
2015-08-09 01:50:36 +02:00
Nicholas Hastings
f589298879
Fix maxlen in SetEntPropString not being initialized (bug 6391).
...
This var is only used when setting a direct string, rather than a string_t. Some flawed
logic was causing it to only be set if the sendprop didn't have a proxy function (although
all strings should; that's how we detect whether it's a string_t or not). The var only needs
to be set if it's not a string_t, but does not hurt anything if it is.
2015-07-25 10:46:41 -04:00
Nicholas Hastings
4db1280c59
Add comment to note that pStk actually gets deleted.
2015-07-12 19:18:27 -04:00
Nicholas Hastings
5893737321
Fix handle leak.
2015-07-12 17:38:50 -04:00
Nicholas Hastings
c85cc5cbf7
Add support for listening to, blocking, changing, and faking ClientCommandKeyValues.
2015-07-12 13:14:46 -04:00
Asher Baker
705b5d3f5f
Merge pull request #340 from asherkin/datapack-alloc
...
Improve DataPack memory allocation & Report size for DataPack Handles
2015-07-08 20:07:40 +01:00
Nicholas Hastings
8a978dc71f
Remove hack around FuzzyMatch never being returned in TF2 for FindMap.
...
It has been fixed now in the game.
2015-07-04 13:42:50 -04:00
Nicholas Hastings
52147ca75f
Use datadesc instead of serverclass for m_iName lookup.
...
m_iName is not networked on all games.
2015-07-03 08:57:15 -04:00
Nicholas Hastings
1a5714c3ca
Fix build for ep1 and darkm.
2015-07-02 15:22:33 -04:00
Nicholas Hastings
e0a83ff7b2
Add support for setting string_t values with SetEntPropString.
...
Adds new AllowPooledString func to CHalfLife2 to allocate a string in the game's string pool.
Also fixes SetEntPropString using incorrect offset for nested sendprops.
2015-07-02 14:47:31 -04:00
Nicholas Hastings
93bec920cf
Add support for GetEntPropString(Prop_Send) with netvars backed by string_t vars.
2015-07-02 14:00:47 -04:00
Nicholas Hastings
80838af4a2
Work around eFindMap_FuzzyMatch never actually being returned in TF2.
2015-06-28 09:48:01 -04:00
Nicholas Hastings
c383f1dc43
Fix compile errors on Clang by implementing own enum.
2015-06-27 19:58:14 -04:00
Nicholas Hastings
f107ff9cd2
Expose FindMap/ResolveFuzzyMapName to plugins.
2015-06-27 13:10:47 -04:00
Kyle Sanderson
0f9b9d0a24
Call OnClientDisconnect(_Post) if the client is already connected.
2015-06-11 20:14:25 -07:00
Nicholas Hastings
c0d4dfa6ed
Update IsMapValid for today's TF2 update.
2015-06-11 17:48:58 -04:00
Nicholas Hastings
14e0a9a487
Fix some ctype misuses (bug 6377).
...
isalpha, isdigit, isupper, and islower do not return 0/1. They return 0 or anything-else. Since the bool tag in pawn only supports exactly 0 and 1, we need to return 1 for all truthy returns in the natives that wrap these.
2015-06-10 14:40:48 -04:00
Nicholas Hastings
9f8a40f482
Merge pull request #337 from alliedmodders/earlier-maxclients
...
Populate MaxClients before OnPluginStart is called.
2015-05-20 06:48:08 -04:00
Nicholas Hastings
2abb8e6335
Remove engine check for whether or not to search alt mapcycle paths.
2015-05-18 09:16:36 -04:00
Asher Baker
fd48f4adfd
Report size for DataPack Handles.
2015-05-13 19:43:53 +01:00
Asher Baker
7f97e67931
Saner allocation policy for DataPacks.
2015-05-13 19:43:35 +01:00
Nicholas Hastings
11bf32f6f1
Enable finding mapcycle in cfg dir on sdk2013 and bms.
2015-05-13 06:49:37 -07:00
Nicholas Hastings
ae78acf97a
Remove harmless remnant of reverted change.
2015-05-12 13:39:06 -04:00
Nicholas Hastings
51344262c6
Merge pull request #333 from TheMadSword/IncreasedPrintToBufferSize
...
Increased PrintToChat, PrintCenter & PrintHint w/ "all" version, buffer sizes from 192 to 254.
2015-05-12 09:23:25 -04:00
Nicholas Hastings
75a93314a2
Rename PlayerManager::m_FirstPass to m_bServerActivated for clarity.
2015-05-11 20:42:26 -04:00
Nicholas Hastings
91b2ab8be1
Fixed some badness with the player initialization moving.
2015-05-11 20:29:00 -04:00
Nicholas Hastings
8fc689c89a
Populate MaxClients before OnPluginStart is called.
2015-05-11 19:31:22 -04:00