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

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

?? game.c

?? 小型游戲引擎
?? C
?? 第 1 頁 / 共 5 頁
字號:
											sector[j].ceilingstat |= 64;											sector[j].floorstat |= 64;										}										subwaytracksector[subwaytrackcnt][subwaynumsectors[subwaytrackcnt]] = j;										subwaynumsectors[subwaytrackcnt]++;									}					}				subwayvel[subwaytrackcnt] = 64;				subwaypausetime[subwaytrackcnt] = 720;				startwall = sector[i].wallptr;				endwall = startwall+sector[i].wallnum;				for(k=startwall;k<endwall;k++)					if (wall[k].x > subwaytrackx1[subwaytrackcnt])						if (wall[k].y > subwaytracky1[subwaytrackcnt])							if (wall[k].x < subwaytrackx2[subwaytrackcnt])								if (wall[k].y < subwaytracky2[subwaytrackcnt])									setinterpolation(&wall[k].x);				for(j=1;j<subwaynumsectors[subwaytrackcnt];j++)				{					dasector = subwaytracksector[subwaytrackcnt][j];					startwall = sector[dasector].wallptr;					endwall = startwall+sector[dasector].wallnum;					for(k=startwall;k<endwall;k++)						setinterpolation(&wall[k].x);					for(k=headspritesect[dasector];k>=0;k=nextspritesect[k])						if (statrate[sprite[k].statnum] < 0)							setinterpolation(&sprite[k].x);				}				subwaytrackcnt++;				break;		}		if (sector[i].floorpicnum == FLOORMIRROR)			floormirrorsector[mirrorcnt++] = i;	}		/* Scan wall tags */	mirrorcnt = 0;	tilesizx[MIRROR] = 0;	tilesizy[MIRROR] = 0;	for(i=0;i<MAXMIRRORS;i++)	{		tilesizx[i+MIRRORLABEL] = 0;		tilesizy[i+MIRRORLABEL] = 0;	}	ypanningwallcnt = 0;	for(i=0;i<numwalls;i++)	{		if (wall[i].lotag == 1) ypanningwalllist[ypanningwallcnt++] = i;		s = wall[i].nextsector;		if ((s >= 0) && (wall[i].overpicnum == MIRROR) && (wall[i].cstat&32))		{			if ((sector[s].floorstat&1) == 0)			{				wall[i].overpicnum = MIRRORLABEL+mirrorcnt;				sector[s].ceilingpicnum = MIRRORLABEL+mirrorcnt;				sector[s].floorpicnum = MIRRORLABEL+mirrorcnt;				sector[s].floorstat |= 1;				mirrorwall[mirrorcnt] = i;				mirrorsector[mirrorcnt] = s;				mirrorcnt++;			}			else				wall[i].overpicnum = sector[s].ceilingpicnum;		}	}		/* Invalidate textures in sector behind mirror */	for(i=0;i<mirrorcnt;i++)	{		k = mirrorsector[i];		startwall = sector[k].wallptr;		endwall = startwall + sector[k].wallnum;		for(j=startwall;j<endwall;j++)		{			wall[j].picnum = MIRROR;			wall[j].overpicnum = MIRROR;		}	}		/* Scan sprite tags&picnum's */	turnspritecnt = 0;	for(i=0;i<MAXSPRITES;i++)	{		if (sprite[i].lotag == 3) turnspritelist[turnspritecnt++] = i;		if (sprite[i].statnum < MAXSTATUS)    /* That is, if sprite exists */			switch(sprite[i].picnum)			{				case BROWNMONSTER:              /* All cases here put the sprite */					if ((sprite[i].cstat&128) == 0)					{						sprite[i].z -= ((tilesizy[sprite[i].picnum]*sprite[i].yrepeat)<<1);						sprite[i].cstat |= 128;					}					sprite[i].extra = sprite[i].ang;					sprite[i].clipdist = mulscale7(sprite[i].xrepeat,tilesizx[sprite[i].picnum]);					if (sprite[i].statnum != 1) changespritestat(i,2);   /* on waiting for you (list 2) */					sprite[i].lotag = mulscale5(sprite[i].xrepeat,sprite[i].yrepeat);					sprite[i].cstat |= 0x101;    /* Set the hitscan sensitivity bit */					break;				case AL:					sprite[i].cstat |= 0x101;    /* Set the hitscan sensitivity bit */					sprite[i].lotag = 0x60;					changespritestat(i,0);					break;				case EVILAL:					sprite[i].cstat |= 0x101;    /* Set the hitscan sensitivity bit */					sprite[i].lotag = 0x60;					changespritestat(i,10);					break;			}	}	for(i=MAXSPRITES-1;i>=0;i--) copybuf(&sprite[i].x,&osprite[i].x,3);	searchmap(cursectnum[connecthead]);	lockclock = 0;	ototalclock = 0;	gotlastpacketclock = 0;	screensize = xdim;	dax = ((xdim-screensize)>>1);	dax2 = dax+screensize-1;	day = (((ydim-32)-scale(screensize,ydim-32,xdim))>>1);	day2 = day + scale(screensize,ydim-32,xdim)-1;	setview(dax,day,dax2,day2);	startofdynamicinterpolations = numinterpolations;}long changehealth(short snum, short deltahealth){	/*long dax, day;*/	/*short good, k, startwall, endwall, s;*/	if (health[snum] > 0)	{		health[snum] += deltahealth;		if (health[snum] > 999) health[snum] = 999;		if (health[snum] <= 0)		{			health[snum] = -1;			wsayfollow("death.wav",4096L+(krand()&127)-64,256L,&posx[snum],&posy[snum],1);			sprite[playersprite[snum]].picnum = SKELETON;		}		if ((snum == screenpeek) && (screensize <= xdim))		{			if (health[snum] > 0)				sprintf((char*)&tempbuf,"Health:%3ld",health[snum]);			else				sprintf((char*)&tempbuf,"YOU STINK!");			printext((xdim>>1)-(strlen(tempbuf)<<2),ydim-24,tempbuf,ALPHABET,80);		}	}	return(health[snum] <= 0);      /* You were just injured */}void changenumbombs(short snum, short deltanumbombs) {   /* Andy did this */	numbombs[snum] += deltanumbombs;	if (numbombs[snum] > 999) numbombs[snum] = 999;	if (numbombs[snum] <= 0) {		wsayfollow("doh.wav",4096L+(krand()&127)-64,256L,&posx[snum],&posy[snum],1);		numbombs[snum] = 0;	}	if ((snum == screenpeek) && (screensize <= xdim)) {		sprintf((char*)&tempbuf,"B:%3d",numbombs[snum]);		printext(8L,(ydim - 28L),tempbuf,ALPHABET,80);	}}void changenummissiles(short snum, short deltanummissiles) {   /* Andy did this */	nummissiles[snum] += deltanummissiles;	if (nummissiles[snum] > 999) nummissiles[snum] = 999;	if (nummissiles[snum] <= 0) {		wsayfollow("doh.wav",4096L+(krand()&127)-64,256L,&posx[snum],&posy[snum],1);		nummissiles[snum] = 0;	}	if ((snum == screenpeek) && (screensize <= xdim)) {		sprintf((char*)&tempbuf,"M:%3d",nummissiles[snum]);		printext(8L,(ydim - 20L),tempbuf,ALPHABET,80);	}}void changenumgrabbers(short snum, short deltanumgrabbers) {   /* Andy did this */	numgrabbers[snum] += deltanumgrabbers;	if (numgrabbers[snum] > 999) numgrabbers[snum] = 999;	if (numgrabbers[snum] <= 0) {		wsayfollow("doh.wav",4096L+(krand()&127)-64,256L,&posx[snum],&posy[snum],1);		numgrabbers[snum] = 0;	}	if ((snum == screenpeek) && (screensize <= xdim)) {		sprintf((char*)&tempbuf,"G:%3d",numgrabbers[snum]);		printext(8L,(ydim - 12L),tempbuf,ALPHABET,80);	}}void findrandomspot(long *x, long *y, short *sectnum){	short startwall, endwall, s, dasector;	long dax, day, daz, minx, maxx, miny, maxy, cnt;	for(cnt=256;cnt>=0;cnt--)	{		do		{			dasector = mulscale16(krand(),numsectors);		} while ((sector[dasector].ceilingz+(8<<8) >= sector[dasector].floorz) || ((sector[dasector].lotag|sector[dasector].hitag) != 0) || ((sector[dasector].floorstat&1) != 0));		startwall = sector[dasector].wallptr;		endwall = startwall+sector[dasector].wallnum;		if (endwall <= startwall) continue;		dax = 0L;		day = 0L;		minx = 0x7fffffff; maxx = 0x80000000;		miny = 0x7fffffff; maxy = 0x80000000;		for(s=startwall;s<endwall;s++)		{			dax += wall[s].x;			day += wall[s].y;			if (wall[s].x < minx) minx = wall[s].x;			if (wall[s].x > maxx) maxx = wall[s].x;			if (wall[s].y < miny) miny = wall[s].y;			if (wall[s].y > maxy) maxy = wall[s].y;		}		if ((maxx-minx <= 256) || (maxy-miny <= 256)) continue;		dax /= (endwall-startwall);		day /= (endwall-startwall);		if (inside(dax,day,dasector) == 0) continue;		daz = sector[dasector].floorz-(32<<8);		if (pushmove(&dax,&day,&daz,&dasector,128L,4<<8,4<<8,CLIPMASK0) < 0) continue;		*x = dax; *y = day; *sectnum = dasector;		return;	}}long getanimationgoal(long animptr){	long i;	for(i=animatecnt-1;i>=0;i--)		if ((long *)animptr == animateptr[i]) return(i);	return(-1);}long setanimation(long *animptr, long thegoal, long thevel, long theacc){	long i, j;	if (animatecnt >= MAXANIMATES) return(-1);	j = animatecnt;	for(i=animatecnt-1;i>=0;i--)		if (animptr == animateptr[i])			{ j = i; break; }	setinterpolation(animptr);	animateptr[j] = animptr;	animategoal[j] = thegoal;	animatevel[j] = thevel;	animateacc[j] = theacc;	if (j == animatecnt) animatecnt++;	return(j);}void operatesector(short dasector){     /* Door code */	long i, j, datag;	long daz, dax2, day2, centx, centy;	short startwall, endwall, wallfind[2];	datag = sector[dasector].lotag;	startwall = sector[dasector].wallptr;	endwall = startwall + sector[dasector].wallnum;	centx = 0L, centy = 0L;	for(i=startwall;i<endwall;i++)	{		centx += wall[i].x;		centy += wall[i].y;	}	centx /= (endwall-startwall);	centy /= (endwall-startwall);		/* Simple door that moves up  (tag 8 is a combination of tags 6 & 7) */	if ((datag == 6) || (datag == 8))    /* If the sector in front is a door */	{		i = getanimationgoal((long)&sector[dasector].ceilingz);		if (i >= 0)      /* If door already moving, reverse its direction */		{			if (datag == 8)				daz = ((sector[dasector].ceilingz+sector[dasector].floorz)>>1);			else				daz = sector[dasector].floorz;			if (animategoal[i] == daz)				animategoal[i] = sector[nextsectorneighborz(dasector,sector[dasector].floorz,-1,-1)].ceilingz;			else				animategoal[i] = daz;			animatevel[i] = 0;		}		else      /* else insert the door's ceiling on the animation list */		{			if (sector[dasector].ceilingz == sector[dasector].floorz)				daz = sector[nextsectorneighborz(dasector,sector[dasector].floorz,-1,-1)].ceilingz;			else			{				if (datag == 8)					daz = ((sector[dasector].ceilingz+sector[dasector].floorz)>>1);				else					daz = sector[dasector].floorz;			}			if ((j = setanimation(&sector[dasector].ceilingz,daz,6L,6L)) >= 0)				wsayfollow("updowndr.wav",4096L+(krand()&255)-128,256L,&centx,&centy,0);		}	}		/* Simple door that moves down */	if ((datag == 7) || (datag == 8)) /* If the sector in front's elevator */	{		i = getanimationgoal((long)&sector[dasector].floorz);		if (i >= 0)      /* If elevator already moving, reverse its direction */		{			if (datag == 8)				daz = ((sector[dasector].ceilingz+sector[dasector].floorz)>>1);			else				daz = sector[dasector].ceilingz;			if (animategoal[i] == daz)				animategoal[i] = sector[nextsectorneighborz(dasector,sector[dasector].ceilingz,1,1)].floorz;			else				animategoal[i] = daz;			animatevel[i] = 0;		}		else      /* else insert the elevator's ceiling on the animation list */		{			if (sector[dasector].floorz == sector[dasector].ceilingz)				daz = sector[nextsectorneighborz(dasector,sector[dasector].ceilingz,1,1)].floorz;			else			{				if (datag == 8)					daz = ((sector[dasector].ceilingz+sector[dasector].floorz)>>1);				else					daz = sector[dasector].ceilingz;			}			if ((j = setanimation(&sector[dasector].floorz,daz,6L,6L)) >= 0)				wsayfollow("updowndr.wav",4096L+(krand()&255)-128,256L,&centx,&centy,0);		}	}	if (datag == 9)   /* Smooshy-wall sideways double-door */	{		/*         * find any points with either same x or same y coordinate		 *  as center (centx, centy) - should be 2 points found.         */		wallfind[0] = -1;		wallfind[1] = -1;		for(i=startwall;i<endwall;i++)			if ((wall[i].x == centx) || (wall[i].y == centy))			{				if (wallfind[0] == -1)					wallfind[0] = i;				else					wallfind[1] = i;			}		for(j=0;j<2;j++)		{			if ((wall[wallfind[j]].x == centx) && (wall[wallfind[j]].y == centy))			{				/*                 * find what direction door should open by averaging the				 *  2 neighboring points of wallfind[0] & wallfind[1].                 */				i = wallfind[j]-1; if (i < startwall) i = endwall-1;				dax2 = ((wall[i].x+wall[wall[wallfind[j]].point2].x)>>1)-wall[wallfind[j]].x;				day2 = ((wall[i].y+wall[wall[wallfind[j]].point2].y)>>1)-wall[wallfind[j]].y;				if (dax2 != 0)				{					dax2 = wall[wall[wall[wallfind[j]].point2].point2].x;					dax2 -= wall[wall[wallfind[j]].point2].x;					setanimation(&wall[wallfind[j]].x,wall[wallfind[j]].x+dax2,4L,0L);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日精品一区视频| 国产呦萝稀缺另类资源| 国内精品在线播放| 91丨porny丨中文| 国产欧美一区二区精品性色超碰| 亚洲欧洲av在线| 国产精品乡下勾搭老头1| 99精品1区2区| 天堂va蜜桃一区二区三区 | 一区二区三区不卡在线观看| 韩国精品主播一区二区在线观看| 色婷婷综合久久久久中文一区二区 | 91麻豆高清视频| 日韩一区二区三区电影在线观看| 日韩精品在线一区二区| 亚洲欧美在线aaa| 精品一区二区在线免费观看| 在线观看免费亚洲| 精品粉嫩aⅴ一区二区三区四区| 亚洲欧美日韩国产综合在线| 首页国产欧美日韩丝袜| 国产寡妇亲子伦一区二区| 欧美色区777第一页| 精品电影一区二区三区| 亚洲一区视频在线观看视频| 日本成人在线不卡视频| 国产成人精品影视| 欧美乱妇15p| 亚洲影院在线观看| 色综合久久88色综合天天| 久久精品欧美日韩精品| 精品一区二区成人精品| 欧美日韩一级二级| 亚洲免费成人av| 99re在线精品| 一区二区三区四区视频精品免费| 国产成人av一区二区三区在线| 久久综合色婷婷| 3d动漫精品啪啪| 国产三级精品三级| 国产精品亚洲综合一区在线观看| 欧美一二三四区在线| 久久精品国产亚洲a| 欧美不卡一二三| 全国精品久久少妇| 精品久久久网站| 国产91丝袜在线播放九色| 亚洲欧美影音先锋| av福利精品导航| 亚洲图片激情小说| 欧美日韩一区二区三区四区五区| 日本不卡在线视频| 亚洲精品免费在线播放| 欧美一区二区三区四区久久| 岛国av在线一区| 亚洲成av人影院在线观看网| 久久色成人在线| 欧美日韩一卡二卡三卡 | 欧美色电影在线| 懂色av噜噜一区二区三区av | 久久精品久久综合| 欧美sm极限捆绑bd| 91美女片黄在线观看91美女| 久久精品国产秦先生| 亚洲精品美腿丝袜| 国产欧美精品一区| 日韩一级完整毛片| 欧美日韩国产乱码电影| 欧美群妇大交群中文字幕| 大胆亚洲人体视频| 国产在线精品免费av| 午夜国产精品一区| 最新国产成人在线观看| 精品国产乱码久久久久久浪潮 | 无码av中文一区二区三区桃花岛| 欧美韩国日本综合| 日本一区二区在线不卡| 日韩一区二区视频在线观看| 国产精品一卡二卡在线观看| 精品综合久久久久久8888| 美国三级日本三级久久99| 一区二区在线观看视频| 亚洲欧美日韩国产另类专区| 亚洲色图.com| 亚洲一区二区在线免费看| 亚洲综合丝袜美腿| 午夜影院在线观看欧美| 日韩av在线播放中文字幕| 中文字幕在线免费不卡| 亚洲欧洲美洲综合色网| 玉足女爽爽91| 另类小说色综合网站| 国内偷窥港台综合视频在线播放| 国产电影一区在线| 91丝袜美腿高跟国产极品老师 | ...av二区三区久久精品| 亚洲精品乱码久久久久久黑人| 国产精品网站导航| 一区二区三区免费看视频| 亚洲一区二区三区爽爽爽爽爽| 午夜精品在线看| 国产一本一道久久香蕉| 国产精品2024| 在线观看一区日韩| 欧美在线观看视频在线| 日韩女优制服丝袜电影| 国产精品家庭影院| 色婷婷久久99综合精品jk白丝| 国产999精品久久久久久| 欧美三级中文字幕在线观看| 久久九九影视网| 日本欧洲一区二区| 色噜噜夜夜夜综合网| 国产偷国产偷亚洲高清人白洁| 亚洲成av人影院在线观看网| 波多野结衣在线aⅴ中文字幕不卡| 欧美人xxxx| 亚洲大片一区二区三区| 久久99久国产精品黄毛片色诱| 欧美午夜在线一二页| 国产欧美精品国产国产专区 | 成人av网址在线观看| 国产午夜亚洲精品午夜鲁丝片| 日韩区在线观看| 免费精品视频在线| 国产精品一区二区三区99| 91老师国产黑色丝袜在线| 久久久久久久网| 精品一区二区三区av| 久久综合色综合88| 精品在线亚洲视频| 日韩天堂在线观看| 日本va欧美va精品发布| 日韩视频一区二区三区| 美女国产一区二区三区| 久久综合九色综合欧美就去吻 | 久久久久久久久久久99999| 九九视频精品免费| 国产日韩欧美精品一区| 99国产精品久久久久久久久久久| 樱花草国产18久久久久| 欧美一级日韩一级| 国产91清纯白嫩初高中在线观看| 中文字幕av资源一区| 欧美日韩美女一区二区| 激情成人综合网| 亚洲一区二区三区视频在线播放| 91精品国产色综合久久ai换脸 | 伊人性伊人情综合网| 欧美大白屁股肥臀xxxxxx| www.亚洲激情.com| 蜜臀久久99精品久久久久宅男 | 色综合天天视频在线观看| 秋霞电影网一区二区| 亚洲日本中文字幕区| 日韩欧美国产午夜精品| 色999日韩国产欧美一区二区| 精品一区二区三区在线视频| 一区二区三区欧美| 国产精品系列在线| 精品久久人人做人人爱| 51久久夜色精品国产麻豆| 色综合色综合色综合 | 国产精品你懂的在线| 日韩精品影音先锋| 91精品国产综合久久蜜臀| 色老综合老女人久久久| www.欧美色图| 色综合视频在线观看| 99久久99久久精品国产片果冻| 丝袜美腿亚洲综合| 亚洲大片精品永久免费| 亚洲国产精品一区二区www在线| 亚洲免费观看高清在线观看| 亚洲婷婷综合色高清在线| 亚洲免费观看视频| 亚洲一区二区在线视频| 午夜精品福利一区二区三区蜜桃| 欧美欧美欧美欧美| 91最新地址在线播放| 欧洲av一区二区嗯嗯嗯啊| 色婷婷国产精品| 欧美乱熟臀69xxxxxx| 欧美大胆人体bbbb| 国产精品久久一卡二卡| 国产精品久久久久久久裸模| 一区二区三区四区不卡视频| 日本视频在线一区| 国产精品2024| 欧美日韩国产不卡| 久久综合五月天婷婷伊人| 亚洲欧美在线观看| 日本欧美肥老太交大片| 成人免费毛片aaaaa**| 99精品欧美一区二区蜜桃免费 | 日韩国产欧美视频| 国产精品一区二区你懂的| 欧美日韩国产首页| 国产精品美女久久久久高潮| 青娱乐精品视频在线|