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

📄 main.h

📁 一个游戏的原代码
💻 H
字号:
//3D VECTOR
struct D3DVECTOR
{
public:

	//Dieser Konstruktor wird standardm溥ig aufgerufen
	D3DVECTOR() {}

	//Aber wir wollen uns auch noch die M鰃lichkeit lassen die Werte bei der Deklaration zu setzen
	D3DVECTOR(float X, float Y, float Z) 
	{ 
		x = X; y = Y; z = Z;
	}

	//Hier wird fest gelegt was passiert wenn zwei Vektoren addiert werden
	D3DVECTOR operator+(D3DVECTOR vVect)
	{
		//Die addierten Vektoren zur點k geben
		//Dazu wird der Konstruktor aufgerufen den wir bereits deklariert haben
		return D3DVECTOR(vVect.x + x, vVect.y + y, vVect.z + z);
	}

	//Das gleiche nochmal mit -
	D3DVECTOR operator-(D3DVECTOR vVect)
	{
		return D3DVECTOR(x - vVect.x, y - vVect.y, z - vVect.z);
	}
	
	//und jetzt mit * (nur mit flie遦omma-werten)
	D3DVECTOR operator*(float Num)
	{
		return D3DVECTOR(x * Num, y * Num, z * Num);
	}

	// "/"
	D3DVECTOR operator/(float Num)
	{
		return D3DVECTOR(x / Num, y / Num, z / Num);
	}

	float x, y, z;
};


struct D3DVECTOR2
{
public:
	//Dieser Konstruktor wird standardm溥ig aufgerufen
	D3DVECTOR2() {}

	//Aber wir wollen uns auch noch die M鰃lichkeit lassen die Werte bei der Deklaration zu setzen
	D3DVECTOR2(float X, float Y) 
	{ 
		x = X; y = Y;
	}

	//Hier wird fest gelegt was passiert wenn zwei Vektoren addiert werden
	D3DVECTOR2 operator+(D3DVECTOR2 vVect)
	{
		//Die addierten Vektoren zur點k geben
		//Dazu wird der Konstruktor aufgerufen den wir bereits deklariert haben
		return D3DVECTOR2(vVect.x + x, vVect.y + y);
	}

	//Das gleiche nochmal mit -
	D3DVECTOR2 operator-(D3DVECTOR2 vVect)
	{
		return D3DVECTOR2(x - vVect.x, y - vVect.y);
	}

	D3DVECTOR2 operator*(float Num)
	{
		return D3DVECTOR2(x * Num, y * Num);
	}
	float x, y;
};


struct MDLVERTEX
{
public:
	D3DVECTOR position;
	D3DVECTOR normal;
    D3DVECTOR2 tex1;
};


//BSPVisData
//struct BSPVisData
//{
//public:
//	BSPVisData() {}
//
// int numOfClusters;
// int bytesPerCluster;
// byte *pBitsets;
//};


//BSPplane
struct BSPplane
{
public:

	BSPplane() {}

 D3DVECTOR vNormal;
 float d;
};


//PLANE
struct D3DPLANE
{
public:

	D3DPLANE() {}
	
	D3DPLANE(float A, float B, float C, float D)
	{
		a = A; b = B; c = C; d = D;
	}

	float a, b, c, d;

};


//Helper prototypes
__declspec( dllexport ) float _stdcall Vec3Length(D3DVECTOR& vVector);
__declspec( dllexport ) D3DVECTOR _stdcall Vec3Cross(D3DVECTOR& vVector1, D3DVECTOR& vVector2);
__declspec( dllexport ) float _stdcall Vec3Dot(D3DVECTOR& vVector1, D3DVECTOR& vVector2);
__declspec( dllexport ) D3DVECTOR _stdcall Vec3Normalize(D3DVECTOR &vNormal);
__declspec( dllexport ) D3DPLANE _stdcall PlaneNormalize(D3DPLANE &pPlane);
__declspec( dllexport ) float _stdcall PlaneDotVec(D3DPLANE& pPlane, D3DVECTOR& vVect);
__declspec( dllexport ) float _stdcall BSPPlaneDotVec(BSPplane& pPlane, D3DVECTOR& vVect);


//Main prototypes
__declspec( dllexport ) float _stdcall Vec3Dist(D3DVECTOR& vVect1, D3DVECTOR& vVect2);
//__declspec( dllexport ) short _stdcall ClusterVisible(BSPVisData& visData, int test, int pvs);
__declspec( dllexport ) D3DVECTOR _stdcall CalculateNormal(D3DVECTOR& vP0, D3DVECTOR& vP1, D3DVECTOR& vP2);
__declspec( dllexport ) short _stdcall GetSPoint(D3DVECTOR& vOut, D3DVECTOR& vP0, D3DVECTOR& vP1, D3DVECTOR& vP2, D3DVECTOR& vPv, D3DVECTOR& vUv);
__declspec( dllexport ) short _stdcall TriangleMatch(D3DVECTOR& P1, D3DVECTOR& P2, D3DVECTOR& P3, D3DVECTOR& Test_Point);
__declspec( dllexport ) short _stdcall RayTriCollision(D3DVECTOR& vOut, D3DVECTOR& P0, D3DVECTOR& P1, D3DVECTOR& P2, D3DVECTOR& vRay0, D3DVECTOR& vRay1);
__declspec( dllexport ) short _stdcall DirTriCollision(D3DVECTOR& vOut, D3DVECTOR& P0, D3DVECTOR& P1, D3DVECTOR& P2, D3DVECTOR& vFrom, D3DVECTOR& vDir);
__declspec( dllexport ) void _stdcall AnimateLinear(MDLVERTEX *vOut, MDLVERTEX *vFrame0, MDLVERTEX *vFrame1, long nVerts, float t, D3DVECTOR& vmin, D3DVECTOR& vmax, D3DVECTOR& position);
__declspec( dllexport ) void _stdcall AnimateCatmullRom(MDLVERTEX *vOut, MDLVERTEX *vFrame0, MDLVERTEX *vFrame1, MDLVERTEX *vFrame2, MDLVERTEX *vFrame3, long nVerts, float t, D3DVECTOR& vmin, D3DVECTOR& vmax, D3DVECTOR& position);

⌨️ 快捷键说明

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