diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2022-11-10 09:59:51 -0800 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2022-11-10 10:03:03 -0800 |
commit | 6bd2dbf11f908abb225fb160c568462e95da2da7 (patch) | |
tree | 04013a01b8f888b77baa972339253b93fde6b888 /src/bonus-node.h | |
parent | aa20a9ec8697a05d44e949ad6a1f2b2f6a3fe908 (diff) |
bonus-node: add bonus node for bonus quantities
This shows a numeric display with an API for tracking a position
until released. Once released the node self-animates and frees
itself from its own rendering function. Post-release the node
stops accessing the tracking position, intended for allowing the
associated entity to become reused or discarded immediately upon
release. For this to work smoothly the release must be accompanied
by a storing of the last position within the bonus node via the
provided pointer, which the bonus node's render function then uses
as the origin of its self-animating before destruction.
See comment at start of bonus-node.c for more information/issues.
This only adds the node without integrating into the game, a
subsequent commit will integrate into game.c. Initial impetus
for adding this is making teepee quantities visible.
Diffstat (limited to 'src/bonus-node.h')
-rw-r--r-- | src/bonus-node.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/bonus-node.h b/src/bonus-node.h new file mode 100644 index 0000000..c138589 --- /dev/null +++ b/src/bonus-node.h @@ -0,0 +1,29 @@ +/* + * 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 _BONUS_NODE_H +#define _BONUS_NODE_H + +#define BONUS_NODE_RELEASE_MS 100 /* FIXME: this needs to be actual time units, right now it's frames */ + +typedef struct stage_conf_t stage_conf_t; +typedef struct m4f_t m4f_t; +typedef struct v2f_t v2f_t; + +stage_t * bonus_node_new(stage_conf_t *conf, unsigned value, m4f_t *projection_x, v2f_t *position, float scale, unsigned **release, v2f_t **release_position); + +#endif + |