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

📄 mcgapp.h

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 H
字号:
// MCGApp.h: interface for the CMCGApp class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MCGAPP_H__0B2BD22F_61D5_46B8_9559_7042314FE994__INCLUDED_)
#define AFX_MCGAPP_H__0B2BD22F_61D5_46B8_9559_7042314FE994__INCLUDED_

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

LRESULT CALLBACK StaticMsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );

#include "D3DApplication.h"

#define BSINIT	"./config.ini"

#define MEMORY_POOL		D3DPOOL_MANAGED
//#define MEMORY_POOL		D3DPOOL_DEFAULT

#define MAX_ID			16
#define MAX_PASS		16
#define MAX_NICK		16
#define MAX_PLAYER		16

class CScene;
class CDrawEx;
class CMCGCamera;
class CFrustum;
class CUserInfo;
class CRoomInfo;
class CBaseFonts;
class CMCSound;
class CMCMusicBase;
class CCommonImage;
class CTextureManager;
class CMCObjectManager;
class CItemManager;


#pragma pack(1)

struct ObjectInfo
{
	short iIndex;
	BYTE iType;	// 0: 扁瘤 1: 酒捞袍 2: 何寂瘤绰 加己狼 坷宏璃飘 3: 扁鸥 坷宏璃飘(何寂瘤瘤 臼澜) 4: 瘤屈 扒拱  5: 唱公唱 扁鸥 面倒贸府 救窍备 谎府扁父 窍绰巴代..
	// 墨皋扼客 面倒矫 贸府 窍绰...
	BYTE iCamType; // 0: 墨皋扼 剐扁 1: 荤扼咙 2: 馆捧疙 贸府
	BYTE iMaterial;	// 犁龙 
	BYTE iAnimation; // 坷宏璃飘 俊聪皋捞记.
	short iLife; // 坷宏璃飘狼 俊呈瘤.. 
	short iDefense; // 坷宏璃飘狼 规绢档... 
	char szModelPath[128];	//坷宏璃飘狼 版肺
};
//==================================================================

//=======================================================
//metaljack 2006.06.05 函屈矫挪 何盒.

struct ItemInfoEx
{
	char item_invenindex;	//酒捞袍 牢亥 牢郸胶
	DWORD item_id;			//酒捞袍 侥喊 酒捞叼
	BYTE use_type;			//酒捞袍 家葛蜡屈(enum:USE_TYPE 曼炼)
	DWORD item_value;		//巢篮 荤侩扁埃(1/1 檬) 肚绰, 郴备档(MAX:100)
};

struct CharacterInfoEx
{
	char m_szAA[21];	//皋墨狼 捞抚.

	//皋墨葱沥焊
	char mechanic_garageindex;	//磊脚狼 皋墨葱 绊蜡锅龋
	DWORD mechanic_id;			//皋墨葱 侥喊锅龋
	DWORD mechanic_fight;		//免傈冉荐
	BYTE mechanic_dur;			//郴备档
	BYTE mechanic_skin;			//skin锅龋
	BYTE mechanic_color;		//档祸 迫饭飘 牢郸胶
	DWORD weapon_slot[5];		//公扁浇吩(enum:WEAPON_TYPE 曼炼)

//	short power;		//扁夯 努贰胶 傍拜仿
	short speed;		//扁夯 努贰胶 捞悼仿
	short Defence;		//扁夯 努贰胶 叼奇胶
	
	ItemInfoEx item[5];
};

struct CurrentTakeWeapon
{
	DWORD item_id;
	short attack_style;			//enum:ATTACK_STYLE
	short bullet_style;			//enum:BULLET_STYLE
	short bullet_speed;			//醚舅加档
	short bullet_num;			//藕芒救俊 甸绢乐绰 醚舅 荐
	BYTE magazine;				//扁夯栏肺 甸绊乐绰 藕芒荐
	short attack;				//藕 茄惯狼 傍拜仿
	short dex;					//沥犬档(鸥百狼 国绢瘤绰 沥档)
	short speed;				//楷荤加档
	short shock;				//酒捞袍狼 馆悼
	BYTE range;					//荤沥芭府
};

struct UserInfoEx
{
	short	m_iLogInIndex;				//蜡历 绊蜡 牢郸胶		肺弊牢 牢郸胶 
	short	m_iLobbyIndex;				//						肺厚 牢郸胶
	short	m_iGameIndex;				//						霸烙 牢郸胶

	char	m_szID[17];				//酒捞叼				=>LogIn 且锭Lobby 甸绢哎锭. 绊沥
	char	m_szNickName[17];		//葱匙烙				=>LogIn 且锭Lobby 甸绢哎锭. 绊沥
	char	m_szClan[21];			//蜡历啊 加茄 努罚 捞抚		=>Lobby 甸绢哎锭.
	BYTE	m_cSex;					//蜡历 己喊				=>LogIn 且锭Lobby 甸绢哎锭. 绊沥 0 = 咯磊 1 = 巢磊
	BYTE	m_Avatar;				//酒官鸥. => 烙矫		=>GameWaitingRoom 甸绢哎锭
	UINT64	m_iCash;				//蜡历 焊蜡 某矫		
	UINT64	m_iPoint;				//蜡历 器牢飘			=>GameWaitingRoom 甸绢哎锭.
	UINT	m_iBest_point;			//弥绊 裙垫痢荐(霸烙赣聪)
	UINT	m_iBest_straight;		//弥措 楷铰
	UINT	m_iWin_straight;		//泅犁 楷铰
	UINT	m_iWin;					//铰府冉荐
	UINT	m_iLose;				//菩硅冉荐
	UINT	m_iKill;				//磷牢冉荐
	UINT	m_iDeath;				//磷篮冉荐
	UINT	m_iRank;				//鉴困(0:鉴寇)
	UINT	m_iQuit;				//碍辆冉荐
	UINT	m_iBlack;				//脚绊寸茄 冉荐
	BYTE	m_iLevel;				//蜡历 饭骇				=>Lobby 甸绢哎锭.
	UINT64	m_iExp;					//蜡历 版氰摹			=>Lobby 甸绢哎锭.
	BYTE	m_iItemNum;				//蜡历啊 啊瘤绊 乐绰 酒捞袍 箭磊 =>促弗 蜡历啊 舅鞘夸 绝促.		
	BYTE	m_iMechanic_cnt;		//焊蜡 皋墨葱 荐
	
	bool	m_bRoomMaster;		//蜡历啊 规厘牢瘤 酒囱瘤 颇厩 且荐 乐疵 阂函荐	=>GameWaitingRoom 甸绢哎锭(努扼捞攫飘 悸泼)
	short	m_iGameSeat;		// 霸烙救俊辑 蜡历啊 困摹且 镑. =>GameWaitingRoom 甸绢哎锭(努扼捞攫飘 悸泼)
	BYTE	m_bReady;			// 硅撇冯俊辑 霖厚登绢乐绰瘤 犬牢.
	char	m_bSelectMecha;		// 急琶登绢柳 皋墨 锅龋.
	BYTE	m_bTeam;
	short	m_iSlot;
	short	m_iGetPoint;				//裙垫 肚绰 皑家茄 器牢飘
	UINT64	m_iGetExp;					//裙垫窍绰 版氰摹.
	BYTE	m_iKill_cnt;				//磷牢 冉荐
	BYTE	m_iDeath_cnt;				//磷篮 冉荐


	DWORD	m_IpAddr;
	WORD	m_nPort;
	DWORD	m_IpAddrRelay;
	WORD	m_nPortRelay;
	char	m_nPtPConnectStep;
	char	m_nPortCnt;
	bool	m_bSendPing;
	bool	m_bSendNotice;
	DWORD	m_dwPtPConnectLatency;
	
	DWORD drop_id;
	WORD drop_bullet;
	short drop_pos_x;
	short drop_pos_y;
	short drop_pos_z;

	D3DXVECTOR3 vStart_pos;		// 矫累 困摹..
	D3DXVECTOR3 vStart_dir;		// 矫累 规氢..
	bool bLoading;
	
	CurrentTakeWeapon m_sCurTakeWeapon;
	CharacterInfoEx m_sMech;
};

struct ServerListInfo
{
	short lobby_serverindex;	//辑滚绊蜡锅龋
	short user_cnt;				//立加蜡历
	short user_limit;			//弥措立加
	char server_name[32+1];			//盲澄疙
};

struct ChannelListInfo
{
	short lobby_channelindex;	//盲澄绊蜡锅龋
	short user_cnt;				//立加蜡历
	short user_limit;			//弥措立加
	char channel_name[32+1];	//盲澄疙
};


struct RoomInfoEx
{
	short		m_iRoomNo;				//规 锅龋
	char		m_szRoomTitle[32+1];	//规狼 力格
	char		m_iRoomState;			//规狼 惑怕  曼咯啊瓷 咯何(true:措扁吝, false:硅撇吝)
	BYTE		m_iRoomMap;				//规捞 急琶茄 甘
	char		m_iGameOption;			//急琶登绢柳 霸烙 规侥 霸烙葛靛(enum:MODE_TYPE 曼炼)		//俺牢傈 评傈 标惯化扁.
//	BYTE		m_iBattleType;			//硅撇鸥涝(enum:BATTLE_TYPE 曼炼)
	char		m_iMaxUser;				//弥措 曼咯 啊瓷 牢盔
	char		m_iCurrentUser;			//泅犁 曼咯茄 牢盔
	bool		m_bRoomLock;			//厚剐规牢瘤狼 咯何
	DWORD		m_iTimeLimit;			//规俊辑 汲沥登绢柳 霸烙 矫埃.
	char		m_iRetireNum;
	
	DWORD		m_iRemainTimeLimit;		//霸烙捞 柳青吝捞芭唱 且锭 巢篮矫埃
	
	short		m_iRoomMasterIndex;
};


struct MiniMapInfo
{
	short		m_iMapIndex;
	char		m_szMapName[64];
	char		m_szMapPath[128];	
};

//=====================================================================

class CMCGApp : public CD3DApplication, public CSingleton<CMCGApp>
{
public:
	CMCGApp();
	virtual ~CMCGApp();

	VOID		InitApp();
	VOID		CloseApp();

	HRESULT		Create( HINSTANCE hInstance );
	
	BOOL		CreateSocket();
	VOID		ChangeScene( BYTE nScene, bool bDelete = true );
	CScene *	GetScene() { return m_cpScene; }

	INT			Render();

	LRESULT		GameProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );

	CDrawEx	*		GetDrawEx() { return m_cpDrawEx; };
	CMCGCamera	*	GetCamera() { return m_cpCamera; };
	CFrustum	*	GetFrustum() { return m_cpFrustum; };
	CUserInfo	*	GetUserInfo() { return m_cpUserInfo; };
	CRoomInfo	*	GetRoomInfo() { return m_cpRoomInfo; };	
	CMCSound	*	GetSound() { return m_pSoundManager; };
	CMCMusicBase*	GetMusic()	{ return m_pBGMManager;};
	CTextureManager	*	GetTexManager() { return m_pTextureManager; };
	CMCObjectManager *	GetObjManager() { return m_pObjectManager; };
	
	
	HRESULT		InvalidateDeviceObjects();
	HRESULT		RestoreDeviceObjects();

public:

	CItemManager*	m_pItemManager;

	int				m_iCurrentLayer;
	
	//metaljack 2006.06.05 函版
	UserInfoEx		m_MyInfoEx;
	
	std::list <ItemInfoEx> m_ListItemInfo;
	std::list <CharacterInfoEx> m_ListCharInfo;

	UserInfoEx		m_MyGameUserEx[16];
	RoomInfoEx		m_MyGameRoomEx;

	//=============================================

	CScene *		m_cpScene;

	//metaljack 2006.06.07 函版	
	CScene *		m_cpSceneSelectServer;
	CScene *		m_cpSceneSelectChannel;
	CScene *		m_cpSceneBattleRoom;
	CScene *		m_cpSceneMyInven;
	CScene *		m_cpSceneCharShop;
	CScene *		m_cpSceneItemShop;

	//=============================================
	CScene *		m_cpSceneLobbyEx;

	CCommonImage *		m_pCommonImage;

	CDrawEx	*		m_cpDrawEx;
	CMCGCamera *	m_cpCamera;
	CFrustum *		m_cpFrustum;
	CUserInfo		*m_cpUserInfo;		// 蜡历 傈眉俊 措茄 府胶飘
	CRoomInfo		*m_cpRoomInfo;
	CMCSound		* m_pSoundManager;
	CMCMusicBase	* m_pBGMManager;

	CTextureManager * m_pTextureManager;
	CMCObjectManager * m_pObjectManager;
	
	long			m_lBackSound;		// Max 0; Min -5000;
	long			m_lEffectSound;

	vector<CBaseFonts *> m_listFont;

	int				m_iTestNumber;

	list<MiniMapInfo> m_listMiniMap;
//	char			MapName[5][64];
	

//	char		m_TestStr[256];

	BOOL			m_bObjectVisible;
	BOOL			m_bLobbyVisible;
	BYTE			m_bSkipLobby;
	void			Skip_Lobby_Step();
	
	D3DXVECTOR3		g_vMyGamePos;
	D3DXVECTOR3		g_vMyGameDir;

};

#define g_pApp		CMCGApp::GetSingletonPtr()
#define g_pDrawEx	g_pApp->GetDrawEx()
#define g_pCamera	g_pApp->GetCamera()
#define g_pFrustum	g_pApp->GetFrustum()
#define g_pUserInfo g_pApp->GetUserInfo()
#define g_pRoomInfo g_pApp->GetRoomInfo()
#define g_pSound	g_pApp->GetSound()
#define g_pMusic	g_pApp->GetMusic()

#endif // !defined(AFX_MCGAPP_H__0B2BD22F_61D5_46B8_9559_7042314FE994__INCLUDED_)

⌨️ 快捷键说明

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