SkillAgentSearch skills...

Gmbt

Build automation tool designed to speed up testing and cooking Gothic & Gothic 2 NotR mods

Install / Use

/learn @Szmyk/Gmbt
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<h1 align="center"> Gothic Mod Build Tool <br> </h1> <h4 align="center">A simple tool designed to help in testing and building Gothic and Gothic 2 Night of the Raven mods.</h4> <p align="center"> <a href="https://github.com/Szmyk/gmbt/releases/latest"> <img src="https://img.shields.io/github/release/szmyk/gmbt.svg" alt="Latest GitHub release"> </a> <a href="https://github.com/Szmyk/gmbt/blob/master/LICENSE"> <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"> </a> <a href="https://stats.uptimerobot.com/Lv8jVs0kK"> <img src="https://img.shields.io/uptimerobot/status/m780841486-c4045132dc369debb14a3cbd.svg" alt="Status"> </a> <a href="https://stats.uptimerobot.com/Lv8jVs0kK"> <img src="https://img.shields.io/uptimerobot/ratio/7/m780841486-c4045132dc369debb14a3cbd.svg" alt="Uptime"> </a> <a href="https://github.com/Szmyk/gmbt/releases/latest"> <img src="https://img.shields.io/github/downloads/szmyk/gmbt/total.svg" alt="Downloads of Github Releases"> </a> <a href="https://discord.gg/C6xxQ7Z"> <img src="https://discordapp.com/api/guilds/472863935943409665/embed.png" alt="Join the Discord chat"> </a> <a href="https://gitter.im/gothic-mod-build-tool"> <img src="https://badges.gitter.im/Join%20Chat.svg" alt="Join the Gitter chat"> </a> <br> </p>

This project was developed primarily for the purpose of assisting the SoulFire team with the development of [The Chronicles of Myrtana].

Tool available in English <img src="https://www.crwflags.com/fotw/images/g/gb.gif" width = "25px">, Polish <img src="https://www.crwflags.com/fotw/images/p/pl.gif" width = "25px"> and Slovak <img src="https://www.crwflags.com/fotw/images/s/sk.gif" width = "25px">.

Table of Contents

How does it work?

Idea

Let's start with some background: the Gothic Mod Build Tool is kind of a breakthrough in Gothic modding, because it is one of the few successful attempts to create a build system which fully automates the process that was previously done manually, every modder had to manually compile assets like textures, meshes and animations and send them to their co-modders. Now, working with version control systems is possible, because each modder has the same version of assets at the same time and at any time can launch the game without need to build a .mod and not run into errors or discrepancies due to a lack of or mismatching assets.

This tool serves two very important purposes, to merge and to compile everything. It uses external tool for updating dialogs subtitles but also launches the Gothic game executable and compiles assets like 3D models and animations ingame with appropriate game settings.

Modes

There are 4 modes of use:

  • Compile - merges assets directories, compiles assets and reparses scripts
    • Quick - only reparses scripts and compiles other necessary assets
    • Full - compiles, reparses and converts everything
  • Test - merges assets directories, compiles assets and reparses scripts and launches the game
    • Quick - only reparses scripts and compiles other necessary assets. Not everything is compiled, so lag/stuttering can occur because of compiling textures, animations and 3D models "on the fly", in game.
    • Full - compiles, reparses and converts everything. This takes more time, but you can play without problems like lag and stuttering.
  • Build - merges assets directories, compiles assets, reparses scripts and packs a .mod volume.
  • Pack - only packs a .mod volume with available assets

Speed

On a mid-range PC with an HDD, a no sounds build of a huge addon [The Chronicles of Myrtana] with around 300 MB of worlds, 800 MB of textures, 150 MB of animations and 3D models, takes about 9 - 10 minutes. Similar time with a full test (subtract about a half minute of packing the .mod).

Status

The most important features of the tool are finalized. Currently around 30 modders in SoulFire team are using this tool everyday and various problems are being reported and fixed on ongoing basis.

Milestone for 1.0 version is set to January 1, 2020.

Download

| Latest stable release | Latest unstable release | Unstable development (dev branch) |:---------------------:| :----------------------:|:------------------------------------------------------------------------------: GitHub release | GitHub (pre-)release | Build status (dev)

Installation & Requirements

After installation, you can run the Gothic copy ONLY via GMBT. Of course, you can use eg. Spacer, but you have to complete a full test before (the scripts have to be compiled because Spacer needs eg. GOTHIC.DAT and CAMERA.DAT).

Next you have to do configuration and run the tool with the command you want (usage guide).

Configuration

You have to configure a [YAML] config:

  • projectName - string (required)

    Title of modification using for example as default VDF volume comment.

  • gothicRoot - string (required)

    Path to game root directory, eg. relative path (..\..) or absolute (C:\Program Files\JoWood\Gothic 2 Gold Edition)

  • minimalVersion - string

    Minimal version of GMBT required to run the project. Eg. v0.14.1

  • modFiles - structure
    • assets - strings list (required)

      Paths to assets directories which have to be placed in _work/Data directories. You have to prepare right structure inside these directories (same as in _work/Data: <dir>\Anims, <dir>\Scripts and so on).

    • exclude - strings list

      Exclude files from merging. Only files paths, not directories and wildcarts.

    • defaultWorld - string (required)

      Name (not path) of ZEN, eg. NEWWORLD.ZEN

  • modVdf - structure
    • output - string (required)

      Path to save .mod file.

    • comment - string

      VDF volume comment.

      Available special characters:

      • %%N - new line
      • %%D - date and time in UTC
    • include - strings list

      Include some files or directories (wildcarts enabled) to VDF. Path's root is game root, eg. _work\Data\Scripts\Content\*.d

    • exclude - strings list

      Exclude some files or directories (wildcarts enabled) from VDF. Path's root is game root, eg. _work\Data\Worlds\Test\*.zen

  • gothicIniOverrides - dictionary

    Keys of GOTHIC.INI you want to override when running test or build.

    Syntax: ['section.key', 'value'] or 'section.key': 'target', eg. 'GAME.playLogoVideos' : '0'

  • install - dictionary

    Optional files and directories you want to install.

    Syntax: [source, target] or source: target

Example

Below is an example files structure and configuration used in [The Chronicles of Myrtana] project. Also, the same structure you can see in the example project.

Our devel

View on GitHub
GitHub Stars50
CategoryDevelopment
Updated5mo ago
Forks4

Languages

C#

Security Score

97/100

Audited on Oct 11, 2025

No findings