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

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

?? soundsrv.c

?? The source code of Doom legacy for windows
?? C
?? 第 1 頁 / 共 2 頁
字號:
            sdr = dr ^ 0xfff8000;            *bothout++ = (((sdr + sdl) / 2) >> 8);        }        leftout += step;        rightout += step;    }    return 1;}static struct timeval           last={0,0};//static struct timeval         now;static struct timezone          whocares;void updatesounds(void){    mix();    I_SubmitOutputBuffer(mixbuffer, SAMPLECOUNT);}intaddsfx( int           sfxid,  int           volume,  int           step,  int           seperation ){    static unsigned short       handlenums = 0;     int         i;    int         rc = -1;        int         oldest = mytime;    int         oldestnum = 0;    int         slot;    int         rightvol;    int         leftvol;    // play these sound effects    //  only one at a time    if ( sfxid == sfx_sawup         || sfxid == sfx_sawidl         || sfxid == sfx_sawful         || sfxid == sfx_sawhit         || sfxid == sfx_stnmov         || sfxid == sfx_pistol )    {        for (i=0 ; i<8 ; i++)        {            if (channels[i] && channelids[i] == sfxid)            {                channels[i] = 0;                break;            }        }    }    for (i=0 ; i<8 && channels[i] ; i++)    {        if (channelstart[i] < oldest)        {            oldestnum = i;            oldest = channelstart[i];        }    }    if (i == 8)        slot = oldestnum;    else        slot = i;    channels[slot] = (unsigned char *) S_sfx[sfxid].data;    channelsend[slot] = channels[slot] + lengths[sfxid];    if (!handlenums)        handlenums = 100;        channelhandles[slot] = rc = handlenums++;    channelstep[slot] = step;    channelstepremainder[slot] = 0;    channelstart[slot] = mytime;    // (range: 1 - 256)    seperation += 1;    // (x^2 seperation)    leftvol =        volume - (volume*seperation*seperation)/(256*256);    seperation = seperation - 257;    // (x^2 seperation)    rightvol =        volume - (volume*seperation*seperation)/(256*256);          // sanity check    if (rightvol < 0 || rightvol > 127)        derror("rightvol out of bounds");        if (leftvol < 0 || leftvol > 127)        derror("leftvol out of bounds");        // get the proper lookup table piece    //  for this volume level    // channelleftvol_lookup[slot] = &vol_lookup[(leftvol*master_volume/31)*256];    // channelrightvol_lookup[slot] = &vol_lookup[(rightvol*master_volume/31)*256];    left_volume[slot] = leftvol;    right_volume[slot] = rightvol;    channelids[slot] = sfxid;    return rc;}void outputushort(int num){    static unsigned char        buff[5] = { 0, 0, 0, 0, '\n' };    static char*                badbuff = "xxxx\n";    // outputs a 16-bit # in hex or "xxxx" if -1.    if (num < 0)    {        write(1, badbuff, 5);    }    else    {        buff[0] = num>>12;        buff[0] += buff[0] > 9 ? 'a'-10 : '0';        buff[1] = (num>>8) & 0xf;        buff[1] += buff[1] > 9 ? 'a'-10 : '0';        buff[2] = (num>>4) & 0xf;        buff[2] += buff[2] > 9 ? 'a'-10 : '0';        buff[3] = num & 0xf;        buff[3] += buff[3] > 9 ? 'a'-10 : '0';        write(1, buff, 5);    }}void initdata(void){    int         i;    int         j;        int*        steptablemid = steptable + 128;    for (i=0 ;         i<sizeof(channels)/sizeof(unsigned char *) ;         i++)    {        channels[i] = 0;    }        gettimeofday(&last, &whocares);    for (i=-128 ; i<128 ; i++)        steptablemid[i] = pow(2.0, (i/64.0))*65536.0;    // generates volume lookup tables    //  which also turn the unsigned samples    //  into signed samples    // for (i=0 ; i<128 ; i++)    // for (j=0 ; j<256 ; j++)    // vol_lookup[i*256+j] = (i*(j-128))/127;        for (i=0 ; i<128 ; i++)        for (j=0 ; j<256 ; j++)            // vol_lookup[i*256+j] = (i*(j-128)*256)/127;            volume_lookup[i][j] = (i*(j-128)*256)/127;}void quit(void){    I_ShutdownMusic();    I_ShutdownSound();    exit(0);}fd_set          fdset;fd_set          scratchset;intmain( int           c,  char**        v ){    int         done = 0;    int         rc;    int         nrc;    int         sndnum;    int         sndcnt = 0;    int         handle = 0;        unsigned char       commandbuf[10];    struct timeval      zerowait = { 0, 0 };        int         step;    int         vol;    int         sep;        int         i;    int         waitingtofinish=0;    // init any data    initdata();             I_InitSound(11025, 16);    I_InitMusic();    if (snd_verbose)        fprintf(stderr, "ready\n");        // parse commands and play sounds until done    FD_ZERO(&fdset);    FD_SET(0, &fdset);    while (!done)    {        mytime++;        if (!waitingtofinish)        {            do {                scratchset = fdset;                rc = select(FD_SETSIZE, &scratchset, 0, 0, &zerowait);                if (rc > 0)                {                    //  fprintf(stderr, "select is true\n");                    // got a command                    nrc = read(0, commandbuf, 1);                    if (!nrc)                    {                        done = 1;                        rc = 0;                    }                    else                    {                        //if (snd_verbose)                        //    fprintf(stderr, "cmd: %c", commandbuf[0]);                        switch (commandbuf[0])                        {                        case 'v':                            // get master volume                            read(0, commandbuf, 1);                            master_volume = (commandbuf[0] & 0x1f);                            break;                                                    case 'p':                            // play a new sound effect                            read(0, commandbuf, 4);                            //if (snd_verbose)                            //{                            //  commandbuf[9]=0;                            //  fprintf(stderr, "%s\n", commandbuf);                            //}                            //  p<snd#><step><vol><sep>                            sndnum = commandbuf[0];                            step = commandbuf[1];                            step = steptable[step];                            vol = commandbuf[2];                            sep = commandbuf[3];                            handle = addsfx(sndnum, vol, step, sep);                            // returns the handle                            //  outputushort(handle);                            break;                        case 'l': {                            int bln,tlen;                            read(0, &bln, sizeof(int));                            //fprintf(stderr,"%d in...\n",bln);                            S_sfx[sndcnt].data = malloc(bln);                            // hey, read on a pipewill not always                            // fill the whole buffer 19990203 by Kin                            for(tlen = 0; tlen < bln;) {                                tlen+=read(0, S_sfx[sndcnt].data+tlen, bln-tlen);                            }                            lengths[sndcnt] = bln;                            sndcnt++;                            break;                        }                        case 'q':                            // no '\n' 19990201 by Kin                            //read(0, commandbuf, 1);                            waitingtofinish = 1; rc = 0;                            break;                                                        //case 's':                            //{                            //  int fd;                            //  read(0, commandbuf, 3);                            //  commandbuf[2] = 0;                            //  fd = open((char*)commandbuf, O_CREAT|O_WRONLY, 0644);                            //  commandbuf[0] -= commandbuf[0]>='a' ? 'a'-10 : '0';                            //  commandbuf[1] -= commandbuf[1]>='a' ? 'a'-10 : '0';                            //  sndnum = (commandbuf[0]<<4) + commandbuf[1];                            //  write(fd, S_sfx[sndnum].data, lengths[sndnum]);                            //  close(fd);                            //}                            //break;                        default:                            fprintf(stderr, "Did not recognize command %d\n",commandbuf[0]);                            break;                        }                    }                }                else if (rc < 0)                {                    quit();                }            } while (rc > 0);        }        updatesounds();        if (waitingtofinish)        {            for(i=0 ; i<8 && !channels[i] ; i++);                        if (i==8)                done=1;        }    }    quit();    return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
有码一区二区三区| 美国一区二区三区在线播放| 制服丝袜在线91| 99免费精品视频| 国产九九视频一区二区三区| 久久69国产一区二区蜜臀| 亚洲电影激情视频网站| 亚洲午夜在线电影| 天涯成人国产亚洲精品一区av| 亚洲一区二区三区免费视频| 亚洲国产视频直播| 成人av资源在线观看| 色一区在线观看| 91成人在线免费观看| 欧美日韩综合在线免费观看| 欧美高清www午色夜在线视频| 欧美日韩一区二区三区高清| 国产精品久久久一本精品| 亚洲精品免费看| 99久久久无码国产精品| 欧美日韩精品一区二区三区蜜桃| 日韩一区二区三区视频在线| 亚洲精品一区二区三区精华液| 久久久另类综合| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲地区一二三色| 91麻豆免费视频| 精品日韩一区二区三区| 最新国产成人在线观看| 免费观看91视频大全| 成人h动漫精品| 中文字幕第一区二区| 亚洲成年人网站在线观看| 欧美体内she精高潮| 久久婷婷色综合| 亚洲高清视频中文字幕| 色狠狠一区二区| 亚洲一区在线观看免费| 欧美色精品天天在线观看视频| 亚洲激情图片qvod| 欧美在线视频全部完| 久久精品视频一区二区| 丝袜诱惑制服诱惑色一区在线观看| 国产精品12区| 欧美日韩国产高清一区二区| 香蕉乱码成人久久天堂爱免费| 欧美理论电影在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩一区二区三区在线| 国产露脸91国语对白| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲国产综合人成综合网站| 337p亚洲精品色噜噜狠狠| 激情成人综合网| 69久久99精品久久久久婷婷| 精品无码三级在线观看视频| 久久久久高清精品| 99re66热这里只有精品3直播| 亚洲综合成人网| 欧美一区二区日韩| 视频一区二区不卡| 久久在线观看免费| 99久久99久久综合| 婷婷丁香久久五月婷婷| 2023国产精品自拍| 在线亚洲人成电影网站色www| 五月婷婷色综合| 国产人成亚洲第一网站在线播放 | 国产999精品久久| 91精品国产美女浴室洗澡无遮挡| 麻豆成人综合网| 亚洲欧美视频在线观看| 日韩欧美一级片| 麻豆国产精品官网| 中文字幕一区二区三区在线播放| 国产激情视频一区二区在线观看 | 精品国产一区二区三区久久久蜜月| 国产精品一线二线三线精华| 综合久久久久久| 欧美一卡二卡在线观看| 91浏览器在线视频| 激情综合色综合久久| 亚洲在线免费播放| 国产亚洲欧美一级| 日韩欧美中文一区二区| 在线观看精品一区| 成人激情图片网| 国产一区二区三区久久久 | 欧美一区二区在线看| 成人美女在线观看| 一区二区在线观看av| 久久久久国产精品免费免费搜索| 欧美中文字幕久久| 91丨九色丨尤物| 国产美女久久久久| 久久国产综合精品| 国产精品女上位| 欧美自拍丝袜亚洲| 成人av免费在线观看| 国内精品第一页| 亚州成人在线电影| 一区二区三区四区在线| 51精品视频一区二区三区| 色88888久久久久久影院按摩| 国产**成人网毛片九色| 黑人巨大精品欧美一区| 久久国产福利国产秒拍| 日日夜夜精品视频免费| 亚洲成人一区二区在线观看| 亚洲欧美偷拍卡通变态| 亚洲欧洲色图综合| 一区在线播放视频| √…a在线天堂一区| 国产精品久久久久一区二区三区| 欧美精品一区二区高清在线观看| 日韩一区二区三区av| 欧美一区二区播放| 日韩欧美中文字幕精品| 日韩欧美一区二区视频| 日韩无一区二区| 日韩精品专区在线| 精品福利在线导航| 久久久不卡影院| 国产欧美视频在线观看| 久久精品欧美一区二区三区不卡| 国产视频不卡一区| 中文字幕成人在线观看| 国产精品久久久久久妇女6080| 午夜精品视频一区| 亚洲成人你懂的| 日韩精品电影在线| 琪琪一区二区三区| 国产一区二区在线观看免费| 国产精品亚洲综合一区在线观看| 福利一区在线观看| 色婷婷精品大在线视频| 欧美日韩一区 二区 三区 久久精品| 欧美日韩一区二区在线观看视频 | 国产成人免费视频精品含羞草妖精| 国产99精品国产| 欧洲另类一二三四区| 在线成人高清不卡| 国产欧美日韩三区| 亚洲午夜av在线| 久久er99热精品一区二区| 成人少妇影院yyyy| 欧美日韩国产一二三| 久久嫩草精品久久久久| 亚洲三级电影全部在线观看高清| 图片区小说区区亚洲影院| 国产一区二区免费看| 色av综合在线| 久久综合久色欧美综合狠狠| 亚洲美女免费视频| 久久99精品国产91久久来源| zzijzzij亚洲日本少妇熟睡| 欧美日韩免费电影| 中文字幕av资源一区| 亚洲国产综合91精品麻豆| 国产成人综合视频| 欧美精品一卡二卡| 国产精品动漫网站| 久久66热re国产| 欧美三级视频在线观看| 中文字幕免费不卡在线| 日韩激情一二三区| 91一区二区在线| 久久久电影一区二区三区| 日韩精品乱码免费| 在线亚洲欧美专区二区| 国产欧美日韩不卡免费| 日本不卡在线视频| 美女视频网站黄色亚洲| 91同城在线观看| 国产三区在线成人av| 美腿丝袜在线亚洲一区| 91搞黄在线观看| 国产精品伦一区二区三级视频| 蜜桃视频在线观看一区二区| 色婷婷久久一区二区三区麻豆| 国产情人综合久久777777| 老司机一区二区| 3d动漫精品啪啪1区2区免费| 一区二区三区日韩精品| 99国产精品久久久久久久久久| 久久久久久免费| 韩国精品在线观看| 日韩亚洲电影在线| 日日摸夜夜添夜夜添国产精品| 91免费版在线| 自拍偷自拍亚洲精品播放| 懂色av一区二区三区免费观看 | 国产三级一区二区三区| 麻豆精品一二三| 欧美一级生活片| 午夜精品123| 欧美精品在线观看播放| 视频一区二区三区在线| 欧美久久久久免费| 视频一区在线视频|