summaryrefslogtreecommitdiff
path: root/src/Makefile.am
AgeCommit message (Collapse)Author
2022-12-10{adult-maga,maga}-node: introduce some maga nodesVito Caputo
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.
2022-11-10bonus-node: add bonus node for bonus quantitiesVito Caputo
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.
2022-11-08teepee-node: introduce a teepee (toilet paper) nodeVito Caputo
preparatory commit for a toilet paper hoarding game mechanic
2022-11-08gfx: delete embedded RGBA gfx now that .ans is usedVito Caputo
simple removal of the now unused embedded assets
2022-11-08ansr-tex: add .ans->cp437->tex_t ability via libansrVito Caputo
libansr is used to turn the ansi stream of bytes into an in-memory representation of the screen's character contents. From this in-memory representation (ansr_t) an RGBA pixel rendering is produced in the form of a uint32_t array. This is then uploaded to the GPU via the existing tex.[ch] api. The intention here is to replace all the compiled-in gfx/* RGBA buffers with runtime-loaded-and-rendered .and files read from the filesystem. This enables faster iteration on the art without involving recompilation, and smaller distribution of the builds. Nothing functionally changes with this commit yet. It's only introducing the functionality to the tree and adding it to the build. Subsequent commits will replace the various tex_new() callers in the various -node.c listings with ansr_tex_new() equivalents. Afterwards all of the headers in gfx/ will be removed in favor of .ans assets. One additional detail is there's now going to be a concept of mask.ans files for controlling the alpha, since .ans alone doesn't really suffice here. Some ansi editors use methods like space-padding from the left to place the actual content, and there's no obvious way to differentiate those space pads from desired opaque background color cells vs. just transparent locators. So a separate mask.ans is supported where every non-black pixel of the mask.ans will be opaque, and every black pixel transparent, in the final tex_t output.
2022-11-08libansr: build and link the libraryVito Caputo
adding the library to autotools
2022-10-18game: introduce a mask powerupVito Caputo
baby vs. mask: baby steals and wears mask as useless hat, adult vs. mask: adult wears mask for 3 hits of virus protection virus vs. masked adult: decrements mask hit points virus vs. hatted baby: same as virus vs. unmasked baby TODO: - visible indication of how many remaining hits mask has - maybe blink mask when one hit remains - sfx for adult mask wearing and loss, baby mask stealing? - sfx for virus vs. mask?
2022-10-18gfx: add placeholder graphics for masked powerupVito Caputo
gfx-adult-masked: adult wearing mask gfx-baby-hatted: baby misusing mask as hat gfx-mask: the mask powerup itself This is a preparatory commit that doesn't actually change anything functionally, just to avoid having giant .h files in the powerup-adding commit.
2020-04-19src: implement a game for Blender 2020Vito Caputo
The theme of this Blender was: Monkeys / Rescuing / Between Realities With all the COVID-19 stuff going on, it seemed like a fun way to lighten things up a bit to make something where a monkey runs around trying to rescue child monkeys from coronaviruses moving across the playfield. In keeping with the theme, to rescue the helpless monkeys you take them to a different reality by carrying them off the window/screen. As infections increase the field becomes crowded with viruses until your player becomes infected through contact, ending your game. This was written quickly kamikaze style overnight. Some scaffolding bits came from past projects of mine like the vector headers, shader and texture node building blocks, and the plasma effect has been used a few times now and originally was derived from some gpu programming tutorial if memory serves. I just wanted to put something in the background for this strange reality. This is the first time I've used libplay, in fact, it was basically slapped together last night at the start of this to avoid having to do all that SDL initialization all over again. The unique meat of this work is in game.c, there isn't really all that much to this game though. It's not pretty code, but it works well enough and this task served as a useful exercise of trying to get some quick game dev done using this collection of facilities. Most the heavy lifting comes from my reused libraries which are slowly evolving into something somewhat effective for simple game development. Enjoy, and happy hacking!
2020-04-19src: add a basic OpenGL2.1 foundationVito Caputo
Just a bunch of shit that doesn't really do much more than produce an executable yet.
© All Rights Reserved