FF6 Hacking
Final Fantasy I - Redux - Printable Version

+- FF6 Hacking (https://www.ff6hacking.com/forums)
+-- Forum: Discussion Forums (https://www.ff6hacking.com/forums/forum-5.html)
+--- Forum: Dragons' Den (https://www.ff6hacking.com/forums/forum-13.html)
+--- Thread: Final Fantasy I - Redux (/thread-1989.html)

Pages: 1 2 3


RE: Final Fantasy I - Redux - madsiur - 03-03-2013

(03-03-2013, 05:32 PM)Angelo Wrote: You can assign properties, sprites and names to any character as long as the character has not permanently joined the party. If a character has permanently joined the party, then it becomes impossible to do so.

What does differ from a permanent joining and a temporary one ? I believe the only thing is a presence event bit that is set when the character join permanently so he appears on the airship or in the selection screen. Other than that it's the same command (3F) that is used to put a character in a party... Are you saying that the game nullify the graphics, palette and properties event command when a certain event bit is set for that character?

Edit: What if you remove the character from the party/crew (clearing his presence bit), change his properties and put him back in? Has anyone tried that?


RE: Final Fantasy I - Redux - Zeemis - 03-03-2013

(03-03-2013, 02:28 PM)Ghost XIII Wrote: I will definitely be considering using your alternative tileset, but that kind of cosmetic stuff will probably be left to last.

That is something you should directly consider now opposed to later as it directly affects your level design process. I should know, I made the tileset lol. What I mean is you cannot just apply my tileset patch and expect it to be peachy, you'll need to do some basic level design modifications to get it working as intended. If you apply it early on and work with the tileset then instead of later, you will not have to do any modifications later.

It is ultimately your choice however.


RE: Final Fantasy I - Redux - Angelo26 - 03-03-2013

(03-03-2013, 06:08 PM)Ⓐ Mᴀᴅsɪᴜʀ Ⓐ Wrote: What does differ from a permanent joining and a temporary one ? I believe the only thing is a presence event bit that is set when the character join permanently so he appears on the airship or in the selection screen. Other than that it's the same command (3F) that is used to put a character in a party... Are you saying that the game nullify the graphics, palette and properties event command when a certain event bit is set for that character?

Edit: What if you remove the character from the party/crew (clearing his presence bit), change his properties and put him back in? Has anyone tried that?

I cannot remember about the properties. I tried before giving gogos sprite and his/her/its name to Gau. Mike and I figured that once gau has joined the party, you cannot give him anyone elses name or sprite. Maybe Mike remembers if the properties can be changed, since I tried this for him in the fire house. It probably has to do with the presence bit as you mentioned...and no, I have not tried the last idea you posted.



RE: Final Fantasy I - Redux - Ghost XIII - 03-03-2013

Just to confirm, what Madsiur suggested about removing the character from the party and then replacing them completely works. I just did that to successfully switch Terra into a second Locke.

Update: I completed the job selection system which works almost perfectly, except for one major hitch. If you use more than one of the same actor(s) in the active party when you enter a battle it does not load the different characters, but instead loads a copy of the character.

So for example, if I have put two thieves in my party (Thief replacing Locke's actor data), one in party slot 1, and the other in slot 2. I can have them with different stats outside of battle and equip them with different equipment, etc. But when I enter battle the game loads two copies of the Thief in the highest slot. I'm assuming the issue with this is that the subroutine for loading battles loads the actor data instead of information from the active party, so altering the actor changes both. Is it doable to alter this subroutine to load the active party members instead of the actors? I've got a few ideas myself on how to fix this, but if anyone knows for certain and is willing to point me in a general direction that would be greatly appreciated.



RE: Final Fantasy I - Redux - madsiur - 03-17-2013

(03-03-2013, 10:55 PM)Ghost XIII Wrote: So for example, if I have put two thieves in my party (Thief replacing Locke's actor data), one in party slot 1, and the other in slot 2. I can have them with different stats outside of battle and equip them with different equipment, etc. But when I enter battle the game loads two copies of the Thief in the highest slot. I'm assuming the issue with this is that the subroutine for loading battles loads the actor data instead of information from the active party, so altering the actor changes both. Is it doable to alter this subroutine to load the active party members instead of the actors? I've got a few ideas myself on how to fix this, but if anyone knows for certain and is willing to point me in a general direction that would be greatly appreciated.

The way battle character are determined is with the active party. You should look at the routine starting at C2/2F2F and more precisely at C2/2F8C for a "normal battle" (outside shadow at colleseum and the final battle). This is where the battle characters are set. I think this is where the magic happens, as routine $30DC pulls the SRAM actor number ($1600):

Code:
C2/2FA6: 20 DC 30     JSR $30DC
C2/2FA9: 9D D8 3E     STA $3ED8,X  (save "which character it is")

After that routine C2/27A8 assign all actor attribute to battle variables (from $16XX to $3XXX). From what I understand, the current party actors attributes only exist in the SRAM so I think it's the only place they can be loaded from...

Edit: What is actually happening is that the routine does a 16 times loop so the data in the highest slot will loaded because it's the 2nd time the good actor number will be found. It's an overwriting.



RE: Final Fantasy I - Redux - Ghost XIII - 03-23-2013

Sorry for the lack of response, been pretty crazy lately. This is some interesting stuff here Madsiur. Thanks for pointing out the areas of code pertaining to loading battle information.

I see where the problem is, and I think I have a few ideas to work around this, but I'm not sure if my plans are going to work. If I manage to find anything which works conclusively I'll be sure to share it, if this is of interest to anyone.

Update:
So it is seriously looking like what I was hoping to achieve cannot be done here, it looks like you are right Madsiur that the party data only exists in the SRAM and is not saved or accessible from anywhere else. This may mean that you will only be able to have one of each job class accessible in this hack.

Additional edit for kanbei as cyan:

For changing sprites by talking to NPCs all you need to do is create a simple event, here's what I did:
Code:
XX = Character Slot (31 if top character in party, otherwise Character ID number)
YY = Actor ID (00 = Terra, 01 = Locke, etc.)
ZZ = Palette (#0-5)

3F YY FF //Removes actor from party
40 XX YY //Assign properties, if you are changing actor properties
37 XX YY //Assign character graphics (Which sprite sheet)
43 XX ZZ //Assign character palette
3F XX 00 //Places character back in active party
FE // Return

Now I'm doing this partially from memory, but with that character change gif that you saw there was also a rename screen that was called upon when changing the character's attributes (I left it out because it made things look choppy), which involves the lines "98 00 96 5C" after the "3F" line, that will call up the rename screen and refresh. I think if you were to skip that part out you may still need a function to refresh the character. Also please note that this function was written for having a permanent and unchangable four character party, so I don't know if the line to remove and place characters back in the party will need to be tweaked or not or if it will muck up your game, I never toyed around with that specifically. I suppose you could err on the safe side and if you use this function just make sure it's in a place where a specific character must be present or a function that only works with a specific character present.

Sorry that was so long and blathering, it's a bit late and if I wrote anything poorly please message me and I'll clarify or rephrase.



RE: Final Fantasy I - Redux - kanbei as cyan - 04-04-2013

I see. Thank you yah.


RE: Final Fantasy I - Redux - Ghost XIII - 05-21-2013

Yes folks I am still working on this, hard to believe right? I have a beta version map of Cornelia and Cornelia Castle, the starting town.
I'm hoping once I get Cornelia, Cornelia Castle, and the Chaos Shrine completed to release a demo.

Cornelia Town: https://www.ff6hacking.com/misc/imgshk.png
Cornelia Castle: https://www.ff6hacking.com/misc/imgshk.png




RE: Final Fantasy I - Redux - ribbits - 05-22-2013

I just stumbled across this project and wow am I excited! i've always thought it would be great to incorporate the original FF into the beloved FF6 somehow. Is your progress up to date on your first post? Do you already have your sprites for the different classes finished?

Hope this thing keeps going, it's fantastic!



RE: Final Fantasy I - Redux - JCE3000GT - 05-24-2013

Very nice job on the maps. Smile