最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Switch平臺(tái)的Arcaea打包與解包(Python)

2023-03-16 22:11 作者:Zaid_J  | 我要投稿


解包(Unpack)


#Arcaea Switch unpacker

#將py文件,arc.pack,arc.json放于同一文件夾中,運(yùn)行py文件即可生成pack文件夾。

#有bug務(wù)必聯(lián)系我!

import json

import os


JSON=open("arc.json")

JSON=json.load(JSON)

JSON=JSON["Groups"]

PACK=open("arc.pack","rb")


for group in JSON:

? ? if not os.path.exists("pack/"+group["Name"]):

? ? ? ? os.makedirs("pack/"+group["Name"])


? ? for entry in group["OrderedEntries"]:

? ? ? ? offset = entry["Offset"]

? ? ? ? length = entry["Length"]

? ? ? ? originalfilename = entry["OriginalFilename"]

? ? ? ? PACK.seek(offset,0)

? ? ? ? data=PACK.read(length)

? ? ? ? PATH="pack/"+group["Name"]+"/"+originalfilename

? ? ? ? if not os.path.exists(os.path.dirname(PATH)):

? ? ? ? ? ? os.makedirs(os.path.dirname(PATH))

? ? ? ? output=open(PATH,"wb")

? ? ? ? output.write(data)

? ? ? ? print(PATH)


打包(Pack)

#Arcaea Switch packer

#將py文件與pack文件夾放于同一文件夾中,運(yùn)行py文件即可生成arc.pack和arc.json。

#有bug務(wù)必聯(lián)系我!

import os

import json

GLOBAL_OFFSET=0

Groups=[]

Dir=["startup","audio_init","buttons","mainmenu","topbar","base_shutters","jackets_large","jackets_small","packs","charts","songselect_bgs","character_sprites","not_large_png","not_large_jpg","not_audio_or_images","audio_wav","not_audio","Fallback"]


def hex_align(data,GLOBAL_OFFSET):

? ? data = bytearray(data)

? ? while len(data) % 16 != 0:

? ? ? ? data.append(0)

? ? ? ? GLOBAL_OFFSET+=1

? ? data = bytes(data)

? ? return data,GLOBAL_OFFSET


output_pack = open("arc.pack","wb+")


for i in Dir:

? ? if i not in os.listdir("pack"):

? ? ? ? os.mkdir("pack/"+i)


for d in os.listdir("pack"):

? ? group={}

? ? OrderedEntries = []

? ? group["Name"] = d

? ? group["Offset"] = GLOBAL_OFFSET


? ? for root,dirs,files in os.walk("pack/"+d):

? ? ? ? for f in files:

? ? ? ? ? ?entry={}

? ? ? ? ? ?PATH=os.path.join(root,f)

? ? ? ? ? ?file = open(PATH,"rb")

? ? ? ? ? ?data = file.read()

? ? ? ? ? ?entry["OriginalFilename"] = PATH.lstrip("pack/").lstrip(d).lstrip("/")

? ? ? ? ? ?entry["Offset"] = GLOBAL_OFFSET

? ? ? ? ? ?entry["Length"] = len(data)

? ? ? ? ? ?GLOBAL_OFFSET+=len(data)

? ? ? ? ? ?OrderedEntries.append(entry)

? ? ? ? ? ?data,GLOBAL_OFFSET=hex_align(data,GLOBAL_OFFSET)

? ? ? ? ? ?output_pack.write(data)

? ? ? ? ? ?print(PATH)


? ? group["Length"]=GLOBAL_OFFSET-group["Offset"]

? ? group["OrderedEntries"]=OrderedEntries

? ? Groups.append(group)


JSON={}

JSON["Groups"]=Groups

with open("arc.json","w",newline="\n") as output_json:

? ? output_json.write(json.dumps(JSON,indent=1))

? ? print("COMPLETE!")



Switch平臺(tái)的Arcaea打包與解包(Python)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
诸暨市| 宁南县| 朔州市| 荣昌县| 珠海市| 固原市| 大洼县| 介休市| 丽水市| 垦利县| 永兴县| 龙州县| 长寿区| 仙游县| 高密市| 莒南县| 虎林市| 金寨县| 临清市| 义乌市| 西丰县| 定日县| 清丰县| 松溪县| 长宁区| 平泉县| 高碑店市| 廉江市| 乐平市| 乌兰浩特市| 资中县| 和林格尔县| 德令哈市| 正镶白旗| 安陆市| 侯马市| 虞城县| 莆田市| 白城市| 博兴县| 旌德县|