INT File Format

Format files in INT- Fallout

The paper describes the format of INT Files for Fallout and Fallout2. Information about this was obtained by analyzing source compiler scripts for Fallout2. Baseline compiler texts were obtained from the source compiler scripts for the game Klingon Academy. Compilers for the two games overlap by about 80%.

Background
INT files are compiled scripts, designed for animating the world of Fallout. They set the behavior of all objects on the maps, and are used to create dialogues with the characters in the game.

File Format
INT files consists of the following parts:


 * Script initialization code
 * A table of procedure descriptions
 * A list of the names of procedures and variables
 * A list of text strings
 * Script object initialization code
 * The body of procedures

Note: All numbers are stored in big-endian format (the most significant byte first).

Script Initialization Code
Script initialization code is for the transfer of control to script object initialization code and providing the correct procedure return addresses(?).

This part of an INT file should have a fixed size of 42 bytes, because that is the offset at which it looks for the table of procedures.

Table 2.1 - script initialization code

Table of procedures
The table of procedures contains information about all the available procedures in an INT file.

It should be noted that the first procedure in INT files is a procedure named '..............' (14 periods). This procedure does not have a body, and is designed to make indices of procedures start at 1, not 0.

Table 2.2-Table of procedures

A list of names (the names of procedures and variables)
This part INT- file contains the names of objects script variables and procedures. The names of local variables do not have procedures in the script.

Housed in part of this information may yavlyaetsya redundant, since the treatment is happening to global variables on the index, and not by name.

Table 2.3. A list of names (the names of functions and variables)

The list of strings
This part INT- file contains all the string constants used within the script.

Format 'List lines' completely the same as' List names'.

Object code initialization script
This part of the script is to initialize the global variables script, exports and initialization of variables, export procedures, the procedure for moving to 'start', and if it is not a return to 'code initialization script'

Table 2.5. Object code initialization script

Tel code procedures
In part dannny INT- file contains posledvatelnost opkodov implementing procedures of the script.

Consideration appointment opkodov and model sequences beyond the scope of this paper.

Original file taken from TeamX documentation