• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
July 04, 2025, 03:19:17 pm

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen, RetroArch, and Duckstation are recommended for playing/testing, pSX is recommended for debugging.


sprite hacking

Started by Zenko, June 28, 2009, 04:26:21 pm

Zenko

June 28, 2009, 04:26:21 pm Last Edit: June 29, 2009, 02:33:49 pm by Xifanie
BATTLE.BIN

0x0001ADCC :
00000000
activate paletted portraits for special units

0x00020AE4 :
00000000
26004228
Custom palette for special units and generic humans

0x00020AE4 :
FFFF4230
FFFF422C
Custom palette for special units, generic humans and generic monsters.

0x00020B0C
Number of maximum palettes that can be used. 08 recommended.

Quote from: "Raise palette limit + fix"0x000E92E0 :
0A00033C
00000F34
7CB260AC
04006324
1400E929
FCFF0914
0100EF25
31D10508
00000000
0500DE92
1900043C
CC088424
C0011034
18000702
12800000
21200402
5800848C
0300103C
40011026
24200402
9000352A
03001514
05001534
1A00F502
10B80000
02000410
1A00F502
10B80000
64070208
00000000

0x0010D4C0 :
B8400508

0x0001AD88 :
C1400508

0x00118910
Number of allowed spritesheets; override. This one is risky if you aren't aware of the consequences. Normally the spritesheet limit is 9 and the game will always calculate that you bring 5 units in random battles, even if the squad allows less. Therefore the game will calculate that only 4 enemy spritesheets are allowed to be loaded and will not even try to load any different spritesheet units after that. By raising the limit to 13, it allows 8 enemy spritesheets. Whoever you have to make sure the amount of units the player is allowed in the squad plus the the total spritesheets the ENTD can generate doesn't exceed 9. Else you create the possibility that a graphical glitch will occur for some units just like in story battles or the Deep Dungeon.


Here are some demos I made with my crappy bmp palette
 generator spreadsheet. (making some myself would've been too long and too ugly ^^)

  • 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

Zenko

June 28, 2009, 06:45:47 pm #1 Last Edit: June 29, 2009, 02:34:50 pm by Xifanie
EDIT: fix in beta test
  • 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

Vanya

June 28, 2009, 08:11:13 pm #2 Last Edit: December 31, 1969, 07:00:00 pm by Vanya
That's really cool stuff, Zodiac.
As for the crystal/palette problem. It sound's like the generics have all sorts of problems. Is it that their implementation was sloppy, or to specific for their own good?
Since generics don't have the glitch, then I could make 8 special monsters that share one sprite file with no problems, right?
Anyway, thanks for the new data! ^_^
  • Modding version: Other/Unknown
¯\(°_0)/¯

Zenko

June 28, 2009, 09:36:07 pm #3 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
You misread, and anyway I've looked into the bug and it works for special units too. it seems that targeting a panel (attack, ability) sometimes activates the freezing bug, that is, unless a unit already crystallized/treasured.

I'm working on it but the best I could do yet is remove the bug by removing the graphic...
  • 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

Cheetah

June 28, 2009, 09:48:39 pm #4 Last Edit: December 31, 1969, 07:00:00 pm by Cheetah
This is definitely cool stuff. The only thing left would be to implement more palettes in Unit.bin and assigning them correctly so that even more palette swap monster could be used as party members right?
Current Projects:

Archael

June 28, 2009, 11:28:42 pm #5 Last Edit: December 31, 1969, 07:00:00 pm by Archael
Quote from: "Zodiac"0x00118910
Number of allowed spritesheets; override. This one is risky if you aren't aware of the consequences. Normally the spritesheet limit is 9 and the game will always calculate that you bring 5 units in random battles, even if the squad allows less. Therefore the game will calculate that only 4 enemy spritesheets are allowed to be loaded and will not even try to load any different spritesheet units after that. By raising the limit to 13, it allows 8 enemy spritesheets. Whoever you have to make sure the amount of units the player is allowed in the squad plus the the total spritesheets the ENTD can generate doesn't exceed 9. Else you create the possibility that a graphical glitch will occur for some units just like in story battles or the Deep Dungeon.

this should be a HUGE help for mercenaries

thank you

LastingDawn

June 28, 2009, 11:47:27 pm #6 Last Edit: December 31, 1969, 07:00:00 pm by LastingDawn
Indeed, you have been a great help to me through all this! I'll look forward to using your other hacks as well.
"Moment's anger can revert to joy,
sadness can be turned to delight.
A nation destroyed cannot be restored,
the dead brought back to life."

Art of War

Beta & Gretchen Forever!!!!

Zozma

June 29, 2009, 01:02:51 am #7 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
zodiac this is great!

theres another thing now...

crystals can only have 0-5 as palettes
and treasure chest can only have 0-4
(there is absolutely no more space for color data due to other "sprites" like the frog and chicken using palette space as well.)

soo... is there any way you can make it so if the sprite has palette 5-8 it defaults their crystal and treasure palettes to the first palette so you dont have glitchy looking stuff?

or perhaps make it so crystal and treasure always uses palettes 0 for any assigned palette?
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Vanya

June 29, 2009, 09:05:20 am #8 Last Edit: December 31, 1969, 07:00:00 pm by Vanya
That would be the most sensible solution.
Bypass the glitch entirely.
  • Modding version: Other/Unknown
¯\(°_0)/¯

Zenko

June 29, 2009, 02:37:41 pm #9 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
Hey guys, try out the fix... I haven't tried it much but it seems to be working perfectly normal on my side.

By the way this isn't a normal fix, but the bug itself was extremely odd in the first place.

It fixes crystal/treasure/frog/chicken palettes with a MOD (example: 7 mod 5 = 2; 4 mod 5 = 4; 5 mod 5 = 0). And the other part of the routine prevents the freezing bug.
  • 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

Vanya

June 29, 2009, 05:24:45 pm #10 Last Edit: December 31, 1969, 07:00:00 pm by Vanya
Sweet! Thanks a lot for this.
BTW, do I set the palettes in the job or in the ENTD?
  • Modding version: Other/Unknown
¯\(°_0)/¯

Zenko

June 30, 2009, 12:53:14 am #11 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
ENTD only, that is why I made an option with or without monsters; since you'd have to reset the palette of every monster in every ENTD. For people like me that's easy. But as for some others, I doubt.
  • 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

Zozma

June 30, 2009, 04:33:11 pm #12 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
freezing bug?

i thought it had been because i had given the unit R/S/M skills in places they weren't supposed to have them.
---

well its good news about the crystal/chest thing
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Vanya

June 30, 2009, 04:35:42 pm #13 Last Edit: December 31, 1969, 07:00:00 pm by Vanya
I thought it didn't matter where R/S/M are placed because the game only treats them differently for sorting purposes.

But, yeah this is a pretty big step forward for the community. ^_^
  • Modding version: Other/Unknown
¯\(°_0)/¯

Zozma

June 30, 2009, 04:42:54 pm #14 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
now all id like is for any unit to auto accept "hp/mp restore" from crystals instead of giving the option to absorb an ability.

i dont want crystal farming in my patch... because the generic enemies have too many skills unlocked
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Zenko

July 05, 2009, 12:31:17 pm #15 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
To my surprise, it seems the game is storing the palette. I forgot to reset to 0 the palette of a character that joins as a guest, and when I entered a random battle, it had the same it joined with. I reseted the palette and everything went to normal. So it works for special characters at the very least.
  • 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

Zozma

August 06, 2009, 06:20:59 pm #16 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
something in this causes the game to crash


Raise palette limit + fix wrote:
0x000E92E0 :
0A00033C
00000F34
7CB260AC
04006324
1400E929
FCFF0914
0100EF25
31D10508
00000000
0500DE92
1900043C
CC088424
C0011034
18000702
12800000
21200402
5800848C
0300103C
40011026
24200402
9000352A
03001514
05001534
1A00F502
10B80000
02000410
1A00F502
10B80000
64070208
00000000
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Zenko

August 07, 2009, 01:45:52 am #17 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
under which circunstances?
  • 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

Zozma

August 07, 2009, 07:34:58 am #18 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
Z Falls, after all the event stuff and battle conditions display, as soon as the first character got her turn it gave the error
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Zenko

August 07, 2009, 11:32:35 am #19 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
I didn't manage to reproduce the bug at all; I even changed everyone's palette.

Can you give me a quicksave or something?
  • 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