Users browsing this thread: 1 Guest(s)
Armor appearance change???

#1
Posts: 315
Threads: 50
Thanks Received: 7
Thanks Given: 25
Joined: Feb 2012
Reputation: 4
Status
None
A while back I saw a hack that Angelo26 had made that made Strago's sprite change depending on certain armor he wore. This was pretty freakin' awesome to me xD. I spoke with him to see if I could get it, but he hasn't had it for a while he said. He told me he'd work on it in his free time, but I shouldn't have to expect him to go out of his way for me. SO! I've decided to attempt it myself. I'm aware it will have to be done with hex editing and I think I'm grasping that process a little easier now. All I need is a push in the right direction. Anyone know where to start? Still not completely familier with custom events which is what I'm sure I have to make. Thanx for any help ahead of time!

Roy-boy
  Find
Quote  

#2
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
This is not event modification, it's code modification.

Read this: http://slickproductions.org/forum/index.php?topic=1210
  Find
Quote  

#3
Posts: 831
Threads: 41
Thanks Received: 16
Thanks Given: 12
Joined: Nov 2009
Reputation: 18
Status
None
Ahh, memories.

This post was from when I was an ASM noob. And I still am. Only that I can change code and read it more quickly now.

I actually posted the whole code that you need there, the only thing you need to figure out are the equipment ID#. I used the moogle suit and some other suits, then renamed those using usME.

And btw, I am a total usME noob. Just saying.

Quote  

#4
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(03-20-2012, 05:56 PM)Angelo26 Wrote: I actually posted the whole code that you need there, the only thing you need to figure out are the equipment ID#. I used the moogle suit and some other suits, then renamed those using usME.

I just think of that but what about the palette? Does it change the sprite palette only by changing the sprite ID? I think Lenophis doesn't answer the question in the thread and he even seems unsure about it...
  Find
Quote  

#5
Posts: 831
Threads: 41
Thanks Received: 16
Thanks Given: 12
Joined: Nov 2009
Reputation: 18
Status
None
It's hardcoded, and the palette is automatically loaded
Quote  

#6
Posts: 315
Threads: 50
Thanks Received: 7
Thanks Given: 25
Joined: Feb 2012
Reputation: 4
Status
None
I found the code for the moogle suit which is a good start and the EquipID is simple. My issue now is where to find the character ID's... the same method doesn't work in finding the EquipID. And also can I add more armors at the end of C3 bank? How do i do this? Thank you for the Link Madsiur! However, it only gives me the moogle line and how to change the moogle line. Unless I'm reading it wrong o.o.
  Find
Quote  

#7
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(03-20-2012, 08:09 PM)Roy-boy Wrote: My issue now is where to find the character ID's... the same method doesn't work in finding the EquipID.

Each sprite has a sprite ID (number), it has nothing to do with the Actor ID even if the first 13 match together. Why don't you check the sprite editor in FF3usME? The sprites and their numbers are there, no?

(03-20-2012, 08:09 PM)Roy-boy Wrote: And also can I add more armors at the end of C3 bank? How do i do this? Thank you for the Link Madsiur! However, it only gives me the moogle line and how to change the moogle line. Unless I'm reading it wrong o.o.

Yes you can have as much armor linked to a sprite as you want and all that at the end of C3. The process is well explained in the thread I linked and it's almost a very basic ASM tutorial, at least for what you need to do to achieve your goal.
  Find
Quote  

#8
Posts: 315
Threads: 50
Thanks Received: 7
Thanks Given: 25
Joined: Feb 2012
Reputation: 4
Status
None
(03-20-2012, 08:34 PM)Madsiur Wrote: Each sprite has a sprite ID (number), it has nothing to do with the Actor ID even if the first 13 match together. Why don't you check the sprite editor in FF3usME? The sprites and their numbers are there, no?

The sprites and their numbers are there yes but they don't match the same hex set up as the equipment. For instance, Moogle suit is 159 and in hex is 9F. That fits. but the hex code doesn't match the mog sprite

EDIT: Ok, I obviously was looking in the wrong spot. So, Mog is 0A.

C2/2872: A5 C9 LDA $C9 ($11C9)
C2/2874: C9 9F CMP #$9F (Moogle Suit in character's Armor slot?)
C2/2876: D0 0B BNE $2883 (if not, branch)
C2/2878: 8A TXA
C2/2879: 0A ASL
C2/287A: 0A ASL
C2/287B: 0A ASL
C2/287C: 0A ASL
C2/287D: A8 TAY
C2/287E: A9 0A LDA #$0A
C2/2880: 99 AE 2E STA $2EAE,Y (Use Mog's sprite?)

Does that mean I need to change every instance of 0A to 0E(soldier)

C2/2872: A5 C9 LDA $C9 ($11C9)
C2/2874: C9 9F CMP #$9F (Moogle Suit in character's Armor slot?)
C2/2876: D0 0B BNE $2883 (if not, branch)
C2/2878: 8A TXA
C2/2879: 0E ASL
C2/287A: 0E ASL
C2/287B: 0E ASL
C2/287C: 0E ASL
C2/287D: A8 TAY
C2/287E: A9 0E LDA #$0E
C2/2880: 99 AE 2E STA $2EAE,Y (Use Mog's sprite?)

but put it in the C3 bank?
  Find
Quote  

#9
Posts: 831
Threads: 41
Thanks Received: 16
Thanks Given: 12
Joined: Nov 2009
Reputation: 18
Status
None
(03-20-2012, 10:45 PM)Roy-boy Wrote: C2/2874: C9 9F CMP #$9F (Moogle Suit in character's Armor slot?)

You might want to load another piece of equipment here, since you have already done the code that says "assign mog's sprite to the char that is equipped with the Moogle suit.

(03-20-2012, 10:45 PM)Roy-boy Wrote:
Code:
C2/2879: 0E              ASL
C2/287A: 0E              ASL
C2/287B: 0E              ASL
C2/287C: 0E              ASL

0E is not the opcode for ASL. You musn't change those values from their original, 0A.

(03-20-2012, 10:45 PM)Roy-boy Wrote: C2/287E: A9 0E LDA #$0E
C2/2880: 99 AE 2E STA $2EAE,Y (Use Mog's sprite?)

but put it in the C3 bank?

This is OK.
Quote  

#10
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
By changing all the 0A to 0E this is actually what you are doing:

Code:
C2/2872: A5 C9        LDA $C9 ($11C9)
C2/2874: C9 9F        CMP #$9F          (Moogle Suit in character's Armor slot?)
C2/2876: D0 0B        BNE $2883         (if not, branch)
C2/2878: 8A           TXA               (Transfer X to A)
C2/2879: 0E 0E 0E     ASL $0E0E         (Arethmetic shift left of RAM value at $0E0E)      
C2/287C: 0E A8 A9     ASL $A9A8         (Arethmetic shift left of RAM value at $A9A8)
C2/287F: 0E 99 AE     ASL $AE99         (Arethmetic shift left of RAM value at $AE99)
C2/2882: 2E ?? ??     ROL $????         (Rotate left $????)

You should really pick up assembly document to understand the basic instructions such as LDA, STA, STX, STY, JMP, JSL and their adressing modes. This would help you understand what byte(s) need to be changed. Such documents exist. An opcodes list is also very handy. Even if you don't do so, by reading the thread I linked carefully and check the code and comments Lenophis and Angelo posted there you would find your answer.

And yes you could use the empty space in C2 to put the extra code with an extra JSR instruction and a RTS instruction at the end of the extra code. This is also mentionned in the thread I linked.

(03-20-2012, 11:37 PM)Angelo26 Wrote: 0E is not the opcode for ASL. You musn't change those values from their original, 0A.

By coincidence, 0E is also ASL but with a different adressing mode XD

  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite