您現(xiàn)在的位置:首頁 ›› 3DS ›› 游戲漢化進(jìn)度
3ds游戲漢化教程篇之打包操作
時間:2015-11-10 13:40:26 來源:k73電玩之家 作者:SarvSarv 熱度: 1140 次
進(jìn)行游戲漢化工作?這聽起來相當(dāng)?shù)母叨?,不過在3ds時期,游戲漢化似乎成為了一項并不那么難的事情。只要你愿意鉆研,你自己完全可以勝任3ds游戲漢化的全部工作,今天給大家?guī)淼氖?ds游戲漢化過程中的打包操作教程。
進(jìn)行游戲漢化工作?這聽起來相當(dāng)?shù)母叨?,不過在3ds時期,游戲漢化似乎成為了一項并不那么難的事情。只要你愿意鉆研,你自己完全可以勝任3ds游戲漢化的全部工作,今天給大家?guī)淼氖?ds游戲漢化過程中的打包操作教程。
3ds游戲解包操作教程:k73傳送門
3ds游戲漢化教程篇之打包操作:k73傳送門
3ds游戲漢化教程之文本字庫操作篇:k73傳送門
在上文中,我們已經(jīng)詳細(xì)說了3DS的解包操作,那么一定還有打包操作,在本文中,我們就繼續(xù)聊聊3DS的打包操作。
通過上文的說明,我們了解到,一個3DS的ROM是由幾個分區(qū)以及一個頭文件組成,他們分別是第0分區(qū)到第7分區(qū),其中第0分區(qū)為cxi格式,游戲中的絕大部分資源文件,都會保存在這個文件中,其余1-7個分區(qū),可以參考下圖,第1分區(qū)是說明文件(Manual),第7分區(qū)是更新檔案(UpdateData),第2分區(qū)是一卡多游(DownloadPlay),第3-6分區(qū)都是預(yù)留分區(qū)(Partition),但是一個游戲使用什么分區(qū)做什么,是沒有強(qiáng)制約定的,而且分區(qū)的作用,只有5個選項:Application(程序)、SystemUpdate(系統(tǒng)更新)、Manual(說明)、Child(子分區(qū))以及Trial(體驗版)。所以說,具體哪個分區(qū)是做什么的,都是具體例子具體分析。
解包的過程,概括一下就是從3ds(cci)-->cxi0(0分區(qū))、cfa1-7(1-7分區(qū))與頭文件-->exefs與romfs等資源打包文件-->各種資源文件與頭文件的過程。其實,打包的過程,就是將這個步驟反過來操作,將資源文件一步步打包成cci(3ds)文件。下面,讓我們一起來進(jìn)行操作吧。
例子依然是我們在上一篇文章中操作過的開膛手杰克。
操作步驟一:將資源文件打包為exefs與romfs
首先,我們需要將3dstool-master\bin文件夾中的ignore.txt拷貝到3dstool.exe工具同目錄下,因為在打包過程中會使用到這個文檔,如果沒有這個文檔,工具中會提示出錯,舉例:
這段代碼就不用細(xì)看了,下文會有詳細(xì)講解的,先拷貝ignore.txt文件吧。
工作開始,我們使用開膛手杰克的資源進(jìn)行打包操作,先看看資源文件吧:
格式是cci文件夾中有cfa1、cfa7、cxi0三個文件夾,在三個文件夾下,又分別有romfs和exefs文件夾。我們在這步打包操作時,就是將exefs和romfs文件夾中的資源文件合成exefs.bin和romfs.bin文件,下面開始代碼“3dstool -cvtfz exefs cci\cxi0\exefs.bin --header cci\cxi0\exefs\exefsheader.bin --exefs-dir cci\cxi0\exefs”:
成功打包成了exefs.bin文件,讓我們仔細(xì)看看代碼:“-cvtfz”與上一篇文章中的“-xvtfu”是對應(yīng)的,對比下3dstool文檔我們可以看到“-c”是創(chuàng)建目標(biāo)文件,“-vtf”是顯示信息、文件類型與目標(biāo)文件三個通用參數(shù),最后的“-z”是通過反向LZ77算法壓縮文件,這里再次強(qiáng)調(diào),exefs文件可能需要使用反向LZ77算法進(jìn)行解壓和壓縮工作,是否需要使用“-z”與“-u”,需要看exh中的標(biāo)記(查看exh.bin的0000000dh位置,值為1則需要使用“-z”)。如果在解包時使用了“-u”,那么打包時“-z”就不能丟。
“exefs cci\cxi0\exefs.bin”指的是在目標(biāo)位置生成exefs.bin文件,生成文件的過程中,需要使用頭文件“--header cci\cxi0\exefs\exefsheader.bin”,并指定exefs資源所在的文件夾“--exefs-dir cci\cxi0\exefs”。
好的,那么接下來生成的是romfs.bin文件“3dstool -cvtf romfs cci\cxi0\romfs.bin --romfs-dir cci\cxi0\romfs”:
由于romfs沒有頭文件,也無需使用反向LZ77壓縮,所以代碼比較簡短,去掉“-z”,去掉“--header”,將exefs改為romfs就可以了。
處理完cxi0中的資源文件,我們用相同的辦法處理cfa1和cfa7中的資源文件。
cfa1中的romfs“3dstool -cvtf romfs cci\cfa1\romfs.bin --romfs-dir cci\cfa1\romfs”:
cfa7中的romfs“3dstool -cvtf romfs cci\cfa7\romfs.bin --romfs-dir cci\cfa7\romfs”:
到此為止,我們的exefs與romfs文件都已經(jīng)打包完成了。
操作步驟二:將exefs、romfs與頭文件打包成cxi/cfa文件
首先,讓我們來看看cxi0文件夾下的內(nèi)容:
我們可以看到除了剛生成的exefs.bin和romfs.bin之外,還有exh.bin、plain.bin以及頭文件ncchheader.bin,我們現(xiàn)在要做的,就是將這5個文件進(jìn)行打包,生成0.cxi文件。
下面來看代碼“3dstool -cvtf cxi cci\0.cxi --header cci\cxi0\ncchheader.bin --exh cci\cxi0\exh.bin --plain cci\cxi0\plain.bin --exefs cci\cxi0\exefs.bin --romfs cci\cxi0\romfs.bin --key0”:
“--header cci\cxi0\ncchheader.bin”、“--exh cci\cxi0\exh.bin”、“--plain cci\cxi0\plain.bin”、“--exefs cci\cxi0\exefs.bin”與“--romfs cci\cxi0\romfs.bin”五個參數(shù),分別對應(yīng)上方的五個文件,應(yīng)該比較好理解,就是將這5個文件打包到“cci\0.cxi”。
然后“--key0”則再強(qiáng)調(diào)一下,使用--key0打包后,下次需要解包時,就可以使用--key0直接解包,而不需要再去3DS上進(jìn)行xorpad的收集,能夠提高效率。若是需要使用xorpad打包,則可以將代碼“--key0”改為“--exh-xor Main.exheader.xorpad --exefs-xor Main.exefs_norm.xorpad --romfs-xor Main.romfs.xorpad”,即可完成打包:
然后是使用同樣的方法對cfa1與cfa7文件夾中的文件進(jìn)行打包操作,兩個文件夾下都是romfs.bin與ncchheader.bin兩個文件。
cfa1“3dstool -cvtf cfa cci\1.cfa --header cci\cfa1\ncchheader.bin --romfs cci\cfa1\romfs.bin --romfs-xor Manual.romfs.xorpad”:
cfa7“3dstool -cvtf cfa cci\7.cfa --header cci\cfa7\ncchheader.bin --romfs cci\cfa7\romfs.bin --romfs-xor UpdateData.romfs.xorpad”:
完成!
操作步驟三:將cxi文件、cfa文件與頭文件打包成cci(3ds)文件
如果上述步驟都認(rèn)真完成了,那么你現(xiàn)在的cci文件夾中應(yīng)該是有這么幾個文件:
我們現(xiàn)在就是將0.cxi、1.cfa、7.cfa與頭文件ncsdheader.bin打包,生成3ds文件“3dstool -cvt017f cci cci\0.cxi cci\1.cfa cci\7.cfa repack.3ds --header cci\ncsdheader.bin”:
到此為止,我們已經(jīng)重新將ROM進(jìn)行了打包。
代碼匯總:
//打包為exefs、romfs
3dstool -cvtfz exefs cci\cxi0\exefs.bin --header cci\cxi0\exefs\exefsheader.bin --exefs-dir cci\cxi0\exefs
3dstool -cvtf romfs cci\cxi0\romfs.bin --romfs-dir cci\cxi0\romfs
3dstool -cvtf romfs cci\cfa1\romfs.bin --romfs-dir cci\cfa1\romfs
3dstool -cvtf romfs cci\cfa7\romfs.bin --romfs-dir cci\cfa7\romfs
//打包為cxi、cfa
3dstool -cvtf cxi cci\0.cxi --header cci\cxi0\ncchheader.bin --exh cci\cxi0\exh.bin --plain cci\cxi0\plain.bin --exefs cci\cxi0\exefs.bin --romfs cci\cxi0\romfs.bin --key0
3dstool -cvtf cfa cci\1.cfa --header cci\cfa1\ncchheader.bin --romfs cci\cfa1\romfs.bin --romfs-xor Manual.romfs.xorpad
3dstool -cvtf cfa cci\7.cfa --header cci\cfa7\ncchheader.bin --romfs cci\cfa7\romfs.bin --romfs-xor UpdateData.romfs.xorpad
//打包為3ds(cci)
3dstool -cvt017f cci cci\0.cxi cci\1.cfa cci\7.cfa repack.3ds --header cci\ncsdheader.bin
如果你認(rèn)真的做完了兩篇文章中所有的操作,那么再使用記事本打開3DStool幫助和教學(xué)中的怪物獵人4.bat文件,你會發(fā)現(xiàn)所有的指令你都可以看得懂了。
老話重提,漢化工作并不是什么美好的工作,成天面對代碼、文本與圖片更說不上有意思。但是漢化就是這么吸引著我們,大家想要參加漢化的原因各不相同,有的是為了學(xué)技術(shù)、練外語,有的是為了自己喜歡的游戲,還有的只是出于對漢化工作的好奇。
這都沒有關(guān)系,漢化并不是一個人的工作,與別人一起討論技術(shù)、討論翻譯的過程,比玩任何游戲都要精彩。你現(xiàn)在所需要做的,就是參與進(jìn)來,堅持下去。如果你對漢化破解有興趣,但是沒有基礎(chǔ),那么加入我們,從零開始;如果你跳過了上面所有的技術(shù)內(nèi)容,直接看到了最后這一段,建議你從頭開始試試,從第一篇開始,一步步做下來,破解不難,難的只是堅持。
參與進(jìn)來,堅持下去,與你共勉。
SarvSarv
2014.12.10
熱門新聞
我要評論 查看全部評論 (0)>>