A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 9130|回复: 12

请问有什么工具可以得到PS2游戏的内部文件?(如贴图、模型、图片等)谢谢!

[复制链接]

精华
0
帖子
10
威望
0 点
积分
10 点
种子
0 点
注册时间
2007-4-11
最后登录
2022-4-12
 楼主| 发表于 2007-6-22 01:05  ·  广东 | 显示全部楼层 |阅读模式
如题,我看到置顶的PS2工具。但是不知哪个有这些功能,请问能够告诉我?谢谢!.

精华
0
帖子
10
威望
0 点
积分
10 点
种子
0 点
注册时间
2007-4-11
最后登录
2022-4-12
 楼主| 发表于 2007-6-23 13:35  ·  广东 | 显示全部楼层
应该有人想知道同一个答案的,有的话请顶贴支持吧......

圣骑士

我继续转

精华
2
帖子
3300
威望
5 点
积分
3913 点
种子
0 点
注册时间
2004-9-10
最后登录
2018-11-17
发表于 2007-6-23 14:08  ·  广东 | 显示全部楼层
每个游戏的贴图、模型、图片格式都是不同的,
所以如果你想导出某个游戏的这写东东的话,就要自己亲手破解游戏并编写工具

精华
0
帖子
846
威望
0 点
积分
873 点
种子
10 点
注册时间
2005-10-8
最后登录
2019-3-15
发表于 2007-6-23 17:07  ·  北京 | 显示全部楼层
我想知道战神1代怎么能自己DVDrip成D5的盘,那位高人能写个教程呐~~~~~~~~~~~
该用户已被禁言

精华
0
帖子
7
威望
0 点
积分
7 点
种子
0 点
注册时间
2007-3-3
最后登录
2022-3-26
发表于 2007-6-25 08:07  ·  北京 | 显示全部楼层
用UltraISO,压完镜像直接删除无用文件或者把他们改小就可以了。

精华
0
帖子
1415
威望
0 点
积分
1236 点
种子
1 点
注册时间
2006-6-15
最后登录
2024-4-29
发表于 2007-6-25 08:59  ·  广东 | 显示全部楼层
4 楼的乱说,战神你找的出无用文件吗?

精华
0
帖子
846
威望
0 点
积分
873 点
种子
10 点
注册时间
2005-10-8
最后登录
2019-3-15
发表于 2007-6-25 10:17  ·  北京 | 显示全部楼层
下面是引用rzhawk于2007-06-25 08:07发表的:
用UltraISO,压完镜像直接删除无用文件或者把他们改小就可以了。
能详细些吗?具体是那些文件可以改小呢,需要什么工具呢?~~~~~~~~

求败者

金手指狂用者

精华
5
帖子
21379
威望
16 点
积分
23154 点
种子
0 点
注册时间
2005-9-22
最后登录
2013-7-19
发表于 2007-6-25 10:41  ·  上海 | 显示全部楼层
CGRIPD5

终结者

どこでもいっしょ」シリーズ10周

精华
0
帖子
9866
威望
0 点
积分
10328 点
种子
0 点
注册时间
2004-5-16
最后登录
2022-3-29
发表于 2007-6-25 12:39  ·  广东 | 显示全部楼层
图片的话·········

转贴:

TIM2是PS2游戏最常用的图片格式

几乎所有的游戏都是用这种格式

简单的说

标准的TIM2 就是BMP的调色板中加入了透明度

游戏中很少出现标准的TIM2

大多数图片的文件头都不同

很多游戏根本就没有图片文件头

调色板和图像数据也往往不会放在一起

有关标准TIM2就说这么多了

其他的就请自行研究吧



有关标准TIM2的提取

以机器人大战A.C.E.2为例


http://www4.emu-zone.org/images/tmp/pcsx2/oz01/a/CrystalTile.rar
需要的工具就这一个
此工具不能一次性完全打开比较大的文件
最多一次10000000H
打开文件时具体怎么操作我就不多说了
A.C.E.2中含有图片的文件是DATA.BIN
图片的具体位置大家自己找吧
文件末尾比较多……
28545560H附近是角色头像

上面的HEX图标是切换图像视图和HEX视图
图像视图最左上的像素与HEX视图第一行第一个字节相对应


用CrystalTile打开文件之后
钩上调色板中的“16/32位颜色模式”
上面有个图标是由四个小方块和一个向上的箭头组成
此图标的作用是把
从目前HEX视图中选中的那个字节开始
16行数据转换为调色板
具体效果请自行尝试

此游戏的图片有文件头,非标准
文件头由2行组成
第一行前4个字节(0、1、2、3)是文件大小,16进制
4、5是图像高度、8、9是高度,也是16进制
0 1 2 3 4 5 6 7 8 9 A B C D E F
例如 20 84 00 00 00 80 00 00 01 00 00 00 00 00 00 00

图像大小为008420H(字节反排列)
高度0080H=128
宽度0100H=256

第二行不详
图片大小=图片文件头的20H +高度*宽度H+长度为400H的调色板
也就是说
通过图片长宽就可以知道图片文件头
文件头都是“左对齐”
因此很容易就能被搜索到
找到图片文件头之后
就可以找到图片的调色板的具体位置
例如某图片文件头在28545560,宽256、高128
下数2行
28545580就是图像开始的位置
下移80H*100H=8000H
也就是2854D580这一行的第一个字节就是调色板第一个字节
鼠标左键点击它
按导入调色板的按钮
再回到28545580
切换到图像视图
右边宽度填256
缩放1
颜色格式为GBA 8bpp
现在应该能看到正确的图象了……
如果这时的图有些偏移,可以按住Ctrl+方向键左或右调整


  

下面说说图像数据交错模式的TIM2

这种图片也很常见

以下内容作者为:geeses

BIO HAZARD 4 (J) 中的 title.dat在DATA.AFS文件中,可以用一些AFS解包工具提取


对 BIO HAZARD 4 (J) 中的 title.dat 进行研究,以下四个区域有一些进展。
将一个区域的数据另存为一个独立文件后,可视为 TIM2 图片文件。

licenced by nintendo
0x0002B250-
0x0002C68F

the another order
0x0002F820-
0x00030C5F

warning 警告-***场景
0x000AD5E0-
0x000BDA1F

sfd Sofdec-ADX
0x0013F260-
0x0015F69F



TIM2 文件中,
0x00000000-
0x0000003F
为文件头,其中
0x00000010-
0x00000011 WORD 16bit 高位在后
为图片宽度,
0x00000012-
0x00000013 WORD 16bit 高位在后
为图片高度,


将图片宽度乘以图片高度即可得到像素数量。

从 TIM2 的 0x00000040 开始,就是像素点描述区域,因为每个像素点使用一个字节(代表此像素点使用之后调色板中的第几号颜色),所以区域字节长度就是像素数量,亦即每张图片中的每个像素有256种颜色可供选择。
像素点描述区域的排列顺序:在前两张小图片(licence, another)中为直接顺序排列,后两张较大的图片中经过乱序处理,处理算法见后。

像素点描述区域之后是字节长度固定为1024的调色板区域,每一种颜色使用四个字节,格式为RGBA(?未经确认)(注1),每个原色使用一个字节,Alpha计算法未经确认,256个颜色排列是顺序还是倒序未经确认(注2)。




乱序后的像素点排列顺序:
以下每个
----
| |
----
就代表一个像素的位置,中间的数字代表像素原本在 TM2 文件中的顺序序列



if ((i/(width*4))%2==0) //当前像素编号位于 以四行像素为单位 的奇数区域内
if ((i/(width*2))%2==0) //当前像素编号位于 这四行像素中的第一、第三行区域内
if ((i/16)%2==0) //当前像素编号位于 以16个像素为单位 的奇数区域内
------------------------------------------------- ------------------------------------------------
第一(0)行 | 0| 4| 8|12| | | | | 2| 6|10|14| | | | | 32|36|40|44| | | | |34|38|42|46| | | | |...........
------------------------------------------------- ------------------------------------------------
第二(1)行 | | | | | | | | |...........
------------------------------------------------- ------------------------------------------------
第三(2)行 | | | | | 1| 5| 9|13| | | | | 3| 7|11|15| | | | |33|37|41|45| | | | |35|39|43|47|...........
------------------------------------------------- ------------------------------------------------
第四(3)行 | | | | | | | | |...........
------------------------------------------------- ------------------------------------------------
............................................................................................................

else //当前像素编号位于 以16个像素为单位 的偶数区域内
-------------------------------------------------
| | | | |16|20|24|28| | | | |18|22|26|30|
-------------------------------------------------
| | | | |
-------------------------------------------------
|17|21|25|29| | | | |19|23|27|31| | | | |
-------------------------------------------------
| | | | |
-------------------------------------------------
else //当前像素编号位于 这四行像素中的第二、第四行区域内
if ((i/16)%2==0)
-------------------------------------------------
| | | | |
-------------------------------------------------
|32|36|40|44| | | | |34|38|42|46| | | | |
-------------------------------------------------
| | | | |
-------------------------------------------------
| | | | |33|37|41|45| | | | |35|39|43|47|
-------------------------------------------------
else
-------------------------------------------------
| | | | |
-------------------------------------------------
| | | | |48|52|56|60| | | | |50|54|58|62|
-------------------------------------------------
| | | | |
-------------------------------------------------
|49|53|57|61| | | | |51|55|59|63| | | | |
-------------------------------------------------

else //当前像素编号位于 以四行像素为单位 的偶数区域内
if ((i/(width*2))%2==0)
if ((i/16)%2==0)
-------------------------------------------------
| | | | | 0| 4| 8|12| | | | | 2| 6|10|14|
-------------------------------------------------
| | | | |
-------------------------------------------------
| 1| 5| 9|13| | | | | 3| 7|11|15| | | | |
-------------------------------------------------
| | | | |
-------------------------------------------------
else
-------------------------------------------------
|16|20|24|28| | | | |18|22|26|30| | | | |
-------------------------------------------------
| | | | |
-------------------------------------------------
| | | | |17|21|25|29| | | | |19|23|27|31|
-------------------------------------------------
| | | | |
-------------------------------------------------
else
if ((i/16)%2==0)
-------------------------------------------------
| | | | |
-------------------------------------------------
| | | | |32|36|40|44| | | | |34|38|42|46|
-------------------------------------------------
| | | | |
-------------------------------------------------
|33|37|41|45| | | | |35|39|43|47| | | | |
-------------------------------------------------
else
-------------------------------------------------
| | | | |
-------------------------------------------------
|48|52|56|60| | | | |50|54|58|62| | | | |
-------------------------------------------------
| | | | |
-------------------------------------------------
| | | | |49|53|57|61| | | | |51|55|59|63|
-------------------------------------------------

另外,因为网页制作时默认省略了每行开始的空格和制表符(tab),导致那些用于说明 TIM2 交错排列方式的 ASCII 字符画的框,都被打乱了

txt格式下载

另外,上中提到、但未给出算法的“Alpha计算法”可能是下面这样的,但未经确认,仅供参考:
前景色红 = (背景色红 * (0x80-alpha)/0x80 )+(前景色红 * alpha/0x80 )
前景色绿 = (背景色绿 * (0x80-alpha)/0x80 )+(前景色绿 * alpha/0x80 )
前景色蓝 = (背景色蓝 * (0x80-alpha)/0x80 )+(前景色蓝 * alpha/0x80 )

注1 :调色板每种颜色的4个字节分别是R、G、B、Alpha通道
注2 :顺序每8个颜色交错排列

精华
0
帖子
846
威望
0 点
积分
873 点
种子
10 点
注册时间
2005-10-8
最后登录
2019-3-15
发表于 2007-6-25 15:05  ·  北京 | 显示全部楼层
下面是引用alexwong于2007-06-25 10:41发表的:
CGRIPD5
我就是想做成这样子的,这样放到硬盘里能少占点空间,具体怎么rip呢??~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-11-16 13:02 , Processed in 0.191519 second(s), 16 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部