• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 04:36:09 am

News:

Don't be hasty to start your own mod; all our FFT modding projects are greatly understaffed! Find out how you can help in the Recruitment section or our Discord!


Managing sprite file size...

Started by Ildon, September 26, 2017, 08:44:45 am

Ildon

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.
  • Modding version: PSX & WotL
(PSP) FFT: GGL Edition 0.9.81 is now available. check here

Nyzer

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.
  • Modding version: Other/Unknown

Ildon

September 26, 2017, 10:11:23 pm #2 Last Edit: November 11, 2017, 08:25:29 pm by Ildon
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. 
  • Modding version: PSX & WotL
(PSP) FFT: GGL Edition 0.9.81 is now available. check here

Xifanie

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.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Ildon

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?
  • Modding version: PSX & WotL
(PSP) FFT: GGL Edition 0.9.81 is now available. check here

Xifanie

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.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Nyzer

Looks like it will show if you have a signature or edit your post. That's... an odd way for it to go.  :|
  • Modding version: Other/Unknown

Ildon

September 27, 2017, 11:49:58 am #7 Last Edit: November 13, 2017, 05:55:01 am by Ildon
...
  • Modding version: PSX & WotL
(PSP) FFT: GGL Edition 0.9.81 is now available. check here

Ildon

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. 
  • Modding version: PSX & WotL
(PSP) FFT: GGL Edition 0.9.81 is now available. check here

Nyzer

For the sake of anyone who might come searching with a similar problem later, mind explaining what the workaround was?
  • Modding version: Other/Unknown

Ildon

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. 

  • Modding version: PSX & WotL
(PSP) FFT: GGL Edition 0.9.81 is now available. check here