| Line |  | 
|---|
| 1 | /* $Id: genvol.c,v 1.2 2000-08-02 15:48:27 bird Exp $ */ | 
|---|
| 2 |  | 
|---|
| 3 | /* A quick-n'-dirty DirectSound volume conversion table generator */ | 
|---|
| 4 |  | 
|---|
| 5 | #include <stdio.h> | 
|---|
| 6 | #include <math.h> | 
|---|
| 7 |  | 
|---|
| 8 | void main (void) | 
|---|
| 9 | { | 
|---|
| 10 | FILE *f; | 
|---|
| 11 | int   i, j; | 
|---|
| 12 |  | 
|---|
| 13 | if ((f = fopen("DSVolume.h", "w")) == NULL) { | 
|---|
| 14 | printf("Can't open output file\n"); | 
|---|
| 15 | return; | 
|---|
| 16 | } | 
|---|
| 17 |  | 
|---|
| 18 | fprintf(f, "\n// This is a generated file. Do not edit!\n"); | 
|---|
| 19 | fprintf(f, "\n// Volume conversion table for Odin DirectSound\n"); | 
|---|
| 20 | fprintf(f, "\nBYTE VolTable[1000] = {\n"); | 
|---|
| 21 |  | 
|---|
| 22 | for (i = 0; i < 100; i++) { | 
|---|
| 23 | fprintf(f, "   "); | 
|---|
| 24 | for (j = 0; j < 10; j++) { | 
|---|
| 25 | fprintf(f, "%3d", (unsigned char)(255.0 * pow(4, -(i * 40.0 + j * 4) / 1000.0))); | 
|---|
| 26 | if (i * j != 99 * 9) | 
|---|
| 27 | fprintf(f, ", "); | 
|---|
| 28 | } | 
|---|
| 29 | fprintf(f, "\n"); | 
|---|
| 30 | } | 
|---|
| 31 | fprintf(f, "\n};\n"); | 
|---|
| 32 |  | 
|---|
| 33 | fclose(f); | 
|---|
| 34 | } | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.