From 6a408ab72cf83ac15e301ac58ec149edaf8688e2 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Sat, 10 Dec 2022 13:36:11 -0800 Subject: {adult-maga,maga}-node: introduce some maga nodes Preparatory commit for adding a MAGA mode for the adult. This entails a MAGA powerup similar to the mask, and a new adult node wearing a MAGA hat. This commit only adds the nodes, nothing functionally different. --- src/Makefile.am | 4 ++++ src/adult-maga-node.c | 32 ++++++++++++++++++++++++++++++++ src/adult-maga-node.h | 25 +++++++++++++++++++++++++ src/maga-node.c | 32 ++++++++++++++++++++++++++++++++ src/maga-node.h | 25 +++++++++++++++++++++++++ 5 files changed, 118 insertions(+) create mode 100644 src/adult-maga-node.c create mode 100644 src/adult-maga-node.h create mode 100644 src/maga-node.c create mode 100644 src/maga-node.h diff --git a/src/Makefile.am b/src/Makefile.am index 32bfdb0..c04c140 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,5 +1,7 @@ bin_PROGRAMS = sars sars_SOURCES = \ + adult-maga-node.c \ + adult-maga-node.h \ adult-masked-node.c \ adult-masked-node.h \ adult-node.c \ @@ -31,6 +33,8 @@ sars_SOURCES = \ m4f.h \ macros.h \ main.c \ + maga-node.c \ + maga-node.h \ mask-node.c \ mask-node.h \ plasma-node.c \ diff --git a/src/adult-maga-node.c b/src/adult-maga-node.c new file mode 100644 index 0000000..7911a4e --- /dev/null +++ b/src/adult-maga-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 "adult-maga-node.h" +#include "tex.h" +#include "tex-node.h" + +static tex_t *adult_maga_tex; + +stage_t * adult_maga_node_new(stage_conf_t *conf, m4f_t *projection_x, m4f_t *model_x) +{ + if (!adult_maga_tex) + adult_maga_tex = ansr_tex_new("assets/adult-maga.ans", "assets/adult-maga.mask.ans"); + + return tex_node_new_tex(conf, adult_maga_tex, projection_x, model_x); +} diff --git a/src/adult-maga-node.h b/src/adult-maga-node.h new file mode 100644 index 0000000..a58fab4 --- /dev/null +++ b/src/adult-maga-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 _ADULT_MAGA_NODE_H +#define _ADULT_MAGA_NODE_H + +typedef struct stage_conf_t stage_conf_t; +typedef struct m4f_t m4f_t; + +stage_t * adult_maga_node_new(stage_conf_t *conf, m4f_t *projection_x, m4f_t *model_x); + +#endif diff --git a/src/maga-node.c b/src/maga-node.c new file mode 100644 index 0000000..5a0f3db --- /dev/null +++ b/src/maga-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 "maga-node.h" +#include "tex.h" +#include "tex-node.h" + +static tex_t *maga_tex; + +stage_t * maga_node_new(stage_conf_t *conf, m4f_t *projection_x, m4f_t *model_x) +{ + if (!maga_tex) + maga_tex = ansr_tex_new("assets/maga.ans", "assets/maga.mask.ans"); + + return tex_node_new_tex(conf, maga_tex, projection_x, model_x); +} diff --git a/src/maga-node.h b/src/maga-node.h new file mode 100644 index 0000000..165fde3 --- /dev/null +++ b/src/maga-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 _MAGA_NODE_H +#define _MAGA_NODE_H + +typedef struct stage_conf_t stage_conf_t; +typedef struct m4f_t m4f_t; + +stage_t * maga_node_new(stage_conf_t *conf, m4f_t *projection_x, m4f_t *model_x); + +#endif -- cgit v1.2.3