All pastes #508097 Raw Edit

Stuff

public text v1 · immutable
·published 2007-05-24 21:24 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", 128, 128 )

surface.CreateFont( "coolvetica", 32, 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")
	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, 128, 128 )
		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 signal")
			else
				local camData = {}
				camData.origin = self.Pair:GetPos()
				camData.angles = self.Pair:GetAngles()
				camData.fov = 90
				camData.w=128
				camData.h=128
				camData.x=0
				camData.y=0
				render.RenderView(camData)
			end
		cam.End2D()
		render.SetViewPort( 0, 0, ScrW(), ScrH() )
		render.SetRenderTarget( OldRT )
end
		self.Entity:DrawModel()


end