Underalemodtool
(Ver uma ferramenta tão incrível enche você de determinação.)
Heya. Ouvi você gostar de se aprofundar em jogos de gamemaker como Undertale/Deltarune, então aqui está uma ferramenta apenas para você!

Downloads
A versão estável mais recente e a versão mais de ponta podem ser baixadas da tabela abaixo! Observe que você pode atualizar para as versões de borda sangrenta a qualquer momento no menu Configurações do UnderalEmodTool.
| Lançamentos | Status |
|---|
| Estável | |
| Borda sangrando | |
Vale a pena notar que o UnderalEmodTool tem diferentes construções por lançamento. As diferenças são as seguintes:
-
.NET bundled - Pacotes a versão necessária do tempo de execução .NET necessária para executar a ferramenta ao lado dela. Todos os lançamentos estáveis são .NET Pacacotados, para que você não precise se preocupar em instalar o tempo de execução necessário. -
Single file - A ferramenta é apenas um executável, com todas as dependências incorporadas nele. Isso torna suas pastas mais limpas, no entanto, também causa alguns problemas de estabilidade inesperados. -
Non-single File - Todas as dependências não estão incorporadas no executável, mas agora estão localizadas ao lado dele. Escolha isso se você não se importa em encontrar o executável correto entre ~ 300 DLLs ou se os problemas de estabilidade da construção Single file o afetarem.
Principais características
- Pode ler todos os bytes do arquivo de dados para a versão mais recente de Undertale, Deltarune e a maioria dos outros jogos de jogadores: jogos de estúdio (GM: S 1.4 e GMS2 Bytecode Versões 13 a 17 são suportadas no momento) para todas as plataformas e depois recriar uma cópia exata de byte para byte dos dados decodificados.
- Lida adequadamente com todos os ponteiros do arquivo para que, se você adicionar/remover coisas, torne as coisas mais longas/mais curtas, mova -as etc. O formato do arquivo não quebre.
- Um editor que permite mudar (quase) todos os valores, incluindo os desconhecidos.
- Inclui um editor de quarto/nível simples.
- Permite desmontagem e edição de código. Isso significa que você pode adicionar qualquer código personalizado ao jogo, usando o compilador GML interno ou o conjunto GML.
- Descompilador experimental de alto nível. A saída é precisa (exceto as mais recentes versões de jogadores), mas pode usar mais uma limpeza das estruturas de alto nível.
- Suporte para scripts em execução que modificam automaticamente seu arquivo de dados (ou executam outras tarefas nefastas) - é a maneira de distribuir mods, mas criá -los é um trabalho manual por enquanto. Ele também serve como um substituto para compartilhar compensações de editor hexadecimal-se você o transformar em um script com reconhecimento de arquivo, há uma mudança muito menor nele quebrando após uma atualização.
- Toda a funcionalidade central de IO extraída em uma biblioteca para uso em ferramentas externas.
- Pode gerar um arquivo .ydebug para o depurador GM: S para que você possa editar variáveis ao vivo! (Veja aqui)
- Associações automáticas de arquivos para todos os arquivos relacionados ao Gamemaker. Isso pode ser desativado com um arquivo de
dna.txt ao lado do executável.
Capturas de tela
Aqui estão algumas capturas de tela do que o UTMT pode fazer:
Ribbit - o mod deLtarune

Scripts incluídos
Estão incluídos alguns scripts de teste. Eles estão, mas não limitados a:
- Universal:
- Pesquisa: Pesquisa simples de texto em entradas de código decompilado
- Scripts para importar em lote e exportar vários tipos de arquivos de ativos.
- Somente Undertale:
- Enabledebug: faz exatamente isso, torna a variável global 'Debug' ativada no início do jogo. Se você não conhece o modo de depuração de Undertale, confira esta redação do modo de depuração de Undertale
- DebugToggler: semelhante ao acima, mas, em vez disso, atende o modo de depuração e desativado com F1
- Bordenabler: permite importar as fronteiras exclusivas do PlayStation para a versão para PC e corrigir todas as verificações de versão para que elas sejam exibidas corretamente
- TTFFONTS: faz com que as fontes de carga do jogo no formato TTF do diretório atual, em vez de usar as fontes da folha de sprite. Você precisará rastrear todos os arquivos da fonte, não posso hospedá -los aqui por razões de licenciamento :(
- RoomofDeterminação: adiciona uma nova sala ao Undertale 1.08. Eu queria adicionar algo mais a isso, mas nunca cheguei a isso, então acho que estou lançando como está. Basta começar o jogo e você verá. Provavelmente a amostra mais completa de adicionar coisas que você encontrará.
- Somente Deltarune:
- Deltahate: Script inspirado no ódio para corromper Deltarune
- Deltamilk: Substitui cada sprite que não seja de background pelo leite de cura K. Round. Não pergunte o porquê.
- TheWholeWorldRevolving: o mundo está girando, girando
- Apenas Undertale e Deltarune:
- Gotoroom: substitui a funcionalidade do modo de depuração do botão F3 por uma caixa de diálogo que permite pular para qualquer sala por id
- ShowroomName: exibe o nome da sala atual e o ID na tela no modo de depuração
Além disso, estão incluídos alguns scripts criados pela comunidade. Para mais informações, consulte o arquivo scripts.md.
Contribuindo
Todas as contribuições são bem -vindas! Se você encontrar um bug, um arquivo de dados que não carrega etc., relate -o na página de problemas. Puxe solicitações e ajuda na decodificação do formato também é bem -vindo! Aqui está uma lista atual de coisas que precisam ser trabalhadas:
- Trabalhe no sistema de perfil
- Melhorias do decompilador
- Adicione suporte para versões mais recentes do GameMaker (principalmente 2.3) - O decompilador não pode funcionar na maioria dos casos atualmente
- Eventualmente, tornando a plataforma cruzada da GUI, se possível
Instruções de compilação
Para compilar o repo, é necessário o .NET Core 6 SDK ou posterior.
Os seguintes projetos podem ser compilados:
-
UndertaleModLib : A biblioteca principal usada por todos os outros projetos. -
UndertaleModCli : uma interface da linha de comando para interagir com arquivos de dados do Gamemaker e aplicar scripts. Atualmente é muito primitivo no que pode fazer. -
UndertaleModTool : a principal interface gráfica do usuário para interagir com os arquivos de dados do Gamemaker. O Windows é necessário para compilar isso .
Compilando via IDE
- Abra o
UndertaleModTool.sln no IDE de sua escolha (Visual Studio, JetBrains Rider, Código do Visual Studio etc.) - Selecione o projeto que deseja compilar
- Compilar
Compilando via linha de comando
- Abra um terminal e navegue até o Diretório de
UndertaleModTool.sln - Execute
dotnet publish <Project> Where <Project> é um dos projetos listados acima. Você também pode fornecer argumentos para a compilação, como --no-self-contained -c release . Para uma lista completa de argumentos, consulte a documentação da Microsoft.
Formato de arquivo de dados de gamemaker
Interessado na pesquisa de arquivo e formato de instrução que fiz enquanto trabalhava nisso? Confira o wiki para obter detalhes e documentação completos.
Obrigado especial
Agradecimentos especiais a todos que fizeram pesquisas anteriores sobre descompactar e descompilar Undertale, foi uma ajuda muito grande:
- Pesquisa de descompilação de Ulyssis em Undertale
- DataMaker Data.win Bytecode Research.
- Altar.net de Porocyon
- GMDSAM de Warlockd
bem como todos os outros colaboradores:
E, claro, agradecimentos especiais a Toby Fox e a toda a equipe da Undertale por fazer o (s) jogo (s);)