文件差异补丁制作例程

易语言 2020-09-01 18:16:06

文件差异补丁制作例程

.如果真 (开始位置 ≠ 0)
.如果真 (当前数 < 版本数)
.如果真 (批量打入补丁 (路径, 新路径, 版本资源数组, 当前数 + 1, 版本数, “初音未来:歌姬计划 扩展版 汉化补丁 - 正在打入补丁 V”, 窗口) < 0)
窗口.发送消息 (1024 + 101, 33, 0) ' 打入补丁失败!
窗口.发送消息 (1024 + 101, 11, 0) ' 初音未来:歌姬计划 扩展版 汉化补丁 - PSP吧汉化组
窗口.发送消息 (1024 + 101, 1, 0) ' 是否在打补丁=0
返回 ()
.如果真结束
.如果真 (MoveFileEx (新路径, 路径, 1) = 0)
窗口.发送消息 (1024 + 101, 33, 0) ' 打入补丁失败!
窗口.发送消息 (1024 + 101, 11, 0) ' 初音未来:歌姬计划 扩展版 汉化补丁 - PSP吧汉化组
窗口.发送消息 (1024 + 101, 1, 0) ' 是否在打补丁=0
返回 ()
.如果真结束
CRC32结果 = 0
.如果真结束
跳出循环 ()
.如果真结束

.判断循环尾 ()

取资源数据指针 (0, lpName, 10, pBuffer, dwSize)
.如果真 (pBuffer ≠ 0)
RtlMoveMemory_取整数 (压缩前长度, pBuffer, 4)
.如果真 (内存数据解压缩 (补丁数据, 压缩前长度, pBuffer + 4, dwSize) = 真)
' 打入
返回 (写入差异 (路径, 新路径, 黑月取指针字节集 (补丁数据), 压缩前长度, 窗口_))