alice-outils
Il s'agit d'une collection d'outils de ligne de commande permettant d'afficher et d'éditer les formats de fichiers utilisés dans les jeux AliceSoft.
Bâtiment
Installez d'abord les dépendances (paquet Debian correspondant entre parenthèses) :
- bison (bison)
- fléchir (fléchir)
- méson (méson)
- libpng (libpng-dev)
- libturbojpeg (libturbojpeg0-dev)
- libwebp (libwebp-dev)
- zlib (zlib1g-dev)
Récupérez ensuite les sous-modules git,
git submodule init
git submodule update
(Vous pouvez également transmettre --recurse-submodules
lors du clonage de ce référentiel)
Construisez ensuite les outils avec méson,
mkdir build
meson build
ninja -C build
Fenêtres
alice-tools peut être construit sur Windows en utilisant MSYS2.
Installez d'abord MSYS2, puis ouvrez le shell MINGW64 et exécutez la commande suivante,
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
Pour construire l'interface graphique, vous devez également installer Qt :
pacman -S mingw-w64-x86_64-qt5
Construisez ensuite le(s) exécutable(s) avec meson,
mkdir build
meson build
ninja -C build
L'exécutable alice
(situé dans build/src/alice.exe
) doit être autonome et portable.
L'exécutable galice
nécessite que certains fichiers supplémentaires soient livrés avec lui en raison de Qt. Exécutez les commandes suivantes pour copier les fichiers requis pour Qt,
mkdir deploy
cp build/src/galice.exe deploy/
windeployqt deploy/galice.exe
À ce stade, certaines DLL manquent encore dans le répertoire deploy
. Vous pouvez exécuter la commande suivante pour déterminer les DLL requises,
ldd build/src/galice.exe | grep mingw64
Installation
De la source
Si vous avez suivi les instructions ci-dessus pour créer Alice-Tools à partir des sources, exécutez
pour l'installer.
Rien
alice-tools peut être installé via nix avec la commande suivante :
nix profile install git+https://github.com/nunuhara/alice-tools.git?submodules=1
Vous devez avoir activé les flocons (consultez la documentation nix pour savoir comment activer les flocons).
Fenêtres
Les versions Windows fournies sont portables, aucune installation n’est donc requise. Exécutez simplement l'exécutable fourni (alice.exe) à partir d'une invite de commande.
Usage
Tous les outils sont accessibles via l'exécutable unique alice
. L'exécution alice
ou de toute commande sans arguments imprimera les instructions d'utilisation pertinentes. Par exemple
alice
alice ain
alice ain dump
Les commandes actuellement implémentées sont :
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
Modification des fichiers .ain
Voir README-ain.md
Modification de fichiers .ex
Voir README-ex.md
Modification des fichiers .acx
Voir README-acx.md
Modification de fichiers .flat
Voir README-flat.md
Extraction des archives
Voir README-alice-ar.md
Projets de construction (.pje)
Voir README-project.md
Limitations/bugs connus
- aindump ne prend en charge que le dumping vers un seul fichier, qui peut être assez volumineux.
Code source
Le code source est disponible sur github.
Signaler des bogues
Vous pouvez signaler des bogues sur le système de suivi des problèmes sur github, me contacter par e-mail à [email protected] ou me trouver sur /haniho/.
Historique des versions
Version 0.13.0
- Ajoutez les commandes
asd dump
et asd build
pour l'édition des fichiers de sauvegarde - Implémenter correctement le packaging des archives afa version 1
- Correction d'un bug lorsque le même répertoire de sortie est répertorié plusieurs fois dans le manifeste d'archive
- Autoriser la spécification d'options dans le fichier manifeste (par exemple
#BATCHPACK --afa-version=1 --backslash
) - Améliorer la gestion des entrées de ligne de commande non-ASCII
- Correction d'un bug lors de l'utilisation de l'option
--split
pour ex dump
- Correction d'un bug affectant les fichiers d'archives d'Oyako Rankan
Version 0.12.1
- Résoudre les problèmes d'extraction des images .dcf et .pcf de Dohna Dohna
- Ajouter une option à
ain dump
pour vider les stubs HLL pour xsystem4
Version 0.12.0
- Ajoutez une visionneuse GUI ("Galice") pour les archives, les fichiers AIN, les fichiers EX, etc.
- Implémenter la prise en charge des archives AAR
- Implémenter une prise en charge appropriée des images DCF
- Implémenter la prise en charge des images PCF
- Ajouter la commande
cg thumbnail
pour miniaturer les formats d'image d'AliceSoft - Correction d'un problème qui empêchait l'ouverture des fichiers Healing Touch ain
- Diverses améliorations du compilateur
Version 0.11.1
- Implémenter la vérification de la taille des fichiers pour AinInput et PactInput dans les fichiers .pje
- Implémenter la prise en charge du modding des archives de pacte
- Résoudre les problèmes affectant les fichiers .flat
Version 0.11.0
- Ajoutez l'option
--function
à ain dump
pour vider une fonction spécifique uniquement - Ajouter une commande
ex edit
pour apporter des modifications incrémentielles aux fichiers .ex - Autoriser la liste des fichiers .txtex dans le cadre du processus de création .pje
- Autoriser la spécification de répertoires sources d'archives dans les fichiers .inc
- Autoriser les modèles de caractères génériques de répertoire (limités) dans les fichiers .inc
- Autoriser la spécification des fichiers source .jam dans les fichiers .inc
- Implémenter la fonctionnalité d'injection de bytecode pour les builds .pje
Version 0.10.2
- Correction d'un problème d'encodage lors de l'utilisation de chaînes entre guillemets dans les fichiers manifestes
Version 0.10.1
- Prise en charge de l'extraction des archives DLF et ALK
- Résoudre les problèmes avec les noms de fichiers japonais sous Windows
- Autoriser l'utilisation de chaînes entre guillemets dans les fichiers manifestes d'archive
- Diverses améliorations du compilateur .jaf
Version 0.10.0
- Ajouter le format manifeste "BATCHPACK" pour la commande
ar pack
- Supporte tous les fichiers v1 (Mamanyonyo)
- Ajouter des outils pour éditer les fichiers .flat (
flat extract
et flat build
) - Prise en charge du remplacement de la fonction bytecode (.jam) via les fichiers de projet .pje
- Prise en charge de la création d'archives et de fichiers .ex via les fichiers de projet .pje
- Ajouter une commande
project build
pour créer des fichiers .pje (remplace ain edit -p
) - Ajouter la commande
cg convert
pour la conversion entre les types CG - Diverses améliorations du compilateur (encore expérimental) .jaf
Version 0.9.1
- Correction d'un problème d'encodage lors de l'utilisation de la commande
ar pack
sous Windows
Version 0.9.0
- Changer le nom de chacune des instructions/types v12+ pour mieux refléter leur sémantique
- Implémenter différentes versions v14+ de diverses macros
- Vider automatiquement les fichiers .ex/.pactex lors de l'extraction des archives
- La table des matières d'une archive peut désormais être remplacée lors de l'extraction
- La commande ain edit traite désormais les fichiers dans l'ordre indiqué sur la ligne de commande
- La commande ain edit accepte désormais une option --jam pour corriger la section de code
- De nombreuses améliorations/correctifs du compilateur (expérimental) .jaf
- Diverses corrections de bugs
Version 0.8.0
- Ajouter la commande
ar pack
pour créer des archives AFAv2 - Résoudre les problèmes avec les fichiers ALD sous Windows
- Prise en charge de la table de chaînes d'indexation par valeur lors de l'utilisation de la commande
ain edit -t
Version 0.7.0
- Combinez toutes les commandes dans le binaire unique « Alice »
- Correction d'un problème avec le fichier .ain de la version d'essai de Dohna Dohna
- Correction d'un problème avec les caractères de retour chariot non échappés dans la sortie
- Améliorer les messages d'erreur
Version 0.6.0
- Ajoutez les outils acxdump/acxbuild pour éditer les fichiers .acx
- Prise en charge de l'extraction de fichiers .ogg des archives afa v3
- Correction d'un crash lors de l'extraction de l'archive CG de la version MangaGamer de Sengoku Rance
- Prise en charge du dumping/édition des fichiers .ain pour Hentai Labyrinth et Evenicle 2 Clinical Trial Edition
Version 0.5.1
- Résout un problème lors du dumping de fichiers avec des encodages incompatibles avec ASCII.
Version 0.5.0
- !!! Rompt la compatibilité du bytecode avec les versions précédentes !!!
- Suppression des options
--inline-strings
de aindump et ainedit - Les chaînes sont désormais intégrées dans les instructions
S_PUSH
, etc. - Ajout de quelques macros de bytecode supplémentaires
Version 0.4.0
- Ajout de l'outil Alice-ar pour extraire les fichiers d'archives
Version 0.3.0
- Prend désormais en charge tous les fichiers jusqu'à la version 14 (Evenicle 2, Haha Ranman)
- Compatibilité améliorée des fichiers ex, fonctionne désormais avec Rance 03, Rance IX et Evenicle 2
- aindump émet désormais des instructions de macro par défaut (rend le bytecode plus facile à lire)
- La plupart des messages d'erreur incluent désormais des numéros de ligne
Version 0.2.1
- Ajout des options
--input-encoding
et --output-encoding
pour contrôler l'encodage du texte des fichiers d'entrée et de sortie. - Ajout d'une option
--transcode
à ainedit pour modifier l'encodage du texte d'un fichier ain - Correction d'un problème où l'option
--split
pour exdump produisait des noms de fichiers tronqués sous Windows
Version 0.2.0
- Ajout des outils exdump et exbuild
Version 0.1.1
- Correction d'un problème où les caractères non-ASCII ne pouvaient pas être réinsérés à l'aide
ainedit -t
Version 0.1.0
- Version initiale
- Prend en charge le dumping/édition de fichiers .ain jusqu'à la version 12 (Rance X)