In praise of SUB_CalcMoveDone

It comes up time and time again in map hacks, but why is SUB_CalcMoveDone such a versatile function? Today she gets her day in the sun, where we learn all the useful features of the function, revisit some old applications and see some new ones as well! Continue reading


qmdl 0.6


Fix to loading the bytes of the skin correctly (thanks to Redfield for figuring this out). This makes the module compatible with Python 3.6 onwards.


The Alternator

Last week’s map hack post had a requirement that some of the triggers fire in a particular order. In that post, the ordering was achieved by applying a delay to one of the triggers, but this was acknowledged to be insufficient for the map to work in co-op. In order to get the ordering without the delay, we could have resorted to putting the entities in a specific order within the map, as seen in several previous hacks. But can we do any better…

Five Statues Challenge

Jon Cednert submitted the latest reader challenge.

I have 5 statues in a room, kindof in a circle. There’s also 5 spotlights that each points to a statue, but they are turned off by default. Whenever you walk up to any of the statues, I want its corresponding spotlight to light up, and stay on, even if you walk away from the trigger.
The only thing that could turn that first spotlight off, is by walking up to any of the other 4 statues, and light up its corresponding light.

Challenge accepted! Here’s a quick video of the map I came up with

Continue reading

Teleporting Monsters Flag

Time to revise an old classic. I wrote a tutorial on Inside3d some time ago on how to make a spawnflag for teleporting monsters. One of the features I was proud of in the code was that the changes were centralised – you didn’t need to modify each monster individually to apply the spawnflag. Since the original is no longer live, but demand for the feature continues, I’ve decided to repost it. Continue reading