Commit Graph
250 Commits
Author SHA1 Message Date
Jennifer Taylor 89af7c100a Better multi-threaded Ctrl+C handling. 2021-05-16 19:39:44 +00:00
Jennifer Taylor 604b987f90 Better logging for rendering cycle. 2021-05-16 19:39:25 +00:00
Jennifer Taylor 428ee8a063 Implement alternate transform matrix specification to fix some animations not having scaling/rotation applied to various sprites. 2021-05-16 19:39:07 +00:00
Jennifer Taylor 3db9cc9a58 Shave off another 33% of rendering time by better pcklable data in multithreaded case. 2021-05-16 15:15:06 +00:00
Jennifer Taylor fdf7e70bfd Speed up rendering using multi-processing. The bottleneck is now the queue and we need a C++ implementation. 2021-05-16 00:20:43 +00:00
Jennifer Taylor 85606fece9 Move affine transform function out into blend for slight cPython boost and also preparation for threading. 2021-05-16 00:20:23 +00:00
Jennifer Taylor 187783696b Use cPython to speed up some rendering by about 10%. 2021-05-16 00:19:50 +00:00
Jennifer Taylor 68feebc78e Fix missing ctypes definition for compression in Lz77 module. 2021-05-16 00:19:20 +00:00
Jennifer Taylor f74dd8c136 Speed up animation rendering a bit by caching some calculated properties from PIL. 2021-05-16 00:18:59 +00:00
Jennifer Taylor afb5eaa6fb Add todo to fix decompiling some Pop'n animation bytecodes. 2021-05-15 04:23:04 +00:00
Jennifer Taylor f7861c0819 Support update tags allowing the underlying object to be swapped out, fixes some IIDX animations. 2021-05-15 04:22:43 +00:00
Jennifer Taylor a58e1165bf Fix incorrectly handling placed sprites if there was a change previously in the frame. 2021-05-15 04:22:17 +00:00
Jennifer Taylor 7ead384215 Add more documentation to blend modes, implement multiply blend mode. 2021-05-15 04:21:52 +00:00
Jennifer Taylor bbcb3b86b5 Do a pass over the README as its been awhile since I last checked it. 2021-05-11 18:17:59 +00:00
Jennifer Taylor 26c2a99a6e Tie up loose ends by adding TODOs and documentation for a few remaining bits in decompiler. 2021-05-11 17:01:35 +00:00
Jennifer Taylor b184ae3169 Rename references to labels as they do the same thing as SWF labels in the original format. 2021-05-10 22:26:46 +00:00
Jennifer Taylor 17aaeb81fe Rewrite AFP rendering engine core which seems to fix several Pop'n animations. 2021-05-10 22:26:26 +00:00
Jennifer Taylor d9550122de Allow dumping decompiled bytecode to file for both raw afp/bsi pairs and TXP2 containers. 2021-05-10 00:12:54 +00:00
Jennifer Taylor ee3e272787 Properly plumb verbosity flags to all of decompiler pieces, clean up some code. 2021-05-10 00:12:28 +00:00
Jennifer Taylor 08601dfcfe Initial parsing of AFP buttons, which is good enough to parse all of DDR PS3's files and decompile them. 2021-05-09 19:19:19 +00:00
Jennifer Taylor aace5c7c13 Enable selective coverage printing to help narrow down missing sections in individual tags. 2021-05-09 19:19:02 +00:00
Jennifer Taylor da1dba8f2b Implement GET_TIME opcode used by some DDR PS3 files. 2021-05-09 19:18:48 +00:00
Jennifer Taylor 95dc046043 Do a really half-assed job handling morph shapes. 2021-05-09 19:18:33 +00:00
Jennifer Taylor 8b54d7ccd5 Fix parsing of API client content-type string. 2021-05-08 01:49:42 +00:00
Jennifer Taylor a2ceb5cd9e Remove duplicate copy of user.py that somehow existed in the top-level data directory for years. 2021-05-07 05:16:15 +00:00
Jennifer Taylor 1e6ab47c4a Better constants for a few more floating point values. 2021-05-07 05:16:00 +00:00
Jennifer Taylor cbe084f137 Update some debug prints based on better understanding of one more tag section. 2021-05-06 19:38:13 +00:00
Jennifer Taylor 2252390706 Implement one more opcode needed for some Bishi levels. 2021-05-06 19:37:55 +00:00
Jennifer Taylor 459803d244 Only check IFS file size if we extracted it out of our own IFS. 2021-05-06 19:37:32 +00:00
Jennifer Taylor 9ce8b79b10 Implement define text tag, fill in some better understanding of the font tag from define text understanding. 2021-05-06 19:37:05 +00:00
Jennifer Taylor 5d26149298 Check in fix for non-compressed files. 2021-05-06 19:36:43 +00:00
Jennifer Taylor 74e3160588 Implement super support for IFS extraction. 2021-05-06 19:36:24 +00:00
Jennifer Taylor b81d2aeaae Fix one last case where we can get surprise gotos. 2021-05-05 19:32:08 +00:00
Jennifer Taylor 203fdd3a10 Fix tricky case where we have nowhere to jump to after a While loop inside an if. 2021-05-05 19:31:45 +00:00
Jennifer Taylor 481c5a50ce Implement one more opcode that I've seen in Bishi levels. 2021-05-05 00:57:31 +00:00
Jennifer Taylor 9544287b13 Deal with empty if statements (usually compiled-out debug switches). 2021-05-05 00:56:59 +00:00
Jennifer Taylor 25278d76c5 Fix stack walking bug with respect to pre-converted if statements. 2021-05-05 00:56:33 +00:00
Jennifer Taylor eba79ed3bc Add heuristic for parsing a troublesome flag in SWF object create tags. 2021-05-05 00:55:34 +00:00
Jennifer Taylor f75b9f038e Implement a few more opcodes to get a few more Bishi files decompiling. 2021-05-05 00:55:02 +00:00
Jennifer Taylor 636e1876bc Add while loop detection and conversion. 2021-05-05 00:54:34 +00:00
Jennifer Taylor 2f79a6401d Fix massive bug which dropped function calls without returns from the finished output. 2021-05-05 00:53:58 +00:00
Jennifer Taylor f09fd79a45 Add for loop detection and conversion. 2021-05-05 00:53:38 +00:00
Jennifer Taylor e17f7c2bdb Add some tests for for/while loops in anticipation of optimizing output. 2021-05-05 00:53:02 +00:00
Jennifer Taylor 83f4f43e9e Implement a few more opcodes, fix stack ordering with multiple entries after reconciliation. 2021-05-04 02:32:32 +00:00
Jennifer Taylor eddb8dc208 Several more code output optimizations done. 2021-05-04 02:32:04 +00:00
Jennifer Taylor 44b3628a85 Fix logic error in merging stacks when if statements didn't have a true and false body. 2021-05-04 02:31:07 +00:00
Jennifer Taylor 4790385022 Fix a logic error in if statement unwrapping, remove duplicated code in favor of a better true/false detection algorithm. 2021-05-04 02:30:37 +00:00
Jennifer Taylor 108d7c228d Handle having bytecode with no actual entries. 2021-05-04 02:29:53 +00:00
Jennifer Taylor 54b4c88d65 It seems that some bytecode leaves extra stuff on the stack sometimes, I think this is fine? 2021-05-04 02:29:27 +00:00
Jennifer Taylor 70c7448aa0 Fix nasty bug where sometimes we would have gotos without corresponding labels. 2021-05-02 03:50:48 +00:00