summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2022-11-08 16:28:12 -0800
committerVito Caputo <vcaputo@pengaru.com>2022-11-08 16:28:12 -0800
commit595260eacfbd0c88cbd3941606e7715b1c18f08b (patch)
treebf8692ac236f18ccf1cce7b9303944a88c4622d0 /src
parent11006abf3df2a46e15345798562263ca78f9e4dc (diff)
teepee-node: introduce a teepee (toilet paper) node
preparatory commit for a toilet paper hoarding game mechanic
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am2
-rw-r--r--src/teepee-node.c32
-rw-r--r--src/teepee-node.h25
3 files changed, 59 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 333d816..5f55d86 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -41,6 +41,8 @@ sars_SOURCES = \
shader.h \
shader-node.c \
shader-node.h \
+ teepee-node.c \
+ teepee-node.h \
tex.c \
tex.h \
tex-node.c \
diff --git a/src/teepee-node.c b/src/teepee-node.c
new file mode 100644
index 0000000..fba58d1
--- /dev/null
+++ b/src/teepee-node.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2022 - Vito Caputo - <vcaputo@pengaru.com>
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3 as published
+ * by the Free Software Foundation.
+ *
+ * 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 <stage.h>
+
+#include "ansr-tex.h"
+#include "teepee-node.h"
+#include "tex.h"
+#include "tex-node.h"
+
+static tex_t *teepee_tex;
+
+stage_t * teepee_node_new(stage_conf_t *conf, m4f_t *projection_x, m4f_t *model_x)
+{
+ if (!teepee_tex)
+ teepee_tex = ansr_tex_new("assets/teepee.ans", "assets/teepee.mask.ans");
+
+ return tex_node_new_tex(conf, teepee_tex, projection_x, model_x);
+}
diff --git a/src/teepee-node.h b/src/teepee-node.h
new file mode 100644
index 0000000..be8f79e
--- /dev/null
+++ b/src/teepee-node.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2022 - Vito Caputo - <vcaputo@pengaru.com>
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3 as published
+ * by the Free Software Foundation.
+ *
+ * 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/>.
+ */
+
+#ifndef _TEEPEE_NODE_H
+#define _TEEPEE_NODE_H
+
+typedef struct stage_conf_t stage_conf_t;
+typedef struct m4f_t m4f_t;
+
+stage_t * teepee_node_new(stage_conf_t *conf, m4f_t *projection_x, m4f_t *model_x);
+
+#endif
© All Rights Reserved