File: cs_48.html

package info (click to toggle)
crystalspace 0.94-20020412-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 62,276 kB
  • ctags: 52,843
  • sloc: cpp: 274,783; ansic: 6,608; perl: 6,276; objc: 3,952; asm: 2,942; python: 2,354; php: 542; pascal: 530; sh: 430; makefile: 370; awk: 193
file content (188 lines) | stat: -rw-r--r-- 8,044 bytes parent folder | download
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"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_49.html#SEC125"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_46.html#SEC120"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <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>&nbsp;</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>&nbsp;</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 = &#60;number&#62;</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 = &#60;number&#62;</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 = &#60;float&#62;</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 = &#60;yes/no&#62;</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"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_49.html#SEC125"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_46.html#SEC120"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <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>