
The Pushable Now Works Fairly Well!
So I finally managed to make this work, with some simplifications and workarounds. The pushable drops on the ground with constant speed only and collision against walls is only checked from the bounding box's corners (so if the wall is narrower, it will go through the wall) but this is good enough for most maps. And I'm planning to still make a few more improvements.
The latest code is in my github if anyone wants to take a look:
https://github.com/ValentineQwerty/vqmdk/blob/master/qc/entities/pushables.qc