コード例 #1
0
    def ownKeyEvent(self, key, modifiers):
        handled = 0
        if key == KEY_LBRACKET:
            if modifiers & MODIFIER_SHIFT:
                self.chunkTool.size -= 1000
            else:
                self.chunkTool.size -= 100
            if self.chunkTool.size < 100:
                self.chunkTool.size = 100
            self.numChunks = self.chunkTool.size / 100
            BigBang.addCommentaryMsg( \
             "will create %0.0f x %0.0f chunks" % (self.numChunks, self.numChunks) )
        elif key == KEY_RBRACKET:
            if modifiers & MODIFIER_SHIFT:
                self.chunkTool.size += 1000
            else:
                self.chunkTool.size += 100
            self.numChunks = self.chunkTool.size / 100
            BigBang.addCommentaryMsg( \
             "will create %0.0f x %0.0f chunks" % (self.numChunks, self.numChunks) )
        elif key == KEY_RETURN:
            self.numChunks = self.chunkTool.size / 100
            self.create()

        return handled
コード例 #2
0
	def ownKeyEvent( self, key, modifiers ):
		handled = 0
		if key == KEY_LBRACKET:
			if modifiers & MODIFIER_SHIFT:
				self.chunkTool.size -= 1000
			else:
				self.chunkTool.size -= 100
			if self.chunkTool.size < 100:
				self.chunkTool.size = 100
			self.numChunks = self.chunkTool.size / 100
			BigBang.addCommentaryMsg( \
				"will create %0.0f x %0.0f chunks" % (self.numChunks, self.numChunks) )
		elif key == KEY_RBRACKET:
			if modifiers & MODIFIER_SHIFT:
				self.chunkTool.size += 1000
			else:
				self.chunkTool.size += 100
			self.numChunks = self.chunkTool.size / 100
			BigBang.addCommentaryMsg( \
				"will create %0.0f x %0.0f chunks" % (self.numChunks, self.numChunks) )
		elif key == KEY_RETURN:
			self.numChunks = self.chunkTool.size / 100
			self.create()

		return handled
コード例 #3
0
	def onStart( self ):
		self.cc = GUI.ClosedCaptions( BigBang.opts._consoles._numMessageLines.asInt )
		self.cc.addAsView()
		self.cc.visible = 1

		self.chunkTool = BigBang.Tool()
		self.chunkLocator = Locator.OriginLocator()
		self.chunkViz = View.TerrainChunkTextureToolView( "resources/maps/gizmo/squareTool.dds" )
		self.chunkViz.numPerChunk = 1

		self.chunkTool.locator = self.chunkLocator
		self.chunkTool.addView( self.chunkViz, "chunkViz" )
		self.chunkTool.functor = None
		self.chunkTool.size = 5000

		#2000 m. far plane
		self.oldFarPlane = BigBang.farPlane()
		BigBang.farPlane( 2000.0 )

		#no fog
		self.oldFog = BigBang.opts._render._misc._drawFog.asFloat
		BigBang.opts._render._misc._drawFog.asFloat = self.oldFog

		#fast camera
		c = BigBang.camera()
		self.oldCameraSpeed = c.speed
		self.oldCameraSpeedTurbo = c.turboSpeed
		c.speed = 500
		c.turboSpeed = 1000

		self.onResume( 0 )
コード例 #4
0
    def onStart(self):
        self.cc = GUI.ClosedCaptions(
            BigBang.opts._consoles._numMessageLines.asInt)
        self.cc.addAsView()
        self.cc.visible = 1

        self.chunkTool = BigBang.Tool()
        self.chunkLocator = Locator.OriginLocator()
        self.chunkViz = View.TerrainChunkTextureToolView(
            "resources/maps/gizmo/squareTool.dds")
        self.chunkViz.numPerChunk = 1

        self.chunkTool.locator = self.chunkLocator
        self.chunkTool.addView(self.chunkViz, "chunkViz")
        self.chunkTool.functor = None
        self.chunkTool.size = 5000

        #2000 m. far plane
        self.oldFarPlane = BigBang.farPlane()
        BigBang.farPlane(2000.0)

        #no fog
        self.oldFog = BigBang.opts._render._misc._drawFog.asFloat
        BigBang.opts._render._misc._drawFog.asFloat = self.oldFog

        #fast camera
        c = BigBang.camera()
        self.oldCameraSpeed = c.speed
        self.oldCameraSpeedTurbo = c.turboSpeed
        c.speed = 500
        c.turboSpeed = 1000

        self.onResume(0)
コード例 #5
0
	def createNewUniverseSettings( self, universePath ):
		settingsFile = ResMgr.root.createSection( universePath + "universe.settings" )
		if settingsFile != None:
			settingsFile.save()
			BigBang.addCommentaryMsg( "created universe.settings" )
			return settingsFile
		else:
			BigBang.addCommentaryMsg( "error creating universe.settings", 2 )
		return None
コード例 #6
0
    def createUniverse(self, universeName):
        settingsFile = None
        pathName = "universes/" + universeName + "/"

        settingsFile = ResMgr.openSection(pathName + "universe.settings")
        if not settingsFile:
            settingsFile = self.createNewUniverseSettings(pathName)
            if settingsFile != None:
                BigBang.addCommentaryMsg("created new universe")
コード例 #7
0
	def createUniverse( self, universeName ):
		settingsFile = None
		pathName = "universes/" + universeName + "/"

		settingsFile = ResMgr.openSection( pathName + "universe.settings" )
		if not settingsFile:
			settingsFile = self.createNewUniverseSettings( pathName )
			if settingsFile != None:
				BigBang.addCommentaryMsg( "created new universe" )
コード例 #8
0
 def createNewUniverseSettings(self, universePath):
     settingsFile = ResMgr.root.createSection(universePath +
                                              "universe.settings")
     if settingsFile != None:
         settingsFile.save()
         BigBang.addCommentaryMsg("created universe.settings")
         return settingsFile
     else:
         BigBang.addCommentaryMsg("error creating universe.settings", 2)
     return None
コード例 #9
0
 def createNewSpaceSettings(self, spacePath):
     settingsFile = ResMgr.root.createSection(spacePath + "space.settings")
     if settingsFile != None:
         settingsFile.writeString("timeOfDay", "environments/sky.xml")
         settingsFile.writeString("skyGradientDome", "environments/sky.xml")
         settingsFile.save()
         BigBang.addCommentaryMsg("created space.settings")
         return settingsFile
     else:
         BigBang.addCommentaryMsg("error creating space.settings", 2)
     return None
コード例 #10
0
    def onKeyEvent(self, isDown, key, modifiers):
        if not BigBang.cursorOverGraphicsWnd():
            return 0

        handled = BigBang.camera().handleKeyEvent(isDown, key, modifiers)

        if not handled and isDown:
            handled = self.ownKeyEvent(key, modifiers)
        if not handled and BigBang.tool() != None:
            handled = BigBang.tool().handleKeyEvent(isDown, key, modifiers)
        return handled
コード例 #11
0
	def onKeyEvent( self, isDown, key, modifiers ):
		if not BigBang.cursorOverGraphicsWnd():
			return 0
		
		handled = BigBang.camera().handleKeyEvent( isDown, key, modifiers )

		if not handled and isDown:
			handled = self.ownKeyEvent( key, modifiers )
		if not handled and BigBang.tool() != None:
			handled = BigBang.tool().handleKeyEvent( isDown, key, modifiers )
		return handled
コード例 #12
0
	def createNewSpaceSettings( self, spacePath ):
		settingsFile = ResMgr.root.createSection( spacePath + "space.settings" )
		if settingsFile != None:
			settingsFile.writeString( "timeOfDay", "environments/sky.xml" )
			settingsFile.writeString( "skyGradientDome", "environments/sky.xml" )
			settingsFile.save();
			BigBang.addCommentaryMsg( "created space.settings" )
			return settingsFile
		else:
			BigBang.addCommentaryMsg( "error creating space.settings", 2 )
		return None
コード例 #13
0
    def onStop(self):
        #restore settings
        BigBang.farPlane(self.oldFarPlane)
        BigBang.opts._render._misc._drawFog.asFloat = self.oldFog
        c = BigBang.camera()
        c.speed = self.oldCameraSpeed
        c.turboSpeed = self.oldCameraSpeedTurbo

        self.onPause()
        del self.cc

        return 0
コード例 #14
0
	def onStop( self ):
		#restore settings
		BigBang.farPlane( self.oldFarPlane )
		BigBang.opts._render._misc._drawFog.asFloat = self.oldFog
		c = BigBang.camera()
		c.speed = self.oldCameraSpeed
		c.turboSpeed = self.oldCameraSpeedTurbo

		self.onPause()
		del self.cc

		return 0
コード例 #15
0
    def create(self):
        if self.newUniverseName == "none":
            BigBang.addCommentaryMsg("New Universe Name not set", 2)
            return
        if self.newSpaceName == "none":
            BigBang.addCommentaryMsg("New Space Name not set", 2)
            return

        self.createUniverse(self.newUniverseName)
        self.createSpace(self.newUniverseName, self.newSpaceName)
        fullPathName = "universes/" + self.newUniverseName + "/" + self.newSpaceName + "/"
        self.createChunks(fullPathName, self.numChunks, self.numChunks)
        pass
コード例 #16
0
	def create( self ):
		if self.newUniverseName == "none":
			BigBang.addCommentaryMsg( "New Universe Name not set", 2 )
			return
		if self.newSpaceName == "none":
			BigBang.addCommentaryMsg( "New Space Name not set", 2 )
			return

		self.createUniverse( self.newUniverseName )
		self.createSpace( self.newUniverseName, self.newSpaceName )
		fullPathName = "universes/" + self.newUniverseName + "/" + self.newSpaceName + "/"
		self.createChunks( fullPathName, self.numChunks, self.numChunks )
		pass
コード例 #17
0
	def updateState( self, dTime ):		
		GUI.update( dTime )
		self.cc.update( dTime )
		BigBang.update( dTime )
		BigBang.camera().update( dTime )
		BigBang.fudgeOrthographicMode( 1500.0, 0.01 )
		return 1
コード例 #18
0
 def updateState(self, dTime):
     GUI.update(dTime)
     self.cc.update(dTime)
     BigBang.update(dTime)
     BigBang.camera().update(dTime)
     BigBang.fudgeOrthographicMode(1500.0, 0.01)
     return 1
コード例 #19
0
	def createSpace( self, universeName, spaceName ):
		settingsFile = None
		pathName = "universes/" + universeName + "/"

		settingsFile = ResMgr.openSection( pathName + "universe.settings" )
		if settingsFile == None:
			settingsFile = self.createNewUniverseSettings( pathName )

		if settingsFile != None:
			#create a space entry in the universes file
			spaceSect = settingsFile.has_key( spaceName )
			if spaceSect == 0:
				settingsFile.writeString( spaceName, "" )
				settingsFile.save()

			#create the space folder
			pathName += spaceName + "/"
			settingsFile = ResMgr.openSection( pathName + "space.settings" )
			if settingsFile == None:
				settingsFile = self.createNewSpaceSettings( pathName )
				if settingsFile != None:
					BigBang.addCommentaryMsg( "created new space" )
コード例 #20
0
    def createSpace(self, universeName, spaceName):
        settingsFile = None
        pathName = "universes/" + universeName + "/"

        settingsFile = ResMgr.openSection(pathName + "universe.settings")
        if settingsFile == None:
            settingsFile = self.createNewUniverseSettings(pathName)

        if settingsFile != None:
            #create a space entry in the universes file
            spaceSect = settingsFile.has_key(spaceName)
            if spaceSect == 0:
                settingsFile.writeString(spaceName, "")
                settingsFile.save()

            #create the space folder
            pathName += spaceName + "/"
            settingsFile = ResMgr.openSection(pathName + "space.settings")
            if settingsFile == None:
                settingsFile = self.createNewSpaceSettings(pathName)
                if settingsFile != None:
                    BigBang.addCommentaryMsg("created new space")
コード例 #21
0
	def createChunk( self, pathName, x, y ):
		theChunk = pathName + self.chunkName(x,y)
		#create chunk file
		fullChunkName = theChunk + ".chunk"
		sect = ResMgr.openSection( fullChunkName )
		if sect == None:
			sect = ResMgr.root.createSection( fullChunkName )
			if sect != None:
				sect.writeStrings( "boundary", ("","","","","","") )
				for i in xrange( 0, 6 ):
					self.writeBoundary( sect,x,y,i ) 
				self.writeTerrain( sect,x,y )
				self.writeBoundsAndTransform( sect,x,y )
				sect.save()
				BigBang.addCommentaryMsg( "created " + fullChunkName )
		else:
			BigBang.addCommentaryMsg( "chunk exists :  - skipping" + fullChunkName, 1 )

		#create terrain file
		fullTerrainName = theChunk[0:-1] + ".terrain"
		BigBang.createBlankTerrainFile( fullTerrainName )		
		BigBang.addCommentaryMsg( "created " + fullTerrainName )
コード例 #22
0
    def createChunk(self, pathName, x, y):
        theChunk = pathName + self.chunkName(x, y)
        #create chunk file
        fullChunkName = theChunk + ".chunk"
        sect = ResMgr.openSection(fullChunkName)
        if sect == None:
            sect = ResMgr.root.createSection(fullChunkName)
            if sect != None:
                sect.writeStrings("boundary", ("", "", "", "", "", ""))
                for i in xrange(0, 6):
                    self.writeBoundary(sect, x, y, i)
                self.writeTerrain(sect, x, y)
                self.writeBoundsAndTransform(sect, x, y)
                sect.save()
                BigBang.addCommentaryMsg("created " + fullChunkName)
        else:
            BigBang.addCommentaryMsg(
                "chunk exists :  - skipping" + fullChunkName, 1)

        #create terrain file
        fullTerrainName = theChunk[0:-1] + ".terrain"
        BigBang.createBlankTerrainFile(fullTerrainName)
        BigBang.addCommentaryMsg("created " + fullTerrainName)
コード例 #23
0
 def onPause(self):
     self.cc.visible = 0
     self.cc.delAsView()
     if BigBang.tool() == self.chunkTool:
         BigBang.pushTool(self.chunkTool)
コード例 #24
0
	def onPause( self ):
		self.cc.visible = 0
		self.cc.delAsView()
		if BigBang.tool() == self.chunkTool:
			BigBang.pushTool( self.chunkTool )
コード例 #25
0
 def render(self, dTime):
     BigBang.camera().render(dTime)
     BigBang.render(dTime)
     GUI.draw()
     return 1
コード例 #26
0
 def onResume(self, exitCode):
     self.cc.addAsView()
     self.cc.visible = 1
     BigBang.pushTool(self.chunkTool)
     BigBang.addCommentaryMsg("entered chunk management mode.")
コード例 #27
0
	def onResume( self, exitCode ):
		self.cc.addAsView()
		self.cc.visible = 1
		BigBang.pushTool( self.chunkTool )
		BigBang.addCommentaryMsg( "entered chunk management mode." )
コード例 #28
0
	def onMouseEvent( self, mx, my, mz ):
		return BigBang.camera().handleMouseEvent( mx, my, mz )
コード例 #29
0
	def render( self, dTime ):
		BigBang.camera().render( dTime )
		BigBang.render( dTime )
		GUI.draw()
		return 1
コード例 #30
0
	def updateState( self, dTime ):
		GUI.update( dTime )
		BigBang.update( dTime )
		BigBang.camera().update( dTime )
		return 1
コード例 #31
0
 def onMouseEvent(self, mx, my, mz):
     return BigBang.camera().handleMouseEvent(mx, my, mz)