Himawari

BGI Buriko General Interpreter/Ethornell

Menerjemahkan visual novel tetapi memakai engine lain? Baca ini.

Bagaimana sih proses membuat sebuah terjemahan visual novel? Mungkin teman-teman ada yang kepo, ya? Ya udah, admin Saya bakal kasih tau deh caranya. Untuk paham ini setidaknya kalian harus tau istilah-istilah paling dasarnya biar tau yang aku omongin itu apa.

Cara berikut bisa kamu terapkan untuk visual novel yang sama-sama memakai BGI Engine kecuali bagian perbaikan font, karena tiap judul beda cara.
Wajib : Sudah menginstall Python3 https://www.python.org/downloads/

Tools yang dibutuhkan :

  1. BGI Script Tools
  2. Ethornell Tools
  3. 10Editor atau HEX Editor
  4. BGI_asdis
  5. BGIKit
  6. Garbro

Visual Novel yang digunakan Daitoshokan no Hitsujikai ~Houkago no Shippo Days~

Extract File

  • Langkah pertama buka data01000.arc menggunakan Garbro dan extract file yang ada di dalamnya.bgi1

Mengubah Script ke Bahasa Indonesia

  • Copy file hasil extract kan tadi ke dalam folder BGI Script Tools kemudian drag & drop ke bgi_dump.py. Contohnya saya pilih tos710010 maka akan menghasilkan output baru dengan nama tos710010.txtbgi2.jpg
  • Buka file .txt tadi dan tempatkan teks terjemahannya setelah <enNxxxx>untuk memasukkan nama, dan <enTxxxx> untuk memasukkan teks. Tulisan yang berada setelah tanda // akan bertindak sebagai catatan atau komentar.

Catatan atau komentar akan selalu dihiraukan atau dengan kata lain tidak akan ditampilkan pada saat dibuat patchnya nanti. Selain itu pastikan untuk tidak menulis terjemahan di baris yang berbeda dengan kata <enNxxxx> atau <enTxxxx> karena akan berubah menjadi komentar/catatan.

bgi3
  • Setelah selesai menerjemahkan, kembalikan file .txt tadi (tos710010.txt) ke tos710010 di dalam sebuah folder baru. Sebagai contoh di sini saya membuat folder baru bernama “Indonesia”.revisi1
  • Copy direktori alamat BGI Script Tools untuk menjalankan tool lewat CMD.bgi4
  • Buka CMD. Ketik “CD” kemudian klik kanan>paste>enter. Ketik lagi untuk menjalankan bgi_insert.py dengan format “bgi_insert.py OutDir File”
    Outdir=Folder yang dibuat tadi
    File=Nama file tanpa ekstensi
    Maka jadinya “bgi_insert.py Indonesia tos710010”
bgi5

*Jika error saat merubah script ke .txt -> buka common.py dan cari kata ini res = data.find(b’\x1B\x00\x00\x00′, pos+1) lalu ubah 1B ke F4.

Mengetes Hasil Script Translasi

Copy file tos710010 yang ada di folder Indonesia dan paste ke DirektoriGame\Script\CVTD\

DirektoriGame=Lokasi Game Daitoshokan no Hitsujikai Shippo Days

revisi2bgi

Info mengenai direktori folder ini terdapat di ipl._bp. Folder Script untuk menyimpan script yang sudah diterjemahkan dan juga ._bp files, Graphic untuk menyimpan UI/Image. Kamu juga bisa merubah nama foldernya dengan mengedit ipl_.bp

bgi8

ipl._bp juga berfungsi untuk mengganti judul visual novel pada saat mode window.

bgi9

Khusus untuk ipl._bp letakkan di luar folder script (bersamaan dengan file .arc).

revisi3bgi
Tentang bagaimana cara edit ._bp files akan saya jelaskan di bawah.

File terjemahan yang ada di DirektoriGame (bersamaan dengan file .arc) akan diprioritaskan daripada file yang ada di folder DirektoriGame\Script\CVTD. Dengan kata lain jika kamu mempunyai 2 file yang sama maka, ketentuan ini akan berlaku. Ketentuan ini tidak hanya script saja, namun, semua folder yang terdapat di ipl._bp

Tampilan Script Saat Pertama Tes

bgi6
Menemui permasalahan teks yang berantakan seperti ini? Memang lumayan sulit sih untuk mengatasi hal ini, soalnya kadang beda-beda cara penanganannya. Namun, untuk Daitoshokan no Hitsujikai Shippo Days hal yang perlu diubah ada di bagian function (data01000.arc) dan file ._bp (sysprg.arc).

Buka tool bgi_asdis

Jalankan bpdis.py dengan cara drag&drop file userdata._bp ke bpdis.py. Buka file userdata.bpd. Temukan alamat byte address yaitu 198FC+12928+6 dan ubah baris argument kedua dari 0 menjadi 1, atau gampangnya cari tulisan seperti ini

push_dword(0x198fc);
push_dword(0x12928);
add();
push_byte(0x6);
add();
push_byte(0x0);

Ubah menjadi

push_dword(0x198fc);
push_dword(0x12928);
add();
push_byte(0x6);
add();
push_byte(0x1);

Jalankan bpas.py untuk merubah userdata.bpd menjadi userdata._bp. Format penulisannya “bpas.py fileBPD”

Karna itu perintahnya menjadi “bpas.py userdata.bpd”. Copy file userdata._bp ke Daitoshokan. Dan hasilnya akan seperti ini.

bgi7

Dari sini terlihat teks terlalu besar, dan nama karakter juga masih berantakan. Untuk mengatasinya kalian perkecil ukuran font (function)

Buka function menggunakan 010 Editor dalam mode HEX (Edit As: Hex). Cari bytes (Ctrl+F) 00 00 00 00 1C 00 00 00

bgi10

Lalu ubah 1C ke 15, sehingga menjadi 00 00 00 00 15 00 00 00

bgi11

Save, lalu copy function ke DirektoriGame atau DirektoriGame\Script\CVTD\. Hasilnya akan seperti ini

bgi12

Untuk Memperbaiki Nama
Cari kata ini di dalam scrmsg.bpd

push_dword(0x198fc);
push_dword(0x12928);
add();
push_byte(0xc);
add();
load(0x2);
push_byte(0x20);
push_byte(0x4e);
add();
load(0x1);
push_byte(0x1b);
push_byte(0x64);
push_byte(0x0);
push_byte(0x0);

Kemudian ubah push_byte(0x0); yang baris terakhir menjadi push_byte(0x1);

Insert seperti langkah sebelumnya. Dan hasilnya seperti ini

bgi13

Terima kasih untuk tutorial dari arcusmaximus. Penjelasan lebih lengkap.

Informasi tambahan:
Sejauh ini Visual Novel dengan BGI Engine yang memiliki masalah teks berantakan seperti itu berasal dari August. Ketika saya mencoba Smee kalian tidak perlu repot-repot memperbaiki hal ini.
Ada beberapa visual novel BGI yang menggunakan enkripsi script yang disebut AES Decrypt. Proteksi ini saya temukan di visual novel Ao no Kanata no Four Rhythm versi Bahasa Jepang. Sampai saat ini saya belum mendapat info pasti tentang cara mengakali enkripsi tersebut.
BGI menggunakan sistem baris otomatis, dengan kata lain kamu tidak perlu membuat word wrap. Namun, jika ingin membuat baris baru secara manual, bisa dengan menambahkan “\n”.

Tiap vn memiliki hex code yang berbeda.

Menerjemahkan UI

UI berada di sysgrp.arc. Extract menggunakan Garbro lalu convert file tanpa ekstensi dengan BGIKit SysgrpConverter. Cara Penggunaannya drag&drop, contoh file SGCnfgDsp000000, yang kemudian akan muncul output .bmp

bgi14

Setelah selesai mengedit .bmp convert kembali dengan cara drag&drop file .bmp ke SysgrpConverter.exe yang kemudian akan muncul file baru .bmp.out . Agar bisa berjalan sebagai patch, ubah nama file itu menjadi tanpa ekstensi.

Tips : Agar sizenya tidak terlalu besar, saya sarankan untuk mengconvert file .bmp ke png dahulu kemudian gunakan BgiImageEncoder untuk mengconvert .png ke CompressedBG__ (File tanpa ekstensi khusus image). BgiImageEncoder berbeda dengan Sysgrp. SysgrpConverter hanya mendukung translasi UI.

bgi15.jpg

Compresed_BG merupakan gambar yang bisa diconvert langsung menggunakan Garbro. Terlihat dari preview terdapat gambar.

bgi16
Tampilan di dalam data02810.arc dengan nama file smt_17_dp01

Teks awal file smt_17_dp01 saat dibuka menggunakan notepad++ adalah CompressedBG__

bgi17

Convert langsung dari Garbro file smt_17_dp01 tadi ke format .png lalu convert kembali ke file tanpa ekstensi (CompressedBG__) menggunakan BgiImageEncoder.

bgi18

Untuk translasi Explanation Message dan Preview Teks gunakan bgi_asdis dan edit ._bp files yang ada di sysprg.arc

bgi19

Sampai sini harusnya udah jelas ya prosesnya. Untuk visual novel lain mungkin akan saya tulis lain waktu.