https://github.com/nosoop/stocksoup
A collection of SourceMod stock functions.
https://github.com/nosoop/stocksoup
sourcemod sourcemod-lib
Last synced: 7 days ago
JSON representation
A collection of SourceMod stock functions.
- Host: GitHub
- URL: https://github.com/nosoop/stocksoup
- Owner: nosoop
- License: gpl-3.0
- Created: 2016-03-16T19:46:26.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-02-04T02:28:52.000Z (almost 2 years ago)
- Last Synced: 2024-02-04T03:25:17.120Z (almost 2 years ago)
- Topics: sourcemod, sourcemod-lib
- Language: SourcePawn
- Homepage:
- Size: 179 KB
- Stars: 30
- Watchers: 4
- Forks: 12
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# stocksoup
A mishmashed collection of various SourceMod stock functions that I've written for use in my projects.
Might be useful to you at some point as well.
## Usage (simplified)
For your sanity's sake, just copy the stocks that you need into your own project.
This repository is a moving target that gets changed fairly often; if you just sync this repository to your main scripting includes, you ~~may~~ will have a bad time if any stock functions change.
## Usage (traditional)
Install stocksoup as a git submodule. The directory structure is set up this way with includes at the root so the repository has its own nice little folder to sit in.
Using this as a submodule means effectively pinning the dependencies; you and possible contributors won't be tripped up by function and include renames whenever I feel like doing them.
Of course, you'll have to be on a git-compatible system for your repository in the first place.
1. Add the repository as a submodule (as an include relative to your `scripting` directory).
$ git submodule add https://github.com/nosoop/stocksoup scripting/include/stocksoup
2. If not already, make sure your SourcePawn compiler looks into the custom include directory.
spcomp "scripting/in_progress_file.sp" -i"scripting/include"
3. Include a specific file and use a stock.
#include
public void Example_OnPlayerSpawn(int client) {
SetClientScreenOverlay(client, "combine_binocoverlay");
}
4. For collaboration, you should know how to recursively initialize a repository:
$ git clone --recurse-submodules $YOUR_GIT_REPOSITORY
## Updates (as a submodule)
1. Pull in updates for all the submodules.
$ git submodule update --remote --checkout
2. Make sure your project actually builds; fix things as necessary. No stability guaranteed.
3. Commit as usual.
## Releases
If I remember to do so, I may publish a tag on a commit prior to a major breaking change to mark
commits that projects should be able to move up to without significant problems.
I consider a major breaking change as one that:
- Removes a function, or an argument within a function (keyword changes are not major).
- Moves functions between filenames in a way that referencing the old include doesn't work.
## Directory structure
Pretty simple:
- Base directory has stocks applicable to all games.
- The `sdkports/` directory contains ports of select Source SDK functions.
- Other subdirectories have stocks applicable to a specific mod. Mainly TF2, since that's the only game I write for. Any stock functions for a specific game should be prefixed with a game abbreviation, similar to SourceMod functions.
## Questions and Answers
**Is the name of the library a reference to Weird Al's [*Talk Soup*][yt-talksoup]?**
Yes. Yes it is.
[yt-talksoup]: https://youtu.be/555ndsDM2qo