Advertisement
CaptainLepidus

Terrain Generation

Feb 22nd, 2012
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Information about object: objHeightMap
  2. Sprite:
  3. Solid: false
  4. Visible: true
  5. Depth: 100
  6. Persistent: false
  7. Parent:
  8. Mask:
  9.  
  10. Create Event:
  11.  
  12. execute code:
  13.  
  14. {
  15.     xx = room_width / 32;
  16.     yy = room_height / 32;
  17.     d3d_start();
  18.     surf = surface_create( 33 , 33 );
  19.     surface_set_target( surf );
  20.     draw_set_color( c_black );
  21.     draw_rectangle( 0 , 0 , 33 , 33 , 0 );
  22.     draw_circle_color( 16 , 16 , 4 , c_white , c_black , 0 );
  23.     surface_reset_target();
  24.     for( i = 0; i < 33; i = i + 1 )
  25.     {
  26.         for( j = 0; j < 33; j = j + 1 )
  27.         {
  28.             col[ i , j ] = surface_getpixel( surf , i , j );
  29.             hei[ i , j ] = color_get_value( col[ i , j ] );
  30.         }
  31.     }
  32.     draw_set_color( c_white );
  33.     ter = d3d_model_create();
  34.     d3d_model_primitive_begin( ter , pr_trianglelist );
  35.     for( i = 0; i < 32; i = i + 1 )
  36.     {
  37.         for( j = 0; j < 32; j = j + 1 )
  38.         {
  39.             d3d_model_vertex( ter , i * xx , j * yy , hei[ i , j ] );
  40.             d3d_model_vertex( ter , ( i + 1 ) * xx , j * yy , hei[ i + 1 , j ] );
  41.             d3d_model_vertex( ter , i * xx , ( j + 1 ) * yy , hei[ i , j + 1 ] );
  42.             d3d_model_vertex( ter , ( i + 1 ) * xx , j * yy , hei[ i + 1 , j ] );
  43.             d3d_model_vertex( ter , i * xx , ( j + 1 ) * yy , hei[ i , j + 1 ] );
  44.             d3d_model_vertex( ter , ( i + 1 ) * xx , ( j + 1 ) * yy , hei[ i + 1 , j + 1 ] );
  45.         }
  46.     }
  47.     d3d_model_primitive_end( ter );
  48. }
  49.  
  50. Draw Event:
  51.  
  52. execute code:
  53.  
  54. {
  55.     tex = background_get_texture( bckGrass );
  56.     //d3d_set_projection( room_width / 2 , room_height / 2 + 2 * yy , 32 * xx , room_width / 2 , room_height / 2 , 16 * yy , 0 , -1 , 0 );
  57.     with objPlayer
  58.     {
  59.         d3d_set_projection( x , y , 64 , x + lengthdir_x( 16 , direction ) , y + lengthdir_y( 16 , direction ) , 64 + zdir , 0 , 0 , 1 );
  60.     }
  61.     d3d_model_draw( ter , 0 , 0 , 0 , tex );
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement