This weekend I polished up the decal rendering code and finished bullet holes.
Bullet hole decals in Half-Life are contained in the wad file decals.wad, along with other decals like blood splatter and signs. Each of them follow the naming scheme “{SHOT” followed by a number. There are 5 of them, and I randomly pick one for each new bullet hole. I think it looks pretty close to the original!

Decals aren’t entirely finished, as I took some shortcuts to get bullet holes working. First off, I need to rework the decoding of the decal images, GoldSrc seems to decode decal images using slightly different rules according to this tutorial. Each pixel is really a grayscale pixel, where 255 is fully transparent and 0 is fully opaque. The last color in the palette is the real color that should be used for the decal. Once I fix that, I should be positioned for blood splatter and other decals.
I may return to path finding next or finish off the other decals. It’ll depend on what I’m feeling next weekend.