Camtech075

New FEditor Script Creator

Sep 13th, 2011
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.19 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileNotFoundException;
  3. import java.io.PrintStream;
  4. import java.util.Scanner;
  5. import java.io.FileInputStream;
  6.  
  7. public class FEditor_Script_Reader {
  8.  
  9. public static String toHex(long a) {
  10.  
  11. //Laziness, it's easier to write
  12. //toHex(asdf) than "asdf.whatever"
  13.  
  14. String result = Long.toString(a, 16);
  15.  
  16. return result.toUpperCase();
  17.  
  18. }
  19.  
  20. public static void main(String[] args) throws FileNotFoundException {
  21.  
  22. //Scanner dmpReader = new Scanner(new File("literal.txt"));
  23. FileInputStream dmpReader = new FileInputStream(new File("dumped.dmp"));
  24. PrintStream txtWriter = new PrintStream("dumpscript.txt");
  25.  
  26. int countvar = 0;
  27. int modenum = 1;
  28. int framenum = 1;
  29.  
  30. /*if (!dmpReader.hasNextLong(16))
  31. {
  32. txtWriter.println("Error with \"literal.txt\"");
  33. System.out.println("You're almost there. Read the readme and try again.");
  34. }
  35. else
  36. {
  37. txtWriter.println("//begin Mode 1");
  38. }*/
  39.  
  40. txtWriter.println("//begin Mode 1");
  41.  
  42. while (dmpReader.available()!=0)
  43. {
  44. long byte1 = dmpReader.read();
  45. long byte2 = dmpReader.read();
  46. long byte3 = dmpReader.read();
  47. long cmdbyte = dmpReader.read();
  48.  
  49. long threebytes = byte1 + byte2 + byte3;
  50.  
  51. System.out.println(".");
  52.  
  53. //if (cmdbyte == 0x80 && threebytes == 0x00)
  54. switch ((int)cmdbyte)
  55. {
  56. case 0x80:
  57. txtWriter.println("~~~");
  58.  
  59. System.out.println("Finished mode " + modenum);
  60. modenum++;
  61.  
  62. if (modenum < 13)
  63. {
  64. txtWriter.println("//begin Mode " + modenum);
  65. }
  66. else
  67. {
  68. txtWriter.print("//End of animation script");
  69. }
  70. break;
  71.  
  72. //framenum = 1;
  73. case 0x85:
  74. //int cbyte = cmdbyte.parseInt(16);
  75. if (byte1 < 0x10)
  76. {
  77. txtWriter.print("C0");
  78. txtWriter.println(toHex(byte1));
  79. }
  80. else
  81. {
  82. txtWriter.print("C");
  83. txtWriter.println(toHex(byte1));
  84. }
  85. break;
  86.  
  87. case 0x86:
  88. txtWriter.print(byte1 + " p- ");
  89.  
  90. switch(modenum)
  91. {
  92.  
  93. case 1:
  94. case 2:
  95. case 12:
  96. txtWriter.println("att" + byte3 + ".png");
  97. ++framenum;
  98. break;
  99. case 3:
  100. case 4:
  101. txtWriter.println("crt" + byte3 + ".png");
  102. ++framenum;
  103. break;
  104. case 5:
  105. txtWriter.println("rng" + byte3 + ".png");
  106. ++framenum;
  107. break;
  108. case 6:
  109. txtWriter.println("rngcrit" + byte3 + ".png");
  110. ++framenum;
  111. break;
  112. case 7:
  113. case 8:
  114. txtWriter.println("dodge" + byte3 + ".png");
  115. ++framenum;
  116. break;
  117. case 9:
  118. case 10:
  119. case 11:
  120. txtWriter.println("stand" + byte3 + ".png");
  121. ++framenum;
  122. break;
  123.  
  124. }
  125. break;
  126.  
  127. case 0x00:
  128. break;
  129.  
  130. default:
  131. txtWriter.println(byte1 + " " + byte2 + " " + " " + byte3 + " " + cmdbyte);
  132. System.out.println("Found unknown command.");
  133. break;
  134.  
  135. }
  136. }
  137.  
  138. System.out.println("Finished.");
  139. }
  140.  
  141. }
Advertisement
Add Comment
Please, Sign In to add comment