亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? game.h

?? 著名游戲quake2原代碼最新版本(vc6.0可以編譯的)
?? H
字號:
/*
Copyright (C) 1997-2001 Id Software, Inc.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  

See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

*/

// game.h -- game dll information visible to server

#define	GAME_API_VERSION	3

// edict->svflags

#define	SVF_NOCLIENT			0x00000001	// don't send entity to clients, even if it has effects
#define	SVF_DEADMONSTER			0x00000002	// treat as CONTENTS_DEADMONSTER for collision
#define	SVF_MONSTER				0x00000004	// treat as CONTENTS_MONSTER for collision

// edict->solid values

typedef enum
{
SOLID_NOT,			// no interaction with other objects
SOLID_TRIGGER,		// only touch when inside, after moving
SOLID_BBOX,			// touch on edge
SOLID_BSP			// bsp clip, touch on edge
} solid_t;

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

// link_t is only used for entity area links now
typedef struct link_s
{
	struct link_s	*prev, *next;
} link_t;

#define	MAX_ENT_CLUSTERS	16


typedef struct edict_s edict_t;
typedef struct gclient_s gclient_t;


#ifndef GAME_INCLUDE

struct gclient_s
{
	player_state_t	ps;		// communicated by server to clients
	int				ping;
	// the game dll can add anything it wants after
	// this point in the structure
};


struct edict_s
{
	entity_state_t	s;
	struct gclient_s	*client;
	qboolean	inuse;
	int			linkcount;

	// FIXME: move these fields to a server private sv_entity_t
	link_t		area;				// linked to a division node or leaf
	
	int			num_clusters;		// if -1, use headnode instead
	int			clusternums[MAX_ENT_CLUSTERS];
	int			headnode;			// unused if num_clusters != -1
	int			areanum, areanum2;

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

	int			svflags;			// SVF_NOCLIENT, SVF_DEADMONSTER, SVF_MONSTER, etc
	vec3_t		mins, maxs;
	vec3_t		absmin, absmax, size;
	solid_t		solid;
	int			clipmask;
	edict_t		*owner;

	// the game dll can add anything it wants after
	// this point in the structure
};

#endif		// GAME_INCLUDE

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

//
// functions provided by the main engine
//
typedef struct
{
	// special messages
	void	(*bprintf) (int printlevel, char *fmt, ...);
	void	(*dprintf) (char *fmt, ...);
	void	(*cprintf) (edict_t *ent, int printlevel, char *fmt, ...);
	void	(*centerprintf) (edict_t *ent, char *fmt, ...);
	void	(*sound) (edict_t *ent, int channel, int soundindex, float volume, float attenuation, float timeofs);
	void	(*positioned_sound) (vec3_t origin, edict_t *ent, int channel, int soundinedex, float volume, float attenuation, float timeofs);

	// config strings hold all the index strings, the lightstyles,
	// and misc data like the sky definition and cdtrack.
	// All of the current configstrings are sent to clients when
	// they connect, and changes are sent to all connected clients.
	void	(*configstring) (int num, char *string);

	void	(*error) (char *fmt, ...);

	// the *index functions create configstrings and some internal server state
	int		(*modelindex) (char *name);
	int		(*soundindex) (char *name);
	int		(*imageindex) (char *name);

	void	(*setmodel) (edict_t *ent, char *name);

	// collision detection
	trace_t	(*trace) (vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, edict_t *passent, int contentmask);
	int		(*pointcontents) (vec3_t point);
	qboolean	(*inPVS) (vec3_t p1, vec3_t p2);
	qboolean	(*inPHS) (vec3_t p1, vec3_t p2);
	void		(*SetAreaPortalState) (int portalnum, qboolean open);
	qboolean	(*AreasConnected) (int area1, int area2);

	// an entity will never be sent to a client or used for collision
	// if it is not passed to linkentity.  If the size, position, or
	// solidity changes, it must be relinked.
	void	(*linkentity) (edict_t *ent);
	void	(*unlinkentity) (edict_t *ent);		// call before removing an interactive edict
	int		(*BoxEdicts) (vec3_t mins, vec3_t maxs, edict_t **list,	int maxcount, int areatype);
	void	(*Pmove) (pmove_t *pmove);		// player movement code common with client prediction

	// network messaging
	void	(*multicast) (vec3_t origin, multicast_t to);
	void	(*unicast) (edict_t *ent, qboolean reliable);
	void	(*WriteChar) (int c);
	void	(*WriteByte) (int c);
	void	(*WriteShort) (int c);
	void	(*WriteLong) (int c);
	void	(*WriteFloat) (float f);
	void	(*WriteString) (char *s);
	void	(*WritePosition) (vec3_t pos);	// some fractional bits
	void	(*WriteDir) (vec3_t pos);		// single byte encoded, very coarse
	void	(*WriteAngle) (float f);

	// managed memory allocation
	void	*(*TagMalloc) (int size, int tag);
	void	(*TagFree) (void *block);
	void	(*FreeTags) (int tag);

	// console variable interaction
	cvar_t	*(*cvar) (char *var_name, char *value, int flags);
	cvar_t	*(*cvar_set) (char *var_name, char *value);
	cvar_t	*(*cvar_forceset) (char *var_name, char *value);

	// ClientCommand and ServerCommand parameter access
	int		(*argc) (void);
	char	*(*argv) (int n);
	char	*(*args) (void);	// concatenation of all argv >= 1

	// add commands to the server console as if they were typed in
	// for map changing, etc
	void	(*AddCommandString) (char *text);

	void	(*DebugGraph) (float value, int color);
} game_import_t;

//
// functions exported by the game subsystem
//
typedef struct
{
	int			apiversion;

	// the init function will only be called when a game starts,
	// not each time a level is loaded.  Persistant data for clients
	// and the server can be allocated in init
	void		(*Init) (void);
	void		(*Shutdown) (void);

	// each new level entered will cause a call to SpawnEntities
	void		(*SpawnEntities) (char *mapname, char *entstring, char *spawnpoint);

	// Read/Write Game is for storing persistant cross level information
	// about the world state and the clients.
	// WriteGame is called every time a level is exited.
	// ReadGame is called on a loadgame.
	void		(*WriteGame) (char *filename, qboolean autosave);
	void		(*ReadGame) (char *filename);

	// ReadLevel is called after the default map information has been
	// loaded with SpawnEntities
	void		(*WriteLevel) (char *filename);
	void		(*ReadLevel) (char *filename);

	qboolean	(*ClientConnect) (edict_t *ent, char *userinfo);
	void		(*ClientBegin) (edict_t *ent);
	void		(*ClientUserinfoChanged) (edict_t *ent, char *userinfo);
	void		(*ClientDisconnect) (edict_t *ent);
	void		(*ClientCommand) (edict_t *ent);
	void		(*ClientThink) (edict_t *ent, usercmd_t *cmd);

	void		(*RunFrame) (void);

	// ServerCommand will be called when an "sv <command>" command is issued on the
	// server console.
	// The game can issue gi.argc() / gi.argv() commands to get the rest
	// of the parameters
	void		(*ServerCommand) (void);

	//
	// global variables shared between game and server
	//

	// The edict array is allocated in the game dll so it
	// can vary in size from one game to another.
	// 
	// The size will be fixed when ge->Init() is called
	struct edict_s	*edicts;
	int			edict_size;
	int			num_edicts;		// current number, <= max_edicts
	int			max_edicts;
} game_export_t;

game_export_t *GetGameApi (game_import_t *import);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美伊人久久大香线蕉综合69| 国产东北露脸精品视频| 国产精品久久久久久久久久免费看 | 精品成人私密视频| 337p粉嫩大胆色噜噜噜噜亚洲| 91精品国产综合久久国产大片 | 日韩美女在线视频| 精品美女在线播放| 欧美精品一区二区三区在线| 久久久久久久久久久久久久久99 | 成人亚洲一区二区一| 成人亚洲一区二区一| 色婷婷av一区二区| 色婷婷av一区| 欧美电影免费观看高清完整版在线观看| 日韩精品一区在线观看| 国产欧美日韩不卡免费| 亚洲欧美日韩系列| 蜜臀av在线播放一区二区三区| 麻豆精品蜜桃视频网站| 高清在线观看日韩| 在线国产亚洲欧美| 欧美xingq一区二区| 欧美国产精品一区二区三区| 亚洲色图清纯唯美| 美女视频一区在线观看| 国产成人免费av在线| 91福利精品第一导航| 欧美一级一区二区| 中文字幕在线一区免费| 日本伊人精品一区二区三区观看方式| 在线视频欧美精品| 精品国产精品一区二区夜夜嗨| 中文字幕免费不卡在线| 午夜精品福利一区二区三区蜜桃| 国产呦精品一区二区三区网站| 99热国产精品| 日韩小视频在线观看专区| 中文字幕一区二区三区在线不卡| 日韩不卡一区二区| 成人伦理片在线| 亚洲精品在线三区| 香蕉成人啪国产精品视频综合网| 狠狠色丁香婷婷综合| 欧美日韩一区二区欧美激情| 国产精品国产三级国产有无不卡| 美腿丝袜亚洲三区| 欧美色电影在线| 中文字幕色av一区二区三区| 国内精品久久久久影院一蜜桃| 在线观看欧美精品| 国产精品伦一区二区三级视频| 免费在线观看视频一区| 欧洲精品中文字幕| 亚洲人成人一区二区在线观看| 国产精品一区二区在线观看不卡 | 91精品国产乱| 蜜桃视频一区二区三区在线观看| 欧美亚洲日本一区| 亚洲精品视频在线| 97久久精品人人做人人爽| 久久久久久麻豆| 精品一区二区三区免费观看| 欧美挠脚心视频网站| 亚洲小少妇裸体bbw| 91免费视频网| 一区二区视频在线| 色综合久久久久网| 中文字幕日本不卡| 91在线视频播放地址| 国产性天天综合网| 国产98色在线|日韩| 国产亚洲综合av| 国产精品一区二区不卡| 国产网红主播福利一区二区| 精品一区二区三区在线播放| 精品国产乱码久久久久久闺蜜| 久草精品在线观看| 久久久久久久久久久久久女国产乱 | 欧美日韩精品一二三区| 一区二区理论电影在线观看| 色成年激情久久综合| 午夜免费久久看| 91精品一区二区三区久久久久久| 奇米影视在线99精品| 欧美大片国产精品| 国产成人免费9x9x人网站视频| 国产精品久久久久四虎| 91麻豆免费视频| 久久精品久久99精品久久| 久久久久久一级片| 99精品视频在线播放观看| 亚洲综合免费观看高清完整版在线 | 日韩欧美另类在线| 粉嫩高潮美女一区二区三区| 亚洲欧洲日韩女同| 91精品国产aⅴ一区二区| 国产揄拍国内精品对白| 亚洲欧美日韩一区| 日韩欧美中文字幕一区| 成人性色生活片| 天天色图综合网| 国产精品卡一卡二卡三| 在线观看国产一区二区| 日本va欧美va精品发布| 中文成人av在线| 日韩一级黄色大片| bt7086福利一区国产| 蜜乳av一区二区| 亚洲丝袜自拍清纯另类| 日韩欧美一区二区三区在线| 88在线观看91蜜桃国自产| 国产激情一区二区三区四区 | 中文字幕国产一区二区| 欧美日韩在线播放一区| 国产伦理精品不卡| 亚洲成av人片一区二区梦乃 | 欧美日本在线看| 大胆亚洲人体视频| 麻豆精品久久精品色综合| 专区另类欧美日韩| 久久久99精品免费观看不卡| 欧美性大战久久| 91丨九色丨蝌蚪丨老版| 国产精品一区二区在线观看不卡| 日韩中文字幕91| 亚洲免费三区一区二区| 国产女主播在线一区二区| 日韩视频永久免费| 9191成人精品久久| 欧美日韩免费视频| 色狠狠色噜噜噜综合网| www.亚洲在线| 丁香激情综合国产| 黄色小说综合网站| 久久精品国产久精国产爱| 日韩综合小视频| 亚洲高清免费观看高清完整版在线观看| 欧美国产精品中文字幕| 欧美激情一区二区三区全黄| 欧美成人高清电影在线| 91精品国产欧美一区二区成人| 欧美视频一区二区三区在线观看| 91一区在线观看| 99久久婷婷国产| 91蜜桃视频在线| 在线视频国内一区二区| 色94色欧美sute亚洲线路一ni| 91在线国产观看| 91欧美激情一区二区三区成人| 97久久人人超碰| 欧美一区二区三区日韩视频| 91超碰这里只有精品国产| 欧美军同video69gay| 777欧美精品| 欧美电影免费观看高清完整版在线观看 | 在线观看www91| 欧美老年两性高潮| 欧美精品乱码久久久久久| 欧美一区二区三区在线观看 | 国产高清久久久久| 国产91精品一区二区| 色综合久久久久网| 这里只有精品电影| 精品国一区二区三区| 国产欧美日本一区视频| 国产精品久久久久永久免费观看 | 欧美色国产精品| 欧美一区二区视频免费观看| 久久综合久色欧美综合狠狠| 国产精品区一区二区三| 亚洲一区二区欧美激情| 日本怡春院一区二区| 国产91丝袜在线播放九色| 91福利精品第一导航| 日韩精品中文字幕在线不卡尤物| 精品国精品自拍自在线| 亚洲欧美日韩国产另类专区| 午夜在线成人av| 国产寡妇亲子伦一区二区| 91小视频在线| 精品裸体舞一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品麻豆欧美日韩ww| av高清不卡在线| 国产精品一区二区久久精品爱涩| 粉嫩aⅴ一区二区三区四区| 色av成人天堂桃色av| 久久午夜老司机| 午夜精品123| 成熟亚洲日本毛茸茸凸凹| 欧美日本在线播放| 亚洲国产精品激情在线观看 | 91在线视频免费观看| 日韩精品中文字幕一区| 亚洲欧美国产三级| 国产精品一品视频| 日韩亚洲欧美综合| 亚洲永久精品国产| 成人免费不卡视频|