11 #ifndef PARAENGINE_CLIENT 12 #ifndef WIN32_LEAN_AND_MEAN 14 #define WIN32_LEAN_AND_MEAN 28 #if (defined(__APPLE__)) || ((defined PARA_TARGET_PLATFORM) && (PARA_TARGET_PLATFORM == PARA_PLATFORM_IOS || PARA_TARGET_PLATFORM == PARA_PLATFORM_MAC )) 29 #include <malloc/malloc.h> 42 typedef signed char int8;
45 typedef __int64 int64;
46 typedef unsigned char uint8;
47 typedef unsigned short uint16;
48 typedef unsigned long uint32;
49 typedef unsigned __int64 uint64;
50 typedef unsigned char byte;
52 #define STDCALL __stdcall 55 #ifdef PARAENGINE_MOBILE 57 #define SUCCEEDED(hr) ((HRESULT)(hr) >= 0) 63 typedef int16_t int16;
64 typedef int32_t int32;
65 typedef int64_t int64;
66 typedef uint8_t uint8;
67 typedef uint16_t uint16;
68 typedef uint32_t uint32;
69 typedef uint64_t uint64;
74 typedef void * HANDLE;
76 typedef void * HANDLE;
77 typedef void * HMODULE;
78 typedef void * HINSTANCE;
82 typedef uint32_t DWORD;
83 typedef DWORD *LPDWORD;
84 typedef const void * LPCVOID;
87 typedef wchar_t WCHAR;
88 typedef uint16_t WORD;
91 typedef unsigned char BYTE;
93 typedef unsigned int UINT;
95 typedef uint32_t ULONG;
96 typedef int32_t HRESULT;
102 #define WPARAM uint32 105 #define LPARAM uint32 110 typedef WCHAR *LPWSTR;
111 typedef TCHAR *LPTSTR;
112 typedef const WCHAR *LPCWSTR;
113 typedef const TCHAR *LPCTSTR;
114 typedef const CHAR *LPCSTR;
131 #define FILE_CURRENT 1 138 #define _HRESULT_TYPEDEF_(_sc) ((HRESULT)_sc) 139 #define E_FAIL ((HRESULT)(0x80000008L)) 141 #define E_ACCESSDENIED _HRESULT_TYPEDEF_(0x80070005L) 142 #define E_INVALIDARG _HRESULT_TYPEDEF_(0x80000003L) 143 #define E_PENDING _HRESULT_TYPEDEF_(0x8000000AL) 148 DWORD dwHighDateTime;
154 #define SUCCEEDED(hr) ((HRESULT)(hr) >= 0) 158 #define SAFE_DELETE(x) if((x)!=0){delete (x);x=0;} 161 #ifndef SAFE_DELETE_ARRAY 162 #define SAFE_DELETE_ARRAY(x) if((x)!=0){delete [] (x);x=0;} 166 #define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } } 170 #define FAILED(hr) ((HRESULT)(hr) < 0) 174 #define S_OK ((HRESULT)0x00000000L) 178 #define UCHAR_MAX 0xff 207 EH_MOUSE_MOVE = 0x1<<5,
208 EH_MOUSE_DOWN = 0x1<<6,
209 EH_MOUSE_UP = 0x1<<7,
211 EH_MOUSE_WHEEL = 0x1<<9,
212 EH_TOUCH = 0x1 << 10,
213 EH_ACCELEROMETER = 0x1 << 11,
226 PluginActType_NONE = 0,
246 Class_ID(
unsigned long aa,
unsigned long bb) { a = aa; b = bb; }
247 unsigned long PartA() {
return a; }
248 unsigned long PartB() {
return b; }
249 void SetPartA(
unsigned long aa ) { a = aa; }
250 void SetPartB(
unsigned long bb ) { b = bb; }
251 int operator==(
const Class_ID& cid)
const {
return (a==cid.a&&b==cid.b); }
252 int operator!=(
const Class_ID& cid)
const {
return (a!=cid.a||b!=cid.b); }
253 Class_ID& operator=(
const Class_ID& cid) { a=cid.a; b = cid.b;
return (*
this); }
255 bool operator<(
const Class_ID& rhs)
const 257 if ( a < rhs.a || ( a == rhs.a && b < rhs.b ) )
273 Interface_ID(
unsigned long aa,
unsigned long bb) { a = aa; b = bb; }
274 unsigned long PartA() {
return a; }
275 unsigned long PartB() {
return b; }
276 void SetPartA(
unsigned long aa ) { a = aa; }
277 void SetPartB(
unsigned long bb ) { b = bb; }
278 int operator==(
const Interface_ID& iid)
const {
return (a==iid.a&&b==iid.b); }
279 int operator!=(
const Interface_ID& iid)
const {
return (a!=iid.a||b!=iid.b); }
284 if ( a < rhs.a || ( a == rhs.a && b < rhs.b ) )
302 PARAVECTOR3(
float x_,
float y_,
float z_):x(x_), y(y_),z(z_){}
311 PARAVECTOR4(
float x_,
float y_,
float z_,
float w_) :x(x_), y(y_), z(z_), w(w_){}
318 float _11, _12, _13, _14;
319 float _21, _22, _23, _24;
320 float _31, _32, _33, _34;
321 float _41, _42, _43, _44;
353 #if defined(WIN32) && defined(PARAENGINE_CLIENT) 378 enum EnumNoInit { NoInit };
455 struct MultiAnimationEntity;
482 class CNPLConnection;
483 class CNPLConnectionManager;
484 class CNPLDispatcher;
488 class CNPLMessageQueue;
491 class NPLMsgIn_parser;
494 struct NPLRuntimeAddress;
495 class CNPLRuntimeState;
496 class CNPLScriptingState;
498 class INPLStimulationPipe;
504 class CICConfigManager;
518 class ParaAssetObject;
Which DXT Compression to Use? Obviously, there are some trade-offs between the different formats whic...
Definition: TextureEntity.h:29
Wrapper class which indicates a given angle value is in Radians.
Definition: ParaAngle.h:10
for a single attribute field
Definition: AttributeField.h:19
a flying missile in the global space.
Definition: MissileObject.h:11
Definition: SceneObject.h:15
Definition: PEtypes.h:315
a global pool for user registered custom events.
Definition: EventsCenter.h:28
an attribute class is a collection of attribute fields.
Definition: AttributeClass.h:10
ShadowVolume is a structure for storing shadow volume geometries.
Definition: ShadowVolume.h:39
It's used as parameter to Draw method of each scene object.
Definition: SceneState.h:284
define this to enable debugging of NPL code in visual studio
Definition: INPL.h:9
this is obsoleted, use PluginActType_STATE
Definition: PEtypes.h:228
4-dimensional homogeneous vector.
Definition: ParaVector4.h:10
abstract class for all animation instance implementation.
Definition: AnimInstanceBase.h:66
EventHandler_type
bit fields
Definition: PEtypes.h:200
A typical character in role playing game.
Definition: RpgCharacter.h:73
Providing information about the current game world.
Definition: WorldInfo.h:12
managing local lights.
Definition: LightManager.h:12
this is the main file interface exposed by ParaEngine.
Definition: FileManager.h:32
a managed loader is a kind of global scene object for dynamic scene object loading and unloading...
Definition: ManagedLoader.h:28
Definition: PEtypes.h:327
base class for all xref objects
Definition: XRefObject.h:13
Mini scene graph does not use a spatial partitions for its stored objects, instead it just implement ...
Definition: MiniSceneGraph.h:29
different physics engine has different winding order.
Definition: EventBinding.h:32
Auto Camera is designed to handle smooth transitions between supported camera type, such as first person camera, third person camera, and rotation camera.
Definition: AutoCamera.h:14
Definition: PEtypes.h:116
Class: CAudioEngine.
Definition: AudioEngine.h:49
a central place for managing all attributes of all classes in ParaEngine.
Definition: AttributesManager.h:9
Place of the.
Definition: GUIEvent.h:43
character animation instance: it includes both the animation and model display information.
Definition: CustomCharModelInstance.h:17
Definition: PEtypes.h:338
manage plug-ins
Definition: PluginManager.h:117
Definition: ManagedDef.h:18
Modeling the global sun and its directional light, including sun position, direction, color, time of day, etc.
Definition: SunLight.h:26
A sphere primitive, mostly used for bounds checking.
Definition: ParaSphere.h:46
this is the interface class for managing global terrain used in ParaEngine.
Definition: GlobalTerrain.h:36
Implementation of a Quaternion, i.e.
Definition: ParaQuaternion.h:10
the sky object in the scene.
Definition: SkyMesh.h:13
A 3x3 matrix which can represent rotations around axes.
Definition: ParaMatrix3.h:63
A GUI layer contains four drawable GUIStateElement, which are "normal", "highlight", "pressed", and "disabled".
Definition: GUIResource.h:131
Standard 3-dimensional vector.
Definition: ParaVector3.h:16
Wrapper class which indicates a given angle value is in Degrees.
Definition: ParaAngle.h:56
an interface ID
Definition: PEtypes.h:267
This class represents the unique class ID for a ParaEngine plug-in.
Definition: PEtypes.h:240
static mesh scene object.
Definition: MeshObject.h:13
Definition: BaseCamera.h:70
the class for all frame rate controller.
Definition: FrameRateController.h:10
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.
Definition: GUIBase.h:54
Definition: object.hpp:749
Standard 2-dimensional vector.
Definition: ParaVector2.h:16
Definition: minilua.c:461
Definition: ShapeSphere.h:6
creating zip files
Definition: ZipWriter.h:27
a zone in portal rendering.
Definition: ZoneNode.h:17
AABB-related code.
Definition: ShapeAABB.h:11
Representation of a ray in space, i.e.
Definition: ParaRay.h:41
this is an interface class for game objects, such as NPC, OPC and players.
Definition: IGameObject.h:15
AI and AI scripts handlers.
Definition: AISimulator.h:28
Class encapsulating a standard 4x4 homogeneous matrix.
Definition: ParaMatrix4.h:23
Definition: ParaXEntity.h:9
a texture from a rectangular region of bitmap, and one additional texture color
Definition: GUIResource.h:12
a tile in the latticed terrain class
Definition: TerrainTile.h:21
Defines a plane in 3D space.
Definition: ParaPlane.h:23
Definition: PEtypes.h:507
from the NPL activate function call. the second paramter to LibActivate() will be pointer of INPLRunt...
Definition: PEtypes.h:230
Wrapper class which identifies a value as the currently default angle type, as defined by Math::setAn...
Definition: ParaAngle.h:101
NPC database item (complete)
Definition: NpcDatabase.h:8
Each GUI control is associated with a CGUIResource object for rendering.
Definition: GUIResource.h:185
Represents a convex volume bounded by planes.
Definition: ParaPlaneBoundedVolume.h:43
A common interface for all classes implementing IAttributeFields By implementing this class's virtual...
Definition: IAttributeFields.h:59
The top level scene management class.
Definition: SceneObject.h:58
it presents a real or virtual file in ParaEngine.
Definition: ParaFile.h:31
MeshEntity distinguish one template from other.
Definition: MeshEntity.h:38
This class is for maintaining the event binding table and script binding table.
Definition: EventBinding.h:51
a font name, format and font color
Definition: GUIResource.h:36
AABB with orientation by a matrix.
Definition: ShapeOBB.h:11
Definition: PEtypes.h:503
base class for all AI objects
Definition: AIBase.h:9
the pose of the character.
Definition: ParaXModel.h:381
a singleton class for managing all data providers used in the game engine.
Definition: DataProviderManager.h:20
EventType
event type
Definition: PEtypes.h:184
Definition: PEtypes.h:298
The global physics scene (NxScene) and physics SDK is encapsulated in a member object of scene manage...
Definition: PhysicsWorld.h:18
manager all effects file used by the game engine.
Definition: EffectManager.h:16
managing biped state
Definition: BipedStateManager.h:11
this is a default report class.
Definition: Report.h:15
Definition: PEtypes.h:145
a reflective plane in the scene currently it only supports horizontal surface.Vertical surface and ar...
Definition: MirrorSurface.h:10
Portal rendering: portal class a portal can be connected to one or two zones.
Definition: PortalNode.h:15
It holds any information that is perceived by a Active Biped object including himself.
Definition: IEnvironmentSim.h:62
Defines the base class of all scene elements:CBaseObject for Parallel World Engine.
Definition: BaseObject.h:230
the asset manager class in ParaEngine.
Definition: ParaWorldAsset.h:44
for luabind, The main drawback of this approach is that the compilation time will increase for the fi...
Definition: luaSQLite.cpp:1971
DataBaseEntity distinguish one template from other TODO: I should wrap the SQLite3 interface in Datab...
Definition: DatabaseEntity.h:12
A pool of currently selected objects.
Definition: SelectionManager.h:102
manager multiple viewport
Definition: ViewportManager.h:18
A 3D box aligned with the x/y/z axes.
Definition: ParaAxisAlignedBox.h:16
int SClass_ID
class ID for built-in classes only.
Definition: PEtypes.h:220
PluginActivationType
activation file type in the plug-in's Activate() function.
Definition: PEtypes.h:224
position of the GUI object
Definition: GUIPosition.h:34
Definition: PEtypes.h:345
this is primary animation instance used for normal animated character or advanced customizable charac...
Definition: ParaXAnimInstance.h:13
standard math lib
Definition: ParaMath.h:21
Definition: PEtypes.h:291
FFT based ocean rendering class.
Definition: OceanManager.h:56
Definition: PEtypes.h:306
Base class for managed asset entity in ParaEngine.
Definition: AssetEntity.h:25
environment simulator.
Definition: IEnvironmentSim.h:103
When rendering scene, root scene and the root GUI are rendered in sequence.
Definition: GUIRoot.h:48
global settings for ParaEngine.
Definition: ParaEngineSettings.h:36
a list of CParameter{name, value} pairs of anything.
Definition: ParameterBlock.h:108