O domínio da humanidade sobre magia negra e tecnologia progrediu a um ponto perigoso, evidenciado pelo mod do Doom modder kgsws que permite que você execute Chocolate Doom , uma porta de origem do Doom , dentro da versão DOS do Doom . Temo que coisas assim só nos aproximem de produzir nossos próprios portais do Inferno em Marte. Hackaday foi o primeiro a cobrir o mod .
Doom foi portado para quase tudo , desde caminhões, torradeiras, até, sim, outras versões modificadas de Doom , agora, nem mesmo o jogo original está a salvo de si mesmo. O Doom original foi codificado por várias pessoas, o que leva a uma série de redundâncias e escolhas inexplicáveis em torno de objetos de desova. Há, por exemplo, uma parte de Doom's código que gera um jogador. Ao fazer isso, ele armazena sua localização em um índice equivalente ao número em seu nome menos um, de modo que a localização do jogador um é armazenada no Índice 0. A localização do jogador zero seria armazenada no Índice -1, que por acaso é usado para definir o estado das coisas no jogo - isso permite que você sobrescreva o que deveria estar na memória do jogo para um determinado objeto.
Essa manipulação de memória permite alterar o estado de um objeto, que governa as coisas desde a aparência até, ocasionalmente e de forma inconsistente, a função. Os estados são usados principalmente para animar sprites, mas alguns estados têm uma ação associada, como encontrar e executar uma parte específica do código do jogo - isso inclui outros executáveis. Por exemplo, o State 347 executa o código que faz um Revenant (que está listado apenas como “SKEL” na lista de sprites) gritar. Isso acontece antes de qualquer outra parte do estado, então se você tem uma ação que nunca termina, nada mais sobre o estado realmente importa. Esta exploração permite que o Doom execute outros executáveis, incluindo outras versões do Doom como Chocolate Doom. Alternativamente, ele permite que você injete outros pedaços de código, como a capacidade de mirar com o mouse, diretamente no jogo.
Se você quiser fazer isso, você pode obter o código e as instruções no github do kgsws .
0 Comentários