Hello world... I'm still alive

I know, for anyone out there, if anyone reads at all, I'm sorry it has been a long time since my first and last blogpost, but a lot has been happening lately. So let me explain...

First of all I live in Dundee, Schotland, for now atleast, as part of my Erasmus.Where I take three courses which I have great interest in. First and foremost I have a Networking course, but I also have an Computer Architecture and Operating System course and lastly an Data Structure and Algorithm course. Next to that I also went to Brains Eden where we, 3 programmers and 2 artists, made Hot As Ice in 48 hours and had a lot of fun doing it.

Next to that, I've also worked at Aperi, where I've programmed in Java on a program that generated protobuf-configuration-files and are send and used in an embedded device. While working there I've learned a lot about protobuf and Java while also learning to work on a bigger scoped project.

But you're probably not here to read about my personal life, although most of it had to do with programming let me tell you guys about my current sideproject. I've been working on a RAWINPUT-library, since I dislike the XINPUT-API and the DINPUT-API. The XINPUT-API is limited to 4 players only for some unclear reason and the DINPUT-API is depreciated and only supports Xbox 360 controllers. So that's why I would like a more generalized API and also support for other 3th party controllers while we can.

While researching this I've also remembered that in my teenage years, no game ever supported multiple keyboard and mice, not that I know of at least (except Serious Sam who supported 2 mice). So, when I was over at my friend's house we had to plug in two keyboards, so that one player could play on the wasd-keys while the other player played with the arrow-keys. And when was looking into the controllers-thing I found out that all of the stated things above could be fixed inside the windows-message loop and the RAWINPUT-API. I've tested things out for a bit and found out that I can distinguish every keyboard and keypress from each other, same for mice and for controllers. I can also generalize controller input, so Xbox controllers are indistinguishable from PlayStation one's or any off-brand controller for that matter. So, that's what I've been up to lately. This is mostly done and I'm ready to implement this as a plugin inside Unreal Engine and Unity.

This sounded easy, but as it turned out Unity has no obvious way of hooking into the Windows Message loop, but then I found an Intel article related to hooking into the Windows Message loop and I will try this option out in the near future. Thanks Intel.As for Unreal Engine, there is an undocumented feature for hooking into the message loop, but thanks to the internet I've found that you can use the IWindowsMessageHandler-interface to hook into it.

As for cross-platform compatibility I'm still looking into that one, but that's for later. So that's what I've been up to lately. I also should have another post about this self-hosted website and the other services I'm running on my server at home or as I like to call it my homelab soon.

Till next time.