After making that big review, I decided I should make something to act as a visual if I ever intend to make another. I also wanted to work on something I knew I could do, just to ease back into pure C and SDL.
The first thing I did was make a sprite that would circle around my mouse pointer, and have a bunch of sprites which would form a chain. Everything here is done with smooth interpolation, since I figured that would look nicer than super harsh instantaneous movement, and create a distinct visual style if I did ever end up using it.
Next up I made it so each bodypart could have multiple children, and I got angle interpolation set up. Interpolating to a periodic value like that defintely flexed my brain muscles a little, but I did eventually get it working.
After that I implemented basic inverse kinematics. Ideally, this would make it so I could point the arms of my little puppet around with the mouse.
At this point the puppet was really starting to take shape.
I added eyes that blink, and a mouth that would react to an audio file to make it look like it was talking.
Also added eyebrows.
Project done! This does everything i wanted it to, and it went extremely smoothly. I believe it took 3 days to finish in total, the only time I've ever underestimated how long something would take. The only thing I might want to add would be a puppet editor, but considering I am the person whos using this it isn't important.
Download it here. I also removed the rendering from the IK so you could actually use it for a video if you wanted. Let me know if you do!