示例#1
0
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
示例#2
0
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