找回密码
 立即注册
搜索
查看: 3681|回复: 22

以后谁再说玩FF8的都是LU我跟谁急!

[复制链接]
     
发表于 2004-12-17 21:19 | 显示全部楼层 |阅读模式
FF8CG文件格式和跳CG解决方法
作者:bsp


有鉴于绝大多数玩家(这么说不过分吧^-^)的FF8盘都有跳CG问题,希望能从CG文件的格式入手,找到一个一劳永逸的解决方法. 声明:本文只讨论PC版的光盘文件,PS版的FF8.IMG偶还没有搞清楚-_-b. 1.pak和bik文件的格式(对修改苦手的玩家完全可以跳过这部分) FF8的CG文件(.pak)打包存放在4张光盘的disc1.pak到disc4.pak文件中,将它们拷贝到硬盘上再用十六进制编辑器打开(我用的是UltraEdit,WinHex也可以),文件个头较大,耐心等一会.当然直接从光盘打开也可以,尤其是拷贝不过去的时候. 十六进制编辑基本知识(高手跳过):文件内容按地址分字节存放,低位在前,高位在后,如12h,3fh,67h代表673f12h=6766354d(h结尾表示十六进制数,d结尾表示十进制数). .pak文件的结构很有规律,3个文件一组,一组一组排列:一个.bik文件的索引文件和.bik文件A和B(分别是一段CG的高低分辨率版本).见下图: 索引文件: 前3个字节是文件的标志,依次是46h,38h,50h,ASCII码是F8P. 下3个字节为??h,00h,00h,作用不明(??表示不定,通常为f7h). 下2个字节(不妨定义为length,下面多处用到)是接下来连续几长段字节的个数-1(比如disc1.pak中这里是45h,01h也就是length=145h=325d). 连续的length+1个段字节:作用不明(与接下来的两个.bik文件密切相关),每段44d(2ch)个字节(比如disc1.pak这里就是146h=326d个段),段尾的3个字节固定为45h,4eh,44h(ASCII:END). .bik文件: 由于没有明确的偏移地址指向它俩(.bik文件A和B),起始位置可以通过计算得到(比如disc1.pak的第一个.bik文件,也就是学园的高分辨率CG的起始地址=8h+146h*2ch=3810h). FF8的CG是标准的bik文件格式,而且没有压缩(接下来的叙述都是用.bik文件的地址作起始地址,用软件提取出来看更清楚省劲一些). .bik文件头由56个字节组成: 前4个字节是文件的标志,依次是42h,49h,4bh,66h,ASCII码是BIKf. 下4个字节是文件的长度,不过不包括这前8个字节. 下4个字节是采样(sample)的个数,共计length+1个. 下4个字节作用不明. 下4个字节仍然是采样个数. 下4个字节是视频图象的宽度,高分辨率是80h,02h,00h,00h(280h=640d),低分辨率是40h,01h,00h,00h(140h=320d). 下4个字节是视频图象的高度,高分辨率是c0h,01h,00h,00h(1c0h=448d),低分辨率e0h,00h,00h,00h(e0h=224d).(注意并不是480和240,这就解释了为什么游戏截图的上下各有16个或8个象素高的黑边). 下4个字节是每秒的帧数(FF8的CG固定为0fh,00h,00h,00h,15帧/秒). 下16个字节固定为01h,00h,00h,00h,00h,00h,00h,00h,01h,00h,00h,00h,00h,1ch,02h,00h,作用不明. 下2个字节是声音的采样率,固定为44h,ach(ac44h=44100d,是不是有点眼熟啊). 最后6个字节固定为00h,e0h,00h,00h,00h,00h,作用不明. 接下来是采样的偏移地址表,偏移地址的个数为length+1个,表中每个偏移地址占4个字节,注意是.bik文件内的偏移地址而不是.pak文件的,由于没有长度信息,每个采样的长度就由两个偏移地址之间的差值给出. 最后就是这一大堆采样了,每个的位置都由上面的偏移地址表指定,一般最后一个偏移地址指向.bik文件的末尾.采样的内容就没什么好说的了,太长,而且看不懂.*_* 一组里的.bik文件A与.bik文件B内容几乎一样(比如采样个数,每秒帧数等),不同在文件长度,图象宽度和高度上,当然那一堆采样还是差别很大DI. 2.跳CG的解决方法 由上面的分析可以知道(没有人被偶讲晕吧^-^),每个.bik文件都是由"BIKf"开头的,所以只要查找字符串"BIKf",再把两个串之间的部分拉出来成一个新文件,改一下扩展名就行了(索引文件完全可以忽略,事实上提取CG的软件Mrip就是这个原理),由于文件太大,就用Mrip代劳好了,本站下载区里有. 我构想的解决方法很简单:请CG不跳的网友把提取出的CG片段放到网上,然后检查一下你的哪段CG跳出就下载对应的那段再写回.pak文件就行了,这样不用一次下载整个.pak文件,节省不少时间. 最后就是写入的问题,这个在十六进制编辑器里简单的复制粘贴就可以完成,当然也可以用程序写入,关键是对应的CG在.pak文件中的位置,为了方便,我把每段CG的名称(这里用的是Qhimm的FF8FMV里的名称)和在.pak文件中的偏移地址(十六进制)列在下面(已经过校验,理论正确):CG名称 索引文件偏移地址 bik A偏移地址 bik B偏移地址 disc1 Balamb Garden 0 3810 5818a4 Quistis Trepe 7e3960 7e5b9c b4de60 Zell Dincht cc18e8 cc349c f704ac Destination: Dollet 10c8b4c 10d4864 2392dd8 Selphie Tilmitt 2bc5d1c 2bc8218 2f62b9c The Comm. Tower 30f06ac 30fc62c 441eb6c X-ATM092 and a Car 4ca1550 4ca1c64 4d5a9d8 Escape from Dollet 4daf63c 4dbb094 6083a4c A Shooting Star 68f59d0 68f9188 6d7d954 Dancing with Rinoa 6f77cb4 6f86bd0 86961d4 Speeding Train 9061810 9065ba4 9742850 A Stolen Wagon 9a5fd5c 9a64d50 a27f298 (Static Transition) a62a3c0 a62ab84 a6e252c (Tilted Camera) a72bcd0 a72bf6c a768f28 Galbadia Garden a7815bc a7853a4 ad98458 Irvine Kinneas b03c618 b03f9b0 b53e264 Deling City b7604a4 b761e74 ba07d00 Sorceress Edea bb3f834 bb49134 ca60450 Edea's Speech d21c860 d21e93c d5658d8 Huuuge Crowd d7164dc d7179b0 d925d50 Lively Statues da0c6e8 da10bdc e0e0800 Edea's Parade e3dd548 e3e63cc f2305a0 More of the Parade f89ec2c f8a0470 fb1766c Seifer Looking Happy fc3646c fc3c2fc 105c24a4 20:00... It's time 10a09a64 10a0fd40 11404fe4 Trapped! 1187e858 1187feb8 11ad3598 Take the Shot! 11be9bc4 11bead28 11da0768 Squall Steals a Car 11e5fa40 11e62ee0 123b3e88 The Sorceress' Knight 1261998c 1261e3d4 12d68684 Edea's Magic 13093db0 1309bea0 13d80110 Opening (Liberi Fatali) 1433ccd0 1435bec4 172f2108 Disc 2 Prison Elevator 0 4de4 7c5710 Desert Prison b33d14 b36ce4 fdbac4 Hazardous Bridge 11d2aa0 11d6360 1785e7c Now That's a Drill 1a0fe98 1a14bf8 21ed4e4 Missile Launch 257aab0 257c798 2861b18 Self Destruct 29acca4 29af250 2d87fd0 (Just the 'Boom') 2f4a228 2f4b410 3119aac More Missiles 31ea288 31ebe10 34b2304 Target Acquired 35f1dd8 35f5f5c 3c937a8 Shelter Mechanism 3f8ecf4 3f913d4 438d11c Garden Transformed 4561500 4565c88 4ca6594 Missiles Inbound 4fef478 4ff5c24 5a6ed20 It's a Hit! 5f27990 5f2b32c 650e57c No Longer in Danger 67bf98c 67c3b10 6e4a7e0 Rinoa in the Wind 712f39c 7134ee8 7a43d7c Close Call 7e427f0 7e43c98 8062d70 Garden put to Sea 815cf0c 815e8b0 83fef90 Drifting Away 85339dc 85353ac 87cdda8 White SeeD Ship 88f8220 88fadfc 8d6bc7c Crashing into FH 8f6e218 8f72bb0 96ed220 Fisherman's Horizon 9a52960 9a54330 9cdf81c Galbadia's Coming 9dfcb10 9dfd7fc 9f52678 Through the Woods 9ff0310 9ff17b8 a1fa290 Seifer Again a2ddd50 a2e0e54 a7cdad0 Motorcycles...? aa02a88 aa06348 afd3af8 Rinoa's in Trouble b27b874 b27ec0c b7a8510 Galbadia Passes by b9f5854 b9f6cfc bc0b104 They're Turning bcfa5f4 bcfb2e0 be43af0 Head-on Collision bed5114 bed65bc c0eab5c Jetpacks c1da1d0 c1e18c8 cdc0d04 Another Collision d306a80 d307f28 d51fce4 Payback Time d612a70 d6141ac d871bc8 Escape Hatch d985c60 d98949c df2a380 Saving Rinoa e1abf80 e1b8b60 f60a380 Disc 3 De-cloaking Esthar 0 21e4 37b0d4 Speed-lifts 512f9c 5180c4 cef670 Leaving the City 107cdb4 107dfc8 125f030 Entering the City 133f88c 1340aa0 151ee94 Leaving the Palace 15fce80 15fe0c0 17caf10 Entering the Palace 1895004 1896244 1a62d90 Taking the Elevator 1b2cc38 1b2df28 1d184f8 Lunar Gate 1df61f4 1df958c 22ee308 Leaving the Planet 251fad8 25207c4 2665738 Lunar Base 26f34ac 26fb1d4 3364b54 Lunar Monsters 38dccc8 38de170 3af7998 Closer Look 3bec260 3bef88c 415ebc4 Lunatic Pandora 43cce50 43cf530 47b2f08 Tear's Point 496ed00 497560c 53dee7c The Probe Destroyed 5871428 587263c 5a482b8 Adel Swallowed 5b1dc38 5b20814 5f71794 Escape Pod 6160484 6162c98 656ff94 Running Out of Air 6744554 67454d4 68d2e58 No Time Left 6984c14 6985b94 6b0fc68 Ran Out of Air 6bbe184 6bbfd64 6e5b4e0 The Rings 6f7f27c 6f821c8 742f7e0 Backup System 763d768 7640790 7a8e930 More Lunar Cry 7c73e74 7c74df4 7e07dc4 What's That? 7ebf258 7ec14c0 8226068 The Ragnarok 83a27ac 83a8ed4 8dc1404 Open the Hatch 9220bc4 92210f4 92a9c3c Break the Seal 92e87c4 92ece44 9a0f044 Attacking Pandora 9d4d920 9d4ef80 9f9eb80 Shipping Off Adel a0b1154 a0b51fc a7435a8 Breaching Pandora aa3ba38 aa3fe24 b132368 Adel Enters Pandora b460330 b466ea4 bf18340 The Lunar Cry c3d389c c3de3a8 d4fedf0 Disc 4 Adel Seizes Rinoa 0 4310 6c3f84 Time Compression 9cba80 9d9318 1f828a0 Ultimecia Castle 2927b9c 292aca0 2e08b94 Ultimecia Herself 302e890 3030f44 3411520 Ending (1st half) 35cc698 35fb1f0 7dc4b0c Final Credits 9cc83d8 9ce92ac b7a47a8 Ending + Credits c602654 c64e920 13cdf734 用程序来做这些事更省心,点这里下载(很简单的小玩意,源代码就不帖了). 有些玩家的光盘可能是坏的,拷贝的过程中就会报错,而且直接打开看到的内容也不全(我的disc2就是),这时可以用软件把文件提取出来,我用的是IsoBuster,其他的如WinIso只要好用就行. 3.用BinkPlay.exe播放CG BinkPlay本站有下,把.bik文件拖到它上面就可以了.不过这样用的是默认的参数,要自定参数的话在命令行或快捷方式里输入,以下是参数的意义(时间很仓促,翻译肯定有错误的地方^-^): 格式:BinkPlay <文件1 文件2 ...> [/参数]:/P 将整个Bink视频预读入内存 /L## 循环播放动画##次(无限次:只用/L) /F#.# 使用指定帧数(快速播放:只用/F) /T## 播放指定音轨 /S 播放结束后显示回放摘要 /X## 指定回放的X轴坐标 /Y## 指定回放的Y轴坐标 /W#.# 拉伸象素至指定宽度(可能拖慢),使用负数作缩放比例(例:2倍,'/W-2';全屏,'/W-1') /H#.# 拉伸象素至指定高度(可能拖慢) /R 用黑色背景填充屏幕 /C 在Bink窗口中隐藏鼠标 /M## 模拟指定读取速度(字节/秒) /E## 指定读取缓冲所用内存量 /G 打开Bink时不使用读取缓冲(更快打开) /K 禁用多线程设备读取 /U## 禁用下列控制键:1=暂停,2=跳过,4=退出 /N 落后也不使用跳帧 /A## 显示选项:1=2倍高度,2=2倍高度隔行扫描,3=2倍宽度4=2倍高宽隔行扫描,5=2倍高宽,6=1倍高度隔行扫描,7=禁用全部 /Q 显示运行回放统计 /I# 窗口风格:0=标准,1=无标题,2=无.+100:总在最前 /J 失去焦点不暂停播放 /D## 显示分辨率:1=320x200,2=320x240,3=320x400,4=400x300,5=480x360,6=512x384,7=640x4008=640x480,9=800x600,10=960x720,11=1024x768,12=1152x864,13=1280x1024.设定色深,+0:16位,+100:24位,+200:32位,+300:8位 /B## 双线过滤风格:0=自动,1=使用DirectDraw主显示(最 佳画质,最快),2=DIB段(最佳画质,最好兼容性),3=YV12覆载,4=YUY2覆载,5=UYVY覆载,6=YV12直接写屏,7=YUY12直接写屏,8=UYVY直接写屏,9=DirectDrawRGB显存直接写屏,10=DirectDrawRGB内存直接写屏 用几个常用的就行了,FF8FMV用的参数是"/D108 /R /C"和"/D102 /R /C".

  http://www.squarecn.com/ff/bbs.a ... rID=402&layer=3
回复

使用道具 举报

     
发表于 2004-12-17 21:21 | 显示全部楼层
和这个人比起来,所有FF8玩家都是LIGHT USER…………
回复

使用道具 举报

发表于 2004-12-17 21:23 | 显示全部楼层
。。。看着都晕。。。
回复

使用道具 举报

     
发表于 2004-12-17 21:25 | 显示全部楼层
除了做游戏的都是LU
回复

使用道具 举报

     
发表于 2004-12-17 22:10 | 显示全部楼层
还以为是乱码
回复

使用道具 举报

     
发表于 2004-12-17 22:32 | 显示全部楼层
莫明想起星爷那句:“在我面前,别人就是一坨屎……”

我的回复跟FF8毫无关系,不要误会。
回复

使用道具 举报

     
发表于 2004-12-17 22:39 | 显示全部楼层
我看不懂………………
回复

使用道具 举报

发表于 2004-12-17 22:54 | 显示全部楼层
楼主没问题吧?
回复

使用道具 举报

发表于 2004-12-17 23:14 | 显示全部楼层
可以去做D版商了--
回复

使用道具 举报

发表于 2004-12-18 00:12 | 显示全部楼层
最初由 ff1982 发表
[B]还以为是乱码 [/B]
回复

使用道具 举报

发表于 2004-12-18 00:54 | 显示全部楼层
其实不复杂,看起来晕而已,十六进制编辑嘛,改游戏存档不就这么改的么。
回复

使用道具 举报

发表于 2004-12-18 01:06 | 显示全部楼层
提取pak中的动画而已,没什么了不起的,不过楼主还真有耐心一个一个试
回复

使用道具 举报

发表于 2004-12-18 17:17 | 显示全部楼层
感觉MD2同学最近不大对劲....
回复

使用道具 举报

发表于 2004-12-18 18:09 | 显示全部楼层
看了头晕~~~~~~
回复

使用道具 举报

     
发表于 2004-12-18 18:17 | 显示全部楼层
最初由 ホ-リ-小狮 发表
[B]和这个人比起来,所有FF8玩家都是LIGHT USER………… [/B]


这里没CU,就一个小白狮
回复

使用道具 举报

     
发表于 2004-12-18 18:31 | 显示全部楼层
最初由 snoopys 发表
[B]这里没CU,就一个小白狮 [/B]


水狗是SB,水狗是SB~~~[m]041[/m]
回复

使用道具 举报

发表于 2004-12-18 18:58 | 显示全部楼层
LU很可耻么???

LU有什么不好???
回复

使用道具 举报

发表于 2004-12-18 19:28 | 显示全部楼层
不玩~
回复

使用道具 举报

发表于 2004-12-18 20:41 | 显示全部楼层
FF8,我上天幻试了跳CG的方法,结果无用。
我打那个螃蟹打了5次,都在CG那跳出,我就删了。
回复

使用道具 举报

     
发表于 2004-12-18 20:48 | 显示全部楼层
最初由 pzw 发表
[B]可以去做D版商了-- [/B]
回复

使用道具 举报

     
发表于 2004-12-18 21:43 | 显示全部楼层
真是夸张啊!
回复

使用道具 举报

     
发表于 2004-12-18 21:48 | 显示全部楼层
PC版一出就买了D版,螃蟹那里跳了,去换了一张盘后,从头到尾再也没跳过。。。。RP真好啊
回复

使用道具 举报

发表于 2004-12-18 22:11 | 显示全部楼层
最初由 pacman 发表
[B]FF8,我上天幻试了跳CG的方法,结果无用。
我打那个螃蟹打了5次,都在CG那跳出,我就删了。 [/B]


跳过这个cg是最简单的..
打爆螃蟹或者躲进酒馆都可以..
后者的话seed等级可能要低些
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-9-26 22:29 , Processed in 0.200640 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表