Difference between revisions of "Adventure Game Interpreter Specifications"

From AGI Wiki
Jump to navigationJump to search
 
(76 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{AGIWiki}}
+
__NOTOC__
 +
<div align="center">'''by [[Peter Kelly]], (editor)'''<br />
 +
'''Version 3.0 updated by [[Claudio Matsuoka]]<br />
 +
v3.0, 22 May 1999 </div>
  
The '''AGI Specs''' (or '''AGI Specifications''') are a set of documents, written by the people who figured out the [[AGI|AGI]] formats. detailing how the data for an AGI game is stored and how the [[Interpreter|interpreter]] works. This data includes the [[Logic|logic]], [[Picture|picture]], [[View|view]], and [[Sound|sound]] resources, the [[WORDS.TOK|WORDS.TOK]] file and [[OBJECT file|OBJECT file]], the [[Directory files|directory files]] and the [[Vol file|Vol files]].
+
&nbsp;
  
As indicated in the following excerpt from the AGI Specs, they are not really intended for a game author. To learn how to program AGI, see [[Logic language|Logic language]].
+
''This document is a collection of all the information currently known about the structure and operation of the Adventure Game Interpreter, used in 1984--1989 for a variety of adventure games published by Sierra On-Line such as [[Space Quest I]] and [[Space Quest II|II]], and [[Leisure Suit Larry in the Land of the Lounge Lizards]].''
  
<blockquote>AGI specs is intended for people writing AGI programs such as editors, viewers and interpreters. It is not supposed to be a beginners' introduction to AGI, or a LOGIC programming guide for those who just want to create games (although it can serve as a reference for more advanced LOGIC programmers). If you want to learn the LOGIC programming language, we suggest you read the logic section of the AGI Studio help file, and the various other bits of documentation and tutorials available on-line. The programming info contained in this document is mostly from the AGDS package and uses different syntax and terminology for the language and can be confusing if you are using AGI Studio for your programming.</blockquote>
+
==<br /> &nbsp;[[AGI Specifications: Chapter 1 - Introduction|Chapter 1 - Introduction]] ==
  
There have been three major revisions to the AGI Specs, and it is known that there are errors in the documentation as well as omissions that were accidentally made between versions 2 and 3 of the specs.
+
: [[AGI Specifications: Chapter 1 - Introduction#ss1.1|1.1 &nbsp;About this Document]]
 +
: [[AGI Specifications: Chapter 1 - Introduction#ss1.2|1.2 &nbsp;Audience]]
 +
: [[AGI Specifications: Chapter 1 - Introduction#ss1.3|1.3 &nbsp;Conventions Used in this Document]]
 +
: [[AGI Specifications: Chapter 1 - Introduction#ss1.4|1.4 &nbsp;What's Still Missing]]
 +
: [[AGI Specifications: Chapter 1 - Introduction#ss1.5|1.5 &nbsp;Change Log]]
 +
: [[AGI Specifications: Chapter 1 - Introduction#ss1.6|1.6 &nbsp;Credits]]
  
The latest version of the AGI Specs can be viewed at [http://www.agidev.com/articles/agispec/agispecs.html http://www.agidev.com/articles/agispec/agispecs.html].
+
==<br /> [[AGI Specifications: Chapter 2 - Overview|Chapter 2 - Overview]] ==
 +
 
 +
: [[AGI Specifications: Chapter 2 - Overview#ss2.1|2.1 &nbsp;Versions of the AGI Interpreter]]
 +
: [[AGI Specifications: Chapter 2 - Overview#ss2.2|2.2 &nbsp;AGI Game Files]]
 +
: [[AGI Specifications: Chapter 2 - Overview#ss2.3|2.3 &nbsp;Logic, Picture, Sound, and View Data Files]]
 +
: [[AGI Specifications: Chapter 2 - Overview#ss2.4|2.4 &nbsp;What is Ego?]]
 +
: [[AGI Specifications: Chapter 2 - Overview#ss2.5|2.5 &nbsp;AGI Commands]]
 +
: [[AGI Specifications: Chapter 2 - Overview#ss2.6|2.6 &nbsp;Debug Modes]]
 +
: [[AGI Specifications: Chapter 2 - Overview#ss2.7|2.7 &nbsp;Priority Bands and Control Lines]]
 +
 
 +
==<br /> [[AGI Specifications: Chapter 3 - AGI Internals|Chapter 3 - AGI Internals]] ==
 +
 
 +
: [[AGI Specifications: Chapter 3 - AGI Internals#intworks|3.1 &nbsp;How the Interpreter Works]]
 +
: [[AGI Specifications: Chapter 3 - AGI Internals#vartypes|3.2 &nbsp;Variable Types]]
 +
: [[AGI Specifications: Chapter 3 - AGI Internals#varlist|3.3 &nbsp;Variables Used by the Interpreter]]
 +
: [[AGI Specifications: Chapter 3 - AGI Internals#flaglist|3.4 &nbsp;Flags Used by the Interpreter]]
 +
: [[AGI Specifications: Chapter 3 - AGI Internals#memory|3.5 &nbsp;Memory Organization]]
 +
: [[AGI Specifications: Chapter 3 - AGI Internals#gameid|3.6 &nbsp;Game IDs and Loaders]]
 +
: [[AGI Specifications: Chapter 3 - AGI Internals#crypt|3.7 &nbsp;Encrypted AGI Data]]
 +
: [[AGI Specifications: Chapter 3 - AGI Internals#parsing|3.8 &nbsp;Player Input Parsing]]
 +
: [[AGI Specifications: Chapter 3 - AGI Internals#verctrl|3.9 &nbsp;AGI Interpreter Versions]]
 +
: [[AGI Specifications: Chapter 3 - AGI Internals#verdif|3.10 &nbsp;Version Differences]]
 +
 
 +
==<br /> [[AGI Specifications: Chapter 4 - The Logic Language|Chapter 4 - The Logic Language]] ==
 +
 
 +
: [[AGI Specifications: Chapter 4 - The Logic Language#ss4.1|4.1 &nbsp;Logic Syntax]]
 +
: [[AGI Specifications: Chapter 4 - The Logic Language#ss4.2|4.2 &nbsp;Reference of the Logic Commands]]
 +
: [[AGI Specifications: Chapter 4 - The Logic Language#ss4.3|4.3 &nbsp;Discussion of Sample Logic Code from KQ4]]
 +
 
 +
==<br /> [[AGI Specifications: Chapter 5 - Resource Formats|Chapter 5 - Resource Formats]] ==
 +
 
 +
: [[AGI Specifications: Chapter 5 - Resource Formats#ss5.1|5.1 &nbsp;Directory Files]]
 +
: [[AGI Specifications: Chapter 5 - Resource Formats#ss5.2|5.2 &nbsp;Format of VOL Files (version 2)]]
 +
: [[AGI Specifications: Chapter 5 - Resource Formats#ss5.3|5.3 &nbsp;Version 3 Resource Storage]]
 +
: [[AGI Specifications: Chapter 5 - Resource Formats#ss5.4|5.4 &nbsp;Sample Code]]
 +
 
 +
==<br /> [[AGI Specifications: Chapter 6 - Logic Resources|Chapter 6 - Logic Resources]] ==
 +
 
 +
: [[AGI Specifications: Chapter 6 - Logic Resources#ss6.1|6.1 &nbsp;Introduction]]
 +
: [[AGI Specifications: Chapter 6 - Logic Resources#ss6.2|6.2 &nbsp;Command List and Argument Types]]
 +
: [[AGI Specifications: Chapter 6 - Logic Resources#ss6.3|6.3 &nbsp;Logic Resource Format]]
 +
: [[AGI Specifications: Chapter 6 - Logic Resources#ss6.4|6.4 &nbsp;Sample Code]]
 +
 
 +
==<br /> [[AGI Specifications: Chapter 7 - Picture Resources|Chapter 7 - Picture Resources]] ==
 +
 
 +
: [[AGI Specifications: Chapter 7 - Picture Resources#ss7.1|7.1 &nbsp;Introduction]]
 +
: [[AGI Specifications: Chapter 7 - Picture Resources#ss7.2|7.2 &nbsp;Picture Resource Format]]
 +
: [[AGI Specifications: Chapter 7 - Picture Resources#ss7.3|7.3 &nbsp;Implementation]]
 +
: [[AGI Specifications: Chapter 7 - Picture Resources#ss7.4|7.4 &nbsp;Using Higher Resolution Modes]]
 +
: [[AGI Specifications: Chapter 7 - Picture Resources#ss7.5|7.5 &nbsp;Sierra's Picture Editor]]
 +
: [[AGI Specifications: Chapter 7 - Picture Resources#ss7.6|7.6 &nbsp;Sample Code]]
 +
 
 +
==<br /> [[AGI Specifications: Chapter 8 - View Resources|Chapter 8 - View  Resources]] ==
 +
 
 +
: [[AGI Specifications: Chapter 8 - View Resources#ss8.1|8.1 &nbsp;View Introduction]]
 +
: [[AGI Specifications: Chapter 8 - View Resources#ss8.2|8.2 &nbsp;View  Resource Format]]
 +
: [[AGI Specifications: Chapter 8 - View  Resources#ss8.3|8.3 &nbsp;View  Table]]
 +
: [[AGI Specifications: Chapter 8 - View  Resources#ss8.4|8.4 &nbsp;View  Test Commands]]
 +
: [[AGI Specifications: Chapter 8 - View  Resources#ss8.5|8.5 &nbsp;Sample Code]]
 +
 
 +
==<br /> [[AGI Specifications: Chapter 9 - Sound Resources|Chapter 9 - Sound Resources]] ==
 +
 
 +
: [[AGI Specifications: Chapter 9 - Sound Resources#ss9.1|9.1 &nbsp;Introduction]]
 +
: [[AGI Specifications: Chapter 9 - Sound Resources#ss9.2|9.2 &nbsp;Sound in the IBM PCjr]]
 +
: [[AGI Specifications: Chapter 9 - Sound Resources#ss9.3|9.3 &nbsp;Sound in the Apple IIgs]]
 +
: [[AGI Specifications: Chapter 9 - Sound Resources#ss9.4|9.4 &nbsp;Sound in Other Platforms]]
 +
: [[AGI Specifications: Chapter 9 - Sound Resources#ss9.5|9.5 &nbsp;Sound Resource Format (PCjr version)]]
 +
: [[AGI Specifications: Chapter 9 - Sound Resources#ss9.6|9.6 &nbsp;Sound Resource Format (IIgs version)]]
 +
: [[AGI Specifications: Chapter 9 - Sound Resources#ss9.7|9.7 &nbsp;Playing the Sounds on a Sound Card]]
 +
: [[AGI Specifications: Chapter 9 - Sound Resources#ss9.8|9.8 &nbsp;Sample code]]
 +
 
 +
==<br /> [[AGI Specifications: Chapter 10 - Savegame Files|Chapter 10 - Savegames Files]] ==
 +
 
 +
: [[AGI_Specifications: Chapter 10 - Savegame Files#10.1_Introduction|10.1 Introduction]]
 +
: [[AGI_Specifications: Chapter 10 - Savegame Files#10.2_Saved_Game_Format|10.2 Saved Game Format]]
 +
: [[AGI_Specifications: Chapter 10 - Savegame Files#10.3_Restoring_a_Game|10.3 Restoring a Game]]
 +
 
 +
==<br /> [[AGI Specifications: Chapter 11 - Other Game Data|Chapter 11 - Other Game Data]] ==
 +
 
 +
: [[AGI Specifications: Chapter 11 - Other Game Data#ss10.1|11.1 &nbsp;Format of the OBJECT File]]
 +
: [[AGI Specifications: Chapter 11 - Other Game Data#ss10.2|11.2 &nbsp;Format of WORDS.TOK]]
 +
: [[AGI Specifications: Chapter 11 - Other Game Data#ss10.3|11.3 &nbsp;Sample Code]]
 +
 
 +
==<br /> [[AGI Specifications: Chapter 12 - Booter Versions|Chapter 12 - Booter Versions]] ==
 +
 
 +
: [[AGI Specifications: Chapter 12 - Booter Versions#12.1 Donald Duck.27s Playground|12.1 Donald Duck's Playground]]
 +
:
 +
 
 +
==<br /> [[AGI Specifications: Chapter 13 - Other Information|Chapter 13 - Other Information]] ==
 +
 
 +
: [[AGI Specifications: Chapter 13 - Other Information#ss11.1|13.1 &nbsp;The AGDS Package]]
 +
: [[AGI Specifications: Chapter 13 - Other Information#ss11.2|13.2 &nbsp;The Making of the Thunderstorm Educational Program]]
 +
: [[AGI Specifications: Chapter 13 - Other Information#ss11.3|13.3 &nbsp;Other AGI Interpreters]]
 +
 
 +
<span style="float: left"><span class="Inactive">&lt; Previous: AGI Specifications Specifications Preface</span></span><span style="float: right">[[AGI Specifications: Chapter 1 - Introduction|Next: Chapter 1 - Introduction &gt;]]</span>
 +
 
 +
[[Category:AGI Documentation]]
 +
[[Category:References]]

Latest revision as of 20:33, 2 March 2018

by Peter Kelly, (editor)

Version 3.0 updated by Claudio Matsuoka

v3.0, 22 May 1999

 

This document is a collection of all the information currently known about the structure and operation of the Adventure Game Interpreter, used in 1984--1989 for a variety of adventure games published by Sierra On-Line such as Space Quest I and II, and Leisure Suit Larry in the Land of the Lounge Lizards.


 Chapter 1 - Introduction

1.1  About this Document
1.2  Audience
1.3  Conventions Used in this Document
1.4  What's Still Missing
1.5  Change Log
1.6  Credits


Chapter 2 - Overview

2.1  Versions of the AGI Interpreter
2.2  AGI Game Files
2.3  Logic, Picture, Sound, and View Data Files
2.4  What is Ego?
2.5  AGI Commands
2.6  Debug Modes
2.7  Priority Bands and Control Lines


Chapter 3 - AGI Internals

3.1  How the Interpreter Works
3.2  Variable Types
3.3  Variables Used by the Interpreter
3.4  Flags Used by the Interpreter
3.5  Memory Organization
3.6  Game IDs and Loaders
3.7  Encrypted AGI Data
3.8  Player Input Parsing
3.9  AGI Interpreter Versions
3.10  Version Differences


Chapter 4 - The Logic Language

4.1  Logic Syntax
4.2  Reference of the Logic Commands
4.3  Discussion of Sample Logic Code from KQ4


Chapter 5 - Resource Formats

5.1  Directory Files
5.2  Format of VOL Files (version 2)
5.3  Version 3 Resource Storage
5.4  Sample Code


Chapter 6 - Logic Resources

6.1  Introduction
6.2  Command List and Argument Types
6.3  Logic Resource Format
6.4  Sample Code


Chapter 7 - Picture Resources

7.1  Introduction
7.2  Picture Resource Format
7.3  Implementation
7.4  Using Higher Resolution Modes
7.5  Sierra's Picture Editor
7.6  Sample Code


Chapter 8 - View Resources

8.1  View Introduction
8.2  View Resource Format
8.3  View Table
8.4  View Test Commands
8.5  Sample Code


Chapter 9 - Sound Resources

9.1  Introduction
9.2  Sound in the IBM PCjr
9.3  Sound in the Apple IIgs
9.4  Sound in Other Platforms
9.5  Sound Resource Format (PCjr version)
9.6  Sound Resource Format (IIgs version)
9.7  Playing the Sounds on a Sound Card
9.8  Sample code


Chapter 10 - Savegames Files

10.1 Introduction
10.2 Saved Game Format
10.3 Restoring a Game


Chapter 11 - Other Game Data

11.1  Format of the OBJECT File
11.2  Format of WORDS.TOK
11.3  Sample Code


Chapter 12 - Booter Versions

12.1 Donald Duck's Playground


Chapter 13 - Other Information

13.1  The AGDS Package
13.2  The Making of the Thunderstorm Educational Program
13.3  Other AGI Interpreters

< Previous: AGI Specifications Specifications PrefaceNext: Chapter 1 - Introduction >