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) self.MyRT=RTTexture --GetRenderTarget( "msscreen"..tostring(self.Entity:EntIndex()), 512, 512 ) end function ENT:Texture() 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 local NewRT = self.MyRT --matScreen:SetMaterialTexture( "$basetexture", NewRT ) local OldRT = render.GetRenderTarget() render.SetRenderTarget( NewRT ) render.SetViewPort(0,0,512,512) render.Clear(0,0,0,255) if self.Pair==self.Entity then cam.Start2D() 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()*4 ) * 127 surface.SetTextColor(255,255,255,Fraction) surface.SetTextPos( 5, 70 ) surface.DrawText("Check connection") cam.End2D() else local camData = {} camData.origin = self.Pair:GetPos() camData.angles = self.Pair:GetAngles() 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) cam.Start2D() surface.SetDrawColor(0,0,0,128) local Fraction = 256 + math.sin( CurTime() ) * 256 surface.DrawRect(0,Fraction,512,5) cam.End2D() end render.SetViewPort( 0, 0, ScrW(), ScrH() ) render.SetRenderTarget( OldRT ) end function ENT:Draw() self.Entity:Texture() matScreen:SetMaterialTexture( "$basetexture", self.MyRT ) self.Entity:DrawModel() end