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
Jennifer Taylor
6b547f72ec
Implement a decent chunk more bytecode, implement font tag.
2021-04-07 04:36:55 +00:00
Jennifer Taylor
2c35ca1cda
Implement unknown point parser to make DDR PS3 files parseable.
2021-04-07 00:45:08 +00:00
Jennifer Taylor
3109794607
Add in expanded property table that works with newer Pop'n/IIDX data.
2021-04-07 00:22:42 +00:00
Jennifer Taylor
689a997079
Support 1-byte integer PUSH from tricoro.
2021-04-06 23:01:42 +00:00
Jennifer Taylor
32cc4a071c
Update with working RE for all remaining known data pieces including properties and object events.
2021-04-06 22:24:36 +00:00
Jennifer Taylor
eda60c065c
Teach struct tool how to print line numbers with offsets, handy for decoding enums.
2021-04-06 22:24:16 +00:00
Jennifer Taylor
cddadd8114
Teach struct utility to take an --end or a --count for decoding values.
2021-04-06 22:24:00 +00:00
Jennifer Taylor
fa49513381
Fix ability to parse DDR PS3 AFP files, add a bit of info gleaned from looking at those files.
2021-04-06 05:46:53 +00:00
Jennifer Taylor
b118cd1109
Add a ton of RE for bytecodes, now capable of parsing several Bishi Bashi levels.
2021-04-06 04:56:59 +00:00
Jennifer Taylor
50b5ae8616
Fix a few more todos, slight renaming based on better understanding.
2021-04-05 16:28:34 +00:00
Jennifer Taylor
0bfec7655c
Last few object bits implemented enough to parse Pop'n Music, a few more annotations.
2021-04-05 00:52:10 +00:00
Jennifer Taylor
d26f3e0238
Teach struct how to deal with NULL pointers, better output of parsed structures.
2021-04-05 00:51:34 +00:00
Jennifer Taylor
c7e739c6e2
Support BINXML data with no property bodies.
2021-04-05 00:50:30 +00:00
Jennifer Taylor
5adb36d5b2
Fix a few comments in old XML parser.
2021-04-05 00:50:08 +00:00
Jennifer Taylor
887d4dc657
Add a mostly-complete parser for shapes, which are the missing link between object placement in AP2 files and textures/regions elsewhere.
2021-04-03 05:30:19 +00:00
Jennifer Taylor
98197641c9
Add an almost-complete object instantiation/updating parser.
2021-04-03 05:29:37 +00:00
Jennifer Taylor
c6a138c0ea
Add AP2 action table, codify understanding of frames, minor adjustments.
2021-04-03 05:28:57 +00:00
Jennifer Taylor
cdfb6cc21f
Allow loading/parsing AFP/BSI files extracted from IFS files.
2021-04-03 05:27:09 +00:00
Jennifer Taylor
4a3068686a
Fix help display and fix skipping padding bytes ('x' character).
2021-04-03 05:26:48 +00:00
Jennifer Taylor
bfa7384f2b
Update tag parsing with better guesses as to the unknown tag sections.
2021-04-03 05:26:25 +00:00
Jennifer Taylor
0e86248fd1
Support sprites which are basically recursive tag sections.
2021-04-03 05:26:03 +00:00
Jennifer Taylor
d688314d1f
Restructure string decoding, fix non-ascii strings, at least parse out the last remaining tag bytes we don't understand.
2021-04-03 05:25:27 +00:00
Jennifer Taylor
7beb518484
Fix a TODO, add a bit more RE.
2021-03-30 04:50:51 +00:00
Jennifer Taylor
02d2c9cd5a
Got a bit more of the AFP base format figured out. Now we can see shape definitions and imported/exported tags properly.
2021-03-30 04:50:05 +00:00
Jennifer Taylor
8e8bcbf822
Juggle AFP file a bit.
2021-03-30 04:49:37 +00:00
Jennifer Taylor
ec88cc866e
Fix lint errors that crept in.
2021-03-19 00:47:56 +00:00
Jennifer Taylor
152787f6d6
Fix error on startup caused by incorrect types and new SqlAlchemy.
2021-03-19 00:47:37 +00:00
Cammy
ccba50e2cf
Add event id notes, update Museca Plus stuff.
2021-02-06 22:23:55 -05:00
kami-poi
5e7061c23b
Fix logic error in eacoin.py
2021-01-24 12:38:22 -05:00
Jennifer Taylor
07a1d09cfa
Initial work to reverse engineering the AFP flash derivative.
2021-01-15 01:03:59 +00:00
Jennifer Taylor
69ab6723fe
Far more powerful struct printer that can handle complex structures with pointers.
2021-01-15 01:03:29 +00:00
Jennifer Taylor
6768b1417f
Better 1555/565/4444 color extraction that scales colors to full 8-bit range.
2020-12-21 23:41:58 +00:00
Jennifer Taylor
47330ca37d
Fix DXT1/DXT5 handling for DDR PS3 files.
2020-12-21 23:41:58 +00:00
seth
5522b80994
MUSECA plus: fix read script
2020-12-21 13:35:22 -05:00
Jennifer Taylor
e70b74f21a
Slight optimization of python lz77 code.
2020-12-20 04:06:41 +00:00
Jennifer Taylor
c431e30d3b
Remove a few redundant code paths in LZ77 C++ implementation, fix a bug preventing us from finding the optimal compression.
2020-12-20 03:38:34 +00:00
Jennifer Taylor
6ab6dc89c4
Support one more texture format for repacking.
2020-12-17 22:06:14 +00:00
Jennifer Taylor
68c1b7cc63
Encode unicode in JSX differently to attempt to fix issue with unicode translation on some non-utf8 systems.
2020-12-17 21:47:36 +00:00
Jennifer Taylor
b7bd09bb62
Remove magic strings and use constants instead.
2020-12-17 20:16:30 +00:00
seth
416904100b
API: enable omnimix for only MUSECA and IIDX
2020-12-17 14:57:20 -05:00
seth
d32c8fafa6
Code style
2020-12-17 14:57:20 -05:00
seth
349a34d25d
MUSECA PLUS: Webui fix
2020-12-17 14:57:20 -05:00
seth
13c0d02e45
MUSECA: finishing touches
2020-12-17 14:57:20 -05:00
seth
85622dbc9b
MUSECA 1+1/2: mission stuff
2020-12-17 14:57:20 -05:00
seth
f8f511250c
Fix linting errors
2020-12-17 14:57:20 -05:00
seth
1a4a231066
MUSECA: API and webui fixes for Museca PLUS
2020-12-17 14:57:20 -05:00
seth
82a67e0792
MUSECA: Support Museca Plus modpack
2020-12-17 14:57:20 -05:00
Jennifer Taylor
37e01e0a3e
Rewrite LZ77 compressor in C++ (like decompressor) for another massive speed boost.
2020-12-14 22:15:20 +00:00
Jennifer Taylor
fd3868073f
Add a few more known node types.
2020-11-30 22:57:46 +00:00
Jennifer Taylor
0ea53660b4
Support repacking a few more texture formats.
2020-11-30 18:16:02 +00:00
Jennifer Taylor
c6e395b8a5
Add ability to update textures from individual sprites as well as whole texture images.
2020-11-29 00:48:44 +00:00
Jennifer Taylor
0c4cb8df5c
Support splitting texturemaps into individual sprites.
2020-11-29 00:47:25 +00:00
Jennifer Taylor
31ad2856fd
Add a much faster C++ implementation of Lz77 decompress. We can achieve approximately a 10x speedup decompressing with this enabled.
2020-11-28 19:05:27 +00:00
Jennifer Taylor
c1fad0caeb
Skip tracking coverage when we aren't printing verbose debugging for a slight speedup.
2020-11-28 19:05:03 +00:00
Jennifer Taylor
d2d4f9d1e9
Fix bug where some textures weren't referenced properly by BishiBashi in updated AFP files.
2020-11-27 21:53:01 +00:00
Jennifer Taylor
d3d0bab2f5
Reorganize some debug prints to help figure out correct file writing order.
2020-11-27 21:52:30 +00:00
Jennifer Taylor
476c459272
Add debugging printer so we can verify contents identical before and after a null update.
2020-11-27 17:47:48 +00:00
Jennifer Taylor
27afc98ee5
Skip recompressing textures we don't change, don't try to write a file unless we successfully generated it.
2020-11-24 00:03:28 +00:00
Jennifer Taylor
526a462ef4
Overwrite original AFP file instead of making a temporary copy.
2020-11-23 22:33:12 +00:00
Jennifer Taylor
f6b90ea014
Add feature to enable overlay bounds generation for visualizing regions in textures.
2020-11-23 20:56:05 +00:00
Jennifer Taylor
8acdb1cefc
Update documentation for other texture formats that we semi-support.
2020-11-23 20:55:38 +00:00
Jennifer Taylor
ff147a37b1
Support an additional texture format found in updated BishiBashi JP data, document mapping to D3D9 structures.
2020-11-23 20:55:00 +00:00
Jennifer Taylor
db6a6739fc
Implement the first bits of what's necessary to update textures.
2020-11-12 05:03:52 +00:00
Jennifer Taylor
41ea293897
Faster, but less than ideal, large file compression as well as start byte GC.
2020-11-12 05:03:33 +00:00
Jennifer Taylor
88042a7e9e
Write back textures and regions when saving files.
2020-11-12 05:03:03 +00:00
Jennifer Taylor
42c3362a3c
Fix off-by-one error in LZ77 implementation rarely resulting in truncated files on inflate.
2020-11-12 05:02:37 +00:00
Jennifer Taylor
a5966a6382
Fix some lint and typing issues uncovered by mypy/flake8 upgrades.
2020-11-11 05:14:36 +00:00
Jennifer Taylor
ffa70e372b
Ability to write back out simple files with the data we parsed.
2020-11-11 03:39:51 +00:00
Jennifer Taylor
32d1909137
Support round-tripping a few more bits of various files, to increase our eventual success of injecting translated T*BB textures.
2020-11-11 03:39:21 +00:00
Jennifer Taylor
7fcca97ae4
Capture the rest of the file that I know about in parsed structures, track when a file needs to be read-only.
2020-11-10 03:26:26 +00:00
Jennifer Taylor
59b93e6931
Massive refactor to start parsing out to a file structure instead of just extracting.
2020-11-10 03:26:06 +00:00
Jennifer Taylor
b594349faf
Capture another unknown header flag that seems to change randomly.
2020-11-10 03:25:39 +00:00
Jennifer Taylor
f9d035aa34
Remove out-of-date TODO.
2020-11-09 03:01:42 +00:00
Jennifer Taylor
f7ffd9185b
Add a few more missing bytes, assert where we always see constants.
2020-11-09 02:46:36 +00:00
Jennifer Taylor
d9f96f4b4c
Fix a texture decoding bug, add a few more supported formats.
2020-11-06 21:24:31 +00:00
Jennifer Taylor
96298d8ecf
Fix T*BB font decoding issue by setting the correct endianness.
2020-11-06 19:57:35 +00:00
Jennifer Taylor
b507dfda71
Ignore XML mappings by default.
2020-11-06 19:57:13 +00:00
Jennifer Taylor
4ce03847dd
Rename utility to more generic format parser.
2020-11-06 19:05:40 +00:00
Jennifer Taylor
042cce481f
Fix last issue with font conversion for T*BB.
2020-11-06 19:02:41 +00:00
Jennifer Taylor
7cb2220386
A few lint fixes, add preliminary support for 0x15 format.
2020-11-06 18:52:00 +00:00
Jennifer Taylor
a26d8f4b64
Fix several bugs in DXT5 decompressor, renders fonts much closer to the game now.
2020-11-06 18:40:41 +00:00
Jennifer Taylor
abc97bfdcb
Several improvements to parsing.
...
Ability to decode graphics regions and assign them to textures.
Removed incorrect name handling of one section.
Support different endianness of files to support PS3 DanceDanceRevolution AFP files.
Fully map out file for several T*BB files.
2020-11-06 16:18:09 +00:00
Jennifer Taylor
4b31f8f831
Fix a couple length calculations and a few parsing mistakes.
...
Add coverage calculations to track down missing file sections.
2020-11-06 04:13:39 +00:00
Jennifer Taylor
786676fd26
Initial code for The*BishiBashi graphics file unpacker.
2020-11-06 02:08:21 +00:00
Jennifer Taylor
d4ba50a5cd
Support server-side settings for BishiBashi, add DLC level enable, non-gacha character enable and announcement/message board support.
2020-08-26 05:30:05 +00:00
Jennifer Taylor
0bb19948be
Force decoding JSX files as utf-8 regardless of the OS locale and settings.
2020-08-26 05:29:56 +00:00
Jennifer Taylor
19c7de499d
Implement rivals support for supported Pop'n Music games.
2020-05-12 21:03:01 +00:00
Jennifer Taylor
e126b845f6
Update scripts to remove incorrect bash invocation and make them execute from any directory.
2020-05-12 21:01:16 +00:00
Jennifer Taylor
e5d04d6dbb
Hook up UI for Pop'n Rivals in anticipation of rival support.
2020-05-12 21:00:26 +00:00
Jennifer Taylor
c89a99b8dd
Support attributes in PSmap code generator.
2020-05-12 20:59:56 +00:00
Jennifer Taylor
67cb3de46e
Add rival support to Jubeat.
2020-05-08 22:41:51 +00:00
Jennifer Taylor
d613e7239a
Fix Jubeat name entry regex to allow for spaces like the in-game name entry does.
2020-05-08 22:41:24 +00:00
Jennifer Taylor
382ad49e6f
Add rival selection support to Jubeat in preparation for rival support.
2020-05-08 22:40:21 +00:00
Jennifer Taylor
ccdd219d67
Jubeat doesn't use wide text for profile names, so don't send them in test client.
2020-05-08 22:39:52 +00:00
Jennifer Taylor
72e0fa4156
Auto-focus on input elements when clicking Update button across various pages.
2020-05-08 20:07:55 +00:00
Jennifer Taylor
4cf5ac2c02
Fix visual bug where navigating to admin/arcades/ would inadvertently highlight the "Arcades" top level as well.
2020-05-08 20:07:33 +00:00
Jennifer Taylor
368efe2c63
Auto-prune event log entries after some time.
2020-05-08 18:22:31 +00:00
Jennifer Taylor
645e7dc55a
Fix missing return statement in API server.
2020-05-04 22:34:36 +00:00
Jennifer Taylor
2e92e45ae6
Merge pull request #3 from DragonMinded/alt_proxy_fix
...
Be more precise about headers sent during proxy
2020-05-04 15:31:17 -07:00
Jennifer Taylor
577d936d3d
Apply button height tweak to game list in Arcade settings screen to fix inconsistent button height.
2020-04-27 23:32:13 +00:00
Jennifer Taylor
479ba60b05
Add cache control headers to force unruly clients like android to reload REST responses every time.
2020-04-27 23:31:59 +00:00
Jennifer Taylor
95aeb71d1d
Switch to android-safe arrows.
2020-04-26 01:01:48 +00:00
Jennifer Taylor
0addb590fe
Refresh the frontend, getting rid of rounded edges, restyling buttons, fixing styling of pop-up confirmation and dismissable information elements and fixing inconsistencies in records pagination.
2020-04-26 00:52:19 +00:00
Jennifer Taylor
799d000274
Be more precise about headers sent during proxy, in an attempt to fix some buggy remote server implementations.
2020-04-25 19:34:54 +00:00
Jennifer Taylor
b9e35aabf9
Implement gacha mode for emblems instead of just going up the list of possible emblems.
2020-04-24 19:20:43 +00:00
Jennifer Taylor
9f4dfe4682
Teach network how to import/export Jubeat emblem catalog.
2020-04-24 19:20:27 +00:00
Jennifer Taylor
c694157c51
Fix cython issue and compile the rest of protocol.
2020-04-04 20:08:33 +00:00
Jennifer Taylor
9c85759dc6
Convert more format() uses to f-strings.
2020-03-25 23:17:06 +00:00
Jennifer Taylor
509cb4f0d9
Convert most of the format() string calls to f-strings using libcst.
...
Exact commands run were:
python3 -m libcst.tool codemod convert_format_to_fstring.ConvertFormatStringCommand . --no-format
python3 setup.py build_ext --inplace
2020-01-07 21:29:07 +00:00
Jennifer Taylor
d1d69036d6
Get rid of windows line endings in one file.
2019-12-10 01:11:18 +00:00
Jennifer Taylor
c89c12062d
Upgrade to latest flake8, address new flake issues.
2019-12-10 01:10:14 +00:00
Jennifer Taylor
74c0407173
Initial commit of BEMANI Utilities to GitHub.
2019-12-08 21:43:49 +00:00