Skip to main content

File Formats

This page lists all file formats and extensions used by the ZenGin engine (Gothic I & Gothic II) that are relevant to modding.


Daedalus Scripts

ExtensionDescription
.dDaedalus source file. The main scripting language of Gothic. C-like syntax with custom constructs (instance, prototype, class). Used to define NPCs, items, dialogs, quests, AI, effects, menus, sounds, music, and more.
.srcCompilation list. A plain-text file listing .d files (one per line) in the order they should be compiled. Supports wildcards (*.d). Key files: Gothic.src, Fight.src, Camera.src, Menu.src, Music.src, ParticleFX.src, SFX.src, VisualFX.src.
.datCompiled Daedalus binary. The output of script compilation, read by the engine at runtime. Generated files: Gothic.dat, Menu.dat, SFX.dat, PFX.dat, VFX.dat, Camera.dat, Music.dat, Fight.dat.
info

The .src file determines the compilation order - symbols must be declared before they are used. Gothic.src is the main entry point for game logic scripts.


3D Models & Meshes

ExtensionDescription
.3DS3D Studio Max mesh. Used for item visuals and world objects. Can be imported/exported via KrxImpExp. Referenced in the visual field of C_Item instances.
.ASCASCII model format. Text-based format for meshes - the editable intermediate format in model pipelines. Can be imported/exported via KrxImpExp.
.MRMMulti-Resolution Mesh. Compiled (binary) mesh format, optimized for rendering. Import-only in KrxImpExp.
.MSHZenGin mesh. Engine-native mesh format. Import-only in KrxImpExp.
.MDLModel file. Complete compiled model containing mesh and skeleton data.
.MDMModel Mesh. Mesh component of a model (separated from hierarchy).
.MDHModel Hierarchy. Skeleton/bone hierarchy component of a model.
.MMBMorph Mesh Binary. Facial morph meshes used for NPC lip-sync and expressions.

Animations

ExtensionDescription
.ASCASCII model format. Also used for animations - exported skeletal animations are stored in .ASC files. Can be imported/exported via KrxImpExp.
.MDSModel Script. Animation definition file that describes animation overlays, transitions, and states. Applied via Mdl_ApplyOverlayMds() / Mdl_SetVisual(). Examples: HUMANS.MDS, Humans_Relaxed.mds, HUMANS_FLEE.MDS.
.MSBModel Script Binary. Compiled version of .MDS files.
.MANModel Animation. Binary animation data file for a single animation.

Worlds

ExtensionDescription
.ZENZenGin world file. Contains the entire game world: geometry, Vobs (virtual objects), waypoints, freepoints, triggers, lights, sounds, and more. Created and edited with the Gothic Spacer editor. Can be imported in KrxImpExp.

Textures & Graphics

ExtensionDescription
.TGATarga texture. The primary source texture format for Gothic. Used for everything: world textures, particle effects, UI elements, fonts, lightmaps.
.TEXCompiled texture. Engine-optimized compiled texture created from .TGA files. Stored in _compiled/ subfolders inside VDF archives.
.FNTFont file. Bitmap font definition mapping characters to positions in a .TGA font atlas. Standard fonts: FONT_OLD_10_WHITE.FNT, FONT_OLD_20_WHITE.FNT.

Audio

ExtensionDescription
.WAVAudio file. Used for voice acting, sound effects, and some music. Speech files are stored in Data/Sound/Speech/ with names matching AI_Output identifiers (e.g., DIA_Konrad_Hallo_08_01.WAV).
.SFXSound effect definition (in script context - defined via C_SFX class in SFX.src).

Music (DirectMusic)

Gothic uses the Microsoft DirectMusic system for dynamic, interactive music. Music files are stored in Data/Music/.

ExtensionDescription
.SGTDirectMusic Segment. The main music file format referenced by C_MUSICTHEME.file in music scripts. Contains references to styles, bands, and chord progressions that together form a playable music piece. Examples: OWD_DayStd.sgt, nw_dayfgt.sgt.
.STYDirectMusic Style. Defines musical patterns, motifs, and variations. Styles are referenced by .SGT segments and provide the actual note/rhythm data that DirectMusic plays back dynamically.
.DLSDownloadable Sounds (DLS). Instrument/sample bank files used by DirectMusic for sound synthesis. Contains the actual instrument samples (wavetable data) used to play back music defined in .SGT and .STY files.

Dialog Data

ExtensionDescription
.BINOutput Units binary (ou.bin). Compiled dialog/cutscene data containing voice file mappings and subtitle text. Generated from AI_Output calls in scripts.
.CSLCutscene library. Contains cutscene definitions used by the oCsManager (cutscene manager).

Archives & Mod Distribution

ExtensionDescription
.VDFVirtual Disk File. Gothic's archive format for packing game assets (meshes, textures, worlds, sounds, compiled scripts). Standard files: Meshes.vdf, Textures.vdf, Worlds.vdf, Anims.vdf, Sound.vdf, Speech.vdf. Created with GothicVDFS.
.MODMod archive. Functionally identical to .VDF, used for distributing mods. Placed in Data/modvdf/ and loaded by the engine via the .ini file's VDF= line.
info

Both .VDF and .MOD use the same internal format. The engine loads them based on archive date stamp - newer archives override older ones. That's why EGMT increases the date by 1 day when creating translation patches.


Configuration

ExtensionDescription
.INIConfiguration file. Gothic.ini stores engine settings (resolution, keybindings, paths). Mod-specific .ini files (e.g., MyMod.ini) define the mod's VDF load order via the VDF= line. Can be read/written from Daedalus using the Ikarus library.

Savegames

ExtensionDescription
.SAVSavegame file. Contains the serialized game state: world, NPCs, items, quest progress. Stored in Saves/savegame[0-20]/.

Union Plugins

ExtensionDescription
.DLLDynamic Link Library. Union C++ plugins compiled as DLLs. Installed in System/Autorun/ and loaded by the Union runtime. Allows hooking and extending engine functions.

Summary Table

CategoryExtensions
Daedalus scripting.d, .src, .dat
3D models & meshes.3DS, .ASC, .MRM, .MSH, .MDL, .MDM, .MDH, .MMB
Animations.MDS, .MSB, .MAN
Worlds.ZEN
Textures & graphics.TGA, .TEX, .FNT
Audio.WAV
Music (DirectMusic).SGT, .STY, .DLS
Dialog data.BIN (ou.bin), .CSL
Archives.VDF, .MOD
Configuration.INI
Savegames.SAV
Union plugins.DLL