home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / System / Mesa-3.1 / src / AOS / palettes / palettesremap.c < prev    next >
C/C++ Source or Header  |  1999-06-27  |  1KB  |  76 lines

  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main(int argc, char **argv) {
  5.   short int i, j, r;
  6.   int remap[256];
  7.  
  8.   memset(remap, sizeof(remap), 0xFF);
  9.  
  10.   srand(42);
  11.   printf("static const GLshort remap[palNumColsMax] = {\n  ");
  12.  
  13.   for (i = 0; i < 64; i++) {
  14.     /* try to find a number not found before */
  15.     while (1) {
  16.       r = 0 + (rand() % (64 - 0));
  17.       for (j = 0; j < i; j++)
  18.         if (remap[j] == r)
  19.           break;
  20.       if (j == i) {
  21.         printf("0x%02x,", r);
  22.         break;
  23.       }
  24.     }
  25.  
  26.     remap[i] = r;
  27.   }
  28.   printf("\n  ");
  29.  
  30.   for (i = 64; i < 189; i++) {
  31.     /* try to find a number not found before */
  32.     while (1) {
  33.       r = 64 + (rand() % (189 - 64));
  34.       for (j = 64; j < i; j++)
  35.         if (remap[j] == r)
  36.           break;
  37.       if (j == i) {
  38.         printf("0x%02x,", r);
  39.         break;
  40.       }
  41.     }
  42.  
  43.     remap[i] = r;
  44.   }
  45.   printf("\n  ");
  46.  
  47.   for (i = 189; i < 255; i++) {
  48.     /* try to find a number not found before */
  49.     while (1) {
  50.       r = 189 + (rand() % (256 - 189));
  51.       for (j = 189; j < i; j++)
  52.         if (remap[j] == r)
  53.           break;
  54.       if (j == i) {
  55.         printf("0x%02x,", r);
  56.         break;
  57.       }
  58.     }
  59.  
  60.     remap[i] = r;
  61.   }
  62.   r = 189;
  63.   while (1) {
  64.     for (j = 189; j < 255; j++)
  65.       if (remap[j] == r)
  66.         break;
  67.     if (j == 255) {
  68.       printf("0x%02x\n};\n", r);
  69.       break;
  70.     }
  71.     r++;
  72.   }
  73.  
  74.   return 0;
  75. }
  76.