.arc Uzantılı VN Dosyası

Bir VN' de amatörce çeviri denemeleri yapmak istiyorum ancak .arc uzantılı dosyaları açamıyorum. Üstünde deneme yapmak istediğim VN Higurashi no Naku Koro ni: Kai - Meakashi-hen. Yardımcı olabilecek varsa sevinirim...
Hah işte, eskiden deliler gibi araştırdım, ama MangaGamer versiyonunu editleme hakkında hiçbir bilgi bulamamıştım. Değişik bir sistemi var. Unuttum adını şimdi. Ben de o yüzden, orijinal versiyonunu editlemiştim. erengy'ye yalvarıyoruz buradan... ^_^
erengy-senpai bize bir çare lütfen ^^
Higurashi'lerin MangaGamer sürümü BGI (Ethornell - Buriko General Interpreter) adlı VN motorunu kullanıyor. .arc uzantılı dosyaların içeriğini çıkartmak için Crass veya ExtractData uygulamalarından biri kullanılabilir. Oyun senaryosuna ait metin dosyaları data01000.arc'ın içinde bulunuyor, diğer arc'larda görüntü ve ses dosyaları gibi içerikler var.

data01000.arc'ı açmak yetmiyor tabii, zira açınca içinden 91 adet yeni ve elle düzenlemesi mümkün olmayan dosya çıkıyor. Bu dosyaları .txt uzantılı metin dosyalarına çeviren (ve çevirisi yapılanları tekrar oyun motorunun okuyabileceği hale dönüştüren) ek bir program kullanmak gerekiyor. Bu amaçla kendi yazdığım bir program da var ama henüz iki-üç VN haricinde test etmediğim için daha güvenilir olduğunu düşündüğüm TLWiki'deki BGI araçlarını kullandım.

Sonuçta ortaya şöyle bir şey çıktı:
http://www.mediafire.com/?dv4ktq1chhphdrp

(Tepesinde "//TEXT" yazan, "<trTxxxx>" ile başlayan satırlar çevrilecek.)
Get a mosaic, quickly!
data01000.arc'ı açmak yetmiyor tabii, zira açınca içinden 91 adet yeni ve elle düzenlemesi mümkün olmayan dosya çıkıyor. Bu dosyaları .txt uzantılı metin dosyalarına çeviren (ve çevirisi yapılanları tekrar oyun motorunun okuyabileceği hale dönüştüren) ek bir program kullanmak gerekiyor.

Müthişsin ya. :) Bu aşamasıydı ihtiyacım olan! :)

Peki 2 şey daha soracağım:

* Bu .txtleri editleyip kaydettikten sonra, geri birleştirmek için ne kullanmak gerekiyor? BGI Tools mu? Ve bunun kullanımının resimli anlatımını yapabilir misin, zahmet olmazsa?
* Ve Türkçe karakter desteğini nasıl sağlayacağız? BGI'da denemediğim için bilmiyorum, ama ONScripter'da tek bir yöntemle becerebiliyordum ve bu yöntem çok zahmetli.
ExtractData programının kullanımı kolay. data01000.arc dosyasının içindekileri çıkartmayı becerebildim. Ancak BGI araçlarını indirdiğimde herhangi bir .exe yoktu. Nasıl kullanacağıma dair yardımcı olabilir misin erengy?
Komut ile yapıyorsun onu.

Bir de, çıkartmada, ExtractData yerine Crass öneriyorum.
Benim gibi başlamak için hevesli insanlar için resimli anlatım oluşturulsa çok güzel olur aslında...
Öncelikle şunu belirteyim; her visual novel için aynı araçlar kullanılmıyor. BGI araçları bile oyun motoru olarak BGI kullanan visual novel'ların yalnızca bir kısmını destekliyor mesela. Ortada hazır bir araç yoksa da oturup kendiniz kodlamak durumunda kalıyorsunuz.

Dolayısıyla şimdi yazacaklarım her VN için geçerli genel bir çözüm değil, sadece elimizdeki örnek için geçerli. Resimli anlatıma gerek duyulacak kadar karmaşık bir işlem değil doğrusu, o yüzden maddeler halinde yazıyorum.

BGI araçları arasında herhangi bir .exe dosyası yok, doğru. Python ile kodlandıkları için kendiniz derleyip çalıştırmanız gerekiyor.

  • Öncelikle BGI script tools'u edinin: http://tlwiki.tsukuru.info/index.php?ti ... _tools.zip
  • Ardından Python 3.2'nin kurulum dosyasını indirin: http://www.python.org/ftp/python/3.2/python-3.2.msi
  • İndirme ve kurulum işleminin ardından Bgi_script_tools.zip'in içeriğini bilgisayarınızda bir yere çıkartın.
  • bgi_setup.py dosyasını Notepad gibi bir metin düzenleyicisiyle açın, aşağıdaki satırları değiştirin:
  • slang = 'ja' -> slang = 'en'
    dlang = ['en'] -> dlang = ['tr']
    ilang = 'en' -> ilang = 'tr'
    ienc = 'cp932' -> ienc = 'cp1254'
  • .txt dosyasına dönüştürmek istediğiniz dosyayı (örneğin, "_meak_001") .py uzantılı dosyalarla aynı klasöre kopyalayın.
  • Aynı klasörün içinde yeni bir .txt dosyası oluşturun, uzantısıyla birlikte ismini "run.bat" olarak değiştirin.
  • Oluşturduğunuz bu yeni dosyayı açın ve içine "bgi_dump.py _meak_001" yazıp kaydedin.
  • Dosyayı çalıştırdığınızda aynı klasörün içinde "_meak_001.txt" adında bir dosyanın oluşturulduğunu görebilirsiniz.
İlgili dosyanın çevirisini yaptıktan sonra tekrar oyunun okuyabileceği formata ("_meak_001") dönüştürmek için bu kez run.bat'ın içine "bgi_insert.py out _meak_001" yazıp çalıştırmanız yeterli. Ayrıntılı bilgi için readme.txt dosyasına başvurabilirsiniz.

Çalışıp çalışmadığını kontrol etmedim bu arada. Türkçe karakter destekleyip desteklemediğinden emin değilim, müsait olduğum bir ara deneyeceğim.
Get a mosaic, quickly!
Çook teşekkürler! Her zamanki gibi harikasın. Çok rahat anlaşılır bir şekilde anlatmışsın.

Bu arada,

"slang = 'ja' -> slang = 'en'
dlang = ['en'] -> dlang = ['tr']
ilang = 'en' -> ilang = 'tr'
ienc = 'cp932' -> ienc = 'cp1254'"

bu yazdıklarının arasında "tr" lâfı da geçtiği için, bu aşamanın Türkçe desteklettirmek için yapıldığını düşündüm. Ama değil mi ki... (?)

Ve bu dediklerinin hepsini yapınca, ve oyun Türkçe karakter destekliyorsa, (orijinal versiyonu destekliyor, ama MangaGamer versiyonunun destekleyip desteklemediğini ben de bilmiyorum.) bu anlattıklarını yaparsak Türkçe karakter gördürmek için gerekli şeyleri yapmış mı olacağız?
Çok teşekkürler. Harika bir anlatım! En kısa sürede deneyeceğim!
Dosyayı çalıştırdığınızda aynı klasörün içinde "_meak_001.txt" adında bir dosyanın oluşturulduğunu görebilirsiniz.

Şu işlemde sorun yaşadım. Dediğiniz gibi önce bir metin belgesi oluşturdum ve "Farklı Kaydet..." seçeneği ile uzantısını .bat olarak değiştirdim. Kodlamayı ANSI olarak yaptım. Sonuç olarak aşağıda dos ekranı ve metin belgesi açıldı;

http://i51.tinypic.com/fmutxw.png

Bu dos ekranı ve metin belgesini kapatıp klasöre geri döndüğümde .txt uzantılı bir dosya oluşmamıştı. Ben de sorunun kodlama dili ile âlâkalı olduğunu düşünüp aynı işlemleri Unicode, Unicode big endian ve UTF-8 ile denedim. Her seferinde run.bat'a çift tıkladığımda önüme gelen dos ekranı salisede kapandı. Olasılık olarka bilmiyorum ama ya ben yanlış yaptım. Yahut da kullandığım işletim sistemi Windows 7 yüzünden bu sorun oluştu. Daha doğrusu oluşmuş olabilir. Bu arada unutmadan .txt formatına dönüştürmek istediğim dosyanın adı üstteki resimde de belli olduğu gibi him_t_loop_01 idi. Son olarak ben data01000.arc adlı dosyanın içindeki dosyaları ExtractData programı ile çıkartmıştım. Belki de sorun bundan kaynaklanıyor olabilir... Şimdiden yardımınız için teşekkür ederim.
bu yazdıklarının arasında "tr" lâfı da geçtiği için, bu aşamanın Türkçe desteklettirmek için yapıldığını düşündüm. Ama değil mi ki... (?)

Ve bu dediklerinin hepsini yapınca, ve oyun Türkçe karakter destekliyorsa, (orijinal versiyonu destekliyor, ama MangaGamer versiyonunun destekleyip desteklemediğini ben de bilmiyorum.) bu anlattıklarını yaparsak Türkçe karakter gördürmek için gerekli şeyleri yapmış mı olacağız?
Orada belirttiğim değişiklikler sadece Python script'inin Türkçe karakterler içeren dosyalarla düzgün çalışması içindi, doğrudan oyunla bir ilgisi yoktu. Lakin denedim bugün, tahmin ettiğim gibi BGI'ın varsayılan hali Türkçe karakterleri (daha doğrusu ANSI ve Shift JIS'tekiler hariç hiçbir karakteri) desteklemiyormuş:



Oyunun .exe dosyasını biraz kurcalayıp gerekli değişiklikleri yaptıktan sonra sorun çözüldü:



İlerleyen zamanlarda Türkçe karakterlerle ilgili beklenmedik problemler çıkabilir yine tabii ama bir nevi proof of concept oldu en azından.

Şu işlemde sorun yaşadım. Dediğiniz gibi önce bir metin belgesi oluşturdum ve "Farklı Kaydet..." seçeneği ile uzantısını .bat olarak değiştirdim. Kodlamayı ANSI olarak yaptım. Sonuç olarak aşağıda dos ekranı ve metin belgesi açıldı;

http://i51.tinypic.com/fmutxw.png

Bu dos ekranı ve metin belgesini kapatıp klasöre geri döndüğümde .txt uzantılı bir dosya oluşmamıştı. Ben de sorunun kodlama dili ile âlâkalı olduğunu düşünüp aynı işlemleri Unicode, Unicode big endian ve UTF-8 ile denedim. Her seferinde run.bat'a çift tıkladığımda önüme gelen dos ekranı salisede kapandı. Olasılık olarka bilmiyorum ama ya ben yanlış yaptım. Yahut da kullandığım işletim sistemi Windows 7 yüzünden bu sorun oluştu. Daha doğrusu oluşmuş olabilir. Bu arada unutmadan .txt formatına dönüştürmek istediğim dosyanın adı üstteki resimde de belli olduğu gibi him_t_loop_01 idi. Son olarak ben data01000.arc adlı dosyanın içindeki dosyaları ExtractData programı ile çıkartmıştım. Belki de sorun bundan kaynaklanıyor olabilir... Şimdiden yardımınız için teşekkür ederim.
Yazdıklarınla bir ilgisi olduğunu sanmıyorum. Not Defteri'nin kendiliğinden açılmış olmasından anladığım kadarıyla, bgi_setup.py dosyasını düzenlemek için açarken .py uzantılı dosyaları kalıcı olarak Not Defteri'yle ilişkilendirmişsin. Eski haline getirmek için Python'u kaldırıp tekrar kurabilirsin veya şu işlemi de yapabilirsin:

  • .py uzantılı dosyalardan birine sağ tuşla tıklayıp "Birlikte aç > Varsayılan programı seç" yolunu izle.
  • Açılan penceredeki listede python.exe varsa onu seç, yoksa Gözat düğmesine tıklayıp Python'u kurduğun klasördeki python.exe'yi bulup seç.
  • "Bu tür dosyaları açmak için her zaman seçili programı kullan" kutucuğunun işaretli olduğundan emin ol ve onayla.
Ardından tekrar .bat uzantılı dosyayı çalıştırabilirsin.

Tüm bunları yapmanız gerekmiyor aslında, nasıl yapıldığı hakkında bir fikriniz olsun diye yazmıştım ben sadece. Önceki sayfadaki mesajımda hazır .txt'e dönüştürülmüş halleri vardı zaten. Yabancı projelere bakarsanız teknik işlerle uğraşanlarla çevirmenlerin çoğunlukla ayrı insanlar olduğunu görebilirsiniz. Ha ben deneyip öğrenmek istiyorum diyorsanız o ayrı tabii (:
Get a mosaic, quickly!
ExtractData ile .arc dosyasının içindeki dosyaları çıkarttım. Pekiyi bu dosyaları tekrar nasıl birleştirebiliriz ve oyunun görebileceği şekilde ayarlayabiliriz? Elimde Crass da var. Lütfen anlatır mısınız? Şimdiden teşekkür ederim.
Crass ve ExtractData yalnızca çıkartma işlemini üstleniyor, paketleme işlemi için başka bir program kullanmak gerekiyor. AnimED'e bakabilirsiniz, BGI'ın arc formatını da destekliyor kendisi (Archive Tool sayfasından "+ [ARC] Ethornell Buriko General Interpreter" ve ardından Create archive > Create from files veya Create from directory).

BGI paketlenmemiş dosyaları da (arc'ların içinden çıkan dosyalar) okuyor bu arada. İlgili dosyayı oyunun ana klasörüne, arc'ların yanına kopyalamanız yeterli. Aynı dosya arc'lardan birinin içinde olsa bile öncelik dışarıdakine verilecektir. Çevirisini yaptığınız dosyaları paketlemeye gerek kalmadan bu şekilde test edebilirsiniz.
Get a mosaic, quickly!
@erengy

Dediğin tüm işlemleri yaptım, editlenmiş insert edilmiş dosyamı VN'nin klasörüne koydum, VN'yi açtım baktım, çevirdiğim yer değişmemiş. Dediğin gibi sadece tr olan kısmı değiştirdim. .arc hâline paketlemedim, nasolsa dışarıdakilere öncelik veriyor diye. Başka bir yerde hata mı yapıyorum acaba...

Edit: Ayrıca şimdi, extract edilmiş dosyalarım VN klasörünün içindeyken ve data01000.arc dosyasını VN klasöründen başka bir yere taşıdıktan sonra denedim ve böyle yapınca VN'yi hiç açmadı. Bu da data01000.arc'tan okuduğunun kanıtı oldu. (En azından benim durumumda.)

Bir de demişsin ki BGI'nın default hâli Türkçe karakterleri desteklemiyormuş ve görmesi için .exe dosyası içinde bazı düzenlemeler yapmışsın, neler yaptığını anlatabilir misin?
BGI dediğim gibi normalde destekliyor VN klasörüne atılan dosyaları, fakat Higurashi'lerde bu özellik system.arc'ın içindeki bir sistem dosyası aracılığıyla (muhtemelen MangaGamer tarafından) devre dışı bırakılmış. Yama yapılıp düzeltilebiliyor bu; gerekli dosyaları gönderirim istersen.

Bir de demişsin ki BGI'nın default hâli Türkçe karakterleri desteklemiyormuş ve görmesi için .exe dosyası içinde bazı düzenlemeler yapmışsın, neler yaptığını anlatabilir misin?
Orası biraz karışık... Bir miktar assembly ve Win32 programlama bilgisi gerekiyor bunun için. Basitçe anlatmak gerekirse dosyayı bir disassembler ile açıp font yüklerken kullandığı Windows API'ını nerelerden çağırdığını ve içlerinden hangisinin oyundaki ana metinler için kullanıldığını bulup, bu API'a aktardığı değerler üzerinde bir hex editor aracılığıyla düzenlemeler yaptım. Yine de beklediğimden kolay oldu, zira daha ileri seviye reverse engineering bilgisi gerektirseydi ben de altından kalkamazdım.
Get a mosaic, quickly!
Hmm.. Pekâlâ... Açıklama için teşekkür ederim.

Peki .exe dosyasına o gereken işlemleri yapıp (ki yapmışsın zaten :P) yollaman mümkün mü? Ve o dediğin yamayı? :) Hoş, çevirmeyi planlamıyorum şimdilik (Ramazan bitsin öyle :P) ama heves ettikçe boş vakitlerimde azar azar çevirebilirim...
Şuradan buyurun: http://www.mediafire.com/?7y09yq4oe73o1n2

İnternette dolaşan Kaibrid yamasına ek olarak MangaGamer'ın ilk dört arc'ı birden içeren First Release sürümünden data01000.arc ve system.arc dosyalarını ve Türkçe destekli .exe dosyasını içeriyor paket. Yüklemek için Meakashi kurulumunun üzerine çıkartmak yeterli; ardından oyunu çalıştırmak için BGI.exe yerine higurashi_tr.exe'yi kullanacaksın.

Hoş, çevirmeyi planlamıyorum şimdilik (Ramazan bitsin öyle :P) ama heves ettikçe boş vakitlerimde azar azar çevirebilirim...
I see what you did there... :D
Get a mosaic, quickly!
Hehe :)

Çok sağol, yalnız, upload ettiklerinden higurashi_tr.exe, data01000.arc ve system.arc dışındaki dosyaların ne işe yarayacağını anlamadım. Onlar zaten bendeki orijinal Meakashi dosyalarıyla tamamen aynı, değil mi? Yani bu üç dosyayı, çevirilmiş Meakashi klasörümün içine atmam yeterli sanırım? (Yani dışarıdan okutabilmek için.) Bir de, işi çok fazla karmaşıklaştırmak istemem ama biraz da meraktan şunu soracağım: yanlış anlamadıysam, o data01000.arc ile system.arc'ın ilk Higurashi VN'sine yani tüm soru bölümlerini içeren VN'ye ait olduğunu söyledin. Peki durum böyle ise, bunlar sanırım Meakashi'ye dışarıdan okutmak istediğim dosyaların önüne geçmeyeceğinden ve aynı zamanda VN'nin açılmasını sağlayacağından dolayı olduğu için sorun olmamış olacak, değil mi? (Hehe bu soruyu anlamayabilirsin, cevaplamasan da olur da, yolladığın .zip'in içindeki o Meakashi dosyaları gerekli mi değil mi onu söylesen yeterli aslında.)

Sorularımı özetleyecek olursam, ekstradan ihtiyacım olan dosyalar sadece o üç dosya mı, yoksa diğerleri de gerekli mi?
Hehe :)

Çok sağol, yalnız, upload ettiklerinden higurashi_tr.exe, data01000.arc ve system.arc dışındaki dosyaların ne işe yarayacağını anlamadım. Onlar zaten bendeki orijinal Meakashi dosyalarıyla tamamen aynı, değil mi? Yani bu üç dosyayı, çevirilmiş Meakashi klasörümün içine atmam yeterli sanırım? (Yani dışarıdan okutabilmek için.) Bir de, işi çok fazla karmaşıklaştırmak istemem ama biraz da meraktan şunu soracağım: yanlış anlamadıysam, o data01000.arc ile system.arc'ın ilk Higurashi VN'sine yani tüm soru bölümlerini içeren VN'ye ait olduğunu söyledin. Peki durum böyle ise, bunlar sanırım Meakashi'ye dışarıdan okutmak istediğim dosyaların önüne geçmeyeceğinden ve aynı zamanda VN'nin açılmasını sağlayacağından dolayı olduğu için sorun olmamış olacak, değil mi? (Hehe bu soruyu anlamayabilirsin, cevaplamasan da olur da, yolladığın .zip'in içindeki o Meakashi dosyaları gerekli mi değil mi onu söylesen yeterli aslında.)

Sorularımı özetleyecek olursam, ekstradan ihtiyacım olan dosyalar sadece o üç dosya mı, yoksa diğerleri de gerekli mi?
Aşama aşama anlatmak gerekirse;

1. Üzerine hiçbir yama kurmadığımız Meakashi, doğal olarak, düzgün bir şekilde çalışıyor.

2. Meakashi'nin üzerine bahsettiğin o üç dosyayı, data01000.arc, system.arc ve higurashi_tr.exe'yi eklediğimizde ana menü düzgün açılsa da sonrasında sürekli hata veriyor. Çünkü bu aşamada oyun kendisini Meakashi değil, ilk dört soru bölümünü içeren Higurashi When They Cry zannediyor. Yeni eklenen .arc dosyaları ayrı bir yapıma, geriye kalan tüm eski dosyalar (grafik, ses, müzik, vb.) ayrı bir yapıma ait olduğu için düzgün çalışmıyor oyun.

3. Tüm bunların üzerine paketin içindeki diğer dosyaları dahil ettiğimizde, Meakashi tekrar düzgün bir şekilde çalışıyor. Bu dosyaların çoğu Meakashi'ye ait, Türkçe çevirisi yapılacak senaryo dosyaları. Bir kısmıysa yeni eklediğimiz data01000.arc ve system.arc'ın içindeki aynı adlı dosyaları override ederek oyunun exe'sini Meakashi senaryosuna yönlendiriyor.

Kısacası gönderdiğim dosyaların tümü düzgün çalışması için gerekli, sadece o üç dosya yeterli olmayacaktır.
Get a mosaic, quickly!
Şimdi editi görüyor, ama çeviride Türkçe karakter kullanırsam out klasörüne hiçbir dosya yaratmıyor.
Bu son konuştuklarımızla bir ilgisi olduğunu sanmıyorum. out klasöründe dosya yaratmıyor dediğin BGI script tools, değil mi? bgi_setup.py'nin ayarlarında söylediğim değişiklikleri yapmış mıydın? Bende düzgün çalışıyor:



:D
Get a mosaic, quickly!
Evet, ve evet, hâttâ bak:

http://animetr.org/bgi_setup.rar (Şu anki ayarlarım bu şekilde)

Çeviride Türkçe karakter kullanmazsam, out klasörüne sorunsuzca yaratıyor, ama Türkçe karakter kullanırsam yaratmıyor. Acaba kullandığım text editor ile falan ilgisi olabilir mi? Hem Notepad++, hem Wordpad, hem de Notepad ile denedim, sonuç aynı. :(
ienc yerine senc değerini cp1254 olarak ayarlamışsın, geri kalan her şey doğru görünüyor. Şöyle olacak son hali:

# General settings for BGI script tools

# Source language
slang = 'en'

# Destination languages
dlang = ['tr']

# Insertion language
ilang = 'tr'

# Dump file extension
dext = '.txt'

# Source encoding
senc = 'cp932'

# Dump file encoding
denc = 'utf-8'

# Insertion encoding
ienc = 'cp1254'

# Copy source line to destination lines (blank line if set to false)
dcopy = True
Get a mosaic, quickly!
Aa, dikkâtsizliğime gelmiş. :) Sen demesen onu kontrol etmek asla aklıma gelmezdi. xD Büyüksün ya, çok sağol. :)

http://animetr.org/budur.jpg
[şiddet] Sen onu çabuk bitir yoksa kafa göz dalarım. [/şiddet]

İstatistikler

Toplam 482 mesaj • Toplam 75 başlık • Toplam 36 üye • En yeni üyemiz JokerSenpai
Bugüne kadar en çok 19 kişi tarihinde çevrimiçi oldu