Albeoris / Pulse

Final Fantasy XIII resource editor
MIT License
22 stars 17 forks source link

I have some advice, and I have done it. #14

Open akimoto-akira opened 9 years ago

akimoto-akira commented 9 years ago

很高兴我能认识你,不过真的抱歉,我的英语很差,我通过翻译软件与你交流,来确保我们的交流是流畅的。 I am very glad to know you, but I am really sorry, my English is poor, I communicate with you through the translation software to ensure that our communication is smooth. 去年的晚些时候,我加入了解析FF13这款游戏的队伍当中。我不知道这样的说法您是不是真的明白。 Late last year, I joined the team to resolve the FF13 game. I don't know whether you really understand that. 重要的是,我无意之间在搜索引擎中,找到了您现在开发的这个软件的源代码。并且我下载了这个源代码,编译了。之后我发现您这款软件主要语言是俄语,并且提供了多语言,但并不完善。 It is important to find the source code of the software that you are developing now. And I downloaded the source code, compiled. After I found your software is the main language of the Russian language, and provides a multi language, but is not perfect. 在使用编译后的软件之后,发现了许多的BUG。当时就非常希望联系到您。不过,发现源代码更新了。我又尝试下载新的源代码。 After using the compiled software, many of the BUG. At that time, I would like to contact you. However, the source code is updated. I also try to download the new source code. 令人高兴的事情总是会出现的,真的,许多的BUG被解决了。但是我最关心的BUG却没有解决,还好,我自己已经解决了。 Happy things are always going to be there, really, and many of the BUG are being solved. But I am most concerned about the BUG is not resolved, but fortunately, I have solved. 一些关于FF13游戏当中,亚洲版的游戏字幕在您的软件里并没有得到很好的转换,甚至,日语和韩语并没有转换操作。 In some of the FF13 games, the Asian version of the game subtitles in your software and did not get a good conversion, and even, Japanese and Korean did not convert the operation. 考虑到您的软件的使用人群来自世界各地。所以,我通过一种能够适应所有人的方法解决了这个问题。 Consider the use of your software from all over the world. So I solved this problem by using a method that can be adapted to all people. 我想,我们是不是能够就这个问题交流一下。并且将我的方法无偿的提供给你。 I think, we are not able to communicate about this problem. And to provide you with my method free of charge. 感谢您的阅读。来自中国。王家兴。 Thank you for reading. Come from china.akimoto-akira.

wandersonareis commented 9 years ago

Share with us your Fork. I'm waiting for compatibility with FFXIII-2.

akimoto-akira commented 9 years ago

非常感谢您这么快就回复我。很遗憾的是,昨天晚上,我的网络相当糟糕。 Thank you so much for replying to me so soon. Unfortunately, yesterday evening(Beijing time:2015-8-13 21:30), my network is very bad(5KB/S). 我想找到一个不会影响你开发进度的方式,将这个方法传递给你。 I would like to find a way that will not affect your progress, and pass it on to you. 请问您是否可以留下您的E-MAIL,将我修改后的源代码发送给您、或者将我的想法通过某种文档发送给您 May I ask you if you can leave your EMAIL, send my the modified source code to you, or send my ideas to you through a document

Albeoris commented 9 years ago

Hi. at the moment, I add support 13-2 and replace OpenGL to DirectX. Many changes throughout the code. I would be grateful for any help. I help you to fix unsolved issues. Share your code as you can.

akimoto-akira commented 9 years ago

真的对不起,我刚刚才意识到,我回复的那个人不是你。或者说,那是你另一个账号? Really sorry, I just realized, I reply that person is not you. Or, that's your other account?

Albeoris commented 9 years ago

Link What are you talking about?

akimoto-akira commented 9 years ago

about rhadamants this man

akimoto-akira commented 9 years ago

来说关于这个软件的话题吧。 On the subject of this software. 老实说,我一开始并不知道该怎么做。后来思考到了游戏是日本公司开发的。就要设身处地的在日本的环境下思考问题。 Honestly, I don't know what to do at the beginning. Later thought that the game was developed by Japan Inc. To think about place oneself in others position in Japan's environment. 然后,我非常努力的研究日语。了解到日本使用的编码是JIS Then, I worked very hard to study japanese. Encoding is aware of the use of “JIS” 我查询了JIS编码表,顺利的对应了软件中的数据。他们完美的对应。 I checked the JIS encoding watch, and the data in the software.Their perfect correspondence. 这样确认了编码之后,我通过您的软件进行了翻译的工作。不过,事情不是我想的那样,除了日语,其他语言都没有翻译。 After this confirmation of encoding, I carried out the translation work through your software. However, it is not what I think, in addition to Japanese, other languages are not translated. 顺着日语的思路去想,我得到了这样一个结论。 Along the Japanese way of thinking to think, I got such a conclusion. 所有的本地化语言,一定是使用了本地化编码。 All the localized language, must be used for the localization of encoding.

日本(Japan) =JIS 韩国(The Republic of Korea)= EUC-KR 中国台湾(Taiwan, China) = BIG5

中国只有台湾在使用繁体中文,但是这并不影响中国大陆人对繁体中文的认知。 China is only using traditional Chinese in Taiwan, but this does not affect the Chinese people's understanding of traditional chinese. 平常的中国人使用的是您现在看到的简体中文。 Ordinary Chinese people use the simplified Chinese you are seeing now. 通过这个结论我得以将所有的语言导出,并且将他们翻译成对应国家的文字。因为我是不怎么会编程的,正如你所看到的,我连英语都不精通。 By this conclusion, I was able to export all the languages and translate them into the corresponding state. Because I don't know how to program, as you can see, I don't even know English. 所以我想,您应该会有更好的解决方案。 So I think you should have a better solution.

Albeoris commented 9 years ago

rhadamants same user as you. (:

Yes, it's true. In early work, I even tried to find the right encoding. But there is a problem - the game has three fonts that are used by all encodings. Files wfnt16.wfl wfnt18.wfl wfnt28.wfl contains width and position of each symbol. wfnt16.txbh, wfnt18.txbh, wfnt28.txbh contains these symbols. I can display Japanese characters in the us/gr/fr/it files. Furthermore, the encoding contains a special sequence of bytes (tags), various images (status) and special characters, which differ from the original encoding. I do not have ideas - how force it work together. :/

akimoto-akira commented 9 years ago

看了您的回复,非常感谢 See your reply, thank you very much. 最近学习了虚幻游戏引擎,并且在努力学习C++。 Recently learned the unreal game engine, and in the effort to learn C++. 我也注意了那些转换成图片的字体文件。 I also noticed the font files that were converted to images. 我想,他们的顺序不是随便出现的。 I think their order is not random. 日本是一个工业标准严格的国家,意思仅仅关于在计算机方面。 Japan is a country with a strict industrial standard, meaning just about the computer. 虚幻游戏引擎为我们(开发者)提供了一套字体缓存工具。这个工具里包含了码表剔除工具。 The unreal game engine provides us with a font cache tool for us. This tool includes table removing tool. 这个是否可以说明,FF13也使用了相同的技术呢 Whether this can be explained, FF13 also uses the same technology.

JIS(Japanese industrial standard)+ FONT CACHE

当然,最终的效果就是,什么编码对应哪一个像素块。 Of course, the final effect is, what encoding corresponds to which pixel block.

接下来说一下,他们支持了繁体中文,但是汉字却又非常的少。 Next, they supported the traditional Chinese, but the Chinese characters are very rare. 首先,我要先说明一下,日语使用的文字叫做”假名“,中文的发音是”假“,这个字在中国和日本有一个相同的意思,就是”借“。 First of all, I would like to explain to you, the use of Japanese text called "kana", the pronunciation of Chinese is "jia", the word in China and Japan have a similar meaning is "borrow". 说明白一点,日本并没有自己的文字,而是通过图形来表达语音上的含义。 To understand a little bit, Japan does not have its own text, but through graphics to express the meaning of the speech. 比如我们下面要说一个单词:”世界“ For example, we have to say a word: "the world"

世界 = せかい

这两个单词写的方法完全不一样,但是他们的发音和含义确实完全相同的。 These two words are quite different from the way they are written, but their pronunciation and meaning are exactly the same. 所以说,很多的日语单词是被限制了。他们只能写成平假名。但是在日本,平假名就像英文字母一样,所有人都认识,会读写。读出来就知道含义。 So, a lot of Japanese words are limited. They can only be written in hiragana. But in Japan, like English hiragana letter, everyone knows, can read and write. Read out to know the meaning. 在你的标签当中,我发现了对专有名词进行平假名注音的标签。 In your tags, I found the hiragana phonetic tags of proper nouns.

最后我们来讨论一下,为什么没有为繁体中文建立一个字体缓存。 Finally, let's talk about it, why not build a font cache for traditional chinese. 几百年前,繁体中文被日本的使者带回了他们的祖国。 Hundreds of years ago, traditional Chinese was brought back to their country by the Japanese. 从哪个时候开始,日本的书写系统得到了大幅度的简化。 From which time the Japanese writing system has been greatly simplified. 五六个字母变成一两个汉字。 Five or six letters into one or two characters. 中国由于历史原因,开始使用简化文字,即简体中文。 Due to historical reasons, China began to use simplified characters, that is, simplified chinese. 也是因为中国和日本之间有一些历史问题,通常他们的文化产品会先进入香港、澳门、台湾等地,最后才会进入中国大陆。 Also because there are some historical issues between China and Japan, usually their cultural products will first enter Hongkong, Macao, Taiwan and other places, and finally will enter the Chinese mainland. 恰好,这些地方是中国执行(一个国家、两个制度)的地方,他们并没有使用简体中文,而是选择保留使用繁体中文。 Exactly, these places are the place where China executes (a country, the two system), they are not used in simplified Chinese, but rather to choose to retain the use of traditional chinese. 刚刚也有说过,日本的假名使用的是繁体中文。所以简化一下台词,并不破坏本身的含义,也是一个不错的选择。 Just say, Japanese kana is the use of traditional Chinese. So it's a good choice to simplify the lines, not to destroy their own meaning.

Albeoris commented 9 years ago

It sounds very difficult. -_-

akimoto-akira commented 9 years ago

My friend, the front of the text will be identified as simplified Chinese, please switch to the Japanese mode

Albeoris commented 9 years ago

I got it. It is difficult to implement, difficult to integrate with existing solution and game resources (with the ability to customize the encoding).

akimoto-akira commented 9 years ago

Now I have a request that you can add a multi language selection interface to the next version. And add a CSV file can be loaded into the interface, used to load encoding.

akimoto-akira commented 9 years ago

I'm sure my method and theory are right, and I have realized it. However, concerns about the impact of your development progress, I did not send to you the source code.

akimoto-akira commented 9 years ago

Because my programming skills are limited. Or, I can update the source code in your source code for one or two days after the update is sent to you.

akimoto-akira commented 9 years ago

2345 20150817145513 2345 20150817145522 Oh, my dear friend The above two pictures, I find the source code of the source code that I have found earlier time to export some of the contents of the file. Friend, I realized it, I hope my method is correct, and reduce your working time. Next, I'm working on the XML file of the software for the localization of Chinese and japanese. 2345 20150817145606 2345 20150817145618

akimoto-akira commented 9 years ago

I would like to explain the meaning of some tags, I do not know whether you can understand the meaning of the specific content. italic Italic endescape Nonstandard name:There are three forms of this tag

  1. Speech content + {End Escape} + Speaker(This means that the speaker is not common, or the speaker is not the one in front. The label is used to correct the name displayed when the speaker is displayed.) 2.Speech content + {End Escape}(Now open the display of the speaker's name, it will not show. Should not be displayed.) 3.{End Escape}(A form of empty subtitles.) jp2pj This is a Japanese exclusive, hiragana phonetic kana. It is the role in the Japanese mode, if you need to show proper nouns or proper nouns are English, phonetic notation of the. Its format:< jp2pj > + The original kana words or words English + < jp2pj > + Hiragana or Katakana phonetic + < jp2pj > Examples:< jp2pj >PSICOM< jp2pj >サイコム(sa i ko mu)< jp2pj > If there is any doubt about the information above, we want to share with you.
wandersonareis commented 9 years ago
  1. Speech content + {End Escape} + Speaker (I use it also for the speaker's name translation.) 2.Speech content + {End Escape}(Names that can not be changed or main characters as SN = Snow, SZ = Sazh, LT = Lightning, VA = Vanille, FG = Fang, HO = Hope, SR=Sarah)
akimoto-akira commented 9 years ago

Hi, my brother. I don't know if you notice that some lines are not supposed to show the speaker. Also, some speakers and the corresponding code is not the same.

wandersonareis commented 9 years ago

Yes and also those 3. {End} Escape (The form of empty subtitles.) you can enter texts that may not have the language you are translating. As in the scene of the fireworks, some girls talk about Snow on Coffee greyhound and English subtitles are empty but you can insert them they will usually appear in the game. It's always good to compare subtitles why in other languages exist many legends in which the English are empty.

akimoto-akira commented 9 years ago

Did I understand the wrong? Or are you going to change the game?

Albeoris commented 9 years ago

First italic make words italic second return it to normal.

You can create a pull request for sent localization files.

I'll try to add full сhinese/korean/japanese support but it's hard because WFL format has unknown fields.

akimoto-akira commented 9 years ago

Why don't you use my quick and easy way? Although I do not have accurate implementation. But I have achieved 90% of the text can be accurately written.

Albeoris commented 9 years ago

Because I need the way to write text back to the game and change the encoding and symbol's width. WflHeader

    public int TableType; // ?
    public int Offset;
    public int ColorTableType;
    public int Unknown02;
    public int Unknown03;
akimoto-akira commented 9 years ago

Okay, friend, I think I know why you don't use it. If it is necessary to write back to the game, I think I can do a test.

Albeoris commented 9 years ago

To edit and to write back. :)

ghost commented 8 years ago

Hi, Could either of you send to me the code/implementation that "akimoto-akira" did for the Japanese text as all I get when I extract or preview the text is this.....

default

Notice theres no .string on the end of txtres_jp.ztr

2png

Thanks :) My email is fooly-cooly@msn.com

ghost commented 8 years ago

I ended up learning some python and uncompressing the Japanese text myself(still not perfect yet, and only outputs the Japanese text, nothing else). Do you already know how the Japanese txt is compressed? If not I'd be happy to explain.

ev_comn_000 Here's a picture of some notes I took

I'll put my little python program in my fork of yours when it's 100% complete.

Ah and by the way, thank you so much for you program!

Albeoris commented 8 years ago

Compression is one for all. The problem in the encoding. Now I am engaged in this issue.

ghost commented 8 years ago

The encoding is shift-jis but many of the characters are compressed. The key to decompressing it is in that last picture I sent

ghost commented 8 years ago

If you need me to explain anything, feel free to send a message :)

akimoto-akira commented 8 years ago

朋友,你将你自己带进了一个死胡同。 Friends, you bring yourself into a dead end. 我有一个更加贴近你想法的一个方法需要告诉你。 I have a way to get closer to your idea. I need to tell you. 你现在无非也就是想将图片像素位置和编码对应起来。 You are nothing more than just want to place the image pixel position and encoding correspond. 既然你已经知道了JIS是日本语编码,我们就可以使用像素点去对应实际的文字,而不是编码。 Since you have known the JIS Japanese code, we can use pixels to correspond to the actual text, rather than encoding. 原因如下: The reasons are as follows: 台词里出现的文字一定是字体缓存里存在的文字,否则,就不可能显示出文字 Lines appear in the text must be font cache in the presence of text, otherwise, it is impossible to show the text 台词里(不一定是台词)出现的图标也一定有对应的图片像素区,可能不是字体缓存。 The lines (not necessarily lines) appear icon also must have the corresponding image pixel area, may not be the font cache. 最好对照着游戏里的原始台词区确定图标。 Best to control the game in the original lines to determine the original lines.