(PS)賭博黙示録カイジ漢化筆記(三)

三.文本導出和導入A

 

這一部分稱爲A,是因爲我最早是用了一個工具進行文本導出和導入。這僅是用來實驗,最後我還是編程導出了文本,這個部分放到B來描述。AB部分都是獨立,並不是上下篇。

 

文本導出導入工具也有不少,oz01的文章中推薦的是CrystalScript、菜鳥工具,我這裏推薦一下藍山魔導,同樣是藍山老妖的作品,將很多工具進行了合成,界面也比較友好。雖然有部分bug,也停止了更新,但還是推薦。

 

藍山魔導的使用參考說明書,這裏就不再介紹。首先設置碼錶文件,上文提到對某些特殊碼字進行修改,其實是在這個步驟中進行的。導出,檢查,修改,再導出,重複這個步驟。當然也不一定能把所有的特殊碼字都找出來。

 

控制符腳本的話,可以點擊窗口左下方的幫助按鈕查看。

xxxx=任意字符  ( 用戶自定義控制符,輸出形式爲: {任意字符} )

xxxx=  ( 換行符 )

xxxx=  ( 換頁符 )

xxxx=jump:n  ( 跳過該編碼後面n字節,並繼續該段文本 )

xxxx=finish:n  ( 跳過該編碼後面n字節,並結束該段文本 )

xxxx=pass:n  ( 扔掉該編碼後面n字節,並繼續該段文本 )

其中最重要的還是換行符和換頁符。

 

首先來觀察剛剛找到的文本,第一部分MOV01AM.STR顯然是顯示文字前播放的視頻,這裏可以忽略。之後的文字段落明顯都是用00來表示完結,雖然這是標準的String with Zero,但這裏不妨認爲00就是換行符。

 

結合遊戲圖片來分析,發現幾個問題:

 

 

第一點:“真夜中の雨”到下一句之間應該有兩個空行(其實是“列”,但爲了方便起見以後都叫做行)。而上圖中只有兩個連續的00,也就是說只換行了一次。

 

第二點:也就是最關鍵的一點,“何も聞こえない‥‥”之後本頁結束,但是沒有發現任何特殊的標記來換頁。

 

這裏先暫時放過,看看其他控制符。

 

注意到這裏有一個ASCII字符“B”,之後還有一個字符“R”,遊戲中的顯示如下:

 

顯然,B代表顏色變成藍色,R代表顏色變成紅色。此類ASCII控制符還有一些,控制符的製作也不是一下子完成的,可以發現一個增加一個。

 

設定好碼錶和控制腳本,選擇ROM文件,因爲這個軟件是面向NDS/GBAROM的,所以要求選擇ROM文件,這裏就是選擇Course.dat即可。其實地址和結束地址選擇只要選擇文本較集中的一段即可,我這裏設置的是004d5650-004d6230,標尺寬度設爲12,遊戲中一列最多就顯示12個字。優先級設置成控制符優先。碼錶中最好不要帶有ASCII碼錶,帶有的話可以將“MOV01AM.STR”之類的內容也導出,但是由於控制符的存在,R會被翻譯成紅色。

 

文本導出之後,下面的步驟是翻譯,這個步驟不在技術人員的考慮範圍內。當然我爲了測試用了下翻譯軟件大約翻譯了第一段文字。然後使用藍山魔導的碼錶工具生產新的碼錶。這裏要說明一下的是,我爲了不重新制作一些豎排的符號,保留了所有的非漢字部分,這一部分可以稱作“保留碼錶”,在藍山魔導中加載該碼錶,然後選擇“只生成源碼錶中沒有的字”,同時其實編碼就不能從8140開始,必須從889F“亞”開始。此時生成的碼錶要連接到“保留碼錶”後面,這張表可以稱作“導入碼錶”。但是從889F“亞”開始的這份碼錶也不能刪除,後面改字庫是還要用到,這種表可以稱作“新字符表”。

 

接下來用藍山魔導的文本檢查工具進行檢查,檢查無誤之後導入即可,其間用到的碼錶都是指“導入碼錶”。

 

事情還沒有結束,現在字庫還沒有變化,使用CrystalTile2,找到“亞”字,選中,然後“編輯”-“導入碼錶”即可,這個碼錶就是剛剛提到的“新字符表”。導入的文字可能有些大,因爲最高才13pt,所以要使用5號字。我試驗下來似乎只有宋體能順利導入,而且也不是很好看。

 

將修改過的Course.datSlps_027.49寫入光盤,運行遊戲發現文字顯示不正確。理由顯然是因爲文本是由某個指針表控制的,不能隨意更改句子的長度。現在只能調整句子的長度,一般來說句子不會超出,只會字數變少,可以使用“魔導工具箱A”,使句子和原文等長。這裏還是有一個問題,比如有一句話是“何故?”,只有三個字,要翻譯的話符合標準普通話的只有“爲什麼”,但是問號就加不上去了。

 

重新調整了一下翻譯,再次導入,可以成功顯示中文,截圖如下:

 

 

至此,文本導出導入結束。但現在還是很簡單的操作,一行代碼沒有寫,一句指令也沒有看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章