summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-10-17game: handle infecting multiple babies at onceVito Caputo
It's possible for babies to overlap and a virus to encounter them simultaneously. The existing code halted the search on the first hit. This commit changes things to continue the search and infect all hits before resetting the infecting virus.
2022-10-17game: add TV attraction of babiesVito Caputo
Now nearby babies migrate towards the TV
2022-10-17game: s/update_viruses/update_entities/Vito Caputo
This name already doesn't quite reflect what's happening since the addition of the TV. There will be more non-viruses stuff added to this function only making the existing name even more wrong. Renaming for better accuracy along with the associated timer's symbolic constants. No functional changes...
2022-10-10game: add rudimentary touch supportVito Caputo
When a touch is active, the player progresses towards the touch position. The scaling of the touch coordinates is a bit oversized so you can place the adult off-screen to rescue babies, without your finger actually going off-screen.
2022-10-10sars: add ndc->bpc conversion helpersVito Caputo
bpc = boxed projection coordinates, this basically comes from eon just like the pillar/letter boxing code for fullscreen stuff did. Previously I didn't need this part of that code, but the touch coordinates are in ndc and those need to get transformed by the projection transform's inverse.
2022-10-10m4f: fix typo in m4f_invert()Vito Caputo
I feel like I've re-fixed this a dozen times now in various projects because I haven't been submoduling m4f*.h
2021-12-26sars: collapse FULL+FILL cases in sars_winmode_set()Vito Caputo
Having these distinct is vestigial, they're no longer different so merge them. No functional difference.
2021-12-25*: introduce a projection matrix and winmodesrev3Vito Caputo
The bulk of this is mechanical wiring up of a projection_x to all the nodes. But this also introduces maintenance of the projection_x, with aspect-ratio preservation in two of the modes: WINDOWED and FULLSCREEN, with the previously default stretched-to-fill fullscreen mode now relegated to a third FILLSCREEN winmode. The default at startup is now an aspect ratio-preserving windowed mode. Simply press the 'f' key at any time to cycle through them. This was mostly done in sars to provide a source-available test for reproducing a fullscreen SDL2 bug I filed @ https://github.com/libsdl-org/SDL/issues/5139 Otherwise it's pretty silly to bother with doing anything on sars... but it is a handy little mule for such things.
2020-05-30libstage: bump libstage versionVito Caputo
Newer libstage cleans up the parent/adopt conf naming a bit, fixup relevant call sites to reflect that.
2020-05-13game: simplify pad_free() usageVito Caputo
Cosmetic change getting rid of a FIXME from the code
2020-04-24tex: clamp to a transparent texture borderrev2Vito Caputo
Even with the MSAA off there were occasional fringes showing up, turns out it's because of the default GL texture wrap mode.
2020-04-22sars: disable MSAAVito Caputo
This is vestigial from Eon and doesn't benefit sars, and seems to be introducing corruption on the transparent fringes of the sprites.
2020-04-22sars: s/Eon/sars/Vito Caputo
Never updated the window title after ripping this from the Eon initialization boilerplate
2020-04-21game: some comment cleanupsVito Caputo
Some substitution errors, some stale stuff, some unnecessarily conversational crap resulting from drunk overnighter coding.
2020-04-21game: trivial formatting consistencty fixesVito Caputo
just some missing whitespace
2020-04-21game: fix typo in any_aabb initializationrev1Vito Caputo
Missing comma silently resulted in aabb_any.min.x == -2 Excellent example of how using the same syntax for negative and the subtraction operator creates opportunity for silent bugs. This is the first time this particular thing has bitten me, doing mostly systems programming throughout my life I haven't dealt much with negative values and certainly not frequently initializing bags of them as is common in game development. This bug is why the collision hit boxes seemed so huge, it was only on the horizontal axis, and actually just the minimum side but in-play it appears to be both since there's always a minimum involved on a horizontal collision. Sigh.
2020-04-21game: use stage_conf_t.adopt in remaining conversionsVito Caputo
Missed two first time around
2020-04-21m4f: fix typo in unused m4f_mult_v4f()Vito Caputo
2020-04-21game: skip m4f_identity() calls via NULL first paramVito Caputo
The m4f_3dx.h helpers know to give an identity on NULL... No functional difference, just removing some kruft.
2020-04-20game: use stage_conf_t.adopt in conversionsVito Caputo
Rather than a new-then-free dance this avoids creating a new stage_t altogether by installing the new object into the existing one via the stage_conf_t.parent pointer combined with adopt flag.
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-19gfx: ANSI screengrabs .png->.c textures via GIMPVito Caputo
Cranksy kindly provided a bunch of graphics for this collaboration, mostly ANSI-derived but we'll treat them as pixel art. My understanding is this is a mix of ripped stuff and some original work, it's nothing crazy - just something usable on short notice for the 24hr IRC compo this is being made for. I'm committing all the graphics separately so the big code commit isn't badly polluted by the gfx bulk
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