Kingdom Hearts Final Mix pnach trouble [Resolved]
#1
Hey guys, i've been working on a rebalance patch for KH1 Final Mix, to compensate for square's total butchery of the level 1 mode in KH 1.5 HD ReMIX, but i'm having trouble with one specific, and very important, type of code:

patch=1,EE,105378C8,extended,00009999
patch=1,EE,10537B28,extended,00009999
patch=1,EE,10537CC0,extended,00009999

This works fine when I manually edit the hex with pcsx2ramdump, however no matter what i try with the code (I've tried a few different variations on it as well) it always breaks the game horribly.

Now, i haven't touched PS2 codes since 2007 or 2008, so i'm EXTREMELY rusty and I feel like i'm probably overlooking something very very basic.

These codes are to set Sora, Donald and Goofy's required EXP to level up to 2 extremely high. If there is anybody out there who owns KHFM and is willing to help, it would be very appreciated.

This is the only true roadblock preventing me from finishing the level 1 rebalance. I still have to do some hacking of abilities, but that's easy.

When it's in the pnach file it just totally destroys the game.
i5-3570k @4.7 GHz
GTX 570
Asus Z77 SABERTOOTH
12GB G.Skill Ripjaws @ 1666
Cooler Master Storm Scout & Corsair TX 650w

Sponsored links

#2
I don't have the game so I can't test personally. What I can say for sure is the code structure is correct and it is placing the nines at the address offset starting with 2, like putting 99 in the offsets 205378C8 and 205378C9 for Sora and the other codes are correct also, supposing the addresses are correct.

Since you have knowledge with hex editing and memory manipulation, my advice (case willing to do it personally instead waiting someone coming with working pnach code) is using the program "Cheat Engine" to dynamically hook to PCSX2 process and directly access the game's memory and handle the values in there on fly and verifying the results.

I never used pcsx2ramdump so I can't say what it is doing different from the pnach.
Imagination is where we are truly real
#3
http://puu.sh/3pZuz.png
Here is what the code chunk looks like normally. As you can see, the EXP to level up to 2 is 12 (0C)
http://puu.sh/3pZxT.jpg and here is the normal XP to level up

http://puu.sh/3pZyO.png
Code chunk after manually editing in pcsx2ramdump
http://puu.sh/3pZzt.jpg modified XP to level up, no side effects

And now here's my first time actually checking what's happening with the pnach:
http://puu.sh/3pZE8.png

It's pushing the code... everything is being offset for some reason.
i5-3570k @4.7 GHz
GTX 570
Asus Z77 SABERTOOTH
12GB G.Skill Ripjaws @ 1666
Cooler Master Storm Scout & Corsair TX 650w
#4
The first snapshot is enough to show the problem, It's related to Little Endian structure and hex values. If I assume correctly you want to deal with Exp points but those addresses are for the actual Level. inputting 9999 in there is like telling the game that the characters level is 39321 (decimal) what is clearly incorrect.

If willing to increase the actual XP you need to find it's place and change it in there to whatever you want. If just wanting to increase the level to 99 change the codes to
Code:
patch=1,EE,105378C8,extended,00000063
patch=1,EE,10537B28,extended,00000063
patch=1,EE,10537CC0,extended,00000063

Notice this could be "Byte" format but since you already poked a big value in there you may want to clear (zero) the second byte which may be wrong by now in the saves.

PS: Sorry if misreading something, I can't read Japanese.
Imagination is where we are truly real
#5
Those codes are definitely for EXP required to level. It contains the entire chain of numbers with the EXP progression, and I searched for them myself using the exact values found by leveling up on 1exp enemies. The point is the exact opposite of being level 99, the point is to prevent levelling up whatsoever. Locking EXP to 0 doesn't work, as even with enemy XP modifier codes, some enemies will still give you XP and enough of it to level up.

The screenshots of 12 and 39321 are the EXP to next level. My level remains 1 when i input the 9999 manually AND when i pnach it, it's just that it's causing some wierd offsetting and gamebreaking effects when it's pnached in.

Using the codes you provided sets EXP to next level to 99 and brings along the same gamebreaking side effects.
i5-3570k @4.7 GHz
GTX 570
Asus Z77 SABERTOOTH
12GB G.Skill Ripjaws @ 1666
Cooler Master Storm Scout & Corsair TX 650w
#6
Continuing, if your character level is actually level 1 and that address show the XP needed to achieve level 2, inputting 9999 would make leveling a long trip...

Besides, there are controls to leveling multiplier, like making leveling faster for a fator of x, let's say 2x, 4x faster... or slowing it by what matters, that is a totally different issue and more complex that must be treated carefully.

PS: For all that I can say, pnach is doing what is being told to do, poking the given values at the given position. The game may change them afterward to cap values, for example.

Besides, remember the values input on pnach must be treated as hexadecimal, never as decimal.
Imagination is where we are truly real
#7
The idea is to completely prevent levelling. Setting XP to next level to a high enough number means no enemy in the game is capable of levelling me up.
When EXP is locked to zero, you will still level up if an enemy gives you enough XP to level you up in one kill.
This is a patch that is for a level 1 playthrough.

Those EXP multipliers are what i was talking about earlier. There are 6 of them, and they don't work on everything. The point where they stop working on things is at a point where you will gain levels from killing a single enemy.

I guess i'll have to figure out why the code is being offset when the pnach modifies it, but isn't when it's manually modified.
I know the numbers have to be treated as hex. I was initially using FFFF but i thought that using such a high number may have been causing the issue, but it appears to happen no matter what if the pnach file modifies those addresses.
i5-3570k @4.7 GHz
GTX 570
Asus Z77 SABERTOOTH
12GB G.Skill Ripjaws @ 1666
Cooler Master Storm Scout & Corsair TX 650w
#8
I see, in this case the issue becomes game's structure dependent and I can't help from this point or test it by what matters.
Imagination is where we are truly real
#9
Oh, i just noticed this popped up in my log. Not sure how i didn't notice it earlier.

http://puu.sh/3q11o.png
i5-3570k @4.7 GHz
GTX 570
Asus Z77 SABERTOOTH
12GB G.Skill Ripjaws @ 1666
Cooler Master Storm Scout & Corsair TX 650w
#10
(06-28-2013, 04:59 AM)Xendran2 Wrote: Oh, i just noticed this popped up in my log. Not sure how i didn't notice it earlier.

http://puu.sh/3q11o.png

That's normal considering the code is not doing what you wanted it do do and messing the game.

BTW, the TLB miss is due to wrong code and will be gone once you manage to get it right.

PS: if those are leveling control you cold try

patch=1,EE,105378C8,extended,00000000

to stop leveling at all, if they are needed experience point, is enough you fixate it at

patch=1,EE,105378C8,extended,000000FF

since the patch is reapplied at each frame you cannot level up unless getting more than 255 XP at once, this should prevent going out of range. Alternately you can try other hex values trying to avoid overextending.

In time: is important to know that patch=1 forces pnach to renew the cheat at each game frame. Meaning the code must be disabled if you want to allow further changes by the game once applied.
Imagination is where we are truly real




Users browsing this thread: 1 Guest(s)