Zero Length Strings

AKA the Killtarget bug. This one came up during Map Jam 7, and it’s a bug which affects classic Quake and Quoth alike (note to future readers, if Quoth is past version 2.2 then this is no longer the case…). It manifests itself when a rogue entity deletes everything on the map without a targetname – including the player! This is obviously a showstopper, but to understand why it happens we need to explore a subtle detail of the QuakeC language.
Continue reading

Missing items and the restart command

Quake doesn’t give mappers direct control over the items a player starts with. If you want the player to have a nailgun from the moment the level starts, overlapping the weapon with the spawn point seems like a good idea. Most of the time the player picks up the weapon immediately and all is well, but a bug occurs if the player uses the restart command to load the level from the beginning – the item falls out of the level! This article takes a brief look at why, and then suggests how to modify the QuakeC code to work around it. Continue reading

qmdl 0.5


Fixes to several deficiencies in the Mdl saving code causing issues with Winquake:

  • Onseam flag uses the value 32 instead of 1 to prevent visual corruption
  • Added helper functions to correct bbox_max and bbox_min values for frame to prevent a crash in winquake
  • added recalculate_header function to calculate correct values for boundingradius and average_size fields, improving rendering in winquake

The helper object has been enhanced to automatically run these helper functions on the mdl file before each save.