Jennifer Taylor
f2761b90b0
Restructure a lot of types to fit an expression/statement model and making a lot of stuff make more sense.
2021-04-24 18:05:58 +00:00
Jennifer Taylor
19c6de1fcc
Actually decompile basic bytecode. There's much left to do, but some basics work!
2021-04-24 18:05:03 +00:00
Jennifer Taylor
aebc277b62
Add a graph walker at the very end to verify that we've handled all control paths correctly, fix an edge case in If detection.
2021-04-24 18:03:24 +00:00
Jennifer Taylor
6aa04b0c1b
Implement recursive if detection.
2021-04-24 18:02:26 +00:00
Jennifer Taylor
6e34d2647e
Implement loop break/continue/goto processing.
2021-04-24 18:01:25 +00:00
Jennifer Taylor
738fce36c9
Lots more implementation done on decompiler, including better control flow and loop detection.
2021-04-24 18:00:13 +00:00
Jennifer Taylor
b77ccdd5b9
Beginning of an AFP ByteCode decompiler, starting with a massive code reorg and a control flow graph analyzer.
2021-04-24 17:59:36 +00:00
Jennifer Taylor
011b84aceb
Actually parse bytecode into an intermediate representation.
2021-04-21 03:58:53 +00:00
Jennifer Taylor
f209bcbe54
Exit early if we're done rendering the main animation, allow background color override.
2021-04-21 01:06:48 +00:00
Jennifer Taylor
47525837cd
Allow partial renders by hitting ctrl-c.
2021-04-21 00:01:35 +00:00
Jennifer Taylor
cc25c3c8dc
Don't draw shapes/sprites with zero scaling factor.
2021-04-20 23:33:43 +00:00
Jennifer Taylor
05a85abce8
Convert some more exceptions to warnings for best-effort renderings.
2021-04-20 23:19:14 +00:00
Jennifer Taylor
4c7ac0f744
Rework engine so multiple of the same sprite can be placed down by place item tags.
2021-04-20 21:41:28 +00:00
Jennifer Taylor
81c4496269
Implement what I think are the correct blending modes. Fixes some older Pop'n animations.
2021-04-20 21:41:09 +00:00
Jennifer Taylor
5a499a0f2c
Fix rotation origin so some bishi bashi levels will render.
2021-04-17 23:33:04 +00:00
Jennifer Taylor
d1cf978e12
Change rendering output style, allow series of png files to be rendered.
2021-04-17 23:32:47 +00:00
Jennifer Taylor
8cd85f26e9
Separate blend and color arguments for ease of experimenting.
2021-04-17 23:32:30 +00:00
Jennifer Taylor
ebc86019ae
Implement color blending, add fast path back to rendering shapes.
2021-04-17 23:32:10 +00:00
Jennifer Taylor
e1c6ad429c
Implement proper affine transformations instead of just translation.
2021-04-17 23:31:36 +00:00
Jennifer Taylor
c6e19d0dfa
Overhaul clip playback engine to allow clips to start when they're placed, not when they're created.
2021-04-17 23:31:08 +00:00
Jennifer Taylor
830f32814e
Clean up the code some in preparation for trying to get affine transformations working.
2021-04-17 23:30:46 +00:00
Jennifer Taylor
700e63a001
Convert some more exceptions to warnings to allow attempts to render some BishiBashi content.
2021-04-16 21:28:53 +00:00
Jennifer Taylor
de5dfd2421
Hook up TXP2 container to renderer, provide a "list" option to list out possible rendering paths in a container.
2021-04-16 21:08:41 +00:00
Jennifer Taylor
d4faa9f7d8
Fix path issues for a few miscelaneous tools on Windows.
2021-04-16 03:51:16 +00:00
Jennifer Taylor
42f57e10d7
Include origin point in updated tags.
2021-04-15 23:24:46 +00:00
Jennifer Taylor
3ad60064f9
Convert some exceptions to warnings so files can be partially rendered.
2021-04-15 23:20:27 +00:00
Jennifer Taylor
d835c46320
Support nested animations as well as update object requests.
2021-04-15 23:19:56 +00:00
Jennifer Taylor
3f5760343a
Always filter out unnecessary exported tags, even when rendering the default animation.
2021-04-15 23:18:54 +00:00
Jennifer Taylor
1683c8ecdd
Initial stab at an AFP animation renderer. It can render some basic animations from Pop'n Music!
2021-04-15 23:18:33 +00:00
Jennifer Taylor
3941b7e602
Fix a few more typos in object placement, values make a lot more sense now.
2021-04-15 23:17:45 +00:00
Jennifer Taylor
61603b0e63
Codify my guess as to what's going on with the mysterious point.
2021-04-15 23:17:15 +00:00
Jennifer Taylor
544baae387
Fix a few small bugs with place object handling.
2021-04-15 23:16:45 +00:00
Jennifer Taylor
db36298f22
Slightly better IFS extraction and shape documentation, given my understanding of the relationship between the two.
2021-04-15 23:16:03 +00:00
Jennifer Taylor
520181785d
Vastly improved IFS extraction which names afp/bsi/geo files correctly.
2021-04-14 01:08:13 +00:00
Jennifer Taylor
d486cfa54e
Finish handling push types and a few miscelaneous constants.
2021-04-14 01:07:33 +00:00
Jennifer Taylor
142ee31d56
Finish initial RE on bytecode, every opcode is now accounted for.
2021-04-14 01:07:01 +00:00
Jennifer Taylor
79b31c7fa2
Hook up parsed objects to all of SWF except for the bytecode mess.
2021-04-12 03:10:31 +00:00
Jennifer Taylor
8d686dcdb7
Assert on unknown data inside GE2D structures, so we don't miss something important.
2021-04-12 03:10:14 +00:00
Jennifer Taylor
9f6b9eb7d6
Begin parsing AFP data into useful structures.
2021-04-12 03:09:57 +00:00
Jennifer Taylor
9925b2f6b0
Add an extract option to write afp/bsi/geo files out of TXP2 containers similar to IFS containers.
2021-04-11 20:45:40 +00:00
Jennifer Taylor
522f8eaa29
Refactor verbose debugging to its own class, clean up classes that used it.
2021-04-11 20:45:17 +00:00
Jennifer Taylor
897e779b20
Refactor coverage stuff out to its own utility class, clean up code that used it.
2021-04-11 20:44:55 +00:00
Jennifer Taylor
30a51f48e6
Massive juggling of core AFP/AP2 implementation into its own files.
2021-04-11 20:44:31 +00:00
Jennifer Taylor
f1294df839
Split types up to generic types and AP2-specific types.
2021-04-11 20:44:11 +00:00
Jennifer Taylor
cef8bbfa83
Separate types out into their own module.
2021-04-11 20:43:51 +00:00
Jennifer Taylor
749f2bab0d
Move AFP library in preparation of refactoring.
2021-04-11 20:43:27 +00:00
Jennifer Taylor
fce04a2493
Implement a few more bytecode parsers, implement a few more push types, fix advancing past tags which are not 4-byte aligned in size.
2021-04-10 03:47:15 +00:00
Jennifer Taylor
61bd70f803
Implement some of edit text tags.
2021-04-10 03:46:52 +00:00
Jennifer Taylor
72f81e4f58
Fix typing mistake not caught on previous AP2 check-in.
2021-04-08 01:05:48 +00:00
Jennifer Taylor
a3f247f422
Clean up node a little bit:
...
- Remove redundant attribute creation function.
- Remove redundant len field.
- Add the rest of the missing types to the constructor array.
- Reorganize a bit.
2021-04-08 01:05:20 +00:00