This one is old news.
If you have the engine source, find any line that looks like this:
Code: Select all
Con_Printf ("GL_EXTENSIONS: %s\n", gl_extensions);
And delete it.
Increasing the varargs buffer size is a temp fix at best. Give it 2, 5, 10 or whatever years, and it's just going to be overflowing again.
Chopping the extensions string is ugly, but if you really
must print the extensions string (I suppose it's useful for debugging purposes) then I guess it's a bit better.
Ideally you'd parse each extension out of the string and print them individually. The OpenGL spec guarantees that each extension name is going to be followed by a space, so there's your delimiter. Make sure that Con_Printf doesn't trigger an SCR_UpdateScreen if so because startup might take a looooooooong time otherwise (Con_SafePrintf is good to use here).
If you limit the string in your driver you'd better hope that the extensions that get chopped off aren't ones that you're going to need.
DirectQ doesn't have this bug because it uses Direct3D. Only OpenGL has GL_EXTENSIONS after all.