Camtech075

Untitled

Sep 18th, 2011
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.47 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileNotFoundException;
  3. import java.io.PrintStream;
  4. import java.io.FileInputStream;
  5. import java.io.IOException;
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import java.awt.Container;
  9. import javax.swing.JTextField;
  10. import javax.swing.JButton;
  11. import java.awt.GridLayout;
  12. import java.awt.FlowLayout;
  13. import java.awt.event.ActionListener;
  14. import java.awt.event.ActionEvent;
  15. import javax.swing.JCheckBox;
  16. import java.awt.event.ItemListener;
  17. import java.awt.event.ItemEvent;
  18.  
  19. public class FEditor_Script_Reader {
  20.  
  21. public static void main(String[] args) {
  22.  
  23. JFrame frame;
  24. JTextField textfield;
  25. Container contentPane;
  26. String go;
  27. JLabel whatmode;
  28. JButton button;
  29. FlowLayout layout;
  30. String fileName;
  31. JCheckBox regAttack, crit, ranged, rngcrit, dodge, stand;
  32.  
  33. frame = new JFrame();
  34. frame.setTitle("Script Converter");
  35.  
  36. contentPane = frame.getContentPane();
  37. textfield = new JTextField("[blank]FrameData.dmp", 15);
  38. whatmode = new JLabel("Check the modes you wish to convert (see readme)");
  39.  
  40. go = "Create Script!";
  41.  
  42. regAttack = new JCheckBox("1/2/12");
  43. regAttack.addItemListener(this);
  44. crit = new JCheckBox("3/4");
  45. crit.addItemListener(this);
  46. ranged = new JCheckBox("5");
  47. ranged.addItemListener(this);
  48. rngcrit = new JCheckBox("6");
  49. rngcrit.addItemListener(this);
  50. dodge = new JCheckBox("7/8/9");
  51. dodge.addItemListener(this);
  52. stand = new JCheckBox("10/11");
  53. stand.addItemListener(this);
  54.  
  55. button = new JButton(go);
  56. button.addActionListener(new MyActionListener(textfield));
  57.  
  58. contentPane.add(textfield);
  59. contentPane.add(whatmode);
  60. contentPane.add(regAttack);
  61. contentPane.add(crit);
  62. contentPane.add(ranged);
  63. contentPane.add(rngcrit);
  64. contentPane.add(dodge);
  65. contentPane.add(stand);
  66. contentPane.add(button);
  67. layout = new FlowLayout();
  68. contentPane.setLayout(layout);
  69.  
  70. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  71. frame.pack();
  72. frame.setSize(800,110);
  73. frame.setVisible(true);
  74.  
  75. //Scanner dmpReader = new Scanner(new File("literal.txt"));
  76.  
  77. }
  78.  
  79. }
  80.  
  81. class MyItemListener implements ItemListener {
  82.  
  83. public void itemStateChanged(ItemEvent event) {
  84.  
  85. String whatWasChecked = (String) event.getItem();
  86. final boolean attackIsChecked = whatWasChecked.equals("regAttack");
  87. final boolean critIsChecked = whatWasChecked.equals("crit");
  88. final boolean rangeIsChecked = whatWasChecked.equals("ranged");
  89. final boolean rngCritIsChecked = whatWasChecked.equals("rngcrit");
  90. final boolean dodgeIsChecked = whatWasChecked.equals("dodge");
  91. final boolean standIsChecked = whatWasChecked.equals("stand");
  92.  
  93. }
  94.  
  95. }
  96.  
  97. class MyActionListener implements ActionListener {
  98.  
  99. public static JLabel label;
  100. public static JTextField textfield;
  101. public static String errorMessage, finished;
  102. static JFrame finalframe;
  103. static Container contentPane;
  104.  
  105. public static String toHex(long a) {
  106.  
  107. //Laziness, it's easier to write
  108. //toHex(asdf) than "asdf.whatever"
  109.  
  110. String result = Long.toString(a, 16);
  111.  
  112. return result.toUpperCase();
  113.  
  114. }
  115.  
  116. MyActionListener(JTextField textfield) {
  117.  
  118. this.textfield = textfield;
  119.  
  120. }
  121.  
  122. public void actionPerformed(ActionEvent e) {
  123.  
  124. finished = "Finished.";
  125. errorMessage = "Error with your file.";
  126. String fileName = textfield.getText();
  127.  
  128. try
  129. {
  130.  
  131. FileInputStream dmpReader = new FileInputStream(new File(fileName));
  132. PrintStream txtWriter = new PrintStream("dumpscript.txt");
  133.  
  134. int countvar = 0;
  135. int modenum = 1;
  136. int framenum = 1;
  137.  
  138. //FileNotFoundException("Error: File not Found");
  139.  
  140. txtWriter.println("//begin Mode 1");
  141.  
  142. while (dmpReader.available()!=0)
  143. {
  144. long byte1 = dmpReader.read();
  145. long byte2 = dmpReader.read();
  146. long byte3 = dmpReader.read();
  147. long cmdbyte = dmpReader.read();
  148.  
  149. long threebytes = byte1 + byte2 + byte3;
  150.  
  151. //if (cmdbyte == 0x80 && threebytes == 0x00)
  152. switch ((int)cmdbyte)
  153. {
  154. case 0x80:
  155. txtWriter.println("~~~");
  156. modenum++;
  157.  
  158. if (modenum < 13)
  159. {
  160. txtWriter.println("//begin Mode " + modenum);
  161. }
  162. else
  163. {
  164. txtWriter.print("//End of animation script");
  165. }
  166. break;
  167.  
  168. //framenum = 1;
  169. case 0x85:
  170. //int cbyte = cmdbyte.parseInt(16);
  171. if (byte1 < 0x10)
  172. {
  173. txtWriter.print("C0");
  174. txtWriter.println(toHex(byte1));
  175. }
  176. else
  177. {
  178. txtWriter.print("C");
  179. txtWriter.println(toHex(byte1));
  180. }
  181. break;
  182.  
  183. case 0x86:
  184. txtWriter.print(byte1 + " p- ");
  185.  
  186. switch(modenum)
  187. {
  188.  
  189. case 1:
  190. case 2:
  191. case 12:
  192. txtWriter.println("att-" + byte3 + ".png");
  193. ++framenum;
  194. break;
  195. case 3:
  196. case 4:
  197. txtWriter.println("crt-" + byte3 + ".png");
  198. ++framenum;
  199. break;
  200. case 5:
  201. txtWriter.println("rng-" + byte3 + ".png");
  202. ++framenum;
  203. break;
  204. case 6:
  205. txtWriter.println("rngcrit-" + byte3 + ".png");
  206. ++framenum;
  207. break;
  208. case 7:
  209. case 8:
  210. txtWriter.println("dodge-" + byte3 + ".png");
  211. ++framenum;
  212. break;
  213. case 9:
  214. case 10:
  215. case 11:
  216. txtWriter.println("stand-" + byte3 + ".png");
  217. ++framenum;
  218. break;
  219.  
  220. }
  221. break;
  222.  
  223. case 0x00:
  224. break;
  225.  
  226. default:
  227. txtWriter.println(byte1 + " " + byte2 + " " + " " + byte3 + " " + cmdbyte);
  228. System.out.println("Found unknown command: " + cmdbyte);
  229. break;
  230.  
  231. }
  232. }
  233.  
  234. finalframe = new JFrame();
  235.  
  236. label = new JLabel(finished);
  237. contentPane = finalframe.getContentPane();
  238. contentPane.add(label);
  239.  
  240. finalframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  241. finalframe.pack();
  242. finalframe.setVisible(true);
  243.  
  244. }
  245. catch (IOException exception)
  246. {
  247. finalframe = new JFrame();
  248.  
  249. label = new JLabel(errorMessage);
  250.  
  251. contentPane = finalframe.getContentPane();
  252. contentPane.add(label);
  253.  
  254. finalframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  255. finalframe.pack();
  256. finalframe.setVisible(true);
  257. }
  258. }
  259.  
  260. }
Advertisement
Add Comment
Please, Sign In to add comment