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

📄 map.h

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 H
字号:
/*
	-	1998/??/??	Created by canical
*/


#define	VILLAGE_SIZE				540
#define TILE_SIZE					32


#ifndef	__MAP_H__
#define	__MAP_H__


#pragma	pack	( 1 )

#define TILE_MAX_   3600

/*
typedef struct	tagTILE
{
	DWORD	back			: 12;
	DWORD	front			: 12;
	DWORD	fronttype		:  1;
	DWORD	rooftype		:  1;
	DWORD	attr_dont		:  1;
	DWORD	attr_map		:  1;
	DWORD	attr_roof		:  1;
	DWORD	attr_door		:  1;
	DWORD	attr_tree		:  1;
	DWORD	attr_music		:  1;

	DWORD	roof			: 12;
	DWORD	show_roof		:  1;
	DWORD	frontoffset		:  9;
	DWORD	attr_scroll		:  1;
	DWORD	attr_padding	:  9;
} TILE, *LPTILE;
*/

typedef struct	tagTILE
{
	DWORD	back			: 12;
	DWORD	front			: 12;
	DWORD	fronttype		:  1;
	DWORD	rooftype		:  1;
	DWORD	attr_dont		:  1;
	DWORD	attr_map		:  1;
	DWORD	attr_room		:  2;
	DWORD	attr_music		:  2;

	DWORD	roof			: 12;
	DWORD	show_roof		:  1;
	DWORD	frontoffset		: 10;
	DWORD	attr_scroll		:  1;
	DWORD	attr_door		:  1;
	DWORD	attr_tree		:  1;
	DWORD	occupied     	:  1;
	DWORD	attr_padding	:  5;
} TILE, *LPTILE;

#pragma	pack	( 8 )

typedef struct	tagMAPFILE
{
	WORD		wType;
	WORD		wWidth, wHeight;
	char		cOdd, cEven;
} MAPFILE, *LPMAPFILE;

typedef struct	tagMAP
{
	int				x, y;
	WORD			wScreenWidth, wScreenHeight;
	MAPFILE			file;
} MAP, *LPMAP;


// event
typedef struct	tagEVENTLIST
{
	WORD				x, y;
	WORD				index;
	struct tagEVENTLIST	*lpPrev, *lpNext;
} EVENTLIST, *LPEVENTLIST;

typedef struct	tagEVENTLISTHEADER
{
	WORD			wCount;
	LPEVENTLIST		lpFirst, lpLast;
} EVENTLISTHEADER, *LPEVENTLISTHEADER;

// 1003 YGI
#define		MAX_MAP_	100			

typedef struct		
{
	char mapfile[ 30];
	char mapname[30];
	char floor;				// 摸 俺充
	int  x, y;				// 静瘤 臼澜.
	char daylightcontrol;	// 1: 广撤捞 乐促.			0: 广捞促.
	char rain;				// 1 :捞搁 厚啊 坷绰镑捞促.	0 : 厚啊 坷瘤 臼绰 悼奔鞍篮 镑捞促. 
	char nation;			// 0 : 惫啊绝澜. 1 : 2 : Monster  3:官捞辑胶 4:磊捞戚
	bool forrookie;			// 檬焊磊甫 困茄 瘤开备盒. : 捞镑俊辑绰 檬焊磊甫 磷老荐 绝促. 
	int  port;
	
} t_mapinfo;
extern t_mapinfo			MapInfo[ MAX_MAP_];



extern MAP					g_Map;
extern TILE					TileMap[ VILLAGE_SIZE ][ VILLAGE_SIZE ];
extern EVENTLISTHEADER		g_EventListHeaderMap;
extern EVENTLISTHEADER		g_EventListHeaderRoom;
extern EVENTLISTHEADER		g_EventListHeaderMusic;

extern char					MapName[ MAX_PATH];
extern LPMAPFILE			g_lpMapFile;

#ifdef __cplusplus
extern "C"
{
#endif

extern BOOL		MapBuild( LPMAP lpMap, char *mapname );
extern void		MapDestroy( LPMAP lpMap );
extern BOOL		MapReadFile( LPMAPFILE lpMapFile, char* pszFileName );

extern BOOL			BuildEventList( char* lpszFileName );
extern void			DestroyEventList( void );
extern LPEVENTLIST	AddEventList( LPEVENTLISTHEADER lpEventListHeader, WORD x, WORD y, WORD wIndex );
extern void			DeleteEventList( LPEVENTLISTHEADER lpEventListHeader, LPEVENTLIST lpEventList );
extern LPEVENTLIST	FindEventList( LPEVENTLISTHEADER lpEventListHeader, WORD x, WORD y );
extern BOOL			ReadEventList( char* lpszFileName );



extern int ReturnEventNo( int mx, int my );
extern int ChangeEventNo( int mx, int my, int eventno  );





#ifdef __cplusplus
}
#endif

#endif	// __MAP_H__

⌨️ 快捷键说明

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