My Project
Classes | Typedefs | Enumerations | Functions | Variables
ParaEngine Namespace Reference

different physics engine has different winding order. More...

Classes

struct  _D3DVIEWPORT9
 
struct  _DIMOUSESTATE
 
struct  _DIMOUSESTATE2
 
struct  _hashUniformEntry
 
struct  _MipmapInfo
 
struct  _Para3DLight
 
struct  _ParaMaterial
 
struct  _ttfConfig
 
struct  AccelerometerEvent
 the total 3d vector of force that is currently on the device, including gravity. More...
 
struct  ActionKey
 key for actions and animations. More...
 
struct  ActiveBiped
 It holds any information that is perceived by a Active Biped object including himself. More...
 
struct  ActiveTerrain
 
struct  AITask
 a union of all kinds of task defined More...
 
struct  AITask_DieAndReborn
 
struct  AITask_Evade
 
struct  AITask_Follow
 
struct  AITask_MovieTrack
 data structures used to describe the task that a AI module is planning to do or is currently doing the difference between a movie track in the AI task and that from a global eye is that the biped associated with this Movie track would interact with the physical environment simulator. More...
 
struct  AITask_WanderNearby
 
struct  AlphaPostRenderObject
 for post rendering object with alpha. More...
 
class  Angle
 Wrapper class which identifies a value as the currently default angle type, as defined by Math::setAngleUnit. More...
 
struct  AnimAlpha
 
class  Animated
 
class  AnimatedVariable
 key, value pairs More...
 
struct  AnimationBlock
 
struct  AnimExtent
 
struct  AnimIndex
 it presents a given in bone animation providers or parax local model bone animation pools More...
 
struct  AnimInfo
 
struct  AnimInstance
 Animation instance that each mdx object owns. More...
 
class  AppDelegate
 ParaCraftMobile Application. More...
 
struct  ArchiveFileFindItem
 
class  array
 Self reallocating template array (like stl vector) with additional features. More...
 
struct  AssetEntity
 Base class for managed asset entity in ParaEngine. More...
 
struct  AssetFileEntry
 light-weighted file record header in memory. More...
 
class  AssetManager
 AssetManager manages a set of asset entities of a certain type. More...
 
class  AttributeProvider
 Attribute fields data provider: it is a group of attribute stored in {name, value} value pair fasion in a single database table. More...
 
class  AxisAlignedBox
 A 3D box aligned with the x/y/z axes. More...
 
class  BaseInterface
 The base class for interfaces in ParaEngine. More...
 
struct  BillBoardViewInfo
 current billboard info is here. More...
 
class  bimap
 
struct  bimap_base
 
class  bimap_different_types
 
class  bimap_equal_types
 
struct  BipedWayPoint
 Biped way point: see CBipedObject::m_vPosTarget. More...
 
class  Block
 
struct  block_vertex
 
class  BlockChunk
 Chunk is a 16*16*16 inside a region. More...
 
class  BlockCommon
 common static functions to block api, mostly standalone math API More...
 
struct  BlockConfig
 
class  BlockDirection
 helper functions for directions More...
 
class  BlockFacing
 
class  BlockGeneralTessellator
 custom model tessellation like button, stairs, etc. More...
 
struct  BlockIndex
 
class  BlockModel
 
class  BlockModelManager
 
class  BlockReadWriteLock
 multiple shared readers and multiple exclusive writers it favors writers over readers. More...
 
class  BlockRegion
 512*512 region More...
 
class  BlockRenderTask
 
class  BlockTemplate
 block template base class. More...
 
class  BlockTessellatorBase
 generate tessellated vertices for a given block in the world. More...
 
class  BlockVertexCompressed
 
class  BlockWorldClient
 this is a singleton client side block world instance. More...
 
struct  bmax_vertex
 
class  BMaxAnimGenerator
 BMax Animation generator. More...
 
struct  BMaxBlockModelNode
 block model node in bmax More...
 
struct  BMaxFrameNode
 bone node in bmax More...
 
struct  BMaxNode
 base class for a block in bmax model More...
 
class  BMaxObject
 
class  BMaxParser
 Block Max file format parser. More...
 
class  Bone
 a single animated bone, it contains both the bone instance data and all animation data of the bone. More...
 
struct  BoneInfo
 
struct  BoneRotState
 
struct  BoneState
 
class  BufferPickingManager
 all picking buffers There is a default one called BufferPickingManager::GetInstance().GetEntity("backbuffer"); which is the current backbuffer Some predefined picking object can be retrieved via NPL script using More...
 
struct  BulletPhysicsActor
 it is represent a shape that can be used to create various actors in the scene. More...
 
struct  BulletPhysicsShape
 it is represent a shape that can be used to create various actors in the scene. More...
 
class  ByteSwap
 Defines some useful byte order swap routines. More...
 
class  C3DCanvas
 we can put a mesh or character object on canvas. More...
 
class  CAABBCollider
 
class  CadImporterFactory
 
class  CadModel
 
class  CadModelCallBackData
 
struct  CadModelData
 
class  CadModelLoader
 
class  CadModelNode
 
class  CadModelPart
 
class  CadModelProcessor
 
struct  CadVec3
 
class  CAIBase
 base class for all AI objects More...
 
class  CAIModuleNPC
 NPC AI module: it is just an aggregation of AI controllers. More...
 
class  CAISimulator
 AI and AI scripts handlers. More...
 
struct  Camera
 
struct  camera
 
struct  CameraKey
 refer to autocamera More...
 
class  CAnimInstance
 Encapsulates an animation instance, with its own animation controller. More...
 
class  CAnimInstanceBase
 abstract class for all animation instance implementation. More...
 
class  CAnimTable
 table for character animation. More...
 
class  CanvasAttachment
 Attachment on parax model canvas. More...
 
class  CApplyObjectLevelParamBlock
 apply object-level params and restore to default value. More...
 
class  CAppSingleton
 app singleton must inherit from CRefCounted. More...
 
class  CArchive
 file archiver base class. More...
 
class  CArrayAttributeProxy
 only used for editing and created on demand. More...
 
class  CartoonFace
 data structure for a cartoon face More...
 
class  CAssetEntityUserData
 
class  CAssetFileEntryUserData
 
class  CAssetManifest
 Asset manifest manager. More...
 
class  CAssetRequestData
 an asset request data to be sent via the CURLRequestTask More...
 
class  CAsyncLoader
 It uses architecture proposed by the content streaming sample in DirectX 9&10. More...
 
class  CAttributeClass
 an attribute class is a collection of attribute fields. More...
 
class  CAttributeClassImp
 derived attribute class. More...
 
struct  CAttributeDbItem
 a database record in attribute db More...
 
class  CAttributeField
 for a single attribute field More...
 
class  CAttributesManager
 a central place for managing all attributes of all classes in ParaEngine. More...
 
class  CAudioEngine
 Class: CAudioEngine. More...
 
class  CAudioEngine2
 CAudioEngine2 is based on the cAudioEngine plugin dll. More...
 
class  CAudioSource2
 it represent an audio engine source More...
 
class  CAutoCamera
 Auto Camera is designed to handle smooth transitions between supported camera type, such as first person camera, third person camera, and rotation camera. More...
 
class  CAutoRelease
 
class  CAutoUpdaterApp
 This is used to create an application using interprocess communication. More...
 
class  CBaseCamera
 
class  CBaseObject
 Defines the base class of all scene elements:CBaseObject for Parallel World Engine. More...
 
class  CBaseRowColumn
 Although this class inherits the CRefCounted interface, I don't manage it in GC. More...
 
class  CBaseTable
 
class  CBatchedElementDraw
 for drawing special element object(like particles, lines, etc) in the scene. More...
 
class  CBipedCallbackHandler
 
class  CBipedController
 Base Interface for Biped controller. More...
 
class  CBipedObject
 It can be used to represent biped object(like human, re spawning monsters) in the scene without inheriting and adding new functions. More...
 
class  CBipedStateManager
 managing biped state More...
 
class  CBlockDynamicObject
 
class  CBlockLightGridBase
 base class for block light grid. More...
 
class  CBlockLightGridClient
 block grid on client side. More...
 
class  CBlockLightGridServer
 block grid on server side. More...
 
class  CBlockPieceParticle
 a single particle object More...
 
class  CBlockPieceParticleElement
 particle element More...
 
struct  CBlockSelectGroup
 
class  CBlockWorld
 base class for an instance of block world More...
 
class  CBlockWorldManager
 factory class for multiple instances of CBlockWorld More...
 
class  CBone1
 The class stands for the bone or frame in the character's skeleton. More...
 
class  CBone2
 
class  CBoneAnimProvider
 Supplying external animation loaded from ParaX or BVH files. More...
 
struct  CBoneChain
 a chain of bones which will be rotated with some constraint. More...
 
class  CBool
 
class  CBootStrapper
 Bootstrapper file is a xml file to be executed at the very beginning of the game engine. More...
 
struct  CBufferPicking
 picking from frame buffer (back buffer) When there is picking query, it will render scene again (if out dated) with a special shader and read pixels from the back buffer. More...
 
class  CBVHSerializer
 BioVision Hierarchy (BVH) motion capture file serializer for ParaX file. More...
 
class  CCameraFrustum
 the camera view culling frustum More...
 
class  CCameras
 
class  CCanvasCamera
 Used for viewing objects on 3D canvas. More...
 
class  CCarpetModelProvider
 a thin layer wrapping blocks More...
 
class  CCCSFaceLoader
 CCCSFaceLoader implementation of IDataLoader it will first search locally. More...
 
class  CCCSFaceProcessor
 CCCSFaceProcessor implementation of IDataProcessor. More...
 
class  CCCSSkinLoader
 CCCSSkinLoader implementation of IDataLoader it will first search locally. More...
 
class  CCCSSkinProcessor
 CCCSSkinProcessor implementation of IDataProcessor. More...
 
class  CCharacterDB
 it contains all functions to access the character database. More...
 
class  CCharacterDBProvider
 
class  CCharacterTracker
 It tracks a character on the network, such as its last update time, position track, etc. More...
 
class  CCharCustomizeSysSetting
 Character customization settings. More...
 
class  CChestDBProvider
 
class  CColumnCollection
 
class  CCommandLineParams
 command line parameters. More...
 
class  CCommandLineParser
 command line parameter parser e.g. More...
 
class  CCommonFileDialog
 
class  CContainerObject
 Desc: present a scene object that is not rendered, but may have a volume. More...
 
class  CCRect
 
class  CCVector2
 
class  CD3DWindowDefault
 The default ParaEngine Window. More...
 
class  CDataBool
 
class  CDataCellItem
 
class  CDataColumnInfo
 
class  CDataDouble
 
class  CDataFloat
 
class  CDataInt32
 
class  CDataProviderManager
 a singleton class for managing all data providers used in the game engine. More...
 
class  CDataRow
 children of data row is some addition data rows. More...
 
class  CDataString
 
class  CDataTable
 
class  CDefaultObjectFactory
 default factory for creating object Class T should add following macro to its header in order to use this factory class ATTRIBUTE_SUPPORT_CREATE_FACTORY(CWeatherEffect); or T should have Create() method manually defined. More...
 
class  CDirectKeyboard
 
class  CDirectMouse
 
class  CDnDCharacterAttribute
 Dungeons and Dragons character attributes. More...
 
class  CDouble
 
class  CDummyAnimInstance
 this is only used when the anim x file does not exist. More...
 
class  CDynamicAttributeField
 for a dynamic attribute field. More...
 
class  CDynamicAttributesSet
 a group of dynamic attributes More...
 
class  CDynamicObject
 dynamic actor based scene object More...
 
class  CDynamicRenderable
 a base class for rendering objects using dynamic buffer from memory data. More...
 
class  CEdgeBuilder
 a set of static function for edge building for shadow volume More...
 
class  CEditorHelper
 helper functions for editing. More...
 
class  CEffectFile
 
class  CEffectFileBase
 asset entity: CEffectFile More...
 
class  CEffectFileDirectX
 
class  CEffectFileOpenGL
 
class  CEmitter
 
class  CEmitters
 
class  CEmuCSParaEditGame
 emulating a client/server based ParaEngine world editing game, using NPL language. More...
 
class  CEnvironmentSim
 Animate the entire scene for a fixed time interval advance. More...
 
class  CEnvSimClient
 this is the environment simulator of a standard game world server. More...
 
class  CEnvSimServer
 this is the environment simulator of a standard game world server. More...
 
class  CEventBinding
 This class is for maintaining the event binding table and script binding table. More...
 
class  CEventHandler
 event handler More...
 
class  CEventsCenter
 a global pool for user registered custom events. More...
 
class  CFaceGroup
 face group is similar to render pass in ParaXModel, or sub mesh in StaticMesh. More...
 
class  CFaceGroupInstance
 an instance of the face group: it contains the face group static data, and per-instance data, such as group to camera distance, group transform. More...
 
class  CFaceLayers
 
class  CFaceTrackingCtrler
 a facing tracking controller it will allow the biped to always face to a given target or another biped. More...
 
struct  CFileFindData
 file find item More...
 
class  CFileLogger
 It is a singleton class that is tightly integrated to the game engine. More...
 
class  CFileManager
 this is the main file interface exposed by ParaEngine. More...
 
class  CFileReplaceMap
 mapping a file to another file a replace file mapping. More...
 
class  CFileSystemWatcher
 monitoring file changes. More...
 
class  CFileSystemWatcherService
 file system watcher service. More...
 
class  CFileUtils
 file platform related API and helper functions More...
 
class  CFindKillProcess
 
class  CFirstPersonCamera
 
class  CFlashPlayer
 an instance of flash player. More...
 
class  CFlashTextureManager
 managing flash textures. More...
 
class  CFloat
 
class  CFog
 TODO: fog parameters. More...
 
class  CFollowCtrler
 a follow controller it will follow a given target or another biped. More...
 
class  CFontRendererOpenGL
 used for rendering labels rendering a given font from TTF format. More...
 
class  CFrameRateController
 the class for all frame rate controller. More...
 
class  CFruitDBProvider
 
class  CGDIBrush
 CGDIBrush is an abstract base class that defines a CGDIBrush object. More...
 
class  CGDIDC
 
class  CGDIEngine
 this allows us to create another device, such as in a worker thread to perform some background work while the main directX device has other work to do. More...
 
class  CGDIGraphics
 
class  CGDIGraphicsPath
 
class  CGDIPen
 a pen object in the GDI class More...
 
class  CGDIRegion
 We always shape the region points and edges in clockwise. More...
 
class  CGDIRenderTarget
 a gdi render target is a Gdiplus::Bitmap and Gdiplus::Graphics object. More...
 
class  CGDISolidBrush
 The CGDISolidBrush class defines a solid color CGDIBrush object. More...
 
class  CGDITextureBrush
 The CGDITextureBrush class defines a CGDIBrush object that contains an texture object that is used for the fill. More...
 
class  CGeoChunk
 This is a mesh object. More...
 
class  CGeoset
 An X file model must contain only one geoset which is a collection of geochunks. More...
 
class  CGeosetAnim
 For animating the alpha of bones. More...
 
class  CGeosetObject
 
class  CGlobals
 a class consists of static functions to access global objects in ParaEngine, such as Current Root Scene, physical world object, terrain, asset manager, environment simulator, 2d GUI root, etc. More...
 
class  CGlowEffect
 implementation of the full screen glow effect. More...
 
class  CGraphBuilder
 Usage: LoadVideoFile before you want to play any video file. More...
 
class  CGrassModelProvider
 for grass cross model only. More...
 
class  CGrowableArray
 
class  CGUI4OutsideArrow
 element 0: left arrow element 1: top arrow element 2: right arrow element 3: bottom. More...
 
class  CGUIAttributeGrid
 
class  CGUIBase
 base object for all 2D GUI objects (1) 2D GUI object are not tested against view frustum, instead it is controlled by visibility tag automatically or through user input. More...
 
class  CGUIButton
 
class  CGUIButtonType
 
class  CGUICanvas
 
class  CGUICanvasType
 
class  CGUIContainer
 m_objResource->m_objArtwork->DrawingRects[0]: client rectangle; m_objResource->m_objArtwork->DrawingRects[1]: container rectangle, including scrollbars m_objResource->m_objArtwork->DrawingRects[2]: container rectangle, including scrollbars, including borders m_objResource->m_objArtwork->DrawingRects[3-11]: [optional] for nine element containers. More...
 
class  CGUIContainerType
 
class  CGUIEditBox
 
class  CGUIEditBoxType
 
class  CGUIEvent
 Place of the. More...
 
class  CGUIGridType
 
class  CGUIHighlight
 An abstract class "4outsideArrow", 4 arrows pointing from outside to the edge of the control "4insideArrow, 4 arrows pointing from the edge of the control to the center of the control. More...
 
class  CGUIHighlightManager
 Holds the CGUIHighlight controls. More...
 
class  CGUIIME
 GUI IME message system. More...
 
class  CGUIIMEEditBox
 IME-enabled EditBox control. More...
 
class  CGUIIMEEditBoxType
 
class  CGUIKeyboardVirtual
 base class for keyboard system. More...
 
class  CGUIListBox
 m_objResource->m_objArtwork->DrawingRects[0]: client rectangle; m_objResource->m_objArtwork->DrawingRects[1]: container rectangle, including scrollbars m_objResource->m_objArtwork->DrawingRects[2]: container rectangle, including scrollbars, including borders m_objResource->m_objArtwork->DrawingRects[3]: text rectangle More...
 
class  CGUIListBoxType
 
class  CGUIMouseVirtual
 base class for GUI mouse More...
 
class  CGUINStageAnimation
 N stage animation element 0—(n-1): the mask of the stages. More...
 
class  CGUIPainter
 
class  CGUIPainterType
 
struct  CGUIPosition
 position of the GUI object More...
 
class  CGUIResource
 Each GUI control is associated with a CGUIResource object for rendering. More...
 
class  CGUIRoot
 When rendering scene, root scene and the root GUI are rendered in sequence. More...
 
class  CGUIRootType
 
class  CGUIScrollBar
 mostly associated with a CGUIContainer m_objResource->m_objArtwork->DrawingRects[0]: track rectangle; m_objResource->m_objArtwork->DrawingRects[1]: up/left button rectangle; m_objResource->m_objArtwork->DrawingRects[2]: down/right button rectangle; m_objResource->m_objArtwork->DrawingRects[3]: thumb button rectangle; More...
 
class  CGUIScrollBarType
 
class  CGUISlider
 
class  CGUISliderType
 
class  CGUIText
 This class represents a string inside a rectangular box in the screen coordinates Multiple Type_GUIText object with the same font are batched together at rendering time So it is important that you are not rendering them in the z-ordering. More...
 
class  CGUITextType
 
class  CGUIToolTip
 m_objResource->m_objArtwork->DrawingRects[0]: text rectangle; m_objResource->m_objArtwork->DrawingRects[1]: left-top corner rectangle; m_objResource->m_objArtwork->DrawingRects[2]: top border rectangle; m_objResource->m_objArtwork->DrawingRects[3]: right-top corner rectangle; m_objResource->m_objArtwork->DrawingRects[4]: left border rectangle; m_objResource->m_objArtwork->DrawingRects[5]: right border rectangle; m_objResource->m_objArtwork->DrawingRects[6]: left-bottom corner rectangle; m_objResource->m_objArtwork->DrawingRects[7]: bottom border rectangle; m_objResource->m_objArtwork->DrawingRects[8]: right-bottom corner rectangle; m_objResource->m_objArtwork->DrawingRects[9]: indicator rectangle; m_objResource->m_objArtwork->DrawingRects[10]: indicator-extend line rectangle; m_objResource->m_objArtwork->DrawingRects[11]: left indicator filling rectangle; m_objResource->m_objArtwork->DrawingRects[12]: right indicator filling rectangle; More...
 
class  CGUIToolTipType
 
class  CGUIType
 
class  CGUIVideoType
 
class  CGUIWebBrowser
 This class represents a string inside a rectangular box in the screen coordinates Multiple Type_GUIWebBrowser object with the same font are batched together at rendering time So it is important that you are not rendering them in the z-ordering. More...
 
class  CGUIWebBrowserType
 
struct  ChannelProperty
 
struct  CharacterPose
 the pose of the character. More...
 
class  CharModelInstance
 character animation instance: it includes both the animation and model display information. More...
 
struct  CharRegionCoords
 
struct  CharTexture
 
struct  CharTextureComponent
 
class  CHTMLBrowser
 an instance of HTML browser. More...
 
class  CHTMLBrowserManager
 managing HTML browsers. More...
 
class  CHttpUtility
 http utility More...
 
struct  ChunkLocation
 chunk column location. More...
 
struct  ChunkMaxHeight
 chunk column's height map data More...
 
class  ChunkVertexBuilderManager
 for filling chunk vertex in a different thread. More...
 
class  CInt32
 
class  CIntegerEncoder
 
class  CInterprocessAppClient
 This is used to create an application using interprocess communication. More...
 
class  CInterProcessMessageIn_parser
 for parsing incoming messages. More...
 
class  CInterProcessMessageOut_gen
 generate an output message to be send via network. More...
 
class  CInterprocessQueueT
 It is for sending and receiving InterProcessMessage. More...
 
class  CItemDBProvider
 
class  CJabberEventBinding
 Jabber event that could be bound with NPL script. More...
 
class  CKidsDBProvider
 
class  Class_ID
 This class represents the unique class ID for a ParaEngine plug-in. More...
 
class  ClassDescriptor
 System keeps a list of the DLL's found on startup. More...
 
class  CLightManager
 managing local lights. More...
 
class  CLightObject
 this is an independent local light scene object. More...
 
class  CLightParam
 a single light in ParaEngine. More...
 
class  CLightScatteringData
 
class  CLinearModelProvider
 just return model linearly. More...
 
class  CLogger
 a logger can only write to a given file. More...
 
class  CLogService
 Log rules. More...
 
class  CMainWindowIterator
 
class  CManagedLoader
 a managed loader is a kind of global scene object for dynamic scene object loading and unloading. More...
 
class  CMapAttributeProxy
 only used for editing and created on demand. More...
 
class  CMaterial
 
class  CMaterialMap
 
class  CMath
 
class  CMdxAniInstance
 MDX file based Animation instance: must call SetSizeScale() at least once before drawing this object. More...
 
class  CMDXModel
 This is the ParaX mesh and animation file format model. More...
 
class  CMemReadFile
 
class  CMeshLoader
 CMeshLoader implementation of IDataLoader it will first search locally. More...
 
class  CMeshObject
 static mesh scene object. More...
 
class  CMeshPhysicsObject
 A static mesh based physical object in the scene please note that it keeps the static mesh object as its member rather than inheriting from it. More...
 
class  CMeshProcessor
 CMeshProcessor implementation of IDataProcessor. More...
 
class  CMidiMsg
 simple midi audio More...
 
class  CMiniSceneGraph
 Mini scene graph does not use a spatial partitions for its stored objects, instead it just implement a simple parent/child relationships. More...
 
class  CMirrorSurface
 a reflective plane in the scene currently it only supports horizontal surface.Vertical surface and arbitrary surface may be supported in the future More...
 
class  CMissileObject
 a flying missile in the global space. More...
 
class  CModifier
 Each plugin is derived from a base class provided by ParaEngine. More...
 
class  CMovieClipBase
 it represents a clip of movies, which may be screen captured or just some transition effects. More...
 
class  CMovieClipScreenCapture
 it represents a screen captured screen movie. More...
 
class  CMovieCtrler
 a movie controller it will control the biped to follow a path defined in a movie file or record the biped' actions to a file. More...
 
class  CMoviePlatform
 For managing and rendering the movie. More...
 
struct  CmpBaseObjectAsset
 compare two object's primary asset More...
 
class  CMultiAnim
 This class encapsulates a mesh hierarchy (typically loaded from an .X file). More...
 
class  CMultiAnimAllocateHierarchy
 Inheriting from ID3DXAllocateHierarchy, this class handles the allocation and release of the memory used by animation frames and meshes. More...
 
class  CMultiFrameBlockWorldRenderer
 this is used for rendering a super large block world across several frames. More...
 
class  CNetByteArray
 for tracking binary data, such as custom model data. More...
 
class  CNetTime
 Current network simulation time. More...
 
class  CNormalUpdatePacket
 OBSOLETED: It represents a normal update packet. More...
 
class  CNpcDatabase
 NPC data provider. More...
 
struct  CNpcDbItem
 NPC database item (complete) More...
 
class  CNPLJabberClient
 NPL jabber client. More...
 
class  CNPLNetClient
 Option names. More...
 
class  CNPLPackageConfig
 for parsing package.npl file More...
 
class  CNPLPool_Char_alloc
 This class can be used as a custom allocator for stl containers, which constantly create and delete small or medium sized objects. More...
 
class  CNPLTCPConnection
 boost::asio is used for NPL jabber client's tcp connections. More...
 
class  CObjectAutoReleasePool
 when base object is created it has zero reference, and is usually added to auto release pool to be removed in the next frame. More...
 
class  CObjectFactory
 the virtual factory class for dynamically registered object class instantiation. More...
 
class  CObjectManager
 
class  COceanManager
 FFT based ocean rendering class. More...
 
class  ColladaModelLoader
 loading collada model to internal format. More...
 
class  Collection_Map
 Default behavior of the collection adds only reference. More...
 
class  Collection_Vector
 Default behavior of the collection adds only reference. More...
 
class  Collider
 base class for all colliders. More...
 
struct  CollisionPair
 a pair of object that collide into each other. More...
 
class  Color
 
struct  Color3B
 RGB color composed of bytes 3 bytes. More...
 
struct  Color4B
 RGBA color composed of 4 bytes. More...
 
struct  Color4F
 RGBA color composed of 4 floats. More...
 
class  CompositionModeStack
 for ease of push/pop composition mode. More...
 
class  concurrent_queue
 it implements a producer/consumer(s) queue design pattern. More...
 
class  COPCBiped
 represent a player from the network. More...
 
class  COSInfo
 operating system info More...
 
class  COverlayObject
 Overlay provides custom 3D drawings to the scene after main 3d scene is rendered. More...
 
class  CPaintDevice
 base class for a surface to paint to. More...
 
class  CPaintEngine
 The CPaintEngine class provides an abstract definition of how CPainter draws to a given device on a given platform. More...
 
class  CPaintEngineGPU
 opengl/directX renderer More...
 
class  CPaintEngineGPUState
 
class  CPaintEngineRaster
 software renderer More...
 
class  CPaintEngineState
 painter state, such as selected pen, brush, etc. More...
 
class  CPainter
 base class for a surface to paint to. More...
 
class  CPainterClipInfo
 currently only RectClip is supported, since we are using Scissor Rect on GPU to do the clipping. More...
 
struct  CPainterDummyState
 
class  CPainterState
 
class  CParaEngineApp
 This class demonstrate how to initialize, destroy and drive the game loop of ParaEngine through the C++ programming interface. More...
 
class  CParaEngineAppBase
 
class  CParaEngineCore
 It implements the IParaEngineCore interface, which exposes everything in ParaEngine to plug-in applications. More...
 
class  CParaEngineGLView
 
class  CParaEngineService
 this allows ParaEngine to operate as a system service without GUI, such as in server mode. More...
 
class  CParaFile
 it presents a real or virtual file in ParaEngine. More...
 
struct  CParaFileInfo
 file information. More...
 
class  CParaMeshXMLFile
 Para mesh XML file is a reference file for properly loading static mesh or parax mesh file. More...
 
class  CParameter
 a name, value pair. More...
 
class  CParameterBlock
 a list of CParameter{name, value} pairs of anything. More...
 
class  CParaPhysicsImp
 
class  CParaPhysicsWorld
 
struct  CParaRawData
 
class  CParaRingBuffer
 CParaRingBuffer is normally used in a producer-consumer mode when producer threads produce items and store them in the container and consumer threads remove these items and process them. More...
 
class  CParaSimpleAudioEngine
 simple cross platform implementation of the IParaAudioEngine interface. More...
 
class  CParaSimpleAudioSource
 represents a single audio file being played or loaded. More...
 
class  CParaTimeInterval
 
class  CParaUtils
 Main class. More...
 
class  CParaWorldAsset
 the asset manager class in ParaEngine. More...
 
class  CParaXAnimInstance
 this is primary animation instance used for normal animated character or advanced customizable character External animation are stored in dynamic fields using bone names as key. More...
 
class  CParaXLoader
 CParaXLoader implementation of IDataLoader it will first search locally. More...
 
struct  CParaXMaterial
 the material information for ParaX file More...
 
class  CParaXModel
 ParaX model is the model file for character animation, etc in the game world. More...
 
class  CParaXProcessor
 CParaXProcessor implementation of IDataProcessor. More...
 
class  CParaXSerializer
 this class is used for importing and exporting ParaX model from or to memory files. More...
 
class  CParaXStaticBase
 
class  CParaXStaticMesh
 Desc: Class for loading and rendering file-based meshes. More...
 
class  CParaXStaticModel
 Desc: Class for loading and rendering file-based meshes. More...
 
class  CParticleElement
 base class for a rectangle particle. More...
 
class  CPathReplaceables
 replacing some known variables in string path. More...
 
class  CPathVariable
 a single path variable More...
 
class  CPetAIDBProvider
 
class  CPetDBProvider
 
class  CPhysicsBTClassDesc
 description class More...
 
class  CPhysicsDebugDraw
 
class  CPhysicsWorld
 The global physics scene (NxScene) and physics SDK is encapsulated in a member object of scene manager. More...
 
struct  CPlayerMessage
 player message More...
 
class  CPluginLoader
 a DLL/so plug-in loaded explicitly at runtime. More...
 
class  CPluginManager
 manage plug-ins More...
 
class  CPortalFrustum
 Specialized frustum shaped culling volume that has culling planes created from portals This isn't really a traditional "frustum", but more a collection of extra culling planes used by the Scene Manager for supplementing the camera culling by creating extra culling planes from visible portals. More...
 
class  CPortalNode
 Portal rendering: portal class a portal can be connected to one or two zones. More...
 
class  CProcessIterator
 
class  CProcessModuleIterator
 
class  CPushRenderState
 push a render state More...
 
class  CPuzzleDBProvider
 
class  CQuestDBProvider
 
class  CRayCollider
 Contains a ray-vs-shape collider. More...
 
class  CReadFile
 reading a disk file. More...
 
class  CRefCounted
 
class  CRefCountedOne
 Base class for a reference counted asset. More...
 
class  CRenderTarget
 a render target scene object. More...
 
class  CReport
 this is a default report class. More...
 
class  CRequestTaskPool
 a task pool is a collection of requests of which only a specified limited number of worker threads are allowed to process. More...
 
class  CResourceRequestQueue
 the message queue More...
 
class  CRpgCharacter
 A typical character in role playing game. More...
 
class  CSameIntegerDecoder
 
class  CSameIntegerEncoder
 Author: LiXizhi if the input array contains, many data of the same value. More...
 
class  CSceneObject
 The top level scene management class. More...
 
class  CSceneWriter
 writing the scene to script file. More...
 
class  CSearchResult
 it represents the search result. More...
 
class  CSelectionGroup
 a group of selected object More...
 
class  CSelectionManager
 A pool of currently selected objects. More...
 
class  CSequence
 A collection of animation sequences. More...
 
class  CSequenceCtler
 A sequence controller is a biped controller which moves the biped according to some predefined sequence. More...
 
class  CSequenceManager
 a manger of sequences More...
 
class  CServiceLogger
 CServiceLogger is a more advanced multi-threaded logger than the simple CLogger it supports log level, formatting, log time output, etc. More...
 
class  CShadowMap
 some functions about shadow map More...
 
class  CShapeAABB
 AABB-related code. More...
 
class  CShapeBox
 a min max box. More...
 
class  CShapeCone
 a bounding cone More...
 
class  CShapeFrustum
 a general view frustum class. More...
 
class  CShapeOBB
 AABB with orientation by a matrix. More...
 
class  CShapePlane
 plane More...
 
class  CShapeRay
 A ray is a half-line P(t) = mOrig + mDir * t, with 0 <= t <= +infinity. More...
 
class  CShapeSphere
 
class  CSimpleTranslater
 this is usually used for translating from simplified Chinese to traditional Chinese character. More...
 
class  CSingleton
 
class  CSkeleton
 Each x file model must has a skeleton(including static object) A skeleton contains a collection of bones. More...
 
class  CSkinLayers
 
class  CSkyMesh
 the sky object in the scene. More...
 
class  CSlopeModelProvider
 
class  CSortedFaceGroups
 This class provides sorting and rendering of translucent face groups. More...
 
class  CSphereObject
 a CBaseObject whose position is at the center, instead of at the bottom. More...
 
class  CSpriteObject
 OBSOLETED Sprite object can either be used in the 3D space or 2D screen ordinates. More...
 
class  CSpriteRenderer
 base class for sprite renderer More...
 
class  CSpriteRendererDirectX
 
class  CSpriteRendererOpenGL
 
class  CStr
 
class  CStringTableDB
 
class  CSunLight
 Modeling the global sun and its directional light, including sun position, direction, color, time of day, etc. More...
 
class  CTerrainFilters
 Perform filtering on a terrain height field. More...
 
class  CTerrainTile
 a tile in the latticed terrain class More...
 
class  CTerrainTileRoot
 the root of the quad-tree terrain tiles. More...
 
class  CTexture
 Model textures are managed separately with the paraengine asset manager's texture pool.Textures used by model will be created and released at the same time of that of the 3D X file model. More...
 
class  CTextureLoader
 CTextureLoader implementation of IDataLoader it will first search locally. More...
 
class  CTextureProcessor
 CTextureProcessor implementation of IDataProcessor. More...
 
class  CTextureRenderer
 D3DFMT_X8R8G8B8 and RGB24 renderer. More...
 
class  CTileObject
 Tile Object have position and bounding rect and can usually be attached to quad-tree terrain tile. More...
 
class  CTitleDBProvider
 
class  CTouchGestureBase
 
class  CTouchGesturePinch
 Touch gesture recognizer. More...
 
class  CTypeManager
 
class  CUniBuffer
 Null implementation. More...
 
class  CUrlBuilder
 build a url string. More...
 
class  CUrlLoader
 CTextureLoader implementation of IDataLoader it will first search locally. More...
 
class  CUrlProcessor
 CUrlProcessor implementation of IDataProcessor. More...
 
class  CUrlProcessorUserData
 one should derive from this class with virtual destructor. More...
 
class  CURLRequestTask
 URL request can be a HTTP get/post request etc. More...
 
class  CValueTracker
 a class for tracking the history of values. More...
 
class  CVariable
 represent any kind of static or animated variable, such as: string, double, float, int, bool, Vector3, Quaternion, or animated data with multiple time, value keys. More...
 
class  CVertexBufferPoolManager
 a manger of sequences More...
 
class  CVertexDeclaration
 vertex element More...
 
class  CViewCullingObject
 It is used for object-level view culling. More...
 
class  CViewport
 a region of view port to render into. More...
 
class  CViewportManager
 manager multiple viewport More...
 
class  CVoid
 
class  CVoxelMesh
 A voxel based mesh in the 3d scene. More...
 
class  CWeatherEffect
 either rain or snow. More...
 
class  CWindowIterator
 
struct  CWinRawMsg
 raw win32 message More...
 
class  CWinRawMsgQueue
 the message queue. More...
 
class  CWireModelProvider
 for horizontal wires More...
 
class  CWorldInfo
 Providing information about the current game world. More...
 
class  CXFileAnimInstance
 Biped Animation controller. More...
 
class  CZipArchive
 Both the zip and ParaEngine's pkg file encryption logics are supported. More...
 
class  CZipWriter
 creating zip files More...
 
class  CZoneNode
 a zone in portal rendering. More...
 
struct  DatabaseEntity
 DataBaseEntity distinguish one template from other TODO: I should wrap the SQLite3 interface in DatabaseEntity. More...
 
struct  DataGrid
 Class providing a 3d grid of data values and methods for accessing and modifying it. More...
 
class  DeadlyImportError
 FOR IMPORTER PLUGINS ONLY: Simple exception class to be thrown if an unrecoverable error occurs while importing. More...
 
struct  default_user_allocator_dl_malloc
 
struct  default_user_allocator_malloc_free
 
struct  default_user_allocator_new_delete
 
class  Degree
 Wrapper class which indicates a given angle value is in Degrees. More...
 
struct  DialogKey
 dialog key for movie More...
 
struct  DIDEVICEOBJECTDATA
 
struct  direct_pair
 
class  DL_Allocator
 this is a general single-threaded allocator, which is used by the main game (rendering) thread in ParaEngine. More...
 
struct  DLLPlugInEntity
 a DLL plug-in loaded explicitly at runtime. More...
 
class  DropShadowRenderer
 
class  DVector3
 3-dimensional vector with double precision. More...
 
struct  DXUT_SCREEN_VERTEX
 2D screen with textures. More...
 
class  DynamicVertexBufferEntityDirectX
 When use DirectX, this is a real dynamic vertex buffer for rendering dynamic mesh When use OpenGL, we simulate it with client memory vertex array. More...
 
class  DynamicVertexBufferEntityOpenGL
 When use DirectX, this is a real dynamic vertex buffer for rendering dynamic mesh When use OpenGL, we simulate it with client memory vertex array. More...
 
class  DynamicVertexBufferManager
 buffer manager More...
 
class  EdgeHash
 For shadow volume: indexed edge building. More...
 
struct  EditorEvent
 world editor events, such as scene selection, etc. More...
 
struct  EffectKey
 the missile and magic effect movie key frame. More...
 
class  EffectManager
 manager all effects file used by the game engine. More...
 
class  EffectTextureStateStack
 push/pop texture states More...
 
struct  Event
 a general event More...
 
class  FaceComponent
 a CartoonFace slot component data in compact format. More...
 
struct  FaceGroup_Back_To_Front
 for sorting face group from back to front. More...
 
class  FaceTextureComponent
 
struct  FBXMaterial
 
class  FBXModelInfo
 for reading anim xml file, which is meta file when export FBX model. More...
 
class  FileData
 
struct  FileHandle
 a file handle in a Archive More...
 
class  fixed_string
 
class  fixed_string_base
 
class  Font
 
class  FontAtlas
 
class  FontAtlasCache
 
class  FontFreeType
 
struct  FontLetterDefinition
 
struct  FrameBind
 
struct  GDIClipNode
 
struct  GDIDCElement
 
struct  GDIFigure
 
struct  GDIPathElement
 
struct  GDISimpleEdge
 
struct  GEOA
 
class  GL
 
struct  GLContextAttrs
 There are six opengl Context Attrs. More...
 
class  GLFWEventHandler
 
class  GLProgram
 GLProgram Class that implements a glProgram. More...
 
class  GLProgramCache
 GLProgramCache Singleton that stores manages GLProgram objects (shaders) More...
 
struct  GreaterPostRenderObj
 
struct  GreaterPostRenderObj_ByOrder
 first sort from large to small by render importance and if render importance are same from near camera to far from camera. More...
 
struct  GreaterPostRenderObj_NoTechBatch
 
struct  GUIFontElement
 a font name, format and font color More...
 
class  GUIIMEDelegate
 base interface for cross-platform IME and also null implementation under win32 client. More...
 
struct  GUILAYER
 A GUI layer contains four drawable GUIStateElement, which are "normal", "highlight", "pressed", and "disabled". More...
 
struct  GUIListItem
 
struct  GUIState
 It's used as parameter to Render method of each GUI object. More...
 
struct  GUIStateElement
 A drawable element containing several textures and fonts, which can be retrieved by name or index. More...
 
struct  GUITextureElement
 a texture from a rectangular region of bitmap, and one additional texture color More...
 
struct  GUIToolTipItem
 
class  hash_compare_edge
 the hash compare class for stdext hash_set used in shadow volume edge building More...
 
struct  HeadOn3DData
 It is the data structure that holds description data about the head on display. More...
 
class  IAnimated
 base class for AnimatedVariable. More...
 
class  IAttributeFields
 A common interface for all classes implementing IAttributeFields By implementing this class's virtual functions, it enables a class to easily expose attributes to the NPL scripting interface. More...
 
class  IAudioSourceEventHandler
 Interface for event handlers on Audio Sources. More...
 
class  IBatchedElementDraw
 IParaDebugDraw draw interface draws line based primitives for debugging purposes. More...
 
class  IBlockModelProvider
 interface class for filtering block models. More...
 
class  IBrowserMsgListener
 
class  ICadModelImporter
 
class  ICharacterTrackerContainer
 it is a class for holding various character trackers by their name. More...
 
class  ICollection
 
class  IDataLoader
 IDataLoader is an interface that the AsyncLoader class uses to load data from disk. More...
 
class  IDataProcessor
 IDataProcessor is an interface that the AsyncLoader class uses to process and copy data into locked resource pointers. More...
 
class  Identity
 
class  IEmbeddedBrowserWindowObserver
 
class  IEnvironmentSim
 environment simulator. More...
 
struct  IEvent
 the event interface More...
 
class  IGameObject
 this is an interface class for game objects, such as NPC, OPC and players. More...
 
class  IHeadOn3D
 Some 3d object may contain some head on display objects. More...
 
class  IHTMLBrowserManager
 NPL interface of a XML Web service client proxy this class is implemented by ParaEngine.Net plug-in. More...
 
class  Image
 
class  ImageEntity
 Unlike TextureEntity, ImageEntity is a device independent entity in memory. More...
 
struct  ImageExtendInfo
 
class  IMovieCodec
 for movie capturing More...
 
struct  Indice0Def
 ParaX indice for view 0. More...
 
class  INPLJabberClient
 NPL interface of a Jabber-XMPP client proxy. More...
 
class  INPLWebService
 NPL interface of a XML Web service client proxy. More...
 
class  INPLWebServiceClient
 interface of NPL web service client. More...
 
struct  Int16x3
 basic block world coordinate More...
 
struct  Int32x3
 for block or chunk location that does not has boundary check. More...
 
class  Interface_ID
 an interface ID More...
 
class  InterfaceServer
 Base class for those classes and interfaces in ParaEngine that can serve interfaces. More...
 
struct  InterProcessMessage
 it represents an interprocess message More...
 
struct  InterProcessMessageIn
 for reading an input message. More...
 
class  intrusive_ptr_single_thread_base
 single-threaded reference counted base class for boost::intrusive_ptr all boost::intrusive_ptr<T>, should derive from this class. More...
 
class  intrusive_ptr_thread_safe_base
 multi-threaded reference counted base class for boost::intrusive_ptr all boost::intrusive_ptr<T>, should derive from this class. More...
 
struct  inv_pair
 
class  IObject
 base class for object, such as CBaseObject, IAttributeObject, GUI object. More...
 
class  IObjectDrag
 
class  IObjectScriptingInterface
 
class  IParaAudioEngine
 ParaAudioEngine core interface. More...
 
class  IParaAudioSource
 an audio source More...
 
class  IParaDebugDraw
 IParaDebugDraw draw interface draws line based primitives for debugging purposes. More...
 
class  IParaEngineApp
 a table of virtual functions which are used by plug-ins to access the game engine More...
 
class  IParaEngineCore
 a table of virtual functions which are used by plug-ins to access the game engine More...
 
class  IParaPhysics
 ParaPhysics core interface. More...
 
struct  IParaPhysicsActor
 it is represent a shape that can be used to create various actors in the scene. More...
 
struct  IParaPhysicsShape
 it is represent a shape that can be used to create various actors in the scene. More...
 
class  IParaWebPlayer
 ParaPhysics core interface. More...
 
class  IProcessorWorkerData
 interface of processor worker data More...
 
class  IReadFile
 Interface for read access to a file. More...
 
class  IRefObject
 anything that makes references to other objects. More...
 
class  IScene
 Basic scene interface: implemented by the CSceneObject and CMiniScenegraph class. More...
 
class  ISearchPathManager
 search path manager interface and implementation. More...
 
class  IsoSurfaceBuilder
 building triangles from 3d grid data. More...
 
class  IsoSurfaceRenderable
 Renderable object for the dynamically generated IsoSurface or voxel mesh. More...
 
class  ITouchInputTranslator
 
class  IType
 IType is for type information and validating It contains type information of an object. More...
 
class  IViewClippingObject
 Pure interface for CBaseObject (3D scene object) It defines basic shapes and collision detection. More...
 
class  IWriteFile
 Interface providing write access to a file. More...
 
class  JCOptions
 Option names. More...
 
struct  keyCodeItem
 
struct  KeyEvent
 simple key events struct More...
 
struct  KGAO
 
class  Label
 
class  LabelTextFormatter
 
class  LatentOcclusionQueryBank
 This is a bank of occlusion queries. More...
 
struct  LatentQueryElement
 
struct  Layer
 
struct  Layer1
 
struct  LayerAlpha
 
struct  LessPostRenderObj
 compare two post rendering object by its object to camera distance Type must be pointer to PostRenderObject derived class More...
 
struct  LessPostRenderObj_BipedSort
 first sort from large to small by render importance and if render importance are same from near camera to far from camera. More...
 
struct  LessPostRenderObj_NoTechBatch
 
class  LightBlock
 data structure used when resolving light More...
 
class  LightData
 Block Light Data. More...
 
class  LightGeomUtil
 
struct  LightParams
 LightParams is a structure for which a shadow volume is built. More...
 
struct  LinearAlpha
 
struct  LinearColor
 A linear, 32-bit/component floating point RGBA color. More...
 
struct  LinearKeyFrame3
 
struct  LinearKeyFrame4
 
struct  LINEVERTEX
 Custom vertex type for the bounding box. More...
 
class  Math
 standard math lib More...
 
class  Matrix3
 A 3x3 matrix which can represent rotations around axes. More...
 
class  Matrix3x3
 3x3 matrix. More...
 
class  Matrix4
 Class encapsulating a standard 4x4 homogeneous matrix. More...
 
struct  MatrixVertex
 matrix vertex More...
 
class  MD5
 An MD% implementation. More...
 
struct  mesh_vertex_normal
 for general mesh with normal More...
 
struct  mesh_vertex_normal_color
 
struct  mesh_vertex_normal_tex2
 
struct  mesh_vertex_plain
 for general mesh without normal and color More...
 
struct  MeshEntity
 MeshEntity distinguish one template from other. More...
 
struct  MeshHeader
 mesh header More...
 
struct  MeshLOD
 A way of recording the way each LODs is recorded a static Mesh or ParaXMesh object. More...
 
struct  MeshLodSortLess
 
class  MetaBall
 a meta ball is a building block of meta world fragment. More...
 
class  MetaHeightmap
 a meta height map is associated with a region in the global height map based terrain. More...
 
class  MetaObject
 Abstract class defining the interface for meta objects to be used with MetaObjectDataGrid. More...
 
class  MetaWorldFragment
 A MetaWorldFragment is the basic building block of the world. More...
 
struct  ModelAnimation
 
struct  ModelAttachment
 
struct  ModelAttachmentDef
 
struct  ModelBlockQ
 
struct  ModelBoneDef
 
struct  ModelCamera
 
struct  ModelCameraDef
 
struct  ModelColor
 
struct  ModelColorDef
 
struct  ModelGeoset
 One material + render operation. More...
 
struct  ModelHeader
 old header for md2 file More...
 
struct  ModelLight
 
struct  ModelLightDef
 
struct  ModelParticleEmitterDef
 
struct  ModelParticleParams
 
struct  ModelRenderFlags
 
struct  ModelRenderPass
 
struct  ModelRibbonEmitterDef
 
struct  ModelTexAnimDef
 
struct  ModelTextureDef
 old texture definition for md2 file More...
 
struct  ModelTexUnit
 A texture unit (sub of material) More...
 
struct  ModelTransDef
 
struct  ModelTransparency
 
struct  ModelVertex
 
struct  ModelView
 
struct  MouseEvent
 simple mouse event struct More...
 
class  MovieKeyFrame
 Generic movie key frame class: T is the data type stored in the key frame. More...
 
struct  MultiAnimFrame
 Inherits from D3DXFRAME. More...
 
struct  MultiAnimMC
 Desc: Inherits from D3DXMESHCONTAINER. More...
 
class  Mutex
 cross platform mutex More...
 
class  mutex
 cross platform mutex More...
 
struct  my_vertex
 
struct  MyD3DTexture
 
struct  MyParticle
 
class  NetworkAdapter
 
struct  NetworkEvent
 network event More...
 
class  no_lock
 a dummy lock object with all dummy interface functions More...
 
struct  NonLinearAlpha
 
struct  NonLinearKeyFrame3
 
struct  NonLinearKeyFrame4
 
class  Object_Script
 
struct  ObjectEvent
 event that can be passed to scene object More...
 
class  ObjectScriptPool
 
struct  OCCLUSION_VERTEX
 Custom vertex type for the occlusion object. More...
 
struct  ParaAudio_3DCUE
 Struct: ParaAudio_3DCUE. More...
 
struct  PARACOLORVALUE
 
class  ParaEmbeddedBrowserWindowEvent
 
class  ParaEngineSettings
 global settings for ParaEngine. More...
 
class  ParaIndexBuffer
 in OpenGL, there is no different between vertex and index buffer. More...
 
struct  PARAMATRIX
 
struct  PARAMATRIX3x3
 
class  ParaMemoryBuffer
 pure memory buffer, useful for filling in another thread and then upload to a real vertex buffer in the render thread. More...
 
struct  ParaPhysicsActorDesc
 Create descriptor for a physics actor. More...
 
struct  ParaPhysicsTriangleMeshDesc
 Create descriptor for triangle mesh shape. More...
 
struct  PARARECT
 
struct  PARAVECTOR2
 
struct  PARAVECTOR3
 
struct  PARAVECTOR4
 
class  ParaVertexBuffer
 cross platform vertex/index buffer. More...
 
class  ParaVertexBufferPool
 pool of vertex buffer object. More...
 
class  ParaViewport
 
struct  ParaXAnim
 
struct  ParaXEntity
 
struct  ParaXFile
 this is intermediary structure for parsing Para X file. More...
 
struct  ParaXFrame
 
struct  ParaXGeoChunk
 
struct  ParaXHeaderDef
 ParaX header definition: this header is shared by all ParaEngine model files. More...
 
struct  ParaXKeyFrame3
 
struct  ParaXKeyFrame4
 
struct  ParaXMaterial
 
struct  ParaXMesh
 
struct  ParaXMeshFace
 
struct  ParaXMeshMaterialList
 
class  ParaXModelCanvas
 A ParaX Model canvas is just a hierarchy of parax Models. More...
 
class  ParaXModelExporter
 
class  ParaXModelInstance
 ParaXModel instance all instanced data should go to this class. More...
 
struct  ParaXModelObjNum
 
struct  ParaXNorm
 
struct  ParaXRefObject
 XRef Objects in X and ParaX model. More...
 
struct  ParaXSkinWeight
 
struct  ParaXStaticModelRenderPass
 
struct  ParaXTexUV
 
struct  Particle
 
class  ParticleEmitter
 
struct  ParticleList
 it represents the instance of the particle system. More...
 
struct  ParticleRectUV
 for pre-calculated UV More...
 
struct  ParticleRenderPass
 particle render pass More...
 
class  ParticleSystem
 The particle class keeps a list of all of its instances.A particle system instance is always associated with a owner pointer, which is now the current scene object, such as a missile or a biped. More...
 
struct  ParticleSystemRef
 holding a reference of this class More...
 
class  PCPlane
 almost the same as Plane, except that it keeps a pointer to the containing portal. More...
 
struct  PEGestureInfo
 
struct  PickedObject
 it stands for an object intersecting with a ray. More...
 
struct  PickResult
 
class  Plane
 Defines a plane in 3D space. More...
 
class  PlaneBoundedVolume
 Represents a convex volume bounded by planes. More...
 
class  PlaneParticleEmitter
 
class  Pool_Char_alloc
 This class can be used as a custom allocator for stl containers, which constantly create and delete small or medium sized objects. More...
 
class  PoolBase
 if one wants to create and delete many objects of the same type per frame, derive your class from PoolBase. More...
 
class  PoolBase_SingleThreaded
 if one wants to create and delete many objects of the same type per frame, derive your class from PoolBase. More...
 
class  PoolThreadSafe
 this is a thread safe version of boost::pool. More...
 
struct  PosKey
 
struct  PostRenderObject
 for post rendering Object. More...
 
struct  PostRenderObjectWeakPtr
 for post rendering Object. More...
 
class  prebimap
 
class  PredefinedEvents
 some predefined events to pass to the event center in the PoseEvent method. More...
 
class  QBrush
 The QBrush class defines the fill pattern of shapes drawn by CPainter. More...
 
class  QFont
 
class  QLine
 
class  QLineF
 
class  QMargins
 
class  QMarginsF
 
class  QMatrix
 
class  QPainterPath
 
class  QPainterPathStroker
 
class  QPen
 The QPen class defines how a CPainter should draw lines and outlines of shapes. More...
 
class  QPoint
 
class  QPointF
 
class  QPolygon
 
class  QPolygonF
 
struct  QRealRect
 
class  QRect
 when concerting QRect with QRectF and RECT, we ensure that their left, top and width, height are the same. More...
 
class  QRectF
 
class  QRegion
 
class  QSize
 The QSize class defines the size of a two-dimensional object using integer point precision. More...
 
class  QSizeF
 
class  QTextOption
 Set the text align and other text displaying formats. More...
 
class  QTransform
 
class  Quaternion
 Implementation of a Quaternion, i.e. More...
 
class  QVectorPath
 
class  Radian
 Wrapper class which indicates a given angle value is in Radians. More...
 
class  RainParticle
 
class  RainSplashParticle
 
class  Ray
 Representation of a ray in space, i.e. More...
 
struct  RayCastHitResult
 
class  Rectangle
 
struct  ref_ptr
 The ref_ptr class template stores a pointer to a dynamically allocated (AssetEntity|CRefCounted|BaseAsset) derived object. More...
 
class  RefListItem
 a referenced object More...
 
class  RenderableChunk
 
class  RenderDevice
 a very thin wrapper to DirectX device with a portable version of openGL implementation. More...
 
class  RenderDeviceBase
 
struct  ReplaceableTextureGroup
 replaceable skins for non-customizable characters. More...
 
class  Resource
 
struct  ResourceRequest
 ParaEngine resource request. More...
 
class  RibbonEmitter
 this is another kind of particle system. More...
 
struct  RibbonSegment
 
struct  RippleItem
 a ripple More...
 
class  RippleList
 a list of active RippleItem More...
 
struct  SceneState
 It's used as parameter to Draw method of each scene object. More...
 
class  Scoped_Lock
 simple scoped lock function More...
 
class  scoped_Lock
 simple scoped lock function More...
 
class  Scoped_ReadLock
 simple scoped read lock function More...
 
class  Scoped_WriteLock
 simple scoped write lock function More...
 
class  Scoped_WriterUnlock
 
class  ScopedBoolean_Lock
 simple scoped lock for a boolean pointer. More...
 
class  ScopedPaintOnRenderTarget
 helper class for painting on render target More...
 
struct  SearchPath
 a search path. More...
 
class  SelectBlockVertex
 
struct  SelectedItem
 currently selected item. More...
 
class  Semaphore
 cross platform condition variable. More...
 
struct  SequenceAnim
 
class  SequenceEntity
 a reusable entity of sequence which contains an array of sequence items. More...
 
struct  SequenceName
 
struct  SerializerOptions
 Serialize options for input and output. More...
 
class  ShadowCaster
 The following shadow interface should be implemented for any shadow caster entity in the game engine. More...
 
struct  SHADOWVERTEX
 Custom vertex type for the shadows. More...
 
class  ShadowVolume
 ShadowVolume is a structure for storing shadow volume geometries. More...
 
class  ShortToFloat
 
class  SimpleAudioEngine
 
class  SimpleScript
 
class  Size
 
struct  sLightScatteringShaderParams
 
class  SnowParticle
 
class  Sphere
 A sphere primitive, mostly used for bounds checking. More...
 
class  SphereParticleEmitter
 
struct  sprite_vertex
 
struct  SpriteFontEntity
 
struct  SpriteFontEntityDirectX
 
struct  SpriteFontEntityOpenGL
 rendering font More...
 
struct  SpriteQuad
 
struct  SpriteThickLine
 
struct  SpriteTriangle
 
struct  SPRITEVERTEX
 Custom vertex type for the trees. More...
 
class  StackAllocator
 
class  StackContainer
 
class  StackString
 
class  StackVector
 
struct  StatisticsJabber
 A structure describing the current jabber connection statistics. More...
 
struct  stCharacterDbRecord
 
struct  stChestDbRecord
 
struct  stFruitDbRecord
 
struct  stItemDbRecord
 
struct  stPetAIDbRecord
 
struct  stPetDbRecord
 
struct  stPuzzleDbRecord
 
struct  stQuestDbRecord
 
class  StringBuilderT
 A NON-thread-safe, mutable sequence of characters(Binary is also possible). More...
 
class  StringHelper
 string manipulation helpers for ParaEngine More...
 
struct  STRUCT_DRAG_AND_DROP
 
struct  StructEventMappingTableItem
 
struct  stStringTableDbRecord
 
struct  stTitleDbRecord
 
struct  SubPartInfo
 
struct  SubScript
 It presents a script at a certain time. More...
 
struct  SWFHeader
 flash SWF header Signature UI8 Signature byte always ¡®F¡¯ Signature UI8 Signature byte always ¡®W¡¯ Signature UI8 Signature byte always ¡®S¡¯ Version UI8 Single byte file version (e.g. More...
 
struct  SWFRect
 for SWF rect More...
 
struct  SystemEvent
 system events struct More...
 
struct  SZIPFileDataDescriptor
 
struct  SZipFileEntry
 light-weighted file record header in memory. More...
 
struct  SZipFileEntryPtr
 
struct  SZIPFileHeader
 
struct  terrain_vertex
 for terrain More...
 
struct  terrain_vertex_normal
 for terrain with normal More...
 
struct  TerrainTileCacheItem
 a cached Terrain tile item More...
 
struct  TexCoordSet
 
struct  Texture
 
class  Texture2D
 
class  TextureAnim
 
class  TextureComposeRenderTarget
 a special render target for composing the multilayer character skin or facial texture. More...
 
class  TextureComposeTask
 base class for texture composer using using a render target. More...
 
struct  TextureEntity
 Which DXT Compression to Use? Obviously, there are some trade-offs between the different formats which make them better or worse for different types of images. More...
 
struct  TextureEntityDirectX
 Texture Entity distinguish one template from other The following type are all supported by texture entity. More...
 
struct  TextureEntityOpenGL
 texture entity. More...
 
class  TextureParams
 for reading texture parameters from strings like "texture/whitedot.png:10 10 10 10", "texture/whitedot.png;0 0 64 64:10 10 10 10" More...
 
class  Thread
 cross platform thread. More...
 
class  Tick
 Check to see if it is a tick. More...
 
struct  TouchEvent
 touch event More...
 
class  TouchEventSession
 it tracks touch events with same id, and expires when a touch is too long. More...
 
class  TouchSessions
 manages all global touch sessions. More...
 
class  TransformStack
 for world view projection transformation stack More...
 
struct  Triangle
 
class  TTerrain
 temp height field terrain data used by terrain filters. More...
 
union  TypePointer
 
union  TypePointer1
 
struct  Uint16x3
 basic block world coordinate More...
 
struct  UNDERWATER_VERTEX
 Custom vertex type for the under water effect. More...
 
struct  Uniform
 
class  unordered_array
 
struct  upload_context
 for read function More...
 
struct  UUID_t
 
class  Vec2
 
class  Vec3
 
class  Vector2
 Standard 2-dimensional vector. More...
 
class  Vector3
 Standard 3-dimensional vector. More...
 
class  Vector4
 4-dimensional homogeneous vector. More...
 
struct  VertexAttrib
 
struct  VertexData
 
struct  VertexElement
 
class  VertexPosition
 
class  VertexPositionIndex
 
class  VertexPositionNormal
 
class  VoxelTerrainEntity
 a voxel terrain entity uses a 3d grid to present a terrain mesh, such can have caves and overhangs on traditional height map terrains. More...
 
class  VoxelTerrainManager
 managing all voxel terrain entities used by any scenes More...
 
class  WaveEffect
 
class  WBClientSite
 
class  WBStorage
 
struct  weak_ptr
 weak reference ptr use in a class like this: weak_ptr<CRefCounted> p; e.g. More...
 
class  weak_ref_object
 DONOT use this class directly, use weak_ptr instead. More...
 
class  WeatherParticle
 base class for weather particle More...
 
class  WeatherParticleSpawner
 
class  WebBrowser
 
class  XFileCharModelExporter
 
class  XFileCharModelParser
 parsing character parax model: binary file only. More...
 
class  XFileDataObject
 data object in binary format More...
 
class  XFileExporter
 
struct  XFileHeader_t
 
class  XFileParser
 The XFileParser reads a XFile either in text or binary form and builds a temporary data structure out of it. More...
 
class  XFileStaticModelParser
 parsing static model: both binary and text format supported More...
 
struct  XFileTemplate_t
 
struct  XFileTemplateMember_t
 
class  XRefAnimInstance
 animated animation instance referenced in model object. More...
 
class  XRefMeshObject
 mesh instance referenced in model object. More...
 
class  XRefObject
 base class for all xref objects More...
 
struct  XVerticesDef
 ParaX vertices definition. More...
 
struct  ZIP_CentralDirectory
 
struct  ZIP_EndOfCentralDirectory
 
struct  ZIP_EndOfCentralDirectoryBlock
 
class  ZipArchiveEntry
 a single file in zip archive to be written to disk More...
 

Typedefs

typedef cow_ptr< CEventBindingEventBinding_cow_type
 
typedef FixedSizedAllocator< CGUIBase * > DL_Allocator_CGUIBase_Ptr
 
typedef std::deque< CGUIBase *, DL_Allocator_CGUIBase_Ptr > GUIBase_List_Type
 
typedef std::vector< MSGGUIMsgEventList_type
 
typedef Object_Script< CGUIBaseGUI_SCRIPT
 
typedef ObjectScriptPool< CGUIBaseCGUIScript
 
typedef ParaIntrusivePtr< CAudioSource2CAudioSource2_ptr
 
typedef DWORD RefMessage
 
typedef unordered_array< RefListItemRefList
 reference list
 
typedef vector< CLightParam * > LightList
 
typedef AssetManager< MeshEntityMeshEntityManager
 
typedef bool(* OBJECT_FILTER_CALLBACK) (CBaseObject *obj)
 call back function type for ray picking. More...
 
typedef AssetManager< ParaXEntityParaXEntityManager
 
typedef ref_ptr< CanvasAttachmentCanvasAttachmentPtr
 
typedef boost::circular_buffer< PCPlane *> PCPlaneList
 
typedef ObjectScriptPool< CBaseObjectCSceneScripts
 
typedef CTerrainTileCTerrainTilePtr
 
typedef FixedSizedAllocator< CTerrainTilePtrDL_Allocator_CTerrainTilePtr
 
typedef std::deque< CTerrainTilePtr, DL_Allocator_CTerrainTilePtr > deque_CTerrainTilePtr_Type
 
typedef std::queue< CTerrainTilePtr, deque_CTerrainTilePtr_Type > queue_CTerrainTilePtr_Type
 
typedef CBaseObjectCBaseObjectPtr
 
typedef FixedSizedAllocator< CBaseObjectPtrDL_Allocator_CBaseObjectPtr
 
typedef std::deque< CBaseObjectPtr, DL_Allocator_CBaseObjectPtr > deque_CBaseObjectPtr_Type
 
typedef std::queue< CBaseObjectPtr, deque_CBaseObjectPtr_Type > queue_CBaseObjectPtr_Type
 
typedef unordered_array< WeakPtrlist_IObjectWeakPtr_Type
 
typedef unordered_ref_array< CBaseObject * > ObjectRefArray_type
 
typedef FixedSizedAllocator< IGameObject::WeakPtr_typeDL_Allocator_IGameWeakPtr
 
typedef std::list< IGameObject::WeakPtr_type, DL_Allocator_IGameWeakPtr > VisitorList_type
 
typedef string BoneName
 
typedef string BoneFlag
 
typedef ref_ptr< BMaxBlockModelNodeBMaxBlockModelNodePtr
 
typedef ref_ptr< BMaxFrameNodeBMaxFrameNodePtr
 
typedef ref_ptr< BMaxNodeBMaxNodePtr
 
typedef ref_ptr< RectangleRectanglePtr
 
typedef std::string AssetKey
 the unique key object for asset entity.
 
typedef AssetManager< DatabaseEntityDatabaseAssetManager
 
typedef ref_ptr< CDynamicAttributeFieldDynamicFieldPtr
 
typedef DynamicVertexBufferEntityDirectX DynamicVertexBufferEntity
 
typedef boost::signals2::signal< void(const IEvent *, const std::string &)> EventHandler_Callback_t
 sync file call back function or class. More...
 
typedef boost::shared_ptr< InterProcessMessageInterProcessMessagePtr
 
typedef boost::shared_ptr< InterProcessMessageInInterProcessMessageInPtr
 
typedef CInterprocessQueueT< 2000, 256, boost::interprocess::message_queue > CInterprocessQueueFile
 
typedef CInterprocessQueueT< 2000, 256, boost::interprocess::message_queue > CInterprocessQueueFileEmu
 
typedef ParaEngine::weak_ptr< IObjectWeakPtr
 
typedef int SClass_ID
 class ID for built-in classes only.
 
typedef PARAMATRIX DeviceMatrix
 
typedef PARAMATRIXDeviceMatrix_ptr
 
typedef PARAVECTOR2DeviceVector2_ptr
 
typedef PARAVECTOR3DeviceVector3_ptr
 
typedef PARAVECTOR4DeviceVector4_ptr
 
typedef PARAVECTOR2 DeviceVector2
 
typedef PARAVECTOR3 DeviceVector3
 
typedef PARAVECTOR4 DeviceVector4
 
typedef IParaEngineCore *(STDCALL * funcPtrGetCOREInterface_type) ()
 
typedef const char *(* lpFnLibDescription) ()
 "LibDescription": must be implemented in a plug-in. More...
 
typedef unsigned long(* lpFnLibVersion) ()
 "LibVersion": must be implemented in a plug-in. More...
 
typedef int(* lpFnLibNumberClasses) ()
 "LibNumberClasses": must be implemented in a plug-in. More...
 
typedef ClassDescriptor *(* lpFnLibClassDesc) (int i)
 "LibClassDesc": must be implemented in a plug-in. More...
 
typedef void(* lpFnLibInit) ()
 "LibInit": this is optional in a plug-in
 
typedef void(* lpFnLibInitParaEngine) (IParaEngineCore *pIParaEngineCore)
 "LibInitParaEngine": this is optional in a plug-in
 
typedef int(* lpFnLibActivate) (int nType, void *pVoid)
 "LibActivate": this is optional in a plug-in
 
typedef void(STDCALL * pfnEnsureInit) (void)
 
typedef void(STDCALL * pfnForceTerm) (void)
 
typedef AssetManager< SpriteFontEntity, SpriteFontEntitySpriteFontAssetManager
 
typedef AssetManager< TextureEntity, TextureEntityTextureAssetManager
 
typedef DWORD(* URL_LOADER_CALLBACK) (int nResult, CUrlProcessor *pRequest, CUrlProcessorUserData *pUserData)
 
typedef ParaIntrusivePtr< CGDIRenderTargetCGDIRenderTarget_ptr
 
typedef list< SubScriptMovieSubScripts
 movie sub scripts
 
typedef vector< CNpcDbItemNPCDBItemList
 
typedef std::vector< LatentQueryElementQueryVector
 
typedef ParaIntrusivePtr< CWinRawMsgCWinRawMsg_ptr
 
typedef CValueTracker< Vector3CVector3Tracker
 
typedef CValueTracker< int > CIntTracker
 
typedef CValueTracker< float > CFloatTracker
 
typedef CValueTracker< std::string > CStringTracker
 
typedef CValueTracker< bool > CBooleanTracker
 
typedef CValueTracker< CNetByteArrayCNetByteArrayTracker
 
typedef ParaInfoCenter::DBEntity DBEntity
 database entity
 
typedef ParaInfoCenter::CICDBManager CDBManager
 database manager: please use static method
 
typedef ParaInfoCenter::CICRecordSet CDBRecordSet
 a record set and stored procedure
 
typedef boost::shared_ptr< CFileSystemWatcherCFileSystemWatcherPtr
 
typedef ParaIntrusivePtr< ResourceRequestResourceRequest_ptr
 
typedef std::vector< PlanePlaneList
 
typedef std::vector< PlaneBoundedVolumePlaneBoundedVolumeList
 
typedef float vec
 
typedef CNPLPool_Char_alloc CNPLPool_Char_allocator
 a quick define
 
typedef std::basic_string< char, std::char_traits< char >, ParaEngine::CNPLPool_Char_alloc<> > NPLString
 NPL String can be used instead of std::string, for strings which are created and deleted very regularly. More...
 
typedef DWORD(* URL_REQUEST_TASK_CALLBACK) (int nResult, CURLRequestTask *pRequest, LPVOID lpUserData)
 
typedef void(* qvectorpath_cache_cleanup) (CPaintEngine *engine, void *data)
 
typedef std::pair< uint32, uint32 > AnimRange
 
typedef Animated< float, DWORD, ShortToFloatAnimatedShort
 
typedef asset_ptr< CParaXModelCParaXModelPtr
 
typedef ref_ptr< CParaXStaticModelCParaXStaticModelPtr
 
typedef CParaXStaticModelCParaXStaticModelRawPtr
 
typedef FixedSizedAllocator< ParticleDL_Allocator_ParticleList
 
typedef std::list< Particle, DL_Allocator_ParticleList > ParticleListType
 
typedef ref_ptr< XFileDataObjectXFileDataObjectPtr
 
typedef struct ParaEngine::_MipmapInfo MipmapInfo
 
typedef struct ParaEngine::_hashUniformEntry tHashUniformEntry
 
typedef void(* GLInfoFunction) (GLuint program, GLenum pname, GLint *params)
 
typedef void(* GLLogFunction) (GLuint program, GLsizei bufsize, GLsizei *length, GLchar *infolog)
 
typedef struct ParaEngine::_ttfConfig TTFConfig
 
typedef int32_t VertexBufferDevicePtr_type
 
typedef int32_t IndexBufferDevicePtr_type
 
typedef struct ParaEngine::_Para3DLight Para3DLight
 
typedef struct ParaEngine::_ParaMaterial ParaMaterial
 
typedef uint32_t DeviceTexturePtr_type
 
typedef RenderDeviceRenderDevicePtr
 
typedef CVertexDeclarationVertexDeclarationPtr
 
typedef struct ParaEngine::_DIMOUSESTATE DIMOUSESTATE
 
typedef struct ParaEngine::_DIMOUSESTATELPDIMOUSESTATE
 
typedef struct ParaEngine::_DIMOUSESTATE2 DIMOUSESTATE2
 
typedef struct ParaEngine::_DIMOUSESTATE2LPDIMOUSESTATE2
 
typedef struct ParaEngine::DIDEVICEOBJECTDATA DIDEVICEOBJECTDATA
 
typedef struct ParaEngine::DIDEVICEOBJECTDATALPDIDEVICEOBJECTDATA
 
typedef enum ParaEngine::_D3DLIGHTTYPE D3DLIGHTTYPE
 
typedef enum ParaEngine::_D3DCULL D3DCULL
 
typedef enum ParaEngine::_D3DFORMAT D3DFORMAT
 
typedef enum ParaEngine::_D3DPRIMITIVETYPE D3DPRIMITIVETYPE
 
typedef enum ParaEngine::_D3DTEXTUREADDRESS D3DTEXTUREADDRESS
 
typedef enum ParaEngine::_D3DTEXTUREFILTERTYPE D3DTEXTUREFILTERTYPE
 
typedef struct ParaEngine::_D3DVIEWPORT9 D3DVIEWPORT9
 
typedef enum ParaEngine::_D3DTEXTURESTAGESTATETYPE D3DTEXTURESTAGESTATETYPE
 
typedef enum ParaEngine::_D3DCMPFUNC D3DCMPFUNC
 
typedef enum ParaEngine::_D3DSTENCILOP D3DSTENCILOP
 
typedef enum ParaEngine::_D3DTEXTUREOP D3DTEXTUREOP
 
typedef enum ParaEngine::_D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
 
typedef enum ParaEngine::_D3DDECLTYPE D3DDECLTYPE
 
typedef enum ParaEngine::_D3DDECLUSAGE D3DDECLUSAGE
 
typedef enum ParaEngine::_D3DBLEND D3DBLEND
 
typedef enum ParaEngine::_D3DRENDERSTATETYPE D3DRENDERSTATETYPE
 
typedef enum ParaEngine::_D3DSAMPLERSTATETYPE D3DSAMPLERSTATETYPE
 
typedef enum ParaEngine::_D3DDECLMETHOD D3DDECLMETHOD
 
typedef enum ParaEngine::_D3DPOOL D3DPOOL
 
typedef ParaIntrusivePtr< CServiceLoggerCServiceLogger_ptr
 
typedef mutex::ScopedLock Lock
 
typedef StringBuilderT< ParaEngine::CNPLPool_Char_allocatorStringBuilder
 the string builder class using CNPLPool_Char_alloc
 
typedef asset_ptr< DataGridDataGridPtr
 Reference-counted shared pointer to a DataGrid.
 
typedef asset_ptr< MetaBallMetaBallPtr
 
typedef asset_ptr< MetaObjectMetaObjectPtr
 
typedef asset_ptr< MetaWorldFragmentMetaWorldFragmentPtr
 

Enumerations

enum  HighlightStyle { HighlightNone, Highlight4outsideArrow, HighlightNstageAnimation, HighlightCustom }
 
enum  GUIResourceState { GUIResourceState_Normal, GUIResourceState_Pressed, GUIResourceState_Highlight, GUIResourceState_Disabled }
 
enum  GUI_SCROLL_TYPE { NONE = 0, HSCROLL = 1, VSCROLL = 2 }
 
enum  CameraMode {
  CameraFollow = 1, CameraFollowFirstPerson = 2, CameraFollowThirdPerson = 3, CameraFollowEnd = 4,
  CameraFollowDefault = 5, CameraCamera = 10, CameraCameraFirstPerson = 11
}
 
enum  CharacterAndCameraKeys {
  MOVE_LEFT = 0, MOVE_RIGHT, MOVE_FORWARD, MOVE_BACKWARD,
  SHIFT_RIGHT, SHIFT_LEFT, CHARACTER_JUMP, CAM_LOCK,
  CAM_RESET, ZOOM_IN, ZOOM_OUT, FLY_DOWNWARD,
  MAX_KEYS, KEY_UNKNOWN = 0xFF
}
 
enum  OBJECT_ATTRIBUTE {
  OBJ_VOLUMN_SENSOR = 1, OBJ_VOLUMN_CONTAINER = 0x1<<1, OBJ_VOLUMN_FREESPACE = 0x1<<2, OBJ_VOLUMN_ISOLATED = 0x1<<3,
  OBJ_VOLUMN_TILE_VISITOR = 0x1<<4, OBJ_VOLUMN_VIP = 0x1<<5, OBJ_VOLUMN_INVISIBLE = 0x1<<6, VOLUMN_MASK = 0x7f,
  MESH_USE_LIGHT = 0x1<<7, MESH_BILLBOARDED = 0x1<<8, MESH_SHADOW_RECEIVER = 0x1<<9, MESH_SHADOW_NOT_CASTER = 0x1<<10,
  MESH_VEGETATION = 0x1<<11, OBJ_SHOW_BOUNDINGBOX = 0x1<<12, OBJ_BIG_STATIC_OBJECT = 0x1<<13, OBJ_SKIP_RENDER = 0x1<<14,
  OBJ_SKIP_PICKING = 0x1<<15, OBJ_SKIP_TERRAIN_NORMAL = 0x1<<16, OBJ_CUSTOM_RENDERER = 0x1 << 17
}
 object volume bit fields here is some example:
scene root: OBJ_VOLUMN_ISOLATED | OBJ_VOLUMN_FREESPACE floor/terrain: OBJ_VOLUMN_ISOLATED | OBJ_VOLUMN_FREESPACE | OBJ_VOLUMN_CONTAINER biped: OBJ_VOLUMN_SENSOR dummy: [OBJ_VOLUMN_SENSOR] e.g. More...
 
enum  PHYSICS_METHOD { PHYSICS_LAZY_LOAD = 1, PHYSICS_ALWAYS_LOAD = 0x1 << 1, PHYSICS_FORCE_NO_PHYSICS = 0x1 << 2, PHYSICS_LOAD_FROM_ASSET = 0x1 << 3 }
 how physics is implemented in this object. More...
 
enum  ObjectType {
  _undefined = 0, _Floor = 2, _Sky = 3, _MeshTerrain = 4,
  _Scene = 5, _LocalLight = 6, _PC_Zone =7, _PC_Portal =8,
  _PC_AntiPortal =9, _Tile = 20, _Sensor = 22, _House = 23,
  _SolidHouse = 24, _SolidLightedHouse = 25, _SolidMesh = 26, _DummyMesh = 27,
  _MiniSceneGraph = 28, _VoxelMesh = 29, _Biped = 40, _DummyAnimMesh =41,
  _SolidAnimMesh =42, _NPC =50, _GlobalBiped = 60, _OPC,
  _Team, _Creature, _Player, _RPG,
  _UnknownGlobal, _CameraFollowPerson =100, _CameraThirdPerson =101, _CameraFirstPerson =102
}
 type of the scene objects More...
 
enum  RenderSelectionStyle { RenderSelectionStyle_unlit = 0, RenderSelectionStyle_border = 1, RenderSelectionStyle_flash = 2 }
 how to render a selected object More...
 
enum  CharRegions {
  CR_BASE = 0, CR_ARM_UPPER, CR_ARM_LOWER, CR_HAND,
  CR_FACE_UPPER, CR_FACE_LOWER, CR_TORSO_UPPER, CR_TORSO_LOWER,
  CR_LEG_UPPER, CR_LEG_LOWER, CR_FOOT, CR_WINGS,
  CR_FACE_BASE, CR_FACE_WRINKLE, CR_FACE_EYE_RIGHT, CR_FACE_EYEBROW_RIGHT,
  CR_FACE_MOUTH, CR_FACE_NOSE, CR_FACE_MARKS, CR_ARIES_CHAR_SHIRT,
  CR_ARIES_CHAR_SHIRT_OVERLAYER, CR_ARIES_CHAR_PANT, CR_ARIES_CHAR_HAND, CR_ARIES_CHAR_FOOT,
  CR_ARIES_CHAR_GLASS, CR_ARIES_PET_HEAD, CR_ARIES_PET_BODY, CR_ARIES_PET_TAIL,
  CR_ARIES_PET_WING, CR_ARIES_CHAR_SHIRT_TEEN, NUM_REGIONS, CR_CAPE,
  CR_HEAD, CR_SHOULDER, CR_WEAPON, CR_SHIELD,
  CR_SKIRT, CR_FACE_ADDON, CR_ARIES_CHAR_WING, CR_ARIES_CHAR_BACK,
  CR_ARIES_CHAR_GROUND_EFFECT, CR_ARIES_CHAR_GEM_BUFF_EFFECT, NUM_REGION_PATHS
}
 
enum  ItemTypes {
  IT_ALL = 0, IT_HEAD = 1, IT_NECK, IT_SHOULDER,
  IT_SHIRT, IT_CHEST, IT_BELT, IT_PANTS,
  IT_BOOTS, IT_BRACERS, IT_GLOVES, IT_RINGS,
  IT_OFFHAND, IT_DAGGER, IT_SHIELD, IT_BOW,
  IT_CAPE, IT_2HANDED, IT_QUIVER, IT_TABARD,
  IT_ROBE, IT_1HANDED, IT_CLAW, IT_ACCESSORY,
  IT_THROWN, IT_GUN, IT_MASK, IT_WINGS,
  IT_ARIES_CHAR_SHIRT, IT_ARIES_CHAR_PANT, IT_ARIES_CHAR_HAND, IT_ARIES_CHAR_FOOT,
  IT_ARIES_CHAR_GLASS, IT_ARIES_CHAR_WING, IT_ARIES_PET_HEAD, IT_ARIES_PET_BODY,
  IT_ARIES_PET_TAIL, IT_ARIES_PET_WING, IT_ARIES_CHAR_BACK, IT_ARIES_CHAR_GROUND_EFFECT,
  IT_ARIES_CHAR_SHIRT_TEEN, IT_ARIES_CHAR_GEM_BUFF_EFFECT, NUM_ITEM_TYPES
}
 
enum  ATTACHMENT_ID {
  ATT_ID_SHIELD = 0, ATT_ID_HAND_RIGHT = 1, ATT_ID_HAND_LEFT = 2, ATT_ID_TEXT = 3,
  ATT_ID_GROUND = 4, ATT_ID_SHOULDER_RIGHT = 5, ATT_ID_SHOULDER_LEFT = 6, ATT_ID_HEAD = 11,
  ATT_ID_FACE_ADDON = 12, ATT_ID_EAR_LEFT_ADDON = 13, ATT_ID_EAR_RIGHT_ADDON = 14, ATT_ID_BACK_ADDON = 15,
  ATT_ID_WAIST = 16, ATT_ID_NECK = 17, ATT_ID_BOOTS = 18, ATT_ID_MOUTH = 19,
  ATT_ID_MOUNT1 = 20, ATT_ID_MOUNT2, ATT_ID_MOUNT3, ATT_ID_MOUNT4,
  ATT_ID_MOUNT5, ATT_ID_MOUNT6, ATT_ID_MOUNT7, ATT_ID_MOUNT8,
  ATT_ID_MOUNT9, ATT_ID_MOUNT10, ATT_ID_MOUNT11, ATT_ID_MOUNT12,
  ATT_ID_MOUNT13, ATT_ID_MOUNT14, ATT_ID_MOUNT15, ATT_ID_MOUNT16,
  ATT_ID_MOUNT17, ATT_ID_MOUNT18, ATT_ID_MOUNT19, ATT_ID_MOUNT20,
  ATT_ID_MOUNT00 = 0xffff
}
 attachment ID for character models
 
enum  CharSlots {
  CS_HEAD = 0, CS_NECK = 1, CS_SHOULDER = 2, CS_BOOTS = 3,
  CS_BELT = 4, CS_SHIRT = 5, CS_PANTS = 6, CS_CHEST = 7,
  CS_BRACERS = 8, CS_GLOVES = 9, CS_HAND_RIGHT = 10, CS_HAND_LEFT = 11,
  CS_CAPE = 12, CS_TABARD = 13, CS_FACE_ADDON = 14, CS_WINGS = 15,
  CS_ARIES_CHAR_SHIRT = 16, CS_ARIES_CHAR_PANT = 17, CS_ARIES_CHAR_HAND = 18, CS_ARIES_CHAR_FOOT = 19,
  CS_ARIES_CHAR_GLASS = 20, CS_ARIES_CHAR_WING = 21, CS_ARIES_PET_HEAD = 22, CS_ARIES_PET_BODY = 23,
  CS_ARIES_PET_TAIL = 24, CS_ARIES_PET_WING = 25, CS_ARIES_CHAR_BACK = 26, CS_ARIES_CHAR_GROUND_EFFECT = 27,
  CS_ARIES_CHAR_SHIRT_TEEN = 28, CS_ARIES_CHAR_GEM_BUFF_EFFECT = 29, CS_ARIES_CHAR_RING_BUFF_EFFECT = 30, NUM_CHAR_SLOTS
}
 slots ID on the character
 
enum  CartoonFaceSlots {
  CFS_FACE = 0, CFS_WRINKLE = 1, CFS_EYE = 2, CFS_EYEBROW = 3,
  CFS_MOUTH = 4, CFS_NOSE = 5, CFS_MARKS = 6, CFS_TOTAL_NUM
}
 cartoon face slots on the face of the character
 
enum  BodyParamsType {
  BP_SKINCOLOR = 0, BP_FACETYPE = 1, BP_HAIRCOLOR = 2, BP_HAIRSTYLE = 3,
  BP_FACIALHAIR = 4
}
 body parameter type on the character
 
enum  DisplayOptionType { DO_SHOWUNDERWEAR = 0, DO_SHOWEARS = 1, DO_SHOWHAIR = 2 }
 display option type on the character
 
enum  TechniqueHandle {
  TECH_NONE = 0, TECH_OCCLUSION_TEST, TECH_SIMPLE_MESH, TECH_SIMPLE_MESH_NORMAL,
  TECH_SIMPLE_MESH_NORMAL_VEGETATION, TECH_SIMPLE_MESH_NORMAL_INSTANCED, TECH_SIMPLE_MESH_NORMAL_SHADOW, TECH_SIMPLE_MESH_NORMAL_TRANSPARENT,
  TECH_SIMPLE_MESH_NORMAL_CTOR, TECH_SIMPLE_MESH_NORMAL_UNLIT, TECH_SIMPLE_MESH_NORMAL_SELECTED, TECH_SIMPLE_MESH_NORMAL_TEX2,
  TECH_CHARACTER, TECH_PARTICLES, TECH_WATER_RIPPLE, TECH_SPRITE,
  TECH_SKY_MESH, TECH_SKY_DOME, TECH_TERRAIN, TECH_OCEAN,
  TECH_OCEAN_SIMPLE, TECH_OCEAN_UNDERWATER, TECH_FULL_SCREEN_GLOW, TECH_SHADOWMAP_BLUR,
  TECH_GUI, TECH_SIMPLE_MESH_NORMAL_BORDER, TECH_SIMPLE_CAD_MODEL, TECH_SIMPLE_DROPSHADOW,
  TECH_SCREEN_WAVE, TECH_BLOCK, TECH_OCEAN_CLOUD, TECH_BLOCK_FANCY,
  TECH_SINGLE_COLOR, TECH_GUI_TEXT, TECH_BMAX_MODEL, TECH_UNKNOWN
}
 ParaEngine reserved technique handle: the following technique Handles are reserved for ParaEngine internal usages. More...
 
enum  REF_MESSAGE { REFMSG_REF_DELETED = 0x1, REFMSG_REF_ADDED = 0x2 }
 
enum  RefResult {
  REF_FAIL, REF_SUCCEED, REF_DONTCARE, REF_STOP,
  REF_INVALID, REF_AUTO_DELETE
}
 
enum  ObjectShape {
  _ObjectShape_Circle = 0, _ObjectShape_Sphere, _ObjectShape_Rectangular, _ObjectShape_Box,
  _ObjectShape_NX_dynamic, _ObjectShape_NX_static, _ObjectShape_NX_kinematicBox
}
 object shape More...
 
enum  MOVIE_RECORDING_STATE { RECORDER_STATE_BEGIN =0, RECORDER_STATE_PAUSED, RECORDER_STATE_END }
 
enum  LanguageType {
  ENGLISH = 0, CHINESE, FRENCH, ITALIAN,
  GERMAN, SPANISH, DUTCH, RUSSIAN,
  KOREAN, JAPANESE, HUNGARIAN, PORTUGUESE,
  ARABIC, NORWEGIAN, POLISH
}
 Enum the language type supported now.
 
enum  XModelFileType { FileType_ParaX, FileType_FBX }
 
enum  RENDER_GROUP {
  RENDER_SKY_BOX = 1, RENDER_GLOBAL_TERRAIN = 0x1 << 1, RENDER_MESH_FRONT_TO_BACK = 0x1 << 2, RENDER_MESH_BACK_TO_FRONT = 0x1 << 3,
  RENDER_MESH_TRANSPARENT = 0x1 << 4, RENDER_CHARACTERS = 0x1 << 5, RENDER_PLAYER = 0x1 << 6, RENDER_SPRITES = 0x1 << 7,
  RENDER_MISSILES = 0x1 << 8, RENDER_PARTICLES = 0x1 << 9, RENDER_BOUNDINGBOX = 0x1 << 10, RENDER_GEN_SM_TERRAIN = 0x1 << 11,
  RENDER_TRANSLUCENT_FACE_GROUPS = 0x1 << 12, RENDER_PORTAL_SYSTEM = 0x1 << 13, RENDER_SELECTION = 0x1 << 14, RENDER_SHADOWMAP = 0x1 << 15,
  RENDER_TRANSPARENT_CHARACTERS = 0x1 << 16, RENDER_OWNER_DRAW = 0x1 << 17, RENDER_POST_RENDER_LIST = 0x1 << 18
}
 
enum  RENDER_PIPELINE_ORDER {
  PIPELINE_ORDER_PRE_SCENE = 0, PIPELINE_3D_SCENE = 1, PIPELINE_UI = 50, PIPELINE_POST_UI_3D_SCENE = 51,
  PIPELINE_COLOR_PICKING = 100
}
 general render pipeline order. More...
 
enum  SceneStateRenderState {
  RenderState_Standard, RenderState_3D, RenderState_Shadowmap, RenderState_Headon,
  RenderState_Overlay_ZPass, RenderState_Overlay, RenderState_Overlay_Picking, RenderState_Debug,
  RenderState_GUI
}
 which render state the current render pipeline is in. More...
 
enum  STEREO_EYE { STEREO_EYE_NORMAL = 0, STEREO_EYE_LEFT, STEREO_EYE_RIGHT }
 
enum  VIEWPORT_LAYOUT {
  VIEW_LAYOUT_DEFAULT, VIEW_LAYOUT_STEREO_LEFT_RIGHT, VIEW_LAYOUT_STEREO_UP_DOWN, VIEW_LAYOUT_STEREO_RED_BLUE,
  VIEW_LAYOUT_INVALID
}
 
enum  WeatherType { WeatherType_Rain = 0, WeatherType_Snow, WeatherType_RainSplash, WeatherType_Last }
 
enum  ChunkDataMask { ChunkDataMask_HasMaskData = 0x1<<31, ChunkDataMask_HasCustomData = 0x1<<30, ChunkDataMask_HasBlockData = 0x1<<29 }
 chunk data mask
 
enum  ChunkCustomDataType {
  ChunkCustomDataType_Blocks = 0, ChunkCustomDataType_Blocks_SkipOne, ChunkCustomDataType_Blocks_Delta, ChunkCustomDataType_Biomes,
  ChunkCustomDataType_Biomes_SameInteger, ChunkCustomDataType_TimeStamp, ChunkCustomDataType_TimeStamp_SameInteger, ChunkCustomDataType_Heightmap,
  ChunkCustomDataType_LightValues, ChunkCustomDataType_ChunksData = 100
}
 custom chunk data More...
 
enum  BlockRenderPass { BlockRenderPass_Opaque = 0, BlockRenderPass_AlphaTest, BlockRenderPass_AlphaBlended, BlockRenderPass_ReflectedWater }
 
enum  RelativeBlockPos {
  rbp_center = 0, rbp_pX, rbp_nX, rbp_pY,
  rbp_nY, rbp_pZ, rbp_nZ, rbp_pXpY,
  rbp_pXnY, rbp_pXpZ, rbp_pXnZ, rbp_nXpY,
  rbp_nXnY, rbp_nXpZ, rbp_nXnZ, rbp_pYpZ,
  rbp_pYnZ, rbp_nYpZ, rbp_nYnZ, rbp_pXpYpZ,
  rbp_pXpYnZ, rbp_pXnYPz, rbp_pXnYnZ, rbp_nXpYpZ,
  rbp_nXpYnZ, rbp_nXnYPz, rbp_nXnYnZ
}
 
enum  DirectionFlag {
  dir_center = 0x0000, dir_x = 0x0001, dir_nx = 0x0002, dir_z = 0x0004,
  dir_nz = 0x0008, dir_y = 0x0010, dir_ny = 0x0020, dir_xy = dir_x | dir_y,
  dir_xny = dir_x | dir_ny, dir_xz = dir_x | dir_z, dir_xnz = dir_x | dir_nz, dir_nxy = dir_nx | dir_y,
  dir_nxny = dir_nx | dir_ny, dir_nxz = dir_nx | dir_z, dir_nxnz = dir_nx | dir_nz
}
 
enum  BlockRenderMethod { BLOCK_RENDER_FIXED_FUNCTION = 0, BLOCK_RENDER_FAST_SHADER, BLOCK_RENDER_FANCY_SHADER }
 
enum  BlockGroundIDEnum { BLOCK_GROUP_ID_HIGHLIGHT = 0, BLOCK_GROUP_ID_WIREFRAME, BLOCK_GROUP_ID_WIREFRAME1, BLOCK_GROUP_ID_MAX = 10 }
 
enum  CadModelPrimitiveType { cmpt_triangleList, cmpt_triangleStrip, cmpt_lineStrip }
 
enum  Table_Row_Column_Type { Table_Neutral, Table_Column, Table_Row }
 
enum  DATAROW_STATE {
  DataRow_Detached =1, DataRow_Unchanged =2, DataRow_Added =4, DataRow_Deleted =8,
  DataRow_Modified =16
}
 
enum  ATTRIBUTE_CLASSID_TABLE {
  ATTRIBUTE_CLASSID_IAttributeFields = 0, ATTRIBUTE_CLASSID_CBaseObject, ATTRIBUTE_CLASSID_CSphereObject, ATTRIBUTE_CLASSID_CBipedObject,
  ATTRIBUTE_CLASSID_IGameObject, ATTRIBUTE_CLASSID_CRpgCharacter, ATTRIBUTE_CLASSID_CDndCharacterAttribute, ATTRIBUTE_CLASSID_CAttributesManager,
  ATTRIBUTE_CLASSID_CSkyMesh, ATTRIBUTE_CLASSID_CSceneObject, ATTRIBUTE_CLASSID_CGlobalTerrain, ATTRIBUTE_CLASSID_CTerrainObject,
  ATTRIBUTE_CLASSID_ParaEngineSetting, ATTRIBUTE_CLASSID_CMeshPhysicsObject, ATTRIBUTE_CLASSID_CMeshObject, ATTRIBUTE_CLASSID_COceanManager,
  ATTRIBUTE_CLASSID_CBaseCamera, ATTRIBUTE_CLASSID_CAutoCamera, ATTRIBUTE_CLASSID_CSunLight, ATTRIBUTE_CLASSID_CLightObject,
  ATTRIBUTE_CLASSID_MiniSceneGraph, ATTRIBUTE_CLASSID_IScene, ATTRIBUTE_CLASSID_CPortalNode, ATTRIBUTE_CLASSID_CZoneNode,
  ATTRIBUTE_CLASSID_CGUIBase, ATTRIBUTE_CLASSID_CGUIRoot, ATTRIBUTE_CLASSID_CGUIContainer, ATTRIBUTE_CLASSID_CGUIButton,
  ATTRIBUTE_CLASSID_CGUIWebBrowser, ATTRIBUTE_CLASSID_CGUIText, ATTRIBUTE_CLASSID_CGUIEditBox, ATTRIBUTE_CLASSID_CGUIIMEEditBox,
  ATTRIBUTE_CLASSID_CDXUTMesh, ATTRIBUTE_CLASSID_CParaXModel, ATTRIBUTE_CLASSID_CNPLRuntime, ATTRIBUTE_CLASSID_BlockWorldClient,
  ATTRIBUTE_CLASSID_BlockWorld, ATTRIBUTE_CLASSID_MoviePlatform, ATTRIBUTE_CLASSID_ViewPort, ATTRIBUTE_CLASSID_CParaXStaticModel,
  ATTRIBUTE_CLASSID_WeatherEffect, ATTRIBUTE_CLASSID_CTerrainTileRoot, ATTRIBUTE_CLASSID_Last
}
 
enum  SIMPLE_SCHEMA {
  SCHEMA_RGB = 0, SCHEMA_FILE, SCHEMA_SCRIPT, SCHEMA_INTEGER,
  SCHEMA_FLOAT, SCHEMA_DIALOG
}
 
enum  LocalGameLanguage { ENGLISH = 0, ENGLISH = 0, SIMPLIFIEDCHINESE = 1, RESERVED1 = 2 }
 
enum  DynamicVBAssetType {
  DVB_XYZ_TEX1_NORM_DIF = 0, DVB_XYZ_TEX1_NORM, DVB_XYZ_TEX1_DIF, DVB_XYZ_NORM_DIF,
  DVB_MATRIX, DVB_COUNT
}
 ID of dynamic vertex buffer asset. More...
 
enum  Event_Mapping {
  EM_NONE, EM_PL_FORWARD, EM_PL_BACKWARD, EM_PL_LEFT,
  EM_PL_RIGHT, EM_PL_SHIFTLEFT, EM_PL_SHIFTRIGHT, EM_PL_JUMP,
  EM_PL_CROUCH, EM_PL_TOGGLE_ALWAYS_RUN, EM_PL_TOGGLE_RUN_WALK, EM_PL_MOUNT_ON,
  EM_PL_ACTION1, EM_PL_ACTION2, EM_PL_ACTION3, EM_PL_ACTION4,
  EM_GM_PAUSE, EM_GM_NEXTANIM, EM_GM_PRIORANIM, EM_GM_NEXTOBJ,
  EM_CAM_LOCK, EM_CAM_RESET, EM_CAM_MODE_FOLLOW, EM_CAM_MODE_FREE,
  EM_CAM_FOCUS_POS_UP, EM_CAM_FOCUS_POS_DOWN, EM_CAM_FORWARD, EM_CAM_BACKWARD,
  EM_CAM_LEFT, EM_CAM_RIGHT, EM_CAM_SHIFTLEFT, EM_CAM_SHIFTRIGHT,
  EM_CAM_LEFTDOWN, EM_CAM_LEFTUP, EM_CAM_RIGHTDOWN, EM_CAM_RIGHTUP,
  EM_CAM_ZOOM, EM_CAM_ZOOM_IN, EM_CAM_ZOOM_OUT, EM_CTRL_CHANGE,
  EM_CTRL_MODIFY, EM_CTRL_CHAR, EM_CTRL_KEYDOWN, EM_CTRL_KEYUP,
  EM_CTRL_HOLDKEY, EM_CTRL_SELECT, EM_CTRL_FOCUSIN, EM_CTRL_FOCUSOUT,
  EM_CTRL_FRAMEMOVE, EM_CTRL_UPDATEKEY, EM_CTRL_CAPTUREMOUSE, EM_CTRL_RELEASEMOUSE,
  EM_CTRL_NEXTKEYFOCUS, EM_BTN_DOWN, EM_BTN_UP, EM_BTN_CLICK,
  EM_SB_ACTIONEND, EM_SB_ACTIONBEGIN, EM_SB_PAGEDOWN, EM_SB_PAGEUP,
  EM_SB_STEPDOWN, EM_SB_STEPUP, EM_SB_SCROLL, EM_EB_SELECTSTART,
  EM_EB_SELECTEND, EM_EB_SELECTALL, EM_IME_SELECT, EM_LB_ACTIONEND,
  EM_LB_ACTIONBEGIN, EM_SL_ACTIONBEGIN, EM_SL_ACTIONEND, EM_SL_CHANGEVALUE,
  EM_CV_ROTATEBEGIN, EM_CV_ROTATEEND, EM_CV_PANBEGIN, EM_CV_PANEND,
  EM_KEY_BEGIN, EM_KEY_BACKSPACE =EM_KEY_BEGIN, EM_KEY_TAB, EM_KEY_RETURN,
  EM_KEY_SHIFT, EM_KEY_CONTROL, EM_KEY_ALT, EM_KEY_PAUSE,
  EM_KEY_CAPSLOCK, EM_KEY_ESCAPE, EM_KEY_SPACE, EM_KEY_PAGE_DOWN,
  EM_KEY_PAGE_UP, EM_KEY_END, EM_KEY_HOME, EM_KEY_LEFT,
  EM_KEY_UP, EM_KEY_RIGHT, EM_KEY_DOWN, EM_KEY_PRINT,
  EM_KEY_INSERT, EM_KEY_DELETE, EM_KEY_HELP, EM_KEY_WIN_WINDOW,
  EM_KEY_WIN_LWINDOW, EM_KEY_WIN_RWINDOW, EM_KEY_WIN_APPS, EM_KEY_NUMPAD_BEGIN,
  EM_KEY_NUMPAD0 =EM_KEY_NUMPAD_BEGIN, EM_KEY_UPNUMPAD0, EM_KEY_NUMPAD1, EM_KEY_UPNUMPAD1,
  EM_KEY_NUMPAD2, EM_KEY_UPNUMPAD2, EM_KEY_NUMPAD3, EM_KEY_UPNUMPAD3,
  EM_KEY_NUMPAD4, EM_KEY_UPNUMPAD4, EM_KEY_NUMPAD5, EM_KEY_UPNUMPAD5,
  EM_KEY_NUMPAD6, EM_KEY_UPNUMPAD6, EM_KEY_NUMPAD7, EM_KEY_UPNUMPAD7,
  EM_KEY_NUMPAD8, EM_KEY_UPNUMPAD8, EM_KEY_NUMPAD9, EM_KEY_UPNUMPAD9,
  EM_KEY_MULTIPLY, EM_KEY_ADD, EM_KEY_SEPARATOR, EM_KEY_SUBTRACT,
  EM_KEY_DECIMAL, EM_KEY_UPDECIMAL, EM_KEY_DIVIDE, EM_KEY_NUMPADENTER,
  EM_KEY_NUMPADEQUALS, EM_KEY_NUMPAD_END =EM_KEY_NUMPADEQUALS, EM_KEY_F1, EM_KEY_F2,
  EM_KEY_F3, EM_KEY_F4, EM_KEY_F5, EM_KEY_F6,
  EM_KEY_F7, EM_KEY_F8, EM_KEY_F9, EM_KEY_F10,
  EM_KEY_F11, EM_KEY_F12, EM_KEY_F13, EM_KEY_F14,
  EM_KEY_F15, EM_KEY_NUMLOCK, EM_KEY_SCROLLLOCK, EM_KEY_LSHIFT,
  EM_KEY_RSHIFT, EM_KEY_LCONTROL, EM_KEY_RCONTROL, EM_KEY_LALT,
  EM_KEY_RALT, EM_KEY_TEXT_BEGIN, EM_KEY_TILDE =EM_KEY_TEXT_BEGIN, EM_KEY_UPTILDE,
  EM_KEY_MINUS, EM_KEY_UPMINUS, EM_KEY_EQUALS, EM_KEY_UPEQUALS,
  EM_KEY_LBRACKET, EM_KEY_UPLBRACKET, EM_KEY_RBRACKET, EM_KEY_UPRBRACKET,
  EM_KEY_BACKSLASH, EM_KEY_UPBACKSLASH, EM_KEY_SEMICOLON, EM_KEY_UPSEMICOLON,
  EM_KEY_APOSTROPHE, EM_KEY_UPAPOSTROPHE, EM_KEY_GRAVE, EM_KEY_UPGRAVE,
  EM_KEY_COMMA, EM_KEY_UPCOMMA, EM_KEY_PERIOD, EM_KEY_UPPERIOD,
  EM_KEY_SLASH, EM_KEY_UPSLASH, EM_KEY_0, EM_KEY_UP0,
  EM_KEY_1, EM_KEY_UP1, EM_KEY_2, EM_KEY_UP2,
  EM_KEY_3, EM_KEY_UP3, EM_KEY_4, EM_KEY_UP4,
  EM_KEY_5, EM_KEY_UP5, EM_KEY_6, EM_KEY_UP6,
  EM_KEY_7, EM_KEY_UP7, EM_KEY_8, EM_KEY_UP8,
  EM_KEY_9, EM_KEY_UP9, EM_KEY_Z, EM_KEY_UPZ,
  EM_KEY_Y, EM_KEY_UPY, EM_KEY_X, EM_KEY_UPX,
  EM_KEY_W, EM_KEY_UPW, EM_KEY_V, EM_KEY_UPV,
  EM_KEY_U, EM_KEY_UPU, EM_KEY_T, EM_KEY_UPT,
  EM_KEY_S, EM_KEY_UPS, EM_KEY_R, EM_KEY_UPR,
  EM_KEY_Q, EM_KEY_UPQ, EM_KEY_P, EM_KEY_UPP,
  EM_KEY_O, EM_KEY_UPO, EM_KEY_N, EM_KEY_UPN,
  EM_KEY_M, EM_KEY_UPM, EM_KEY_L, EM_KEY_UPL,
  EM_KEY_K, EM_KEY_UPK, EM_KEY_J, EM_KEY_UPJ,
  EM_KEY_I, EM_KEY_UPI, EM_KEY_H, EM_KEY_UPH,
  EM_KEY_G, EM_KEY_UPG, EM_KEY_F, EM_KEY_UPF,
  EM_KEY_E, EM_KEY_UPE, EM_KEY_D, EM_KEY_UPD,
  EM_KEY_C, EM_KEY_UPC, EM_KEY_B, EM_KEY_UPB,
  EM_KEY_A, EM_KEY_UPA, EM_KEY_TEXT_END =EM_KEY_UPA, EM_KEY,
  EM_MOUSE_BEGIN, EM_MOUSE_LEFTDOWN =EM_MOUSE_BEGIN, EM_MOUSE_LEFTUP, EM_MOUSE_LEFTCLICK,
  EM_MOUSE_LEFTDBCLICK, EM_MOUSE_RIGHTDOWN, EM_MOUSE_RIGHTUP, EM_MOUSE_RIGHTCLICK,
  EM_MOUSE_RIGHTDBCLICK, EM_MOUSE_MIDDLEDOWN, EM_MOUSE_MIDDLEUP, EM_MOUSE_MIDDLECLICK,
  EM_MOUSE_MIDDLEDBCLICK, EM_MOUSE_LEFTDRAGBEGIN, EM_MOUSE_LEFTDRAGEND, EM_MOUSE_RIGHTDRAGBEGIN,
  EM_MOUSE_RIGHTDRAGEND, EM_MOUSE_MIDDLEDRAGBEGIN, EM_MOUSE_MIDDLEDRAGEND, EM_MOUSE_DRAGBEGIN,
  EM_MOUSE_DRAGOVER, EM_MOUSE_DRAGEND, EM_MOUSE_MOVE, EM_MOUSE_HOVER,
  EM_MOUSE_WHEEL, EM_MOUSE_ENTER, EM_MOUSE_LEAVE, EM_MOUSE_DOWN,
  EM_MOUSE_UP, EM_MOUSE_CLICK, EM_MOUSE_DBCLICK, EM_MOUSE_LEFT,
  EM_MOUSE_RIGHT, EM_MOUSE_MIDDLE, EM_MOUSE, EM_WM_SIZE,
  EM_WM_SHOWWINDOW, EM_WM_CLOSE, EM_WM_DESTROY, EM_WM_ACTIVATE,
  EM_ONRENDER, EM_TOUCH, EM_TOUCH_ENTER, EM_TOUCH_DOWN,
  EM_TOUCH_UPDATE, EM_TOUCH_UP, EM_TOUCH_LEAVE, EM_WM_OWNER_DRAW,
  EM_WM_INPUT_METHOD, EM_UNKNOWN =0xffff
}
 Used in event binding. More...
 
enum  Editor_events {
  ED_SELECTION_CHANGED = 0, ED_OBJECT_DELETED, ED_OBJECT_CREATED, ED_OBJECT_MODIFIED,
  ED_SCENE_LOADED, ED_SCENE_UNLOADED, ED_SCENE_SAVING, ED_SCENE_SAVED
}
 
enum  GLOBAL_STRING_ID { G_STR_EMPTY = 0, G_STR_OK, G_STR_ERROR }
 a table of global strings. More...
 
enum  FRCType {
  FRC_RENDER = 0, FRC_SIM, FRC_IO, FRC_GAME,
  FRC_LAST
}
 frame rate controller type
 
enum  Interpolations { INTERPOLATION_NONE, INTERPOLATION_LINEAR, INTERPOLATION_HERMITE, INTERPOLATION_LINEAR_CROSSFRAME }
 
enum  CollisionPairType { _A_runinto_B, _B_runinto_A, _AB_runinto_eachother }
 Type of the collision. More...
 
enum  MOVIE_CAPTURE_MODE {
  MOVIE_CAPTURE_MODE_NORMAL = 0, MOVIE_CAPTURE_MODE_STEREO_LINE_INTERLACED, MOVIE_CAPTURE_MODE_STEREO_LEFT_RIGHT, MOVIE_CAPTURE_MODE_STEREO_ABOVE_BELOW,
  MOVIE_CAPTURE_MODE_STEREO_FRAME_INTERLACED, MOVIE_CAPTURE_MODE_STEREO_RED_BLUE
}
 Video capture mode.
 
enum  PeAppMsgEnum {
  PEAPP_SetParentWindow = 0, PEAPP_Start, PEAPP_Stop, PEAPP_OnSizeChange,
  PEAPP_FocusIn, PEAPP_FocusOut, PEAPP_Log, PEAPP_Error,
  PEAPP_SetWorkingDir, PEAPP_NPL_Activate, PEAPP_LoadingProgress_LoadingLibs = 100, PEAPP_LoadingProgress_CreatingApp,
  PEAPP_LoadingProgress_StartingApp, PEAPP_LoadingProgress_CreatingDevice, PEAPP_LoadingProgress_GameLoopStarted, PEAPP_BeginCoreUpdate = 200,
  PEAPP_UpdateProgress_Started, PEAPP_UpdateProgress_Progress, PEAPP_UpdateProgress_Error, PEAPP_UpdateProgress_UnknownVersion,
  PEAPP_UpdateProgress_BrokenFile, PEAPP_UpdateProgress_Completed, PEAPP_UpdateProgress_NoChangeDetected
}
 interprocess application messages between app client process to host app process The host app process create the app client process from command line. More...
 
enum  IPQueueUsageEnum {
  IPQU_create_only = 0, IPQU_open_only, IPQU_open_or_create, IPQU_open_read_only,
  IPQU_open_copy_on_write
}
 how the message queue is used. More...
 
enum  IPQueueReturnCodeEnum {
  IPRC_OK = 0, IPRC_FAILED, IPRC_QUEUE_IS_FULL, IPRC_QUEUE_IS_EMPTY,
  IPRC_QUEUE_NOT_FOUND, IPRC_TIMEDOUT
}
 possible return code. More...
 
enum  ParaAudioFormats { EAF_8BIT_MONO, EAF_8BIT_STEREO, EAF_16BIT_MONO, EAF_16BIT_STEREO }
 Enumeration of audio formats supported by the engine. More...
 
enum  ParaAudioFlagsEnum { AUDIO_FLAG_Uninitialized = 0, AUDIO_FLAG_STOP_RELEASE, AUDIO_FLAG_STOP_IMMEDIATE }
 Audio flags.
 
enum  ParaAudioDistanceModelEnum {
  Audio_DistModel_NONE = 0, Audio_DistModel_INVERSE_DISTANCE, Audio_DistModel_INVERSE_DISTANCE_CLAMPED, Audio_DistModel_LINEAR_DISTANCE,
  Audio_DistModel_LINEAR_DISTANCE_CLAMPED, Audio_DistModel_EXPONENT_DISTANCE, Audio_DistModel_EXPONENT_DISTANCE_CLAMPED
}
 Audio flags.
 
enum  PEAppState {
  PEAppState_None = 0, PEAppState_Started, PEAppState_Device_Created, PEAppState_Device_Error,
  PEAppState_Ready, PEAppState_SwitchedOut, PEAppState_Stopped, PEAppState_Exiting,
  PEAppState_Exited, PEAppState_Unknown
}
 ParaEngine application state.
 
enum  PE_USAGE {
  PE_USAGE_STANDALONE = 1, PE_USAGE_WEB_BROWSER = 2, PE_USAGE_SERVICE = 4, PE_USAGE_OWN_D3D = 16,
  PE_USAGE_OWN_WINDOW = 32
}
 how ParaEngine core is used. More...
 
enum  PhysicsDebugDrawModes {
  PDDM_NoDebug =0, PDDM_DrawWireframe = 1, PDDM_DrawAabb =2, PDDM_DrawFeaturesText =4,
  PDDM_DrawContactPoints =8, PDDM_NoDeactivation =16, PDDM_NoHelpText = 32, PDDM_DrawText =64,
  PDDM_ProfileTimings = 128, PDDM_EnableSatComparison = 256, PDDM_DisableBulletLCP = 512, PDDM_EnableCCD = 1024,
  PDDM_DrawConstraints = (1 << 11), PDDM_DrawConstraintLimits = (1 << 12), PDDM_FastWireframe = (1<<13), PDDM_MAX_DEBUG_DRAW_MODE
}
 
enum  JABBERLISTENER_TYPE {
  Jabber_OnPresence = 0, Jabber_OnError, Jabber_OnRegistered, Jabber_OnRegisterInfo,
  Jabber_OnIQ, Jabber_OnMessage, Jabber_OnAuthError, Jabber_OnLoginRequired,
  Jabber_OnConnect, Jabber_OnAuthenticate, Jabber_OnDisconnect, Jabber_OnRosterEnd,
  Jabber_OnRosterBegin, Jabber_OnRosterItem, Jabber_OnSubscription, Jabber_OnUnsubscription,
  NPL_OnNPLMessage
}
 JABBERLISTENER_TYPE.
 
enum  EventType {
  EVENT_MOUSE =0, EVENT_KEY, EVENT_EDITOR, EVENT_SYSTEM,
  EVENT_NETWORK, EVENT_MOUSE_MOVE, EVENT_MOUSE_DOWN, EVENT_MOUSE_UP,
  EVENT_KEY_UP, EVENT_MOUSE_WHEEL, EVENT_TOUCH, EVENT_ACCELEROMETER,
  EVENT_LAST
}
 event type
 
enum  EventHandler_type {
  EH_MOUSE = 0x1, EH_KEY = 0x1<<1, EH_EDITOR = 0x1<<2, EH_SYSTEM = 0x1<<3,
  EH_NETWORK = 0x1<<4, EH_MOUSE_MOVE = 0x1<<5, EH_MOUSE_DOWN = 0x1<<6, EH_MOUSE_UP = 0x1<<7,
  EH_KEY_UP = 0x1<<8, EH_MOUSE_WHEEL = 0x1<<9, EH_TOUCH = 0x1 << 10, EH_ACCELEROMETER = 0x1 << 11,
  EH_ALL = 0xffff
}
 bit fields
 
enum  PluginActivationType { PluginActType_NONE = 0, PluginActType_SCODE, PluginActType_STATE }
 activation file type in the plug-in's Activate() function. More...
 
enum  EnumForceInit { ForceInit, ForceInitToZero }
 
enum  EnumNoInit { NoInit }
 
enum  ATTRIBUTE_FIELDTYPE {
  FieldType_unknown, FieldType_void, FieldType_Int, FieldType_Bool,
  FieldType_Float, FieldType_Float_Float, FieldType_Float_Float_Float, FieldType_Enum,
  FieldType_Double, FieldType_Vector2, FieldType_Vector3, FieldType_Vector4,
  FieldType_Quaternion, FieldType_String, FieldType_DWORD, FieldType_DVector3,
  FieldType_Float_Float_Float_Float, FieldType_Matrix4, FieldType_Double_Double, FieldType_Double_Double_Double,
  FieldType_Animated, FieldType_AnimatedInt, FieldType_AnimatedFloat, FieldType_AnimatedDouble,
  FieldType_AnimatedVector2, FieldType_AnimatedVector3, FieldType_AnimatedDVector3, FieldType_AnimatedVector4,
  FieldType_AnimatedQuaternion, FieldType_void_pointer, FieldType_Deprecated = 0xffffffff
}
 a list of all attribute type this is also used for all variable type supported.
 
enum  MOVIE_CLIP_TYPES { movieclip_base =0, movieclip_screen_capture }
 movie clip types
 
enum  PathPointType {
  PathPointTypeStart = 0, PathPointTypeLine = 1, PathPointTypeBezier = 3, PathPointTypeRectangle = 4,
  PathPointTypePathTypeMask = 0x7, PathPointTypePathDashMode = 0x10, PathPointTypePathMarker = 0x20, PathPointTypeCloseSubpath = 0x80,
  PathPointTypeOperationClear = 0x81, PathPointTypeBezier3 = 3
}
 This enumeration is used in the CGDIGraphicsPath class. More...
 
enum  BrushType {
  BrushTypeSolidColor = 0, BrushTypeHatchFill = 1, BrushTypeTextureFill = 2, BrushTypePathGradient = 3,
  BrushTypeLinearGradient = 4
}
 This enumeration is used in the CGDIBrush class. More...
 
enum  PenType {
  PenTypeSolidColor = BrushTypeSolidColor, PenTypeHatchFill = BrushTypeHatchFill, PenTypeTextureFill = BrushTypeTextureFill, PenTypePathGradient = BrushTypePathGradient,
  PenTypeLinearGradient = BrushTypeLinearGradient, PenTypeUnknown = -1
}
 This enumeration is used in the CGDIPen class. More...
 
enum  Status {
  Ok = 0, GenericError = 1, InvalidParameter = 2, OutOfMemory = 3,
  ObjectBusy = 4, InsufficientBuffer = 5, NotImplemented = 6, Win32Error = 7,
  WrongState = 8, Aborted = 9, FileNotFound = 10, ValueOverflow = 11,
  AccessDenied = 12, UnknownImageFormat = 13, FontFamilyNotFound = 14, FontStyleNotFound = 15,
  NotTrueTypeFont = 16, UnsupportedGdiplusVersion = 17, GdiplusNotInitialized = 18, PropertyNotFound = 19,
  PropertyNotSupported = 20, ProfileNotFound = 21, IncorrectShape =22
}
 This enumeration is used in all GDI classes.
 
enum  VerticesMergeOption { VerticesMergeReplace =0, VerticesMergeAppend =1 }
 This enumeration is used in CGDIGraphicsPath. More...
 
enum  LineCap {
  LineCapFlat = 0, LineCapSquare = 1, LineCapRound = 2, LineCapTriangle = 3,
  LineCapNoAnchor = 0x10, LineCapSquareAnchor = 0x11, LineCapRoundAnchor = 0x12, LineCapDiamondAnchor = 0x13,
  LineCapArrowAnchor = 0x14, LineCapCustom = 0xff
}
 This enumeration is used when drawing lines.
 
enum  PenScale { PenScaleNone =0, PenScaleFitRect =1, PenScaleFitHeight =2, PenScaleFitWidth =3 }
 This enumeration is used in CGDIPen.
 
enum  RegionShape { RegionShapeNone =0, RegionShapeRectangle =1, RegionShapeFree =0 }
 This enumeration is used internally in CGDIRegion.
 
enum  ResourceRequestType { ResourceRequestType_Local, ResourceRequestType_Asset, ResourceRequestType_Web, ResourceRequestType_Quit }
 resource request type. More...
 
enum  ResourceRequestID {
  ResourceRequestID_Local = 0, ResourceRequestID_Asset, ResourceRequestID_Web, ResourceRequestID_Asset_BigFile,
  ResourceRequestID_AudioFile
}
 predefined resource request id. More...
 
enum  FileLocation {
  FILE_NOT_FOUND = 0, FILE_ON_DISK = 1, FILE_ON_ZIP_ARCHIVE = 2, FILE_ON_SEARCH_PATH = 4,
  FILE_ON_EXECUTABLE = 8
}
 where to search the file and where the file is found
 
enum  JabberEvents {
  JE_NONE, JE_OnPresence = 0, JE_OnError, JE_OnRegistered,
  JE_OnRegisterInfo, JE_OnIQ, JE_OnAuthError, JE_OnLoginRequired,
  JE_OnConnect, JE_OnAuthenticate, JE_OnDisconnect, JE_OnTLSConnect,
  JE_OnRoster, JE_OnRosterBegin, JE_OnRosterItem, JE_OnRosterEnd,
  JE_OnRosterError, JE_OnRosterPresence, JE_OnSelfPresence, JE_OnMessage,
  JE_OnStanzaMessageChat, JE_OnStanzaMessageGroupChat, JE_OnStanzaMessageHeadline, JE_OnStanzaMessageNormal,
  JE_OnChatState, JE_OnMessageEvent, JE_OnResourceBindError, JE_OnSessionCreateError,
  JE_OnItemSubscribed, JE_OnItemAdded, JE_OnItemUnsubscribed, JE_OnItemRemoved,
  JE_OnItemUpdated, JE_OnSubscriptionRequest, JE_OnUnsubscriptionRequest, JE_OnNonrosterPresence,
  JE_LAST, JE_UNKNOWN =0xffff
}
 Jabber events that a JC client can bind to. More...
 
enum  CollisionFlag {
  OPC_FIRST_CONTACT = (1<<0), OPC_TEMPORAL_COHERENCE = (1<<1), OPC_CONTACT = (1<<2), OPC_TEMPORAL_HIT = (1<<3),
  OPC_NO_PRIMITIVE_TESTS = (1<<4), OPC_CONTACT_FOUND = OPC_FIRST_CONTACT | OPC_CONTACT, OPC_TEMPORAL_CONTACT = OPC_TEMPORAL_HIT | OPC_CONTACT, OPC_FORCE_DWORD = 0x7fffffff
}
 
enum  Axis { XAxis, YAxis, ZAxis }
 
enum  Orientation { Horizontal = 0x1, Vertical = 0x2 }
 
enum  SizeMode { AbsoluteSize, RelativeSize }
 
enum  Initialization { Uninitialized }
 
enum  FillRule { OddEvenFill, WindingFill }
 
enum  ClipOperation { NoClip, ReplaceClip, IntersectClip }
 
enum  ItemSelectionMode { ContainsItemShape = 0x0, IntersectsItemShape = 0x1, ContainsItemBoundingRect = 0x2, IntersectsItemBoundingRect = 0x3 }
 
enum  TransformationMode { FastTransformation, SmoothTransformation }
 
enum  PenStyle {
  NoPen, SolidLine, DashLine, DotLine,
  DashDotLine, DashDotDotLine, CustomDashLine
}
 
enum  PenCapStyle { FlatCap = 0x00, SquareCap = 0x10, RoundCap = 0x20, MPenCapStyle = 0x30 }
 
enum  PenJoinStyle {
  MiterJoin = 0x00, BevelJoin = 0x40, RoundJoin = 0x80, SvgMiterJoin = 0x100,
  MPenJoinStyle = 0x1c0
}
 
enum  BrushStyle {
  NoBrush, SolidPattern, Dense1Pattern, Dense2Pattern,
  Dense3Pattern, Dense4Pattern, Dense5Pattern, Dense6Pattern,
  Dense7Pattern, HorPattern, VerPattern, CrossPattern,
  BDiagPattern, FDiagPattern, DiagCrossPattern, LinearGradientPattern,
  RadialGradientPattern, ConicalGradientPattern, TexturePattern = 24
}
 
enum  LineType { NOT_INTERP =0, LINEAR, HERMITE, BEZIER }
 
enum  AnimationID {
  ANIM_STAND =0, ANIM_DEATH =1, ANIM_SPELL =2, ANIM_STOP =3,
  ANIM_WALK =4, ANIM_RUN =5, ANIM_DEAD =6, ANIM_RISE =7,
  ANIM_STANDWOUND =8, ANIM_COMBATWOUND =9, ANIM_COMBATCRITICAL =10, ANIM_SHUFFLELEFT =11,
  ANIM_SHUFFLERIGHT =12, ANIM_WALKBACKWARDS =13, ANIM_STUN =14, ANIM_HANDSCLOSED =15,
  ANIM_ATTACKUNARMED =16, ANIM_ATTACK1H =17, ANIM_ATTACK2H =18, ANIM_ATTACK2HL =19,
  ANIM_PARRYUNARMED =20, ANIM_PARRY1H =21, ANIM_PARRY2H =22, ANIM_PARRY2HL =23,
  ANIM_SHIELDBLOCK =24, ANIM_READYUNARMED =25, ANIM_READY1H =26, ANIM_READY2H =27,
  ANIM_READY2HL =28, ANIM_READYBOW =29, ANIM_DODGE =30, ANIM_SPELLPRECAST =31,
  ANIM_SPELLCAST =32, ANIM_SPELLCASTAREA =33, ANIM_NPCWELCOME =34, ANIM_NPCGOODBYE =35,
  ANIM_BLOCK =36, ANIM_JUMPSTART =37, ANIM_JUMP =38, ANIM_JUMPEND =39,
  ANIM_FALL =40, ANIM_SWIMIDLE =41, ANIM_SWIM =42, ANIM_SWIMLEFT =43,
  ANIM_SWIMRIGHT =44, ANIM_SWIMBACKWARDS =45, ANIM_ATTACKBOW =46, ANIM_FIREBOW =47,
  ANIM_READYRIFLE =48, ANIM_ATTACKRIFLE =49, ANIM_LOOT =50, ANIM_READYSPELLDIRECTED =51,
  ANIM_READYSPELLOMNI =52, ANIM_SPELLCASTDIRECTED =53, ANIM_SPELLCASTOMNI =54, ANIM_BATTLEROAR =55,
  ANIM_READYABILITY =56, ANIM_SPECIAL1H =57, ANIM_SPECIAL2H =58, ANIM_SHIELDBASH =59,
  ANIM_EMOTETALK =60, ANIM_EMOTEEAT =61, ANIM_EMOTEWORK =62, ANIM_EMOTEUSESTANDING =63,
  ANIM_EMOTETALKEXCLAMATION =64, ANIM_EMOTETALKQUESTION =65, ANIM_EMOTEBOW =66, ANIM_EMOTEWAVE =67,
  ANIM_EMOTECHEER =68, ANIM_EMOTEDANCE =69, ANIM_EMOTELAUGH =70, ANIM_EMOTESLEEP =71,
  ANIM_EMOTESITGROUND =72, ANIM_EMOTERUDE =73, ANIM_EMOTEROAR =74, ANIM_EMOTEKNEEL =75,
  ANIM_EMOTEKISS =76, ANIM_EMOTECRY =77, ANIM_EMOTECHICKEN =78, ANIM_EMOTEBEG =79,
  ANIM_EMOTEAPPLAUD =80, ANIM_EMOTESHOUT =81, ANIM_EMOTEFLEX =82, ANIM_EMOTESHY =83,
  ANIM_EMOTEPOINT =84, ANIM_ATTACK1HPIERCE =85, ANIM_ATTACK2HLOOSEPIERCE =86, ANIM_ATTACKOFF =87,
  ANIM_ATTACKOFFPIERCE =88, ANIM_SHEATH =89, ANIM_HIPSHEATH =90, ANIM_MOUNT =91,
  ANIM_RUNRIGHT =92, ANIM_RUNLEFT =93, ANIM_MOUNTSPECIAL =94, ANIM_KICK =95,
  ANIM_SITGROUNDDOWN =96, ANIM_SITGROUND =97, ANIM_SITGROUNDUP =98, ANIM_SLEEPDOWN =99,
  ANIM_SLEEP =100, ANIM_SLEEPUP =101, ANIM_SITCHAIRLOW =102, ANIM_SITCHAIRMED =103,
  ANIM_SITCHAIRHIGH =104, ANIM_LOADBOW =105, ANIM_LOADRIFLE =106, ANIM_ATTACKTHROWN =107,
  ANIM_READYTHROWN =108, ANIM_HOLDBOW =109, ANIM_HOLDRIFLE =110, ANIM_HOLDTHROWN =111,
  ANIM_LOADTHROWN =112, ANIM_EMOTESALUTE =113, ANIM_KNEELSTART =114, ANIM_KNEELLOOP =115,
  ANIM_KNEELEND =116, ANIM_ATTACKUNARMEDOFF =117, ANIM_SPECIALUNARMED =118, ANIM_STEALTHWALK =119,
  ANIM_STEALTHSTAND =120, ANIM_KNOCKDOWN =121, ANIM_EATINGLOOP =122, ANIM_USESTANDINGLOOP =123,
  ANIM_CHANNELCASTDIRECTED =124, ANIM_CHANNELCASTOMNI =125, ANIM_WHIRLWIND =126, ANIM_BIRTH =127,
  ANIM_USESTANDINGSTART =128, ANIM_USESTANDINGEND =129, ANIM_CREATURESPECIAL =130, ANIM_DROWN =131,
  ANIM_DROWNED =132, ANIM_FISHINGCAST =133, ANIM_FISHINGLOOP =134, ANIM_FLY =135,
  ANIM_EMOTEWORKNOSHEATHE =136, ANIM_EMOTESTUNNOSHEATHE =137, ANIM_EMOTEUSESTANDINGNOSHEATHE =138, ANIM_SPELLSLEEPDOWN =139,
  ANIM_SPELLKNEELSTART =140, ANIM_SPELLKNEELLOOP =141, ANIM_SPELLKNEELEND =142, ANIM_SPRINT =143,
  ANIM_INFLIGHT =144, ANIM_SPAWN =145, ANIM_CLOSE =146, ANIM_CLOSED =147,
  ANIM_OPEN =148, ANIM_OPENED =149, ANIM_DESTROY =150, ANIM_DESTROYED =151,
  ANIM_REBUILD =152, ANIM_CUSTOM0 =153, ANIM_CUSTOM1 =154, ANIM_CUSTOM2 =155,
  ANIM_CUSTOM3 =156, ANIM_DESPAWN =157, ANIM_HOLD =158, ANIM_DECAY =159,
  ANIM_BOWPULL =160, ANIM_BOWRELEASE =161, ANIM_SHIPSTART =162, ANIM_SHIPMOVING =163,
  ANIM_SHIPSTOP =164, ANIM_GROUPARROW =165, ANIM_ARROW =166, ANIM_CORPSEARROW =167,
  ANIM_GUIDEARROW =168, ANIM_SWAY =169, ANIM_DRUIDCATPOUNCE =170, ANIM_DRUIDCATRIP =171,
  ANIM_DRUIDCATRAKE =172, ANIM_DRUIDCATRAVAGE =173, ANIM_DRUIDCATCLAW =174, ANIM_DRUIDCATCOWER =175,
  ANIM_DRUIDBEARSWIPE =176, ANIM_DRUIDBEARBITE =177, ANIM_DRUIDBEARMAUL =178, ANIM_DRUIDBEARBASH =179,
  ANIM_DRAGONTAIL =180, ANIM_DRAGONSTOMP =181, ANIM_DRAGONSPIT =182, ANIM_DRAGONSPITHOVER =183,
  ANIM_DRAGONSPITFLY =184, ANIM_EMOTEYES =185, ANIM_EMOTENO =186, ANIM_JUMPLANDRUN =187,
  ANIM_LOOTHOLD =188, ANIM_LOOTUP =189, ANIM_STANDHIGH =190, ANIM_IMPACT =191,
  ANIM_LIFTOFF =192, ANIM_HOVER =193, ANIM_SUCCUBUSENTICE =194, ANIM_EMOTETRAIN =195,
  ANIM_EMOTEDEAD =196, ANIM_EMOTEDANCEONCE =197, ANIM_DEFLECT =198, ANIM_EMOTEEATNOSHEATHE =199,
  ANIM_LAND =200, ANIM_SUBMERGE =201, ANIM_SUBMERGED =202, ANIM_CANNIBALIZE =203,
  ANIM_ARROWBIRTH =204, ANIM_GROUPARROWBIRTH =205, ANIM_CORPSEARROWBIRTH =206, ANIM_GUIDEARROWBIRTH =207,
  ANIM_LASTONE
}
 this is just an ad hoc mapping from animation ID to its function
 
enum  ParaXModelType {
  PARAX_MODEL_ANIMATED =0, PARAX_MODEL_STATIC, PARAX_MODEL_DX_STATIC, PARAX_MODEL_INVALID,
  PARAX_MODEL_BMAX, PARAX_MODEL_UNKNOWN
}
 
enum  ParaXModelFormat { PARAX_FORMAT_USEFORMAT = 1, PARAX_FORMAT_NORMAL = 2, PARAX_FORMAT_UV2 = 4 }
 
enum  KNOWN_BONE_NODES {
  Bone_Unknown = 0, Bone_Root, Bone_Pelvis, Bone_Spine,
  Bone_L_Thigh, Bone_L_Calf, Bone_L_Foot, Bone_R_Thigh,
  Bone_R_Calf, Bone_R_Foot, Bone_L_Clavicle, Bone_L_UpperArm,
  Bone_L_Forearm, Bone_L_Hand, Bone_R_Clavicle, Bone_R_UpperArm,
  Bone_R_Forearm, Bone_R_Hand, Bone_Head, Bone_Neck,
  Bone_L_Toe0, Bone_R_Toe0, Bone_R_Finger0, Bone_L_Finger0,
  Bone_Spine1, Bone_Spine2, Bone_Spine3, Bone_forehand,
  Bone_L_eyelid, Bone_R_eyelid, Bone_L_eye, Bone_R_eye,
  Bone_B_eyelid, Bone_upper_lip, Bone_L_lip, Bone_R_lip,
  Bone_B_lip, Bone_chin, Bone_R_Finger01, Bone_L_Finger01,
  Bone_R_Finger1, Bone_L_Finger1, Bone_R_Finger11, Bone_L_Finger11,
  Bone_R_Finger2, Bone_L_Finger2, Bone_R_Finger21, Bone_L_Finger21,
  MAX_KNOWN_BONE_NODE
}
 all known bones
 
enum  BlendModes {
  BM_OPAQUE, BM_TRANSPARENT, BM_ALPHA_BLEND, BM_ADDITIVE,
  BM_ADDITIVE_ALPHA, BM_MODULATE, BM_TEMP_FORCEALPHABLEND = 0X8000
}
 
enum  TIMER_COMMAND {
  TIMER_RESET, TIMER_START, TIMER_STOP, TIMER_ADVANCE,
  TIMER_GETABSOLUTETIME, TIMER_GETAPPTIME, TIMER_GETELAPSEDTIME
}
 
enum  TextVAlignment { TOP, CENTER, BOTTOM }
 
enum  TextHAlignment { LEFT, CENTER, RIGHT }
 
enum  GlyphCollection { DYNAMIC, NEHE, ASCII, CUSTOM }
 
enum  DIMOFS_ENUM {
  DIMOFS_X = FIELD_OFFSET(DIMOUSESTATE, lX), DIMOFS_Y = FIELD_OFFSET(DIMOUSESTATE, lY), DIMOFS_Z = FIELD_OFFSET(DIMOUSESTATE, lZ), DIMOFS_BUTTON0 = (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 0),
  DIMOFS_BUTTON1 = (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 1), DIMOFS_BUTTON2 = (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 2), DIMOFS_BUTTON3 = (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 3)
}
 
enum  _D3DLIGHTTYPE { D3DLIGHT_POINT = 1, D3DLIGHT_SPOT = 2, D3DLIGHT_DIRECTIONAL = 3, D3DLIGHT_FORCE_DWORD = 0x7fffffff }
 
enum  _D3DCULL { D3DCULL_NONE = 1, D3DCULL_CW = 2, D3DCULL_CCW = 3, D3DCULL_FORCE_DWORD = 0x7fffffff }
 
enum  _D3DFORMAT {
  D3DFMT_UNKNOWN = 0, D3DFMT_R8G8B8 = 20, D3DFMT_A8R8G8B8 = 21, D3DFMT_X8R8G8B8 = 22,
  D3DFMT_A8 = 28, D3DFMT_A8B8G8R8 = 32, D3DFMT_X8B8G8R8 = 33, D3DFMT_DXT1 = MAKEFOURCC('D', 'X', 'T', '1'),
  D3DFMT_DXT2 = MAKEFOURCC('D', 'X', 'T', '2'), D3DFMT_DXT3 = MAKEFOURCC('D', 'X', 'T', '3'), D3DFMT_DXT4 = MAKEFOURCC('D', 'X', 'T', '4'), D3DFMT_DXT5 = MAKEFOURCC('D', 'X', 'T', '5'),
  D3DFMT_D32 = 71, D3DFMT_D15S1 = 73, D3DFMT_D24S8 = 75, D3DFMT_D24X8 = 77,
  D3DFMT_D24X4S4 = 79, D3DFMT_D16 = 80, D3DFMT_VERTEXDATA = 100, D3DFMT_INDEX16 = 101,
  D3DFMT_INDEX32 = 102
}
 
enum  _D3DPRIMITIVETYPE {
  D3DPT_POINTLIST = 1, D3DPT_LINELIST = 2, D3DPT_LINESTRIP = 3, D3DPT_TRIANGLELIST = 4,
  D3DPT_TRIANGLESTRIP = 5, D3DPT_TRIANGLEFAN = 6, D3DPT_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DTEXTUREADDRESS {
  D3DTADDRESS_WRAP = 1, D3DTADDRESS_MIRROR = 2, D3DTADDRESS_CLAMP = 3, D3DTADDRESS_BORDER = 4,
  D3DTADDRESS_MIRRORONCE = 5, D3DTADDRESS_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DTEXTUREFILTERTYPE {
  D3DTEXF_NONE = 0, D3DTEXF_POINT = 1, D3DTEXF_LINEAR = 2, D3DTEXF_ANISOTROPIC = 3,
  D3DTEXF_PYRAMIDALQUAD = 6, D3DTEXF_GAUSSIANQUAD = 7, D3DTEXF_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DTEXTURESTAGESTATETYPE {
  D3DTSS_COLOROP = 1, D3DTSS_COLORARG1 = 2, D3DTSS_COLORARG2 = 3, D3DTSS_ALPHAOP = 4,
  D3DTSS_ALPHAARG1 = 5, D3DTSS_ALPHAARG2 = 6, D3DTSS_BUMPENVMAT00 = 7, D3DTSS_BUMPENVMAT01 = 8,
  D3DTSS_BUMPENVMAT10 = 9, D3DTSS_BUMPENVMAT11 = 10, D3DTSS_TEXCOORDINDEX = 11, D3DTSS_BUMPENVLSCALE = 22,
  D3DTSS_BUMPENVLOFFSET = 23, D3DTSS_TEXTURETRANSFORMFLAGS = 24, D3DTSS_COLORARG0 = 26, D3DTSS_ALPHAARG0 = 27,
  D3DTSS_RESULTARG = 28, D3DTSS_CONSTANT = 32, D3DTSS_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DCMPFUNC {
  D3DCMP_NEVER = 1, D3DCMP_LESS = 2, D3DCMP_EQUAL = 3, D3DCMP_LESSEQUAL = 4,
  D3DCMP_GREATER = 5, D3DCMP_NOTEQUAL = 6, D3DCMP_GREATEREQUAL = 7, D3DCMP_ALWAYS = 8,
  D3DCMP_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DSTENCILOP {
  D3DSTENCILOP_KEEP = 1, D3DSTENCILOP_ZERO = 2, D3DSTENCILOP_REPLACE = 3, D3DSTENCILOP_INCRSAT = 4,
  D3DSTENCILOP_DECRSAT = 5, D3DSTENCILOP_INVERT = 6, D3DSTENCILOP_INCR = 7, D3DSTENCILOP_DECR = 8,
  D3DSTENCILOP_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DTEXTUREOP {
  D3DTOP_DISABLE = 1, D3DTOP_SELECTARG1 = 2, D3DTOP_SELECTARG2 = 3, D3DTOP_MODULATE = 4,
  D3DTOP_MODULATE2X = 5, D3DTOP_MODULATE4X = 6, D3DTOP_ADD = 7, D3DTOP_ADDSIGNED = 8,
  D3DTOP_ADDSIGNED2X = 9, D3DTOP_SUBTRACT = 10, D3DTOP_ADDSMOOTH = 11, D3DTOP_BLENDDIFFUSEALPHA = 12,
  D3DTOP_BLENDTEXTUREALPHA = 13, D3DTOP_BLENDFACTORALPHA = 14, D3DTOP_BLENDTEXTUREALPHAPM = 15, D3DTOP_BLENDCURRENTALPHA = 16,
  D3DTOP_PREMODULATE = 17, D3DTOP_MODULATEALPHA_ADDCOLOR = 18, D3DTOP_MODULATECOLOR_ADDALPHA = 19, D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
  D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21, D3DTOP_BUMPENVMAP = 22, D3DTOP_BUMPENVMAPLUMINANCE = 23, D3DTOP_DOTPRODUCT3 = 24,
  D3DTOP_MULTIPLYADD = 25, D3DTOP_LERP = 26, D3DTOP_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DTRANSFORMSTATETYPE {
  D3DTS_VIEW = 2, D3DTS_PROJECTION = 3, D3DTS_TEXTURE0 = 16, D3DTS_TEXTURE1 = 17,
  D3DTS_TEXTURE2 = 18, D3DTS_TEXTURE3 = 19, D3DTS_TEXTURE4 = 20, D3DTS_TEXTURE5 = 21,
  D3DTS_TEXTURE6 = 22, D3DTS_TEXTURE7 = 23, D3DTS_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DDECLTYPE {
  D3DDECLTYPE_FLOAT1 = 0, D3DDECLTYPE_FLOAT2 = 1, D3DDECLTYPE_FLOAT3 = 2, D3DDECLTYPE_FLOAT4 = 3,
  D3DDECLTYPE_D3DCOLOR = 4, D3DDECLTYPE_UBYTE4 = 5, D3DDECLTYPE_SHORT2 = 6, D3DDECLTYPE_SHORT4 = 7,
  D3DDECLTYPE_UBYTE4N = 8, D3DDECLTYPE_SHORT2N = 9, D3DDECLTYPE_SHORT4N = 10, D3DDECLTYPE_USHORT2N = 11,
  D3DDECLTYPE_USHORT4N = 12, D3DDECLTYPE_UDEC3 = 13, D3DDECLTYPE_DEC3N = 14, D3DDECLTYPE_FLOAT16_2 = 15,
  D3DDECLTYPE_FLOAT16_4 = 16, D3DDECLTYPE_UNUSED = 17
}
 
enum  _D3DDECLUSAGE {
  D3DDECLUSAGE_POSITION = 0, D3DDECLUSAGE_BLENDWEIGHT, D3DDECLUSAGE_BLENDINDICES, D3DDECLUSAGE_NORMAL,
  D3DDECLUSAGE_PSIZE, D3DDECLUSAGE_TEXCOORD, D3DDECLUSAGE_TANGENT, D3DDECLUSAGE_BINORMAL,
  D3DDECLUSAGE_TESSFACTOR, D3DDECLUSAGE_POSITIONT, D3DDECLUSAGE_COLOR, D3DDECLUSAGE_FOG,
  D3DDECLUSAGE_DEPTH, D3DDECLUSAGE_SAMPLE
}
 
enum  _D3DBLEND {
  D3DBLEND_ZERO = 1, D3DBLEND_ONE = 2, D3DBLEND_SRCCOLOR = 3, D3DBLEND_INVSRCCOLOR = 4,
  D3DBLEND_SRCALPHA = 5, D3DBLEND_INVSRCALPHA = 6, D3DBLEND_DESTALPHA = 7, D3DBLEND_INVDESTALPHA = 8,
  D3DBLEND_DESTCOLOR = 9, D3DBLEND_INVDESTCOLOR = 10, D3DBLEND_SRCALPHASAT = 11, D3DBLEND_BOTHSRCALPHA = 12,
  D3DBLEND_BOTHINVSRCALPHA = 13, D3DBLEND_BLENDFACTOR = 14, D3DBLEND_INVBLENDFACTOR = 15, D3DBLEND_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DRENDERSTATETYPE {
  D3DRS_ZENABLE = 7, D3DRS_FILLMODE = 8, D3DRS_SHADEMODE = 9, D3DRS_ZWRITEENABLE = 14,
  D3DRS_ALPHATESTENABLE = 15, D3DRS_LASTPIXEL = 16, D3DRS_SRCBLEND = 19, D3DRS_DESTBLEND = 20,
  D3DRS_CULLMODE = 22, D3DRS_ZFUNC = 23, D3DRS_ALPHAREF = 24, D3DRS_ALPHAFUNC = 25,
  D3DRS_DITHERENABLE = 26, D3DRS_ALPHABLENDENABLE = 27, D3DRS_FOGENABLE = 28, D3DRS_SPECULARENABLE = 29,
  D3DRS_FOGCOLOR = 34, D3DRS_FOGTABLEMODE = 35, D3DRS_FOGSTART = 36, D3DRS_FOGEND = 37,
  D3DRS_FOGDENSITY = 38, D3DRS_RANGEFOGENABLE = 48, D3DRS_STENCILENABLE = 52, D3DRS_STENCILFAIL = 53,
  D3DRS_STENCILZFAIL = 54, D3DRS_STENCILPASS = 55, D3DRS_STENCILFUNC = 56, D3DRS_STENCILREF = 57,
  D3DRS_STENCILMASK = 58, D3DRS_STENCILWRITEMASK = 59, D3DRS_TEXTUREFACTOR = 60, D3DRS_WRAP0 = 128,
  D3DRS_WRAP1 = 129, D3DRS_WRAP2 = 130, D3DRS_WRAP3 = 131, D3DRS_WRAP4 = 132,
  D3DRS_WRAP5 = 133, D3DRS_WRAP6 = 134, D3DRS_WRAP7 = 135, D3DRS_CLIPPING = 136,
  D3DRS_LIGHTING = 137, D3DRS_AMBIENT = 139, D3DRS_FOGVERTEXMODE = 140, D3DRS_COLORVERTEX = 141,
  D3DRS_LOCALVIEWER = 142, D3DRS_NORMALIZENORMALS = 143, D3DRS_DIFFUSEMATERIALSOURCE = 145, D3DRS_SPECULARMATERIALSOURCE = 146,
  D3DRS_AMBIENTMATERIALSOURCE = 147, D3DRS_EMISSIVEMATERIALSOURCE = 148, D3DRS_VERTEXBLEND = 151, D3DRS_CLIPPLANEENABLE = 152,
  D3DRS_POINTSIZE = 154, D3DRS_POINTSIZE_MIN = 155, D3DRS_POINTSPRITEENABLE = 156, D3DRS_POINTSCALEENABLE = 157,
  D3DRS_POINTSCALE_A = 158, D3DRS_POINTSCALE_B = 159, D3DRS_POINTSCALE_C = 160, D3DRS_MULTISAMPLEANTIALIAS = 161,
  D3DRS_MULTISAMPLEMASK = 162, D3DRS_PATCHEDGESTYLE = 163, D3DRS_DEBUGMONITORTOKEN = 165, D3DRS_POINTSIZE_MAX = 166,
  D3DRS_INDEXEDVERTEXBLENDENABLE = 167, D3DRS_COLORWRITEENABLE = 168, D3DRS_TWEENFACTOR = 170, D3DRS_BLENDOP = 171,
  D3DRS_POSITIONDEGREE = 172, D3DRS_NORMALDEGREE = 173, D3DRS_SCISSORTESTENABLE = 174, D3DRS_SLOPESCALEDEPTHBIAS = 175,
  D3DRS_ANTIALIASEDLINEENABLE = 176, D3DRS_MINTESSELLATIONLEVEL = 178, D3DRS_MAXTESSELLATIONLEVEL = 179, D3DRS_ADAPTIVETESS_X = 180,
  D3DRS_ADAPTIVETESS_Y = 181, D3DRS_ADAPTIVETESS_Z = 182, D3DRS_ADAPTIVETESS_W = 183, D3DRS_ENABLEADAPTIVETESSELLATION = 184,
  D3DRS_TWOSIDEDSTENCILMODE = 185, D3DRS_CCW_STENCILFAIL = 186, D3DRS_CCW_STENCILZFAIL = 187, D3DRS_CCW_STENCILPASS = 188,
  D3DRS_CCW_STENCILFUNC = 189, D3DRS_COLORWRITEENABLE1 = 190, D3DRS_COLORWRITEENABLE2 = 191, D3DRS_COLORWRITEENABLE3 = 192,
  D3DRS_BLENDFACTOR = 193, D3DRS_SRGBWRITEENABLE = 194, D3DRS_DEPTHBIAS = 195, D3DRS_WRAP8 = 198,
  D3DRS_WRAP9 = 199, D3DRS_WRAP10 = 200, D3DRS_WRAP11 = 201, D3DRS_WRAP12 = 202,
  D3DRS_WRAP13 = 203, D3DRS_WRAP14 = 204, D3DRS_WRAP15 = 205, D3DRS_SEPARATEALPHABLENDENABLE = 206,
  D3DRS_SRCBLENDALPHA = 207, D3DRS_DESTBLENDALPHA = 208, D3DRS_BLENDOPALPHA = 209, D3DRS_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DSAMPLERSTATETYPE {
  D3DSAMP_ADDRESSU = 1, D3DSAMP_ADDRESSV = 2, D3DSAMP_ADDRESSW = 3, D3DSAMP_BORDERCOLOR = 4,
  D3DSAMP_MAGFILTER = 5, D3DSAMP_MINFILTER = 6, D3DSAMP_MIPFILTER = 7, D3DSAMP_MIPMAPLODBIAS = 8,
  D3DSAMP_MAXMIPLEVEL = 9, D3DSAMP_MAXANISOTROPY = 10, D3DSAMP_SRGBTEXTURE = 11, D3DSAMP_ELEMENTINDEX = 12,
  D3DSAMP_DMAPOFFSET = 13, D3DSAMP_FORCE_DWORD = 0x7fffffff
}
 
enum  _D3DDECLMETHOD {
  D3DDECLMETHOD_DEFAULT = 0, D3DDECLMETHOD_PARTIALU, D3DDECLMETHOD_PARTIALV, D3DDECLMETHOD_CROSSUV,
  D3DDECLMETHOD_UV, D3DDECLMETHOD_LOOKUP, D3DDECLMETHOD_LOOKUPPRESAMPLED
}
 
enum  _D3DPOOL {
  D3DPOOL_DEFAULT = 0, D3DPOOL_MANAGED = 1, D3DPOOL_SYSTEMMEM = 2, D3DPOOL_SCRATCH = 3,
  D3DPOOL_FORCE_DWORD = 0x7fffffff
}
 
enum  TYPE_ENUMERATION {
  Type_void, Type_Int, Type_Bool, Type_Float,
  Type_Enum, Type_Double, Type_Vector2, Type_Vector3,
  Type_Vector4, Type_String, Type_GUIRoot, Type_GUIText,
  Type_GUIVideo, Type_GUIButton, Type_GUIEditBox, Type_GUIIMEEditBox,
  Type_GUIScrollBar, Type_GUIListBox, Type_GUIToolTip, Type_GUIPainter,
  Type_GUISlider, Type_GUIGrid, Type_GUICanvas, Type_GUIContainer,
  Type_GUIWebBrowser
}
 
enum  ITYPE_VERIFY_RESULT {
  Verify_Success =0, Verify_Overflow =1, Verify_Underflow =2, Verify_OutOfRange =3,
  Verify_Unknown =4, Verify_Failed =0xffffffff
}
 

Functions

int GenerateUIObj_ID ()
 generate a unique id for ui object
 
void DeleteGUIObject (CGUIBase *pObj)
 
template<class T >
bool CompareXZ (const T &a, const T &b)
 return true if equal. More...
 
float frand ()
 
bool PickingAll (CBaseObject *obj)
 
bool PickingFilterMesh (CBaseObject *obj)
 
bool PickingFilterBiped (CBaseObject *obj)
 
bool PickingFilterNotPlayer (CBaseObject *obj)
 
bool PickingFilterLights (CBaseObject *obj)
 
bool PickingFilterAnyObject (CBaseObject *obj)
 
bool PickingFilterGlobal (CBaseObject *obj)
 
bool PickingActionMesh (CBaseObject *obj)
 
bool PickingByObjectTypes (CBaseObject *obj)
 
bool PickingByPhysicsGroup (CBaseObject *obj)
 
void SetPickingFilter (DWORD filter)
 Set the picking filter to be used with PickingByObjectTypes function filter. More...
 
void SetPickingPhysicsFilter (DWORD filter)
 Set the picking filter to be used with PickingByPhysicsGroup function filter. More...
 
bool RayRectIntersect (Vector3 &vPickRayOrig, Vector3 &vPickRayDir, Vector3 &vPos, FLOAT fX, FLOAT fZ, Vector3 *vIntersectPos)
 Desc: Check the ray intersection with a rect in the y=0 plane, specified by the rect origin and width 2*fX, depth 2*fZ. More...
 
bool RaySphereIntersect (Vector3 &vPickRayOrig, Vector3 &vPickRayDir, Vector3 &vPos, FLOAT fR, Vector3 *vIntersectPos)
 Desc: Check the ray intersection with a Sphere specified by its origin and radius fR.
 
bool Pick (int mouseX, int mouseY, float &pickedX, float &pickedY, float &pickedZ)
 
template<class T >
int PerformOcclusionTest (T &renderlist, SceneState &sceneState, int nMinEnableCount=25, int nPixelsCount=0)
 performance hardware occlusion test for all objects in the renderlist and set the m_bOccluded property. More...
 
template<class T >
int RenderList (T &renderlist, SceneState &sceneState)
 Render object in the given list, using batch rendering, but not using hardware occlusion testing. More...
 
template<class T >
int RenderShadowList (T &renderlist, SceneState &sceneState)
 Render object, using batch rendering, but not using hardware occlusion testing. More...
 
uint16 PackChunkIndex (uint16 rx, uint16 ry, uint16 rz)
 
void UnpackChunkIndex (uint16 index, uint16 &ox, uint16 &oy, uint16 &oz)
 
uint16 CalcPackedBlockID (uint16 rx, uint16 ry, uint16 rz)
 
uint16 CalcPackedBlockID (Uint16x3 &blockID_r)
 
uint16 PackBlockId (uint16 cx, uint16 cy, uint16 cz)
 
uint16_t PackBlockIndex (uint16_t cx, uint16_t cy, uint16_t cz)
 
void UnpackBlockIndex (uint16 index, uint16 &cx, uint16 &cy, uint16 &cz)
 
uint16 CalcPackedChunkID (uint16 blockRX, uint16 blockRY, uint16 blockRZ)
 
uint16 CalcPackedChunkID (Uint16x3 &blockId_r)
 
uint16 PackChunkIndex (Uint16x3 &chunkId_r)
 
uint16 PackChunkColumnIndex (uint16 x, uint16 z)
 
int CountBits (uint32 v)
 
int64_t GetBlockSparseIndex (int64_t bx, int64_t by, int64_t bz)
 
template<typename first_type , typename second_type >
inv_pair< first_type, second_type > make_inv_pair (const first_type &first, const second_type &second)
 
template<typename first_type , typename second_type >
bool operator== (const inv_pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator== (const inv_pair< first_type, second_type > &x, const std::pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator== (const std::pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator!= (const inv_pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator!= (const inv_pair< first_type, second_type > &x, const std::pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator!= (const std::pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator< (const inv_pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator< (const inv_pair< first_type, second_type > &x, const std::pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator< (const std::pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator> (const inv_pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator> (const inv_pair< first_type, second_type > &x, const std::pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator> (const std::pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator<= (const inv_pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator<= (const inv_pair< first_type, second_type > &x, const std::pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator<= (const std::pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator>= (const inv_pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator>= (const inv_pair< first_type, second_type > &x, const std::pair< first_type, second_type > &y)
 
template<typename first_type , typename second_type >
bool operator>= (const std::pair< first_type, second_type > &x, const inv_pair< first_type, second_type > &y)
 
template<class T >
void heapsink (T *array, int element, int max)
 Sinks an element into the heap.
 
template<class T >
void heapsort (T *array, int size)
 Sorts an array with size 'size' using heapsort.
 
DWORD AssetEntity_Request_CallBack (int nResult, CUrlProcessor *pRequest, CUrlProcessorUserData *lpUserData)
 
string GenerateOnMouseScript (int MouseState, int X, int Y)
 the string format is given below: mouse_button="{left|middle|right|}";mouse_x=X;mouse_y=Y; More...
 
string GenerateOnKeyboardScript (int option)
 Not implemented. More...
 
CFrameRateController g_gameTime (CFrameRateController::FRC_NONE)
 
template<class T >
interpolate (const float r, const T &v1, const T &v2)
 
template<class T >
interpolateHermite (const float r, const T &v1, const T &v2, const T &in, const T &out)
 
template<>
Quaternion interpolate< Quaternion > (const float r, const Quaternion &v1, const Quaternion &v2)
 
ClassDescriptorParaEngine_GetClassDesc ()
 
template<class T , class U >
bool operator== (ref_ptr< T > const &a, ref_ptr< U > const &b)
 
template<class T , class U >
bool operator!= (ref_ptr< T > const &a, ref_ptr< U > const &b)
 
template<class T , class U >
bool operator== (ref_ptr< T > const &a, U const *b)
 
template<class T , class U >
bool operator!= (ref_ptr< T > const &a, U const *b)
 
int my_rand (void)
 
float randfloat (float lower, float upper)
 
int randint (int lower, int upper)
 
DWORD GetParaEngineVersion ()
 define PE_MODULE_STANDALONE if the plugin does not link to Core lib under win32 More...
 
IParaEngineCoreGetCOREInterface ()
 get IParaEngineCore interface. More...
 
void RedirectIOToConsole ()
 allocate a console with redirected stdin/stdout/stderr, mostly for script debugging. More...
 
bool SetOutputConsoleTextAttribute (WORD wAttributes)
 Sets the attributes of characters written to the console screen buffer by the WriteFile or WriteConsole function, or echoed by the ReadFile or ReadConsole function. More...
 
void LoadFRCServerMode ()
 
void LoadFRCNormal ()
 
INT_PTR CALLBACK DialogProcAbout (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
 
bool _GetFileInfo_ (const char *filename, CParaFileInfo &fileInfo)
 
bool IsZipData (const char *src, size_t size)
 
const SZIPFileHeaderGetFirstFileInfo (const char *src, std::string *filename=nullptr)
 
bool GetFirstFileData (const char *src, std::string &out)
 
void dosdatetime2filetime (WORD dosdate, WORD dostime, time_t *ft)
 
void standardtime2osfiletime (time_t source_t, time_t *target_t)
 
void filetime2dosdatetime (const time_t &ft, WORD *dosdate, WORD *dostime)
 
void GetFileTime (const std::string &filename, WORD *dosdate, WORD *dostime)
 
float asm_arccos (float r)
 
float asm_arcsin (float r)
 
float asm_arctan (float r)
 
float asm_sin (float r)
 
float asm_cos (float r)
 
float asm_tan (float r)
 
float asm_sqrt (float r)
 
float asm_rsq (float r)
 
float apx_rsq (float r)
 
__inline float asm_rand ()
 
__inline float asm_rand_max ()
 
float asm_ln (float r)
 
Radian operator* (float a, const Radian &b)
 
Radian operator/ (float a, const Radian &b)
 
Degree operator* (float a, const Degree &b)
 
Degree operator/ (float a, const Degree &b)
 
LinearColor operator* (float Scalar, const LinearColor &Color)
 
uint32 GetTypeHash (const Color &Color)
 
void ComputeAndFixedColorAndIntensity (const LinearColor &InLinearColor, Color &OutColor, float &OutIntensity)
 Computes a brightness and a fixed point color from a floating point color. More...
 
template<class T >
const T * constVectorData (const typename std::vector< T > &data)
 
bool operator== (const QMargins &m1, const QMargins &m2)
 
bool operator!= (const QMargins &m1, const QMargins &m2)
 
QMargins operator+ (const QMargins &m1, const QMargins &m2)
 
QMargins operator- (const QMargins &m1, const QMargins &m2)
 
QMargins operator+ (const QMargins &lhs, int rhs)
 
QMargins operator+ (int lhs, const QMargins &rhs)
 
QMargins operator- (const QMargins &lhs, int rhs)
 
QMargins operator* (const QMargins &margins, int factor)
 
QMargins operator* (int factor, const QMargins &margins)
 
QMargins operator* (const QMargins &margins, float factor)
 
QMargins operator* (float factor, const QMargins &margins)
 
QMargins operator/ (const QMargins &margins, int divisor)
 
QMargins operator/ (const QMargins &margins, float divisor)
 
QMargins operator+ (const QMargins &margins)
 
QMargins operator- (const QMargins &margins)
 
bool operator== (const QMarginsF &lhs, const QMarginsF &rhs)
 
bool operator!= (const QMarginsF &lhs, const QMarginsF &rhs)
 
QMarginsF operator+ (const QMarginsF &lhs, const QMarginsF &rhs)
 
QMarginsF operator- (const QMarginsF &lhs, const QMarginsF &rhs)
 
QMarginsF operator+ (const QMarginsF &lhs, float rhs)
 
QMarginsF operator+ (float lhs, const QMarginsF &rhs)
 
QMarginsF operator- (const QMarginsF &lhs, float rhs)
 
QMarginsF operator* (const QMarginsF &lhs, float rhs)
 
QMarginsF operator* (float lhs, const QMarginsF &rhs)
 
QMarginsF operator/ (const QMarginsF &lhs, float divisor)
 
QMarginsF operator+ (const QMarginsF &margins)
 
QMarginsF operator- (const QMarginsF &margins)
 
Matrix4ParaMatrixRotationX (Matrix4 *pMat, float Angle)
 
Matrix4ParaMatrixRotationY (Matrix4 *pMat, float Angle)
 
Matrix4ParaMatrixRotationZ (Matrix4 *pMat, float Angle)
 
Matrix4ParaMatrixScaling (Matrix4 *pMat, float ScaleX, float ScaleY, float ScaleZ)
 
Matrix4ParaMatrixRotationNormal (Matrix4 *pOut, const Vector3 &NormalAxis, float Angle)
 
Matrix4ParaMatrixRotationAxis (Matrix4 *pMat, const Vector3 &Axis, float Angle)
 
Matrix4ParaMatrixMultiply (Matrix4 *Result, const Matrix4 *Matrix1, const Matrix4 *Matrix2)
 Multiplies two 4x4 matrices. More...
 
Vector3ParaVec3TransformCoord (Vector3 *pOut, const Vector3 *pIn, const Matrix4 *Matrix1)
 transform matrix. More...
 
Vector3ParaVec3TransformCoordArray (Vector3 *out, uint32 outstride, const Vector3 *in, uint32 instride, const Matrix4 *matrix, uint32 elements)
 
Vector3ParaVec3Normalize (Vector3 *pOut, const Vector3 *pIn)
 normalize
 
void ParaMatrixRotationRollPitchYaw (Matrix4 *Result, float roll, float pitch, float yaw)
 left handed, clockwise, roll, then pitch, and then yaw. More...
 
Matrix4ParaMatrixOrthoOffCenterLH (Matrix4 *pout, float l, float r, float b, float t, float zn, float zf)
 
Matrix4ParaMatrixOrthoOffCenterOpenGL (Matrix4 *pout, float l, float r, float b, float t, float zn, float zf)
 
void ParaMatrixLookAtLH (Matrix4 *Result, const Vector3 *peye, const Vector3 *pat, const Vector3 *pup)
 LookAtLH creates a View transformation matrix for left-handed coordinate system. More...
 
void ParaMatrixLookAtLH (Matrix4 *Result, const DVector3 &peye, const DVector3 &pat, const DVector3 &pup)
 
Matrix4ParaMatrixPerspectiveLH (Matrix4 *pout, float w, float h, float zn, float zf)
 
Matrix4ParaMatrixOrthoLH (Matrix4 *pout, float w, float h, float zn, float zf)
 
void ParaMatrixTransformation2D (Matrix4 *Result, const Vector2 *ScalingOrigin, float ScalingOrientation, const Vector2 *Scaling, const Vector2 *RotationOrigin, float Rotation, const Vector2 *Translation)
 build transform matrix
 
void ParaMatrixPerspectiveFovLH (Matrix4 *Result, float FovAngleY, float AspectHByW, float NearZ, float FarZ)
 perspective matrix
 
bool ParaMatrixDecompose (Vector3 *poutscale, Quaternion *poutrotation, Vector3 *pouttranslation, const Matrix4 *pm)
 decompose matrix
 
Matrix4ParaMatrixAffineTransformation (Matrix4 *out, float scaling, const Vector3 *rotationcenter, const Quaternion *rotation, const Vector3 *translation)
 
Vector3ParaVec3Project (Vector3 *pout, const Vector3 *pv, const ParaViewport *pviewport, const Matrix4 *pprojection, const Matrix4 *pview, const Matrix4 *pworld)
 
void ParaScalarSinCos (float *pSin, float *pCos, float Value)
 
Vector4 ParaVectorSplatX (const Vector4 &V)
 
Vector4 ParaVectorSplatY (const Vector4 &V)
 
Vector4 ParaVectorSplatZ (const Vector4 &V)
 
Vector4 ParaVectorSwizzle (const Vector4 &V, uint32 E0, uint32 E1, uint32 E2, uint32 E3)
 
Vector3 ParaVector3Normalize (const Vector3 &v)
 
bool ParaComputeBoundingBox (const Vector3 *pfirstposition, uint32 numvertices, uint32 dwstride, Vector3 *pmin, Vector3 *pmax)
 
Vector3 operator* (const Vector3 &rkPoint, const Matrix3 &rkMatrix)
 
Matrix3 operator* (float fScalar, const Matrix3 &rkMatrix)
 
std::ostream & operator<< (std::ostream &o, const Plane &p)
 
bool operator== (const QPoint &p1, const QPoint &p2)
 
bool operator!= (const QPoint &p1, const QPoint &p2)
 
const QPoint operator+ (const QPoint &p1, const QPoint &p2)
 
const QPoint operator- (const QPoint &p1, const QPoint &p2)
 
const QPoint operator* (const QPoint &p, float factor)
 
const QPoint operator* (const QPoint &p, double factor)
 
const QPoint operator* (const QPoint &p, int factor)
 
const QPoint operator* (float factor, const QPoint &p)
 
const QPoint operator* (double factor, const QPoint &p)
 
const QPoint operator* (int factor, const QPoint &p)
 
const QPoint operator+ (const QPoint &p)
 
const QPoint operator- (const QPoint &p)
 
const QPoint operator/ (const QPoint &p, float c)
 
bool operator== (const QPointF &p1, const QPointF &p2)
 
bool operator!= (const QPointF &p1, const QPointF &p2)
 
const QPointF operator+ (const QPointF &p1, const QPointF &p2)
 
const QPointF operator- (const QPointF &p1, const QPointF &p2)
 
const QPointF operator* (const QPointF &p, float c)
 
const QPointF operator* (float c, const QPointF &p)
 
const QPointF operator+ (const QPointF &p)
 
const QPointF operator- (const QPointF &p)
 
const QPointF operator/ (const QPointF &p, float divisor)
 
Quaternion operator* (float fScalar, const Quaternion &rkQ)
 
bool operator== (const QRect &, const QRect &)
 
bool operator!= (const QRect &, const QRect &)
 
QRect operator+ (const QRect &rectangle, const QMargins &margins)
 
QRect operator+ (const QMargins &margins, const QRect &rectangle)
 
QRect operator- (const QRect &lhs, const QMargins &rhs)
 
bool operator== (const QRectF &, const QRectF &)
 
bool operator!= (const QRectF &, const QRectF &)
 
QRectF operator+ (const QRectF &lhs, const QMarginsF &rhs)
 
QRectF operator+ (const QMarginsF &lhs, const QRectF &rhs)
 
QRectF operator- (const QRectF &lhs, const QMarginsF &rhs)
 
bool operator== (const QSize &s1, const QSize &s2)
 
bool operator!= (const QSize &s1, const QSize &s2)
 
const QSize operator+ (const QSize &s1, const QSize &s2)
 
const QSize operator- (const QSize &s1, const QSize &s2)
 
const QSize operator* (const QSize &s, float c)
 
const QSize operator* (float c, const QSize &s)
 
const QSize operator/ (const QSize &s, float c)
 
bool operator== (const QSizeF &s1, const QSizeF &s2)
 
bool operator!= (const QSizeF &s1, const QSizeF &s2)
 
const QSizeF operator+ (const QSizeF &s1, const QSizeF &s2)
 
const QSizeF operator- (const QSizeF &s1, const QSizeF &s2)
 
const QSizeF operator* (const QSizeF &s, float c)
 
const QSizeF operator* (float c, const QSizeF &s)
 
const QSizeF operator/ (const QSizeF &s, float c)
 
LPDIRECT3DTEXTURE9 LoadBLP (char *blpdata, DWORD blpsize)
 some replaceable ID is implemented here. More...
 
D3DXVECTOR3 * D3DXVec3Bezier (D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pT1, CONST D3DXVECTOR3 *pV2, CONST D3DXVECTOR3 *pT2, FLOAT step)
 
bool MatrixResolve (const D3DXMATRIX *mat, D3DXVECTOR3 *t, D3DXVECTOR3 *r, D3DXVECTOR3 *s)
 
void * malloc_func (const size_t size)
 
void free_func (void *ptr)
 
DWORD FromMPQ1 (char *szFichier, char *&buffer)
 
DWORD FromMPQ (char *szFichier, char *&buffer)
 
 DECLARE_GUID (TID_XSkinMeshHeader, 0x3cf169ce, 0xff7c, 0x44ab, 0x93, 0xc0, 0xf7, 0x8f, 0x62, 0xd1, 0x72, 0xe2)
 
 DECLARE_GUID (TID_VertexDuplicationIndices, 0xb8d65549, 0xd7c9, 0x4995, 0x89, 0xcf, 0x53, 0xa9, 0xa8, 0xb0, 0x31, 0xe3)
 
 DECLARE_GUID (TID_SkinWeights, 0x6f0d123b, 0xbad2, 0x4167, 0xa0, 0xd0, 0x80, 0x22, 0x4f, 0x25, 0xfa, 0xbb)
 
 DECLARE_GUID (TID_ParaEngine, 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 ParaX model.
 
 DECLARE_GUID (TID_Sequences, 0x00000001, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_Anim, 0x00000002, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_AlphaSet, 0x00000010, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_Alpha, 0x00000011, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_AlphaKey, 0x00000012, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ParaXHeader, 0x10000000, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 

new model


 
 DECLARE_GUID (TID_ParaXRefObject, 0x10000000, 0x1234, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ParaXRefSection, 0x10000000, 0x1234, 0x0001, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelAnimation, 0x10000002, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_AnimationBlock, 0x10000003, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelBoneDef, 0x10000004, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelTexAnimDef, 0x10000005, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelVertex, 0x10000006, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelView, 0x10000007, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelGeoset, 0x10000008, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelTexUnit, 0x10000009, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelRenderFlags, 0x1000000a, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelColorDef, 0x1000000b, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelTransDef, 0x1000000c, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelTextureDef, 0x1000000d, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelLightDef, 0x1000000e, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelCameraDef, 0x1000000f, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelParticleParams, 0x10000010, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelParticleEmitterDef, 0x10000011, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelRibbonEmitterDef, 0x10000012, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelBlockQ, 0x10000013, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ModelAttachmentDef, 0x10000014, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_ParaXBody, 0x20000000, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XVertices, 0x20000001, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XTextures, 0x20000002, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XAttachments, 0x20000003, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XColors, 0x20000004, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XViews, 0x20000005, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XIndices0, 0x20000006, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XGeosets, 0x20000007, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XRenderPass, 0x20000008, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XBones, 0x20000009, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XTexAnims, 0x2000000a, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XParticleEmitters, 0x2000000b, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XRibbonEmitters, 0x2000000c, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XCameras, 0x2000000d, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XLights, 0x2000000e, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XAnimations, 0x2000000f, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XDWORDArray, 0x20000010, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_GUID (TID_XTransparency, 0x20000011, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
void LoadSFMpq ()
 
void FreeSFMpq ()
 
QPoint operator* (const QPoint &p, const QMatrix &m)
 
QPointF operator* (const QPointF &p, const QMatrix &m)
 
QLineF operator* (const QLineF &l, const QMatrix &m)
 
QLine operator* (const QLine &l, const QMatrix &m)
 
bool FuzzyCompare (const QMatrix &m1, const QMatrix &m2)
 
bool FuzzyCompare (const QTransform &t1, const QTransform &t2)
 
QPoint operator* (const QPoint &p, const QTransform &m)
 
QPointF operator* (const QPointF &p, const QTransform &m)
 
QLineF operator* (const QLineF &l, const QTransform &m)
 
QLine operator* (const QLine &l, const QTransform &m)
 
QRegion operator* (const QRegion &r, const QTransform &m)
 
QTransform operator* (const QTransform &a, float n)
 
QTransform operator/ (const QTransform &a, float n)
 
QTransform operator+ (const QTransform &a, float n)
 
QTransform operator- (const QTransform &a, float n)
 
const QVectorPathqtVectorPathForPath (const QPainterPath &path)
 
 DECLARE_UUID (UUID_ParaXHeader, 0x10000000, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_ParaXBody, 0x20000000, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_ModelView, 0x10000007, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_XViews, 0x20000005, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_ModelTextureDef, 0x1000000d, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_XTextures, 0x20000002, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_AnimationBlock, 0x10000003, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_ModelAttachmentDef, 0x10000014, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_XAttachments, 0x20000003, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_XVertices, 0x20000001, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_XIndices0, 0x20000006, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_ModelGeoset, 0x10000008, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_XGeosets, 0x20000007, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_XRenderPass, 0x20000008, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_ModelBoneDef, 0x10000004, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_XBones, 0x20000009, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_ModelAnimation, 0x10000002, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_XAnimations, 0x2000000f, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
 DECLARE_UUID (UUID_XDWORDArray, 0x20000010, 0x0000, 0x0000, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x00)
 
HKEY GetHKeyByName (const string &root_key)
 
DWORD FtoDW (FLOAT f)
 
unsigned int strtoul10 (const char *in, const char **out=0)
 
unsigned int strtoul8 (const char *in, const char **out=0)
 
unsigned int strtoul16 (const char *in, const char **out=0)
 
unsigned int HexDigitToDecimal (char in)
 
uint8_t HexOctetToDecimal (const char *in)
 
int strtol10 (const char *in, const char **out=0)
 
unsigned int strtoul_cppstyle (const char *in, const char **out=0)
 
uint64_t strtoul10_64 (const char *in, const char **out=0, unsigned int *max_inout=0)
 
template<typename Real >
const char * fast_atoreal_move (const char *c, Real &out, bool check_comma=true)
 Provides a fast function for converting a string into a float, about 6 times faster than atof in win32. More...
 
float fast_atof (const char *c)
 
float fast_atof (const char *c, const char **cout)
 
float fast_atof (const char **inout)
 
double fast_atod (const char *c)
 
double fast_atod (const char *c, const char **cout)
 
double fast_atod (const char **inout)
 
PE_CORE_DECL void * LoadLibrary (const char *pcDllname, int iMode=2)
 
PE_CORE_DECL void * GetProcAddress (void *Lib, const char *Fnname)
 
PE_CORE_DECL bool FreeLibrary (void *hDLL)
 
PE_CORE_DECL bool GetLastFileWriteTime (const char *filename, time_t &ftWrite)
 
PE_CORE_DECL int GetThisThreadID ()
 get the id of the calling thread. More...
 
PE_CORE_DECL int GetProcessID ()
 get the process id
 
PE_CORE_DECL size_t GetPeakMemoryUse ()
 Returns the peak (maximum so far) resident set size (physical memory use) measured in bytes, or zero if the value cannot be determined on this OS.
 
PE_CORE_DECL size_t GetCurrentMemoryUse ()
 Returns the current resident set size (physical memory use) measured in bytes, or zero if the value cannot be determined on this OS.
 
PE_CORE_DECL std::string GetExecutablePath ()
 get current executable path.
 
PE_CORE_DECL bool stdin_is_tty ()
 whether stdin is tty
 
PE_CORE_DECL bool ReadLine (std::string &output, const char *prmt)
 read line from stdin in interactive mode. More...
 
void * mainthread_malloc (size_t bytes)
 
void mainthread_free (void *mem)
 
int64 GetTimeUS (void)
 get time in nano seconds. More...
 
int64 GetTimeMS (void)
 
std::string GetDateFormat (const char *sFormat)
 get the date in string [thread safe] More...
 
std::string GetTimeFormat (const char *sFormat)
 get the time in string [thread safe] More...
 
std::string GenerateUniqueIDByTime ()
 generate a unique id using current universal time. More...
 
double GetSysDateTime ()
 Get the system date and time in seconds. More...
 
template<class Char , class FloatType >
void FloatToString (FloatType f, Char *sz)
 

Variables

int globalTime = 0
 
OBJECT_FILTER_CALLBACK g_fncPickingAll = PickingAll
 any object in the scene except. More...
 
const float face_pixel_scale = (float)CCharCustomizeSysSetting::FaceTexSize / 256.f
 
CFrameRateController g_gameTime
 
bool g_bForceExportMeshPhysics = false
 whether force export mesh physics
 
bool g_bShaderVersion3 = false
 
OBJECT_FILTER_CALLBACK g_fncPickingMesh = PickingFilterMesh
 any mesh object in the scene. More...
 
OBJECT_FILTER_CALLBACK g_fncPickingNPCMesh = PickingFilterMesh
 mesh object that is clickable (associated with scripts). More...
 
OBJECT_FILTER_CALLBACK g_fncPickingBiped = PickingFilterBiped
 biped object. More...
 
OBJECT_FILTER_CALLBACK g_fncPickingNotPlayer = PickingFilterNotPlayer
 any object in the scene except for the current player. More...
 
OBJECT_FILTER_CALLBACK g_fncPickingLight = PickingFilterLights
 only light object in the scene except. More...
 
OBJECT_FILTER_CALLBACK g_fncPickingGlobal = PickingFilterGlobal
 all global objects, such as global character and mesh. More...
 
OBJECT_FILTER_CALLBACK g_fncPickingAnyObject = PickingFilterAnyObject
 any objects, including mesh and characters. More...
 
OBJECT_FILTER_CALLBACK g_fncPickingActionMesh = PickingActionMesh
 any mesh or physical mesh that contains action XRef scripts. More...
 
OBJECT_FILTER_CALLBACK g_fncPickingByObjectTypes = PickingByObjectTypes
 pick objects according to the filter in the last call of SetPickingFilter() function . More...
 
OBJECT_FILTER_CALLBACK g_fncPickingByPhysicsGroup = PickingByPhysicsGroup
 pick objects according to the physics group in last call of SetPickingPhysicsFilter() function. More...
 
const char DEFAULT_SUNSET_TEXTURE [] = "Texture/common/Sunset.dds"
 
const char DEFAULT_CLOUD_TEXTURE [] = "Texture/common/cloud.dds"
 
uint32 CubeAmbientMaskMap []
 
const int SKIP_CUSTOM_BLOCK_COUNT = 4
 we will not use custom data for blocks that has very few instances(less than this value), since custom data has 64bits overhead.
 
const char * OCCPlugin_DLL_FILE_PATH = "OCCPlugin.dll"
 
CFrameRateController g_renderFRC (CFrameRateController::FRC_CONSTANT)
 define the frame controller for the rendering, IO and simulation modules. More...
 
CFrameRateController g_ioFRC (CFrameRateController::FRC_CONSTANT)
 
CFrameRateController g_simFRC (CFrameRateController::FRC_FIRSTORDER)
 
bool g_bIsLoading = false
 
CReport g_report
 
TransformStack g_worldMatrixStack
 
TransformStack g_viewMatrixStack
 
TransformStack g_projectionMatrixStack
 
const string g_paramTypes [CParameter::PARAM_LAST]
 
unsigned long g_holdrand = (unsigned long)time( NULL )
 
ChannelProperty g_characterNormalUpdateChannelClient = {1, NPL::MEDIUM_PRIORITY, NPL::UNRELIABLE_SEQUENCED}
 
ChannelProperty g_characterNormalUpdateChannelServer = {1, NPL::MEDIUM_PRIORITY, NPL::RELIABLE_SEQUENCED}
 
ChannelProperty g_terrainChannel = {2, NPL::MEDIUM_PRIORITY, NPL::RELIABLE_ORDERED}
 
CBipedCallbackHandler g_BipedCallbackHandler
 
float g_flash = 0.f
 this value changes from 0 to 1, and back to 0 in one second. More...
 
HWND * g_pHwndHWND = NULL
 the main rendering window. More...
 
Gdiplus::GdiplusStartupInput g_gdiplusStartupInput
 
ULONG_PTR g_gdiplusToken
 
const char paraengine_app_dir_ [][40]
 
ParaEngine::mutex g_file_mutex
 the global file interface mutex
 
const WORD ZIP_FILE_ENCRYPTED = 0x0001
 
const WORD ZIP_INFO_IN_DATA_DESCRITOR = 0x0008
 
const int ZIP_CONST_ENDHDR = 22
 Size of end of central record (excluding variable fields)
 
const int ZIP_CONST_LOCALHEADERSIG = 'P' | ('K' << 8) | (3 << 16) | (4 << 24)
 local file header
 
const int ZIP_CONST_CENSIG = 'P' | ('K' << 8) | (1 << 16) | (2 << 24)
 Signature for central header.
 
const DWORD ZIP_CONST_ENDSIG = 'P' | ('K' << 8) | (5 << 16) | (6 << 24)
 End of central directory record signature.
 
const float pi = 4.0f * atan( 1.0f )
 
const float half_pi = 0.5f * pi
 
int g_nTimeOffset = 0
 
const char * PARAENGINE_TEMPLATE
 
WCHAR * g_sWindowClassName = L"ParaWorld"
 main window class name: used to prevent multiple instances of this application from running. More...
 
HINSTANCE g_hAppInstance = nullptr
 
CAutoRelease g_dummy
 
SimpleAudioEngineinst = 0
 
WCHAR * g_sWindowTitle = L"ParaEngine Window"
 
const double fast_atof_table [16]
 

Detailed Description

different physics engine has different winding order.

NxScene <-----—> m_dynamicsWorld, m_collisionWorld NxTriangleMeshDesc <-----—> btCollisionShape NxActor <-----—> btRigidBody.

—+++ Memory allocation policies in ParaEngine 1.For all persistent objects in any threads, prefer to use the system's default malloc.

define this to ignore all draw calls to find program bottleneck.

author: LiXizhi date: 2009.4.15 company:ParaEngine desc: ParaEngine used to use D3DX math library.

define this macro to save zip header in memory.

The main game engine implementations.

define this macro will make the array class boundary safe.

define this to enable debug performance log output.

The ParaEngine namespace contains the main ParaEngine source code. It includes scene objects, scene management, asset and file management, 2D GUI, AI modules, ParaX file support, frame rate management, etc.

however, when porting to Linux, I need a cross platform GNU LGPL math library. The following one is chosen with some modifications so that they work well with other parts of ParaEngine.

If defined, but FPS is still low, it is CPU bound. define this to draw only one triangle in each draw calls to find program bottleneck. If defined, but FPS is still low, it is CPU-GPU bus bottleneck, just reduce draw call count. define this will enable error check in debug mode. yet breaks parallelism between CPU and GPU. you may notice a significant drop of FPS when issuing many draw calls, such as 500-1000 calls.

1.For frequently allocated temporary objects in multiple threads (e.g. messages in the NPL modules), prefer to use special fixed-sized memory pools for each object type. such as CNPLPool_Char_alloc 1.For general-purpose object allocations that is only used(allocated/deallocated) by a single thread, prefer to use dl_malloc without locks. e.g. NPL scripting state uses npl_mem_dl_alloc; an alternative is to use CNPLStateMemAllocator (but not as fast as former, since realloc() is not supported natively). 1.For variable sized temporary string/buffer in multi-thread environments, use ParaEngine::StringBuilder (which internally use several fixed sized memory pools with fast mutexes). 1.For variable sized temporary objects(queue, vector, string) in the main gaming thread, prefer to use DL_Allocator or Pool_Char_alloc, according to usage 1.For fixed-sized single-threaded temporary objects(list, map), use Pool_Char_alloc. 1.For fixed-sized multi-threaded temporary objects(list, map), use default allocator with a memory pool.

For temporary object that live just a frame in the game engine, I prefer to use DL_Allocator, especially for stl based object. because dl_allocator has its own private heap, keep temporary objects close to each other.

There are several other allocators

  1. Loki: this is the famous Loki small object allocator. But since dlmalloc already optimized for small objects, we need not create pools in the applications layers
  1. EASTL: this is a paper with design rationales. I like the idea of separating persistent memory allocation with temporary allocation. From Low memory to high memory, more locality is achieved in this way.
  1. Dr.Dobbs's stl_pool: Improving Performance with Custom Pool Allocators for STL.

Typedef Documentation

§ EventHandler_Callback_t

typedef boost::signals2::signal<void(const IEvent*, const std::string&)> ParaEngine::EventHandler_Callback_t

sync file call back function or class.

§ lpFnLibClassDesc

typedef ClassDescriptor *(* ParaEngine::lpFnLibClassDesc)(int i)

"LibClassDesc": must be implemented in a plug-in.

§ lpFnLibDescription

typedef const char *(* ParaEngine::lpFnLibDescription)()

"LibDescription": must be implemented in a plug-in.

§ lpFnLibNumberClasses

typedef int(* ParaEngine::lpFnLibNumberClasses)()

"LibNumberClasses": must be implemented in a plug-in.

§ lpFnLibVersion

typedef unsigned long(* ParaEngine::lpFnLibVersion)()

"LibVersion": must be implemented in a plug-in.

§ NPLString

typedef std::basic_string<char, std::char_traits<char>, ParaEngine::CNPLPool_Char_alloc<> > ParaEngine::NPLString

NPL String can be used instead of std::string, for strings which are created and deleted very regularly.

iternally it uses memory pool CNPLPool_Char_alloc for memory allocation. NPL String uses SSO(small string optimization 16 bytes) as std::string; for string smaller or equal to 2048 Bytes, it uses one of its internal memory pools, for even bigger string, standard malloc is used(default to std::string behavior).

§ OBJECT_FILTER_CALLBACK

typedef bool(* ParaEngine::OBJECT_FILTER_CALLBACK)(CBaseObject *obj)

call back function type for ray picking.

return true if the obj is accepted, false otherwise.

Enumeration Type Documentation

§ BrushType

This enumeration is used in the CGDIBrush class.

Enumerator
BrushTypeSolidColor 

Indicates a brush of type CGDISolidBrush. A solid brush paints a single, constant color that can be opaque or transparent.

BrushTypeHatchFill 

not used

BrushTypeTextureFill 

Indicates a brush of type CGDITextureBrush.

A texture brush paints an image. The image or texture is either a portion of a specified image or a scaled version of a specified image. The type of image (metafile or nonmetafile) determines whether the texture is a portion of the image or a scaled version of the image

BrushTypePathGradient 

not used

BrushTypeLinearGradient 

not used

§ CameraMode

Enumerator
CameraFollowFirstPerson 

First person view of the Target object.

CameraFollowThirdPerson 

Third person view, allow rotation, character centered.

CameraFollowEnd 

this value is used for the end of Camera follow modes.

CameraFollowDefault 

: Third person view, disable rotation, character restricted to a rectangular, if character is reaches the edge of this rect, camera will be centered on it again.

CameraCameraFirstPerson 

Camera as a first person.

§ ChunkCustomDataType

custom chunk data

Enumerator
ChunkCustomDataType_Blocks 

raw block index array.

ChunkCustomDataType_Blocks_SkipOne 

using skip 1 algorithm.

ChunkCustomDataType_Blocks_Delta 

compress using delta.

more space than SkipOne, but also much better than none-compressed

§ CollisionFlag

Enumerator
OPC_FIRST_CONTACT 

Report all contacts (false) or only first one (true)

OPC_TEMPORAL_COHERENCE 

Use temporal coherence or not.

OPC_CONTACT 

Final contact status after a collision query.

OPC_TEMPORAL_HIT 

There has been an early exit due to temporal coherence.

OPC_NO_PRIMITIVE_TESTS 

Keep or discard primitive-bv tests in leaf nodes (volume-mesh queries)

§ CollisionPairType

Type of the collision.

Enumerator
_A_runinto_B 

Object A run into object B, so A should reponse.

_B_runinto_A 

Object B run into object A, so B should reponse.

_AB_runinto_eachother 

Object A,B run into each other, both or the faster one should reponse.

§ DynamicVBAssetType

ID of dynamic vertex buffer asset.

This ID can be used as index in to the m_pDVBuffers array in ParaEngine asset manager.

§ Event_Mapping

Used in event binding.

One can also use the configuration manager to alter the default binding. see EventBinding.h

§ GLOBAL_STRING_ID

a table of global strings.

§ IPQueueReturnCodeEnum

possible return code.

§ IPQueueUsageEnum

how the message queue is used.

§ JabberEvents

Jabber events that a JC client can bind to.

such as jc:AddEventListener("JE_OnMessage", "commonlib.echo(msg)"); in the event handler, one can access data via the msg variable.

Enumerator
JE_OnAuthError 

Authentication failed.

The connection is not terminated if there is an auth error and there is at least one event handler for this event. msg = {jckey, reason=number:AuthenticationError}

JE_OnConnect 

The connection is connected, but no stream:stream has been sent, yet.

msg = {jckey}

JE_OnAuthenticate 

The connection is complete, and the user is authenticated.

msg = {jckey}

JE_OnDisconnect 

The connection is disconnected or auth failed.

msg = {jckey, errorcode=number:ConnectionError}

JE_OnTLSConnect 

msg = {jckey, state=number, issuer=string, peer=string,protocol=string,mac=string,cipher=string,compression=string,from =string,to=string}

JE_OnRoster 

roster arrived.

array of jid roster tables. each jid may belong to 0 or multiple groups and resources. msg = {jckey, {jid=string:jid, name=string,subscription=int:SubscriptionEnum, groups={string, string, ...}, resources={string, string, ...},}, {jid=string:jid, name=string,subscription=int:SubscriptionEnum, groups={string, string, ...}, resources={string, string, ...},}, {jid=string:jid, name=string,subscription=int:SubscriptionEnum, groups={string, string, ...}, resources={string, string, ...},}, ... }

JE_OnRosterPresence 

a roster item's presence arrived.

msg = {jckey, jid=string:jid, resource=string, presence=int:Presence}

JE_OnSelfPresence 

the user itself's presence arrived.

msg = {jckey, jid=string:jid, resource=string, presence=int:Presence}

JE_OnMessage 

We received a message packet.

msg = {jckey, from=string:jid, subtype=int:StanzaSubType, subject=string, body=string}

JE_OnChatState 

msg = {jckey, from=string:jid, state=number:ChatStateType}

JE_OnMessageEvent 

msg = {jckey, from=string:jid, event=number:MessageEventType}

JE_OnResourceBindError 

msg = {jckey, error=int:ResourceBindError}

JE_OnSessionCreateError 

msg = {jckey, error=int:SessionCreateError}

JE_OnItemSubscribed 

msg = {jckey, from=string:jid}

JE_OnItemAdded 

msg = {jckey, from=string:jid}

JE_OnItemUnsubscribed 

msg = {jckey, from=string:jid}

JE_OnItemRemoved 

msg = {jckey, from=string:jid}

JE_OnItemUpdated 

msg = {jckey, from=string:jid}

JE_OnSubscriptionRequest 

msg={jckey, jid=string:jid}

JE_OnUnsubscriptionRequest 

msg={jckey, jid=string:jid,msg=string}

JE_OnNonrosterPresence 

msg={jckey, jid=string:jid}

§ MOVIE_RECORDING_STATE

Enumerator
RECORDER_STATE_BEGIN 

recording

RECORDER_STATE_PAUSED 

recording started but paused

RECORDER_STATE_END 

recording stopped

§ OBJECT_ATTRIBUTE

object volume bit fields here is some example:
scene root: OBJ_VOLUMN_ISOLATED | OBJ_VOLUMN_FREESPACE floor/terrain: OBJ_VOLUMN_ISOLATED | OBJ_VOLUMN_FREESPACE | OBJ_VOLUMN_CONTAINER biped: OBJ_VOLUMN_SENSOR dummy: [OBJ_VOLUMN_SENSOR] e.g.

Like walls, chairs, gate, monitors/sensors skybox: OBJ_VOLUMN_ISOLATED | OBJ_VOLUMN_FREESPACE house: OBJ_VOLUMN_CONTAINER | OBJ_VOLUMN_FREESPACE houseWalls: see dummy.

View culling principles:
1.draw obj only when it's in the view sphere 2.do not draw child nodes of a container if the container is out of the view 3.When object is in view, we will not draw the _House object itself, if the player is in this _House. However, we will draw the inside content of this _House. If it's not a house container, both this object and its child nodes are drawn. 4.When object is in view, we will draw the container object, but not its child nodes, if the player is not in the container.

Collision detection principles:

  1. add to collision pair only if it's a sensor.
  2. child nodes are also tested if the player is in OBJ_VOLUMN_FREESPACE | OBJ_VOLUMN_CONTAINER
  3. do not need to check the child of contain if the container does not contains the object
Enumerator
OBJ_VOLUMN_SENSOR 

two solid objects with sensor volume will cause environment simulator to to generate sensor/collision event when they come in to contact.

OBJ_VOLUMN_CONTAINER 

all child objects are in this object's volume

OBJ_VOLUMN_FREESPACE 

solid objects(like biped) can be placed on its volume, provided it's not already occupied by any solid objects from its children when we solve two solid object collision, this is the field we check first.

OBJ_VOLUMN_ISOLATED 

whether the object is isolated from its siblings.

An isolated object can overlap in physical space with all its siblings regardless of their solidity. multiple scenes or terrains can be declared as ISOLATED object. Note, the object is not isolated from its parent, though.

OBJ_VOLUMN_TILE_VISITOR 

the object has a perceptive radius that may be larger than the object's collision radius.

Currently only IGameObject(biped) object might has this volume type

OBJ_VOLUMN_VIP 

objects with this VIP volume type will trigger the plot of the scene in its view-culling radius.

OBJ_VOLUMN_INVISIBLE 

Object invisible, the object is not drawn.but its physics may load. added by lxz 2006.3.5.

VOLUMN_MASK 

mask of the above bits.

this field is never used externally.

MESH_USE_LIGHT 

whether lights have effects on this object.

MESH_BILLBOARDED 

whether to rotate the object around Y axis to let the object always facing the camera.

MESH_SHADOW_RECEIVER 

whether it is a shadow receiver.

MESH_SHADOW_NOT_CASTER 

whether it is not a shadow caster.

MESH_VEGETATION 

whether it is a vegetation.

OBJ_SHOW_BOUNDINGBOX 

whether show bounding box.

OBJ_BIG_STATIC_OBJECT 

this is a very big and non-movable object.

For big objects, we will attach them to the terrain tile that best contains them; and for everything else(small) we will attach to the root terrain tile.

OBJ_SKIP_RENDER 

this object is should be skipped early during render queue building.

But it is included during scene picking. usually OBJ_SKIP_RENDER and OBJ_VOLUMN_INVISIBLE determines whether or not an object should be put to a render queue.

OBJ_SKIP_PICKING 

this object should be skipped in all picking functions.

this is not enabled by default

OBJ_SKIP_TERRAIN_NORMAL 

if specified, this character will always be perpendicular to the ground, regardless to the terrain normal.

this is usually true for tall thin biped players.

§ ObjectShape

object shape

Enumerator
_ObjectShape_NX_static 

the shape of the object is associated with a dynamic actor defined in Novodex physics engine

_ObjectShape_NX_kinematicBox 

the shape of the object is associated with a static actor defined in Novodex physics engine

§ ObjectType

type of the scene objects

Enumerator
_Floor 

CBaseObject.

_MeshTerrain 

extensions for HAPI creation, main terrain mesh(can be very large)

_PC_Zone 

portal rendering object

_Tile 

above this value must be drawn

_SolidHouse 

extensions for HAPI creation, added 2004-4-30 by LiXizhi

_SolidLightedHouse 

extensions for HAPI creation, added 2004-5-20 by LiXizhi

_SolidMesh 

solid mesh such as simple houses, stone, etc

_DummyMesh 

Dummy mesh that does not collide with any object, such as grass,etc.

_MiniSceneGraph 

mini scene graph

_Biped 

below are types of animation object that at least derived from CBipedObject and is animatable.

Currently MDX file is the underlying asset for those anim mesh if can simply test ObjectType > _Biped, to see whether it is animated mesh.below this value are all object derived from CBipedObject it might be static mesh, NPC, OPC, creatures, players,...

_DummyAnimMesh 

animated mesh object that does not collide with any object, such as bird and grass

_SolidAnimMesh 

animated mesh object that DOES collide with other object, such as wall and trees.

_NPC 

below are all Neuron objects

static passive NPC object that is distributed in the world

_GlobalBiped 

above this value are all global bipeds, as apposed to regional biped

_OPC 

Controllable only through LLE(commands) from the network.

may or may not be in the collision detection list.

_CameraFollowPerson 

CCameraObject.

§ ParaAudioFormats

Enumeration of audio formats supported by the engine.

§ PathPointType

This enumeration is used in the CGDIGraphicsPath class.

Enumerator
PathPointTypeStart 

Indicates that the point is the start of a figure.

PathPointTypeLine 

Indicates that the point is one of the two endpoints of a line.

PathPointTypeBezier 

not used

PathPointTypeRectangle 

Indicates that the point is a rectangle.

PathPointTypePathTypeMask 

not used

PathPointTypePathDashMode 

not used

PathPointTypePathMarker 

not used

PathPointTypeCloseSubpath 

not used

PathPointTypeOperationClear 

Indicates a Clear operation happens to clear the render target.

PathPointTypeBezier3 

not used

§ PE_USAGE

how ParaEngine core is used.

the first 4 bits are mutually exclusive. 0xfffffff0.

§ PeAppMsgEnum

interprocess application messages between app client process to host app process The host app process create the app client process from command line.

command line contains "appid" and "apphost" parameters which specifies the interprocess message queue used between these two processes. e.g. "D:\lxzsrc\ParaEngine\ParaWorld\ParaEngineClient_d.exe" appid="MyApp" apphost="MyWinForm" bootstrapper="script/apps/Taurus/bootstrapper.xml"

Enumerator
PEAPP_SetParentWindow 

set the parent window, param1 = HWND(parent window hwnd)

PEAPP_Start 

start the application, param1=min_resolution_width, param2 = min_resolution_height,

PEAPP_Stop 

stop the application, it will terminate the app. and can not be started again.

PEAPP_OnSizeChange 

Parent Window Size Changed, param1=width, param2=height.

PEAPP_FocusIn 

whenever receives focus, we usually activate the application and render with higher frame rate when has focus.

PEAPP_FocusOut 

whenever loses focus

PEAPP_Log 

send a general log message. m_code contains the log string.

PEAPP_Error 

send a general error message. parm1 contains the error code and m_code contains the error string.

PEAPP_SetWorkingDir 

set working directory. m_code contains the working dir. For security reasons, it is not advised to use this function and may be removed without notice in future

PEAPP_NPL_Activate 

activate an NPL file in the current process. Please note that, the NPL file must be trusted by the client in order to be activated. using NPL.AddPublicFile().

PEAPP_LoadingProgress_LoadingLibs 

ParaEngine loading progress, those messages are sent back from app client process to host app process.

PEAPP_BeginCoreUpdate 

sent by the host to client to begin core updating, by loading the AutoUpdater.dll under the current working directory. One needs to set current working dir properly before calling this function.

PEAPP_UpdateProgress_Started 

sent by the app client to host to inform core update progress.

PEAPP_UpdateProgress_Progress 

param1 is bytes finished, param2 is total bytes.

PEAPP_UpdateProgress_Completed 

when update complete or no change detected, the host can send PEAPP_SetParentWindow and PEAPP_Start to launch the core game engine.

§ PenType

This enumeration is used in the CGDIPen class.

Enumerator
PenTypeSolidColor 

Indicates that the pen draws with a solid color.

PenTypeHatchFill 

not used

PenTypeTextureFill 

Indicates that the pen draws with a texture that is specified by a CGDITextureBrush object.

PenTypePathGradient 

not used

PenTypeLinearGradient 

not used

§ PHYSICS_METHOD

how physics is implemented in this object.

Enumerator
PHYSICS_LAZY_LOAD 

only load physics when a dynamic physics object enters its bounding box.

and automatically unload during a garbage collection.it is mutually exclusive with PHYSICS_ALWAYS_LOAD

PHYSICS_ALWAYS_LOAD 

load physics when this object is created.

Never unload physics. it is mutually exclusive with PHYSICS_LAZY_LOAD

PHYSICS_FORCE_NO_PHYSICS 

this object has no physics.

if this bit is on, it will override all other methods.

PHYSICS_LOAD_FROM_ASSET 

if this bit is on, the object's physics data is read from the mesh entity (i.e.

mesh faces with no textured material). if not on, the entire mesh entity is used as the physics data.

§ PluginActivationType

activation file type in the plug-in's Activate() function.

Enumerator
PluginActType_SCODE 

this is obsoleted, use PluginActType_STATE

PluginActType_STATE 

from the NPL activate function call. the second paramter to LibActivate() will be pointer of INPLRuntimeState. Use GetCurrentMsg() and GetCurrentMsgLength() to retrieve the message.

§ REF_MESSAGE

Enumerator
REFMSG_REF_DELETED 

when a reference object(caller) is deleted, it will send this message to all its references.

The default message handler will remove the caller from their reference lists.

REFMSG_REF_ADDED 

when a reference object add, it will send this message to all its references.

§ RENDER_PIPELINE_ORDER

general render pipeline order.

The order may be changed, however, this is the general order.

§ RenderSelectionStyle

how to render a selected object

Enumerator
RenderSelectionStyle_unlit 

just appear brighter without applying light effect and diffuse color is 1.

RenderSelectionStyle_border 

a yellow border around the biped.

RenderSelectionStyle_flash 

flashing the biped. Not implemented.

§ ResourceRequestID

predefined resource request id.

§ ResourceRequestType

resource request type.

§ SceneStateRenderState

which render state the current render pipeline is in.

§ TechniqueHandle

ParaEngine reserved technique handle: the following technique Handles are reserved for ParaEngine internal usages.

Scene object in brackets are by default assigned the specified value

Enumerator
TECH_NONE 

the object is not renderable, thus having no technique. (CBaseObject)

TECH_OCCLUSION_TEST 

the object is rendered for occlusion testing. Z-write is disabled and pixel shader is simplified.

TECH_SIMPLE_MESH 

vertex declaration is POSITION | TEXCord1, these are usually for static meshes. (CMeshObject)

TECH_SIMPLE_MESH_NORMAL 

vertex declaration is POSITION | NORMAL | TEXCord1, these are usually for static meshes. For (CMeshObject) whose asset ParaX file contains the normal data.

TECH_SIMPLE_MESH_NORMAL_VEGETATION 

it shares the same shader with TECH_SIMPLE_MESH_NORMAL

TECH_SIMPLE_MESH_NORMAL_INSTANCED 

same as TECH_SIMPLE_MESH_NORMAL, except that instancing is used.

TECH_SIMPLE_MESH_NORMAL_SHADOW 

this is the same as TECH_SIMPLE_MESH_NORMAL except that it receive shadows and can not be reflective.

TECH_SIMPLE_MESH_NORMAL_TRANSPARENT 

this is similar to TECH_SIMPLE_MESH_NORMAL

TECH_SIMPLE_MESH_NORMAL_CTOR 

vertex declaration is POSITION | NORMAL | TEXCord1, these are usually for static meshes.It displays an animation in shader when the mesh is being constructed.

TECH_SIMPLE_MESH_NORMAL_UNLIT 

vertex declaration is POSITION | NORMAL | TEXCord1, without any lighting computation.

TECH_SIMPLE_MESH_NORMAL_SELECTED 

vertex declaration is POSITION | NORMAL | TEXCord1, these are usually for selected meshes.

TECH_SIMPLE_MESH_NORMAL_TEX2 

vertex declaration is POSITION | NORMAL | TEXCord1 | TEXCord2, these are usually for meshes with a second UV set.

TECH_CHARACTER 

vertex declaration is POSITION | NORMAL | TEXCord1| TEXCord2 , usually for animated character model. (CBipedObject, CMissileObject)

TECH_PARTICLES 

vertex declaration is POSITION | NORMAL | TEXCord1 | Color1, usually for animated particle model.

TECH_WATER_RIPPLE 

vertex declaration is POSITION | NORMAL | TEXCord1 | Color1, usually for animated particle model.

TECH_SPRITE 

vertex declaration is POSITION | TEXCord1|COLOR, for sprite object. (CSpriteObject)

TECH_SKY_MESH 

vertex declaration is POSITION | TEXCord1, for sky mesh object. (CSkyObject)

TECH_SKY_DOME 

vertex declaration is POSITION | TEXCord1, for sky mesh object. (CSkyObject)

TECH_TERRAIN 

vertex declaration is POSITION | TEXCord1 | TEXCord2, usually used for terrain surface drawing.

TECH_OCEAN 

default ocean with shader 3.0

TECH_OCEAN_SIMPLE 

requires just shader 2.0

TECH_OCEAN_UNDERWATER 

under water effect: currently there is only a fixed function pipeline version

TECH_FULL_SCREEN_GLOW 

full screen glow effect shader.

TECH_SHADOWMAP_BLUR 

full screen shadow map blur effect shader.

TECH_GUI 

GUI rendering.

TECH_SIMPLE_MESH_NORMAL_BORDER 

vertex declaration is POSITION | NORMAL | TEXCord1,

TECH_SIMPLE_CAD_MODEL 

vertex declaration is POSITION | NORMAL | TEXCord1, these are usually for static meshes. For (CMeshObject) whose asset ParaX file contains the normal data.

TECH_SCREEN_WAVE 

screen water wave effect shader

§ VerticesMergeOption

This enumeration is used in CGDIGraphicsPath.

Enumerator
VerticesMergeReplace 

replace all vertices

VerticesMergeAppend 

append vertices to the current vertices

Function Documentation

§ CompareXZ()

template<class T >
bool ParaEngine::CompareXZ ( const T &  a,
const T &  b 
)
inline

return true if equal.

T is a 3D vector, such as Vector3

§ ComputeAndFixedColorAndIntensity()

void ParaEngine::ComputeAndFixedColorAndIntensity ( const LinearColor InLinearColor,
Color OutColor,
float &  OutIntensity 
)

Computes a brightness and a fixed point color from a floating point color.

§ fast_atoreal_move()

template<typename Real >
const char* ParaEngine::fast_atoreal_move ( const char *  c,
Real &  out,
bool  check_comma = true 
)
inline

Provides a fast function for converting a string into a float, about 6 times faster than atof in win32.

§ GenerateOnKeyboardScript()

string ParaEngine::GenerateOnKeyboardScript ( int  option)

Not implemented.

Parameters
option
Returns

§ GenerateOnMouseScript()

string ParaEngine::GenerateOnMouseScript ( int  MouseState,
int  X,
int  Y 
)

the string format is given below: mouse_button="{left|middle|right|}";mouse_x=X;mouse_y=Y;

Parameters
MouseState
X
Y
Returns

§ GenerateUniqueIDByTime()

std::string ParaEngine::GenerateUniqueIDByTime ( )

generate a unique id using current universal time.

[thread safe]

§ GetCOREInterface()

PE_CORE_DECL ParaEngine::IParaEngineCore * ParaEngine::GetCOREInterface ( )

get IParaEngineCore interface.

IParaEngineCore interface contains everything that a plug-in need to access the game engine.

§ GetDateFormat()

std::string ParaEngine::GetDateFormat ( const char *  sFormat)

get the date in string [thread safe]

Parameters
sFormatcan be NULL to use default.e.g. "ddd',' MMM dd yy"
  • d Day of month as digits with no leading zero for single-digit days.
  • dd Day of month as digits with leading zero for single-digit days.
  • ddd Day of week as a three-letter abbreviation. The function uses the LOCALE_SABBREVDAYNAME value associated with the specified locale.
  • dddd Day of week as its full name. The function uses the LOCALE_SDAYNAME value associated with the specified locale.
  • M Month as digits with no leading zero for single-digit months.
  • MM Month as digits with leading zero for single-digit months.
  • MMM Month as a three-letter abbreviation. The function uses the LOCALE_SABBREVMONTHNAME value associated with the specified locale.
  • MMMM Month as its full name. The function uses the LOCALE_SMONTHNAME value associated with the specified locale.
  • y Year as last two digits, but with no leading zero for years less than 10.
  • yy Year as last two digits, but with leading zero for years less than 10.
  • yyyy Year represented by full four digits.
  • gg Period/era string. The function uses the CAL_SERASTRING value associated with the specified locale. This element is ignored if the date to be formatted does not have an associated era or period string.

§ GetParaEngineVersion()

PE_CORE_DECL DWORD ParaEngine::GetParaEngineVersion ( )

define PE_MODULE_STANDALONE if the plugin does not link to Core lib under win32

Returns the state of the VERSION_PARAENGINE

§ GetProcAddress()

void * ParaEngine::GetProcAddress ( void *  Lib,
const char *  Fnname 
)
Parameters
Libthis can be CLIB_DEFHANDLE for extern "C" namespace for clib.

§ GetSysDateTime()

double ParaEngine::GetSysDateTime ( )

Get the system date and time in seconds.

The system time is expressed in Coordinated Universal Time (UTC). Note: there is some trick to make the returned value a valid number in NPL. Only compare time with time returned by the same function. TODO: in the long run, a true unsigned int64 should be returned. [thread safe]

§ GetThisThreadID()

int ParaEngine::GetThisThreadID ( )

get the id of the calling thread.

§ GetTimeFormat()

std::string ParaEngine::GetTimeFormat ( const char *  sFormat)

get the time in string [thread safe]

Parameters
sFormatcan be NULL to use default. e.g. "hh':'mm':'ss tt"
  • h Hours with no leading zero for single-digit hours; 12-hour clock.
  • hh Hours with leading zero for single-digit hours; 12-hour clock.
  • H Hours with no leading zero for single-digit hours; 24-hour clock.
  • HH Hours with leading zero for single-digit hours; 24-hour clock.
  • m Minutes with no leading zero for single-digit minutes.
  • mm Minutes with leading zero for single-digit minutes.
  • s Seconds with no leading zero for single-digit seconds.
  • ss Seconds with leading zero for single-digit seconds.
  • t One character time-marker string, such as A or P.
  • tt Multicharacter time-marker string, such as AM or PM.

§ GetTimeUS()

int64 ParaEngine::GetTimeUS ( void  )

get time in nano seconds.

this ensures that time is always forward.

§ LoadBLP()

LPDIRECT3DTEXTURE9 ParaEngine::LoadBLP ( char *  blpdata,
DWORD  blpsize 
)

some replaceable ID is implemented here.

see also ReplaceIDWithName(); define EXTRACT_MPQ_FILE_TO_DISK to extract BLP to disk

§ ParaMatrixLookAtLH()

void ParaEngine::ParaMatrixLookAtLH ( Matrix4 Result,
const Vector3 peye,
const Vector3 pat,
const Vector3 pup 
)

LookAtLH creates a View transformation matrix for left-handed coordinate system.

The resulting matrix points camera from 'eye' towards 'at' direction, with 'up' specifying the up vector.

§ ParaMatrixMultiply()

Matrix4 * ParaEngine::ParaMatrixMultiply ( Matrix4 Result,
const Matrix4 Matrix1,
const Matrix4 Matrix2 
)

Multiplies two 4x4 matrices.

Parameters
ResultPointer to where the result should be stored
Matrix1Pointer to the first matrix
Matrix2Pointer to the second matrix

§ ParaMatrixRotationRollPitchYaw()

void ParaEngine::ParaMatrixRotationRollPitchYaw ( Matrix4 Result,
float  roll,
float  pitch,
float  yaw 
)

left handed, clockwise, roll, then pitch, and then yaw.

Note
: d3dx9 version parameter order is: Yaw Pitch Rol. but the result are the same.

§ ParaVec3TransformCoord()

Vector3 * ParaEngine::ParaVec3TransformCoord ( Vector3 pOut,
const Vector3 pIn,
const Matrix4 Matrix1 
)

transform matrix.

§ PerformOcclusionTest()

template<class T >
int ParaEngine::PerformOcclusionTest ( T &  renderlist,
SceneState sceneState,
int  nMinEnableCount = 25,
int  nPixelsCount = 0 
)

performance hardware occlusion test for all objects in the renderlist and set the m_bOccluded property.

Parameters
renderlistany render list that implement the m_bOccluded property (such as AlphaPostRenderObject). it will set the m_bOccluded property.
nMinEnableCountonly bother to use hardware occlusion testing if the number of objects is larger than this value. defaults to 25.
nPixelsCountpixels under which object will be considered occluded. this must be 0.
Returns
: currently it just returns the renderlist size.

§ RayRectIntersect()

bool ParaEngine::RayRectIntersect ( Vector3 vPickRayOrig,
Vector3 vPickRayDir,
Vector3 vPos,
FLOAT  fX,
FLOAT  fZ,
Vector3 vIntersectPos 
)

Desc: Check the ray intersection with a rect in the y=0 plane, specified by the rect origin and width 2*fX, depth 2*fZ.

the rect plane function is Ax + By + Cz + D = 0, where A=0,B=1,C=0,D=0 check if it's parallel by checking A Dx + B Dy + C Dz is near zero

give the intersection point with the plane

check if the intersection point is in the rect

§ ReadLine()

PE_CORE_DECL bool ParaEngine::ReadLine ( std::string &  output,
const char *  prmt 
)

read line from stdin in interactive mode.

Parameters
outputoutput string containing the actual line data without
.
promptsuch as ">" or ">>"

§ RedirectIOToConsole()

void ParaEngine::RedirectIOToConsole ( )

allocate a console with redirected stdin/stdout/stderr, mostly for script debugging.

This function can be called many times, but only the first time takes effect.

§ RenderList()

template<class T >
int ParaEngine::RenderList ( T &  renderlist,
SceneState sceneState 
)

Render object in the given list, using batch rendering, but not using hardware occlusion testing.

e.g. nObjCount += RenderList(sceneState.listPRSmallObject, sceneState); return the number of object rendered.

§ RenderShadowList()

template<class T >
int ParaEngine::RenderShadowList ( T &  renderlist,
SceneState sceneState 
)

Render object, using batch rendering, but not using hardware occlusion testing.

e.g. nObjCount += RenderList(sceneState.listPRSmallObject); return the number of object rendered.

only render shadow.

§ SetOutputConsoleTextAttribute()

bool ParaEngine::SetOutputConsoleTextAttribute ( WORD  wAttributes)

Sets the attributes of characters written to the console screen buffer by the WriteFile or WriteConsole function, or echoed by the ReadFile or ReadConsole function.

This function affects text written after the function call.

Parameters
wAttributesBitWise fields. please see SetConsoleTextAttribute for a list of font color and styles. #define FOREGROUND_BLUE 0x0001 // text color contains blue. #define FOREGROUND_GREEN 0x0002 // text color contains green. #define FOREGROUND_RED 0x0004 // text color contains red. #define FOREGROUND_INTENSITY 0x0008 // text color is intensified. #define BACKGROUND_BLUE 0x0010 // background color contains blue. #define BACKGROUND_GREEN 0x0020 // background color contains green. #define BACKGROUND_RED 0x0040 // background color contains red. #define BACKGROUND_INTENSITY 0x0080 // background color is intensified. #define COMMON_LVB_LEADING_BYTE 0x0100 // Leading Byte of DBCS #define COMMON_LVB_TRAILING_BYTE 0x0200 // Trailing Byte of DBCS #define COMMON_LVB_GRID_HORIZONTAL 0x0400 // DBCS: Grid attribute: top horizontal. #define COMMON_LVB_GRID_LVERTICAL 0x0800 // DBCS: Grid attribute: left vertical. #define COMMON_LVB_GRID_RVERTICAL 0x1000 // DBCS: Grid attribute: right vertical. #define COMMON_LVB_REVERSE_VIDEO 0x4000 // DBCS: Reverse fore/back ground attribute. #define COMMON_LVB_UNDERSCORE 0x8000 // DBCS: Underscore. #define COMMON_LVB_SBCSDBCS 0x0300 // SBCS or DBCS flag

§ SetPickingFilter()

void ParaEngine::SetPickingFilter ( DWORD  filter)

Set the picking filter to be used with PickingByObjectTypes function filter.

Parameters
filterbitwise fields of _SceneObjectType, such as CBaseObject::ZoneNode | CBaseObject::PortalNode

§ SetPickingPhysicsFilter()

void ParaEngine::SetPickingPhysicsFilter ( DWORD  filter)

Set the picking filter to be used with PickingByPhysicsGroup function filter.

Parameters
filterbitwise fields of group 0-31. so that 0xffffffff means matches any physics group.

Variable Documentation

§ CubeAmbientMaskMap

uint32 ParaEngine::CubeAmbientMaskMap[]
Initial value:
= {
BlockModel::evf_topFront | BlockModel::evf_topLeft | BlockModel::evf_NxyNz,
BlockModel::evf_topLeft | BlockModel::evf_topBack | BlockModel::evf_Nxyz,
BlockModel::evf_topRight | BlockModel::evf_topBack | BlockModel::evf_xyz,
BlockModel::evf_topFront | BlockModel::evf_topRight | BlockModel::evf_xyNz,
BlockModel::evf_LeftFront | BlockModel::evf_bottomFront | BlockModel::evf_NxNyNz,
BlockModel::evf_topFront | BlockModel::evf_LeftFront | BlockModel::evf_NxyNz,
BlockModel::evf_topFront | BlockModel::evf_rightFont | BlockModel::evf_xyNz,
BlockModel::evf_rightFont | BlockModel::evf_bottomFront | BlockModel::evf_xNyNz,
BlockModel::evf_bottomLeft | BlockModel::evf_bottomBack | BlockModel::evf_NxNyz,
BlockModel::evf_bottomFront | BlockModel::evf_bottomLeft | BlockModel::evf_NxNyNz,
BlockModel::evf_bottomFront | BlockModel::evf_bottomRight | BlockModel::evf_xNyNz,
BlockModel::evf_bottomRight | BlockModel::evf_bottomBack | BlockModel::evf_xNyz,
BlockModel::evf_leftBack | BlockModel::evf_bottomLeft | BlockModel::evf_NxNyz,
BlockModel::evf_topLeft | BlockModel::evf_leftBack | BlockModel::evf_Nxyz,
BlockModel::evf_topLeft | BlockModel::evf_LeftFront | BlockModel::evf_NxyNz,
BlockModel::evf_LeftFront | BlockModel::evf_bottomLeft | BlockModel::evf_NxNyNz,
BlockModel::evf_rightFont | BlockModel::evf_bottomRight | BlockModel::evf_xNyNz,
BlockModel::evf_topRight | BlockModel::evf_rightFont | BlockModel::evf_xyNz,
BlockModel::evf_topRight | BlockModel::evf_rightBack | BlockModel::evf_xyz,
BlockModel::evf_rightBack | BlockModel::evf_bottomRight | BlockModel::evf_xNyz,
BlockModel::evf_rightBack | BlockModel::evf_bottomBack | BlockModel::evf_xNyz,
BlockModel::evf_topBack | BlockModel::evf_rightBack | BlockModel::evf_xyz,
BlockModel::evf_topBack | BlockModel::evf_leftBack | BlockModel::evf_Nxyz,
BlockModel::evf_leftBack | BlockModel::evf_bottomBack | BlockModel::evf_NxNyz,
}

§ fast_atof_table

const double ParaEngine::fast_atof_table[16]
Initial value:
= {
0.0,
0.1,
0.01,
0.001,
0.0001,
0.00001,
0.000001,
0.0000001,
0.00000001,
0.000000001,
0.0000000001,
0.00000000001,
0.000000000001,
0.0000000000001,
0.00000000000001,
0.000000000000001
}

§ g_flash

float ParaEngine::g_flash = 0.f

this value changes from 0 to 1, and back to 0 in one second.

§ g_fncPickingActionMesh

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingActionMesh = PickingActionMesh

any mesh or physical mesh that contains action XRef scripts.

§ g_fncPickingAll

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingAll = PickingAll

any object in the scene except.

Usually for selection during scene editing.

§ g_fncPickingAnyObject

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingAnyObject = PickingFilterAnyObject

any objects, including mesh and characters.

but not including helper objects, such as light.

§ g_fncPickingBiped

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingBiped = PickingFilterBiped

biped object.

§ g_fncPickingByObjectTypes

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingByObjectTypes = PickingByObjectTypes

pick objects according to the filter in the last call of SetPickingFilter() function .

§ g_fncPickingByPhysicsGroup

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingByPhysicsGroup = PickingByPhysicsGroup

pick objects according to the physics group in last call of SetPickingPhysicsFilter() function.

§ g_fncPickingGlobal

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingGlobal = PickingFilterGlobal

all global objects, such as global character and mesh.

This is usually for game mode.

§ g_fncPickingLight

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingLight = PickingFilterLights

only light object in the scene except.

Usually for selection during scene editing.

§ g_fncPickingMesh

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingMesh = PickingFilterMesh

any mesh object in the scene.

Usually for selection during scene editing.

§ g_fncPickingNotPlayer

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingNotPlayer = PickingFilterNotPlayer

any object in the scene except for the current player.

Usually for selection during scene editing.

§ g_fncPickingNPCMesh

OBJECT_FILTER_CALLBACK ParaEngine::g_fncPickingNPCMesh = PickingFilterMesh

mesh object that is clickable (associated with scripts).

Usually for game playing.

§ g_paramTypes

const string ParaEngine::g_paramTypes[CParameter::PARAM_LAST]
Initial value:
= {
"unknown",
"int",
"float",
"boolean",
"vector2",
"vector3",
"vector4",
"matrix43",
"rawbytes",
"texture",
}

§ g_pHwndHWND

HWND* ParaEngine::g_pHwndHWND = NULL

the main rendering window.

§ g_renderFRC

CFrameRateController ParaEngine::g_renderFRC

define the frame controller for the rendering, IO and simulation modules.

The best combination after experimentation is below rendering : constant IO : constant simulation : first_order Another acceptable configuration is: rendering : constant IO : first_order simulation : first_order

§ g_sWindowClassName

WCHAR * ParaEngine::g_sWindowClassName = L"ParaWorld"

main window class name: used to prevent multiple instances of this application from running.

main window class name: used to prevent multiple instances of this application from running.

§ paraengine_app_dir_

const char ParaEngine::paraengine_app_dir_[][40]
Initial value:
= {
"",
"script/",
"xmodels/",
"model/",
"shaders/",
"database/",
"temp/",
"users/",
"_backup/",
"Screen Shots/",
"plugin/",
"config/",
"character/",
}