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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cl_ents.java

?? JAKE2用JAVA寫的queck2的3D游戲開發(fā)引擎
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
				/*				 * PMM - at this point, all of the shells have been handled if				 * we're in the rogue pack, set up the custom mixing, otherwise				 * just keep going if(Developer_searchpath(2) == 2) { all of the				 * solo colors are fine. we need to catch any of the				 * combinations that look bad (double & half) and turn them into				 * the appropriate color, and make double/quad something special				 *  				 */				if ((renderfx & Defines.RF_SHELL_HALF_DAM) != 0) {					if (FS.Developer_searchpath(2) == 2) {						// ditch the half damage shell if any of red, blue, or						// double are on						if ((renderfx & (Defines.RF_SHELL_RED | Defines.RF_SHELL_BLUE | Defines.RF_SHELL_DOUBLE)) != 0)							renderfx &= ~Defines.RF_SHELL_HALF_DAM;					}				}				if ((renderfx & Defines.RF_SHELL_DOUBLE) != 0) {					if (FS.Developer_searchpath(2) == 2) {						// lose the yellow shell if we have a red, blue, or						// green shell						if ((renderfx & (Defines.RF_SHELL_RED | Defines.RF_SHELL_BLUE | Defines.RF_SHELL_GREEN)) != 0)							renderfx &= ~Defines.RF_SHELL_DOUBLE;						// if we have a red shell, turn it to purple by adding						// blue						if ((renderfx & Defines.RF_SHELL_RED) != 0)							renderfx |= Defines.RF_SHELL_BLUE;						// if we have a blue shell (and not a red shell), turn						// it to cyan by adding green						else if ((renderfx & Defines.RF_SHELL_BLUE) != 0)							// go to green if it's on already, otherwise do cyan							// (flash green)							if ((renderfx & Defines.RF_SHELL_GREEN) != 0)								renderfx &= ~Defines.RF_SHELL_BLUE;							else								renderfx |= Defines.RF_SHELL_GREEN;					}				}				//				}				// pmm				ent.flags = renderfx | Defines.RF_TRANSLUCENT;				ent.alpha = 0.30f;				V.AddEntity(ent);			}			ent.skin = null; // never use a custom skin on others			ent.skinnum = 0;			ent.flags = 0;			ent.alpha = 0;			// duplicate for linked models			if (s1.modelindex2 != 0) {				if (s1.modelindex2 == 255) { // custom weapon					ci = Globals.cl.clientinfo[s1.skinnum & 0xff];					i = (s1.skinnum >> 8); // 0 is default weapon model					if (0 == Globals.cl_vwep.value || i > Defines.MAX_CLIENTWEAPONMODELS - 1)						i = 0;					ent.model = ci.weaponmodel[i];					if (null == ent.model) {						if (i != 0)							ent.model = ci.weaponmodel[0];						if (null == ent.model)							ent.model = Globals.cl.baseclientinfo.weaponmodel[0];					}				} else					ent.model = Globals.cl.model_draw[s1.modelindex2];				// PMM - check for the defender sphere shell .. make it				// translucent				// replaces the previous version which used the high bit on				// modelindex2 to determine transparency				if (Globals.cl.configstrings[Defines.CS_MODELS + (s1.modelindex2)].equalsIgnoreCase("models/items/shell/tris.md2")) {					ent.alpha = 0.32f;					ent.flags = Defines.RF_TRANSLUCENT;				}				// pmm				V.AddEntity(ent);				//PGM - make sure these get reset.				ent.flags = 0;				ent.alpha = 0;				//PGM			}			if (s1.modelindex3 != 0) {				ent.model = Globals.cl.model_draw[s1.modelindex3];				V.AddEntity(ent);			}			if (s1.modelindex4 != 0) {				ent.model = Globals.cl.model_draw[s1.modelindex4];				V.AddEntity(ent);			}			if ((effects & Defines.EF_POWERSCREEN) != 0) {				ent.model = CL_tent.cl_mod_powerscreen;				ent.oldframe = 0;				ent.frame = 0;				ent.flags |= (Defines.RF_TRANSLUCENT | Defines.RF_SHELL_GREEN);				ent.alpha = 0.30f;				V.AddEntity(ent);			}			// add automatic particle trails			if ((effects & ~Defines.EF_ROTATE) != 0) {				if ((effects & Defines.EF_ROCKET) != 0) {					CL_fx.RocketTrail(cent.lerp_origin, ent.origin, cent);					V.AddLight(ent.origin, 200, 1, 1, 0);				}				// PGM - Do not reorder EF_BLASTER and EF_HYPERBLASTER.				// EF_BLASTER | EF_TRACKER is a special case for EF_BLASTER2...				// Cheese!				else if ((effects & Defines.EF_BLASTER) != 0) {					//					CL_BlasterTrail (cent.lerp_origin, ent.origin);					//	  PGM					if ((effects & Defines.EF_TRACKER) != 0) // lame...															 // problematic?					{						CL_newfx.BlasterTrail2(cent.lerp_origin, ent.origin);						V.AddLight(ent.origin, 200, 0, 1, 0);					} else {						CL_fx.BlasterTrail(cent.lerp_origin, ent.origin);						V.AddLight(ent.origin, 200, 1, 1, 0);					}					//	  PGM				} else if ((effects & Defines.EF_HYPERBLASTER) != 0) {					if ((effects & Defines.EF_TRACKER) != 0) // PGM overloaded															 // for blaster2.						V.AddLight(ent.origin, 200, 0, 1, 0); // PGM					else						// PGM						V.AddLight(ent.origin, 200, 1, 1, 0);				} else if ((effects & Defines.EF_GIB) != 0) {					CL_fx.DiminishingTrail(cent.lerp_origin, ent.origin, cent, effects);				} else if ((effects & Defines.EF_GRENADE) != 0) {					CL_fx.DiminishingTrail(cent.lerp_origin, ent.origin, cent, effects);				} else if ((effects & Defines.EF_FLIES) != 0) {					CL_fx.FlyEffect(cent, ent.origin);				} else if ((effects & Defines.EF_BFG) != 0) {					if ((effects & Defines.EF_ANIM_ALLFAST) != 0) {						CL_fx.BfgParticles(ent);						i = 200;					} else {						i = bfg_lightramp[s1.frame];					}					V.AddLight(ent.origin, i, 0, 1, 0);				}				// RAFAEL				else if ((effects & Defines.EF_TRAP) != 0) {					ent.origin[2] += 32;					CL_fx.TrapParticles(ent);					i = (Globals.rnd.nextInt(100)) + 100;					V.AddLight(ent.origin, i, 1, 0.8f, 0.1f);				} else if ((effects & Defines.EF_FLAG1) != 0) {					CL_fx.FlagTrail(cent.lerp_origin, ent.origin, 242);					V.AddLight(ent.origin, 225, 1, 0.1f, 0.1f);				} else if ((effects & Defines.EF_FLAG2) != 0) {					CL_fx.FlagTrail(cent.lerp_origin, ent.origin, 115);					V.AddLight(ent.origin, 225, 0.1f, 0.1f, 1);				}				//	  ======				//	  ROGUE				else if ((effects & Defines.EF_TAGTRAIL) != 0) {					CL_newfx.TagTrail(cent.lerp_origin, ent.origin, 220);					V.AddLight(ent.origin, 225, 1.0f, 1.0f, 0.0f);				} else if ((effects & Defines.EF_TRACKERTRAIL) != 0) {					if ((effects & Defines.EF_TRACKER) != 0) {						float intensity;						intensity = (float) (50 + (500 * (Math.sin(Globals.cl.time / 500.0) + 1.0)));						// FIXME - check out this effect in rendition						if (Globals.vidref_val == Defines.VIDREF_GL)							V.AddLight(ent.origin, intensity, -1.0f, -1.0f, -1.0f);						else							V.AddLight(ent.origin, -1.0f * intensity, 1.0f, 1.0f, 1.0f);					} else {						CL_newfx.Tracker_Shell(cent.lerp_origin);						V.AddLight(ent.origin, 155, -1.0f, -1.0f, -1.0f);					}				} else if ((effects & Defines.EF_TRACKER) != 0) {					CL_newfx.TrackerTrail(cent.lerp_origin, ent.origin, 0);					// FIXME - check out this effect in rendition					if (Globals.vidref_val == Defines.VIDREF_GL)						V.AddLight(ent.origin, 200, -1, -1, -1);					else						V.AddLight(ent.origin, -200, 1, 1, 1);				}				//	  ROGUE				//	  ======				// RAFAEL				else if ((effects & Defines.EF_GREENGIB) != 0) {					CL_fx.DiminishingTrail(cent.lerp_origin, ent.origin, cent, effects);				}				// RAFAEL				else if ((effects & Defines.EF_IONRIPPER) != 0) {					CL_fx.IonripperTrail(cent.lerp_origin, ent.origin);					V.AddLight(ent.origin, 100, 1, 0.5f, 0.5f);				}				// RAFAEL				else if ((effects & Defines.EF_BLUEHYPERBLASTER) != 0) {					V.AddLight(ent.origin, 200, 0, 0, 1);				}				// RAFAEL				else if ((effects & Defines.EF_PLASMA) != 0) {					if ((effects & Defines.EF_ANIM_ALLFAST) != 0) {						CL_fx.BlasterTrail(cent.lerp_origin, ent.origin);					}					V.AddLight(ent.origin, 130, 1, 0.5f, 0.5f);				}			}			Math3D.VectorCopy(ent.origin, cent.lerp_origin);		}	}		// stack variable	private static final entity_t gun = new entity_t();	/*	 * ============== CL_AddViewWeapon ==============	 */	static void AddViewWeapon(player_state_t ps, player_state_t ops) {		int i;		// allow the gun to be completely removed		if (0 == Globals.cl_gun.value)			return;		// don't draw gun if in wide angle view		if (ps.fov > 90)			return;		//memset( gun, 0, sizeof(gun));		gun.clear();		if (Globals.gun_model != null)			gun.model = Globals.gun_model; // development tool		else			gun.model = Globals.cl.model_draw[ps.gunindex];		if (gun.model == null)			return;		// set up gun position		for (i = 0; i < 3; i++) {			gun.origin[i] = Globals.cl.refdef.vieworg[i] + ops.gunoffset[i] + Globals.cl.lerpfrac					* (ps.gunoffset[i] - ops.gunoffset[i]);			gun.angles[i] = Globals.cl.refdef.viewangles[i] + Math3D.LerpAngle(ops.gunangles[i], ps.gunangles[i], Globals.cl.lerpfrac);		}		if (Globals.gun_frame != 0) {			gun.frame = Globals.gun_frame; // development tool			gun.oldframe = Globals.gun_frame; // development tool		} else {			gun.frame = ps.gunframe;			if (gun.frame == 0)				gun.oldframe = 0; // just changed weapons, don't lerp from old			else				gun.oldframe = ops.gunframe;		}		gun.flags = Defines.RF_MINLIGHT | Defines.RF_DEPTHHACK | Defines.RF_WEAPONMODEL;		gun.backlerp = 1.0f - Globals.cl.lerpfrac;		Math3D.VectorCopy(gun.origin, gun.oldorigin); // don't lerp at all		V.AddEntity(gun);	}	/*	 * =============== CL_CalcViewValues	 * 	 * Sets cl.refdef view values ===============	 */	static void CalcViewValues() {		int i;		float lerp, backlerp;		frame_t oldframe;		player_state_t ps, ops;		// find the previous frame to interpolate from		ps = Globals.cl.frame.playerstate;		i = (Globals.cl.frame.serverframe - 1) & Defines.UPDATE_MASK;		oldframe = Globals.cl.frames[i];		if (oldframe.serverframe != Globals.cl.frame.serverframe - 1 || !oldframe.valid)			oldframe = Globals.cl.frame; // previous frame was dropped or										 // involid		ops = oldframe.playerstate;		// see if the player entity was teleported this frame		if (Math.abs(ops.pmove.origin[0] - ps.pmove.origin[0]) > 256 * 8				|| Math.abs(ops.pmove.origin[1] - ps.pmove.origin[1]) > 256 * 8				|| Math.abs(ops.pmove.origin[2] - ps.pmove.origin[2]) > 256 * 8)			ops = ps; // don't interpolate		lerp = Globals.cl.lerpfrac;		// calculate the origin		if ((Globals.cl_predict.value != 0) && 0 == (Globals.cl.frame.playerstate.pmove.pm_flags & pmove_t.PMF_NO_PREDICTION)) { // use																																 // predicted																																 // values			int delta;			backlerp = 1.0f - lerp;			for (i = 0; i < 3; i++) {				Globals.cl.refdef.vieworg[i] = Globals.cl.predicted_origin[i] + ops.viewoffset[i] + Globals.cl.lerpfrac						* (ps.viewoffset[i] - ops.viewoffset[i]) - backlerp * Globals.cl.prediction_error[i];			}			// smooth out stair climbing			delta = (int) (Globals.cls.realtime - Globals.cl.predicted_step_time);			if (delta < 100)				Globals.cl.refdef.vieworg[2] -= Globals.cl.predicted_step * (100 - delta) * 0.01;		} else { // just use interpolated values			for (i = 0; i < 3; i++)				Globals.cl.refdef.vieworg[i] = ops.pmove.origin[i] * 0.125f + ops.viewoffset[i] + lerp						* (ps.pmove.origin[i] * 0.125f + ps.viewoffset[i] - (ops.pmove.origin[i] * 0.125f + ops.viewoffset[i]));		}		// if not running a demo or on a locked frame, add the local angle		// movement		if (Globals.cl.frame.playerstate.pmove.pm_type < Defines.PM_DEAD) { // use																			// predicted																			// values			for (i = 0; i < 3; i++)				Globals.cl.refdef.viewangles[i] = Globals.cl.predicted_angles[i];		} else { // just use interpolated values			for (i = 0; i < 3; i++)				Globals.cl.refdef.viewangles[i] = Math3D.LerpAngle(ops.viewangles[i], ps.viewangles[i], lerp);		}		for (i = 0; i < 3; i++)			Globals.cl.refdef.viewangles[i] += Math3D.LerpAngle(ops.kick_angles[i], ps.kick_angles[i], lerp);		Math3D.AngleVectors(Globals.cl.refdef.viewangles, Globals.cl.v_forward, Globals.cl.v_right, Globals.cl.v_up);		// interpolate field of view		Globals.cl.refdef.fov_x = ops.fov + lerp * (ps.fov - ops.fov);		// don't interpolate blend color		for (i = 0; i < 4; i++)			Globals.cl.refdef.blend[i] = ps.blend[i];		// add the weapon		AddViewWeapon(ps, ops);	}	/*	 * =============== CL_AddEntities	 * 	 * Emits all entities, particles, and lights to the refresh ===============	 */	static void AddEntities() {		if (Globals.cls.state != Defines.ca_active)			return;		if (Globals.cl.time > Globals.cl.frame.servertime) {			if (Globals.cl_showclamp.value != 0)				Com.Printf("high clamp " + (Globals.cl.time - Globals.cl.frame.servertime) + "\n");			Globals.cl.time = Globals.cl.frame.servertime;			Globals.cl.lerpfrac = 1.0f;		} else if (Globals.cl.time < Globals.cl.frame.servertime - 100) {			if (Globals.cl_showclamp.value != 0)				Com.Printf("low clamp " + (Globals.cl.frame.servertime - 100 - Globals.cl.time) + "\n");			Globals.cl.time = Globals.cl.frame.servertime - 100;			Globals.cl.lerpfrac = 0;		} else			Globals.cl.lerpfrac = 1.0f - (Globals.cl.frame.servertime - Globals.cl.time) * 0.01f;		if (Globals.cl_timedemo.value != 0)			Globals.cl.lerpfrac = 1.0f;		/*		 * is ok.. CL_AddPacketEntities (cl.frame); CL_AddTEnts ();		 * CL_AddParticles (); CL_AddDLights (); CL_AddLightStyles ();		 */		CalcViewValues();		// PMM - moved this here so the heat beam has the right values for the		// vieworg, and can lock the beam to the gun		AddPacketEntities(Globals.cl.frame);		CL_tent.AddTEnts();		CL_fx.AddParticles();		CL_fx.AddDLights();		CL_fx.AddLightStyles();	}	/*	 * =============== CL_GetEntitySoundOrigin	 * 	 * Called to get the sound spatialization origin ===============	 */	public static void GetEntitySoundOrigin(int ent, float[] org) {		centity_t old;		if (ent < 0 || ent >= Defines.MAX_EDICTS)			Com.Error(Defines.ERR_DROP, "CL_GetEntitySoundOrigin: bad ent");		old = Globals.cl_entities[ent];		Math3D.VectorCopy(old.lerp_origin, org);		// FIXME: bmodel issues...	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品少妇一区二区| 日本va欧美va欧美va精品| 欧美日韩黄视频| 国产毛片精品视频| 亚洲成人激情综合网| 中文在线资源观看网站视频免费不卡| 色中色一区二区| 粉嫩一区二区三区在线看| 亚洲成人资源网| 国产精品初高中害羞小美女文 | 欧美日韩在线三级| 国产69精品久久99不卡| 男女性色大片免费观看一区二区| 亚洲男人的天堂一区二区 | 国产丝袜欧美中文另类| 日韩一区二区在线看| 色综合久久天天| 成人夜色视频网站在线观看| 精品午夜一区二区三区在线观看| 爽好多水快深点欧美视频| 亚洲黄网站在线观看| 欧美激情资源网| 久久亚洲精品小早川怜子| 欧美大胆一级视频| 欧美一区二区视频观看视频| 欧美探花视频资源| 色嗨嗨av一区二区三区| 99精品久久只有精品| 国产jizzjizz一区二区| 国产乱色国产精品免费视频| 久久精品国产精品亚洲精品| 视频一区中文字幕| 午夜电影一区二区| 亚洲丰满少妇videoshd| 亚洲国产视频一区二区| 洋洋成人永久网站入口| 一区二区三区中文在线| 一区二区欧美精品| 亚洲一区二区三区不卡国产欧美| 亚洲摸摸操操av| 亚洲综合999| 亚洲chinese男男1069| 丝袜美腿高跟呻吟高潮一区| 五月天欧美精品| 日韩三级在线观看| 日韩欧美不卡在线观看视频| 日韩欧美国产不卡| 久久久精品蜜桃| 国产精品欧美综合在线| 亚洲女女做受ⅹxx高潮| 欧美精品一卡两卡| 日韩精品资源二区在线| 欧美精品一区二区三| 久久久久国色av免费看影院| 中文子幕无线码一区tr| 亚洲欧美日韩国产另类专区| 亚洲综合免费观看高清在线观看| 亚洲电影一区二区三区| 美女免费视频一区二区| 国产盗摄女厕一区二区三区| 成人免费毛片app| 在线视频欧美区| 91精品国产综合久久久蜜臀粉嫩 | 免费成人av资源网| 国模少妇一区二区三区| 成人av免费观看| 欧美性三三影院| 欧洲另类一二三四区| 亚洲综合偷拍欧美一区色| 午夜精品福利一区二区三区蜜桃| 中文字幕一区不卡| 国产精品乱码一区二区三区软件| 全国精品久久少妇| 欧美日韩黄视频| 精品一区二区三区在线播放| 一区二区三区在线视频观看58| www.欧美精品一二区| 麻豆91在线看| 美洲天堂一区二卡三卡四卡视频| 日日骚欧美日韩| 青青草国产成人av片免费| 日日夜夜免费精品| 久久久久国产免费免费| www久久精品| 中文字幕日韩一区二区| 亚洲欧美日韩综合aⅴ视频| 夜夜揉揉日日人人青青一国产精品| 亚洲愉拍自拍另类高清精品| 丝袜脚交一区二区| 中文字幕成人在线观看| 亚洲视频一区二区免费在线观看| 一区二区三区在线免费视频| 日本一区中文字幕| aaa亚洲精品| 精品福利av导航| 欧美无人高清视频在线观看| 91精品麻豆日日躁夜夜躁| 国产精品无人区| 国产一区二区三区免费播放| 精品少妇一区二区三区免费观看 | 久久尤物电影视频在线观看| 中文字幕一区不卡| 久久99蜜桃精品| 欧美午夜精品一区二区三区| 久久久国产综合精品女国产盗摄| 一区二区三区日本| 国产精品白丝av| 欧美一区午夜精品| 玉米视频成人免费看| 国产精品亚洲成人| 日韩欧美国产1| 午夜国产精品一区| 色播五月激情综合网| 日本丰满少妇一区二区三区| 国产婷婷色一区二区三区| 免费观看一级特黄欧美大片| 欧美网站一区二区| 一区二区三区中文字幕电影| 99视频一区二区三区| 欧美精品一区二区久久久| 日本欧美大码aⅴ在线播放| 在线观看欧美日本| 亚洲色图一区二区| bt欧美亚洲午夜电影天堂| 国产欧美日韩麻豆91| 韩国v欧美v日本v亚洲v| 欧美电影免费观看高清完整版在线观看 | 国产精品自在在线| 日韩欧美黄色影院| 免费久久99精品国产| 欧美精品精品一区| 日韩精品高清不卡| 欧美挠脚心视频网站| 亚洲不卡av一区二区三区| 在线观看欧美黄色| 无码av免费一区二区三区试看| 欧美色网一区二区| 亚洲成人精品一区二区| 91精品久久久久久久99蜜桃| 日本 国产 欧美色综合| 欧美一级视频精品观看| 日本欧美韩国一区三区| 日韩精品一区二区三区视频 | 久久99九九99精品| 日韩欧美高清一区| 国产精品1区二区.| 国产精品乱码人人做人人爱| 色狠狠一区二区| 婷婷成人综合网| 日韩女优电影在线观看| 国内久久精品视频| 日本一区二区三区高清不卡| av电影在线观看不卡| 夜夜嗨av一区二区三区中文字幕| 在线电影院国产精品| 久久精品99国产精品日本| 国产丝袜美腿一区二区三区| 91理论电影在线观看| 亚洲午夜在线观看视频在线| 制服丝袜亚洲播放| 国产乱码字幕精品高清av| 国产精品久久久久一区二区三区| 色香蕉久久蜜桃| 日韩精品一二三| 国产亚洲污的网站| 色丁香久综合在线久综合在线观看| 午夜精品国产更新| 久久综合久久鬼色中文字| 不卡av在线网| 日韩在线卡一卡二| 国产亚洲综合av| 在线免费观看日本一区| 久久精品国产秦先生| 国产精品麻豆一区二区| 欧美三级资源在线| 国产乱子轮精品视频| 亚洲男人的天堂在线观看| 日韩精品一区二区三区老鸭窝 | 日韩欧美中文一区| 亚洲精品国产高清久久伦理二区| 91精品国产综合久久久久久久| 国产乱国产乱300精品| 一区二区三区四区激情| 日韩欧美国产1| 在线中文字幕一区| 国产乱对白刺激视频不卡| 亚洲午夜影视影院在线观看| 国产三级精品三级| 日日摸夜夜添夜夜添精品视频 | 欧美丝袜自拍制服另类| 国产在线精品国自产拍免费| 一区二区三区在线观看欧美| www激情久久| 欧美精品亚洲二区| 色综合亚洲欧洲| 国产精品亚洲一区二区三区在线 | 国产伦精品一区二区三区视频青涩 | 亚洲日本免费电影| 2024国产精品| 91麻豆精品国产91久久久资源速度 |