Jones3D-The-Infernal-Engine / Documentation

Indiana Jones and The Infernal Machine Documentation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Indiana Jones and The Infernal Machine documentation

⚠️ 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 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.

Documentation for KEY animation file (.key) can be found in key.md.

Documentation for puppet file (.pup) specification can be found in pup.md.

Game level files

There are 2 types of level files:

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_...