Translate

Chủ Nhật, 24 tháng 4, 2016

Việt hóa game gba, gbc

Note lại cho khi nào rảnh thì làm.. chứ nhìn nản vc :v
(bạn nào vô tình thấy bài mình trên blog mà có hứng thì làm nha :D vì mình thấy những thứ mình kiếm được thì hoàn toàn có thể việt hóa được. Dù giờ các máy chơi ngon hơn nhìu rồi... mấy game gbc này hoài cổ vc.. nhưng có lẽ một phần tuổi thơ nên mình vẫn muốn dịch...)

I) ừm là game gbc hay gb chắc cũng cùng loại...
thứ nhất đây là bảng encoding... tạm hiểu là bảng mã của game... xem thêm
ví dụ đơn giản :v : cái mình hay biết là unicode vs j j đó... chẳng biết nói sao cho đúng nữa..
ta có các bảng mã ASCII, còn cái bảng hay được dùng trong mấy phần mềm hex editor thì lại dùng ANSI ( mà 2 cái này cũng giống nhau chút: xem thêm )

Tạm hiểu là 80 lúc này sẽ A trong encoding của game... và các kí tự khác có thể tự dò...
hay để tạo chữ "Hello" thì trong game sẽ là "87 E4 AB AB AE"
thì đó vấn đề ở chỗ muốn dịch chữ "Hello" này thành "Xin chào" thì rõ ràng trong bảng encoding kia lại hk có chữ "à" rồi ( và tất nhiên các chữ như: â, ê, ô... và có dấu nữa chữ sẽ hk hiển thị được). =.=

 OK ! giờ nhìn vào bảng encoding thấy phần junk hk, nó màu xám á... cái đoạn C,D á :v nó trống đúng hk... Chính xác ! mình sẽ thêm các chữ có dấu của Việt Nam vào đó :D thực ra trong cái link đầu tiên, phần encoding á bạn sẽ thấy bảng encoding của Nhật thì những ô xám ở hàng ngang C,D có kí tự nhưng sang bảng tiếng Anh thì người ta hk dùng nữa nên mình sẽ tận dụng nó. (  Thực ra mình cũng chưa thử là phần màu xám junk phía trên dùng được hk nữa ).

II) ...Trước khi sang phần tiếp cho bạn coi cái này nè :p

hehe đây là bảng font chữ mình đã thêm các kí tự tiếng Việt vào phần trống của hàng ngang C,D..

Ừm phần này mình dùng phần mềm "yychr"... tạm hiểu phần này nó load rom thành dạng hình ảnh..
( đây là bài viết của một bác nào đó, rất chi tiết, tâm huyết và nó giúp mình rất nhìu hiểu hơn về cái gọi là chỉnh sửa phông chữ: ROM TRANSLATING HACKING, bạn kéo xuống phần chỉnh sửa hình ảnh trong rom nha, à bonus thêm một bài viết nữa mà bác ấy chia sẻ: dịch Fire Emblem 5)

Rồi giờ áp dụng phần mềm nào: mở phần mềm rồi load rom, thoạt đầu sẽ éo thấy cái j hết, một đống loạn xạ... :v like this ...


1: đổi thành 2BPP GB nha cho dễ tìm kiếm ( xíu nói sau )
2: cái này sẽ là chỗ mình chỉnh font
3,4: khi nòa tìm được đến font hãy thử dùng thì bạn sẽ tự hiểu
5: bảng màu để chọn sửa ( thường thì giữ nguyên những màu sắc nó cho :v )

Đầu tiên phải kiếm được chỗ nào có font đúng hơm :v
            cách 1: là bạn chỉnh cái số 1 thành 2BPP GB á rồi kéo tìm đi :v đến một đoạn sẽ trông like this...
giờ hãy dùng thử 3 đi :v và cả 4 nữa để thấy hiệu quả
.... Rồi giờ chỉnh cái số 1 (Graphic fomat) về 1BPP thấy j chưa, nếu chưa thấy thì kéo nhẹ lên xuống đi sẽ thấy like this...
1: là cái chỗ chọn màu để sửa :v nó cho sao thì dùng vậy
Bạn thấy cái số 4 hk, theo mình đoán thì đó chính là phần C,D cái mà mình nói trong bảng encoding ở trên... => mình chỉ cần thêm những font chữ vào chỗ trống này thôi.
( bạn lấy 2 cộng 3 ra bao nhiêu nào: 11800 + 50x8  có phải bằng  11A80 hk :v xí nói cái này sau)
5: jum to adress

  cách 2:  dùng ROM map ( nè rom map RB ) bấm vô link xem nha bạn, rồi Ctrl F để tìm đến phần font... like this: 
bạn thấy địa chỉ bắt đầu hk: 11A80, vậy là mình đã biết địa chỉ bát đầu đống font chữ
- giờ bạn vào "yychr" load rom, rồi vào jum to adress và nhập 11A80 vào sẽ tìm đến được chỗ chứa font thay vì tìm kiếm thủ công như cách 1. (Giờ thì bạn hiểu cái phép toán 11800 + 50x8 rồi chứ, mỗi ô đó là 8 bit hay byte j đó... còn 11800 là cái bắt đầu thôi, 50 là vị trí chữ A đó)

Rồi tiếp nào: giờ bắt tay vẽ thêm font  vào cái phần số 4 mà mình bôi đỏ á, từng ô 1, vậy là mình có thể add thêm 32 kí tự nữa. ừm sau khi tính toán thì mình vẽ thế này :v 

III) Vậy là xong mình đã có font chữ mới và nhớ đối chiếu vs bảng encoding để biết được mã của những từ mình mới thêm vô nha, VD như lúc này chữ "tôi là blue" sẽ có hex là 
t      ô     i    l         à         b l u e
B3  C3            (A0 D7)
tạm hiểu là vậy.. vì có 32 ô trống nên chữ à mình đã phải dùng hai kí tự để biểu diền...
( nên bạn nào chăm chút hơn thì thử tìm hiểu xem trong bảng encoding kia thì junk thứ nhất mình sài được hk vì phần junk đó khá rộng)
 IV) Vậy là đã có font giờ đến công đoạn sửa chữ. 
lúc này bạn sẽ dùng các phần mềm hext editor ( có nhiều pm kiểu này lắm mà nó cứ kiểu được cái này hì mất cái kia =.=)

mình dùng Translhextion nó cùi mía kinh khủng nhưng lại có thêm phần script ngon vđ...
vào phần mềm rồi cũng load rom như thường.
-Dùng cái rom map vừa nãy á bạn, hình như từ bank 20 trở đi sẽ cho bạn những bank text, hoặc bạn có thể tìm kiếm vs ctrl F từ khóa là text
-Biết địa chỉ rồi thì mình tìm đến đó... 
Như trong rom map thì bank 20 (bank text đầu tiên) có địa chỉ là 80000, trong phần mềm bạn bấm Ctrl G và điền x80000 ( x là ám chỉ hệ hex) thì nó sẽ jump đến như sau:
Bạn thấy j phía bên tay phải nào, rất linh tinh đúng hk
Giờ bạn thử chuyển những cái mình gạch chân vs cái bảng encoding ở đầu bài nào: 81 A8 AD A6 AE E7 50 50 xem được chữ j nào
.
.
.
.
.
.
có phải được chữ "Bingo!" hk... ừm tạm hiểu mấy kí tự bên tay phải trên hình á nó là bảng mã ANSI chứ hk phải bảng encoding của game nên hiển thị hk đúng vậy á.

Chia sẻ thêm một bài viết mình nghĩ nó quá tuyệt vời mà mình đã tìm được: Giegue's Master Guide to Hacking Pokemons Games Red-Crystal, vào đó đọc đi :D trong phần 3 á....

Rồi, giờ bạn cũng copy cái bảng của RBY, vào notepad paste nó ra rồi lưu tên có đuôi .tbl nha, nhớ là có đuôi .tbl nha.
Giờ vào lại Translhextion nào, phần Script >  Open thingy table... và chọn đến file .tbl mình vừa lưu, xong tích vào ô Thingy Viesw Active..  để thấy sự khác biệt :3

nhưng vấn đề ở đây là vẫn chưa có thêm các chữ tiếng việt mà mình vừa add font phải hk, vậy thì mình phải add nó thêm vào file .tbl rồi, mở notepad làm thêm cái .tbl mới nào, lại copy cái bảng của RBY, vào notepad paste nó ra, và thêm các kí tự mình vừa thêm vào nào, từ C0 đến DF nha bạn.
( cái này là của mình )

bạn sẽ thấy lạ phải hk, cái vế phải á nó sẽ là các kí tự hiển thị tương ứng trong phần mềm Translhextion  ở trên á, và tất nhiên rồi các ký tự đó phải có trong bảng ANSI thì mới hiển thị được.
VD như kí tự "ạ" là C6 á, do trong ANSI hk có kí tự "ạ" nên mình chuyển thành a*
Note: chuyển thành j cũng được, miễn sao bạn thấy dễ hiểu.
Vậy là mình đã có một bảng .tbl mới.

đến công việc chính nè, dịch thuật:
2h sáng rồi, đi ngủ =.=

dump text và insert vậy thôi.
Dump text trước. Vào Script > Dump Script.. nó hiện ra cửa sổ lựa chọn mới.
ô đầu tiên là Start dumping, còn ô thứ 2 tạm hiểu sẽ  là end thì 2 ô này mình đền vô sẽ là vị trí bắt đầu vs kết thúc của bank rồi OK. VD như bank 20 thì sẽ là 80000 và 82AAE.
sau khi dump mình sẽ được một file .txt, mở file đó lên và chỉnh sửa.


Thực ra khi lùng sục trên trang romhacking j j đó mình có nhặt nhạnh được phần mềm làm sắn để trans mấy game pkm bản blue red và cả gold sliver luôn nhưng nó hk hỗ trợ tiếng việt

(mình đã thử chỉnh lại phần mềm đó để hỗ trợ việc dịch sang TV dễ dàng hơn nhưng Fail vẫn hoàn fail nên mình phải làm theo kiểu thủ công và dễ gây chán nản là dumb and Insert)

1 nhận xét:

  1. Tính dịch cái game này mà đọc nửa teen thì hiểu mà nửa dưới thì bó tay luôn 😂😂

    Trả lờiXóa