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

📄 iexecutive.h

📁 墨香最新私服
💻 H
📖 第 1 页 / 共 2 页
字号:
#pragma once

#include "stdafx.h"
#include "IExecutive_GUID.h"
#include "IRenderer.h"
#include "IGeometry.h"

#include "typedef.h"

interface I4DyuchiGXExecutive : public IUnknown
{
	virtual I4DyuchiGXRenderer*	__stdcall	GetRenderer() = 0;		// ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ Release()ÇÊ¿ä¾øÀ½.
	virtual I4DyuchiGXGeometry*	__stdcall	GetGeometry() = 0;		// ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ Release()ÇÊ¿ä¾øÀ½.

	virtual HRESULT				__stdcall	GetRenderer(I4DyuchiGXRenderer** ppRenderer) = 0;		// ReleaseÇÊ¿äÇÔ
	virtual HRESULT				__stdcall	GetGeometry(I4DyuchiGXGeometry** ppGeometry) = 0;		// ReleaseÇÊ¿äÇÔ
	virtual	HRESULT				__stdcall	GetFileStorage(I4DyuchiFileStorage** ppFileStorage) = 0;	// ReleaseÇÊ¿äÇÔ

	virtual BOOL				__stdcall	InitializeWithoutRegistry(char* szGeometryFileName,char* szRendererFileName,HWND hWnd,DISPLAY_INFO* pInfo,DWORD dwMaxObjectNum,DWORD dwMaxLightNum,DWORD dwMaxTriggerNum,DWORD dwViewportNum, DWORD dwMaxDecalNum,ErrorHandleProc pErrorHandleFunc) = 0;
	virtual BOOL				__stdcall	Initialize(HWND hWnd,DISPLAY_INFO* pInfo,DWORD dwMaxObjectNum,DWORD dwMaxLightNum,DWORD dwMaxTriggerNum,DWORD dwViewportNum, DWORD dwMaxDecalNum,ErrorHandleProc pErrorHandleFunc) = 0;
	virtual BOOL				__stdcall	InitializeFileStorageWithoutRegistry(char* szFileName,DWORD dwMaxFileNum,DWORD dwMaxFileHandleNumAtSameTime,DWORD dwMaxFileNameLen,FILE_ACCESS_METHOD accessMethod,PACKFILE_NAME_TABLE* pPackFileList,DWORD dwNum) = 0;
	virtual BOOL				__stdcall	InitializeFileStorage(DWORD dwMaxFileNum,DWORD dwMaxFileHandleNumAtSameTime,DWORD dwMaxFileNameLen,FILE_ACCESS_METHOD accessMethod,PACKFILE_NAME_TABLE* pPackFileList,DWORD dwNum) = 0;
	
	virtual void				__stdcall	SetViewport(DWORD dwViewportIndex) = 0;

	virtual DWORD				__stdcall	IsValidHandle(GXMAP_OBJECT_HANDLE gxh) = 0;	// µð¹ö±×¿ë ÇÔ¼ö.¹«ÁøÀå ´À¸®´Ù.

	virtual DWORD				__stdcall	GXOProcess(GXOBJECT_HANDLE gxo,DWORD dwFrameInc) = 0;
	virtual BOOL				__stdcall	GXORender(GXOBJECT_HANDLE gxo) = 0;

	
	virtual void				__stdcall	GXOSetCurrentFrame(GXOBJECT_HANDLE gxh,DWORD dwFrame) = 0;
	virtual void				__stdcall	GXOSetCurrentMotionIndex(GXOBJECT_HANDLE gxh,DWORD dwMotionIndex) = 0;
	virtual BOOL				__stdcall	GXOGetMotionDesc(GXOBJECT_HANDLE gxh,MOTION_DESC* pMotionDesc,DWORD dwMotionIndex,DWORD dwModelIndex) = 0;
	virtual DWORD				__stdcall	GXOGetMotionNum(GXOBJECT_HANDLE gxh,DWORD dwModelIndex) = 0;			// ¸ð¼ÇµéÀÇ °¹¼ö¸¦ ¾ò´Â´Ù.
	virtual DWORD				__stdcall	GXOGetCurrentFrame(GXOBJECT_HANDLE gxh) = 0;
	virtual DWORD				__stdcall	GXOGetCurrentMotionIndex(GXOBJECT_HANDLE gxh) = 0;
	
	virtual void				__stdcall	GXOSetCurrentMaterialIndex(GXOBJECT_HANDLE gxh,DWORD dwMaterialIndex) = 0;
	virtual	DWORD				__stdcall	GXOGetMaterialNum(GXOBJECT_HANDLE gxh,DWORD dwModelIndex) = 0;
	virtual DWORD				__stdcall	GXOGetCurrentMaterialIndex(GXOBJECT_HANDLE gxh) = 0;

	virtual void				__stdcall	GXOSetPosition(GXOBJECT_HANDLE gxh,VECTOR3* pv3Pos, BOOL bDoInterpolation) = 0;
	virtual void				__stdcall	GXOMovePosition(GXOBJECT_HANDLE gxh,VECTOR3* pv3Pos) = 0;
	virtual void				__stdcall	GXOGetPosition(GXOBJECT_HANDLE gxh,VECTOR3* pv3Pos) = 0;
	virtual	void				__stdcall	GXOMovePositionWithCollide(GXOBJECT_HANDLE gxh,VECTOR3* pv3Pos)=0;		// 2002/05/22
	virtual void				__stdcall	GXOGetInterpolatedPosition( GXOBJECT_HANDLE gxh,VECTOR3* pv3Pos)=0; // º¸°£µÇ¾î¼­ ·£´õ¸µ µÇ´Â Æ÷Áö¼ÇÀ» Ãâ·Â. ½ÇÁ¦ GXOÀÇ À§Ä¡´Â ¾Æ´Ï´Ù. Ä«¸Þ¶óÀ§Ä¡ °»½ÅÇÒ ¶§ ¾²¸é ÁÁÀ»µí.
	
	virtual void				__stdcall	GXOSetDirection(GXOBJECT_HANDLE gxh,VECTOR3* pv3Axis,float fRad) = 0;
	virtual void				__stdcall	GXOSetDirectionFPSStyle(GXOBJECT_HANDLE gxh, VECTOR3* pv3Angles /* in */) = 0;
	virtual	void				__stdcall	GXOChangeDirection(GXOBJECT_HANDLE gxh,float fRad) = 0;
	virtual void				__stdcall	GXOGetDirection(GXOBJECT_HANDLE gxh,VECTOR3* pv3Axis,float* pfRad) = 0;
	virtual void				__stdcall	GXOGetDirectionFPSStyle(GXOBJECT_HANDLE gxh, VECTOR3* pv3Angle /* out */) = 0;
	virtual void				__stdcall	GXOSetScale(GXOBJECT_HANDLE gxh,VECTOR3* pv3Scale) = 0;
	virtual void				__stdcall	GXOGetScale(GXOBJECT_HANDLE gxh,VECTOR3* pv3Scale) = 0;
	virtual void				__stdcall	GXOMoveForward(GXOBJECT_HANDLE gxh,float fDistance) = 0;
	
	virtual void				__stdcall	GXOEnableHFieldApply(GXOBJECT_HANDLE gxo) = 0;
	virtual void				__stdcall	GXODisableHFieldApply(GXOBJECT_HANDLE gxo) = 0;
	virtual BOOL				__stdcall	GXOIsHFieldApply(GXOBJECT_HANDLE gxo) = 0;

	virtual void				__stdcall	GXOSetZOrder(GXOBJECT_HANDLE gxo,int iZOrder) = 0;

	virtual void				__stdcall	GXOEnableAsEffect(GXOBJECT_HANDLE gxo) = 0;
	virtual void				__stdcall	GXODisableAsEffect(GXOBJECT_HANDLE gxo) = 0;
	virtual BOOL				__stdcall	GXOIsAsEffect(GXOBJECT_HANDLE gxo) = 0;

	virtual void				__stdcall	GXOEnableSelfIllumin(GXOBJECT_HANDLE gxo) = 0;
	virtual void				__stdcall	GXODisableSelfIllumin(GXOBJECT_HANDLE gxo) = 0;
	virtual BOOL				__stdcall	GXOIsEnableSelfIllumin(GXOBJECT_HANDLE gxo) = 0;

	virtual void				__stdcall	EstimatedMoveForward(GXOBJECT_HANDLE gxh,VECTOR3* pv3Pos,float fDistance) = 0;

	//////////////////////////
	virtual	void				__stdcall	GXOSetBoundingVolume( GXOBJECT_HANDLE gxh, BOUNDING_VOLUME* pBV)=0;
	virtual	BOOL				__stdcall	GXOIsLanding( GXOBJECT_HANDLE gxh)=0;

	virtual BOOL				__stdcall	GXOAttach(GXOBJECT_HANDLE gxh,GXOBJECT_HANDLE to_gxh,char* szObjName) = 0;
	virtual BOOL				__stdcall	GXODetach(GXOBJECT_HANDLE gxh,GXOBJECT_HANDLE child_gxh) = 0;
	virtual BOOL				__stdcall	GXOAttachLight(GXOBJECT_HANDLE gxoh,char* szObjName,GXLIGHT_HANDLE gxlh,VECTOR3* pv3Offset,DWORD dwAttachType) = 0;
	virtual BOOL				__stdcall	GXODetachLight(GXOBJECT_HANDLE gxoh,GXLIGHT_HANDLE child_gxh) = 0;
	virtual BOOL				__stdcall	GXOAttachCameraFront(GXOBJECT_HANDLE gxo,float fDist) =0;
	virtual BOOL				__stdcall	GXODetachCameraFront(GXOBJECT_HANDLE gxo) = 0;
	virtual ULONG				__stdcall	GXOGetModel(GXOBJECT_HANDLE gxh,I3DModel** ppModel,DWORD* pdwRefIndex,DWORD dwModelIndex) = 0;// Release()ÇÊ¿ä
	virtual	GXOBJECT_HANDLE		__stdcall	GXOGetObjectWithScreenCoord(VECTOR3* pv3IntersectPoint,DWORD* pdwModelIndex,DWORD* pdwObjIndex,float* pfDist,POINT* ptCursor,DWORD dwViewportIndex,DWORD dwFlag) = 0;
	virtual DWORD				__stdcall	GXOGetMultipleObjectWithScreenCoordRect(PICK_GXOBJECT_DESC* pPickDesc,DWORD dwMaxDescNum,RECT* pRect,DWORD dwViewportIndex,DWORD dwFlag) = 0;
	virtual DWORD				__stdcall	GXOGetMultipleObjectWithScreenCoord(PICK_GXOBJECT_DESC* pPickDesc,DWORD dwMaxDescNum,POINT* ptCursor,DWORD dwViewportIndex,DWORD dwFlag) = 0;
	virtual BOOL				__stdcall	GXOReplaceModel(GXOBJECT_HANDLE gxh,DWORD dwModelIndex,char* szFileName) = 0;
	virtual void				__stdcall	GXOGetCollisionMesh(GXOBJECT_HANDLE gxh,COLLISION_MESH_OBJECT_DESC* pColMeshDesc) = 0;
	virtual DWORD				__stdcall	GXOGetObjectIndex(GXOBJECT_HANDLE gxh,char* szObjName,DWORD dwModelIndex) = 0;
	virtual BOOL				__stdcall	GXOGetWorldMatrixPerObject(GXOBJECT_HANDLE gxh,MATRIX4* pMatWorld,DWORD dwModelIndex,DWORD dwObjIndex) = 0;
	virtual DWORD				__stdcall	GXOGetAllObjectsWitLoadMapScript(GXOBJECT_HANDLE* pObjArray,DWORD dwMaxNum) = 0;
	
	virtual void				__stdcall 	DisableRender(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual void				__stdcall 	EnableRender(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual void				__stdcall	DisableSchedule(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual	BOOL				__stdcall	IsRenderable(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual void				__stdcall	EnableSchedule(GXMAP_OBJECT_HANDLE gxh) = 0;

	virtual void				__stdcall	SetPickType(GXMAP_OBJECT_HANDLE	gxh,PICK_TYPE type) = 0;
	virtual PICK_TYPE			__stdcall	GetPickType(GXMAP_OBJECT_HANDLE	gxh) = 0;

	virtual void				__stdcall	SetRenderFlag(GXMAP_OBJECT_HANDLE gxh,DWORD dwFlag) = 0;
	virtual DWORD				__stdcall	GetRenderFlag(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual void				__stdcall	SetAlphaFlag(GXMAP_OBJECT_HANDLE gxh,DWORD dwFlag) = 0;
	virtual DWORD				__stdcall	GetAlphaFlag(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual void*				__stdcall	GetData(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual void				__stdcall	SetData(GXMAP_OBJECT_HANDLE gxh,void* pData) = 0;
	virtual DWORD				__stdcall	GetID(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual BOOL				__stdcall	SetID(GXMAP_OBJECT_HANDLE gxh,DWORD dwID) = 0;
	virtual void 				__stdcall	ReleaseID(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual BOOL				__stdcall	IsInViewVolume(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual BOOL				__stdcall	IsCollisionWithScreenCoord(GXOBJECT_HANDLE gxh,VECTOR3* pv3IntersectPoint,DWORD* pdwModelIndex,DWORD* pdwObjIndex,float* pfDist,POINT* ptCursor,DWORD dwViewportIndex,DWORD dwFlag) = 0;

	virtual GXMAP_OBJECT_HANDLE __stdcall	GetGXMapObjectWithID(DWORD dwID) = 0;
	
	virtual void				__stdcall	SetPropertyFlag(GXMAP_OBJECT_HANDLE gxh,DWORD dwFlag) = 0;
	virtual DWORD				__stdcall	GetPropertyFlag(GXMAP_OBJECT_HANDLE gxh) = 0;

	virtual void				__stdcall	EnablePick(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual void				__stdcall	DisablePick(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual void				__stdcall	EnableUpdateShading(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual void				__stdcall	DisableUpdateShading(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual	void				__stdcall	EnableSendShadow(GXMAP_OBJECT_HANDLE gxh) = 0;
	virtual void				__stdcall	DisableSendShadow(GXMAP_OBJECT_HANDLE gxh) = 0;

⌨️ 快捷键说明

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