Coder Social home page Coder Social logo

sst's Introduction

Hey! This README is for those looking to work on the code. For actual plugin
documentation, you’ll want to look at the website at https://mikes.software/sst/
or ask for help in a relevant speedrunning community.

NOTE: Please read and understand LICENCE before redistributing this software!

════ Compiling ════

Windows:
 • Install the Windows 10 SDK and MSVC toolset via the Visual Studio Installer
   (if you don’t care what else gets installed, installing the C++ Desktop
   workload should be fine).
 • Install native Clang from https://clang.llvm.org (NOT MinGW/MSYS2 Clang!).
 • Run compile.bat (in lieu of a better build tool, to be added later).

Linux:
 • Install Clang (and LLD) via your system package manager. Technically, GCC
   should be able to compile most of this too, but we are currently relying on
   a Clang-specific extension or two, and GCC in general doesn't get tested nor
   used for binary releases, so it's probably not worth wasting time on.
 • Install 32-bit glibc and libstdc++ libraries and associated C headers if
   they’re not already installed.
 • Run ./compile (in lieu of a better build tool, to be added later).

NOTE: Linux code should compile now but still crashes on cvar registration and
almost none of the features usefully work. In other words, it needs quite a lot
more development before it's of use to anyone.

════ How and where to install ════

IMPORTANT: If your game supports multiplayer, always launch with -insecure as a
launch option before loading this plugin! Newer Source builds shouldn’t let you
connect to a server with plugins loaded or even let you load plugins without
insecure mode at all, but older ones do, at which point you might still get VAC
banned. ALWAYS launch with -insecure or load the plugin AT YOUR OWN RISK OF
BEING BANNED!

Very old Source builds load plugins from the top-level bin/ folder, while
relatively modern builds load them from the mod-specific directory, e.g.
left4dead2/, hl2/. Left 4 Dead and later branches *ALSO* try to load from the
top-level game directory where the EXE is, if other paths don’t work.

Since this plugin is designed to be universal, a reasonable recommendation is to
always put it in bin/ and then use the command `plugin_load ../bin/sst`. The way
the paths work out, that always works no matter what, thus taking all the
thought out of it. It’s also a sensible way to share the plugin between multiple
mods in an engine installation, where relevant.

It’s additionally possible to back out of the game installation with `../../`
etcetera and load from anywhere you want, as long as it’s not on a different
Windows drive letter. This is especially handy if you’re building from source
and don’t want to copy it over every time.

Note: some very old (and very new) Source builds don’t have a plugin_load
command. For the time being, these versions are unsupported.

Thanks, and have fun!
- Michael Smith <[email protected]>

sst's People

Contributors

mikesmiffy128 avatar sirwillian avatar imaciidz avatar wozniak avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.