This week I started working on my new tiny clock project, then noticed I needed things that were missing or broken in Sugar and so I went and fixed that!
As you can see, it’s not much of a clock yet. Maybe I should have started with that part. But believe it or not, I was more interested in starting with the ui part!
I had something of a good and efficient idea of how to implement those sliding in-and-out buttons in the corners of the screen. My idea was to have a list of structures containing the buttons’ informations, and then a pico8-like map that would hold indexes to those buttons. From there you could find the mouse cursor’s position on the map and know what button (if any) it is hovering. To make that work with the sliding in/out animation, you could simply shift the map position considering in which quarter of the screen the cursor is.
And that’s what I did! And it worked just as well as I hoped!
But still there were some unexpected issues. The first one was that for some reason, the mouse position from my input system was limited to the screen. Meaning that if the mouse cursor left the window, the mouse positions would just stop updating. The second issue was that my sprite-drawing function was broken when trying to draw a flipped sprite beyond the borders of the screen.
For the first issue, I simply had to look into the SDL documentation and make an interface for getting the Desktop mouse position.
For the second issue, I had to look into the sprite-drawing code and find the maths that was wrong, and fix it. Thankfully this didn’t take too long, but it wasn’t particularly pleasant anyway. As structured as I could make this kind of functions, they’re still a pretty heavy mess, in favor of performance.
I also made some very small changes and additions to the SUGAR API. This project is interesting in that regard, because it’s very different from what I’ve been making to test the engine up to now, so it has very different needs. I already feel good about this project’s impact on the engine!
I also released a new wallpaper batch! These are still variants of effects I made for my limitation talk. (which I still haven’t done the transcription for, I know, but it’s coming, I just need to find some self-confidence first)
All my Patreon supporters can download this batch here, in 52 different resolution!
The next batch will have whole new effects, possibly shared with the clock project. There may or may not be a batch this week, we’ll see!
In the meantime, let me thank all my Patreon supporters for their support! You people really keep me moving forward and I am ever grateful for that among everything else! Here are the names of all my 3$+ supporters!
☆Joseph White, ☆Spaceling, ☆Ryan Malm, rotatetranslate, Anne Le Clech, Giles Graham, Marty Kovach, Zachary Cook, Joel Jorgensen, Andreas Bretteville, Reza Esmaili, Dan Rees-Jones, Meru, Wojciech Rak, Austin East, Tim and Alexandra Swast, Jefff, HJS, Thomas Wright, Bitzawolf, Christian Östman, Dan Lewis, Chris McCluskey, Cole Smith, Jearl, Flo Devaux, slono, Paul Nguyen, berkfrei, Sam Loeschen, amy, Collin Caldwell, Jakub Wasilewski, Andrew Reitano, Qristy Overton, Giovan, Finn Ellis, Brent Werness, Pat LaBine, Sean S. LeBlanc, yunowadidis-musik, Jacel the Thing, Pierre B., vaporstack, Max Cahill, hushcoil, Andrew Reist
This week I’m still working on the clock project! It’s time to make it an actual clock and start using it myself! I might start implementing some customization elements or maybe I’ll make the tiny-Tetris right away. I could use more Tetris in my life right now. (I hear there’s a new Tetris game coming out soon too, don’t go look too far if I disappear from the internet)
Have a nice week and a good month of November!