def loadMapFile(mapNum, fileNameBasePath): """Carga un mapa""" fileNameMap = os.path.join(fileNameBasePath, 'Mapa%d.map' % mapNum) fileNameInf = os.path.join(fileNameBasePath, 'Mapa%d.inf' % mapNum) fileNameDat = os.path.join(fileNameBasePath, 'Mapa%d.dat' % mapNum) # .map with open(fileNameMap, 'rb') as f: mapData = ByteQueue(f.read()) # .inf with open(fileNameInf, 'rb') as f: infData = ByteQueue(f.read()) # .dat datData = util.MyConfigParser() datData.read([fileNameDat]) # Map object. mf = MapFile(mapNum) # Map header mf.mapVers = mapData.readInt16() mf.mapDesc = mapData.readStringFixed(255) mf.mapCrc = mapData.readInt32() mf.mapMagicWord = mapData.readInt32() # Dat data datSection = "Mapa%d" % mapNum mapOptions = [ 'Name', 'MusicNum', 'StartPos', 'MagiaSinEfecto', 'InviSinEfecto', 'ResuSinEfecto', 'OcultarSinEfecto', 'InvocarSinEfecto', 'NoEncriptarMP', 'RoboNpcsPermitido', 'Pk', 'Terreno', 'Zona', 'Restringir', 'BACKUP' ] # Carga las opciones del mapa que están dentro del .dat. # Si una opcion no está la guarda como None. for opt in mapOptions: try: mf.opts[opt] = datData.get(datSection, opt) except NoOptionError, e: mf.opts[opt] = None
def loadMapFile(mapNum, fileNameBasePath): """Carga un mapa""" fileNameMap = os.path.join(fileNameBasePath, 'Mapa%d.map' % mapNum) fileNameInf = os.path.join(fileNameBasePath, 'Mapa%d.inf' % mapNum) fileNameDat = os.path.join(fileNameBasePath, 'Mapa%d.dat' % mapNum) # .map with open(fileNameMap, 'rb') as f: mapData = ByteQueue(f.read()) # .inf with open(fileNameInf, 'rb') as f: infData = ByteQueue(f.read()) # .dat datData = util.MyConfigParser() datData.read([fileNameDat]) # Map object. mf = MapFile(mapNum) # Map header mf.mapVers = mapData.readInt16() mf.mapDesc = mapData.readStringFixed(255) mf.mapCrc = mapData.readInt32() mf.mapMagicWord = mapData.readInt32() # Dat data datSection = "Mapa%d" % mapNum mapOptions = ['Name', 'MusicNum', 'StartPos', 'MagiaSinEfecto', 'InviSinEfecto', 'ResuSinEfecto', 'OcultarSinEfecto', 'InvocarSinEfecto', 'NoEncriptarMP', 'RoboNpcsPermitido', 'Pk', 'Terreno', 'Zona', 'Restringir', 'BACKUP'] # Carga las opciones del mapa que están dentro del .dat. # Si una opcion no está la guarda como None. for opt in mapOptions: try: mf.opts[opt] = datData.get(datSection, opt) except NoOptionError, e: mf.opts[opt] = None