You not really need to use this syntax ExtractTriangles(nil, nil); you can use ExtractTriangles; directly.
test:= street.MeshObjects.Items[0].ExtractTriangles;
Don't forget to create the list before try to use it.
You can do something like this:
test:=TAffineVectorList.create;
Load your data in your list.
test:= street.MeshObjects.Items[0].ExtractTriangles;
And sent it to the newton tree.
On final free your tmp list.
test.Free;
PS: don't forget too, the Faces is only a TVector3f and not a list.
NewtonTreeCollisionAddFace(terrain, 3, @faces[0], 12, 1);
12 is the pointer size: one single = 4 the TVector3f = 3 x 4 = 12.
On this case you can replace the 12 by the size of the data type that you use.
Exemple NewtonTreeCollisionAddFace(terrain, 3, @faces[0], SizeOf(TVector3f), 1);
On this way your all times sure to don't make error if exemple you use a other type like TVector because this one = 4 single.
SizeOf(TVector3f) = 12 and SizeOf(TVector) = 16
Good luck.
