tfv: start work on worldmap sprites

This commit is contained in:
Vince Weaver 2017-07-08 01:19:06 -04:00
parent f229f7d573
commit b2ac412bea
7 changed files with 211 additions and 81 deletions

View File

@ -31,7 +31,7 @@ text.o: text.c
tfv: tfv.o gr-sim.o
$(CC) $(LFLAGS) $(SDL_LIBS) -o tfv tfv.o gr-sim.o
tfv.o: tfv.c
tfv.o: tfv.c backgrounds.h vince_sprites.h
$(CC) $(CFLAGS) -c tfv.c

48
gr-sim/backgrounds.h Normal file
View File

@ -0,0 +1,48 @@
static unsigned char title_rle[]=
{ 0x28,0x28,
0x01,0x00,0x19,0x20,
0x0F,0x00,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x62,0x01,0x66,0x01,0x62,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x62,0x01,0x22,0x01,0x62,0x01,0x26,0x01,0x62,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x55,0x01,0x00,0x03,0x11,0x01,0x44,0x03,0x22,0x01,0x44,0x03,0x22,
0x02,0x00,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x01,0x62,0x01,0x66,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x62,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x55,0x01,0x00,0x01,0x01,0x01,0x11,0x01,0x41,0x01,0x44,0x01,0x42,0x01,0x22,0x01,0x42,0x01,0x44,0x01,0x42,0x01,0x22,0x01,0x02,
0x02,0x00,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x66,0x01,0x62,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x62,0x01,0x26,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x55,0x02,0x00,0x01,0x11,0x03,0x44,0x01,0x22,0x03,0x44,0x01,0x22,
0x03,0x00,0x01,0x02,0x18,0x52,0x01,0x55,
0x0E,0x00,0x1E,0x60,
0x0A,0x00,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x26,0x02,0x62,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x55,
0x09,0x00,0x01,0x66,0x01,0x22,0x01,0x26,0x02,0x66,0x01,0x22,0x01,0x26,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x62,0x01,0x26,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x22,0x01,0x26,0x01,0x22,0x01,0x66,0x01,0x22,0x02,0x26,0x01,0x66,0x01,0x62,0x01,0x26,0x01,0x62,0x01,0x66,0x01,0x55,
0x09,0x00,0x01,0x66,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x62,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x02,0x26,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x55,
0x09,0x00,0x01,0x06,0x1D,0x56,0x01,0x55,0x03,0x00,0x01,0x10,
0x24,0x00,0x01,0x10,0x01,0x00,0x01,0x10,0x01,0x11,0x01,0x01,
0x05,0x00,0x08,0xCC,0x01,0x40,0x09,0x00,0x01,0xD0,0x01,0x0D,0x01,0x00,0x01,0xD0,0x01,0x0D,0x01,0x00,0x01,0xD0,0x05,0x00,0x01,0x11,
0x0A,0x00,0x01,0x04,0x04,0x54,0x02,0xCC,0x01,0x44,0x01,0x55,0x06,0x00,0x01,0xD0,0x01,0xDD,0x02,0xD0,0x01,0xDD,0x02,0xD0,0x01,0xDD,0x01,0xD0,0x03,0x00,0x02,0x01,0x01,0x11,0x02,0x01,
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x06,0x00,0x01,0xDD,0x07,0xBB,0x01,0xDD,0x04,0x00,0x01,0x10,0x01,0x11,0x01,0x10,
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x07,0x00,0x01,0xDD,0x01,0xBB,0x01,0xBF,0x01,0xB0,0x01,0xBB,0x01,0xBF,0x01,0xB0,0x01,0xBB,0x01,0xDD,0x03,0x00,0x01,0x10,0x03,0x11,0x01,0x10,
0x0A,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x08,0x00,0x01,0xDD,0x01,0xDB,0x01,0xBB,0x01,0x3B,0x01,0x33,0x02,0xBB,0x01,0xDB,0x01,0xDD,0x03,0x00,0x02,0x01,0x01,0x11,0x02,0x01,
0x0A,0x00,0x02,0xCC,0x01,0x44,0x01,0x55,0x09,0x00,0x02,0xDD,0x05,0xBB,0x02,0xDD,0x05,0x00,0x01,0x11,
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x55,0x09,0x00,0x01,0x0D,0x01,0x00,0x01,0xBB,0x03,0xB1,0x01,0xBB,0x01,0x00,0x01,0x0D,0x04,0x00,0x02,0xBB,
0x0C,0x00,0x01,0x0C,0x01,0x4C,0x01,0x44,0x01,0x55,0x0C,0x00,0x02,0xBB,0x06,0x00,0x01,0x20,0x01,0x22,0x01,0x2B,0x01,0x0B,
0x0E,0x00, 0x02,0x05, 0x09,0x00, 0x01,0x20, 0x06,0x22, 0x03,0x20,
0x02,0x22, 0x01,0x02, 0x09,0x00,
0xff,0xff
};
static unsigned char worldmap_rle[]=
{ 0x28,0x28,
0x55,0x66,0x03,0xF6,0x17,0x66,0x02,0xF6,0x02,0xFF,0x01,0xF6,
0x07,0x66,0x03,0xFF,0x01,0x5F,0x02,0xFF,0x01,0xF6,0x13,0x66,0x01,0xF6,0x07,0xFF,
0x07,0x66,0x01,0x65,0x04,0x5F,0x01,0x6F,0x13,0x66,0x01,0x65,0x01,0x55,0x01,0x5F,0x02,0xFF,0x02,0x65,
0x1C,0x66,0x01,0xF6,0x01,0xFF,0x01,0x56,
0x24,0x66,0x01,0x8F,0x02,0xFF,0x01,0x85,0x04,0x66,0x05,0xD6,
0x11,0x66,0x01,0xD6,0x06,0xE6,0x02,0x46,0x01,0x96,0x02,0x88,0x01,0x48,0x01,0x58,0x01,0x88,0x01,0x86,0x02,0x66,0x05,0xD9,
0x05,0x66,0x07,0x46,0x04,0x44,0x01,0xD4,0x01,0xED,0x05,0xEE,0x02,0x44,0x01,0x84,0x01,0x98,0x03,0x88,0x01,0x48,0x01,0x88,0x01,0xA8,0x01,0x84,0x01,0x44,0x01,0x49,0x03,0xF9,0x01,0x49,0x04,0x46,
0x0B,0x44,0x01,0xD4,0x01,0xED,0x04,0xEE,0x01,0x4E,0x02,0x44,0x01,0x84,0x01,0x89,0x02,0x88,0x01,0x89,0x04,0x88,0x01,0x85,0x01,0x88,0x01,0x44,0x01,0x4F,0x01,0x40,0x01,0x4F,0x01,0x88,
0x0E,0x44,0x01,0xDD,0x01,0xED,0x05,0xEE,0x01,0x88,0x01,0x44,0x01,0x84,0x01,0x89,0x01,0x98,0x01,0x88,0x01,0x98,0x01,0x88,0x01,0x84,0x03,0x88,0x01,0x85,0x01,0x88,0x01,0xA8,0x02,0x44,0x01,0x94,0x01,0x88,0x01,0x58,0x01,0x84,
0x0B,0x44,0x01,0xDD,0x08,0xEE,0x01,0x88,0x02,0x84,0x04,0xE8,0x01,0x48,0x08,0x88,0x01,0x98,0x03,0x88,
0x0A,0x44,0x01,0xDD,0x11,0xEE,0x01,0xE4,0x04,0x44,0x02,0x48,0x01,0x89,0x03,0x88,0x01,0x85,0x01,0x88,
0x09,0x44,0x01,0xDD,0x12,0xEE,0x07,0x44,0x02,0x48,0x01,0x88,0x01,0x85,0x02,0x48,
0x09,0x44,0x01,0xDD,0x0C,0xEE,0x02,0xDE,0x02,0x4D,0x0C,0x44,0x02,0xC4,
0x0A,0x44,0x02,0x4E,0x08,0xEE,0x01,0xDE,0x02,0x4D,0x0C,0x44,0x01,0xC4,0x02,0xCC,0x01,0xC4,0x01,0xCC,
0x21,0x44,0x01,0xC4,0x02,0xCC,0x01,0xC4,0x03,0xCC,
0x1F,0x44,0x01,0xC4,0x01,0xCC,0x01,0xC4,0x01,0xCC,0x01,0x4C,0x02,0xCC,0x01,0x4C,0x01,0xCC,
0x1E,0x44,0x02,0xCC,0x01,0x4C,0x04,0xCC,0x01,0xC4,0x02,0xCC,
0x1D,0x44,0x01,0xCC,0x01,0x4C,0x02,0xCC,0x01,0xC4,0x01,0x4C,0x01,0xCC,0x01,0xC4,0x02,0xCC,0x01,0xC4,
0xff,0xff,
};

View File

@ -812,6 +812,26 @@ int grsim_put_sprite(unsigned char *sprite_data, int xpos, int ypos) {
int gr_copy(short source, short dest) {
short dest_addr,source_addr;
int i,j,l;
for(i=0;i<8;i++) {
source_addr=gr_addr_lookup[i]+0x400;
dest_addr=gr_addr_lookup[i];
if (i<4) l=120;
else l=80;
for(j=0;j<l;j++) {
ram[dest_addr+j]=ram[source_addr+j];
}
}
return 0;
}
int gr_copy48(short source, short dest) {
short dest_addr,source_addr;
int i,j;

View File

@ -4,64 +4,8 @@
#include "gr-sim.h"
static unsigned char title_rle[]=
{ 0x28,0x28,
0x01,0x00,0x19,0x20,
0x0F,0x00,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x62,0x01,0x66,0x01,0x62,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x62,0x01,0x22,0x01,0x62,0x01,0x26,0x01,0x62,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x55,0x01,0x00,0x03,0x11,0x01,0x44,0x03,0x22,0x01,0x44,0x03,0x22,
0x02,0x00,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x01,0x62,0x01,0x66,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x62,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x55,0x01,0x00,0x01,0x01,0x01,0x11,0x01,0x41,0x01,0x44,0x01,0x42,0x01,0x22,0x01,0x42,0x01,0x44,0x01,0x42,0x01,0x22,0x01,0x02,
0x02,0x00,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x66,0x01,0x62,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x62,0x01,0x26,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x55,0x02,0x00,0x01,0x11,0x03,0x44,0x01,0x22,0x03,0x44,0x01,0x22,
0x03,0x00,0x01,0x02,0x18,0x52,0x01,0x55,
0x0E,0x00,0x1E,0x60,
0x0A,0x00,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x26,0x02,0x62,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x55,
0x09,0x00,0x01,0x66,0x01,0x22,0x01,0x26,0x02,0x66,0x01,0x22,0x01,0x26,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x62,0x01,0x26,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x22,0x01,0x26,0x01,0x22,0x01,0x66,0x01,0x22,0x02,0x26,0x01,0x66,0x01,0x62,0x01,0x26,0x01,0x62,0x01,0x66,0x01,0x55,
0x09,0x00,0x01,0x66,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x62,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x02,0x26,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x55,
0x09,0x00,0x01,0x06,0x1D,0x56,0x01,0x55,0x03,0x00,0x01,0x10,
0x24,0x00,0x01,0x10,0x01,0x00,0x01,0x10,0x01,0x11,0x01,0x01,
0x05,0x00,0x08,0xCC,0x01,0x40,0x09,0x00,0x01,0xD0,0x01,0x0D,0x01,0x00,0x01,0xD0,0x01,0x0D,0x01,0x00,0x01,0xD0,0x05,0x00,0x01,0x11,
0x0A,0x00,0x01,0x04,0x04,0x54,0x02,0xCC,0x01,0x44,0x01,0x55,0x06,0x00,0x01,0xD0,0x01,0xDD,0x02,0xD0,0x01,0xDD,0x02,0xD0,0x01,0xDD,0x01,0xD0,0x03,0x00,0x02,0x01,0x01,0x11,0x02,0x01,
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x06,0x00,0x01,0xDD,0x07,0xBB,0x01,0xDD,0x04,0x00,0x01,0x10,0x01,0x11,0x01,0x10,
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x07,0x00,0x01,0xDD,0x01,0xBB,0x01,0xBF,0x01,0xB0,0x01,0xBB,0x01,0xBF,0x01,0xB0,0x01,0xBB,0x01,0xDD,0x03,0x00,0x01,0x10,0x03,0x11,0x01,0x10,
0x0A,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x08,0x00,0x01,0xDD,0x01,0xDB,0x01,0xBB,0x01,0x3B,0x01,0x33,0x02,0xBB,0x01,0xDB,0x01,0xDD,0x03,0x00,0x02,0x01,0x01,0x11,0x02,0x01,
0x0A,0x00,0x02,0xCC,0x01,0x44,0x01,0x55,0x09,0x00,0x02,0xDD,0x05,0xBB,0x02,0xDD,0x05,0x00,0x01,0x11,
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x55,0x09,0x00,0x01,0x0D,0x01,0x00,0x01,0xBB,0x03,0xB1,0x01,0xBB,0x01,0x00,0x01,0x0D,0x04,0x00,0x02,0xBB,
0x0C,0x00,0x01,0x0C,0x01,0x4C,0x01,0x44,0x01,0x55,0x0C,0x00,0x02,0xBB,0x06,0x00,0x01,0x20,0x01,0x22,0x01,0x2B,0x01,0x0B,
0x0E,0x00, 0x02,0x05, 0x09,0x00, 0x01,0x20, 0x06,0x22, 0x03,0x20,
0x02,0x22, 0x01,0x02, 0x09,0x00,
0xff,0xff
// " 55 2222222222222"
};
#if 0
static unsigned char test_sprite[]={
0x8,0x4,
0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,
0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,
0xff,0x1f,0x4f,0x2f,0xff,0x22,0x20,0x00,
0x5f,0x5f,0x5f,0x5f,0xff,0xf2,0xf2,0xf2,
};
#endif
static unsigned char ship_forward[]={
0x5,0x3,
0x00,0x00,0x77,0x00,0x00,
0x50,0x55,0x77,0x55,0x50,
0x01,0x00,0x07,0x00,0x01,
};
static unsigned char ship_right[]={
0x5,0x3,
0x50,0x00,0x70,0x77,0x00,
0x01,0x55,0x77,0x55,0x50,
0x00,0x77,0x07,0x00,0x15,
};
static unsigned char ship_left[]={
0x5,0x3,
0x00,0x77,0x70,0x00,0x50,
0x50,0x55,0x77,0x55,0x01,
0x15,0x00,0x07,0x77,0x00,
};
#include "vince_sprites.h"
#include "backgrounds.h"
#define COLOR1 0x00
#define COLOR2 0x01
@ -147,6 +91,7 @@ int main(int argc, char **argv) {
int name_x=0;
int cursor_x=0,cursor_y=0;
int direction;
grsim_init();
@ -350,7 +295,7 @@ int main(int argc, char **argv) {
xx=17; yy=30;
color_equals(0);
int direction=0;
direction=0;
color_equals(6);
@ -389,6 +334,58 @@ int main(int argc, char **argv) {
usleep(10000);
}
/************************************************/
/* Landed */
/************************************************/
// TODO:
// 4x4 grid of island?
// proceduraly generated?
// can only walk if feet on green/yellow
// should features be sprites?
// rotate when attacked
gr();
xx=17; yy=30;
color_equals(0);
direction=1;
grsim_unrle(worldmap_rle,0x800);
gr_copy(0x800,0x400);
while(1) {
ch=grsim_input();
if ((ch=='q') || (ch==27)) break;
if ((ch=='i') || (ch==APPLE_UP)) if (yy>10) yy-=2;
if ((ch=='m') || (ch==APPLE_DOWN)) if (yy<39) yy+=2;
if ((ch=='j') || (ch==APPLE_LEFT)) {
if (direction>0) direction=-1;
else {
xx--;
if (xx<0) xx=0;
}
}
if ((ch=='k') || (ch==APPLE_RIGHT)) {
if (direction<0) direction=1;
else {
xx++;
if (xx>35) xx=35;
}
}
gr_copy(0x800,0x400);
if (direction==-1) grsim_put_sprite(vince_left,xx,yy);
if (direction==1) grsim_put_sprite(vince_right,xx,yy);
grsim_update();
usleep(10000);
}
return 0;
}

51
gr-sim/vince_sprites.h Normal file
View File

@ -0,0 +1,51 @@
static unsigned char vince_right[]={
0x4,0x6,
0x00,0xDD,0xBD,0x00,
0x00,0xDD,0xDB,0x0B,
0x00,0x22,0x00,0x00,
0x00,0x22,0x02,0x0B,
0x00,0x22,0x00,0x00,
0x00,0x82,0x80,0x00,
};
static unsigned char vince_left[]={
0x4,0x6,
0x00,0xBD,0xDD,0x00,
0x0B,0xDB,0xDD,0x00,
0x00,0x00,0x22,0x00,
0x0B,0x02,0x22,0x00,
0x00,0x00,0x22,0x00,
0x00,0x80,0x82,0x00,
};
#if 0
static unsigned char test_sprite[]={
0x8,0x4,
0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,
0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,
0xff,0x1f,0x4f,0x2f,0xff,0x22,0x20,0x00,
0x5f,0x5f,0x5f,0x5f,0xff,0xf2,0xf2,0xf2,
};
#endif
static unsigned char ship_forward[]={
0x5,0x3,
0x00,0x00,0x77,0x00,0x00,
0x50,0x55,0x77,0x55,0x50,
0x01,0x00,0x07,0x00,0x01,
};
static unsigned char ship_right[]={
0x5,0x3,
0x50,0x00,0x70,0x77,0x00,
0x01,0x55,0x77,0x55,0x50,
0x00,0x77,0x07,0x00,0x15,
};
static unsigned char ship_left[]={
0x5,0x3,
0x00,0x77,0x70,0x00,0x50,
0x50,0x55,0x77,0x55,0x01,
0x15,0x00,0x07,0x77,0x00,
};

View File

@ -19,6 +19,7 @@ int main(int argc, char **argv) {
unsigned char *image;
int xsize,ysize,last=-1,next;
FILE *outfile;
int size=0;
if (argc<3) {
fprintf(stderr,"Usage:\t%s INFILE OUTFILE\n\n",argv[0]);
@ -41,6 +42,8 @@ int main(int argc, char **argv) {
x=0;
enough=0;
fprintf(outfile,"{ 0x%X,0x%x,\n",xsize,ysize);
size+=2;
last=image[x] | (image[x+xsize]<<4);
run++;
x++;
@ -49,14 +52,14 @@ int main(int argc, char **argv) {
if (next!=last) {
fprintf(outfile,"0x%02X,0x%02X,",run,last);
size+=2;
run=0;
last=next;
}
run++;
x++;
enough++;
if (enough>=xsize) {
enough=0;
@ -65,15 +68,26 @@ int main(int argc, char **argv) {
}
if (x>xsize*ysize) {
if (x>=xsize*ysize) {
/* print tailing value */
fprintf(outfile,"0x%02X,0x%02X,",run,last);
if (run!=0) {
fprintf(outfile,"0x%02X,0x%02X,",run,last);
size+=2;
}
break;
}
run++;
}
fprintf(outfile,"0xff,0xff,");
size+=2;
fprintf(outfile,"};\n");
fclose(outfile);
printf("Size %d bytes\n",size);
return 0;
}

View File

@ -2,20 +2,20 @@ GIMP Palette
Name: Apple II Lowres
Columns: 0
#
0 0 0 Untitled
227 30 96 Untitled
96 78 189 Untitled
255 68 253 Untitled
0 163 96 Untitled
156 156 156 Untitled
20 207 253 Untitled
208 195 255 Untitled
96 114 3 Untitled
255 106 60 Untitled
157 157 157 Untitled
255 160 208 Untitled
20 245 60 Untitled
208 221 141 Untitled
114 255 208 Untitled
255 255 255 Untitled
0 0 0 Black.0
227 30 96 Red.1
96 78 189 DarkBlue.2
255 68 253 Purple.3
0 163 96 DarkGreen.4
156 156 156 Grey.5
20 207 253 MediumBlue.6
208 195 255 LightBlue.7
96 114 3 Brown.8
255 106 60 Orange.9
157 157 157 Gray.A
255 160 208 Pink.B
20 245 60 LightGreen.C
208 221 141 Yellow.D
114 255 208 Aqua.E
255 255 255 White.F