the cutting room mirror

pt-br

UNDERTALE is the indie RPG where no one has to die.

UNDERTALE é um RPG indie onde ninguém precisa morrer. Inspirado por jogos como a série de jogos EarthBound, particularmente Mother 3, Yume Nikki, e Cave Story, ele foi aclamado pela crítica pelos seus personagens interessantes, trilha sonora interconectada e subversão dos clichês de RPGs tradicionais. Sendo uma criação de um dos compositores de Homestuck, o jogo foi financiado de maneira coletiva e apoiado pela fanbase descendente daquela história em quadrinhos - especialmente porque Homestuck estava em um hiato durante esse período. Durante um certo tempo, foi difícil evitar esse jogo.

Modo de DepuraçãoInfelizmente, não há insetos a serem encontrados nesse modo. Gráficos Não UtilizadosTem tantos cachorros nesse jogo! Tem até cachorros NÃO UTILIZADOS! Salas Não UtilizadasDe pedestais de doces a NPCs tagarelas. Texto Não UtilizadoI WAS NEVER ONE TO BEPIS. Mudança entre versõesAs muitas possibilidades alternativas que um pacifista ou um assasino podem fazer.

Mensagens do Desenvolvedor#

Aviso de "Não extraia sprites!"#

Versão 1.00#

Please don't upload these huge sprite sheets online. 
Just because most weird things here ARE used, I'd rather them be seen in context first. 
wait like a year 1st...
if you're just ripping normally seen sprites for spriter's resource or smth idc if you use these 2 make it easier tho
Por favor não faça upload dessas sprite sheets gigantes. 
Só porque a maioria das coisas esquisitas aqui SÃO usadas, eu preferiria que elas fossem vistas em contexto primeiro. 
espera tipo um ano primeiro...
mas se você está só pegando as sprites vistas normalmente pro spriters resource ou uma coisa assim eu não ligo se você usar elas pra deixar seu trabalho mais fácil

abc_1111 contém uma nota grosseiramente escrita destinada à sprite rippers, especificamente aos do site Spriter's Resource, pedindo para que eles esperem um ano antes de fazer o upload das sheets online.

Jogos feitos com o Game Maker, como Undertale, armazenam todos os seus sprites em grandes spritesheets, ao invés de cada sprite ou personagem ser armazenado em um arquivo individual. Então se alguém fizesse o upload dessas spritesheets, a coisa mais fácil a se fazer seria fazer o upload das sheets sem modificá-las... o que deixaria sprites "spoilerentos" na sheet.

O nome de arquivo estranho foi escolhido para forçá-lo ao topo de uma lista de arquivos organizada em ordem alfabética, tornando sua presença mais óbvia... o que não ajuda em nada, já que a lista de arquivos só é visível se os sprites forem separados pelos seus nomes internos. Opa. Isso foi trocado em versões posteriores.

Versão 1.001#

 
você sabe o que eu
    ODEIO?

é
   bepis

O GOSTO
   o cheiro
      a textura

ei...
      você tá
          babando...

Versão 1.001 substitui o pedido de "nada de spritesheets" com essa nota vagamente erótica sobre "bepis" que é uma referência à um homem em Moonside, de EarthBound que odeia a comida que o jogador gosta. Toby Fox é um fã de EarthBound, e Undertale foi fortemente inspirado pelo jogo. Bepis é um trocadilho bobo com a palavra "Pepsi", além de ser uma palavra que os desenvolvedores acham boba.

A falta de qualquer real significado desse texto e o fato de que ele substitui o pedido anterior pode ser tido como permissão para se postar as spritesheets, como suportado por esse e-mail desesperançoso.

Aviso de "Não dê spoilers sobre o jogo!"#

abc_123_a.ogg

Texto original

Hello. He-he-he-he-have some respect and don't spoil the game. It's impossible to have mysteries nowadays, because of nosy people like you. Please keep all of this between us. If you post it online, I won't make any more secrets. No one will be impressed. It will be your fault! He-he-he-he-ha-he-he-ha-he-he.

Tradução

Olá. Te-te-te-te-tenha um pouco de respeito e não dê spoilers sobre o jogo. É impossível ter mistérios hoje em dia, por causa de pessoas enxeridas como você. Por favor mantenha tudo isso entre nós. Se você postar isso online, eu não vou fazer mais nenhum segredo. Ninguém vai ficar impressionado. Vai ser tudo sua culpa! He-he-he-he-ha-he-he-ha-he-he.

Isso é um arquivo de som de oito vozes text-to-speech pedindo para que as pessoas não postem os segredos do jogo online. Quem em sã consciência faria algo assi— espera um minuto...

O nome de arquivo estranho foi escolhido para forçá-lo ao topo de uma lista de arquivos organizada em ordem alfabética e tornar a sua presença mais óbvia. Todos os outros arquivos de música e efeitos sonoros em formato OGG presentes na pasta do jogo são prefixados por "mus_" ou "snd_".

O arquivo foi atualizado na v1.001, removendo basicamente tudo que estava no arquivo de áudio original.

Mensagem do Toby Fox#

Afazeres:
Mudanças neste pós-1.001.

Texto original

Part of this game's charm is the mystery of how many options or secrets there are. If you are reading this, please don't post this message or this information anywhere. Or doing secrets will become pointless.
By the way, most of the seemingly unused text/files are used.
If you can find the in-game context for an asset, you can show it off. But if you can't, it probably means you haven't looked hard enough. Anything truly unused I'll probably post myself, later.
Living in a world like this, where people can simply cheat out the answers from the code... your impatience has REALLY damaged you, hasn't it?

Tradução

Parte do charme desse jogo é o mistério de quantas opções ou segredos existem. Se você está lendo isto, por favor não poste esta mensagem ou esta informação em lugar algum. Ou fazer segredos se tornará sem sentido.
Aliás, a maioria dos textos/arquivos são usados.
Se você conseguir achar o contexto para um arquivo dentro do jogo, você pode mostrá-lo. Mas se você não conseguir, isso provavelmente significa que você não procurou o bastante. Qualquer coisa verdadeiramente não utilizada vai ser provavelmente postada por mim, depois.
Vivendo em um mundo assim, onde pessoas podem simplesmente trapacear e achar respostas através do código... sua impaciência REALMENTE te danificou, não?

Esse aviso foi escrito no script attetion_hackerz_no_2, onde as mensagens são colocadas em variáveis chamadas demonx, demony, demonz e demond respectivamente, "demon" significando demônio em inglês. Essas mensagens são usadas, obviamente, para avisar hackers. Graças ao nome do script, as mensagens são colocadas no começo da lista interna de strings, aumentando as chances delas serem lidas.

Na versão 1.001, contudo, ela foi mudada para isso:

Texto original

Greetings.
You have made yourself completely clear.
Understood.
I, your humble servant, will follow you to the utmost.

Tradução

Saudações.
Você se fez completamente claro.
Entendido.
Eu, seu humilde servo, o seguirei até o fim.

As variáveis foram renomeadas para demona, demonb, demonc e demond também. Curiosamente, a primeira linha da mensagem 1.00 ainda está presente junto de sua variável associada, mas foi movida para scr_namingscreen_check, que é o script que controla os easter eggs da tela de nomeação de jogador.

Curiously, in 1.05, the copy in scr_namingscreen_check seems to have been changed.

v1.001

v1.05

Part of this game's charm is the mystery of how many options or secrets there are. If you are reading this, please don't post this message or this information anywhere. Or doing secrets will become pointless.

HE IS

To do:
investigate and elaborate. here is the image i used to describe the changes

For some reason, this change appears to have been exclusive to the Mac and Windows versions, with the Linux version and the console ports still having the "Part of this game's charm" message. Version 1.06's Windows and Mac releases seem to blank out the message, although some versions of 1.08 Windows and Mac seem to have the message "..." instead, while others seemingly return to the "Part of this game's charm" message. In particular, the Mac non-DRM release seems to return to the original message, while the Windows Steam and non-DRM releases have "...".

Xbox Datamining Congratulatory Message#

* (It's a picture of a dog juggling several balls.) * (You feel satisfaction that your hard work reverse engineering the encryption of the Xbox One has paid off.)

gml_Object_obj_xbox_controller_connect_Create_0 in the Xbox One (v1.12X+) version contains this congratulation for dataminers, appropriately stored in a variable named unusedstring. Toby's foresight is appreciated, considering how difficult Xbox One's security was to crack.

Note that there's no new line after the first sentence in the original string.

(Source: luigiutmc, original TCRF research (actual location))

Activity Levels#

Wait, we're categorizing this now?

Press ⇧ Shift or X five times at the title screen to get this handy screen.

If none of the requirements are met, "No Information" is shown instead.

Ball Jingle#

If the code "ball" is typed on the title screen, a jingle will play. The jingle itself is named snd_ballchime.ogg. In a 2025 interview with Famitsu, Toby would reveal that this jingle was originally made for a canceled, Panel de Pon-inspired project a friend of his was working on.

Batalhas não utilizadas#

Nomes de Monstros#

ID

English

Japanese

1

TestFroggit

N/A

30

Agente

N/A

47

Bomba
ばくだん

48

RG 03

N/A

49

RG 04

N/A

666

Gaster
ガスター

AGI(R)ndo#

   * Checar         * Sussurrar
   * Luva Forte
   * Error

No finalzinho do textos do menu AGIR, há uma mensagem de erro genérica, um placeholder das opções AGIR da luta contra a verdadeira forma de Asriel.

Gaster#

Gaster tem um conjunto completo de status no código, todos ridiculamente alto (ao ponto que um inimigo com esses status é literalmente impossível de atacar e ser atingido mata Frisk instantaneamente) e consistindo apenas de uma sequencia de números 6. Eles sendo os seguintes:

   HP: 666666 
   ATK: 66666         DF: 66666
  EXP: -6666       OURO: -6666

Gaster also would have had a 666% chance to award an item with the ID 666 (which of course doesn't exist, as the item IDs only go up to 64) after battle... which would've worked if the item drop mechanic was even functional.

Outras Batalhas Não Utilizadas#

ID

Inimigo 0

Inimigo 1

Inimigo 2

Mensagem de encontro

Tradução livre

Notas

1

TestFroggit

TestFroggit

TestFroggit

* TestMonster and its cohorts draw near!
* TestMonster e companhia se aproximam!

Aparece na TESTROOM.

14

Vegetoid

Loox

* Vegetoid and Loox attacked!
* Vegetoid e Loox atacam!

31

Chilldrake

Chilldrake

* Chilldrakes flutter forth!
* Chilldrakes flutuam em frente!

33

Icecap

Snowdrake

* Icecap and Snowdrake pose like bad guys.
* Icecap e Snowdrake posam como caras maus.

33

Icecap

Chilldrake

* Icecap and Chilldrake pose like bad guys.
* Icecap e Chilldrake posam como caras maus.

Versão alternativa da batalha prévia para caso o Snowdrake tivesse sido morto.

34

Jerry

* Jerry clings to you!
* Jerry se agarra a você!

46 (Old)

Aaron

Woshua

* You shouldn't read this.
* Você não deveria estar lendo isto.

O confronto que envolve Aaron e Woshua sendo assustados pela música de Napstablook não é suposto exibir seu texto.

61

Final Froggit

* Final Froggit was already there, waiting for you
* Final Froggit já estava lá, esperando por você

A mensagem de encontro é formatada erroneamente se colocada no jogo, com a vírgula aparecendo em uma linha própria.

63

Whimsalot

* Whimsalot rushed in!
* Whimsalot apressou em frente!

69

Bomb

* Defuse the bomb!
* Desarme a bomba!

Essa Bomba é um inimigo não utilizado único sem um limite de tempo mas que de resto se comporta de maneira igual ao cachorro-Bomba usado no jogo.

79

Vulkin

Vulkin

* A strange parade blocks the path.
* Uma desfile estranho bloqueia o caminho.

127

Whimsalot

Parsnik

* Whimsalot and Parsnik appeared.
* Whimsalot and Parsnik apareceram.

131

Parsnik

Astigmatism

* Not only potatoes have eyes.
* Não só batatas tem olhos.

Em inglês, as protuberâncias nas batatas são chamadas de "olhos".

133

Astigmatism

Migospel

Moldessa

* Looks like a real party.
* Parece uma verdadeira festa.

134

Whimsalot

Parsnik

Moldessa

* Party from Hell.
* Festa do Inferno.

141

Mad Mew Mew

* Mad Mew Mew blocks the way!
* Mad Mew Mew bloqueia o caminho!

256

Asriel

* ASRIEL's SOUL was awakened
  by the power of your
  friends!
*ALMA DE ASRIEL foi despertada
  pela poder dos seus
  amigos!

256

Asriel

* It's time to say goodbye.
* É hora de dizer adeus.

Ataques Não Utilizados#

Sans#

Afazeres:
Rever esses.

Watch on YouTube

A batalha do Sans tem alguns ataques não utilizados. Estes, junto dos ataques utilizados, são gerenciados pelo objeto obj_sansb_body.

Plataformas Verticais - Esse ataque é controlado por obj_vplatgen. Ele tem ossos em baixo, com plataformas aleatoriamente colocadas e escalonadas se movendo de cima para baixo. Algumas das plataformas também levemente ondulam da esquerda para a direita. Para desviar, você precisa ficar em cima das plataformas sem cair pro fundo repleto de ossos. Existem 3 variações desse ataque, controladas pela variável type (tipo) de obj_vplatgen, sendo os tipos 1 e 2 apenas variações mais rápidas do tipo 0. O tipo 2 é diretamente acessível como o tipo de ataque (variável a_type) 9 em obj_sansb_body. Existe também um 6º evento de Alarme não utilizado no gerador de objetos, que cria ossos aleatoriamente posicionados no meio da tela para serem desviados a cada 50 quadros. Já que o tamanho e posição das plataformas é aleatório, pode ser impossível evitar ser atingido.

Osso Verticais e Horizontais - Padrões de bala fixos com ossos vindo de posições verticalmente e horizontalmente. Para desviar, você deve manobrar ao redor dos ossos. Acessível como o tipo de ataque 10 em obj_sansb_body. Também existe uma variação, acessível como o tipo de ataque 11 em obj_sansb_body, que é mais rápido e tem um padrão diferente. Há também uma variação "inferno" do primeiro tipo de ataque, acessível se a variável hell no obj_sansb_body for verdadeira, que deixa o ataque ainda mais difícil.

Variação Aleatória dos Gaster Blasters - Os sprites dos blasters são comprimidos para parecerem finos, de maneira similar a uma variação na versão final, mas dessa vez os blasters aparecem e atiram mais rapidamente. Isso pode ser visto se o objeto obj_gasterbl_gen for criado com o tipo 0, que não é utilizado por nenhum ataque programado em obj_sansb_body.

Variantes dos Ataques Finais - Existem também variantes "inferno" para alguns dos ataques finais. O ataque em que você dá um pulo curto entre uma brecha nos ossos (ataque tipo 1) e um outro em que você pula sobre um pequeno osso branco com um grande osso azul vindo logo em seguida (ataque tipo 3) são mais rápidos quando a variável hell no objeto obj_sansb_body é verdadeira. O ataque com os ossos e plataformas passando pela tela horizontalmente tem uma variante na qual as plataformas se movem mais devagar, que é o tipo 0 obj_3platgen.

Vale notar que existe um tom não utilizado para Megalovania no código, que é demonstrado no vídeo como consequência da utilização da variável de depuração skip. Aqui está o código relevante, presente no evento de Criação de obj_sansb:

if (skip == true)
{
    con = -1
    with (mypart1)
        bounce = 1
    obj_borderparent.visible = true
    global.msg[0] = scr_gettext("obj_sansb_90") // * Skipped ahead. (* Pulou pra frente.)
    global.mnfight = 3
    global.myfight = 0
    global.faceemotion = 0
    normalfight = 1
    obj_heart.visible = true
    global.flag[271] = 1
    caster_loop(global.batmusic, 0.95, 0.95) // <-- aqui
}

(Source: Lil'Alien)

Mettaton EX#

Watch on YouTubeA batalha contra Mettaton EX possui alguns ataques não utilizados. Eles podem ser vistos caso o obj_mettattackgen seja invocado com o seu respectivo tipo de ataque colocado em uma variável global chamada global.attacktype.

Afazeres:
Explique melhor

Ataque tipo 1 - Colunas de caixas

Ataque tipo 2 - Colunas de caixas se entrelaçando da esquerda pra direita

Ataque tipo 3 - Uns braços se entrelaçando da esquerda pra direita?

Ataque tipo 4 - Literalmente só pernas

Ataque tipo 5 - Pernas ativadas se entrelaçando da esquerda pra direita

Ataque tipo 6 - Caixas e bombas espalhadas por todo o canto

Ataque tipo 7 - Caixas e bombas espalhadas por todo o canto, só que mais rápido

Ataque tipo 8 - Zona de balas encurtada, bombas aparecem da esquerda e da direita

Ataque tipo 9 - Zona de balas menos encurtada, bombas aparecem da esquerda, do centro e da direita

Ataque tipo 10 - Colunas de caixas e bombas aproximando rapidamente. O padrão repete depois de um certo tempo

Ataque tipo 11 - Colunas de blocos que sobem quando baleados

Ataque tipo 12 - Colunas de blocos que sobem quando baleados, além de centelhas, em que só aparecem na luta da Alma Perdida de Alphys no jogo final

Ataque tipo 13 - Vários mini Mettatons jogando corações

Ataque tipo 14 - Mais mini Mettatons jogando corações

Ataque tipo 15 - Mini Mettatons jogando centelhas

Ataque tipo 16 - Mini Mettatons jogando centelhas de novo

Ataque tipo 50 - Uns braços com um bloco amarelo se movendo?

Ataque tipo 51 - Bola de espelhos rápida

Ataque tipo 52 - Caixas e bombas espalhadas por todo o canto, de novo; também meio rápidas

Ataque tipo 55 - Mais uma vez, literalmente só pernas

(Source: Lil'Alien)

Itens Não Utilizados#

ID

Nome

Tradução do Nome

Nome Curto

Nome Sério

Descrição

Tradução da Descrição

Texto de Uso

Tradução do Texto de Uso

2

Croquet Roll

Croquete

CroqtRoll

CroqtRoll

Heals 15 HP Fried dough traditionally served with a mallet.

Recupera 15 HP Massa frita tradicionalmente servida com um martelo.

Normal:

You hit the Croquet Roll into your mouth.

Serious Mode:

You ate the Croquet Roll.

Normal: Você meteu o Croquete na sua boca.

Modo Sério:

Você comeu o Croquete.

5

Rock Candy

Doce de Pedra

RockCandy

RockCandy

Heals 1 HP Here is a recipe to make this at home:

1. Find a rock

Recupera 8 HP Aqui está uma receita para fazer esse doce em casa:

1. Encontre uma pedra

You ate the Rock Candy.

Você comeu o Doce de Pedra.

6

Pumpkin Rings

Anéis de Abóbora

PunkRings

PmknRings

Heals 8 HP A small pumpkin cooked like onion rings.

Recupera 8 HP Uma pequena abóbora cozida como anéis de cebola.

You ate the Pumpkin Rings.

Você comeu os Anéis de Abóbora.

8

Stoic Onion

Cebola Estoica

StocOnion

Onion

Heals 5 HP Even eating it raw, the tears just won't come.

Recupera 5 HP Até a comendo crua, as lágrimas não vem.

Normal: Você comeu a Cebola Estoica. Você não chorou...

Modo Sério:

You ate the Stoic Onion. You didn't cry...

9

Ghost Fruit

Fruta Fantasma

GhostFrut

GhstFruit

Heals 16 HP If eaten, it will never pass to the other side.

Recupera 16 HP Se comida, não passará para o outro lado.

You ate the Ghost Fruit.

Você comeu a Fruta Fantasma.

18

Puppydough Icecream

Sorvete Cachorrinho

PDIceCram

Ice Cream

"Puppydough Icecream" Heals 28 HP. Made by young pups.

"Sorvete Cachorrinho" Recupera 28 HP. Feito por jovens filhotes.

Nota: O nome desse item é longo demais para aparecer corretamente quando usando uma caixa dimensional. O texto de uso não tem variação no Modo Sério.

Mmm! Tastes like puppies.

Mmm! Tem gosto de cachorrinhos.

(Source: rawr.ws)

Drop de Itens Não Utilizado#

No código interno de preparação de monstros, existem menções de recompensas de itens e a chance de um item ser deixado, mas isso não ocorre no jogo, deixando esses valores globais inutilizados: itemrewardid e itemrewardchance. Abaixo está um exemplo dessas variáveis no código.

global.monstername[myself] = scr_gettext("monstername_3") // monstername_3 = "Froggit"
global.monstermaxhp[myself] = 20
global.monsterhp[myself] = 20
global.monsteratk[myself] = 4
global.monsterdef[myself] = 1
global.xpreward[myself] = 10
global.goldreward[myself] = 20
global.itemrewardid = 1
global.itemrewardchance = 50

Antiga data de vaporização da Toriel#

scr_getvapordata contém um pedaço de pixel art ASCII do sprite da morte de Toriel, spr_torielboss_kneelsmile2, composto (em sua maior parte) de 0s (representando preto) e 1s (representando branco). Juntamente com outros dados contidos no script, isso deveria ser interpretado por uma versão antiga do “sprite duster” do jogo, obj_vaporized, que produz partículas de poeira de acordo com ele; em vez disso, o jogo final usa obj_vaporized_new como todos os monstros, exceto Undyne e Boboneco Feliz. (A representação a seguir dos dados os reduz a linhas com 72 caracteres cada, que é a metade de 144, a largura do sprite original).

000000000000000000000000000110000000000000110000000000000000000000000000
000000000000000000000000001100000000000000011000000000000000000000000000
000000000000000000000000001110111111111110111000000000000000000000000000
000000000000000000000000110001111111111111000110000000000000000000000000
000000000000000000000011111111111111111111111111100000000000000000000000
000000000000000000000111101111110111110111111011110000000000000000000000
000000000000000000000111101111111111111111111011110000000000000000000000
000000000000000000001111101101110111110111011011111000000000000000000000
000000000000000000001111100111000111110001110011111000000000000000000000
000000000000000000001111100111111111111111110011111000000000000000000000
000000000000000000001111110011111011101111100111111000000000000000000000
000000000000000000000111110001111111111111000111110000000000000000000000
000000000000001111000111111000110100010110001111110000000000000000000000
000000000000111110001011111000001111111000001111101000000000000000000000
000000000000111100001000000000000000000000000000001000100000000000000000
000000000001111100001000000110000011100011110000001000111000000000000000
000000000011111110000000000001110010010111100000001000111100000000000000
000000000011111111111111110111000111000000000000010100111110000000000000
000000000111111111111111111011111111100000000000100100011111000000000000
000000000111111111111111111100111111100100000001000100011111100000000000
000000000111111111111111111110011100001110000010000100011111110000000000
000000000011111000000000000111000000000000000100000100011111111000000000
000000000011110010000001111000000011100000001000011000011111111000000000
000000000000100100000000000110000000000000100011100110001111111100000000
000000000000000100000000000000100000000010001110010010001111111110000000
000000000000001000000000000000000011110000111101000001000111111110000000
000000000000001000000000000000110000000111111000000001000111111111000000
000000000000001000000000000001111000111111000000000001000111111111100000
000000000000010000000000000011000011000000000000000000100111111111100000
000000000000010000000000000100000000000000000000000000100111111111110000
000000000000010000000000000000000000000000000000000000100111111111110000
000000000000010000000000000000000000000000000000000000100111111111111000
000000000000010000000001111000000000000000000000000000100111111111111000
000000000000001000000000000000110000000000000000000000100111111111111000
000000000000000111111111111100000000000000000000000001001001111100011100
000000000000011111111111111111110100000000000000000010000111111111100110
000000000000011011101110000000000000111111111111000000011100011101101100
000000000000000000000000000000000000000000000000000000000000000000000000
2

(Source: Original TCRF research)

Game Deletion/Renaming Code#

Two events in the game attempt to rename or delete the game's executable undertale.exe, but fail because they target the save file directory (where file0 is) rather than the executable's folder. This can be proven by placing a duplicate undertale.exe in the save directory.

Firstly, the game's executable is attempted to be renamed to flowey.exe on the first Neutral Route playthrough after Flowey absorbs the six human souls when Asgore is defeated and crashes the game. The game renames itself back to undertale.exe once Flowey is defeated. It was likely to give an immersion that Flowey has conquered the game's world so much that he can even mess with your game's executable file.

In obj_asgore_lastcutscene:

if (global.osflavor == 1)
{
    if (file_exists("undertale.exe"))
        file_rename("undertale.exe", "flowey.exe");
}

In obj_flowey_master:

if (global.osflavor == 1)
{
    if (file_exists("flowey.exe"))
        file_rename("flowey.exe", "undertale.exe");
}

The game attempts to delete itself when the screen shakes at the end of a Genocide Route after Chara destroys the game's world. In addition to the game's INI and save files, the game tries to find various common name cases for the Undertale executable and tries to delete it.

In obj_gameshake:

if (global.osflavor == 1)
{
    if (file_exists("undertale.exe"))
        file_delete("undertale.exe");
    if (file_exists("undertale.EXE"))
        file_delete("undertale.EXE");
    if (file_exists("Undertale.exe"))
        file_delete("Undertale.exe");
    if (file_exists("UNDERTALE.exe"))
        file_delete("UNDERTALE.exe");
}

(Source: WarlockD)

(Source: Original TCRF research)

(Source: KrisCross)

Assets Escondidos#

Modelos de Casas em Snowdin#

Modelo Temporário do Salão da Snowed Inn#

Escondido embaixo da imagem do salão da Snowed Inn está um modelo temporário da sala feito de peças de Snowdin.

Modelo Temporário dos Quartos da Snowed Inn#

Como no salão, existe um modelo temporário dos quartos da Snowed Inn, com duas camas não tão confortáveis...

Interior Temporário da Bliblioteca#

Um modelo temporário do interior da bliblioteca, feito de neve e pedaços de árvores.

Early Lab Entrance#

Undertale-room_fire_prelab-EarlyLab.png Undertale-room_fire3-EarlyLab.png

In the rooms outside Alphys's lab, hidden under the sprite of the lab is an early version of it using very basic placeholder tiles.

Exterior Antigo do Hotel MTT#

Escondido embaixo da imagem do exterior do Hotel MTT em sua respectiva sala (room_fire_hotelfront_2) está uma versão antiga do exterior do hotel, feito de peças individuais ao invés de ser uma imagem só. As partes do chão são temporárias, usando o chão da caverna de gelo, que foi usado como chão temporário pela Hotland inteira.

Entrada Antiga pro CORE#

Escondida no canto direito da entrada pro CORE (room_fire_precore) está o que parece ser uma versão temporária da entrada, feita com partes da arte de Hotland. Sim, o fundo repete (ou deveria repetir) assim no jogo.

(Source: Underminers Discord)

Unused room_water11 Path#

Hidden out of bounds in room_water11 is an unused alternate path to room_water12. The doors in this area take you to the inaccessible island with an echo flower that can be seen in that room.

Estranhezas#

Preço de Venda do Cachorro Irritante#

O Cachorro Irritante pode ser vendido por 999G e pode ser barganhado para até 1251G (o preço de venda mais alto de qualquer item no jogo!), mas ele some se for removido da sala em que aparece, então isso nunca pode ser visto durante uma gameplay normal.

Casa do Mettaton#

A cama, paredes superiores e TV do Mettaton tem colisões, mas é impossível entrar nessa seção da sala.

Velocidade de Death by Glamour#

O tema de batalha de Mettaton EX, Death By Glamour, é tocado na velocidade 0.95x depois da cena de introdução pré batalha, mas tocada na velocidade 0.97x em scr_battlegroup, o script que define todas as batalhas do jogo. A versão na Trilha Sonora Oficial é reproduzida na velocidade total de 1x, não correspondendo a nenhuma dessas .

Salvamento das Doações de Moedas Inu Slots#

Quando você salva na versão de Xbox One, o jogo armazena o valor da flag 299 (a quantidade de moedas que você doou para Dog Shrine casino) para global.xbox_coins_donated, e então grava o último no arquivo salvo. Quando você carrega, o número é lido no arquivo salvo e somente no arquivo salvo por algum motivo totalmente desconcertante. Mais ainda, a variável global não parece ser usada de outro modo.

(Source: Original TCRF research)

Toy Knife Room Name#

The room in the Ruins where the Toy Knife can be found is internally called room_ruins18OLD. This is the only instance of a room labelled as old being used, and there's no non-old version of the room.

Donkey Kong is my Favorite Marvel Superhero#

In the room of Hotland where you need to press 3 switches but Alphys calls you right before hitting the third switch, the variable that controls the dialog box moving with the player is named donkeykongismyfavoritemarvelsuperhero. This variable was referenced in the first 10th Anniversary livestream by the line "My Favorite M**vel Superhero's D**key Kong!" in a remixed version of the Wrong Number Song.

Internal Sound File Names#

To do:
Make the explanation simpler.

There are alternate file names for some sounds and music in the game's code, in the format music/*.ogg, from the phase of development where the game used GameMaker 8 and played external sounds and music through an extension. When the game was migrated to use GameMaker: Studio, it was changed to use GameMaker's native sound system for that instead. So to not change already existing code using the sound extension, compatibility scripts were made, one being caster_load, which converts the filenames that were originally used to pointers to GameMaker sounds by calling scr_getmusindex.

(Source: Original TCRF research)

Music/Sound Metadata#

As with the demo, music/sound files have some metadata. The ENCODER field seems to be always overwritten by GameMaker: Studio, but there's still some information from FL Studio's LAME encoder.

(all OGG files, v1.08)

Name

encoder

(all OGG files, v1.11)

Name

encoder

(all WAV files, v1.08)

Name

ISFT

abc_123_a.ogg (v1.001+)

Name

encoded_by

TBPM

date

snd_ballchime.ogg

Name

encoded_by

TBPM

date

mus_computer.ogg

Name

SOFTWARE

mus_wrongworld.ogg ("Wrong Enemy ?!")

Name

encoded_by

TBPM

date

mus_mysteriousroom2.ogg ("Premonition")

Name

ENCODED BY

BPM (BEATS PER MINUTE)

DATE

mus_express_myself.ogg ("Last Goodbye")

Name

encoded_by

TBPM

date

snd_hit, snd_victor

Name

IART

ICRD

INAM

snd_spearappear

Name

ICRD

snd_wrongvictory

Name

ICRD

The "Snoopy, Come Home" metadata refers to the fact that both snd_hit and snd_victor are sampled from the song "Snoopy, Come Home", which is the title song for the 1972 movie with the same name. Toby seemingly took the song from an online rip of the original vinyl, without changing the metadata.

(Source: Original TCRF research)

Erros do Desenvolvedor#

Redação da Batalha Contra Mettaton EX#

Mettaton EX tem uma pergunta estilo "redação" em que você digita um texto e ele comenta sobre o que você escreveu. Infelizmente, digitar "x" ou "z" termina a redação a não ser que CTRL esteja apertado, deixando algumas palavras (na maior parte das gameplays) indigitáveis. Isto foi corrigido nas versões de PlayStation 4, PlayStation Vita e Nintendo Switch do jogo, já que elas usam um teclado virtual.