All pastes #508424 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-05-25 00:26 UTC
rendered paste body
include('shared.lua')

local matScreen 	= Material( "models/scroller2/screen" )

-- GetRenderTarget returns the texture if it exists, or creates it if it doesn't
local RTTexture 	= GetRenderTarget( "msscreen", 512, 512 )

surface.CreateFont( "coolvetica", 64, 32, false, false, "scrollz" )

function ENT:Initialize()
	self.Pair=self.Entity
	self.Entity:SetNetworkedBool("set",false)
end

function ENT:Draw()

	self.Pair=self.Entity
		if self.Entity:GetNetworkedBool("set")==true then
		self.Pair=self.Entity:GetNetworkedEntity("pair")
		self.Pair.RPair=self.Entity
	end

	if not self.Pair:IsValid() or self.Pair==nil or self.Pair==NULL then
		self.Pair=self.Entity
	end

if ( EyePos():Distance( self.Entity:GetPos() ) < 400 ) then
		local NewRT = RTTexture
		matScreen:SetMaterialTexture( "$basetexture", NewRT )
		local OldRT = render.GetRenderTarget();
		render.SetRenderTarget( NewRT )
		render.SetViewPort( 0, 0, 512, 512 )
		render.Clear( 0, 0, 0, 255, true )
		cam.Start2D()
			if self.Pair==self.Entity then
				surface.SetFont( "scrollz" )
				local Fraction = 127 + math.sin( CurTime()*2 ) * 127
				surface.SetTextColor(255,255,255,Fraction)
				surface.SetTextPos( 5, 5 )
				surface.DrawText("No input signal")
				local Fraction = 127 + math.sin( CurTime()*2 ) * 127
				surface.SetTextColor(255,255,255,Fraction)
				surface.SetTextPos( 5, 70 )
				surface.DrawText("Check connection")

				surface.SetDrawColor(255,0,0,128)
				local Fraction = 256 + math.sin( CurTime() ) * 256
				surface.DrawRect(0,Fraction,512,5)

				surface.SetDrawColor(0,255,0,128)
				local Fraction = 256 + math.sin( CurTime() ) * 256
				surface.DrawRect(0,512,Fraction,5)
			else
				local camData = {}
				camData.origin = self.Pair:GetPos() or Vector(0,0,0)
				camData.angles = self.Pair:GetAngles() or Vector(0,0,0)
				camData.fov = 90
				camData.w=512
				camData.h=512
				camData.x=0
				camData.y=0
				local r,g,b,a = self.Pair:GetColor()
				self.Pair:SetColor(255,255,255,0)
				render.RenderView(camData)
				self.Pair:SetColor(r,g,b,a)
				surface.SetDrawColor(0,0,0,128)
				local Fraction = 256 + math.sin( CurTime() ) * 256
				surface.DrawRect(0,Fraction,512,5)
			end
		cam.End2D()
		render.SetViewPort( 0, 0, ScrW(), ScrH() )
		render.SetRenderTarget( OldRT )
end
		self.Entity:DrawModel()


end