If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Baldi's Basics Plus

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Baldi's Basics Plus

Developer: mystman12
Publisher: Basically, Games!
Platforms: Windows, Mac OS X, Linux
Released internationally: June 20, 2020 (Early Access)
Released in US: June 12, 2020 (Early Access)


CodeIcon.png This game has unused code.
DevMessageIcon.png This game has a hidden developer message.
GraphicsIcon.png This game has unused graphics.
SoundIcon.png This game has unused sounds.
Carts.png This game has revisional differences.
PiracyIcon.png This game has anti-piracy features.


<Sanky> please suggest an unused sprite with a clock or something
This game is still under active development.
Be aware that any unused content you find may become used or removed in the future. Please only add things to the article that are unlikely to ever be used, or went unused for some time. If they do get used, please remove them from the page and specify in the edit summary!

Baldi's Basics Plus is an edutainment parody horror game for PC, Mac and Linux, with console ports planned for the future. It is an expanded version of the game Baldi's Basics Classic that adds things like new characters, randomly generated levels, field trips, and challenges.

Subpages

JohnnyStore.png
Revisional Differences
This game is STILL not what it seems!

Unused Items

Football

Hmm. This isn't right

(in Token: 0x0400061B RID: 1563) Found in the coding is an item named football. This was possibly meant for throwing but never got in the game. The reference is still leftover inside the code.

Nanapeel

Slip and fall

(in // Token: 0x0400061E RID: 1566) Oddly a item named nanapeel is in the coding. Never got in the game. Possible this was for making characters slip.

Fidget Spinner

This was possibly for spinning around.

Unused Sprites

AreaTex.png

Looking through the game files, there is a texture called AreaText.png. The use for it is unknown.

AreaTex.png.png

Calibration Sprites

Some sprites are actually calibration images.

Calibration Value Marker

A downward arrow.

Calibration-value-marker.png

Unused Sounds

BAL_All8

This sound effect was used in the public demo when you find all 8 notebooks. This is never used in the current version of Baldi's Basics Plus.

BAL_CongratsDemo

This was used for the public demo when you complete all the levels it had to offer. It may be a leftover.

BAL_Countdown

All of the sound clips of Baldi saying a number from Baldi's Basics Classic combined. It was initially used for when Baldi started to chase the player until a later update, where an actual countdown was added.

BAL_DemoIntro

This sound clip plays in the title screen for the public demo of the game. It may be a leftover.

JON_InfoExpel

This sound clip should play when hovering over the expel hammer in Johnny's Store. This hammer has not been implemented yet, which explains why this isn't used.

BUL_Sticks

This sound clip was played when It's a Bully took all of your sticks during the camping minigame. After the field trips got revamped in version 3.0, this was left unused.

Test

This sound clip is a direct reference to an unused voice clip found in the files of Sonic's Schoolhouse. It's mystman12 saying "Elephant hit". This was also used in the Testroom Easter egg in Baldi's Basics Classic.

PRI_NoStabbing

This sound clip is Leftover from Baldi's Basics Classic from the scrapped "Pencil Boy" character.

Unused Developer Text

In the game's main folder, "BALDI_Data/StreamingAssets", there are public files called "Subtitles_En" and "Subtitles_Fr". These files are used to modify the main menu texts, item names and subtitles in-game. Both of these files include a "number" test, from 0-9, followed after that by "Elephant Hit." These test lines can be also found in "Subtitles_Fr", but in French. "Elephant Hit" is another direct reference to the unused Sonic's Schoolhouse voice clip.

Subtitles_En

{"items":[
{"key":"Nothing","value":""},

	{"key":"Comment_Vfx_Test starts here","value":"COMMENT"},
{"key":"Vfx_Test_0","value":"0"},
{"key":"Vfx_Test_1","value":"1"},
{"key":"Vfx_Test_2","value":"2"},
{"key":"Vfx_Test_3","value":"3"},
{"key":"Vfx_Test_4","value":"4"},
{"key":"Vfx_Test_5","value":"5"},
{"key":"Vfx_Test_6","value":"6"},
{"key":"Vfx_Test_7","value":"7"},
{"key":"Vfx_Test_8","value":"8"},
{"key":"Vfx_Test_9","value":"9"},
{"key":"Vfx_Test_ElHit","value":"Elephant hit"},

Subtitles_Fr

{"items":[{"key":"Vfx_Test_0","value":"Zéro"},{"key":"Vfx_Test_1","value":"Un"},{"key":"Vfx_Test_2","value":"Deux"},{"key":"Vfx_Test_3","value":"Trois"},{"key":"Vfx_Test_4","value":"Quatre"},{"key":"Vfx_Test_5","value":"Cinq"},{"key":"Vfx_Test_6","value":"Six"},{"key":"Vfx_Test_7","value":"Sept"},{"key":"Vfx_Test_8","value":"Huit"},{"key":"Vfx_Test_9","value":"Neuf"},{"key":"Vfx_Test_ElHit","value":"Éléphant frappé"}]}

Unused Code

Unused CRT Effect

Looking through the files, there are scripts called "BaseCRTEffect" and "CRTEffect". There are multiple mentions in code about a CRT Effect, although it is never used. It may be implemented later in the game.

CRTEffect

using System;
using UnityEngine;

// Token: 0x020001AA RID: 426
[AddComponentMenu("Image Effects/CRT/Ultimate CRT")]
public class CRTEffect : BaseCRTEffect
{
	// Token: 0x06000994 RID: 2452 RVA: 0x00008241 File Offset: 0x00006441
	private void OnPreCull()
	{
		base.InternalPreRender();
	}

	// Token: 0x06000995 RID: 2453 RVA: 0x00008249 File Offset: 0x00006449
	private void OnRenderImage(RenderTexture src, RenderTexture dest)
	{
		base.ProcessEffect(src, dest);
	}
}

Placeholder win manager

Judging by its name. this is a placeholder version of the win screen

using System;
using System.Collections;
using Rewired;
using UnityEngine;

// Token: 0x020000B6 RID: 182
public class PlaceholderWinManager : BaseGameManager
{
	// Token: 0x06000417 RID: 1047 RVA: 0x00019798 File Offset: 0x00017998
	public override void Initialize()
	{
		if (Singleton<CoreGameManager>.Instance.currentMode == Mode.Free)
		{
			Object.Destroy(Singleton<ElevatorScreen>.Instance.gameObject);
			Singleton<CoreGameManager>.Instance.Quit();
			Object.Destroy(base.gameObject);
			return;
		}
		Singleton<CoreGameManager>.Instance.SpawnPlayers(this.ec);
		Singleton<CoreGameManager>.Instance.SaveEnabled = false;
		Singleton<CoreGameManager>.Instance.readyToStart = true;
	}

	// Token: 0x06000418 RID: 1048 RVA: 0x00019800 File Offset: 0x00017A00
	public override void BeginPlay()
	{
		Time.timeScale = 1f;
		AudioListener.pause = false;
		Singleton<MusicManager>.Instance.PlayMidi("DanceV0_5", false);
		this.dancingBaldi.gameObject.SetActive(true);
		Singleton<CoreGameManager>.Instance.GetPlayer(0).Am.moveMods.Add(this.moveMod);
		Singleton<CoreGameManager>.Instance.GetPlayer(0).itm.enabled = false;
		base.StartCoroutine(this.FreakOut());
		for (int i = 0; i < this.balloonCount; i++)
		{
			Object.Instantiate<Balloon>(this.balloonPre[Random.Range(0, this.balloonPre.Length)], this.ec.transform).Initialize(this.ec.rooms[0]);
		}
	}

	// Token: 0x06000419 RID: 1049 RVA: 0x000198CD File Offset: 0x00017ACD
	private IEnumerator FreakOut()
	{
		float time = Random.Range(25f, 35f);
		while (time > 0f)
		{
			time -= Time.deltaTime;
			yield return null;
		}
		time = 2f;
		float swapTime = 0.5f;
		Shader.SetGlobalInt("_ColorGlitching", 1);
		Shader.SetGlobalInt("_ColorGlitchVal", Random.Range(0, 4096));
		Shader.SetGlobalInt("_SpriteColorGlitching", 1);
		Shader.SetGlobalInt("_SpriteColorGlitchVal", Random.Range(0, 4096));
		this.dancingBaldi.glitching = true;
		while (time > 0f)
		{
			time -= Time.deltaTime;
			swapTime -= Time.deltaTime;
			if (swapTime <= 0f)
			{
				Shader.SetGlobalInt("_ColorGlitchVal", Random.Range(0, 4096));
				Shader.SetGlobalInt("_SpriteColorGlitchVal", Random.Range(0, 4096));
				swapTime = 0.5f;
			}
			this.dancingBaldi.SwapSprites();
			yield return null;
		}
		this.endingError.SetActive(true);
		this.dancingBaldi.CrashSound();
		while (!ReInput.players.GetPlayer(0).GetButtonDown("Interact"))
		{
			yield return null;
		}
		this.endingError.SetActive(false);
		this.blackScreen.SetActive(true);
		this.dancingBaldi.crashAudioSource.Stop();
		this.dancingBaldi.glitching = false;
		Singleton<CoreGameManager>.Instance.Quit();
		yield break;
	}

	// Token: 0x040005E7 RID: 1511
	private MovementModifier moveMod = new MovementModifier(default(Vector3), 0f);

	// Token: 0x040005E8 RID: 1512
	[SerializeField]
	private BaldiDance dancingBaldi;

	// Token: 0x040005E9 RID: 1513
	[SerializeField]
	private GameObject endingError;

	// Token: 0x040005EA RID: 1514
	[SerializeField]
	private GameObject blackScreen;

	// Token: 0x040005EB RID: 1515
	[SerializeField]
	private Balloon[] balloonPre = new Balloon[0];

	// Token: 0x040005EC RID: 1516
	public int balloonCount = 4;
}

Tile debug

A script can be seen in a video when mystman12 is making the game. but now is unused

using System;
using UnityEngine;

// Token: 0x02000096 RID: 150
public class TileDebugScript : MonoBehaviour
{
	// Token: 0x0600033D RID: 829 RVA: 0x00015F13 File Offset: 0x00014113
	public void AddPoster()
	{
		this.tile.AddPoster(this.tile.wallDirections[0], this.poster);
	}

	// Token: 0x0600033E RID: 830 RVA: 0x00015F34 File Offset: 0x00014134
	private void OnGUI()
	{
		if (GUI.Button(new Rect(200f, 100f, 100f, 30f), "Add Poster"))
		{
			this.AddPoster();
		}
		if (GUI.Button(new Rect(200f, 140f, 100f, 30f), "Add Window"))
		{
			this.tile.AddHole(this.tile.wallDirections[0], this.windowMask, this.windowCover);
		}
		if (GUI.Button(new Rect(200f, 180f, 100f, 30f), "Turn Red"))
		{
			this.tile.ChangeColor(Color.red);
		}
	}

	// Token: 0x04000507 RID: 1287
	public Material poster;

	// Token: 0x04000508 RID: 1288
	public Material windowMask;

	// Token: 0x04000509 RID: 1289
	public Material windowCover;

	// Token: 0x0400050A RID: 1290
	public TileController tile;
}

Unused Textures

Hmmm...
To do:
See if there are any more leftovers from previous versions of the game.

Old Math Machine Design

This is the old design for the Math Machine. An improved design became used in V0.2.

Prototypemathmachine.png.png








Old Elevator Design

This placeholder graphic for the elevator was replaced with a real texture in V0.2.

KickstarterDemo-Elevator.png







Unused Sad Farm Baldi Animation

This animation of Baldi... bending over to tie his shoes should play after losing the farming minigame, but it does not.

BaldiFarmLose.gif








Unused Playtime Description

This was only used in the first version of the early demo.

Priplaytime.png








Anti-Piracy

Hmmm...
To do:
If it's only in a demo, might be a better fit for a prerelease or proto page.

Look how sad you made him...

The Kickstarter exclusive demo for the game contains an anti-piracy method. If a non-backer or a backer who pledged less than $30 attempts to play the demo, this screen, showing an upset Baldi in his office, will come up along with some unsettling music. This is similar to the anti-piracy method Donkey Kong Country 2 and 3 (as well as Killer Instinct) used, and it may be a reference, as developer mystman12 is a Donkey Kong fan. Another anti-piracy method is also present; while playing, Baldi becomes impossibly quick after collecting only two notebooks, Gotta Sweep has no cooldown between sweeping times, there are 2 Principal of the Things (Principals of the Thing?), and the game will crash randomly. For some reason, however, these anti-piracy methods seem to be absent from the current Early Access build of the game.