Files
Bubberstation/tools/build
SkyratBot 14dd5472e7 [MIRROR] Bumps Hypnagogic to v3.1.0 (#27536)
* 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

![image](https://github.com/tgstation/tgstation/assets/58055496/3bb1ce3c-055e-4b3d-ba94-dad262517a94)

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>
2024-04-30 18:15:09 +01:00
..
2024-04-18 03:06:08 +02:00

/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+B to build. b) Press F5 to build and run with debugger attached.
  • Windows: a) Double-click BUILD.bat in the repository root to build (will wait for a key press before it closes). b) Double-click tools/build/build.bat to build (will exit as soon as it finishes building).
  • Linux: a) Run tools/build/build from 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.bat will 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
  }
]