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

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

?? game.c

?? 小型游戲引擎
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
	curipos[numinterpolations] = posptr;	oldipos[numinterpolations] = *posptr;	numinterpolations++;}void stopinterpolation(long *posptr){	long i;	for(i=numinterpolations-1;i>=startofdynamicinterpolations;i--)		if (curipos[i] == posptr)		{			numinterpolations--;			oldipos[i] = oldipos[numinterpolations];			bakipos[i] = bakipos[numinterpolations];			curipos[i] = curipos[numinterpolations];		}}void updateinterpolations()  /* Stick at beginning of domovethings */{	long i;	for(i=numinterpolations-1;i>=0;i--) oldipos[i] = *curipos[i];}void dointerpolations()       /* Stick at beginning of drawscreen */{	long i, j, odelta, ndelta;	ndelta = 0; j = 0;	for(i=numinterpolations-1;i>=0;i--)	{		bakipos[i] = *curipos[i];		odelta = ndelta; ndelta = (*curipos[i])-oldipos[i];		if (odelta != ndelta) j = mulscale16(ndelta,smoothratio);		*curipos[i] = oldipos[i]+j;	}}void restoreinterpolations()  /* Stick at end of drawscreen */{	long i;	for(i=numinterpolations-1;i>=0;i--) *curipos[i] = bakipos[i];}void searchmap(short startsector){	long i, j, dasect, splc, send, startwall, endwall;	short dapic;	walltype *wal;	if ((startsector < 0) || (startsector >= numsectors)) return;	for(i=0;i<(MAXSECTORS>>3);i++) show2dsector[i] = 0;	for(i=0;i<(MAXWALLS>>3);i++) show2dwall[i] = 0;	for(i=0;i<(MAXSPRITES>>3);i++) show2dsprite[i] = 0;	automapping = 0;		/* Search your area recursively & set all show2dsector/show2dwalls */	tempshort[0] = startsector;	show2dsector[startsector>>3] |= (1<<(startsector&7));	dapic = sector[startsector].ceilingpicnum;	if (waloff[dapic] == 0) loadtile(dapic);	dapic = sector[startsector].floorpicnum;	if (waloff[dapic] == 0) loadtile(dapic);	for(splc=0,send=1;splc<send;splc++)	{		dasect = tempshort[splc];		startwall = sector[dasect].wallptr;		endwall = startwall + sector[dasect].wallnum;		for(i=startwall,wal=&wall[startwall];i<endwall;i++,wal++)		{			show2dwall[i>>3] |= (1<<(i&7));			dapic = wall[i].picnum;			if (waloff[dapic] == 0) loadtile(dapic);			dapic = wall[i].overpicnum;			if (((dapic&0xfffff000) == 0) && (waloff[dapic] == 0)) loadtile(dapic);			j = wal->nextsector;			if ((j >= 0) && ((show2dsector[j>>3]&(1<<(j&7))) == 0))			{				show2dsector[j>>3] |= (1<<(j&7));				dapic = sector[j].ceilingpicnum;				if (waloff[dapic] == 0) loadtile(dapic);				dapic = sector[j].floorpicnum;				if (waloff[dapic] == 0) loadtile(dapic);				tempshort[send++] = (short)j;			}		}		for(i=headspritesect[dasect];i>=0;i=nextspritesect[i])		{			show2dsprite[i>>3] |= (1<<(i&7));			dapic = sprite[i].picnum;			if (waloff[dapic] == 0) loadtile(dapic);		}	}}void prepareboard(char *daboardfilename){	short startwall, endwall, dasector;	/*long i, j, k, s, dax, day, daz, dax2, day2;*/	long i, j, k=0, s, dax, day, dax2, day2;	getmessageleng = 0;	typemessageleng = 0;	randomseed = 17L;		/* Clear (do)animation's list */	animatecnt = 0;	typemode = 0;	locselectedgun = 0;	locselectedgun2 = 0;	if (loadboard(daboardfilename,&posx[0],&posy[0],&posz[0],&ang[0],&cursectnum[0]) == -1)	{		musicoff();		uninitmultiplayers();		uninittimer();		uninitkeys();		uninitengine();		uninitsb();		uninitgroupfile();		setvmode(0x3);        /* Set back to text mode */		printf("Board not found\n");		exit(0);	}	setup3dscreen();	for(i=0;i<MAXPLAYERS;i++)	{		posx[i] = posx[0];		posy[i] = posy[0];		posz[i] = posz[0];		ang[i] = ang[0];		cursectnum[i] = cursectnum[0];		ocursectnum[i] = cursectnum[0];		horiz[i] = 100;		lastchaingun[i] = 0;		health[i] = 100;		dimensionmode[i] = 3;		numbombs[i] = 0;		numgrabbers[i] = 0;		nummissiles[i] = 0;		flytime[i] = 0L;		zoom[i] = 768L;		deaths[i] = 0L;		playersprite[i] = -1;		screensize = xdim;		oposx[i] = posx[0];		oposy[i] = posy[0];		oposz[i] = posz[0];		ohoriz[i] = horiz[0];		ozoom[i] = zoom[0];		oang[i] = ang[0];	}	myx = omyx = posx[myconnectindex];	myy = omyy = posy[myconnectindex];	myz = omyz = posz[myconnectindex];	myhoriz = omyhoriz = horiz[myconnectindex];	myang = omyang = ang[myconnectindex];	mycursectnum = cursectnum[myconnectindex];	myzvel = 0;	movefifoplc = fakemovefifoplc = 0;	syncvalhead = 0L; othersyncvalhead = 0L;	syncvaltottail = 0L; syncvaltail = 0L;	numinterpolations = 0;	clearbufbyte(&oloc,sizeof(input),0L);	for(i=0;i<MAXPLAYERS;i++)	{		movefifoend[i] = 0;		clearbufbyte(&ffsync[i],sizeof(input),0L);		clearbufbyte(&_sync[i],sizeof(input),0L);		clearbufbyte(&osync[i],sizeof(input),0L);	}		/* Scan sector tags */	for(i=0;i<MAXPLAYERS;i++)	{		waterfountainwall[i] = -1;		waterfountaincnt[i] = 0;	}	slimesoundcnt[i] = 0;	warpsectorcnt = 0;      /* Make a list of warping sectors */	xpanningsectorcnt = 0;  /* Make a list of wall x-panning sectors */	floorpanningcnt = 0;    /* Make a list of slime sectors */	dragsectorcnt = 0;      /* Make a list of moving platforms */	swingcnt = 0;           /* Make a list of swinging doors */	revolvecnt = 0;         /* Make a list of revolving doors */	subwaytrackcnt = 0;     /* Make a list of subways */	floormirrorcnt = 0;	tilesizx[FLOORMIRROR] = 0;	tilesizy[FLOORMIRROR] = 0;	for(i=0;i<numsectors;i++)	{		switch(sector[i].lotag)		{			case 4:				floorpanninglist[floorpanningcnt++] = i;				break;			case 10:				warpsectorlist[warpsectorcnt++] = i;				break;			case 11:				xpanningsectorlist[xpanningsectorcnt++] = i;				break;			case 12:				dasector = i;				dax = 0x7fffffff;				day = 0x7fffffff;				dax2 = 0x80000000;				day2 = 0x80000000;				startwall = sector[i].wallptr;				endwall = startwall+sector[i].wallnum;				for(j=startwall;j<endwall;j++)				{					if (wall[j].x < dax) dax = wall[j].x;					if (wall[j].y < day) day = wall[j].y;					if (wall[j].x > dax2) dax2 = wall[j].x;					if (wall[j].y > day2) day2 = wall[j].y;					if (wall[j].lotag == 3) k = j;				}				if (wall[k].x == dax) dragxdir[dragsectorcnt] = -16;				if (wall[k].y == day) dragydir[dragsectorcnt] = -16;				if (wall[k].x == dax2) dragxdir[dragsectorcnt] = 16;				if (wall[k].y == day2) dragydir[dragsectorcnt] = 16;				dasector = wall[startwall].nextsector;				dragx1[dragsectorcnt] = 0x7fffffff;				dragy1[dragsectorcnt] = 0x7fffffff;				dragx2[dragsectorcnt] = 0x80000000;				dragy2[dragsectorcnt] = 0x80000000;				startwall = sector[dasector].wallptr;				endwall = startwall+sector[dasector].wallnum;				for(j=startwall;j<endwall;j++)				{					if (wall[j].x < dragx1[dragsectorcnt]) dragx1[dragsectorcnt] = wall[j].x;					if (wall[j].y < dragy1[dragsectorcnt]) dragy1[dragsectorcnt] = wall[j].y;					if (wall[j].x > dragx2[dragsectorcnt]) dragx2[dragsectorcnt] = wall[j].x;					if (wall[j].y > dragy2[dragsectorcnt]) dragy2[dragsectorcnt] = wall[j].y;					setinterpolation(&sector[dasector].floorz);					setinterpolation(&wall[j].x);					setinterpolation(&wall[j].y);					setinterpolation(&wall[wall[j].nextwall].x);					setinterpolation(&wall[wall[j].nextwall].y);				}				dragx1[dragsectorcnt] += (wall[sector[i].wallptr].x-dax);				dragy1[dragsectorcnt] += (wall[sector[i].wallptr].y-day);				dragx2[dragsectorcnt] -= (dax2-wall[sector[i].wallptr].x);				dragy2[dragsectorcnt] -= (day2-wall[sector[i].wallptr].y);				dragfloorz[dragsectorcnt] = sector[i].floorz;				dragsectorlist[dragsectorcnt++] = i;				break;			case 13:				startwall = sector[i].wallptr;				endwall = startwall+sector[i].wallnum;				for(j=startwall;j<endwall;j++)				{					if (wall[j].lotag == 4)					{						k = wall[wall[wall[wall[j].point2].point2].point2].point2;						if ((wall[j].x == wall[k].x) && (wall[j].y == wall[k].y))						{     /* Door opens counterclockwise */							swingwall[swingcnt][0] = j;							swingwall[swingcnt][1] = wall[j].point2;							swingwall[swingcnt][2] = wall[wall[j].point2].point2;							swingwall[swingcnt][3] = wall[wall[wall[j].point2].point2].point2;							swingangopen[swingcnt] = 1536;							swingangclosed[swingcnt] = 0;							swingangopendir[swingcnt] = -1;						}						else						{     /* Door opens clockwise */							swingwall[swingcnt][0] = wall[j].point2;							swingwall[swingcnt][1] = j;							swingwall[swingcnt][2] = lastwall(j);							swingwall[swingcnt][3] = lastwall(swingwall[swingcnt][2]);							swingwall[swingcnt][4] = lastwall(swingwall[swingcnt][3]);							swingangopen[swingcnt] = 512;							swingangclosed[swingcnt] = 0;							swingangopendir[swingcnt] = 1;						}						for(k=0;k<4;k++)						{							swingx[swingcnt][k] = wall[swingwall[swingcnt][k]].x;							swingy[swingcnt][k] = wall[swingwall[swingcnt][k]].y;						}						swingsector[swingcnt] = i;						swingang[swingcnt] = swingangclosed[swingcnt];						swinganginc[swingcnt] = 0;						swingcnt++;					}				}				break;			case 14:				startwall = sector[i].wallptr;				endwall = startwall+sector[i].wallnum;				dax = 0L;				day = 0L;				for(j=startwall;j<endwall;j++)				{					dax += wall[j].x;					day += wall[j].y;				}				revolvepivotx[revolvecnt] = dax / (endwall-startwall);				revolvepivoty[revolvecnt] = day / (endwall-startwall);				k = 0;				for(j=startwall;j<endwall;j++)				{					revolvex[revolvecnt][k] = wall[j].x;					revolvey[revolvecnt][k] = wall[j].y;					setinterpolation(&wall[j].x);					setinterpolation(&wall[j].y);					setinterpolation(&wall[wall[j].nextwall].x);					setinterpolation(&wall[wall[j].nextwall].y);					k++;				}				revolvesector[revolvecnt] = i;				revolveang[revolvecnt] = 0;				revolvecnt++;				break;			case 15:				subwaytracksector[subwaytrackcnt][0] = i;				subwaystopcnt[subwaytrackcnt] = 0;				dax = 0x7fffffff;				day = 0x7fffffff;				dax2 = 0x80000000;				day2 = 0x80000000;				startwall = sector[i].wallptr;				endwall = startwall+sector[i].wallnum;				for(j=startwall;j<endwall;j++)				{					if (wall[j].x < dax) dax = wall[j].x;					if (wall[j].y < day) day = wall[j].y;					if (wall[j].x > dax2) dax2 = wall[j].x;					if (wall[j].y > day2) day2 = wall[j].y;				}				for(j=startwall;j<endwall;j++)				{					if (wall[j].lotag == 5)					{						if ((wall[j].x > dax) && (wall[j].y > day) && (wall[j].x < dax2) && (wall[j].y < day2))						{							subwayx[subwaytrackcnt] = wall[j].x;						}						else						{							subwaystop[subwaytrackcnt][subwaystopcnt[subwaytrackcnt]] = wall[j].x;							subwaystopcnt[subwaytrackcnt]++;						}					}				}				for(j=1;j<subwaystopcnt[subwaytrackcnt];j++)					for(k=0;k<j;k++)						if (subwaystop[subwaytrackcnt][j] < subwaystop[subwaytrackcnt][k])						{							s = subwaystop[subwaytrackcnt][j];							subwaystop[subwaytrackcnt][j] = subwaystop[subwaytrackcnt][k];							subwaystop[subwaytrackcnt][k] = s;						}				subwaygoalstop[subwaytrackcnt] = 0;				for(j=0;j<subwaystopcnt[subwaytrackcnt];j++)					if (klabs(subwaystop[subwaytrackcnt][j]-subwayx[subwaytrackcnt]) < klabs(subwaystop[subwaytrackcnt][subwaygoalstop[subwaytrackcnt]]-subwayx[subwaytrackcnt]))						subwaygoalstop[subwaytrackcnt] = j;				subwaytrackx1[subwaytrackcnt] = dax;				subwaytracky1[subwaytrackcnt] = day;				subwaytrackx2[subwaytrackcnt] = dax2;				subwaytracky2[subwaytrackcnt] = day2;				subwaynumsectors[subwaytrackcnt] = 1;				for(j=0;j<numsectors;j++)					if (j != i)					{						startwall = sector[j].wallptr;						if (wall[startwall].x > subwaytrackx1[subwaytrackcnt])							if (wall[startwall].y > subwaytracky1[subwaytrackcnt])								if (wall[startwall].x < subwaytrackx2[subwaytrackcnt])									if (wall[startwall].y < subwaytracky2[subwaytrackcnt])									{										if (sector[j].floorz != sector[i].floorz)										{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人夜色视频网站在线观看| 一个色综合网站| 日本精品免费观看高清观看| 丝袜美腿亚洲综合| 欧美国产1区2区| 欧美一区三区二区| 成人国产精品免费观看动漫| 日韩av电影一区| 一区二区三区免费网站| 国产夜色精品一区二区av| 欧美日韩中文国产| 一本大道av一区二区在线播放 | 丝袜美腿高跟呻吟高潮一区| 欧美国产日韩精品免费观看| 91精品视频网| 欧美午夜视频网站| 国产精品主播直播| 久久福利视频一区二区| 亚洲国产中文字幕| 亚洲欧美日本韩国| 国产精品美女久久久久久2018| 日韩精品一区二区三区在线| 欧美伊人久久久久久久久影院 | 91精品国产综合久久精品app| 99re66热这里只有精品3直播 | 成人av资源在线| 国产一区二区毛片| 激情综合网激情| 日韩电影网1区2区| 亚洲一区二区精品视频| 夜夜精品浪潮av一区二区三区| 国产精品私人影院| 国产午夜精品福利| 国产视频一区二区在线| 久久综合成人精品亚洲另类欧美| 日韩欧美精品三级| 日韩视频在线你懂得| 制服丝袜成人动漫| 欧美一级片在线观看| 日韩三级中文字幕| 精品国产免费久久| 久久香蕉国产线看观看99| 精品久久久久久久一区二区蜜臀| 欧美r级在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩精品一区二区三区在线播放| 日韩精品综合一本久道在线视频| 日韩欧美你懂的| 久久美女艺术照精彩视频福利播放| 精品国产污网站| 久久久.com| 中文字幕一区二区5566日韩| 1024成人网| 一区二区三区四区在线| 亚洲一二三区不卡| 六月丁香婷婷色狠狠久久| 精品在线观看视频| 国产一区二区三区国产| 高清国产一区二区三区| av男人天堂一区| 在线观看亚洲精品视频| 3d成人动漫网站| 欧美不卡123| 国产精品视频一二三区| 亚洲少妇中出一区| 日日夜夜精品视频免费| 久久99国内精品| a级高清视频欧美日韩| 一本一本大道香蕉久在线精品| 欧美日韩一区二区在线观看视频| 欧美疯狂做受xxxx富婆| 久久亚洲欧美国产精品乐播| 国产精品天天摸av网| 亚洲国产精品一区二区尤物区| 日本成人中文字幕在线视频| 国产精品白丝jk白祙喷水网站| 一本一道久久a久久精品| 欧美疯狂性受xxxxx喷水图片| 久久色在线观看| 亚洲男帅同性gay1069| 日本视频一区二区三区| 国产福利91精品一区二区三区| 91亚洲午夜精品久久久久久| 在线91免费看| 国产精品丝袜一区| 免费欧美在线视频| 91浏览器在线视频| 欧美tickle裸体挠脚心vk| 亚洲免费伊人电影| 精品伊人久久久久7777人| 91论坛在线播放| 久久奇米777| 日韩二区三区四区| 91在线国产观看| 久久在线观看免费| 日韩有码一区二区三区| 成人avav在线| 精品美女被调教视频大全网站| 一区二区三区色| 成人爱爱电影网址| 精品sm在线观看| 亚洲成人动漫在线免费观看| 国产成人免费视频网站| 欧美成人一区二区三区片免费| 亚洲欧美视频在线观看| 国产精品99久久久久久宅男| 欧美肥胖老妇做爰| 亚洲欧美日韩在线播放| 国产乱码精品1区2区3区| 欧美精品三级日韩久久| 综合激情成人伊人| 成人免费观看男女羞羞视频| 日韩精品综合一本久道在线视频| 亚洲一区二区三区视频在线 | 亚洲国产精品久久人人爱| 成人小视频免费观看| 欧美www视频| 日韩激情一二三区| 欧美三级电影一区| 亚洲一区在线视频观看| 99久久久无码国产精品| 日本一区二区三级电影在线观看 | 成人精品一区二区三区四区| 精品电影一区二区| 久久99精品久久久久久国产越南| 欧美人妇做爰xxxⅹ性高电影 | 一区二区三区av电影| 99久久精品99国产精品| 国产精品三级视频| 成人h精品动漫一区二区三区| 国产三级一区二区三区| 激情六月婷婷久久| 欧美成人福利视频| 国产一区二区三区在线观看免费 | 日本韩国一区二区三区| 亚洲免费观看高清完整版在线观看 | 中文字幕免费观看一区| 国产乱对白刺激视频不卡| 欧美大片一区二区三区| 激情欧美一区二区三区在线观看| 精品国产一区二区三区不卡| 日本在线不卡视频| 日韩女优制服丝袜电影| 韩国精品一区二区| 久久久蜜桃精品| 成人av网在线| 樱花影视一区二区| 欧美午夜精品一区二区蜜桃| 亚洲妇女屁股眼交7| 欧美精品亚洲一区二区在线播放| 日韩成人精品视频| 2020国产精品久久精品美国| 国产另类ts人妖一区二区| 欧美国产精品一区二区| 91丨porny丨国产入口| 亚洲在线中文字幕| 日韩一二三区视频| 国产乱码一区二区三区| 成人欧美一区二区三区| 欧美色网站导航| 久久99精品久久久久久国产越南| 国产欧美日韩综合精品一区二区| 欧美日韩一二区| 视频一区二区欧美| 久久久一区二区三区捆绑**| 成人91在线观看| 亚洲成人一区在线| 久久这里只有精品首页| 一本到高清视频免费精品| 日本成人在线看| 中文字幕一区二区三区四区不卡| 91猫先生在线| 精久久久久久久久久久| 国产精品毛片久久久久久| 欧美日韩综合在线| 国产麻豆日韩欧美久久| 亚洲美女精品一区| 日韩久久免费av| 91麻豆国产自产在线观看| 看电视剧不卡顿的网站| 国产精品久久久久影视| 欧美男男青年gay1069videost| 毛片一区二区三区| 亚洲日本在线a| 欧美刺激午夜性久久久久久久| 99re视频精品| 黄网站免费久久| 一区二区三区在线观看欧美 | 国产欧美一区二区精品性| 日本电影亚洲天堂一区| 老司机精品视频导航| 依依成人综合视频| 日本一区二区成人在线| 日韩午夜精品电影| 欧美在线你懂的| 国产成人在线视频网站| 午夜精品久久久久久| 中文字幕成人在线观看| 欧美一区二区三区在| 欧美色综合天天久久综合精品|