1
0
mirror of synced 2024-11-15 02:17:36 +01:00
Commit Graph

218 Commits

Author SHA1 Message Date
Jennifer Taylor
d1a6c1abf6 Change to a slightly different (but probably equivalent) method of doing masking to avoid messing with the mask transform. 2021-08-10 23:37:08 +00:00
Jennifer Taylor
d04c366497 Fix edge case where bytecode tried to rewind an animation entirely and failed due to being outside of the frame boundary instead of starting from the first frame. 2021-08-10 23:36:39 +00:00
Jennifer Taylor
ac707e767b Switch to double precision for C++ renderer to squeeze out a bit more accuracy in transforms. 2021-08-10 23:36:18 +00:00
Jennifer Taylor
d80c6a5ccd No longer take "blank pixels" outside of the screen into consideration for rendering SSAA. 2021-08-09 20:20:26 +00:00
Jennifer Taylor
41a1114469 Fix multiply blending mode. 2021-08-09 20:20:09 +00:00
Jennifer Taylor
73a36e17c2 Fix anti-aliasing of rectangles so that they are always crisp. 2021-08-09 19:09:00 +00:00
Jennifer Taylor
f6bd2aef54 Fix perspective mask calculation. 2021-08-09 17:33:21 +00:00
Jennifer Taylor
b939ecd030 Fix incorrect copying of affine transform over 3D transform on some updates. 2021-08-09 17:32:40 +00: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
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
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
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
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
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
b022149d28 Convert anti-aliased rendering to an experimental enable, instead of enabled by default. 2021-05-31 18:12:06 +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