Difference between revisions of "SCI/Specifications"
< SCI
Jump to navigation
Jump to search
m (Minor section mixing, separating "Palette syscall" to the original section "Kernel calls". It might me put in the other section if considered) |
m (oops, forgot to delete a return space) |
||
Line 48: | Line 48: | ||
* 3.7.3 [[SCI/Specifications/Graphics/SCI1 palettes#Installing a palette|Installing a palette]] | * 3.7.3 [[SCI/Specifications/Graphics/SCI1 palettes#Installing a palette|Installing a palette]] | ||
* 3.7.4 [[SCI/Specifications/Graphics/SCI1 palettes#Installing a palette|Installing a palette]] | * 3.7.4 [[SCI/Specifications/Graphics/SCI1 palettes#Installing a palette|Installing a palette]] | ||
* 3.8 [[SCI/Specifications/Graphics/Kernel calls|Kernel calls]] | |||
* 3.8 [[SCI/Specifications/Graphics/Kernel calls|Kernel calls]] | |||
* 3.8.1 [[SCI/Specifications/Graphics/Kernel calls#Palette syscall|Palette syscall]] | * 3.8.1 [[SCI/Specifications/Graphics/Kernel calls#Palette syscall|Palette syscall]] | ||
* 3.9 [[SCI/Specifications/Graphics/Windows, Dialogs and Controls|Windows, Dialogs and Controls]] | * 3.9 [[SCI/Specifications/Graphics/Windows, Dialogs and Controls|Windows, Dialogs and Controls]] | ||
* 3.10 [[SCI/Specifications/Graphics/Pictures and movement control|Pictures and movement control]] | * 3.10 [[SCI/Specifications/Graphics/Pictures and movement control|Pictures and movement control]] |
Revision as of 13:42, 6 January 2009
The Sierra Creative Interpreter
Lars Skovlund, Christoph Reichenbach, Ravi Iyengar, Rickard Lind, Vladimir Gneushev, Petr Vyhnak, Dark Minister, Francois Boyer, Carl Muckenhoupt. Copyright (C) 1999-2009
This book describes the Sierra Creative Interpreter, versions 0.xxx and 1.xxx to the extent known to the general public, as well as the FreeSCI interpreter for those games. Please contact the author if you find that anything is being described incorrectly or missing.
NOTE: This version of the documentation is incomplete and covers only some parts of SCI0.
Introduction
* 1.1 Preface * 1.2 The basics * 1.3 Resource storage * 1.4 The individual resources: A summary * 1.4.1 Graphical resources * 1.4.2 Sound resources * 1.4.3 Logic resources * 1.5 SCI01 extensions * 1.6 SCI1 extensions * 1.7 Credits
Resource files
* 2.1 SCI0 resources * 2.2 SCI1 resources * 2.3 Decompression algorithms * 2.3.1 LZW * 2.3.2 HUFFMAN * 2.3.3 COMP3 * 2.3.4 DCL-EXPLODE * 2.3.5 UNKNOWN
The Graphics subsystem
* 3.1 General stuff * 3.2 SCI Ports * 3.3 The Cursor resource * 3.3.1 Color mapping for the SCI0 mouse pointer * 3.3.2 Color mapping for the SCI1 mouse pointer * 3.4 The SCI0 View Resource * 3.4.1 The View Resource * 3.4.2 Cell List * 3.4.3 Image Cell * 3.5 Font resource * 3.6 The SCI0 and SCI01 pic resource * 3.7 SCI1 palettes * 3.7.1 Palette types * 3.7.2 Palette format * 3.7.3 Installing a palette * 3.7.4 Installing a palette * 3.8 Kernel calls * 3.8.1 Palette syscall * 3.9 Windows, Dialogs and Controls * 3.10 Pictures and movement control
The Sound subsystem
* 4.1 The SCI0 Sound Resource Format * 4.1.1 Preface * 4.1.2 Sound Devices * 4.1.3 File Format * 4.1.4 Digital Samples * 4.1.5 Amiga sound (SCI0) * 4.1.6 Amiga sound (SCI1) * 4.1.7 General MIDI and MT-32 (SCI1) * 4.2 Mapping instruments in FreeSCI * 4.2.1 The Patch.002 resource * 4.2.2 Percussion instruments
The SCI virtual machine
* 5.1 Introduction * 5.1.1 Script resources * 5.1.2 Selectors * 5.1.3 Function invocation * 5.1.4 Variable types * 5.2 Interpreter initialization and the main execution loop * 5.3 The SCI Heap * 5.3.1 Heap structure * 5.3.2 Initialization * 5.3.3 Memory allocation * 5.4 The Sierra PMachine * 5.4.1 Local variables (LocalVar) * 5.4.2 Global variables * 5.4.3 Temporary variables * 5.4.4 Parameter variables * 5.4.5 Objects * 5.4.6 The PMachine "registers" * 5.4.7 The instruction set * 5.5 Kernel functions * 5.5.1 Parameter types * 5.5.2 SCI0 Kernel functions
SCI in action
* 6.1 Event handling in SCI * 6.1.1 Event types and modifiers * 6.2 The Parser * 6.2.1 Vocabulary file formats * 6.2.2 The black box: The magic behind Sierra's text parser * 6.2.3 The Parse tree * 6.2.4 Said specs * 6.2.5 Matching the trees * 6.3 Views and animation in SCI * 6.4 The message subsystem * 6.4.1 Ties to audio * 6.4.2 File formats * 6.4.3 early * 6.4.4 Version 2.101 * 6.4.5 Version 3.411 * 6.4.6 Version 4.010 * 6.5 Notes on the kernel calls * 6.5.1 GetMessage syscall * 6.5.2 Message syscall