Thank you so much for the reply! If I could learn even a little here, it would be massive!
I only starting learning Saturday and I have had trouble finding guides on this, so I don't know what exactly that means. I mean I know what integers are but...might I kindly ask for an explanation? :sweatsmile:
Thank you so much for the reply! If I could learn even a little here, it would be massive!
I only starting learning Saturday and I have had trouble finding guides on this, so I don't know what exactly that means. I mean I know what integers are but...might I kindly ask for an explanation? :sweatsmile:
Final Fantasy Tactics: War of the Lions [ver. 2.0.0]. Perhaps I found the wrong Function to edit, but what I'm currently in that I found to make some change when modified is GetJobNumber(Int). If it helps, I could post the section. Or, here's a quick link if you need it to the unmodded (clean) working version I have.
Oh, right, forgot to mention my intentions of editing the code. lol I'm trying to make JP (skill points) 9999 (or very high) and change job level exp to very low, so level ups require as little exp as possible to gain.
Final Fantasy Tactics: War of the Lions [ver. 2.0.0]. Perhaps I found the wrong Function to edit, but what I'm currently in that I found to make some change when modified is GetJobNumber(Int). If it helps, I could post the section. Or, here's a quick link if you need it to the unmodded (clean) working version I have.
Oh, right, forgot to mention my intentions of editing the code. lol I'm trying to make JP (skill points) 9999 (or very high) and change job level exp to very low, so level ups require as little exp as possible to gain.
For adding skillpoints, I tried these functions and they resulted to the same 0 in game or did nothing at all upon editing:
GetJobNumber(Int) < this is the one that "works" by resulting back as 0
GetLocalJobNumber(short) < as far as I know, these two do nothing to what I am trying to achieve.
add_jobpoint(int,int) < as far as I know, these two do nothing to what I am trying to achieve.
Oh, and I thought to compare 2.0.0 edits to 1.0.0 and 1.1.0 edits, but the coding seems to be completely different, so that was a major fail.
For adding skillpoints, I tried these functions and they resulted to the same 0 in game or did nothing at all upon editing:
GetJobNumber(Int) < this is the one that "works" by resulting back as 0
GetLocalJobNumber(short) < as far as I know, these two do nothing to what I am trying to achieve.
add_jobpoint(int,int) < as far as I know, these two do nothing to what I am trying to achieve.
Oh, and I thought to compare 2.0.0 edits to 1.0.0 and 1.1.0 edits, but the coding seems to be completely different, so that was a major fail.
hmm i haven't test anything yet but from what i've seen in code it seems that this game only accept 9999 as maximum for job limit anything more than that would make it zero .. or another theory is anything above 9999 will show as 0 but it's still more than 9999 ... for example you put 10000 it shows as zero in game.. once you consume 1 job point it will go to 9999..etc .. but most likely it only accepts 9999 as max job point .. try to return say like 500 or something just not more than 9999 ... you can try 0F 07 02 E3 1E FF 2F E1 < that's returning 9999 value ..
this game reminds me of old days.. good luck
hmm i haven't test anything yet but from what i've seen in code it seems that this game only accept 9999 as maximum for job limit anything more than that would make it zero .. or another theory is anything above 9999 will show as 0 but it's still more than 9999 ... for example you put 10000 it shows as zero in game.. once you consume 1 job point it will go to 9999..etc .. but most likely it only accepts 9999 as max job point .. try to return say like 500 or something just not more than 9999 ... you can try 0F 07 02 E3 1E FF 2F E1 < that's returning 9999 value ..
Thank you for taking the time to help me with this.
Yes, the code I tried was 0F 07 02 E3 1E FF 2F E1. In instruction, it looks like this.
.text:001DBDC4 MOV R0, #0x270F
.text:001DBDC8 BX LR
It doesn't return as 0, so I guess that's a good thing, but it doesn't make any change, not even if JP is spent. I went ahead with trying something like 500 next, but I think I'm getting the 4byte hex wrong for the code. Something looks off with the result. My ARM calculator says it would be 7D 0F A0 E3 though so I used it:
.text:001DBDC4 MOV R0,#0x1F4
.text:001DBDC8 BX LR
However, it also simply doesn't work, so the introduction JP for the MC is still set at 180 and using points doesn't trigger the change. I guess returning as 0 is a lot worse than no change at all.
Next, I saw another MOV R6 register that was MOV R6, #0xFFFFFFFF (00 60 E0 E3), so I tried shifting it to match the 500/9999 value of R0, but MOV R6 wouldn't accept the same values of R0. It would change them to #0. I'm assuming R6 is a register that doesn't store values, and that's why its number is obscenely high. lol
So I decided to look at the pure apk again and the code I was changing;
And thought to leave STMFD and change ADD to > MOV R0 and add a BX LR after the MOV R6 (I know, blind tries xD), but couldn't figure out how to inject new code into the apk instead of editing existing code. So I decided to try shifting MOV R6 to BX LR.
It didn't crash or change anything, so I reverted back to pure again. :sweat:
Oh, thanks for the good luck! ahaha hopefully I can figure it out or someone can point out what I might be doing wrong. xD
EDIT 2
I DID IT! Whoo! Well, sort of! It only works for Ramza, but no big deal!
It was a missing BX LR after my second job edit! I needed to change GetJobNumber(int) AND GetLocalJobNumber(short)! ahaha
Thank you @icry4u, your help was great! The new values didn't cause a crash AND it led me to realize I was an idiot and forgot to change the second Function! Thank you so much! Now I just need to figure out why it is only working for Ramza! (y):blush:
Thank you for taking the time to help me with this.
Yes, the code I tried was 0F 07 02 E3 1E FF 2F E1. In instruction, it looks like this.
.text:001DBDC4 MOV R0, #0x270F
.text:001DBDC8 BX LR
It doesn't return as 0, so I guess that's a good thing, but it doesn't make any change, not even if JP is spent. I went ahead with trying something like 500 next, but I think I'm getting the 4byte hex wrong for the code. Something looks off with the result. My ARM calculator says it would be 7D 0F A0 E3 though so I used it:
.text:001DBDC4 MOV R0,#0x1F4
.text:001DBDC8 BX LR
However, it also simply doesn't work, so the introduction JP for the MC is still set at 180 and using points doesn't trigger the change. I guess returning as 0 is a lot worse than no change at all.
Next, I saw another MOV R6 register that was MOV R6, #0xFFFFFFFF (00 60 E0 E3), so I tried shifting it to match the 500/9999 value of R0, but MOV R6 wouldn't accept the same values of R0. It would change them to #0. I'm assuming R6 is a register that doesn't store values, and that's why its number is obscenely high. lol
So I decided to look at the pure apk again and the code I was changing;
And thought to leave STMFD and change ADD to > MOV R0 and add a BX LR after the MOV R6 (I know, blind tries xD), but couldn't figure out how to inject new code into the apk instead of editing existing code. So I decided to try shifting MOV R6 to BX LR.
It didn't crash or change anything, so I reverted back to pure again. :sweat:
Oh, thanks for the good luck! ahaha hopefully I can figure it out or someone can point out what I might be doing wrong. xD
EDIT
AHAHA
I don't know what happened, but I got it to "work". Somehow it is also unlocking ALL abilities prior to unlocking them with JP/skill points. The stranger part is that I have to "trick" it into accepting that 0 is actually infinite. What I noticed how this change happened was that I went over my money edit and changed the value to a little lower.
Now I know what line does this JP ultra unlock, maybe I can tackle it so it JUST gives JP! xD
Yea, now I just gotta figure out why it is only working for Ramza and also unlocking all skills before actually unlocking them. It is definitely something in the two functions I'm editing that is "screwing" up the mod. Trial and error I think will result in figuring it out.
Nope. I can't seem to figure this out. No matter what I do, it only works for Ramza, and zero outs the JP of other party members. I don't understand what I could be missing. :sweat:
Okay, I'm honestly at my wit's end here. I've googled it and I've tried just about everything I can think of, and I can only get it to work for the main character Ramza. I'd really love to do this now, not just for myself, but for all the people that are waiting for a working modded version of 2.0.0 (and there are a lot of us). :sweat:
If anyone has experience and wouldn't mind helping here by maybe pointing something out to me that I could try or something I'm doing wrong with the editing, I'd honestly appreciate it beyond words. I've been tackling this since the start of February! ersevere: