Need some help to finalize AmigaOS4 port of AssaultCube
#25
@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:

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 ..
Thanks given by:


Messages In This Thread
RE: Need some help to finalize AmigaOS4 port of AssaultCube - by kas1e - 15 Nov 10, 05:21PM