#include <stdio.h>
#include "defines.h"
#include "aiggraph.h"

int pal_write(FILE *fp,int mode)
/* べたファイル用パレット出力 */
{
int i,max;
unsint c[256];
	i=CRTMOD(-1);
	max=((i<=7||i==16)? 16:256);
	if (max==256 && mode) {
		int r,g,b;
		#define RMAX 31
		#define GMAX 31
		#define BMAX 31
		#define PALRGB(R,G,B) ((((G)*GMAX/7)&0x1F)<<11|(((R)*RMAX/7)&0x1F)<<6|(((B)*BMAX/3)&0x1F)<<1)
		for (g=0;g<8;g++) {
			for (r=0;r<8;r++) {
				for (b=0;b<4;b++) c[g<<5|r<<2|b]=PALRGB(r,g,b);
			}
		}
	} else {
		for (i=0;i<max;i++) {
			c[i]=(mode? rgb(Def_16_Pal[i][0],Def_16_Pal[i][1],Def_16_Pal[i][2]):RDGPAL1(i));
		}
	}
	fwrite(c,sizeof(unsint),max,fp);
	return(ferror(fp));
}
