rendered paste body_encode64 = ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "_")_decode64 = {"a":0, "b":1, "c":2, "d":3, "e":4, "f":5, "g":6, "h":7, "i":8, "j":9, "k":10, "l":11, "m":12, "n":13, "o":14, "p":15, "q":16, "r":17, "s":18, "t":19, "u":20, "v":21, "w":22, "x":23, "y":24, "z":25, "A":26, "B":27, "C":28, "D":29, "E":30, "F":31, "G":32, "H":33, "I":34, "J":35, "K":36, "L":37, "M":38, "N":39, "O":40, "P":41, "Q":42, "R":43, "S":44, "T":45, "U":46, "V":47, "W":48, "X":49, "Y":50, "Z":51, "0":52, "1":53, "2":54, "3":55, "4":56, "5":57, "6":58, "7":59, "8":60, "9":61, "-":62, "_":63}class Cell(object): passdef uncompressMap(sData, bForced=False): cellArray = [] cellNum = 0 for i in xrange(0, len(sData), 10): cellObj = uncompressCell(sData[i:i+10], bForced, 0) cellObj.num = cellNum cellNum += 1 cellArray.append(cellObj) return cellArraydef uncompressCell(sData, bForced=False, nPermanentLevel=0): oC = Cell() dD = [_decode64[i] for i in sData] oC.active = (dD[0] & 32) >> 5 == 1 if oC.active or bForced: oC.nPermanentLevel = nPermanentLevel oC.lineOfSight = dD[0] & 1 == 1 oC.layerGroundRot = (dD[1] & 48) >> 4 oC.groundLevel = dD[1] & 15 oC.movement = (dD[2] & 56) >> 3 oC.layerGroundNum = ((dD[2] & 7) << 6) + dD[3] oC.groundSlope = (dD[4] & 60) >> 2 oC.layerGroundFlip = (dD[4] & 2) >> 1 == 1 oC.layerObject1Num = ((dD[4] & 1) << 12) + (dD[5] << 6) + dD[6] oC.layerObject1Rot = (dD[7] & 48) >> 4 oC.layerObject1Flip = (dD[7] & 8) >> 3 == 1 oC.layerObject2Flip = (dD[7] & 4) >> 2 == 1 oC.layerObject2Interactive = (dD[7] & 2) >> 1 == 1 oC.layerObject2Num = ((dD[7] & 1) << 12) + (dD[8] << 6) + dD[9] oC.layerObjectExternal = "" oC.layerObjectExternalInteractive = False return oC