From 595260eacfbd0c88cbd3941606e7715b1c18f08b Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Tue, 8 Nov 2022 16:28:12 -0800 Subject: teepee-node: introduce a teepee (toilet paper) node preparatory commit for a toilet paper hoarding game mechanic --- src/Makefile.am | 2 ++ src/teepee-node.c | 32 ++++++++++++++++++++++++++++++++ src/teepee-node.h | 25 +++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 src/teepee-node.c create mode 100644 src/teepee-node.h 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 - + * + * 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 . + */ + +#include + +#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 - + * + * 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 . + */ + +#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 -- cgit v1.2.3