Author Topic: Character Graphics Swap hack.  (Read 25758 times)

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: Character Graphics Swap hack.
« Reply #45 on: February 08, 2020, 04:10:41 pm »
I think there's a couple unused things. I'll have to put together a list later.

IHBP

  • Architect of Kajar
  • Chronopolitan (+300)
  • *
  • Posts: 379
    • View Profile
Re: Character Graphics Swap hack.
« Reply #46 on: February 08, 2020, 10:28:05 pm »
Ok so using that I extracted the Sprite assembly to  0043E950 and the graphics to 0043C300, now all I need is to repoint some blank indexes.

IHBP

  • Architect of Kajar
  • Chronopolitan (+300)
  • *
  • Posts: 379
    • View Profile
Re: Character Graphics Swap hack.
« Reply #47 on: September 13, 2020, 02:07:13 pm »
Ok so I checked the indexes and 248 or F8 in both the graphics packets and Sprite assembly are unused so I need to know how to repoint those 2 indexes to the respective addresses in my previous post.

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: Character Graphics Swap hack.
« Reply #48 on: September 13, 2020, 02:31:18 pm »
242000 + F8 * 3 - 00 C3 43
242300 + F8 * 3 - 50 E9 43

IHBP

  • Architect of Kajar
  • Chronopolitan (+300)
  • *
  • Posts: 379
    • View Profile
Re: Character Graphics Swap hack.
« Reply #49 on: September 13, 2020, 03:58:22 pm »
Damn its not working, those addresses should be x002422E8 and x002425E8 right?

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: Character Graphics Swap hack.
« Reply #50 on: September 13, 2020, 04:35:49 pm »
Should be. What results are you seeing?

IHBP

  • Architect of Kajar
  • Chronopolitan (+300)
  • *
  • Posts: 379
    • View Profile
Re: Character Graphics Swap hack.
« Reply #51 on: September 13, 2020, 05:49:32 pm »
Just garbage,  I thought it might have something to do with compression but i tried it out on an uncompressed enemy and it's still just showing junk.

I must have imported it wrong.

IHBP

  • Architect of Kajar
  • Chronopolitan (+300)
  • *
  • Posts: 379
    • View Profile
Re: Character Graphics Swap hack.
« Reply #52 on: September 15, 2020, 09:54:27 am »
So I swapped them, npc 29 works fine with graphics packet F8, but changing Frog to 07 in Warrior workshop still gets me garbage graphics.

Also 0x04776 was already at 07, I tried switching it to 08 but it made no difference.

IHBP

  • Architect of Kajar
  • Chronopolitan (+300)
  • *
  • Posts: 379
    • View Profile
Re: Character Graphics Swap hack.
« Reply #53 on: September 17, 2020, 11:26:44 am »
Ok turns out I had imported the graphics badly, I redid it and now I have that part but the sprite assembly is still wrong, are you sure the pointers for sprite assembly are in the  x00242300 range?  If those are pointers they all point to the x00DC0000 range which doesn't exist. The pointers should point to the x00230000 range.

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1761
    • View Profile
Re: Character Graphics Swap hack.
« Reply #54 on: September 17, 2020, 12:48:51 pm »
Wait, have you never dealt with full HiROM addresses before? DCxxxx is just the 1C0000 range. Which is where most of the PCs' sprite assemblies are placed.
Code: [Select]
1C0000 1C27AF SASM N (06) Sprite Assembly - Magus 2007.06.29
1C27B0 1C4E6F SASM N (00) Sprite Assembly - Crono 2007.06.29
1C4E70 1C748F SASM N (02) Sprite Assembly - Lucca 2007.06.29
1C7490 1C9AD7 SASM N (04) Sprite Assembly - Frog 2007.06.29
1C9AD8 1CC07F SASM N (01) Sprite Assembly - Marle 2007.06.29

How did you go around changing the graphic pointers without noticing the existing entries were all "nonexistent addresses" by that interpretation?

IHBP

  • Architect of Kajar
  • Chronopolitan (+300)
  • *
  • Posts: 379
    • View Profile
Re: Character Graphics Swap hack.
« Reply #55 on: September 17, 2020, 03:51:01 pm »
Nope I've never dealt with full HIROM before, the pointers for the graphics point to standard hex addresses.

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: Character Graphics Swap hack.
« Reply #56 on: September 17, 2020, 04:15:43 pm »
Internally, the SNES sees things a little differently than the file addresses. 000000-3FFFFF maps to C00000-FFFFFF, and 400000-5FFFFF maps out to 400000-5FFFFF

For packets within the 0x230000 range, the pointers will be stored as xx xx E3.

For Chrono Trigger, for any file offset less than 400000, add C00000 to the address when dealing with pointers.

IHBP

  • Architect of Kajar
  • Chronopolitan (+300)
  • *
  • Posts: 379
    • View Profile
Re: Character Graphics Swap hack.
« Reply #57 on: September 18, 2020, 03:02:28 pm »
That actually helped immensely,  I've made great progress on it. Unfortunately the animations aren't the same so I need the pointer to Frog's animation data.

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: Character Graphics Swap hack.
« Reply #58 on: September 19, 2020, 12:33:58 am »
Code: [Select]
242600 242783 PTR N "Pointers to character animations (?) (local, first at 243000)" 2004.06.21
242800 242983 PTR N "Pointers to unconfirmed animation data (local, first at 24A800)" 2004.06.21

Two byte local pointers for these.

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1761
    • View Profile
Re: Character Graphics Swap hack.
« Reply #59 on: September 19, 2020, 12:52:48 am »
You left out the part where you can't just swap pointers around, since all the regular animation data entries have to be consecutive to load properly. (The last entry is presumably not used, just there to set the size of the final actual animation set).
I'm not sure, but adding on a new pointer entry to the regular animation data pointers requires two entries: one for the start offset of the new data, one for the end.
« Last Edit: September 19, 2020, 01:13:28 am by Vehek »