Ninfa3DLite v.1.0g Custom Docs

(Original converted by Ian Thompson for Ninfa3D v1.0e)

Documentation Ninfa3D version Lite © 2008-2009 by Viz_fuerte

Updated by nespa for Ninfa3D v1.0g

( 2010 )

Navigation

- 1.0 Ninfa3D
- 2.0 Installation
- 3.0 Authors
- 4.0 License
- 5.0 Camera
- 5.1 CreateCamera
- 5.2 CreateCameraFPS
- 5.3 CreateCameraMAYA
- 5.4 CreateCameraIsometric
- 5.5 CameraTarget
- 5.6 CameraViewPort
- 5.7 CameraRange
- 5.8 CameraAspectRatio
- 5.9 CameraFOV
- 5.10 ActiveCamera
- 5.11 ViewPortWidth
- 5.12 ViewPortHeight
- 5.13 TargetX
- 5.14 TargetY
- 5.15 TargetZ
- 5.16 CameraPick
- 5.17 FadeIn
- 5.18 FadeOut
- 5.19 FaderColor
- 5.20 FadeIsReady
- 6.0 Control
- 6.1 DeleteEntity
- 6.2 ShowEntity
- 6.3 HideEntity
- 6.4 NameEntity
- 6.5 EntityParent
- 6.6 EntityTexture
- 6.7 CopyEntity
- 6.8 EntityFlag
- 6.9 EntityType
- 6.10 EntityColor
- 6.11 EntityShinines
- 6.12 EntityAlpha
- 7.0 Movement
- 7.1 PositionEntity
- 7.2 RotateEntity
- 7.3 MoveEntity
- 7.4 TurnEntity
- 7.5 PointEntity
- 8.0 State
- 8.1 EntityX
- 8.2 EntityY
- 8.3 EntityZ
- 8.4 EntityPitch
- 8.5 EntityYaw
- 8.6 EntityRoll
- 8.7 EntityName
- 8.8 LinePick
- 8.9 EntityDistance
- 9.0 File
- 9.1 ChangeDirectory
- 9.2 ExistFile
- 9.3 LoadZip
- 9.4 LoadScene
- 9.5 SaveScene
- 10.0 Read (don’t use)
- 10.1 FileRead
- 10.2 CloseRead
- 10.3 ReadINT
- 10.4 ReadFloat
- 10.5 ReadCHAR
- 11.0 Write (don’t use)
- 11.1 FileWrite
- 11.2 CloseWrite
- 11.3 WriteINT
- 11.4 WriteFLOAT
- 11.5 WriteCHAR
- 12.0 Global
- 12.1 EnableVsync
- 12.2 EnableAntialias
- 12.3 AmbientLight
- 12.4 BackGroundColor
- 12.5 InitEngine
- 12.6 BeginScene
- 12.7 UpdateEngine
- 12.8 EndScene
- 12.9 EndEngine
- 12.10 Collisions
- 12.11 ScreenShot
- 12.12 TrisRendered
- 12.13 Fps
- 12.14 Fog
- 12.15 CloseEngine
- 12.16 ShadowColor
- 12.17 LightCount
- 12.18 PrimitiveCount
- 12.19 BodyCount
- 12.20 CreateSkyDome
- 12.21 CreateSkyBox
- 13.0 Graphics
- 13.1 Transparency
- 13.2 Colors
- 13.3 Rect2D
- 13.4 Line2D
- 13.5 Image
- 13.6 Line3D
- 13.7 Pixel
- 13.8 Oval
- 13.9 ImageSprites2D
- 14.0 Input
- 14.1 KeyDown
- 14.2 KeyHit
- 14.3 MouseDown
- 14.4 MouseHit
- 14.5 ShowMouse
- 14.6 HideMouse
- 14.7 MouseX
- 14.8 MouseY
- 14.9 MouseWheel
- 14.10 MoveMouse
- 14.11 Keyboard
- 14.12 Mouse
- 15.0 Light
- 15.1 CreateLight
- 15.2 LightRadius
- 15.3 LightCastShadow
- 15.4 LightConeAngles
- 15.5 LightFalloff
- 15.6 LightColor
- 15.6 LightAttenuation
- 15.6 LightDirection
- 16.0 Maths
- 16.1 CurveValue
- 16.2 Distance2D
- 16.3 Distance3D
- 16.4 Max
- 16.5 Min
- 16.6 Rand
- 16.7 WrapValue
- 17.0 Material
- For Bodies:
- 17.1 CreateMaterial
- 17.2 MaterialElasticity
- 17.3 MaterialFriction
- 17.4 MaterialSoftness
- 17.5 MaterialCollidable
- 17.6 BodyMaterial
- For Meshes:
- 17.7 MaterialAlpha
- 17.8 MaterialColor
- 17.9 MaterialCount
- 17.10 MaterialFlag
- 17.11 MaterialShininess
- 17.12 MaterialTexture
- 17.13 MaterialTextureAngle
- 17.14 MaterialTextureScale
- 17.15 MaterialTextureUV
- 17.16 MaterialType
- 18.0 Mesh
- 18.1 CreateMeshNull
- 18.2 CreateMeshCube
- 18.3 CreateMeshSphere
- 18.4 CreateMeshCylinder
- 18.5 CreateMeshCone
- 18.6 LoadMesh
- 18.7 AnimateMesh
- 18.8 MeshCastShadow
- 18.9 OutlineMesh
- 18.10 ScaleMesh
- 18.11 CreateMeshPlane
- 18.12 CreateMeshWater
- 18.13 CountChildren
- 18.14 FindChild
- 18.15 ChildName
- 18.16 ChildMode
- 18.17 CurrentFrame
- 18.18 MeshesCollide
- 19.0 Particles
- 19.1 CreateParticle
- 19.2 ParticleEndSize
- 19.3 ParticleGravity
- 20.0 Emitter
- 20.1 EmitterDirection
- 20.2 EmitterPPS
- 20.3 EmitterStartColor
- 20.4 EmitterStartSize
- 21.0 BoxEmitter
- 21.1 CreateBoxEmitter
- 21.2 BoxEmitterSize
- 22.0 CylinderEmitter
- 22.1 CreateCylinderEmitter
- 22.2 CylinderEmitterCenter
- 22.3 CylinderEmitterRadius
- 22.4 CylinderEmitterLength
- 23.0 MeshEmitter
- 23.1 CreateMeshEmitter
- 23.2 MeshEmitterMesh
- 23.3 MeshEmitterEveryVertex
- 24.0 RingEmitter
- 24.1 CreateRingEmitter
- 24.2 RingEmitterCenter
- 24.3 RingEmitterRadius
- 24.4 RingEmitterThickness
- 25.0 Shaders
- 25.1 LoadShader
- 25.2 VertexShaderConstant
- 25.3 PixelShaderConstant
- 25.4 ApplyShaderEntity
- 25.5 ApplyShaderMaterial
- 26.0 Sound
- 26.1 LoadSound
- 26.2 SoundType
- 26.3 LoopSound
- 26.4 PauseSound
- 26.5 PlaySound
- 26.6 StopSound
- 26.7 VolumeSound
- 26.8 PitchSound
- 26.9 SoundReferenceDistance
- 26.10 SoundRollOff
- 27.0 Sprites
- 27.1 LoadSprite
- 27.2 ScaleSprite
- 27.3 SpriteColor
- 28.0 System
- 28.1 AppTitle
- 28.2 SupportGLSL
- 28.3 SupportHardwareTL
- 28.4 SupportMultiTexture
- 28.5 SupportStencilBuffer
- 28.6 AvailableMemory
- 28.7 TotalMemory
- 28.8 VideoModeCount
- 28.9 VideoModeDepth
- 28.10 VideoModeResolutionWidth
- 28.11 VideoModeResolutionHeight
- 28.12 ProcessorSpeed
- 28.13 SupportARB
- 29.0 Text
- 29.1 LoadFont
- 29.2 Font
- 29.3 Text
- 30.0 Terrain
- 30.1 LoadTerrain
- 30.2 ScaleTexture
- 30.3 TerrainHeight
- 31.0 Texture
- 31.1 LoadTexture
- 31.2 CreateRTT
- 31.3 FindTexture
- 31.4 RenderTarget
- 31.5 LockTexture
- 31.6 UnLockTexture
- 31.7 ColorKeyTexture
- 31.8 TextureWidth
- 31.9 TextureHeight
- 31.10 LoadImageFromFile
- Physics
- 32.0 Bodies
- 32.1 CreateBodyNull
- 32.2 CreateBodyCube
- 32.3 CreateBodySphere
- 32.4 CreateBodyCylinder
- 32.5 CreateBodyCone
- 32.6 CreateBodyCapsule
- 32.7 CreateBodyHull
- 32.8 CreateBodyTree
- 32.9 CreateBodyTreeBSP
- 32.10 CreateBodyTerrain
- 32.11 CreateBodyWater
- 32.12 AngularVelocity
- 32.13 LinearVelocity
- 32.14 LinearDamping
- 32.15 AngularDamping
- 32.16 AddImpulse
- 32.17 BodiesCollide
- 32.18 BodyCollX
- 32.19 BodyCollY
- 32.20 BodyCollZ
- 32.21 BodyCollNX
- 32.22 BodyCollNY
- 32.23 BodyCollNZ
- 32.24 DrawBody
- Physics
- 33.0 Joint
- 33.1 CreateJointBall
- 33.2 CreateJointHinge
- 33.3 CreateJointSlider
- 33.4 CreateJointCorkscrew
- 33.5 CreateJointUpVector
- 33.6 JointCollisionState
- 33.8 BallLimits
- 33.9 HingeLimit
- 33.10 SliderLimits
- 33.11 CorkScrewLinearLimits
- 33.12 CorkScrewAngularLimits
- Physics
- 34.0 World
- 34.1 WorldSize
- 34.2 WorldGravity
- 34.3 WorldMousePick
- 34.4 PhysicQuality
- Physics
- 35.0 Vehicles
- 35.1 CreateVehicle
- 35.2 VehicleSpeed
- 35.3 AddTire
- 35.4 ApplyBrake
- 35.5 ApplySteering
- 35.6 ApplyTorque
- 36.0 Time
- 36.1 TimeStart
- 36.2 TimeStop
- 36.3 TimeSpeed
- 36.4 GetTime
- 36.5 GetRealTime
- 37.0 Grass
- 37.1 AddGrasst
- 37.2 SetGrassDensity
- 37.3 SetGrassWind
- 37.4 GetGrassDrawCount
- 38.0 LensFlare
- 38.1 CreateLensFlare
- 38.2 SetFlareScale
- 39.0 Clouds
- 39.1 CreateClouds
- 40.0 BSP
- 40.1 LoadMeshBSP
- 40.2 CreateNodeBSPfromMeshBSP
- 40.3 StaticCollisionsBSP

Manual

1. Ninfa3D Lite 1.0g Documentation
Introduction
Welcome to the documentation of the Ninfa3D Lite. Here you will find all the information you need to develop applications with the. Ninfa3D Lite is designed to be easy to use, so this documentation is an important part of it. If you have any questions or suggestions, email the author of the engine:(viz_fuerte@mysticrealitystudio.comuv.com).
Documentation Ninfa3D version Lite © 2008-2009 by Viz_fuerte

2. FREEBASIC INSTALLATION
The installation of the Ninfa3D Lite is very simple, but you must follow certain steps:
1. Copy the file that you will find in the folder "inc", in another folder with the same name that exists in FreeBASIC's directory.
2. Copy all the libraries there are, in the folder "dll" , in the folder where you have your own project.
3. Inserts in the first line of the code of your project the line #include "ninfa3d.bi".
If any mistake goes out for you on having initiated your project or the examples, it is very possible that not this one installed in your system the library OpenAL v1.1.
If that is the case, run the file "OpenAL-Install-.exe" links at the outside of this folder.

3. Authors
AUTHOR
David - - Programmer/Project Lead
Location: Valencia (Spain);
David founded the project Ninfa3D Lite in December 2008, he designed and developed. Still in the style of the project, something simple, but completely straightforward. The engine came off the idea of using free development tools, with the intention that anyone can create any application with minimal effort. Also, also he is the webmaster and creator of the documentation.
E-Mail: viz_fuerte@mysticrealitystudio.comuv.com

José - - Advisor/Forum Admin
Location: Sevilla (Spain);
José joined the team in a crucial moment, which needed advice on the website and issues of error correction. In addition to advice, is the administrator of the forum. Your ideas and suggestions are essential to the Ninfa3D Lite be known as it is.
Website:http://www.virtual3d.net84.net/
E-Mail: josecm@mysticrealitystudio.comuv.com

Ian - - Programmer/Forum Moderator
Location: Scotland;
Ian is responsible for doing everything necessary to make the Ninfa3D can be used in BlitzMax.
Since the beginning of the Ninfa3D, has been interested in and that it could be used in other programming languages.
E-Mail: bigsofty@mysticrealitystudio.comuv.com

Updated to 1.0g version by nespa

E-mail: nespa2009@yahoo.com

CREDITS :

Many thanks to Irrlicht team, NewtonGameDynamics team, OpenAL team, FreeBasic team, their work is the base in creation of Ninfa3D engine.

4. Ninfa3D Lite License
Copyright 2008-2009 Viz_Fuerte. All rights reserved.
LIMITED WARRANTY
This software is provided "as-is", without any express or implied warranty.
In no event shall the author be held liable for any damages arising from the use of this software.
This is a contract. By accepting the Ninfa3D Lite (the SOFTWARE),
you (either an individual or a single entity, the LICENSEE) accept the terms and conditions of this licensing agreement.
If the LICENSEE does not accept the terms and conditions, then LICENSEE must not accept the SOFTWARE.
If at a later time the LICENSEE decides not to continue licensing the SOFTWARE under these terms and
conditions, then the LICENSEE must delete permanently all files constituting the SOFTWARE.
LICENSE AGREEMENT
Ninfa3D Lite Limited grants to the LICENSEE and the LICENSEE hereby accepts a perpetual
nontransferable and nonexclusive license to use and distribute the SOFTWARE, for any purpose.
In addition, the following conditions apply:
1) The LICENSEE may not use the SOFTWARE to reverse engineer the computer algorithm used by the SOFTWARE.
2) The origin of the SOFTWARE must not be misrepresented; If the LICENSEE uses the SOFTWARE to distribute
a product, the LICENSEE must not claim that He or She wrote the original SOFTWARE.
3) The LICENSEE agrees to credit the use of the Ninfa3D Lite in any program information,
including credit screens, "About" dialogs, program notes or instructions and shrink-wrapped packaging.
4) The LICENSEE may not redistribute the SOFTWARE, except as part of a compiled software program.
5) The LICENSEE agrees to notify www.mysticrealitystudio.comuv.com of any products, commercial, shareware or free
that incorporate the Ninfa3D Lite technology.

COMMAND CreateCamera
SYNTAX Freebasic: CreateCamera( ) As nCAMERA
PARAMETERS • None.
DESCRIPTION It creates a simple camera. To move this camera, you have to use the commands of movement.
EXAMPLE Freebasic:
         Dim As nCAMERA camera = CreateCamera( )

COMMAND CreateCameraFPS
SYNTAX Freebasic: CreateCameraFPS( srot As single, smov As single ) As nCAMERA
PARAMETERS • srot - Velocity of rotation. • smov - Velocity of movement.
DESCRIPTION It creates a camera very similar to the games FPS. This camera only can be rotated by the mouse and move with the arrows of the keyboard. To define the keys of control of the keyboard, use the command.
EXAMPLE Freebasic:
         Dim As nCAMERA camera = CreateCameraFPS( 100.0, 0.5 )

COMMAND CreateCameraMAYA
SYNTAX Freebasic: CreateCameraMAYA( srot As single, szom As single, smov As single ) As nCAMERA
PARAMETERS • srot - Velocity of rotation. • szom - Velocity of zoom. • smov - Velocity of movement.
DESCRIPTION It creates a camera very similar to that of program of modeling Maya. The camera is controlled totally by the mouse: • Left Button - Rotated the camera. • Centre Button - Zoom.
• Right Button - Moves the camera.

EXAMPLE Freebasic:
         Dim As nCAMERA camera = CreateCameraMAYA( 100.0, 100.0, 100.0 )

COMMAND CreateCameraIsometric
SYNTAX Freebasic: CreateCameraIsometric(width As Single, height As Single, near As Single, far As Single) As nCAMERA
PARAMETERS • width – with of vision • height – height of vision • near – near of vision • far – far of vision
DESCRIPTION It creates a camera very similar to that of program of modeling Maya. The camera is controlled totally by the mouse: • Left Button - Rotated the camera. • Centre Button - Zoom.
• Right Button - Moves the camera.

EXAMPLE Freebasic:
         Dim As nCAMERA camera = CreateCameraMAYA( 100.0, 100.0, 100.0 )

COMMAND CameraTarget
SYNTAX Freebasic: CameraTarget( camera As nCAMERA, x As single, y As single, z As single )
PARAMETERS • camera - Name of the camera. • x - X-coordinate position. • y - Y-coordinate position. • z - Z-coordinate position.
DESCRIPTION Point the camera at a specific position in 3D space.
EXAMPLE Freebasic:
         CameraTarget( camera01, 50.0, 75.0, 100.0 )

COMMAND CameraAspectRatio
SYNTAX Freebasic: CameraAspectRatio ( camera As nCAMERA, aspect As single )
PARAMETERS • camera - Name of the camera. • aspect – Aspect Ratio.
DESCRIPTION Change the aspect ratio of the viewport.
EXAMPLE Freebasic:
        CameraAspectRatio ( camera01, 1.0 )

COMMAND CameraFOV
SYNTAX Freebasic: CameraFOV( camera As nCAMERA, fovy As single )
PARAMETERS • camera - Name of the camera. • fovy - Field of view.
DESCRIPTION Change the viewing angle of the camera (zoom).
EXAMPLE Freebasic:
         CameraFOV( camera01, 2.0 )

COMMAND ActiveCamera
SYNTAX Freebasic: ActiveCamera( camera As nCAMERA )
PARAMETERS • camera - Name of the camera.
DESCRIPTION Active the vision of the camera to display the 3D environment.
EXAMPLE Freebasic:
         ActiveCamera( camera01 )

COMMAND CameraViewPort
SYNTAX Freebasic: CameraViewPort( width As integer, height As integer )
PARAMETERS • width - Anchura de visión de la cámara. • height - Altura de visión de la cámara.
DESCRIPTION Cambia el área de visión de la cámara.
EXAMPLE Freebasic:
         CameraViewPort( 320, 240 )

COMMAND CameraRange
SYNTAX Freebasic: CameraRange( camera As nCAMERA, near As single, far As single )
PARAMETERS • camera - Name of the camera. • near - Minimal range of vision. • far - Maximum range of vision.
DESCRIPTION It changes the minimal and maximum range of vision of the camera.
EXAMPLE Freebasic:
         CameraRange( camera01, 0.1, 1000.0 )

COMMAND CameraPick
SYNTAX Freebasic: CameraPick( x As integer, y As integer ) As nENTITY
PARAMETERS • x - X-Coordinate of the screen. • y - Y-Coordinate of the screen.
DESCRIPTION Return the entity that is placed in the specific coordinates of the screen.
EXAMPLE Freebasic:
         Dim As nENTITY mesh02 = CameraPick( 320, 240 )

COMMAND ViewPortWidth
SYNTAX Freebasic: ViewPortWidth( ) As integer
PARAMETERS • None.
DESCRIPTION Return the width of the field of vision of the camera.
EXAMPLE Freebasic:

COMMAND ViewPortHeight
SYNTAX Freebasic: ViewPortHeight( ) As integer
PARAMETERS • None.
DESCRIPTION Return the height of the field of vision of the camera.
EXAMPLE Freebasic:

COMMAND TargetX
SYNTAX Freebasic: TargetX(camera As nCAMERA ) As single
PARAMETERS • camera – active camera
DESCRIPTION Return the position X of the pointer of the camera.
EXAMPLE Freebasic:

COMMAND TargetY
SYNTAX Freebasic: TargetY(camera As nCAMERA ) As single
PARAMETERS • camera – active camera
DESCRIPTION Return the position Y of the pointer of the camera.
EXAMPLE Freebasic:

COMMAND TargetZ
SYNTAX Freebasic: TargetZ(camera As nCAMERA ) As single
PARAMETERS • camera – active camera
DESCRIPTION Return the position Z of the pointer of the camera.
EXAMPLE Freebasic:

COMMAND FadeIn
SYNTAX Freebasic: FadeIn( time As integer )
PARAMETERS • time - Time of fader.
DESCRIPTION Begin the process of melt. At the beginning of the display is color (black by default) and when given time passes, is fading slowly.
EXAMPLE Freebasic:

COMMAND FadeOut
SYNTAX Freebasic: FadeOut( time As integer )
PARAMETERS • time - Time of fader.
DESCRIPTION Begin the process of melt. At first the whole screen is visible as time passes since the color is slowly darkening.
EXAMPLE Freebasic:

COMMAND FaderColor
SYNTAX Freebasic: FadeColor( red As uinteger, green As uinteger, blue As uinteger )
PARAMETERS • red - Red color. • green - Green color. • Blue - Blue color.
DESCRIPTION It establishes the color of the fading.
EXAMPLE Freebasic:

COMMAND FadeIsReady
SYNTAX Freebasic: FadeIsReady( ) As integer
PARAMETERS • None.
DESCRIPTION Return 1 if the fading is in process.
EXAMPLE Freebasic:

COMMAND EntityAlpha
SYNTAX Freebasic: EntityAlpha( entity As nENTITY, level As single )
PARAMETERS • entity - Name of the entity. • level - Level of the transparence.
DESCRIPTION This command is used to change the level of transparency of a entity.
EXAMPLE Freebasic:

COMMAND ShowEntity
SYNTAX Freebasic: ShowEntity( entity As nENTITY )
PARAMETERS • entity - Name of the entity.
DESCRIPTION Show a entity that has been previously hide.
EXAMPLE Freebasic:
         ShowEntity( mesh01 )

COMMAND HideEntity
SYNTAX Freebasic: HideEntity( entity As nENTITY )
PARAMETERS • entity - Name of the entity.
DESCRIPTION Hide a entity that has been previously show.
EXAMPLE Freebasic:
         HideEntity( mesh01 )

COMMAND DeleteEntity
SYNTAX Freebasic: DeleteEntity( entity As nENTITY )
PARAMETERS • entity - Name of the entity.
DESCRIPTION Removes and frees entity 3D environment.
EXAMPLE Freebasic:
         DeleteEntity( sprite01 )

COMMAND EntityParent
SYNTAX Freebasic: EntityParent( entity As nENTITY, parent As nENTITY )
PARAMETERS • entity - Name of the entity. • parent - Name of the parent.
DESCRIPTION Entity ties to a parent (another entity).
EXAMPLE Freebasic:
         EntityParent( mesh01, light01 )

COMMAND EntityTexture
SYNTAX Freebasic: EntityTexture( entity As nENTITY, texture As nTEXTURE, index As uinteger )
PARAMETERS • entity - Name of the entity. • texture - Name of the texture • index - Index of the texture ( see EntityType).
DESCRIPTION Apply a texture to a entity. The layers are used to assign a texture to a specific index , to make multi-textured.
EXAMPLE Freebasic:
         EntityTexture( mesh01, texture01, 0 )

COMMAND NameEntity
SYNTAX Freebasic: NameEntity( entity As nENTITY, name As zstring ptr )
PARAMETERS • entity - Name of the entity. • name - assigned Name.
DESCRIPTION Assign a name to a entity.
EXAMPLE Freebasic:
         NameEntity( mesh01, "House" )

COMMAND CopyEntity
SYNTAX Freebasic: CopyEntity( entity As nENTITY ) As nENTITY
PARAMETERS • entity - Name of the entity.
DESCRIPTION It creates a copy of an entity.
EXAMPLE Freebasic:
         Dim As nMESH copyMesh = CopyEntity( mesh01 )

COMMAND EntityColor
SYNTAX Freebasic: EntityColor( entity As nENTITY, red As uinteger, green As uinteger, blue As uinteger )
PARAMETERS • entity - Name of the entity. • red - Red color. • green - Green color. • blue - Blue color.
DESCRIPTION Change the color of the entity.
EXAMPLE Freebasic:
         EntityColor( mesh02, 0, 128, 0 )

COMMAND EntityFlag
SYNTAX Freebasic: EntityFlag( entity As nENTITY, flag As integer, mode As integer )
PARAMETERS • entity - Name of the entity. • flag - Effect type. • mode - Mode (enable\disable; 1 or 0).
DESCRIPTION It applies effects to an entity. The effects can be: • MF_WIREFRAME - This will show the outline of every polygon of the entity on the screen. • MF_POINTCLOUD - This to show the outline by means of drawing points, of every polygon of the entity on the screen.
• MF_FLAT - It does that the polygons of the entity prove to be flat, without smoothness.
• MF_FULLBRITGH - Activating this, the light will affect to the entity (for defect). If it is deactivated, the entity will always prove to be brilliant and the light will not affect him.
• MF_ZBUFFER - Enable\disable the Z-buffer for this entity (by defect it is enable).
• MF_ZWRITER - Enable\disable the writing in the Z-buffer for this entity (by defect it is enable).
• MF_BACKFACE - Show the back face of the triangles.
• MF_FRONTFACE - Show the front face of the triangles.
• MF_FOG - Enable\disable the fog for this entity.
• MF_NORMALIZE - Nomaliza the normal ones of an entity. This does it automatically on having changed size a mesh.

EXAMPLE Freebasic:

COMMAND EntityType
SYNTAX Freebasic: EntityType( entity As nENTITY, type As integer )
PARAMETERS • entity - Name of the entity. • type - Effect type.
DESCRIPTION Sets the type of material of the entity. Type of material: • MT_SOLID - The material will be normal, with no effects. • MT_LIGHTMAP - Type material with light mapping technique. Must be two textures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
• MT_DETAILMAP - Details of the material. The first texture is a diffuse color map, the second is added to this sample and in a larger size it adds more detail.
• MT_SPHEREMAP - Causes the appearance of the material as if to reflect the environment around them. To make this possible, you should use a texture called "spherical mapping", which should be established as the first texture.
• MT_REFLECTIONMAP - Is a mapping that reflects an option that does not reflect the additional layer of texture. The reflection map is set as the first texture.
• MT_ALPHAMAP ADD- Makes the material transparent based on the texture alpha channel. The final color is blended from the destination color and texture, using the alpha channel value as blend factor. Only the first is used as texture, the second is to give transparency.

• MT_ALPHAMAP
• MT_NORMALMAP - With this command to create the surface mesh of a certain reliebe. Is a technique, using light, can simulate a texture in relief, giving impression of depth or roughness to an object that originally was just a plain color.
• MT_PARALLAXMAP - Is a technique very similar to NormalMap, but improved through the use of light creates a highly realistic in texture, giving impression of depth or roughness to an object that originally was just a plain color.

Material type | Index 0 | Index 1 | Index 2
Solid | Diffuse map | None. | None.
Light Mapping | Diffuse map | Light map | None.
Detail Mapping | Diffuse map | Detail map | None.
Sphere Mapping | Diffuse map | Sphere map | None.
Reflection Mapping | Diffuse map | Reflection map | None.
Alpha Mapping Add | Diffuse map | Alpha map | None.
Alpha Mapping | Diffuse map | Alpha map | None.
Normal Mapping | Diffuse map | Normal map | None.
Parallax Mapping | Diffuse map | Normal map | Height map

EXAMPLE Freebasic:

COMMAND EntityShininess
SYNTAX Freebasic: EntityShininess( entity As nENTITY, level As single )
PARAMETERS • entity - Name of the entity. • level - Level of specular.
DESCRIPTION Adjust the specular brightness of a entity.
EXAMPLE Freebasic:

COMMAND PositionEntity
SYNTAX Freebasic: PositionEntity( entity As nENTITY, x As single, y As single, z As single )
PARAMETERS • entity - Name of the entity. • x - X-coordinate of World space • y - Y-coordinate of World space • z - Z-coordinate of World space
DESCRIPTION Position a entity in a absolute position in 3D space.
EXAMPLE Freebasic:
         PositionEntity( camera01, 75.0, 20.0, 100.0 )

COMMAND RotateEntity
SYNTAX Freebasic: RotateEntity( entity As nENTITY, x As single, y As single, z As single )
PARAMETERS • entity - Name of the entity. • x - X-angle. • y - Y-angle. • z - Z-angle.
DESCRIPTION Rotate entity in a way axis in 3D space.
EXAMPLE Freebasic:
         RotateEntity( mesh01, 0.0, 45.0, 0.0 )

COMMAND MoveEntity
SYNTAX Freebasic: MoveEntity( entity As nENTITY, x As single, y As single, z As single )
PARAMETERS • entity - Name of the entity. • x - Move X-coordinate. • y - Move Y-coordinate. • z - Move Z-coordinate.
DESCRIPTION Moving entity in relation to its current position and orientation relative to local axes .
EXAMPLE Freebasic:
         MoveEntity( mesh01, 2.0, 0.0, 0.0 )

COMMAND TurnEntity
SYNTAX Freebasic: TurnEntity( entity As nENTITY, x As single, y As single, z As single )
PARAMETERS • entity - Name of the entity. • x - Turn X-angle. • y - Turn Y-angle. • z - Turn Z-angle.
DESCRIPTION Turn a entity in relation to its current orientation relative to local axes.
EXAMPLE Freebasic:
         TurnEntity( mesh01, 0.0, 5.0, 0.0 )

COMMAND PointEntity
SYNTAX Freebasic: PointEntity( entity1 As nENTITY, entity2 As nENTITY )
PARAMETERS • entity1 - Name of the first entity. • entity2 - Name of the second entity.
DESCRIPTION Entity points to other entity.
EXAMPLE Freebasic:
         PointEntity( mesh01, light01 )

COMMAND EntityX
SYNTAX Freebasic: EntityX( entity As nENTITY ) As single
PARAMETERS • entity - Name of the entity.
DESCRIPTION Returns the X-coordinate of the entity.
EXAMPLE Freebasic:
         Dim As single posX = EntityX( mesh01 )

COMMAND EntityY
SYNTAX Freebasic: EntityY( entity As nENTITY ) As single
PARAMETERS • entity - Name of the entity.
DESCRIPTION Returns the Y-coordinate of the entity.
EXAMPLE Freebasic:
         Dim As single posY = EntityY( mesh01 )

COMMAND EntityZ
SYNTAX Freebasic: EntityZ( entity As nENTITY ) As single
PARAMETERS • entity - Name of the entity.
DESCRIPTION Returns the Z-coordinate of the entity.
EXAMPLE Freebasic:
         Dim As single posZ = EntityZ( mesh01 )

COMMAND EntityPitch
SYNTAX Freebasic: EntityPitch( entity As nENTITY ) As single
PARAMETERS • entity - Name of the entity.
DESCRIPTION Returns the X-angle of the entity.
EXAMPLE Freebasic:
         Dim As single rotX = EntityPitch( mesh01 )

COMMAND EntityYaw
SYNTAX Freebasic: EntityYaw( entity As nENTITY ) As single
PARAMETERS • entity - Name of the entity.
DESCRIPTION Returns the Y-angle of the entity.
EXAMPLE Freebasic:
         Dim As single rotY = EntityYaw( mesh01 )

COMMAND EntityRoll
SYNTAX Freebasic: EntityRoll( entity As nENTITY ) As single
PARAMETERS • entity - Name of the entity.
DESCRIPTION Returns the Z-angle of the entity.
EXAMPLE Freebasic:
         Dim As single rotZ = EntityRoll( mesh01 )

COMMAND EntityName
SYNTAX Freebasic: EntityName( entity As nENTITY ) As zstring ptr
PARAMETERS • entity - Name of the entity.
DESCRIPTION Returns the name of a entity.
EXAMPLE Freebasic:
         Dim As zstring ptr nameMesh = EntityName( mesh01 )

COMMAND LinePick
SYNTAX Freebasic: LinePick( x1 As single, y1 As single, z1 As single, x2 As single, y2 As single, z2 As single ) As nMESH
PARAMETERS • x1,y1.z1 - line start. • x2,y2,z2 – line end.
DESCRIPTION Return the distance that exists between two entities.
EXAMPLE Freebasic:
         Dim As single distance = EntityDistance( mesh01, mesh02 )

COMMAND EntityDistance
SYNTAX Freebasic: EntityDistance(entity1 As nENTITY, entity2 As nENTITY ) As Single
PARAMETERS • entity1- name of 1’st entity. • entity2– name of 2’nd entity.
DESCRIPTION Return the distance that exists between two entities.
EXAMPLE Freebasic:
         Dim As single distance = EntityDistance( mesh01, mesh02 )

COMMAND ChangeDirectory
SYNTAX Freebasic: ChangeDirectory( directory As zstring ptr )
PARAMETERS • directory - Directory name.
DESCRIPTION Change the address of the current directory.
EXAMPLE Freebasic:

COMMAND ExistFile
SYNTAX Freebasic: ExistFile( file As zstring ptr )
PARAMETERS • file - File Name.
DESCRIPTION Returns 1 if the file exists, if the file does not exist return 0.
EXAMPLE Freebasic:

COMMAND LoadZip
SYNTAX Freebasic: LoadZip(file As ZString ptr)
PARAMETERS • file – name of .pq3 file archive.
DESCRIPTION Load a .pq3 archive in memory.
EXAMPLE Freebasic:

COMMAND LoadScene
SYNTAX Freebasic: LoadScene(file As ZString ptr)
PARAMETERS • file – name of .irr file before saved.
DESCRIPTION Load a .irr scene.
EXAMPLE Freebasic:

COMMAND SaveScene
SYNTAX Freebasic: SaveScene(file As ZString ptr)
PARAMETERS • file – name of .irr file to save.
DESCRIPTION Save a .irr scene on disk.
EXAMPLE Freebasic:

Don’t use !!!

COMMAND FileRead
SYNTAX Freebasic: FileRead( file As zstring ) As nREAD
PARAMETERS • file - File Name.
DESCRIPTION Load a file to read it.
EXAMPLE Freebasic:

Don’t use !!!

COMMAND ReadINT
SYNTAX Freebasic: ReadINT( f_read As nREAD ) As integer
PARAMETERS • f_read - filename to read.
DESCRIPTION Once you have opened a file on the disk to read, use this command to read an INT value of the file.
EXAMPLE Freebasic:

Don’t use !!!

COMMAND ReadFLOAT
SYNTAX Freebasic: ReadFLOAT( f_read As nREAD ) As single
PARAMETERS • f_read - filename to read.
DESCRIPTION Once you have opened a file on the disk to read, use this command to read an FLOAT value of the file.
EXAMPLE Freebasic:

Don’t use !!!

COMMAND ReadCHAR
SYNTAX Freebasic: ReadCHAR( f_read As nREAD ) As zstring ptr
PARAMETERS • f_read - filename to read.
DESCRIPTION Once you have opened a file on the disk to read, use this command to read an CHAR value of the file.
EXAMPLE Freebasic:

Don’t use !!!

COMMAND CloseRead
SYNTAX Freebasic: CloseRead( f_read As nREAD )
PARAMETERS • f_read - filename to read.
DESCRIPTION Use this command to close a file previously opened. You should always close a file when you finish reading or writing it.
EXAMPLE Freebasic:

Don’t use !!!

COMMAND FileWrite
SYNTAX Freebasic: FileWrite( file As zstring ptr ) As nWRITE
PARAMETERS • file - File Name.
DESCRIPTION Load a file to write to the.
EXAMPLE Freebasic:

Don’t use !!!

COMMAND WriteINT
SYNTAX Freebasic: WriteINT( f_write As nWRITE )
PARAMETERS • f_write - File Name to write.
DESCRIPTION Once you have opened a file on the disk for writing, use this command to write a INT to the file.
EXAMPLE Freebasic:

Don’t use !!!

COMMAND WriteFLOAT
SYNTAX Freebasic: WriteFLOAT( f_write As nWRITE )
PARAMETERS • f_write - File Name to write.
DESCRIPTION Once you have opened a file on the disk for writing, use this command to write a FLOAT to the file.
EXAMPLE Freebasic:

Don’t use !!!

COMMAND WriteCHAR
SYNTAX Freebasic: WriteCHAR( f_write As nWRITE )
PARAMETERS • f_write - File Name to write.
DESCRIPTION Once you have opened a file on the disk for writing, use this command to write a CHAR to the file.
EXAMPLE Freebasic:

Don’t use !!!

COMMAND CloseWrite
SYNTAX Freebasic: CloseWrite( f_write As nWRITE )
PARAMETERS • f_write - filename to write.
DESCRIPTION Use this command to close a file previously opened. You should always close a file when you finish reading or writing it.
EXAMPLE Freebasic:

COMMAND EnableVsync
SYNTAX Freebasic: EnableVsync( )
PARAMETERS • None.
DESCRIPTION Active synch vertical. Synchronizes this scene is rendered to maintain some FPS (frames per second) achieved.
EXAMPLE Freebasic:
         EnableVsyinc( )
         InitEngine( 640, 480, 32, 0 )

COMMAND EnableAntialias
SYNTAX Freebasic: EnableAntialias()
PARAMETERS • None.
DESCRIPTION Turns on antialiasing. Antialiasing is a technique used to smooth the entire screen, so that the edges of polygons are less noticeable. Note: You will need to activate antialiasing before starting the engine.
EXAMPLE Freebasic:
         EnableAntialias()
         InitEngine( 640, 480, 32, 0 )

COMMAND AmbientLight
SYNTAX Freebasic: AmbientLight( red As uinteger, green As uinteger, blue As uinteger )
PARAMETERS • red - Red color. • green - Green color. • Blue - Blue color.
DESCRIPTION Sets the color of ambient light. Ambient light is a light source that affects all points in a 3D object equally.
EXAMPLE Freebasic:
         AmbientLight( 64, 64, 64 )

COMMAND BackGroundColor
SYNTAX Freebasic: BackGroundColor( red As uinteger, green As uinteger, blue As uinteger )
PARAMETERS • red - Red color. • green - Green color. • Blue - Blue color.
DESCRIPTION Set the background color of the screen.
EXAMPLE Freebasic:
         BackGroundColor( 128, 128, 128 )

COMMAND TrisRendered
SYNTAX Freebasic: TrisRendered( ) As integer
PARAMETERS • None.
DESCRIPTION Returns the number of triangles represented by the camera. Useful for debugging purposes - to see if you are showing, many, little or polygons.
EXAMPLE Freebasic:

COMMAND Fps
SYNTAX Freebasic: Fps( ) As integer
PARAMETERS • None.
DESCRIPTION Returns the number of frames per second.
EXAMPLE Freebasic:

COMMAND InitEngine
SYNTAX Freebasic: InitEngine( widht As integer, height As integer, depth As integer, mode As integer )
PARAMETERS • width - Width of the screen. • height - Height of the screen. • depth - Bit depth. • mode - Mode.
DESCRIPTION Starts the Ninfa3D engine. The names correspond to width and height resolution of the window. The resolution must be compatible with the 3D card. Depth sets the color mode of the screen, which can be 16, 24 bits or 32. The display modes are:
• 0 - Window mode.
• 1 - Full screen mode.

EXAMPLE Freebasic:
         InitEngine( 640, 480, 32, 0 )

COMMAND BeginScene
SYNTAX Freebasic: BeginScene( )
PARAMETERS • None.
DESCRIPTION Starts the rendering of the scene.
EXAMPLE Freebasic:
         While( RunEngine )
                  BeginScene( )
                  UpdateEngine( 0 )
                  EndScene( )
         Wend

COMMAND UpdateEngine
SYNTAX Freebasic: UpdateEngine( time As single )
PARAMETERS • time - Time to update the scene .
DESCRIPTION Updates throughout the engine. The value "Time" only works on physics, so changing the value of "time" any action that has to do with physics will make it faster or slower depending on the value you get.
EXAMPLE Freebasic:
         While( RunEngine )
                  BeginScene( )
                  UpdateEngine( 0.05 )
                  EndScene( )
         Wend

COMMAND EndScene
SYNTAX Freebasic: EndScene( )
PARAMETERS • None.
DESCRIPTION Finish rendering the scene.
EXAMPLE Freebasic:
         While( RunEngine )
                  BeginScene( )
                  UpdateEngine( 0 )
                  EndScene( )
         Wend

COMMAND EndEngine
SYNTAX Freebasic: EndEngine( )
PARAMETERS • None.
DESCRIPTION Ends around the engine, release all entities and closes it.
EXAMPLE Freebasic:
         While( RunEngine )
                  BeginScene( )
                  UpdateEngine( 0 )
                  EndScene( )
         Wend
         EndEngine( )

COMMAND CloseEngine
SYNTAX Freebasic: CloseEngine( )
PARAMETERS • None.
DESCRIPTION closes the device.
EXAMPLE Freebasic:

COMMAND Collisions
SYNTAX Freebasic: Collisions( mesh As nMESH, entity As nENTITY, mode As integer)
PARAMETERS • mesh - Name of the mesh. • entity - Name of the entity. • mode - Mode of collision.
DESCRIPTION Create a body of the mesh selected for collision. Modes of collision: • 0 - Collision box. Creates a collision which reacts as if it had a net cash rodeandola. • 1 - Collision by triangles. Creates a reactive collision around the triangles of the mesh.
• 2 - Tree collisions.
• 3 - Collision terrain. Collision creates a special land.

Obs. For BSP collisions you have another command (see BSP)

EXAMPLE Freebasic:
         Collisions( terrain, camera, 3 )

COMMAND ScreenShot
SYNTAX Freebasic: ScreenShot( )
PARAMETERS • None.
DESCRIPTION Creates an whole screen and the save in a file of image.
EXAMPLE Freebasic:

COMMAND Fog
SYNTAX Freebasic: Fog( red As uinteger, green As uinteger, blue As uinteger, density As single )
PARAMETERS • red - Red color. • green - Green color. • Blue - Blue color. • density - Density of the fog.
DESCRIPTION Change the color and the density of the fog. The density acts by increasing the vision of the fog about the camera.
EXAMPLE Freebasic:
         Fog( 128, 128, 128, 0.003 )

COMMAND ShadowColor
SYNTAX Freebasic: ShadowColor (r As UInteger,g As UInteger,b As UInteger,a As UInteger)
PARAMETERS • r - Red color. • g - Green color. • b - Blue color. • a – Alpha
DESCRIPTION Change the color and the density of the cast shadow.
EXAMPLE Freebasic:

COMMAND LightCount
SYNTAX Freebasic: LightCount () As UI
PARAMETERS • none
DESCRIPTION Returns the number of lights.
EXAMPLE Freebasic:

COMMAND PrimitiveCount
SYNTAX Freebasic: PrimitiveCount () As I
PARAMETERS • none
DESCRIPTION Returns the number of primitives.
EXAMPLE Freebasic:

COMMAND BodyCount
SYNTAX Freebasic: BodyCount () As UI
PARAMETERS • none
DESCRIPTION Returns the number of bodies.
EXAMPLE Freebasic:

COMMAND CreateSkyDome
SYNTAX Freebasic: CreateSkyDome(texture As nTEXTURE, radius as Single) As nENTITY
PARAMETERS • texture • radius (take care to have camera range greater than radius of skydome)
DESCRIPTION Creates a skydome.
EXAMPLE Freebasic:

COMMAND CreateSkyBox
SYNTAX Freebasic: CreateSkyBox(tp As nTEXTURE,bt As nTEXTURE,lf As nTEXTURE,rg As nTEXTURE,ft As nTEXTURE,bk As nTEXTURE) As nENTITY
PARAMETERS • tp – top texture • bt-bottom, lf-left, rg-right, ft-front, bk-back
DESCRIPTION Creates a sky box from 6 textures.
EXAMPLE Freebasic:

COMMAND Transparency
SYNTAX Freebasic: Transparency( level As uinteger )
PARAMETERS • level - Level of transparency.
DESCRIPTION Change the transparency level of any graphic in 2D, both lines, text ...
EXAMPLE Freebasic:
         Transparency( 100 )

COMMAND Colors
SYNTAX Freebasic: Colors( red As uinteger, green As uinteger, blue As uinteger )
PARAMETERS • red - Red color. • green - Green color. • blue - Blue color.
DESCRIPTION Change the color of any graphic in 2D, both lines, text ...
EXAMPLE Freebasic:
         Colors( 0, 0, 255 )

COMMAND Rect2D
SYNTAX Freebasic: Rect2D( x As integer, y As integer, width As integer, height As integer )
PARAMETERS • x - X-Coordinate on the screen. • y - Y-Coordinate on the screen. • width - Width of the rectangle. • height - Height of the rectangle.
DESCRIPTION Draw a rectangle on the screen. To change the color and transparency of the rectangle, use the commands Colors and Transparency.
EXAMPLE Freebasic:
         Rect2D( 320, 240, 100, 100 )

COMMAND Line2D
SYNTAX Freebasic: Line2D( x1 As integer, y1 As integer, x2 As integer, y2 As integer )
PARAMETERS • x1 - X-Coordinate of the beginning. • y1 - Y-Coordinate of the beginning. • x2 - X-Coordinate of the final. • y2 - Y-Coordinate of the final.
DESCRIPTION Draw a line on the screen. To change the color and transparency of the line, use the commands Colors and Transparency.
EXAMPLE Freebasic:
         Line2D( 10, 10, 200, 200 )

COMMAND Image
SYNTAX Freebasic: Image( texture As nTEXTURE, x As integer, y As integer )
PARAMETERS • texture - Name of the texture • x - X-Coordenada en la pantalla. • y - Y-Coordenada en la pantalla.
DESCRIPTION Draw a image that has been previously loaded with the command LoadTexture. To change the color and transparency of the image, use the commands Colors and Transparency.
EXAMPLE Freebasic:
         Image( texture01, 200, 200 )

COMMAND Line3D
SYNTAX Freebasic: Line3D(x1 As single,y1 As single,z1 As single,x2 As single,y2 As single,z2 As single,thickness As single,Alpha As Uinteger,Red As Uinteger,Green As Uinteger,Blue As Uinteger)
PARAMETERS • x1 - X-Coordinate of the beginning. • y1 - Y-Coordinate of the beginning. • z1 - Z-Coordinate of the beginning. • x2 - X-Coordinate of the final.
• y2 - Y-Coordinate of the final.

• z2 - Z-Coordinate of the final.

• thickness – kine thickness.

• Alpha,Red,Green,Blue – the color and alpha(transparency)

DESCRIPTION Draw a line in 3D space.
EXAMPLE Freebasic:

COMMAND Oval
SYNTAX Freebasic: Oval (x As Integer,y As Integer,Radius As single)
PARAMETERS • x – X of origin. • y – Y of origin. • Radius – Radius.
DESCRIPTION Draw a circle2D on the screen To change the color and transparency of the image, use the commands Colors and Transparency.
EXAMPLE Freebasic:

COMMAND ImageSprites2D
SYNTAX Freebasic: ImageSprites2D (texture As nTEXTURE,x As Integer,y As Integer,TX As Integer,TY As Integer,_ BX As Integer,BY As Integer)
PARAMETERS • texture - Name of the texture • x – X position of sprite2D on the screen. • y – Y position of sprite2D on the screen. • TX – X start of sprite2D in texture.

• TY – Y start of sprite2D in texture.

•BX – X end of sprite2D in texture.

• BY – Y end of sprite2D in texture.

DESCRIPTION Crop a sprite2D from a loaded texture and draws to screen. To change the color and transparency of the sprite2D , use the commands Colors and Transparency.
EXAMPLE Freebasic:

COMMAND Pixel
SYNTAX Freebasic: Pixel( x As integer, y As integer )
PARAMETERS • x - X-Coordinate in the screen. • y - Y-Coordinate in the screen.
DESCRIPTION Draw a pixel in the screen. To change the color and transparency of pixel, use the commands Colors and Transparency.
EXAMPLE Freebasic:
         Pixel( 20, 50 )

COMMAND KeyDown
SYNTAX Freebasic: KeyDown( key As integer ) As integer
PARAMETERS • key - Key press.
DESCRIPTION It is used to detect if a key is pressed. This command returns a 0 if the key is not pressed, 1 if one is still holding.
EXAMPLE Freebasic:

COMMAND KeyHit
SYNTAX Freebasic: KeyHit( key As integer ) As integer
PARAMETERS • key - Key press.
DESCRIPTION It is used to detect if a key is pressed. This command returns a 0 if the key is not pressed, 1 if one is pressed.
EXAMPLE Freebasic:

COMMAND MoveMouse
SYNTAX Freebasic: MoveMouse( x As integer, y As integer )
PARAMETERS • x - X-Coordinate in the screen. • y - Y-Coordinate in the screen.
DESCRIPTION Change the position of the pointer on the screen.
EXAMPLE Freebasic:

COMMAND MouseDown
SYNTAX Freebasic: MouseDown( button As integer ) As integer
PARAMETERS • button - buttons to press.
DESCRIPTION It is used to detect if a mouse button is pressed. This command returns a 0 if the button is not pressed, 1 if one is held down.
EXAMPLE Freebasic:

COMMAND MouseHit
SYNTAX Freebasic: MouseHit( button As integer ) As integer
PARAMETERS • button - buttons to press.
DESCRIPTION It is used to detect if a mouse button is pressed. This command returns a 0 if the button is not pressed, 1 if one is pressed.
EXAMPLE Freebasic:

COMMAND MouseX
SYNTAX Freebasic: MouseX( ) As integer
PARAMETERS • None.
DESCRIPTION Returns the X position of the cursor on the screen.
EXAMPLE Freebasic:

COMMAND MouseY
SYNTAX Freebasic: MouseY( ) As integer
PARAMETERS • None.
DESCRIPTION Returns the Y position of the cursor on the screen.
EXAMPLE Freebasic:

COMMAND MouseWheel
SYNTAX Freebasic: MouseWheel( ) As integer
PARAMETERS • None.
DESCRIPTION Returns -1 if the mouse wheel is moving backwards, 0 if not moved, and 1 if it is moving forward.
EXAMPLE Freebasic:

COMMAND ShowMouse
SYNTAX Freebasic: ShowMouse( )
PARAMETERS • None.
DESCRIPTION Displays a cursor that was previously hidden.
EXAMPLE Freebasic:

COMMAND HideMouse
SYNTAX Freebasic: HideMouse( )
PARAMETERS • None.
DESCRIPTION Hides a cursor that has been previously shown.
EXAMPLE Freebasic:

COMMAND CreateLight
SYNTAX Freebasic: CreateLight( type As LIGHT_TYPE ) As nLIGHT
PARAMETERS • type - Type of light.
DESCRIPTION Creates a light. The light does affect the color of all vertices within its range. You need to create at least one light if you want to use 3D graphics, but everything appears flat. Types of lights: • LGT_DIRECTIONAL - This works like a sun. The sides are illuminated in the same way across its surface (with the same intensity) and brightness of the face depends on the degree of inclination of the rays of light. The lenses are the position and radius infinite infinity.
• LGT_POINT - This works like a light bulb, emits rays in all directions and gradually lose intensity with distance.
• LGT_SPOT - This works like a light bulb or a flashlight. It begins with an interior angle of light, and then extends into an external angle of light. You can adjust the angles of this type of light with the LightConeAngles.

EXAMPLE Freebasic:
         Dim As nLIGHT light01 = CreateLight( LGT_POINT  )

COMMAND LightRadius
SYNTAX Freebasic: LightRadius( light As nLIGHT, radius As single )
PARAMETERS • light - Name of light. • radius - Radius of the light.
DESCRIPTION All that is within the radius of the light will illuminate. Everything outside the scope of the light is not affected by it.
EXAMPLE Freebasic:
         LightRadius( light01, 256.0 )

COMMAND LightCastShadow
SYNTAX Freebasic: LightCastShadow( light As nLIGHT )
PARAMETERS • light - Name of light.
DESCRIPTION Makes the light cast shadows on objects that are activated
EXAMPLE Freebasic:
         LightCastShadow( light01 )

COMMAND LightConeAngles
SYNTAX Freebasic: LightConeAngles( light As nLIGHT, inside As single, outside As single )
PARAMETERS • light - Name of light. • inside – angle of the inner cone. • outside - angle of the outer cone.
DESCRIPTION Sets the width of the interior and exterior angle of the cone.
EXAMPLE Freebasic:
          LightConeAngles( light01, 30.0, 60.0 )

COMMAND LightFalloff
SYNTAX Freebasic: LightFalloff( light As nLIGHT, decrease As single )
PARAMETERS • light - Name of light. • decrease - Level of decline of the light cone.
DESCRIPTION Changing the value of "decline" can decrease the intensity between exterior and interior of the cone of light.
EXAMPLE Freebasic:
         LightFalloff( light01, 10.0 )

COMMAND LightColor
SYNTAX Freebasic: LightColor( light As nLight, red As uinteger, green As uinteger, blue As uinteger )
PARAMETERS • light - Nombre de la luz. • red - Red color. • green - Green color. • blue - Blue color.
DESCRIPTION It changes the color of the light.
EXAMPLE Freebasic:
         LightColor( light01, 255, 0, 0 )

COMMAND LightAttenuation
SYNTAX Freebasic: LightAttenuation (light As nLIGHT,c As single,l As single,q As single)
PARAMETERS •light - light • c –constant.(no decreases) • l –linear.(decreases linear) • q –quadratic.(decreases quadratic)
DESCRIPTION Setting to 1 to one of the 3 modes will result attenuation .If choose mode c=1, the light wil be maxim farway
EXAMPLE Freebasic:
         LightAttenuation( light01, 1,0,0)

COMMAND LightDirection
SYNTAX Freebasic: LightDirection (light As nLIGHT,x As Single,y As Single,z As Single)
PARAMETERS • light - Name of light. • x,y,z - the x,y,z components of the vector direction.
DESCRIPTION Set the direction of the light (not for point light)
EXAMPLE Freebasic:

COMMAND CurveValue
SYNTAX Freebasic: CurveValue( new_value As single, old_value As single, increment As single )
PARAMETERS • new_value - New value added. • old_value - Old value added. • increment - Increases the value (old -> new).
DESCRIPTION Returns an interpolated value based on the values given. This command will gradually moves a number of its current value to a destination of the increase in value. Can be used to create speed control vehicles.
EXAMPLE Freebasic:
         Dim As single value = CurveValue( 4.0, 1.0, 0.5 )

COMMAND Distance2D
SYNTAX Freebasic: Distance2D( x1 As single, y1 As single, x2 As single, y2 As single )
PARAMETERS • x1 - First X-Coordinate. • y1 - First Y-Coordinate. • x2 - Second X-Coordinate. • y2 - Second Y-Coordinate.
DESCRIPTION Returns the gap between the two points.
EXAMPLE Freebasic:
         Dim As single value = Distance2D( 1, 1, 300, 400 )

COMMAND Distance3D
SYNTAX Freebasic: Distance3D( x1 As single, y1 As single, z1 As single, x2 As single, y2 As single, z2 As single )
PARAMETERS • x1 - First X-Coordinate. • y1 - First Y-Coordinate. • Z1 - First Y-Coordinate. • x2 - Second X-Coordinate.
• y2 - Second Y-Coordinate.
• z2 - Second Y-Coordinate.

DESCRIPTION Returns the gap between the two points.
EXAMPLE Freebasic:
         Dim As single value = Distance3D( 25.0, 10.0, 10.0, 400.0, 250.0, 200.0 )

COMMAND Min
SYNTAX Freebasic: Min( value1 As single, value2 As single )
PARAMETERS • value1 - First value. • value2 - Second value.
DESCRIPTION Returns the minimum value of the two values.
EXAMPLE Freebasic:
         Dim As single value = Min( 10.0, 20.0 )

COMMAND Max
SYNTAX Freebasic: Max( value1 As single, value2 As single )
PARAMETERS • value1 - First value. • value2 - Second value.
DESCRIPTION Returns the maximum value of the two values.
EXAMPLE Freebasic:
         Dim As single value = Max( 20.0, 10.0 )

COMMAND Rand
SYNTAX Freebasic: Rand( value_min As single, value_max As single )
PARAMETERS • value_min - Minimum value. • value_max - Maximum value.
DESCRIPTION Returns a pseudo-random integer.
EXAMPLE Freebasic:
         Dim As single value = Rand( 1.0, 20.0 )

COMMAND WrapValue
SYNTAX Freebasic: WarpValue( value As single, value_min As single, value_max As single )
PARAMETERS • value - Value to increase. • value_min - Minimum value. • value_max - Maximum value.
DESCRIPTION This command will return a value not exceeding the rank of value_min a value_max. This command is like a clock. If the clock is 11 o'clock and moves 2 hours, the number will be returning about 12 to 1.
EXAMPLE Freebasic:
         Dim As single value = WarpValue( 90.0, 20.0, 80.0 )

COMMAND MaterialAlpha
SYNTAX Freebasic: MaterialAlpha (entity As nENTITY,num As UIntegerlevel As UI)
PARAMETERS • entity - Name of the entity • num - Number of material. • level - Level of transparency.
DESCRIPTION This command is used to change the transparency level of a material entity.
EXAMPLE Freebasic:

COMMAND MaterialColor
SYNTAX Freebasic: MaterialColor( entity as nENTITY,num as UI, red as I, green as I, blue as I )
PARAMETERS • entity - Name of the entity. • num - Number of material. • red - Red color • green - Green color
• blue - Blue color

DESCRIPTION Change the color of the material of the entity.
EXAMPLE Freebasic:

COMMAND MaterialCount
SYNTAX Freebasic: MaterialCount( entity as nENTITY ) as UI
PARAMETERS • entity - Name of the entity.
DESCRIPTION Returns the number of materials that have the entity.
EXAMPLE Freebasic:

COMMAND MaterialFlag
SYNTAX Freebasic: MaterialFlag( entity As nENTITY, num As uinteger, flag As integer, mode As integer )
PARAMETERS • entity - Name of the material. • num - Number of material. • flag - Effect type. • mode - Mode (enable\disable = 1 \ 0).
DESCRIPTION Apply an effect to the material of the entity. Effects can be: • MF_WIREFRAME - This shows the outline of each polygon of the entity on the screen. • MF_POINTCLOUD - This will show the contour plot based on points of each polygon of the entity on the screen.
• MF_FLAT - makes the firing of the entity to be displayed flat, with no softness.
• MF_FULLBRITGH - By activating this, the light affects the body (default). If this off, the body is always shining and the light is not affected.
• MF_ZBUFFER - Enable \ Disable Z-Buffer for this entity (default is on).
• MF_ZWRITER - Enable \ Disable the writing on the Z-Buffer for this entity (default is on).
• MF_BACKFACE - Shows the rear face of the triangles.
• MF_FRONTFACE - Shows the front of the triangles.
• MF_FOG - Active \ fog off to this entity.
• MF_NORMALIZE - Nomaliza a normal entity. This is done automatically resized to a mesh.

EXAMPLE Freebasic:

COMMAND MaterialShininess
SYNTAX Freebasic: MaterialShininess( entity as nENTITY, level as S )
PARAMETERS • entity - Name of the entity. • num - Number of material • level - brightness level.
DESCRIPTION Sets the specular brightness of the material of the entity.
EXAMPLE Freebasic:

COMMAND MaterialTexture
SYNTAX Freebasic: MaterialTexture( entity as nMESH, num as UI, texture as nTEXTURE, index as UI )
PARAMETERS • entity - Name of the entity • num - Number of material. • texture - Name of the texture • index - Index of the texture layer on the material.
DESCRIPTION Apply a texture to a material of the entity. The layers are used to assign a texture to a specific index of the material of the body, to make multi-textured.
EXAMPLE Freebasic:

COMMAND MaterialTextureAngle
SYNTAX Freebasic: MaterialTextureAngle( entity as nMESH, num as UI, index as UI, angle as S )
PARAMETERS • entity - Name of the entity. • num - Number of material. • index - Index of the texture layer on the material • angle - Rotation.
DESCRIPTION Rotate the texture of material.
EXAMPLE Freebasic:

COMMAND MaterialTextureScale
SYNTAX Freebasic: MaterialTextureScale( entity as nENTITY, num as UI, index as UI, sx as S, sx as S )
PARAMETERS • entity - Name of the entity. • num - Number of material. • index - Index of the texture layer on the material • sx - X-Size of the texture.
• sy - Y-Size of the texture.

DESCRIPTION Scale the texture of a material. The higher the number, the less will be the texture.
EXAMPLE Freebasic:

COMMAND MaterialTextureUV
SYNTAX Freebasic: MaterialTextureUV( entity as nENTITY, num as UI, index as UI, u as S, v as S )
PARAMETERS • entity - Name of the entity. • num - Number of material. • index - Index of the texture layer on the material • u - U-Coordinate.
• v - V-Coordinate.

DESCRIPTION Position the texture in an absolute position within the material.
EXAMPLE Freebasic:

COMMAND MaterialType
SYNTAX Freebasic: MaterialType( entity as nENTITY, num as UI, type as I )
PARAMETERS • entity - Name of the entity. • num - Number of material. • type - Effect type.
DESCRIPTION Sets the type of material of the entity. Type of material: • MT_SOLID - The material will be normal, with no effects. • MT_LIGHT_MAP - Type material with light mapping technique. Must be two textures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
• MT_DETAIL_MAP - Details of the material. The first texture is a diffuse color map, the second is added to this sample and in a larger size it adds more detail.
• MT_SPHERE_MAP - Causes the appearance of the material as if to reflect the environment around them. To make this possible, you should use a texture called "spherical mapping", which should be established as the first texture.
• MT_REFLECTION - Is a mapping that reflects an option that does not reflect the additional layer of texture. The reflection map is set as the first texture.
• MT_TRANSPARENT_ADD - Makes the material transparent based on the texture alpha channel. The final color is blended from the destination color and texture, using the alpha channel value as blend factor. Only the first is used as texture, the second is to give transparency.

• MT_TRANSPARENT
• MT_NORMALMAP - With this command to create the surface mesh of a certain reliebe. Is a technique, using light, can simulate a texture in relief, giving impression of depth or roughness to an object that originally was just a plain color.
• MT_PARALLAXMAP - Is a technique very similar to NormalMap, but improved through the use of light creates a highly realistic in texture, giving impression of depth or roughness to an object that originally was just a plain color.

Material type | Index 0 | Index 1 | Index 2
Solid | Diffuse map | None. | None.
Light Mapping | Diffuse map | Light map | None.
Detail Mapping | Diffuse map | Detail map | None.
Sphere Mapping | Diffuse map | Sphere map | None.
Reflection Mapping | Diffuse map | Reflection map | None.
Alpha Mapping Add | Diffuse map | Alpha map | None.
Alpha Mapping | Diffuse map | Alpha map | None.
Normal Mapping | Diffuse map | Normal map | None.
Parallax Mapping | Diffuse map | Normal map | Height map

EXAMPLE Freebasic:

COMMAND CreateMaterial
SYNTAX Freebasic: CreateMaterial( ) As nMATERIAL
PARAMETERS • None.
DESCRIPTION Creates a new type of material to be used in bodies.
EXAMPLE Freebasic:
         Dim As nMATERIAL wood = CreateMaterial( )

COMMAND MaterialElasticity
SYNTAX Freebasic: MaterialElasticity( mat1 As nMATERIAL, mat2 As nMATERIAL, elas As single )
PARAMETERS • mat1 - Name of the first material. • mat2 - Name of the second material. • elas - Level of elasticity between mat1 and mat2.
DESCRIPTION Adjusts the coefficients of elasticity between two materials.
EXAMPLE Freebasic:

COMMAND MaterialFriction
SYNTAX Freebasic: MaterialFriction( mat1 As nMATERIAL, mat2 As nMATERIAL, fric_st As single, fric_kin As single )
PARAMETERS • mat1 - Name of the first material. • mat2 - Name of the second material. • fric_est - Level of static friction. • fric_cin - Level of kinetics friction.
DESCRIPTION Adjusts the coefficients of friction between two materials.
EXAMPLE Freebasic:

COMMAND MaterialSoftness
SYNTAX Freebasic: MaterialFriction( mat1 As nMATERIAL, mat2 As nMATERIAL, blan As single )
PARAMETERS • mat1 - Name of the first material. • mat2 - Name of the second material. • blan - Level of softness.
DESCRIPTION Adjusts the coefficients of softness between two materials.
EXAMPLE Freebasic:

COMMAND MaterialCollidable
SYNTAX Freebasic: MaterialCollidable( mat1 As nMATERIAL, mat2 As nMATERIAL, mode As integer )
PARAMETERS • mat1 - Name of the first material. • mat2 - Name of the second material. • mode - Collision mode (enable[1],disable[0]).
DESCRIPTION Sets the materials so they can continue or not continue to collision.
EXAMPLE Freebasic:

COMMAND BodyMaterial
SYNTAX Freebasic: BodyMaterial (Body As nBODY, material as nMATERIAL)
PARAMETERS • Body - Name of the body. • material – name of the material assigned to body .
DESCRIPTION Assigns a material before created to a body.
EXAMPLE Freebasic:

COMMAND CreateMeshNull
SYNTAX Freebasic: CreateMeshNull( ) As nMESH
PARAMETERS • None.
DESCRIPTION It creates an empty mesh.
EXAMPLE Freebasic:
         Dim As nMESH mesh01 = CreateMeshNull( )

COMMAND CreateMeshCube
SYNTAX Freebasic: CreateMeshCube( ) As nMESH
PARAMETERS • None.
DESCRIPTION Creates a mesh type hub for use.
EXAMPLE Freebasic:
         Dim As nMESH mesh01 = CreateMeshCube( )

COMMAND CreateMeshSphere
SYNTAX Freebasic: CreateMeshSphere( triangles As integer ) As nMESH
PARAMETERS • triangles - Number of triangles.
DESCRIPTION Creates a mesh type field to be used. You can apply more / less polygons changing the value of "polygons"
EXAMPLE Freebasic:
         Dim As nMESH mesh01 = CreateMeshSphere( )

COMMAND CreateMeshCylinder
SYNTAX Freebasic: CreateMeshCylinder( triangles As integer ) As nMESH
PARAMETERS • triangles - Number of triangles.
DESCRIPTION Creates a mesh cylinder type to be used. You can apply more / less polygons changing the value of "polygons"
EXAMPLE Freebasic:
         Dim As nMESH mesh01 = CreateMeshCylinder( )

COMMAND CreateMeshCone
SYNTAX Freebasic: CreateMeshCone( triangles As integer ) As nMESH
PARAMETERS • triangles - Number of triangles.
DESCRIPTION Creates a mesh cone type to be used. You can apply more / less polygons changing the value of "polygons"
EXAMPLE Freebasic:
         Dim As nMESH mesh01 = CreateMeshCone( )

COMMAND LoadMesh
SYNTAX Freebasic: LoadMesh( file As zstring ptr, v_type As VERTEX_TYPE ) As nMESH
PARAMETERS • file - Name of the file.
DESCRIPTION Loads a mesh for use. The Ninfa3D, used as the base engine Irrlichter and thanks to that you can load a large number of files: ( .mdl2, .mdl3, .b3d, .3ds, .lwo, .my3D, .dmf, .oct, .csm, .stl, .ms3d, .x, .xml, .dae ) Type of vertices:
• VT_TCOORS - Is always used and is special with meshes type LightMap.
• VT_TANGENTS - Used alone and especially for meshes where it has implemented a shader, as SpecularMap.

•You can load a BSP with this command, but to have collisions and physics you can load BSP with others commands – see BSP.

EXAMPLE Freebasic:
         Dim As nMESH mesh01 = LoadMesh( "model.3ds", VT_TEXCOORS )

COMMAND CurrentFrame
SYNTAX Freebasic: CurrentFrame( mesh As nMESH ) As integer
PARAMETERS • mesh - Name of the mesh.
DESCRIPTION Returns the current frame of animation.
EXAMPLE Freebasic:

COMMAND MeshCastShadow
SYNTAX Freebasic: MeshCastShadow( mesh As nMESH )
PARAMETERS • mesh - Name of the mesh.
DESCRIPTION With this command you can say to a mesh that cast shadows.
EXAMPLE Freebasic:
         MeshCastShadow( mesh01 )

COMMAND ScaleMesh
SYNTAX Freebasic: ScaleMesh( mesh As nMESH, x As single, y As single, z As single )
PARAMETERS • mesh - Name of the mesh. • x - X size of the body. • y - Y size of the body. • z - Z size of the body.
DESCRIPTION Scale mesh to make it an absolute size.
EXAMPLE Freebasic:
         ScaleMesh( mesh01, 2.0, 2.0, 2.0 )

COMMAND CreateMeshPlane
SYNTAX Freebasic: CreateMeshPlane (size As Single,tileCount As uinteger) As nMESH
PARAMETERS • size- size of the mesh. • tileCount – number of tiles.
DESCRIPTION Creates a tiled mesh plane.
    EXAMPLE

      Freebasic:

COMMAND CreateMeshWater
SYNTAX Freebasic: CreateMeshWater (height As single,speed As single,length As single) As nENTITY
PARAMETERS • height - height of the waves. • speed - speed of the waves. • length – length of the waves.
DESCRIPTION Creates an animated mesh water.
    EXAMPLE

      Freebasic:

COMMAND AnimateMesh
SYNTAX Freebasic: AnimateMesh( mesh As nMESH, loop As integer, speed As single, start As integer, end As integer, tran As integer )
PARAMETERS • mesh - Name of the mesh. • loop – continuos animation. • speed – frames per second. • start – start frame.
• end – end frame.

• tran – transition.

DESCRIPTION Plays the animation of an animated mesh.
    EXAMPLE

      Freebasic:

COMMAND OutlineMesh
SYNTAX Freebasic: OutlineMesh (mesh As nMESH,t As single,r As uinteger,g As uinteger,b As uinteger)
PARAMETERS • mesh - Name of the mesh. • t - Thickness of the line. • r - Red color. • g - Green color.
• b - Blue color.

DESCRIPTION Draw a few lines of a specific thickness and color of the surrounding mesh. The effect created is very close to the line of characters from the cartoons. Must be put inside a loop to work.
EXAMPLE Freebasic:
         While( RunEngine )
                  BeginScene( )
                  UpdateEngine( 0 )
                  OutlineMesh( mesh01, 2.0, 0, 0, 0 )
                  EndScene( )
         Wend

COMMAND MeshesCollide
SYNTAX Freebasic: MeshesCollide( mesh1 As nMESH, mesh2 As nMESH ) As integer
PARAMETERS • mesh1 - Name of the first mesh. • mesh2 - Name of the second mesh.
DESCRIPTION Returns 1 if there is a collision between the two meshes. Note: I need not have any of the mesh body collision to use this command.
EXAMPLE Freebasic:
         Dim As integer collision = MeshesCollide( mesh01, mesh02 )

COMMAND CountChildren
SYNTAX Freebasic: CountChildren( mesh As nMESH ) As integer
PARAMETERS • mesh - Name of the mesh.
DESCRIPTION Returns the number of children of the entity.
EXAMPLE Freebasic:

COMMAND FindChild
SYNTAX Freebasic: FindChild( mesh As nMESH, name As zstring ptr ) As nCHILD
PARAMETERS • mesh - Name of the mesh. • name - Name of the child.
DESCRIPTION Returns the name of the child of the mesh with the specified name.
EXAMPLE Freebasic:

COMMAND ChildName
SYNTAX Freebasic: ChildName (child As nCHILD) As Zstring Ptr
PARAMETERS • child - number of the child.
DESCRIPTION Returns the name of the child.
EXAMPLE Freebasic:

COMMAND ChildMode
SYNTAX Freebasic: ChildMode (mesh As nMESH,mode As integer)
PARAMETERS • mesh - Name of the mesh. • mode – mode for child.
DESCRIPTION Set the mode of the child.
EXAMPLE Freebasic:

COMMAND ParticleGravity
SYNTAX Freebasic: ParticleGravity( particle as nPARTICLE, grav_x as S, grav_y as S, grav_z as S )
PARAMETERS • particle - Name of the particle. • grav_x - Gravity of the axis X. • grav_y - Gravity of the axis Y. • grav_z - Gravity of the axis Z.
DESCRIPTION It applies gravity to the particle.
EXAMPLE Freebasic:

COMMAND CreateParticle
SYNTAX Freebasic: CreateParticle( ) as nPARTICLE
PARAMETERS • None.
DESCRIPTION Create a particle to use. Must be supplemented with the emitter.
EXAMPLE Freebasic:

COMMAND ParticleEndSize
SYNTAX Freebasic: ParticleEndSize( particle as nPARTICLE , sx as S, sy as S )
PARAMETERS • particles - Name of the particle. • sx - Size X. • sy - Size Y.
DESCRIPTION It serves to change size the particle that is coming to his end.
EXAMPLE Freebasic:

COMMAND EmitterDirection
SYNTAX Freebasic: EmitterDirection( emitter As nEMITTER, dx As single, dy As single, dz As single )
PARAMETERS • emitter - Name of the emitter. • dx - X-coordinate direction of the emitter. • dy - Y-coordinate direction of the emitter. • dz - Z-coordinate direction of the emitter.
DESCRIPTION Direction in which the emitter emits particles.
EXAMPLE Freebasic:

COMMAND EmitterPPS
SYNTAX Freebasic: EmitterPPS( emitter As nEMITTER, min_par As integer, max_par As integer )
PARAMETERS • emitter - Name of the emitter. • min_par - Minimum number of particles. • max_par - Maximum number of particles.
DESCRIPTION Set the minimum and maximum number of particles to be issued by the issuer.
EXAMPLE Freebasic:

COMMAND EmitterStartColor
SYNTAX Freebasic: EmitterStartColor( emitter As nEMITTER, min_r As integer, min_v As integer, min_a As integer, max_r As integer, max_v As integer, max_a As integer )
PARAMETERS • emitter - Name of the emitter • min_r - Minimum red color. • min_v - Minimum green color. • min_a - Minimum blur color.
• max_r - Maximum red color.
• max_v - Maximum green color.
• max_a - Maximum blue color.

DESCRIPTION Minimum and maximum color in which the particles are shown.
EXAMPLE Freebasic:

COMMAND EmitterStartSize
SYNTAX Freebasic: EmitterStartSize( emitter As nEMITTER, min_x As integer, min_y As integer, max_x As integer, max_y As integer )
PARAMETERS • emitter - Name of the emitter. • min_x - Minimum size of the axis X. • min_y - Minimum size of the axis Y. • max_x - Maximum size of the axis X.
• max_y - Maximum size of the axis Y.

DESCRIPTION Minimum and maximum size in which the particles are shown.
EXAMPLE Freebasic:

COMMAND CreateBoxEmitter
SYNTAX Freebasic: CreateEmitter( particle As nPARTICLE, sx As integer, sy As integer, sz As integer, l_min As integer, l_max As integer ) As nEMITTER
PARAMETERS • particle - Name of the particle. • sx - Size axis X. • sy - Size axis Y. • sz - Size axis Z.
• l_min - Minimum life of the particle.
• l_max - Maximum life of the particle.

DESCRIPTION Create a particle emitter.
EXAMPLE Freebasic:

COMMAND BoxEmitterSize
SYNTAX Freebasic: BoxEmitterSize( emitter As nEMITTER, sx As single, sy As single, sz As single )
PARAMETERS • emitter - Name of emitter. • sx - X-Size of emitter. • sy - Y-Size of emitter. • sz - Z-Size of emitter.
DESCRIPTION Sets the size of emitter.
EXAMPLE Freebasic:

COMMAND CreateCylinderEmitter
SYNTAX Freebasic: CreateCylinderEmitter(particle As nPARTICLE, v_min As integer, v_max As integer ) As nEMITTER
PARAMETERS • particle - Name of the particle. • v_min - minimal Life of the particle. • v_max - maximum Life of the particle.
DESCRIPTION Create a particle emitter in the form of a cylinder.
EXAMPLE Freebasic:

COMMAND CylinderEmitterCenter
SYNTAX Freebasic: CylinderEmitterCenter( emitter As nEMITTER, x As single, y As single, z As single )
PARAMETERS • emitter - Name of the issuer. • x - X-Coordinate of the center. • y - Y-Coordinate of the center. • z - Z-Coordinate of the center.
DESCRIPTION It establishes the center of the cylinder in the space 3D.
EXAMPLE Freebasic:

COMMAND CylinderEmitterRadius
SYNTAX Freebasic: CylinderEmitterRadius( emitter As nEMITTER, radius As single )
PARAMETERS • emitter - Name of emitter. • radius - Radius of the emitter.
DESCRIPTION Set the radius of the emitter.
EXAMPLE Freebasic:

COMMAND CylinderEmitterLength
SYNTAX Freebasic: CylinderEmitterLength( emitter As nEMITTER, length As single )
PARAMETERS • emitter - Name of emitter. • length - Length of the emitter.
DESCRIPTION Sets the length of the emitter.
EXAMPLE Freebasic:

COMMAND CreateMeshEmitter
SYNTAX Freebasic: CreateMeshEmitter( particle As nPARTICLE, v_min As integer, v_max As integer ) As nEMITTER
PARAMETERS • emitter - Name of emitter. • mesh - Name of the mesh.
DESCRIPTION Set the mesh to take the sender to take shape.
EXAMPLE Freebasic:

COMMAND MeshEmitterMesh
SYNTAX Freebasic: MeshEmitterMesh (emitter As nEMITTER,Mesh As nMESH)
PARAMETERS
DESCRIPTION .
EXAMPLE Freebasic:

COMMAND MeshEmitterEveryVertex
SYNTAX Freebasic: MeshEmitterEveryVertex( emitter As nEMITTER, mode As integer )
PARAMETERS • emitter - Name of emitter. • mode - Mode (enable[1]\disable[0]).
DESCRIPTION Enable\Disable the emitter to deliver particles of all vertices of the mesh.
EXAMPLE Freebasic:

COMMAND CreateRingEmitter
SYNTAX Freebasic: CreateRingEmitter(particle As nPARTICLE, v_min As integer, v_max As integer ) As nEMITTER
PARAMETERS • particle - Name of the particle. • v_min - minimal Life of the particle. • v_max - maximum Life of the particle.
DESCRIPTION Create a particle emitter in the form of a ring.
EXAMPLE Freebasic:

COMMAND RingEmitterCenter
SYNTAX Freebasic: RingEmitterCenter( emitter As nEMITTER, x As single, y As single, z As single )
PARAMETERS • emitter - Name of the issuer. • x - X-Coordinate of the center. • y - Y-Coordinate of the center. • z - Z-Coordinate of the center.
DESCRIPTION It establishes the center of the ring in the space 3D.
EXAMPLE Freebasic:

COMMAND RingEmitterRadius
SYNTAX Freebasic: RingEmitterRadius( emitter As nEMITTER, radius As single )
PARAMETERS • emitter - Name of emitter. • radius - Radius of the ring.
DESCRIPTION Set the radius of the ring.
EXAMPLE Freebasic:

COMMAND RingEmitterThickness
SYNTAX Freebasic: CylinderEmitterThickness( emitter As nEMITTER, thickness As single )
PARAMETERS • emitter - Name of emitter. • thickness - thickness of the ring.
DESCRIPTION Sets the thickness of the ring.
EXAMPLE Freebasic:

COMMAND LoadShader
SYNTAX Freebasic: LoadShader( vertex As zstring ptr, pixel As zstring ptr ) As nSHADER
PARAMETERS • vextex - Name of file for vertex GLSL. • pixel - Name of file for pixel GLSL.
DESCRIPTION It loads two necessary files to be able to create a graphic effect in language GLSL.
EXAMPLE Freebasic:
         Dim As nSHADER cartoon = LoadShader( "cartoon.vert", "cartoon.frag" )

COMMAND VertexShaderConstant
SYNTAX Freebasic: VertexShaderConstant( shader As nSHADER, name As zstring ptr, data As single ptr, count As integer )
PARAMETERS • shader - Name of the shader. • name - Name of the variable. • data - Data to introducing. • count - Quantity of data to introduce the matrix.
DESCRIPTION Sets a constant based on a name and a value for the vertex shader. This can be used when using a high-level shader language like GLSL.
EXAMPLE Freebasic:
         Dim lightPos( 0 to 3 ) As single = { 0.0, 50.0, 0.0 }
         VertexShaderConstant( cartoon, "diffuseColor", @lightPos(0), 3 )
         or
         Dim As single fogEnable = 1
         VertexShaderConstant( cartoon, "fog", @fogEnable, 1 )

COMMAND PixelShaderConstant
SYNTAX Freebasic: PixelShaderConstant( shader As nSHADER, name As zstring ptr, data As single ptr, count As integer )
PARAMETERS • shader - Name of the shader. • name - Name of the variable. • data - Data to introducing. • count - Quantity of data to introduce the matrix.
DESCRIPTION Sets a constant based on a name and a value for the pixel shader. This can be used when using a high-level shader language like GLSL.
EXAMPLE Freebasic:
         Dim lightPos( 0 to 2 ) As single = { 0.0, 50.0, 0.0 }
         PixelShaderConstant( cartoon, "specularColor", @lightPos(0), 3 )
         or
         Dim As single normalMap = 1
         PixelShaderConstant( cartoon, "normalM", @normalMap, 1 )

COMMAND ApplyShaderEntity
SYNTAX Freebasic: ApplyShaderEntity( shader As nSHADER, entity As nENTITY )
PARAMETERS • shader - name of shader. • entidad - Name of the entity.
DESCRIPTION It applies a graphic effect to an entity.
EXAMPLE Freebasic:
         ApplyShaderEntity( cartoon, mesh01 )

COMMAND ApplyShaderMaterial
SYNTAX Freebasic: ApplyShaderEntity( shader As nSHADER, num As uinteger, entity As nENTITY )
PARAMETERS • shader - name of shader. • num - Number of material. • entidad - Name of the entity.
DESCRIPTION It applies a graphic effect to an material of the entity.
EXAMPLE Freebasic:
         ApplyShaderMaterial( cartoon, mesh01, 0 )

COMMAND LoadSound
SYNTAX Freebasic: LoadSound( file As zstring ptr ) As nSOUND
PARAMETERS • file - File Name.
DESCRIPTION Load a sound file .ogg or .Wav for use. The command SoundType you can change the type of sound.
EXAMPLE Freebasic:
         Dim As nSOUND sound01 = LoadSound( "sound.wav" )
         or
         Dim As nSOUND music01 = LoadSound( "music.ogg" )

COMMAND SoundType
SYNTAX Freebasic: SoundType( sound As nSOUND, type As integer )
PARAMETERS • sound - Name of the sound. • type - Sound type (2D/3D).
DESCRIPTION Specifies the type of sound to be used if 2D or 3D sound. Types of sound: • 1 - 2D sound. • 2 - 3D sound.
NOTE: To use 3D sound in the. Wav file has to be one channel (MONO)
This is because the load uses OpenAL to learn that position, orientation and direction is the listener. If the sound is stereo sound will resemble a type 2D.

EXAMPLE Freebasic:
         SoundType( sound01, SOUND_2D )

COMMAND LoopSound
SYNTAX Freebasic: LoopSound( sound As nSOUND )
PARAMETERS • sound - Name of the sound.
DESCRIPTION Plays the sound in an endless loop.
EXAMPLE Freebasic:
         LoopSound( sound01 )

COMMAND PauseSound
SYNTAX Freebasic: PauseSound( sound As nSOUND )
PARAMETERS • sound - Name of the sound.
DESCRIPTION Pause playback of sound.
EXAMPLE Freebasic:
         PauseSound( sound01 )

COMMAND PlaySound
SYNTAX Freebasic: PlaySound( sound As nSOUND )
PARAMETERS • sound - Name of the sound.
DESCRIPTION Enables playback of sound.
EXAMPLE Freebasic:
         PlaySound( sound01 )

COMMAND StopSound
SYNTAX Freebasic: StopSound( sound As nSOUND )
PARAMETERS • sound - Name of the sound.
DESCRIPTION Stops playing the sound.
EXAMPLE Freebasic:
         StopSound( sound01 )

COMMAND VolumeSound
SYNTAX Freebasic: VolumeSound (sound As nSOUND,volume as single)
PARAMETERS • sound - Name of the sound. • volume – volume of sound (0 – 1).
DESCRIPTION Sets the volume of the sound.
EXAMPLE Freebasic:

COMMAND PitchSound
SYNTAX Freebasic: PitchSound (sound As nSOUND,pitch as single)
PARAMETERS • sound - Name of the sound. • pitch – pitch(speed) of the sound (0 – 1).
DESCRIPTION Sets the pitch of the sound.
EXAMPLE Freebasic:

COMMAND SoundReferenceDistance
SYNTAX Freebasic: SoundReferenceDistance( sound As nSOUND, value As single )
PARAMETERS • sound - Name of the sound. • value - Distance to affect the sound.
DESCRIPTION Determines the distance at which sound affects the listener.
EXAMPLE Freebasic:
         SoundReferenceDistance( sound01, 50.0 )

COMMAND SoundRollOff
SYNTAX Freebasic: SoundRollOff( sound As nSOUND, value As single )
PARAMETERS • sound - Name of the sound. • value - Rate of progression.
DESCRIPTION Determines the rate of progression in which sound affects the listener.
EXAMPLE Freebasic:
         SoundRollOff( sound01, 25.0 )

COMMAND LoadSprite
SYNTAX Freebasic: LoadSprite( file As zstring ptr ) As nSPRITE
PARAMETERS • file - Name of file.
DESCRIPTION Loads an image file to be used as a sprite. The Ninfa3D, used as the base engine Irrlichter and thanks to that you can load a large number of files: ( .bmp, .jpg, .pcx, .png, .pm, .psd, .tga and .wal ). In Ninfa3D, the sprite is a 3D Irrlicht bilboard.
EXAMPLE Freebasic:
         Dim As nSPRITE sprite01 = LoadSprite( "glow01.bmp" )

COMMAND ScaleSprite
SYNTAX Freebasic: ScaleSprite( sprite As nSPRITE, x As single, y As single, z As single )
PARAMETERS • sprite - Name of the sprite. • x - X size of the sprite. • y - Y size of the sprite.
DESCRIPTION Scale the sprite to make it an absolute size.
EXAMPLE Freebasic:
         ScaleSprite( sprite01, 5.0, 5.0, 5.0 )

COMMAND SpriteColor
SYNTAX Freebasic: SpriteColor( sprite As nSPRITE, red As integer, green As integer, blue As integer )
PARAMETERS • sprite - Name of the sprite. • red - Red color. • green - Green color. • blue - Blue color.
DESCRIPTION Change the color of the sprite.
EXAMPLE Freebasic:
         SpriteColor( sprite01, 255, 255, 255 )

COMMAND AppTitle
SYNTAX Freebasic: AppTitle( text As zstring ptr )
PARAMETERS • text - Text.
DESCRIPTION Change the title of the current window.
EXAMPLE Freebasic:
         AppTitle( "Ninfa3D Engine - by Viz_Fuerte -" )

COMMAND SupportGLSL
SYNTAX Freebasic: SupportGLSL( ) As integer
PARAMETERS • None.
DESCRIPTION Returns 1 if the graphics card supports GLSL.
EXAMPLE Freebasic:
         Dim As integer support = SupportGLSL( )

COMMAND SupportHardwareTL
SYNTAX Freebasic: SupportHardwareTL( ) As integer
PARAMETERS • None.
DESCRIPTION Returns 1 if the graphics card hardware accept the T&L.
EXAMPLE Freebasic:
         Dim As integer support = SupportTL( )

COMMAND SupportMultiTexture
SYNTAX Freebasic: SupportMultiTexture( ) As integer
PARAMETERS • None.
DESCRIPTION Returns 1 if the graphics card accepts the multi-texture.
EXAMPLE Freebasic:
         Dim As integer support = SupportMultiTexture( )

COMMAND SupportStencilBuffer
SYNTAX Freebasic: SupportStencilBuffer( ) As integer
PARAMETERS • None.
DESCRIPTION Returns 1 if the graphics card accepted stencil buffer.
EXAMPLE Freebasic:
         Dim As integer support = SupportStencilBuffer( )

COMMAND AvailableMemory
SYNTAX Freebasic: AvailableMemory () As UInteger
PARAMETERS • None.
DESCRIPTION Returns the available memory.
    EXAMPLE

      Freebasic:

COMMAND TotalMemory
SYNTAX Freebasic: TotalMemory () As UInteger
PARAMETERS • None.
DESCRIPTION Returns the total memory.
    EXAMPLE

      Freebasic:

COMMAND VideoModeCount
SYNTAX Freebasic: VideoModeCount() As Integer
PARAMETERS • None.
DESCRIPTION Returns the number of video mode.
    EXAMPLE

      Freebasic:

COMMAND VideoModeDepth
SYNTAX Freebasic: VideoModeDepth() As Integer
PARAMETERS • None.
DESCRIPTION Returns the depth of vide mode.
    EXAMPLE

      Freebasic:

COMMAND VideoModeResolutionWidth
SYNTAX Freebasic: VideoModeResolutionWidth () As Integer
PARAMETERS • None.
DESCRIPTION Returns the width resolution of vide mode.
    EXAMPLE

      Freebasic:

COMMAND VideoModeResolutionHeight
SYNTAX Freebasic: VideoModeResolutionHeight() As Integer
PARAMETERS • None.
DESCRIPTION Returns the height resolution of vide mode.
    EXAMPLE

      Freebasic:

COMMAND ProcessorSpeed
SYNTAX Freebasic: ProcessorSpeed ( ) As integer
PARAMETERS • None.
DESCRIPTION Returns the speed of the processor.
    EXAMPLE

      Freebasic:

COMMAND SupportARB
SYNTAX Freebasic: SupportARB( ) As integer
PARAMETERS • None.
DESCRIPTION Returns 1 if the graphics card support ARB.
    EXAMPLE

      Freebasic:

COMMAND LoadFont
SYNTAX Freebasic: LoadFont( file As zstring ptr ) As nFONT
PARAMETERS • file - File Name.
DESCRIPTION Load specific type of font to use. Note: To generate a source of letters should use the "FontTool.exe" and load the XML file.
EXAMPLE Freebasic:
         Dim As nFONT font01 = LoadFont( "arial.xml" )

COMMAND Font
SYNTAX Freebasic: Font( font As nFONT )
PARAMETERS • font - Name of the source.
DESCRIPTION Assigns a source type to be used in the text.
EXAMPLE Freebasic:
         Font( font01 )

COMMAND Text
SYNTAX Freebasic: Text( x As integer, y As integer, text As zstring ptr, center_x As integer, center_y As integer )
PARAMETERS • x - X position of the screen • y - Y position of the screen • text - String. • center_x - Horizontally centered text.
• center_y - Vertically centered text.

DESCRIPTION Prints a string to the designated coordinates. You can center the text using "center_x / y" and assigning 1.
EXAMPLE Freebasic:
         Text( 10, 250, "Helloooooo!", 0, 0 )

COMMAND LoadTerrain
SYNTAX Freebasic: LoadTerrain( file As zstring ptr) As nTERRAIN
PARAMETERS • file - Name of heightmap file.
DESCRIPTION Create a terrain from a heightmap file. You can change the settings in Ninfa3D.bi to load terrain in different modes.
EXAMPLE Freebasic:

COMMAND ScaleTexture
SYNTAX Freebasic: ScaleTexture(terrain As nTERRAIN ,coor1 As single, coor2 As single )
PARAMETERS • terrain – Name of the terrain • coor1 - Size of the first texture. • coor2 - Size of the second texture.
DESCRIPTION It climbs the first and second texture (if it has) of the area. Major all that is the number, minor will be the texture.
EXAMPLE Freebasic:

COMMAND TerrainHeight
SYNTAX Freebasic: TerrainHeight (terrain As nENTITY,x As S,z As S) As S
PARAMETERS • terrain – Name of the terrain • x – X position in 3D space. • z - Z position in 3D space.
DESCRIPTION Returns the height of the terrain at the (x,z) position.
EXAMPLE Freebasic:

COMMAND LoadTexture
SYNTAX Freebasic: LoadTexture( file As zstring ptr ) As nTEXTURE
PARAMETERS • file - Name of file.
DESCRIPTION It loads a file of image to be used. The Ninfa3D, used as the base engine Irrlichter and thanks to that you can load a large number of files: ( .bmp, .jpg, .pcx, .png, .pm, .psd, .tga and .wal ).
EXAMPLE Freebasic:
         Dim As nTEXTURE texture01 = LoadTexture( "wall.bmp" )

COMMAND FindTexture
SYNTAX Freebasic: FindTexture( name As zstring ptr ) As nTEXTURE
PARAMETERS • name - Name of the texture.
DESCRIPTION Find a texture that previously has been loaded in the system.
EXAMPLE Freebasic:

COMMAND CreateRTT
SYNTAX Freebasic: CreateRTT( sx As integer, sy As integer ) As nTEXTURE
PARAMETERS • sx - Width of the texture • sy - Height of the texture
DESCRIPTION It creates a texture RTT (render to texture). Everything what the camera sees will be projected in the texture.
EXAMPLE Freebasic:
         Dim As nTEXTURE texture01 = CreateRTT( 512, 512 )

COMMAND RenderTarget
SYNTAX Freebasic: RenderTarget( texture As nTEXTURE )
PARAMETERS • texture - Name of the texture RTT.
DESCRIPTION Render the whole scene in the assigned texture.
EXAMPLE Freebasic:
         While( RunEngine )
                  BeginScene( )
                  RenderTarget( texture01 )
                        UpdateEngine( 0 )
                  RenderTarget( 0 )
                  UpdateEngine( 0 )
                  EndScene( )
         Wend

COMMAND LockTexture
SYNTAX Freebasic: LockTexture( texture As nTEXTURE ) As uinteger ptr
PARAMETERS • texture - Name of the texture.
DESCRIPTION It blocks the Texture and returns an indicator to have access to the pixels. After you use the function LockTexture, all the operations on the pixels stop.
EXAMPLE Freebasic:

COMMAND UnLockTexture
SYNTAX Freebasic: UnLockTexture( texture As nTEXTURE )
PARAMETERS • texture - Name of the texture.
DESCRIPTION It unblocks the Texture not to have access to the pixels. After you use this function, all the operations on the pixels will continue his course.
EXAMPLE Freebasic:

COMMAND ColorKeyTexture
SYNTAX Freebasic: ColorKeyTexture( texture As nTEXTURE, red As uinteger, green As uinteger, blue As uinteger )
PARAMETERS • texture - Name of the texture • red - Red color. • green - Green color. • blue - Blue color.
DESCRIPTION It changes the color of the texture that will be transparent. For defect, is the black.
EXAMPLE Freebasic:
         ColorKeyTexture( texture01, 0, 0, 255 )

COMMAND TextureWidth
SYNTAX Freebasic: TextureWidth(texture As nTEXTURE) As I
PARAMETERS • texture - Name of the texture.
DESCRIPTION Returns the width of the texture.
    EXAMPLE

      Freebasic:

COMMAND TextureHeight
SYNTAX Freebasic: TextureHeight(texture As nTEXTURE) As I
PARAMETERS • texture - Name of the texture.
DESCRIPTION Returns the height of the texture.
EXAMPLE Freebasic:

COMMAND LoadImageFromFile
SYNTAX Freebasic: LoadImageFromFile (filename as zstring ptr) as nImage
PARAMETERS • filename - Name of the image file.
DESCRIPTION Loads an image from file in RAM memory (necessary for grass scene node)
    EXAMPLE

      Freebasic:

COMMAND CreateBodyNull
SYNTAX Freebasic: CreateBodyNull() As nBODY
PARAMETERS • None
DESCRIPTION Create a body null.
    EXAMPLE

      Freebasic:

COMMAND CreateBodyCube
SYNTAX Freebasic: CreateBodyCube(SX As Single,SY As Single,SZ As Single,Mass As single) As nBODY
PARAMETERS • sx - X size of the body. • sy - Y size of the body. • sz - Z size of the body. • mass - Mass of the body.
DESCRIPTION Create a cube body type. Changing the value of sx, sy, sz can resize the cube. If the value of mass is greater than zero, the body reacts to collisions, otherwise if the value is zero, the body will become static and will not affect the physical and severity, although other bodies may collide with.

EXAMPLE Freebasic:
         Dim As nBODY body01 = CreateBodyCube( 10.0, 20.0, 10.0, 5.0 )

COMMAND CreateBodySphere
SYNTAX Freebasic: CreateBodySphere( sx As single, sy As single, sz As single, mass As single ) As nBODY
PARAMETERS • sx - X size of the body. • sy - Y size of the body. • sz - Z size of the body. • mass - Mass of the body.
DESCRIPTION Changing the value of sx, sy, sz can resize the area. If the value of mass is greater than zero, the body reacts to collisions, otherwise if the value is zero, the body will become static and will not affect the physical and severity, although other bodies may collide with.

EXAMPLE Freebasic:
         Dim As nBODY body01 = CreateBodySphere( 10.0, 20.0, 10.0, 5.0 )

COMMAND CreateBodyCone
SYNTAX Freebasic: CreateBodyCone( radius As single, height As single, mass As single ) As nBODY
PARAMETERS • radius - Radius of the body. • height - Body height. • mass - Mass of the body.
DESCRIPTION Create a cone body type. Changing the value of radius and height you can change the size of the cylinder. If the value of mass is greater than zero, the body reacts to collisions, otherwise if the value is zero, the body will become static and will not affect the physical and severity, although other bodies may collide with.

EXAMPLE Freebasic:
         Dim As nBODY body01 = CreateBodyCone( 10.0, 20.0, 5.0 )

COMMAND CreateBodyCylinder
SYNTAX Freebasic: CreateBodyCylinder( radius As single, height As single, mass As single ) As nBODY
PARAMETERS • radius - Radius of the body. • height - Body height. • mass - Mass of the body.
DESCRIPTION Create a cylinder body type. Changing the value of radius and height you can change the size of the cylinder. If the value of mass is greater than zero, the body reacts to collisions, otherwise if the value is zero, the body will become static and will not affect the physical and severity, although other bodies may collide with.

EXAMPLE Freebasic:
         Dim As nBODY body01 = CreateBodyCylinder( 10.0, 20.0, 5.0 )

COMMAND CreateBodyCapsule
SYNTAX Freebasic: CreateBodyCapsule(Radius As single,Height As single,Mass As Single,Offset As Integer = 1) As nBODY
PARAMETERS • radius - Radius of the body. • height - Body height. • mass - Mass of the body. • offset – Offset of center of the body.
DESCRIPTION Create a capsule body type. Changing the value of radius and height you can change the size of the capsule. If the value of mass is greater than zero, the body reacts to collisions, otherwise if the value is zero, the body will become static and will not affect the physical and severity, although other bodies may collide with.

EXAMPLE Freebasic:

COMMAND CreateBodyHull
SYNTAX Freebasic: CreateBodyHull( mesh As nMESH, mass As single ) As nBODY
PARAMETERS • mesh - Name of the mesh. • mass - Mass of the body.
DESCRIPTION A body created by copying the wrapper of the mesh. The body reacts like any other, but with the difference that has the shape of the envelope of the object. If the value of mass is greater than zero, the body reacts to collisions, otherwise if the value is zero, the body will become static and will not affect the physical and severity, although other bodies may collide with.

EXAMPLE Freebasic:
         Dim As nBODY body01 = CreateBodyHull( mesh01, 5.0 )

COMMAND CreateBodyTree
SYNTAX Freebasic: CreateBodyTree( mesh As nMESH, mass As single ) As nBODY
PARAMETERS • mesh - Name of the mesh. • mass - Mass of the body.
DESCRIPTION A body created by copying the whole shape of the mesh. The body reacts like any other, but with the difference that has the shape of the object. If the value of mass is greater than zero, the body reacts to collisions, otherwise if the value is zero, the body will become static and will not affect the physical and severity, although other bodies may collide with.

EXAMPLE Freebasic:
         Dim As nBODY body01 = CreateBodyTree( mesh01, 5.0 )

COMMAND CreateBodyTreeBSP
SYNTAX Freebasic: CreateBodyTreeBSP(meshBSP As Uinteger ptr,nodeBSP As Uinteger ptr) As nBODY
PARAMETERS • meshBSP - Name of the BSP mesh.(loaded before with LoadMeshBSP) • nodeBSP - Name of the nodeBSP (created before from a meshBSP with CreateNodeBSPfromMeshBSP)
DESCRIPTION A body created by copying the whole shape of the BSP. The body reacts like any other, but with the difference that has the shape of the object.
    EXAMPLE

      Freebasic:

COMMAND CreateBodyTerrain
SYNTAX Freebasic: CreateBodyTerrain( terrain As nTERRAIN ) As nBODY
PARAMETERS • terrain - Name of the terrain.
DESCRIPTION It creates a body copying all the form of the terrain. This body will stay static and will have the exact form of the terrain. ( If you have the vehicle on terrain, you can increase the smoth of terrain, for that, you need to change the smoth value in Ninfa3D.bi; Usualy, the smoth is 4, but to have a real copy of the surface I tested with the smoth factor up to 132))
    EXAMPLE

      Freebasic:

COMMAND CreateBodyWater
SYNTAX Freebasic: CreateBodyWater( sx As single, sy As single, sz As single, fd As single, lv As single, av As single ) As nBODY
PARAMETERS • sx - X size of the body. • sy - Y size of the body. • sz - Z size of the body. • fd - Density of the fluid.
• lv - Linear viscosity of the fluid.
• av - Angular viscosity of the fluid.

DESCRIPTION It creates a body with the properties of the water. Any body that between in contact with, it will react as if about real water it was talking each other thanks to the system of physics Newton Archemedia.
EXAMPLE Freebasic:
         Dim As nBODY body01 = CreateBodyWater( 256.0, 512.0, 256.0, 0.006, 1.0, 0.5 )

COMMAND LinearVelocity
SYNTAX Freebasic: LinearVelocity( body As nBODY , vx As single, vy As single, vz As single )
PARAMETERS • body - Name of the body. • vx - Speed X-Coordinate. • vy - Speed Y-Coordinate. • vz - Speed Z-Coordinate.
DESCRIPTION Changes the linear velocity of the global body.
EXAMPLE Freebasic:
         LinearVelocity( body01, 0.0, 0.0, 5.0 )

COMMAND AngularVelocity
SYNTAX Freebasic: AngularVelocity( body As nBODY , vx As single, vy As single, vz As single )
PARAMETERS • body - Name of the body. • vx - Speed X-Coordinate. • vy - Speed Y-Coordinate. • vz - Speed Z-Coordinate.
DESCRIPTION Change the overall angular velocity of the body.
EXAMPLE Freebasic:
         AngularVelocity( body01, 0.0, 10.0, 0.0 )

COMMAND LinearDamping
SYNTAX Freebasic: LinealDamping( body As nBODY, coef_damp As single )
PARAMETERS • body - Name of the body. • coef_damp - Damping value.
DESCRIPTION Apply the linear viscous damping coefficient for the body.
EXAMPLE Freebasic:
         LinealDamping( body01, 2.0 )

COMMAND AngularDamping
SYNTAX Freebasic: AngularDamping( body As nBODY, x As single, y As single, z As single )
PARAMETERS • body - Name of the body. • x - Damping value. • y • z
DESCRIPTION Apply the angular viscous damping coefficient for the body.
EXAMPLE Freebasic:
         AngularDamping( body01, 2.0, 2.0, 2.0 )

COMMAND AddImpulse
SYNTAX Freebasic: AddImpulse( body As nBODY, ix As single, iy As single, iz As single, x As single, y As single, z As single )
PARAMETERS • body - Name of the body. • ix - Impulse from an X-Coordinate. • iy - Impulse from an Y-Coordinate. • iz - Impulse from an Z-Coordinate.
• x - X-Coordinate.
• y - Y-Coordinate.
• z - Z-Coordinate.

DESCRIPTION Added impulse to a specific point in the body.
EXAMPLE Freebasic:
         AddImpulse( body01, 50.0, 0.0, 50.0, 0.0, 100.0, 0.0 )

COMMAND BodiesCollide
SYNTAX Freebasic: BodiesCollide( body1 As nBODY, body2 As nBODY ) As integer
PARAMETERS • body1 - Name of the first body. • body2 - Name of the second body.
DESCRIPTION Returns 1 if there is a collision between the two bodies. Note: I need not have any of the mesh body collision to use this command.
EXAMPLE Freebasic:
         Dim As integer Collide = BodiesCollide( body01, body02 )

COMMAND BodyCollX
SYNTAX Freebasic: BodyCollX( body As nBODY ) As single
PARAMETERS • body - Name of the body.
DESCRIPTION Return exact X-coordinate of the collision of the body with another body.
EXAMPLE Freebasic:
         Dim As single collX = BodyCollX( body01 )

COMMAND BodyCollY
SYNTAX Freebasic: BodyCollY( body As nBODY ) As single
PARAMETERS • body - Name of the body.
DESCRIPTION Return exact Y-coordinate of the collision of the body with another body.
EXAMPLE Freebasic:
         Dim As single collY = BodyCollY( body01 )

COMMAND BodyCollZ
SYNTAX Freebasic: BodyCollZ( body As nBODY ) As single
PARAMETERS • body - Name of the body.
DESCRIPTION Return exact Z-coordinate of the collision of the body with another body.
EXAMPLE Freebasic:
         Dim As single collZ = BodyCollZ( body01 )

COMMAND BodyCollNX
SYNTAX Freebasic: BodyCollNX( body As nBODY ) As single
PARAMETERS • body - Name of the body.
DESCRIPTION Returns the exact X-angle of the collision of the body with another body.
EXAMPLE Freebasic:
         Dim As single collNX = BodyCollNX( body01 )

COMMAND BodyCollNY
SYNTAX Freebasic: BodyCollNY( body As nBODY ) As single
PARAMETERS • body - Name of the body.
DESCRIPTION Returns the exact Y-angle of the collision of the body with another body.
EXAMPLE Freebasic:
         Dim As single collNY = BodyCollNY( body01 )

COMMAND BodyCollNZ
SYNTAX Freebasic: BodyCollNZ( body As nBODY ) As single
PARAMETERS • body - Name of the body.
DESCRIPTION Returns the exact Z-angle of the collision of the body with another body.
EXAMPLE Freebasic:
         Dim As single collNZ = BodyCollNZ( body01 )

COMMAND DrawBody
SYNTAX Freebasic: DrawBody(Byval body As nBODY)
PARAMETERS • body - Name of the body.
DESCRIPTION Draws a wireframe around the body.( for debug purpose) The command needs to be placed in the main loop.
    EXAMPLE

      Freebasic:

COMMAND CreateJointBall
SYNTAX Freebasic: CreateJointBall( px As single, py As single, pz As single, body1 As nBODY, body2 As nBODY ) As nJOINT
PARAMETERS • px - Position of the joint in X-coordinate. • py - Position of the joint in Y-coordinate. • pz - Position of the joint in Z-coordinate. • body1 - Name of the first body.
• body2 - Name of the second body.

DESCRIPTION Creates a joint type ball between two bodies.
EXAMPLE Freebasic:
         Dim As nJOINT joint01 = CreateJointBall( 0.0, 50.0, 0.0, body01, body02 )

COMMAND CreateJointHinge
SYNTAX Freebasic: CreateJointHinge( px As single, py As single, pz As single, dx As single, dy As single, dz As single, body1 As nBODY, body2 As nBODY ) As nJOINT
PARAMETERS • px - Position of the joint in X-coordinate. • py - Position of the joint in Y-coordinate. • pz - Position of the joint in Z-coordinate. • dx - Direction of the joint in X-angle.
• dy - Direction of the joint in Y-angle.
• dz - Direction of the joint in Z-angle.
• body1 - Name of the first body.
• body2 - Name of the second body.

DESCRIPTION Creates a joint type hinge between two bodies.
EXAMPLE Freebasic:
         Dim As nJOINT joint01 = CreateJointHinge( 0.0, 50.0, 0.0, 0.0, 0.0, 1.0, body01, body02 )

COMMAND CreateJointSlider
SYNTAX Freebasic: CreateJointSlider( px As single, py As single, pz As single, dx As single, dy As single, dz As single, body1 As nBODY, body2 As nBODY ) As nJOINT
PARAMETERS • px - Position of the joint in X-coordinate. • py - Position of the joint in Y-coordinate. • pz - Position of the joint in Z-coordinate. • dx - Direction of the joint in X-angle.
• dy - Direction of the joint in Y-angle.
• dz - Direction of the joint in Z-angle.
• body1 - Name of the first body.
• body2 - Name of the second body.

DESCRIPTION Creates a joint type slider between two bodies.
EXAMPLE Freebasic:
         Dim As nJOINT joint01 = CreateJointSlider( 0.0, 50.0, 0.0, 1.0, 0.0, 0.0, body01, body02 )

COMMAND CreateJointCorkscrew
SYNTAX Freebasic: CreateJointCorkscrew( px As single, py As single, pz As single, dx As single, dy As single, dz As single, body1 As nBODY, body2 As nBODY ) As nJOINT
PARAMETERS • px - Position of the joint in X-coordinate. • py - Position of the joint in Y-coordinate. • pz - Position of the joint in Z-coordinate. • dx - Direction of the joint in X-angle.
• dy - Direction of the joint in Y-angle.
• dz - Direction of the joint in Z-angle.
• body1 - Name of the first body.
• body2 - Name of the second body.

DESCRIPTION It creates an joint "corkscrew" between two bodies. This joint, In addition to having the property of draft, also it is slider.
EXAMPLE Freebasic:
         Dim As nJOINT joint01 = CreateJointCrokscrew( 0.0, 50.0, 0.0, 1.0, 0.0, 0.0, body01, body02 )

COMMAND CreateJointUpVector
SYNTAX Freebasic: CreateJointUpVector( dx As single, dy As single, dz As single, body As nBODY ) As nJOINT
PARAMETERS • dx - Direction of the joint in X-angle. • dy - Direction of the joint in Y-angle. • dz - Direction of the joint in Z-angle. • body - Name of the first body.
DESCRIPTION It creates an joint of vector. The joint of vector is an union that allows that a body should react freely in the space 3D, but only it allows that the body should turn about the direction that indicates him to itself. This type of joint can be used to control a character with physics and collision.
EXAMPLE Freebasic:
         Dim As nJOINT joint01 = CreateJointUpVector( 0.0, 1.0, 0.0, player )

COMMAND JointCollisionState
SYNTAX Freebasic: JointCollisionState( joint As nJOINT, mode As integer )
PARAMETERS • joint - Name of the joint. • mode - Mode of the collision.
DESCRIPTION Enable or Disable the collision between two bodies connected by a union. Modes: • 0 - Disable the collision. • 1 - Enable the collision.
EXAMPLE Freebasic:
         JointCollisionState( joint01, 0 )

COMMAND BallLimits
SYNTAX Freebasic: BallLimits( joint As nJOINT, mac As single, minta As single, maxta As single )
PARAMETERS • joint - Name of the joint. • mac - Maximum angle of the cone. • minta - Minimum angle of turn. • maxta - Maximum angle of turn.
DESCRIPTION It establishes the limits for the angles of the joint ball.
EXAMPLE Freebasic:
         BallLimits( joint01, 120.0, 2.0, 90.0 )

COMMAND HingeLimit
SYNTAX Freebasic: HingeLimits( joint As nJOINT, mina As single, maxa As single )
PARAMETERS • joint - Name of the joint. • minta - Minimum angle of turn. • maxta - Maximum angle of turn.
DESCRIPTION It establishes the limits for the angles of the joint hinge.
EXAMPLE Freebasic:
         HingeLimits( joint01, 2.0, 90.0 )

COMMAND SliderLimits
SYNTAX Freebasic: SliderLimits( joint As nJOINT, mina As single, maxa As single )
PARAMETERS • joint - Name of the joint. • minta - Minimum angle of turn. • maxta - Maximum angle of turn.
DESCRIPTION It establishes the limits for the joint slider.
EXAMPLE Freebasic:
         SliderLimits( joint01, 2.0, 90.0 )

COMMAND CorkScrewLinearLimits
SYNTAX Freebasic: CorkScrewLinearLimits( joint As nJOINT, mind As single, maxd As single )
PARAMETERS • joint - Name of the joint. • mintd - Minimal distance of opening. • maxtd - Maximal distance of opening.
DESCRIPTION It establishes the limits for the joint corkscrew.
EXAMPLE Freebasic:
         CorkScrewLinearLimits( joint01, 0.0, 128.0 )

COMMAND CorkScrewAngularLimits
SYNTAX Freebasic: CorkScrewAngularLimits( joint As nJOINT, minta As single, maxta As single )
PARAMETERS • joint - Name of the joint. • minta - Minimum angle of turn. • maxta - Maximum angle of turn.
DESCRIPTION It establishes the limits for the angles of the joint corkscrew
EXAMPLE Freebasic:
         CorkScrewAngularLimits( joint01, 2.0, 90.0 )

COMMAND WorldSize
SYNTAX Freebasic: WorldSize( x As single, y As single, z As single )
PARAMETERS • x - X Size of world. • y - Y Size of world. • z - Z Size of world.
DESCRIPTION Change the size of world. This will influence to the radio of action of the physics. If the body they go out of the radio of action they will remain calm.
EXAMPLE Freebasic:
         WorldSize( 1000.0 , 1000.0, 1000.0 )

COMMAND WorldGravity
SYNTAX Freebasic: WorldGravity( grav_x As single, grav_y As single, grav_z As single )
PARAMETERS • grav_x - Gravity of the axis the X. • grav_y - Gravity of the axis the Y. • grav_z - Gravity of the axis the Z.
DESCRIPTION It establishes the gravity of the world. The gravity by default is-9,81 in the axis Y.
EXAMPLE Freebasic:
         WorldGravity( 0.0, -9.81, 0.0 )

COMMAND WorldMousePick
SYNTAX Freebasic: WorldMousePick ( x As single, y As single, state As integer )
PARAMETERS • x - X-Coordinate on the screen. • y - Y-Coordinate on the screen. • state - Enable(1)/disable(0).
DESCRIPTION With this function it is possible to drag any body that is under the introduced coordinates.
EXAMPLE Freebasic:
        WorldMousePick ( MouseX( ), MouseY( ), MouseDown( MOUSE_LEFT ) )

COMMAND PhysicQuality
SYNTAX Freebasic: PhysicQuality(mode As PHYSIC_QUALITY)
PARAMETERS • mode - PHYSIC_QUALITY Q_LINEAR = 0 Q_ADAPTATIVE = 1 Q_EXACT = 2

DESCRIPTION Set physic realism.(Q_Linear is fastest)
    EXAMPLE

      Freebasic:

COMMAND CreateVehicle
SYNTAX Freebasic: CreateVehicle(x As Single,y As Single,z As Single,body1 As nBODY) As nJOINT
PARAMETERS • x,y,z – the 3 components of the direction vector. • body – the body of chassis.
DESCRIPTION Create a vehicle joint oriented in (x,y,z) direction. The vehicle will be created in the origin of 3D space.
    EXAMPLE

      Freebasic:
       CreateVehicle(0,0,1,body1)   - this is oriented along the z axe

COMMAND VehicleSpeed
SYNTAX Freebasic: VehicleSpeed(vehicle As nJOINT) As single
PARAMETERS • vehicle – the name of joint vehicle.
DESCRIPTION Returns the speed of the vehicle.
    EXAMPLE

COMMAND AddTire
SYNTAX Freebasic: AddTire(vehicle As nJOINT,tiremesh As nENTITY,x As Single,y As Single,z As Single,mass As Single,r As Single,w As Single,f As Single,sl As Single,sc As Single,sd As Single)
PARAMETERS • vehicle – the name of joint vehicle. • tiremesh – the name of tiremesh ( this will be visual, no body tire). • x,y,z – tire position(relative to the vehicle and the origin, too). • mass – mass of tire body.

• r – radius of tire body.

• w – width of tire body.

• f – friction.

• sl – spring length (suspension).

• sc – spring constant.

• sd – spring dump.

DESCRIPTION Adds tire to the vehicle. -tiremesh – is created before addtire;( with LoadMesh)
    EXAMPLE

COMMAND ApplyBrake
SYNTAX Freebasic: ApplyBrake(vehicle As nJOINT,wheel As integer,brake As Single)
PARAMETERS • vehicle – the name of joint vehicle. • wheel – the indice of the wheel (0,1,2,3). • brake – brake value.
DESCRIPTION Applies brake .
    EXAMPLE

COMMAND ApplySteering
SYNTAX Freebasic: ApplySteering(vehicle As nJOINT,wheel As integer,vrate As Single)
PARAMETERS • vehicle – the name of joint vehicle. • wheel – the indice of the wheel (0,1,2,3). • vrate – value rate of steering (+/-).
DESCRIPTION Applies steering.
    EXAMPLE

COMMAND ApplyTorque
SYNTAX Freebasic: ApplyTorque(joint As nJOINT,wheel As integer,torque As Single)
PARAMETERS • vehicle – the name of joint vehicle. • wheel – the indice of the wheel (0,1,2,3). • torque – the torque value (+/-).
DESCRIPTION Applies torque to tire.
    EXAMPLE

COMMAND TimeStart
SYNTAX Freebasic: TimeStart()
PARAMETERS • None
DESCRIPTION Starts a timer.
    EXAMPLE

COMMAND TimeStop
SYNTAX Freebasic: TimeStop()
PARAMETERS • None
DESCRIPTION Stops a timer.
    EXAMPLE

COMMAND TimeSpeed
SYNTAX Freebasic: TimeSpeed(speed as Single)
PARAMETERS • speed – the timer speed
DESCRIPTION Sets the timer speed.
    EXAMPLE

COMMAND GetTime
SYNTAX Freebasic: GetTime()
PARAMETERS • None
DESCRIPTION Returns the timer time.
    EXAMPLE

COMMAND GetRealTime
SYNTAX Freebasic: GetRealTime()
PARAMETERS • None
DESCRIPTION Returns the real time.
    EXAMPLE

COMMAND AddGrass
SYNTAX Freebasic: AddGrass(terrain as nTerrain,x as integer,z as integer,patchSize as integer,grassScale as Single,maxDensity as Uinteger,dataPozitionX as integer,dataPozitionY as integer,heightMap as nImage,textureMap as nImage,grassMap as nImage,grassTexture as nTexture) as nGrass

PARAMETERS
DESCRIPTION Adds grass on terrain. (see example “grass” in examples folder)
    EXAMPLE

COMMAND SetGrassDensity
SYNTAX Freebasic: SetGrassDensity(grass as nGrass,density as Integer,distance as Single)
PARAMETERS •
DESCRIPTION Sets the grass density.
    EXAMPLE

COMMAND SetGrassWind
SYNTAX Freebasic: SetGrassWind(grass as nGrass,strength as Single,regularity as Single)
PARAMETERS •
DESCRIPTION Sets the wind.
    EXAMPLE

COMMAND GetGrassDrawCount
SYNTAX Freebasic: GetGrassDrawCount(grass as nGrass) as uinteger
PARAMETERS •
DESCRIPTION Returns the drawgrass count..
    EXAMPLE

COMMAND CreateLensFlare
SYNTAX Freebasic: CreateLensFlare(texture As nTEXTURE) as nLensFlare
PARAMETERS
DESCRIPTION Creates a lenflare from suplied texture (later you can position with movement commands)
    EXAMPLE

COMMAND SetFlareScale
SYNTAX Freebasic: SetFlareScale(flare as nLensFlare,source as single,optics as single)
PARAMETERS
DESCRIPTION Scales the lensflare (the source and the optics).
    EXAMPLE

COMMAND CreateClouds
SYNTAX Freebasic: CreateClouds(texture As nTEXTURE,lod as uinteger,depth as uinteger,density as uinteger) as uinteger ptr
PARAMETERS
DESCRIPTION Creates cloudes (position with movement commands)
    EXAMPLE

COMMAND LoadMeshBSP
SYNTAX Freebasic: LoadMeshBSP( file as zstring ptr ) as UINTEGER PTR
PARAMETERS
DESCRIPTION Loads a meshBSP in RAM memory.(this is not visible) This is the 1’st step in creating a BSP node.
    EXAMPLE

COMMAND CreateNodeBSPfromMeshBSP
SYNTAX Freebasic: CreateNodeBSPfromMeshBSP(mesh as UINTEGER PTR) as UINTEGER PTR
PARAMETERS
DESCRIPTION Creates a nodeBSP (this is visible, but no collisions) This is the 2’nd step in creating a BSP node.
    EXAMPLE

COMMAND StaticCollisionsBSP
SYNTAX Freebasic: StaticCollisionsBSP(meshBSP As nMESH,nodeBSP As nMESH,entity As nENTITY,SX AS Single=10,SY AS Single=10,SZ AS Single=10,Byval GX AS SINGLE=0,GY AS SINGLE=-100,GZ AS SINGLE=0,OFFX AS SINGLE=0,OFFY AS SINGLE=50,OFFZ AS SINGLE=0)

PARAMETERS - meshBSP,nodeBSP; - SX,SY,SZ = the bounding box of entity collided with BSP; - GX,GY,GZ – the gravity of entity; - OFFX,OFFY,OFFZ – the offset of the bounding box vs. centre of entity.
DESCRIPTION Sets active the collisions between an entity and BSP; This is a collision managed by Irrlicht, no Newton. You can use this kind of collision with camera against BSP or others entities , like meshes against BSP. To have Newton collisions see CreateBodyTreeBSP.
    EXAMPLE

CONSTANTS Keyboard
Values KEY_LBUTTON KEY_RBUTTON KEY_CANCEL KEY_MBUTTON
KEY_XBUTTON1
KEY_XBUTTON2
KEY_BACK
KEY_TAB
KEY_CLEAR
KEY_RETURN
KEY_SHIFT
KEY_CONTROL
KEY_MENU
KEY_PAUSE
KEY_CAPITAL
KEY_KANA
KEY_HANGUEL
KEY_HANGUL
KEY_JUNJA
KEY_FINAL
KEY_HANJA
KEY_KANJI
KEY_ESCAPE
KEY_CONVERT
KEY_NONCONVERT
KEY_ACCEPT
KEY_MODECHANGE
KEY_SPACE
KEY_PRIOR
KEY_NEXT
KEY_END
KEY_HOME
KEY_LEFT
KEY_UP
KEY_RIGHT
KEY_DOWN
KEY_SELECT
KEY_PRINT
KEY_EXECUT
KEY_SNAPSHOT
KEY_INSERT
KEY_DELETE
KEY_HELP
KEY_0
KEY_1
KEY_2
KEY_3
KEY_4
KEY_5
KEY_6
KEY_7
KEY_8
KEY_9
KEY_A
KEY_B
KEY_C
KEY_D
KEY_E
KEY_F
KEY_G
KEY_H
KEY_I
KEY_J
KEY_K
KEY_L
KEY_M
KEY_N
KEY_O
KEY_P
KEY_Q
KEY_R
KEY_S
KEY_T
KEY_U
KEY_V
KEY_W
KEY_X
KEY_Y
KEY_Z
KEY_LWIN
KEY_RWIN
KEY_APPS
KEY_SLEEP
KEY_NUMPAD0
KEY_NUMPAD1
KEY_NUMPAD2
KEY_NUMPAD3
KEY_NUMPAD4
KEY_NUMPAD5
KEY_NUMPAD6
KEY_NUMPAD7
KEY_NUMPAD8
KEY_NUMPAD9
KEY_MULTIPLY
KEY_ADD
KEY_SEPARATOR
KEY_SUBTRACT
KEY_DECIMAL
KEY_DIVIDE
KEY_F1
KEY_F2
KEY_F3
KEY_F4
KEY_F5
KEY_F6
KEY_F7
KEY_F8
KEY_F9
KEY_F10
KEY_F11
KEY_F12
KEY_F13
KEY_F14
KEY_F15
KEY_F16
KEY_F17
KEY_F18
KEY_F19
KEY_F20
KEY_F21
KEY_F22
KEY_F23
KEY_F24
KEY_NUMLOCK
KEY_SCROLL
KEY_LSHIFT
KEY_RSHIFT
KEY_LCONTROL
KEY_RCONTROL
KEY_LMENU
KEY_RMENU
KEY_PLUS
KEY_COMMA
KEY_MINUS
KEY_PERIOD
KEY_ATTN
KEY_CRSEL
KEY_EXSEL
KEY_EREOF
KEY_PLAY
KEY_ZOOM
KEY_PA1
KEY_OEM_CLEAR
KEY_CODES_COUNT

CONSTANTS Mouse
Values MOUSE_LEFT MOUSE_MIDDLE MOUSE_RIGHT