All pastes #766453 Raw Edit

Anonym

public text v1 · immutable
·published 2007-11-08 21:52 UTC
rendered paste body
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SERVER
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Global Server = CreateTCPServer(8190)
Global RemoteStream
Global MovieBank = CreateBank(1)
Global CompressedBank = CreateBank(1)
Global LastAdded
;#############################################
Graphics 100,100,32,3
SetBuffer BackBuffer()
Global Movie = OpenMovie("C:\Users\Gardo\Desktop\Film\szenen\Final.mov")
;#############################################
Function LoadToBank()
	LockBuffer BackBuffer()
	ResizeBank MovieBank, 1
	Counter = 0
	Compressed = 0
	For DoneX=0 To 100
		For DoneY=0 To 100
			ResizeBank MovieBank, BankSize(MovieBank)+4
			PokeInt(MovieBank, Counter, ReadPixelFast(DoneX, DoneY))
			Counter = Counter + 4
		Next
	Next
	UnlockBuffer BackBuffer()
	If RemoteStream <> 0 Then
		ResizeBank CompressedBank, Counter*2
		CompressedBankSize = CompressBank(MovieBank, 0, Counter, CompressedBank, 0, Counter*2, 9)
		WriteInt RemoteStream, BankSize(CompressedBank)
		WriteBytes CompressedBank, RemoteStream, 0,CompressedBankSize
		WriteInt RemoteStream, BankSize(MovieBank)
		ResizeBank CompressedBank, 1
	End If
End Function
;#############################################
Repeat
	If RemoteStream = 0
		RemoteStream = AcceptTCPStream(Server)
	End If	
	;###############################################
	DrawMovie(Movie,0,0,100,100)
	If MilliSecs()-LastAdded > 50 Then
		LastAdded = MilliSecs()
		LoadToBank()
	End If
	Flip
	Cls
Until KeyHit(1)
;#############################################


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CLIENT
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Global IP$ = "127.0.0.1"
;#############################################
Global RemoteStream = OpenTCPStream(IP$, 8190)
;#############################################
Global CompressedBank = CreateBank(1)
Global MovieBank = CreateBank(1)
;#############################################
Function ReceiveData()
	If RemoteStream <> 0 Then
		If ReadAvail(RemoteStream) > 0 Then
			ResizeBank MovieBank, 1
			ResizeBank CompressedBank, 1
			ResizeBank CompressedBank, ReadInt(RemoteStream)+1
			ReadBytes(CompressedBank, RemoteStream, 0, BankSize(CompressedBank))
			ResizeBank MovieBank, ReadInt(RemoteStream) + 1
			DecompressBank(CompressedBank, 0,BankSize(CompressedBank), MovieBank, 0, BankSize(MovieBank))
		End If
	Else
		RemoteStream = OpenTCPStream(IP$, 8190)
	End If
End Function
;#############################################
Function DrawData()
	Counter = 0
	If BankSize(MovieBank) > 1 Then
		LockBuffer BackBuffer()
		For DoneX = 0 To 100
			For DoneY = 0 To 100
				ColorVar = PeekInt(MovieBank, Counter)
				If ColorVar <> 0 Then
					WritePixelFast(DoneX, DoneY, ColorVar)
				End If
				Counter = Counter +4
			Next
		Next
		UnlockBuffer BackBuffer()
	End If
End Function
;#############################################
Graphics 100,100,32,3
SetBuffer BackBuffer()
;#############################################
Repeat
	ReceiveData()
	DrawData()
	Flip
	Cls
Until KeyHit(1)
;#############################################