I downloaded the current CVS version and hacked it so that it compiled
for win95+glide.
(most of the problems to be hacked were related to the GLAPIENTRY like
stuff)
I then noticed that that the program for my favorite polyhedron did not
run (3dfx/demos/teapot)
The reason was that in do_normal_transform (pipeline.c)
transform_normalize_normals (norm_tmp.h) was called with a
null VB->NormalLengthPtr added with a non zero VB->Start value.
the code in norm_tmp.h can handle a null pointer but
the VB->Start addition made it to fail.
I fixed the problem by changing the function call to be
(pipeline.c:439):
(ctx->NormalTransform[tmp])(&ctx->ModelView,
ctx->vb_rescale_factor,
VB->NormalPtr,
VB->NormalLengthPtr ? VB->NormalLengthPtr + VB->Start :
0,
VB->NormCullStart,
VB->store.Normal);
Eero