1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HTML>
<HEAD>
<TITLE>Crystal Space: Config System</TITLE>
<META NAME="description" CONTENT="Crystal Space: Config System">
<META NAME="keywords" CONTENT="Crystal Space: Config System">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC122"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_47.html#SEC121"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_49.html#SEC125"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_46.html#SEC120"> << </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_47.html#SEC121"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_53.html#SEC134"> >> </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="index.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_285.html#SEC711">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<HR SIZE=1>
<H3> 3.2.1 System Configuration </H3>
<!--docid::SEC122::-->
<P>
This section describes how the system driver can be configured with the config
file. The default values are stored in `<TT>CS/data/config/system.cfg</TT>',
except the list of plug-in modules, for which no default exists.
</P><P>
<A NAME="SEC123"></A>
<H4> List of Plug-In Modules </H4>
<!--docid::SEC123::-->
<P>
The most important part of the system configuration is the list of plug-in
modules to load. A plug-in module is loaded with the following line:
<TABLE><tr><td> </td><td class=example><pre>System.Plugins.FuncID = PluginName
</pre></td></tr></table>`<SAMP>System.Plugins.</SAMP>' is obligatory and tells the system to load a plug-in
now. The `<SAMP>FuncID</SAMP>' (functionality identifier) defines the purpose the
plug-in is used for. For example the functionality identifier
`<SAMP>VideoDriver</SAMP>' means that this plug-in is used for graphics output.
`<SAMP>VideoDriver</SAMP>' is one of the standardized identifiers; that's why all
applications use this identifier to look for the module for graphics output.
See below for a list of all standardized identifiers. Note that it is not
possible to load more than one module with the same functionality identifier.
</P><P>
Finally, `<SAMP>PluginName</SAMP>' determines which plug-in to load. It is the name
of the plug-in under which it is known in the SCF registry. You can see
a list of all plug-in modules in `<TT>CS/scf.cfg</TT>'. The plug-in you load here
must be made for the purpose you try to use it for. For example, if you
load the sound driver with the `<SAMP>VideoDriver</SAMP>' functionality identifier,
the application will not see the module at all and complain that you didn't
load a graphics driver.
</P><P>
Note that some modules depend on others. If module A depends on module B,
then you must first load B, then A. If you don't do this then module A will
usually fail to initialize.
</P><P>
Here is an example of a line from the config file:
<TABLE><tr><td> </td><td class=example><pre>System.Plugins.VideoDriver = crystalspace.graphics3d.opengl
</pre></td></tr></table>This line loads the module `<SAMP>crystalspace.graphics3d.opengl</SAMP>' (the OpenGL
graphics driver) and assigns it to the functionality identifier
`<SAMP>VideoDriver</SAMP>' (graphics output).
</P><P>
Some functionality identifiers are standardized. This is useful whenever one
module depends on another one. For example, the engine depends on the video
driver. When the engine wants to access the video driver, it has to know the
driver's functionality identifier. Currently this identifier is always
`<SAMP>VideoDriver</SAMP>'. In the future it will probably be possible to tell the
engine which identifier to use, so the standardized identifiers will not be
required anymore. The following identifiers are standardized:
</P><P>
<DL COMPACT>
<DT><CODE>VFS</CODE>
<DD>The virtual file system. There is only one possible VFS plug-in, called
`<SAMP>crystalspace.kernel.vfs</SAMP>'.
<P>
<DT><CODE>VideoDriver</CODE>
<DD>This loads the graphics driver. Possible values are:
<DL COMPACT>
<DT><CODE>crystalspace.graphics3d.software</CODE>
<DD>Uses the system-specific 2D rasterizer to perform 3D graphics operations on
the basis of drawing single pixels.
<P>
<DT><CODE>crystalspace.graphics3d.software.offscreen</CODE>
<DD>This is a variant of the software renderer that renders to a buffer in memory,
not to the screen.
<P>
<DT><CODE>crystalspace.graphics3d.opengl</CODE>
<DD>Uses OpenGL for 3D output, and by this takes advantage of hardware
acceleration. Requires installed OpenGL run-time libraries.
<P>
<DT><CODE>crystalspace.graphics3d.direct3d.dx61</CODE>
<DD>Similar to the above. Requires installed DirectX 6.1 or higher run-time
libraries.
<P>
<DT><CODE>crystalspace.graphics3d.line</CODE>
<DD>This is a variant of the software renderer.
</DL>
<P>
<DT><CODE></CODE>
<DD><P>
</DL>
<P>
<A NAME="SEC124"></A>
<H4> Other System Driver Options </H4>
<!--docid::SEC124::-->
<P>
Apart from the list of plug-in modules, the following keys are recognized by
the system driver:
</P><P>
<DL COMPACT>
<DT><CODE>MouseDriver.DoubleClickTime = <number></CODE>
<DD>This is the maximum of time (given in milliseconds) which may pass between
two mouse clicks to recognize a double-click. Default is <CODE>300</CODE>.
<P>
<DT><CODE>MouseDriver.DoubleClickDist = <number></CODE>
<DD>The maximal distance (given in pixels) that the mouse can move between clicks
for double click to occur. Default is <CODE>2</CODE>.
<P>
<DT><CODE>MouseDriver.MouseSensivity = <float></CODE>
<DD>This defines the mouse sensitivity, i.e. the speed of all mouse movement.
Default is <CODE>1.0</CODE>.
<EM>Note:</EM> For now this is used only in the DOS/DJGPP port.
<P>
<DT><CODE>System.Win32.DebugConsole = <yes/no></CODE>
<DD>Default is <CODE>yes</CODE>. @@@ FIXME: What does this option control?
</DL>
<P>
<A NAME="Config Graphics"></A>
<HR SIZE=1>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_47.html#SEC121"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_49.html#SEC125"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_46.html#SEC120"> << </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_47.html#SEC121"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_53.html#SEC134"> >> </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="index.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_285.html#SEC711">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
This document was generated
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>
|