Commit Graph

285 Commits

Author SHA1 Message Date
Adam
66084e1398 Lookup methods and return those in getMethods(). Lookup stuff in execution next to the classgraph building. 2015-11-14 22:07:44 -05:00
Adam
337e98fb95 Include prev invokes for deciding if weve jumped before, fixes the graph jump test 2015-11-14 20:33:38 -05:00
Adam
a867b7af9d Index 7 appears to be models. Am able to view them in rsmv. 2015-11-13 21:25:29 -05:00
Adam
10a613a601 NPC dumping. Weird tool leprechaun is id 0? This might be wrong. 2015-11-13 18:52:51 -05:00
Adam
0bce4dcbde . 2015-11-13 18:23:31 -05:00
Adam
0ae993e8fa Item def dumper 2015-11-13 18:23:17 -05:00
Adam
e30b69d190 More cleanup. Also dump more than one image if more than one exists. 2015-11-13 16:55:28 -05:00
Adam
abb7d699b7 Little bit of rewriting 2015-11-12 20:01:33 -05:00
Adam
1a8e11b7f9 Test exports png files ok, need to clean this up as it is mostly ripped from os cache suite 2015-11-12 19:01:48 -05:00
Adam
a312edd581 Beginning of work on sprite loading/exporting 2015-11-12 18:50:38 -05:00
Adam
3c5fcc018f Add basic failing graph test 2015-11-11 20:22:46 -05:00
Adam
be1b8f1e98 various fixes to graph building. I think there is a problem with how the execution runs, where it is not exploring all paths, because I have v13 class133.method2817 -> v14 class133 method2828 and there is no edge on the rhs for method4060->method4081. I think it is from two branches jumping to a place which jumps to the same place after, with invoke instructions on both sides. 2015-11-11 14:49:12 -05:00
Adam
4ae0c954cd Add integrity checks to methodinliner 2015-11-11 10:47:28 -05:00
Adam
be1d5ed010 Instruction clone wasnt creating new jump lists... 2015-11-10 20:39:17 -05:00
Adam
782fa9f70a switch instructions can jump multiple times to the same place 2015-11-10 10:27:05 -05:00
Adam
3edf7e2f4c Trying to run the better inliner so the graph matches up. Maybe instead figure out a way to passively ignored the static func calls. Regardless this assert fails due to a corrupted jump graph. 2015-11-09 21:18:21 -05:00
Adam
60d4cd94fd This does 326 methods. 2015-11-09 19:58:15 -05:00
Adam
e1ce955f6e doesn't work. graph stuff doesnt like ids of 0. and i need to reuse ids sometimes for some instructions, oops. 2015-11-08 21:02:36 -05:00
Adam
6ce5564e9f Move stuff to functions 2015-11-07 22:40:51 -05:00
Adam
cb639749e1 Little cleanup of old stuff I was trying 2015-11-07 22:27:15 -05:00
Adam
25cb9b5f8b This looks promising 2015-11-07 21:55:03 -05:00
Adam
ae82aad250 Make method inliner copy instead of move ins. I don't think the way it inlined exceptions before was correct. I had to make it not inline funcs with exception handlers 2015-11-06 17:49:24 -05:00
Adam
84fa11c8c8 I think i need exprs 2015-11-06 10:33:52 -05:00
Adam
8df59fb261 Fix test, fail in dup2_x1 2015-11-02 17:56:25 -05:00
Adam
483bdbc165 Add failing test, I think this should be passing 2015-11-01 19:07:13 -05:00
Adam
5e652a8799 Tests pass again. I see some cases of longs math not simplifying tho 2015-11-01 18:26:28 -05:00
Adam
695f7de686 Various Long work. this is making the int tests fail though 2015-11-01 17:47:49 -05:00
Adam
113363cd67 more work 2015-10-30 22:36:29 -04:00
Adam
8e68963f65 long work 2015-10-30 20:28:10 -04:00
Adam
1f716bf10d Small fix found by test, not sure if it breaks the larger picture 2015-10-25 20:08:57 -04:00
Adam
018a3619a8 Call constructor so executor picks it up 2015-10-25 19:28:27 -04:00
Adam
85a4587143 Comment cleanup 2015-10-25 19:28:12 -04:00
Adam
9cf9c31f2d This doesn't pass if this field isn't static 2015-10-25 19:20:17 -04:00
Adam
e81e46c68c First modarith test 2015-10-25 19:11:25 -04:00
Adam
8e39328eca Cleanup to prepare for tests 2015-10-25 14:19:48 -04:00
Adam
d7026aed78 recomment 2015-10-25 14:11:01 -04:00
Adam
e03d638c2e I guess this is right? 2015-10-25 13:16:27 -04:00
Adam
5094943453 This works. Except for final fields, which I can evaluate later. 2015-10-23 15:46:03 -04:00
Adam
f21cbba8b5 Fix test 2015-10-23 12:27:44 -04:00
Adam
d4f40eaf03 Trying to fine tune stuff, found a *1 not removed which is messing with some stuff, added test 2015-10-23 12:04:23 -04:00
Adam
85c49413dd guess more 2015-10-23 11:00:47 -04:00
Adam
bfb3a373c9 idk what im using, use multiplication expr to determine if another field is in the mix 2015-10-22 21:50:51 -04:00
Adam
9f17dec605 idr 2015-10-22 17:51:11 -04:00
Adam
5f6b01f4a0 1/0 works once again, maybe. 2015-10-22 11:01:43 -04:00
Adam
2f5f9861ef one/zero? obs arent handling stuff right, add test. now im setting null on instructions some places they fail 2015-10-22 09:53:56 -04:00
Adam
bd2e62c22f Ran it a few times, is reobbing some stuff, seems not worse than the old stuff? 2015-10-21 21:37:31 -04:00
Adam
d59a1fa88f isBig isnta lways right 2015-10-21 17:36:28 -04:00
Adam
6b41999fb5 Random thinking 2015-10-20 16:50:12 -04:00
Adam
c2e1da7125 Java 8. This finally settles down by leaves many fields still obfuscated. 2015-10-19 21:14:21 -04:00
Adam
19cd153e37 Oh this was important 2015-10-19 15:24:43 -04:00