King Kong PC Port

Mods

Make your own Kong mods.

A mod is a folder with a mod.toml file and its own files. Players turn mods on and off in the launcher’s Workshop, and the game’s own files are never changed.

Making mods

Three kinds of mods.

Each mod has one type, set by type in its mod.toml.

texture-pack

Texture packs

Replacement images for the game’s textures, for example sharper or repainted ones.

settings

Settings mods

Game settings that are used while the mod is on, without changing the player’s own settings file.

cutscenes

Cutscene mods

Video clips that play instead of the cutscenes between chapters.

Not supported for now: replacing records inside the game’s archives (the .bf files), new models, levels or sounds, and code mods (scripts, DLLs or programs). Other files in a mod folder are ignored.

Making mods

Where mods go.

Each mod has its own folder inside the mods folder of your user folder. On Windows the user folder is Documents\king_kong. The launcher shows the full path under the Kong mods row and creates the mods folder the first time the Workshop opens.

<user folder>\mods\<ModName>\mod.toml
<user folder>\mods\<ModName>\...

The folder name is the mod’s id. It must not start with a dot or contain | or :. The built-in mods that come with the game are in mods-builtin in the game folder.

Making mods

The mod.toml file.

A plain text file in TOML format, up to 64 KB, in the mod’s folder.

KeyNeededWhat it is
nameYesThe name on the tile, up to 80 characters.
typeYestexture-pack, settings or cutscenes.
authorNoWho made it.
versionNoThe mod’s own version, shown on the tile.
descriptionNoShown on the mod’s page, up to 2000 characters.
pictureNoA PNG or JPEG file in the mod folder, at most 8 MB. 16:9 looks best.
min_game_versionNoThe oldest game version the mod works with, for example "2.0.0".
max_game_versionNoThe newest game version the mod works with.
[settings]Settings modsThe settings, one setting = value line each.

Outside its version range a mod shows a problem and cannot be turned on.

Making mods

One example of each type.

A texture pack mod

Put the pack’s pack.txt and images in a textures subfolder. How to make the pack is explained below.

mods\Sharper Jungle\
  mod.toml
  picture.png
  textures\
    pack.txt
    0123456789ABCDEF__bf_12345678_0000000C.png
name = "Sharper Jungle"
author = "You"
version = "1.0"
description = "Repainted leaves and rocks for the jungle chapters."
picture = "picture.png"
type = "texture-pack"
min_game_version = "2.0.0"

A settings mod

Values are true or false, numbers or "text", matching the setting. A setting the game does not know, or one with a wrong value, is skipped and listed on the mod’s page; the rest of the mod still works. Settings mods cannot change file locations, the online and update switches or the mod list.

name = "Wide view"
author = "You"
version = "1.0"
description = "A wider field of view and no camera shake."
type = "settings"

[settings]
kk_fov = 85
kk_camera_shake = false

Useful settings include kk_hide_hud, kk_fov (50 to 110), kk_frame_rate, kk_motion_blur, kk_fog, kk_camera_shake, kk_vibration, native_cel_shading and native_gi. Other settings in king_kong.toml work the same way.

A cutscene mod

Put the clips in a movies subfolder, named like the PS2 cutscene clips: for example, BK_1B17.mp4 plays between Hayes and V-Rex. Clips are H.264 video with AAC sound in an MP4 file, at most 4096x4096 and 60 seconds. They play when the story moves on to the next chapter. The modding guide that comes with the game lists every clip name.

mods\My Cutscenes\
  mod.toml
  movies\
    BK_1B17.mp4
    BK_1683.mp4
name = "My Cutscenes"
author = "You"
version = "1.0"
description = "New clips before V-Rex and Ann."
type = "cutscenes"

Making mods

Load order and conflicts.

The mods that are on form the load order. A mod you turn on goes to the end, and Load earlier and Load later on its page move it. When two mods of the same type change the same thing (the same texture, the same setting, or a clip with the same name), the one later in the load order wins. Both mods then show Conflict, and their pages say what they share. Mods of different types never conflict.

Your own texture pack from Settings › Graphics, for example the HD pack, loads first, then each texture pack mod in load order.

Settings mods go over your own settings for that run only and are never written to your settings file. Settings given on the command line win over mods, and the Original look still wins over graphics settings from a mod.

Making mods

Turning mods on and off.

In the launcher, open Workshop › Kong mods. Each mod is a tile with its name, author, version and picture, and its page has Enable and Disable. Changes apply the next time the game starts.

A mod with a mistake shows Problem and cannot be turned on. Its page says what is wrong, for example a missing mod.toml or a TOML error with its line number. A broken mod is skipped when the game starts, so the game always starts. The log, logs/king_kong.log, has a KK mods: line for every mod it finds.

Built-in mod

One settings mod comes with the game: Cel shading turns on ink outlines and flat bands of light, with fine controls in the F8 panel. Kong’s fur is not outlined.

Making texture packs

Make a texture pack, step by step.

You extract the textures from your own copy of the game with our tools, edit or upscale them, and check the result. Texture packs need the native renderer, which is the default. No game textures come with the tools or this site.

  1. Get the tools

    Download the modding tools and unzip them into a folder. Run the commands below in that folder from Command Prompt. In PowerShell, start each command with .\.

  2. Extract the textures

    kknr_bfscan reads KKTextures.bf from your game files and writes its records to a folder. kknr_texdump then turns them into a pack template: a pack.txt and one image for each texture. --pack-png gives PNG files for image editors and upscalers; without it the images are DDS files.

    kknr_bfscan.exe "X:\Game\KKTextures.bf" --dump X:\Extracted\raw
    kknr_texdump.exe --no-images --csv X:\Extracted\textures.csv --pack-template X:\Extracted\template --pack-png X:\Extracted\raw

    Change the paths to your own. Keep the template as it is: it is also the reference the checker uses in step 6.

  3. Make your own copy

    Copy the template folder to a new folder for your pack. Keep only the images you change, and delete the rows for the others from pack.txt.

  4. Edit or upscale

    Work on the images and keep every file name exactly as it is. The images hold the texture’s raw channels, so do not swap red and blue, keep the alpha channel (also when it is fully opaque, and without premultiplying it), do not add or remove gamma, and keep normal maps as normal maps: red and green hold the direction, so do not rebuild a blue channel.

    Width and height can change. Leave the original format and size columns in pack.txt as they are. If you turn a DDS file into a PNG, change its extension in pack.txt too.

  5. Check pack.txt

    The first line is KKTP 1. Each row has six fields: the texture’s hash, its BF name, its original format, width and height, and your file name. Blank lines and lines starting with # are ignored.

    KKTP 1
    # base_xxh3 bf_name original_format width height file
    0123456789ABCDEF bf_12345678_0000000C BC3_UNORM 256 256 0123456789ABCDEF__bf_12345678_0000000C.png

    This row is a made-up example, not a real texture.

  6. Run the checker

    kknr_packcheck compares your pack with the template and lists unknown textures, images missing from pack.txt, changed original details, wrong formats and mip errors. Run it again after every change.

    kknr_packcheck.exe X:\MyPack X:\Extracted\template

    It does not judge how the pack looks, or whether you may share it. Share only what you have the right to share.

  7. Install it as a mod

    Make a mod folder with a mod.toml of type texture-pack and put the pack in its textures subfolder, as in the example above. Then turn it on in the Workshop. You can also pick the pack folder directly in Settings › Graphics › Texture pack.

Making texture packs

Texture pack limits.

  • Images can be up to 8192 pixels on each side, and up to 128 MiB per image with its mips.
  • Texture packs can use up to a quarter of your graphics card’s memory. A texture that does not fit keeps its original until there is room again.
  • PNG files are 8-bit, and colour textures need an alpha channel. DDS files can be BC1, BC3, BC5, BC7 or uncompressed, and BC sizes must be multiples of four.
  • A pack is a folder: unzip a ZIP first. Subfolders inside the pack and images outside it are not used.
  • Up to 32,768 rows in one pack.txt.
  • Cube maps, volume textures and render targets always keep their originals.

Downloads

Modding tools.

Our three command-line tools for 64-bit Windows: kknr_bfscan, kknr_texdump and kknr_packcheck. They are our own code and contain no game data; you extract the textures from your own game files. They need the Microsoft Visual C++ runtime (x64), which most PCs already have.

File
kk-modding-tools-windows-x64.zip
Contents
kknr_bfscan.exe, kknr_texdump.exe, kknr_packcheck.exe
Size
292 KB (299,177 bytes)
SHA-256
246344d336a8304596c94bfdda167b081ef1ff0b0c5f5440f766c65f473d5cda

Check the download against the SHA-256 above, for example with certutil -hashfile kk-modding-tools-windows-x64.zip SHA256.

Free · Bring your own disc

Join the expedition.

Download the port, see how it runs for other players on Quiver, or come and talk to the people making it.