Author Topic: Developing FF4kster: a comprehensive editor for FF4  (Read 235906 times)

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #90 on: September 18, 2012, 02:29:12 PM »
Oh no, I meant a fix for the Medicines and the X/Y labels in the Event Instruction - Teleport.

Pinkpuff

  • Flan Princess
  • *
  • Posts: 923
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #91 on: September 18, 2012, 02:40:26 PM »
Nope those should be working now!
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #92 on: September 18, 2012, 05:36:39 PM »
For some reason I looked to see if the front page had been edited when it just dawned on me that you were referring to the actual program URL being updated so I assumed things weren't fixed yet. Ahem... no matter. Looks like both fixes are working properly.

Pinkpuff

  • Flan Princess
  • *
  • Posts: 923
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #93 on: September 19, 2012, 08:24:14 AM »
The character editor is now usable, though has only been very minimally tested, so I would not at all be surprised if it is riddled with bugs. As usual, please let me know if you find anything amiss.
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #94 on: September 19, 2012, 08:33:34 AM »
This has been quite the time in the coming! Can't wait to give this a try. I should probably make good on your warning though and make a backup of my rom.

EDIT : I like how you've put this menu together! I somehow never noticed that a character can gain a stat of +X across the board throughout their levels while playing the game. A simplified way of dealing with that. Also I noticed that you included levelup data for characters that don't have levelups normally from those spots. Are those functional, or will adding them erase data elsewhere?
« Last Edit: September 19, 2012, 08:45:44 AM by Grimoire LD »

Pinkpuff

  • Flan Princess
  • *
  • Posts: 923
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #95 on: September 19, 2012, 08:53:34 AM »
Yes, DEFINITELY BACK UP YOUR ROM! Actually, do this any time you do any kind of hacking or patching...

Anyway if I understand your question correctly you're talking about giving, say, D.K. Cecil levelup bonuses for, say, Level 5? If the editor works correctly then it will ignore anything like that below the character's starting level. However, you can change their starting level. So if you change his starting level to 5 and then give him levelups for 5-9, then it should work. However, be careful of two things: first, I haven't tested doing that yet; and second, there is a limited amount of space set aside for levelups and there is no guarantee that it will all fit if you reduce too many characters' starting levels too far. If it does not fit, the editor does not care and it will bleed into whatever comes after and probably fool up your ROM horribly. It is like adding event code in this respect. I will at some point put in a safeguard against that, but currently it has none.
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #96 on: September 19, 2012, 09:58:28 AM »
Hmm, well here's a few odd bugs

If you try to change, Cecil's starting level and stats, nothing appears to happen. The data will show that all of that is changed until you reload the editor and it will show that none of that actually went through. Oddly enough this did have the effect of making my level up from 10-11 to be 66467, so because of that I couldn't quite test to see if the level up portions worked.

EDIT: I can say though that changing the established level up stats seems to work fine. Exp gained, HP, MP, all of those involved appear to be altered with little issue.


EDIT 2: I'm still a bit confused on how the game calculates that initial level up. When you start the game Cecil has 334 Exp. to Level 11, but the editor shows that should be 981 or some such. Changing that to 1000 does actually change the amount of exp. needed to level up by what you would expect, but that it is read in that manner is strange. Oh no wait, I see. The TNL in the character's initial stats seems to subtract off of the initial exp to give the amount it would take.

For instance 3000 - 2403 = 697 To reach 1000 from 697 you need 403 which is the exact amount of exp. necessary to actually reach the level. What an odd way to program that.


EDIT 3: It appears that changing the start up values, except for TNL (not even sure if that works right) does absolutely nothing. Is it looking in the right area to modify that?
« Last Edit: September 19, 2012, 10:36:49 AM by Grimoire LD »

Pinkpuff

  • Flan Princess
  • *
  • Posts: 923
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #97 on: September 19, 2012, 10:40:09 AM »
What's this? A bug? Pinkpuff smash!  :banonsmash:

Try it now.

 :edit:
Due to the character editor introducing some large multi-digit numbers, I added functionality to the number inputs to allow you to type in numbers. Now, typing a key from 0 to 9 will multiply the existing number by 10 and add the digit you typed. Typing backspace in a number input will divide the current number by 10, rounding down (effectively erasing the last digit).
« Last Edit: September 19, 2012, 11:01:21 AM by Pinkpuff »
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #98 on: September 19, 2012, 11:03:23 AM »
That was some fast debugging! In any case the start up menu seems to work much better now, as in, it works. I changed Cecil to Rydia successfully, but in that it curiously enough will read Rydia's Level Up Chart when she gains a level. But the actor swapping works very well in that regard. You just have to remember that it's looking at that character's original table, but that might be because I changed the class to Caller rather than Dark Knight, perhaps implying that Levels are linked to Job rather than Actor? Class Changes from that menu also work properly. Stat changes, initial exp and TNL are also working great now.

As for other little things. The game is still looking at some stat chart somewhere for initial HP/MP for instance if you change Cecil's HP to 150, per se he'll still start with 200, but it will be 200/150. The same applies to MP. I guess a trick for that might just be to have an instant HP/MP restore when they join your party to right their HP/MP stats.

Level Ups prior to initial Level Ups are all working properly as well, at least for the one I programmed for Cecil as a test.

Also I was going to complain about cycling through numbers, but seeing that you added PgUp/PgDown Home/End functions, I have no room to complain, hehe. It might be a bit taxing with larger numbers (for say giving FuSoYa a real table) but aside from that looks like this tab is working optimally! Well done!

 :edit: Hah, never noticed that neat little emoticon...esque... thing... ahem! Good choice with the semi-manual entry of numbers, guess I'll try that out then.

 :edit: 2: Oh wow, this ease of control makes things so much easier for the Characters tab. Everything seemed to work great for it, no bugs or crashes that I could see with it.
« Last Edit: September 19, 2012, 11:10:03 AM by Grimoire LD »

Pinkpuff

  • Flan Princess
  • *
  • Posts: 923
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #99 on: September 19, 2012, 11:12:15 AM »
That was some fast debugging! In any case the start up menu seems to work much better now, as in, it works. I changed Cecil to Rydia successfully, but in that it curiously enough will read Rydia's Level Up Chart when she gains a level. But the actor swapping works very well in that regard. You just have to remember that it's looking at that character's original table, but that might be because I changed the class to Caller rather than Dark Knight, perhaps implying that Levels are linked to Job rather than Actor? Class Changes from that menu also work properly. Stat changes, initial exp and TNL are also working great now.

I'm not quite sure what you mean... I guess I'll have to toy with it a bit.

As for other little things. The game is still looking at some stat chart somewhere for initial HP/MP for instance if you change Cecil's HP to 150, per se he'll still start with 200, but it will be 200/150. The same applies to MP. I guess a trick for that might just be to have an instant HP/MP restore when they join your party to right their HP/MP stats.

Ok I know exactly what's happening there and it's a quick fix, but I have to go now and don't have time to fix it right away, but probably sometime tomorrow morning I'll get that one out of the way.
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #100 on: September 19, 2012, 11:24:46 AM »
I just verified, it's Actor that decides level up stats. Class controls Sprite/Magic Links maybe other things. Interestingly enough however one might be able to make a hack that changes a character's class without resetting any of their other data. They'd still keep the same level up tables but have different magic/skills to use dependent on the Class they are at the time. Though it does appear that Commands are tied to Actors as one would imagine.

However this is such a great piece of work! Can't wait to see what you have in store next!

 :edit: I read up a bit on the Level Up Data and it seems that each level is 5 bytes. After the end of the Level Up Data there appears to be at least 112-128 FF Bytes which could be used for additional levels. I guess that's an additional 20-25 Levels one could add without running into the Starting Spell Data?

 :edit: 2 : Reading over some of JCE's old notes there are a lot more targeting options than the editor shows. Are these going to be included later? I for one would love a few of these random choice ones and the "type" targeting, reminds me of Dragon Warrior games in that vein.

 :edit: 3 About what I said with Actors being linked to Level up, I hadn't noticed that in the Actors tab you put a link to Level Up Tables. How interesting! That could really work to have a character switch class/actor and yet still continue with the same growth system. Eventually I'm imagining a true solo game, to where the player at camp maybe (shouldn't be that difficult to make the Cabin/Tent link to a second map) can switch classes/actors to get access to different commands and spells.
« Last Edit: September 19, 2012, 09:52:53 PM by Grimoire LD »

Pinkpuff

  • Flan Princess
  • *
  • Posts: 923
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #101 on: September 20, 2012, 07:00:57 AM »
However this is such a great piece of work! Can't wait to see what you have in store next!

 :childish: Thanks! Next I'm thinking... triggers/treasures? But first I must research the details.

:edit: 2 : Reading over some of JCE's old notes there are a lot more targeting options than the editor shows. Are these going to be included later? I for one would love a few of these random choice ones and the "type" targeting, reminds me of Dragon Warrior games in that vein.

Targeting for what? Spells? If so there's only three bits there for a total of 8 possibilities; exactly what the editor displays... Unless you mean commands maybe? In which case the targeting for those apparently only affects the cursor, not what the command actually targets so I didn't really see the point; though that would be a fairly easy component to add if there is demand for it.
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #102 on: September 20, 2012, 09:05:07 AM »
Oh, are these only referring to Monster Sequences then?

(From JCE's notes)
Target List
===================

Target List (preceded by F8):
00-15:    Specific Character (by Actor Index)
16:    Self
17:    All Monsters
18:    All Monsters 2?
19:    All Monsters of the first type.
1A:    All Monsters of the second type.
1B:    All Monsters of the third type.
1C:    Party's Front Row
1D:    Party's Back Row
1E:    Paralyzed Monster
1F    Sleeping Monster
20    Confused Monster
21:    Critically hurt Monster
22:    Random Character/Monster (including Self)
23:    Random Character/Monster (excluding Self)
24:    Random Monster
25:    Random Monster (excluding Self)
26:    Random Character in the Front Row
27:    Random Character in the Back Row
28:    Entire Party
29:    All dead Monsters


Ah yes, a while back I decoded completely (for the most part anyhow) Phoenix's Location Trigger document and added labels to all of those. As far as I'm aware all of the information you may need could be in that document.

Pinkpuff

  • Flan Princess
  • *
  • Posts: 923
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #103 on: September 20, 2012, 09:27:45 AM »
Ok yeah that definitely sounds like monster action targeting to me... and yes I have a copy of that event trigger document; I'm reading it right now in fact.  :wink:
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #104 on: September 20, 2012, 09:39:29 AM »
Hmm, a shame they didn't use that more robust system for spell targeting, since a lot of those seem right out of FFV's playbook and then some.

Glad to hear that document's coming in handy. Though it's probably important to remember that's only part of the info. The other part with the Event Flags are right above that in the post, I believe? Though I'm not entirely sure if you plan on adding that yet.