UDB/SLADE on Linux Mint 21.3 with acc/zdbsp

1. UDB

Requirements

Depending on your linux distribution, the method may change, but basically you'll need :

  • cmake
  • make
  • g++
  • git
  • libx11-dev
  • libxfixes-dev
  • mesa-common-dev
  • mono
  • msbuild (sometimes included in a mono-complete package)

If your distribution doesn't offer a msbuild package, it's recommended to follow these instructions : https://www.mono-project.com/download/stable/#download-lin

Getting the source code

The UDB repository is : https://github.com/UltimateDoomBuilder/UltimateDoomBuilder

You have to get all those files. So click on the green "Code" button.

Either

  • download the repository as a ZIP file, you'll have to extract it.
  • use git clone https://github.com/UltimateDoomBuilder/UltimateDoomBuilder.git in a terminal.

Open a terminal and go to the folder where you have the sources.

You'll need to type make to compile UDB. If you installed all the requirements properly, UDB will compile successfully inside the Build folder.

Use ./builder to start it.

2. Slade

First add the DRD Team repository :

sudo wget -P /etc/apt/sources.list.d https://debian.drdteam.org/drdteam-$(dpkg --print-architecture).sources

sudo apt update

If that doesn't work, remove the line deb [signed-by=/etc/apt/keyrings/drdteam.gpg] http://debian.drdteam.org/ stable multiverse from your /etc/apt/sources.list file if it's in there.

Then follow the instructions there instead : https://debian.drdteam.org/

Then

sudo apt update && sudo apt install slade

Slade is installed.

If it doesn't start and mentions errors regarding lua try this :

sudo apt install liblua5.4 liblua5.4-dev

Note : if Slade is acting up... it might be caused by wayland ! Luckily, if you go to the options and disable the startup page... somehow it helps ! You can also switch to X11 if need be.

3. Acc and Zdbsp

It's the same method for both.

Their source code repositories are https://github.com/ZDoom/zdbsp/ and https://github.com/ZDoom/acc/

For both, the method is :

  • get the source like you did for UDB
  • cd into the directory

Then

mkdir build cd build cmake .. make

For both, you'll then have in the build folder the executable you compile (acc and zdbsp).

Make a copy into the "UltimateDoomBuilder/Build" folder from UDB that we used earlier, where we have the builder UDB executable.

Then, you'll need a .cfg file for both of those.

4. Useful informations

Config files for zdbsp and acc

ACC

In UltimateDoomBuilder/Build/Compilers/ZDoom/acc.cfg, edit the "program" line to match the location where you have the compiled executable for acc

compilers
{
    // This defines what files a compiler uses
    // The setting named "program" defines what .exe to run
    // The "interface" setting defines what interal interface to use for processing and error feedback
    // All others are the required files (the setting names do not matter)
    zdoom_acc
    {
        interface = "AccCompiler";
        program = "/home/cbm/Documents/acc/acc";
        zcommon = "zcommon.acs";
        zdefs = "zdefs.acs";
        zspecial = "zspecial.acs";
        zwvars = "zwvars.acs";
    }
}

Zdbsp

in UltimateDoomBuilder/Build/Compilers/Nodebuilders/zdbsp.cfg, edit the "program" line to match the location where you have the compiled executable for zdbsp

compilers
{
    // This defines what files a compiler uses
    // The setting named "program" defines what .exe to run
    zdbsp
    {
        interface = "NodesCompiler";
        program = "/home/cbm/Documents/zdbsp/zdbsp/zdbsp";
    }
}

nodebuilders
{
    zdbsp_normal
    {
        title = "ZDBSP - Normal (no reject)";
        compiler = "zdbsp";
        parameters = "-c -o%FO %FI";
        // -c adds comment indices in UDMF format. This is not documented in the ZDBSP usage.
    }

    zdbsp_udmf_normal
    {
        title = "ZDBSP - UDMF Normal (no reject)";
        compiler = "zdbsp";
        parameters = "-c -X -o%FO %FI";
        // -c adds comment indices in UDMF format. This is not documented in the ZDBSP usage.
    }

    zdbsp_fast
    {
        title = "ZDBSP - Normal (zero reject)";
        compiler = "zdbsp";
        parameters = "-R -o%FO %FI";
    }

    zdbsp_udmf_fast
    {
        title = "ZDBSP - UDMF Normal (zero reject)";
        compiler = "zdbsp";
        parameters = "-R -X -o%FO %FI";
    }

    zdbsp_compressed
    {
        title = "ZDBSP - Compress nodes";
        compiler = "zdbsp";
        parameters = "-z -o%FO %FI";
    }

    zdbsp_udmf_compressed
    {
        title = "ZDBSP - Compress nodes (UDMF)";
        compiler = "zdbsp";
        parameters = "-z -X -o%FO %FI";
    }

    zdbsp_udmf_compressed_huge
    {
        title = "ZDBSP - Compress nodes (UDMF) (Large Maps)";
        compiler = "zdbsp";
        parameters = "-z -X -s016 -p128 -d032 -G -5 -o%FO %FI";
    }
}

ACS scripts in UDB

Note that unlike the windows version of UDB, you'll have to compile your script manually in the script editor on linux.

When you have the script editor window opened, there's a lightning icon and the top right, that will compile your script !