home *** CD-ROM | disk | FTP | other *** search
- /* This code will get an hdf palette. */
- #include <exec/types.h>
- #include "viewprotos.h"
-
- #include <hdf/dfproto.h>
-
- extern int HAME_r[256], HAME_g[256], HAME_b[256];
- extern int r_32[32], g_32[32], b_32[32];
- extern int r_16[16], g_16[16], b_16[16];
-
- int
- getDefPal(char *file)
- {
- unsigned char palette[768];
- int ret=0;
-
- if(file==NULL)
- {
- ret = DFPgetpal("default.pal",palette);
- if(ret==-1) return(ret);
- }
- else
- {
- ret = DFPgetpal(file,palette);
- if(ret==-1) {
- request("Can't get palette! (Convert from raw?)",NULL);
- return(ret);
- }
- }
-
- setPal(palette);
-
- return(1);
-
- }
-
-
- VOID
- setPal(unsigned char palette[768])
- {
- int i, reg=0;
-
- for(i=0;i<768;i+=3)
- {
- HAME_r[reg] = (int)palette[i];
- HAME_g[reg] = (int)palette[i+1];
- HAME_b[reg] = (int)palette[i+2];
- reg++;
- }
- reg=0;
- for(i=0;i<768;i+=24)
- {
- r_32[reg] = ((int)palette[i]) / 16;
- g_32[reg] = ((int)palette[i+1]) / 16;
- b_32[reg] = ((int)palette[i+2]) / 16;
- reg++;
- }
- reg=0;
- for(i=0;i<768;i+=48)
- {
- r_16[reg] = ((int)palette[i]) / 16;
- g_16[reg] = ((int)palette[i+1]) / 16;
- b_16[reg] = ((int)palette[i+2]) / 16;
- reg++;
- }
-
-
- }
-