return Def.ActorFrame {
	-- P1Labels
	LoadActor("labels") ..{
		InitCommand=cmd(x,SCREEN_CENTER_X-20;y,SCREEN_CENTER_Y-82,diffusealpha,0);
		OnCommand=cmd(linear,0.3;diffusealpha,1);
		OffCommand=cmd(linear,0.3;diffusealpha,0);
		Condition=GAMESTATE:IsHumanPlayer(PLAYER_1)
	};
	-- P2Labels
	LoadActor("labels") ..{
		InitCommand=cmd(x,SCREEN_CENTER_X-20;y,SCREEN_CENTER_Y+82,diffusealpha,0);
		OnCommand=cmd(linear,0.3;diffusealpha,1);
		OffCommand=cmd(linear,0.3;diffusealpha,0);
		Condition=GAMESTATE:IsHumanPlayer(PLAYER_2)
	};
	
	-- p1 difficulty (this is a hack because StepMania isn't showing the difficulty icons for some reason)
	LoadFont("", "_songtitles") ..{
		InitCommand=cmd(shadowlength,0;horizalign,left;x,SCREEN_CENTER_X-136;y,SCREEN_CENTER_Y-64;zoom,0.6);
		OnCommand=cmd(playcommand,"Set");
		OffCommand=cmd(linear,0.3;diffusealpha,0);
		SetCommand=function(self)
			local steps = GAMESTATE:GetCurrentSteps(PLAYER_1):GetDifficulty();
			steps = string.sub(steps,12);
			self:settext(steps);
		end;
		Condition=GAMESTATE:IsHumanPlayer(PLAYER_1)
	};
	
	-- p2 difficulty (see above)
	LoadFont("", "_songtitles") ..{
		InitCommand=cmd(shadowlength,0;horizalign,left;x,SCREEN_CENTER_X-136;y,SCREEN_CENTER_Y+64;zoom,0.6);
		OnCommand=cmd(playcommand,"Set");
		OffCommand=cmd(linear,0.3;diffusealpha,0);
		SetCommand=function(self)
			local steps = GAMESTATE:GetCurrentSteps(PLAYER_2):GetDifficulty();
			steps = string.sub(steps,12);
			self:settext(steps);
		end;
		Condition=GAMESTATE:IsHumanPlayer(PLAYER_2)
	};
	
	-- StepMania stats
	LoadActor("stats") ..{
		InitCommand=cmd(x,SCREEN_LEFT+32;y,SCREEN_BOTTOM-56,diffusealpha,0);
		OnCommand=cmd(linear,0.3;diffusealpha,1);
		OffCommand=cmd(linear,0.3;diffusealpha,0);
	};
	
	-- bars
	LoadActor("bars", PLAYER_1) ..{
		InitCommand=cmd(y,SCREEN_CENTER_Y-110);
		OnCommand=cmd(linear,0.3;diffusealpha,1);
		OffCommand=cmd(linear,0.3;diffusealpha,0);
		Condition=GAMESTATE:IsSideJoined(PLAYER_1);
	};
	
	LoadActor("bars", PLAYER_2) ..{
		InitCommand=cmd(y,SCREEN_CENTER_Y+180);
		OnCommand=cmd(linear,0.3;diffusealpha,1);
		OffCommand=cmd(linear,0.3;diffusealpha,0);
		Condition=GAMESTATE:IsSideJoined(PLAYER_2);
	};
	
	-- a simple little thing called love
	--LoadFont("", "_ssmt") ..{
	--	InitCommand=cmd(shadowlength,0;horizalign,left;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y);
	--	OnCommand=cmd(playcommand,"Set");
	--	SetCommand=function(self)
	--		local steps = GAMESTATE:GetCurrentSteps(PLAYER_1);
	--		local rv = steps:GetRadarValues( PLAYER_1 );
	--		local totalSteps = rv:GetValue(5);
	--		local marvs = STATSMAN:GetCurStageStats():GetPlayerStageStats(PLAYER_1):GetTapNoteScores('TapNoteScore_W1');
	--		local mPercent = (marvs / totalSteps) * 100;
	--		--self:settext(string.sub(mPercent,0,2) .. '%');
	--		self:settext(totalSteps);
	--	end;
	--};
}
