Diff for /np2/sound/Attic/rhythmg.c between versions 1.1 and 1.2

version 1.1, 2003/10/16 17:58:06 version 1.2, 2004/02/18 20:11:37
Line 1 Line 1
 #include        "compiler.h"  
 #include        "sound.h"  
 #include        "rhythm.h"  
   
   // 更にプロジェクトを弄るので
   // その時に消滅
   
 void SOUNDCALL rhythm_getpcm(RHYTHM rhy, SINT32 *pcm, UINT count) {  
   
         UINT            bit;  
         RHYTHMCH        *r;  
         UINT            rem;  
 const SINT16    *src;  
         SINT32          *dst;  
         SINT32          samp;  
   
         if ((rhy->bitmap == 0) || (count == 0)) {  
                 return;  
         }  
         bit = 1;  
         r = rhy->r;  
         do {  
                 if (rhy->bitmap & bit) {  
                         rem = r->remain;  
                         if (rem > count) {  
                                 rem = count;  
                                 r->remain -= count;  
                         }  
                         else {  
                                 rhy->bitmap ^= bit;  
                                 r->remain = 0;  
                         }  
                         src = r->ptr;  
                         dst = pcm;  
                         do {  
                                 samp = *src++;  
                                 samp *= r->volume;  
                                 samp /= (1 << 12);  
                                 if (r->lr & 0x80) {  
                                         dst[0] += samp;  
                                 }  
                                 if (r->lr & 0x40) {  
                                         dst[1] += samp;  
                                 }  
                                 dst += 2;  
                         } while(--rem);  
                         r->ptr = src;  
                 }  
                 r++;  
                 bit <<= 1;  
         } while(bit & 0x3f);  
 }  
   

Removed from v.1.1  
changed lines
  Added in v.1.2


RetroPC.NET-CVS <cvs@retropc.net>