Aslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=320.msg8715e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexf625-2.htmllayedslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=320.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexf625-2.html.zxg^0j OKtext/htmlISO-8859-1gzip8: HTue, 10 Mar 2020 13:09:27 GMT0 0Pg^)  Some Useful Info

Author Topic: Some Useful Info  (Read 5307 times)

Deathlike2

  • Moderator
  • *
  • Posts: 3,538
  • I'm looking at you, bitch!
    • View Profile
Some Useful Info
« on: February 20, 2008, 10:56:28 PM »
Found this referenced in some posts @ Gamefaqs:
http://s-endo.skr.jp/ff4chrlvup.txt
Data is listed for each character in the order they join you. There is a list of their stat growth and their possible stat growth beyond level 70.

I would think someone should find this useful in modifying the stat growth+exp for each character.
Working on the next Yet To Be Named FF4 "Hardtype" Hack Download Latest: v1.48

Video Demos: #1 #2 #3

Deathlike2

  • Moderator
  • *
  • Posts: 3,538
  • I'm looking at you, bitch!
    • View Profile
Re: Some Useful Info
« Reply #1 on: March 02, 2008, 05:31:46 PM »
In Jap, but the translations of them are pretty good.

It's nice when someone offers info on Gamefaqs...

--Edit by Leno--
Next time, use the URL tags...
« Last Edit: March 02, 2008, 05:51:05 PM by Lenophis »
Working on the next Yet To Be Named FF4 "Hardtype" Hack Download Latest: v1.48

Video Demos: #1 #2 #3

Edea

  • FF4 Hacker
  • *
  • Posts: 21
  • Gender: Female
  • It slices, it dices, it casts Fire 2!
    • View Profile
Re: Some Useful Info
« Reply #2 on: March 06, 2008, 08:30:35 PM »
I need some help, didn't see this data elsewhere...

I've found the place in the ROM where the characters' level-up data is stored.  I'm guessing it's already known so I won't post it, but God it took me forever to find it and understand what each byte meant on my own.  The game stores attribute bonuses in an odd way.

I would like to know how to manipulate HP/MP growth after level 70, though, as that section of data doesn't seem to have obvious entries for them.  Does it simply repeat HP/MP growth rates from previous levels or...?

Deathlike2

  • Moderator
  • *
  • Posts: 3,538
  • I'm looking at you, bitch!
    • View Profile
Re: Some Useful Info
« Reply #3 on: March 06, 2008, 08:56:58 PM »
I can't give you a great answer here, but I would think there is something in common with them.

I'm sure you know how levels past70 behave?

If you take a look at the data in my first post's link, there's just one repeating HP/MP set.. and 8 sets of random possible level up possibilities.

It should match something within the ROM.

Don't be afraid to share location of the level up data.. that's what this place is for.

I'm not sure how the level data is stored, but it would be something among the lines of stats to increase or fixed stats to change to (most likely the former is being employed here).
Working on the next Yet To Be Named FF4 "Hardtype" Hack Download Latest: v1.48

Video Demos: #1 #2 #3

Edea

  • FF4 Hacker
  • *
  • Posts: 21
  • Gender: Female
  • It slices, it dices, it casts Fire 2!
    • View Profile
Re: Some Useful Info
« Reply #4 on: March 06, 2008, 09:01:14 PM »
Ok, this is what I found.

Quote from: Locations
=================================================================
7B700-7B727: Pointers for level up data (by character):
=================================================================
FB B4: Dark Knight Cecil
2F B6: Kain 1
90 B7: Rydia (Kid)
92 B8: Tellah 1
DF B9: Gilbert
13 BB: Rosa 1
47 BC: Yang 1
7B BD: Palom
AF BE: Porom
10 C0: Paladin Cecil
92 B8: Tellah 2
47 BC: Yang 2
12 C1: Cid
2F B6: Kain 2
13 BB: Rosa 2
90 B7: Rydia (Adult)
FB C1: Edge
67 C2: FuSoYa
2F B6: Kain 3

=================================================================
7B728-7C5C8: Main Bank (5 bytes per level in Level Data):
=================================================================
7B728-7B853: Dark Knight Cecil Level Data (11-70)   
7B854-7B85B: Dark Knight Cecil Random Attribute Bonuses (71-99)
7B85C-7B987: Kain Level Data (11-70)                 
7B988-7B98F: Kain Random Attribute Bonuses (71-99)
7B990-7BAE9: Rydia Level Data (02-70)               
7BAEA-7BAF0: Rydia Random Attribute Bonuses (71-99)
7BAF1-7BBEA: Tellah Level Data (21-70)
7BBEB-7BBF1: Tellah Random Attribute Bonuses (71-99)
7BBF2-7BD37: Glibert Level Data (06-70)     
7BD38-7BD3F: Gilbert Random Attribute Bonuses (71-99)
7BD40-7BE6B: Rosa Level Data (11-70)
7BE6C-7BE73: Rosa Random Attribute Bonuses (71-99)
7BE74-7BF9F: Yang Level Data (11-70)
7BFA0-7BFA7: Yang Random Attribute Bonuses (71-99)
7BFA8-7C0D3: Palom Level Data (11-70)
7C0D4-7C0DB: Palom Random Attribute Bonuses (71-99)
7C0DC-7C207: Porom Level Data (11-70)
7C208-7C20F: Porom Random Attribute Bonuses (71-99)
7C210-7C368: Paladin Cecil Level Data (02-70)
7C369-7C370: Paladin Cecil Random Attribute Bonuses (71-99)
7C371-7C46A: Cid Level Data (21-70)
7C46B-7C472: Cid Random Attribute Bonuses (71-99)
7C473-7C553: Edge Level Data (25-70)
7C554-7C55B: Edge Random Attribute Bonuses (71-99)
7C55C-7C5BF: FuSoYa Level Data (51-70)
7C5C0-7C5C7: FuSoYa Random Attribute Bonuses (71-99)

Quote from: Details
=================================================================
Level Data bytes:
=================================================================
Byte 1: Attribute Bonus:
------------------------
01: Add +1 to all activated bonuses
02: Add +2 to all activated bonuses
04: Add +4 to all activated bonuses
08: Activates Will
10: Activates Wisdom
20: Activates Vitality
40: Activates Agility
80: Activates Strength
------------------------

Byte 2: Hit Point Gain

Byte 3: Magic Point Gain; also, around the 50th level gained or
so (varies for each character), the ROM begins adding $20, $40,
or ($20 + $40) for each subsequent entry for this byte.  This
may have something to do with how your HP/MP/Exp needed data is
updated after you pass level 70.

Byte 4: Lower byte for Exp needed to gain a level.

Byte 5: Upper byte for Exp needed to gain a level.

=================================================================
Random Attribute Bonus Bytes:
=================================================================
------------------------
01: Add +1 to all activated bonuses
02: Add +2 to all activated bonuses
04: Add +4 to all activated bonuses

(Putting 01, 02, and 04 together seems to give a -1 instead;
the game never uses 02 and 04 together.  Putting 01 and 02
together simply gives +3, as expected)

08: Activates Will
10: Activates Wisdom
20: Activates Vitality
40: Activates Agility
80: Activates Strength
------------------------

Deathlike2

  • Moderator
  • *
  • Posts: 3,538
  • I'm looking at you, bitch!
    • View Profile
Re: Some Useful Info
« Reply #5 on: March 06, 2008, 09:11:31 PM »
Have you tested the unused behavior? It's always worth documenting its complete behavior.
Working on the next Yet To Be Named FF4 "Hardtype" Hack Download Latest: v1.48

Video Demos: #1 #2 #3

Edea

  • FF4 Hacker
  • *
  • Posts: 21
  • Gender: Female
  • It slices, it dices, it casts Fire 2!
    • View Profile
Re: Some Useful Info
« Reply #6 on: March 06, 2008, 09:35:28 PM »
I changed $7B728's value from E1 (raise Strength, Agility, and Vitality 1 point) to E6 (previously unknown) for Dark Knight Cecil's 11th level, and when I ran a new game on the ROM/had DKC level up, it raised the indicated values by 6 points instead of the previous 1.  So adding 02 and 04 together gives +6. 

Using E5 instead gives a +5 modification.  It seems only having 01, 02, and 04 all at the same time produces the -1.

Edea

  • FF4 Hacker
  • *
  • Posts: 21
  • Gender: Female
  • It slices, it dices, it casts Fire 2!
    • View Profile
Re: Some Useful Info
« Reply #7 on: March 06, 2008, 10:37:37 PM »
Also, in the .txt file at the top...yeah, the HP and MP increase ranges for levels 71-99 always matches the entry for level 70 in the ROM for each character (so it probably just repeats the second and third bits over and over again, while replacing the first bit with a random selection out of eight possibilities).  It's also the same Exp. required for level up each time after level 70, again hinting at perhaps repeating that last line of data.


Phoenix

  • FF4 Hacker
  • *
  • Posts: 456
    • View Profile
    • Phoenix Hacks
Re: Some Useful Info
« Reply #8 on: March 07, 2008, 12:46:58 AM »
I'm surprised the programmers thought to have the data repeat after level 70, knowing that most people wouldn't level up that much. It surprises me because there are so many other things in the code that are, shall we say, not so smart . . .  :happy:

Also, it's probably easier to lay out the first byte of the level up data in bits rather than values, like this:

byte 0 (or 1, depending on how you want to do it):
   bit 7: Strength
   bit 6: Agility
   bit 5: Vitality
   bit 4: Wisdom
   bit 3: Will
   bits 0-2:
      000 +0
      001 +1
      010 +2
      011 +3
      100 +4
      101 +5
      110 +6
      111 -1

Just a personal preference, I think it's a bit easier to understand.

Edea

  • FF4 Hacker
  • *
  • Posts: 21
  • Gender: Female
  • It slices, it dices, it casts Fire 2!
    • View Profile
Re: Some Useful Info
« Reply #9 on: March 07, 2008, 01:59:14 PM »
It's satisfying, having Yang's HP growth rate "problem" fixed on my ROM.  I even got Kain to accrue MP, so he could use the Black Magic I assigned to him without having to give him such an artificially large starting score  :laugh:.

Dragonsbrethren

  • Forum Overlord
  • *
  • Posts: 1,820
    • View Profile
    • Dragonsbrethren Industries
Re: Some Useful Info
« Reply #10 on: March 09, 2008, 05:38:23 AM »
I honestly can't remember if this was found before or not, I know JCE has it listed in his document but I don't remember if he had the offsets for it or not. All I know is I had no clue where it was stored anymore and planned on finding it eventually since I screwed around with starting levels.

Good find. :wink:

* Dragonsbrethren makes an FF4 Hacker status.

Phoenix

  • FF4 Hacker
  • *
  • Posts: 456
    • View Profile
    • Phoenix Hacks
Re: Some Useful Info
« Reply #11 on: June 18, 2008, 12:57:10 AM »
I didn't mention it before, but thanks for posting this link, Deathlike. The experience requirements especially saved me tons of time in working with the data for some of my coding changes. I've translated the original file, as well as added an updated version of JCE's documentation, and thought I would post it for everyone. Let me know if you find any errors.
« Last Edit: June 18, 2008, 08:04:38 PM by Phoenix »

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: Some Useful Info
« Reply #12 on: June 18, 2008, 07:57:20 PM »
Ohhh, nice work!

Deathlike2

  • Moderator
  • *
  • Posts: 3,538
  • I'm looking at you, bitch!
    • View Profile
Re: Some Useful Info
« Reply #13 on: November 20, 2008, 06:25:11 PM »
 :bump:

It should've been written, but it might not be apparently obvious, the bonus HP/MP is strictly 1/8 of the base value.
Working on the next Yet To Be Named FF4 "Hardtype" Hack Download Latest: v1.48

Video Demos: #1 #2 #3

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Some Useful Info
« Reply #14 on: December 09, 2008, 09:01:52 AM »
 :edit:
So does the levelup data work differently for FuSoYa?

Quote
7C55C-7C5BF: FuSoYa Level Data (51-70)

Looking at this data in the rom, his first level up should be at 7c55c-7c560, which in the rom contains:

Code: [Select]
00 14 20 43 41
Which in theory should be interpreted as follows:

Byte 1: +0 to no stats (ok)
Byte 2: +20 HP (ok)
Byte 3: +32 MP (what??)
Bytes 4-5: +16707 TNL (also not correct)

All the other level up data for the other characters seems to be correct; FuSoYa is the only one that's inconsistent.

So is my rom screwed up or something? What's going on here?

Nevermind I found the problem... the correct byte 3 information is in another thread http://slickproductions.org/forum/index.php?topic=169.0
« Last Edit: December 09, 2008, 09:22:11 AM by Pinkpuff »
Let's dance!