# Conflicts: # _maps/map_files/IceBoxStation/IceBoxStation.dmm # _maps/map_files/KiloStation/KiloStation.dmm # _maps/map_files/tramstation/tramstation.dmm # _maps/skyrat/automapper/automapper_config.toml # code/controllers/subsystem/statpanel.dm # code/datums/chatmessage.dm # code/datums/quirks/negative_quirks/claustrophobia.dm # code/game/objects/items/tools/weldingtool.dm # code/modules/client/preferences/middleware/quirks.dm # code/modules/mob/living/carbon/carbon_defense.dm # code/modules/mob/living/carbon/human/human_defense.dm # code/modules/mob/living/carbon/human/inventory.dm # code/modules/mob/living/living_say.dm # code/modules/modular_computers/file_system/programs/jobmanagement.dm # code/modules/projectiles/guns/energy/kinetic_accelerator.dm # code/modules/research/designs/mechfabricator_designs.dm # code/modules/research/machinery/_production.dm # code/modules/surgery/organs/internal/_internal_organ.dm # html/changelogs/archive/2024-01.yml # modular_skyrat/modules/automapper/code/area_spawn_entries.dm # modular_skyrat/modules/jukebox/code/jukebox_subsystem.dm # modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm # modular_skyrat/modules/loadouts/loadout_items/loadout_datum_suit.dm # modular_skyrat/modules/loadouts/loadout_items/under/loadout_datum_under.dm # modular_skyrat/modules/synths/code/bodyparts/power_cord.dm # tgstation.dme # tgui/packages/tgui/components/Dropdown.tsx # tgui/packages/tgui/components/Input.tsx # tgui/packages/tgui/interfaces/Fabrication/DesignBrowser.tsx # tgui/packages/tgui/interfaces/Jukebox.jsx # tgui/packages/tgui/interfaces/PreferencesMenu/QuirksPage.tsx # tgui/packages/tgui/interfaces/PreferencesMenu/data.ts # tgui/packages/tgui/interfaces/common/SearchBar.tsx
/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
}
]