* Bumps Hypnagogic to v3.1.0 (#82953) ## About The Pull Request Bumps the cutter to my latest [version](https://github.com/spacestation13/hypnagogic/releases/tag/v3.1.0) See there for the full CL but in short: ### Fixes/Polish Error handling actually works now (it prints instead of crashing the program) Pretty colors in CLI when running it  Release files are more portable (Windows version requires less cruft bs dlls, and the linux version targets musl instead of glibc, making it far less platform dependent) ### Features The cutter supports a new mode called Reconstruction, which takes a target dmi and does a good faith effort to convert it back to input png and toml files. This only works for default bitmasking, and it doesn't ALWAYS work, but it's really powerful. It's what I used to make my initial cutter pr here. See [here](https://github.com/spacestation13/hypnagogic/blob/v3.1.0/examples/bitmask-slice-restore.toml) for more detail. * Bumps Hypnagogic to v3.1.0 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
/tg/station build script
This build script is the recommended way to compile the game, including not only the DM code but also the JavaScript and any other dependencies.
- VSCode:
a) Press
Ctrl+Shift+Bto build. b) PressF5to build and run with debugger attached. - Windows:
a) Double-click
BUILD.batin the repository root to build (will wait for a key press before it closes). b) Double-clicktools/build/build.batto build (will exit as soon as it finishes building). - Linux:
a) Run
tools/build/buildfrom the repository root.
The script will skip build steps whose inputs have not changed since the last run.
Getting list of available targets
You can get a list of all targets that you can build by running the following command:
tools/build/build --help
Dependencies
- On Windows,
build.batwill automatically install a private (vendored) copy of Node. - On Linux, install Node using your package manager or from https://nodejs.org/en/download/.
- On Linux, unless using tgs4 or later you will need to compile rust-g on the server and obtain a .so file, for instructions see https://github.com/tgstation/rust-g
Why?
We used to include compiled versions of the tgui JavaScript code in the Git repository so that the project could be compiled using BYOND only. These pre-compiled files tended to have merge conflicts for no good reason. Using a build script lets us avoid this problem, while keeping builds convenient for people who are not modifying tgui.
This build script is based on Juke Build - follow the link to read the documentation for the project and understand how it works and how to contribute.
Named byond versions
If you have byond installations in non-standard locations or want to use few versions at once for testing you can fill in dm_versions.json file in this directory.
Entries with "default" set to true will be used BEFORE byond installations in standard locations. Otherwise you need to pass --dm-version={name} to the build script to choose version you want to use.
Example dm_versions.json file:
[
{
"name": "515.1594",
"path": "C:\\Repo\\ByondVersions\\515.1594_byond\\byond\\bin\\dm.exe",
"default": false
},
{
"name": "funny_version",
"path": "D:\\Repo\\ByondVersions\\514.1589_byond\\byond\\bin\\dm.exe",
"default": true
}
]