Beispiel #1
0
 def getSuitPointWithIndex(self, index):
     returnValue = libtoontown._inPet4yw37H(self.this, index)
     import DNASuitPoint
     returnObject = DNASuitPoint.DNASuitPoint(None)
     returnObject.this = returnValue
     if returnObject.this == 0:
         return None
     returnObject.userManagesMemory = 1
     return returnObject.setPointer()
     return
Beispiel #2
0
 def getEndPoint(self):
     returnValue = libtoontown._inPet4y8Cdh(self.this)
     import DNASuitPoint
     returnObject = DNASuitPoint.DNASuitPoint(None)
     returnObject.this = returnValue
     if returnObject.this == 0:
         return None
     returnObject.userManagesMemory = 1
     return returnObject.setPointer()
     return
Beispiel #3
0
 def __overloaded_storeSuitPoint_ptrDNAStorage___enum__DNASuitPointType_ptrLPoint3f(
         self, type, pos):
     returnValue = libtoontown._inPet4yo1kA(self.this, type, pos.this)
     import DNASuitPoint
     returnObject = DNASuitPoint.DNASuitPoint(None)
     returnObject.this = returnValue
     if returnObject.this == 0:
         return None
     returnObject.userManagesMemory = 1
     return returnObject.setPointer()
     return
Beispiel #4
0
 def handleStorageData(self, dgi):
     # catalog codes
     numRoots = dgi.getUint16()
     for i in xrange(numRoots):
         root = dgi_extract_string8(dgi)
         
         numCodes = dgi.getUint8()
         for j in xrange(numCodes):
             code = dgi_extract_string8(dgi)
             self.curStore.storeCatalogCode(root, code)
             
     # textures
     numTextures = dgi.getUint16()
     for i in xrange(numTextures):
         code = dgi_extract_string8(dgi)
         filename = dgi_extract_string8(dgi)
         
         self.curStore.storeTexture(code, TexturePool.loadTexture(filename))
         
     # fonts
     numFonts = dgi.getUint16()
     for i in xrange(numFonts):
         code = dgi_extract_string8(dgi)
         filename = dgi_extract_string8(dgi)
         
         if config.GetBool('libpandadna-load-fonts', False):
             self.curStore.storeFont(code, FontPool.loadFont(filename))
     
     # nodes
     self.__handleNode(dgi, self.curStore.storeNode)
     self.__handleNode(dgi, self.curStore.storeHoodNode)
     self.__handleNode(dgi, self.curStore.storePlaceNode)
     
     # blocks
     numBlocks = dgi.getUint16()
     for i in xrange(numBlocks):
         number = dgi.getUint8()
         zone = dgi.getUint16()
         title = dgi_extract_string8(dgi)
         article = dgi_extract_string8(dgi)
         bldgType = dgi_extract_string8(dgi)
         
         self.curStore.storeBlock(number, title, article, bldgType, zone)
         
     # suit points
     numPoints = dgi.getUint16()
     for i in xrange(numPoints):
         index = dgi.getUint16()
         pointType = dgi.getUint8()
         
         x, y, z = [dgi.getInt32() / 100.0 for _ in xrange(3)]
         
         graph = dgi.getUint8()
         landmarkBuildingIndex = dgi.getInt8()
         
         self.curStore.storeSuitPoint(DNASuitPoint.DNASuitPoint(index, pointType, (x, y, z), landmarkBuildingIndex))
         
     # suit edges
     numEdges = dgi.getUint16()
     for i in xrange(numEdges):
         index = dgi.getUint16()
         numPoints = dgi.getUint16()
         
         for j in xrange(numPoints):
             endPoint = dgi.getUint16()
             zoneId = dgi.getUint16()
             self.curStore.storeSuitEdge(index, endPoint, zoneId)
             
     # battle cells
     numCells = dgi.getUint16()
     for i in xrange(numCells):
         w = dgi.getUint8()
         h = dgi.getUint8()
         
         x, y, z = [dgi.getInt32() / 100.0 for _ in xrange(3)]
         
         self.curStore.storeBattleCell(DNABattleCell.DNABattleCell(w, h, (x, y, z)))
Beispiel #5
0
    def handleStorageData(self, dgi):
        # Catalog Codes
        numRoots = dgi.getUint16()
        for _ in xrange(numRoots):
            root = DNAUtil.dgiExtractString8(dgi)
            numCodes = dgi.getUint8()
            for i in xrange(numCodes):
                code = DNAUtil.dgiExtractString8(dgi)
                self.dnaStorage.storeCatalogCode(root, code)

        # Textures
        numTextures = dgi.getUint16()
        for _ in xrange(numTextures):
            code = DNAUtil.dgiExtractString8(dgi)
            filename = DNAUtil.dgiExtractString8(dgi)
            self.dnaStorage.storeTexture(code, loader.pdnaTexture(filename, okMissing=True))

        # Fonts
        numFonts = dgi.getUint16()
        for _ in xrange(numFonts):
            code = DNAUtil.dgiExtractString8(dgi)
            filename = DNAUtil.dgiExtractString8(dgi)
            self.dnaStorage.storeFont(code, loader.pdnaFont(filename))

        # Nodes
        self.handleNode(dgi, target = self.dnaStorage.storeNode)
        self.handleNode(dgi, target = self.dnaStorage.storeHoodNode)
        self.handleNode(dgi, target = self.dnaStorage.storePlaceNode)

        # Blocks
        numBlocks = dgi.getUint16()
        for _ in xrange(numBlocks):
            number = dgi.getUint8()
            zone = dgi.getUint16()
            title = DNAUtil.dgiExtractString8(dgi)
            article = DNAUtil.dgiExtractString8(dgi)
            bldgType = DNAUtil.dgiExtractString8(dgi)
            self.dnaStorage.storeBlock(number, title, article, bldgType, zone)

        # Suit Points
        numPoints = dgi.getUint16()
        for _ in xrange(numPoints):
            index = dgi.getUint16()
            pointType = dgi.getUint8()
            x, y, z = (dgi.getInt32() / 100.0 for i in xrange(3))
            graph = dgi.getUint8()
            landmarkBuildingIndex = dgi.getInt8()
            self.dnaStorage.storeSuitPoint(DNASuitPoint.DNASuitPoint(index, pointType, LVector3f(x, y, z), landmarkBuildingIndex))

        # Suit Edges
        numEdges = dgi.getUint16()
        for _ in xrange(numEdges):
            index = dgi.getUint16()
            numPoints = dgi.getUint16()
            for i in xrange(numPoints):
                endPoint = dgi.getUint16()
                zoneId = dgi.getUint16()
                self.dnaStorage.storeSuitEdge(index, endPoint, zoneId)

        # Battle Cells
        numCells = dgi.getUint16()
        for _ in xrange(numCells):
            w = dgi.getUint8()
            h = dgi.getUint8()
            x, y, z = (dgi.getInt32() / 100.0 for i in xrange(3))
            self.dnaStorage.storeBattleCell(DNABattleCell.DNABattleCell(w, h, LVector3f(x, y, z)))