Final Fantasy Hacktics

Modding => Spriting => Topic started by: Ildon on September 26, 2017, 08:44:45 am

Title: Managing sprite file size...
Post by: Ildon on September 26, 2017, 08:44:45 am
What are the best methods for cutting down on the file size of sprites? 

Currently all that is left for my mod is to do two sprite replacements, one unit.bin/wldface.bin edit and finish beta testing. 


P.S. Thank you for your time.
Title: Re: Managing sprite file size...
Post by: Nyzer on September 26, 2017, 11:42:53 am
This is why you should be setting your profile to show your modding preference - sprite size isn't an issue in the PSX version, which is the version most people are familiar with and most tools work best with. As a general rule of thumb, if you want WotL help you should specify that you're modding WotL.
Title: Re: Managing sprite file size...
Post by: Ildon on September 26, 2017, 10:11:23 pm
I actually did set which version I am modding.  It's both Wotl and the PSX versions.  I am not certain why it did not display that information at the end of my post.  It has displayed it in the past. 

For the PSX version obviously you just expand the ISO and then you wont run into size issues. 

For Wotl you can use shishi v.352 and bypass the size limit and then cause all sorts of graphical errors.  Which of course defeats the purpose of bypassing the limit because the end result is garbage.  So until the pipe dream of expanding the limits for Wotl comes true the only option is to manage the file sizes of sprite sheets. 

The only thing that I've found as viable means to manage file size so far is altering how much of the sprite sheet is used/empty.  To cut down on how much of the sprite sheet is used can really only be accomplished by strategically trimming down the battle sprites to avoid creating a hideous mess.   

Edit: I just double checked and my profile shows that I have PSX and WotL checked.  If you have something checked in your profile it did not display on your post.  I guess I'll just add something to personal text. 
Title: Re: Managing sprite file size...
Post by: Xifanie on September 26, 2017, 11:07:52 pm
See, that doesn't make any sense because the palette and the first 256x256 of a sprite are not compressed. Only rows 257 to 488 are.
Title: Re: Managing sprite file size...
Post by: Ildon on September 26, 2017, 11:34:42 pm
Well maybe more information is better than less... 

Currently my goal is to finish minor sprite replacements in WotL.  Specifically replace 13 - Simon, max spr size of 47104 bytes, with a White Chocobo sprite, current size of 49572 bytes. 

I'd like to copy the sprite for Simon over an unused sprite, but for the time being I copied him over a sprite that is only used once. 

So this leads me back to the subject of this thread...  What are my options for managing the size of character sprite sheets in .bmp format?
Title: Re: Managing sprite file size...
Post by: Xifanie on September 27, 2017, 10:27:10 am
Well, you could cut out a substantial amount of the lower section of the spritesheet (less to compress = smaller filesize), or if you're going with a white chocobo, you could just create a job with the chocobo sprite ID with the 4th palette. Of course I don't know how that would look for the UNIT.BIN sprite and WLDFACE.BIN portrait other than ugly glitchy looking palettes at least. This might only work with another generic monster job though, which would cause issues with the whole breeding monsters thing unless you replaced like, archaic/ultima demon I guess.
Title: Re: Managing sprite file size...
Post by: Nyzer on September 27, 2017, 11:20:41 am
Looks like it will show if you have a signature or edit your post. That's... an odd way for it to go.  :|
Title: Re: Managing sprite file size...
Post by: Ildon on September 27, 2017, 11:49:58 am
...
Title: Re: Managing sprite file size...
Post by: Ildon on October 03, 2017, 04:22:44 pm
Well on the bright side I believe that I figured out a work around that creates a properly functioning unique white chocobo class with correct formation portrait and sprite as well as battle sprite/portrait.  So unless something comes up in future beta testing that ordeal is behind me. 
Title: Re: Managing sprite file size...
Post by: Nyzer on October 03, 2017, 09:20:19 pm
For the sake of anyone who might come searching with a similar problem later, mind explaining what the workaround was?
Title: Re: Managing sprite file size...
Post by: Ildon on October 04, 2017, 07:45:29 am
Sure. 

So essentially the chocobo sprite sheet has the largest file size of all the character sprite sheets.  As such without being able to expand the file size limits for the psp version you have two options for creating a recruitable unique chocobo. 

Option 1:  Cut down on the number of used pixels in rows 257 to 488 to reduce file size.  You can somewhat easily remove 500-700 without butchering the sprites horribly which gets you nowhere near where you need to be to substitute in the new chocobo sprite sheet unless you choose to overwrite one of the larger Lucavi sprite sheets. 

Then you will be forced to modify said Lucavi sprite sheet so that it can replace something like the funeral priest.  This of course causes a Lucavi cameo unless you modify events that use the replaced sprite.  You will also have to modify the ENTD and jobs sections So that the chosen Lucavi will use the modified sprite that you swapped in. 

Option 2:  Essentially... you gut the red chocobo.  You replace the palettes for the red chocobo with the ones for a white chocobo.  This of course means that you will want to modify the job name for the red chocobo since it is no longer red.  Then you set your unique monster class to have the same M. Portait, M. Palette, and M. Graphic info as the red chocobo class. 



In either case you will have to modify at least one UNIT.BIN sprite and WLDFACE.BIN portrait. 


Extra info:
For non-recruitable chocobos simply use palettes beyond the third since you will not have to worry about formation sprites or portraits. 

From my experience if you want to create a functional/unique/recruitable monster class for the psp version it is easiest to replace a Lucavi class that has a formation sprite/portrait then clone the Lucavi class over one of the unused classes.  As always make sure to update the ENTD, UNIT.BIN, and WLDFACE.BIN accordingly.