-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to building binary pic files from pngs #31
Comments
|
What's the output of |
|
I can remove the gfx.py hardcoded rules and just keep them locally. There were some initial fixes that should probably be kept though: Python 3 compatibility, graceful handling of the 577 byte Alakazam Silver backsprite, and possibly a couple others. There was also the 'animate' argument that I commented out (since Gold/Silver don't have the animated frontpics), but I don't remember if I ever checked to see if that was a necessary change. |
gfx.py doesn't need to handle Silver's Alakazam because lzcomp doesn't either (it can't match the compression). It would be included as a raw back_silver.2bpp.lz.bin file, so back.png would only get encoded+compressed for gold. |
Ah, yeah, I meant a fix in the lz -> 2bpp -> png direction (I couldn't directly create the Silver png from its lz without a change in the gfx.py code). Far from necessary to include handling for that edge case though. That said, I guess I'm not sure how gfx.py actually gets used for pokecrystal anymore; I thought various C code replaced its main uses? I assume there's some use for hacks that I may be missing. |
The build process doesn't use gfx.py; it's kept as a convenient tool for if you want to manually convert/deconvert PNGs. |
Issue #47 tracks the remaining few binary gfx files. |
As of 8a924f1, there are 1058 pics committed by my count. Up to this point, I have just been adding
.1bpp
/.2bpp
/.lz
extracted from the baseroms, and only creating pngs as a bonus. I have yet to bother attempting using pngs as the source for creating these files (as well as.gbcpal
/.dimensions
files, for pokemon and trainers).Eventually, we'll want to do this. Places that will need to be updated to match how things are done in pokecrystal:
Makefile
with all necessary targets (see here for what it currently looks like in pokecrystal; also add atidy
target and update theclean
target).lz
file)data/pokemon/palettes.asm
anddata/trainers/palettes.asm
to INCBIN.gbcpal
files, rather than INCLUDE the current.pal
filesdata/pokemon/base_stats.asm
to INCBIN afront.dimensions
file rather thandn
two nybbles with the frontpic dimensions.lz
files with their md5 hashes (to signal whether the generated.lz
file matches the binary in the baserom)lzcomp.c
,md5.c
,palette.c
, andpng_dimensions.c
to the tools directory to support the above changes (currently assumingpokemon_animation.c
andpokemon_animation_graphics.c
are only relevant to Crystal).gitignore
to ignore all.1bpp
/.2bpp
/.lz
files, and remove any remaining redundant files from the repoThere are a few mutually exclusive parts to this, so all of these need not be done in one step.
Edit (3-Jun-2020): I had some work started on this branch for the new lzcomp, which matched every PNG that existed at the time, except for Alakazam's backsprite in Silver. Will revisit soon.
The text was updated successfully, but these errors were encountered: