File: cs_278.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 (345 lines) | stat: -rw-r--r-- 15,009 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
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
<!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: FAQ</TITLE>

<META NAME="description" CONTENT="Crystal Space: FAQ">
<META NAME="keywords" CONTENT="Crystal Space: FAQ">
<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="SEC649"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_277.html#SEC648"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_279.html#SEC650"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_277.html#SEC648"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="index.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_279.html#SEC650"> &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>
<H1> B. Frequently Asked Questions (FAQ) </H1>
<!--docid::SEC649::-->
<P>

This is a list of frequently asked questions and their answers.  If you have
some questions about Crystal Space, try consulting this list first.
</P><P>

<UL>
<LI>
From where can I download Crystal Space?
<P>

<STRONG>A</STRONG>: The latest release of Crystal Space is always available from the
Crystal Space home page, and from the Crystal Space FTP site
<A HREF="ftp://sunsite.dk/projects/crystal/">ftp://sunsite.dk/projects/crystal/</A>. You can
also access the bleeding-edge developmental version.  See section <A HREF="cs_7.html#SEC7">1.6 Where to Get Crystal Space</A>.
</P><P>

<LI>
What do I need to compile Crystal Space?
<P>

<STRONG>A</STRONG>: You need the source code, which you can obtain in a variety of
ways.  See section <A HREF="cs_7.html#SEC7">1.6 Where to Get Crystal Space</A>.  You also need a compiler and development system
for the platform which you are using.  Some of the supported compilers are
GCC (including MINGW and CYGWIN), MSVC and Code Warrior.
</P><P>

<LI>
What do you need to run Crystal Space?
<P>

<STRONG>A</STRONG>: You need the following items:
</P><P>

<UL>
<LI>
A compiled executable program such as `<TT>walktest</TT>' or `<TT>blocks</TT>', for
example.  These are demo programs included in the main source archive.
<P>

Note that there exist two types of executables: staticly linked and
dynamically linked.  If you have a staticly linked executable (for example,
the DOS executable will always be static) then you don't need any of the
following drivers.  Otherwise you will need the remaining items.
</P><P>

<LI>
A 3D rasterizer plug-in.  You can choose either the software renderer or else
one of the hardware accelerated renderers.  You also have to choose the
correct library for your system.  On OS/2 and Windows (32 bit) this will be a
`<TT>.DLL</TT>' file.  On most Unix systems this will be an `<TT>.so</TT>' file.
<P>

<LI>
A 2D graphics driver which is particular to your platform.  The 3D rasterizer
displays its rendered images thorugh the 2D graphics driver.
<P>

<LI>
A network driver, such as the BSD-style Sockets driver.  Use this if
the application you want to use relies upon network access.
<P>

<LI>
Many of the Crystal Space applications also need several other plugins. For
example plugins which implement 3D sprites, particle systems, ... In general
the Crystal Space distribution will contain source for all of them.
<P>

<LI>
You should also have `<TT>standard.zip</TT>' which is a library of standard
resources used and shared by several of the Crystal Space applications.  You
should <EM>not</EM> unpack this file.  Crystal Space reads from ZIP files
directly.
<P>

<LI>
Finally you need at least one map file.  The map file is also typically a
ZIP archive.  Possible map files, among others, are `<TT>flarge.zip</TT>',
`<TT>maze.zip</TT>', and `<TT>room.zip</TT>').  In addition to these map files you
also need the standard texture archive `<TT>stdtex.zip</TT>'. You should
<EM>not</EM> unpack these files.  Note that `<TT>standard.zip</TT>' is not a
map file, nor is `<TT>mazed.zip</TT>', which is a resource file for MazeD, the
Crystal Space map editor. All map files and related data files are usually
located in the `<TT>data</TT>' directory.
</UL>
<P>

<LI>
I downloaded Crystal Space but it won't run.  What could be the cause?
<P>

<STRONG>A1</STRONG>: Are you sure that you have downloaded all the necessary
components, as explained by the previous section? If not, then download the
missing components.
</P><P>

<STRONG>A2</STRONG>: In general, Crystal Space requires an 8, 15, 16, or 32-bit
display and will not work with other displays modes.  Note, however, that the
MacOS/X Server, OpenStep, and NextStep ports of Crystal Space are not subject
to this limitation.
</P><P>

<STRONG>A3</STRONG>: If you are using a dynamicly linked executable then the required
plug-in modules, such as 3D renderer, 2D driver, etc.  usually must reside in
the same directory.  On BeOS, the plug-in modules must be located in an
`<TT>add-ons</TT>' subdirectory.  Most ports of Crystal Space use plug-in modules,
with the notable exception of the DOS port which is statically linked.
</P><P>

<STRONG>A4</STRONG>: Are you certain that you are trying to load the correct map file?
If you are running the application from the command-line, then you can try
specifying the map file on on the command-line, like this:
</P><P>

<TABLE><tr><td>&nbsp;</td><td class=example><pre>% walktest flarge
</pre></td></tr></table></P><P>

Where `<SAMP>flarge</SAMP>' is the name of the map file you wish to use.  In this case,
`<SAMP>flarge</SAMP>' corresponds to the `<TT>flarge</TT>' directory which is included
with CS.  Also note that `<TT>flarge</TT>' itself requires the file
`<TT>stdtex.zip</TT>' which contains all the textures.
</P><P>

Alternately, for WalkTest, you can change the `<SAMP>WorldFile</SAMP>' setting in its
configuration file `<TT>CS/data/config/walktest.cfg</TT>'.  For example:
</P><P>

<TABLE><tr><td>&nbsp;</td><td class=example><pre>Walktest.Settings.WorldFile = flarge
</pre></td></tr></table></P><P>

<STRONG>A5</STRONG>: If all else fails ask a question on the Crystal Space mailing
list.  See section <A HREF="cs_8.html#SEC10">1.7 Mailing Lists</A>.
</P><P>

<LI>
What documentation is available?  Where can I find it?
<P>

<STRONG>A</STRONG>: There is a lot of documentation available.  Not all of it is
completely up-to-date but we try to do our best in keeping it as up-to-date as
possible.  Refer to the section in the Crystal Space manual which discusses
documentation resources.  See  <A HREF="cs_7.html#Documentation Resources">Documentation Resources</A>.
</P><P>

<LI>
I don't have lots of memory.  Can I still run Crystal Space?
<P>

<STRONG>A1</STRONG>: You may want to decrease the size of the texture cache with the
`<SAMP>-cache=&#60;size&#62;</SAMP>' command-line option or the `<SAMP>CACHE</SAMP>' configuration
option in `<TT>soft3d.cfg</TT>' if you are using the software renderer.  By
default the size of the texture cache is quite large (typically 5 to eight
megabytes in size), so adjusting this value might be useful for low-memory
systems.
</P><P>

<STRONG>A2</STRONG>: Using a smaller window size and a lower bit-depth can also
decrease memory usage.  In addition to the memory used for the actual graphics
display, Crystal Space uses a Z-buffer containing 4-byte values with the same
dimensions as the display.  Therefore, a display with dimensions of 640x480
uses a Z-buffer of 1,228,800 bytes.
</P><P>

<STRONG>A3</STRONG>: If you are still low on memory there is only one thing you can
do: decrease the complexity of the map.  For every polygon in the world a lot
of memory used.  If you just want to try the engine you can run Crystal Space
with some of the simpler worlds such as `<TT>perf.zip</TT>' or `<TT>rgb.zip</TT>'.
</P><P>

<LI>
Crystal Space is really slow on my computer.  What can I do to speed it up?
<P>

<STRONG>A1</STRONG>: Crystal Space is a 6DOF engine.  It needs to do
semi-perspective correct texture mapping to get a nice display and
calculations to achieve this are slow.  You can expect that Crystal Space will
probably need the same kind of computer as a game such as Quake 1 or Quake 2,
at least a Pentium or a very fast 486 with a floating point co-processor.
Also note that Crystal Space is still in the developmental stage and has not
yet been fully optimized.  You might try using smaller window dimensions
with the `<SAMP>-mode=</SAMP>' option.  See section <A HREF="cs_46.html#SEC120">3.1 Common Command Line Options</A>.
</P><P>

<STRONG>A2</STRONG>: Use a hardware accelerated graphics card and driver.  Such cards
are quite popular these days and can perform extremely well, especially when
compared to Crystal Space's software renderer.
</P><P>

<LI>
I want to create textures for Crystal Space.  What palette should I use?  How
big should I create the textures?  What format can I use?
<P>

<STRONG>A1</STRONG>: The palette does not really matter because Crystal Space
calculates its own optimal palette given a set of input textures.  But there
are some things to keep in mind.  Try to get the number of different colors as
low as possible without sacrificing for quality and if you design a set of
textures that are meant to be used together it is always best to let them use
a similar palette.  This will make it easier for Crystal Space to calculate a
good palette.
</P><P>

<STRONG>A2</STRONG>: The width and height of a texture must be a power of 2 (such as
8, 16, 32, 64, <small>...</small>).  That's about the only restriction.  Textures need
not be square.  You can have textures with sizes like 16x256. If a texture
does not conform to the above mentioned limitations then it will be scaled.
This may mean that there is quality degradation though!
</P><P>

<STRONG>A3</STRONG>: Crystal Space textures may be in any of the supported image
formats, such as PNG, TGA, BMP, JPG, and GIF.
</P><P>

<STRONG>A4</STRONG>: Unless a texture is not meant for tiling you should make sure
that it can be tiled.  This means that if you put a number of textures next to
each other or above each other the boundaries should seemlessly integrate with
each other.  Of course, it is entirely possible to create textures that are
specifically drawn for untiled usage.  An example would be a texture
representing a computer keyboard.
</P><P>

<LI>
I'd like to contribute to Crystal Space.  What can I do?
<P>

<STRONG>A</STRONG>: Have a look at the section of this manual about contributing
to the project (see section <A HREF="cs_271.html#SEC637">9. Contributing to Crystal Space</A>), and take a look at the To-Do and
Bug lists on the Developer's Project page at SourceForge:
</P><P>

<A HREF="http://sourceforge.net/projects/crystal/">http://sourceforge.net/projects/crystal/</A>
</P><P>

You can also contact the mailing list (see section <A HREF="cs_8.html#SEC10">1.7 Mailing Lists</A>) in
order to coordinate your efforts with those of other people.
</P><P>

<LI>
How does Crystal Space work?
<P>

<STRONG>A1</STRONG> If you want to know how you can use CS, you can look at the
chapters describing the libraries of which CS consists, See section <A HREF="cs_128.html#SEC290">6. Libraries</A>.  Or
you can look at the plug-ins, See section <A HREF="cs_159.html#SEC338">7. Plug-In Modules and Drivers</A>.  If you want to know how
it works internally, See section <A HREF="cs_246.html#SEC610">8. Internal Project Structure</A>.
</P><P>

<STRONG>A2</STRONG>: Read any other documentation related to this project as mentioned
earlier in this FAQ.
</P><P>

<STRONG>A3</STRONG>: If you need more information, you should consider posting your
queries to the Crystal Space mailing list, <A HREF="cs_8.html#SEC10">1.7 Mailing Lists</A>.
</P><P>

<LI>
I want to write a game with Crystal Space.  Can I do this?
<P>

<STRONG>A1</STRONG>: The ultimate purpose of Crystal Space is that it will become a
useable and powerful engine for writing games and other graphics visualization
programs.  As a project which is still under development, it may be simple or
difficult to build your particular game, depending upon your specific
requirements.  One way to improve the state of Crystal Space so that it better
fits your needs is to contribute to the project yourself.
</P><P>

<STRONG>A2</STRONG>: Crystal Space is under the LGPL licensing policy so you can
make commercial or shareware products using it.  For more details about what
you can and cannot do, see the license, <A HREF="cs_14.html#SEC16">1.13 GNU Library General Public License</A>.
</P><P>

<LI>
How stable is the API for Crystal Space?
<P>

<STRONG>A</STRONG>: The API which you can find in the 0.90 release should be about
95% stable as compared to the 1.0 release. After 1.0 we will make sure
to keep backwards compatibility (until we release 2.0 :-)
</UL>
<P>

<A NAME="API Modifications"></A>
<HR SIZE=1>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_277.html#SEC648"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_279.html#SEC650"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_277.html#SEC648"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="index.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_279.html#SEC650"> &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>