return Def.ActorFrame {		
		
		LoadActor("BAL_ONE") .. {
		InitCommand=cmd(x,THEME:GetMetric(Var "LoadingScreen","CreditsP1X");y,THEME:GetMetric(Var "LoadingScreen","CreditsP1Y")-50;zoom,1.7;visible,0;playcommand,"CheckCoins");
		
		
		CheckCoinsCommand=function(self)
			if GAMESTATE:GetCoins() > 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
				self:visible(1);
			end;

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
						
		end;
				
		ScreenChangedMessageCommand=cmd(playcommand,"CheckCoins");

		CoinInsertedMessageCommand=function(self)
		
			if GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
				self:visible(1);

			end;

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
		end;



		PlayerJoinedMessageCommand=function(self,params)

			if params.Player == "PlayerNumber_P1" then
				self:visible(0);
			end;		

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;

			if GAMESTATE:GetCoins() == 0 then
				self:visible(0);
			end;


		end;
	};	
		
		

		LoadActor("BAL_EFFECT") .. {
			Frame0000 = 0; 
			Delay0000 = 0.09; 
			Frame0001 = 1; 
			Delay0001 = 0.09;
			Frame0002 = 2; 
			Delay0002 = 0.09;
			Frame0003 = 3; 
			Delay0003 = 0.09;
			Frame0004 = 4; 
			Delay0004 = 0.09;
			Frame0005 = 5; 
			Delay0005 = 0.09;
			Frame0006 = 6; 
			Delay0006 = 0.09;

		InitCommand=cmd(x,THEME:GetMetric(Var "LoadingScreen","CreditsP1X");y,THEME:GetMetric(Var "LoadingScreen","CreditsP1Y")-21;blend,"BlendMode_Add";zoomy,0.8;zoomx,1.7;visible,0;playcommand,"CheckCoins");
		
		
		CheckCoinsCommand=function(self)
			if GAMESTATE:GetCoins() > 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
				self:visible(1);
			end;

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
			
		end;
				
		ScreenChangedMessageCommand=cmd(playcommand,"CheckCoins");

		CoinInsertedMessageCommand=function(self)
		
			if GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
				self:visible(1);

			end;
			
			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
			
		end;



		PlayerJoinedMessageCommand=function(self,params)

			if params.Player == "PlayerNumber_P1" then
				self:visible(0);
			end;		

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;

			if GAMESTATE:GetCoins() == 0 then
				self:visible(0);
			end;


		end;
	};	



	LoadActor("1P_Arrow") .. {
		InitCommand=cmd(x,THEME:GetMetric(Var "LoadingScreen","CreditsP1X")-0.75;y,THEME:GetMetric(Var "LoadingScreen","CreditsP1Y")-47;zoom,0.9;bounce;effectmagnitude,0,7,0;effectperiod,0.60;visible,0;playcommand,"CheckCoins");
		
		
		CheckCoinsCommand=function(self)
			if GAMESTATE:GetCoins() > 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
				self:visible(1);
			end;

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
						
		end;
				
		ScreenChangedMessageCommand=cmd(playcommand,"CheckCoins");

		CoinInsertedMessageCommand=function(self)
		
			if GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
				self:visible(1);

			end;
			
			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;			
			
		end;



		PlayerJoinedMessageCommand=function(self,params)

			if params.Player == "PlayerNumber_P1" then
				self:visible(0);
			end;		

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;

			if GAMESTATE:GetCoins() == 0 then
				self:visible(0);
			end;


		end;
	};


		
		
		

	LoadActor("1P_Press") .. {
		InitCommand=cmd(x,THEME:GetMetric(Var "LoadingScreen","CreditsP1X");y,THEME:GetMetric(Var "LoadingScreen","CreditsP1Y")-83;zoom,1.3;sleep,1;bounce;effectmagnitude,0,5,0;effectperiod,0.60;visible,0;playcommand,"CheckCoins");
		
		
		CheckCoinsCommand=function(self)
			if GAMESTATE:GetCoins() > 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
				self:visible(1);
			end;

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;			
		end;
				
		ScreenChangedMessageCommand=cmd(playcommand,"CheckCoins");

		CoinInsertedMessageCommand=function(self)
		
			if GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
				self:visible(1);

			end;
		
			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;		

		end;



		PlayerJoinedMessageCommand=function(self,params)

			if params.Player == "PlayerNumber_P1" then
				self:visible(0);
			end;		

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
			
			if GAMESTATE:GetCoins() == 0 then
				self:visible(0);
			end;


		end;
	};
	
	
	
			LoadActor("PleaseWait") .. {
			InitCommand=cmd(x,THEME:GetMetric(Var "LoadingScreen","CreditsP1X");y,THEME:GetMetric(Var "LoadingScreen","CreditsP1Y")-30;blend,"BlendMode_Add";visible,0;playcommand,"CheckCoins");
			
			
			CheckCoinsCommand=function(self)
				if GAMESTATE:GetCoins() == 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
					self:visible(0);
				end;
				
				if GAMESTATE:PlayersCanJoin() == false then
					self:visible(0);
				end;
				
				if GAMESTATE:GetCoins() > 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
					self:visible(0);
				end;
								
			end;
					
			ScreenChangedMessageCommand=cmd(playcommand,"CheckCoins");
	
			CoinInsertedMessageCommand=function(self)
			
				if GAMESTATE:IsPlayerEnabled("PlayerNumber_P1") == false then
					self:visible(0);
	
				end;
				if GAMESTATE:PlayersCanJoin() == false then
					self:visible(1);
					else
					self:visible(0);
				end;
	
			end;
	
	
	
			PlayerJoinedMessageCommand=function(self,params)
	
				if params.Player == "PlayerNumber_P1" then
					self:visible(0);
				end;		
	
	
				if GAMESTATE:GetCoins() == 0 and GAMESTATE:PlayersCanJoin() == false then
					self:visible(0);
				end;
	
	
			end;
	};
----------PLAYER2-------------





		LoadActor("BAL_ONE") .. {
		InitCommand=cmd(x,THEME:GetMetric(Var "LoadingScreen","CreditsP2X");y,THEME:GetMetric(Var "LoadingScreen","CreditsP2Y")-50;zoom,1.7;visible,0;playcommand,"CheckCoins");
		OffCommand=cmd(visible,0);
		CoinInsertedMessageCommand=function(self)
		
			if GAMESTATE:IsPlayerEnabled("PlayerNumber_P2") == false then
				self:visible(1);
			else
				self:visible(0);

			end;
			
		end;

		ScreenChangedMessageCommand=cmd(playcommand,"CheckCoins");
		CheckCoinsCommand=function(self)

			if GAMESTATE:GetCoins() > 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P2") == false  then
				self:visible(1);
			else
				self:visible(0);
			end;
			
			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
					
		
		end;
		
		


		PlayerJoinedMessageCommand=function(self,params)

			if params.Player == "PlayerNumber_P2" then
				self:visible(0);
			end;	
			
			
			if GAMESTATE:GetCoins() == 0 then
				self:visible(0);
			end;
			

		end;
	};



		LoadActor("BAL_EFFECT") .. {
		
			Frame0000 = 0; 
			Delay0000 = 0.09; 
			Frame0001 = 1; 
			Delay0001 = 0.09;
			Frame0002 = 2; 
			Delay0002 = 0.09;
			Frame0003 = 3; 
			Delay0003 = 0.09;
			Frame0004 = 4; 
			Delay0004 = 0.09;
			Frame0005 = 5; 
			Delay0005 = 0.09;
			Frame0006 = 6; 
			Delay0006 = 0.09;
		
		InitCommand=cmd(x,THEME:GetMetric(Var "LoadingScreen","CreditsP2X");y,THEME:GetMetric(Var "LoadingScreen","CreditsP2Y")-21;blend,"BlendMode_Add";zoomy,0.8;zoomx,1.7;visible,0;playcommand,"CheckCoins");
		OffCommand=cmd(visible,0);
		CoinInsertedMessageCommand=function(self)
		
			if GAMESTATE:IsPlayerEnabled("PlayerNumber_P2") == false then
				self:visible(1);
			end;


			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
			
		end;

		ScreenChangedMessageCommand=cmd(playcommand,"CheckCoins");
		OffCommand=cmd(visible,0);
		CheckCoinsCommand=function(self)

			if GAMESTATE:GetCoins() > 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P2") == false  then
				self:visible(1);
			end;

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
				
		
		end;
		
		


		PlayerJoinedMessageCommand=function(self,params)

			if params.Player == "PlayerNumber_P2" then
				self:visible(0);
			end;	
			
			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
			
			if GAMESTATE:GetCoins() == 0 then
				self:visible(0);
			end;
			

		end;
	};



		LoadActor("1P_Arrow") .. {
		InitCommand=cmd(x,THEME:GetMetric(Var "LoadingScreen","CreditsP2X")-0.5;y,THEME:GetMetric(Var "LoadingScreen","CreditsP2Y")-47;zoom,0.9;bounce;effectmagnitude,0,7,0;effectperiod,0.60;visible,0;playcommand,"CheckCoins");
		OffCommand=cmd(visible,0);
		CoinInsertedMessageCommand=function(self)
		
			if GAMESTATE:IsPlayerEnabled("PlayerNumber_P2") == false then
				self:visible(1);

			end;

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
		end;

		ScreenChangedMessageCommand=cmd(playcommand,"CheckCoins");
		CheckCoinsCommand=function(self)

			if GAMESTATE:GetCoins() > 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P2") == false  then
				self:visible(1);
			end;
		
			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;			
		end;


		PlayerJoinedMessageCommand=function(self,params)

			if params.Player == "PlayerNumber_P2" then
				self:visible(0);
			end;	
			
			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
			
			if GAMESTATE:GetCoins() == 0 then
				self:visible(0);
			end;
			

		end;
	};




		LoadActor("2P_Press") .. {
		InitCommand=cmd(x,THEME:GetMetric(Var "LoadingScreen","CreditsP2X");y,THEME:GetMetric(Var "LoadingScreen","CreditsP2Y")-83;zoom,1.3;sleep,1;bounce;effectmagnitude,0,5,0;effectperiod,0.60;visible,0;playcommand,"CheckCoins");
		OffCommand=cmd(visible,0);
		CoinInsertedMessageCommand=function(self)
		
			if GAMESTATE:IsPlayerEnabled("PlayerNumber_P2") == false then
				self:visible(1);
			end;
			
			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
							
		end;

		ScreenChangedMessageCommand=cmd(playcommand,"CheckCoins");
		CheckCoinsCommand=function(self)

			if GAMESTATE:GetCoins() > 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P2") == false  then
				self:visible(1);
			end;

			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
			
		
		end;


		PlayerJoinedMessageCommand=function(self,params)

			if params.Player == "PlayerNumber_P2" then
				self:visible(0);
			end;	
			
			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;			
			
			if GAMESTATE:GetCoins() == 0 then
				self:visible(0);
			end;
			

		end;
	};

		
		
		LoadActor("PleaseWait") .. {
		InitCommand=cmd(x,THEME:GetMetric(Var "LoadingScreen","CreditsP2X");y,THEME:GetMetric(Var "LoadingScreen","CreditsP2Y")-30;blend,"BlendMode_Add";visible,0;playcommand,"CheckCoins");
		OffCommand=cmd(visible,0);
		CoinInsertedMessageCommand=function(self)
		
			if GAMESTATE:IsPlayerEnabled("PlayerNumber_P2") == false then
				self:visible(0);

			end;
			
			if GAMESTATE:GetCoins() == 0 and GAMESTATE:PlayersCanJoin() == false then
				self:visible(0);
			end;
			
			if GAMESTATE:GetCoins() > 0 and GAMESTATE:PlayersCanJoin() == true then
				self:visible(0);
			end;
			
		end;

		ScreenChangedMessageCommand=cmd(playcommand,"CheckCoins");
		CheckCoinsCommand=function(self)

			if GAMESTATE:GetCoins() > 0 and GAMESTATE:IsPlayerEnabled("PlayerNumber_P2") == false  then
				self:visible(0);
			end;
			
			if GAMESTATE:PlayersCanJoin() == false then
				self:visible(1);
				else
				self:visible(0);
			end;
				
		end;
		
		


		PlayerJoinedMessageCommand=function(self,params)

			if params.Player == "PlayerNumber_P2" then
				self:visible(0);
			end;	
			
			
			if GAMESTATE:GetCoins() == 0 then
				self:visible(0);
			end;
			

		end;
	};
	
	
	--- to stop people in widescreen viewing offscreen elements
	-- ez2dancer is not a widescreen game
	Def.Quad {
		OnCommand=cmd(stretchto,SCREEN_RIGHT,SCREEN_TOP,99999,SCREEN_BOTTOM;diffuse,color("#000000"));
	};
	
	Def.Quad {
		OnCommand=cmd(stretchto,-99999,SCREEN_TOP,SCREEN_LEFT,SCREEN_BOTTOM;diffuse,color("#000000"));
	};


	Def.Quad {
		OnCommand=cmd(stretchto,-99999,-99999,99999,SCREEN_TOP;diffuse,color("#000000"));
	};
	
	
	Def.Quad {
		OnCommand=cmd(stretchto,-99999,SCREEN_BOTTOM,99999,99999;diffuse,color("#000000"));
	};	
	
	
};