[转帖]mir3 源代码研究 

2006-12-07 22:06 发布

7610 3 0


第一讲:
 韩国3.0传奇wil文件说明

Animationsc.wil  游戏里一些动画的图片(灯台、晾的衣服、椰子树等)
Cliffsc.wil          各种岩石、岩石与草地结合的图片 
DMon-1.wil       怪物被麻痹的各种动作图
DMon-1.wil       同上怪物的阴影图
Dungeonsc.wil   一些岩石(蚂蚁洞)的图片
Equip.wil          各种物品在装备栏里的图片
Fmmap.wil        陆地上所有地图的小地图图片
Furnituresc.wil   房间里的物品及阶梯的图片
GameInter.wil    游戏界面所看到的图片
Ground.wil        物品在地面所显示时的图片
Horse.wil          三种马的图片
Housesc.wil       房子的图片
Innersc.wil        房子的四壁、房顶的图片(沙漠、土城房子)
Interface1c.wil  刚进入游戏到人物选择所看到各个图片
Inventory.wil    在商店里买东西时所显示的物品的图片
Magic.wil          各种魔法效果图
M-Hair.wil         男性头发图
M-Helmet1.wil   男性所戴头盔的各个方向的图片
M-Hum.wil        男性的各种模型、动作图片(裸身、穿衣服、骑马、钩鱼)
MIcon.wil         魔法图标的图片
mmap.wil         小地图的地图
Mon-1~13.wil   所有怪物的图片
MonS-1~13.wil 所有怪物的阴影图片
M-Weapon1~4.wil  男性拿在手里的武器的各个方向的图片
Npc.wil            游戏里NPC的图片
Npcface.wil       NPC的脸面图
object1~2c.wil  建筑物及一些NPC前杂物的图片
ProgUse.wil      在装备栏所看人物裸身图像及头发的图片 
SmObjectsc.wil  一些建筑物、树木、杂物的图片
SmTilesc.wil      地面上的小图片
Tiles30c.wil       城内地砖、草地、草池边的图片
Tiles5c.wil        大海、海与陆地交错地、陆地表面的图片
Tilesc.wil          同上    
Wallsc.wil         城墙的图片
WM-Hair.wil      女性头发图片
WM-Helmet1.wil   女性所戴头盔的各个方向的图片
WM-Hum.wil     女性的各种模型、动作图片(裸身、穿衣服、骑马、钩鱼)
WM-Weapon1~4.wil 女性拿在手里的武器的各个方向的图片

TA的作品 TA的主页
B Color Smilies

全部评论3

  • fair
    fair 2006-12-7 22:06:00
    第二讲:interfacec2.wil 并不能用gameinter.wil替代

    请看韩国源代码:
    m_pxInterImg->NewLoad(".\\Data\\gameinter.wil");
    m_xInterImgEx.NewLoad(".\\Data\\interfacec2.wil");

    显然是在加载了gameinter.wil之后再加载interfacec2.wil,不可以简单替换掉!

  • fair
    fair 2006-12-7 22:08:00
    第三讲:关于界面中文I/O问题的解决

    //韩文
    //HFONT CreateGameFont(LPCSTR szFontName, INT nHeight, INT nWidth = 0, INT nWeight = FW_NORMAL, BOOL bItalic = FALSE, BOOL bULine = FALSE, BOOL bStrikeOut = FALSE, DWORD dwCharSet = HANGEUL_CHARSET);

    //中文
    HFONT  CreateGameFont(LPCSTR szFontName, INT nHeight, INT nWidth = 0, INT nWeight = FW_NORMAL, BOOL bItalic = FALSE, BOOL bULine = FALSE, BOOL bStrikeOut = FALSE, DWORD dwCharSet = GB2312_CHARSET);

  • fair
    fair 2006-12-7 22:08:00
    第四讲:mir3 的wil文件格式破译

    下面是 Interface1c.wil 文件的16进制码,该文件14959571字节。

    0100494C49422076312E302D57454D414445000000008813D007000077572AC08002E001E8FFF0FF30E8FF6800C6500400000000005400C0008A01C1004E00010020006110E3204431453165316639A641C749C751C75186416539653944310321E320E320C220A218C318A2188210811082108210410820006110A21882106110611061106110611061106110611061106108410841084108410841084108410841082108400841084108610861104108200840084108610861084108200001002000200020002000200020002000200020006108C310C3102100C000A8005600C0008901C1005000010020004108A218C218C2180321453166398641A64186418641A749A749863965394531242924292429E320C320A318C318A2188110821082106110200041088218A21881106110611061106110611061106108610841.....

    文件结构源代码为:

    #pragma pack(1)

    typedef struct tagWILFILEHEADER
    {
    CHAR szTmp[40];
    INT nImageCount;
    }WILFILEHEADER, *LPWILFILEHEADER;

    typedef struct tagWILFILEIMAGEINFO
    {
    SHORT shWidth;
    SHORT shHeight;
    SHORT shPX;
    SHORT shPY;
    DWORD dwImageLength;
    }WILIMAGEINFO, *LPWILIMAGEINFO;

    typedef struct tagWIXFILEIMAGEINFO
    {
    CHAR szTmp[40];
    INT nIndexCount;
    INT* pnPosition;
    }WIXIMAGEINFO, *LPWIXIMAGEINFO;


    typedef struct tagNEWWILFILEHEADER
    {
    SHORT shComp;
    CHAR szTitle[20];
    SHORT shVer;
    INT nImageCount;
    }NEWWILFILEHEADER, *LPNEWWILFILEHEADER;

    typedef struct tagNEWWILFILEIMAGEINFO
    {
    SHORT shWidth;
    SHORT shHeight;
    SHORT shPX;
    SHORT shPY;
    CHAR bShadow;
    SHORT shShadowPX;
    SHORT shShadowPY;
    DWORD dwImageLength;
    }NEWWILIMAGEINFO, *LPNEWWILIMAGEINFO;
    typedef struct tagNEWWIXFILEIMAGEINFO
    {
    CHAR szTitle[20];
    INT nIndexCount;
    INT* pnPosition;
    }NEWWIXIMAGEINFO, *LPNEWWIXIMAGEINFO;

    注意#pragma pack(1)是为了确保存储结构与逻辑结构有同样的布局,这样我们才可以确信文件映像里的字节顺序与我们的设计相符合。

    有了上面的数据,数据结构和说明,应该很容易从上面的16制码中计算出Interface1c.wil 文件的长度正好是14959571字节,从而验证了网上流传 的mir2ex的源码正是光通现在运行的mir3的源码的稍早版本,c/c++版本的服务端也正是原传奇2的服务端,里面包含有大量的传奇早期版本的对照代码。

    类似方法可以分析出map wix 文件的结构。全都是吻合的。

    本人经过整整两个半月的日夜奋斗,现已经完成调试和改造,客户端可兼容盛大传奇与光通传奇,运行稳定流畅。

你可能喜欢

[转帖]mir3 源代码研究 
联系
我们
快速回复 返回顶部 返回列表