Dimenticare

d3d_model_load - compatibility script

Dec 25th, 2016
518
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /// @description  Loads the model from the indicated file name.
  2. /// @param ind The index of the model to be loaded.
  3. /// @param fname The name of the file to load the model from.
  4.  
  5. var __ind = argument0;
  6. var __fname = argument1;
  7.  
  8. var __file = file_text_open_read(__fname);
  9. if (__file == -1)
  10.     return -1;
  11.    
  12. // Get version number
  13. var __version = file_text_read_real(__file);
  14. if (__version != 100)
  15. {
  16.     file_text_close(__file);
  17.     return - 1; // wrong version
  18. }
  19. file_text_readln(__file);
  20.  
  21. // Get number of entries
  22. var __numthings = file_text_read_real(__file);
  23. file_text_readln(__file);
  24.  
  25. // At this point, scrub the contents of the passed-in model
  26. d3d_model_clear(__ind);
  27.  
  28. // Now parse the contents of the file
  29. /// "currthing and numthings"
  30. /// way to go, YoYo
  31. var __currthing = 0;
  32. var __i;
  33. while(__currthing < __numthings)
  34. {
  35.     // Every entry is 11 values - 1 'command' and 10 parameters
  36.     var __kind = round(file_text_read_real(__file));
  37.     var __args;
  38.     for(__i = 0; __i < 10; __i++)
  39.     {
  40.         __args[__i] = file_text_read_real(__file);
  41.     }
  42.     file_text_readln(__file);
  43.    
  44.     switch(__kind)
  45.     {
  46.         case e__YYMKIND.PRIMITIVE_BEGIN:    d3d_model_primitive_begin(__ind, round(__args[0])); break;
  47.         case e__YYMKIND.PRIMITIVE_END:      d3d_model_primitive_end(__ind); break;
  48.         case e__YYMKIND.VERTEX:             d3d_model_vertex(__ind, __args[0], __args[1], __args[2]); break;
  49.         case e__YYMKIND.VERTEX_COLOR:       d3d_model_vertex_color(__ind, __args[0], __args[1], __args[2], round(__args[3]), __args[4]); break;
  50.         case e__YYMKIND.VERTEX_TEX:         d3d_model_vertex_texture(__ind, __args[0], __args[1], __args[2], __args[3], __args[4]); break;
  51.         case e__YYMKIND.VERTEX_TEX_COLOR:   d3d_model_vertex_texture_color(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], round(__args[5]), __args[6]); break;
  52.         case e__YYMKIND.VERTEX_N:           d3d_model_vertex_normal(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5]); break;
  53.         case e__YYMKIND.VERTEX_N_COLOR:     d3d_model_vertex_normal_color(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5], round(__args[6]), __args[7]); break;
  54.         case e__YYMKIND.VERTEX_N_TEX:       d3d_model_vertex_normal_texture(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5], __args[6], __args[7]); break;
  55.         case e__YYMKIND.VERTEX_N_TEX_COLOR: d3d_model_vertex_normal_texture_color(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5], __args[6], __args[7], round(__args[8]), __args[9]); break;
  56.         case e__YYMKIND.SHAPE_BLOCK:        d3d_model_block(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5], __args[6], __args[7]); break;
  57.         case e__YYMKIND.SHAPE_CYLINDER:     d3d_model_cylinder(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5], __args[6], __args[7], round(__args[8]), round(__args[9])); break;
  58.         case e__YYMKIND.SHAPE_CONE:         d3d_model_cone(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5], __args[6], __args[7], round(__args[8]), round(__args[9])); break;
  59.         case e__YYMKIND.SHAPE_ELLIPSOID:    d3d_model_ellipsoid(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5], __args[6], __args[7], round(__args[8])); break;
  60.         case e__YYMKIND.SHAPE_WALL:         d3d_model_wall(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5], __args[6], __args[7]); break;
  61.         case e__YYMKIND.SHAPE_FLOOR:        d3d_model_floor(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5], __args[6], __args[7]); break;     
  62.     };
  63.    
  64.     __currthing++;
  65. }
  66.  
  67.    
  68. file_text_close(__file);
Advertisement
Add Comment
Please, Sign In to add comment