diff --git a/includes/powdergraphics.h b/includes/powdergraphics.h index a880e713b..5d0367b21 100644 --- a/includes/powdergraphics.h +++ b/includes/powdergraphics.h @@ -37,6 +37,7 @@ #define COLOUR_HEAT 0x00000001 #define COLOUR_LIFE 0x00000002 #define COLOUR_GRAD 0x00000004 +#define COLOUR_BASC 0x00000008 #define COLOUR_DEFAULT 0x00000000 diff --git a/src/graphics.c b/src/graphics.c index 185ad6eff..db5ae5283 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1806,7 +1806,7 @@ void render_parts(pixel *vid) fireg = graphicscache[t].fireg; fireb = graphicscache[t].fireb; } - else + else if(!(colour_mode & COLOUR_BASC)) //Don't get special effects for BASIC colour mode { if (ptypes[t].graphics_func) { @@ -1894,6 +1894,13 @@ void render_parts(pixel *vid) colb = sin(frequency*q) * 16 + colb; if(pixel_mode & (FIREMODE | PMODE_GLOW)) pixel_mode = (pixel_mode & ~(FIREMODE|PMODE_GLOW)) | PMODE_BLUR; } + else if (colour_mode & COLOUR_BASC) + { + colr = PIXR(ptypes[t].pcolors); + colg = PIXG(ptypes[t].pcolors); + colb = PIXB(ptypes[t].pcolors); + pixel_mode = PMODE_FLAT; + } //Apply decoration colour if(!colour_mode) diff --git a/src/interface.c b/src/interface.c index 163e46bc3..dfba6bd8d 100644 --- a/src/interface.c +++ b/src/interface.c @@ -6426,10 +6426,10 @@ void render_ui(pixel * vid_buf, int xcoord, int ycoord, int orientation) int display_optionicons[] = {0xD4, 0x99, 0x98, 0xBE, 0xDE, 0x9A, -1}; char * display_desc[] = {"Air: Cracker", "Air: Pressure", "Air: Velocity", "Air: Heat", "Warp effect", "Persistent", "Effects"}; - int colour_optioncount = 3; - int colour_options[] = {COLOUR_LIFE, COLOUR_HEAT, COLOUR_GRAD}; - int colour_optionicons[] = {0xE0, 0xBE, 0xD3}; - char * colour_desc[] = {"Life", "Heat", "Heat Gradient"}; + int colour_optioncount = 4; + int colour_options[] = {COLOUR_BASC, COLOUR_LIFE, COLOUR_HEAT, COLOUR_GRAD}; + int colour_optionicons[] = {0xDB, 0xE0, 0xBE, 0xD3}; + char * colour_desc[] = {"Basic", "Life", "Heat", "Heat Gradient"}; yoffset = 16; xoffset = 0;