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

📄 mhmap.h

📁 墨香最新私服
💻 H
字号:
// MHMap.h: interface for the CMHMap class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MHMAP_H__444BAED6_A7A5_4CB6_B1BF_027999B116FE__INCLUDED_)
#define AFX_MHMAP_H__444BAED6_A7A5_4CB6_B1BF_027999B116FE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "../4DyuchiGRX_common/typedef.h"
#include "./Engine/EngineMap.h"
#include "./Engine/EngineSky.h"
#include "./Engine/EngineLight.h"
#include "./Engine/EngineObject.h"
#include "TileManager.h"

class CTileManager;
class CMHFile;

#define MAP		CMHMap::GetInstance()
#define MAX_WIDTH_HIEGTH 1048576

struct MAPDESC
{
	MAPDESC()
	{
		DefaultSight = 8000;
		Fov = 45;

		fogdesc.bEnable = TRUE;
		fogdesc.dwColor = 0xaaaaaaaa;
		fogdesc.fDensity = 0.5f;
		fogdesc.fStart = 20000;
		fogdesc.fEnd = 80000;
		
		strcpy(MapFileName,"new_gae_002.map");
		strcpy(TileFileName,"");
		strcpy(SkyMod,"SkyBox.MOD");
		strcpy(SkyAnm,"SkyBox.ANM");
		strcpy(BGMSound,"bg_login.mp3");
		strcpy(SunObject,"bg_login.mp3");

		bSun = 0;
		bSky = 1;

		Ambient = 0xaaaaaaaa;
		
		SunPos.x = 800;
		SunPos.y = 1300;
		SunPos.z = 200;		
		
		backColor = 0x00000000;

		SunDistance = 7000;

		bFixHeight = FALSE;
	}
	BOOL bFixHeight;
	float FixHeight;
	VECTOR3 SunPos;

	DWORD Ambient;

	float DefaultSight;
	float Fov;
	
	FOG_DESC fogdesc;
	
	char MapFileName[64];
	char TileFileName[64];
	
	BOOL bSky;
	char SkyMod[64];
	char SkyAnm[64];

	char BGMSound[64];
	
	BOOL bSun;
	char SunObject[64];

	DWORD backColor;

	float SunDistance;
};
class CMHMap  
{
	DWORD m_MapNum;
	VECTOR3 m_ShadowPivotPos;

	MAPDESC* mapDesc;
	CEngineMap map;
	CEngineSky* sky;
	CTileManager* m_pTileManager;
	CEngineObject m_SunObject; 
	
	CEngineLight m_Shadowlight;
	IHeightField* m_pHField;
	
	float m_AttY[MAX_WIDTH_HIEGTH];
	
	void LoadStaticNpc(DWORD MapNum);
	BOOL LoadMapDesc(CMHFile* file);
public:
	GETINSTANCE(CMHMap);

	CMHMap();
	virtual ~CMHMap();

	void InitMap(BYTE MapNum);
	void Release();

	void InitTile(char* TileName, CTile* pViewTile);
	void Process(DWORD tick);
	
	BOOL CollisonCheck(VECTOR3* pStart,VECTOR3* pEnd,VECTOR3* pRtCollisonPos);		// 面倒窍搁 TRUE馆券窍绊 pRtCollisonPos俊 货肺款 鸥百 汲沥
	void SetShadowPivotPos(VECTOR3* pPivotPos);
	CTileManager* GetTileManager()		{	return m_pTileManager;	}
	DWORD GetMapNum()	{	return m_MapNum;	}
	void TestLoadMap(char* szMapFile);
};

#endif // !defined(AFX_MHMAP_H__444BAED6_A7A5_4CB6_B1BF_027999B116FE__INCLUDED_)

⌨️ 快捷键说明

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