(05-31-2021, 04:13 PM)rufaswan Wrote: @RTB You are right! Blaster Master Zero also uses IRARC/IRLST format, so the script also works. That makes it 5 games now.
However, unlike Gunvolt, most of the sprites in BMZ have an extra 'TLPI' section, and the texture is incorrectly converted. I have no idea how to fix them.
@HellZero Step-by-step on how to use my scripts to rip and reassemble the sprites:
Step 1) Get PHP 7.0+ from its official site. You'll only need 3 files from the archive, "php.exe", "php7ts.dll", and "php.ini" (renamed from "php.ini-development"). My scripts doesn't need any PHP extensions.
Step 2) Download my GitHub repo. You'll only need "psxtools" folder under "tools/psxtools".
Step 3) Open cmd.exe (windows command line), run this on a IRLST file. Like the BMS before, it will extract and decompress the files to a new folder.
Code:php.exe psxtools/pc_gunvolt_irlst-irarc.php FILE.irlst
Step 4) You'll be interested in the extracted .17 and .7 files. Run this to generate the QUAD and texture file from the attachment on the post before.
Code:php.exe psxtools/quad_pc_gunvolt_IOBJ.php -gv/-gv2/gva/-mgv FILE.17
-gv = Azure Striker Gunvolt IDTAG
-gv2 = Azure Striker Gunvolt 2 IDTAG
-gva = Gunvolt Chronicles Luminous Avenger iX IDTAG
-mgv = Mighty Gunvolt IDTAG
NOTE: The script only works for files that has 'IOBJ' string in them.
Step 5) If you want to open with quad player, skip this step. If not, run this to render all assembled sprites as individual frames.
Code:php.exe psxtools/quad_render.php FILE.quad
Step 6) As I do not use any image library, those CLUT and RGBA files are actually raw pixel data. You can convert them into PNG by running:
Code:php.exe psxtools/clut2png.php FILE.clut
php.exe psxtools/clut2png.php FILE.rgba
From here, you can make a sprite sheet from the resulted PNG.
You can also refer to the source code to understand how I do it.
Hope that helps!
- Rufas
Any way to do steps 4 and 6 in a batch? It's kinda cumbersome to do each one by one.
Also when trying to decompress GV2's "cmn_demo.irlst" (where I assume cutscenes are being stored) it will get the following error message
Code:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8388616 bytes)
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8388616 bytes)