[66] Not Quite a Pyramid
- Conlan Walker

- Jan 20, 2023
- 2 min read
I don't for sure know the best way to structure this properly, because If it weren't for being able to see the dates these screenshots and videos were taken, I would have shockingly little of an idea or memory of the past 7 days. All I know is that a lot of work was done, and a lot of features have been added.
First off, I ran into an issue with libmikmod and Visual Studio before finding another build system that I could use with CMake, which conveniently involves the same IDE that I'm using to make the project to begin with. I was finally able to compile libmikmod without redundant and bloated dependencies (thanks Microsoft). I also solved the problem of music audio being muted if an SDL window was focused. The solution boiled down to switching audio drivers, as the DirectSound driver libmikmod detected as its default was causing the issue.
In the meantime though, I worked a bit with SDL's built-in renderer, so now I can draw and/or fill points, lines, and rectangles with adjustable colors and RGBA blending modes.
Here are the ones I've finished so far:

Now, here's a demo which showcases libmikmod music playing at the same time as multiple sound clips, as well as the new Lua bindings for SDL's renderer:
Next, I worked on SDL's mouse/cursor interface. These are the functions I've finished so far:

There aren't as many listed as the renderer, but they're important nonetheless.
Here's a test which involves capturing mouse input, which locking it to the center of a window:
For the demonstration, the cursor is visible here, but in practice it can/would be hidden.
Just for a bit of fun, and to actually use the cursor locking for something, here's a 3D cube:

I haven't made any loader that can parse .obj or a proprietary 3D mesh format, so I just made the cube the old-fashioned way.

Finally, here's the size of everything so far.
Next week I'll try to implement a bitmap font system, which should be a bit easier than it would otherwise, because I can use a more primitive earlier version I made for reference.

![[158] Most Important Brick in the Least Important Wall](https://static.wixstatic.com/media/df100d_f70be6ae4318455fbbc605cd1069c6ee~mv2.jpg/v1/fill/w_980,h_410,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/df100d_f70be6ae4318455fbbc605cd1069c6ee~mv2.jpg)
![[157] Mail Order Sacrifice](https://static.wixstatic.com/media/df100d_e284fa6c51b04524bab9d3cf9f1f6441~mv2.png/v1/fill/w_980,h_382,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/df100d_e284fa6c51b04524bab9d3cf9f1f6441~mv2.png)
![[156] Moat of Babble](https://static.wixstatic.com/media/df100d_091e451794b14aecb494a16c15c966c3~mv2.png/v1/fill/w_980,h_705,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/df100d_091e451794b14aecb494a16c15c966c3~mv2.png)
Comments