Glitchy Characters on Overworld Chocobo
#1
Hey guys, I have a question regarding characters like Banon and the Ghost for instance on Chocobo on the overworld. As it is, it seems any character past Leo shows up glitchy whilst riding a Chocobo on the overworld. Now I've already expanded the character's sheets I am using to include the riding pose, which fixes the issue for when riding vehicles around on normal maps, but does not help for this issue on the overworld. I would very much like for them to be shown right. Any ideas on what to do for a fix?

My Banon char glitched out: [Image: imgshk.png]
We are born, live, die and then do the same thing over again.
#2
I understand now (thanks to Madsiur) that the reason behind this glitch is because the code in EE is calculated to only allow characters with 100% complete sprite sheets to be assembled correctly on the overworld chocobo, but I assumed since I expanded Banon's that it would quite simply work without doing anything else lol -- however it is obviously still looking at/checking the old non-complete sheet code, or not acknowledging that I have expanded the sheet rather in order to recalculate it for Banon to work.

So I guess now my question is, is how to get the game to look at/find these new complete sheet data, and calculate that in or whatever it takes to make Banon and the Ghost be able to ride the chocobo correctly on the overworld. =)
We are born, live, die and then do the same thing over again.
#3
The low byte of the sprite address is in $6A, middle byte in $6B and high byte in $6C. The only solution I see is adding an exception before EE/8980 where you check the offset and change it in case it match the offset of your character riding sprite. Let's take Terra's example and assume she has a riding sprite at F0/6820. Her default riding sprite is at D5/0180.

Code:
01) LDA $6A     (load calculated low byte)
02) CMP #$80    (compare loaded low byte to expected one)
03) BNE  $????  (branch to step 16 if it doesn't match)
04) LDA $6B     (load calculated middle byte)
05) CMP #$01    (compare loaded middle byte to expected one)
06) BNE  $????  (branch to step 16 if it doesn't match)
07) LDA $6C     (load calculated high byte)
08) CMP #$D5    (compare loaded high byte to expected one)
09) BNE $????   (branch to step 16 if it doesn't match)
10) LDA #$20    (we are here if the whole offset match the expected one)
11) STA $6A     (store new low byte)
12) LDA #$68
13) STA $6B     (store new middle byte)
14) LDA #$F0
15) STA $6C     (store new high byte)
16) Normal code at EE/8980

That would only be good for one character though. You would have to do a check for each character that has a riding sprite in the extended data, unless there is some order there which would allow to develop a calculation logic.

Edit: The other option would branch on the sprite ID and add a calculation logic for sprite IDs higher than 15.


Possibly Related Threads…
Thread Author Replies Views Last Post
  Chocobo Usefulness doofenH 4 3,737 04-20-2022, 11:25 AM
Last Post: madsiur
  Glitchy shop sprite (Expanded Palette Patch) Febreeze 1 1,841 08-11-2020, 12:50 PM
Last Post: Gi Nattak
  overworld tilesets CzarMalboro 7 5,245 08-22-2019, 07:20 AM
Last Post: CzarMalboro
  Clippin' Chocobo 13375K37CH3R 3 3,789 10-03-2017, 08:07 AM
Last Post: seibaby
  Glitchy Animation (Tools) Kugawattan 2 3,469 01-01-2016, 08:00 PM
Last Post: Kugawattan
  How to change Chocobo's palette? cdizzle 11 13,135 04-01-2013, 12:25 PM
Last Post: madsiur

Forum Jump:


Users browsing this thread: 1 Guest(s)