2009年06月07日 50条评论

Virtual File System (VFS) 基本使用方法

前言:

前几天熊窝更新的 JA2 1.13 svn1136 整合了 Virtual File System (VFS) ,具体什么是 Virtual File System (VFS) 呢?直译就是“虚拟文件系统”,暂时就这样称呼吧。

本来打算找 TBS 汉化组成员汉化一下说明文件并作详细介绍一下的,但由于 TBS 汉化成员个个都忙着生活。本来TBS 汉化组的wasteboy讨馒熊答应接手翻译,但翻译了开头部分后就忙去了,也找不到其他汉化成员接手。

没办法貌似只有我有时间,昨天下午就研究了一下 Virtual File System (VFS),至于说明文件我看的不太懂(老问题了,E 文差)。但‘折腾’很厉害,你一折腾,答案就出来了。下面我就根据我自己的理解来说说什么是 Virtual File System (VFS)  和怎么使用 Virtual File System (VFS) 来加装针对 JA2 1.13 的补丁和MOD,也许不是很准确,但都是通过慢慢折腾慢慢测试出来的。英文好的铁友可以直接看游戏目录下Docs文件夹下说明文件:VirtualFileSystem_Setup.txt

简单说明一下 Virtual File System (VFS) :

按我的理解,就是方便 Moder 制作的 MOD 加载,而且方便玩家自由加载各个 补丁(如汉化补丁)和MOD ,而且不至于时间久了把安装的 JA2 1.13 搞成一团糟。也就是大家一直希望的:各 MOD 相互独立又可以同时加载,而且各种 MOD 或者 组合的MOD的存盘文件可以设置在各自的文件夹,互不干扰!而且 MOD 可以打包成 7z 格式(但打包时选择存贮方式,也就是不压缩)直接使用,不用解压就可以加载,也就是说可以一个 MOD 就是一个7z包,例如 Cosplay909,可以打成一个 Cosplay909.7z 包,通过设置 ini 文件实现加载——等一下会说到具体的设置方法。

下面开始用例子来说明:
我只用加载 TBS 汉化补丁+ DBB909 来做例子说明,其它的请举一反三, 这里TBS 汉化补丁版本为Chinese svn2939,DBB909指打了909new C的full版本

前提:安装好 JA2 Gold 1.10 + 1.12官方补丁 + 1.13 svn1138(1136也可以,推荐1138) + ja2_2975_cn.exe(当然还有中文版专用字体 ja2font3.ttf),另安装好 7-zip 压缩工具软件。

开始:安装好 1.13 svn1138后,你会发现系统多了几个ini文件,其中要注意的是vfs_config.JA2Vanilla.ini和vfs_config.JA2113.ini,这两个文件就是 Virtual File System (VFS) 的配置文件,其中vfs_config.JA2Vanilla.ini是运行原版Gold配置文件,vfs_config.JA2113.ini是运行1.13的配置文件。用 ja2.ini 文件里的这个语句调用:VFS_CONFIG_INI = ,‘=’号后面就是填你要调用的 vfs_config.xxx.ini 文件名。默认情况下ja2.ini里面的 VFS_CONFIG_INI = vfs_config.JA2113.ini,就是说默认是加载了1.13 mod(大家不要忘了,1.13也是mod),另一种说法就是:默认是运行 ja2 1.13。

再一个前言:因为vfs_config.xxx.ini文件是可以通过2种方法来配置的,一种是全部配置写在一个vfs_config.xxx.ini,一种是一个vfs_config.001.ini + vfs_config.002.ini + vfs_config.003.ini + ... 的方式,这里讲的是后面那种,第一种方法留给喜欢折腾的铁友自己去。如果比喻一下就是:如果要玩1.13,那么ja2.ini就设置调用 vfs_config.JA2113.ini,如果你要加载dbb909,那么ja2.ini就设置成调用vfs_config.JA2113.ini + vfs_config.Cosplay909.ini(注:vfs_config.Cosplay909.ini指你配置好的加载Cosplay909的ini文件)

(篇外:其实说到这我有点觉得晕了,如果大家和我一样有点晕那么下面大家就晕着看下去)

第一步:制作 TBS 汉化补丁Chinese svn2939的 7z 包

1. 从svn更新的Chinese svn2939 导出到一个磁盘分区,如d盘,然后点击进入[Data]目录,把里面的4个文件夹:BinaryData、Chinese、Mercedt、Npcdata选中,按右键选择[7-zip]->[添加到压缩档案],在弹出的对话框中——压缩档案名填“TBS_Chinese_SVN”,压缩格式选“7z”,压缩方式选‘存贮压缩’(英文版是选‘store’)

第二步:制作Cosplay909 full(加了909 new C补丁)的 7z 包

因为 Virtual File System (VFS) 刚推出,所以 Moder 们还没准备好给现有的mod包制成单个未压缩的7z包,包括Dboy也就是教授也就是daboboye的 Coplay MOD(即dbb)for 1.13。

1. 猛击这里下载我整合好的Cosplay 909 Full包(COSPLAY_909_Full+909B+909C+new909C.7z),或者自己整合

2. 解压到硬盘得到5个文件夹:BigItems、Interface、Sounds、TableData、tilesets,然后把这5个文件夹选中,按右键选择[7-zip]->[添加到压缩档案],在弹出的对话框中——压缩档案名填“Cosplay909”,压缩格式选“7z”,压缩方式选‘存贮压缩’

3. 这样就制作好了 Cosplay909 的7z包了,把它拷贝到装好的1.13目录,我是在ja2 1.13游戏目录下建了一个目录名为“113mod”的文件夹专门放mod包,所以Cosplay909.7z我就放在这里

第三步:配置TBS 汉化补丁Chinese svn2939的 7z 包的调用ini文件,ini文件名我命名为:vfs_config.TBS_Chinese_SVN.ini,内容如下:

[vfs_config]
PROFILES += TBS_Chinese_SVN

[PROFILE_TBS_Chinese_SVN]
NAME = TBS Chinese SVN2939
LOCATIONS = TBS_Chinese_SVN_dir
PROFILE_ROOT =

[LOC_TBS_Chinese_SVN_dir]
TYPE = LIBRARY
PATH = 113Mod\TBS_Chinese_SVN.7z
MOUNT_POINT =

我简单解析一下,可能用词不是很准确(原因同样是E文差问题):
。[vfs_config]下的‘PROFILES’是给TBS补丁定义个档案名,这里是叫‘TBS_Chinese_SVN’,定义好后下面的[PROFILE_xxx]中的xxx要和‘TBS_Chinese_SVN’保持相同;
。[PROFILE_TBS_Chinese_SVN]是关于刚才定义的‘TBS_Chinese_SVN’一些属性,NAME=补丁或者mod的名称,LOCATIONS=补丁或者mod的位置名(随意取,但后面那项[LOC_xxx]的xxx要和此名相同)
。[LOC_TBS_Chinese_SVN_dir]补丁或MOD具体的位置,其实还有更详细的设置,这里不讨论。因为是7z包(目前只支持7z包和slf包),所以TYPE = LIBRARY,PATH=TBS_Chinese_SVN.7z所在的相对位置(这里我放在ja2游戏目录的113mod文件夹下)

第四步:配置Cosplay909 full(加了909 new C补丁)的 7z 包的调用ini文件,ini文件名我命名为:vfs_config.Cosplay909.ini,ini内容如下:

[vfs_config]
PROFILES += Cosplay909

[PROFILE_Cosplay909]
NAME = Cosplay909 mod for 1.13
LOCATIONS = Cosplay909_dir
PROFILE_ROOT =

[LOC_Cosplay909_dir]
TYPE = LIBRARY
PATH = 113Mod\Cosplay909.7z
MOUNT_POINT =

第五步:配置这个组合的存盘文件位置的ini文件,当然不设置也可以,如果不设置的话磁盘文件默认是在游戏目录下的Profiles\UserProfile_JA2113\SavedGames这里。不过下面我要为这个组合设置专用的存盘文件位置,ini文件我命名为:vfs_config.userCosplay909.ini,ini配置内容如下:

[vfs_config]
PROFILES += UserProf

[PROFILE_UserProf]
NAME =Cosplay909 Player Profile
LOCATIONS = uprof_root
PROFILE_ROOT = Profiles\UserProfile_Cosplay909
WRITE = true

[LOC_uprof_root]
TYPE = DIRECTORY
PATH =
MOUNT_POINT =

简单说明下:这里多了个WRITE,这个是设定此目录可写,调用后,此组合的存盘文件就存到Profiles\UserProfile_Cosplay909\SavedGames这里了

第六步:修改ja2.ini调用TBS汉化补丁Chinese svn2939和Cosplay909 MOD

在ja2.ini找到下面一样的设置:(大家应该都知道,ini文件里的“;”号是起屏蔽作用的,也就是注析,所以下面起作用的只有VFS_CONFIG_INI = vfs_config.JA2113.ini)

; JA2 1.13
VFS_CONFIG_INI = vfs_config.JA2113.ini

; JA2 Vanilla
; VFS_CONFIG_INI = vfs_config.JA2Vanilla.ini

把VFS_CONFIG_INI = vfs_config.JA2113.ini修改为:

VFS_CONFIG_INI = vfs_config.JA2113.ini, vfs_config.TBS_Chinese_SVN.ini,  vfs_config.Cosplay909.ini, vfs_config.userCosplay909.ini

第ok步:运行ja2_2975_cn.exe进行游戏,你会发现现在是加了汉化补丁和DBB909的1.13了

就简单又复杂的说到这,如果一边晕一边看到这里应该也大概明白了点,所以剩下的就要发挥大家的‘举一反三’了。以后的mod发布应该就是这种已经做好的7z包,然后再把7z包+设置好的ini文件压缩成另一个压缩包,然后解压,设置一下ja2.ini就可以加载mod了。

最后说一下,这是趋势,所以各位铁友们尽量快点适应。不知道我到底说清楚了没有,也不知有没有写错某些设置、步骤什么的,反正都是晕晕的。有错误麻烦各位尝试的铁友在这里评论指出,或者在TBS跟帖指出——哇,还要转载到TBS,累,稍后吧。

补充1:
1. Virtual File System (VFS) 调用的mod理论上是可以无限叠加的,也就是可以mod1 + mod2 + mod3 + ……只要各 mod 不存在‘有你就没我’的情况。
2. 对于 ja2.ini 里面的[VFS_CONFIG_INI = ]后面的ini文件调用是按照从后向前的顺序调用的,所以要注意顺序。

补充2:
如果一个mod里面是下面这些元素都可以打包成7z进行加载:Ambient, Anims, BattleSNDS, BigItems, Binarydata, Cursors, Faces, Fonts, Interface, Intro, Laptop, Loadscreens, Maps, Mercedt, Music, Npc_speech, Npcdata, Radarmaps, Sounds, Speech, Tilesets,TableData ...

zww
or
oooo

“Virtual File System (VFS) 基本使用方法”有50条评论

  1. wish78 says:

    Z大辛苦了。

  2. welee says:

    还是不得不说一句,大哥你太强了 ;)

  3. 爱月 says:

    好吧我飘。。。

  4. 路过的 says:

    功能很方便的说,如果有图形化界面加载更好,改ini好晕

  5. zwwooooo says:

    @wish78 啊,希望多点人折腾

    @welee 这个,我只是有时间折腾而已

    @爱月 天气这么热,飘一下凉爽 :mrgreen:

    @路过的 呵呵,以后你就会发现很简单

  6. plusme says:

    看着头晕~哪天心静了~好好研究研究~

  7. 托尔 · 银月 says:

    完全看不懂,纯粹过来打酱油

  8. zwwooooo says:

    @plusme 我写完后回过头再看一遍——一样晕……

    @托尔 · 银月 啊,不知现在酱油的市价是多少了...

    1. 托尔 · 银月 says:

      估计又涨价了,我老是去打酱油~~~

  9. wish78 says:

    晚上折腾啊折腾,终于不明不白的折腾好了,为什么能用最后也不明白(ini里的内容一直是用复制粘贴),估计以后还要折腾。

  10. kramon says:

    昏了,又是这复杂的技术文章...

  11. 小奥 says:

    很少弄这些东西了。。

  12. zwwooooo says:

    @wish78 死记和对比也是一种方法 :)

    @kramon 其实不算技术,简单来说就是一个游戏加载mod的ini设置

    @小奥 难道你是老铁友?以前经常折腾ja2?

  13. qycxc says:

    z大很勤快啊,辛苦了。

    不过看起来真的很晕乎啊,估计你写得也很晕乎吧 ;)

  14. qycxc says:

    如果mod的加载像自由枪骑兵那样的mod管理器方便就更爽了,拖拉,勾选,点击安装就ok了,估计这是一个方向吧。 :lol: 希望熊窝的老外们能这么想。

  15. zwwooooo says:

    @qycxc 现在开始要开始偷懒了,老是一个人在那里勤快也没动力了,呵呵。因为ja2游戏较老,故源代码也比较古老,所以很多想得到却很难实现,现在能做到这样已经很不错了。熊窝云集了世界各地的coder+ja2的爱好者,很强很大。可惜现在的tbs不像以前了,缺少了认真折腾的人。vfs出了本来是令人兴奋的东西,可惜真正自己去测试研究并且常鲜的人我想除了我没有另一个人。所以感觉孤单没动力……发下牢骚而已,别见怪 :mrgreen:

    1. qycxc says:

      还是那句:z大辛苦了。

  16. ligyxy says:

    说到翻译…我准备我要是再找不到日语达人我就从英文翻

    1. zwwooooo says:

      @ligyxy 不是有英文版么?英文达人应该好找一点吧,呵呵

      1. ligyxy says:

        要是从英文版译那我就亲自上阵了。
        主要想维持原汁原味,英文…比较没情感
        你PS熟练么?

        1. zwwooooo says:

          @ligyxy 我PS不熟练,忘了,10年前学过,10年之间基本没用,所以只会简单PS了。TBS汉化组里图是由美工组负责的。

          1. 所以說 says:

            我现在做这个翻译。。感觉就是自己组一个汉化组- -。。小复杂~~

            啊哈哈~~挖人才挖人才~那你是负责什么的呢?

  17. 小毅 says:

    暑假我决定玩一次铁血。
    折腾万岁。向爱好折腾的人敬礼。

    1. zwwooooo says:

      @小毅 你是麦田圈内第一人,感动ing :mrgreen:

  18. 阿婆 says:

    Hey,I would like to ask how to use this software? :lol:

  19. 卢松松 says:

    哎 不懂。。你真是个高手!

  20. zwwooooo says:

    @阿婆 ……,这不是软件……,还好能看懂……

    @卢松松 应该是折腾高手……

发表评论

昵称 *

网址

B em del U Link Code Quote