Armor appearance change???
03-20-2012, 08:28 AM
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
Roy-boy
03-20-2012, 08:39 AM
This is not event modification, it's code modification.
Read this: http://slickproductions.org/forum/index.php?topic=1210
Read this: http://slickproductions.org/forum/index.php?topic=1210
03-20-2012, 05:56 PM
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.
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.
03-20-2012, 06:32 PM
(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...
03-20-2012, 07:31 PM
It's hardcoded, and the palette is automatically loaded
03-20-2012, 08:09 PM
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.
03-20-2012, 08:34 PM
(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.
03-20-2012, 10:45 PM
(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?
(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.
03-20-2012, 11:41 PM
By changing all the 0A to 0E this is actually what you are doing:
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.
By coincidence, 0E is also ASL but with a different adressing mode XD
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
« Next Oldest | Next Newest »
Users browsing this thread: 2 Guest(s)