Board logo

标题: 机动战士高达:基连的野望压缩解析 [打印本页]

作者: yzb    时间: 2020-5-29 13:53     标题: 机动战士高达:基连的野望压缩解析

最近有人找人解析这个游戏的压缩方法,本着学习的精神就看了一下,但是不知道是psp 哪个版的,只知道文件头是sd0开头的压缩数据,这几天解析了一下原游戏解压的源码,发个上来记录一下,做个备份吧(ps系的汇编看着真头大)

[attach]1462[/attach]

文件头
4字节  sd0标识符
4字节  文件压缩大小(包括前面文件头)
4字节  文件解压大小

第0xc字节开始为压缩数据
lzss类型


一个字节flags标识符,从最低位开始判断

flags&1==0则直接从压缩数据输出一个字节到解压地址

flags&1==1,先读2个字节 byte1  byte2,然后判断,出现以下3个分支

1  如果byte1&f == 1 ,则直接写入n个字节的byte2到解压地址,  n = (byte1>>4)+3

2  如果byte1&f == 2 ,则直接从压缩数据输出n个字节到解压地址,n = (byte1>>4)+(byte2<<4)+0x12

3  从地址M,读入n个字节到解压地址

------- m = 当前解压地址-(byte1>>4)-(byte2<<4)

------- n = byte1 & f(如果n==0,则读入第3个字节byte3,n = byte3 + 0x10)




顺便说下这个游戏有ss版的,ss版的bit判断是双字节的,不过其他也大同小异,都是lzss类型的压缩,在这里就不贴了




欢迎光临 意志之路汉化组 (http://www.yzzl.kxb4u.com/) Powered by Discuz! 7.2