资源说明:FreeSCI for Pandora
* * * W A R N I N G * * * This is an unstable, experimental development release of FreeSCI. You will most likely NOT be able to finish any games with it. If you just want to play SCI games (as opposed to aid development), please use the stable release instead. Thanks for downloading this development release of FreeSCI! FreeSCI is a portable interpreter for SCI games, such as the Space Quest series (starting with SQ3) or Leisure Suit Larry (2 and sequels); see below for a complete (?) listing. This release has the following limitations (plus some bugs): - Only SCI0, SCI01 and SCI1 games are (partially) supported - The SCI debug functions aren't fully supported (and probably never will be, since we're using our own debug functions) - SCI1 palette support is preliminary and known to be broken - The sound subsystem is hardwired to particular drivers on compile time - Several pieces of game-critical functionality are known not to function properly; please refer to the bug tracker at https://www-plan.cs.colorado.edu/cgi-bin/bugzilla/index.cgi for details. This is ALPHA sofware. That means that there still are lot of bugs. Please refer to 'NEWS' and the 'ChangeLog' for information about changes in this and previous versions. Please also refer to the following files for platform specific instructions: README.Unix README.Win32 0 Building FreeSCI ================== Please see the platform-specific readme file applicable to your system for instructions on how to do this, or download a binary version. 1 Running FreeSCI ================= After you have a binary copy of FreeSCI (whether compiled yourself or downloaded), you should have a number of tools (depending on your operating system), and the main program (src/freesci). Usually, you will want to run the main program; there are five ways to run a game with FreeSCI now: a) You can enter the directory your game is contained in, and just start 'freesci'. If no parameters are given, it will look for data files in the current working directory. You need all of the resource files (and any resource patches) for an SCI0 game in your current working directory. b) Run 'freesci' with the -d parameter to specify the path to your resource file directory. c) First build a configuration file, then run 'freesci' followed by one of the game names described in the config file. The process of creating a config file is outlined in section 2. d) First build a configuration file, then run 'freesci'. A menu will be presented containing all games that are listed in the config file. e) FreeSCI can search a directory tree for SCI games and present them in a menu. The directory to be searched can be specified with the -G command line option, or the menu_dir config file option. Please note that the default options are rather spartanic; if your machine is sufficiently powerful, you might want to spice up your graphics. How this can be done is described in section 2; we also provide a reference configuration file (called 'config') for high-quality graphics. 1.1 The built-in debugger ------------------------- To invoke the FreeSCI debugger, do one of these three things: - Start the interpreter with the -D command line option - press Ctrl-` (the Quake console key) and wait - As above, but press LShift-RShift-PadMinus instead The debugger will also activate if a script error is encountered. Once activated, execution of game scripts will cease until explicitly resumed. Here are two of the most simple commands: - 'quit'- Terminates execution of the interpreter - 'go'- resumes execution of the game scripts For a list of all commands supported by the debugger, type "list cmds" at the debugger command line. Use "man" to learn about the specified command. 2 Configuration =============== FreeSCI will create a directory called .freesci in a platform-specific location (see the appropriate README file for further details). This directory stores FreeSCI data files such as saved games. If a file called 'config' exists in this directory, it will be read and parsed by the interpreter after the game has been loaded; this file may ask for specifications from other files to be included (as with the C preprocessor) by using the notation %include < [filename] > where [filename] is the name of the file to be included; as far as the configuration file reader is concerned, this is equivalent to replacing the entire statement with the contents of the file [filename]. FreeSCI automatically checks for and warns about circular inclusion. Include files should be stored in the same directory. A variety of configuration options may be specified. Currently, the configuration file may contain: - Comments preceeded by a hash '#' sign - [GAME_ID]: Commands following this line will only have an effect for the game with the specified game ID. (The game ID is printed during sciv startup, and is also used to create the save game directory). You can use this to provide game-specific configuration options. - menu_dir: Specifies the directory that is recursively searched for SCI games when the game selection screen is invoked. Should only be used in the generic part of the config file. Default is the '.freesci/games/' directory, where '.freesci' is in a platform-specific location (see the appropriate README file for further details). - console_log: Specifies a console log file which keeps track of all output print with the function sciprintf(). - version = x.yyy.zzz: emulate SCI version x.yyy.zzz. The version number is sometimes printed on game discs, or can be found out by grepping your main executable for "0.000." (for SCI0 games). It is also displayed if the built-in debugger is activated in the Sierra SCI engine. - pic0_dither_mode = dither | flat | dither256: (only one of those three modes). dither: Draw in 16 colors, same as Sierra SCI. flat: Interpolate colors (256 colors). Improves some graphics. dither256: Dither in 256 colors. A compromise between dither and flat. - pic0_dither_pattern = scaled | unscaled scaled: Dither in axb sized blocks, if x scale is a and y scale is b unscaled: Dither in 1x1 blocks (single pixels) - pic0_brush_mode = scaled | ellipses | random-ellipses | more-random Affects how semi-random brushes (used mostly for dirt and foilage) are drawn: scaled: Scale every semi-random pixel to a rectangular block ellipses: Scale every semi-random pixel to a filled ellipse random-ellipses: As ellipses, but slightly shift ellipse offset and size more-random: Add more random pixels to the whole area - pic0_line_mode = correct | fine | half correct: Draw lines appropriately scaled fine: Don't scale lines (thin lines, may cause problems) half: Draw them at approximately half their correct width (only noticeable with scaling factors from 3 upwards) - dirty_strategy = 1 | clusters The "dirty strategy" is the strategy used to collect modifications to the screen content. Modifying this may affect performance on slow or networked systems. 1: Collect everything in one dirty region clusters: Cluster non-overlapping modified regions into a set of regions - pic0_scaled = yes | no Whether SCI0 background pics should be scaled (may look better) or not (faster, looks more like the original games). By default, they are not scaled. - pic_buffer_size = # Number of background pics to store in an LRU buffer. Increasing this value will increase the amount of memory used, but may considerably speed up changing back to rooms you visited not too long ago. - mouse = yes | no Whether the interpreter should report to the game that it has a mouse. - resource_dir: Read the game's resource data from the specified location. Must not be used in the generic part of the config file. - resource_version: Assume that the game's resource map has the specified version number. The most interesting values are 3 and 5; Look at the web page for specific instructions for a number of games. - view_filter = none | linear | trilinear Magnification filter for 'views', i.e. moving foreground (and, in some cases, non-moving background) images. 'none' means that they are translated into what may look like a huge chunk of colored rectangles; 'linear' smoothes those rectangles somewhat. 'trilinear' does more sensible filtering by applying an almost-standard trilinear filtering algorithm. This has no effect if graphics are not scaled. - pic_filter = none | linear | trilinear Selects the filter to use when scaling background pictures. This only applies if pic0_scale is set to 'no'. Please refer to the documentation of "view_filter" for details on the various settings. - cursor_filter = none | linear | trilinear Filter for the mouse cursor. Note that this only applies for graphics drivers which don't implement their own mouse cursor. Please refer to the documentation of "view_filter" for details on the various settings. - text_filter = none | linear | trilinear Filter for text. Please refer to the documentation of "view_filter" for details on the various settings. - pic_antialiasing = none | simple Performs antialiasing on background pictures. Default is 'none'. + 'simple' is a trivial anti-aliasing algorithm which calculates intensity according to the following matrix: (1/16 1/8 1/16) (1/8 1/4 1/8) (1/16 1/8 1/16) - animation_delay: A speed factor for transition animations. Default is 5. Set to 0 to disable transition animations. - animation_granularity: If transition animations are too slow on your system, this option can be used to draw several steps of a transition animation before updating the screen, resulting in a faster animation. The default is 4, which causes transition behaviour identical to FreeSCI 0.3.1. - alpha_threshold: A value between 0 and 255 (defaults to 129) used by the built-in crossblitter to distinguish between "opaque" and "transparent" pixels. This only has any effect if pixmap filtering is enabled for any resource type. Smaller values will cause fewer parts of the picture to be displayed, which may result e.g. in text being unreadable, while larger values may cause too many pixels to be drawn, resulting in bulky images. This does not have any effect when running unscaled. - module_path: A list of directories modules (gfx drivers etc.) are searched in. Directories are separated with the platform's default directory separator (':' on UNIX) and are searched in order of appearance. Default is '/usr/local/lib:/usr/lib'. --- module support is currently not available --- - reverse_stereo: Whether stereo sound output should reverse its output channels - scale_x: A positive non-zero integer (default depends on the gfx driver) that sets the horizontal scaling factor for whichever gfx driver you use. - scale_y: Like scale_x, just for the vertical axis. - scale: Like scale_x, but affects both the horizontal and the vertical axis. This scale is overridden by the others. - color_depth: The color depth (in bits per pixel) to use 2.1 Driver-specific options --------------------------- Graphics and sound drivers may have additional options specific to them. Driver-specific options are set by writing . .
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。