local t = Def.ActorFrame{
	-- Background elements? On Decorations?... Yeahsurewhatever
	LoadActor(THEME:GetPathB("_common", "typoscroll")) .. {
		InitCommand=function(self)
			self:xy(_screen.cx,_screen.cy-110):zoomto(_screen.w,150):customtexturerect(0,0,_screen.w/600,0.66):texcoordvelocity(0.1,0):
				diffuse(LocalBlueColor(1)):blend(Blend.Add):cropbottom(0.7)
		end,
		OnCommand=function(self)
			self:diffusealpha(0):smooth(0.7):diffusealpha(1)
		end,
		OffCommand=function(self)
			self:diffusealpha(1):smooth(1):diffusealpha(0)
		end,
		ModeFocusMessageCommand=function(self,param)
			self:texcoordvelocity(param.Velocity,0)
		end
	},
	LoadActor(THEME:GetPathB("_common", "typoscroll")) .. {
		InitCommand=function(self)
			self:xy(_screen.cx,_screen.h-158):zoomto(_screen.w,150):customtexturerect(0,0,_screen.w/600,0.66):texcoordvelocity(0.1,0):
				diffuse(LocalBlueColor(0.2)):blend(Blend.Add)
		end,
		OnCommand=function(self)
			self:diffusealpha(0):smooth(0.7):diffusealpha(1)
		end,
		OffCommand=function(self)
			self:diffusealpha(1):smooth(1):diffusealpha(0)
		end,
		ModeFocusMessageCommand=function(self,param)
			self:texcoordvelocity(param.Velocity,0)
		end
	},
	
	-- Colored decoration around backing.
	Def.Quad{
		InitCommand=function(self)
			self:xy(_screen.cx,(_screen.cy/1.33)+20):zoomto(_screen.w*1.2,190):diffuse(LocalBlueColor(0.75)):rotationz(0.7)
		end,
		OnCommand=function(self)
			-- Extra "cropleft" to help it work right with debug menu On/Off commands.
			self:cropleft(0):cropright(1):linear(0.3):cropright(0)
		end,
		OffCommand=function(self)
			self:cropleft(0):linear(0.3):cropleft(1)
		end
	},
	-- Backing behind main scroller.
	Def.Quad{
		InitCommand=function(self)
			self:xy(_screen.cx,(_screen.cy/1.33)+20):zoomto(_screen.w*1.2,170):diffuse(Color.Black)
		end,
		OnCommand=function(self)
			-- Extra "cropright" to help it work right with debug menu On/Off commands.
			self:cropright(0):cropleft(1):linear(0.3):cropleft(0)
		end,
		OffCommand=function(self)
			self:cropright(0):linear(0.3):cropright(1)
		end
	},
	
	-- Backing behind the selected mode's description.
	Def.Quad{
		OnCommand=function(self)
			self:horizalign(left):vertalign(bottom):xy(0,_screen.h):zoomto(_screen.w,120):diffuse(LocalBlueColor(0))
		end
	},
	
	-- lights!
	LoadActor(THEME:GetPathG("_common", "smallneon")) .. {
		OnCommand=function(self)
			self:xy(_screen.cx,_screen.h-120+10):vertalign(bottom):zoomto(_screen.w*1.3,20):blend(Blend.Add)
		end
	},
	
	-- Backing behind the selected mode's name.
	LoadActor("selectedTag") .. {
		OnCommand=function(self)
			self:horizalign(left):xy(-56,_screen.h-140)
		end
	},
	Def.BitmapText{
		Font="Common Small",
		Text=THEME:GetString("ScreenSelectPlayMode", "CurSelection"),
		OnCommand=function(self)
			self:horizalign(left):xy(20,_screen.h-160):zoom(0.6):strokecolor(Color.Black)
		end
	}
}

t[#t+1] = LoadFallbackB()

return t
