Home - Forums - Documentation - Gallery - Bugs


CEL Notes


This Camera supports various camera-modes and will hide the entitie it is attached to in first-person-mode!


The available keycodes are listed here: csInputDefinition Doc

Crystalspace Notes

Note for FGLRX Users

CS has some issues with the "Catalyst A.I." Option from the Catalyst-Control-Center. Disabling this option fixed some graphics glitches for me.

Segmentation Faults in glextmanager.cpp with EXTMGR_FUNC_INIT Macro

If your CS segfaults in glextmanager.cpp inside the EXTMGR_FUNC_INIT Macro your build could be incomplete. A clean rebuild should solve the problem.

xmldoc system

This is a draft of a small parser which should generate nice looking and easy to use documentation about xml-tags understood by different parts of cs and their params(including descriptions and type) for use as a reference.

Planned Features:

  • generate html (+ optionally texinfo) output.
  • overview of existing xml-tags, ability to search, show grouped, show as "tree" with parent and child tags.
  • Add descriptions to tags, support adding params,their type(string,float), and descriptions for them


  • special comments in c++ code, similar to doxygen/javadoc

Xmltag: <tagname foobar="stringher" bar="inthere">somestring</tagname>

/*sometoken <tagname>
@param[string] foobar some description here
@param[int] bar another here
@sub subtag1,subtag2
@sup supertag1
@content <parenttag1>
this is the description of the tag itself.
multiline or whatever

Following @foo commands should be inplemented:

  • @param[some_string] name doc : To document params in xml tags
  • @sup tag1[,tag2[,...]]: To document one or more Parenttags which use this tag
  • @sub tag1[,tag2[,...]]: To document tags used inside this tag
  • @content <tag1> or some_string: Describe the content of this tag, e.g. some datatype or a list of other tags
  • @group some_string : Add this element to a group of elements

Generating Foliage

To generate foliage crystalspace uses the MeshGenerator "meshgen".

As there is no documentation about its usage yet, here are some of the xml-tags it uses. For more detailed information about its inner workings see the API-Documentation or the according sourcefiles (meshgen.cpp, meshgen.h or csthreadedloader.cpp for <meshgen> Xml-Parsing related things)

<meshgen >
The Meshgen root element
Param name
the name of the meshgen instance
Contains information about the objects which should be created by meshgen
Param mapname
Param(float) value
Param resx
Param resy
Vector <min>
Vector <max>
This map determines the global obj density. Contains a image (e.g. /foo/densmap.png)
Param(float) factor
The influence factor of the densitymap
Specifies the meshfactory which creates the geometry. Adding more than one factory results in the factorys being interpreted as LOD-levels, so a factory with bigger maxdist will be display in the range from the end of the last maxdist to the end of the maxdist of the factory
Param name
The factorys name
Param(int) maxdist
The maximum distance from the camera to which this geometry should be created
Contains the radius around the geometry in which no other objects are placed (very small values creaty overlapping geometrys to be placed
Specifies how many elements should be placed per cell
Defines the material for the geometry
Param name
The materials name
Param(float) factor
TODO (i'm not sure yet what these are used for)
Contains the default materialfactor (See plugins/engine/3d/meshgen.h:111: Default material factor. Only used in case the table above is not empty.) (I'm not sure about the _NOT_ empty, too.)
Contains a float. The windbias (whatever this is ;)
The winddirection
Param(float) x
Param(float) y
Contains a float. The windspeed

2D Painting

Use the iGraphics2D Interface.

Some XML things

One way of parsing xml is using the TOKEN-related macros to define xml-tags you want to parse ( see tokenlist.h) in conjunction with iSyntaxService for the general xml-parsing.

| User page | Discussion | View source | History |