Go to file
Asher Baker b383302128
Switch internal SM concept of frames to use Think (#1540)
This has been asked for and debated in some form since Valve introduced
hibernation into the Source engine. The changes here are based on quite
a deep dive into the engine's frame/think logic (mainly in CS:GO which
has "legacy" hibernation and TF2 which has modern "frameless" ticking)
and all seem to be sane.

I think I've managed to maintain all the oddities around time keeping,
and the simulated bool (even though we don't really use it for anything)
should have a sane value. There is a slight behaviour change for
anything needing exact timings as we're now run earlier in the frame
before gpGlobals are updated, this should generally be fine but it might
affect some plugins such as bhop timers that are trying to be extremely
precise (often more precise than the underlying data they're using).

We'll probably want to add a native for plugins to detect if the server
is not completely simulating so they can opt out of work, but I think
defaulting to having things work like this makes more sense than adding
a 2nd set of per-frame forwards and natives (#540), and this makes
timers and any extension callbacks work automatically.
2021-07-19 19:12:09 +01:00
.github Start using Github Actions (#1488) 2021-05-09 01:46:08 +02:00
bridge/include Revert "Add HookPluginUnload() and UnhookPluginUnload() functions" 2021-05-24 14:30:16 -07:00
configs Removing old GeoIP.dat (#1533) 2021-07-17 11:32:02 +01:00
core Switch internal SM concept of frames to use Think (#1540) 2021-07-19 19:12:09 +01:00
editor Added AMXX Pawn geshi generation script. 2010-08-23 13:53:44 -04:00
extensions Fix conflict with extensions using SteamWorks (#1531) 2021-07-18 00:01:24 +01:00
gamedata Detect invalid menu item selections in L4D-based games (#1543) 2021-07-18 20:57:13 +01:00
licenses Fix quote mismatch (#1092) 2019-09-30 22:43:18 -07:00
loader Update to AMBuild 2.2. 2020-08-18 23:09:43 -07:00
plugins Track the creating plugin for convars (#1537) 2021-07-18 17:19:27 +01:00
public Make all command lookups case-insensitive (#1542) 2021-07-18 19:05:06 +01:00
sourcepawn@91b4bd5a91 Update SourcePawn 2021-07-06 10:12:23 +01:00
tools Removing old GeoIP.dat (#1533) 2021-07-17 11:32:02 +01:00
translations Standardize some spacing in translation phrases (#1254) 2020-05-08 14:55:05 -07:00
versionlib Update to AMBuild 2.2. 2020-08-18 23:09:43 -07:00
.arcconfig Add a .arcconfig file so that arc works 2013-10-15 22:57:59 +01:00
.gitattributes NPOTB: Correct GitHub's Linguist inaccuracies (#1096) 2019-10-07 19:14:09 +01:00
.gitignore Update to AMBuild 2.2. 2020-08-18 23:09:43 -07:00
.gitmodules Use upstream SourcePawn as a submodule. 2015-03-15 16:38:38 -07:00
.travis.yml Prefer python3 over python(2) in checkout-deps (#1424) 2021-03-07 13:50:15 +01:00
AMBuildScript Start using Github Actions (#1488) 2021-05-09 01:46:08 +02:00
appveyor.yml Remove cloning of Dota 2 SDK in CI 2020-07-30 11:37:00 -07:00
changelog.txt Triggering a build. 2011-04-13 19:05:41 -05:00
configure.py Start using Github Actions (#1488) 2021-05-09 01:46:08 +02:00
product.version Bump version to 1.11. 2019-10-18 21:07:36 -07:00
pushbuild.txt NPOTB: Trigger hl2sdk-csgo changes (#1316) 2020-07-24 00:19:58 -07:00
README.md Incorperate Licensing Into Project Tree (#961) 2019-04-12 12:10:13 -07:00

SourceMod

General

Development

Contact

  • Connect with us on GameSurge IRC in #sourcemod
  • Alternatively feel free to join our Discord server

License

SourceMod is licensed under the GNU General Public License version 3. Special exceptions are outlined in the LICENSE.txt file inside of the licenses folder.