summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCracker64 <cracker642@gmail.com>2011-01-17 01:54:41 (GMT)
committer Cracker64 <cracker642@gmail.com>2011-01-17 01:54:41 (GMT)
commit926450a9a3db03d0abd1afcff4ea0269415c0ced (patch)
treeaa6bbb0297f93f314dbe3c943490937363e8f5f8
parentdb5bb618c171fe016d507307fe9774b12939ac49 (diff)
downloadpowder-926450a9a3db03d0abd1afcff4ea0269415c0ced.zip
powder-926450a9a3db03d0abd1afcff4ea0269415c0ced.tar.gz
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
-rw-r--r--includes/defines.h2
-rw-r--r--includes/interface.h8
-rw-r--r--includes/powder.h20
-rw-r--r--src/graphics.c18
-rw-r--r--src/main.c2
5 files changed, 38 insertions, 12 deletions
diff --git a/includes/defines.h b/includes/defines.h
index 3d6b549..562ee0d 100644
--- a/includes/defines.h
+++ b/includes/defines.h
@@ -61,7 +61,7 @@ extern unsigned char ZSIZE;
#define STAMP_Y 4
#define STAMP_MAX 120
-#define NGOL 23
+#define NGOL 25
#define CIRCLE_BRUSH 0
#define SQUARE_BRUSH 1
diff --git a/includes/interface.h b/includes/interface.h
index 159e247..29b5aad 100644
--- a/includes/interface.h
+++ b/includes/interface.h
@@ -52,9 +52,10 @@ static menu_wall mwalls[] =
#define SC_LIQUID 4
#define SC_NUCLEAR 7
#define SC_LIFE 9
-#define SC_CRACKER 10
-#define SC_CRACKER2 11
-#define SC_TOTAL 10
+#define SC_LIFE2 10
+#define SC_CRACKER 12
+#define SC_CRACKER2 13
+#define SC_TOTAL 11
static menu_section msections[] =
{
@@ -68,6 +69,7 @@ static menu_section msections[] =
{"\xC6", "Radioactive", 0, 1},
{"\xCC", "Special", 0, 1},
{"\xD2", "Life", 0, 1},
+ {"\xD2", "More Life", 0, 1},
{"\xC8", "Cracker", 0, 0},
{"\xC8", "Cracker!", 0, 0},
};
diff --git a/includes/powder.h b/includes/powder.h
index 1fdc3ba..cc5980c 100644
--- a/includes/powder.h
+++ b/includes/powder.h
@@ -193,7 +193,9 @@
#define PT_TEST 142
#define PT_TEST2 143
#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 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},
{"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},
- {"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},
- {"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},
- {"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},
+ {"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},
+ {"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},
+ {"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
};
@@ -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},
};
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
{0,0,0,3,1,1,0,2,1,4},//TEST
{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] =
{
@@ -637,6 +645,8 @@ static int goltype[NGOL] =
PT_TEST,
PT_TEST2,
PT_TEST3,
+ PT_FROG,
+ PT_BRAN,
};
static int loverule[9][9] =
{
diff --git a/src/graphics.c b/src/graphics.c
index 824cee8..ffaa333 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -1726,9 +1726,9 @@ void draw_parts(pixel *vid)
else if(t==PT_TEST2)
{
if(parts[i].tmp==2)
- blendpixel(vid, nx, ny, 0, 100, 0, 255);
+ blendpixel(vid, nx, ny, 0, 100, 50, 255);
else
- blendpixel(vid, nx, ny, 0, 255, 0, 255);
+ blendpixel(vid, nx, ny, 0, 255, 90, 255);
}
else if(t==PT_TEST3)
{
@@ -1743,6 +1743,20 @@ void draw_parts(pixel *vid)
else
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)
{
diff --git a/src/main.c b/src/main.c
index 8ff3329..6308178 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1522,7 +1522,7 @@ int main(int argc, char *argv[])
}
}
if((sdl_mod & (KMOD_RCTRL) )&&( sdl_mod & (KMOD_RALT)))
- active_menu = 11;
+ active_menu = 12;
if(sdl_key==SDLK_INSERT || sdl_key==SDLK_BACKQUOTE)
REPLACE_MODE = !REPLACE_MODE;
if(sdl_key=='g')