ELITE remake?

Miscellaneous Forums/General Discussion/ELITE remake?

Hey, maybe this could help you, I posted some of this to help Edzup a while back ... he's making one too but taking his time about it ;)

Graphics3D 640, 480, 16, 1
AmbientLight 255, 255, 255
WireFrame True

;ship
Global Cobra = CreatePivot();LoadMesh( "Models\CobraMk3.x")
Global PitchSpeed# = 1.0
Global RollSpeed# = 1.0
Global Pitch#, Roll#

;camera
Global Camera = CreateCamera( Cobra ) 
;PositionEntity Camera, 0,0,-50 
PositionEntity Camera, 0, 0, 5

;scene
Global Planet = CreateSphere() : ScaleMesh Planet, 10, 10, 10 : EntityColor Planet, 255,0,0
Global Station = CreateSphere( 3 ) : ScaleMesh Station, 2, 2, 2 : PositionEntity Station, 20, 0, 0 : EntityColor Station, 0,0,255
Global Star = CreateCube() : ScaleMesh Star, .25, .25, .25 : HideEntity Star
For l = 1 To 100
	tmp = CopyEntity( Star , Planet )
	RotateEntity tmp, Rand(-90,90 ), 0 , Rand(-180,180 )
	PositionEntity tmp, Rand(-200,200 ), Rand(-200,200 ), Rand(-200,200 )
Next

;timing
Global FPSWanted = 60
Global Timer = CreateTimer( FPSWanted )

Reset()

While Not KeyDown(1)

	WaitTimer( Timer )
	
	;reset if 'SPACE' pressed
	If KeyDown(57) Reset()

	;target if 'T' pressed
	If KeyDown( 20 )
		TARGET( Cobra , Station )
	Else
		Roll# = KeyDown( 203) - KeyDown(205)
		Pitch# = KeyDown( 200 ) - KeyDown(208)
	EndIf
	
	TurnEntity Cobra , Pitch , 0, Roll 
	MoveEntity Cobra, 0, 0, .25

	UpdateWorld()
	RenderWorld()
	scanner( 320, 420 )
	
	Color 255,0,255
	Line 300,240,340,240
	Line 320,220,320,260
	
	Flip
	
Wend
End

;===================================================
;===================================================
;===================================================

Function TARGET( Source , Target )

	TFormPoint 0,0,0 , Target, Source

	RollAngle# = VectorYaw ( TFormedX() , 0 , TFormedY() )
	Roll# = Limit( RollAngle , -RollSpeed , RollSpeed )
	If Abs( RollAngle ) < 10
		Pitch# = Limit( VectorPitch( 0 , TFormedY(), TFormedZ() ) , -PitchSpeed , PitchSpeed )
	Else
		Pitch# = 0
	EndIf

End Function

;===================================================
;===================================================
;===================================================

Function Limit#( q#, lo#, hi# )

	If q < lo q = lo
	If q > hi q = hi
	Return q
	
End Function

;===================================================
;===================================================
;===================================================

Function Reset()

	PositionEntity Cobra, Rnd( -100,100 ) , Rnd(-100,100 ), Rnd(-100,100 )
	RotateEntity Cobra , Rnd(-90,90), 0, Rand(-180,180 )
	Delay 250

End Function

;===================================================
;===================================================
;===================================================

Function Scanner(scanx,scany)

	; Scanner by Timo Souranta
	;
	;Stations And planets are white because they are greater than 500t
	;Scanner size is: Scanx X -115 to Scanx +115 (with a scale of .7)
	;Scany Y -37 to Scany +37   

	Color 255,0,0
	Oval scanx-115,scany-37 , 230,74,0
	scale# = 0.7
	Plot scanx, scany
	
	TFormPoint 0,0,0, Station, Cobra
	x# = TFormedX() *  scale
	y# = TFormedY() * -scale
	z# = TFormedZ() *  scale
	x1# = x
	y1# = - z/4 + y/2
	y2# = - z/4
	If x1 > -200 And x1 < 200 And y1 > -200 And y1 < 200 Then
		Color      255, 255, 255
		If scanx+x1>scanx-115 And scanx+x1<scanx+115 And scany+y1>scany-37 And scany+y1<scany+37
		 	scn=(scany+y1)-(scany+y2)
		 	If scn>-30 And scn<30
  		  		WritePixel scanx+x1+1, scany+y1, 256*256*255 + 256*255
  		 		Line scanx+x1, scany+y1, scanx+x1,scany+y2
			EndIf
		EndIf
	EndIf
	
End Function