Classes

Every SCI game uses a standard library of predefined classes. This concept is very similar to the JDK used by the Java language. This set of standard SCI classes was continually added to as time went on and new games were released. The table below is an attempt to identify what classes were available from the beginning and what classes were added later on and at what point these classes were added.

It is also clear from various clues that the compiled name of some classes is not the same as the original name as used in the source code. For example, in the QFG2 debug mode it is possible to activate a feature called "Feature Writer". This feature is able to generate some simple SCI source code for instances of the following SCI classes: Actor, PicView, Prop, View and Feature. In the compiled version of these classes, the names are instead Act, PV, Prop, View and Feature (notice the difference in the case of the first two). The Official Book of King's Quest also refers to the Actor class rather than Act. It is therefore likely that the source code for a class was able to define a shorter name for inclusion in the compiled script file. The following table, in addition to being a list of the standard set of SCI classes, is also an attempt to identify what the original names were for the cases where the compiled class name is clearly an abbreviation or truncation.

 Compiled Name Original Name? KQ4
(.274)
 LSL2
(.409)
PQ2
(.490)
 
 HQ
(.566)
 LL3
(.572)
 CB
(.631)
 CI
(.668)
 SQ3
(.685)

 COC
(.685)
 Obj Object Y        
 Code Code Y        
 Collect Collection Y        
 List List Y        
 Set Set Y        
 EventHandler EventHandler Y        
 Script Script Y        
 Event Event Y        
           
 Timer Timer         
 TO TimeOut         
           
 Sound Sound         
           
 MenuBar MenuBar         
 DText DText         
 DIcon DIcon         
 DButton DButton         
 DEdit DEdit         
 DSelector DSelector         
 Dialog Dialog         
 Controls Controls         
           
 TheMenuBar TheMenuBar         
           
 Cycle Cycle         
 Fwd Forward         
 Walk Walk         
 CT CycleTo         
 End EndLoop         
 Beg BegLoop         
 Motion Motion         
 MoveTo MoveTo         
           
 Rev Reverse         
           
 Chase Chase         
           
 Follow Follow         
           
 Wander Wander         
           
 Avoid Avoider         
           
 Jump Jump         
 JumpTo JumpTo         
           
 Feature Feature          
 PV PicView         
 View View         
 Prop Prop         
 Act Actor         
 Blk Block         
 Cage Cage         
           
 User User         
 Ego Ego         
           
 gamefile.sh File         
           
 SysWindow SysWindow         
 SRDialog SRDialog         
 Restore Restore         
 Save Save         
           
 InvI InvItem         
 Inv Inventory         
           
 Game Game         
 Rgn Region         
 Rm Room         
 Locale Locale         
 SL StatusLine         
           
 Extra Extra         
           
 Gauge Gauge         
           
 Orbit Orbit         
           
 Path Path         
 RelPath RelPath         
           
 Window Window         
           
 TalkingExtra TalkingExtra         
           
 MDH MouseDownHandler         
           
 RFeature RFeature         
 RPicView RPicView         
           
 Grooper GradualLooper         
 Grycler GradualCycler         
           
 SmoothLooper SmoothLooper         
           
 Cat Cat         
           
 DCIcon DCIcon         
           
 DPath DPath         
           
 RelDPath RelDPath         
           
 StopWalk StopWalk         
           
 TimedCue TimedCue         
           
 QSnd QueuedSound         
           
 ForwardCounter ForwardCounter         
           
 Track Track         
           
 Approach Approach         


Note: VOCAB.996 contains the "class table". It is described in the SCI Specifications. This is a good starting point for determining where the classes are in each game.



Comments