For context, I have just finished Day 043
Let's say I press 'L' to start recording input and then start holding down 'A' so the hero is walking to the left. I press 'L' again to stop recording and being the input playback. Well if I exit the input playback while the hero is walking left, he continues to walk left, as if I was still holding the 'A' key down. I believe it's because Win32ProcessKeyboardMessage is not being called again for (IsDown == 0 && VKCode == 'A') since there was not release of that specific key between the playback running and pressing 'L' to stop playback. Is there something I might be obviously missing in my code? Is this how it is working for everyone?
This happens also if I put a break in the Win32ProcessKeyboardMessage in the if statements for VKCode == '?', where '?' is any key. When I continue to run the program, there is not a key release message processed for whatever key I put the break in for. [this issue doesn't need to be solved, just comparing the problems]
Obviously it's a really minor issue. But once I start assigning many keys to many things and replaying my input, I'm afraid that I might forget that some keys may stick when I toggle the input playback on and off. And a hell gate will open or something.