Skip to content
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

Eye/mouth placement & generated installer #5

Open
Veslyquix opened this issue Nov 15, 2024 · 0 comments
Open

Eye/mouth placement & generated installer #5

Veslyquix opened this issue Nov 15, 2024 · 0 comments

Comments

@Veslyquix
Copy link

Veslyquix commented Nov 15, 2024

More of a suggestion than an issue, but automatically detecting eye/mouth frame placement is a nice feature to have. It has already been implemented in python and works with all but 1 portrait of 500 or so tested. So you don't need to actually do anything - this exists already. But I wanted to draw your attention to it, in case you're interested in it.

In 2021, Mintx wrote a portrait formatter meant to replace yours:
https://feuniverse.us/t/the-portrait-formatter-no-one-was-asking-for/13910
It detected eye/mouth placements automatically, but it had other bugs with some portraits, so ultimately everyone who tried it went back to using yours when it was clear that Mintx wasn't fixing the bugs.

This year I've made my own self randomizers for fe6/7/8 and most recently I've been adding every single fe character into one rom.
https://feuniverse.us/t/every-character-as-fegba/28226

I didn't want to manually do coordinates / write out an installer for hundreds of characters, so I took what Mintx had done and made this python file, using only the eye/mouth placement part:
https://github.com/Veslyquix/SRR_FEGBA/blob/CharTables/gfx/Portraits/fastmuggen.py
(I also wrote a quick thing to fix filenames to remove characters like {}, etc.)

The result is a generated installer like this:

//Generated! Do not edit! 

ALIGN 4
Aversa_Garytop_F2EMugData:
#incbin "Dmp/Aversa_Garytop_F2E_mug.dmp"
#incbin "Dmp/Aversa_Garytop_F2E_frames.dmp"
#incbin "Dmp/Aversa_Garytop_F2E_palette.dmp"
#incbin "Dmp/Aversa_Garytop_F2E_minimug.dmp"
#ifndef AversaMug
  #define AversaMug (FirstMugID+1)
#endif
setMugEntry(AversaMug, Aversa_Garytop_F2EMugData, 2, 5, 2, 3)

I'm pretty happy with this setup except that it'd be nice to use make to only process ones that haven't been processed already, since with 500+ it takes a while. I've only dipped my toes into make but maybe I can figure that out at some point in the future.

Anyway, I just thought you might be interested to know a bit about this stuff as you made the portrait formatter in the first place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant