1
0
mirror of synced 2024-11-24 14:30:11 +01:00
Commit Graph

469 Commits

Author SHA1 Message Date
seth
1c389b6ff5 iidx:
Add comments on read script denoting game version for qpro import
2021-08-06 22:36:17 -04:00
seth
79aa0eb87d Refactor discord webhook code into new module 2021-08-06 22:36:17 -04:00
seth
7d93bc134a Fix bug when importing Qpro db on windows 2021-08-06 22:36:17 -04:00
seth
6c41c826d9 Fix logic error in saving favorites for IIDX 2021-08-06 22:36:17 -04:00
seth
a62cc92717 iidx: Remove joined arcade from frontend in iidx > 25 2021-08-06 22:36:17 -04:00
seth
58880bc965 iidx: Add traffic tests for iidx 25 and 26 2021-08-06 22:36:17 -04:00
seth
312c7b3acd More code deletion 2021-08-06 22:36:17 -04:00
seth
fb75fe13a7 iidx: Fix shop ranking in cb/rootage.
Remove more unused code
2021-08-06 22:36:17 -04:00
seth
c0d088774b iidx: Remove unused code 2021-08-06 22:36:17 -04:00
seth
e16455b8ba Discord webhook stuff and lint/type errors fixed 2021-08-06 22:36:17 -04:00
seth
791b13682f remove debugging code and arena references 2021-08-06 22:36:17 -04:00
seth
42c1bddefc iidx: Add Rootage to bemapi 2021-08-06 22:36:17 -04:00
seth
8473113ef9 Add support for 64 bit PE in psmap 2021-08-06 22:36:17 -04:00
seth
b963b461d1 iidx: fix region select and add qpro select 2021-08-06 22:36:17 -04:00
seth
84e731aabb iidx: update api to support qpros in catalog 2021-08-06 22:36:17 -04:00
seth
c77d834091 iidx: Support cannonballers and rootage.
Add stubs for heroic verse and bistrover
2021-08-06 22:36:17 -04:00
Jennifer Taylor
4584cb3f45 Fix some 3D animations not getting their transforms updated per-frame. 2021-08-06 21:32:19 +00:00
Jennifer Taylor
7e70c6dad1 Fix clipping entirely off screen perspective quads. 2021-08-05 17:37:30 +00:00
Jennifer Taylor
af25448d47 Fix 3D objects in wrong position and scaling when entire animation is being scaled. 2021-08-05 17:35:10 +00:00
Jennifer Taylor
48f1196f06 Disable bilinear interpolation for perspective transforms to fix aliasing quality. 2021-08-05 17:34:33 +00:00
Jennifer Taylor
ed7fe542ec Fix clipping calculations when textures come through the camera. 2021-08-05 17:33:30 +00:00
Jennifer Taylor
53f69c0eca Fix wiggling textures in perspective mode due to premature rounding. 2021-08-05 17:33:09 +00:00
Jennifer Taylor
74838e698d Switch perspective engine to using existing blitter with correct perspective-based texture mapping. 2021-08-05 17:32:20 +00:00
Jennifer Taylor
75bc9f975c More concrete selection of perspective/affine rendering engines. 2021-08-05 17:31:28 +00:00
Jennifer Taylor
62b77b850c Separate TX/TY and TZ set tracking because this is how the SWF loader assigns it. This seems to fix some animations using 3D perspective. 2021-08-03 20:34:06 +00:00
Jennifer Taylor
b9b85bf146 Very primitive 3D transform support. Animations using cameras/3D now display with the proper perspective, but there are lots of issues. 2021-08-03 17:04:20 +00:00
Jennifer Taylor
52300c40b7 Add a mode to renderer console command to show progress. 2021-08-03 17:03:59 +00:00
Jennifer Taylor
44f6a7fee0 Slightly more correct transform updating. Does not currently matter but affects some 3D transforms. 2021-08-03 17:03:35 +00:00
Jennifer Taylor
9c3010bcbd Get rid of warning for 3D transform stuff that we support parsing but don't have engine support for. 2021-07-31 01:16:09 +00:00
Jennifer Taylor
96a99f6f74 Fix bug in matrix inversion code relating to upper triangles causing some matrixes to fail to invert and hiding some textures. 2021-07-31 01:15:52 +00:00
Jennifer Taylor
6e76c25e95 Switch back to older style of parsing transform matrixes from SWF files. 2021-07-31 01:15:32 +00:00
Jennifer Taylor
52216cb56b Change the way we calculate visibility on hidden items. 2021-07-31 01:15:15 +00:00
Jennifer Taylor
cfba02ebee Better handling of "aep_set_frame_control", fixes a few Pop'n and IIDX animations. 2021-07-29 22:02:10 +00:00
Jennifer Taylor
c8be6aef23 Eliminate some more gotos, enable finding more types of compound if. 2021-07-15 00:15:52 +00:00
Jennifer Taylor
2895bfc050 Another quick goto eliminiation optimization for decompiler. 2021-07-15 00:15:28 +00:00
Jennifer Taylor
244f54d93f Add future enhancement TODO to decompiler optimizer. 2021-07-15 00:15:14 +00:00
Jennifer Taylor
392a5e5133 Fix a few edge cases in a few of the decompilation optimizers. 2021-07-15 00:14:48 +00:00
Jennifer Taylor
7ca9e6920f Enable many more types of switch statements to be detected. 2021-07-15 00:14:29 +00:00
Jennifer Taylor
a8f8b82768 Allow code optimizer to be turned off without tripping on asserts. 2021-07-15 00:13:45 +00:00
Jennifer Taylor
5ebb0a3524 Fix detection of some compound or statements with no false path. 2021-07-15 00:13:25 +00:00
Jennifer Taylor
599825332a Introduce switch statements and use those to make decompilation better. 2021-07-15 00:13:02 +00:00
Jennifer Taylor
d5a8fbfb4c Improve compound or detection to get rid of a few more gotos in AFP decompiler. 2021-07-15 00:12:36 +00:00
Jennifer Taylor
1b0785960b Use built-in hex for displaying bytes in AFP utilities. 2021-07-15 00:12:13 +00:00
Jennifer Taylor
9b773fd0a8 Implement compound or statement detection and folding for AFP decompiler. 2021-07-15 00:11:46 +00:00
Jennifer Taylor
de3f9107cd Address newest crop of lint issue with new flake8 tool. 2021-07-06 22:29:41 +00:00
Jennifer Taylor
debc7b3aac Switch to 4x4 matrix and 3D point for all transform operations. Should behave identically to before. 2021-07-06 21:58:32 +00:00
seth
f0792067b7 frontend: Patch path traversal vulnerability 2021-07-06 17:44:05 -04:00
seth
33d0000c77 api client: fix get_all_records 2021-06-29 19:42:59 -04:00
Jennifer Taylor
07205d3e16 Implement a way to force particular width/height instead of just a particular scaling factor. 2021-06-13 21:38:41 +00:00
Jennifer Taylor
092c4b6972 Implement bilinear AA for scaled up sprites to get rid of boxy artifacting. 2021-06-13 18:24:18 +00:00
Jennifer Taylor
8e8fa77d36 Slight optimization for AA passes. 2021-06-13 16:46:22 +00:00
Jennifer Taylor
d9469babee Enable AA for rectangles, it appears this works now. 2021-06-13 15:34:30 +00:00
Jennifer Taylor
f8c3f75883 Fix issue with anti-aliasing artifacts around borders with transparent pixels. 2021-06-13 03:15:03 +00:00
Jennifer Taylor
dfffe80a74 Attempt to fix issue with OSX. 2021-06-12 18:50:17 +00:00
Jennifer Taylor
535a2c872e Properly calculate scaling for AA sampling, fixing several artifacting errors and improving AA for many small sprites. 2021-06-12 17:17:26 +00:00
Jennifer Taylor
d68fd77975 Implement best guess as to what frame_control function should do. Still doesn't fix some Pop'n animations but they look closer? 2021-06-12 17:17:02 +00:00
Jennifer Taylor
d4e3a25340 Auto-create directories for output files as a convenience. 2021-06-12 17:16:45 +00:00
seth
061ff796f6 Fix compatibility with python < 3.8 by switching from typing.Final to typing_extensions.Final 2021-06-07 23:07:36 -04:00
Jennifer Taylor
b1b8b67fe3 Fix a few more optional type errors. 2021-05-31 18:14:51 +00:00
Jennifer Taylor
a4746f2934 Get rid of remaining dunder calls in unit tests. 2021-05-31 18:14:04 +00:00
Jennifer Taylor
7809ff360f More type changes for correctness in order to compile with mypyc in the future. 2021-05-31 18:13:43 +00:00
Jennifer Taylor
0a1cfb6f07 Unify semantics between animated and individual-frame file writers. 2021-05-31 18:13:04 +00:00
Jennifer Taylor
b022149d28 Convert anti-aliased rendering to an experimental enable, instead of enabled by default. 2021-05-31 18:12:06 +00:00
Jennifer Taylor
83495f44af Additional typing fixes for safety and to be able to compile more code with mypyc. 2021-05-31 18:09:40 +00:00
Jennifer Taylor
732e2afb42 Fix possible logic error in saving favorites for IIDX. 2021-05-31 18:09:08 +00:00
Jennifer Taylor
4a1579b099 Some type hint fixes for protocol necessary to compile with mypyc. 2021-05-31 18:08:31 +00:00
Jennifer Taylor
2eb39f86cd Update to stricter type checking, get rid of a bunch of unnecessary ignore statements. 2021-05-31 18:07:03 +00:00
Jennifer Taylor
630263dd8d Refactor pure-python blend implementation to reduce duplicated code. 2021-05-30 17:56:02 +00:00
Jennifer Taylor
e6ffc983f7 Add simple anti-aliasing to texture renderer functions. 2021-05-30 04:16:25 +00:00
Jennifer Taylor
4785b01132 Juggle around some imports a little bit after the massive refactor. 2021-05-30 04:16:08 +00:00
Jennifer Taylor
b864148c3e Refactor/reorganization of C++ modules. 2021-05-29 22:11:15 +00:00
Jennifer Taylor
3281e125cf Get rid of now-unnecessary verbose flag to all expression/statement renderers. 2021-05-29 22:10:51 +00:00
Jennifer Taylor
322c33a9b8 Massive type refactor for decompiler. 2021-05-29 22:10:31 +00:00
Jennifer Taylor
0f160e9663 Get rid of unnecessary length calls. 2021-05-29 22:10:08 +00:00
Jennifer Taylor
161544e612 Sped up listing of paths a fair amount, added options for displaying size and number of frames. 2021-05-29 03:41:25 +00:00
Jennifer Taylor
1dbe51d96d Major refactor of afputils as it was getting out of hand. 2021-05-29 03:41:03 +00:00
Jennifer Taylor
2609047b03 Add a few more wrapper calls to our AEPLib implementation. 2021-05-29 00:21:42 +00:00
Jennifer Taylor
1765c383e2 Fix typo in verbose SWF print. 2021-05-29 00:01:00 +00:00
Jennifer Taylor
83457808e7 A bit of refactoring and debug messages. 2021-05-29 00:01:00 +00:00
Jennifer Taylor
bc46d83452 Add warning and command-line flag for working with animations that loop forever. 2021-05-25 02:01:36 +00:00
Jennifer Taylor
089eef1588 Implement AP2_IMAGE tag support into renderer. 2021-05-25 02:01:17 +00:00
Jennifer Taylor
d9a48e150f Implement additional tag parsing necessary to render some Museca animations. 2021-05-25 02:00:56 +00:00
Jennifer Taylor
5ec5068916 Handle newly-discovered file flags properly in GE2D structures. 2021-05-25 02:00:37 +00:00
DragonMinded
afa8214ed1 Messy fix for AFP tests failing on Windows. 2021-05-24 17:22:50 -04:00
Jennifer Taylor
7fd194d98b Hack/fix for SWFs with orphaned tags, I think this is correct? 2021-05-24 18:35:43 +00:00
Jennifer Taylor
838f151234 Suppress warnings for imported libs we don't need and reimplement anyway. 2021-05-24 17:38:56 +00:00
Jennifer Taylor
64f8666590 Support DXT5 image compression in ifs files. 2021-05-24 17:37:47 +00:00
Jennifer Taylor
88564ae11d Add dummy asdlib for sound requests in some games. 2021-05-24 17:37:13 +00:00
Jennifer Taylor
ee6d848977 Fix context in which getInstanceAtDepth operates to fix some UNDEFINED object errors. 2021-05-24 17:36:57 +00:00
Jennifer Taylor
8b3ce489b1 Convert from rendering to a list of images to rendering in a generator so extremely long sequences can be rendered to pngs without OOM. 2021-05-24 17:36:34 +00:00
Jennifer Taylor
8622e0980c Fix bytecode frame updates being off by one frame. 2021-05-24 01:24:26 +00:00
Jennifer Taylor
7eb41a45e7 Implement support for adding a background image on top of the background color but below the animation. 2021-05-23 23:37:05 +00:00
Jennifer Taylor
cc5cdde995 Fix frame number display in verbose output. 2021-05-23 20:37:42 +00:00
Jennifer Taylor
56498f6154 Implement masking support. 2021-05-23 20:37:18 +00:00
Jennifer Taylor
9df33fcec3 Support simple frame control bytecode. 2021-05-23 20:33:05 +00:00
Jennifer Taylor
14c8ac9347 Implement the first bits of bytecode processing, including the ability to go to an animation frame. 2021-05-23 20:32:21 +00:00
Jennifer Taylor
0a6635d993 Add comment about additive blending alpha 'hack'. 2021-05-23 20:31:39 +00:00
Jennifer Taylor
9dada6fb79 Get rid of useless threading argument for list command. 2021-05-23 20:31:23 +00:00
Jennifer Taylor
8e52428d76 Organize help for render command a bit. 2021-05-23 20:30:35 +00:00
Jennifer Taylor
2aa37c2e40 Fix additive blending on semi-transparent backgrounds. 2021-05-22 23:24:51 +00:00
Jennifer Taylor
2d69d1dc99 Support parent sprite blend parameter inheritance. 2021-05-22 21:56:28 +00:00
Jennifer Taylor
e3e6354295 Blend 1 is the same as blend 0, according to Bishi. 2021-05-22 21:54:53 +00:00
Jennifer Taylor
a5c93569e9 Add a couple more warnings for areas where we don't (yet) support animation features. 2021-05-22 21:54:22 +00:00
Jennifer Taylor
274bd297f2 Change compositing to take from the center of the pixel in preparation of upcoming anti-aliasing attempt. 2021-05-22 21:53:09 +00:00
Jennifer Taylor
212ff2be4e Improved disassembled output when setting register values. 2021-05-22 21:52:40 +00:00
Jennifer Taylor
8923c93a66 Implement embedded clip blend colors. 2021-05-22 21:52:17 +00:00
Jennifer Taylor
0edb5dc2b1 Rework additive color a bit for type clarity and add warnings where we don't support it. 2021-05-22 01:31:42 +00:00
Jennifer Taylor
3bdc0d3887 Add more specific warning for missing bytecode. 2021-05-22 01:31:17 +00:00
Jennifer Taylor
8ee8e5c519 Make some debugging adjustments. 2021-05-22 01:30:58 +00:00
Jennifer Taylor
f33c73572b Preserve placed object order when rendering. 2021-05-22 01:30:28 +00:00
Jennifer Taylor
d031b2107a Pad out written PNG frames so all of them have the same number of digits in them. 2021-05-21 21:47:26 +00:00
Jennifer Taylor
03381ee8ca Fix double-applying base transform to the root clip. 2021-05-21 21:32:19 +00:00
Jennifer Taylor
70f06b2b33 Fix translation matrix application on embedded clips, fixes placement of lots of complex animations. 2021-05-21 21:32:02 +00:00
Jennifer Taylor
2c678e60f8 Implement scale by width and height for final animation. 2021-05-21 21:31:39 +00:00
Jennifer Taylor
35c53c3b6c Implement forced aspect ratio for renderer. 2021-05-21 21:31:13 +00:00
Jennifer Taylor
3922535555 Implement non-textured rectangle shapes. 2021-05-21 16:58:39 +00:00
Jennifer Taylor
4290b86c34 Implement basic import system to avoid crashing with not-found registered objects. 2021-05-21 16:58:01 +00:00
Jennifer Taylor
0d648f1371 Implement a multi-threaded C++ renderer for a decent speed boost. 2021-05-20 03:51:43 +00:00
Jennifer Taylor
f15ba3c718 Fix massive amount of type errors coming from new MyPy with Flask stubs. 2021-05-19 22:38:00 +00:00
Jennifer Taylor
f47a4782da Another attempted fix for CLANG on OSX. 2021-05-19 20:16:51 +00:00
Jennifer Taylor
f8f32ef082 Possible fix for clang OSX compile. 2021-05-19 20:01:32 +00:00
Jennifer Taylor
48e9c59513 Initial implementation of C++ affine renderer for massive speed boost. 2021-05-19 16:25:13 +00:00
Jennifer Taylor
b02c4292be Fix non-alpha blended modes now that I have an example file. 2021-05-19 02:00:05 +00:00
Jennifer Taylor
d59fec65f7 More descriptive frame count when printing verbose information. 2021-05-17 04:04:38 +00:00
Jennifer Taylor
1da2ac8397 Ignore PLACE_CAMERA tags in renderer for the time being. 2021-05-17 03:55:41 +00:00
Jennifer Taylor
f2be6d2bb8 Initial RE of new tags and flags seen in some IIDX versions. 2021-05-17 03:48:05 +00:00
Jennifer Taylor
ace6bd54c4 Fix partial-alpha blending equation, should fix dark sprites on semi-transparent backgrounds. 2021-05-16 22:19:38 +00:00
Jennifer Taylor
40968ab039 Remove ability to render exported tags as it was broken and elongated the render time of some animations. 2021-05-16 22:19:07 +00:00
Jennifer Taylor
ec20ab4cf1 Slightly better verbose debugging for DO_ACTION tag so I can start to figure out what it's used for in animations. 2021-05-16 22:18:44 +00:00
Jennifer Taylor
337440cb14 Handle decompiling bytecode which does not use function call results properly. 2021-05-16 22:18:23 +00:00
Jennifer Taylor
21ba1db898 Add support for rendering only certain depth planes for debugging. 2021-05-16 19:40:06 +00:00
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
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