After some Googling I went down an odd path of removing the alpha channel with ImageMagick, resizing the plain RGB texture with Gigapixel, then adding the alpha channel back in.
As others have noted, the black outlines are still an issue with Gigapixel, but I did see a small improvement from removing the alpha channel prior to resizing. I tested with Castlevania: Symphony of Night, which was probably a poor choice as the character textures are extremely low res to begin with.
Regardless, thought I would share the process in case it’s of use to anyone.
Download and install ImageMagick, then create 6 subdirectories in its root folder, called A, B, C, D, E, and F.
In folder A put your dumped textures.
Create a batch file in the ImageMagick root called “Alpharemove.bat” and edit it with the following:
for /r %%i in (.\A*) do magick convert -quiet A%%~nxi -alpha off B%%~nxi
Run “Alpharemove.bat.” This will populate the B directory with textures without alpha channels.
Create another batch file in the ImageMagick root called “Alphaextract.bat” and edit it with the following:
for /r %%i in (.\A*) do magick convert -quiet A%%~nxi -alpha extract C%%~nxi
Run “Alphaextract.bat.” This will populate the C directory with the alpha channel textures.
Upscale the alpha removed textures in the B directory (using Gigapixel or other preferred method) and place them in the D directory, maintaining exact same filenames.
Create another batch file in the ImageMagick root called “Alpharesize.bat” and edit it with the following:
for /r %%i in (.\C*) do magick convert -quiet C%%~nxi -resize 200%% E%%~nxi
Run “Alpharesize.bat.” This will populate the E directory with the resized alpha channel textures. Make sure to change the -resize % value to the same percentage that you upscaled your RGB textures to.
Finally, create a batch file in the ImageMagick root called “Alphamerge.bat” and edit it with the following:
for /r %%i in (.\D*) do magick convert -quiet D%%~nxi E%%~nxi -compose copyopacity -composite F%%~nxi
Run “Alphamerge.bat.” This will merge your resized RGB and alpha textures and put them in the F directory.
Finally copy the textures from the F directory to your texture-replacements directory.
I’m aware that if I was better at scripting this could probably be piped into a single script, but at least this way the process is spelled out clearly for everyone. Below are some before and after images. The difference is small, but in some areas, like the torch lights, these is a clear improvement. I’m hoping that the results might be better in 3D games with higher quality textures.
As I’m a new user I can only post one image, so can’t show comparison.
Gigapixel upscale x 2 with prior alpha channel removal