package entities;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Animation;
import com.badlogic.gdx.graphics.g2d.Animation.PlayMode;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.utils.Array;
import com.ld58.game.rcr;

import Global.Global;
import u.UIDe;
import u.Uinput;
import u.Uinput1;
import u.Uinput2;
import u.Uinput3;
import u.Uinput4;
import u.Uinput5;
import u.Uinput6;
import u.UsefulMethods;

public class PausePerson extends Sprite {
	public enum State {
		MAIN
	};

	public State currentState;
	public State previousState;
	private Animation<TextureRegion> main;
	private float _animBreakingTimer;
	// private Animation<TextureRegion> walkLeft;
	// private Animation<TextureRegion> walkUp;
	// private Animation<TextureRegion> walkDown;
	// maybe just keep a simple ball that animates or something. Animated would definitely be a rec
	// private Texture ppTexture;
	// private TextureRegion ppRegion;
	private Texture t1;
	private boolean isMain = true;// is the animation set to main
	public Color color;
	public Float speed;
	public Rectangle rect;
	public Rectangle playerSelectRightRect;
	public Rectangle playerSelectLeftRect;
	public Rectangle aimLeftRect;
	public Rectangle aimRightRect;
	public Rectangle aimUpRect;
	public Rectangle aimDownRect;
	public Rectangle saveGameRect;
	public Rectangle loadGameRect;
	public Rectangle muteSoundRect;
	public Rectangle muteMusicRect;
	public Rectangle keyBindingsRect;
	public Rectangle backRect;
	public Rectangle exitGameRect;
	public Rectangle crouchRect;
	public Rectangle sprintRect;
	public Rectangle selectRect;
	public Rectangle startRect;
	public Rectangle keyBindingsBackRect;
	public Rectangle resetSettingsRect;
	public boolean IsSwitchingToKeyBindings;
	public boolean isAimLeftKey;
	public boolean isAimRightKey;
	public boolean isAimUpKey;
	public boolean isAimDownKey;
	public boolean isLeftKey;
	public boolean isRightKey;
	public boolean isUpKey;
	public boolean isDownKey;
	public boolean isFireKey;
	public boolean isJumpKey;
	public boolean isInventoryKey;
	public boolean isCrouchKey;
	public boolean isSprintKey;
	public boolean isSelectKey;
	public boolean isStartKey;
	// controller codes?
	private int _sw;// sprite width
	private int _sh;// sprite height
	protected int MoveBufferX = 0, MoveBufferY = 0;
	private boolean dark;
	private float fadeTimer;
	private int _os = 35;// rectangle Y offset
	private int _osX = 250;// rectangle X offset
	private int _osMenuTextX = 150;// rectangle X offset
	private int _ppOffset = 35;// rectangle X offset
	// sfx
	private Sound moveUp;
	private Sound moveDown;
	private Sound moveRight;
	private Sound moveLeft;
	private Sound select;
	private Sound back;
	private Sound changeKey;
	private Sound roar;
	/// <summary>
	// well, this for pausing the game. Accessing menu options. And for updating input keys for the game.
	// adding in controllers. So,
	// what's important is, being able to register connected controller(s).
	// saving the controllers, or keys, or keyboard, or buttons.
	/// </summary>
	public int SpeedScale = 100;// this... um. did nothing hehehehahahhaha
	public boolean IsBiPolar;
	private int playerSettingNumber = 1;// this is waaaaaay more efficient. I should do this more often.

	public PausePerson(float _x, float _y) {
		rect = new Rectangle();
		rect.x = _x;
		rect.y = _y;
		rect.width = 50;
		rect.height = 50;

		// add menu rectangles. :O _os = offset.
		playerSelectRightRect = new Rectangle(Gdx.graphics.getWidth() - 250f, Gdx.graphics.getHeight() - 16f - _os, 300, 50);// was no _os and 460
		playerSelectLeftRect = new Rectangle(Gdx.graphics.getWidth() - 550f, Gdx.graphics.getHeight() - 16f - _os, 300, 50);// was no _os and 460
		aimLeftRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 50f - _os, 600, 50);// was no _os and 460
		aimRightRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 100f - _os, 600, 50);// was no _os and 460
		aimUpRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 150f - _os, 600, 50);// was no _os and 460
		aimDownRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 200f - _os, 600, 50);// was no _os and 460
		saveGameRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 250f - _os, 600, 50);// was no _os and 460
		loadGameRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 300f - _os, 600, 50);// was no _os and 430
		muteSoundRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 350f - _os, 600, 50);// was no _os and 380
		muteMusicRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 400f - _os, 600, 50);// was no _os and 330
		keyBindingsRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 450f - _os, 600, 50);// was no _os and 280
		backRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 500f - _os, 600, 50);// was no _os and 230
		exitGameRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 550f - _os, 600, 50);// was no _os and 180
		crouchRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 600f - _os, 600, 50);// was no _os and 130
		sprintRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 650f - _os, 600, 50);// was no _os and 80
		selectRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 700f - _os, 600, 50);// was no _os and 30
		startRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 750f - _os, 600, 50);// was no _os and 30
		keyBindingsBackRect = new Rectangle(Gdx.graphics.getWidth() / 2 - _osX, Gdx.graphics.getHeight() - 800f - _os, 600, 50);// was no _os and 30
		resetSettingsRect = new Rectangle(Gdx.graphics.getWidth() - 500f, Gdx.graphics.getHeight() - 840f - _os, 600, 50);// was no _os and 30

		_sw = 50;
		_sh = 50;
		// this is for the animations
		currentState = State.MAIN;
		previousState = State.MAIN;
		_animBreakingTimer = 0f;
		speed = 50f;// how fast the goes//not sure here.
		// sounds
		moveUp = Gdx.audio.newSound(Gdx.files.internal("sfx/click.ogg"));
		moveDown = Gdx.audio.newSound(Gdx.files.internal("sfx/click2.ogg"));
		moveRight = Gdx.audio.newSound(Gdx.files.internal("sfx/click3.ogg"));
		moveLeft = Gdx.audio.newSound(Gdx.files.internal("sfx/click4.ogg"));
		select = Gdx.audio.newSound(Gdx.files.internal("sfx/select.ogg"));
		back = Gdx.audio.newSound(Gdx.files.internal("sfx/back.ogg"));
		changeKey = Gdx.audio.newSound(Gdx.files.internal("sfx/select2.ogg"));
		roar = Gdx.audio.newSound(Gdx.files.internal("sfx/roar.ogg"));
		// get pause person atlas
		t1 = new Texture(Gdx.files.internal("player.png"));
		// animated frames
		Array<TextureRegion> frames = new Array<TextureRegion>();
		frames.add(new TextureRegion(t1, (0 * _sw), (0 * _sh), _sw, _sh));
		frames.add(new TextureRegion(t1, (1 * _sw), (0 * _sh), _sw, _sh));
		main = new Animation<TextureRegion>(.5f, frames, PlayMode.LOOP);// was .06f
		frames.clear();// definitely starts right. then we say, when the line is one length + one _sw worth which would be what in actual numbers?
		// these two are specifically sprite settings to set the sprite's initial bounds and region
		// assign random color
		color = new Color(new Color(MathUtils.random(.5f, 1), MathUtils.random(.1f, 1), MathUtils.random(.8f, 1f), 1));
		setBounds(0, 0, _sw, _sh);
		setOriginCenter();
		setRegion(main.getKeyFrame(_animBreakingTimer, true));
		playerSettingNumber = 1;
	}

	// for all the animations: //this isn't even updated unless i call it from the other screen oh bother. *facepalm*
	public void Update(float dt, OrthographicCamera camera) {
		handleInput(dt, camera);
		Global.P = rect;
	}

	// for all the animations: //this isn't even updated unless i call it from the other screen oh bother. *facepalm*
	public TextureRegion getFrame(float dt, OrthographicCamera camera) {
		Update(dt, camera);

		currentState = getState();

		TextureRegion region;
		switch (currentState) {
		case MAIN:
			region = main.getKeyFrame(_animBreakingTimer, true);
			break;
		default:
			region = main.getKeyFrame(_animBreakingTimer, false);
			break;
		}
		if (isMain)
			_animBreakingTimer += dt;
		else
			_animBreakingTimer = 0;

		return region;
	}

	public State getState() {
		if (isMain)
			return State.MAIN;
		else
			return State.MAIN;
	}

	private void handleInput(float dt, OrthographicCamera camera) {
		// input controls
		boolean isCT = false;
		if (UIDe.JustPressed(Uinput.PPMasterRight())) {
			// System.out.println("right: " + rect.x + " MW: " + HF.MW);
			isCT = rect.x > rcr.MW - _sw ? true : false;// right
			MoveRight(speed, isCT, dt);
			if (!Global.SetVolumeToZero)
				moveRight.play(2f);
		}
		if (UIDe.JustPressed(Uinput.PPMasterLeft())) {
			// System.out.println("ppmasterleft: " + Uinput.PPMasterLeft());
			// System.out.println("left: " + rect.x + " MW: " + HF.MW);
			isCT = rect.x < -5 ? true : false; // left
			MoveLeft(speed, isCT, dt);
			if (!Global.SetVolumeToZero)
				moveLeft.play(2f);
		}
		if (UIDe.JustPressed(Uinput.PPMasterUp())) {
			// System.out.println("up: " + rect.y + " MH: " + HF.MH);
			isCT = rect.y > rcr.MH - _sh ? true : false;// up
			MoveUp(speed, isCT, dt);
			if (!Global.SetVolumeToZero)
				moveUp.play(2f);
		}
		if (UIDe.JustPressed(Uinput.PPMasterDown())) {
			// System.out.println("down: " + rect.y + " MH: " + HF.MH);
			isCT = rect.y < -5 ? true : false;// down
			MoveDown(speed, isCT, dt);
			if (!Global.SetVolumeToZero)
				moveDown.play(2f);
		}
		// I need to add controllers. To this menu. arrg! i see the controllers working when I plug them up and everything. They just need wired in.
		if (playerSettingNumber == 1)
			inputPlayerOneOptions(camera);
		else if (playerSettingNumber == 2)
			inputPlayerTwoOptions(camera);
		else if (playerSettingNumber == 3)
			inputPlayerThreeOptions(camera);
		else if (playerSettingNumber == 4)
			inputPlayerFourOptions(camera);
		else if (playerSettingNumber == 5)
			inputPlayerFiveOptions(camera);
		else if (playerSettingNumber == 6)
			inputPlayerSixOptions(camera);
	}

	private void inputPlayerOneOptions(OrthographicCamera camera) {
		if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.SetVolumeToZero) {
				Global.SetVolumeToZero = false;
				rcr.GameSettings.putBoolean("isSoundMuted", false);
				rcr.GameSettings.flush();
			} else {
				Global.SetVolumeToZero = true;
				rcr.GameSettings.putBoolean("isSoundMuted", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.IsMusicPaused) {
				Global.IsMusicPaused = false;
				rcr.GameSettings.putBoolean("isMusicPaused", false);
				rcr.GameSettings.flush();
			} else {
				Global.IsMusicPaused = true;
				rcr.GameSettings.putBoolean("isMusicPaused", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Global.IsKeyBindings = true;
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			if (!Global.SetVolumeToZero)
				back.play(2f);
			Global.IsPaused = false;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Gdx.app.exit();
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera)) {
			playerSettingNumber = 1;
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera)) {
			playerSettingNumber = 2;
		} else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera)) {
			Global.IsSetKey = true;
			isLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera)) {
			Global.IsSetKey = true;
			isRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera)) {
			Global.IsSetKey = true;
			isUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera)) {
			Global.IsSetKey = true;
			isDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			Global.IsSetKey = true;
			isAimLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			Global.IsSetKey = true;
			isAimRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			Global.IsSetKey = true;
			isAimUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			Global.IsSetKey = true;
			isAimDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			Global.IsSetKey = true;
			isFireKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			Global.IsSetKey = true;
			isJumpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			Global.IsSetKey = true;
			isInventoryKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(crouchRect, camera)) {
			Global.IsSetKey = true;
			isCrouchKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(sprintRect, camera)) {
			Global.IsSetKey = true;
			isSprintKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(selectRect, camera)) {
			Global.IsSetKey = true;
			isSelectKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(startRect, camera)) {
			Global.IsSetKey = true;
			isStartKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera)) {
			Global.IsKeyBindings = false;
			if (!Global.SetVolumeToZero)
				back.play(2f);
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				roar.play(2f);
			rcr.GameSettings.putBoolean("IsFirstTimeRunningGame", false);// trigger pp defaults to load
			rcr.GameSettings.putBoolean("IsFirstTimeRunningGame1", false);// trigger p1 defaults to load
			rcr.GameSettings.flush();
			Uinput.LoadDefaultInputs();// pause player
			Uinput1.LoadDefaultInputs();// player one
			// run it again to refresh the display, now that the boolean is set to true, to show the defaults.
			Uinput.LoadDefaultInputs();// pause player
			Uinput1.LoadDefaultInputs();// player one
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
			rect.x = (Gdx.graphics.getWidth() / 2 - 200f - _ppOffset);
		} else if (isAimLeftKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_aim_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimLeftKey = false;
			}
		} else if (isAimRightKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_aim_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimRightKey = false;
			}
		} else if (isAimUpKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_aim_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimUpKey = false;
			}
		} else if (isAimDownKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_aim_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimDownKey = false;
			}
		} else if (isLeftKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isLeftKey = false;
			}
		} else if (isRightKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isRightKey = false;
			}
		} else if (isUpKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isUpKey = false;
			}
		} else if (isDownKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isDownKey = false;
			}
		} else if (isFireKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_fire_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isFireKey = false;
			}
		} else if (isJumpKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_jump_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isJumpKey = false;
			}
		} else if (isInventoryKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_inventory_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isInventoryKey = false;
			}
		} else if (isCrouchKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_crouch_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isCrouchKey = false;
			}
		} else if (isSprintKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_sprint_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSprintKey = false;
			}
		} else if (isSelectKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_select_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSelectKey = false;
			}
		} else if (isStartKey) {
			if (UIDe.GetAnyPausePersonKeyMouseOrButton("pp_start_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isStartKey = false;
			}
		}
		if (Global.IsSetKey && Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			isAimLeftKey = false;
			isAimRightKey = false;
			isAimUpKey = false;
			isAimDownKey = false;
			isLeftKey = false;
			isRightKey = false;
			isUpKey = false;
			isDownKey = false;
			isFireKey = false;
			isJumpKey = false;
			isInventoryKey = false;
			isCrouchKey = false;
			isSprintKey = false;
			isSelectKey = false;
			isStartKey = false;
		} else if (IsSwitchingToKeyBindings) {
			IsSwitchingToKeyBindings = false;
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			rect.y = (Gdx.graphics.getHeight() - 250f - _ppOffset);
		}

	}

	private void inputPlayerTwoOptions(OrthographicCamera camera) {
		if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.SetVolumeToZero) {
				Global.SetVolumeToZero = false;
				rcr.GameSettings.putBoolean("isSoundMuted", false);
				rcr.GameSettings.flush();
			} else {
				Global.SetVolumeToZero = true;
				rcr.GameSettings.putBoolean("isSoundMuted", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.IsMusicPaused) {
				Global.IsMusicPaused = false;
				rcr.GameSettings.putBoolean("isMusicPaused", false);
				rcr.GameSettings.flush();
			} else {
				Global.IsMusicPaused = true;
				rcr.GameSettings.putBoolean("isMusicPaused", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Global.IsKeyBindings = true;
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			if (!Global.SetVolumeToZero)
				back.play(2f);
			Global.IsPaused = false;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Gdx.app.exit();
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera)) {
			playerSettingNumber = 1;
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera)) {
			playerSettingNumber = 3;
		} else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera)) {
			Global.IsSetKey = true;
			isLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera)) {
			Global.IsSetKey = true;
			isRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera)) {
			Global.IsSetKey = true;
			isUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera)) {
			Global.IsSetKey = true;
			isDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			Global.IsSetKey = true;
			isAimLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			Global.IsSetKey = true;
			isAimRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			Global.IsSetKey = true;
			isAimUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			Global.IsSetKey = true;
			isAimDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			Global.IsSetKey = true;
			isFireKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			Global.IsSetKey = true;
			isJumpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			Global.IsSetKey = true;
			isInventoryKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(crouchRect, camera)) {
			Global.IsSetKey = true;
			isCrouchKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(sprintRect, camera)) {
			Global.IsSetKey = true;
			isSprintKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(selectRect, camera)) {
			Global.IsSetKey = true;
			isSelectKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(startRect, camera)) {
			Global.IsSetKey = true;
			isStartKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera)) {
			Global.IsKeyBindings = false;
			if (!Global.SetVolumeToZero)
				back.play(2f);
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				roar.play(2f);
			rcr.GameSettings.putBoolean("IsFirstTimeRunningGame2", false);// trigger p2 defaults to load
			rcr.GameSettings.flush();
			Uinput2.LoadDefaultInputs();// player two
			// run it again to refresh the display, now that the boolean is set to true, to show the defaults.
			Uinput2.LoadDefaultInputs();// player two
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
			rect.x = (Gdx.graphics.getWidth() / 2 - 200f - _ppOffset);
		} else if (isAimLeftKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_aim_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimLeftKey = false;
			}
		} else if (isAimRightKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_aim_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimRightKey = false;
			}
		} else if (isAimUpKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_aim_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimUpKey = false;
			}
		} else if (isAimDownKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_aim_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimDownKey = false;
			}
		} else if (isLeftKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isLeftKey = false;
			}
		} else if (isRightKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isRightKey = false;
			}
		} else if (isUpKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isUpKey = false;
			}
		} else if (isDownKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isDownKey = false;
			}
		} else if (isFireKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_fire_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isFireKey = false;
			}
		} else if (isJumpKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_jump_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isJumpKey = false;
			}
		} else if (isInventoryKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_inventory_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isInventoryKey = false;
			}
		} else if (isCrouchKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_crouch_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isCrouchKey = false;
			}
		} else if (isSprintKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_sprint_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSprintKey = false;
			}
		} else if (isSelectKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_select_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSelectKey = false;
			}
		} else if (isStartKey) {
			if (UIDe.GetAnyPlayerTwoKeyMouseOrButton("p2_start_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isStartKey = false;
			}
		}
		if (Global.IsSetKey && Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			isAimLeftKey = false;
			isAimRightKey = false;
			isAimUpKey = false;
			isAimDownKey = false;
			isLeftKey = false;
			isRightKey = false;
			isUpKey = false;
			isDownKey = false;
			isFireKey = false;
			isJumpKey = false;
			isInventoryKey = false;
			isCrouchKey = false;
			isSprintKey = false;
			isSelectKey = false;
			isStartKey = false;
		} else if (IsSwitchingToKeyBindings) {
			IsSwitchingToKeyBindings = false;
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			rect.y = (Gdx.graphics.getHeight() - 250f - _ppOffset);
		}

	}

	private void inputPlayerThreeOptions(OrthographicCamera camera) {
		if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.SetVolumeToZero) {
				Global.SetVolumeToZero = false;
				rcr.GameSettings.putBoolean("isSoundMuted", false);
				rcr.GameSettings.flush();
			} else {
				Global.SetVolumeToZero = true;
				rcr.GameSettings.putBoolean("isSoundMuted", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.IsMusicPaused) {
				Global.IsMusicPaused = false;
				rcr.GameSettings.putBoolean("isMusicPaused", false);
				rcr.GameSettings.flush();
			} else {
				Global.IsMusicPaused = true;
				rcr.GameSettings.putBoolean("isMusicPaused", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Global.IsKeyBindings = true;
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			if (!Global.SetVolumeToZero)
				back.play(2f);
			Global.IsPaused = false;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Gdx.app.exit();
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera)) {
			playerSettingNumber = 2;
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera)) {
			playerSettingNumber = 4;
		} else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera)) {
			Global.IsSetKey = true;
			isLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera)) {
			Global.IsSetKey = true;
			isRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera)) {
			Global.IsSetKey = true;
			isUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera)) {
			Global.IsSetKey = true;
			isDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			Global.IsSetKey = true;
			isAimLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			Global.IsSetKey = true;
			isAimRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			Global.IsSetKey = true;
			isAimUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			Global.IsSetKey = true;
			isAimDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			Global.IsSetKey = true;
			isFireKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			Global.IsSetKey = true;
			isJumpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			Global.IsSetKey = true;
			isInventoryKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(crouchRect, camera)) {
			Global.IsSetKey = true;
			isCrouchKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(sprintRect, camera)) {
			Global.IsSetKey = true;
			isSprintKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(selectRect, camera)) {
			Global.IsSetKey = true;
			isSelectKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(startRect, camera)) {
			Global.IsSetKey = true;
			isStartKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera)) {
			Global.IsKeyBindings = false;
			if (!Global.SetVolumeToZero)
				back.play(2f);
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				roar.play(2f);
			rcr.GameSettings.putBoolean("IsFirstTimeRunningGame3", false);// trigger p3 defaults to load
			rcr.GameSettings.flush();
			Uinput3.LoadDefaultInputs();// player three
			// run it again to refresh the display, now that the boolean is set to true, to show the defaults.
			Uinput3.LoadDefaultInputs();// player three
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
			rect.x = (Gdx.graphics.getWidth() / 2 - 200f - _ppOffset);
		} else if (isAimLeftKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_aim_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimLeftKey = false;
			}
		} else if (isAimRightKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_aim_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimRightKey = false;
			}
		} else if (isAimUpKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_aim_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimUpKey = false;
			}
		} else if (isAimDownKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_aim_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimDownKey = false;
			}
		} else if (isLeftKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isLeftKey = false;
			}
		} else if (isRightKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isRightKey = false;
			}
		} else if (isUpKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isUpKey = false;
			}
		} else if (isDownKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isDownKey = false;
			}
		} else if (isFireKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_fire_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isFireKey = false;
			}
		} else if (isJumpKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_jump_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isJumpKey = false;
			}
		} else if (isInventoryKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_inventory_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isInventoryKey = false;
			}
		} else if (isCrouchKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_crouch_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isCrouchKey = false;
			}
		} else if (isSprintKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_sprint_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSprintKey = false;
			}
		} else if (isSelectKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_select_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSelectKey = false;
			}
		} else if (isStartKey) {
			if (UIDe.GetAnyPlayerThreeKeyMouseOrButton("p3_start_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isStartKey = false;
			}
		}
		if (Global.IsSetKey && Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			isAimLeftKey = false;
			isAimRightKey = false;
			isAimUpKey = false;
			isAimDownKey = false;
			isLeftKey = false;
			isRightKey = false;
			isUpKey = false;
			isDownKey = false;
			isFireKey = false;
			isJumpKey = false;
			isInventoryKey = false;
			isCrouchKey = false;
			isSprintKey = false;
			isSelectKey = false;
			isStartKey = false;
		} else if (IsSwitchingToKeyBindings) {
			IsSwitchingToKeyBindings = false;
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			rect.y = (Gdx.graphics.getHeight() - 250f - _ppOffset);
		}

	}

	private void inputPlayerFourOptions(OrthographicCamera camera) {
		if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.SetVolumeToZero) {
				Global.SetVolumeToZero = false;
				rcr.GameSettings.putBoolean("isSoundMuted", false);
				rcr.GameSettings.flush();
			} else {
				Global.SetVolumeToZero = true;
				rcr.GameSettings.putBoolean("isSoundMuted", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.IsMusicPaused) {
				Global.IsMusicPaused = false;
				rcr.GameSettings.putBoolean("isMusicPaused", false);
				rcr.GameSettings.flush();
			} else {
				Global.IsMusicPaused = true;
				rcr.GameSettings.putBoolean("isMusicPaused", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Global.IsKeyBindings = true;
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			if (!Global.SetVolumeToZero)
				back.play(2f);
			Global.IsPaused = false;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Gdx.app.exit();
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera)) {
			playerSettingNumber = 3;
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera)) {
			playerSettingNumber = 5;
		} else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera)) {
			Global.IsSetKey = true;
			isLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera)) {
			Global.IsSetKey = true;
			isRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera)) {
			Global.IsSetKey = true;
			isUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera)) {
			Global.IsSetKey = true;
			isDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			Global.IsSetKey = true;
			isAimLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			Global.IsSetKey = true;
			isAimRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			Global.IsSetKey = true;
			isAimUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			Global.IsSetKey = true;
			isAimDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			Global.IsSetKey = true;
			isFireKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			Global.IsSetKey = true;
			isJumpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			Global.IsSetKey = true;
			isInventoryKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(crouchRect, camera)) {
			Global.IsSetKey = true;
			isCrouchKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(sprintRect, camera)) {
			Global.IsSetKey = true;
			isSprintKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(selectRect, camera)) {
			Global.IsSetKey = true;
			isSelectKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(startRect, camera)) {
			Global.IsSetKey = true;
			isStartKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera)) {
			Global.IsKeyBindings = false;
			if (!Global.SetVolumeToZero)
				back.play(2f);
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				roar.play(2f);
			rcr.GameSettings.putBoolean("IsFirstTimeRunningGame4", false);// trigger p4 defaults to load
			rcr.GameSettings.flush();
			Uinput4.LoadDefaultInputs();// player four
			// run it again to refresh the display, now that the boolean is set to true, to show the defaults.
			Uinput4.LoadDefaultInputs();// player four
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
			rect.x = (Gdx.graphics.getWidth() / 2 - 200f - _ppOffset);
		} else if (isAimLeftKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_aim_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimLeftKey = false;
			}
		} else if (isAimRightKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_aim_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimRightKey = false;
			}
		} else if (isAimUpKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_aim_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimUpKey = false;
			}
		} else if (isAimDownKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_aim_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimDownKey = false;
			}
		} else if (isLeftKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isLeftKey = false;
			}
		} else if (isRightKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isRightKey = false;
			}
		} else if (isUpKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isUpKey = false;
			}
		} else if (isDownKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isDownKey = false;
			}
		} else if (isFireKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_fire_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isFireKey = false;
			}
		} else if (isJumpKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_jump_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isJumpKey = false;
			}
		} else if (isInventoryKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_inventory_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isInventoryKey = false;
			}
		} else if (isCrouchKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_crouch_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isCrouchKey = false;
			}
		} else if (isSprintKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_sprint_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSprintKey = false;
			}
		} else if (isSelectKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_select_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSelectKey = false;
			}
		} else if (isStartKey) {
			if (UIDe.GetAnyPlayerFourKeyMouseOrButton("p4_start_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isStartKey = false;
			}
		}
		if (Global.IsSetKey && Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			isAimLeftKey = false;
			isAimRightKey = false;
			isAimUpKey = false;
			isAimDownKey = false;
			isLeftKey = false;
			isRightKey = false;
			isUpKey = false;
			isDownKey = false;
			isFireKey = false;
			isJumpKey = false;
			isInventoryKey = false;
			isCrouchKey = false;
			isSprintKey = false;
			isSelectKey = false;
			isStartKey = false;
		} else if (IsSwitchingToKeyBindings) {
			IsSwitchingToKeyBindings = false;
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			rect.y = (Gdx.graphics.getHeight() - 250f - _ppOffset);
		}

	}

	private void inputPlayerFiveOptions(OrthographicCamera camera) {
		if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.SetVolumeToZero) {
				Global.SetVolumeToZero = false;
				rcr.GameSettings.putBoolean("isSoundMuted", false);
				rcr.GameSettings.flush();
			} else {
				Global.SetVolumeToZero = true;
				rcr.GameSettings.putBoolean("isSoundMuted", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.IsMusicPaused) {
				Global.IsMusicPaused = false;
				rcr.GameSettings.putBoolean("isMusicPaused", false);
				rcr.GameSettings.flush();
			} else {
				Global.IsMusicPaused = true;
				rcr.GameSettings.putBoolean("isMusicPaused", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Global.IsKeyBindings = true;
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			if (!Global.SetVolumeToZero)
				back.play(2f);
			Global.IsPaused = false;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Gdx.app.exit();
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera)) {
			playerSettingNumber = 4;
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera)) {
			playerSettingNumber = 6;
		} else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera)) {
			Global.IsSetKey = true;
			isLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera)) {
			Global.IsSetKey = true;
			isRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera)) {
			Global.IsSetKey = true;
			isUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera)) {
			Global.IsSetKey = true;
			isDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			Global.IsSetKey = true;
			isAimLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			Global.IsSetKey = true;
			isAimRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			Global.IsSetKey = true;
			isAimUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			Global.IsSetKey = true;
			isAimDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			Global.IsSetKey = true;
			isFireKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			Global.IsSetKey = true;
			isJumpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			Global.IsSetKey = true;
			isInventoryKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(crouchRect, camera)) {
			Global.IsSetKey = true;
			isCrouchKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(sprintRect, camera)) {
			Global.IsSetKey = true;
			isSprintKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(selectRect, camera)) {
			Global.IsSetKey = true;
			isSelectKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(startRect, camera)) {
			Global.IsSetKey = true;
			isStartKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera)) {
			Global.IsKeyBindings = false;
			if (!Global.SetVolumeToZero)
				back.play(2f);
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				roar.play(2f);
			rcr.GameSettings.putBoolean("IsFirstTimeRunningGame5", false);// trigger p5 defaults to load
			rcr.GameSettings.flush();
			Uinput5.LoadDefaultInputs();// player five
			// run it again to refresh the display, now that the boolean is set to true, to show the defaults.
			Uinput5.LoadDefaultInputs();// player five
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
			rect.x = (Gdx.graphics.getWidth() / 2 - 200f - _ppOffset);
		} else if (isAimLeftKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_aim_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimLeftKey = false;
			}
		} else if (isAimRightKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_aim_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimRightKey = false;
			}
		} else if (isAimUpKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_aim_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimUpKey = false;
			}
		} else if (isAimDownKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_aim_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimDownKey = false;
			}
		} else if (isLeftKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isLeftKey = false;
			}
		} else if (isRightKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isRightKey = false;
			}
		} else if (isUpKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isUpKey = false;
			}
		} else if (isDownKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isDownKey = false;
			}
		} else if (isFireKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_fire_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isFireKey = false;
			}
		} else if (isJumpKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_jump_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isJumpKey = false;
			}
		} else if (isInventoryKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_inventory_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isInventoryKey = false;
			}
		} else if (isCrouchKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_crouch_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isCrouchKey = false;
			}
		} else if (isSprintKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_sprint_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSprintKey = false;
			}
		} else if (isSelectKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_select_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSelectKey = false;
			}
		} else if (isStartKey) {
			if (UIDe.GetAnyPlayerFiveKeyMouseOrButton("p5_start_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isStartKey = false;
			}
		}
		if (Global.IsSetKey && Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			isAimLeftKey = false;
			isAimRightKey = false;
			isAimUpKey = false;
			isAimDownKey = false;
			isLeftKey = false;
			isRightKey = false;
			isUpKey = false;
			isDownKey = false;
			isFireKey = false;
			isJumpKey = false;
			isInventoryKey = false;
			isCrouchKey = false;
			isSprintKey = false;
			isSelectKey = false;
			isStartKey = false;
		} else if (IsSwitchingToKeyBindings) {
			IsSwitchingToKeyBindings = false;
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			rect.y = (Gdx.graphics.getHeight() - 250f - _ppOffset);
		}

	}

	private void inputPlayerSixOptions(OrthographicCamera camera) {
		if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.SetVolumeToZero) {
				Global.SetVolumeToZero = false;
				rcr.GameSettings.putBoolean("isSoundMuted", false);
				rcr.GameSettings.flush();
			} else {
				Global.SetVolumeToZero = true;
				rcr.GameSettings.putBoolean("isSoundMuted", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			if (Global.IsMusicPaused) {
				Global.IsMusicPaused = false;
				rcr.GameSettings.putBoolean("isMusicPaused", false);
				rcr.GameSettings.flush();
			} else {
				Global.IsMusicPaused = true;
				rcr.GameSettings.putBoolean("isMusicPaused", true);
				rcr.GameSettings.flush();
			}
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Global.IsKeyBindings = true;
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			if (!Global.SetVolumeToZero)
				back.play(2f);
			Global.IsPaused = false;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && !Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && !Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			if (!Global.SetVolumeToZero)
				select.play(2f);
			Gdx.app.exit();
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera)) {
			playerSettingNumber = 5;
		} else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera)) {
			playerSettingNumber = 6;// will be 7... TODO: do 7. (this represents the current one I'm on. Should be the lower number +2 for this one when we're done.
		} else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings && !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera)) {
			Global.IsSetKey = true;
			isLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera)) {
			Global.IsSetKey = true;
			isRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera)) {
			Global.IsSetKey = true;
			isUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera)) {
			Global.IsSetKey = true;
			isDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera)) {
			Global.IsSetKey = true;
			isAimLeftKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera)) {
			Global.IsSetKey = true;
			isAimRightKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera)) {
			Global.IsSetKey = true;
			isAimUpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera)) {
			Global.IsSetKey = true;
			isAimDownKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera)) {
			Global.IsSetKey = true;
			isFireKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(backRect, camera)) {
			Global.IsSetKey = true;
			isJumpKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera)) {
			Global.IsSetKey = true;
			isInventoryKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(crouchRect, camera)) {
			Global.IsSetKey = true;
			isCrouchKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(sprintRect, camera)) {
			Global.IsSetKey = true;
			isSprintKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(selectRect, camera)) {
			Global.IsSetKey = true;
			isSelectKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(startRect, camera)) {
			Global.IsSetKey = true;
			isStartKey = true;
		} else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				&& !Global.IsSetKey
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && !Global.IsSetKey
						&& UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera)) {
			Global.IsKeyBindings = false;
			if (!Global.SetVolumeToZero)
				back.play(2f);
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset) && Gdx.input.isKeyJustPressed(Input.Keys.ENTER) && Global.IsKeyBindings
				|| Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && Global.IsKeyBindings && UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera)) {
			if (!Global.SetVolumeToZero)
				roar.play(2f);
			rcr.GameSettings.putBoolean("IsFirstTimeRunningGame6", false);// trigger p6 defaults to load
			rcr.GameSettings.flush();
			Uinput6.LoadDefaultInputs();// player six
			// run it again to refresh the display, now that the boolean is set to true, to show the defaults.
			Uinput6.LoadDefaultInputs();// player six
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
			rect.x = (Gdx.graphics.getWidth() / 2 - 200f - _ppOffset);
		} else if (isAimLeftKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_aim_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimLeftKey = false;
			}
		} else if (isAimRightKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_aim_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimRightKey = false;
			}
		} else if (isAimUpKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_aim_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimUpKey = false;
			}
		} else if (isAimDownKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_aim_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isAimDownKey = false;
			}
		} else if (isLeftKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_left_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isLeftKey = false;
			}
		} else if (isRightKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_right_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isRightKey = false;
			}
		} else if (isUpKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_up_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isUpKey = false;
			}
		} else if (isDownKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_down_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isDownKey = false;
			}
		} else if (isFireKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_fire_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isFireKey = false;
			}
		} else if (isJumpKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_jump_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isJumpKey = false;
			}
		} else if (isInventoryKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_inventory_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isInventoryKey = false;
			}
		} else if (isCrouchKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_crouch_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isCrouchKey = false;
			}
		} else if (isSprintKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_sprint_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSprintKey = false;
			}
		} else if (isSelectKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_select_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isSelectKey = false;
			}
		} else if (isStartKey) {
			if (UIDe.GetAnyPlayerSixKeyMouseOrButton("p6_start_key")) {
				if (!Global.SetVolumeToZero)
					changeKey.play(2f);
				Global.IsSetKey = false;
				isStartKey = false;
			}
		}
		if (Global.IsSetKey && Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			isAimLeftKey = false;
			isAimRightKey = false;
			isAimUpKey = false;
			isAimDownKey = false;
			isLeftKey = false;
			isRightKey = false;
			isUpKey = false;
			isDownKey = false;
			isFireKey = false;
			isJumpKey = false;
			isInventoryKey = false;
			isCrouchKey = false;
			isSprintKey = false;
			isSelectKey = false;
			isStartKey = false;
		} else if (IsSwitchingToKeyBindings) {
			IsSwitchingToKeyBindings = false;
			rect.y = (Gdx.graphics.getHeight() - 500f - _ppOffset);
		} else if (Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
			rect.y = (Gdx.graphics.getHeight() - 250f - _ppOffset);
		}

	}

	public void MoveRight(float speed, boolean isColl, float dt) {
		if (isColl)
			rect.x += 0;
		else
			rect.x += 0;// was speed. trying without * dt
		if (playerSettingNumber < 6 && !Global.IsSetKey)// TODO add 7 next. lol
			playerSettingNumber++;
	}

	public void MoveLeft(float speed, boolean isColl, float dt) {
		// test this:
		if (isColl)
			rect.x -= 0;
		else
			rect.x -= 0;// was speed
		if (playerSettingNumber > 1 && !Global.IsSetKey)
			playerSettingNumber--;
	}

	public void MoveUp(float speed, boolean isColl, float dt) {
		if (isColl) {
			rect.y += 0;
			rect.x = Gdx.graphics.getWidth() / 2 - 220f;
		} else if (Global.IsKeyBindings && rect.x > (Gdx.graphics.getWidth() / 2)) {
			rect.y += 25f;
			rect.x = Gdx.graphics.getWidth() / 2 - 220f;
		} else {
			rect.y += speed;
			rect.x = Gdx.graphics.getWidth() / 2 - 220f;
		}
		// this is after the move. See if it's too far, if so adjust.
		if (Global.IsKeyBindings && rect.y > (Gdx.graphics.getHeight() - 50f - _ppOffset)) {
			rect.y = (Gdx.graphics.getHeight() - 825f - _ppOffset);
			rect.x = 1080;
		} else if (!Global.IsKeyBindings && rect.y > (Gdx.graphics.getHeight() - 250f - _ppOffset))
			rect.y = (Gdx.graphics.getHeight() - 550f - _ppOffset);
	}

	public void MoveDown(float speed, boolean isColl, float dt) {
		if (isColl) {
			rect.y -= 0;
			rect.x = Gdx.graphics.getWidth() / 2 - 220f;
		} else if (Global.IsKeyBindings && rect.y < (Gdx.graphics.getHeight() - 750f - _ppOffset)) {// if at the bottom account for the 1/2 step.
			rect.y -= 25f;
			rect.x = 1080f;
		} else {
			rect.y -= speed;
			rect.x = Gdx.graphics.getWidth() / 2 - 220f;
		}
		// this is after the move. See if it's too far, if so adjust.
		if (Global.IsKeyBindings && rect.y < (Gdx.graphics.getHeight() - 825f - _ppOffset)) {
			rect.y = (Gdx.graphics.getHeight() - 50f - _ppOffset);
			rect.x = Gdx.graphics.getWidth() / 2 - 220f;
		} else if (!Global.IsKeyBindings && rect.y < (Gdx.graphics.getHeight() - 550f - _ppOffset))
			rect.y = (Gdx.graphics.getHeight() - 250f - _ppOffset);
	}

	public void RenderEntirePauseMenu(float dt, rcr game, BitmapFont font, Music rainMusic, OrthographicCamera camera) {
		// the timer needs to run before you set it.
		if (fadeTimer <= .2f)
			dark = true;
		else if (fadeTimer >= 1)
			dark = false;
		if (dark)
			fadeTimer += .02f;
		else
			fadeTimer -= .02f;
		font.setColor(3f, 1f, 3f, fadeTimer);
		font.draw(game.batch, "Game is paused", Gdx.graphics.getWidth() / 2 - 100, Gdx.graphics.getHeight() - 16f);
		if (playerSettingNumber == 1)
			renderPlayerOneSettingsMenu(dt, game, font, rainMusic, camera);
		else if (playerSettingNumber == 2)
			renderPlayerTwoSettingsMenu(dt, game, font, rainMusic, camera);
		else if (playerSettingNumber == 3)
			renderPlayerThreeSettingsMenu(dt, game, font, rainMusic, camera);
		else if (playerSettingNumber == 4)
			renderPlayerFourSettingsMenu(dt, game, font, rainMusic, camera);
		else if (playerSettingNumber == 5)
			renderPlayerFiveSettingsMenu(dt, game, font, rainMusic, camera);
		else if (playerSettingNumber == 6)
			renderPlayerSixSettingsMenu(dt, game, font, rainMusic, camera);

		// the pause person actor should be able to be used now to move up and down the menu and navigate the menu. Or if mouse interaction is fine,
		// use
		// that.
		game.batch.setColor(color);
		game.batch.draw(getFrame(dt, camera), rect.x + fadeTimer, rect.y);
		game.batch.end();
	}

	private void renderPlayerOneSettingsMenu(float dt, rcr game, BitmapFont font, Music rainMusic, OrthographicCamera camera) {
		if (Global.IsKeyBindings) {
			if (Global.IsSetKey) {
				font.draw(game.batch, "Please Press Any Key To Set Key", Gdx.graphics.getWidth() - 950f, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, ":-)", Gdx.graphics.getWidth() - 350f, Gdx.graphics.getHeight() - 250f);
			} else {
				if (UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera))
					font.setColor(.1f, fadeTimer, .5f, .8f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else if (UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera))
					font.setColor(fadeTimer, .5f, .9f, 1f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Player One Controls ->", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 16f);

				if (UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 50f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 50f);

				if (UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 100f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 100f);

				if (UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 150f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 150f);

				if (UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 200f);

				if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterAimLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 250f);

				if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterAimRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 300f);

				if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterAimUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 350f);

				if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterAimDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 400f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Fire", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterFire()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 450f);

				if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Jump", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterJump()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 500f);

				if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Block", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterInventory()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 550f);

				if (UsefulMethods.IsMouseInsideRectangle(crouchRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Crouch", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 600f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterCrouch()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 600f);

				if (UsefulMethods.IsMouseInsideRectangle(sprintRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Sprint", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 650f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterSprint()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 650f);

				if (UsefulMethods.IsMouseInsideRectangle(selectRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Select", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 700f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterSelect()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 700f);

				if (UsefulMethods.IsMouseInsideRectangle(startRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Start", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 750f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput.PPMasterStart()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 750f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 800f);
				font.draw(game.batch, "Let it go back to pause screen", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 800f);

				if (UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Reset to Defaults", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 825f);
			}
		} else {
			font.setColor(3f, 1f, 3f, fadeTimer);
			font.draw(game.batch, "Game is paused", Gdx.graphics.getWidth() / 2 - 100, Gdx.graphics.getHeight() - 16f);

			if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Save Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);

			if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Load Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);

			if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Sound      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
			if (Global.SetVolumeToZero) {
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			} else {
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Music      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
			if (Global.IsMusicPaused) {
				rainMusic.pause();
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			} else {
				rainMusic.play();
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Key Bindings", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);

			if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);

			if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Exit game? Clearly I haven't won yet!", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
		}

	}

	private void renderPlayerTwoSettingsMenu(float dt, rcr game, BitmapFont font, Music rainMusic, OrthographicCamera camera) {
		if (Global.IsKeyBindings) {
			if (Global.IsSetKey) {
				font.draw(game.batch, "Please Press Any Key To Set Key", Gdx.graphics.getWidth() - 950f, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, ":-)", Gdx.graphics.getWidth() - 350f, Gdx.graphics.getHeight() - 250f);
			} else {
				if (UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera))
					font.setColor(fadeTimer, .1f, .5f, .8f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else if (UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera))
					font.setColor(.5f, fadeTimer, .9f, 1f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "<- Player Two Controls ->", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 16f);

				if (UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 50f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 50f);

				if (UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 100f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 100f);

				if (UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 150f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 150f);

				if (UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 200f);

				if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterAimLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 250f);

				if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterAimRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 300f);

				if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterAimUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 350f);

				if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterAimDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 400f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Fire", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterFire()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 450f);

				if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Jump", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterJump()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 500f);

				if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Block", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterInventory()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 550f);

				if (UsefulMethods.IsMouseInsideRectangle(crouchRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Crouch", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 600f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterCrouch()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 600f);

				if (UsefulMethods.IsMouseInsideRectangle(sprintRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Sprint", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 650f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterSprint()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 650f);

				if (UsefulMethods.IsMouseInsideRectangle(selectRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Select", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 700f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterSelect()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 700f);

				if (UsefulMethods.IsMouseInsideRectangle(startRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Start", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 750f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput2.P2MasterStart()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 750f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 800f);
				font.draw(game.batch, "Let it go back to pause screen", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 800f);

				if (UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Reset to Defaults", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 825f);
			}
		} else {
			font.setColor(3f, 1f, 3f, fadeTimer);
			font.draw(game.batch, "Game is paused", Gdx.graphics.getWidth() / 2 - 100, Gdx.graphics.getHeight() - 16f);

			if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Save Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);

			if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Load Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);

			if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Sound      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
			if (Global.SetVolumeToZero) {
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			} else {
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Music      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
			if (Global.IsMusicPaused) {
				rainMusic.pause();
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			} else {
				rainMusic.play();
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Key Bindings", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);

			if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);

			if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "this exits the game for sure", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
		}

	}

	private void renderPlayerThreeSettingsMenu(float dt, rcr game, BitmapFont font, Music rainMusic, OrthographicCamera camera) {
		if (Global.IsKeyBindings) {
			if (Global.IsSetKey) {
				font.draw(game.batch, "Please Press Any Key To Set Key", Gdx.graphics.getWidth() - 950f, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, ":-)", Gdx.graphics.getWidth() - 350f, Gdx.graphics.getHeight() - 250f);
			} else {
				if (UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera))
					font.setColor(fadeTimer, .1f, .5f, .8f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else if (UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera))
					font.setColor(.5f, fadeTimer, .9f, 1f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "<- Player Three Controls ->", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 16f);

				if (UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 50f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 50f);

				if (UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 100f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 100f);

				if (UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 150f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 150f);

				if (UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 200f);

				if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterAimLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 250f);

				if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterAimRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 300f);

				if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterAimUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 350f);

				if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterAimDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 400f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Fire", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterFire()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 450f);

				if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Jump", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterJump()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 500f);

				if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Block", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterInventory()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 550f);

				if (UsefulMethods.IsMouseInsideRectangle(crouchRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Crouch", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 600f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterCrouch()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 600f);

				if (UsefulMethods.IsMouseInsideRectangle(sprintRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Sprint", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 650f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterSprint()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 650f);

				if (UsefulMethods.IsMouseInsideRectangle(selectRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Select", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 700f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterSelect()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 700f);

				if (UsefulMethods.IsMouseInsideRectangle(startRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Start", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 750f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput3.P3MasterStart()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 750f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 800f);
				font.draw(game.batch, "Let it go back to pause screen", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 800f);

				if (UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Reset to Defaults", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 825f);
			}
		} else {
			font.setColor(3f, 1f, 3f, fadeTimer);
			font.draw(game.batch, "Game is paused", Gdx.graphics.getWidth() / 2 - 100, Gdx.graphics.getHeight() - 16f);

			if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Save Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);

			if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Load Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);

			if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Sound      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
			if (Global.SetVolumeToZero) {
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			} else {
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Music      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
			if (Global.IsMusicPaused) {
				rainMusic.pause();
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			} else {
				rainMusic.play();
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Key Bindings", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);

			if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);

			if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "but this is the way to exit the game...", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
		}

	}

	private void renderPlayerFourSettingsMenu(float dt, rcr game, BitmapFont font, Music rainMusic, OrthographicCamera camera) {
		if (Global.IsKeyBindings) {
			if (Global.IsSetKey) {
				font.draw(game.batch, "Please Press Any Key To Set Key", Gdx.graphics.getWidth() - 950f, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, ":-)", Gdx.graphics.getWidth() - 350f, Gdx.graphics.getHeight() - 250f);
			} else {
				if (UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera))
					font.setColor(fadeTimer, .1f, .5f, .8f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else if (UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera))
					font.setColor(.5f, fadeTimer, .9f, 1f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "<- Player Four Controls ->", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 16f);

				if (UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 50f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 50f);

				if (UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 100f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 100f);

				if (UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 150f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 150f);

				if (UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 200f);

				if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterAimLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 250f);

				if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterAimRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 300f);

				if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterAimUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 350f);

				if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterAimDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 400f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Fire", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterFire()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 450f);

				if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Jump", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterJump()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 500f);

				if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Block", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterInventory()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 550f);

				if (UsefulMethods.IsMouseInsideRectangle(crouchRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Crouch", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 600f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterCrouch()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 600f);

				if (UsefulMethods.IsMouseInsideRectangle(sprintRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Sprint", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 650f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterSprint()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 650f);

				if (UsefulMethods.IsMouseInsideRectangle(selectRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Select", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 700f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterSelect()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 700f);

				if (UsefulMethods.IsMouseInsideRectangle(startRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Start", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 750f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput4.P4MasterStart()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 750f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 800f);
				font.draw(game.batch, "Let it go back to pause screen", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 800f);

				if (UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Reset to Defaults", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 825f);
			}
		} else {
			font.setColor(3f, 1f, 3f, fadeTimer);
			font.draw(game.batch, "Game is paused", Gdx.graphics.getWidth() / 2 - 100, Gdx.graphics.getHeight() - 16f);

			if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Save Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);

			if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Load Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);

			if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Sound      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
			if (Global.SetVolumeToZero) {
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			} else {
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Music      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
			if (Global.IsMusicPaused) {
				rainMusic.pause();
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			} else {
				rainMusic.play();
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Key Bindings", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);

			if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);

			if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "leave the game, just click here.", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
		}

	}

	private void renderPlayerFiveSettingsMenu(float dt, rcr game, BitmapFont font, Music rainMusic, OrthographicCamera camera) {
		if (Global.IsKeyBindings) {
			if (Global.IsSetKey) {
				font.draw(game.batch, "Please Press Any Key To Set Key", Gdx.graphics.getWidth() - 950f, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, ":-)", Gdx.graphics.getWidth() - 350f, Gdx.graphics.getHeight() - 250f);
			} else {
				if (UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera))
					font.setColor(fadeTimer, .1f, .5f, .8f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else if (UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera))
					font.setColor(.5f, fadeTimer, .9f, 1f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "<- Player Five Controls ->", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 16f);

				if (UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 50f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 50f);

				if (UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 100f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 100f);

				if (UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 150f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 150f);

				if (UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 200f);

				if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterAimLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 250f);

				if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterAimRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 300f);

				if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterAimUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 350f);

				if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterAimDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 400f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Fire", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterFire()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 450f);

				if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Jump", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterJump()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 500f);

				if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Block", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterInventory()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 550f);

				if (UsefulMethods.IsMouseInsideRectangle(crouchRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Crouch", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 600f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterCrouch()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 600f);

				if (UsefulMethods.IsMouseInsideRectangle(sprintRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Sprint", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 650f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterSprint()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 650f);

				if (UsefulMethods.IsMouseInsideRectangle(selectRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Select", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 700f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterSelect()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 700f);

				if (UsefulMethods.IsMouseInsideRectangle(startRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Start", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 750f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput5.P5MasterStart()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 750f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 800f);
				font.draw(game.batch, "Let it go back to pause screen", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 800f);

				if (UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Reset to Defaults", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 825f);
			}
		} else {
			font.setColor(3f, 1f, 3f, fadeTimer);
			font.draw(game.batch, "Game is paused", Gdx.graphics.getWidth() / 2 - 100, Gdx.graphics.getHeight() - 16f);

			if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Save Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);

			if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Load Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);

			if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Sound      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
			if (Global.SetVolumeToZero) {
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			} else {
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Music      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
			if (Global.IsMusicPaused) {
				rainMusic.pause();
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			} else {
				rainMusic.play();
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Key Bindings", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);

			if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);

			if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Exit? what? I guess you can.", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
		}

	}

	private void renderPlayerSixSettingsMenu(float dt, rcr game, BitmapFont font, Music rainMusic, OrthographicCamera camera) {
		if (Global.IsKeyBindings) {
			if (Global.IsSetKey) {
				font.draw(game.batch, "Please Press Any Key To Set Key", Gdx.graphics.getWidth() - 950f, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, ":-)", Gdx.graphics.getWidth() - 350f, Gdx.graphics.getHeight() - 250f);
			} else {
				if (UsefulMethods.IsMouseInsideRectangle(playerSelectRightRect, camera))
					font.setColor(fadeTimer, .1f, .5f, .8f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else if (UsefulMethods.IsMouseInsideRectangle(playerSelectLeftRect, camera))
					font.setColor(.5f, fadeTimer, .9f, 1f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 16f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "<- Player Six Controls ->", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 16f);

				if (UsefulMethods.IsMouseInsideRectangle(aimLeftRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 50f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 50f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 50f);

				if (UsefulMethods.IsMouseInsideRectangle(aimRightRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 100f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 100f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 100f);

				if (UsefulMethods.IsMouseInsideRectangle(aimUpRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 150f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 150f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 150f);

				if (UsefulMethods.IsMouseInsideRectangle(aimDownRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 200f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Move Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 200f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 200f);

				if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Left", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterAimLeft()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 250f);

				if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Right", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterAimRight()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 300f);

				if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Up", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterAimUp()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 350f);

				if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Aim Down", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterAimDown()), Gdx.graphics.getWidth() - 750f, Gdx.graphics.getHeight() - 400f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Fire", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterFire()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 450f);

				if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Jump", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterJump()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 500f);

				if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Block", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterInventory()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 550f);

				if (UsefulMethods.IsMouseInsideRectangle(crouchRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 600f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Crouch", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 600f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterCrouch()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 600f);

				if (UsefulMethods.IsMouseInsideRectangle(sprintRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 650f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Sprint", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 650f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterSprint()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 650f);

				if (UsefulMethods.IsMouseInsideRectangle(selectRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 700f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Select", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 700f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterSelect()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 700f);

				if (UsefulMethods.IsMouseInsideRectangle(startRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 750f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Start", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 750f);
				font.draw(game.batch, "" + UIDe.GetMappedKey(Uinput6.P6MasterStart()), Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f,
						Gdx.graphics.getHeight() - 750f);

				if (UsefulMethods.IsMouseInsideRectangle(keyBindingsBackRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 800f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 800f);
				font.draw(game.batch, "Let it go back to pause screen", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 800f);

				if (UsefulMethods.IsMouseInsideRectangle(resetSettingsRect, camera))
					font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
				else if (rect.y == (Gdx.graphics.getHeight() - 825f - _ppOffset))
					font.setColor(fadeTimer, fadeTimer, 1f, 1f);
				else
					font.setColor(1f, 1f, 1f, 1f);
				font.draw(game.batch, "Reset to Defaults", Gdx.graphics.getWidth() - 450f, Gdx.graphics.getHeight() - 825f);
			}
		} else {
			font.setColor(3f, 1f, 3f, fadeTimer);
			font.draw(game.batch, "Game is paused", Gdx.graphics.getWidth() / 2 - 100, Gdx.graphics.getHeight() - 16f);

			if (UsefulMethods.IsMouseInsideRectangle(saveGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 250f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Save Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 250f);

			if (UsefulMethods.IsMouseInsideRectangle(loadGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else if (rect.y == (Gdx.graphics.getHeight() - 300f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, .5f);// testing when implemented, set it back to 1f for the alpha.
			else
				font.setColor(.5f, .5f, .5f, 1f);// testing when implemented, set it back to 1f for each.
			font.draw(game.batch, "Load Game", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 300f);

			if (UsefulMethods.IsMouseInsideRectangle(muteSoundRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 350f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Sound      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 350f);
			if (Global.SetVolumeToZero) {
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			} else {
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 350f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(muteMusicRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 400f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Mute Music      (shhh)", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 400f);
			if (Global.IsMusicPaused) {
				rainMusic.pause();
				font.draw(game.batch, "[X]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			} else {
				rainMusic.play();
				font.draw(game.batch, "[ ]", Gdx.graphics.getWidth() / 2 - _osMenuTextX + 200f, Gdx.graphics.getHeight() - 400f);
			}

			if (UsefulMethods.IsMouseInsideRectangle(keyBindingsRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 450f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Key Bindings", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 450f);

			if (UsefulMethods.IsMouseInsideRectangle(backRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 500f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "Back", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 500f);

			if (UsefulMethods.IsMouseInsideRectangle(exitGameRect, camera))
				font.setColor(fadeTimer, 1f, .5f, 1f);
			else if (rect.y == (Gdx.graphics.getHeight() - 550f - _ppOffset))
				font.setColor(fadeTimer, fadeTimer, 1f, 1f);
			else
				font.setColor(1f, 1f, 1f, 1f);
			font.draw(game.batch, "EXIT GAME, you'll lose everything!", Gdx.graphics.getWidth() / 2 - _osMenuTextX, Gdx.graphics.getHeight() - 550f);
		}

	}
}