主题 : 【求助】会编程的高手来帮下我啊(1OOOFYB)
YZB
级别: 超级版主

UID: 12451
精华: 6
发帖: 19097
威望: 173 星
金钱: 2014 浮游币
贡献值: 10169 点
好评度: 54867 点
人气: 4322 点
在线时间: 19722(时)
注册时间: 2004-10-02
最后登录: 2024-11-28
楼主  发表于: 2006-08-21 23:25

【求助】会编程的高手来帮下我啊(1OOOFYB)

因为某些图片文件需要打开,但是这些图片是组合在一个文件里面的,目前我的方法是一个一个抽出来,不仅累也很麻烦,所以想请高手帮忙编写一个程序,不知道能不能行~

先说一下,图片文件是GBIX......PVRT这样开头的(看了附件的文件应该很清楚),组合的图片文件就是第一个GBIX....PVRT然后接着到第2个GBIX以前是第一张的图,然后第2个GBIX....PVRT开始,再在第3个GBIX前面是第2张的图,后面依次类推.....

这是我朋友想的原理:
检测字符序列,如果和“PVRT”相同,那么记录P开始的偏移地址,然后查找下一个GBIX或者PVRT,
找到、或者到达文件末尾,就把之前的那个地址到当前的地址之间的字节输出
(我只能输出成文件,不知道用VB等windows编程怎么显示出来)
然后,处理下一个PVRT,直到文件末尾


我传了个附件,里面有我自己抽出来的4个图和一个原来本身4张组合在一起的图....

附件里放了可以用PS打开那种PVR格式的插件....

我想要的就是,能直接把那个组合的文件打开后,就能全部查看到4张图片,而不是只能看到第一张~


补充说明:只要能看到全部的图就可以了,不需要能自动转成JPEG的图(当然您写的能支持的话最好了,不行也不强求,重要的是能看啊)


麻烦高手帮下忙啊,谢谢啊!
有重谢啊!

还有不明白的可以PM我或者跟帖啊
[ 此贴被YZB在2006-08-22 01:09重新编辑 ]
附件: 编程.rar (284 K) 下载次数:41
级别: 模拟之星
UID: 97
精华: 0
发帖: 1742
威望: 0 星
金钱: 2448 浮游币
贡献值: 0 点
好评度: 2952 点
人气: 0 点
在线时间: 152(时)
注册时间: 2004-03-25
最后登录: 2007-07-13
沙发  发表于: 2006-08-22 09:57

原来是PowerVR2显卡用的东西,多半是dc的贴图文件吧。
这个显卡的技术已经被intel收购了。
既然已经能把pvr从打包文件里面抽取出来,就可以用这个东西预览查看转换了。
比用ps方便一点
[ 此贴被williw在2006-08-22 10:25重新编辑 ]
附件: PVRViewer.rar (277 K) 下载次数:14
继续努力中——
游戏[11%]=引擎 [20%]+策划[30%]+美工[5%]+脚本[0%]+音效[0%]
级别: 模拟之星
UID: 97
精华: 0
发帖: 1742
威望: 0 星
金钱: 2448 浮游币
贡献值: 0 点
好评度: 2952 点
人气: 0 点
在线时间: 152(时)
注册时间: 2004-03-25
最后登录: 2007-07-13
板凳  发表于: 2006-08-24 11:46

图片:
就是这样的了
那个全局代码一样的东西,肯定是有的。
不然游戏每次都要自己扫描pvr文件,这种做法显得相当愚蠢。
只是,不知道藏在哪一个文件里面。
[ 此贴被williw在2006-08-24 11:55重新编辑 ]
继续努力中——
游戏[11%]=引擎 [20%]+策划[30%]+美工[5%]+脚本[0%]+音效[0%]
级别: 模拟之星
UID: 97
精华: 0
发帖: 1742
威望: 0 星
金钱: 2448 浮游币
贡献值: 0 点
好评度: 2952 点
人气: 0 点
在线时间: 152(时)
注册时间: 2004-03-25
最后登录: 2007-07-13
地板  发表于: 2006-08-24 17:52

似乎文件格式不一样了,
比如上次你给我的那个once.plz文件的格式和1+2+3+4.pvr的文件格式是不一样的。
继续努力中——
游戏[11%]=引擎 [20%]+策划[30%]+美工[5%]+脚本[0%]+音效[0%]
级别: 模拟之星
UID: 97
精华: 0
发帖: 1742
威望: 0 星
金钱: 2448 浮游币
贡献值: 0 点
好评度: 2952 点
人气: 0 点
在线时间: 152(时)
注册时间: 2004-03-25
最后登录: 2007-07-13
草席  发表于: 2006-08-24 19:00

以PVRT开头的才是真正的pvr文件,只是看图的话,完全可以无视GBIX。
前面的GBIX把pvr包装成了一个新文件。
就1+2+3+4.pvr文件里面的规律而言,
1,3是记录的同一个模型的不同颜色的纹理,在GBIX后面跟着的是十六进制数分别是 74 ,75
而2,4完全一样,都是这个模型的alpha信息,后面的数字是65,65,
纹理一样,数字也一样,很有意思,不知道干嘛用的。
继续努力中——
游戏[11%]=引擎 [20%]+策划[30%]+美工[5%]+脚本[0%]+音效[0%]
级别: 模拟之星
UID: 97
精华: 0
发帖: 1742
威望: 0 星
金钱: 2448 浮游币
贡献值: 0 点
好评度: 2952 点
人气: 0 点
在线时间: 152(时)
注册时间: 2004-03-25
最后登录: 2007-07-13
5楼  发表于: 2006-08-24 20:17

嗯,bb aa,经常修改游戏就会背下来,999就是E7 03

”GBIX 后面紧跟的 4个字节 代表 GBIX数据有多少个字节“
原来是这样的
47 42 49 58|08 00 00 00|74 00 00 00
我居然把08看成和前面的是一起的了。
[ 此贴被williw在2006-08-24 20:25重新编辑 ]
继续努力中——
游戏[11%]=引擎 [20%]+策划[30%]+美工[5%]+脚本[0%]+音效[0%]
级别: 模拟之星
UID: 97
精华: 0
发帖: 1742
威望: 0 星
金钱: 2448 浮游币
贡献值: 0 点
好评度: 2952 点
人气: 0 点
在线时间: 152(时)
注册时间: 2004-03-25
最后登录: 2007-07-13
6楼  发表于: 2006-08-24 22:21

晕死,和朋友一起又分析了一下,没想到结构那么复杂
以1.pvr来说明,
它从一开始是GBIX文件,后面是pvrt文件,接着是MIDX文件,再来是NJCM文件,最后是PVRK文件。
一共由5个文件组合起来。图形文件只是其中的一部分。
分的时候是好分。合的时候,得注意点了。
继续努力中——
游戏[11%]=引擎 [20%]+策划[30%]+美工[5%]+脚本[0%]+音效[0%]