Custom control subsystem - done
Vehicle base - mostly done, needs physics
Physics overlay - ongoing
Now you can hold down some custom keys and they will do something. The difference is that there are single key-stroke keys (e.g. firemode switch - you can hold it as long as you want, but it'll only be "pressed" for one frame), and keys that are held down (e.g. walk forward). Keys that are held down are rather tricky since you have an unsigned short int to store the bits. Walk forward, backward, left, right, turn left, right, jump, attack etc. each take up 1 bit in that integer, and all 16 of them are taken up. Hell no, I ain't gonna mess with that.
So, I decided to do a workaround which turned out to be pretty successful. I did a secondary flashlight, a sprint key and custom vehicle controls. :D
Speaking of vehicles:
vehicle_base
It's a really really basic vehicle. As basic as it gets. You can enter it and exit it. But of course, I thought I could also try this:
A chair that you can ride. Progress. ;)
Hippity hoppity little chair on the wall
Chair vs. terrain
The vehicle system was pretty much made from scratch. I didn't base it off func_tracktrain or anything like that. However, it's going to need some physics, and I'll see what I can do about that. It's going to be wonderful. :)