alat alice
Ini adalah kumpulan alat baris perintah untuk melihat dan mengedit format file yang digunakan dalam game AliceSoft.
Bangunan
Instal dulu dependensinya (paket Debian yang sesuai dalam tanda kurung):
- bison (bison)
- fleksibel (fleksibel)
- meson (meson)
- libpng (libpng-dev)
- libturbojpeg (libturbojpeg0-dev)
- libwebp (libwebp-dev)
- zlib (zlib1g-dev)
Kemudian ambil submodul git,
git submodule init
git submodule update
(Atau, teruskan --recurse-submodules
saat mengkloning repositori ini)
Kemudian buat alatnya dengan meson,
mkdir build
meson build
ninja -C build
jendela
alice-tools dapat dibangun di Windows menggunakan MSYS2.
Pertama instal MSYS2, lalu buka shell MINGW64 dan jalankan perintah berikut,
pacman -S flex bison
mingw-w64-x86_64-gcc
mingw-w64-x86_64-meson
mingw-w64-x86_64-pkg-config
mingw-w64-x86_64-libpng
mingw-w64-x86_64-libjpeg-turbo
mingw-w64-x86_64-libwebp
Untuk membangun GUI, Anda juga harus menginstal Qt:
pacman -S mingw-w64-x86_64-qt5
Kemudian buat executable dengan meson,
mkdir build
meson build
ninja -C build
Eksekusi alice
(terletak di build/src/alice.exe
) harus mandiri dan portabel.
Eksekusi galice
memerlukan beberapa file tambahan untuk dikirimkan bersamanya karena Qt. Jalankan perintah berikut untuk menyalin file yang diperlukan untuk Qt,
mkdir deploy
cp build/src/galice.exe deploy/
windeployqt deploy/galice.exe
Saat ini, masih ada beberapa DLL yang hilang dari direktori deploy
. Anda dapat menjalankan perintah berikut untuk menentukan DLL yang diperlukan,
ldd build/src/galice.exe | grep mingw64
Instalasi
Dari Sumber
Jika Anda telah mengikuti petunjuk di atas untuk membuat alice-tools dari sumber, jalankan
untuk menginstalnya.
Nix
alice-tools dapat diinstal melalui nix dengan perintah berikut:
nix profile install git+https://github.com/nunuhara/alice-tools.git?submodules=1
Anda harus mengaktifkan flakes (lihat dokumentasi nix untuk mengetahui cara mengaktifkan flakes).
jendela
Versi Windows yang disediakan bersifat portabel, jadi tidak diperlukan instalasi. Cukup jalankan executable yang disediakan (alice.exe) dari command prompt.
Penggunaan
Semua alat diakses melalui satu alice
yang dapat dieksekusi. Menjalankan alice
atau perintah apa pun tanpa argumen akan mencetak petunjuk penggunaan yang relevan. Misalnya
alice
alice ain
alice ain dump
Perintah yang diterapkan saat ini adalah:
alice acx build - Build a .acx file from a .csv
alice acx dump - Dump the contents of a .acx file to .csv
alice ain compare - Compare .ain files
alice ain dump - Dump various info fram a .ain file
alice ain edit - Edit a .ain file
alice asd build - Build a save file
alice asd dump - Dump a save file
alice ar extract - Extract an archive file
alice ar list - List the contents of an archive file
alice ar pack - Create an archive file
alice cg convert - Convert a CG file to another format
alice cg thumbnail - Create a thumbnail for a CG file
alice ex build - Build a .ex file
alice ex compare - Compare .ex files
alice ex dump - Dump the contents of a .ex file
alice flat build - Build a .flat file
alice flat extract - Extract the contents of a .flat file
alice project build - Build a .pje project file
Mengedit file .ain
Lihat README-ain.md
Mengedit file .ex
Lihat README-ex.md
Mengedit file .acx
Lihat README-acx.md
Mengedit file .flat
Lihat README-flat.md
Mengekstrak arsip
Lihat README-alice-ar.md
Proyek bangunan (.pje)
Lihat README-proyek.md
Keterbatasan/Bug yang Diketahui
- aindump hanya mendukung dumping ke satu file, yang ukurannya bisa cukup besar.
Kode Sumber
Kode sumber tersedia di github.
Melaporkan Bug
Anda dapat melaporkan bug pada pelacak masalah di github, hubungi saya melalui email di [email protected], atau temukan saya di /haniho/.
Riwayat Versi
Versi 0.13.0
- Tambahkan perintah
asd dump
dan asd build
untuk menyimpan pengeditan file - Terapkan pengemasan arsip afa versi 1 dengan benar
- Perbaiki bug ketika direktori keluaran yang sama dicantumkan beberapa kali dalam manifes arsip
- Izinkan penentuan opsi dalam file manifes (misalnya
#BATCHPACK --afa-version=1 --backslash
) - Meningkatkan penanganan input baris perintah non-ASCII
- Perbaiki bug saat menggunakan opsi
--split
ke ex dump
- Perbaiki bug yang memengaruhi file arsip Oyako Rankan
Versi 0.12.1
- Memperbaiki masalah saat mengekstraksi gambar .dcf dan .pcf dari Dohna Dohna
- Tambahkan opsi ke
ain dump
untuk membuang stub HLL untuk xsystem4
Versi 0.12.0
- Tambahkan penampil GUI ("galice") untuk arsip, file ain, file ex, dan banyak lagi
- Menerapkan dukungan untuk arsip AAR
- Terapkan dukungan gambar DCF yang tepat
- Menerapkan dukungan gambar PCF
- Tambahkan perintah
cg thumbnail
untuk membuat thumbnail format gambar AliceSoft - Perbaiki masalah yang menghalangi pembukaan file Healing Touch
- Berbagai perbaikan kompiler
Versi 0.11.1
- Terapkan pemeriksaan ukuran file untuk AinInput dan PactInput di file .pje
- Menerapkan dukungan untuk modding arsip pakta
- Perbaiki masalah yang memengaruhi file .flat
Versi 0.11.0
- Tambahkan opsi
--function
ke ain dump
untuk membuang fungsi tertentu saja - Tambahkan perintah
ex edit
untuk melakukan pengeditan tambahan pada file .ex - Izinkan mencantumkan file .txtex sebagai bagian dari proses pembuatan .pje
- Izinkan menentukan direktori sumber arsip dalam file .inc
- Izinkan pola wildcard direktori (terbatas) dalam file .inc
- Izinkan menentukan file sumber .jam dalam file .inc
- Menerapkan fitur injeksi bytecode untuk build .pje
Versi 0.10.2
- Perbaiki masalah pengkodean saat menggunakan string yang dikutip dalam file manifes
Versi 0.10.1
- Mendukung ekstraksi arsip DLF dan ALK
- Memperbaiki masalah dengan nama file Jepang di Windows
- Izinkan penggunaan string yang dikutip dalam file manifes arsip
- Berbagai perbaikan pada kompiler .jaf
Versi 0.10.0
- Tambahkan format manifes "BATCHPACK" untuk perintah
ar pack
- Mendukung file dalam v1 (Mamanyonyo)
- Tambahkan alat untuk mengedit file .flat (
flat extract
dan flat build
) - Mendukung penggantian fungsi bytecode (.jam) melalui file proyek .pje
- Mendukung pembuatan arsip dan file .ex melalui file proyek .pje
- Tambahkan perintah
project build
untuk membuat file .pje (menggantikan ain edit -p
) - Tambahkan perintah
cg convert
untuk mengkonversi antar tipe CG - Berbagai perbaikan pada kompiler .jaf (masih eksperimental).
Versi 0.9.1
- Perbaiki masalah pengkodean saat menggunakan perintah
ar pack
di Windows
Versi 0.9.0
- Ubah penamaan instruksi/tipe v12+ agar lebih mencerminkan semantiknya
- Terapkan berbagai makro versi v14+
- Secara otomatis membuang file .ex/.pactex saat mengekstraksi arsip
- Daftar isi arsip kini dapat diganti saat mengekstraksi
- Perintah ain edit sekarang memproses file sesuai urutan yang diberikan pada baris perintah
- Perintah ain edit sekarang menerima opsi --jam untuk menambal bagian kode
- Banyak perbaikan/perbaikan pada kompiler .jaf (eksperimental).
- Berbagai perbaikan bug
Versi 0.8.0
- Tambahkan perintah
ar pack
untuk membuat arsip AFAv2 - Perbaiki masalah dengan file ALD di Windows
- Mendukung pengindeksan tabel string berdasarkan nilai saat menggunakan perintah
ain edit -t
Versi 0.7.0
- Gabungkan semua perintah ke dalam biner tunggal 'alice'
- Perbaiki masalah dengan file .ain versi uji coba Dohna Dohna
- Memperbaiki masalah dengan karakter pengembalian kereta yang tidak lolos dalam keluaran
- Perbaiki pesan kesalahan
Versi 0.6.0
- Tambahkan alat acxdump/acxbuild untuk mengedit file .acx
- Mendukung ekstraksi file .ogg dari arsip afa v3
- Memperbaiki kerusakan saat mengekstraksi arsip CG dari Sengoku Rance versi MangaGamer
- Mendukung pembuangan/pengeditan file .ain untuk Hentai Labyrinth dan Evenicle 2 Clinical Trial Edition
Versi 0.5.1
- Memperbaiki masalah saat membuang file lain dengan pengkodean yang tidak kompatibel dengan ascii
Versi 0.5.0
- !!! Merusak kompatibilitas bytecode dengan versi sebelumnya!!!
- Menghapus opsi
--inline-strings
dari aindump dan ainedit - String sekarang dimasukkan dalam instruksi
S_PUSH
, dll. - Menambahkan beberapa makro bytecode lagi
Versi 0.4.0
- Menambahkan alat alice-ar untuk mengekstrak file arsip
Versi 0.3.0
- Sekarang mendukung file ain hingga versi 14 (Evenicle 2, Haha Ranman)
- Peningkatan kompatibilitas file ex, sekarang berfungsi dengan Rance 03, Rance IX dan Evenicle 2
- aindump sekarang mengeluarkan instruksi makro secara default (membuat bytecode lebih mudah dibaca)
- Kebanyakan pesan kesalahan sekarang menyertakan nomor baris
Versi 0.2.1
- Menambahkan opsi
--input-encoding
dan --output-encoding
untuk mengontrol pengkodean teks file input dan output - Menambahkan opsi
--transcode
ke ainedit untuk mengubah pengkodean teks file ain - Memperbaiki masalah ketika opsi
--split
untuk exdump akan menghasilkan nama file yang kacau di Windows
Versi 0.2.0
- Menambahkan alat exdump dan exbuild
Versi 0.1.1
- Memperbaiki masalah ketika karakter non-ASCII tidak dapat dimasukkan kembali menggunakan
ainedit -t
Versi 0.1.0
- Rilis awal
- Mendukung dumping/editing file .ain hingga versi 12 (Rance X)