太极--专业的修改辅助工具

person file_download apps

太极TaiJi【用户指南】

友情链接: PvZ2吧资源小站

This document is produced by SMALLPC and the language is Chinese. If you cannot understand Chinese, you can view the English tutorial made by ErnestoAM


介绍

“太极”是什么?

一款以实现、简化 PvZ2 的数据修改为目的,由 smallpc 所开发的一款多功能辅助工具
前身为多年前制作的 PvZ-Tool , 曾用名为 SPC-Util , 现名为 太极(Tai-Ji)

“太极” 由 核心(core)库(lib)应用程序(app) 三者组成:

  • core :TaiJi本身功能的实现。对外暴露一些函数,以查询core信息、调用core功能。本文中的“太极版本”一词,若无说明,均指代core版本
  • lib :core编译后,以库文件(lib)的形式发布,供app调用,版本与core保持一致。提供适用于Windows的DLL库文件与适用于Android的SO库文件
  • app :用户可直接使用的软件,对于不同平台有如下app:
    • app.windows.loader :TaiJi加载器,适用于Windows。此为命令行工具,无图形界面
    • app.android :适用于Android的应用程序,目前仅支持ARM64设备,需要安卓版本至少为6.0

最新版本参照表
lib|app 版本
lib.windows.dynamic (x64|x32) 3.11.0
lib.android.dynamic (arm64) 3.11.0
app.windows.loader (x64|x32) 1.5.0
app.android (22+, arm64) 1.9.0
  • 本教程的内容均以最新版本为准,新版本修复了旧版本中的bug,或增加了功能,请确保使用最新版本
  • 为促使用户进行更新,core限制了可使用时间为每版本的core只可在发布日期所在的一月内,开发者将会在每月的一号或二号进行core的更新,用户可通过app内置更新服务进行更新
    此限制仅校验设备本地时间,若超过日期仍要使用,可以调整系统时间。不推荐这样做,应该始终使用最新版,但可以通过此法在core已过期但开发者未发布新版本的时候强制运行
  • 由于更改了网站设置,app.windows.loader 1.5.0 以下版本、app.android 1.9.0 以下版本,均无法使用内置更新服务,需要手动在网站内下载最新版本app
  • version(core) < 3.11.0的版本中,程序运行具有驱动器限制,一次运行只能操作一个驱动器内的文件,3.11.0版本开始,此限制被解除

“太极”能做些什么?

  • RTON与JSON的相互转化
  • RSB|RSGP数据包的解包与打包
  • PTX图像的编码与解码、Atlas图像的拆分与合并
  • PAM动画的编码与解码、转换Flash|CSS
  • 基于原生修改的拓展:JSON-Patch|RSB-PatchX|PvZ2-Mod。可方便的进行MOD制作
  • 制作过程中对于一代游戏文件的支持:DZ|PAK数据包的解包与打包
  • ......

捐赠

如果你喜欢我的工具,且拥有自己可支配的金钱,可以捐赠一定的金钱奖赏,激励我制作愈加完善的工具。
当然,如果你不进行任何捐赠,你依然可以使用公开版本的所有功能,本程序是免费、公开的。
捐赠时,请尽量备注你的网名。 查看捐赠名单


使用

本节叙述了太极APP的使用方法

* PROGRAM-DIR *

此值指向了程序数据文件夹,用以简化表示,app下载的文件均位于此文件夹中,如非用户主动操作,app的活动只限于此文件夹内
不同系统中,指向的文件夹具体路径如下:
Windows:C:\ProgramData\cn.smallpc\taiji注意:"C:\ProgramData" 文件夹在Windows中是默认隐藏的,需要用户手动开启“显示隐藏项目”
Android:{ExteanalStorageDir}/Android/data/cn.smallpc.taiji.app.android/files/res


【Windows】Loader -- app.windows.loader

* 下载 *

下载界面 内获取 太极-Loader.exe
注意: loader分为64位与32位,32位设备只能使用32位的程序
      打开程序后可能提示DLL库缺失,需要安装MSVC运行库。微软官方下载链接: | x64 | x32 |

* 更新|安装运行环境 *

在不提供参数(直接双击打开程序)而打开loader的情况下,loader会准备进行更新/安装,在程序窗口确定(按下任意按键)后,即可开始下载更新(安装)包,并自动更新(安装)库与所需的环境配置
更新服务必须在网络畅通时进行,务必保证网络连接的正常

更新|安装过程所下载文件(放置于{PROGRAM-DIR})
文件 说明
loader.exe 最新版本loader程序,只有当前loader版本与服务器中loader版本不相符时才会下载
taiji.dll 最新版本核心库,只有当前核心库版本与服务器中核心库版本不相符时才会下载
env.json Windows平台所需的运行环境配置文件
cfg/cfg.json 运行所需的cfg文件
cfg/script/[...].tjs 预置脚本文件
cfg/texture/[...].json 图像纹理映射文件
other/windows.shortcut.reg 在Explorer文件|文件夹右键菜单中添加“通过太极打开”的功能,需要loader已安装
other/windows.shortcut-remove.reg 删除 windows.shortcut.reg 构建的太极上下文选项

* Explorer右键选项 *

每次都将目标文件/文件夹拖拽到loader.exe上,或许过于麻烦;可以将“通过TaiJi-Loader启动”添加到Explorer的右键菜单中
通过loader进行更新时会获取【添加|移除右键菜单选项的注册表文件】,双击合并对于功能的注册表文件应用即可

  • {PROGRAM-DIR}\other\windows.shortcut.reg添加右键选项
  • {PROGRAM-DIR}\other\windows.shortcut-remove.reg移除所添加的右键选项
添加右键选项之后,在Explorer中右键选中文件/文件夹,会出现如下选项:
  • 所有文件/文件夹打开该路径,与 将 文件|文件夹 拖拽着 loader.exe 上释放的效果一致
  • JSON文件格式化、编码为RTON
  • RTON文件解码为JSON、加密、解密
  • RSGP文件解包
  • RSB文件解包、解包(工作模式)、解包(资源解析模式)、混淆
  • PNG文件转换为纯二进制纹理数据(PTX文件)
  • PTX文件转换为PNG图像
  • PAM文件解码、解码并转换为XFL、解码并转换为CSS-Info
  • WEM文件解码为WAV

* 功能使用--执行脚本 *

太极的脚本文件拥有拓展名tjs (TaiJi-Script),拖拽*.tjs文件到loader上即可运行此脚本

* 功能使用--QE模式 *

选择任意文件或文件夹loader上,即可根据此文件|文件夹的路径与类型筛选可用的QE-Option,供用户选择
关于QE模式,参阅:QE-Mode 一节

* WEM音频转换设置(可选) *

程序本身无法进行音频编解码,而是通过 std::system 调用 ffmpeg.exe 与 ww2ogg.exe 完成音频的编解码。故,若需进行WEM转换,应自行进行以下操作:

  • ww2ogg :下载获取ww2ogg024.zip,提取出其中的ww2ogg.exepacked_codebooks_aoTuV_603.bin
  • ffmpeg :下载获取zip,提取出其中的ffmpeg.exe
,将上述三份提取出来的文件放置于{PROGRAM-DIR}\extern文件夹内

程序只会在运行:Aduio:WwiseEncodedMedia:Encoder:DeCode函数时才会对其进行调用,所以,即使未进行上述配置,也不影响其他功能的使用
由于是通过调用 exe 程序完成转换功能,故此功能仅限于 Windows 设备使用


【Android】App -- app.android

* 安装 *

在下载界面内获取 太极.apk ,并安装
注意:目前,App只支持Android 6.0+ABI = arm64-v8a的设备。Android6.0以下无法安装,ABI非arm64-v8a的设备打开程序后会弹窗提示“设备不受支持”的信息

* 权限获取 *

  1. 进入“设置”界面
  2. 在“通用设置”一栏下可看到两个开关选项,呈灰色(闭合状态)表示未获取对应的权限,应如此做:
    • 点击“存储权限”灰色开关,程序将弹出权限申请对话框,点击“允许”
    • 点击“APK安装权限”灰色开关,程序将跳转至本应用的系统设置界面,点击“允许来自此来源的应用”(不同安卓设备显示的界面或文字可能有所不同)

* 更新/安装运行环境 *

  1. 进入“关于”界面
  2. 点击“更新”按钮,程序会开始下载更新(安装)包,并自动为本设备安装库与所需的环境配置。更新服务必须在网络畅通时进行,务必保证网络连接的正常

在此界面中部,会显示三行文字,自上而下分别是APP-VER(APP版本)、LIB-ABI(核心库支持的abi)、LIB-VER(核心库的版本)若LIB-ABI与LIB-VER显示unknown,则表示核心库未正确安装

更新|安装过程所下载文件(放置于{PROGRAM-DIR})
文件 说明
../Download/app.apk 最新版本APP程序,只有当前APP版本与服务器中APP版本不相符时才会下载
../Download/libtaiji.so 最新版本核心库,只有当前核心库版本与服务器中核心库版本不相符时才会下载
cfg/cfg.json 运行所需的cfg文件
cfg/script/[...].tjs 预置脚本文件
cfg/texture/[...].json 图像纹理映射文件
other/android.shortcut.json Android-App可用的快捷指令配置文件

* 功能使用--快捷指令 *

“快捷指令”功能通过预定义的一系列指令集,简化了用户的使用,例如:快捷指令中由 “ZLib compress” 一项,执行后只需选择压缩源文件即可完成对文件的压缩,无需通过 QE模式|简单函数生成 等较繁琐的方式执行

  1. 进入“执行指令”界面,在最上TAB选项里选择“快捷指令”一栏
  2. 程序界面上会显示定义于android.shortcut.json中的快捷指令列表。点击左侧的文本部分,可显示对此项快捷指令的功能释义;点击右侧“运行”按键,可执行此快捷指令

* 功能使用--运行脚本 *

  1. 进入“执行指令”界面,在最上TAB选项里选择“脚本”一栏
  2. 文本框内填入脚本文件的绝对路径(右侧“选择”按钮可以打开文件管理器进行文件的选择)
  3. 选择完毕后点击文本框下一行的“执行脚本文件”按钮,即可执行脚本

注意:输入的文件路径必须是从根目录开始的绝对路径,且形如/storage/emulated/...;其他如/document/image-xxx这类的路径无法被APP正确寻找,会提示文件未找到的错误

* 功能使用--QE模式 *

  1. 进入“执行指令”界面,在最上TAB选项里选择“QE模式”一栏
  2. 文本框内填入说要操作文件的绝对路径(右侧“选择”按钮可以打开文件管理器进行文件的选择)
  3. 选择完毕后,可以点击文本框上方的“执行QuickEnter”按钮,即可为此文件执行QE。这类似于Windows-Loader使用的拖拽启动QE功能,需要手动选择QE-Option
  4. 也可根据文本框下方提供的几个控件,选择所要执行的QE-Option,再点击“执行所选QuickEnter”按钮,即可根据所选QE-Option直接为此文件执行QE,而无需手动选择QE-Option

若开启文本框下方的 Batch 选项,则文本框内所填路径应为一个文件夹,以作为Batch-QE-Mode的容器;在未开启状态下,右侧两个下拉框提供普通的QE-Option;开启后,提供BatchMode的QE-Option
关于QE模式,参阅:QE-Mode 一节

* 功能使用--简单函数生成 *

  1. 进入“执行指令”界面,在最上TAB选项里选择“函数”一栏
  2. 点击下拉框,可以看到函数表,选择其中一个函数,下方会生成此函数所需的参数之列表
  3. 填写完毕参数后,点击“生成函数指令并执行”按钮,程序会根据所填内容自动生成指令并执行

此功能较为繁琐,且不适于无基础用户使用;函数表及参数释义参阅:函数 一节

* Mod下载、安装 *

进入网站的 Mod下载界面 ,下载所需Mod包(zip压缩格式),解压至{PROGRAM-DIR}/mod文件夹中

...TODO

* MOD应用 *

进入程序主界面,点击按钮进入“MOD管理器”界面,

...TODO


【Windows】提供太极应用PvZ2-MOD包的方法

MOD环境配置:

  1. 从mod下载界面获取mod的zip压缩包,解压得到后缀为 .tjpvz2mod 的文件夹,这就是太极的PvZ2-MOD包
  2. 从下载界面获取 mod.env.json 文件,移动到驱动器根目录下,并需要应用MOD的数据包也复制到驱动器的根目录下
    以文本形式打开 mod.env.json 文件,在红线处填写数据包文件名(第二条红线对应处加上 .dir 后缀),如图所示
  3. 对数据包应用MOD分为三部:开始MOD(数据包解包),应用MOD包,完成MOD(数据包打包)
    开始MOD:选择 mod.env.jsonLoader.exe 上释放,再选择 PvZ2-Mod 一栏下的 intro 选项,等待数据包解包完毕
    应用MOD包:选择 PvZ2-Mod包文件夹(带有后缀 .tjpvz2mod)Loader.exe 上释放,窗口会提示 is batch mode ? 输入数字0,回车,再选择 PvZ2-Mod 一栏下的 apply 选项,弹出文件选择窗口,选择 mod.env.json 即可,等待MOD应用完毕
    结束MOD:步骤与开始MOD类似,最后一步选择 outro 选项,等待数据包打包完毕,即可得到应用MOD后的数据包

Quick-Enter Mode

Quick-Enter(下称 QE)模式,即“快速启动”


函数

函数,是TaiJi运行的最核心之处,绝大多数高级功能(如解包、转码)都需要依靠调用TaiJi内置函数来达成
若无说明,参数均不应取null


Setting:JSON 系

影响本次进程中JSON的读写设置


:Setting:JSON:IOMem:realloc

重申请JSON读写所用内存

  • Sz

    内存大小


:Setting:JSON:Style:set

设置JSON输出格式

  • NoLineFeedWhenElement

    是否禁止数组元素间的换行


CFunc 系

调用C/C++函数


:CFunc:system

调用 std::system

  • Cmd

    cmd参数


Process 系

进程控制


:Process:delay

暂停进程一段时间

  • Second

    暂停时间,单位为秒


:Process:pause

暂停进程,等待用户作出响应后继续
Windows-CMD上体现为窗口暂停并显示提示信息,用户输入任意键后继续
Android上体现为弹出暂停提示窗口,用户点击确认按键后继续


:Process:exit

结束进程


Clock 系

计时器使用


:Clock:new

创建一个计时器

  • ID

    计时器ID
    先决ID未定义


:Clock:delete

删除一个计时器

  • ID

    计时器ID
    先决ID已定义


:Clock:start

计时器归零并开始计时

  • ID

    计时器ID
    先决ID已定义


:Clock:stop

计时器停止计时

  • ID

    计时器ID
    先决ID已定义


:Clock:show

打印计时结果到日志中

  • ID

    计时器ID
    先决ID已定义

  • Msg

    信息文本格式,参照C语言 printf 格式控制,可变参数表中只有一个 64位浮点数 ,表示计时器所记录的时间


File 系

本地文件系统操作


:File:cpy

复制文件或文件夹

  • Src

    [输入]源路径

  • Dst

    [输出]目标路径


:File:rename

重命名某一目录下的文件或文件夹

  • Dir

    对象所在文件夹

  • OldName

    对象原名

  • OldName

    对象新名


:File:remove

删除文件或文件夹

  • Path

    [输入]对象路径


Data 系

视为一般二进制数据处理


:Data:Compressor:ZLib:Compress

ZLIB 压缩文件

  • SrcFile

    [输入]源文件

  • DstFile

    [输出]目标文件


:Data:Compressor:ZLib:UnCompress

ZLIB 解压文件

  • SrcFile

    [输入]源文件

  • DstFile

    [输出]目标文件

  • DstCap

    暂存解压结果的内存之容量,需不小于解压后大小


:Data:Encryptor:XOR:Crypt

XOR 加密文件

  • PlainFile

    [输入]明文文件

  • CipherFile

    [输出]密文文件

  • Key

    密钥,为一个Byte值,范围0~255


:Data:Encryptor:Base64:EnCrypt

Base64 加密文件

  • PlainFile

    [输入]明文文件

  • CipherFile

    [输出]密文文件


:Data:Encryptor:Base64:DeCrypt

Base64 解密文件

  • CipherFile

    [输入]密文文件

  • PlainFile

    [输出]明文文件


JSON 系

JSON文件操作


:JSON:Fmt

格式化JSON文件,格式由 :Setting:JSON:Style:set 设置

  • SrcFile

    [输入]源文件

  • DstFile

    [输出]目标文件


RTON 系

RTON文件操作。包括编|解码、加|解密


:RTON:Encoder:EnCode

编码JSON文件为RTON文件

  • JSONFile

    [输入]JSON文件

  • RTONFile

    [输出]RTON文件

  • EnableStrIdx

    开启字符串索引(0x81->0x90|0x91)
    可缩减生成的RTON数据大小,但会降低编码效率

  • EnableRTIDType

    对RTID型字符串启用专用的RTON类型(0x83)
    当表示某些特殊RTID(如 "RTID(xxx@.)")时,使用普通字符串形式会使游戏读取错误,应使用0x83类型

  • IsWhole

    输出数据是否为完整的RTON
    false不做修改,编码结果为一个RTON值单元
    true 会将编码得到的值单元修饰为完整RTON;此时,输入JSON必须为object

  • MemSz

    暂存 RTONFile数据 所使用的内存空间大小


:RTON:Encoder:DeCode

解码RTON文件得到JSON文件

  • RTONFile

    [输入]RTON文件

  • JSONFile

    [输出]JSON文件

  • IsWhole

    输入数据是否为完整的RTON
    false数据源应为一个RTON值单元
    true 数据源须为一个完整RTON


:RTON:Encryptor:EnCrypt

加密RTON文件

ENABLE_RTON_CRYPTORpublic版本中此功能被禁止

  • PlainFile

    [输入]明文文件

  • CipherFile

    [输出]密文文件

  • Key

    加密密钥
    null使用中文版游戏内部密钥


:RTON:Encryptor:DeCrypt

解密RTON文件

ENABLE_RTON_CRYPTOR:public版本中此功能被禁止

  • CipherFile

    [输入]密文文件

  • PlainFile

    [输出]明文文件

  • Key

    解密密钥
    null使用中文版游戏内部密钥


ResPkg 系

资源数据包处理。接受 DZ、PAK、RSGP、RSB 四类数据包结构体系


:ResPkg:DZ:Packer:Pack

打包DZ

  • PkgFile

    [输出]包文件

  • InfoFile

    [输入]结构信息文件

  • ResDir

    [输入]资源文件夹

  • MemSz

    暂存 PkgFile数据 所使用的内存大小


:ResPkg:DZ:Packer:UnPack

解包DZ

  • PkgFile

    [输入]包文件

  • InfoFile

    [输出]结构信息文件
    null不输出此项

  • ResDir

    [输出]资源文件夹
    null不输出此项


:ResPkg:PAK:Packer:Pack

打包PAK

参数:参阅 :ResPkg:DZ:Packer:Pack


:ResPkg:PAK:Packer:UnPack

解包PAK

参数:参阅 :ResPkg:DZ:Packer:UnPack


:ResPkg:RSGP:Packer:Pack

打包RSGP

参数:参阅 :ResPkg:DZ:Packer:Pack


:ResPkg:RSGP:Packer:UnPack

解包RSGP

参数:参阅 :ResPkg:DZ:Packer:UnPack


:ResPkg:RSB:Packer:Pack

打包RSB

  • PkgFile

    [输出]包文件

  • InfoFile

    [输入]结构信息文件

  • EmbeddedResInfoFile

    [输入]结构信息文件2

  • PacketDir

    [输入]子包文件夹
    提供子包;子包输出位置
    先决PackFromGroup == false

  • ResDir

    [输入]资源文件夹
    提供资源文件
    先决PackFromGroup == false

  • GroupDir

    [输入]资源群文件夹
    先决PackFromGroup == true

  • GroupPacketFile

    [输入]资源群子包文件名
    提供子包;子包输出位置
    先决PackFromGroup == true

  • GroupResDir

    [输入]资源群子包资源文件夹名
    提供资源文件
    先决PackFromGroup == true

  • PackFromGroup

    是否通过资源群文件体系进行打包
    false使用PacketDir & ResDir打包
    true 使用GroupDir & GroupPacketDir & GroupResDir打包

  • ExportNewPacket

    是否导出临时打包的子包
    false无作为
    true 将临时打包的子包导出为RSGP文件,路径通过PacketDirGroupPacketFile以及 子包所属资源群ID 决定

  • UseReadyPacket

    是否使用已存在的子包
    false对所有子包进行重打包
    true 先检验PacketDirGroupPacketFile指定的路径中是否存在子包文件,若存在,则读取该文件内容,并进行结构检验,若与RSB结构信息中记录的一致,便直接使用;否则,才进行子包的重打包

  • MemSz

    暂存 PkgFile数据 所使用的内存大小


:ResPkg:RSB:Packer:UnPack

解包RSB

  • PkgFile

    [输入]包文件

  • InfoFile

    [输出]结构信息文件
    null不输出此项

  • EmbeddedResInfoFile

    [输出]结构信息文件2
    null不输出此项

  • PacketDir

    [输出]子包文件夹
    null不输出此项

  • PacketInfoDir

    [输出]子包结构信息文件夹
    null不输出此项

  • ResDir

    [输出]资源文件夹
    null不输出此项

  • GroupDir

    [输出]资源群文件夹
    null不输出此项

  • GroupPacketFile

    [输出]资源群子包文件名
    先决GroupDir != null
    null不输出此项

  • GroupPacketInfoFile

    [输出]资源群子包结构信息文件名
    先决GroupDir != null
    null不输出此项

  • GroupResDir

    [输出]资源群子包资源文件夹名
    先决GroupDir != null
    null不输出此项


Info 系

信息文本处理


:Info:Purify

纯化Info

  • Type

    Info类型

    • "RSBInfoXOri"
    • "RSBInfoX"
    • "RSBInfo"
    • "RSGPInfo"
    • "AtlasInfoList"

  • SrcFile

    [输入]源文件

  • DstFile

    [输出]目标文件


:Info:Spliter:Split

分割Info

  • Type

    Info类型

  • Until

    分割至Info类型
    Type结合,取值如下(Type + '|' + Until):

    • "RSBInfoX|Group"
    • "RSBInfoX|SubGroup"
    • "RSBInfoX|Res"
    • "RSBInfo|Group"
    • "RSBInfo|SubGroup"

  • SrcFile

    [输入]源文件

  • DstDir

    [输出]目标文件夹


:Info:Spliter:Cat

拼接Info

  • Type

    Info类型

  • Until

    分割至Info类型

  • SrcDir

    [输入]源文件夹

  • DstFile

    [输出]目标文件


:Info:Cnv

转换Info

  • SrcType

    Info原始类型

  • DstType

    Info目标类型
    SrcType结合,取值如下(SrcType + '|' + DstType):

    • "RSBInfoXOri|RSBInfoX"
    • "RSBInfoX|RSBInfoXOri"
    • "RSBInfoX|RSBInfo"
    • "RSBInfoX|AtlasInfoList"
    • "RSBInfo|AtlasInfoList"
    • "RSBInfoX:SubGroup|RSGPInfo"

  • SrcFile

    [输入]Info原始文件

  • DstFile

    [输出]Info目标文件

  • ExtraFile

    [输入]额外所需文件


Image 系

图像操作


:Image:Spliter:Split

分割Atlas

  • Sz

    Atlas尺寸

  • InfoFile

    [输入]信息文件(List[Image-Info])

  • AtlasFile

    [输入]Atlas文件

  • ImgDir

    [输出]Image文件夹


:Image:Spliter:SplitByAtlasInfo

分割Atlas,通过AtlasInfo

  • InfoFile

    [输入]信息文件(Atlas-Info 或 List[Atlas-Info])

  • AtlasDir

    [输入]Atlas文件夹

  • ImgDir

    [输出]Image文件夹

  • UseSingleDir

    是否为每个Atlas分配独立的文件夹


:Image:Spliter:Cat

合并Atlas

  • Sz

    Atlas尺寸

  • InfoFile

    [输入]信息文件(List[Image-Info])

  • ImgDir

    [输入]Image文件夹

  • AtlasFile

    [输出]Atlas文件


:Image:Spliter:CatByAtlasInfo

合并Atlas,通过AtlasInfo

  • InfoFile

    [输入]信息文件(Atlas-Info 或 List[Atlas-Info])

  • ImgDir

    [输入]Image文件夹

  • AtlasDir

    [输出]Atlas文件夹

  • UseSingleDir

    是否为每个Atlas分配独立的文件夹


:Image:Encoder:EnCode

将PNG图像转化为特定格式纹理

  • ImgFile

    [输入]PNG图像文件

  • DataFile

    [输出]纹理文件

  • Sz

    图像尺寸

  • Fmt

    纹理格式


:Image:Encoder:EnCodeByAtlasInfo

将PNG图像转化为特定格式纹理,通过AtlasInfo

  • InfoFile

    [输入]信息文件

  • ImgDir

    [输入]PNG图像文件夹

  • DataDir

    [输出]纹理文件夹

  • DataFileExtension

    纹理文件拓展名


:Image:Encoder:DeCode

将特定格式纹理转化为PNG图像

  • DataFile

    [输入]纹理文件

  • ImgFile

    [输出]PNG图像文件

  • Sz

    图像尺寸

  • Fmt

    纹理格式


:Image:Encoder:DeCodeByAtlasInfo

将特定格式纹理转化为PNG图像,通过AtlasInfo

  • InfoFile

    [输入]信息文件

  • DataDir

    [输入]纹理文件夹

  • ImgDir

    [输出]PNG图像文件夹

  • DataFileExtension

    纹理文件拓展名


Anim:PopcapAnim 系

PAM(Popcap-AniMate) 编码与转换


:Anim:PopcapAnim:Encoder:EnCode

编码PAM文件

ENABLE_PAM_ENCODER_PLAINpublic版本中此功能被禁止

  • DataFile

    [输出]PAM文件

  • InfoFile

    [输入]PAM信息文件

  • MemSz

    暂存 DataFile数据 所使用的内存空间大小


:Anim:PopcapAnim:Encoder:DeCode

解码PAM文件

ENABLE_PAM_ENCODER_PLAINpublic版本中此功能被禁止

  • DataFile

    [输入]PAM文件

  • InfoFile

    [输出]PAM信息文件


:Anim:PopcapAnim:Converter:ToXFL

将PAM信息文件转化为XFL文件体系

ENABLE_PAM_ENCODER_PLAINpublic版本中此功能被禁止

  • InfoFile

    [输入]PAM信息文件

  • XFLDir

    [输出]XFL文件夹

  • ImgSz

    动画中所用图像的尺寸规格,同RSB中的res属性。会影响输出XFL中图像显示效果


:Anim:PopcapAnim:Converter:FromXFL

将XFL文件体系转化为PAM信息文件

ENABLE_PAM_ENCODER_PLAINpublic版本中此功能被禁止

  • InfoFile

    [输出]PAM信息文件

  • XFLDir

    [输入]XFL文件夹

  • ImgSz

    动画中所用图像的尺寸规格,同RSB中的res属性


:Anim:PopcapAnim:Converter:XFLScaleCnv

转换XFL文件体系中图像信息的尺寸规格

  • XFLDir

    [输入&输出]XFL文件夹

  • SrcSz

    原始尺寸规格

  • DstSz

    目标尺寸规格


:Anim:PopcapAnim:Converter:ToCSSInfo

将PAM信息文件转化为适用于动画查看器所需的CSS信息文件

ENABLE_PAM_ENCODER_PLAINpublic版本中此功能被禁止

  • InfoFile

    [输入]PAM信息文件

  • CSSInfoFile

    [输出]CSS信息文件


:Anim:PopcapAnim:Converter:[ToXFL|FromXFL|ToCSSInfo]_OneStep

直接与PAM文件进行转换,不做详解


Aduio:WwiseEncodedMedia 系

WEM(Wwise-EncodedMedia) 处理。未开发完全。仅限Windows,需构建所需环境,参阅 WEM转换相关设置


:Aduio:WwiseEncodedMedia:Encoder:DeCode

转换WEM为WAV;支持三类WEM格式PCM | AAC | Vorbis

  • EncodedFile

    [输入]WEM文件

  • AudioFile

    [输出]WAV文件


Aduio:WwiseSoundBank 系

Wwise-BNK 相关函数。并无多大用处


:Aduio:WwiseSoundBank:Packer:Pack

打包SoundBank

  • DataFile

    [输出]BNK文件

  • MainDir

    [输入]解包数据文件夹

  • MemSz

    暂存 DataFile数据 所使用的内存空间大小


:Aduio:WwiseSoundBank:Packer:UnPack

解包SoundBank

  • DataFile

    [输入]BNK文件

  • MainDir

    [输出]解包数据文件夹


Expand 系

功能拓展


:Expand:JSONPatch:Apply

应用JSON-Patch至JSON

  • PatchFile

    [输入]Patch文件

  • SrcFile

    [输入]始态JSON文件

  • DstFile

    [输出]终态JSON文件


:Expand:JSONPatch:Diff

求两个JSON的差异,取得由始态至终态的JSON-Patch

  • SrcFile

    [输入]始态JSON文件

  • DstFile

    [输入]终态JSON文件

  • PatchFile

    [输出]Patch文件


:Expand:RSBPatchX:Apply

应用RSB-Patch-X至已解包的RSB数据包文件体系中

  • PatchFile

    [输入]Patch文件

  • SrcInfoXFile

    [输入]原始InfoX文件

  • SrcInfoFile

    [输入]原始Info文件

  • DstInfoXFile

    [输出]结果InfoX文件

  • DstInfoFile

    [输出]结果Info文件

  • ApplyToResFile

    是否应用到RSB文件体系

  • SrcResDir

    [输入]源资源文件目录
    先决ApplyToResFile == true

  • DstPacketDir

    [输入&输出]目标Packet文件夹
    先决ApplyToResFile == true

  • DstResDir

    [输入&输出]目标Res文件夹
    先决ApplyToResFile == true


:Expand:PvZ2Mod:Intro

初始化PvZ2Mod环境

  • EnvFile

    [输入]Mod环境配置文件


:Expand:PvZ2Mod:Outro

回复PvZ2Mod环境

  • EnvFile

    [输入]Mod环境配置文件


:Expand:PvZ2Mod:Apply

应用一个MOD包

  • EnvFile

    [输入]Mod环境配置文件

  • ModDir

    [输入]Mod文件夹


:Expand:PvZ2LawnStringText:UpGrade

转换LawnString旧版适用的文本文件至新版适用的JSON文件

  • OldStyleFile

    [输入]TXT文件

  • NewStyleFile

    [输出]JSON文件


:Expand:PvZ2LawnStringText:DownGrade

转换LawnString新版适用的JSON文件至旧版适用的文本文件

  • NewStyleFile

    [输入]JSON文件

  • OldStyleFile

    [输出]TXT文件


:Expand:RSBSMF:Compress

压缩.RSB.SMF文件

  • RawFile

    [输入]原始数据

  • RipeFile

    [输出]压缩后数据


:Expand:RSBSMF:UnCompress

解压.RSB.SMF文件

  • RipeFile

    [输入]压缩后数据

  • RawFile

    [输出]原始数据


:Expand:rsbDataDisturb

混淆RSB文件结构,防止解包工具提取数据包资源
对于QuickBMS 或 PvZ2Tool,混淆功能始终起作用
对于TaiJi(SPC-Util),需要包内存在res=368的子群,否则仍有被拆包的可能

  • SrcFile

    [输入]原始RSB文件

  • DstFile

    [输出]混淆后的RSB文件


:Expand:renameFileCaseByRSBInfoX

通过RSBInfoX文件重命名RSB文件体系中的res文件名

  • InfoFile

    [输入]InfoX文件

  • TgtDir

    [输出]目标res文件夹


:Expand:mixWwiseSoundBankHIRC

合并两个BNK-HIRC-JSON的数据

  • SrcAFile

    [输入]源文件A

  • SrcBFile

    [输入]源文件B

  • DstFile

    [输出]目标文件


:Expand:removeUnityAssetHeader

移除文件的前8个字节

  • SrcFile

    [输入]源文件

  • DstFile

    [输出]目标文件


文件 说明 作者 更新时间 下载
文件 说明 更新时间 下载