Пример #1
0
def write_changed(fh, pre, post, name):
    if not os.path.isfile(pre) or not os.path.isfile(post):
        print 'MD5s Missing! Can not extract %s changed files' % name
        return

    cmd = 'diff --unchanged-group-format=' ' --old-group-format=' ' --new-group-format=\'%%>\' --changed-group-format=\'%%>\' %s %s' % (
        pre, post)
    process = subprocess.Popen(cmdsplit(cmd),
                               stdout=subprocess.PIPE,
                               bufsize=-1)
    difflist, _ = process.communicate()
    srg_data = parse_srg(os.path.join(mcp_root, "temp", "client_rg.srg"))
    classes = {}
    for row in srg_data['CL']:
        classes[row['deobf_name']] = row['obf_name']

    for diff in difflist.splitlines():
        diffrow = diff.strip().split()
        clazz = diffrow[0]
        if clazz in classes:
            clazz = classes[clazz]
        if clazz.startswith("net/minecraft/src/"):
            clazz = clazz[len("net/minecraft/src/"):]
        fh.write("%s/%s.class\n" % (name, clazz))
    fh.write("%s/cpw/mods/fml/common/asm/SideOnly.class\n" % name)
    fh.write("%s/cpw/mods/fml/common/Side.class\n" % name)
Пример #2
0
def main():
    list_file = os.path.abspath(sys.argv[2])
    prelist = os.path.join(mcp_root,"temp","server.md5")
    postlist = os.path.join(mcp_root,"temp","server_reobf.md5")
    cmd = 'diff --unchanged-group-format='' --old-group-format='' --new-group-format=\'%%>\' --changed-group-format=\'%%>\' %s %s' % (prelist, postlist)
    process = subprocess.Popen(cmdsplit(cmd), stdout=subprocess.PIPE, bufsize=-1)
    difflist,_= process.communicate()
    srg_data = parse_srg(os.path.join(mcp_root,"temp","server_rg.srg"))
    classes = {}
    for row in srg_data['CL']:
      classes[row['deobf_name']] = row['obf_name']

    with open(list_file, 'w') as fh:
      for diff in difflist.splitlines():
        diffrow=diff.strip().split()
        clazz=diffrow[0]
        if clazz in classes:
          clazz=classes[clazz]
        if clazz.startswith("net/minecraft/src/"):
          clazz=clazz[len("net/minecraft/src/"):]
        fh.write("minecraft_server/%s.class\n" %(clazz))

    prelist = os.path.join(mcp_root,"temp","client.md5")
    postlist = os.path.join(mcp_root,"temp","client_reobf.md5")
    cmd = 'diff --unchanged-group-format='' --old-group-format='' --new-group-format=\'%%>\' --changed-group-format=\'%%>\' %s %s' % (prelist, postlist)
    process = subprocess.Popen(cmdsplit(cmd), stdout=subprocess.PIPE, bufsize=-1)
    difflist,_= process.communicate()
    srg_data = parse_srg(os.path.join(mcp_root,"temp","client_rg.srg"))
    classes = {}
    for row in srg_data['CL']:
      classes[row['deobf_name']] = row['obf_name']

    with open(list_file, 'a') as fh:
      for diff in difflist.splitlines():
        diffrow=diff.strip().split()
        clazz=diffrow[0]
        if clazz in classes:
          clazz=classes[clazz]
        if clazz.startswith("net/minecraft/src/"):
          clazz=clazz[len("net/minecraft/src/"):]
        fh.write("minecraft/%s.class\n" %(clazz))
Пример #3
0
def write_changed(fh, pre, post, name):
    if not os.path.isfile(pre) or not os.path.isfile(post):
        print 'MD5s Missing! Can not extract %s changed files' % name
        return
        
    cmd = 'diff --unchanged-group-format='' --old-group-format='' --new-group-format=\'%%>\' --changed-group-format=\'%%>\' %s %s' % (pre, post)
    process = subprocess.Popen(cmdsplit(cmd), stdout=subprocess.PIPE, bufsize=-1)
    difflist,_= process.communicate()
    srg_data = parse_srg(os.path.join(mcp_root,"temp","client_rg.srg"))
    classes = {}
    for row in srg_data['CL']:
      classes[row['deobf_name']] = row['obf_name']

    for diff in difflist.splitlines():
        diffrow=diff.strip().split()
        clazz=diffrow[0]
        if clazz in classes:
            clazz=classes[clazz]
        if clazz.startswith("net/minecraft/src/"):
            clazz=clazz[len("net/minecraft/src/"):]
        fh.write("%s/%s.class\n" %(name,clazz))