Documentation
Indiana Jones and The Infernal Machine Documentation
Install / Use
/learn @Jones3D-The-Infernal-Engine/DocumentationREADME
Indiana Jones and The Infernal Machine documentation
:warning: Work in progress!
This is an unofficial and incomplete documentation about the game file structure and modding. For any information not found here please look into Discussions and post any question there.
Before you start with modding it's a good idea to extract all the game's resource files.
Please follow the instructions in pre-mod.md for this.
Game Assets
The game assets are usually stored in .gob container files.
GOB files can be extracted using gobext tool.
The resource folder structure:
Root
│
├── 3do #3D models (.3do)
│ └── key #animations (.key)
├── cog #COG scripts (.cog)
├── mat #Material texture files
├── misc
│ ├── ai #AI behavior definition files (.ai)
│ ├── pup #Character movement puppet files (.pup)
│ ├── snd #Sound definition files (.snd)
│ ├── spr #Sprite definition files (.spr)
│ └── ui #contains only unused default font.gcf font atlas file
├── ndy #Level files (.cnd/.ndy)
└── sound #Sound files (.wav)
COG script
COG scripts are the heart of game logic. They define the mechanics behind the game, like cutscenes, level goals, unlocking/locking doors, weapon definitions, etc...
Documentation on COG scripting can be found in cog.md.
KEY
Documentation for KEY animation file (.key) can be found in key.md.
PUP
Documentation for puppet file (.pup) specification can be found in pup.md.
Game level files
There are 2 types of level files:
- NDY - text based level format which can be edited in any text editor.
The documentation for this file format can be found in ndy.md - CND - is compact binary level format. The file has a structure similar as NDY file and stores both the level structure and game assets.
The C++ code for CND file structure can be found in: https://github.com/smlu/ProjectMarduk/tree/develop/libraries/libim/content/asset/world/impl/serialization/cnd
File naming convention
The maximum file name length, including the file extension in Jones3D engine is limited to 64 characters.
Therefore all longer file names have to be abbreviated.
Some of general abbreviations:
dflt - default
bk - back
by - boy
com - commie
fr - front
ib - ice boss
ij - indy jeep
in - indy
inv - inventory
ir - indy raft
lb - lava boss
mc - mine car
mo - monkey
by - boy
ol - old lady
rft - raft
sn - snake
sp - spider
so - sophia
tu - turner
uw - under water
vo - volodnikov
yl - young lady
Also, every file which refers to specific game level is prefixed with 3 letters of abbreviated level name eg.: pyr_, pru_...
Related Skills
node-connect
352.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
prose
352.9kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
frontend-design
111.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Writing Hookify Rules
111.5kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
