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

qmdl-v0.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.