1
0
Convenient build script with wide possibilities
Go to file
2022-09-08 17:21:06 +03:00
.github/workflows Add auto-generated USAGE.md, update README.md and TODO.md 2022-02-20 04:24:39 +03:00
.shellcheck add auto-generated pub content, one config, one init 2022-02-21 02:50:11 +03:00
.gitignore some more fixes 2022-01-15 05:48:16 +03:00
builder removed idle start brew when it is not needed 2022-09-08 17:21:06 +03:00
dummy_preview.png add auto-generated pub content, one config, one init 2022-02-21 02:50:11 +03:00
example.gif Update README.md 2022-03-03 20:31:13 +03:00
LICENSE Initial commit 2022-01-08 05:29:01 +03:00
README.md Update TODO.md and README.md 2022-09-02 12:30:53 +03:00
TODO.md Merge branch 'master' into dev 2022-09-02 12:34:25 +03:00
USAGE.md Update USAGE.md to version v1.5.0-7-g1ad83de 2022-09-01 15:49:02 +00:00

KF2-BuildTools

version shellcheck docs-autoupdate license

Features:

  • Build, brew, test and upload to Steam Workshop;
  • No need to edit KFEditor.ini at all;
  • Sources can be stored in any path;
  • Easily switch between different projects.

Requirements

Limits

You can keep mod sources anywhere, but Killing Floor 2 and Killing Floor 2 - SDK must be installed on the system drive (C:\ in most cases).

(I plan to fix this limitation in the future)

Add to your project

Make sure that the location of folders and files in your project as follows (Correct it if it's not):
/<PackageName>/Classes/*.uc

There are two ways to add KF2-BuildTools to your project:

1. As git submodule

Open git-bash and go to your project: cd <your_project_path>
Add submodule: git submodule add https://github.com/GenZmeY/KF2-BuildTools tools

updating build tools:
Get updates: pushd tools && git pull && popd
Commit the changes: git add tools && git commit -m 'update tools'

2. As standalone script

Just create a tools folder and put builder there.
Now you can use the script in the same way as in the first case, but you will have to update it yourself.

Usage

Available commands can be found here: USAGE.md

If you have a simple mutator or game mode, then the usage is also simple: just use the commands to compile, test and upload to the steam workshop.

demo

The result can be found here:

Compiled packages:
C:\Users\<username>\Documents\My Games\KillingFloor2\KFGame\Unpublished\

Brewed packages:
C:\Users\<username>\Documents\My Games\KillingFloor2\KFGame\Published\

Uploaded packages:
your steam workshop 🙃

Usage (Advanced)

If your project contains several mutators, *.upk files, external dependencies, or you want to customize the whole process in more details, then this section is for you.

Setup

When you run compilation for the first time or do ./tools/builder --init builder.cfg appears in your project folder.
Edit it to set build/test/upload options. The config contains the necessary comments inside.

Edit the files in the PublicationContent folder - they are responsible for the description in the Steam Workshop.

Project filesystem

If you have *.upk or localization files, they must be in a specific location.

Change the filesystem of the project to such a form that everything works correctly:

/SomePackageName1
    *.upk
    /Classes
        *.uc
        *.upkg
/SomePackageName2
    *.upk
    /Classes
        *.uc
        *.upkg
/PublicationContent
    preview.png
    description.txt
    tags.txt
    title.txt
/Localization
    /INT
        *.int
/Config
    *.ini
/BrewedPC
	*.*
/tools
    builder
builder.cfg

Note: Use the BrewedPC folder for additional content such as sound files for your weapons or other stuff. This will be copied to the final BrewedPC before being uploaded to the workshop.
By the way, this allows you to use a script to upload maps (although this was not its original purpose). Just put the map(s) in BrewedPC (don't forget to edit the PublicationContent) and run ./tools/builder -u.

Examples (Projects that use KF2-BuildTools)

Simplest case (one mutator):

Mutator + Localization:

Two mutators are compiled, there are upk and localization:

Three mutators are compiled (one of them is a dependency),
two mutators are uploaded to the steam workshop:

Other

TODO List

License

GNU GPLv3