⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typedef.h

📁 墨香最新私服
💻 H
📖 第 1 页 / 共 3 页
字号:

	float*			pyfList;
	DWORD			dwYFNumX;
	DWORD			dwYFNumZ;
	float			width;
	float			height;
	DWORD			dwFacesNumX;
	DWORD			dwFacesNumZ;
	DWORD			dwTriNumPerObj;
	DWORD			dwVerticesNumPerObj;
	
	WORD*			pwTileTable;
	DWORD			dwFacesNumPerTileAxis;
	DWORD			dwTileNumPerObjAxis;
	DWORD			dwTileNumX;
	DWORD			dwTileNumZ;
	float			fTileSize;
};

struct HFIELD_OBJECT_DESC
{
	DWORD			dwPosX;
	DWORD			dwPosZ;

	DWORD			dwObjPosX;
	DWORD			dwObjPosZ;


//	IMAGE_DESC*		pTexImage;
//	LIGHT_TEXTURE	LightTexture;

};
struct SYSTEM_STATUS
{
	DWORD		dwAvaliableTexMem;
	DWORD		dwTotalTexMem;
	char		szDeviceType[MAX_NAME_LEN];
};

struct TILE_ENTRY_DESC
{
	// 4啊瘤 版快俊 措茄 牢郸胶府胶飘狼 浚飘府.
	WORD		wTilePosEntry;	
	WORD		wTilePosNum;
};

struct INDEX_ENTRY_DESC
{
	DWORD				dwStartIndex;
	DWORD				dwTriNum;	
};

struct ALPHAMAP_DESC
{
	char*				pAlphaMapBits;
	void*				pVoidExt;
	WORD				wWidthHeight;
	BYTE				bReserved0;
	BYTE				bReserved1;
};

struct TILE_BUFFER_DESC
{
private:
	WORD				wTileIndexIntegrated;
	BYTE				bReserved1;
	BYTE				bReserved2;
public:
	
	INDEX_ENTRY_DESC	indexEntryDesc[4];
	
	// 捞 辆幅狼 鸥老叼胶农赋磐俊 加茄 牢郸胶甸狼 笼钦.
	DWORD				dwTilePosNumPri;
	DWORD				dwTilePosNumExt;
	
	ALPHAMAP_DESC		alphaMapDesc;	

	INDEX_POS*			pTilePosPri;
	TILE_ENTRY_DESC		tileEntryDescPri[4];

	INDEX_POS*			pTilePosExt;
	TILE_ENTRY_DESC		tileEntryDescExt[4];

	WORD				GetIntegratedTileIndex() {return wTileIndexIntegrated;}
	WORD				GetTileIndex() {return wTileIndexIntegrated & 0x3fff;}
	DWORD				GetTileDir() {return (wTileIndexIntegrated & 0xc000)>>14;}
	void				SetTileIndex(WORD wTileIndex) 
	{
		wTileIndexIntegrated = wTileIndex;
	}
	WORD				IsEqual(WORD wTileIndex)
	{
		return (wTileIndex & 0x3fff) - (wTileIndexIntegrated & 0x3fff);

	}
	



};



enum DISPLAY_TYPE
{
	WINDOW_WITH_BLT			= 0x00000000,
	FULLSCREEN_WITH_BLT		= 0x00000001,
	FULLSCREEN_WITH_FLIP	= 0x10000001
};

#define FLIP_MASK			0x10000000
#define FULLSCREEN_MASK		0x00000001

struct DISPLAY_INFO
{
	DISPLAY_TYPE	dispType;
	DWORD			dwWidth;
	DWORD			dwHeight;
	DWORD			dwRefreshRate;
	DWORD			dwBPS;
};

struct TILE_TABLE_DESC
{
	float		fTop;
	float		fLeft;
	float		fBottom;
	float		fRight;
	
	DWORD		dwTileNumWidth;
	DWORD		dwTileNumHeight;
	DWORD		dwBytesOfTile;
	float		fTileWidth;
	float		fTileHeight;
};

interface I4DyuchiGXExecutive;

typedef void* GXOBJECT_HANDLE;
typedef void* GXMAP_HANDLE;
typedef void* GXLIGHT_HANDLE;
typedef void* GXMAP_OBJECT_HANDLE;
typedef void* GXTRIGGER_HANDLE;
typedef void* GXDECAL_HANDLE;
typedef void* GXSOUND_HANDLE;





typedef DWORD (__stdcall *GXSchedulePROC)(I4DyuchiGXExecutive* pExecutive,GXOBJECT_HANDLE gxh,DWORD msg,int arg1,int arg2,void* pData);
typedef DWORD (__stdcall *GXLightSchedulePROC)(I4DyuchiGXExecutive* pExecutive,GXLIGHT_HANDLE gxh,DWORD msg,int arg1,int arg2,void* pData);
typedef DWORD (__stdcall *GXMapObjectSchedulePROC)(I4DyuchiGXExecutive* pExecutive,GXMAP_OBJECT_HANDLE gxh,DWORD msg,int arg1,int arg2,void* pData);
typedef DWORD (__stdcall *GXMapSchedulePROC)(DWORD msg,int frame_ince,int arg2,void* pData);
typedef DWORD (__stdcall *GXDecalSchedulePROC)(I4DyuchiGXExecutive* pExecutive,GXDECAL_HANDLE gxh,DWORD msg,int arg1,int arg2,void* pData);

enum ERROR_TYPE
{
	ERROR_TYPE_ENGINE_CODE			=	0,
	ERROR_TYPE_PARAMETER_INVALID	=	1,
	ERROR_TYPE_DEVICE_NOT_SUPPROT	=	2,
	ERROR_TYPE_D3D_ERROR			=	3,
	ERROR_TYPE_RESOURCE_LEAK		=	4,
	ERROR_TYPE_FILE_NOT_FOUND		=	5
};
typedef DWORD (__stdcall *ErrorHandleProc)(ERROR_TYPE type,DWORD dwErrorPriority,void* pCodeAddress,char* szStr);


#include "GXSCHEDULE_PROC_MSG.h"


interface I4DyuchiAudio;

typedef DWORD (*GXSoundPROC)(I4DyuchiAudio* pAudio,GXSOUND_HANDLE gxh,DWORD msg,int arg1,int arg2,void* pData);

// 咯扁辑何磐 眠啊. 2002/01/25

struct MAABB		// AABB 官款爹 冠胶.
{
	VECTOR3		Max;
	VECTOR3		Min;
};


//	面倒贸府侩 官款爹 杭俘.
enum	BOUNDING_VOLUME_TYPE
{
	BOUNDING_VOLUME_TYPE_NONE,
//	BOUNDING_VOLUME_TYPE_PARTICLE,
	BOUNDING_VOLUME_TYPE_SPHERE,
	BOUNDING_VOLUME_TYPE_AAELLIPSOID,
	BOUNDING_VOLUME_TYPE_AAELLIPSOID2
};

// 2002/05/25 眠啊.
// BOUNDING_VOLUE俊辑 静老 面倒 措惑 敲发.
enum COLLISION_TARGET_FLAG
{
	COLLISION_TARGET_FLAG_TEST_NONE					=	0x00000000,
	COLLISION_TARGET_FLAG_TEST_STATIC_OBJECT		=	0x00000001,
	COLLISION_TARGET_FLAG_TEST_DYNAMIC_OBJECT		=	0x00000002,
	COLLISION_TARGET_FLAG_TEST_HEIGHT_FIELD			=	0x00000004,
	COLLISION_TARGET_FLAG_TEST_EVENT_TRIGGER		=	0x00000008
};

//	I3DModel俊辑 啊瘤霸 等促.
//	酒流 窍唱狼 MODEL 颇老俊 窍唱究狼 面倒 弊缝阑 爱绰促...
struct	BOUNDING_VOLUME
{
	DWORD				dwType;						// 官款爹 杭俘狼 鸥涝BOUNDING_VOLUME_TYPE. 
	VECTOR3				vPivot;						// 肺拿 乔嚎. v3Axis+vPivot捞 拱眉狼 岿靛谅钎捞促.
	float				fRadius;					// 官款爹 胶乔绢.
	float				fHeight;
	DWORD				dwCollisionTargetFlag;		// COLLISION_TARGET_FLAG鸥涝狼 敲发.
};

#define		fFloatMin					1.0f

// 2002/05/23
// 面倒贸府 沥焊甫 劳胶钮萍宏甫 烹秦 exe肺 逞败临锭 荤侩且 备炼眉. 林肺 努钒阑 焊绊, 面倒贸府 力措肺 登搁 绝绢龙 仇.
struct	DBG_COLLISION_INFO		
{
//	DWORD	dwCollisionCandidateTri;
	DWORD	dwTickFindOctree;
//	DWORD	dwTickFindBSPTree;
//	DWORD	dwTickTestOneTri;
	DWORD	dwTickTotalTestCollision;
	DWORD	dwMeetingDynamicObjectCount;
};

enum	BUILD_TREE_FLAG
{
//	BUILD_TREE_FLAG_BUILD_OCTREE		=	0x00000001,
	BUILD_TREE_FLAG_BUILD_STATIC_OBJECT	=	0x00000002
};



struct HFPOINT
{
	DWORD	dwPosX;
	DWORD	dwPosZ;
};


struct EVENT_TRIGGER_DESC
{
	VECTOR3		v3Pos;
	VECTOR3		v3Scale;
	VECTOR3		v3Rot;
	DWORD		dwColor;
};

struct GXLIGHT_PROPERTY
{
	LIGHT_DESC	lightDesc;
	DWORD		dwID;
	BOOL		bLightSwitch;
	BOOL		bShadowSwitch;
	BOOL		bEnableDynamicLight;
	
};

struct GXOBJECT_PROPERTY
{
	VECTOR3		v3Pos;
	VECTOR3		v3Axis;
	float		fRad;
	DWORD		dwID;
	BOOL		bApplyHField;
	BOOL		bAsEffect;
};
struct GXTRIGGER_PROPERTY
{
	EVENT_TRIGGER_DESC	evDesc;
	DWORD				dwID;
};

#define PID_MOD_FILENAME	"*MOD_FILE_NAME"
#define PID_MOTION_NUM		"*MOTION_NUM"
#define PID_MATERIAL_NUM	"*MATERIAL_NUM"
#define PID_STATIC_MODEL	"STATIC_MODEL"
#define PID_HEIGHT_FIELD	"HEIGHT_FIELD"
#define PID_GX_MAP			"GX_MAP"
#define PID_GX_OBJECT		"GX_OBJECT"
#define PID_GX_LIGHT		"GX_LIGHT"
#define PID_GX_TRIGGER		"GX_TRIGGER"
#define	PID_GX_METADATA		"GX_METADATA"
#define	PID_MAX_HEIGHT		"MAX_HEIGHT"
#define	PID_MIN_HEIGHT		"MIN_HEIGHT"
#define	PID_BOUNDINGBOX_MAX "BOX_MAX"
#define	PID_BOUNDINGBOX_MIN	"BOX_MIN"

typedef DWORD (__stdcall *LOAD_CALLBACK_FUNC)(DWORD dwCurCount,DWORD dwTotalCount,void* pArg);
typedef DWORD (__stdcall *GX_FUNC)();
typedef float (__stdcall *SHADE_FUNC)(float fLightRS,float fLightRsRs,float fDistance,float fDistDist,float cosang);


HRESULT typedef (__stdcall *CREATE_INSTANCE_FUNC)(void* ppv);

struct LOAD_CALLBACK_DESC
{
	DWORD				dwTotalCount;
	DWORD*				pdwCurCount;
	LOAD_CALLBACK_FUNC	pFunc;
};

struct TRI_FACE
{
	VECTOR3		v3Point;
	PLANE		plane;
	WORD		wIndex[4];
	
};
#define TRI_FACE_SIZE			12+16+8
#define TRI_FACE_NORMAL_OFFSET	12
#define TRI_FACE_D_OFFSET		24
#define TRI_FACE_INDEX_OFFSET	28

struct SHORT_RECT		
{
    short    left;
    short    top;
    short    right;
    short    bottom;
};

struct HFIELD_POS
{
	DWORD		dwX;
	DWORD		dwZ;

};

struct FOG_DESC
{
	float	fStart;
	float	fEnd;
	float	fDensity;
	DWORD	dwColor;
	BOOL	bEnable;
};

struct VIEWPORT
{
	CAMERA_DESC					cameraDesc;
	
	VIEW_VOLUME					ViewVolume;
	PLANE						planeCameraEye;
	MATRIX4						matViewInverse;
	MATRIX4						matView;
	MATRIX4						matProj;
	MATRIX4						matForBillBoard;
	DWORD						dwAmbientColor;
	DWORD						dwEmissiveColor;
	SHORT_RECT					rcClip;
	WORD						wClipWidth;
	WORD						wClipHeight;
	BOOL						bFullScreen;
	FOG_DESC					fogDesc;
	DIRECTIONAL_LIGHT_DESC		dirLightDesc;
	
};

interface I3DModel;
struct MODEL_HANDLE
{
	I3DModel*		pModel;
	DWORD			dwRefIndex;
};

struct CLOCK
{
	DWORD			dwLO;
	DWORD			dwHI;
};

struct PERFORMANCE_CONTEXT
{
	CLOCK			dwClock;			// 0
	CLOCK			dwUsagedClock;		// 8
	DWORD			dwPrvTick;			// 16
	DWORD			dwFrameCount;		// 20
	DWORD			dwAvgFrame;			// 24

};

struct DECAL_DESC
{
	VECTOR3			v3Position;					// 单漠捞 积扁绰 矫累痢.
	VECTOR3			v3FaceDirection;			// 单漠捞 焊绰 规氢. 
	VECTOR3			v3UpDirection;				// 单漠狼 '困'甫 唱鸥郴绰 氦磐. 甸绢坷绰 乐绰 弊措肺 瓜绰促.
	VECTOR3			v3XYZScale;					// 阿 己盒狼 辨捞. 哭颊 谅钎拌 扁霖栏肺 单漠狼 坷弗率捞 X, 拉率捞 Z, 拳搁规氢捞 Y.
	BOOL			bLookAtPivot;
//	void*			MaterialHandle;
	char			szMaterialName[MAX_NAME_LEN];
	DWORD			dwTextureCoordGenMethod;			// 咆胶媚傅 规过. 酒流 公瓤. 角赴歹概俏观俊 救等促.
	DWORD			dwTTL;								// 鸥烙 捧 扼捞宏. 橇饭烙窜困. 康盔洒 且妨搁 0xffffffff
};

struct MULTI_DWORD_KEY
{
	DWORD		dwNum;
	DWORD		dwKey[16];
};

struct SET_FRAME_ARGS
{
	MATRIX4*				pMatrixEntry;
	COLLISION_MODEL_DESC*	pColModelDesc;
	MATRIX4*				pParentMat;
	DWORD					dwFrame;
	DWORD					dwMotionIndex;
	MATRIX4					matTransform[2]; // 0篮 parent, 1篮 transform
	MATRIX4					matWorldForPhysique;
	DWORD					dwFlag;
};

struct FONT_PROPERTY_DESC
{
	// 郴侩 绊沥 
	HFONT	hFont;
	int		iWidth;
	int		iHeight;
	

	// 郴侩捞 官拆 喉钒.
	DWORD			dwColor;	
	char*			pszString;
	DWORD			dwStrLen;
	CHAR_CODE_TYPE	type;
};

struct PICK_GXOBJECT_DESC
{
	GXOBJECT_HANDLE		gxo;
	VECTOR3				v3IntersectPoint;
	float				fDist;
	DWORD				dwModelIndex;
	DWORD				dwObjIndex;
};

struct LOCKED_RECT
{
    INT                 Pitch;
    void*               pBits;
};

enum TEXTURE_FORMAT
{
	TEXTURE_FORMAT_A8R8G8B8,
	TEXTURE_FORMAT_A4R4G4B4,
	TEXTURE_FORMAT_R5G6B5,
	TEXTURE_FORMAT_A1R5G5B5
};

enum TEXGEN_METHOD
{
	TEXGEN_METHOD_REFLECT_SPHEREMAP	= 0,
	TEXGEN_METHOD_WAVE				= 1
};

struct CUSTOM_EFFECT_DESC
{
	char			szEffectShaderName[32];
	TEXGEN_METHOD	method;
	BOOL			bDisableSrcTex;
	char			szTexName[MAX_NAME_LEN];
	DWORD			dwFlag;
	DWORD			dwReserved1;
	DWORD			dwReserved2;
	DWORD			dwReserved3;
	DWORD			dwReserved4;
};

enum TRANSFORM_MATRIX_TYPE
{
	TRANSFORM_MATRIX_TYPE_VIEW	 = 0,
	TRANSFORM_MATRIX_TYPE_WORLD	 = 1,
	TRANSFORM_MATRIX_TYPE_PRJ	 = 2
};

struct	AFTER_INTERPOLATION_CALL_BACK_ARG
{
	DWORD		dwIncreasedTick;					// 弥辟 霸烙 橇饭烙俊辑 刘啊等 平 墨款飘.
	DWORD		dwTickPerFrame;						// 茄 橇饭烙寸 硅沥等 平.   dwIncreasedTick狼 弥措蔼捞促.
};

typedef DWORD (__stdcall *AfterInterpolationCallBack)( AFTER_INTERPOLATION_CALL_BACK_ARG* pArg);
// 劳胶钮萍宏::Run()俊辑 困摹焊埃苞 罚歹傅 荤捞俊 龋免登绰 妮归.
// 墨皋扼甫 某腐磐俊 嘿捞芭唱且 锭 静搁 蜡侩窍促.

// 绵规氢 鸥盔眉. 面倒贸府 殿俊 静牢促.
struct	AAELLIPSOID
{
	VECTOR3		P;			// 乔嚎, 例措蔼.
	float		w;			// x, z率 瘤抚.
	float		h;			// y绵率 臭捞.
};

// 面倒贸府 窃荐 郴何俊辑 静捞绰 备炼眉.
struct	COLLISION_RESULT
{
	float		fMeetTime;					// 父朝锭狼 矫痢.
	VECTOR3		vWhereMeet;					// 父唱绰 痢.
	VECTOR3		vMeetPivot;					// 父朝锭狼 坷宏璃飘狼 吝痢.
	PLANE		MeetPlane;					// 父唱绰 搁.
	DWORD		dwComponentType;			// 伙阿屈狼 绢叼俊 父车唱.?
};

// CoGXObject俊辑 龋免窍绰 面倒贸府 窃荐狼 府畔骇幅.
struct	COLLISION_TEST_RESULT
{
	VECTOR3		Candidate;
	VECTOR3		LastVelocity;
//	VECTOR3		To;
	BOOL		bLand;				// 顶俊 搓酒 乐绰啊.?
};

typedef DWORD (__stdcall *CollisionTestCallBackProcedure)(COLLISION_RESULT*	pResult);
// 瘤坷皋飘府俊辑 面倒贸府锭 静老 妮归.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -