ferramentas de alice
Esta é uma coleção de ferramentas de linha de comando para visualizar e editar formatos de arquivo usados em jogos AliceSoft.
Prédio
Primeiro instale as dependências (pacote Debian correspondente entre parênteses):
- bisão (bisão)
- flexionar (flexionar)
- méson (méson)
- libpng (libpng-dev)
- libturbojpeg (libturbojpeg0-dev)
- libwebp (libwebp-dev)
- zlib (zlib1g-dev)
Em seguida, busque os submódulos git,
git submodule init
git submodule update
(Como alternativa, passe --recurse-submodules
ao clonar este repositório)
Em seguida, construa as ferramentas com méson,
mkdir build
meson build
ninja -C build
Windows
alice-tools pode ser construído no Windows usando MSYS2.
Primeiro instale o MSYS2, abra o shell MINGW64 e execute o seguinte comando,
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
Para construir a GUI, você também deve instalar o Qt:
pacman -S mingw-w64-x86_64-qt5
Em seguida, construa o(s) executável(s) com meson,
mkdir build
meson build
ninja -C build
O executável alice
(localizado em build/src/alice.exe
) deve ser independente e portátil.
O executável galice
requer que alguns arquivos extras sejam enviados com ele devido ao Qt. Execute os seguintes comandos para copiar os arquivos necessários para Qt,
mkdir deploy
cp build/src/galice.exe deploy/
windeployqt deploy/galice.exe
Neste ponto, ainda faltam algumas DLLs no diretório deploy
. Você pode executar o seguinte comando para determinar as DLLs necessárias,
ldd build/src/galice.exe | grep mingw64
Instalação
Da fonte
Se você seguiu as instruções acima para construir o alice-tools a partir do código-fonte, execute
para instalá-lo.
Nix
alice-tools pode ser instalado via nix com o seguinte comando:
nix profile install git+https://github.com/nunuhara/alice-tools.git?submodules=1
Você deve ter os flakes habilitados (consulte a documentação do nix para saber como habilitar os flakes).
Windows
As compilações do Windows fornecidas são portáteis, portanto, nenhuma instalação é necessária. Basta executar o executável fornecido (alice.exe) em um prompt de comando.
Uso
Todas as ferramentas são acessadas através do único executável alice
. Executar alice
ou qualquer comando sem argumentos imprimirá as instruções de uso relevantes. Por exemplo
alice
alice ain
alice ain dump
Os comandos atualmente implementados são:
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
Editando arquivos .ain
Veja README-ain.md
Editando arquivos .ex
Veja README-ex.md
Editando arquivos .acx
Consulte README-acx.md
Editando arquivos .flat
Veja README-flat.md
Extraindo arquivos
Veja README-alice-ar.md
Projetos de construção (.pje)
Consulte README-project.md
Limitações/bugs conhecidos
- aindump suporta apenas o despejo em um único arquivo, que pode ser bem grande.
Código Fonte
O código fonte está disponível no github.
Relatando erros
Você pode relatar bugs no rastreador de problemas no github, entrar em contato comigo por e-mail em [email protected] ou encontrar-me em /haniho/.
Histórico de versões
Versão 0.13.0
- Adicione comandos
asd dump
e asd build
para salvar edição de arquivo - Implementar corretamente o empacotamento dos arquivos afa versão 1
- Corrigido bug quando o mesmo diretório de saída é listado várias vezes no manifesto do arquivo
- Permitir a especificação de opções no arquivo de manifesto (por exemplo,
#BATCHPACK --afa-version=1 --backslash
) - Melhore o tratamento de entradas de linha de comando não ASCII
- Corrigido um bug ao usar a opção
--split
para ex dump
- Correção de bug que afeta os arquivos Oyako Rankan
Versão 0.12.1
- Corrigir problemas com a extração de imagens .dcf e .pcf de Dohna Dohna
- Adicionada opção ao
ain dump
para despejar stubs HLL para xsystem4
Versão 0.12.0
- Adicione o visualizador GUI ("galice") para arquivos, arquivos ain, arquivos ex e muito mais
- Implementar suporte para arquivos AAR
- Implementar suporte adequado à imagem DCF
- Implementar suporte de imagem PCF
- Adicionado comando
cg thumbnail
para miniaturas dos formatos de imagem da AliceSoft - Correção do problema que impedia a abertura de arquivos Healing Touch ain
- Várias melhorias no compilador
Versão 0.11.1
- Implementar verificação de tamanho de arquivo para AinInput e PactInput em arquivos .pje
- Implementar suporte para modding de arquivo de pacto
- Corrigir problemas que afetam arquivos .flat
Versão 0.11.0
- Adicionada opção
--function
ao ain dump
para despejar apenas uma função específica - Adicionar comando
ex edit
para fazer edições incrementais em arquivos .ex - Permitir listar arquivos .txtex como parte do processo de construção .pje
- Permitir a especificação de diretórios de origem de arquivo em arquivos .inc
- Permitir padrões curinga de diretório (limitados) em arquivos .inc
- Permitir a especificação de arquivos de origem .jam em arquivos .inc
- Implementar recurso de injeção de bytecode para compilações .pje
Versão 0.10.2
- Corrigir problema de codificação ao usar strings entre aspas em arquivos de manifesto
Versão 0.10.1
- Suporte à extração de arquivos DLF e ALK
- Corrija problemas com nomes de arquivos em japonês no Windows
- Permitir o uso de strings entre aspas em arquivos de manifesto
- Várias melhorias no compilador .jaf
Versão 0.10.0
- Adicionar formato de manifesto "BATCHPACK" para o comando
ar pack
- Suporta arquivos ain v1 (Mamanyonyo)
- Adicionar ferramentas para edição de arquivos .flat (
flat extract
e flat build
) - Suporta substituição de função de bytecode (.jam) por meio de arquivos de projeto .pje
- Suporte à construção de arquivos e arquivos .ex por meio de arquivos de projeto .pje
- Adicionar comando
project build
para construir arquivos .pje (substitui ain edit -p
) - Adicionado comando
cg convert
para conversão entre tipos de CG - Várias melhorias no compilador .jaf (ainda experimental)
Versão 0.9.1
- Corrigir problema de codificação ao usar o comando
ar pack
no Windows
Versão 0.9.0
- Alterar a nomenclatura de instruções/tipos ain v12+ para refletir melhor sua semântica
- Implementar versões v14+ de várias macros
- Despejar automaticamente arquivos .ex/.pactex ao extrair arquivos
- O índice de um arquivo agora pode ser substituído ao extrair
- O comando ain edit agora processa arquivos na ordem indicada na linha de comando
- O comando ain edit agora aceita uma opção --jam para corrigir a seção de código
- Muitas melhorias/correções no compilador .jaf (experimental)
- Várias correções de bugs
Versão 0.8.0
- Adicionar comando
ar pack
para criar arquivos AFAv2 - Corrija problemas com arquivos ALD no Windows
- Suporta indexação de tabela de strings por valor ao usar o comando
ain edit -t
Versão 0.7.0
- Combine todos os comandos no único binário 'alice'
- Corrigir problema com o arquivo .ain da versão de teste Dohna Dohna
- Corrigir problema com caracteres de retorno de carro sem escape na saída
- Melhorar mensagens de erro
Versão 0.6.0
- Adicione ferramentas acxdump/acxbuild para edição de arquivos .acx
- Suporte à extração de arquivos .ogg de arquivos afa v3
- Corrigida falha ao extrair arquivo CG da versão MangaGamer do Sengoku Rance
- Suporte para despejo/edição de arquivos .ain para Hentai Labyrinth e Evenicle 2 Clinical Trial Edition
Versão 0.5.1
- Corrige problema ao despejar arquivos ain com codificações incompatíveis com ASCII
Versão 0.5.0
- !!! Quebra a compatibilidade de bytecode com versões anteriores!!!
- Removidas opções
--inline-strings
de aindump e ainedit - As strings agora estão embutidas nas instruções
S_PUSH
, etc. - Adicionadas mais algumas macros de bytecode
Versão 0.4.0
- Adicionada ferramenta alice-ar para extrair arquivos compactados
Versão 0.3.0
- Agora suporta todos os arquivos até a versão 14 (Evenicle 2, Haha Ranman)
- Compatibilidade de arquivo ex aprimorada, agora funciona com Rance 03, Rance IX e Evenicle 2
- aindump agora emite instruções de macro por padrão (torna o bytecode mais fácil de ler)
- A maioria das mensagens de erro agora inclui números de linha
Versão 0.2.1
- Adicionadas opções
--input-encoding
e --output-encoding
para controlar a codificação de texto de arquivos de entrada e saída - Adicionada uma opção
--transcode
ao ainedit para alterar a codificação de texto de um arquivo ain - Corrigido um problema em que a opção
--split
para exdump produzia nomes de arquivos distorcidos no Windows
Versão 0.2.0
- Adicionadas ferramentas exdump e exbuild
Versão 0.1.1
- Corrigido um problema em que caracteres não ASCII não podiam ser reinseridos usando
ainedit -t
Versão 0.1.0
- Lançamento inicial
- Suporta despejo/edição de arquivos .ain até a versão 12 (Rance X)