-
-
Notifications
You must be signed in to change notification settings - Fork 1
Description
TrueOdin — 3:59 PM
Out of curiosity, how close are we to being able to use this as a daily driver for working on upscaling fields?
Can your tool help modders slice the layers and recombine them after being upscaled?
So far, the tedious process looks something like this:
-
Extract the original field.
-
Combine all the layers into one.
- Can #143 be used to combine the layers?
- At a bare minimum, we could generate images that represent the unique combinations of all
pupuid
s. - We could use a
TOML
file to track which filename corresponds to which combination ofpupuid
s. TheTOML
would map a single filename to multiplepupuid
s stored asuint32_t
. - The
coo
would also need to be included in the filename, since eachcoo
is its own run of the algorithm. If it's not in the filename, we won’t be able to separate them in the output. - Then people could delete the images they don’t want.
- The Batch Output screen can do this — we’d just need a new mode and a new filter. (The filter tells Map Sprite what to generate.)
-
Upscale the whole thing.
- The user would need to use their own upscale method of choice. The only way we could automate this is if there was some command line tool to do this and we just call it for them.
- Or if this tool had a CLI version though we use OPENGL for rendering so can't quite do on CLI I think.
-
Extract all layers back as individual ones.
- Can #143 also be used to extract the layers?
- We could use the
pupuid
s from theTOML
to make cutouts, maybe using visible pixels to create a mask and draw those pixels into new textures. - Starting with nearest-neighbor cutouts. I'd love to find a way to alias the cutouts, but it would need to be consistent between the layers above and below.
- Batch Input screen: we’d need a new mode and filter here as well.
- Input is a bit more complex — we’ll have a lot of duplicate data. I’d ingest the images and generate the
pupu
textures on the fly, rather than store them permanently. That said, we might still write some duplicate data to our buffers. - We might need a screen to choose which textures go to which
pupuid
, so we can just grab the ones we want. Though, that kind of defeats the automation goal... - Maybe we make it optional. For the automatic mode, we could just do a pass and grab the first matching image with a given
pupuid
. - We need to warn the user in the console if a
pupuid
is missing.
-
Save it back swizzled.
Do you think there’s a way to automate this process?
No pressure — just some food for thought.
If you get a chance to look into this, I really believe it could make your tool the ultimate go-to, and help people who aren’t as skilled as Axl start releasing their own upscales.
The next big challenge will be managing the animation layers, but that’s a problem for another day.
If we can just get static upscales working, that alone would be a huge win.
since you know already where to cut, basically you allow the user to move it to tell you where to cut exactly for each layer
the UI in my head looks like "pick the layer on the right" and for each layer you select ( only one at a time ) you are allowed to customize the 2d wiremesh
it will 99% of the times draw "correctly" if upscale is 1:1, but say it's a custom texture, the user can customize it to fit the new picture
chances are that 99% of the time this logic in batch will work out of the box and maybe only few fields will need this to be customized
https://www.adobe.com/products/photoshop/lasso-tool.html
i wonder though if we want it to be automatic it and we popping up and asking people what do do for each field. is that okay?
as far as I've seen while modding ff7, most of the time the first batch of mods are "good enough" ones
then the "premium" ones which will require manual crafting comes after
even if we don't get a silver bullet upscaling, at least is better than what we have already lol
so auto mode will enable this 1st wave of mods, and the manual mode will allow the 2nd wave
in any case your tool will allow both, but providing an auto mode won't hurt, people at least will be able to experiment with the whole concept even if it won't look perfect in the first pass
https://www.godbolt.org/z/xc46dj3Pq chatgpt and grok gave me this algo so I could generate combinations of ids. grok did the lazy version. I guess it's using bits to determine which combinations it has already done.