Importante
O desenvolvimento no Mod Engine 2 foi descontinuado. Qualquer trabalho futuro será feito em mim3.
Mod Engine 2 é uma reescrita do Mod Engine, uma biblioteca de correção e injeção de código de tempo de execução usada para adicionar funcionalidade de modding aos jogos Souls da FROM Software.
Comece
Jogos suportados
Diferenças
Características
Baixe a versão mais recente.
Crie uma pasta na pasta mod, recomendo o nome do mod para maior clareza.
Descompacte o mod na pasta recém-criada.
Edite o config_eldenring.toml
(ou o jogo de sua preferência) para incluir a pasta que você acabou de criar.
mods = [ { ativado = verdadeiro, nome = "BetterAshes", caminho = "modashes" }, { ativado = verdadeiro, nome = "CleversMoveset", caminho = "modmoveset" }, { ativado = falso, nome = "EnemyRandomizer", caminho = "modrandomizer" }, ]
Veja a lista abaixo para obter informações sobre jogos que atualmente têm suporte no Mod Engine 2.
Almas Negras 3
Anel Elden
Dark Souls 2: SOTF
Almas Negras Remasterizadas
Sekiro: As sombras morrem duas vezes
Transmitido pelo sangue
Existem algumas grandes diferenças de arquitetura entre o Mod Engine legado e a nova versão, a maior parte delas está em 1) o formato de configuração e 2) como carregamos o ModEngine no jogo. Mais detalhes sobre essas diferenças estão listados abaixo.
O antigo formato .ini
desapareceu, sendo substituído por um novo arquivo de configuração estruturado baseado em TOML. Esta mudança é para se adequar ao novo modelo de extensão do Mod Engine, permitindo que os plugins especifiquem seus próprios requisitos de configuração.
Isso é usado pelo plugin mod loader para especificar listas de mods que devem ser carregados e se devem ser habilitados ou não. Pode ser estendido no futuro para suportar um "Mod Manifest", que conteria informações adicionais como site, versão, autores, etc.
dinput8.dll
é opcional Com a introdução de um inicializador, não precisamos mais depender do carregamento de jogos via dinput8.dll
e podemos, em vez disso, iniciar o jogo pré-configurado. Isso libera este módulo para qualquer outra coisa que dependa de sideload.
Várias raízes de jogo podem ser especificadas na configuração, permitindo que os usuários executem vários mods simultaneamente sem substituir manualmente os arquivos em sua pasta de mod. Observe, entretanto, que isso ainda está restrito a mods que não substituem arquivos conflitantes.
O principal motivador por trás do desenvolvimento do Mod Engine 2 é a criação de uma ferramenta que pode ser usada para reverter rapidamente os jogos nos quais estamos interessados. Para esse fim, oferecemos funcionalidades para facilitar o processo de reversão:
Integração com Optick Profiler
Script de tempo de execução e correção de código ao vivo
Crash dumps para todos os usuários
O Mod Engine 2 cobre todas as funcionalidades existentes do Mod Engine original para Dark Souls, mas introduz alguns novos recursos importantes que os autores do mod devem conhecer.
Criamos um aplicativo inicializador projetado para inicializar jogos com seus mods pré-instalados, sem que o usuário precise fazer qualquer cópia manual de arquivos. Historicamente, os mods residiam no mesmo local da pasta do jogo e o Mod Engine tentaria redirecionar solicitações de arquivos do jogo para caminhos de arquivos mod dentro de subdiretórios desta pasta do jogo. Este modelo de implantação era inflexível e exigia muitos ajustes manuais se um usuário quisesse ter vários mods instalados, alternando entre eles conforme sua escolha.
Para resolver este problema foi criado modengine2_launcher
. Este aplicativo simples de linha de comando tem três objetivos principais.
Descubra onde um usuário instalou o jogo
Inicie o jogo com modengine2.dll já carregado
Passe informações para modengine2.dll sobre a configuração com a qual o usuário iniciou o jogo
Isso nos permite manter os mods, o modengine e o próprio jogo completamente separados. Como resultado, executar o jogo diretamente do Steam sempre resultará no lançamento de uma instância vanilla.
O Mod Engine 2 introduz suporte para extensões e plug-ins que são projetados para substituir o antigo mecanismo de carregamento em cadeia do Mod Engine legado. As extensões são capazes de usar funcionalidades básicas para registrar patches, ganchos de código e interagir com outras extensões. Eventualmente, isso será estendido para suportar scripts Lua em tempo de execução no futuro.
ScyllaHide está incluído nas distribuições do Mod Engine 2 e permite depurar jogos por meio de depuradores nativos sem se preocupar em escapar de técnicas anti-depuração usando programas como o Cheat Engine. Em vez disso, você pode usar seu depurador favorito (WinDbg, x64dbg ou mesmo Cheat Engine sem depender do suporte VEH).
WIP