Stream Does Not Exist

Blitz3D Forums/Blitz3D Beginners Area/Stream Does Not Exist

_PJ_(Posted 2004) [#1]
Sorry, this is gonna look really confusing, but I cannot simplify what I have. I am getting a Stream Does Not Exist Error regarding the line :

			NewStruct\StructType$=ReadLine (SectorStructData)


The pathname is definitely correct, the file exists, and the code used to work until I made the "If flight_mode$="" " changes ( this just meant duplicating a couple of the routines with some minor changes).

The only other reason I can see for this error, is if I have left a streamopen elsewhere, so the 'Current Dir' is different. I cannot find this either...



;SKYBOX

Skybox=CreateSphere(20)
ScaleMesh skybox,(shldlong+1)/2,(shldlong+1)/2,(shldlong+1)/2
FlipMesh skybox
EntityOrder skybox,1

If flight_mode$="Space" Then skytext=LoadTexture ("Sectors\"+Current_Sector$+"\box.bmp")

If flight_mode$="Atmosphere" Then skytext=LoadTexture ("Sectors\"+Current_Sector$+locality$+"\box.bmp")

EntityTexture skybox,skytext
FreeTexture skytext
EntityParent skybox,ship

If wire=1 Then EntityAlpha skybox,0

EntityPickMode skybox,0



If flight_mode$="Space"
	;CREATE PLANET & MOONS

	MoonTexture=LoadTexture("Visual\3D\LUNARtxt.jpg")

	PlanetTexture=LoadTexture("Sectors\"+Current_Sector$+"\"+Locality$+"\PLANETtxt.jpg")

			SectorPlanetData=OpenFile("Sectors\"+Current_Sector$+"\"+Locality$+"\PlanetData.txt")
			PlanetClass$=ReadLine(SectorPlanetData)
			PlanetRadius=ReadLine(SectorPlanetData)
			PlanetRings=ReadLine(SectorPlanetData)
			PlanetMoons=ReadLine(SectorPlanetData)
			NewTarget.RadarTargets=New RadarTargets

	PlanetMesh=CreateSphere(50)
	ScaleMesh PlanetMesh,(PlanetRadius/20),(PlanetRadius/19),(PlanetRadius/20)
	EntityTexture PlanetMesh,PlanetTexture
	FreeTexture PlanetTexture

	EntityType PlanetMesh,9,False

	EntityPickMode PlanetMesh,1
	EntityRadius PlanetMesh,(PlanetRadius/20),(PlanetRadius/19)

	NameEntity PlanetMesh,Locality$

	NewTarget\Name$=(Locality$+"-"+PlanetClass$)
	NewTarget\TargetType$="PLANET"
	NewTarget\TargetColourRed=160
	NewTarget\TargetColourGreen=160
	NewTarget\TargetColourBlue=160
	NewTarget\TargetEntityHandle=PlanetMesh
	
	
		If PlanetMoons>0

			spread#=(360/PlanetMoons)

				For g=1 To PlanetMoons
				
					MoonData$=ReadLine(SectorPlanetData)

						NewMoon.Moonstype=New MoonsType
						NewMoon\Mesh=CreateSphere(20)
						NewMoon\Name$=MoonData$
						NewMoon\ParentPlanet$=Locality$
						ScaleMesh NewMoon\Mesh,50,50,50
						EntityTexture NewMoon\Mesh,MoonTexture
					
							RotateEntity NewMoon\Mesh,0,(spread#*g)-180,0
							MoveEntity NewMoon\Mesh,0,Rand(-50,50),Rand(PlanetRadius/5,PlanetRadius/4)
							EntityParent NewMoon\Mesh,PlanetMesh,1
					
							EntityType NewMoon\Mesh,10,False
					
							EntityPickMode NewMoon\Mesh,1
							EntityRadius NewMoon\Mesh,50
					
					NewTarget.RadarTargets=New RadarTargets

					NewTarget\Name$=(NewMoon\Name$)
					NewTarget\TargetType$="SATELLITE"
					NewTarget\TargetColourRed=100
					NewTarget\TargetColourGreen=100
					NewTarget\TargetColourBlue=100

					NameEntity NewMoon\Mesh,NewMoon\Name$

					NewTarget\TargetEntityhandle=NewMoon\Mesh

				Next
			
		EndIf
	

			PlanetStructs=ReadLine(SectorPlanetData)
			PlanetX=ReadLine(SectorPlanetData)
			PlanetY=ReadLine(SectorPlanetData)
			PlanetZ=ReadLine(SectorPlanetData)
	
			CloseFile (SectorPlanetData)

	If wire=0 And PlanetRings=1
			RingSprite=LoadSprite("Sectors\"+Current_Sector$+"\"+Locality$+"\RING.jpg")
			SpriteViewMode RingSprite,2
			EntityFX RingSprite,16
			EntityAlpha RingSprite,0.8
			ScaleSprite RingSprite,(PlanetRadius/9),(PlanetRadius/7)
			TurnEntity RingSprite,80,0,0
			PositionEntity RingSprite,EntityX(PlanetMesh),EntityY(PlanetMesh),EntityZ(PlanetMesh)
			EntityParent RingSprite,PlanetMesh
	EndIf

					
			
	PositionEntity PlanetMesh,PlanetX,PlanetY,PlanetZ



	FreeTexture MoonTexture

EndIf




;STAR


SectorStarData=OpenFile("Sectors\"+Current_Sector$+"\Stars.txt")

	StarName$=ReadLine(SectorStarData)
	StarClass$=ReadLine(SectorStarData)
	StarLightRed=ReadLine(SectorStarData)
	StarLightGreen=ReadLine(SectorStarData)
	StarLightBlue=ReadLine(SectorStarData)

CloseFile(SectorStarData)



If wire=0
	SunSprite=LoadSprite("Sectors\"+Current_Sector$+"\"+StarName$+".bmp")
	ScaleSprite SunSprite,5,5
	EntityOrder SunSprite,1
	sunsphere=CreateSphere(3)
	EntityOrder sunsphere,1
	EntityAlpha sunsphere,0
	EntityParent sunsphere,sunsprite
EndIf

If wire=1
	SunSprite=CreateSphere(15)
	ScaleEntity SunSprite,5,5,5
	EntityOrder SunSprite,1
EndIf

Sunlight=CreateLight(1)
LightColor Sunlight,StarLightRed,StarLightGreen,StarLightBlue

MoveEntity SunSprite,-35,-35,45
PointEntity sunlight,sunsprite
MoveEntity sunlight,0,0,100

PointEntity Sunlight,ship

EntityParent SunSprite,skybox
EntityAlpha SunSprite,1

NameEntity SunSprite,StarName$

EntityParent Sunlight,SunSprite


;RESOLVING FOR STAR ON RADAR

newtarget.RadarTargets= New radartargets
NewTarget\Name$=(StarName$)
NewTarget\TargetType$="STAR"
NewTarget\TargetColourRed=255
NewTarget\TargetColourGreen=220
NewTarget\TargetColourBlue=50

If wire=0
NewTarget\TargetEntityhandle=sunsphere
EndIf

If wire=1
NewTarget\TargetEntityhandle=sunsprite
EndIf








If flight_mode$="Space"

			;STRUCTURES
		SectorStructData=OpenFile("Sectors\"+Current_Sector$+"\"+Locality$+"\Structure.txt")
		
		For f=1 To PlanetStructs

			NewStruct.Buildings=New Buildings
			NewStruct\StructType$=ReadLine (SectorStructData)
			NewStruct\StructName$=ReadLine (SectorStructData)
			NewStruct\Allegiance$=ReadLine (SectorStructData)
			NewStruct\X=ReadLine (SectorStructData)
			NewStruct\Y=ReadLine (SectorStructData)
			NewStruct\Z=ReadLine (SectorStructData)
			NewStruct\Armour=ReadLine (SectorStructData)
			NewStruct\Shield=ReadLine (SectorStructData)
			NewStruct\Weapon$=ReadLine (SectorStructData)
			NewStruct\Mesh=LoadMesh("Visual\3D\"+NewStruct\StructType$+".b3d")
	
			NewStruct\PartoPlanet=ReadLine(SectorStructData)
			NewStruct\Rotate=ReadLine(SectorStructData)
	
			CloseFile (sectorstructdata)

	
			structexture=LoadTexture("Visual\3D\"+NewStruct\StructType$+"txt.bmp")

		EntityPickMode NewStruct\Mesh,2


		If wire=0 Then EntityTexture NewStruct\Mesh,structexture
	
		FreeTexture structexture
	
		NameEntity NewStruct\Mesh,NewStruct\StructName$

		NewTarget.RadarTargets=New RadarTargets
		NewTarget\Name$=(Locality$+"-"+NewStruct\StructName$)
		NewTarget\TargetType$="STRUCTURE"
		NewTarget\TargetColourRed=110
		NewTarget\TargetColourGreen=130
		NewTarget\TargetColourBlue=250
		NewTarget\TargetEntityHandle=NewStruct\Mesh
		NewTarget\Allegiance$=NewStruct\Allegiance$

	EntityType NewStruct\Mesh,10,False

		PositionEntity NewStruct\Mesh,NewStruct\X,NewStruct\Y,NewStruct\Z
		If NewStruct\ParToPlanet=1 Then EntityParent NewStruct\Mesh,PlanetMesh


			;POSITION SHIP

			If NewStruct\StructName$=Docking_Name$ 
				MoveEntity ship,NewStruct\X,NewStruct\Y,NewStruct\Z+20
				PointEntity ship,NewStruct\Mesh
				TurnEntity ship,0,180,0
				speed#=topspeed#
			EndIf



		Next


EndIf













If flight_mode$="Atmosphere"

atmosdat=OpenFile("Sectors\"+Current_Sector$+"\"+Locality$+"\Atmosphere Data.txt")
ambred=ReadLine(atmosdat)
ambgreen=ReadLine(atmosdat)
ambblue=ReadLine(atmosdat)

GStructs=ReadLine(atmosdat)

CloseFile(atmosdat)

;STRUCTURES
GroundStructData=OpenFile("Sectors\"+Current_Sector$+"\"+Locality$+"\Ground Structure.txt")
For f=1 To GStructs

	NewStruct.Buildings=New Buildings
	NewStruct\StructType$=ReadLine (GroundStructData)
	NewStruct\StructName$=ReadLine (GroundStructData)
	NewStruct\Allegiance$=ReadLine (GroundStructData)
	NewStruct\X=ReadLine (GroundStructData)
	NewStruct\Y=ReadLine (GroundStructData)
	NewStruct\Z=ReadLine (GroundStructData)
	NewStruct\Armour=ReadLine (GroundStructData)
	NewStruct\Shield=ReadLine (GroundStructData)
	NewStruct\Weapon$=ReadLine (GroundStructData)
	
	CloseFile (GroundStructData)
	
	NewStruct\Mesh=LoadMesh("Visual\3D\"+NewStruct\StructType$+".b3d")
	
	structexture=LoadTexture("Visual\3D\"+NewStruct\StructType$+"txt.bmp")

		EntityPickMode NewStruct\Mesh,2

	If wire=0 Then EntityTexture NewStruct\Mesh,structexture
	FreeTexture structexture
	
	NameEntity NewStruct\Mesh,NewStruct\StructName$

	NewTarget.RadarTargets=New RadarTargets
		NewTarget\Name$=(Locality$+"-"+NewStruct\StructName$)
		NewTarget\TargetType$="STRUCTURE"
		NewTarget\TargetColourRed=110
		NewTarget\TargetColourGreen=130
		NewTarget\TargetColourBlue=250
		NewTarget\TargetEntityHandle=NewStruct\Mesh
		NewTarget\Allegiance$=NewStruct\Allegiance$

	EntityType NewStruct\Mesh,10,False

PositionEntity NewStruct\Mesh,NewStruct\X,NewStruct\Y,NewStruct\Z









;POSITION SHIP

If NewStruct\StructName$=Docking_Name$ 
	MoveEntity ship,NewStruct\X,NewStruct\Y,NewStruct\Z+20
	PointEntity ship,NewStruct\Mesh
	TurnEntity ship,0,180,0
	speed#=topspeed#
EndIf



Next


EndIf











If flight_mode$="Space"
;Asteroid Field

Max_Sector_Roids=Rand(7,30)

For f = 1 To Max_Sector_Roids

setup_roid.sector_roid=New sector_roid


debris=Rand(20,40)
composition=100-debris
setup_roid\ICE=Rand(0,70)
composition=(composition-(setup_roid\ICE))
setup_roid\METAL_ORE=Rand(0,composition)
composition=(composition-(setup_roid\METAL_ORE))
setup_roid\MINERAL=Rand(0,composition)
composition=(composition-(setup_roid\MINERAL))
setup_roid\PRECIOUS_METALS=Rand(0,composition)
composition=composition-((setup_roid\PRECIOUS_METALS))
setup_roid\HYDROCARBONS=Rand(0,composition)
composition=composition-((setup_roid\HYDROCARBONS))
setup_roid\RADIOACTIVES=Rand(0,composition)
composition=composition-((setup_roid\RADIOACTIVES))
setup_roid\DEBRIS=composition+debris

roid_seg=Rand(3,9)
setup_roid\mesh=CreateSphere(roid_seg)
roidtxt=Rand(1,7)
setup_roid\texture=LoadTexture("Visual\3D\roid"+roidtxt+"txt.bmp")

setup_roid\PosX=Rnd(-50000,50000)
setup_roid\PosY=Rnd(-10000,10000)
setup_roid\PosZ=Rnd(-50000,50000)

PositionEntity setup_roid\mesh,setup_roid\posX,setup_roid\PosY,setup_roid\PosZ
TurnEntity setup_roid\mesh,Rand(0,360),Rand(0,360),Rand(0,360)
scalerX#=Rnd(3,12)
scalerY#=Rnd(3,8)
scalerZ#=Rnd(3,10)
ScaleMesh setup_roid\mesh,scalerX#,scalerY#,scalerZ#

EntityType setup_roid\mesh,7

EntityPickMode setup_roid\mesh,2

If wire=0 Then EntityTexture setup_roid\mesh,setup_roid\texture
FreeTexture setup_roid\texture

setup_roid\name$="ASTEROID"

NameEntity setup_roid\mesh,Upper$((Left$(locality$,2)))+(scalerX#)+(scalerY#)+(scalerZ#)

	If Ast_Rotacol=1

			NewTarget.RadarTargets=New RadarTargets
		
			NewTarget\Name$=(EntityName$(setup_roid\mesh))
			NewTarget\TargetType$="ASTEROID"
			NewTarget\TargetColourRed=130
			NewTarget\TargetColourGreen=120
			NewTarget\TargetColourBlue=50
			NewTarget\TargetEntityHandle=setup_roid\Mesh
	EndIf


Next


EndIf





; RADAR INITIAL TARGET DETAILS

RadarSorter.RadarTargets=First RadarTargets
TargetEntity=RadarSorter\TargetEntityHandle






;CREATE TERRAIN

If flight_mode$="Atmosphere"

Terrain=LoadTerrain("Sectors\"+current_sector$+"\"+locality$+"\Terrain.JPG")
TerrainDetail terrain,4000
Terrain_Texture=LoadTexture("Sectors\"+current_sector$+"\"+locality$+"\Terrain Texture.JPG")
ScaleTexture Terrain_Texture,16,16
ScaleEntity terrain,256,64,256

EntityType Terrain,15

EntityTexture Terrain,Terrain_Texture
FreeTexture Terrain_Texture

EndIf



_PJ_(Posted 2004) [#2]
Ok sussed it, I had a CloseFile inside the For/Next loop :)


luke101(Posted 2004) [#3]
that good to know