summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/defines.h2
-rw-r--r--includes/interface.h7
-rw-r--r--includes/powder.h70
3 files changed, 53 insertions, 26 deletions
diff --git a/includes/defines.h b/includes/defines.h
index 1c502fe..f22a3c8 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 20
+#define NGOL 25
#define CIRCLE_BRUSH 0
#define SQUARE_BRUSH 1
diff --git a/includes/interface.h b/includes/interface.h
index cfae3dc..4bee583 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[] =
{
diff --git a/includes/powder.h b/includes/powder.h
index 72bf9ed..cc177e7 100644
--- a/includes/powder.h
+++ b/includes/powder.h
@@ -191,7 +191,12 @@
#define PT_REPL 139
#define PT_MYST 140
#define PT_BOYL 141
-#define PT_NUM 142
+#define PT_TEST 142
+#define PT_TEST2 143
+#define PT_TEST3 144
+#define PT_FROG 145
+#define PT_BRAN 146
+#define PT_NUM 147
#define R_TEMP 22
#define MAX_TEMP 9999
@@ -505,7 +510,13 @@ static const part_type ptypes[PT_NUM] =
{"GNAR", PIXPACK(0xE5B73B), 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, "B1/S1", ST_NONE, 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", ST_NONE, 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", ST_NONE, 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.", ST_GAS, TYPE_GAS, &update_BOYL},
+ {"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
};
@@ -663,6 +674,11 @@ static part_transition ptransitions[PT_NUM] =
/* GOL */ {IPL, NT, IPH, NT, ITL, NT, ITH, NT},
/* GOL */ {IPL, NT, IPH, NT, ITL, NT, ITH, NT},
/* BOYL */ {IPL, NT, IPH, NT, ITL, NT, ITH, NT},
+ /* GOL */ {IPL, NT, IPH, NT, ITL, NT, ITH, NT},
+ /* GOL */ {IPL, NT, IPH, NT, ITL, NT, ITH, NT},
+ /* GOL */ {IPL, NT, IPH, NT, ITL, NT, ITH, NT},
+ /* GOL */ {IPL, NT, IPH, NT, ITL, NT, ITH, NT},
+ /* GOL */ {IPL, NT, IPH, NT, ITL, NT, ITH, NT},
};
#undef IPL
#undef IPH
@@ -674,27 +690,32 @@ static part_transition ptransitions[PT_NUM] =
static int grule[NGOL][9] =
{
-// 0,1,2,3,4,5,6,7,8 live=1 spawn=2 spawn&live=3
- {0,0,0,0,0,0,0,0,0},//blank
- {0,0,1,3,0,0,0,0,0},//GOL
- {0,0,1,3,0,0,2,0,0},//HLIF
- {0,0,0,2,3,3,1,1,0},//ASIM
- {0,1,1,2,0,1,2,0,0},//2x2
- {0,0,0,3,1,0,3,3,3},//DANI
- {0,1,0,3,0,3,0,2,1},//AMOE
- {0,0,1,2,1,1,2,0,2},//MOVE
- {0,0,1,3,0,2,0,2,1},//PGOL
- {0,0,0,2,0,3,3,3,3},//DMOE
- {0,0,0,3,3,0,0,0,0},//34
- {0,0,0,2,2,3,0,0,0},//LLIF
- {0,0,1,3,0,1,3,3,3},//STAN
- {0,0,2,0,0,0,0,0,0},//SEED
- {0,1,1,3,1,1,0,0,0},//MAZE
- {0,0,1,3,0,1,1,3,3},//COAG
- {0,0,1,1,3,3,2,2,2},//WALL
- {0,3,0,0,0,0,0,0,0},//GNAR
- {0,3,0,3,0,3,0,3,0},//REPL
- {1,0,0,2,2,3,1,1,3},//MYST
+// 0,1,2,3,4,5,6,7,8,STATES live=1 spawn=2 spawn&live=3 States are kind of how long until it dies, normal ones use two states(living,dead) for others the intermediate states live but do nothing
+ {0,0,0,0,0,0,0,0,0,2},//blank
+ {0,0,1,3,0,0,0,0,0,2},//GOL
+ {0,0,1,3,0,0,2,0,0,2},//HLIF
+ {0,0,0,2,3,3,1,1,0,2},//ASIM
+ {0,1,1,2,0,1,2,0,0,2},//2x2
+ {0,0,0,3,1,0,3,3,3,2},//DANI
+ {0,1,0,3,0,3,0,2,1,2},//AMOE
+ {0,0,1,2,1,1,2,0,2,2},//MOVE
+ {0,0,1,3,0,2,0,2,1,2},//PGOL
+ {0,0,0,2,0,3,3,3,3,2},//DMOE
+ {0,0,0,3,3,0,0,0,0,2},//34
+ {0,0,0,2,2,3,0,0,0,2},//LLIF
+ {0,0,1,3,0,1,3,3,3,2},//STAN
+ {0,0,2,0,0,0,0,0,0,2},//SEED
+ {0,1,1,3,1,1,0,0,0,2},//MAZE
+ {0,0,1,3,0,1,1,3,3,2},//COAG
+ {0,0,1,1,3,3,2,2,2,2},//WALL
+ {0,3,0,0,0,0,0,0,0,2},//GNAR
+ {0,3,0,3,0,3,0,3,0,2},//REPL
+ {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},//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] =
{
@@ -717,6 +738,11 @@ static int goltype[NGOL] =
PT_GNAR,
PT_REPL,
PT_MYST,
+ PT_TEST,
+ PT_TEST2,
+ PT_TEST3,
+ PT_FROG,
+ PT_BRAN,
};
static int loverule[9][9] =
{