; Start world file
Walktest.Settings.WorldFile = castle

; NB1: An entry in the plug-in list looks like this:
;
; System.Plugins.InterfaceName[.additional] = PluginName
;
; The InterfaceName should be the same as the main interface
; that is implemented by this plugin (if any). If this plugin doesn't
; implement a specific interface (like BugPlug) then just use a logical
; name that is different from all other interfaces.
; If you use 'Systems.Plugins.InterfaceName' then this plugin will
; be marked as the default plugin implementing that interface in the
; object registry. This means that you can do CS_QUERY_REGISTRY (object_reg,
; InterfaceName) to find this plugin.
; If you use 'Systems.Plugins.InterfaceName.bla' then this plugin will
; be registered using the tag 'InterfaceName.bla' in the object registry.
; This is usually used for secondary plugins.
;
; Here are a few common interfaces:
;
; iVFS           the virtual file system
; iGraphics3D    standard graphics output
; iSoundRender   standard sound output
; iConsoleOutput the output console
; iEngine        the 3d engine
; iImageIO       the image loader
; iLoader        the level loader
;
;
; NB2: a specific driver can be omitted, if it is not used.
; For example, if you just omit the sound renderer, you will
; simply hear no sound, but the program will still run
;
; NB3: Plugins will be loaded in the same order they are listed
; here. This means that if, for example, a plugin needs the video
; driver during his initialization, it should come *after*
; video driver in the following section. Unless the plugin has a
; specific dependency in his registry.

; First of all, the Virtual File System plug-in
System.Plugins.iVFS = crystalspace.kernel.vfs

; Video driver
;System.Plugins.iGraphics3D = crystalspace.graphics3d.software.offscreen
;System.Plugins.iGraphics3D = crystalspace.graphics3d.software
System.Plugins.iGraphics3D = crystalspace.graphics3d.opengl
;System.Plugins.iGraphics3D = crystalspace.graphics3d.line

; The console
System.Plugins.iConsoleInput = crystalspace.console.input.standard
;System.Plugins.iConsoleOutput = crystalspace.console.output.simple
System.Plugins.iConsoleOutput = crystalspace.console.output.standard
;System.Plugins.iConsoleOutput = crystalspace.console.output.fancy

; Sound renderer and manager
System.Plugins.iSndSysRenderer = crystalspace.sndsys.renderer.software

; Image Loader
System.Plugins.iImageIO = crystalspace.graphic.image.io.multiplexer

; Level Loader
System.Plugins.iLoader = crystalspace.level.loader
;System.Plugins.iDocumentSystem = crystalspace.documentsystem.xmlread
System.Plugins.iDocumentSystem = crystalspace.documentsystem.multiplexer
System.Plugins.iDocumentSystem.1 = crystalspace.documentsystem.xmlread
System.Plugins.iDocumentSystem.2 = crystalspace.documentsystem.binary 

; Sound Loader
System.Plugins.iSndSysLoader = crystalspace.sndsys.element.loader

; Now the Engine (csWorld) plug-in
System.Plugins.iEngine = crystalspace.engine.3d

; Additional plugins come here
;System.Plugins.iScript = crystalspace.script.python

;System.Plugins.iBugPlug = crystalspace.utilities.bugplug

; The font plexer provides support to use multiple font servers at once
; (e.g. so you can use both TrueType and CS' default fonts) as well as
; functionality to take glyphs from multiple fonts.
; If we want to use the font multiplexer, we need to load some real font
; servers too. The final number in the tag defines the load order.
System.Plugins.iFontServer = crystalspace.font.server.multiplexer
System.Plugins.iFontServer.1 = crystalspace.font.server.freetype2
System.Plugins.iFontServer.2 = crystalspace.font.server.default

; Application ID string
System.ApplicationID = CrystalSpace.Walktest

VFS.Config = vfs.cfg

; Default font
;Walktest.Font.Default = /fonts/ttf/arial.ttf

; Collision detection
Walktest.CollDet.JumpSpeed = 0.08
Walktest.CollDet.WalkAccelerate = 0.01
Walktest.CollDet.WalkMaxSpeed = 0.05
Walktest.CollDet.WalkMaxSpeedMult = 10.0
Walktest.CollDet.WalkBrake = 0.02
Walktest.CollDet.RotateAccelerate = 0.005
Walktest.CollDet.RotateMaxSpeed = 0.02
Walktest.CollDet.RotateBrake = 0.01
Walktest.CollDet.LookAccelerate = 0.02

; Here's how player body is built:
;
;   +------+  The body consist of two boxes: the top "body" box and the
;  /      /|  bottom "legs" box (see picture 1). The BODYXXX parameters refers
; +------+ |  to the top box, the LEGSXXX parameters refers to the bottom box.
; |      | |  WIDTH, HEIGHT and DEPTH refers to the corresponding parameters
; |      | |  of the box; since they share one plane the height of legs are
; |      | +  given by the lower bound of the body box.
; |      |/   The vertical axis is OY, the horizontal axis is OX and the depth
; +-+--+-+    axis is OZ. The eyes are located at (0,0,0). The width and depth
;   |  | |    of body/legs are automatically split into two and half of the
;   |  | +    width/depth is placed on one side of YOZ/XOY and other half is
;   |  |/     placed on the other side of the plane. That is, the body is
;   +--+      automatically centered along the X and Z axis. For the Y axis
;   pic.1     you have to specify what the Y coordinate of the lower plane of
;             body box will be. This is defined by the EYEOFFSET parameter,
; which is usually less than zero. That is, the lower plane of body is below
; your eyes (which are at y=0, remember?). And finally, the LEGSOFFSET
; parameter defines the Y offset of the bottom plane of legs. Usually
; LEGSOFFSET < EYEOFFSET, since legs should have at least a little length.
;
;             ^ Y
;             |
;          +-----+              -> y = eye_offset + body_height
;          |  |  |
; ---------|--+--|---------> X  -> y = 0 (eyes are at (0,0,0))
;          |  |  |
;          |  |  |
;          |  |  |
;          +-+-+-+              -> y = eye_offset
;            |||
;            |||
;            |||
;            +-+                -> y = legs_offset
;
; The parameters below defines a 1.8 meters high person with a 40cm torso and
; 30cm body depth, and with 30cm legs width and 20cm legs depth. The body is
; 1m high, the legs are 80cm high.
Walktest.CollDet.BodyHeight = 1
Walktest.CollDet.BodyWidth = 0.4
Walktest.CollDet.BodyDepth = 0.3
Walktest.CollDet.EyeOffset = -0.7
Walktest.CollDet.LegsWidth = 0.3
Walktest.CollDet.LegsDepth = 0.2
Walktest.CollDet.LegsOffset = -1.5

Walktest.Settings.Stats = no
Walktest.Settings.Debug = no
;Walktest.Settings.DrawLogo = no

; Enable collision detection?
Walktest.Settings.CollDet = yes
;Walktest.Settings.CollDetPlugin = crystalspace.collisiondetection.rapid
Walktest.Settings.CollDetPlugin = crystalspace.collisiondetection.opcode

; Enable "saveable" flag in engine?
Walktest.Settings.EnableEngineSaving = true
