Another possible example is to use the CONTACT* struct pointer, like this:

WSAD - moving terrain

Code:
#include <default.c>

function main()
{
   d3d_lines = 3; level_load("");
	
   vec_set(camera.x,vector(-150,0,100));
   vec_set(camera.pan,vector(0,-30,0));
	
   ENTITY* terrain = ent_createterrain(NULL,nullvector,10,10,10);
   ent_setskin(terrain, bmap_fill(bmap_createblack(32,32,16),COLOR_WHITE,100), 1);
	
   you = ent_create(SPHERE_MDL,nullvector,NULL); vec_scale (you.scale_x, 2);
   ent_setskin(you, bmap_fill(bmap_createblack(32,32,16),COLOR_GREEN,100), 1);
	
   while(1){
      int i = ent_status(terrain,0);
      for (; i>0; i--) { 
         CONTACT* c = ent_getvertex(terrain,NULL,i);
         c.v.x += 10 * (key_w - key_s) * time_frame;
         c.v.z += 10 * (key_a - key_d) * time_frame; // Y = Z (DX coordinate system)
         ent_setvertex(terrain,c,i); 
      }
   c_setminmax(terrain);
   wait(1);
   }
}



Last edited by rojart; 09/27/11 23:58.

Regards, Robert

Quote
Everything should be made as simple as possible, but not one bit simpler.
by Albert Einstein

PhysX Preview of Cloth, Fluid and Soft Body

A8.47.1P