News:

The forum has been updated to SMF (2.1.3)!
Please be patient as we work to polish up the place and update features as we can.

Main Menu

Making text editor.

Started by Lord Wolfram, 25, June, 2014, 01:34:18 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Lord Wolfram

Am I correct? this is second step?
So Fox if you need some answers then ask them to support team in gbatemp.net
And how far you find out things?

Lord Wolfram

I apologize for triple post but This must be read by anybody who wants to assist summon night 3 translation project.
so here we must keep discussions in topic because in chat-box is a bit hard to do this (to me).
Anyway here we will discuss all things and first thing is which tool is suggested to insert scripts.
Link please if you can.

pablitox

problem is, there is no tools, as I said the ones used by Ritchburn are pointless, new ones should be made

Daddy Poi's Oily Gorillas

Hmm... While I agree that new tools should be made, I doubt I'd call Ritchburn's tools pointless.  It could help with documenting data in game. (Sort of.)

Quotepatch_str(0x00bd5744, 12, "~Ritchburn");
For example, this (^), should put "~Ritchburn" at offset 0x00BD5744 with a char limit of 12.


What I'd like to look into is if it's possible to remove the need to keep putting in a new address if the next address comes right after. That, and remove the need for a char limit on a single string. (And instead, have it on the whole section, therefore repointing quite a bit of stuff...)
Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

Lord Wolfram

Alright things are ongoing that's good to hear.
And Fox can be right we must upgrade Ritchburn's tools.
Or maybe something like I trough Text editor.

Daddy Poi's Oily Gorillas

#45
QuoteAlright things are ongoing that's good to hear.
(Although, I haven't decided how much I'm going to look into this...)

QuoteText is currently encoded in SJIS. (You used the table of that name to get to the Japanese.) This means that, when you insert English back into the ROM, it is still encoded in SJIS. SJIS's encoding of A-Z and a-z characters is using 2 bytes for each character, which is a waste of space. So your mission is to replace SJIS with ASCII.
For Ritchburn's tools... 2 bytes for every character or pair of characters... see the NAME ENTRY space? (Although, I'm guessing this is patched, but I'm just saying it isn't ASCII, either.)

R = 0x7182
it = 0xEE8A
ch = 0xD58D
bu = 0x9E93
rn = 0x958B

10 bytes put up Ritchburn. And I'm guessing that's what the function labeled "should_generate_pair(char a, char b)" is for. (When a 16-bit represents one or two characters?)
Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

pablitox

I haven't the slightest idea about the questions, as i am no romhacker. But sadly this project won't. keep up until someone dedicates it entirely rather than just giving advice. that's my opinion.

You should ask blackdog61 at romhacking.net, he may know more of this stuff.

Lord Wolfram

#47
Alright. Anybody, we all will meat new friend.
In other words we will meet blackdog.
He is going to assist me in translation project so get ready to great our new friend.

:happy:
:Saturos:

QuoteFITTING INSIDE THE ROM After that, we are almost done preparing the tools. Almost. The last problem to take care of is to make it that text will fit inside the ROM. A bit of background info here: the ROM size for Summon Nights 3 is already at the maximum accepted by the GBA. So there is no magic here.And you can look for free sections that can be overwritten, but they are not very numerous and not very large, except for about 200KB at the end of the ROM.
Is this going to be a big problem?

QuoteRichburn had developed tools which don't seem to be able to handle pointers changes correctly, and which use their own very specific formats for tables (i.e. characters matching to hex), for text dumped, for translation and opcodes. In my humble opinion, improving them to work ok in terms of pointers would be a real pain.

We could fix that maybe...if it is need.
All right I will be on my way see ya all.

BlackDog61

#48
Quote from: Saturos on 18, July, 2014, 02:29:56 AM
Alright. Anybody, we all will meat new friend.
Hi Saturos & team!

I'm the guy who wrote that plan of action Pablitox posted over at romhacking.net and that got copied here too.
Just to clarify: I can do consulting, but I have another projecct that keeps me busy and will prevent me from being hands on here. But I will still provide my understanding.

First, back to our goal currently: the goal is to use the text translation that is already available and somehow insert it in the ROM. That translation has a format with 3 lines following eachother:
Japanese
English
Author.

If anyone's done romhacking before, this should immediately ring a bell that something is missing; "something" is where on Earth to re-insert this text back.

The tools that Richburn developed expect a special format that indicates that.
On top of that, from the tests Pablitox made, it looks like those tools are not able to handle pointers correctly.

"Pointers" here are used (from what I gather) in order to indicate to the game what text to use if you are Richburn vs what text to use if you are not. (There probably are other conditions under which the game chooses one text or another to show to the player.) The pointers are within the text strings. They point to RAM addresses, which means that if you make the text before them longer, then they will be screwed. You need to update their values to take into account the added or removed characters.

This is not an easy thing to do, but it is feasible. However, if you have to add that to code you don't know, I don't think it is easy at all.

That's why I suggested to create your own tools.

If you really, really want to update Richburn's tools, you will anyways need to start with re-dumping all the Japanese text while retaining enough info to allow re-insertion. So both possibilities start the same: you havve to re-do the dumping.

Are we in sync so far?
What do you want to do?

Quote from: Fox on 17, July, 2014, 10:51:55 AM
QuoteAlright things are ongoing that's good to hear.
(Although, I haven't decided how much I'm going to look into this...)

QuoteText is currently encoded in SJIS. (You used the table of that name to get to the Japanese.) This means that, when you insert English back into the ROM, it is still encoded in SJIS. SJIS's encoding of A-Z and a-z characters is using 2 bytes for each character, which is a waste of space. So your mission is to replace SJIS with ASCII.
For Ritchburn's tools... 2 bytes for every character or pair of characters... see the NAME ENTRY space? (Although, I'm guessing this is patched, but I'm just saying it isn't ASCII, either.)

R = 0x7182
it = 0xEE8A
ch = 0xD58D
bu = 0x9E93
rn = 0x958B

10 bytes put up Ritchburn. And I'm guessing that's what the function labeled "should_generate_pair(char a, char b)" is for. (When a 16-bit represents one or two characters?)

Right. That tool uses a dual-tile encoding. This means a 16-bit (2 bytes) can represent either one or two characters. The goal here is to be compatible with the game's text display engine (which is used to Japanese = 2 bytes per character, so it always gets text 2 bytes at a time and processes them together) while trying to limit the amount of ROM space needed to store the text (because storing each letter over 2 bytes is a waste of space).
Check my posts on pablitox's thread there: http://www.romhacking.net/forum/index.php/topic,16818.20.html
Hopefully that helps make sense of all this.

Still, dual-tile encoding requires you to go to the image that contains the font (each character) and replace Japanese with a lot of pairs of characters. Obviously, someone has done it for Summon Nights 3 and uses the tools accordingly; But i have not been able to find the font graphics that go with it. Without the graphics, the dual-tile encoding cannot work.

So, if you want to keep using this, you have to find the font back. Maybe from the patched ROM itself?

Note: The alternative (my favourite path) would be to not use dual-tile encoding, but instead make the game support ASCII characters (1 byte per character), thus saving a lot of space in the ROM. It requires ASM hacking to see how the game's text engine renders text and to change it to do things one byte at a time instead of two, then changing the font to position ASCII characters where they should be (instead of where the game placed them).
Since room in the ROM is very little, you have to find a way to win space.

But which path you go is up to you. There may even be others.

pablitox

#49
Glad to see this still alive. The least I could do is upload the script without the translators, here it is: https://www.mediafire.com/?5ffh9393ewqnlh3

Is there something else that should be done with the script? I was thinking about this, as the opcodes details which character portrait should be uploaded, could that info be in the script? Next to each line I mean, that could be useful after the opcodes have been identified.



Just to clarify, the game's title is Summon Night craftsword monogatari: hajimari no ishi which translates to Summon Night Swordcraft Story : stone of beginnings, don't confuse with summon night 3 for ps2 psp.

Lord Wolfram

I suppose there are some problems with my pc.
[spoiler]本編
Original Story


自由行動
Free Time


サウンドテスト
Sound Test


おまけ
Bonus


通信
Communication


0話
Prologue


護衛獣
Guardian Beast


ヴィー
V.E


レミィ
Lemmy


ジェイド
Jade


ティエ
Tier


1話
Chapter 1


2話
Chapter 2


3話
Chapter 3


4話
Chapter 4


次へ
Next


5話
Chapter 5


6話
Chapter 6


7話
Chapter 7


8話
Chapter 8


9話
Chapter 9


次へ
Next


10話
Chapter 10


11話
Chapter 11


12話
Chapter 12


エンディング
Ending


EX
nt


戻る
Back


E01
nt


E02
nt


E03
nt


E04
nt


E05
nt


次へ
Next


E06
nt


E07
nt


E08
nt


E09
nt


E10
nt


次へ
Next


E11
nt


E12
nt


E13
nt


E14
nt


E15
nt


次へ
Next


E16
nt


E17
nt


E18
nt


E19
nt


E20
nt


次へ
Next


E21
nt


戻る
Back


E00
nt


E01
nt


E02
nt


E03
nt


E04
nt


次へ
Next


E05
nt


E06
nt


E07
nt


E08
nt


E09
nt


次へ
Next


E10
nt


E11
nt


E12
nt


E13
nt


E14
nt


次へ
Next


E15
nt


E16
nt


E17
nt


E18
nt


E19
nt


次へ
Next


E20
nt


E21
nt


E22
nt


E23
nt


E24
nt


次へ
Next


E25
nt


E26
nt


E27
nt


E28
nt


E29
nt


次へ
Next


E30
nt


戻る
Back


ミューノ
Murno


護衛獣
Guardian Beast


ヴィー
V.E


レミィ
Lemmy


ジェイド
Jade


ティエ
Tier


ミューノ
Murno


護衛獣
Guardian Beast


ヴィー
V.E


レミィ
Lemmy


ジェイド
Jade


ティエ
Tier


ミューノ
Murno


護衛獣
Guardian Beast


ヴィー
V.E


レミィ
Lemmy


ジェイド
Jade


ティエ
Tier


ミューノ
Murno


[/spoiler]
this is how I see it on net.
but ''problem" is how I see it on pc

Luna_blade

Quote from: Saturos on 19, July, 2014, 12:39:19 AM
I suppose there are some problems with my pc.

this is how I see it on net.
but ''problem" is how I see it on pc
You're lucking out that I can help you with that, since I have word 2003 and Japanese character DO work in there.
I've looked around and you should probably install or Japanese support for your windows (not advised, I've tried it, but XP lacks the right updates or you're saddled up with a computer that can only show and type japanese.)
Or the better option, install a pack for your word that supports japanese.

So what I've got here that you can try:
http://www.microsoft.com/office/orkarchive/2003ddl.htm

You must take the lowest (Resource Kit) and try if that works.
"Hear the sounds and melodies
Of rilets flowing down
They're the verlasting songs
Whispering all the time
As a warning that behind some rocks
There's a rigid grap even
Oreads fear the tread"

pablitox

Quote from: toastyfishsticks on 19, July, 2014, 02:36:59 PM
Hello *waves* I'm new here and I'd be willing to help out with whatever I can ;;

Have you got any knowledge in gba asm hacking? that'd be the most useful.

If you not, you can help by editing the script I uploaded earlier.

leaf

*glances through script*

Okay, this definitely needs some editing. I'd be glad to go through it and fix up the various grammatical errors and stuff, but I can't really help with the technical side.
[spoiler=quotes]
[9:00:50 PM] Randel Peltier: Ok...what did I do last night?
[9:01:19 PM] Kain: Something boring, repetitive, and lasted for about sixty seconds.
---
[10:45:08 AM] Salanewt: But yeah, the elemental phalluses are being... Stroked up by Saturos and co., and the energy will go towards... Mt. Muffin, where the Golden Climax will arise.
[7:28:42 PM] Salanewt: An added bonus is that Isaac and co. were trying to stop Saturos and co. because their beliefs state that Mt. Muffin should remain a virgin.
---
[9:54:21 PM] Randel Peltier: Guess the number in my head an you get to pick what I say. Number between 1-10
[9:54:28 PM] leaf: 11
[9:54:36 PM] Randel Peltier: @#$%!
---
[8:38:13 PM] Randel Peltier: Shes like this queen up on a pedastal that I have yet to court.
[8:38:29 PM] Kain: You've tried courting her.
[8:38:43 PM] leaf: and failed spectacularly
[8:38:44 PM] Randel Peltier: Ive tried...shes the best dating game ever.
---
[12:24:35 AM] Salanewt: I need to find a picture of a naked person to put on the Christmas tree next year.
---
[2:19:06 PM] Zeadra: wait... Rief's a guy???
---
[1:09:57 PM] Zeadra: well if you want to know if its a new effect or something weird, just check GS1, if side step is there maby it is the nimble dodge thing
[1:10:35 PM] Kioll: For once, you've contributed something useful.  o.O[/spoiler]

pablitox

Quote from: leaf on 19, July, 2014, 04:39:30 PM
*glances through script*

Okay, this definitely needs some editing. I'd be glad to go through it and fix up the various grammatical errors and stuff, but I can't really help with the technical side.

You don't know how grateful I am right now. No yeah, seriously.

At least that takes care of grammar mistakes and such, I don't know if adding the character speaking the current line is important, that has to do more with context I guess, but if it's important I'll gladly help in doing that.

Rolina

If you need any testing to be done in-game, I can give it a shot.  I tend to be a completionist, so anything that gets cut off in menus or conversations I should be able to catch.

leaf

#56
Uh... anyone know a fix for making this read properly in wordpad? The japanese seems to shows up correctly in notepad, but it bunches all the lines together making it really hard to read. Meanwhile, wordpad seems to interpret the characters incorrectly.

edit: Nevermind. I found the problem. The files need to be saved as ANSI, not UTF-8. That means I might end up needing to resave every single one of these if they all have that problem, but it does fix the issue of it not showing correctly.

edit2: Okay, slight problem I'm running into. Since none of the lines are tagged as to who is speaking, it can be hard to tell where one block of text ends and another begins. It isn't getting in the way too much yet, but as the text gets more involved, I could see it causing some headaches. For example, in the third file, we get this lovely set:

Quoteお休みもらってここに来たんだけど
I came here on my break but

正解だったみたいね
it seems like that was the right choice

いろんな意味で
In many ways

何やら良くない事が起きそうじゃ(...)
It seems like something bad is about to happen(...)
The lack of punctuation makes it impossible to tell whether "in many ways" is supposed to be tied to the first two phrases or the last one, or if it's even a completely different speaker entirely. In this case, it means I can't go inserting punctuation yet, and will have to come back to these lines later.

Additionally, in the same file, we get this:
Quoteここから先は乙女の秘密(heart)
From here on is a maiden's secret(heart)
It's an accurate translation, but it doesn't read well in english. I can think of multiple ways this line could be edited to read better, but it would help to know the original context to ensure the best accuracy.

[spoiler=quotes]
[9:00:50 PM] Randel Peltier: Ok...what did I do last night?
[9:01:19 PM] Kain: Something boring, repetitive, and lasted for about sixty seconds.
---
[10:45:08 AM] Salanewt: But yeah, the elemental phalluses are being... Stroked up by Saturos and co., and the energy will go towards... Mt. Muffin, where the Golden Climax will arise.
[7:28:42 PM] Salanewt: An added bonus is that Isaac and co. were trying to stop Saturos and co. because their beliefs state that Mt. Muffin should remain a virgin.
---
[9:54:21 PM] Randel Peltier: Guess the number in my head an you get to pick what I say. Number between 1-10
[9:54:28 PM] leaf: 11
[9:54:36 PM] Randel Peltier: @#$%!
---
[8:38:13 PM] Randel Peltier: Shes like this queen up on a pedastal that I have yet to court.
[8:38:29 PM] Kain: You've tried courting her.
[8:38:43 PM] leaf: and failed spectacularly
[8:38:44 PM] Randel Peltier: Ive tried...shes the best dating game ever.
---
[12:24:35 AM] Salanewt: I need to find a picture of a naked person to put on the Christmas tree next year.
---
[2:19:06 PM] Zeadra: wait... Rief's a guy???
---
[1:09:57 PM] Zeadra: well if you want to know if its a new effect or something weird, just check GS1, if side step is there maby it is the nimble dodge thing
[1:10:35 PM] Kioll: For once, you've contributed something useful.  o.O[/spoiler]

pablitox

#57
QuoteUh... anyone know a fix for making this read properly in wordpad? The japanese seems to shows up correctly in notepad, but it bunches all the lines together making it really hard to read. Meanwhile, wordpad seems to interpret the characters incorrectly.

edit: Nevermind. I found the problem. The files need to be saved as ANSI, not UTF-8. That means I might end up needing to resave every single one of these if they all have that problem, but it does fix the issue of it not showing correctly.

I use notepad++ for those things, I can see moonrunes just perfectly, also I can replace words in a group of files.

QuoteIf you need any testing to be done in-game, I can give it a shot.  I tend to be a completionist, so anything that gets cut off in menus or conversations I should be able to catch.

Your help is greatly appreciated also :3, I will try finishing translating boss names in the game, after that I'll request that you check it to see it's accurate. Also I was  wondering about this, as the opcodes details which character portrait should be uploaded, could that info be in the script? Next to each line I mean, that could be useful after the opcodes have been identified.

I'll wait for Blackdog61 response in regards to that, if it's needed then I'll glady help you.

Quote
edit2: Okay, slight problem I'm running into. Since none of the lines are tagged as to who is speaking, it can be hard to tell where one block of text ends and another begins. It isn't getting in the way too much yet, but as the text gets more involved, I could see it causing some headaches. For example, in the third file, we get this lovely set:

Quoteお休みもらってここに来たんだけど
I came here on my break but

正解だったみたいね
it seems like that was the right choice

いろんな意味で
In many ways

何やら良くない事が起きそうじゃ(...)
It seems like something bad is about to happen(...)
The lack of punctuation makes it impossible to tell whether "in many ways" is supposed to be tied to the first two phrases or the last one, or if it's even a completely different speaker entirely. In this case, it means I can't go inserting punctuation yet, and will have to come back to these lines later.

Additionally, in the same file, we get this:
Quoteここから先は乙女の秘密(heart)
From here on is a maiden's secret(heart)
It's an accurate translation, but it doesn't read well in english. I can think of multiple ways this line could be edited to read better, but it would help to know the original context to ensure the best accuracy.


[/quote]

Hmmm, so context will be needed for that, I should've figured it out too. You'll find this useful, its a save data from each boss battle in the main story: http://www.mediafire.com/download/a2cwut2rvq827cu/Bosses_Mainstory.7z  That way you don't necessarily have to complete the game.

leaf

Thanks, that'll be useful.

I think it makes the most sense to work on editing while I play, rather than just going down the list of scripts without any context. It does mean having to find the right script for every major scene as I go, but... ah well. The scripts do seem to be roughly placed together, which is good, but it's still pretty disorganized.

As an aside, I *really* hope the script titles are the addresses in memory that they're supposed to be located at, because I have no idea how all of this is going to be reinserted if they aren't. There's 1052 script files, and while a lot of them seem to be one or two lines, that doesn't change the fact that all of them have to go in the right places.
[spoiler=quotes]
[9:00:50 PM] Randel Peltier: Ok...what did I do last night?
[9:01:19 PM] Kain: Something boring, repetitive, and lasted for about sixty seconds.
---
[10:45:08 AM] Salanewt: But yeah, the elemental phalluses are being... Stroked up by Saturos and co., and the energy will go towards... Mt. Muffin, where the Golden Climax will arise.
[7:28:42 PM] Salanewt: An added bonus is that Isaac and co. were trying to stop Saturos and co. because their beliefs state that Mt. Muffin should remain a virgin.
---
[9:54:21 PM] Randel Peltier: Guess the number in my head an you get to pick what I say. Number between 1-10
[9:54:28 PM] leaf: 11
[9:54:36 PM] Randel Peltier: @#$%!
---
[8:38:13 PM] Randel Peltier: Shes like this queen up on a pedastal that I have yet to court.
[8:38:29 PM] Kain: You've tried courting her.
[8:38:43 PM] leaf: and failed spectacularly
[8:38:44 PM] Randel Peltier: Ive tried...shes the best dating game ever.
---
[12:24:35 AM] Salanewt: I need to find a picture of a naked person to put on the Christmas tree next year.
---
[2:19:06 PM] Zeadra: wait... Rief's a guy???
---
[1:09:57 PM] Zeadra: well if you want to know if its a new effect or something weird, just check GS1, if side step is there maby it is the nimble dodge thing
[1:10:35 PM] Kioll: For once, you've contributed something useful.  o.O[/spoiler]

pablitox

#59
Quote from: leaf on 19, July, 2014, 11:06:42 PM
Thanks, that'll be useful.

I think it makes the most sense to work on editing while I play, rather than just going down the list of scripts without any context. It does mean having to find the right script for every major scene as I go, but... ah well. The scripts do seem to be roughly placed together, which is good, but it's still pretty disorganized.

As an aside, I *really* hope the script titles are the addresses in memory that they're supposed to be located at, because I have no idea how all of this is going to be reinserted if they aren't. There's 1052 script files, and while a lot of them seem to be one or two lines, that doesn't change the fact that all of them have to go in the right places.

yup, the starting point is 0x017bcb2c.txt

following:
0x017bd14c.txt
0x017be5ec.txt
0x017beaa.txt
0x017bf60c.txt

Also I got a message about missing lines and such, god damn, we had to rip the files from the site as the previous owner dissapeared