Advertisement
Guest User

Untitled

a guest
Nov 27th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. package fr.plaigon.mdlloader;
  2.  
  3. import java.io.DataInputStream;
  4. import java.io.FileInputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.nio.ByteBuffer;
  8. import java.nio.ByteOrder;
  9. import java.nio.channels.FileChannel;
  10.  
  11. import com.google.common.io.LittleEndianDataInputStream;
  12.  
  13. import fr.plaigon.md5loader.GLApp;
  14.  
  15. public class MDLReader
  16. {
  17. public String filepath = "";
  18. public String filename = "";
  19.  
  20. public MDLReader(String fileName)
  21. {
  22. loadobject(fileName);
  23. }
  24.  
  25. public void loadobject(String objfilename)
  26. {
  27. if (objfilename != null && objfilename.length() > 0)
  28. {
  29. String[] pathParts = GLApp.getPathAndFile(objfilename);
  30. filepath = pathParts[0];
  31. filename = pathParts[1];
  32.  
  33. try
  34. {
  35. loadobject(GLApp.getInputStream(objfilename));
  36. }
  37. catch (Exception e)
  38. {
  39. System.out.println("MDLReader.loadobject(): Failed to read file: " + objfilename + " " + e);
  40. }
  41. }
  42. }
  43.  
  44. public void loadobject(InputStream in)
  45. {
  46. if (in != null)
  47. {
  48. int skinWidth, skinHeight;
  49. FileInputStream fis = (FileInputStream)in;
  50. try
  51. {
  52. LittleEndianDataInputStream dis = new LittleEndianDataInputStream(fis);
  53.  
  54. //Header start
  55.  
  56. System.out.println(dis.readInt());//ident or "magical number"
  57. System.out.println(dis.readInt());//version
  58.  
  59. //Scale model vector coordinates
  60. System.out.println(dis.readFloat());
  61. System.out.println(dis.readFloat());
  62. System.out.println(dis.readFloat());
  63.  
  64. //Translation model vector coordinates
  65. System.out.println(dis.readFloat());
  66. System.out.println(dis.readFloat());
  67. System.out.println(dis.readFloat());
  68.  
  69. System.out.println(dis.readFloat());//Sphere radius
  70.  
  71. //Eyes model vector coordinates
  72. System.out.println(dis.readFloat());
  73. System.out.println(dis.readFloat());
  74. System.out.println(dis.readFloat());
  75.  
  76. System.out.println(dis.readInt());//num_skins
  77. System.out.println(skinWidth = dis.readInt());//skinwidth
  78. System.out.println(skinHeight = dis.readInt());//skinheight
  79. System.out.println(dis.readInt());//num_verts
  80. System.out.println(dis.readInt());//num_tris
  81. System.out.println(dis.readInt());//num_frames
  82. System.out.println(dis.readInt());//synctype
  83. System.out.println(dis.readInt());//flags
  84. System.out.println(dis.readFloat());//average size of triangles
  85.  
  86. System.out.println(dis.readInt());
  87. for(int i = 0; i < skinWidth * skinHeight; i++)
  88. System.out.println(dis.readByte());
  89.  
  90. //Header end
  91. }
  92. catch (IOException e)
  93. {
  94. e.printStackTrace();
  95. }
  96. }
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement