more life types using states, put them in new menu. Maybe get some way to switch to new menu on mouseover of last spot of current life menu

This commit is contained in:
Cracker64 2011-01-16 20:54:41 -05:00
parent db5bb618c1
commit 926450a9a3
5 changed files with 38 additions and 12 deletions

View File

@ -61,7 +61,7 @@ extern unsigned char ZSIZE;
#define STAMP_Y 4 #define STAMP_Y 4
#define STAMP_MAX 120 #define STAMP_MAX 120
#define NGOL 23 #define NGOL 25
#define CIRCLE_BRUSH 0 #define CIRCLE_BRUSH 0
#define SQUARE_BRUSH 1 #define SQUARE_BRUSH 1

View File

@ -52,9 +52,10 @@ static menu_wall mwalls[] =
#define SC_LIQUID 4 #define SC_LIQUID 4
#define SC_NUCLEAR 7 #define SC_NUCLEAR 7
#define SC_LIFE 9 #define SC_LIFE 9
#define SC_CRACKER 10 #define SC_LIFE2 10
#define SC_CRACKER2 11 #define SC_CRACKER 12
#define SC_TOTAL 10 #define SC_CRACKER2 13
#define SC_TOTAL 11
static menu_section msections[] = static menu_section msections[] =
{ {
@ -68,6 +69,7 @@ static menu_section msections[] =
{"\xC6", "Radioactive", 0, 1}, {"\xC6", "Radioactive", 0, 1},
{"\xCC", "Special", 0, 1}, {"\xCC", "Special", 0, 1},
{"\xD2", "Life", 0, 1}, {"\xD2", "Life", 0, 1},
{"\xD2", "More Life", 0, 1},
{"\xC8", "Cracker", 0, 0}, {"\xC8", "Cracker", 0, 0},
{"\xC8", "Cracker!", 0, 0}, {"\xC8", "Cracker!", 0, 0},
}; };

View File

@ -193,7 +193,9 @@
#define PT_TEST 142 #define PT_TEST 142
#define PT_TEST2 143 #define PT_TEST2 143
#define PT_TEST3 144 #define PT_TEST3 144
#define PT_NUM 145 #define PT_FROG 145
#define PT_BRAN 146
#define PT_NUM 147
#define R_TEMP 22 #define R_TEMP 22
#define MAX_TEMP 9999 #define MAX_TEMP 9999
@ -430,9 +432,11 @@ static const part_type ptypes[PT_NUM] =
{"REPL", PIXPACK(0x259588), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_LIFE, 9000.0f, 40, "B1357/S1357", TYPE_SOLID|PROP_LIFE, NULL}, {"REPL", PIXPACK(0x259588), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_LIFE, 9000.0f, 40, "B1357/S1357", TYPE_SOLID|PROP_LIFE, NULL},
{"MYST", PIXPACK(0x0C3C00), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_LIFE, 9000.0f, 40, "B3458/S05678", TYPE_SOLID|PROP_LIFE, NULL}, {"MYST", PIXPACK(0x0C3C00), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_LIFE, 9000.0f, 40, "B3458/S05678", TYPE_SOLID|PROP_LIFE, NULL},
{"BOYL", PIXPACK(0x0A3200), 1.0f, 0.01f * CFDS, 0.99f, 0.30f, -0.1f, 0.0f, 0.18f, 0.000f * CFDS, 0, 0, 0, 0, 1, 1, 1, SC_GAS, R_TEMP+2.0f +273.15f, 42, "Boyle, variable pressure gas. Expands when heated.", TYPE_GAS, NULL}, {"BOYL", PIXPACK(0x0A3200), 1.0f, 0.01f * CFDS, 0.99f, 0.30f, -0.1f, 0.0f, 0.18f, 0.000f * CFDS, 0, 0, 0, 0, 1, 1, 1, SC_GAS, R_TEMP+2.0f +273.15f, 42, "Boyle, variable pressure gas. Expands when heated.", TYPE_GAS, NULL},
{"TEST", PIXPACK(0xFF0000), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_SPECIAL, 9000.0f, 40, "S3458/B37/4", TYPE_SOLID|PROP_LIFE, NULL}, {"LOTE", PIXPACK(0xFF0000), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_LIFE2, 9000.0f, 40, "Behaves kinda like Living on the Edge S3458/B37/4", TYPE_SOLID|PROP_LIFE, NULL},
{"TES2", PIXPACK(0x00FF00), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_SPECIAL, 9000.0f, 40, "S124/B3/3", TYPE_SOLID|PROP_LIFE, NULL}, {"FRG2", PIXPACK(0x00FF00), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_LIFE2, 9000.0f, 40, "Like Frogs rule S124/B3/3", TYPE_SOLID|PROP_LIFE, NULL},
{"TES4", PIXPACK(0x0000FF), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_SPECIAL, 9000.0f, 40, "S3456/B278/6", TYPE_SOLID|PROP_LIFE, NULL}, {"STAR", PIXPACK(0x0000FF), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_LIFE2, 9000.0f, 40, "Like Star Wars rule S3456/B278/6", TYPE_SOLID|PROP_LIFE, NULL},
{"FROG", PIXPACK(0x00AA00), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_LIFE2, 9000.0f, 40, "Frogs S12/B34/3", TYPE_SOLID|PROP_LIFE, NULL},
{"BRAN", PIXPACK(0xCCCC00), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_LIFE2, 9000.0f, 40, "Brian 6 S6/B246/3", TYPE_SOLID|PROP_LIFE, NULL},
//Name Colour Advec Airdrag Airloss Loss Collid Grav Diffus Hotair Fal Burn Exp Mel Hrd M Weights Section H Ins Description //Name Colour Advec Airdrag Airloss Loss Collid Grav Diffus Hotair Fal Burn Exp Mel Hrd M Weights Section H Ins Description
}; };
@ -584,6 +588,8 @@ static part_state pstates[PT_NUM] =
/* GOL */ {ST_NONE, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f}, /* GOL */ {ST_NONE, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f},
/* GOL */ {ST_NONE, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f}, /* GOL */ {ST_NONE, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f},
/* GOL */ {ST_NONE, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f}, /* GOL */ {ST_NONE, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f},
/* GOL */ {ST_NONE, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f},
/* GOL */ {ST_NONE, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f},
}; };
static int grule[NGOL][10] = static int grule[NGOL][10] =
@ -611,7 +617,9 @@ static int grule[NGOL][10] =
{1,0,0,2,2,3,1,1,3,2},//MYST {1,0,0,2,2,3,1,1,3,2},//MYST
{0,0,0,3,1,1,0,2,1,4},//TEST {0,0,0,3,1,1,0,2,1,4},//TEST
{0,1,1,2,1,0,0,0,0,3},//TEST2 {0,1,1,2,1,0,0,0,0,3},//TEST2
{0,0,2,1,1,1,1,2,2,6},//TEST2 {0,0,2,1,1,1,1,2,2,6},//TEST3
{0,1,1,2,2,0,0,0,0,3},//FROG
{0,0,2,0,2,0,3,0,0,3},//BRAN
}; };
static int goltype[NGOL] = static int goltype[NGOL] =
{ {
@ -637,6 +645,8 @@ static int goltype[NGOL] =
PT_TEST, PT_TEST,
PT_TEST2, PT_TEST2,
PT_TEST3, PT_TEST3,
PT_FROG,
PT_BRAN,
}; };
static int loverule[9][9] = static int loverule[9][9] =
{ {

View File

@ -1726,9 +1726,9 @@ void draw_parts(pixel *vid)
else if(t==PT_TEST2) else if(t==PT_TEST2)
{ {
if(parts[i].tmp==2) if(parts[i].tmp==2)
blendpixel(vid, nx, ny, 0, 100, 0, 255); blendpixel(vid, nx, ny, 0, 100, 50, 255);
else else
blendpixel(vid, nx, ny, 0, 255, 0, 255); blendpixel(vid, nx, ny, 0, 255, 90, 255);
} }
else if(t==PT_TEST3) else if(t==PT_TEST3)
{ {
@ -1743,6 +1743,20 @@ void draw_parts(pixel *vid)
else else
blendpixel(vid, nx, ny, 0, 0, 70, 255); blendpixel(vid, nx, ny, 0, 0, 70, 255);
} }
else if(t==PT_FROG)
{
if(parts[i].tmp==2)
blendpixel(vid, nx, ny, 0, 100, 0, 255);
else
blendpixel(vid, nx, ny, 0, 255, 0, 255);
}
else if(t==PT_BRAN)
{
if(parts[i].tmp==1)
blendpixel(vid, nx, ny, 150, 150, 0, 255);
else
blendpixel(vid, nx, ny, 255, 255, 0, 255);
}
else if(t==PT_DEUT) else if(t==PT_DEUT)
{ {

View File

@ -1522,7 +1522,7 @@ int main(int argc, char *argv[])
} }
} }
if((sdl_mod & (KMOD_RCTRL) )&&( sdl_mod & (KMOD_RALT))) if((sdl_mod & (KMOD_RCTRL) )&&( sdl_mod & (KMOD_RALT)))
active_menu = 11; active_menu = 12;
if(sdl_key==SDLK_INSERT || sdl_key==SDLK_BACKQUOTE) if(sdl_key==SDLK_INSERT || sdl_key==SDLK_BACKQUOTE)
REPLACE_MODE = !REPLACE_MODE; REPLACE_MODE = !REPLACE_MODE;
if(sdl_key=='g') if(sdl_key=='g')