Commit Graph
809 Commits
Author SHA1 Message Date
peace-maker cb8541548b Update sourcepawn (#2011)
* Update sourcepawn

* Remove #pragma rational Float
2023-07-12 22:55:40 +02:00
Corey D 5addaffa56 Add ParseTime (strptime) native (#1697)
* Add GetTimeStamp (strptime) native

* Fix description

* Fix typos

* Fix issues

* Rewrite ParseTime

* Fix docstrings

* Fix ParseTime

* Clarify docs
2023-07-04 13:42:45 +02:00
Dysphie 97f2fc9d7f Increase Cookie.GetInt/SetInt buffer size (#1995)
Current implementation does not account for negative sign or null term
2023-04-22 01:19:36 -07:00
Corey D 50b4ad4e11 Make KeyValues.Rewind traversal-stack clearing optional (#1993) 2023-04-17 13:10:02 +01:00
XeroX f66a904c31 Update SDKCall documentation for string return type (#1961)
* Update SDKCall return information

This adds the information that if the return value is a string then SDKCall will return the number of bytes written.

* Update description

* Add info if the string is null
2023-04-02 23:46:53 +02:00
MichaelandPeace-Maker a28c3cac9b cstrike.csgo: Add native to retrieve loadout slot of weapon (#1241)
* Add native to retrieve loadout slot of weapon

* Mention the native is for CS:GO only

---------

Co-authored-by: Peace-Maker <[email protected]>
2023-03-29 21:27:45 -07:00
fakuivanandpeace-maker 6670b93cc6 keyvalues: adjust KvSavePosition return value to implementation (#757)
The current ``KvSavePosition`` definition does not reflect the behaviour seen in [core/smn_keyvalues.cpp#L973-L981](https://github.com/alliedmodders/sourcemod/blob/404e96ad456531e9029f3b02b243a5284efd9691/core/smn_keyvalues.cpp#L973-L981). This can cause problems if some procedure on sp expects ``KvSavePosition`` to always add one node to the stack, no matter if there is no higher node.

Co-authored-by: peace-maker <[email protected]>
2023-03-29 21:06:36 -07:00
Corey D c5087d7a39 database: flip to recursive_mutex to allow nested locks (#1937)
* Fix crash from db locking

* Change db lock to use recursive_mutex
2023-03-29 20:03:03 -07:00
Mikusch 5539484f92 Add support for float modulo operator (#1953) 2023-03-19 16:19:42 +00:00
Alienmario 850f96b986 Allow void return type in timer callbacks (#1916) 2023-03-02 21:28:42 -08:00
Impact 1f5b735dbd Add note about automatic unhook (#1910) 2023-01-22 10:23:40 +01:00
Nicholas Hastings 8922ed0c5d Add TE_WriteEnt and TE_ReadEnt natives to SDKTools. (#1905) 2023-01-14 14:48:05 +00:00
nosoop 2130c60fd9 Implement raw entity handle accessors (#1830)
* Implement raw entity handle accessors

* Fix FromPseudoAddress calls on 64-bit

* fixup: Remove unnecessary ent deref

* fixup: Correct param index in thrown error
2022-12-29 03:57:47 +00:00
BenoistandKenzzer f8349e846a Fix SetEntityHealth to support 'any' entities (#1846)
Co-authored-by: Kenzzer <[email protected]>
2022-12-20 22:07:57 +00:00
Nicholas Hastings b77e8c50ac Add support for Military Conflict: Vietnam (#1887) 2022-12-20 21:46:18 +00:00
Nicholas Hastings 2d5bc4007f Add clarification to documentation for hud messages and engine dialogs (#1888)
with regard to game support.
2022-12-19 23:49:48 +00:00
peace-maker 02f188899e Add CommandIterator.ConVarFlags property (#1869)
* Add CommandIterator.ConVarFlags property

Allow to access the convar flags `FCVAR_*` value from the iterator.
The CommandIterator.Flags property should have been called `AdminFlags`,
but it's too late to change that now.

* Switch admin help menu to use CommandIterator.ConVarFlags

No need to lookup the convar again.

* Deprecate CommandIterator.Flags

Rename it to .AdminFlags now that we have two kinds of flags exposed
on the iterator.
2022-12-04 12:24:56 +01:00
Corey D 5d391fda07 Add SMCParser.ParseString (#1817) 2022-12-02 16:55:08 +01:00
vanz666 8538233985 Expose custom sdktools trace types from hl2sdk (#1822)
* Update trnatives.cpp

* Update sdktools_trace.inc

* Update trnatives.cpp
2022-12-02 14:11:05 +01:00
Corey D 3b4a343274 Add natives to get chat triggers (#1816) 2022-12-02 13:55:32 +01:00
Spirrwell e34e9b9869 Split PVKII into its own engine branch (#1847)
* Initial PVKII branch support

* Change PVKII code to 23, DOTA uses 22 in MM

* Bunch more SE_PVKII preprocessor that was missed

* Add some missing SOURCE_ENGINE_PVKII cases

* Update PVKII FireOutput signature for Linux

* Update checkout-deps with 'pvkii'

* Fix FireOutput signature for PVKII, accidentally used one from newer build

* Change PVKII code to 10, and bump others by 1

* Only check against SE_SDK2013 here, like Metamod

* More SE_PVKII preprocessor cleanup
2022-10-24 19:27:32 +00:00
Bara 4015f9c1c9 Replace old link with newer working one (#1837) 2022-09-19 22:35:49 +02:00
nosoop 21740d9a26 Add functions for working with entity lumps (#1673) 2022-09-05 15:44:58 -07:00
Impact 05aa3fd39d Update CreateDirectory (#1813)
* Update CreateDirectory docs

Add default arguments and a note about deep paths.

* Update note

* Add note about use_valve_fs
2022-08-27 01:59:43 +02:00
eyal282 24f1c89b96 Add Clientprefs helpers for integers and strings (#1727)
* Update clientprefs.inc

* Update clientprefs.inc

* Update clientprefs.inc

* Update clientprefs.inc

* Update clientprefs.inc

* Update clientprefs.inc

* Update clientprefs.inc

* Update clientprefs.inc

* Update clientprefs.inc

* Update clientprefs.inc

* Update clientprefs.inc
2022-07-31 11:59:25 +02:00
Kevin Yonan a761194917 Update operator% forwards to newdecls (#1763) 2022-07-28 18:12:00 -07:00
Corey D 9321229321 Add GetClientOriginalLanguage (#1810)
Creates a native which will return the language the client connected with.
2022-07-28 18:10:51 -07:00
Accelerator e5ebd65176 Exposed SDKCall_Engine call type to use CVEngineServer methods (#1648)
* Update vdecoder.h

* Update vcaller.cpp

* Update sdktools.inc
2022-07-26 22:14:49 +02:00
Mikusch 278998f7d0 SDKTools: Add explode parameter to ForcePlayerSuicide native (#1782)
* Expose CommitSuicide params

* A single space

* Validate param count

* Set force param to true by default
2022-07-07 14:14:50 +02:00
peace-maker c29e185d2a Bump version to 1.12 for manual builds (#1795) 2022-07-05 15:13:52 +02:00
Deathreus 37c2a83523 Add a PluginIterator methodmap (#1779)
* Add a PluginIterator methodmap

* Follow convention

* Update sourcemod.inc

* Turn method ReadPlugin into property Plugin

* Requested change

* Update sourcemod.inc

* Curse you VSC

* Follow behavior of other iterators instead of the natives

* Fix a stray space

* Implement a hacked CPluginIterator

* Oops

Copy paste go brr

* Revert a change made before the custom impl
2022-06-24 11:46:03 +02:00
Psykotikism 7a3d4e70bf Add "DispatchKeyValueInt" stock (#1764) 2022-05-06 14:53:57 +01:00
Arron Vinyard 6e73aba250 Remove unnecessary timer typeset entry (#1735) 2022-05-03 19:34:20 -07:00
domino_ b057580a62 Add a OnPlayerRunCmdPre forward (#1760)
Adds an OnPlayerRunCmdPre forward in order for plugins to be able to hook OnPlayerRunCmd with the guarantee that none of the parameters have been modified by other plugins. As such, OnPlayerRunCmdPre's parameters cannot be modified and are read-only. 

Plugins that wish to use OnPlayerRunCmdPre can maintain backwards compatibility with SourceMod 1.10 by falling back to OnPlayerRunCmd if the Pre variant was never fired.
2022-04-25 14:00:53 -07:00
Kyle ab8bbbd118 Honor AUTOLOAD_EXTENSIONS in clientprefs include (#1718)
* Optional autoload extensions

* revert autoload for cstrike/tf2
2022-04-21 13:44:24 +02:00
peace-maker 39d604ae6c DHooks: Allow setting CBaseEntity* param to NULL #1751 (#1754)
* DHooks: Allow setting CBaseEntity* param to NULL #1751

The param had to be a valid entity and wasn't allowed to be set to NULL. Behave similar to SetReturn which maps INVALID_ENT_REFERENCE (or -1) to NULL.

* Update include documentation
2022-04-20 15:32:37 +02:00
Arron Vinyard 852703ccca Add GetCmdArgFloat(Ex) stocks (#1742) 2022-04-12 11:17:05 +01:00
Mikusch 96ae65a96c Remove misleading note on DynamicHook.RemoveHook docs (#1725) 2022-03-07 12:34:25 -05:00
rtldg f307e44b79 Correct some function docs that return char count (#1721) 2022-02-25 15:20:12 -08:00
Corey D addfb3c8a1 Add MAX_AUTHID_LENGTH (#1696) 2022-02-15 10:21:35 +00:00
Erik Minekus 358bcca3a2 Database.Format destination buffer should not be marked const (#1714) 2022-02-14 07:39:03 -05:00
Corey D b209279589 Add bitwise SetBitFlags for AdminId and GroupId (#1677)
* Add bitwise SetFlags for AdminId

* Inline SetFlags natives
2022-02-12 13:14:57 +01:00
Arron Vinyard 250dc1b206 Update dhooks.inc documentation for consistency (#1658)
* Update dhooks.inc documentation for consistency

- Modifies whitespace (change tabs to spaces for non initial indents, fix alignments, create consistency with rest of SM docs)
- Change `/*` to `/**` for consistency and to indicate comment doc
- Removes incorrect `@noreturn` doc

* Split long comments across multiple lines

* Remove `@noreturn` in IGameConfigs.h

* Remove `@noreturn` from IGameHelpers.h

* Remove `@noreturn` from asm.c

* Add `@noreturn` to ThrowError

* Add `@noreturn` and `@error` to ThrowNativeError
2022-02-01 18:46:59 +01:00
Corey D c471e41dc7 Add ArrayStack.Clear native (#1676) 2022-01-22 03:26:21 -08:00
Mikusch afc9310704 Add LookupEntityAttachment & GetEntityAttachment natives (#1653)
Using the virtual `CBaseAnimating::GetAttachment(int, matrix3x4_t &)` was a deliberate choice because virtual offsets are generally easier to maintain than signatures. The `matrix3x4_t` is converted to world position and world angles internally.
Some of the other overloads are also inlined on a few games, making this the best choice.

Since this call can only be used on classes inheriting `CBaseAnimating`, we check if the `DT_BaseAnimating` SendTable exists on the entity, throwing a native error if it doesn't.
This safeguard could be greatly improved with a call to `CBaseEntity::GetBaseAnimating`, but would require more gamedata (maybe something to consider for the future?)
2022-01-03 13:13:54 +00:00
Corey D bf898dd45f Fix ArrayList return types (#1679)
ArrayList.SetString and ArrayList.SetArray both have int return types but their methodmap natives use void.
2021-12-27 12:17:04 +01:00
b38c9824fe sdktools: Add EntityCollisionRulesChanged & SetEntityOwner natives (#1620)
* Add EntityCollisionRulesChanged & SetEntityOwner natives

* fix win build, and unpushed changes

* Fixed bad world loop

* Requested changes + csgo offsets

* small copy paste mistake

* Strip the debug log lines

* Tiny clean up in comments

* line

* <dvander> try again

* sdktools: add default Param for owner.

Co-authored-by: Kenzzer <[email protected]>
Co-authored-by: Kyle Sanderson <[email protected]>
2021-11-21 23:03:35 -08:00
Peace-Maker 0f5f1a814e Import DHooks + Dynamic Detouring
This is the latest DHooks version from https://github.com/peace-maker/DHooks2/tree/1314f2d1b4d870677a1b9f628c770f2799878f9b
2021-11-17 13:17:39 +01:00
FortyTwoFortyTwo 9d7e720f33 Fix compiling with tf2_stocks 2021-10-27 07:51:33 -04:00
Nick Hastings 4b58b9f673 Reorder SDKCallType enum for better compatibility with existing plugins. 2021-10-26 17:32:02 -04:00