Help please
11-06-2011, 07:44 AM
Hey, I'm new here so sorry if I sound like an idiot.
I'm busy creating an Afrikaans translation for Final Fantasy 6 and everything is going pretty awesome, got all the needed tools (btw FF3USME rules!) and the translation is going well. What I'm trying to do is change the menu's into my language as well, now I'm using winhex(cause, thingy and hexpo didn't work for me with this game and now I love winhex for some reason) and finally got the needed menu table files(who knew it was at the bottom of the tools page?) and I changed some of it, but its not reflecting in the game? it stays in English. What am I doing wrong? If anybody could help me out or at least point e in the right direction I would appreciate it immensely!
Also is there a good tutorial that could help me change the title screen? thanks.
No worries, I figured it out, now my problem is, there isn't enough bytes for the entire word, for example, "Relic" in my language would be "Reliek" how would I add a fifth character in before the <end>?
I'm busy creating an Afrikaans translation for Final Fantasy 6 and everything is going pretty awesome, got all the needed tools (btw FF3USME rules!) and the translation is going well. What I'm trying to do is change the menu's into my language as well, now I'm using winhex(cause, thingy and hexpo didn't work for me with this game and now I love winhex for some reason) and finally got the needed menu table files(who knew it was at the bottom of the tools page?) and I changed some of it, but its not reflecting in the game? it stays in English. What am I doing wrong? If anybody could help me out or at least point e in the right direction I would appreciate it immensely!
Also is there a good tutorial that could help me change the title screen? thanks.
No worries, I figured it out, now my problem is, there isn't enough bytes for the entire word, for example, "Relic" in my language would be "Reliek" how would I add a fifth character in before the <end>?
(11-06-2011, 07:44 AM)madrox Wrote: Hey, I'm new here
Welcome to the site! Hope you find it entertaining .
(11-06-2011, 07:44 AM)madrox Wrote: What I'm trying to do is change the menu's into my language as well, now I'm using winhex(cause, thingy and hexpo didn't work for me with this game and now I love winhex for some reason) and finally got the needed menu table files(who knew it was at the bottom of the tools page?) and I changed some of it, but its not reflecting in the game? it stays in English. What am I doing wrong?
It's not that you're doing something wrong...it's that the game's programming is crazy. For example, suppose you want to change the SWDTECH word. There are many locations in bank C3 where you can find this word. Changing it once won't be sufficient, you've got to hunt down all locations of the SWDTECH word in order to change all instances of it in the menu. Similar things happen with other commands and such.
(11-06-2011, 07:44 AM)madrox Wrote: Also is there a good tutorial that could help me change the title screen?
There's a tutorial HERE to insert your custom screen; however, I'm not sure you can remove the actual intro of the game at all.
11-06-2011, 11:48 AM
Thanks, I eventually figured it out
Thanks for the help.
Could you help me with the other question please:
now my problem is, there isn't enough bytes for the entire word, for example, "Relic" in my language would be "Reliek" how would I add a fifth character in before the <end>?
Thanks for the help.
Could you help me with the other question please:
now my problem is, there isn't enough bytes for the entire word, for example, "Relic" in my language would be "Reliek" how would I add a fifth character in before the <end>?
11-06-2011, 02:27 PM
I think you would have to somehow expand of one byte or rewrite that data :
By what you are saying, you might already know that the start of the string is the third byte(91) and ends by 00. I don't know what the first two bytes are however.
As you can see, all the data is squeezed so there is no extra room:
Here are some pointer I found that are related to that data:
For "Relic", you could always rewrite the data contained in C3/37E3 somewhere else in the C3 bank (there is some empty space at the end of the bank) and change the pointer at C3/372D. Those pointer is used here (C3/31F7) and then you jump to the writing subroutine($69BA):
I think it would work by I never tried it and I'm not very good at assembly but from what I checked it seem logic. If some menu words take less space than what they are originally, you could also squeeze the data but change the pointers as well.
Edit: You should back up your hack before attempting it in cases I'm not right.
Code:
C3/37E3: B97A919EA5A29C00 ("Relic")
By what you are saying, you might already know that the start of the string is the third byte(91) and ends by 00. I don't know what the first two bytes are however.
As you can see, all the data is squeezed so there is no extra room:
Code:
C3/37CB: 397988AD9EA600 ("Item")
C3/37D2: B97992A4A2A5A5AC00 ("Skills")
C3/37DB: 397A84AAAEA2A900 ("Equip")
C3/37E3: B97A919EA5A29C00 ("Relic")
C3/37EB: 397B92AD9AADAEAC00 ("Status")
C3/37F4: B97B82A8A79FA2A000 ("Config")
C3/37FD: 397C929AAF9E00 ("Save")
C3/3804: BB7C93A2A69E00 ("Time")
C3/380B: FF7CC100 (":")
C3/380F: B77D92AD9EA9AC00 ("Steps")
C3/3817: 777E86A900 ("Gp")
C3/381C: BD7A989EAC00 ("Yes")
C3/3822: 3D7B8DA800 ("No")
C3/3827: 377993A1A2AC00 ("This")
C3/382E: B7799D9AAD9ABF00 ("data?")
C3/3836: 377984AB9AACA2A7A000 ("Erasing")
C3/3840: B7799D9AAD9AC500 ("data.")
C3/3848: 377A8EA49AB2BF00 ("Okay?")
C3/3850: 3D818EAB9D9EAB00 ("Order")
Here are some pointer I found that are related to that data:
Code:
C3/3723: 0438 ("Time")
C3/3725: 0F38 ("Steps")
C3/3727: 5038 ("Order")
C3/3729: CB37 ("Item")
C3/372B: D237 ("Skills")
C3/372D: E337 ("Relic")
C3/372F: EB37 ("Status")
For "Relic", you could always rewrite the data contained in C3/37E3 somewhere else in the C3 bank (there is some empty space at the end of the bank) and change the pointer at C3/372D. Those pointer is used here (C3/31F7) and then you jump to the writing subroutine($69BA):
Code:
C3/31F3: A920 LDA #$20
C3/31F5: 8529 STA $29 (set text color to white)
C3/31F7: A22937 LDX #$3729
C3/31FA: A00800 LDY #$0008
C3/31FD: 20BA69 JSR $69BA (display "Item, Skills, Relic, and Status")
I think it would work by I never tried it and I'm not very good at assembly but from what I checked it seem logic. If some menu words take less space than what they are originally, you could also squeeze the data but change the pointers as well.
Edit: You should back up your hack before attempting it in cases I'm not right.
11-06-2011, 04:30 PM
Regarding the original post.
Why would you sound like an idiot just for being new? We at this site do not patronize others for any reason, and certainly don't belittle each other so we wouldn't think you're an idiot just because you're new.
Code isn't my thing, so I'll let Anjelo take this away. :p
Why would you sound like an idiot just for being new? We at this site do not patronize others for any reason, and certainly don't belittle each other so we wouldn't think you're an idiot just because you're new.
Code isn't my thing, so I'll let Anjelo take this away. :p
(11-06-2011, 02:27 PM)Madsiur Wrote: I think you would have to somehow expand of one byte or rewrite that data :
Code:C3/37E3: B97A919EA5A29C00 ("Relic")
By what you are saying, you might already know that the start of the string is the third byte(91) and ends by 00. I don't know what the first two bytes are however.
As you can see, all the data is squeezed so there is no extra room:
Code:C3/37CB: 397988AD9EA600 ("Item")
C3/37D2: B97992A4A2A5A5AC00 ("Skills")
C3/37DB: 397A84AAAEA2A900 ("Equip")
C3/37E3: B97A919EA5A29C00 ("Relic")
C3/37EB: 397B92AD9AADAEAC00 ("Status")
C3/37F4: B97B82A8A79FA2A000 ("Config")
C3/37FD: 397C929AAF9E00 ("Save")
C3/3804: BB7C93A2A69E00 ("Time")
C3/380B: FF7CC100 (":")
C3/380F: B77D92AD9EA9AC00 ("Steps")
C3/3817: 777E86A900 ("Gp")
C3/381C: BD7A989EAC00 ("Yes")
C3/3822: 3D7B8DA800 ("No")
C3/3827: 377993A1A2AC00 ("This")
C3/382E: B7799D9AAD9ABF00 ("data?")
C3/3836: 377984AB9AACA2A7A000 ("Erasing")
C3/3840: B7799D9AAD9AC500 ("data.")
C3/3848: 377A8EA49AB2BF00 ("Okay?")
C3/3850: 3D818EAB9D9EAB00 ("Order")
Here are some pointer I found that are related to that data:
Code:C3/3723: 0438 ("Time")
C3/3725: 0F38 ("Steps")
C3/3727: 5038 ("Order")
C3/3729: CB37 ("Item")
C3/372B: D237 ("Skills")
C3/372D: E337 ("Relic")
C3/372F: EB37 ("Status")
For "Relic", you could always rewrite the data contained in C3/37E3 somewhere else in the C3 bank (there is some empty space at the end of the bank) and change the pointer at C3/372D. Those pointer is used here (C3/31F7) and then you jump to the writing subroutine($69BA):
Code:C3/31F3: A920 LDA #$20
C3/31F5: 8529 STA $29 (set text color to white)
C3/31F7: A22937 LDX #$3729
C3/31FA: A00800 LDY #$0008
C3/31FD: 20BA69 JSR $69BA (display "Item, Skills, Relic, and Status")
I think it would work by I never tried it and I'm not very good at assembly but from what I checked it seem logic. If some menu words take less space than what they are originally, you could also squeeze the data but change the pointers as well.
Edit: You should back up your hack before attempting it in cases I'm not right.
OMG you took this one on your own, Madsiur?!?! I'm very impressed, since you almost nailed everything here.
I would start by changing the pointer for relic
Code:
C3/372D: E337 ("Relic")
When he expands the "relic" word, he might run into issues with overlapping text with blank spaces and other text, so that's where the fun starts.
Madsiur, do you have skype?
11-06-2011, 08:34 PM
I forgot to mention that the pointers I found are only for the words of the main menu. The two instances of "relic" in the relic menu would not be changed, for example.
There is at least one extra letter available, as "relic" has 5 letters and some words in the menu has 6. After 6 letters I don't know what would happend in the writing subroutines. Maybe letter 7 would simply overlap the right white border of the main menu screen ?
No but I could get it. I have headphones somewhere. I don't have much "online friends" so that's why I don't use it.
(11-06-2011, 04:55 PM)Angelo26 Wrote: When he expands the "relic" word, he might run into issues with overlapping text with blank spaces and other text, so that's where the fun starts.
There is at least one extra letter available, as "relic" has 5 letters and some words in the menu has 6. After 6 letters I don't know what would happend in the writing subroutines. Maybe letter 7 would simply overlap the right white border of the main menu screen ?
(11-06-2011, 04:55 PM)Angelo26 Wrote: Madsiur, do you have skype?
No but I could get it. I have headphones somewhere. I don't have much "online friends" so that's why I don't use it.
11-06-2011, 09:08 PM
You don't have to have a microphone or webcam to use Skype Madsiur lol. That seems to be a rather large misconception about that program. 70% of the time I use it just for texting, 20% is voice chat and like 10 is streaming via "Share my Screen" or my webcam.
11-06-2011, 09:35 PM
11-07-2011, 12:07 AM
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)