Skip to content

About

Universal RPG Maker Save Editor with Modern CustomTkinter GUI, Rich TUI, and multi-engine support

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

GitHub Stars GitHub Forks Watchers Contributors License


Python Linux Windows

Save Maker

Editor e conversor universal de saves para jogos de RPG Maker e correlatos com GUI e TUI interativa.

Português  •  English

📖 Sobre

O Save Maker é um editor e conversor universal, moderno e de alto desempenho para arquivos de save de jogos desenvolvidos em RPG Maker e motores correlatos. Ele foi projetado para permitir a visualização, modificação e recuperação de saves tanto através de uma Interface Gráfica Moderna (GUI) construída com CustomTkinter quanto por uma Interface Interativa no Terminal (TUI) desenvolvida com Rich, além de utilitários de linha de comando para exportação e importação direta.

🎮 Motores e Formatos Suportados

Motor / Formato Extensões Nível de Suporte Status de Verificação
RPG Maker MV .rpgsave Suporte Completo ✅ Verificado com saves reais e fixtures de banco de dados (Classes.json curvas de atributos, wrappers @a de arrays do JsonEx, compressões LZString/None/Zlib/Gzip).
RPG Maker MZ .rmmzsave Suportado ✅ Verificado para compressões zlib, zlib-utf8 (pako) e LZString.
RPG Maker VX Ace / VX / XP .rvdata2, .rvdata, .rxdata Suportado ✅ Preservação da stream multi-objeto Ruby Marshal 4.8 via marshal_io.py.
RPG Maker 2000 / 2003 .lsd Básico / Experimental ⚠️ Suporte a chunk 0x6D (SaveInventory ouro e itens) em formato binário LcfSaveData.
Generic JSON / Web Saves .json, .sav, .dat, .txt Suportado ✅ Parsing e manipulação de saves estruturados em JSON ou texto codificado.
Wolf RPG Editor / ウディタ .sav Experimental ⚠️ Suporte experimental para decodificação e edição básica. Nomes de itens, armas e armaduras vêm de Data/BasicData/DataBase.dat; se o pareamento automático errar, crie wolf_name_map.json (ex.: {"7": 2, "8": 3, "9": 4}, tipo do save → tipo do DataBase) na pasta do save.

Recursos Principais

  • Interface Gráfica Moderna (GUI):
    • Desenvolvida com CustomTkinter com suporte completo a temas Dark e Light.
    • Drag & Drop nativo de arquivos de save.
    • Abas especializadas para Visão Geral, Inventário, Grupo / Heróis, Switches & Variáveis, Cheats Rápidos e Árvore JSON Raw.
    • Arquitetura de performance responsiva: ttk.Treeview com renderização lazy de abas (renderiza apenas ao alternar), paginação na árvore JSON (200 itens por lote sob demanda) e operações de I/O em thread de segundo plano (background thread) para interface suave e não-bloqueante.
  • Autodescoberta Inteligente de Banco de Dados:
    • Identifica automaticamente pastas de dados do jogo (data/, Data/, www/data/) e correlaciona IDs numéricos com os nomes reais de itens, armas, armaduras, heróis, switches e variáveis.
  • CLI / TUI Interativa:
    • Menus visuais e coloridos diretamente no terminal via Rich, com fallback automático para conexões SSH e ambientes headless.
  • Linha de Comando:
    • Conversão direta ou em lote entre arquivos de save de RPG Maker e JSON legível (export e import).
  • Integração Nativa com o Desktop Linux:
    • Menus de contexto no botão direito para gerenciadores de arquivos (Nautilus, Nemo, Dolphin) e atalhos de terminal globais (save-maker, savemaker, rse, etc.).

📋 Motivo

Apenas uma ferramenta para editar saves quando jogos bugam.

💻 Como iniciar

Requisitos

  • Python 3.10+
  • Git
  • Tkinter / python3-tk (necessário para execução da GUI no Linux: sudo apt install python3-tk ou equivalente da sua distribuição)
  • GNU Make (opcional, para execução simplificada dos comandos via Makefile)

Instalação

  1. Clone o repositório do projeto:
git clone https://github.com/bgluis/save-maker.git
  1. Navegue até o diretório do projeto:
cd save-maker
  1. Configure o ambiente virtual e instale as dependências através de um dos métodos abaixo:

Método 1: Automático via Makefile (Recomendado)

make venv

Método 2: Manual via Python venv

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Como Usar

  • Interface Gráfica Moderna (GUI):

    # Iniciar a GUI padrão
    make gui
    # Ou diretamente via Python:
    ./.venv/bin/python main.py
    
    # Abrir diretamente um arquivo de save na GUI:
    ./.venv/bin/python main.py /caminho/para/o/save/file1.rpgsave
  • Interface Interativa no Terminal (CLI / TUI):

    # Iniciar no modo interativo
    make run
    # Ou diretamente via Python:
    ./.venv/bin/python main.py --interactive
  • Exportação e Importação Direta (Linha de Comando):

    # Exportar save suportado para JSON legível
    ./.venv/bin/python main.py export save/file1.rpgsave save1.json
    
    # Importar JSON de volta para o formato de save do jogo
    ./.venv/bin/python main.py import save1.json save/file1_editado.rpgsave
  • Integração Global no Desktop Linux (Atalhos & Botão Direito):

    # Instala atalhos de terminal e ações de contexto no Nautilus, Nemo e Dolphin
    make install
  • Executar Testes Automatizados:

    make test
    # Ou diretamente via pytest:
    ./.venv/bin/python -m pytest -v

💻 Como iniciar no Windows

Requisitos

Instalação

  1. Clone o repositório:
git clone https://github.com/bgluis/save-maker.git
cd save-maker
  1. Crie o ambiente virtual e instale as dependências:
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
  1. (Opcional) Instalação global com atalhos no terminal:
powershell -ExecutionPolicy Bypass -File scripts\install_windows.ps1

Como Usar no Windows

  • Interface Gráfica Moderna (GUI):

    .\.venv\Scripts\python.exe main.py
  • Interface Interativa no Terminal (CLI / TUI):

    .\.venv\Scripts\python.exe main.py --interactive
  • Exportação e Importação Direta:

    .\.venv\Scripts\python.exe main.py export save\file1.rpgsave save1.json
    .\.venv\Scripts\python.exe main.py import save1.json save\file1_editado.rpgsave

Nota sobre terminal: Para melhor experiência com a CLI/TUI (cores e Unicode), use o Windows Terminal ou PowerShell 7+. No CMD legado, execute chcp 65001 antes de iniciar.

🤝 Contribuidores

About

Universal RPG Maker Save Editor with Modern CustomTkinter GUI, Rich TUI, and multi-engine support

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages