找回密码
 立即注册
搜索
楼主: 陶大知

[汉化] 【汉化楼】PS1《猫犬协奏曲》完美汉化发布 25周年

[复制链接]
     
发表于 2021-1-31 02:02 来自手机 | 显示全部楼层
论坛汉化即使是十几年前也很少见,都是热爱游戏的玩家
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-2-2 21:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-2-3 16:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-2-3 17:34 | 显示全部楼层
陶大知 发表于 2021-2-3 16:26
好哥哥,我发现游戏里有些重要剧情必须要看播片的,虽然片子少但是里面剧情好像讲的都蛮重要的。 ...

视频的编解码是很专业的范畴了,而且因为是CD直接导出的镜像,里面还有涉及到很多物理层纠错信息,处理起来会很麻烦。
而且就算能做,如果不是标准编码有现成的编码器的话,用脚本来编码效率肯定吃不消,各种压片压到天荒地老内存溢出。而如果要自己写编码器的话,那就太麻烦了。

我只能说看一眼,看看能不能找到现成工具做这个的。
如果没有的话,要做起来太费劲。
回复

使用道具 举报

     
发表于 2021-2-3 17:40 | 显示全部楼层
牛逼,支持楼主
回复

使用道具 举报

     
发表于 2021-2-3 17:51 | 显示全部楼层
陶大知 发表于 2021-2-3 16:26
好哥哥,我发现游戏里有些重要剧情必须要看播片的,虽然片子少但是里面剧情好像讲的都蛮重要的。 ...

http://www.romhacking.net/utilities/878/
试试这个吧。号称能把STR转AVI也能把AVI转回STR。
游戏的STR文件被导出在ext文件夹下的STR.BIN,修改完后一样的名字放进mod文件夹下就能导回去。

我就不折腾了。

评分

参与人数 2战斗力 +2 收起 理由
芷雅居 + 1 感动
zfly + 1 好评加鹅

查看全部评分

回复

使用道具 举报

     
发表于 2021-2-3 18:00 来自手机 | 显示全部楼层
真正的互联网精神啊

—— 来自 OnePlus ONEPLUS A5010, Android 9上的 S1Next-鹅版 v2.4.4.1
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-2-3 22:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-2-3 22:45 | 显示全部楼层
陶大知 发表于 2021-2-3 22:37
看了些鬼佬的资料,鬼佬说更改播片要保证数据大小和源文件不能有差异,还要保证数据头对应……但是 ...

不一定的,看游戏里是怎么引用的。
你先用我说的方法试试看行不行。
事实上如果只是偏移有问题,反而还不算太难搞定。
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-2-3 22:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-2-3 22:55 | 显示全部楼层
陶大知 发表于 2021-2-3 22:51
也许还是我太菜了,转成str的时候不知道这个该怎么填,除了倍速其他都找不到信息,而且还不会把 ...

哦,看来这工具不能像JPSXDESC那样自动解析开头结尾,要手动填。
有空我再看看吧。

先当视频改不了吧。要是我之后看了发现有简单的方法能改,再说也不迟。
回复

使用道具 举报

     
发表于 2021-2-3 23:30 | 显示全部楼层
本帖最后由 Tring 于 2021-2-3 23:34 编辑

我试了下,86楼那个工具不太行,毕竟很老一直也没更新了。
那工具直接导出的AVI设置不对都导不回去,导回去了也会出现黑屏,就算不管黑屏还会丢失帧信息。

然后看了下jpsxdec的文档,在安装目录DOC下有一篇很长的manual手册,是这工具的命令行模式的手册。
命令行下,这工具支持很多GUI下不支持的功能,比如修改视频。
但是用起来特别麻烦(不是导视频,而是逐帧修改图片,还需要自己构建一个描述文件,但是可以用mask,所以其实可以用这方法导字幕),你如果真的想折腾的话,可以去研究一下那个文档。
这工具是直接处理ISO文件的,因此所有操作你都可以直接对汉化完的ISO进行。

评分

参与人数 1战斗力 +1 收起 理由
尘落樱飞 + 1 虽忙仍用心解决问题。加油

查看全部评分

回复

使用道具 举报

     
发表于 2021-2-4 01:01 | 显示全部楼层
本帖最后由 Tring 于 2021-2-4 01:47 编辑


试着用了下上面提到的那个逐帧修改功能。
不知道为啥mask掩完了还剩下个黑框。(又试了试,黑框好像是没办法解决的,可能是内部编码问题吧,没办法弄透明背景的字幕)
(看了源码,mask也是以16*16的block为单位进行的,所以没办法做到逐像素mask,必然还有个黑框。至于为什么源码要这么做我是不太理解就是了。)
先除开这个不提,这么做字幕的话,需要自己把每一个字幕帧的图存下来,然后手动打轴。
打轴的部分最多是用脚本转一下现有格式之类的,还是挺麻烦。
看你想不想这么折腾了。

你要愿意折腾的话,可以现在开始准备了。
每句字幕单独保存一张png,黑底白字,320*208分辨率,对应屏幕,调整好字幕的大小和位置。其他颜色也行,但是字幕背景外框以外必须是黑色。
然后手动把每一句字幕的开始时间和结束时间标出来,单位秒,带小数点,记录在一个文本文件里,格式:
开始时间,结束时间,字幕文件名
一行一句,每一个视频单独打轴。

当然,你也可以完全自己来,不用等我脚本换算输出。保存一个xml文件类似这样:
  1. <?xml version="1.0"?>
  2. <str-replace version="0.2">
  3.     <partial-replace frame="#60" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  4.     <partial-replace frame="#61" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  5.     <partial-replace frame="#62" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  6.     <partial-replace frame="#63" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  7.     <partial-replace frame="#64" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  8.     <partial-replace frame="#65" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  9.     <partial-replace frame="#66" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  10.     <partial-replace frame="#67" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  11.     <partial-replace frame="#68" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  12.     <partial-replace frame="#69" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  13.     <partial-replace frame="#70" tolerance="5" mask="sub2.bmp"> sub2.bmp </partial-replace>
  14. </str-replace>
复制代码
每一条代表一帧,frame是帧号,理论上来说带不带#号都一样,但是最好还是带上。在这游戏里和时间的换算是1秒15帧。
tolerance在用mask的时候不太重要,随便填个5就好。
mask和项内的内容都填保存的字幕png文件名。
因为每一条只显示一帧,所以上面这个实际上只是把sub2这张图里的内容,在从4秒到4.66秒之间显示了出来。
然后装个java,运行:
  1. java -jar path\to\jpsxdec\jpsxdec.jar -x tc1v.idx -i 2358 -replaceframes sub.xml
复制代码
其中tc1v.idx是用gui版打开汉化rom后保存的index文件,sub.xml是上面描述的那个文件。
-i后面按个数字是你用文本编辑器打开idx文件后看到的你想修改的视频文件前面的那个编号。2358是视频0,2359是视频1,类推。
没报错就是顺利导入进去了。之后用gui版打开修改后的rom看看视频是否改对了就行了。


要是不想折腾的话,就直接省事。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 2战斗力 +2 收起 理由
footmanpon + 1 好评加鹅
陶大知 + 1

查看全部评分

回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-2-4 19:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-2-4 19:42 | 显示全部楼层
本帖最后由 Tring 于 2021-2-4 19:54 编辑
陶大知 发表于 2021-2-4 19:20
靠一個字一個字手打了字幕,但是遇到了意料外狀況:字母變得很糊而且還在一閃一閃的。附件為視頻。 ...

毕竟是经过编码的,可能是会糊掉,建议用黑体系(sans-serif系)的字体,如果必要可以加个粗,甚至可以勾个边。
闪的问题有可能是实际帧数和逻辑帧数不合,把frame前的#号去掉试试。
另外记得,源ISO文件每次改完后,要再次修改前,都要删掉再换回原版,否则修改就会在前一次的基础上叠加。(先试这一条,如果还是闪再动frame。)

评分

参与人数 1战斗力 +1 收起 理由
芷雅居 + 1 好评加鹅

查看全部评分

回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-2-11 01:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-2-11 12:59 | 显示全部楼层
牛哇。
资瓷楼主
回复

使用道具 举报

     
发表于 2021-2-11 14:03 来自手机 | 显示全部楼层
牛逼!偶也下来试试
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-3-8 13:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-3-16 20:08 来自手机 | 显示全部楼层
视频汉化的问题不知道解决了没有,如果没有的话我可以说说我的解决方法。
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-3-16 20:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-3-18 12:13 | 显示全部楼层
本帖最后由 shikeyu 于 2021-3-22 10:02 编辑

视频文件的提取和转换可以用jpsxdec。
下载地址 https://github.com/m35/jpsxdec/releases
字幕编辑我用的是Aegisub,网址是 https://aegi.vmoe.info/
字幕和视频的合成可以用格式工厂来做,要注意的是要输出为无压缩的AVI格式。
AVI转换为STR我用的是MC32,这个在PSX的开发包里有,
介绍和下载地址是 http://www.psxdev.net/help/psyq_install.html
修改后文件的导入我通常用我自己写的小工具,不过这个工具没有做ECC数据
的修正,如果刻盘需要用ECCREGEN这个软件修复一下镜像文件。
链接:https://pan.baidu.com/s/1pI9y1DGOJdo4EudjlXsT8g
提取码:ukf1
另外这个工具要求新文件小于或等于旧文件才能进行替换。
如果新文件比旧文件大就需要重组ISO。建议使用MKPSXISO这个工具。
网址是 https://github.com/Lameguy64/mkpsxiso
看了一下这个游戏的所有动画都是集合在STR.BIN一个文件里的,
这种情况我之前没有碰到过,不过如果游戏是按照帧数进行调用的话,
保持各段的帧数不变,分解处理后再合并也许是可以的。

评分

参与人数 4战斗力 +4 收起 理由
willzyj + 1 膜拜
liekong + 1
IRIS虹 + 1 好评加鹅
shyso + 1 好评加鹅

查看全部评分

回复

使用道具 举报

头像被屏蔽
     
发表于 2021-3-18 16:23 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-3-18 16:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-3-18 19:38 | 显示全部楼层
本帖最后由 willzyj 于 2021-3-21 19:45 编辑

从猫犬吧跳转过来,登上了10多年没用过的ID……
看到众位的反复钻研,深感这态度可比某些官方汉化强多了~

惊喜的是居然见到了shikeyu大神,有他在应该能有很大助力吧。
真诚期待各位大佬们的合作能够圆满成功。
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-3-19 13:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-3-19 17:28 来自手机 | 显示全部楼层
可以试试每个视频单独提取加字幕转换,然后用copy /b 命令合并成一个文件后导入,当然要确保每个文件大小和原来的一样。
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-3-19 21:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-3-21 04:34 | 显示全部楼层
陶大知 发表于 2021-3-19 21:15
您好,copy /b 命令合并的话每个STR文件的Sectors都会紧密连接在一起,而原STR.BIN中,每个文件的Sectors ...

你确定第2段能放出来么?
我觉得第1段能放出来是肯定的,关键是第2段。如果第2段能放出来说明这么搞是有效的,微调下就能解决。如果放不出来说明要改动的东西还比较多。
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-3-21 09:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-3-21 14:12 | 显示全部楼层
借楼问一下,DS上的天空机器人是正统续作吗?
回复

使用道具 举报

     
发表于 2021-3-21 18:07 | 显示全部楼层
陶大知 发表于 2021-3-21 09:06
我所有的都试了一下,能放出来的有这些:

STR0

别用什么copy来拼文件了,保存下面这个脚本为py文件运行试试吧。

  1. #! python3
  2. # coding: utf-8

  3. import os, os.path

  4. SECT_SIZE = 2352
  5. def concat_files(output, input_list):
  6.     base_snum = input_list[0][0]
  7.     with open(output, 'wb') as fo:
  8.         datalen = 0
  9.         last_iname = ''
  10.         for snum, iptname in input_list:
  11.             dstlen = (snum - base_snum) * SECT_SIZE
  12.             if dstlen > datalen:
  13.                 fo.write(bytes(dstlen - datalen))
  14.                 datalen = dstlen
  15.             elif dstlen < datalen:
  16.                 print('warning: src file is bigger than expected:',
  17.                       last_iname, datalen - dstlen)
  18.             last_iname = iptname
  19.             with open(iptname, 'rb') as fi:
  20.                 iptdata = fi.read()
  21.                 fo.write(iptdata)
  22.                 datalen += len(iptdata)

  23. if __name__ == '__main__':
  24.     concat_files(
  25.         'to.out', [
  26.             (321, 't1.txt'),
  27.             (322, 't2.txt'),
  28.             (323, 't3.txt'),
  29.             (324, 't1.txt'),
  30.         ])
  31.             
复制代码

自己改下底下的文件名和sect号。to.out那是输出文件名,t1.txt那一串是输入文件名,前面的321那一串数字是起始sect号。
注意,列表中的sect号一定要是从小到大顺着排的,不能错序。
如果有输入文件超了目标大小会报个警告,但是会继续把文件拼完。
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-3-21 19:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-3-21 19:20 | 显示全部楼层
陶大知 发表于 2021-3-21 19:16
抱歉出大问题了,导出来的文件在jpsxdec里面只能读出第一个视频,其他全都是垃圾文件,而且导出的文件也 ...

sect号和以前比是对准的么?如果是对准的还这样,那就说明仅仅插空白数据是不行的。
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-3-21 19:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-3-21 19:27 | 显示全部楼层
陶大知 发表于 2021-3-21 19:22
是对准的,尝试过2次都是如此。

你可以看下jpsxdec提示的那个index.log里的warning报的啥。

这东西说实话我挺不想折腾的。因为这些视频结构是基于cd track的,并不是基于普通文件系统的。是怎么组织到一起的不仔细研究挺难猜测的。
其实说实话,之前没对准sect号的时候,反而后面能读出几个视频,而且视频开头都无偏差,应该就能说明这格式并不是按偏移地址来索引的了。

我猜测的是,这个大概是一整段连续视频,然后通过某个帧索引表来索引不同段落。也就是真正索引的是帧号,而不是偏移地址。所以插空反而会导致文件失效。
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-3-21 19:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-3-21 19:43 | 显示全部楼层
陶大知 发表于 2021-3-21 19:30
每隔16sector就报错,洋洋洒洒报错报了几千行。
不过用copy/b却能读出来,挺奇妙的。
...

你看下你转出来的每一个零散的视频文件的准确长度能否整除2352。
或者干脆把前10段的准确长度都贴出来看下。
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-3-21 19:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-3-21 19:52 | 显示全部楼层
陶大知 发表于 2021-3-21 19:48
请问是看哪一个?其字节吗?

大小:  XXX (YYY 字节)

那个YYY的字节数。
不是占用空间的那个,是大小的那个。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 04:30 , Processed in 0.178318 second(s), 16 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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