/// @description Loads the model from the indicated file name. /// @param ind The index of the model to be loaded. /// @param fname The name of the file to load the model from. var __ind = argument0; var __fname = argument1; var __file = file_text_open_read(__fname); if (__file == -1) return -1; // Get version number var __version = file_text_read_real(__file); if (__version != 100) { file_text_close(__file); return - 1; // wrong version } file_text_readln(__file); // Get number of entries var __numthings = file_text_read_real(__file); file_text_readln(__file); // At this point, scrub the contents of the passed-in model d3d_model_clear(__ind); // Now parse the contents of the file /// "currthing and numthings" /// way to go, YoYo var __currthing = 0; var __i; while(__currthing < __numthings) { // Every entry is 11 values - 1 'command' and 10 parameters var __kind = round(file_text_read_real(__file)); var __args; for(__i = 0; __i < 10; __i++) { __args[__i] = file_text_read_real(__file); } file_text_readln(__file); switch(__kind) { case e__YYMKIND.PRIMITIVE_BEGIN: d3d_model_primitive_begin(__ind, round(__args[0])); break; case e__YYMKIND.PRIMITIVE_END: d3d_model_primitive_end(__ind); break; case e__YYMKIND.VERTEX: d3d_model_vertex(__ind, __args[0], __args[1], __args[2]); break; case e__YYMKIND.VERTEX_COLOR: d3d_model_vertex_color(__ind, __args[0], __args[1], __args[2], round(__args[3]), __args[4]); break; case e__YYMKIND.VERTEX_TEX: d3d_model_vertex_texture(__ind, __args[0], __args[1], __args[2], __args[3], __args[4]); break; 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; case e__YYMKIND.VERTEX_N: d3d_model_vertex_normal(__ind, __args[0], __args[1], __args[2], __args[3], __args[4], __args[5]); break; 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; 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; 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; 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; 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; 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; 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; 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; 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; }; __currthing++; } file_text_close(__file);