We just reached 30,000 articles on this wiki! 🥳
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Undertale

From The Cutting Room Floor
Jump to navigation Jump to search
This page is a translated version of the page Undertale and the translation is 10% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎català • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어


Ekran Tytułowy

Undertale

Developer: Toby Fox
Platformy: Windows, Mac OS X, Linux, PlayStation 4, PlayStation Vita, Nintendo Switch, Xbox Series X
Premiera światowa: Wrzesień 15, 2015Expression error: Unexpected < operator. (Windows, macOS), 17 Lipiec, 2016 (Linux), 15 Sierpień, 2017 (PlayStation 4, PlayStation Vita), 18 Wrzesień, 2018 (Nintendo Switch), 16 Marca, 2021 (Xbox Series X/S)


AreasIcon.png Ta gra ma niewykorzystane lokacje.
DevMessageIcon.png Ta gra ma ukrytą wiadomość developerską.
GraphicsIcon.png Ta gra ma niewykorzystane grafiki.
ItemsIcon.png Ta gra ma niewykorzystane przedmioty.
MusicIcon.png Ta gra ma niewykorzystaną muzykę.
SoundIcon.png Ta gra ma niewykorzystane dźwięki.
TextIcon.png Ta gra ma niewykorzystany tekst.
DebugIcon.png Ta gra posiada materiał debugujący.
SoundtestIcon.png Ta gra ma ukryty test dźwięków.
RegionIcon.png Ta gra ma różnice regionalne.
Carts.png Ta gra ma różnice rewizji.


Co robisz?

Szukasz sekretów?

Nie dawaj nosa tam gdzie nie powinieneś.

Albo ty czegoś się nauczysz czego ty nie polubisz...

Hii Hii Hii.

Undertale homepage, in the page's HTML code.

UNDERTALE To niezależna gra RPG w której nikt nie musi ginąć. Inspirowana grami: EarthBound, Yume Nikki, i Cave Story, it received critical acclaim for its interesting characters, interconnected soundtrack, and twists on standard RPG tropes. Supported by a devoted fan base, for a time, it was hard to avoid this game.

Hmmm...
To do:
  • TO-DO page list is located here.
  • A lot of changes to list.
  • A bunch of RG 04 or 03 text was changed, (Supposedly overwritten with RG 01/02 text) confirm this.
  • RG 01/02 has new text if you call Undyne before their battle.
  • Format this page into subpages.
  • Add version differences in the Switch version.
  • Add version differences in the Xbox version. (Including use of unused text...?)

Sub-Pages

Read about prototype versions of this game that have been released or dumped.
Prototype Info (untranslated)
Read about prerelease information and/or media for this game.
Prerelease Info (untranslated)
Miscellaneous tidbits that are interesting enough to point out here.
Notes (untranslated)
Undertale toby dog.gif
Debug Mode
Unfortunately, there are no insects to be found in this mode.
Undertale-unused spell sprite 2.png
Unused Graphics
There are so many dogs in this game! There's even UNUSED dogs!
Undertale room tundra rollsnow.png
Unused Rooms
From candy pedestals to talkative NPCs.
Undertale-spr wordfall4 0.png
Unused Text
I WAS NEVER ONE TO BEPIS.

Developer's Messages

"Don't rip sprites!" Warning

Version 1.00

...and don't even get us STARTED on uploading audio tracks to BrawlCustomMusic!

Please don't upload these huge sprite sheets online. 
Just 'cause 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

abc_1111 contains a crudely-written note addressed to sprite rippers, specifically the ones at the website Spriter's Resource, telling them to wait a year before uploading full sheets online.

Games made with Game Maker, like Undertale, store all of their sprites in big PNG spritesheets, instead of each sprite or character being stored as an individual file. So if one were to upload sprite sheets, the easiest thing to do would be to upload all of the sheets as-is...which would leave all of the spoiler-y sprites on the same sheet as well.

The odd filename was chosen to force it to the top of an alphabetical file listing and make its presence more obvious...which does no good, as the file listing is only visible if the sprites are separated by their internal names. Oops. This was replaced in later versions.

Version 1.001

I don't like the b-bepis either!! I-I swear!

 
you know what i
    HATE?

that's
       bepis

THE TASTE
   the smell
      the texture

hey...
      your
          drooling...

Version 1.001 replaces the no-spritesheet request with this vaguely erotic note about "bepis" that is a reference to a man in Moonside from EarthBound who hates the food the player likes. Toby Fox is a fan of EarthBound, and Undertale takes inspiration from the game heavily. Bepis is a silly misspelling of "Pepsi", as well as a word the developers think is silly.

The lack of any real meaning to this new text and the fact that it replaces the earlier request can be taken as permission to begin posting spritesheets, as supported by this forlorn-looking email.

"Don't spoil the game!" Warning

abc_123_a.ogg

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.

This is a sound file of eight text-to-speech voices telling people not to post the game's secrets online. Who in their right mind would do tha— wait a minute...

The odd filename was chosen to force it to the top of an alphabetical file listing and make its presence more obvious. All other OGG-format music and sound effect files present in the game's folder are prefixed with either "mus_" or "snd_".

This file was updated in v1.001, taking out pretty much everything that was in the original audio file.

Wiadomość od Toby Foxa

Hmmm...
To do:
Changes to this post-1.001.
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?

This notice is put into the attention_hackerz_no_2 script, where the messages are set into variables called demonx, demony, demonz and demond, respectively. The messages are, obviously, used to warn crackers. Due of the naming of the script, the messages is put at the start of the internal strings list, increasing the chance for them to be read.

In 1.001, however, it has been changed to this:

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

The variables have been renamed to demona, demonb, demonc and demond, too. Curiously, the first line from the version 1.00 message is still present along with its associated variable, but has been moved into scr_namingscreen_check, which is the script that handles naming easter eggs.

Nieużywana muzyka

mus_kingdescription

A more orchestrated rendition of "Determination", the Game Over theme. Based on the filename, it was most likely used in a scene related to Asgore.

mus_dance_of_dog

This funky fresh beat plays exclusively in the "dancing" dog error room. The error room is most easily accessed by messing with your save file.

mus_sigh_of_dog

This unfunky fresh beat plays exclusively in the sleeping error dog room. The error room is most easily accessed by messing with your save file.

mus_star

Music that uses instruments from Star Fox. Other tracks in the game use instruments from games like Mario Paint, Final Fantasy VI, Chrono Trigger, Mega Man X , and EarthBound, so this wouldn't be TOO out of place.

According to Toby Fox, this song was intended to play when Madjick's magic orbs turn into healing hearts. However, this proved too difficult to implement because the Core's background music continues into monster battles, so it was scrapped.

(Source: Toby Fox)

mus_f_part3

Another variation of Flowey's boss music. 0:20 onwards is used for scene transitions, however, internally, a sound effect that sounds like that part plays instead of this track.

mus_f_finale_1

An unused first part of "Finale". This track is never played, as mus_f_finale_1_l plays instead. It is simply a shorter version of the first part of Finale, and it is most likely the game would have restarted at the point where the souls heal you instead of immediately starting on the fight.

mus_piano

Played at the end of the Undertale demo after clearing a neutral run, and appears as the last track of the soundtrack (titled "Good Night"), but isn't used in the final game.

mus_ruinspiano

A slow, solemn piano rendition of the music played in the Ruins. It is a slowed down version of the first section of "An Ending".

mus_birdsong's Hidden Loop

Bird That Carries You Over A Disproportionately Small Gap (mus_birdsong) is played when the bird carries you over the gap in Waterfall. However, the music only lasts one loop until it fades out. The file DOES loop properly, however a bit of the music at the end gets cut off in normal gameplay.

Unused Sounds

mus_sfx_a_swipe

A voice (presumably Mettaton or Asriel) grunting.

mus_sfx_ahh

Flowey mówi "ahh".

mus_sfx_voice_triple

Flowey says "triple".

mus_silence

Audio file that's, obviously, silence.

snd_curtgunshot

A generic gunshot sound.

mus_f_wind1

An unused longer loop of mus_f_wind2.

mus_f_newlaugh_low

An unused lower pitch variant of mus_f_newlaugh.

mus_woofenstein

An unused longer loop of mus_woofenstein_loop.

Removed Sounds

obj_rainbowbolt_realgen references a sound with the file path music/sfx/sfx_menu_error.ogg, which doesn't exist and is never played by the object anyway.

(Source: Original TCRF research)

Title Screen Easter Eggs

Wait, we're categorizing this now?

Press Shift or X five times at the title screen to get this handy screen. Activity Level A is shown if you get a neutral ending. Activity Level B is shown if you complete a pacifist route. Activity Level C is shown if you fight Sans twice or kill him. If none of the requirements are met, "No Information" is shown instead. Typing BALL at the same screen causes a sound to play.

Nieużywane walki

RG03 i RG04

ACTions

   * Check         * Whisper
   * Touch Glove


   * Error

At the very end of the ACT menu strings is this yet again generic error message, a placeholder for the ACT options of the fight against Asriel's true form.

RG03 and RG04

In the game's files with battle ID 76, there is a fully complete battle set up for two more Royal Guards, RG03 and RG04. RG03 and RG04 are mentioned by Undyne during a phone conversation as switching off with RG01 and RG02 on certain days. Despite this, they were actually cut simply because there wasn't any place they could naturally be put in, according to the artbook.

Their battle revolves around them being old friends who had a falling out, and the Pacifist solution is to get them to make up. The guards themselves are slightly incomplete, both using Aaron's defeated sprite as a placeholder, along with not having unique bullet graphics and unique bullet patterns for ACTing, unlike 01 and 02.

Gaster

Gaster has a complete set of stats in the code, all ridiculously high (to the point an enemy given these stats is borderline impossible to damage and getting hit insta-kills Frisk) and consisting only of numerous 6s. They are as follows:

   HP: 666666 
   AT: 66666         DF: 66666
  EXP: -6666       GOLD: -6666

Other Unused Encounters

ID Enemy 0 Enemy 1 Enemy 2 Encounter message (EN) Encounter message (JP) Notes
1 TestFroggit TestFroggit TestFroggit
* TestMonster and its cohorts
draw near!
(N/A) Appears in TESTROOM.
14 Vegetoid Loox
* Vegetoid and Loox attacked!
* ベジトイドと ルークスが
  おそってきた!
31 Chilldrake Chilldrake
* Chilldrakes flutter forth!
* いきがりバードが
  パタパタとんできた!
33 Icecap Snowdrake
* Icecap and Snowdrake
  pose like bad guys.
* ヒョー坊と オワライチョウは
  ワルっぽいポーズをとった。
33 Icecap Chilldrake
* Icecap and Chilldrake
  pose like bad guys.
* ヒョー坊と いきがりバードは
  ワルっぽいポーズをとった。
Alternate version of the previous encounter for if Snowdrake has been killed.
34 Jerry
* Jerry clings to you!
* ジェリーに つきまとわれている!
46 (Old) Aaron Woshua
* You shouldn't read this.
* これは よまないで。
The battle encounter that involves Aaron and Woshua being freaked out by Napstablook's music is not supposed to show its flavor text.
61 Final Froggit
* Final Froggit was already there, waiting for you.
* ファイナル・フロギーが
  まちかまえていた。
The encounter message is incorrectly formatted if spawned in-game, with the comma appearing on its own line.
63 Whimsalot
* Whimsalot rushed in!
* ナキムシャが かけつけた!
69 Bomb
* Defuse the bomb!
* ばくだんを かいじょしろ!
This Bomb is a unique unused enemy that lacks a time limit but otherwise behaves like the used dog-Bomb.
79 Vulkin Vulkin
* A strange parade blocks the
  path.
* きみょうな しゅうだんに
  ゆくてを ふさがれた。
127 Whimsalot Parsnik
* Whimsalot and Parsnik appeared.
* ナキムシャと パースニックが
  あらわれた。
131 Parsnik Astigmatism
* Not only potatoes have eyes.
* “め”に どくが あるのは
  ジャガイモだけじゃない。
133 Astigmatism Migospel Moldessa
* Looks like a real party.
* これぞ まさに “パーティ”だ。"
134 Whimsalot Parsnik Moldessa
* Party from Hell.
* じごくの “パーティ”だ。"
141 Mad Mew Mew
* Mad Mew Mew blocks the way!
* ぷんすかみゅうみゅうに
  ゆくてを ふさがれた!
256 Asriel
* ASRIEL's SOUL was awakened
  by the power of your
  friends!
* なかまの ちからで
  アズリエルのタマシイが
  めをさました!
256 Asriel
* It's time to say goodbye.
* これで おわかれだ。

Unused Attacks

Sans

Hmmm...
To do:
Double check these.


Sans' battle has some unused attacks. They, along with used attacks, are handled in the obj_sansb_body object.

Vertical Platforms - The attack is handled by obj_vplatgen. It has bones along the bottom, with platforms randomly placed and scaled scrolling from top to bottom. Some platforms wave from left to right slightly as well. To dodge, you are to stay on the platforms and not fall to the bottom into the bones. There are 3 variantions to this attack, controlled by obj_vplatgen's (0-indexed) type variable, type 1 to type 2 are simply sped up versions of type 0. Type 2 is directly accessible as attack type (variable a_type) 9 in obj_sansb_body. There's also a unused 6th Alarm event to the generator objects, which spawns randomly positioned bones in the middle of the screen to dodge every 50 frames. Because the platforms are randomly generated in size and position, it can be impossible to avoid getting hit.

Vertical and Horizontal Bones - Fixed bullet patterns with bones coming from positions vertically and horizontally. To dodge, you must maneuver around the bones. Accessible as attack type 10 in obj_sansb_body. There also exists a variantion, accessible as attack type 11 in obj_sansb_body, which is faster and has a different pattern. There is also a "hell" variantion of the first kind of the attack, accessible by setting the hell variable in obj_sansb_body to true, which is harder.

Random Gaster Blasters Variant - The sprites for the blasters are squished to be thin, much like one of the final version's variants, although this time the blasters spawn and shoot faster. This can be seen if a obj_gasterbl_gen is spwaned with type 0, which is not utilized by any coded attack in obj_sansb_body.

Final Attacks Variants - There is also "hell" variants of some of the final attacks. The attack where you have to short hop in between a gap in bones (attack type 1) and the one where you hop over a small white bone with a long blue one right after (attack type 3) is faster when the hell variable in obj_sansb_body is set to true. The platforming attack with bones and platforms scrolling across the screen horizontally has a variant where the platforms scroll slower, which is type 0 of obj_3platgen.

Worth to note that there exists an unused pitch for Megalovania in the code, which is also demonstrated in the video in result of the usage of the skip debug variable. Here's the related code, in the Create event of 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.
    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) // <-- here
}
(Source: Lil'Alien)

Mettaton EX

The Mettaton EX battle has some unused attacks. These can be seen if obj_mettattackgen is spawned with the respective attack types set in a global variable called global.attacktype.

Hmmm...
To do:
Explain better

Attack type 1 - Columns of boxes

Attack type 2 - Columns of boxes weaving from left to right

Attack type 3 - Some arms weaving from left to right?

Attack type 4 - Literally just legs

Attack type 5 - Activated legs weaving from left to right

Attack type 6 - Boxes and bombs scattered everywhere

Attack type 7 - Boxes and bombs scattered everywhere, but faster

Attack type 8 - Tightened bullet board, bombs appear from left and right

Attack type 9 - Less tightened bullet board, bombs appear from left, center and right

Attack type 10 - Columns of boxes and bombs approaching fast. The pattern is replayed after a while

Attack type 11 - Columns of blocks that go upwards when shot

Attack type 12 - Columns of blocks that go upwards when shot, plus sparkle bullets which only appear in the Alphys Lost Soul fight in the final game

Attack type 13 - A lot of mini Mettatons throwing hearts

Attack type 14 - Another lot of mini Mettatons throwing hearts

Attack type 15 - Mini Mettatons throwing sparkles

Attack type 16 - Mini Mettatons throwing sparkles again

Attack type 50 - Some arms with moving yellow block?

Attack type 51 - Fast disco ball

Attack type 52 - Boxes and bombs scattered everywhere, again; also kinda fast

Attack type 55 - Yet again, literally just legs

(Source: Lil'Alien)

Dog Error Screens

Two screens featuring the annoying dog are present in the game. These are used as "error handlers" in case something goes wrong, such as loading a corrupted save file or entering an invalid or otherwise inaccessible room with an edited save.

The song "mus_dance_of_dog" is used on one of the error handler screens (the left one), at a random pitch. The other song is "mus_sigh_of_dog".

Unused Items

ID Name Short Name Serious Name Description Use Text
2 Croquet Roll CroqtRoll CroqtRoll Heals 15 HP

Fried dough traditionally served with a mallet.

Normal:

You hit the Croquet Roll into your mouth.

Serious Mode:

You ate the Croquet Roll.

5 Rock Candy RockCandy RockCandy Heals 1 HP

Here is a recipe to make this at home:

1. Find a rock

You ate the Rock Candy.
6 Pumpkin Rings PunkRings PmknRings Heals 8 HP

A small pumpkin cooked like onion rings.

You ate the Pumpkin Rings.
8 Stoic Onion StocOnion Onion Heals 5 HP

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

Normal:

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

Serious Mode:

You ate the Stoic Onion.

9 Ghost Fruit GhostFrut GhstFruit Heals 16 HP

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

You ate the Ghost Fruit.
18 Puppydough Icecream PDIceCram Ice Cream "Puppydough Icecream"

Heals 28 HP. Made by young pups.

Note: This item's name is too long to show up properly when using a dimensional box. The use text has no Serious Mode variantion.

Mmm! Tastes like puppies.
(Źródło‏‎: rawr.ws)

Unused Item Drop

In the internal monster setup code, there are mentions of item rewards and the chance for an item to drop. This never happens within the game, leaving these global variables unused: itemrewardid and itemrewardchance. Below is an example of the variables in the code.

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

Old Toriel Dusting Data

scr_getvapordata contains a piece of ASCII pixel art of Toriel's death sprite, spr_torielboss_kneelsmile2, (mostly) composed of 0s (representing black) and 1s (representing white). Along with other data contained in the script, this was meant to be interpreted by an old version of the game's sprite duster, obj_vaporized, which produces dust particles according to it; the final game instead uses obj_vaporized_new like all monsters other than Undyne and Glad Dummy. (The following representation of the data cuts it to lines with 72 characters each, which is half of 144, the original sprite's width.)

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)

Obscured Assets

Snowdin Building Mockups

Placeholder Snowed Inn Lobby

Hidden under the image for the Snowed Inn lobby is a mockup of the rooms layout made of the Snowdin tiles.

Undertale room tundra inn placeholder.png

Placeholder Snowed Inn Rooms

Like the lobby, there is a placeholder layout for the rooms in Snowed Inn, featuring some not so comfortable beds...

Undertale room tundra inn 2f early.png

Placeholder Librarby Inside

A mockup of the inside of Snowdin's Librarby, being made of snow and bits of trees.

Undertale room tundra library placeholder.png

Early MTT Hotel Outside

Hidden under the MTT Hotel outside image in the respective room (room_fire_hotelfront_2) is an early version of the hotels outside, being made up of tiles instead of being one image. The ground tiles are placeholders, using the ice cave ground, a tile that was used as a placeholder throughout the entirety of Hotland.

Undertale room fire hotelfront 2 early.png

Early CORE Entrance

Hmmm...
To do:
Relocate this somewhere, this doesn't seem to fit here.

Undertale room fire precore hidden area.png

Hidden in the right side of the room for CORE's entrance (room_fire_precore) is what seems to be a placeholder version of the entrance, made of Hotland assets. Yes, the background (should) loop like that in the game.

(Source: Underminers Discord)

Oddities

Annoying Dog's Sale Price

The Annoying Dog can be sold for 999G and haggled up to 1251G (the highest sale price of any item in the game!), but it will disappear if taken out of the room it spawns in, so this can never be seen on a normal playthrough.

Mettaton's House

Mettaton's bed, upper walls, and TV have collision, but it's impossible to get in that section of the room.

Death By Glamour Speed

Mettaton EX's battle theme, Death By Glamour, is played at 0.95x speed after the pre-battle intro cutscene, but plays at 0.97x speed instead if Mettaton's dialogue is skipped; this is the value set in scr_battlegroup, the script that defines all of the encounters in the game. The version in the OST plays at full 1x speed, matching neither of these.

Inu Slots Coin Donation Saving

When you save in the Xbox One version, the game stores the value of flag 299 (the amount of coins you donated to the casino Dog Shrine) to global.xbox_coins_donated, then writes the latter into the save file. When you load, the number is read into the latter, and only to the latter for some utterly baffling reason. What's more, the global variable doesn't appear to be used otherwise.

(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.

Internal Sound File Names

Hmmm...
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 Content
encoder Lavc56.12.101 libvorbis
(all OGG files, v1.11)
Name Content
encoder Lavc libvorbis
(all WAV files, v1.08)
Name Content
ISFT Lavf56.14.100
abc_123_a.ogg (v1.001+)
Name Content
encoded_by LAME in FL Studio 10
TBPM 140
date 2016
snd_ballchime.ogg
Name Content
encoded_by LAME in FL Studio 10
TBPM 251
date 2015
mus_computer.ogg
Name Content
SOFTWARE FL Studio 10
mus_wrongworld.ogg ("Wrong Enemy ?!")
Name Content
encoded_by LAME in FL Studio 10
TBPM 224
date 2015
mus_mysteriousroom2.ogg ("Premonition")
Name Content
ENCODED BY LAME in FL Studio 10
BPM (BEATS PER MINUTE) 115
DATE 2014
mus_express_myself.ogg ("Last Goodbye")
Name Content
encoded_by LAME in FL Studio 10
TBPM 180
date 2015
snd_hit, snd_victor
Name Content
IART Don Ralke; Sherman Bros.
ICRD 1972
INAM Snoopy, Come Home
snd_spearappear
Name Content
ICRD 2013
snd_wrongvictory
Name Content
ICRD 2014

The "Snoopy, Come Home" metadata refers to the fact that both snd_hit and snd_victor are sampled from the song "Snoopy, Come Home" from the eponymous soundtrack, which Toby seemingly took from an online rip of the original vinyl without changing the metadata.

(Source: Original TCRF research)

Developer Oversights

Mettaton EX Battle Essay

Mettaton EX has an "essay" question where you can type in text and have him comment on it. Unfortunately, typing "x" or "z" ends the essay unless CTRL is held down, leaving some words (in most playthroughs) untypable. This was corrected in the PlayStation 4, PlayStation Vita, and Nintendo Switch versions of the game, as they use an on-screen keyboard.

The following words can't be triggered:

  • sexy
  • foxy
  • tantaliz (covers both "tantalizing" and "tantalize")

Naming the Fallen Human

In the PlayStation 4 and PlayStation Vita versions of the game, entering the name "Gaster" will result in a crash, rather than the intended restart of the game.

(Source: Twitter)