Commit 457433ec

– Do not ignore x and y positions with a value of 0
– Fix mutex deadlock when switching from full-screen to window mode

Fix #4, Fix #1

Hi! Scrolling is now working as expected in full-screen mode. While fixing that I also noticed a deadlock when switching from full-screen back to window mode which was caused by a mutex that was locked, but never unlocked for that specific code path – everything should be fine now. 🙂

CI Setup

Hello!

While there was no “official” commit for quite some time, I haven’t been idle. After being intrigued about the possibility of doing so, I have been setting up a small CI pipeline based on GitLab that allows me to get automated and packaged Linux and Windows builds.
I will not publish these just yet, as I want to get some more basic features in before giving the adventurous a chance to see what OLives is or could potentially be one day. I will skip these commits from the blog as they have nothing to do with the actual development process. Stay tuned!

Commit 7e4c3f66

Take the portal state into consideration when calculating the wall state hash

Once again, not really a great candidate for a screen shot, but still slightly exciting, at this “officially” puts an end to the whole portal topic for the time being, meaning it’s time to pick something new to work on!
In terms of what it actually does, if a wall or door gets placed you will get immediate visual feedback and will not have to wait until the mouse starts hovering and so implicitly forces a refresh of the wall drawing data.

Commit 3e6bdc79

Try to create the instance using Vulkan 1.1, but fall back to 1.0 if necessary

Does exactly what it says! Turns out that without explicitly installing new graphics drivers, most Windows installation only support Vulkan 1.0 out of the box.
Vulkan 1.1 is already preferred, but in no way needed, so we can easily fall back for the time being.

Commit f104363e

– do not use blitting when copying pixel data for selection purposes
– only copy the single, pertinent pixel
– Convert remaining C-style enums to enum classes
– Do not try to forcefully re-draw before the marker rendering data has been updated

Happy new year!
This commit message may not sound very exciting, it is fixing the issue of the input not working properly on Windows though, so check this out in all its glory:

This is a binary that was produced via cross-compiling and worked out of the box on Windows. It still feels weirdly choppy in comparison to running it on Linux (same machine) or even running the Windows binary on wine using Linux, but I’ll get it eventually.
This opens up the possibility of actually providing more or less regular builds using some sort of poor-man’s CI, let’s see what 2020 brings. 🙂