德甲

GIM格式图片手动提取初级教程PSP游戏

2019-07-14 01:47:20来源:励志吧0次阅读

GIM格式图片手动提取初级教程_PSP游戏资讯_PSP游戏_玩家

导读:我也是新手,以前看过GXB前辈写的真三国无双的汉化教程。里面有关于GIM格式的介绍,以及汉化GIM图片的方法。最近无聊研究这些所以写点东西大家看看吧。因为不会

关键词:GIM汉化

我也是新手,以前看过GXB前辈写的真三国无双的汉化教程。里面有关于GIM格式的介绍,以及汉化GIM图片的方法。最近无聊研究这些所以写点东西大家看看吧。因为不会编程,所以有些地方很郁闷,希望能参加个汉化小组学习学习,当然还是要先去学编程。

首先介绍一下BMP的文件内部结构,因为能显示GIM图片文件的好象比较少,所以要转成BMP来看。

BMP文件结构大体分为4部分。文件头-图象描述-调色板-图象数据区。2色、16色、256色位图是有调色板的。

具体格式如下:

1文件头信息块(14字节)

字节,文件标识,固定字符为“BM”,16进制的424D

字节,整个文件的字节数

字节,都是00

000A-000D4字节,数据区的起始位置,也就是文件的第4部分

2图象描述信息块(40字节)

000E-00114字节,第2部分的数据区大小,固定是40(16进制为28)

字节,图象宽度

字节,图象高度

001A-001B2字节,固定为1

001C-001D2字节,表示图象颜色数。4表示16色,8表示256色

001E-00214字节,数据压缩方式,0:不压缩1:8位压缩2:4位压缩,一般就是填0

4字节,图象数据大小16色位图长*宽/2,256色位图长*宽

字节,水平象素多少。。。这个不知道填什么

002A-002D4字节,垂直象素多少,同上

002E-00314字节,位图颜色数

字节,位图重要颜色数,固定0

3调色板

4字节表示一个颜色,顺序为BGRA,也就是蓝绿红透明,一般没有透明那个值。256色就是256*4=1024字节,也就是1K。

4图象数据区

16色图1字节表示2颜色,256色图一个字节一个颜色,所以通过图片的宽和高很容易就可以算出这部分大小

好介绍完了这些再看看GIM格式和BMP有什么不同的地方(出自GXB前辈的教程)

1图象的描绘方式,BMP的图象数据排列是从左往右从下向上的,而GIM则是左上到右下角描绘。

2调色板的部分

BMP为BGRA,GIM为RGBA,红蓝正好相反。

3 16色图片的图象数据区

PSP和BMP的图象数据高低位相反,比如一个图象数据在PSP中是78,到了BMP中就是87才对。

这部分大家可以详细看看GXB前辈 的那篇教程,我写的比较简单.

说了那么多,一起来具体提取张图片来看看。

就用机战MXP吧。打开USRDIR文件夹看到不少文件,看文件名字我们可以判断出来FACEPACK_N和N应该是和头像相关的文件,然后用WINHEX打开FACEPACK_N,调色板立刻就会被发现,调色板的观察方法就是看透明值,一般这个值是固定的.所以会看到4列FF,然后数一数,正好1024字节,也就是1K,看来是256色的位图。再观察一下调色板上方,似乎还有些数据,明显直观的是有个TX48(文本)还有2个为80的16进制数,初步判断为图象宽和高,80变为10进制为128。这个就是GIM的文件头,不过不是标准的。继续往后看调色板后面就是图象数据区了。在00443F处图象数据结束。后面是一段空白00。然后又出现TX48文件头-调色板。这样基本数据就确定了。下面开是提取这些东西。在文件头开始的地方00000处点击鼠标右键选选块开始,在数据结束的地方443F点选块结束,然后点鼠标右键-复制-选块到新文件。接下来我们要通过编写BMP文件头是这个图片能显示出来。

根据上面的BMP文件内部结构,通过计算就可以得到BMP的文件头了。

424D

然后,文件扩展名改为.BMP.大工告成,用图片浏览打开看看,出现图了.恩..不过有点问题,图是反的而且颜色也不对.

这个在上面讲到了,所以继续改,先把调色板改了,然后用软件将图片反转,至于GXB前辈说的颜色丢失用OPTPIXIMAGESTUDIO可以解决,这个过程会编程的人可以很容易解决...我还不会...只有手动了..

经过一番努力,图片还原本来面目!

分析SFACEPAK_N,里面是16色调色版,大小为64*64的人物小头像.

以上只是汉化游戏的一个步骤,作为提取到这里就可以结束了.

后面在说说GIM的标准内部结构,这个目前我也知道的不多,一起研究一下吧.

在一个日本人的站上看到了GIM内部结构说明..不过似乎不是很对

大家看看先

[file header]

+0x00 [16] MIG.00.1PSP (0x00)(0x00)(0x00)(0x00)

eof addr part

+0x00 [02] 0x02 0x00

+0x04 [04] End of File addr (このパートの先頭からのファイル終端のオフセット)

+0x08 [04] part size

+0x0C [04] 0x10 (固定?)

footer addr part

+0x00 [02] 0x03 0x00

+0x04 [04] footer addr (このパートの先頭からのフッターのオフセット)

+0x08 [04] part size

+0x0C [04] 0x10 (固定?)

palette data part

+0x00 [02] 0x05 0x00

+0x04 [04] (+0x08と同じ値?)

+0x08 [04] part size

+0x0C [04] 0x10 (固定?)

+0x18 [02] palette colors (0x10:16colors,0x100:256colors)

+0x30 [04] part size -16

+0x50 [xx] palette data(16色なら16x4=64B、256色なら256x4=1024B)

GIM用のパレットのデータはB,G,R,Aの4バイト×色数と並んでいる。

BMP用のパレットのデータはR,G,B,Aの順なのでR,Bの値の入れ替えが必要。

image data part

+0x00 [02] 0x04 0x00

+0x04 [04] (+0x08と同じ値?)

+0x08 [04] part size

+0x0C [04] 0x10 (固定?)

+0x16 [02] type (00:逆順 01:16x8ブロック再配置)

+0x18 [02] visible width(XMBアイコンなどに使われる可視領域サイズ)

+0x1A [02] visible height( 同 )

+0x30 [04] part size -16

+0x50 [xx] image data

footer(info) data part (このパートがないファイルもある。)

+0x00 [02] 0xFF 0x00

+0x04 [04] (+0x08と同じ値?)

+0x08 [04] part size

+0x0C [04] 0x10 (固定?)

+0x10 [xx] (自由に記述可能)

GimConvというソフトで変換されていることが多いようで、

変換元ファイル名(0x00)PCユーザー名?(0x00)日时(0x00)GimConv

と書かれていることが多い。

SONY关于GIM的SDK也是有的,不过看不懂...

一般GIM的结构是文件头128字节-调色板-80字节-图象数据区.不过游戏基本不会用到标准的GIM格式图片,所以提取的时候还是要先看一看结构.

最后送上一个GIM2BMP的转换软件,就是上面着额日本人写的.使用很简单,大家一看就知道了.不过好象是支持标准的GIM格式转换....

因为写的有点赶..所以有些可能没写对或者清楚,欢迎高手指出.

免费微信商城
seo优化推广怎么做
有赞微商城入驻要求
分享到: