原帖由 van 于 2007-9-28 21:55 发表
你好,具体的图片解码算法不便透露。
首先它的文件是没有压缩的,图片则作了简单的编码,应该比较容易从数据直接看出来。
目前来看,光谱一共有四种格式,PIC,PIC1,PICZ,PIC2,编码方式各不相同。
首先,感谢van的指导。
对《霸图1》的文件分析了一下,这个游戏中使用两种资源打包格式:pic和picz,而且有相应的索引文件.ndx。
从目录中明文的“配置文件”(.txt)结合打包文件的文件名判断,pic打包不仅是图片,还有些是音频。
采用文件替换的方式,目前也基本上确定了游戏中人物图片(是不是专业术语叫“精灵图片”啊)打包文件的位置是/MAN/MAN0xxx.PIC(xxx为000~188,中间缺少048)。人物头像打包位置是/MAN/HEAD.PIC,还有索引文件HEAD.NDX。
试着对MAN0xxx.PIC文件分析了一下,这些打包文件应该是自带索引的,基本上分辨出了文件头和图片数据。因为缺少相关经验,对文件头中索引指向数据的偏移量没太看明白,不能区分出哪段到哪段是一幅图片,而且对于图片格式也不大清楚,也不清楚文件头中是否有调色板信息。图片数据是否经过了编码,是否取出了数据段加上文件头就能看到图像了都还不知道。继续找资料研究一下。
另外,门派地图和战斗地图文件是没有打包的,以tga格式放在/MAP和/FIGHTMAP目录下(发言时手头没文件,希望没记错,呵呵)
目前就在“周边”转了转,还没有真正去解析pic文件(功力也还欠缺)。这方面目前我连入门都不算,好多基础知识还在学习中,还要慢慢消化。轩辕诸位大虾的文章虽好,但多是针对KOEI文件的(主要是sousou),虽有可借鉴的地方,在RPGViewer没正式支持《天下霸图1》前,还是要继续摸索。
van虽然不能提供相应的解码算法,但是否可以在光谱的图片格式(文件头是bmp、png还是tga等)和如何通过分析hex得到正确的偏移量上给些指导?或者有相关的参考资料推荐一下,让我尽量少走些弯路。