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

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

?? com_model.h

?? 我對他如何控制準星、顯示敵友很好奇
?? H
字號:
// com_model.h
#if !defined( COM_MODEL_H )
#define COM_MODEL_H
#if defined( _WIN32 )
#pragma once
#endif

#define STUDIO_RENDER 1
#define STUDIO_EVENTS 2

#define MAX_CLIENTS			32
#define	MAX_EDICTS			900

#define MAX_MODEL_NAME		64
#define MAX_MAP_HULLS		4
#define	MIPLEVELS			4
#define	NUM_AMBIENTS		4		// automatic ambient sounds
#define	MAXLIGHTMAPS		4
#define	PLANE_ANYZ			5

#define ALIAS_Z_CLIP_PLANE	5

// flags in finalvert_t.flags
#define ALIAS_LEFT_CLIP				0x0001
#define ALIAS_TOP_CLIP				0x0002
#define ALIAS_RIGHT_CLIP			0x0004
#define ALIAS_BOTTOM_CLIP			0x0008
#define ALIAS_Z_CLIP				0x0010
#define ALIAS_ONSEAM				0x0020
#define ALIAS_XY_CLIP_MASK			0x000F

#define	ZISCALE	((float)0x8000)

#define CACHE_SIZE	32		// used to align key data structures

typedef enum
{
	mod_brush, 
	mod_sprite, 
	mod_alias, 
	mod_studio
} modtype_t;

// must match definition in modelgen.h
#ifndef SYNCTYPE_T
#define SYNCTYPE_T

typedef enum
{
	ST_SYNC=0,
	ST_RAND
} synctype_t;

#endif

typedef struct
{
	float		mins[3], maxs[3];
	float		origin[3];
	int			headnode[MAX_MAP_HULLS];
	int			visleafs;		// not including the solid leaf 0
	int			firstface, numfaces;
} dmodel_t;

// plane_t structure
typedef struct mplane_s
{
	vec3_t	normal;			// surface normal
	float	dist;			// closest appoach to origin
	byte	type;			// for texture axis selection and fast side tests
	byte	signbits;		// signx + signy<<1 + signz<<1
	byte	pad[2];
} mplane_t;

typedef struct
{
	vec3_t		position;
} mvertex_t;

typedef struct
{
	unsigned short	v[2];
	unsigned int	cachededgeoffset;
} medge_t;

typedef struct texture_s
{
	char		name[16];
	unsigned	width, height;
	int			anim_total;				// total tenths in sequence ( 0 = no)
	int			anim_min, anim_max;		// time for this frame min <=time< max
	struct texture_s *anim_next;		// in the animation sequence
	struct texture_s *alternate_anims;	// bmodels in frame 1 use these
	unsigned	offsets[MIPLEVELS];		// four mip maps stored
	unsigned	paloffset;
} texture_t;

typedef struct
{
	float		vecs[2][4];		// [s/t] unit vectors in world space. 
								// [i][3] is the s/t offset relative to the origin.
								// s or t = dot(3Dpoint,vecs[i])+vecs[i][3]
	float		mipadjust;		// ?? mipmap limits for very small surfaces
	texture_t	*texture;
	int			flags;			// sky or slime, no lightmap or 256 subdivision
} mtexinfo_t;

typedef struct mnode_s
{
// common with leaf
	int			contents;		// 0, to differentiate from leafs
	int			visframe;		// node needs to be traversed if current
	
	short		minmaxs[6];		// for bounding box culling

	struct mnode_s	*parent;

// node specific
	mplane_t	*plane;
	struct mnode_s	*children[2];	

	unsigned short		firstsurface;
	unsigned short		numsurfaces;
} mnode_t;

typedef struct msurface_s	msurface_t;
typedef struct decal_s		decal_t;

// JAY: Compress this as much as possible
struct decal_s
{
	decal_t		*pnext;			// linked list for each surface
	msurface_t	*psurface;		// Surface id for persistence / unlinking
	short		dx;				// Offsets into surface texture (in texture coordinates, so we don't need floats)
	short		dy;
	short		texture;		// Decal texture
	byte		scale;			// Pixel scale
	byte		flags;			// Decal flags

	short		entityIndex;	// Entity this is attached to
};

typedef struct mleaf_s
{
// common with node
	int			contents;		// wil be a negative contents number
	int			visframe;		// node needs to be traversed if current

	short		minmaxs[6];		// for bounding box culling

	struct mnode_s	*parent;

// leaf specific
	byte		*compressed_vis;
	struct efrag_s	*efrags;

	msurface_t	**firstmarksurface;
	int			nummarksurfaces;
	int			key;			// BSP sequence number for leaf's contents
	byte		ambient_sound_level[NUM_AMBIENTS];
} mleaf_t;

struct msurface_s
{
	int			visframe;		// should be drawn when node is crossed

	int			dlightframe;	// last frame the surface was checked by an animated light
	int			dlightbits;		// dynamically generated. Indicates if the surface illumination 
								// is modified by an animated light.

	mplane_t	*plane;			// pointer to shared plane			
	int			flags;			// see SURF_ #defines

	int			firstedge;	// look up in model->surfedges[], negative numbers
	int			numedges;	// are backwards edges
	
// surface generation data
	struct surfcache_s	*cachespots[MIPLEVELS];

	short		texturemins[2]; // smallest s/t position on the surface.
	short		extents[2];		// ?? s/t texture size, 1..256 for all non-sky surfaces

	mtexinfo_t	*texinfo;		
	
// lighting info
	byte		styles[MAXLIGHTMAPS]; // index into d_lightstylevalue[] for animated lights 
									  // no one surface can be effected by more than 4 
									  // animated lights.
	color24		*samples;
	
	decal_t		*pdecals;
};

typedef struct
{
	int			planenum;
	short		children[2];	// negative numbers are contents
} dclipnode_t;

typedef struct hull_s
{
	dclipnode_t	*clipnodes;
	mplane_t	*planes;
	int			firstclipnode;
	int			lastclipnode;
	vec3_t		clip_mins;
	vec3_t		clip_maxs;
} hull_t;

#if !defined( CACHE_USER ) && !defined( QUAKEDEF_H )
#define CACHE_USER
typedef struct cache_user_s
{
	void	*data;
} cache_user_t;
#endif

typedef struct model_s
{
	char		name[ MAX_MODEL_NAME ];
	qboolean	needload;		// bmodels and sprites don't cache normally

	modtype_t	type;
	int			numframes;
	synctype_t	synctype;
	
	int			flags;

//
// volume occupied by the model
//		
	vec3_t		mins, maxs;
	float		radius;

//
// brush model
//
	int			firstmodelsurface, nummodelsurfaces;

	int			numsubmodels;
	dmodel_t	*submodels;

	int			numplanes;
	mplane_t	*planes;

	int			numleafs;		// number of visible leafs, not counting 0
	struct mleaf_s		*leafs;

	int			numvertexes;
	mvertex_t	*vertexes;

	int			numedges;
	medge_t		*edges;

	int			numnodes;
	mnode_t		*nodes;

	int			numtexinfo;
	mtexinfo_t	*texinfo;

	int			numsurfaces;
	msurface_t	*surfaces;

	int			numsurfedges;
	int			*surfedges;

	int			numclipnodes;
	dclipnode_t	*clipnodes;

	int			nummarksurfaces;
	msurface_t	**marksurfaces;

	hull_t		hulls[MAX_MAP_HULLS];

	int			numtextures;
	texture_t	**textures;

	byte		*visdata;

	color24		*lightdata;

	char		*entities;

//
// additional model data
//
	cache_user_t	cache;		// only access through Mod_Extradata

} model_t;

typedef vec_t vec4_t[4];

typedef struct alight_s
{
	int			ambientlight;	// clip at 128
	int			shadelight;		// clip at 192 - ambientlight
	vec3_t		color;
	float		*plightvec;
} alight_t;

typedef struct auxvert_s
{
	float	fv[3];		// viewspace x, y
} auxvert_t;

#include "../engine/custom.h"

#define	MAX_INFO_STRING			256
#define	MAX_SCOREBOARDNAME		32
typedef struct player_info_s
{
	// User id on server
	int		userid;

	// User info string
	char	userinfo[ MAX_INFO_STRING ];

	// Name
	char	name[ MAX_SCOREBOARDNAME ];

	// Spectator or not, unused
	int		spectator;

	int		ping;
	int		packet_loss;

	// skin information
	char	model[MAX_QPATH];
	int		topcolor;
	int		bottomcolor;

	// last frame rendered
	int		renderframe;	

	// Gait frame estimation
	int		gaitsequence;
	float	gaitframe;
	float	gaityaw;
	vec3_t	prevgaitorigin;

	customization_t customdata;
} player_info_t;

#endif // #define COM_MODEL_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人亚洲精品久久久久软件| 国产女人aaa级久久久级| 亚洲一区国产视频| 欧美天堂一区二区三区| 一区二区三区欧美日| 欧美日韩一区不卡| 免费成人av在线播放| 日韩欧美一级二级三级久久久| 美女久久久精品| 欧美精品一区二区三区很污很色的| 精品一区二区三区在线观看国产| 2021久久国产精品不只是精品| 国产一区二区三区在线观看精品| 欧美国产成人在线| 色94色欧美sute亚洲线路一久| 夜色激情一区二区| 日韩一区二区三区精品视频| 国内精品嫩模私拍在线| 国产精品久久久久久妇女6080| 91视频.com| 美女网站色91| 亚洲欧洲一区二区三区| 欧美精三区欧美精三区| 91久久人澡人人添人人爽欧美 | 日本vs亚洲vs韩国一区三区 | 久久久噜噜噜久久中文字幕色伊伊| 懂色av一区二区三区蜜臀| 一区二区久久久久久| 日韩一区二区在线看片| 成人免费视频caoporn| 亚洲愉拍自拍另类高清精品| 欧美tickling网站挠脚心| 成人免费视频视频在线观看免费| 亚洲v中文字幕| 久久众筹精品私拍模特| 日本高清不卡视频| 国内精品免费在线观看| 亚洲一区二区综合| 中文字幕精品综合| 日韩欧美国产综合在线一区二区三区| 国产成人免费在线观看| 午夜视频在线观看一区二区| 国产精品久久毛片a| 欧美一个色资源| 91免费国产在线| 国产一区在线不卡| 日韩成人一级片| 自拍偷拍亚洲激情| 久久综合一区二区| 69堂精品视频| 欧美四级电影网| 99久久精品国产网站| 国产精品自拍一区| 美女视频网站久久| 日日夜夜免费精品| 亚洲精品videosex极品| 国产免费成人在线视频| 日韩精品中文字幕一区| 欧美日韩亚洲综合一区| 91小视频在线免费看| 成人小视频免费在线观看| 蜜桃av一区二区三区| 午夜精品爽啪视频| 亚洲成人你懂的| 国产精品一区在线观看你懂的| 亚洲国产精品久久一线不卡| 亚洲精选一二三| 中文字幕视频一区| 中文字幕一区二区三| 国产精品久久久久久久久免费桃花| 精品奇米国产一区二区三区| 日韩三级在线观看| 日韩欧美一级片| 精品99一区二区三区| 日韩一区二区电影网| 91精品国产91综合久久蜜臀| 精品视频1区2区| 欧美日韩国产一级| 制服丝袜亚洲网站| 欧美一区三区四区| 日韩三级视频在线看| 欧美r级电影在线观看| 精品女同一区二区| 久久久高清一区二区三区| 精品国内片67194| 久久综合久久久久88| 久久久综合视频| 欧美国产日韩在线观看| 中文字幕一区二区三区乱码在线 | 日韩美女啊v在线免费观看| 国产精品国产自产拍高清av王其| 成人免费小视频| 亚洲午夜激情网站| 免费成人在线影院| 国产精品中文字幕日韩精品| 成人激情av网| 欧美综合一区二区| 91精品国产福利| 2014亚洲片线观看视频免费| 国产精品每日更新在线播放网址 | 国产高清久久久久| 丁香婷婷深情五月亚洲| 波多野结衣的一区二区三区| 一本在线高清不卡dvd| 欧美色网站导航| 日韩精品一区二区三区在线观看| 久久久久久久电影| 亚洲女人****多毛耸耸8| 午夜精品123| 国产成a人无v码亚洲福利| 色婷婷一区二区三区四区| 欧美一卡2卡3卡4卡| 久久久久亚洲蜜桃| 一区二区免费视频| 国产一区二区三区电影在线观看| 99国产精品久久| 日韩欧美激情在线| 亚洲免费在线观看| 国产专区综合网| 色悠悠久久综合| 久久天堂av综合合色蜜桃网 | 亚洲图片欧美色图| 国产成人在线视频网址| 日本精品一区二区三区四区的功能| 日韩三级视频中文字幕| 亚洲摸摸操操av| 国产精品1区2区3区| 欧美日韩一区小说| 中文字幕在线不卡一区 | 国产一区二区导航在线播放| 色视频成人在线观看免| 久久久99久久| 水野朝阳av一区二区三区| 不卡一区二区在线| 亚洲精品在线免费播放| 亚洲高清三级视频| 韩国精品在线观看| 欧美一区中文字幕| 一区二区在线观看不卡| 成人性生交大片免费| 日韩久久久精品| 天天综合色天天综合色h| 99精品视频一区| 国产午夜亚洲精品不卡| 美女诱惑一区二区| 欧美人伦禁忌dvd放荡欲情| 亚洲免费观看视频| 成人高清免费观看| 久久久久国产成人精品亚洲午夜| 免费人成黄页网站在线一区二区| 欧美无乱码久久久免费午夜一区 | 狠狠狠色丁香婷婷综合激情| 欧美日免费三级在线| 亚洲免费在线观看视频| 99热国产精品| 亚洲欧美在线高清| 岛国精品一区二区| 欧美韩国日本不卡| 成人午夜激情片| 中文字幕成人av| 国产成人午夜片在线观看高清观看| 精品盗摄一区二区三区| 裸体健美xxxx欧美裸体表演| 4438x亚洲最大成人网| 性感美女极品91精品| 亚洲国产精品黑人久久久| 精品一区免费av| 精品精品国产高清一毛片一天堂| 日本女优在线视频一区二区| 欧美精品v国产精品v日韩精品 | 免费高清成人在线| 欧美一二三区在线| 久久99久久久久| 2023国产精品视频| 国产91精品免费| 亚洲国产精品成人综合色在线婷婷 | 成人精品视频一区| 一区二区中文字幕在线| 日本国产一区二区| 天天亚洲美女在线视频| 欧美一区二区三区四区高清 | wwwwxxxxx欧美| 国产成人综合网站| 亚洲欧美在线视频| 欧美在线影院一区二区| 日韩成人午夜电影| 欧美成人一区二区三区片免费| 国产一区二区三区| 国产精品久久久久一区二区三区共| av成人免费在线观看| 夜夜亚洲天天久久| 91精品国产免费| 国产91丝袜在线18| 亚洲激情在线播放| 91精品国产91久久综合桃花 | 日本高清不卡在线观看| 日产欧产美韩系列久久99| 久久久噜噜噜久噜久久综合| 一本一道久久a久久精品 | 激情小说欧美图片|