Alice-Tools
Dies ist eine Sammlung von Befehlszeilentools zum Anzeigen und Bearbeiten von Dateiformaten, die in AliceSoft-Spielen verwendet werden.
Gebäude
Installieren Sie zunächst die Abhängigkeiten (entsprechendes Debian-Paket in Klammern):
- Bison (Bison)
- Flex (Flex)
- Meson (Meson)
- libpng (libpng-dev)
- libturbojpeg (libturbojpeg0-dev)
- libwebp (libwebp-dev)
- zlib (zlib1g-dev)
Dann holen Sie sich die Git-Submodule,
git submodule init
git submodule update
(Alternativ können Sie beim Klonen dieses Repositorys --recurse-submodules
übergeben.)
Dann bauen Sie die Werkzeuge mit Meson,
mkdir build
meson build
ninja -C build
Windows
alice-tools können unter Windows mit MSYS2 erstellt werden.
Installieren Sie zuerst MSYS2, öffnen Sie dann die MINGW64-Shell und führen Sie den folgenden Befehl aus:
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
Um die GUI zu erstellen, müssen Sie auch Qt installieren:
pacman -S mingw-w64-x86_64-qt5
Dann erstellen Sie die ausführbare(n) Datei(en) mit Meson,
mkdir build
meson build
ninja -C build
Die ausführbare alice
Datei (unter build/src/alice.exe
) sollte eigenständig und portierbar sein.
Für die ausführbare galice
Datei müssen aufgrund von Qt einige zusätzliche Dateien mitgeliefert werden. Führen Sie die folgenden Befehle aus, um die erforderlichen Dateien für Qt zu kopieren:
mkdir deploy
cp build/src/galice.exe deploy/
windeployqt deploy/galice.exe
Zu diesem Zeitpunkt fehlen noch einige DLLs im deploy
. Sie können den folgenden Befehl ausführen, um die erforderlichen DLLs zu ermitteln:
ldd build/src/galice.exe | grep mingw64
Installation
Von der Quelle
Wenn Sie die obigen Anweisungen zum Erstellen von Alice-Tools aus dem Quellcode befolgt haben, führen Sie Folgendes aus
um es zu installieren.
Nix
alice-tools können über nix mit dem folgenden Befehl installiert werden:
nix profile install git+https://github.com/nunuhara/alice-tools.git?submodules=1
Sie müssen Flakes aktiviert haben (Informationen zum Aktivieren von Flakes finden Sie in der Nix-Dokumentation).
Windows
Die bereitgestellten Windows-Builds sind portierbar, sodass keine Installation erforderlich ist. Führen Sie einfach die bereitgestellte ausführbare Datei (alice.exe) über eine Eingabeaufforderung aus.
Verwendung
Der Zugriff auf alle Tools erfolgt über die einzige ausführbare alice
Datei. Wenn Sie alice
oder einen anderen Befehl ohne Argumente ausführen, werden die entsprechenden Gebrauchsanweisungen gedruckt. Z.B
alice
alice ain
alice ain dump
Die derzeit implementierten Befehle sind:
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
Bearbeiten von .ain-Dateien
Siehe README-ain.md
Bearbeiten von .ex-Dateien
Siehe README-ex.md
Bearbeiten von .acx-Dateien
Siehe README-acx.md
Bearbeiten von .flat-Dateien
Siehe README-flat.md
Archive extrahieren
Siehe README-alice-ar.md
Bauprojekte (.pje)
Siehe README-project.md
Bekannte Einschränkungen/Fehler
- aindump unterstützt nur das Dumping in eine einzelne Datei, die recht groß sein kann.
Quellcode
Der Quellcode ist auf Github verfügbar.
Fehler melden
Sie können Fehler im Issue-Tracker bei Github melden, mich per E-Mail unter [email protected] kontaktieren oder mich unter /haniho/ finden.
Versionsverlauf
Version 0.13.0
- Fügen Sie die Befehle
asd dump
und asd build
hinzu, um die Dateibearbeitung zu speichern - Implementieren Sie das Packen von AFA-Archiven der Version 1 ordnungsgemäß
- Fehler behoben, wenn dasselbe Ausgabeverzeichnis mehrmals im Archivmanifest aufgeführt ist
- Erlauben Sie die Angabe von Optionen in der Manifestdatei (z. B.
#BATCHPACK --afa-version=1 --backslash
) - Verbessern Sie die Handhabung von Nicht-ASCII-Befehlszeileneingaben
- Behebung eines Fehlers bei Verwendung der Option
--split
für ex dump
- Behebung eines Fehlers, der Oyako-Rankan-Archivdateien betrifft
Version 0.12.1
- Beheben Sie Probleme beim Extrahieren von .dcf- und .pcf-Bildern aus Dohna Dohna
- Option zu
ain dump
hinzufügen, um HLL-Stubs für xsystem4 zu sichern
Version 0.12.0
- Fügen Sie einen GUI-Viewer („Galice“) für Archive, AIN-Dateien, Ex-Dateien und mehr hinzu
- Implementieren Sie die Unterstützung für AAR-Archive
- Implementieren Sie die richtige DCF-Bildunterstützung
- Implementieren Sie PCF-Image-Unterstützung
- Fügen Sie den Befehl
cg thumbnail
für die Miniaturansicht der Bildformate von AliceSoft hinzu - Behebung eines Problems, das das Öffnen von Healing Touch-Ain-Dateien verhinderte
- Verschiedene Compiler-Verbesserungen
Version 0.11.1
- Implementieren Sie die Dateigrößenprüfung für AinInput und PactInput in .pje-Dateien
- Implementieren Sie die Unterstützung für das Modding von Paktarchiven
- Beheben Sie Probleme, die .flat-Dateien betreffen
Version 0.11.0
- Fügen Sie die Option
--function
zu ain dump
hinzu, um nur eine bestimmte Funktion zu sichern - Fügen Sie den Befehl
ex edit
hinzu, um inkrementelle Änderungen an .ex-Dateien vorzunehmen - Erlauben Sie das Auflisten von .txtex-Dateien als Teil des .pje-Erstellungsprozesses
- Erlauben Sie die Angabe von Archivquellverzeichnissen in .inc-Dateien
- Erlauben Sie (begrenzte) Verzeichnis-Platzhaltermuster in .inc-Dateien
- Erlauben Sie die Angabe von .jam-Quelldateien in .inc-Dateien
- Implementieren Sie die Bytecode-Injection-Funktion für .pje-Builds
Version 0.10.2
- Behebung eines Codierungsproblems bei der Verwendung von Zeichenfolgen in Anführungszeichen in Manifestdateien
Version 0.10.1
- Unterstützt das Extrahieren von DLF- und ALK-Archiven
- Beheben Sie Probleme mit japanischen Dateinamen unter Windows
- Erlauben Sie die Verwendung von Zeichenfolgen in Anführungszeichen in Archivmanifestdateien
- Verschiedene Verbesserungen am .jaf-Compiler
Version 0.10.0
- Fügen Sie das Manifestformat „BATCHPACK“ für den Befehl
ar pack
hinzu - Unterstützt ain v1-Dateien (Mamanyonyo)
- Tools zum Bearbeiten von .flat-Dateien hinzufügen (
flat extract
und flat build
) - Unterstützt den Austausch von Bytecode-Funktionen (.jam) über .pje-Projektdateien
- Unterstützen Sie die Erstellung von Archiven und .ex-Dateien über .pje-Projektdateien
-
project build
Befehl zum Erstellen von .pje-Dateien hinzufügen (ersetzt ain edit -p
) -
cg convert
zum Konvertieren zwischen CG-Typen hinzufügen - Verschiedene Verbesserungen am (noch experimentellen) .jaf-Compiler
Version 0.9.1
- Beheben Sie das Codierungsproblem bei Verwendung des Befehls
ar pack
unter Windows
Version 0.9.0
- Ändern Sie die Benennung von ain v12+-Anweisungen/-Typen, um deren Semantik besser widerzuspiegeln
- Implementieren Sie eine Version 14+ verschiedener Makros
- .ex/.pactex-Dateien beim Extrahieren von Archiven automatisch sichern
- Das Inhaltsverzeichnis eines Archivs kann jetzt beim Extrahieren überschrieben werden
- Der Befehl ain edit verarbeitet Dateien jetzt in der in der Befehlszeile angegebenen Reihenfolge
- Der Befehl „ain edit“ akzeptiert jetzt die Option „--jam“ zum Patchen des Codeabschnitts
- Viele Verbesserungen/Korrekturen am (experimentellen) .jaf-Compiler
- Diverse Fehlerbehebungen
Version 0.8.0
- Fügen Sie den Befehl
ar pack
zum Erstellen von AFAv2-Archiven hinzu - Beheben Sie Probleme mit ALD-Dateien unter Windows
- Unterstützt die Indizierung der Zeichenfolgentabelle nach Wert, wenn der Befehl
ain edit -t
verwendet wird
Version 0.7.0
- Kombinieren Sie alle Befehle in der einzigen Binärdatei „Alice“.
- Behebung eines Problems mit der .ain-Datei der Dohna Dohna-Testversion
- Problem mit Wagenrücklaufzeichen ohne Escapezeichen in der Ausgabe behoben
- Fehlermeldungen verbessern
Version 0.6.0
- Fügen Sie acxdump/acxbuild-Tools zum Bearbeiten von .acx-Dateien hinzu
- Unterstützt das Extrahieren von .ogg-Dateien aus afa v3-Archiven
- Absturz beim Extrahieren des CG-Archivs aus der MangaGamer-Version von Sengoku Rance behoben
- Unterstützt das Dumping/Bearbeiten von .ain-Dateien für Hentai Labyrinth und Evenicle 2 Clinical Trial Edition
Version 0.5.1
- Behebt ein Problem beim Speichern von AIN-Dateien mit ASCII-inkompatiblen Kodierungen
Version 0.5.0
- !!! Unterbricht die Bytecode-Kompatibilität mit früheren Versionen!!!
-
--inline-strings
-Optionen aus aindump und ainedit entfernt - Zeichenfolgen sind jetzt in
S_PUSH
Anweisungen usw. eingebunden. - Ein paar weitere Bytecode-Makros hinzugefügt
Version 0.4.0
- Alice-ar-Tool zum Extrahieren von Archivdateien hinzugefügt
Version 0.3.0
- Unterstützt jetzt AIN-Dateien bis Version 14 (Evenicle 2, Haha Ranman)
- Verbesserte Kompatibilität mit Ex-Dateien, funktioniert jetzt mit Rance 03, Rance IX und Evenicle 2
- aindump gibt jetzt standardmäßig Makroanweisungen aus (erleichtert das Lesen des Bytecodes)
- Die meisten Fehlermeldungen enthalten mittlerweile Zeilennummern
Version 0.2.1
- Optionen
--input-encoding
und --output-encoding
hinzugefügt, um die Textkodierung von Eingabe- und Ausgabedateien zu steuern - Eine Option
--transcode
zu ainedit hinzugefügt, um die Textcodierung einer AIN-Datei zu ändern - Es wurde ein Problem behoben, bei dem die Option
--split
für exdump unter Windows verstümmelte Dateinamen erzeugte
Version 0.2.0
- Exdump- und Exbuild-Tools hinzugefügt
Version 0.1.1
- Es wurde ein Problem behoben, bei dem Nicht-ASCII-Zeichen mit
ainedit -t
nicht erneut eingefügt werden konnten
Version 0.1.0
- Erstveröffentlichung
- Unterstützt das Dumping/Bearbeiten von .ain-Dateien bis Version 12 (Rance X)