15 Nov 10, 05:21PM
@tempest
I found from where come problems with "cant kill bots" and "fire in the air" , it come from rendergl.cpp, in that piece of code:
For that piece of code, i have in shell all the time while play in game:
Dunno what it mean in human words, but as far as i understands, it fucks on the z-buffer depth reading. There is what author write before that fucntion in comments:
So looks like it very well known problem. I trying to found that "mosnter.cpp" file with los() fucntion, but have no luck. For sure it can be changed somehow, but there need some opengl guru ..
I found from where come problems with "cant kill bots" and "fire in the air" , it come from rendergl.cpp, in that piece of code:
Quote:void readdepth(int w, int h, vec &pos)
{
glReadPixels(w/2, h/2, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &cursordepth);
vec screen(0, 0, depthcorrect(cursordepth)*2 - 1);
vec4 world;
invmvpmatrix.transform(screen, world);
pos = vec(world.x, world.y, world.z).div(world.w);
}
For that piece of code, i have in shell all the time while play in game:
Quote:MISSING ARGB PACK SUPPORT FOR GL_DEPTH_COMPONENT/GL_FLOAT
Dunno what it mean in human words, but as far as i understands, it fucks on the z-buffer depth reading. There is what author write before that fucntion in comments:
Quote:// find out the 3d target of the crosshair in the world easily and very acurately.
// sadly many very old cards and drivers appear to fuck up on glReadPixels() and give false
// coordinates, making shooting and such impossible.
// also hits map entities which is unwanted.
// could be replaced by a more acurate version of monster.cpp los() if needed
So looks like it very well known problem. I trying to found that "mosnter.cpp" file with los() fucntion, but have no luck. For sure it can be changed somehow, but there need some opengl guru ..