I still use my modified renderer DLL with Quake2 in my Steam library. Sometimes it updates and I have to re-inject it.
Works with all expansions (DLCs people call them today) but glitches on some skyboxes.

I also had fixed one conversion bug in lightmap upload code, all places where there was a pre-baked dynamic light affecting the map, it looked ugly (only that light taking effect on almost-black polygons). That was because this:
Code:
for (i=0 ; i<size ; i++, bl+=3 )
{
  bl[0] += lightmap[i*3+0];
  bl[1] += lightmap[i*3+1];
  bl[2] += lightmap[i*3+2];
}
was translated to this:
Code:
for i := 0 to size - 1 do
        begin
          bl[0] := lightmap[i * 3 + 0];
          bl[1] := lightmap[i * 3 + 1];
          bl[2] := lightmap[i * 3 + 2];
          inc(pSingle(bl), 3);
        end;
, which I corrected to this:
Code:
for i := 0 to size - 1 do
        begin
          bl[0] := bl[0] + lightmap[i * 3 + 0];
          bl[1] := bl[1] + lightmap[i * 3 + 1];
          bl[2] := bl[2] + lightmap[i * 3 + 2];
          inc(pSingle(bl), 3);
        end;
and the lightmaks worked as designed.