2341 lines later and the engine is finally done!
Now it's time to make levels! (I have 2 so far.)

And yes I did have to prevent a bug where sitting on a button being used to hold open a door could result in one jumping past the end of the door.
There are a few things still missing but they can be done later:
- You cannot delete levels from a level set yet.
- Multiple level sets are not supported. This is a matter of implementing the Windows 3.1 file open/save-as dialog boxes.
But anyway, time to actually make the levels!