summaryrefslogtreecommitdiff
path: root/src/elements
diff options
context:
space:
mode:
authorjacksonmj <mj-pt@jacksonmj.co.uk>2012-09-02 20:44:19 (GMT)
committer jacksonmj <mj-pt@jacksonmj.co.uk>2012-09-02 20:48:28 (GMT)
commit355dcf50d2292b7505696ffbb85be4daa27a7930 (patch)
tree2458705e36df33e1601332055cc352ae2939c55b /src/elements
parent48dbf1704c4c18779bd88582a5db326dabd818b2 (diff)
downloadpowder-355dcf50d2292b7505696ffbb85be4daa27a7930.zip
powder-355dcf50d2292b7505696ffbb85be4daa27a7930.tar.gz
WOOD and PLNT turn grey when hot, bluish when cold
Diffstat (limited to 'src/elements')
-rw-r--r--src/elements/plnt.c19
-rw-r--r--src/elements/wood.c40
2 files changed, 59 insertions, 0 deletions
diff --git a/src/elements/plnt.c b/src/elements/plnt.c
index 8fff1a6..3bdfeac 100644
--- a/src/elements/plnt.c
+++ b/src/elements/plnt.c
@@ -66,5 +66,24 @@ int update_PLNT(UPDATE_FUNC_ARGS) {
}
parts[i].life = 0;
}
+ if (parts[i].temp > 400 && parts[i].temp > parts[i].tmp2)
+ parts[i].tmp2 = (int)parts[i].temp;
+ return 0;
+}
+
+int graphics_PLNT(GRAPHICS_FUNC_ARGS)
+{
+ float maxtemp = fmax(cpart->tmp2,cpart->temp);
+ if (maxtemp > 300)
+ {
+ *colr += (int)restrict_flt((maxtemp-300)/5,0,58);
+ *colg -= (int)restrict_flt((maxtemp-300)/2,0,102);
+ *colb += (int)restrict_flt((maxtemp-300)/5,0,70);
+ }
+ if (maxtemp < 273)
+ {
+ *colg += (int)restrict_flt((273-maxtemp)/4,0,255);
+ *colb += (int)restrict_flt((273-maxtemp)/1.5,0,255);
+ }
return 0;
}
diff --git a/src/elements/wood.c b/src/elements/wood.c
new file mode 100644
index 0000000..e5fec9a
--- /dev/null
+++ b/src/elements/wood.c
@@ -0,0 +1,40 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <element.h>
+
+int update_WOOD(UPDATE_FUNC_ARGS) {
+ if (parts[i].temp > 550 && parts[i].temp > parts[i].tmp)
+ parts[i].tmp = (int)parts[i].temp;
+ return 0;
+}
+
+int graphics_WOOD(GRAPHICS_FUNC_ARGS)
+{
+ float maxtemp = fmax(cpart->tmp,cpart->temp);
+ if (maxtemp > 400)
+ {
+ *colr -= (int)restrict_flt((maxtemp-400)/3,0,172);
+ *colg -= (int)restrict_flt((maxtemp-400)/4,0,140);
+ *colb -= (int)restrict_flt((maxtemp-400)/20,0,44);
+ }
+ if (maxtemp < 273)
+ {
+ *colr -= (int)restrict_flt((273-maxtemp)/5,0,40);
+ *colg += (int)restrict_flt((273-maxtemp)/4,0,40);
+ *colb += (int)restrict_flt((273-maxtemp)/1.5,0,150);
+ }
+ return 0;
+}