标题: MEff文件的初步研究, 随便写点的垃圾文字
性别:未知-离线 金圭子

白衣伯爵中大夫

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14
组别 白衣卿相
级别 征西将军
好贴 4
功绩 265
帖子 4926
编号 27961
注册 2004-12-16


发表于 2010-9-8 11:10 资料 文集 短消息 只看该作者
MEff文件的初步研究

前阵子在我现在蹲的某个论坛(嗯,其实那个论坛也快蹲不下去了,所以别问是什么论坛了)有个网友发PM给我,此人据说也是混过轩辕春秋的(在那个论坛id叫“小夊”,不知道是不是轩辕春秋今年问MEff问题的“Axie89”、“cronnin”或者“漫漫悠忧”之一),说希望我解决曹操传关于MEff的问题,找了我几次,正好最近杂七杂八的事情弄的很烦躁,所以想做点自己喜欢的事情(后来才发现我最喜欢的事情居然不是玩游戏或者做游戏,居然是分析数据,可怜我连汇编和SoftIce都一窍不通的人,所谓“分析数据”居然是连猜带蒙……),就花了一小时多写了这段东西……

声明:以下部分都是根据MEff文件内容和godtype(毅)对MCall的研究(http://www.xycq.net/forum/thread-202838-1-1.html),
然后自己估测(就是估摸一下-_\\)的结果,本人不研究曹操传已经许多年了,介于现在工作繁忙的情况,也没有进行任何实测(实际修改测试)部分,(其实我自己也没写过ls12打包的程序,所以暂时也实测不起来,不过我想曹操传研究到现在,ls12打包的工具这种东西应该不会没有吧……)
所以肯定有一堆错误,如果有人照着以下部分进行修改,造成其任何程序、物质和精神上的损失,本人一概不负责-_\\

另外,本文其实只能算是对MEff文件的一些猜想,我个人觉得几乎没什么有价值的内容,特别是对实际修改有用的,毕竟离开曹操传修改界多少年了,现在曹操传的修改能到什么程度实在不了解,或许我以下写的东西已经完全没任何意义全是废话了,所以看与不看,随便……

本文基本上是照搬godtype(毅)对MCall的研究(http://www.xycq.net/forum/thread-202838-1-1.html)的模式来写的,不过本人对汇编特别是windows下的汇编一窍不通(大学汇编几乎没上过课,就是考试前看了一个晚上,才勉强混了个及格的),所以exe部分就不分析了,直接跳过,进入对MEff文件的研究,
MEff文件比MCall多了层ls12加密的壳,随便找个啥程序(我是用我自己以前为了解大航海时代用的一个自己写的解ls12加密的程序)把Meff解开,一共是58个文件(以下以00开始,所以是00~57),参考Van的RpgViewer中对应的具体图片,可以看出00~47这前48个是技能效果,还有最后一个57也是,其中45是单格的Miss,其他都是动画,47~51这四个是头上的状态小图(问号、骷髅、禁止使用物品、禁止技能),52~56这5个是天气变化。下面研究的是前面的技能特效部分:

用UE打开其中一个的MEff文件,我测试用的是00(烈火?)、01、02、03。
最前面的14h/20字节代码是一些基本信息(注,以下提及数字的时候,xxh为16进制,否则为10进制):
00:
15 07 00 00 32 00 00 00 40 00 00 00 40 00 00 00
00 00 00 00

01:
20 0A 00 00 32 00 00 00 40 00 00 00 40 00 00 00
01 00 00 00

02:
13 13 00 00 32 00 00 00 46 00 00 00 46 00 00 00
02 00 00 00

03:
13 13 00 00 64 00 00 00 5A 00 00 00 5A 00 00 00
03 00 00 00

第一行
前面中第二个07h、0Ah、13h等是该MEff文件里面的图片数;
第一个暂时未知,02、03中正好和第二个相等,但是00、01就不是,所以怀疑MCall说的两个都是帧数是有问题的(何况没必要两个都做帧数吧)
另外看下去,发现基本上和下面分组(猜想为帧)的数字相同,所以应该是这个动画的分帧数(加1然后乘以20就是文件头的大小)。
只是在MCall中这两个数字正好相等了(这部分是写了下面的回头重写的)

下来的00 00 32(64) 00 00 00作用未知;前面64~70宽度的图片都是32h/50,后面的90宽度的图片是64h/100,怀疑为占用空间大小的宽度?(但是朱雀这样的也就用64h/100啊)
两组40 00 00 00是每一张图片的大小,即64*64;后面三组也是这个规律,分别为40h/64,46h/70,5Ah/90。

第二行
现在看起来是和图片的序号相关的,但是按照MCall的研究这儿大概是音效,而且看了一下比如第45个这儿就是1F而不是2D
所以估计也是音效编号,即Se_m_**,我这儿都是猜测没实测;
后面的00 00 00应该是跟随前面的01、02、03的,即这儿大概是一个DWord。

接下来从地址14h(不是10h吧)开始是每一张图片的出现和移动轨迹,每14h/20个字节为1组。
基本上和MCall的属性类似,
00中21组依次如下:
01: 00 FF 10 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02: 01 FF 10 08 00 00 00 00 00 00 00 00 00 00 00 00 00 7A 81 00
03: 02 FF 10 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 64 35 5C
04: 03 FF 10 0C 00 00 00 00 00 00 00 00 00 00 00 00 00 74 45 5C
05: 04 FF 10 0E 00 00 00 00 00 00 00 00 00 00 00 00 01 64 35 5C
06: 05 FF 10 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
07: 04 FF 10 10 00 00 00 00 00 00 00 00 00 00 00 00 00 64 35 5C
08: 05 FF 10 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 6D 70 00
09: 04 FF 10 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
10: 05 FF 10 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
11: 04 FF 10 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
12: 05 FF 10 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
13: 04 FF 10 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
14: 05 FF 10 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
15: 06 FF 10 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 6D 70 00
16: 05 FF 10 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 64 35 5C
17: 04 FF 10 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 6D 70 00
18: 03 FF 10 0C 00 00 00 00 00 00 00 00 00 00 00 00 00 63 74 45
19: 02 FF 10 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 FF 10 08 00 00 00 00 00 00 00 00 00 00 00 00 00 81 92 E8
21: 00 FF 10 06 00 00 00 00 00 00 00 00 00 00 00 00 00 C4 82 CC
这儿可以看出和MCall的不同之处,这儿编号存在多个,所以00虽然是7张64*64的图,文件头部分有440字节,01是10张64*64的图,文件头部分有660字节,而02、03,是19张70*70和90*90的图,文件头反而只有400字节,就是因为这个原因了。

这儿怀疑为一组使用了重复帧的动画,即按照0、1、2、3、4、5、4、5、4、5、4、5、4、5、6、5、4、3、2、1、0的顺序放。MCall因为没有重复帧,所以只是序列放一遍,不存在这个问题。


烈火因为基准点相同,所以后面XY位移部分都是0,而参考02的就可以看出位移部分所在了:
00 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
01 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
02 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
03 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
04 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 01 00 00 00
05 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
06 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
07 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
08 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
09 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
0A FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 64 35 5C
0B FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
0C FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 64 35 5C
0D FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
0E FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 64 35 5C
0F FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 00 00 00
10 FF 10 10 00 00 00 00 00 00 00 00 FC FF FF FF 00 64 35 5C
11 FF 10 07 00 00 00 00 00 00 00 00 F4 FF FF FF 00 00 00 00
12 FF 10 07 00 00 00 00 00 00 00 00 F8 FF FF FF 00 64 35 5C
按照MCall研究的理论,其中FC FF FF FF部分就是纵向位移(负数)。

具体猜想一下,其中第一个位置已经可以肯定是使用第几帧的序号,第二个FF和第三个10不变不好猜,第四个变化且都在6~16范围内,怀疑为每帧的ms数?下面一个DWord都是0,再下面一个DWord在MCall中已被肯定为横向位移(在这两个例子中都是0),再下面一个为纵向位移,最后一个DWordgodtype猜想为调色板,我猜想为透明度、亮度或者RGB的变化。

~~~~~~
忘了补充一下,从文件头部分(长度为(第一个字节+1)*20)开始往后所有内容为具体的位图部分,就是BMP除了BMP文件头部分以后的东西(不含调色板之类的),拿出来加上个曹操传特色的BMP的256色BMP头就是用Van的RpgViewer导出的那种。
这块我本来觉得做过曹操传的图像方面工作的人都可以猜出,所以一开始写的时候忘了,不过既然是“MEff文件的初步研究”而不是“MEff文件头的初步研究”,还是加上这句吧。
~~~~~~

具体的真实与否,暂时看来只有实测(手动修改以观后效)来判断了,其实某些试几个极限值就可以知道的,不过手头工作还忙,难得抽出1、2个小时来写这篇东西已经很不容易了,有兴趣的就自己测,没兴趣的就等我下一个帖子吧(不知道猴年马月呢)

再次强调一下,以上部分都是根据MEff文件内容和godtype(毅)对MCall的研究,自己估测的结果,没有经过任何实测部分,如有错误,造成他人任何程序、物质和精神上的损失,本人一概不负责-_\\

[ 本帖最后由 金圭子 于 2010-9-8 18:06 编辑 ]


顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2010-9-8 11:20 资料 个人空间 短消息 只看该作者
难得遇见前辈级人马,有时间慢慢细看。
PS:小夊 正是 Axie89 。


顶部
性别:未知-离线 金圭子

白衣伯爵中大夫

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14
组别 白衣卿相
级别 征西将军
好贴 4
功绩 265
帖子 4926
编号 27961
注册 2004-12-16


发表于 2010-9-8 11:28 资料 文集 短消息 只看该作者
呃,我这篇东西基本上都是照搬你的那篇MCall的,话说我自从担任了第一任《岳飞传》编纂组组长然后什么都没做就闪人以后,好像多少年没摸过曹操传了。

都不知道曹操传现在研究到什么程度了(之前一阵子在混金庸群侠传mod的论坛,那里对金庸群侠传mod的摸索就很透彻,甚至另外用Delphi等语言重写了一些金庸群侠传的exe,后来对其数据结构也重做了很多,这样想改什么都可以随便改了,不然改什么都受制于原来的结构),所以都是从头做的,估计很多东西,其实在现在都被研究透了吧……

Axie89……总觉得名字好像见过…………

[ 本帖最后由 金圭子 于 2010-9-8 11:30 编辑 ]
顶部
性别:未知-离线 Axie89

Rank: 4
组别 士兵
级别 牙门将军
功绩 6
帖子 559
编号 312058
注册 2009-2-21
家族 瓦岗寨


发表于 2010-9-8 14:05 资料 短消息 只看该作者
恩,的确是我,对于法术问题,我一直在关注。。可惜现在玩系统的人越来越少了,只好再厚一下脸皮找金圭子前辈咯~话说我最近上网时间不多啊,哪位高手能详细给出简单方法最好了

[ 本帖最后由 Axie89 于 2010-9-8 14:12 编辑 ]
顶部
性别:未知-离线 Axie89

Rank: 4
组别 士兵
级别 牙门将军
功绩 6
帖子 559
编号 312058
注册 2009-2-21
家族 瓦岗寨


发表于 2010-9-8 14:06 资料 短消息 只看该作者
回复 #3 金圭子 的帖子

你买psp的那个论坛。。tgbus。。我出现过一次,,

[ 本帖最后由 Axie89 于 2010-9-8 14:09 编辑 ]
顶部
性别:未知-离线 金圭子

白衣伯爵中大夫

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14
组别 白衣卿相
级别 征西将军
好贴 4
功绩 265
帖子 4926
编号 27961
注册 2004-12-16


发表于 2010-9-8 14:18 资料 文集 短消息 只看该作者
tgbus就去下点东西,从来不发贴的……

看看这个东西对你有用么,说实话我不知道你要求到哪一步。

不过在无法实测的情况下,最多也就能研究到这种程度了,就看你有什么需求了,理论上如果有个ls12打包的工具,理论上可以重做一些新的技能动画了……

[ 本帖最后由 金圭子 于 2010-9-8 18:06 编辑 ]
顶部
性别:未知-离线 Axie89

Rank: 4
组别 士兵
级别 牙门将军
功绩 6
帖子 559
编号 312058
注册 2009-2-21
家族 瓦岗寨


发表于 2010-9-8 14:27 资料 短消息 只看该作者
回复 #6 金圭子 的帖子

我对系统是一知半解啊。。(╯▽╰)。。而且我现在在别人宿舍,。。等有空慢慢研究,有什么疑难杂症再pm你老人家。。         无比感谢。。话说金庸那边也不玩了么?积翠庭那边好凋零啊~
顶部
性别:未知-离线 Axie89

Rank: 4
组别 士兵
级别 牙门将军
功绩 6
帖子 559
编号 312058
注册 2009-2-21
家族 瓦岗寨


发表于 2010-9-8 14:30 资料 短消息 只看该作者
不过这些肯定有用的,另类cczmod是越来越多了,以前那堆ccz的法术已经好难满足所有类型的mod了。。可惜没人搞创新啊,似乎美工也越来越少了,怨念。。。
顶部
性别:未知-离线 金圭子

白衣伯爵中大夫

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14
组别 白衣卿相
级别 征西将军
好贴 4
功绩 265
帖子 4926
编号 27961
注册 2004-12-16


发表于 2010-9-8 14:51 资料 文集 短消息 只看该作者
呃,难道现在曹操传mod还没原创的技能特效?不可能吧……

倒不是不玩金群mod了,不过铁血现在的现状这样,积翠亭没人气也不是我一个人决定的。
顶部
性别:未知-离线 本因坊秀策
(★御姐★)

泉国公
枢密直学士
河东节度使
★★★★★

Rank: 22Rank: 22Rank: 22Rank: 22
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 大将军
好贴 5
功绩 2107
帖子 19336
编号 150
注册 2003-9-28
来自 六朝古都
家族 现视研


惊现LS诈尸
顶部
性别:未知-离线 Axie89

Rank: 4
组别 士兵
级别 牙门将军
功绩 6
帖子 559
编号 312058
注册 2009-2-21
家族 瓦岗寨


发表于 2010-9-8 17:30 资料 短消息 只看该作者
我的notebook没有ccz相关东西而且我学得就是好皮毛好皮毛的东西啊~不知所云了,不过lz12工具是什么来着?如果是前辈要更换法术系的话,你会怎样做呢(⊙o⊙)?简单点,简单点。。
顶部
性别:未知-离线 金圭子

白衣伯爵中大夫

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14
组别 白衣卿相
级别 征西将军
好贴 4
功绩 265
帖子 4926
编号 27961
注册 2004-12-16


发表于 2010-9-8 17:55 资料 文集 短消息 只看该作者


QUOTE:
原帖由 Axie89 于 2010-9-8 17:30 发表
我的notebook没有ccz相关东西而且我学得就是好皮毛好皮毛的东西啊~不知所云了,不过lz12工具是什么来着?如果是前辈要更换法术系的话,你会怎样做呢(⊙o⊙)?简单点,简单点。。

(突然发现前面都写错了,所有“Lz”云云的都应该是“Ls”,前面都改了,mmd,这个老是写错……)
曹操传和很多koei的游戏都是用的ls12加密的,就是文件用ue打开,头四个字节是“Ls12”(ls可能是大写可能是小写),有些是“LS”(这些可能是ls12加密的也可能是ls11加密的,话说我也搞不清ls12和ls11有什么区别)

van给出过ls加密的具体算法的,但是我在编程方面水平太次,写不出加密的方式。
倒是解密方面,van给出过一个c语言的具体代码,还有某人(忘了是谁了)给出过vb的,而我只看的懂vb的╮(╯□╰)╭,于是乎当时弄了个vb的程序去解大航海时代4的(ps:大航海时代4有3、4种加密模式,我当时就分析出一个bmp套ls的,所以van的RpgViewer中大航海时代4也只能解这部分的,后来把文件头是“pb”的也分析出来了,但是当时已经不上这方面的论坛了,所以一直也没公布)

所以现在的情况就是只能解ls加密的,解开以后的就算改了也不能打包打回去……不过我记得这方面的程序应该有不少吧,曹操传方面离开的早不清楚了(曹操传方面离开的时候还研究的很浅,现在看看好像什么都能改了,所以我估计这方面的应该也有吧),大航海方面就有小帆做的一个可以加密回去的。

另外van的那个RpgViewer有导入部分的,应该也是加密回去这么做的。
——呃,突然想到,好像完全不加密,直接头尾相连也可以的吧,好像大航海时代4的se.dk4文件就是这样的?
去测试一下看……如果这样可以我自己做个原创的看……


~~
嘀咕一下,论坛的搜索功能奇差无比,比如maxwell有个帖子叫“ls11格式详解”,搜索这个,居然告诉我找不到……

~~~~~~~~~~~~


至于如果我自己来做,肯定是先根据要做的东西做出gif或者png胶片(幻灯片),如果是商业素材的套个调色板,如果是原创的话根据曹操传调色板画更好。

然后做成256色bmp的胶片(幻灯片),就是现在做战斗图的那种方式。然后根据动画的需要给出位移和关键帧的情况,把解开后的MEff文件的文件头定下来,后面把bmp的位图部分加上去(bmp去掉个文件头就是位图部分),就是个单个的MEff文件了(当然如果能实测的话当然肯定要把头文件中第三个字节和最后一个DWord测试一下)。
然后用个加密打包的程序打回去就可以放进去用了——当然这儿还有两种,一种是替换原来的某个现有的图,一种是加在后面。后者在调用的时候还要改调用部分,如果我自己现在拿来实测数据还是用前者为好……

[ 本帖最后由 金圭子 于 2010-9-8 18:24 编辑 ]
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2025-2-8 05:43
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.014180 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP