Author Topic: Graphics Hacking  (Read 63790 times)

Agent 12

  • Moderator
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Graphics Hacking
« Reply #390 on: May 04, 2009, 03:39:03 pm »
Ah, that makes since.  you're totally right I changed the indices.

Thanks!

--JP

(makes note to add this to SA editor when he converts it to a TF plugin)

Agent 12

  • Moderator
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Graphics Hacking
« Reply #391 on: May 05, 2009, 10:20:03 pm »
want to reiterate this question:

a) Were there 5 frames for Zeal's face? If not are we just over riding into her hands? How well versed are we on how to do this?

I'm slightly concerned about animations frames. A couple people have said that they are editable but I don't know where they are? Chrono'99 asked how to edit animations awhile ago.  If someone can point me towards a post explaining fhr format that'd be awesome.

--JP

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Graphics Hacking
« Reply #392 on: May 05, 2009, 10:49:32 pm »
JP, see if the following discussion helps you out with animations. Vehek and justin3009 have older posts with their original findings hanging around somewhere too.
http://www.chronocompendium.com/Forums/index.php/topic,5987.msg146233.html#msg146233

Again, all pointers to the animation data are contained in the sprite info spreadsheet, or they should be. The animation data is just a series of references to the assembly frames IIRC.


Well, just to fast forward you past my initial confusion, take a look at this post:
http://www.chronocompendium.com/Forums/index.php/topic,5987.msg146335.html#msg146335

Agent 12

  • Moderator
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Graphics Hacking
« Reply #393 on: May 06, 2009, 02:08:23 am »
wow FW awesome job....This will eventually be very editor-izable but I think for our purposes we can do it by hand for now.

So the body has

2 animations, 4 frames each.  From FW's above post it looks like for each frame we need one byte for the frame, one byte for the time in that frame, and an FF.  So 2*4 + 1...9

Flames have....4 frames...I'm not sure how many animations (i'm basing this off chrono'99's awesome cheat sheet above.

Chacking FW's guide:

Body/Head:   177   242762   249E30   90
Hand 1 178   242764   249EC0   A0
Hand 2: 179   242766   249F60   A0


Uh....holy shit were not even going to be close to running out of space..did I do something wrong here?  Does the face really have that many animations/frames?

--JP

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Graphics Hacking
« Reply #394 on: May 06, 2009, 03:06:30 am »
For Crono's animation data referenced in the linked discussion, there was just one byte referencing an assembly frame for each frame in the animation. There's an entirely separate set of animation data specifying "frame lengths," which are hopefully so negligible a consideration that they might not even need changed.

So if the body has two animations, four frames each, then it should look like so:

First animation: 4 bytes for animation frames + FF + buffer 00 bytes to make sure it ends in a multiple of four.

Second animation: 4 bytes for animation frames + FF + buffer 00 bytes to make sure it ends in a multiple of four.

So that's...

First animation: 8 bytes (4 frame references, one FF terminator, three 00s)
Second animation 8 bytes (4 frame references, one FF terminator, three 00s)

Looking at the animation data for QZ's battle mask...
00249E30  00 FF 00 00 00 FF 00 00-00 00 00 00 00 FF 00 00  ................
00249E40  00 FF 00 00 01 FF 00 00-00 FF 00 00 00 FF 00 00  ................
00249E50  00 FF 00 00 00 FF 00 00-00 FF 00 00 00 00 00 00  ................
00249E60  00 FF 00 00 00 FF 00 00-01 FF 00 00 00 FF 00 00  ................
00249E70  00 FF 00 00 00 FF 00 00-00 FF 00 00 00 FF 00 00  ................
00249E80  00 00 00 00 00 FF 00 00-00 FF 00 00 01 FF 00 00  ................
00249E90  00 FF 00 00 00 FF 00 00-00 FF 00 00 00 FF 00 00  ................
00249EA0  00 FF 00 00 00 00 00 00-00 FF 00 00 00 FF 00 00  ................
00249EB0  01 FF 00 00 00 FF 00 00-00 FF 00 00 00 FF 00 00  ................


Something really fishy is going on. It needs a ton of animations involving only frame 00, and then two animations involving frame 01 from what I can see. There's an opportunity at address 0x249E80 to have an 8-frame animation if you need a longer one and don't want to worry too much about the effects of tinkering with this, but here's the question: do we have a way to tell the game to look at that address when King Zeal is hit/spellcasting/whatever?

Agent 12

  • Moderator
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Graphics Hacking
« Reply #395 on: May 06, 2009, 03:20:37 am »
I'm guessing it's like what you said.....you HAVE to have an animation for certain "effects" like walking, spell, casting  getting hit, dead etc and for QZ they are all just the same thing.  I don't see any other reason for it to be that large.  So we have to probably do a brute force attack for finding the "spell casting" in that jumble of bytes......

The good news IIRC her spell casting was  one of the 01's so there's only a few options.

We also kind of goofed with making out two animations 4 frames I guess :-/  It won't fit very nicely. 3 frames would have been ideal.

Another nice piece of goodnews is that If queen zeal is the "minimum" amount of animations you have to define for an enemy then we get a little buffer with her hands since they are A0 size.

--JP

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Graphics Hacking
« Reply #396 on: May 06, 2009, 03:26:55 am »
Now I see that there's at least two places where 8-frame animations are used (first row, sixth row of pasted data). I'm guessing it's the total number of animations that matter, so it would just be a matter of finding which animations correspond with which positions and trading the lengths around.

Agent 12

  • Moderator
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Graphics Hacking
« Reply #397 on: May 06, 2009, 03:37:18 am »
ah, nice eye.  I totally glossed over that.

OK,  I dont think animations will be a problem.  But I am pretty convinced after this that QZ only has 2 frames, compared to the 5 frames that we want her to have.  However, I don't think it should be that big of a deal since the immediate next frames for her hands are now going to be demoted to size 0 sprites.  Tomorrow I'm going to go the whole 9 yards with the King Zeal insertion, block out the data that we need and get this sucker inserted.

With Chrono'99 done polishing I have a feeling were about to hit light speed here.

--JP

Agent 12

  • Moderator
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Graphics Hacking
« Reply #398 on: May 08, 2009, 03:26:20 pm »
Can someone point me to where to change sprite size? Chrono tweaker gives me some goofy values so I'm kind of scared to use it. I'm trying to change zeals hands to size 0.

I'm at the airport but my plane doesn't leave for an hour and half a ill check here before I leave.

Thanks

Jp

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Graphics Hacking
« Reply #399 on: May 08, 2009, 03:31:55 pm »
JP, sprite size is fifth byte in the sprite's overall header. There's a "headers" tab on the sprite address sheet where you can cross-reference the header addresses with the Sprite Header Index listed on the "Chrono Sprite Indices" tab.

Start at the header address of the sprite, then move ahead five bytes and that's where sprite assembly size will be.