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

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

?? kdmeng.c

?? 小型游戲引擎
?? C
?? 第 1 頁 / 共 3 頁
字號:
		frqeff[chanum] = 0; frqoff[chanum] = 0;		voleff[chanum] = 0; voloff[chanum] = 0;		paneff[chanum] = 0; panoff[chanum] = 0;		return;	}}void getsndbufinfo(long *dasndoffsplc, long *dasndbufsiz){	*dasndoffsplc = sndoffsplc;	*dasndbufsiz = (sndbufsiz<<(bytespersample+numspeakers-2));}void preparesndbuf(void){	long i, j, k, voloffs1, voloffs2, *stempptr;	long daswave, dasinc, dacnt;	long ox, oy, x, y;	//char *sndptr, v1, v2;	kdmintinprep++;	if (kdminprep != 0) return;	if ((digistat == 1) || (digistat == 2))	{		i = kinp(dmacheckport); i += (kinp(dmacheckport)<<8);		if (i <= dmachecksiz)		{			i = ((i > 32) && (i <= (dmachecksiz>>1)+32));			if ((sndoffsplc<(sndoffsplc^sndoffsxor)) == i) kdmintinprep++;		}	}	kdminprep = 1;	while (kdmintinprep > 0)	{		sndoffsplc ^= sndoffsxor;		for (i=NUMCHANNELS-1;i>=0;i--)			if ((splc[i] < 0) && (chanstat[i] > 0))			{				if (chanstat[i] == 1)				{					ox = xplc[i];					oy = yplc[i];				}				else				{					stempptr = (long *)xplc[i]; ox = *stempptr;					stempptr = (long *)yplc[i]; oy = *stempptr;				}				ox -= globposx; oy -= globposy;				x = dmulscale28(oy,globxvect,-ox,globyvect);				y = dmulscale28(ox,globxvect,oy,globyvect);				if ((klabs(x) >= 32768) || (klabs(y) >= 32768))					{ splc[i] = 0; continue; }				j = vdist[i];				vdist[i] = msqrtasm(x*x+y*y);				if (j)				{					j = (sinc[i]<<10)/(min(max(vdist[i]-j,-768),768)+1024)-sinc[i];					sincoffs[i] = ((sincoffs[i]*7+j)>>3);				}				voloffs1 = min((vol[i]<<22)/(((x+1536)*(x+1536)+y*y)+1),255);				voloffs2 = min((vol[i]<<22)/(((x-1536)*(x-1536)+y*y)+1),255);				if (numspeakers == 1)					calcvolookupmono(FP_OFF(volookup)+(i<<(9+2)),-(voloffs1+voloffs2)<<6,(voloffs1+voloffs2)>>1);				else					calcvolookupstereo(FP_OFF(volookup)+(i<<(9+2)),-(voloffs1<<7),voloffs1,-(voloffs2<<7),voloffs2);			}		for(dacnt=0;dacnt<sndbufsiz;dacnt+=bytespertic)		{			if (musicstatus > 0)    //Gets here 120 times/second			{				while ((notecnt < numnotes) && (timecount >= nttime[notecnt]))				{					j = trinst[nttrack[notecnt]];					k = mulscale24(frqtable[ntfreq[notecnt]],finetune[j]+748);					if (ntvol1[notecnt] == 0)   //Note off					{						for(i=NUMCHANNELS-1;i>=0;i--)							if (splc[i] < 0)								if (swavenum[i] == j)									if (sinc[i] == k)										splc[i] = 0;					}					else                        //Note on						startwave(j,k,ntvol1[notecnt],ntvol2[notecnt],ntfrqeff[notecnt],ntvoleff[notecnt],ntpaneff[notecnt]);					notecnt++;					if (notecnt >= numnotes)						if (musicrepeat > 0)							notecnt = 0, timecount = nttime[0];				}				timecount++;			}			for(i=NUMCHANNELS-1;i>=0;i--)			{				if (splc[i] >= 0) continue;				dasinc = sinc[i]+sincoffs[i];				if (frqeff[i] != 0)				{					dasinc = mulscale16(dasinc,eff[frqeff[i]-1][frqoff[i]]);					frqoff[i]++; if (frqoff[i] >= 256) frqeff[i] = 0;				}				if ((voleff[i]) || (paneff[i]))				{					voloffs1 = svol1[i];					voloffs2 = svol2[i];					if (voleff[i])					{						voloffs1 = mulscale16(voloffs1,eff[voleff[i]-1][voloff[i]]);						voloffs2 = mulscale16(voloffs2,eff[voleff[i]-1][voloff[i]]);						voloff[i]++; if (voloff[i] >= 256) voleff[i] = 0;					}					if (numspeakers == 1)						calcvolookupmono(FP_OFF(volookup)+(i<<(9+2)),-(voloffs1+voloffs2)<<6,(voloffs1+voloffs2)>>1);					else					{						if (paneff[i])						{							voloffs1 = mulscale16(voloffs1,131072-eff[paneff[i]-1][panoff[i]]);							voloffs2 = mulscale16(voloffs2,eff[paneff[i]-1][panoff[i]]);							panoff[i]++; if (panoff[i] >= 256) paneff[i] = 0;						}						calcvolookupstereo(FP_OFF(volookup)+(i<<(9+2)),-(voloffs1<<7),voloffs1,-(voloffs2<<7),voloffs2);					}				}				daswave = swavenum[i];				voloffs1 = FP_OFF(volookup)+(i<<(9+2));				kdmasm1 = repleng[daswave];				kdmasm2 = wavoffs[daswave]+repstart[daswave]+repleng[daswave];				kdmasm3 = (repleng[daswave]<<12); //repsplcoff				kdmasm4 = soff[i];				if (numspeakers == 1)				{					if (kdmqual == 0) splc[i] = monolocomb(0L,voloffs1,bytespertic,dasinc,splc[i],FP_OFF(stemp));									 else splc[i] = monohicomb(0L,voloffs1,bytespertic,dasinc,splc[i],FP_OFF(stemp));				}				else				{					if (kdmqual == 0) splc[i] = stereolocomb(0L,voloffs1,bytespertic,dasinc,splc[i],FP_OFF(stemp));									 else splc[i] = stereohicomb(0L,voloffs1,bytespertic,dasinc,splc[i],FP_OFF(stemp));				}				soff[i] = kdmasm4;				if ((kdmqual == 0) || (splc[i] >= 0)) continue;				if (numspeakers == 1)				{					if (kdmqual == 0) monolocomb(0L,voloffs1,samplerate>>11,dasinc,splc[i],FP_OFF(stemp)+(bytespertic<<2));									 else monohicomb(0L,voloffs1,samplerate>>11,dasinc,splc[i],FP_OFF(stemp)+(bytespertic<<2));				}				else				{					if (kdmqual == 0) stereolocomb(0L,voloffs1,samplerate>>11,dasinc,splc[i],FP_OFF(stemp)+(bytespertic<<3));									 else stereohicomb(0L,voloffs1,samplerate>>11,dasinc,splc[i],FP_OFF(stemp)+(bytespertic<<3));				}			}			if (kdmqual)			{				if (numspeakers == 1)				{					for(i=(samplerate>>11)-1;i>=0;i--)						stemp[i] += mulscale16(stemp[i+1024]-stemp[i],ramplookup[i]);					j = bytespertic; k = (samplerate>>11);					copybuf(&stemp[j],&stemp[1024],k);					clearbuf(&stemp[j],k,32768);				}				else				{					for(i=(samplerate>>11)-1;i>=0;i--)					{						j = (i<<1);						stemp[j+0] += mulscale16(stemp[j+1024]-stemp[j+0],ramplookup[i]);						stemp[j+1] += mulscale16(stemp[j+1025]-stemp[j+1],ramplookup[i]);					}					j = (bytespertic<<1); k = ((samplerate>>11)<<1);					copybuf(&stemp[j],&stemp[1024],k);					clearbuf(&stemp[j],k,32768);				}			}			if (numspeakers == 1)			{				if (bytespersample == 1)				{					if (digistat == 13) pcbound2char(bytespertic>>1,FP_OFF(stemp),sndoffsplc+dacnt);										  else bound2char(bytespertic>>1,FP_OFF(stemp),sndoffsplc+dacnt);				} else bound2short(bytespertic>>1,FP_OFF(stemp),sndoffsplc+(dacnt<<1));			}			else			{				if (bytespersample == 1) bound2char(bytespertic,FP_OFF(stemp),sndoffsplc+(dacnt<<1));										 else bound2short(bytespertic,FP_OFF(stemp),sndoffsplc+(dacnt<<2));			}		}		kdmintinprep--;	}	kdminprep = 0;}void wsay(char *dafilename, long dafreq, long volume1, long volume2){	unsigned char ch1, ch2;	long i, j, bad;	if (digistat == 0) return;	i = numwaves-1;	do	{		bad = 0;		j = 0;		while ((dafilename[j] > 0) && (j < 16))		{			ch1 = dafilename[j]; if ((ch1 >= 97) && (ch1 <= 123)) ch1 -= 32;			ch2 = instname[i][j]; if ((ch2 >= 97) && (ch2 <= 123)) ch2 -= 32;			if (ch1 != ch2) {bad = 1; break;}			j++;		}		if (bad == 0)		{			startwave(i,(dafreq*11025)/samplerate,volume1,volume2,0L,0L,0L);			return;		}		i--;	} while (i >= 0);}void loadwaves(char *wavename){	long fil, i, j, dawaversionum;	char filename[80];	strcpy(filename,wavename);	if (strstr(filename,".KWV") == 0) strcat(filename,".KWV");	if ((fil = kopen4load(filename,0)) == -1)		if (strcmp(filename,"WAVES.KWV") != 0)		{			strcpy(filename,"WAVES.KWV");			fil = kopen4load(filename,0);		}	totsndbytes = 0;	if (fil != -1)	{		if (strcmp(kwvname,filename) == 0) { kclose(fil); return; }		strcpy(kwvname,filename);		kread(fil,&dawaversionum,4);		if (dawaversionum != 0) { kclose(fil); return; }		kread(fil,&numwaves,4);		for(i=0;i<numwaves;i++)		{			kread(fil,&instname[i][0],16);			kread(fil,&wavleng[i],4);			kread(fil,&repstart[i],4);			kread(fil,&repleng[i],4);			kread(fil,&finetune[i],4);			wavoffs[i] = totsndbytes;			totsndbytes += wavleng[i];		}	}	else	{		dawaversionum = 0;		numwaves = 0;	}	for(i=numwaves;i<MAXWAVES;i++)	{		for(j=0;j<16;j++) instname[i][j] = 0;		wavoffs[i] = totsndbytes;		wavleng[i] = 0L;		repstart[i] = 0L;		repleng[i] = 0L;		finetune[i] = 0L;	}	if (snd == 0)	{		if ((snd = (char *)malloc(totsndbytes+2)) == 0)			{ printf("Not enough memory for digital music!\n"); exit(0); }	}	for(i=0;i<MAXWAVES;i++) wavoffs[i] += FP_OFF(snd);	if (fil != -1)	{		kread(fil,snd,totsndbytes);		kclose(fil);	}	snd[totsndbytes] = snd[totsndbytes+1] = 128;}int loadsong(char *filename){	long /*i,*/ fil;	if (musistat != 1) return(0);	musicoff();	filename = strupr(filename);	if (strstr(filename,".KDM") == 0) strcat(filename,".KDM");	if ((fil = kopen4load(filename,0)) == -1)	{		printf("I cannot load %s.\n",filename);		uninitsb();		return(-1);	}	kread(fil,&kdmversionum,4);	if (kdmversionum != 0) return(-2);	kread(fil,&numnotes,4);	kread(fil,&numtracks,4);	kread(fil,trinst,numtracks);	kread(fil,trquant,numtracks);	kread(fil,trvol1,numtracks);	kread(fil,trvol2,numtracks);	kread(fil,nttime,numnotes<<2);	kread(fil,nttrack,numnotes);	kread(fil,ntfreq,numnotes);	kread(fil,ntvol1,numnotes);	kread(fil,ntvol2,numnotes);	kread(fil,ntfrqeff,numnotes);	kread(fil,ntvoleff,numnotes);	kread(fil,ntpaneff,numnotes);	kclose(fil);	return(0);}void musicon(void){	if (musistat != 1)		return;	notecnt = 0;	timecount = nttime[notecnt];	musicrepeat = 1;	musicstatus = 1;}void musicoff(void){	long i;	musicstatus = 0;	for(i=0;i<NUMCHANNELS;i++)		splc[i] = 0;	musicrepeat = 0;	timecount = 0;	notecnt = 0;}kdmconvalloc32 (long size){#ifdef PLATFORM_DOS		union REGS r;	r.x.eax = 0x0100;           //DPMI allocate DOS memory	r.x.ebx = ((size+15)>>4);   //Number of paragraphs requested	int386(0x31,&r,&r);	if (r.x.cflag != 0)         //Failed		return ((long)0);	return ((long)((r.x.eax&0xffff)<<4));   //Returns full 32-bit offset#else	fprintf (stderr, "%s line %d; kdmconvalloc32() called\n", __FILE__,		__LINE__);#endif	}installbikdmhandlers(){#ifdef PLATFORM_DOS		union REGS r;	struct SREGS sr;	long lowp;	void far *fh;		//Get old protected mode handler	r.x.eax = 0x3500+kdmvect;   /* DOS get vector (INT 0Ch) */	sr.ds = sr.es = 0;	int386x(0x21,&r,&r,&sr);	kdmpsel = (unsigned short)sr.es;	kdmpoff = r.x.ebx;		//Get old real mode handler	r.x.eax = 0x0200;   /* DPMI get real mode vector */	r.h.bl = kdmvect;	int386(0x31,&r,&r);	kdmrseg = (unsigned short)r.x.ecx;	kdmroff = (unsigned short)r.x.edx;		//Allocate memory in low memory to store real mode handler	if ((lowp = kdmconvalloc32(KDMCODEBYTES)) == 0)	{		printf("Can't allocate conventional memory.\n");		exit;	}	memcpy((void *)lowp,(void *)pcrealbuffer,KDMCODEBYTES);		//Set new protected mode handler	r.x.eax = 0x2500+kdmvect;   /* DOS set vector (INT 0Ch) */	fh = (void far *)pctimerhandler;	r.x.edx = FP_OFF(fh);	sr.ds = FP_SEG(fh);      //DS:EDX == &handler	sr.es = 0;	int386x(0x21,&r,&r,&sr);		//Set new real mode handler (must be after setting protected mode)	r.x.eax = 0x0201;	r.h.bl = kdmvect;              //CX:DX == real mode &handler	r.x.ecx = ((lowp>>4)&0xffff);  //D32realseg	r.x.edx = 0L;                  //D32realoff	int386(0x31,&r,&r);#else	fprintf(stderr,"%s line %d; installbikdmhandlers() called\n", __FILE__,		__LINE__);#endif	}uninstallbikdmhandlers(){#ifdef PLATFORM_DOS		union REGS r;	struct SREGS sr;		//restore old protected mode handler	r.x.eax = 0x2500+kdmvect;   /* DOS set vector (INT 0Ch) */	r.x.edx = kdmpoff;	sr.ds = kdmpsel;    /* DS:EDX == &handler */	sr.es = 0;	int386x(0x21,&r,&r,&sr);		//restore old real mode handler	r.x.eax = 0x0201;   /* DPMI set real mode vector */	r.h.bl = kdmvect;	r.x.ecx = (unsigned long)kdmrseg;     //CX:DX == real mode &handler	r.x.edx = (unsigned long)kdmroff;	int386(0x31,&r,&r);#else	fprintf(stderr,"%s line %d; uninstallbikdmhandlers() called\n",		__FILE__, __LINE__);#endif	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
另类人妖一区二区av| 精品国产伦一区二区三区观看体验 | 欧美一区二区视频在线观看2020 | 欧美一级免费大片| 亚洲精品国产第一综合99久久| 国产成人av一区二区三区在线观看| 色94色欧美sute亚洲13| 国产午夜亚洲精品午夜鲁丝片| 免费在线看一区| 91精品国产91久久久久久一区二区 | 日本高清不卡一区| 综合电影一区二区三区| 成人综合婷婷国产精品久久免费| 欧美精品一区二区三区视频| 夜夜嗨av一区二区三区| 99精品视频一区二区| 国产精品久久久久四虎| 国产成人超碰人人澡人人澡| 久久久一区二区三区捆绑**| www.色综合.com| 国产精品网站一区| 成人美女视频在线看| 亚洲欧美日韩一区| 在线中文字幕一区| 午夜影视日本亚洲欧洲精品| 欧美三级在线视频| 日产国产欧美视频一区精品| 日本大香伊一区二区三区| 亚洲国产aⅴ成人精品无吗| 欧美日韩一区二区在线视频| 欧美a一区二区| 精品久久久久久久人人人人传媒 | 91精品国产综合久久国产大片| 天天综合色天天综合| 日韩一区二区三区视频在线| 精品在线播放午夜| 国产精品色噜噜| 一本久久综合亚洲鲁鲁五月天 | 国产激情视频一区二区三区欧美| 欧美日韩你懂得| 久久 天天综合| 亚洲国产精华液网站w| 色综合久久久久久久久久久| 性做久久久久久| 精品国产麻豆免费人成网站| 99久久婷婷国产综合精品| 国产欧美日韩麻豆91| 在线亚洲高清视频| 美女视频黄久久| 亚洲欧洲性图库| 91黄色免费观看| 久色婷婷小香蕉久久| 国产精品蜜臀av| 在线不卡免费欧美| 99久久精品国产麻豆演员表| 男人的天堂亚洲一区| 国产精品少妇自拍| 欧美成人三级在线| 91搞黄在线观看| 欧美aaaaa成人免费观看视频| 日韩伦理免费电影| 欧美va在线播放| 91福利区一区二区三区| 国产一区二区三区视频在线播放| 亚洲视频免费观看| 久久久久成人黄色影片| 欧美日韩久久久一区| 国产成人在线影院| 精品一区免费av| 日韩精品亚洲一区| 中文字幕字幕中文在线中不卡视频| 欧美tickle裸体挠脚心vk| 欧美亚洲免费在线一区| 久久国产麻豆精品| 五月综合激情日本mⅴ| 国产精品久久久久久久久搜平片| 91精品国产日韩91久久久久久| www.欧美日韩国产在线| 久久av资源站| 日日夜夜精品视频天天综合网| 国产精品卡一卡二| 久久午夜电影网| 日韩无一区二区| 欧美久久久影院| 欧美日韩激情在线| 色国产精品一区在线观看| 国产福利电影一区二区三区| 免费xxxx性欧美18vr| 亚洲永久精品国产| 一区二区三区在线播| 综合久久给合久久狠狠狠97色| 国产欧美精品一区二区三区四区| 精品乱人伦小说| 日韩三级伦理片妻子的秘密按摩| 成人免费毛片片v| 韩国v欧美v亚洲v日本v| 亚洲国产毛片aaaaa无费看| 亚洲欧美另类久久久精品| 国产亚洲精久久久久久| 国产欧美精品一区二区三区四区 | 亚洲人成在线观看一区二区| 国产精品网站导航| 亚洲最大色网站| 日韩精品三区四区| 国产精品一线二线三线| www.久久久久久久久| 欧美欧美午夜aⅴ在线观看| 精品日韩在线观看| 中文字幕一区二区5566日韩| 一区二区三区美女视频| 日本不卡高清视频| 国产mv日韩mv欧美| 欧美日韩国产精品成人| 久久综合九色欧美综合狠狠| 亚洲欧洲成人自拍| 日本中文一区二区三区| 粉嫩av一区二区三区粉嫩| 欧美伊人久久大香线蕉综合69| 日韩一区二区在线观看| 日韩一区有码在线| 日韩精品高清不卡| 成人a区在线观看| 在线播放欧美女士性生活| 国产亚洲精久久久久久| 亚洲大片在线观看| 国产成人精品三级麻豆| 欧美日韩国产美| 国产精品乱码一区二区三区软件| 亚洲aaa精品| www.av亚洲| 精品国产免费久久| 性感美女久久精品| 成人听书哪个软件好| 717成人午夜免费福利电影| 国产精品沙发午睡系列990531| 青草国产精品久久久久久| www.亚洲色图| www精品美女久久久tv| 一区二区三区免费看视频| 国产在线精品一区二区三区不卡| 欧美在线观看一区| 国产精品毛片久久久久久| 精品一区二区国语对白| 欧美在线视频日韩| 国产精品国产三级国产普通话三级 | 91福利国产成人精品照片| 久久美女高清视频| 老司机免费视频一区二区| 在线影院国内精品| 亚洲欧美区自拍先锋| 福利一区福利二区| 精品99999| 另类小说视频一区二区| 欧美一区二区三区免费观看视频| 亚洲精品久久7777| 91色在线porny| 国产精品久久久久国产精品日日| 国产乱一区二区| 91精品视频网| 婷婷成人综合网| 在线免费观看日本一区| 亚洲欧美日韩国产成人精品影院| 成人精品视频网站| 亚洲国产岛国毛片在线| 精品一区二区免费视频| 精品国产乱码久久久久久图片| 蜜桃视频一区二区三区在线观看| 欧美日韩亚洲综合在线| 亚洲成av人在线观看| 在线观看日韩毛片| 亚洲伊人色欲综合网| 欧美日韩精品三区| 午夜精品福利一区二区蜜股av| 欧美视频在线不卡| 午夜视频在线观看一区| 欧美日韩精品一区二区三区| 视频一区二区欧美| 337p亚洲精品色噜噜| 日韩av午夜在线观看| 日韩三级.com| 国产精品系列在线播放| 国产喷白浆一区二区三区| 成人精品一区二区三区中文字幕| 亚洲丝袜自拍清纯另类| 一本大道综合伊人精品热热| 亚洲午夜私人影院| 91麻豆精品国产91久久久久| 免费成人美女在线观看| 久久色.com| 国产99久久久国产精品免费看| 亚洲欧洲国产专区| 欧美三级在线播放| 九九视频精品免费| 国产精品毛片久久久久久久| 91免费版在线| 日韩成人一级大片| 久久久不卡影院| 91亚洲国产成人精品一区二区三| 亚洲一卡二卡三卡四卡五卡| 日韩欧美一级二级|