佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
楼主: 过来看看

为什么联系好好的汉化会出现这种结果,到底那方出了错~!

 关闭 [复制链接]
  • TA的每日心情
    开心
    2016-9-8 05:09
  • 签到天数: 986 天

    连续签到: 1 天

    [LV.10]圣龙

    1672

    回帖

    1万

    金币

    0

    精华

    4级 Famous Hero

    Rank: 4

    积分
    2590
    发表于 2008-4-1 18:40:37 | 显示全部楼层
    理解加支持

    该用户从未签到

    4992

    回帖

    3万

    金币

    7

    精华

    论坛嘉宾

    水神

    Rank: 9Rank: 9Rank: 9

    积分
    11234

    退役版主

    发表于 2008-4-1 22:40:52 | 显示全部楼层
    进来,顶起!!!
    期待!!!!

     成长值: 29485

  • TA的每日心情
    无聊
    2020-5-27 00:09
  • 签到天数: 24 天

    连续签到: 2 天

    [LV.4]狂狼人

    5772

    回帖

    2696万

    金币

    42

    精华

    管理员

    精灵奇侠

    Rank: 12Rank: 12Rank: 12

    积分
    9245129

    社区QQ达人论坛创始人杰出贡献论坛元老

    发表于 2008-4-1 22:58:39 | 显示全部楼层
    原帖由 earthling 于 2008-4-1 14:13 发表
    要汉化最难的就是全面支持中文显示,wog中的sod部分能显示中文了,其它就不是问题了!

    yunings,如果能拿来wog部分的源程序,我们通过分析这个程序,再比对英文版的sod和中文版的sod,我们自己应该可以把wog加到中 ...

    敢问兄,如果能拿来wog的源程序,实现汉化的可能性有多大?经历过数次失败,目前的我对汉化有点怵了。如果可能性不大,我就不再向Slava索取了。
  • TA的每日心情
    开心
    2021-4-13 20:27
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]野猪

    154

    回帖

    9152

    金币

    4

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    699

    论坛元老杰出贡献

    发表于 2008-4-2 11:55:46 | 显示全部楼层
    应该有比较大的可能,还看他们用什么语言,给不给注释等。到时可以发动坛里其他兄弟一起来,分工协作。我觉得这是唯一比较可行的路,靠自己比较靠得住。
    头像被屏蔽

    该用户从未签到

    11

    回帖

    2169

    金币

    0

    精华

    禁止发言

    积分
    98
    发表于 2008-4-2 15:51:06 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽

    该用户从未签到

    178

    回帖

    6800

    金币

    0

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    452
    发表于 2008-4-2 17:00:27 | 显示全部楼层
    原帖由 earthling 于 2008-4-1 14:13 发表
    要汉化最难的就是全面支持中文显示,wog中的sod部分能显示中文了,其它就不是问题了!

    yunings,如果能拿来wog部分的源程序,我们通过分析这个程序,再比对英文版的sod和中文版的sod,我们自己应该可以把wog加到中 ...


    如果真能这样的话,我也希望在汉化工作方面贡献力量。
    穿名牌不是帅,走路带风才是真正的帅!

    该用户从未签到

    906

    回帖

    9696

    金币

    2

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    4086

    退役版主

    发表于 2008-4-2 19:13:24 | 显示全部楼层
    既然WoG小组在没有SoD源代码的情况下就把WoG搞出来了,我想,或许我们能在没有中文SoD源代码的情况下搞出中文WoG。——不过这件事情真想搞的话一定要团结。

    问题是WoG小组究竟用什么方法搞出WoG的?SoD的原始程序在里面起多大的作用?如果能够搞清楚这个方法,问题就解决了,我想WoG源代码或许是有帮助的。写WoG的人显然水平不错,ERM语言搞得跟ARM汇编指令的设计理念很象。相信程序应该有可能搞懂。——事实上就算不可能的话,我们还有别的选择么?

    该用户从未签到

    178

    回帖

    6800

    金币

    0

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    452
    发表于 2008-4-3 08:09:38 | 显示全部楼层
    楼上的想法很好,不过[wiki]中国[/wiki]的那些编程高手,有时间来帮我们解决这个问题吗?
    穿名牌不是帅,走路带风才是真正的帅!

     成长值: 29485

  • TA的每日心情
    无聊
    2020-5-27 00:09
  • 签到天数: 24 天

    连续签到: 2 天

    [LV.4]狂狼人

    5772

    回帖

    2696万

    金币

    42

    精华

    管理员

    精灵奇侠

    Rank: 12Rank: 12Rank: 12

    积分
    9245129

    社区QQ达人论坛创始人杰出贡献论坛元老

    发表于 2008-4-3 10:51:39 | 显示全部楼层
    原帖由 earthling 于 2008-4-2 11:55 发表
    应该有比较大的可能,还看他们用什么语言,给不给注释等。到时可以发动坛里其他兄弟一起来,分工协作。我觉得这是唯一比较可行的路,靠自己比较靠得住。


    我已于今日上午向Slava发去索要wog源代码的请求信。请问兄,除了需要wog源代码外,是否还需要其他东西?

    另外,感谢玩家们的热心,不论如何,有你们的支持,我相信wog汉化会有一个完美的结果。附上给Slava他老人家的信件原文,回复后可见。
    游客,如果您要查看本帖隐藏内容请回复

    该用户从未签到

    161

    回帖

    8800

    金币

    0

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    357
    发表于 2008-4-3 12:48:32 | 显示全部楼层
    爬过……
    无数次在战斗中毁灭,又在毁灭中重生,我是女神座下的黄金骑士,将毁灭一切敢于对女神不敬者。。。。。。
  • TA的每日心情
    慵懒
    昨天 10:07
  • 签到天数: 1583 天

    连续签到: 4 天

    [LV.Master]伴坛终老

    1304

    回帖

    1万

    金币

    0

    精华

    7级 Admirable Legendary Hero

    Rank: 7Rank: 7Rank: 7

    积分
    25728
    发表于 2008-4-3 16:58:36 | 显示全部楼层
    支持一下

    该用户从未签到

    342

    回帖

    1万

    金币

    3

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    635
    发表于 2008-4-3 19:33:00 | 显示全部楼层

    回复 29# 的帖子

    呼,能要来源代码是最好不过了!这几天我尝试对其反汇编,看来没必要了。其实WOG可以用中文的SOD升级,而且升级后用死亡阴影进入去大部都还是中文,剧情之类还是中文。而用WOG进入,WOG也可正常运行。说明现在的WOG没汉化和SOD是无关的。问题还是出在WOG的主程序身上。中文的死亡阴影是调用IFC21.dll,而英文的SOD和WOG都是调用IFC20.dll.所以有源码的话,把调用IFC20.DLL的改成调用IFC21.dll.看来还是比较好汉化的。没有源码,而程序又加壳,资源又是用动态库调用的。要汉化困难是很大的。

    该用户从未签到

    13

    回帖

    8443

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    130
    发表于 2008-4-5 10:07:20 | 显示全部楼层
    yunings 管理大哥,看见你这么执着于汉化wog,我很感动!我是游侠网的版主,手下有一个工作组,编程高手还是有很多的。我也是很喜欢玩WOG的,再加上我原来曾经是游侠网魔法区的版主,所以我可以和上面通报下,期盼与贵论坛合作汉化这个游戏!嗯,还有,游家网也可以发动一起加入汉化,肉E我很熟悉的。我的QQ号是:4786254,期盼与你联系!

    [ 本帖最后由 jacklee 于 2008-4-5 10:18 编辑 ]
  • TA的每日心情
    开心
    2021-4-13 20:27
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]野猪

    154

    回帖

    9152

    金币

    4

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    699

    论坛元老杰出贡献

    发表于 2008-4-5 16:01:14 | 显示全部楼层
    原帖由 yunings 于 2008-4-3 10:51 发表


    我已于今日上午向Slava发去索要wog源代码的请求信。请问兄,除了需要wog源代码外,是否还需要其他东西?

    另外,感谢玩家们的热心,不论如何,有你们的支持,我相信wog汉化会有一个完美的结果。附上给Slava他老 ...



    wog要汉化关键是在h3wog.exe支持汉字显示,h3wog.exe是由英文版的heroes3.exe加上wog小组写的外壳合成的,他们把外壳程序加在文件末尾,然后修改pe头部,使得文件执行时先执行它们的外壳程序,再在必要的地方调用原始的(heroes3.exe)的代码,对heroes3.exe部分的代码改动不大,猜想改动部分应该只是返回外壳的指针和一些必要的接口点。因此只要拿到他们加上去的那部分(外壳)程序的源码,再加上源码的注释,就有希望把它改成适应中文heroes3.exe并加在中文heroes3.exe身上,做出中文版的h3wog.exe。要注释的目的是帮助我们快速读懂源码的意思(主要是各个跳转地址的意思),直接利用他们分析英文版heroes3.exe的成果,免得我们再去重走一遍他们走过的老路。
  • TA的每日心情
    开心
    2015-1-31 22:25
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    11

    回帖

    7927

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    54
    发表于 2008-4-5 18:00:34 | 显示全部楼层
    支持!!支持!!

     成长值: 29485

  • TA的每日心情
    无聊
    2020-5-27 00:09
  • 签到天数: 24 天

    连续签到: 2 天

    [LV.4]狂狼人

    5772

    回帖

    2696万

    金币

    42

    精华

    管理员

    精灵奇侠

    Rank: 12Rank: 12Rank: 12

    积分
    9245129

    社区QQ达人论坛创始人杰出贡献论坛元老

    发表于 2008-4-5 21:11:55 | 显示全部楼层
    抱歉,诸位,这两天实在抽不开身,刚刚上论坛,看到你们的回复,非常感谢,也非常感动!逐个回复一下比较重要的跟帖吧:

    原帖由 arongpan 于 2008-4-3 19:33 发表
    呼,能要来源代码是最好不过了!这几天我尝试对其反汇编,看来没必要了。其实WOG可以用中文的SOD升级,而且升级后用死亡阴影进入去大部都还是中文,剧情之类还是中文。而用WOG进入,WOG也可正常运行。说明现在的WOG没汉化和SOD是无关的。问题还是出在WOG的主程序身上。中文的死亡阴影是调用IFC21.dll,而英文的SOD和WOG都是调用IFC20.dll.所以有源码的话,把调用IFC20.DLL的改成调用IFC21.dll.看来还是比较好汉化的。没有源码,而程序又加壳,资源又是用动态库调用的。要汉化困难是很大的

    arongpan兄弟,看来你应该也是一个倒腾程序的高手,如果真能得到你的帮助,相信我们的汉化应该可以成功。不过,从我收到的Slava的来信来看,Slava并没有SoD的源代码,不知道这个会不会影响我们的汉化。

    原帖由 jacklee 于 2008-4-5 10:07 发表
    yunings 管理大哥,看见你这么执着于汉化wog,我很感动!我是游侠网的版主,手下有一个工作组,编程高手还是有很多的。我也是很喜欢玩WOG的,再加上我原来曾经是游侠网魔法区的版主,所以我可以和上面通报下,期盼与贵论坛合作汉化这个游戏!嗯,还有,游家网也可以发动一起加入汉化,肉E我很熟悉的。我的QQ号是:4786254,期盼与你联系!

    感谢 jacklee 兄弟的支持,已添加你的QQ,望早时合作。

    原帖由 earthling 于 2008-4-5 16:01 发表
    wog要汉化关键是在h3wog.exe支持汉字显示,h3wog.exe是由英文版的heroes3.exe加上wog小组写的外壳合成的,他们把外壳程序加在文件末尾,然后修改pe头部,使得文件执行时先执行它们的外壳程序,再在必要的地方调用原始的(heroes3.exe)的代码,对heroes3.exe部分的代码改动不大,猜想改动部分应该只是返回外壳的指针和一些必要的接口点。因此只要拿到他们加上去的那部分(外壳)程序的源码,再加上源码的注释,就有希望把它改成适应中文heroes3.exe并加在中文heroes3.exe身上,做出中文版的h3wog.exe。要注释的目的是帮助我们快速读懂源码的意思(主要是各个跳转地址的意思),直接利用他们分析英文版heroes3.exe的成果,免得我们再去重走一遍他们走过的老路。

    兄,我已经收到了Slava的回复。但是他老人家明显在怀疑我做这个事情的决心。全文如下:
    Well your request shows that you do not understand how unicode
    support works in Heroes 3.
    There are two ways to compile any C/C++ software. You can use ASCII
    (single byte) strings and unicode (multi byte) strings.
    Libraries that the software uses have two types of functions that
    has any string parameter or return a string. For example if I use in
    Windows API function CreateWindow (that creates a window and IS used
    in Heroes 3 executable) in reality there are two functions
    CreateWindowA (single byte string) and CreateWindowW (multi byte
    string). Compilator uses one of them and it depends your project
    settings.
    In SoD Heroes 3 executable there are a lot of such functions. As a
    result SoD with single byte support is quite different to SoD with
    multi byte support (you can see it yourself - compare file sizes and
    content).
    Now to WoG. WoG is being compiled is integrated to existing SoD
    executable (I have NO source code of SoD). This means that I found
    hundreds of addresses in single byte SoD executable and WoG uses them
    to add WoG code to SoD executable.
    Now to multibyte SoD. Since the executable is quite different (you
    can treat is as another software) ALL or almost all addresses that
    uses WoG are INCORRECT for multibyte SoD. This means that even if you
    have WoG source code you should find all fixed addreses that WoG uses
    your self. I spend a year or more to find them all. So are you ready
    to spend two years of your life for searching all adresses on daily
    bases.

    If you think that it is not a hard work, I put below a few arrays
    with addresses that WoG uses. But note this is not all, just a part.
    You need to find another address for every four bytes constants like
    0x683425 or 0x4FDF8B or so.


    当然,我是不懂怎么解答源代码,他也给出了一段源代码,兄和arongpan兄弟不妨看看,是否好读:
    1. Here are the arrays:
    2. =============================
    3. struct __Callers{
    4. long  where;
    5. long  forig;
    6. long  fnew;
    7. #ifdef DEBUG
    8. // DEBUG ??? ???????
    9. char *remember;
    10. #endif
    11. } Callers[]={
    12. // FindERMn = 0
    13. {0x4FDF8B,0x0,DP(FindERMn)},
    14. // FindERMl = 1
    15. {0x4FE577,0x0,DP(FindERMl)},
    16. // EventERM = 2
    17. //  {0x49F6F6,0x0,DP(EventERM)},
    18. {0x481061,0x0,DP(EventERM)},
    19. // GlobalEvent = 3 !!! ????????
    20. {0x4CD6AA,0x4CD3D0,DP(GlobalEvent)},
    21. // HeroCheck   = 4 !!! ????????
    22. {0x48098B,0x49CDD0,DP(HeroCheck)},
    23. // Save Game   = 5 !!! ????????
    24. {0x4BEB3B,0x4BDC40,DP(SaveGame)},
    25. // Load Game   = 6 !!! ???????? (??. ????? ????? ????????? ???????)
    26. {0x4BD908,0x4BDC40,DP(LoadGame)},
    27. // 4 Creatures = 7 !!! ????????
    28. {0x5D432C,0x4B0770,DP(Creature2Hire)},
    29. // Castle Service = 8 !!! ????????
    30. {0x4B0A74,0x4B0950,DP(ServiceManager)},
    31. // Castle Service = 9 !!! ????????
    32. {0x5BF43F,0x4305A0,DP(CastleServiceRedraw)},
    33. // New Game start loading = 10 !!! ????????
    34. {0x4FDCF0,0x4FDB40,DP(NewStartLoading)},
    35. // AI Start Building = 11 !!! ?????????
    36. {0x5BF7E4,0x5C1120,DP(AIBuild)},
    37. // ???????? ????. ????? = 12 !!! ?????????
    38. // ???? ???? ??? ???? ?????? ????
    39. {0x4E1F2A,0x5FF3A0,DP(SpecPicture)},
    40. // ????? ????. ????? = 13 !!! ?????????
    41. {0x4E1F4B,0x6179DE,DP(0)},
    42. // ???????? ????????? ????. ????? = 14 !!! ?????????
    43. {0x51DCE7,0x4EA800,DP(SpecPictureS)},
    44. // ???????? ? ?????????? ????? ????. ????? = 15 !!! ?????????
    45. {0x5828C6,0x575E20,DP(SpecPictureC)},
    46. // ??????? ?? ????????? ????. ?????. ????? = 16 !!! ?????????
    47. {0x587013,0x5813D0,DP(MapSetup)},
    48. // ???? ??????? - ??????? ?? ???????? (?????? Ok). = 17 !!! ?????????
    49. // ???? ???? ??? ???? ?????? ????
    50. {0x5869D1,0x58BFB0,DP(GameChoosen)},
    51. // ??????? ?? ????????? ?????? ??????? = 18 !!! ?????????
    52. {0x441991,0x4408E0,DP(MonsterKickBack)},

    53. // ???? ??????? - ??????? ?? ???????? (??????? ????). ????????? ???? = 17 !!! ?????????
    54. {0x587623,0,DP(GameChoosen)},
    55. // ?????? ? ??? ? ?????? ?????? ??? ????????? - ??????? ?? ????????.
    56. {0x58DF33,0,DP(NextHeroChoosen)},
    57. // Leave Creature
    58. {0x415AEE,0x4F6C00,DP(LeaveCreature)},
    59. // Castle Service
    60. {0x5D38AD,0x0,DP(CastleService)},
    61. {0x5D6B90,0x0,DP(CastleService2)},
    62. // FileLoader
    63. {0x47A6B3,0x0,DP(FileLoad)},
    64. // Game New/Load
    65. ////  {0x4C413E,0x0,(long)FileTypeN},
    66. ////  {0x4C5323,0x0,(long)FileTypeL},
    67. {0x5849C7,0x0,DP(CheckFileTypeN)},
    68. //  {0x5849C7,0x0,(long)CheckFileTypeL},
    69. //  {0x4C8101,0x0,DP(CalledDayly)},
    70. //  {0x4F0516,0x0,DP(CalledBeforeTurn1)},
    71. {0x4F04F6,0x0,DP(CalledBeforeTurn1New)},
    72. //  {0x4C75E6,0x0,DP(CalledBeforeTurn)},
    73. {0x4CC4AF,0x0,DP(CalledBeforeTurnNew)},
    74. {0x4CC4F8,0x0,DP(CalledBeforeTurnNew)},
    75. // after turn processing
    76. {0x409CDF,0x0,DP(CalledAfterTurn)},
    77. {0x4087A0,0x0,DP(CalledAfterTurn)},
    78. {0x408B84,0x0,DP(CalledAfterTurn)},
    79. {0x4CC404,0x0,DP(CalledAfterTurn)},
    80. {0x556B36,0x0,DP(CalledAfterTurn)},
    81. // Addition Speciality Picture
    82. {0x4E11E0,0x0,DP(NewSpecPrepare)}, // Prepare 1
    83. {0x4E1F38,0x0,DP(NewSpecShow)},    // Show 1,2
    84. {0x4DED05,0x0,DP(NewSpecPrepare2)}, // Prepare 2
    85. {0x4DDA15,0x0,DP(NewSpecDescr)}, // Text 1,2
    86. // ???????? ????. ????? ??? ??????? ???? ????????? ? 12
    87. {0x5AEC9F,0,DP(SpecPicture)},
    88. // ???????? ????? ??????? (AvWattak.def)
    89. //  {0x4118BF,0x0,DP(MonMapPicOn)},
    90. // ???????? ??????? ??????? (AvWattak.def)
    91. //  {0x4110C7,0x0,DP(MonMapPicOff)},
    92. // ????. ?????? ??????? ??? ????????.
    93. //  {0x43DA8E,0x0,DP(InitArmore)},
    94. // ????? ? ????? ?????? Gamer
    95. {0x4AA766,0,DP(Enter2Object)},
    96. // ????? ? ????? ?????? AI
    97. {0x4ACA04,0,DP(Enter2Object)},
    98. // ????? ?? ??????? ? ????
    99. {0x4813CA,0x4A7630,DP(Enter2Monster)},
    100. // ????? ?? ??????? ? ?????
    101. {0x4A9475,0x4A73B0,DP(Enter2Monster2)},
    102. // ?????????? ????? ?? ?????? ????? (?? ???????? ?? ??????????????)
    103. {0x4AAD53,0x4175E0,DP(MakeTownDefender)},
    104. // ??????????? ???????? ?? ??????
    105. {0x5D5297,0,DP(M2MStack)},
    106. {0x5D53B5,0,DP(M2MSmooth)},
    107. {0x5AF90A,0,DP(M2MSmooth)},
    108. {0x5AF841,0,DP(M2MSwap)},
    109. {0x4C6B98,0,DP(M2MDismiss)},
    110. // ????????? ????? ?? ???-?? ??????
    111. {0x49F195,0,DP(Get2Battle)},{0x4A09DC,0,DP(Get2Battle)},{0x4A0BF6,0,DP(Get2Battle)},
    112.   {0x4A1763,0,DP(Get2Battle)},{0x4A25A3,0,DP(Get2Battle)},{0x4A37C2,0,DP(Get2Battle)},
    113. {0x4A44F8,0,DP(Get2Battle)},{0x4A57D0,0,DP(Get2Battle)},{0x4A8D55,0,DP(Get2Battle)},
    114. {0x4AAFA1,0,DP(Get2Battle)},{0x4AB028,0,DP(Get2Battle)},{0x4ABBCB,0,DP(Get2Battle)},
    115. {0x4AC5EA,0,DP(Get2Battle)},{0x4ACC37,0,DP(Get2Battle)},
    116. // ???????? ??????????? ??????? ?? ????? ?????
    117. {0x473F6B,0,DP(Monster2Battle)},
    118. // ?????????? ????? ? ???? ??? ????????? ????
    119. {0x4761D8,0,DP(ShowMagicBookMouse)},
    120. // ????????? ???????? ?? ???? ??? ????? ??????
    121. {0x463BF6,0,DP(SetUpBeforeBattle)},
    122. // ???????? ?????? ???????
    123. {0x4430C8,0,DP(ReduceDefence)},
    124. {0x442234,0,DP(ReduceDefence)},
    125. {0x442387,0,DP(ReduceDefence)},
    126. {0x4427AF,0,DP(ReduceDefence)},
    127. {0x4438DD,0,DP(ReduceDefence)},
    128. {0x46D805,0,DP(ReduceDefence)},
    129. {0x5F37DE,0,DP(ReduceDefence)},
    130. // ????????????? ???????? ?? ?????? ??????
    131. {0x475A3D,0,DP(SetUpNewRound)},
    132. // ????????????? ???????? ?? ?????? ?????? ??? ???? (????????)
    133. {0x4795AE,0,DP(SetUpNewRoundOnce)},
    134. // ????? ????????
    135. {0x44571B,0,DP(DoNotFly)},
    136. // ?? ????????? ?????
    137. {0x5A6A5C,0,DP(NoMagic)},
    138. // ????? 1
    139. {0x464944,0,DP(Fear1)},
    140. {0x4649AA,0,DP(Fear2)},
    141. // ???????? ?? ????????
    142. //  {0x4650C5,0,DP(CheckForWrite)},
    143. // ???????? ?? ????-????
    144. {0x440245,0,DP(GDMagic)},
    145. // ???????? ?? ????? (????????)
    146. {0x446BD6,0,DP(IsTroll)},
    147. // ???????? ?? ??????? (????????)
    148. {0x46905A,0,DP(IsFireBird)},
    149. // ???????? ?? harpy (????? ?????)
    150. {0x47832B,0,DP(IsHarpy)},
    151. // ????? ?????? (?????. ? ??????)
    152. {0x4404A0,0,DP(MedusaMagic)},
    153. // ????? ???????? (?????????)
    154. {0x440337,0,DP(UnicornMagic)},
    155. // ??????? ?? ?????????? ?????? Message
    156. {0x4F6C0A,0,DP(Check4MessageEnable)},
    157. // ??????? ?? ?????? - ??? ?????? ????????
    158. {0x46723E,0,DP(ShooterPower)},
    159. // ???????? ?? ???????
    160. {0x44B00D,0,DP(IsDevil)},
    161. // ???????? ?? ???????
    162. {0x43D954,0,DP(IsDevil1)},
    163. {0x4B3736,0,DP(IsDevil1)},
    164. {0x4B301C,0,DP(IsDevil1)},
    165. // ???????? ?? ???????
    166. {0x44C049,0,DP(IsDevil2)},
    167. // ???????? ?? ??????
    168. {0x44ACF1,0,DP(IsAngel)},
    169. {0x44BA58,0,DP(IsAngel)},
    170. // ???????? ?? ??????
    171. {0x44BA6F,0,DP(IsAngel1)},
    172. // ???????? ?? ?????????? ?????
    173. {0x4C4143,0,DP(LoadProtected)},
    174. // ????????? ?????????
    175. {0x40B151,0,DP(HintControl0)},
    176. {0x40D0EF,0,DP(HintControl)},
    177. {0x40992B,0,DP(HintWindow)},
    178. // ?????? ????-??
    179. {0x4C8466,0,DP(WeekOf)},
    180. {0x4C8C1E,0,DP(MonthOf)},
    181. {0x4C8C65,0,DP(MonthOf2)},
    182. // ???????? ??????? ????????
    183. //  {0x41ABF4,0,DP(NoRestart)},
    184. // ?????????? ??? ????? ????? ?? ????????
    185. {0x45B3E1,0,DP(GameChoosen2)},
    186. // ???????? ????? ?????
    187. {0x43FEE3,0,DP(TowerShot)},
    188. // introduction
    189. {0x45E3E6,0,DP(ShowIntro)},
    190. {0x471574,0,DP(ShowIntro)},
    191. {0x488B4E,0,DP(ShowIntro)},
    192. {0x4EE86A,0,DP(ShowIntro)},
    193. {0x4EE95F,0,DP(ShowIntro)},
    194. {0x4EEF02,0,DP(ShowIntro)},
    195. {0x4F013D,0,DP(ShowIntro)},
    196. {0x4F022B,0,DP(ShowIntro)},
    197. {0x4F0823,0,DP(ShowIntro)},
    198. {0x4F08CC,0,DP(ShowIntro)},
    199. {0x4F097A,0,DP(ShowIntro)},
    200. {0x4F09EA,0,DP(ShowIntro)},
    201. {0x4F488B,0,DP(ShowIntro)},
    202. {0x5D81AC,0,DP(ShowIntro)},
    203. {0x5D823C,0,DP(ShowIntro)},

    204. // ?????? ????????
    205. {0x4EF457,0,DP(TutorialGame)},
    206. // ??????? ????????
    207. {0x4EF846,0,DP(GameChoosen3)},
    208. // +1 ??????? ??? ?????
    209. {0x4DAB55,0,DP(GainLevel)},
    210. {0x4DABBD,0,DP(GainLevelSSkill)},
    211. {0x4DABD3,0,DP(GainLevelSSkill)},
    212. {0x4DAC00,0,DP(GainLevelSSkill)},
    213. {0x4DAC16,0,DP(GainLevelSSkill)},
    214. //  {0x46713A,0,DP(ThroughWall)},
    215. {0x46711A,0,DP(ThroughWall)},
    216. {0x4DD82F,0,DP(MakeQuestLog)},
    217. {0x4DB68C,0,DP(ArtifacsDescription)},
    218. // ??????? ???? ???????
    219. {0x462916,0,DP(NoMoreTactic)},
    220. {0x474B8F,0,DP(NoMoreTactic1)},
    221. {0x4758C9,0,DP(NoMoreTactic1)},
    222. // ???? ????????? ??????
    223. {0x47602C,0,DP(Check4Fairy)},
    224. // ???? ????? ???? ???????
    225. {0x44836D,0,DP(FairyPower)},
    226. // ???????????? ?????????? ??????
    227. {0x4C8795,0,DP(WeeklyDwellingGrow)},
    228. // ??????? ???????
    229. {0x4DE66D,0,DP(ERMDebug)},
    230. // ????? ?????? ????
    231. {0x4FBFFE,0,DP(ShowVersion)},

    232. // ??????? ????????
    233. {0x4E810B,0,DP(FOH_UpgradeTo)},
    234. {0x469B66,0,DP(FOH_UpgradeTo)},
    235. {0x47AA1F,0,DP(FOH_UpgradeTo)},
    236. {0x4A729F,0,DP(FOH_UpgradeTo)},
    237. {0x4AC4A1,0,DP(FOH_UpgradeTo)},
    238. {0x4C6A13,0,DP(FOH_UpgradeTo)},
    239. {0x4C6A69,0,DP(FOH_UpgradeTo)},
    240. {0x4C6A9F,0,DP(FOH_UpgradeTo)},
    241. {0x4E4EA6,0,DP(FOH_UpgradeTo)},
    242. {0x4E64FA,0,DP(FOH_UpgradeTo)},
    243. {0x4E86B5,0,DP(FOH_UpgradeTo)},
    244. {0x5280E9,0,DP(FOH_UpgradeTo)},
    245. {0x529C1B,0,DP(FOH_UpgradeTo)},
    246. {0x4E807B,0,DP(FOH_CanBeUpgraded)},
    247. {0x47A9E3,0,DP(FOH_CanBeUpgraded)},
    248. {0x4AC445,0,DP(FOH_CanBeUpgraded)},
    249. {0x4E8300,0,DP(FOH_CanBeUpgraded)},
    250. {0x4E867A,0,DP(FOH_CanBeUpgraded)},
    251. // ??????? ??????? ????
    252. {0x409389,0,DP(DropGame1)},
    253. {0x409314,0,DP(DropGame2)},
    254. {0x5B397E,0,DP(DropGame3)},
    255. {0x4F0568,0,DP(DropGame4)},
    256. // ??????????? ???? ?????
    257. {0x4627BC,0,DP(PrepareBF)},
    258. {0x49389F,0,DP(NoCliff)},
    259. {0x46382E,0,DP(SetBFBack)},
    260. // ?????? ?????????? ???? ?????
    261. {0x462C19,0,DP(AppearWithoutTacktic)},
    262. // ????? ????? ?? ?????
    263. {0x408955,0,DP(MouseClick)},
    264. // ????? ????? ?? ? ??????
    265. {0x5D3867,0,DP(MouseClickTown)},
    266. // ???? ? ????? ? Town Hall 3.58 !?TH0 !?TH1
    267. {0x5D3968,0,DP(EnterTownHall)},
    268. // AI ?????? ????? ??????? ??? ???
    269. {0x52969F,0,DP(AIthinkAboutRes)},
    270. // MP3 ?????
    271. {0x59AC51,0,DP(MP3Start)}, //
    272. // AI ???? ??????
    273. {0x42E12E,0,DP(AIMapGoal)}, //
    274. // ??????????? ?????????? ??? ?? ???????? ?? ????? ? ????
    275. {0x50D0FA,0,DP(ArtMove1)}, //
    276. {0x50D103,0,DP(ArtMove2)}, //
    277. // NPC
    278. {0x4DA9B6,0,DP(NPC_AddExpo)}, //
    279. {0x46359E,0,DP(PlaceNPC2)}, //
    280. //  {0x4DD981,0,DP(NPC_ShowInfo)}, //
    281. // Creature Magic Resistance
    282. //  {0x423E35,0,DP(MagicResist)}, // * [esi+4]
    283. //  {0x424A56,0,DP(MagicResist)}, // ** Chain Lighting [esi+edi+4]
    284. //  {0x424B62,0,DP(MagicResist)}, // Chain Lighting [esi+edi+4]
    285. //  {0x424C9C,0,DP(MagicResist)}, // **? [esi+edi+4]
    286. //  {0x424DD6,0,DP(MagicResist)}, // * [esi+4]
    287. //  {0x424EFA,0,DP(MagicResist)}, // **? [esi+4]
    288. //  {0x42504E,0,DP(MagicResist)}, // ? [esi+4]
    289. //  {0x4251B0,0,DP(MagicResist)}, // ? [esi+edi+4]
    290. //  {0x4252E4,0,DP(MagicResist)}, // * [ebx+4]
    291. //  {0x425496,0,DP(MagicResist)}, // * [esi+4]
    292. // edi -> Mon ?????? ??? ????? ????? ??????!!!!!
    293. {0x5A7C3B,0,DP(MagicResist)}, // + Any (esi=edx) [edi+x34] ->Mon
    294. // ??????? ??????????? ????????
    295. {0x4405CA,0,DP(ParalizeChance)}, //
    296. // Death Stare
    297. //  {0x440C00,0,DP(Random4DeathStare)}, //
    298. {0x440BF6,0,DP(Random4DeathStare)}, //
    299. {0x440C40,0,DP(DeathStarePost)}, //
    300. // Champion
    301. {0x44306D,0,DP(IsChampion)}, //
    302. // ??????? ????? ????? ????????
    303. {0x5A1C7B,0,DP(CastHeroOrCreature)}, //
    304. // ??????? ?????
    305. {0x47851C,0,DP(FirstAidTentHealths)}, //
    306. // ???????? ??? ????????
    307. {0x474589,0,DP(BalistaControl)}, //
    308. // ????? ?????? ? ?????? ????????????? ?????
    309. {0x4DD632,0,DP(ClickNPC)}, //
    310. // ???? ?????? ?? ???? ????? ?? ??????
    311. {0x47265C,0,DP(ChooseMonAttack)}, //
    312. // ????????? ?????????? ?????? ?? ????????? ?????
    313. {0x5F8602,0,DP(ShowSmallSymbol)}, //
    314. // ???? ?????? ??? ??????? ??????
    315. {0x5B02DD,0,DP(MouseClick2Hero)}, //
    316. // ?????????????? ?????????? ???????
    317. {0x4E3879,0,DP(AddMithrillAuto)}, //
    318. // ???? ?????? ?? ???? ?????
    319. {0x4746E8,0,DP(MouseClickBattle)}, //
    320. // ????????? ??????? ? LE
    321. {0x49F7BD,0,DP(EventPrepareMithril)}, //
    322. {0x49FDE4,0,DP(EventMakeUpMithril)}, //
    323. // ??????? ????????
    324. {0x4E2CC1,0,DP(ArtifactOn)}, //
    325. // ??????? ????????
    326. {0x4E2F60,0,DP(ArtifactOff)}, //
    327. // ?????? AI ?? ???????? ????? ??????????
    328. {0x433A1A,0,DP(ArtAIAnal)}, //
    329. {0x433A60,0,DP(ArtAIAnal)}, //
    330. {0x433DE1,0,DP(ArtAIAnal)}, //
    331. {0x525639,0,DP(ArtAIAnal)}, //
    332. {0x5261AD,0,DP(ArtAIAnal)}, //
    333. {0x52AE2A,0,DP(ArtAIAnal)}, //
    334. // ????? ??????? ????????? ????
    335. {0x588478,0,DP(CallWoGSetup)}, //
    336. // ????? ??? ????????? ?? ?? ????? ??? ?????
    337. {0x42DC72,0,DP(AIattackNPConly)}, //
    338. // ?? ??????????? ????? ? ?????? ? ????? NPC ??? ?????
    339. {0x5BE41C,0,DP(NPCOnlyInCastle)}, //
    340. {0x4AADD1,0,DP(NPCOnlyInCastle2)}, //

    341. // ???????? ???? ????? ?????? ?? ????
    342. {0x512FD2,0,DP(Send2Defender)}, // 1005
    343. {0x4ACB5A,0,DP(Receive4Attacker)}, //
    344. {0x5575E3,0,DP(Receive4Attacker)}, //
    345. // ???????? ???? ????? ????? ?? ????
    346. {0x4AE0C3,0,DP(Send4Defender)}, // 1011
    347. //  {0x512FD2,0,DP(Send4Defender)}, // 3.58 MP fix
    348. {0x557046,0,DP(Receive4DefenderAfter)}, //
    349. // ???????? ???? ????? ????? ?? ???? ???? ?? ???????? ????????
    350. {0x557514,0,DP(Receive4DefenderAfter2)}, //

    351. // ?????????? DIFF ????? ????? ????????? WoG ???????????
    352. {0x4CAE51,0,DP(BuildAllDiff)}, //
    353. // ?????? ?????? ? 0 ??????????? ??? ?????
    354. {0x6067E2,0,DP(GZOpen)}, //
    355. {0x4D6FCC,0,DP(GZClose)}, //
    356. {0x4D700D,0,DP(GZWrite)}, //
    357. // ?????? ???? ?? ??????? ?? ????? - ???? ? ???
    358. {0x40A781,0,DP(RightClickAtMonster)}, //
    359. // ????? ???????? ????????????? ????? ? ?? ????????????? ?????? ??????
    360. {0x5570C1,0,DP(FixHeroSecScillsShow)}, //

    361. // ????? ????? ??? ????? (??????? ???????/????????)
    362. {0x5F5545,0,DP(ShowExpo)}, //
    363. // ????? ????? ??? ????? (??????? ??????? ? ?????? ?????)
    364. {0x5BC9B1,0,DP(ShowNumberMid)}, //

    365. // ????? ????? ??? ??????? ??????????? ?????? ? ??????
    366. {0x4493EB,0,DP(ShowHint)}, //
    367. {0x449FCC,0,DP(ShowHint)}, //
    368. {0x44A0EE,0,DP(ShowHint1)}, //
    369. // 3.58
    370. // Carry Over Hero Setup
    371. {0x4860F9,0,DP(CarryOverHero)}, //
    372. // ??????? ??????????? ???? ? ????? ??????
    373. {0x492E4F,0,DP(MouseMoveBattle)}, //
    374. // ?????? ?????
    375. {0x59A893,0,DP(SoundManager)}, //
    376. // ?????? ???????? ????? ?? ????? ? ??????
    377. {0x5D4612,0,DP(MouseOverTown)}, //
    378. // ?????????? ????? ?? ????? ???????????
    379. {0x409EC4,0,DP(AdvMagicManager)}, //
    380. // ?????????? ????? ?? ????? ??????????? (?????????)
    381. {0x41C532,0,DP(AdvMagicManagerSkill)}, //
    382. // ?????? ???? ????? ???? Dwarf
    383. {0x5A88F0,0,DP(MagicDwarfResistance3)}, //
    384. //  {0x5A0605,0,DP(MagicDwarfResistance)}, //
    385. //  {0x5A4D6F,0,DP(MagicDwarfResistance)}, // ??? ?????? ?? ???????
    386. // does not work properly :-(
    387. //  {0x5A658D,0,DP(MagicDwarfResistance)}, // ??? ???? ????? ? ?????? ??????
    388. //  {0x5A4F49,0,DP(MagicDwarfResistance2)}, // ??? ??????????
    389. // ??????????? ??????? ???????, ? ?? ????????.
    390. {0x4A6ADD,0,DP(E2MWoMoNoBattle)}, //
    391. // ????? ???? ????? ?? ?????
    392. {0x408994,0,DP(MouseClick2)}, //
    393. {0x4089AB,0,DP(MouseClick3)}, //
    394. // Blocking Monster ability
    395. {0x43F95B,0,DP(ApplyDamage)}, //
    396. {0x43FA5E,0,DP(ApplyDamage)}, //
    397. {0x43FD3D,0,DP(ApplyDamage)}, //
    398. {0x4400DF,0,DP(ApplyDamage)}, //
    399. {0x440858,0,DP(ApplyDamage)}, //
    400. {0x440E70,0,DP(ApplyDamage)}, //
    401. {0x441048,0,DP(ApplyDamage)}, //
    402. {0x44124C,0,DP(ApplyDamage)}, //
    403. {0x441739,0,DP(ApplyDamage)}, //
    404. {0x44178A,0,DP(ApplyDamage)}, //
    405. {0x46595F,0,DP(ApplyDamage)}, //
    406. {0x469A93,0,DP(ApplyDamage)}, //
    407. {0x5A1065,0,DP(ApplyDamage)}, // quick battle
    408. // Post instructions call
    409. {0x4C01A2,0x0,DP(PostInstrCall)},
    410. // ??????? ?????? ? ??????
    411. {0x5D520D,0x0,DP(M2MCombine)},
    412. // Add Town garrizon in a Hero's army
    413. {0x4B9CE0,0x0,DP(M2MHero2Town)},
    414. // ????? ????? ? ??????? ???? ? ???????
    415. // 5F3700 (????? 4684F0) - ?????
    416. // 5F3EF0 (????? 4C6B56) - ??????
    417. // 5F45B0 (??????? ?????) - ? ??????? - ?? ????
    418. {0x4C6B56 /*5F3EF0*/,0x0,DP(ShowExpoPrep)},
    419. {0x4684F0 /*5F3700*/,0x0,DP(ShowExpoPrepBattle)},
    420. {0x4E8892 /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
    421. {0x5513B3 /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
    422. {0x551460 /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
    423. {0x55150E /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
    424. {0x5515B4 /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
    425. {0x5655AE /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
    426. {0x566916 /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
    427. //  {0x /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},

    428. // ??????? ???????? ???????? ?? ?????? ????? ? ??????
    429. {0x4DDDE2,0x0,DP(SmoothPassInternalFun)},
    430. {0x5AF90A,0x0,DP(SmoothPassInternalFun)},
    431. {0x5D53B5,0x0,DP(SmoothPassInternalFun)},
    432. // ??????? ?????? ?????? ?????? ?????
    433. {0x4DDD77,0x0,DP(MoveStackInHeroArmy)}, // *
    434. {0x4DDDC3,0x0,DP(MoveStackInHeroArmy2)}, // *
    435. // ????? ??????? ?? ????? ?????
    436. //  {0x5F4E84,0x0,DP(ExpDetailedInfo)}, // *
    437. {0x5F4C63,0x0,DP(ExpDetailedInfo)}, // *
    438. //  {0x5F522D,0x0,DP(ExpDetailedInfo)}, // *
    439. // ??????? ????? ???????? ?? ?????
    440. {0x4E86E3,0x0,DP(UpgrHill)}, // *
    441. // ??????? ????? ???????? ? ?????? ???????
    442. {0x4C6BD6,0x0,DP(UpgrInd)}, // *
    443. // ???????? ???? ???????? ?????
    444. {0x4E5572,0x0,DP(CheckSpellCostReduction)}, // *
    445. // ??????????? ?????? ?????? ??? ?????? ??????
    446. {0x4790C3,0x0,DP(DefenseBonus)}, // *
    447. // ??????????? ?????? DeathBlow
    448. {0x4435A3,0x0,DP(DeathBlow)}, // *
    449. // ??????????? ?????? ?????? ?????? ??????????? ???????
    450. {0x443198,0x0,DP(PersonalHate)}, // *
    451. // ?????? ????????? ? ????????????
    452. {0x402334,0x0,DP(CheatEnabled)}, // *
    453. // ?????? ?????? ??? ????
    454. {0x4F8710,0x0,DP(ParseCheatMenuCommand)}, // *
    455. // SoD ????. ????????? ???????? ?????? ??? ???? ?????
    456. {0x4D8F1D,0x0,DP(SetUpRandomCreatures)}, // *
    457. // WoG Cheats
    458. {0x4024AC,0x0,DP(CheckCheat)}, // *
    459. {0x4024F1,0x0,DP(CheckCheat)}, // *
    460. {0x402536,0x0,DP(CheckCheat)}, // *
    461. {0x4025D5,0x0,DP(CheckCheat)}, // *
    462. {0x40260B,0x0,DP(CheckCheat)}, // *
    463. {0x402636,0x0,DP(CheckCheat)}, // *
    464. {0x402675,0x0,DP(CheckCheat)}, // *
    465. {0x4026A0,0x0,DP(CheckCheat)}, // *
    466. {0x4026D1,0x0,DP(CheckCheat)}, // *
    467. {0x40272F,0x0,DP(CheckCheat)}, // *
    468. {0x4027AC,0x0,DP(CheckCheat)}, // *
    469. {0x402811,0x0,DP(CheckCheat)}, // *
    470. {0x402898,0x0,DP(CheckCheat)}, // *
    471. {0x4028BA,0x0,DP(CheckCheat)}, // *
    472. {0x402927,0x0,DP(CheckCheat)}, // *
    473. {0x402953,0x0,DP(CheckCheat)}, // *
    474. {0x471BA9,0x0,DP(CheckCheat)}, // *
    475. {0x471BD8,0x0,DP(CheckCheat)}, // *
    476. {0x471C09,0x0,DP(CheckCheat)}, // *
    477. // ??????? ????? ????? ?????
    478. //  {0x4412AE,0x0,DP(CastPostAttackSpell)}, // *
    479. // ???????? - ?????????? ?????? ??????
    480. {0x43DDCE,0x0,DP(MinotourMoral)}, // *
    481. // ???????? ???? ???? ????????? ?????
    482. {0x442686,0x0,DP(ShootAnyTime)}, // *
    483. {0x44587A,0x0,DP(ShootAnyTime)}, // *
    484. {0x467231,0x0,DP(ShootAnyTime2)}, // *
    485. // unicorn - ?????????? ????
    486. {0x43E800,0x0,DP(UnicornAura)}, // *
    487. {0x43E8AE,0x0,DP(UnicornAura2)}, // *
    488. // ????????? ?????? ?????????????? ????? ???????????
    489. {0x4EF3A0,0x0,DP(GoToNewGameScreen)}, // *
    490. // ????????????? ???? ????? Dispel
    491. {0x5A8454+8,0x0,DP(DispellResist)}, // *
    492. {0x5A84DF+8,0x0,DP(DispellResist)}, // *
    493. /*
    494. {0x5A1971,0x0,DP(SpecMagicResiatance)}, // *
    495. //...
    496. {0x041FAA0+0x01D3,0x0,DP(SpecMagicResiatance)}, // *
    497. {0x0436A80+0x0065,0x0,DP(SpecMagicResiatance)}, // *
    498. {0x0437F10+0x010D,0x0,DP(SpecMagicResiatance)}, // *
    499. {0x0438660+0x0092,0x0,DP(SpecMagicResiatance)}, // *
    500. {0x0438A10+0x00ED,0x0,DP(SpecMagicResiatance)}, // *
    501. {0x0438BB0+0x00DF,0x0,DP(SpecMagicResiatance)}, // *
    502. {0x0438D50+0x014E,0x0,DP(SpecMagicResiatance)}, // *
    503. {0x0438EC0+0x0269,0x0,DP(SpecMagicResiatance)}, // *
    504. {0x0439330+0x01BF,0x0,DP(SpecMagicResiatance)}, // *
    505. {0x043AFC0+0x0167,0x0,DP(SpecMagicResiatance)}, // *
    506. {0x043B150+0x0158,0x0,DP(SpecMagicResiatance)}, // *
    507. {0x059FBB0+0x00C3,0x0,DP(SpecMagicResiatance)}, // *
    508. {0x059FE50+0x0088,0x0,DP(SpecMagicResiatance)}, // *
    509. {0x059FFE0+0x0065,0x0,DP(SpecMagicResiatance)}, // *
    510. {0x05A0140+0x04BA,0x0,DP(SpecMagicResiatance)}, // *
    511. {0x05A0140+0x0EB6,0x0,DP(SpecMagicResiatance)}, // *
    512. {0x05A0140+0x10B3,0x0,DP(SpecMagicResiatance)}, // *
    513. {0x05A0140+0x1A57,0x0,DP(SpecMagicResiatance)}, // *
    514. {0x05A0140+0x1FA4,0x0,DP(SpecMagicResiatance)}, // *
    515. {0x05A3CD0+0x0063,0x0,DP(SpecMagicResiatance)}, // *
    516. {0x05A3F90+0x0019,0x0,DP(SpecMagicResiatance)}, // *
    517. {0x05A3FD0+0x0087,0x0,DP(SpecMagicResiatance)}, // *
    518. {0x05A3FD0+0x0142,0x0,DP(SpecMagicResiatance)}, // *
    519. {0x05A4260+0x0085,0x0,DP(SpecMagicResiatance)}, // *
    520. {0x05A4260+0x013E,0x0,DP(SpecMagicResiatance)}, // *
    521. {0x05A4C80+0x00E4,0x0,DP(SpecMagicResiatance)}, // *
    522. {0x05A4ED0+0x006E,0x0,DP(SpecMagicResiatance)}, // *
    523. {0x05A6500+0x0082,0x0,DP(SpecMagicResiatance)}, // *
    524. {0x05A6500+0x00A9,0x0,DP(SpecMagicResiatance)}, // *
    525. {0x05A69E0+0x0060,0x0,DP(SpecMagicResiatance)}, // *
    526. {0x05A8950+0x001A,0x0,DP(SpecMagicResiatance)}, // *
    527. */
    528. // ???? ?? ???????? ?? ????? ??????????/?????????? ???????
    529. {0x462847,0x0,DP(HeroTacticFix)}, // *
    530. // ???? ???????????? ???????? ?????????? ????? 127 (??????? ???????? ???????) SoD bug
    531. {0x4C970F,0x0,DP(WrongRelictPictureFix)}, // *
    532. // ?????? ?? ????? ???? ???????
    533. {0x50CEAA,0x0,DP(DisableMouse)}, // *
    534. // ?????? ???? ????? ????????? (????? ??????? ??????????? !!!!)
    535. {0x5A87AD,0x0,DP(IsAngel3)}, // *
    536. // ????? ???? ? ????? ?? ???? ??? ?? ?????? ?????? ? ??????? ?? - ?????
    537. // ??????????? ???????? ??????? ? ??????, ???? ??????? ??? - ?????
    538. // ???? ??????? ??? ?????? ??? ??????? ?????????? ??? ??????????? ??????
    539. {0x619BB1,0x0,DP(MyStatMemCheck)}, // *
    540. // ?????? ????? ?? ????? ????? ?????
    541. {0x441C79,0x0,DP(ResetSpell)}, // *
    542. // ???? ????? ????? - ?????? ????
    543. {0x441AE5,0x0,DP(MonsterStrikeFirst)}, // *
    544. // ???? ????? ????? - ???????? ????
    545. {0x441B5D,0x0,DP(MonsterStrikeBack)}, // *
    546. // ???? ????? ????? - ?????? ???? (double strike)
    547. {0x441BFC,0x0,DP(MonsterStrikeSecond)}, // *
    548. // fix Win98 quit crash
    549. {0x4F84F4,0x0,DP(FixQuit98Crash)}, // *
    550. // new WoG 3.58 art - shield (retailate)
    551. {0x441AFF,0x0,DP(HasArt157)}, // *
    552. // new WoG 3.58 art - axe (+1strike)
    553. {0x441C01,0x0,DP(HasArt158)}, // *
    554. // fix No default Bio if a name set but bio not
    555. //  {0x4DD97E,0x0,DP(FixBioBug)}, // *
    556. // Dracolish 100% poison
    557. //  {0x440559,0x0,DP(DracolishRandom)}, // *
    558. // Dragon Heart Art - summon dragons
    559. {0x464FC1,0x0,DP(Check4DragonHeartArt)}, // *
    560. // Cast Animate Dead without a Hero at level 0
    561. //  {0x5A87D5,0x0,DP(NonHeroNPCAnimDeadCast)}, // *
    562. // Dracolish (Power Lich shoot)
    563. {0x43FA1F,0x0,DP(DracolichShoot)}, // *
    564. {0x41ED5F,0x0,DP(DracolichShoot)}, // *
    565. // Swap AI stacks before battle
    566. //  {0x4ADFAD,0x0,DP(SwapAIStacks)}, // *
    567. {0x4ADF80,0x0,DP(DisableAIStackSwitching)}, // *
    568. {0x4ADFA8,0x0,DP(DisableAIStackSwitching)}, // *
    569. // Shooting Animation for spec units (type of shoot in the table 0)
    570. {0x43DAAA,0x0,DP(LoadShootingDef)}, // *
    571. // ?????????? ???????????? ??????
    572. {0x506130,0x0,DP(AdjustSquarePassability)}, // *
    573. // ??????? ???? ? ???? ?????? ?? ???? - ??????? (3.58)
    574. //  {0x4AAB83,0x0,DP(Send358_1)}, // *
    575. // ????? ???? ? ???? ?????? ?? ???? - ??????? (3.58)
    576. //  {0x40624D,0x0,DP(Receive358_1)}, // *
    577. {0x5D4E9F,0x0,DP(SoDFix_SpaceInAlliedTown)}, // *
    578. // ????? ??????????? ?? ???????? ??? ???????-?????
    579. {0x5A7579,0x0,DP(FixSummonElementalNoHero)}, // *
    580. // ????? ??????????? ?? ???????? ??? ???????-?????
    581. {0x5A8D56,0x0,DP(FixDeathRippleNoHero)}, // *
    582. // ?????? ?????? ??????????
    583. {0x4E5362,0x0,DP(FixNoHero4SpellLevelCalc)}, // *
    584. {0x4E552B,0x0,DP(FixNoHero4SpellLevelCalc)}, // *
    585. {0x4E57EA,0x0,DP(FixNoHero4SpellLevelCalc)}, // *
    586. {0x4E58B9,0x0,DP(FixNoHero4SpellLevelCalc)}, // *
    587. // ?????? ?????? ?????????? 2
    588. {0x5A86AF,0x0,DP(FixNoHero4SpellPower)}, // *
    589. // ?????????? ????? ???? ???????? ? ???? Kingdom Overview
    590. {0x520DB3,0x0,DP(FixWrongDwIndKingdomOverview)}, // *
    591. // ???? ??????? ???????????? ??????????, ???? ??? ?????
    592. {0x425C53,0x0,DP(FixNoHero4SpellDuration)}, // *
    593. {0x43C53C,0x0,DP(FixNoHero4SpellDuration)}, // *
    594. {0x5272AF,0x0,DP(FixNoHero4SpellDuration)}, // *
    595. {0x5A03CC,0x0,DP(FixNoHero4SpellDuration)}, // *
    596. {0x5A71A1,0x0,DP(FixNoHero4SpellDuration)}, // *
    597. // ????? ???? ? ????? ?? ???? ??? ?? ?????? ?????? ? ??????? ??
    598. {0x476445,0x0,DP(FixShowBFPopUpMonInfo)}, // *
    599. // ??????? ????
    600. //  {0x51BD60,0x0,DP(NetworkMessageParse)}, // *
    601. {0x5A0FF6,0x0,DP(DeathRippleResist)}, // *
    602. // ???? ???????????? ????????? ??? ?????????? ? ??????? ? ArtMerchant
    603. {0x5EEBC5,0x0,DP(SoDArtMenchHintFix)}, // *
    604. // ?? ???????? ?????? ???, ???? ????????? ?? ????????
    605. {0x43FF7E,0x0,DP(FixShootTwiceOneShot)}, // *
    606. // ???? ????????? ????? ??? ??????? ??? ????? ? ?????
    607. {0x5C71D5,0x0,DP(TownWrongExpoFix)}, // *
    608. // ?????? ????? ????? ?? ??????????
    609. {0x5A875B,0x0,DP(NoClone4CommandersFix)}, // *
    610. // ????? ??????? ?? ???? ?? ????? ?????
    611. {0x473E1C,0x0,DP(ReceiveNetBFCommand)}, // *
    612. // ????? ??????? ?? ???? ?? ????? ?????.
    613. {0x557E06,0x0,DP(ReceiveNetAMCommand)}, // *
    614. // 3.58f ?????? ?????? ????? ?? GR ??? ???????? ?? ????. ?????
    615. {0x486245,0x0,DP(CrossOverGodBonus)}, // *
    616. // ??????? ????? ? ???????? ?????? ??? ?????
    617. {0x4AAFCB,0x0,DP(M2MHero2Town2)}, // 3.58f Human autoaranging
    618. {0x525896,0x0,DP(M2MHero2Town2)}, // 3.58f AI ???
    619. {0x43DA74,0x0,DP(LoadShootingDef4Commanders)}, // 3.58f Fix "no Commander shooting animation loaded"
    620. {0x5D4643,0x0,DP(FixWrongTownListInfo)}, // 3.58f Fix "wrong town info in town list MP"

    621. // 3.59
    622. {0x4EDCC5,0x0,DP(MPProcessTimeAndRemind)}, // show time on the screen every second
    623. // Fix Time does not count until new player start turn
    624. {0x419EA8,0x0,DP(MPStartTimerFix)},
    625. // Load Game - ????????? ???????
    626. {0x58C6E9,0x588600,DP(LoadGameSetUpPlayers)},
    627. // show WoG creatures in animated waiting dialogs
    628. {0x589190,0x0,DP(ChooseCrToAnimDlg)},
    629. {0x589259,0x0,DP(ChooseCrToAnimDlg)},
    630. {0x55543B,0x0,DP(ChooseCrToAnimDlg)},
    631. {0x556FAF,0x0,DP(ChooseCrToAnimDlg)},
    632. {0x557493,0x0,DP(ChooseCrToAnimDlg)},
    633. // new town support
    634. {0x4CE132,0x0,DP(AdjustNewTownStructures)}, // setup all town structures at EXE start

    635. {0x4472F8,0x0,DP(CastMessage)}, // fix previous WoG version
    636. {0x5A223D,0x0,DP(AcidBreathMessage)},
    637. {0x44C15C,0x0,DP(AlwaysLuckyMessage)},

    638. // Spell support
    639. {0x4EDEAF,0x0,DP(ParseSpTraitsTxt)}, // parse SpTraits


    640. {0,0,0}
    641. };

    642. struct __Accessers{
    643. long  where;
    644. long  what;
    645. #ifdef DEBUG
    646. // DEBUG ??? ???????
    647. char *remember;
    648. long  size;
    649. #endif
    650. long  len;
    651. } Accessers[]={
    652. // ????????? ?????? ????? ??? ????? ??????
    653. ///////////////////////////////////////  {0x4F80FA,DS0(0xB8),1},
    654. // ????? ??????? ?????
    655. {0x44D5C3+2,DS0(VidArr),4},
    656. {0x598FF8+2,DS0(VidArr),4},
    657. {0x44D561+2,DS0(&VidArr[0].Po),4},
    658. {0x598EFD+2,DS0(&VidArr[0].Po),4},
    659. {0x5975EB+2,DS0(&VidArr[0].Atr[0]),4},
    660. {0x59787C+3,DS0(&VidArr[0].Atr[0]),4},
    661. {0x44D873+3,DS0(&VidArr[0].Atr[1]),4},
    662. {0x599288+3,DS0(&VidArr[0].Atr[1]),4},
    663. {0x44D828+3,DS0(&VidArr[0].Atr[2]),4},
    664. {0x44D937+3,DS0(&VidArr[0].Atr[2]),4},
    665. {0x44DBA9+3,DS0(&VidArr[0].Atr[2]),4},
    666. {0x5977E3+2,DS0(&VidArr[0].Atr[2]),4},
    667. {0x599249+3,DS0(&VidArr[0].Atr[2]),4},
    668. {0x59930B+3,DS0(&VidArr[0].Atr[2]),4},
    669. {0x44D5BD+2,DS0(&VidArr[0].Atr[3]),4},
    670. {0x598EC8+3,DS0(&VidArr[0].Atr[3]),4},
    671. // ?????????? ??? ???????? ? ?????? ??????
    672. {0x416E01,DS0(0x000001B8),4},
    673. {0x416E05,DS0(0x0016EB00),4},
    674. // ????????????? ??? ??? ????????????? ???????? ??? ?? ???
    675. {0x584A2C+3,DS0(0x00000003),4},
    676. // ZObjcts.txt ?????? Objects.txt
    677. {0x67FBD4,DS0(0x6A624F5A),4},
    678. // ????? ??? Objects.txt ??? ?????????? ????. ????
    679. {0x5366FB+1,DS0(RMObjectsFile),4},
    680. // ZCrBank.txt ?????? CrBanks.txt
    681. {0x6703A8,DS0(0x4272435A),4},
    682. {0x6703AC,DS0(0x2E6B6E61),4},
    683. // ZCrGn1.txt ?????? CrGen1.txt
    684. {0x660278,DS0(0x4772435A),4},
    685. // ???????? ????? Credits.bik ?? Credits.smk
    686. //  {0x683CAC,DS0(0x01000000),4},
    687. // ???????? BIK ????? ?? ????? DLL 0x08000000 ?? 0x00800000
    688. //  {0x44D3BC+2,DS0(0x00800000),4},
    689. // ????????? WoG ???? ?????? SoD ? ???????
    690. {0x54A1D4+1,DS0(SOGMAPTYPE),4},
    691. /*
    692. // CalledDayly
    693. {0x4C8101,DS0(0xE9),1},
    694. {0x4C75E6,DS0(0xE9),1},
    695. */
    696. // NewStartLoading
    697. //  {0x4FDCF0,DS0(0xE9),1},
    698. // Artifact
    699. // ????????? artraits
    700. {0x44CB32,DS(ArtTable),4},
    701. {0x44CD1E,DS(ArtTable),4},
    702. {0x44CD6C,DS(ArtTable),4},
    703. {0x660B68,DS(ArtTable),4},
    704. {0x44CCDF,DS(&ArtTable[0].Disable),4},
    705. {0x44CCFA,DS(&ArtTable[0].NewSpell),4},
    706. {0x44CCA8,DS((ARTNUM+2)*4),4},
    707. {0x44CACA,DS((ARTNUM+2)*4),4},
    708. // ????????? artevent
    709. {0x49DD9A,DS(&ArtPickUp[-1]),4},
    710. {0x49F2E7,DS(ArtPickUp),4},
    711. {0x49F51E,DS(ArtPickUp),4},
    712. {0x49F5DA,DS(ArtPickUp),4},
    713. {0x49DD90,DS((ARTNUM)*4),4},
    714. // ?????? ??????????
    715. {0x4E2D26,DP(ArtBonus),4}, //
    716. //  {0x4E2D3D,DP(&ArtBonus[ARTNUM]),4}, //
    717. {0x4E2D3D,DP(&ArtBonus[160]),4}, // 3.58 Combo Part fix
    718. //  {0x4E2DD7,DP(&ArtBonus[ARTNUM]),4}, //
    719. {0x4E2DD7,DP(&ArtBonus[160]),4}, // 3.58 Combo Part fix
    720. {0x4E2DF1,DP(ArtBonus),4}, //
    721. {0x4E2E95,DP(ArtBonus),4}, //
    722. //  {0x4E2EAC,DP(&ArtBonus[ARTNUM]),4}, //
    723. {0x4E2EAC,DP(&ArtBonus[160]),4}, // 3.58 Combo Part fix
    724. //  {0x4E2F41,DP(&ArtBonus[ARTNUM]),4}, //
    725. {0x4E2F41,DP(&ArtBonus[160]),4}, // 3.58 Combo Part fix
    726. {0x4E2F7C,DP(ArtBonus),4}, //
    727. //  {0x4CF680,DP(0x75),1}, //
    728. //  {0x48E5B3,DP(0x75),1}, //
    729. //  {0x4DC12D,DP(0x75),1}, //
    730. //  {0x4DC246,DP(0x75),1}, //
    731. //  {0x67F554  ,(long)3,4}, // ?????? ???, ??? ?????????? AB
    732. // CrBank
    733. {0x47A4A8+3,DS (crbankt1),4},
    734. {0x47A4AF+3,DS (crbankt2),4},
    735. {0x47A4B6+3,DS0(&CrBankTable[0].Name),4},
    736. {0x47A68F+1,DS0(&CrBankTable[BANKNUM].Name),4},
    737. {0x47A3C1+1,DS (CrBankTable),4},
    738. {0x47A3EC+1,DS0(CrBankTable),4},
    739. {0x67029C  ,DS0(CrBankTable),4},
    740. {0x47A3BA+1,DS0(BANKNUM),1},
    741. {0x47A3E5+1,DS0(BANKNUM),1},
    742. // Monster
    743. {0x50CBB5+3,DS0(MONNUM-150+5),4},
    744. {0x47AD75+3,DS0(MONNUM-150+5),1},
    745. {0x67FF74  ,DS (MonATable),4},
    746. {0x50CC01+3,DS0(MonATable),4},
    747. {0x47ADCE+3,DS (MonTable),4},
    748. {0x6747B0  ,DS0(MonTable),4},
    749. {0x47AE28+3,DS (MonTable2),4},
    750. {0x47ADF5+1,DS0(MonTable2),4},
    751. {0x47B12C+1,DS0(MonTable2),4},
    752. {0x47AEBC+3,DS (MonTable3),4},
    753. {0x47AE85+1,DS0(MonTable3),4},
    754. {0x47B10C+1,DS0(MonTable3),4},
    755. {0x47B091+3,DS (MonTable4),4},
    756. {0x47B057+1,DS0(MonTable4),4},
    757. {0x47B0EC+1,DS0(MonTable4),4},
    758. {0x4A1655+2,DS0(MONNUM),4},{0x4A189B+1,(long)MONNUM,4},

    759. {0x47ADEC+1,(long)MONNUM,4},{0x47AE7C+1,(long)MONNUM,4},{0x47B04D+1,(long)MONNUM,4},
    760. {0x47B0E5+1,(long)MONNUM,4},{0x47B105+1,(long)MONNUM,4},{0x47B125+1,(long)MONNUM,4},

    761. {0x40AC91+1,(long)MONNUM,4},{0x40ACF1+2,(long)MONNUM,4},{0x40C2B0+1,(long)MONNUM,4},
    762. {0x416948+1,(long)MONNUM,4},{0x43F9B2+1,(long)MONNUM,4},{0x43FA88+1,(long)MONNUM,4},
    763. {0x43FDA8+1,(long)MONNUM,4},{0x43FE24+2,(long)MONNUM,4},
    764. {0x4401B5+1,(long)MONNUM,4},{0x4409D7+1,(long)MONNUM,4},{0x440A21+1,(long)MONNUM,4},
    765. {0x440A85+1,(long)MONNUM,4},{0x440C9A+1,(long)MONNUM,4},{0x440CD5+1,(long)MONNUM,4},
    766. {0x440D49+1,(long)MONNUM,4},{0x440D86+1,(long)MONNUM,4},{0x440F5B+1,(long)MONNUM,4},
    767. {0x4418D0+1,(long)MONNUM,4},{0x44192E+1,(long)MONNUM,4},{0x443265+1,(long)MONNUM,4},
    768. {0x44329A+1,(long)MONNUM,4},{0x443307+1,(long)MONNUM,4},{0x44333C+1,(long)MONNUM,4},
    769. {0x44372A+2,(long)MONNUM,4},{0x443796+2,(long)MONNUM,4},{0x446C86+1,(long)MONNUM,4},
    770. {0x446CF4+1,(long)MONNUM,4},{0x44730E+1,(long)MONNUM,4},{0x44BB13+2,(long)MONNUM,4},
    771. {0x44BC64+1,(long)MONNUM,4},{0x44C060+2,(long)MONNUM,4},{0x464670+1,(long)MONNUM,4},
    772. {0x46487A+1,(long)MONNUM,4},{0x464A91+1,(long)MONNUM,4},{0x465242+1,(long)MONNUM,4},
    773. {0x4652E4+1,(long)MONNUM,4},{0x478593+1,(long)MONNUM,4},{0x4785CB+1,(long)MONNUM,4},
    774. {0x4790D7+1,(long)MONNUM,4},{0x479142+1,(long)MONNUM,4},{0x47927F+1,(long)MONNUM,4},
    775. {0x47931B+1,(long)MONNUM,4},{0x4840B2+1,(long)MONNUM,4},
    776. {0x4863FC+2,(long)MONNUM,4},{0x491F65+1,(long)MONNUM,4},
    777. {0x491FB5+1,(long)MONNUM,4},{0x4920A9+2,(long)MONNUM,4},{0x4921A1+2,(long)MONNUM,4},
    778. {0x4921EC+2,(long)MONNUM,4},{0x4922B6+1,(long)MONNUM,4},{0x4922ED+1,(long)MONNUM,4},
    779. {0x49233E+1,(long)MONNUM,4},{0x492375+1,(long)MONNUM,4},{0x492521+1,(long)MONNUM,4},
    780. {0x4925BE+1,(long)MONNUM,4},{0x49262F+1,(long)MONNUM,4},{0x4926C9+1,(long)MONNUM,4},
    781. {0x49275D+1,(long)MONNUM,4},{0x4927E8+1,(long)MONNUM,4},{0x492959+1,(long)MONNUM,4},
    782. {0x492D0A+2,(long)MONNUM,4},{0x492DAD+1,(long)MONNUM,4},
    783. // 497903
    784. {0x49E705+2,(long)MONNUM,4},
    785. {0x49E728+2,(long)MONNUM,4},{0x49EE73+1,(long)MONNUM,4},{0x49EFC0+1,(long)MONNUM,4},
    786. {0x4A0435+2,(long)MONNUM,4},{0x4A04D7+2,(long)MONNUM,4},
    787. // 4A1655
    788. {0x4A17D9+1,(long)MONNUM,4},{0x4A1803+1,(long)MONNUM,4},{0x4A1828+1,(long)MONNUM,4},
    789. {0x4A184D+1,(long)MONNUM,4},
    790. // 4A189B
    791. {0x4A19FA+2,(long)MONNUM,4},
    792. {0x4A1A9F+2,(long)MONNUM,4},{0x4A42F1+1,(long)MONNUM,4},{0x4A6A7E+1,(long)MONNUM,4},
    793. {0x4A6C96+2,(long)MONNUM,4},{0x4A6F57+2,(long)MONNUM,4},{0x4A6FC6+1,(long)MONNUM,4},
    794. {0x4AB893+2,(long)MONNUM,4},{0x4ABC6C+1,(long)MONNUM,4},{0x4ABF68+1,(long)MONNUM,4},
    795. {0x4AE27F+1,(long)MONNUM,4},{0x4AE2CC+2,(long)MONNUM,4},{0x4CC86D+1,(long)MONNUM,4},
    796. {0x4CC8C9+1,(long)MONNUM,4},{0x4CC988+1,(long)MONNUM,4},{0x4DBA61+1,(long)MONNUM,4},
    797. {0x4DBA9D+2,(long)MONNUM,4},{0x4DBAE0+2,(long)MONNUM,4},{0x4DBB2D+1,(long)MONNUM,4},
    798. {0x4DBB74+1,(long)MONNUM,4},{0x4DBB96+2,(long)MONNUM,4},{0x4F1F88+1,(long)MONNUM,4},
    799. {0x4F2010+1,(long)MONNUM,4},{0x4F20D6+1,(long)MONNUM,4},{0x4F2138+1,(long)MONNUM,4},
    800. {0x4F479B+1,(long)MONNUM,4},{0x4F5BD0+2,(long)MONNUM,4},{0x4F5C4A+2,(long)MONNUM,4},
    801. {0x51402E+1,(long)MONNUM,4},{0x514078+1,(long)MONNUM,4},{0x5213E4+2,(long)MONNUM,4},
    802. {0x52141C+2,(long)MONNUM,4},{0x5217C7+1,(long)MONNUM,4},{0x521812+1,(long)MONNUM,4},
    803. {0x521835+2,(long)MONNUM,4},{0x52191C+1,(long)MONNUM,4},{0x52195C+1,(long)MONNUM,4},
    804. {0x5219BD+1,(long)MONNUM,4},{0x5219CD+2,(long)MONNUM,4},{0x5219F7+2,(long)MONNUM,4},
    805. {0x52FEF7+2,(long)MONNUM,4},{0x52FF5B+2,(long)MONNUM,4},{0x52FFB9+2,(long)MONNUM,4},
    806. {0x55036E+1,(long)MONNUM,4},{0x550825+1,(long)MONNUM,4},{0x55113E+1,(long)MONNUM,4},
    807. {0x551D8E+2,(long)MONNUM,4},{0x5632DA+2,(long)MONNUM,4},{0x565365+1,(long)MONNUM,4},
    808. {0x56637B+1,(long)MONNUM,4},{0x5664C8+1,(long)MONNUM,4},{0x56EBD3+1,(long)MONNUM,4},
    809. {0x56ECD4+1,(long)MONNUM,4},{0x56F115+1,(long)MONNUM,4},{0x5706A5+1,(long)MONNUM,4},
    810. {0x570A6E+1,(long)MONNUM,4},{0x570D4D+1,(long)MONNUM,4},{0x59F90A+2,(long)MONNUM,4},
    811. {0x5A21ED+1,(long)MONNUM,4},{0x5A22E6+1,(long)MONNUM,4},{0x5A2CC3+1,(long)MONNUM,4},
    812. {0x5A2DCD+2,(long)MONNUM,4},{0x5A2E27+2,(long)MONNUM,4},{0x5A753A+1,(long)MONNUM,4},
    813. {0x5A77C0+2,(long)MONNUM,4},{0x5A77FB+2,(long)MONNUM,4},{0x5A79B2+1,(long)MONNUM,4},
    814. {0x5A79ED+1,(long)MONNUM,4},{0x5A7D4B+2,(long)MONNUM,4},{0x5A7DBB+2,(long)MONNUM,4},
    815. {0x5A8A08+2,(long)MONNUM,4},{0x5A8A69+2,(long)MONNUM,4},{0x5A8B52+2,(long)MONNUM,4},
    816. {0x5A9378+1,(long)MONNUM,4},{0x5B0E09+2,(long)MONNUM,4},{0x5C08EA+2,(long)MONNUM,4},
    817. {0x5C605C+1,(long)MONNUM,4},{0x5C656A+1,(long)MONNUM,4},{0x5C789A+1,(long)MONNUM,4},
    818. {0x5C7946+1,(long)MONNUM,4},{0x5C79BC+1,(long)MONNUM,4},{0x5C7A1D+1,(long)MONNUM,4},
    819. {0x5C7AB0+1,(long)MONNUM,4},{0x5C7B25+2,(long)MONNUM,4},{0x5C7B48+1,(long)MONNUM,4},
    820. {0x5C7FD4+1,(long)MONNUM,4},{0x5C8046+1,(long)MONNUM,4},{0x5C84B0+1,(long)MONNUM,4},
    821. {0x5C9C3A+1,(long)MONNUM,4},
    822. {0x5D0C56+1,(long)MONNUM,4},{0x5D1059+2,(long)MONNUM,4},
    823. {0x5DD0A4+1,(long)MONNUM,4},{0x5DD976+1,(long)MONNUM,4},{0x5DDA4A+1,(long)MONNUM,4},
    824. {0x5EF08C+1,(long)MONNUM,4},{0x5F3939+1,(long)MONNUM,4},{0x5F40CC+1,(long)MONNUM,4},
    825. /* ??? ??? ???????? ????????, ? ?? ???????
    826. {0x5121EA+1,(long)MONNUM,4},{0x53A51F+1,(long)MONNUM,4},{0x53B1ED+1,(long)MONNUM,4},
    827. {0x5601C4+2,(long)MONNUM,4},{0x5758AC+1,(long)MONNUM,4},{0x575B6C+1,(long)MONNUM,4},
    828. //  {0x5AC62E+1,(long)MONNUM,4}, // ???????? ????????? ????? ????. ?? ??????
    829. {0x5C2565+1,(long)MONNUM,4},{0x5C3DFD+1,(long)MONNUM,4},
    830. {0x5CA9B3+1,(long)MONNUM,4},{0x5CAA24+1,(long)MONNUM,4},{0x5CAA94+1,(long)MONNUM,4},
    831. {0x5CABF9+1,(long)MONNUM,4},{0x5CAC6A+1,(long)MONNUM,4},{0x5CACDB+1,(long)MONNUM,4},
    832. {0x5CAE41+1,(long)MONNUM,4},{0x5CAEB2+1,(long)MONNUM,4},{0x5CAF23+1,(long)MONNUM,4},
    833. */
    834. //  {0x+1,(long)MONNUM,4},{0x+1,(long)MONNUM,4},{0x+1,(long)MONNUM,4},

    835. // Hero
    836. // ????? ????????????? (?? ??????? ????????)
    837. //  {0x4E1F21+2,DS0(0x34),1}, // ???????? ? ??????? ? ?????
    838. //  {0x4E1F3B+2,DS0(0x34),1}, // ????? ? ?????
    839. //  HeroBios
    840. {0x5B9A0E+2,DS0((HERNUM+7)*4),4},
    841. {0x5B9A18+2,DS0(&HBiosTable[-1].HBios),4},
    842. {0x5641A2+2,DS0(&HBiosTable[-1].HBios),4},
    843. {0x4D92B7+3,DS (HBiosTable),4},
    844. {0x4DD975+3,DS0(HBiosTable),4},
    845. //  HeroSpec
    846. {0x4D7449+1,DS0(&HSpecTable[0].SpFull),4},
    847. {0x4D745A+2,DS0(&HSpecTable[HERNUM].SpFull),4},
    848. {0x679C80  ,DS (HSpecTable),4},

    849. {0x4E68D7+1,DS0(HERNUM),4},
    850. {0x4E6897+2,DS (HTable2),4},
    851. {0x4E689F+3,DS0(HTable2),4},
    852. {0x4E68E0+1,DS0(HTable2),4},
    853. {0x67DCE8  ,DS (HTable),4},
    854. {0x4E68A6+1,DS0(&HTable[0].ArmyNum),4},
    855. {0x4E69A6+2,DS0(&HTable[HERNUM].ArmyNum),4},
    856. /*
    857. {0x40247D+1,DS0(0x5534),2},{0x40247D+3,DS0(HMTable),4},{0x40315B+1,DS0(0x553C),2},{0x40315B+3,DS0(HMTable),4},
    858. {0x4035DF+1,DS0(0x551C),2},{0x4035DF+3,DS0(HMTable),4},{0x40625B+1,DS0(0x450C),2},{0x40625B+3,DS0(HMTable),4},
    859. {0x406284+1,DS0(0x450C),2},{0x406284+3,DS0(HMTable),4},{0x4062A6+1,DS0(0x450C),2},{0x4062A6+3,DS0(HMTable),4},
    860. {0x4062BB+1,DS0(0x450C),2},{0x4062BB+3,DS0(HMTable),4},{0x407B19+1,DS0(0x4534),2},{0x407B19+3,DS0(HMTable),4},
    861. {0x407FFA+1,DS0(0x4504),2},{0x407FFA+3,DS0(HMTable),4},{0x4080EC+1,DS0(0x4D0C),2},{0x4080EC+3,DS0(HMTable),4},
    862. {0x408BFA+1,DS0(0x453C),2},{0x408BFA+3,DS0(HMTable),4},{0x408E2B+1,DS0(0x453C),2},{0x408E2B+3,DS0(HMTable),4},
    863. {0x408EA2+1,DS0(0x4504),2},{0x408EA2+3,DS0(HMTable),4},{0x409097+1,DS0(0x550C),2},{0x409097+3,DS0(HMTable),4},
    864. {0x409261+1,DS0(0x4504),2},{0x409261+3,DS0(HMTable),4},{0x409A8A+1,DS0(0x4504),2},{0x409A8A+3,DS0(HMTable),4},
    865. {0x409B7C+1,DS0(0x4504),2},{0x409B7C+3,DS0(HMTable),4},{0x40A7F4+1,DS0(0x451C),2},{0x40A7F4+3,DS0(HMTable),4},
    866. {0x40A9C9+1,DS0(0x4504),2},{0x40A9C9+3,DS0(HMTable),4},{0x40AF7C+1,DS0(0x4D0C),2},{0x40AF7C+3,DS0(HMTable),4},
    867. {0x40AFF5+1,DS0(0x4D0C),2},{0x40AFF5+3,DS0(HMTable),4},{0x40B126+1,DS0(0x5534),2},{0x40B126+3,DS0(HMTable),4},
    868. {0x40BBD4+1,DS0(0x4534),2},{0x40BBD4+3,DS0(HMTable),4},{0x40DF86+1,DS0(0x4504),2},{0x40DF86+3,DS0(HMTable),4},
    869. {0x40E0F4+1,DS0(0x553C),2},{0x40E0F4+3,DS0(HMTable),4},{0x40E4AD+1,DS0(0x4504),2},{0x40E4AD+3,DS0(HMTable),4},
    870. {0x40E583+1,DS0(0x4514),2},{0x40E583+3,DS0(HMTable),4},{0x40E607+1,DS0(0x4D3C),2},{0x40E607+3,DS0(HMTable),4},
    871. {0x40E9A4+1,DS0(0x5504),2},{0x40E9A4+3,DS0(HMTable),4},{0x40EC31+1,DS0(0x453C),2},{0x40EC31+3,DS0(HMTable),4},
    872. {0x40F10B+1,DS0(0x4D0C),2},{0x40F10B+3,DS0(HMTable),4},{0x40FCA8+1,DS0(0x4D0C),2},{0x40FCA8+3,DS0(HMTable),4},
    873. {0x40FDBA+1,DS0(0x4D34),2},{0x40FDBA+3,DS0(HMTable),4},{0x41024A+1,DS0(0x4D34),2},{0x41024A+3,DS0(HMTable),4},
    874. {0x412CE0+1,DS0(0x4504),2},{0x412CE0+3,DS0(HMTable),4},{0x413784+1,DS0(0x4514),2},{0x413784+3,DS0(HMTable),4},
    875. {0x414555+1,DS0(0x4534),2},{0x414555+3,DS0(HMTable),4},{0x41652D+1,DS0(0x4534),2},{0x41652D+3,DS0(HMTable),4},
    876. {0x4165BA+1,DS0(0x551C),2},{0x4165BA+3,DS0(HMTable),4},{0x4167DF+1,DS0(0x551C),2},{0x4167DF+3,DS0(HMTable),4},
    877. {0x4168D0+1,DS0(0x4D04),2},{0x4168D0+3,DS0(HMTable),4},{0x416FAB+1,DS0(0x551C),2},{0x416FAB+3,DS0(HMTable),4},
    878. {0x41711D+1,DS0(0x4D34),2},{0x41711D+3,DS0(HMTable),4},{0x41763E+1,DS0(0x4D3C),2},{0x41763E+3,DS0(HMTable),4},
    879. {0x417B74+1,DS0(0x4D3C),2},{0x417B74+3,DS0(HMTable),4},{0x418DE1+1,DS0(0x451C),2},{0x418DE1+3,DS0(HMTable),4},
    880. {0x418E4C+1,DS0(0x4D04),2},{0x418E4C+3,DS0(HMTable),4},{0x419182+1,DS0(0x5504),2},{0x419182+3,DS0(HMTable),4},
    881. {0x4192D4+1,DS0(0x4D04),2},{0x4192D4+3,DS0(HMTable),4},{0x41943D+1,DS0(0x4D04),2},{0x41943D+3,DS0(HMTable),4},
    882. {0x4199F5+1,DS0(0x450C),2},{0x4199F5+3,DS0(HMTable),4},{0x41C4EE+1,DS0(0x5534),2},{0x41C4EE+3,DS0(HMTable),4},
    883. {0x41C63C+1,DS0(0x4D34),2},{0x41C63C+3,DS0(HMTable),4},{0x41C6B2+1,DS0(0x5534),2},{0x41C6B2+3,DS0(HMTable),4},
    884. {0x41C7A4+1,DS0(0x4D34),2},{0x41C7A4+3,DS0(HMTable),4},{0x41C862+1,DS0(0x5534),2},{0x41C862+3,DS0(HMTable),4},
    885. {0x41C943+1,DS0(0x4534),2},{0x41C943+3,DS0(HMTable),4},{0x41CA56+1,DS0(0x451C),2},{0x41CA56+3,DS0(HMTable),4},
    886. {0x41D034+1,DS0(0x4534),2},{0x41D034+3,DS0(HMTable),4},{0x41D259+1,DS0(0x5534),2},{0x41D259+3,DS0(HMTable),4},
    887. {0x41D544+1,DS0(0x5534),2},{0x41D544+3,DS0(HMTable),4},{0x428175+1,DS0(0x4D34),2},{0x428175+3,DS0(HMTable),4},
    888. {0x429807+1,DS0(0x5504),2},{0x429807+3,DS0(HMTable),4},{0x42986C+1,DS0(0x5504),2},{0x42986C+3,DS0(HMTable),4},
    889. {0x42B13F+1,DS0(0x4504),2},{0x42B13F+3,DS0(HMTable),4},{0x42BB00+1,DS0(0x451C),2},{0x42BB00+3,DS0(HMTable),4},
    890. {0x42DEE8+1,DS0(0x4534),2},{0x42DEE8+3,DS0(HMTable),4},{0x42EFB6+1,DS0(0x4504),2},{0x42EFB6+3,DS0(HMTable),4},
    891. {0x42F6F7+1,DS0(0x4534),2},{0x42F6F7+3,DS0(HMTable),4},{0x43145A+1,DS0(0x4504),2},{0x43145A+3,DS0(HMTable),4},
    892. {0x4315CA+1,DS0(0x5504),2},{0x4315CA+3,DS0(HMTable),4},{0x431633+1,DS0(0x550C),2},{0x431633+3,DS0(HMTable),4},
    893. {0x4316EA+1,DS0(0x450C),2},{0x4316EA+3,DS0(HMTable),4},{0x4317EB+1,DS0(0x4504),2},{0x4317EB+3,DS0(HMTable),4},
    894. {0x431EE9+1,DS0(0x4D04),2},{0x431EE9+3,DS0(HMTable),4},{0x432048+1,DS0(0x550C),2},{0x432048+3,DS0(HMTable),4},
    895. {0x4331A3+1,DS0(0x4504),2},{0x4331A3+3,DS0(HMTable),4},{0x433B02+1,DS0(0x4D0C),2},{0x433B02+3,DS0(HMTable),4},
    896. {0x4518D1+1,DS0(0x451C),2},{0x4518D1+3,DS0(HMTable),4},{0x453193+1,DS0(0x4D0C),2},{0x453193+3,DS0(HMTable),4},
    897. {0x4534D6+1,DS0(0x450C),2},{0x4534D6+3,DS0(HMTable),4},{0x453552+1,DS0(0x4D04),2},{0x453552+3,DS0(HMTable),4},
    898. {0x47F11D+1,DS0(0x4D0C),2},{0x47F11D+3,DS0(HMTable),4},{0x47F1DB+1,DS0(0x453C),2},{0x47F1DB+3,DS0(HMTable),4},
    899. {0x47F4B9+1,DS0(0x451C),2},{0x47F4B9+3,DS0(HMTable),4},{0x47F69A+1,DS0(0x553C),2},{0x47F69A+3,DS0(HMTable),4},
    900. {0x47FB87+1,DS0(0x4D0C),2},{0x47FB87+3,DS0(HMTable),4},{0x47FF58+1,DS0(0x4534),2},{0x47FF58+3,DS0(HMTable),4},
    901. {0x4801BA+1,DS0(0x4D0C),2},{0x4801BA+3,DS0(HMTable),4},{0x4803CA+1,DS0(0x4D0C),2},{0x4803CA+3,DS0(HMTable),4},
    902. {0x480644+1,DS0(0x4D0C),2},{0x480644+3,DS0(HMTable),4},{0x4806D2+1,DS0(0x4504),2},{0x4806D2+3,DS0(HMTable),4},
    903. {0x480B0A+1,DS0(0x4D0C),2},{0x480B0A+3,DS0(HMTable),4},{0x480FFA+1,DS0(0x450C),2},{0x480FFA+3,DS0(HMTable),4},
    904. {0x48124A+1,DS0(0x4D34),2},{0x48124A+3,DS0(HMTable),4},{0x4812E5+1,DS0(0x550C),2},{0x4812E5+3,DS0(HMTable),4},
    905. {0x4814CC+1,DS0(0x4D04),2},{0x4814CC+3,DS0(HMTable),4},{0x4817CA+1,DS0(0x5504),2},{0x4817CA+3,DS0(HMTable),4},
    906. {0x48181C+1,DS0(0x453C),2},{0x48181C+3,DS0(HMTable),4},{0x48190E+1,DS0(0x4D0C),2},{0x48190E+3,DS0(HMTable),4},
    907. {0x48197E+1,DS0(0x4504),2},{0x48197E+3,DS0(HMTable),4},{0x481AAC+1,DS0(0x551C),2},{0x481AAC+3,DS0(HMTable),4},
    908. {0x483C46+1,DS0(0x4D0C),2},{0x483C46+3,DS0(HMTable),4},{0x483C89+1,DS0(0x5504),2},{0x483C89+3,DS0(HMTable),4},
    909. {0x483CCE+1,DS0(0x5534),2},{0x483CCE+3,DS0(HMTable),4},{0x483F8B+1,DS0(0x4504),2},{0x483F8B+3,DS0(HMTable),4},
    910. {0x4860E8+1,DS0(0x451C),2},{0x4860E8+3,DS0(HMTable),4},{0x486BB0+1,DS0(0x5534),2},{0x486BB0+3,DS0(HMTable),4},
    911. {0x487652+1,DS0(0x550C),2},{0x487652+3,DS0(HMTable),4},{0x4896AC+1,DS0(0x4504),2},{0x4896AC+3,DS0(HMTable),4},
    912. {0x48971B+1,DS0(0x5504),2},{0x48971B+3,DS0(HMTable),4},{0x49A2EA+1,DS0(0x4D04),2},{0x49A2EA+3,DS0(HMTable),4},
    913. {0x49B0DD+1,DS0(0x4D04),2},{0x49B0DD+3,DS0(HMTable),4},{0x49D446+1,DS0(0x4D04),2},{0x49D446+3,DS0(HMTable),4},
    914. {0x49D4AC+1,DS0(0x5504),2},{0x49D4AC+3,DS0(HMTable),4},{0x49E03F+1,DS0(0x5504),2},{0x49E03F+3,DS0(HMTable),4},
    915. {0x49E088+1,DS0(0x550C),2},{0x49E088+3,DS0(HMTable),4},{0x4A249F+1,DS0(0x4D34),2},{0x4A249F+3,DS0(HMTable),4},
    916. {0x4A3CAC+1,DS0(0x5534),2},{0x4A3CAC+3,DS0(HMTable),4},{0x4AA735+1,DS0(0x4D3C),2},{0x4AA735+3,DS0(HMTable),4},
    917. {0x4AAD33+1,DS0(0x4D14),2},{0x4AAD33+3,DS0(HMTable),4},{0x4AAE0C+1,DS0(0x551C),2},{0x4AAE0C+3,DS0(HMTable),4},
    918. {0x4AAF6D+1,DS0(0x551C),2},{0x4AAF6D+3,DS0(HMTable),4},{0x4AAFFB+1,DS0(0x551C),2},{0x4AAFFB+3,DS0(HMTable),4},
    919. {0x4B262B+1,DS0(0x4504),2},{0x4B262B+3,DS0(HMTable),4},{0x4B9CCB+1,DS0(0x453C),2},{0x4B9CCB+3,DS0(HMTable),4},
    920. {0x4BA767+1,DS0(0x5534),2},{0x4BA767+3,DS0(HMTable),4},{0x4BA7BB+1,DS0(0x4D34),2},{0x4BA7BB+3,DS0(HMTable),4},
    921. {0x4BA8C6+1,DS0(0x4514),2},{0x4BA8C6+3,DS0(HMTable),4},{0x4BA939+1,DS0(0x5514),2},{0x4BA939+3,DS0(HMTable),4},
    922. {0x4BA99F+1,DS0(0x450C),2},{0x4BA99F+3,DS0(HMTable),4},{0x4BAA05+1,DS0(0x4D0C),2},{0x4BAA05+3,DS0(HMTable),4},
    923. {0x4BC922+1,DS0(0x451C),2},{0x4BC922+3,DS0(HMTable),4},{0x4BFDA7+1,DS0(0x4504),2},{0x4BFDA7+3,DS0(HMTable),4},
    924. {0x4BFF35+1,DS0(0x4D0C),2},{0x4BFF35+3,DS0(HMTable),4},{0x4C0044+1,DS0(0x4534),2},{0x4C0044+3,DS0(HMTable),4},
    925. {0x4C676F+1,DS0(0x550C),2},{0x4C676F+3,DS0(HMTable),4},{0x4C709C+1,DS0(0x4D3C),2},{0x4C709C+3,DS0(HMTable),4},
    926. {0x4C70EF+1,DS0(0x5534),2},{0x4C70EF+3,DS0(HMTable),4},{0x4C7160+1,DS0(0x4534),2},{0x4C7160+3,DS0(HMTable),4},
    927. {0x4C76D6+1,DS0(0x550C),2},{0x4C76D6+3,DS0(HMTable),4},{0x4C7767+1,DS0(0x4D0C),2},{0x4C7767+3,DS0(HMTable),4},
    928. {0x4C8036+1,DS0(0x4D34),2},{0x4C8036+3,DS0(HMTable),4},{0x4C809E+1,DS0(0x5534),2},{0x4C809E+3,DS0(HMTable),4},
    929. {0x4C8178+1,DS0(0x4504),2},{0x4C8178+3,DS0(HMTable),4},{0x4C81C2+1,DS0(0x4504),2},{0x4C81C2+3,DS0(HMTable),4},
    930. {0x4C820A+1,DS0(0x4504),2},{0x4C820A+3,DS0(HMTable),4},{0x4C8247+1,DS0(0x4504),2},{0x4C8247+3,DS0(HMTable),4},
    931. {0x4C82A5+1,DS0(0x553C),2},{0x4C82A5+3,DS0(HMTable),4},{0x4C839F+1,DS0(0x4D04),2},{0x4C839F+3,DS0(HMTable),4},
    932. {0x4C8830+1,DS0(0x551C),2},{0x4C8830+3,DS0(HMTable),4},{0x4C9EA5+1,DS0(0x550C),2},{0x4C9EA5+3,DS0(HMTable),4},
    933. {0x4CAB9E+1,DS0(0x4D34),2},{0x4CAB9E+3,DS0(HMTable),4},{0x4CAC54+1,DS0(0x450C),2},{0x4CAC54+3,DS0(HMTable),4},
    934. {0x4DE57C+1,DS0(0x4504),2},{0x4DE57C+3,DS0(HMTable),4},{0x4DE61A+1,DS0(0x550C),2},{0x4DE61A+3,DS0(HMTable),4},
    935. {0x4E18C5+1,DS0(0x4504),2},{0x4E18C5+3,DS0(HMTable),4},{0x4E1AD7+1,DS0(0x4514),2},{0x4E1AD7+3,DS0(HMTable),4},
    936. {0x4E7715+1,DS0(0x4D0C),2},{0x4E7715+3,DS0(HMTable),4},{0x4E7FB5+1,DS0(0x4D14),2},{0x4E7FB5+3,DS0(HMTable),4},
    937. {0x4E86D8+1,DS0(0x550C),2},{0x4E86D8+3,DS0(HMTable),4},{0x4E87BC+1,DS0(0x4D0C),2},{0x4E87BC+3,DS0(HMTable),4},
    938. {0x4E87D6+1,DS0(0x553C),2},{0x4E87D6+3,DS0(HMTable),4},{0x4E8ABF+1,DS0(0x4D0C),2},{0x4E8ABF+3,DS0(HMTable),4},
    939. {0x4E8AD9+1,DS0(0x553C),2},{0x4E8AD9+3,DS0(HMTable),4},{0x4F1A4B+1,DS0(0x450C),2},{0x4F1A4B+3,DS0(HMTable),4},
    940. {0x4F26A6+1,DS0(0x5504),2},{0x4F26A6+3,DS0(HMTable),4},{0x4F313A+1,DS0(0x5504),2},{0x4F313A+3,DS0(HMTable),4},
    941. {0x4F318F+1,DS0(0x4D0C),2},{0x4F318F+3,DS0(HMTable),4},{0x4F4A11+1,DS0(0x4D1C),2},{0x4F4A11+3,DS0(HMTable),4},
    942. {0x4F53B3+1,DS0(0x4D34),2},{0x4F53B3+3,DS0(HMTable),4},{0x4F540C+1,DS0(0x5534),2},{0x4F540C+3,DS0(HMTable),4},
    943. {0x4F5481+1,DS0(0x5534),2},{0x4F5481+3,DS0(HMTable),4},{0x4FD243+1,DS0(0x4504),2},{0x4FD243+3,DS0(HMTable),4},
    944. {0x4FD2A5+1,DS0(0x4504),2},{0x4FD2A5+3,DS0(HMTable),4},{0x4FD2F3+1,DS0(0x4504),2},{0x4FD2F3+3,DS0(HMTable),4},
    945. {0x4FD37E+1,DS0(0x4504),2},{0x4FD37E+3,DS0(HMTable),4},{0x4FD4A1+1,DS0(0x4504),2},{0x4FD4A1+3,DS0(HMTable),4},
    946. {0x50609B+1,DS0(0x4504),2},{0x50609B+3,DS0(HMTable),4},{0x5060EC+1,DS0(0x4D1C),2},{0x5060EC+3,DS0(HMTable),4},
    947. {0x513AC9+1,DS0(0x4504),2},{0x513AC9+3,DS0(HMTable),4},{0x513CE7+1,DS0(0x4504),2},{0x513CE7+3,DS0(HMTable),4},
    948. {0x51C90D+1,DS0(0x4D34),2},{0x51C90D+3,DS0(HMTable),4},{0x51CBB3+1,DS0(0x4534),2},{0x51CBB3+3,DS0(HMTable),4},
    949. {0x51D5B6+1,DS0(0x4514),2},{0x51D5B6+3,DS0(HMTable),4},{0x51F3C0+1,DS0(0x5534),2},{0x51F3C0+3,DS0(HMTable),4},
    950. {0x51F687+1,DS0(0x450C),2},{0x51F687+3,DS0(HMTable),4},{0x51FA10+1,DS0(0x450C),2},{0x51FA10+3,DS0(HMTable),4},
    951. {0x51FAAD+1,DS0(0x4504),2},{0x51FAAD+3,DS0(HMTable),4},{0x51FB29+1,DS0(0x5504),2},{0x51FB29+3,DS0(HMTable),4},
    952. {0x52137B+1,DS0(0x5534),2},{0x52137B+3,DS0(HMTable),4},{0x52163E+1,DS0(0x450C),2},{0x52163E+3,DS0(HMTable),4},
    953. {0x521741+1,DS0(0x5534),2},{0x521741+3,DS0(HMTable),4},{0x5217A9+1,DS0(0x4534),2},{0x5217A9+3,DS0(HMTable),4},
    954. {0x52189C+1,DS0(0x4504),2},{0x52189C+3,DS0(HMTable),4},{0x5218D4+1,DS0(0x4504),2},{0x5218D4+3,DS0(HMTable),4},
    955. {0x52210B+1,DS0(0x550C),2},{0x52210B+3,DS0(HMTable),4},{0x5222BD+1,DS0(0x450C),2},{0x5222BD+3,DS0(HMTable),4},
    956. {0x52297F+1,DS0(0x4D04),2},{0x52297F+3,DS0(HMTable),4},{0x522AD7+1,DS0(0x4D0C),2},{0x522AD7+3,DS0(HMTable),4},
    957. {0x525741+1,DS0(0x5504),2},{0x525741+3,DS0(HMTable),4},{0x5257FB+1,DS0(0x4534),2},{0x5257FB+3,DS0(HMTable),4},
    958. {0x525950+1,DS0(0x4D04),2},{0x525950+3,DS0(HMTable),4},{0x525E87+1,DS0(0x4D04),2},{0x525E87+3,DS0(HMTable),4},
    959. {0x526526+1,DS0(0x5514),2},{0x526526+3,DS0(HMTable),4},{0x5267F5+1,DS0(0x5504),2},{0x5267F5+3,DS0(HMTable),4},
    960. {0x526C00+1,DS0(0x4504),2},{0x526C00+3,DS0(HMTable),4},{0x526F42+1,DS0(0x4504),2},{0x526F42+3,DS0(HMTable),4},
    961. {0x526FC0+1,DS0(0x4534),2},{0x526FC0+3,DS0(HMTable),4},{0x5270E7+1,DS0(0x4534),2},{0x5270E7+3,DS0(HMTable),4},
    962. {0x527E84+1,DS0(0x450C),2},{0x527E84+3,DS0(HMTable),4},{0x52A1C9+1,DS0(0x4534),2},{0x52A1C9+3,DS0(HMTable),4},
    963. {0x52A8AD+1,DS0(0x4D04),2},{0x52A8AD+3,DS0(HMTable),4},{0x52B1A4+1,DS0(0x5514),2},{0x52B1A4+3,DS0(HMTable),4},
    964. {0x52B36F+1,DS0(0x551C),2},{0x52B36F+3,DS0(HMTable),4},{0x52B48F+1,DS0(0x4D1C),2},{0x52B48F+3,DS0(HMTable),4},
    965. {0x52B5D7+1,DS0(0x451C),2},{0x52B5D7+3,DS0(HMTable),4},{0x557096+1,DS0(0x5504),2},{0x557096+3,DS0(HMTable),4},
    966. {0x5683A6+1,DS0(0x4D1C),2},{0x5683A6+3,DS0(HMTable),4},{0x569DB0+1,DS0(0x4534),2},{0x569DB0+3,DS0(HMTable),4},
    967. {0x56A896+1,DS0(0x450C),2},{0x56A896+3,DS0(HMTable),4},{0x56E478+1,DS0(0x4504),2},{0x56E478+3,DS0(HMTable),4},
    968. {0x56E579+1,DS0(0x453C),2},{0x56E579+3,DS0(HMTable),4},{0x56E9A4+1,DS0(0x453C),2},{0x56E9A4+3,DS0(HMTable),4},
    969. {0x5721A8+1,DS0(0x4504),2},{0x5721A8+3,DS0(HMTable),4},{0x5722A9+1,DS0(0x453C),2},{0x5722A9+3,DS0(HMTable),4},
    970. {0x572471+1,DS0(0x4514),2},{0x572471+3,DS0(HMTable),4},{0x582654+1,DS0(0x551C),2},{0x582654+3,DS0(HMTable),4},
    971. {0x582866+1,DS0(0x451C),2},{0x582866+3,DS0(HMTable),4},{0x5AEEFB+1,DS0(0x550C),2},{0x5AEEFB+3,DS0(HMTable),4},
    972. {0x5AEF23+1,DS0(0x550C),2},{0x5AEF23+3,DS0(HMTable),4},{0x5BE40F+1,DS0(0x4504),2},{0x5BE40F+3,DS0(HMTable),4},
    973. {0x5BE4A8+1,DS0(0x550C),2},{0x5BE4A8+3,DS0(HMTable),4},{0x5BE689+1,DS0(0x4504),2},{0x5BE689+3,DS0(HMTable),4},
    974. {0x5BE7BE+1,DS0(0x4D0C),2},{0x5BE7BE+3,DS0(HMTable),4},{0x5BE7EF+1,DS0(0x550C),2},{0x5BE7EF+3,DS0(HMTable),4},
    975. {0x5BE87B+1,DS0(0x450C),2},{0x5BE87B+3,DS0(HMTable),4},{0x5BE89B+1,DS0(0x453C),2},{0x5BE89B+3,DS0(HMTable),4},
    976. {0x5BE9A6+1,DS0(0x4D0C),2},{0x5BE9A6+3,DS0(HMTable),4},{0x5BF5A7+1,DS0(0x4504),2},{0x5BF5A7+3,DS0(HMTable),4},
    977. {0x5BF5EE+1,DS0(0x5504),2},{0x5BF5EE+3,DS0(HMTable),4},{0x5BFD42+1,DS0(0x5504),2},{0x5BFD42+3,DS0(HMTable),4},
    978. {0x5BFD69+1,DS0(0x4D0C),2},{0x5BFD69+3,DS0(HMTable),4},{0x5BFE0F+1,DS0(0x450C),2},{0x5BFE0F+3,DS0(HMTable),4},
    979. {0x5C173D+1,DS0(0x4D0C),2},{0x5C173D+3,DS0(HMTable),4},{0x5C17D2+1,DS0(0x4514),2},{0x5C17D2+3,DS0(HMTable),4},
    980. {0x5C188B+1,DS0(0x4504),2},{0x5C188B+3,DS0(HMTable),4},{0x5C69E5+1,DS0(0x5504),2},{0x5C69E5+3,DS0(HMTable),4},
    981. {0x5C6A12+1,DS0(0x5504),2},{0x5C6A12+3,DS0(HMTable),4},{0x5C7253+1,DS0(0x4D3C),2},{0x5C7253+3,DS0(HMTable),4},
    982. {0x5C7291+1,DS0(0x5514),2},{0x5C7291+3,DS0(HMTable),4},{0x5C7373+1,DS0(0x553C),2},{0x5C7373+3,DS0(HMTable),4},
    983. {0x5C76A1+1,DS0(0x4504),2},{0x5C76A1+3,DS0(HMTable),4},{0x5C76C1+1,DS0(0x4504),2},{0x5C76C1+3,DS0(HMTable),4},
    984. {0x5C7E0A+1,DS0(0x4D04),2},{0x5C7E0A+3,DS0(HMTable),4},{0x5C7EED+1,DS0(0x4504),2},{0x5C7EED+3,DS0(HMTable),4},
    985. {0x5C9BED+1,DS0(0x4504),2},{0x5C9BED+3,DS0(HMTable),4},{0x5CE99D+1,DS0(0x453C),2},{0x5CE99D+3,DS0(HMTable),4},
    986. {0x5CE9C1+1,DS0(0x553C),2},{0x5CE9C1+3,DS0(HMTable),4},{0x5D1D62+1,DS0(0x4534),2},{0x5D1D62+3,DS0(HMTable),4},
    987. {0x5D2238+1,DS0(0x550C),2},{0x5D2238+3,DS0(HMTable),4},{0x5D31E6+1,DS0(0x4504),2},{0x5D31E6+3,DS0(HMTable),4},
    988. {0x5D3209+1,DS0(0x5504),2},{0x5D3209+3,DS0(HMTable),4},{0x5D3238+1,DS0(0x4504),2},{0x5D3238+3,DS0(HMTable),4},
    989. {0x5D33DD+1,DS0(0x4504),2},{0x5D33DD+3,DS0(HMTable),4},{0x5D34EF+1,DS0(0x4534),2},{0x5D34EF+3,DS0(HMTable),4},
    990. {0x5D3513+1,DS0(0x5534),2},{0x5D3513+3,DS0(HMTable),4},{0x5D4499+1,DS0(0x4D04),2},{0x5D4499+3,DS0(HMTable),4},
    991. {0x5D4516+1,DS0(0x4504),2},{0x5D4516+3,DS0(HMTable),4},{0x5D7DA9+1,DS0(0x4D04),2},{0x5D7DA9+3,DS0(HMTable),4},
    992. {0x5D7E84+1,DS0(0x5534),2},{0x5D7E84+3,DS0(HMTable),4},{0x5D80C3+1,DS0(0x450C),2},{0x5D80C3+3,DS0(HMTable),4},
    993. {0x5D843F+1,DS0(0x550C),2},{0x5D843F+3,DS0(HMTable),4},{0x5D8480+1,DS0(0x5504),2},{0x5D8480+3,DS0(HMTable),4},
    994. {0x5D84F3+1,DS0(0x4504),2},{0x5D84F3+3,DS0(HMTable),4},{0x5D853E+1,DS0(0x550C),2},{0x5D853E+3,DS0(HMTable),4},
    995. {0x5D8773+1,DS0(0x553C),2},{0x5D8773+3,DS0(HMTable),4},{0x5D8862+1,DS0(0x4504),2},{0x5D8862+3,DS0(HMTable),4},
    996. {0x5D89D6+1,DS0(0x4D0C),2},{0x5D89D6+3,DS0(HMTable),4},{0x5D8AAB+1,DS0(0x5504),2},{0x5D8AAB+3,DS0(HMTable),4},
    997. {0x5DE4AB+1,DS0(0x553C),2},{0x5DE4AB+3,DS0(HMTable),4},{0x5DE50D+1,DS0(0x4504),2},{0x5DE50D+3,DS0(HMTable),4},
    998. {0x5DEF1D+1,DS0(0x4504),2},{0x5DEF1D+3,DS0(HMTable),4},{0x5DF3DF+1,DS0(0x4534),2},{0x5DF3DF+3,DS0(HMTable),4},
    999. {0x5DF460+1,DS0(0x550C),2},{0x5DF460+3,DS0(HMTable),4},{0x5EA231+1,DS0(0x450C),2},{0x5EA231+3,DS0(HMTable),4},
    1000. {0x5EA3AE+1,DS0(0x450C),2},{0x5EA3AE+3,DS0(HMTable),4},{0x5EA4A8+1,DS0(0x4D14),2},{0x5EA4A8+3,DS0(HMTable),4},
    1001. {0x5F1B9D+1,DS0(0x4D3C),2},{0x5F1B9D+3,DS0(HMTable),4},{0x5F1D0B+1,DS0(0x4D0C),2},{0x5F1D0B+3,DS0(HMTable),4},
    1002. {0x5F1DE1+1,DS0(0x453C),2},{0x5F1DE1+3,DS0(HMTable),4},{0x5F1F68+1,DS0(0x4504),2},{0x5F1F68+3,DS0(HMTable),4},
    1003. {0x5F7835+1,DS0(0x5504),2},{0x5F7835+3,DS0(HMTable),4},{0x5F78DA+1,DS0(0x5534),2},{0x5F78DA+3,DS0(HMTable),4},
    1004. {0x5F7CDA+1,DS0(0x5534),2},{0x5F7CDA+3,DS0(HMTable),4},

    1005. {0x40E5FB+2,DS0(0x4D04),2},{0x40E5FB+4,DS0(&HMTable[0].y),4},
    1006. {0x417B7B+2,DS0(0x4D0C),2},{0x417B7B+4,DS0(HMTable),4},
    1007. {0x4199ED+2,DS0(0x4514),2},{0x4199ED+4,DS0(HMTable),4},
    1008. {0x4814D3+1,DS0(0x4D04),2},{0x4814D3+3,DS0(&HMTable[0].RefData1),4},
    1009. {0x483C3E+2,DS0(0x4D04),2},{0x483C3E+4,DS0(&HMTable[0].Owner),4},
    1010. //  {0x4B6638+2,DS0(0x45C3),2},{0x4B8638+4,DS0(&HMTable[0].Owner),4},
    1011. {0x4B8AC4+1,DS0(0x3D),1},{0x4B8AC4+2,DS0(&HMTable[0].Owner),4},
    1012. {0x4BB183+1,DS0(0x1D),1},{0x4BB183+2,DS0(&HMTable[0].Spec),4}, //BB183 Spec
    1013. {0x4BB305+1,DS0(0x05),1},{0x4BB305+2,DS0(&HMTable[0].Spec),4}, //BB305 Spec
    1014. {0x4BB49C+1,DS0(0x05),1},{0x4BB49C+2,DS0(&HMTable[0].Spec),4}, //BB49C Spec
    1015. {0x4BD0AB+1,DS0(0x3D),1},{0x4BD0AB+2,DS0(HMTable),4},
    1016. {0x4BE501+1,DS0(0x3D),1},{0x4BE501+2,DS0(HMTable),4},
    1017. {0x4BEF6E+1,DS0(0x05),1},{0x4BEF6E+2,DS0(HMTable),4},
    1018. {0x4BF5A6+2,DS0(0x05),1},{0x4BF5A6+3,DS0(&HMTable[0].y),4},
    1019. {0x4BF860+1,DS0(0x05),1},{0x4BF860+2,DS0(&HMTable[0].y),4},
    1020. {0x4BF946+2,DS0(0x4504),2},{0x4BF946+4,DS0(&HMTable[0].Owner),4},
    1021. {0x4BFB47+1,DS0(0x35),1},{0x4BFB47+2,DS0(HMTable),4},
    1022. {0x4C6D0F+1,DS0(0x4D04),2},{0x4C6D0F+3,DS0(&HMTable[0].RefData1),4},
    1023. {0x4C6D16+1,DS0(0x4D0C),2},{0x4C6D16+3,DS0(&HMTable[0].RefData1),4},
    1024. {0x4C7920+1,DS0(0x3D),1},{0x4C7920+2,DS0(&HMTable[0].Owner),4}, // ?
    1025. {0x4C7D8F+1,DS0(0x05),1},{0x4C7D8F+2,DS0(&HMTable[0].RefData1),4},
    1026. {0x4C7EF7+1,DS0(0x35),1},{0x4C7EF7+2,DS0(&HMTable[0].SpPoints),4},
    1027. {0x4C83D4,DS0(0x90C003),3},
    1028. // ?? ????! {0x4C83DA+1,DS0(0x0D),1},
    1029.    {0x4C83DA+2,DS0(HMTable),4},
    1030. // ?? ????! {0x4C83E0,DS0(0xA0),1},
    1031.    {0x4C83E0+1,DS0(&HMTable[0].PSkill[3]),4},
    1032. // ?? ????! C8422
    1033.    {0x4C8422+3,DS0(&HMTable[0].SpPoints),4},
    1034. {0x4C89DF+1,DS0(0x05),1},{0x4C89DF+2,DS0(&HMTable[0].RefData1),4},
    1035. {0x4C9408+1,DS0(0x1C),1},
    1036. {0x4C9415,DS0(0x90DB03),3},
    1037. // ?? ????! C941D
    1038.    {0x4C941D+2,DS0(&HMTable[0].Ct[0]),4},
    1039. // ?? ????! {0x4C94BD+1,DS0(0x0D),1},
    1040.    {0x4C94BD+2,DS0(HMTable),4},
    1041. // ?? ????! {0x4C94E3+1,DS0(0x0D),1},
    1042.    {0x4C94E3+2,DS0(HMTable),4},
    1043. {0x4CD8E6+2,DS0(0x4504),2},{0x4CD8E6+4,DS0(&HMTable[0].Owner),4},
    1044. {0x4CD9D2+2,DS0(0x4D0C),2},{0x4CD9D2+4,DS0(&HMTable[0].Owner),4},
    1045. {0x4CDE34+1,DS0(0x05),1},{0x4CDE34+2,DS0(HMTable),4},
    1046. {0x4CE4F9+1,DS0(0x15),1},{0x4CE4F9+2,DS0(HMTable),4},
    1047. {0x4DA466+1,DS0(0x5D04),2},{0x4DA466+3,DS0(&HMTable[0].RefData2),4},
    1048. {0x4F4ED8+1,DS0(0x4514),2},{0x4F4ED8+3,DS0(&HMTable[0].Ct[0]),4},
    1049. {0x526FC7+1,DS0(0x4504),2},{0x526FC7+3,DS0(&HMTable[0].Movement),4},
    1050. {0x58D579+1,DS0(0x5504),2},{0x58D579+3,DS0(&HMTable[0].Name[0]),4},
    1051. {0x58D697+1,DS0(0x4504),2},{0x58D697+3,DS0(&HMTable[0].Name[0]),4},
    1052. {0x5BE681+2,DS0(0x4514),2},{0x5BE681+4,DS0(&HMTable[0].Owner),4},
    1053. {0x62C9C3,DS0(0xB8),1},{0x62C9C3+1,DS0(HMTable),4},
    1054. {0x62CB5F,DS0(0xB8),1},{0x62CB5F+1,DS0(HMTable),4},
    1055. */
    1056. /*
    1057. {0x4BB1EC+2,DS0(HERNUM),4},{0x4BB252+2,DS0(HERNUM),4},{0x4BB36F+2,DS0(HERNUM),4},
    1058. {0x4BB500+2,DS0(HERNUM),4},{0x4BD1CB+3,DS0(HERNUM),4},{0x4BE51D+1,DS0(HERNUM),4},
    1059. {0x4BE597+3,DS0(HERNUM),4},{0x4BEF9A+2,DS0(HERNUM),4},{0x4BF61E+2,DS0(HERNUM),4},
    1060. {0x4BF8D8+2,DS0(HERNUM),4},{0x4BFBA1+2,DS0(HERNUM),4}, // 4C2CCF 4CAADB ????????????? ?? _THero_
    1061. {0x4C81DE+2,DS0(HERNUM),4},{0x4C8222+2,DS0(HERNUM),4},{0x4C825F+2,DS0(HERNUM),4},
    1062. {0x4C89E5+1,DS0(HERNUM),4},{0x4CDE53+3,DS0(HERNUM),4},
    1063. */
    1064. // CastleManager
    1065. {0x5BF444,DS0(0x0C985),2}, // ??????????? ?? ????? ???????? ????
    1066. {0x5BF448,DS0(0x90C032),3}, // ??????????? ?? ????? ???????? ????
    1067. {0x5BF45A,DS0(0x0C985),2}, // ??????????? ?? ????? ???????? ????
    1068. // Magic
    1069. {0x4963E7+2,DS0(MAGICS),1},
    1070. {0x43F77B+3,DS (MagicAni),4},
    1071. {0x43FB67+3,DS0(MagicAni),4},
    1072. {0x4963F9+2,DS0(MagicAni),4},
    1073. {0x4965CD+2,DS0(MagicAni),4},
    1074. {0x5A5033+3,DS0(MagicAni),4},
    1075. {0x5A6B11+3,DS0(MagicAni),4},
    1076. {0x5A7A71+3,DS0(MagicAni),4},
    1077. {0x5A9629+3,DS0(MagicAni),4},
    1078. {0x496518+2,DS0(&MagicAni[0].Name),4},
    1079. {0x4689C1+3,DS0(&MagicAni[0].Name),4},
    1080. {0x4966CB+2,DS0(&MagicAni[0].Name),4},
    1081. {0x5A6D2A+3,DS0(&MagicAni[0].Name),4},
    1082. {0x5A7B03+3,DS0(&MagicAni[0].Name),4},
    1083. {0x43E500+3,DS0(&MagicAni[0].Type),4},
    1084. // L/N G/C (icon)
    1085. ////  {0x4579F5+2,0x0B,1}, // NG
    1086. ////  {0x45C912+2,0x0B,1}, // LG
    1087. ////  {0x5135C3+2,0x0B,1}, // NC
    1088. ////  {0x578820+2,0x0B,1}, //
    1089. {0x4C415E,DS0(0x73),1}, // ???????? (>=0x1C, ? ?? =0x1C)
    1090. {0x513791,DS0(0x73),1}, //
    1091. {0x5836DF,DS0(0x73),1}, //
    1092. {0x585BD7,DS0(0x73),1}, //
    1093. {0x58C168,DS0(0x73),1}, //
    1094. {0x502BA3,DS0(0x930F),2}, // ??? ???????? ???????? ?????????? ????????? 1 ????

    1095. // Dwellings
    1096. {0x418751+3,DS (DwMonster),4}, //
    1097. {0x4B85A0+3,DS0(DwMonster),4}, //
    1098. {0x5032D6+2,DS0(DwMonster),4}, //
    1099. {0x5032C7+1,DS0(&DwMonster[DWNUM-1]),4}, //
    1100. {0x5032BB+1,DS0(DWNUM-1),4}, //
    1101. {0x521A84+3,DS0(DwMonster),4}, //
    1102. {0x521A7F+2,DS0(DWNUM),1}, //
    1103. {0x534CE7+3,DS0(DwMonster),4}, //
    1104. {0x405CD8+2,DS0(&DwName[-1]),4}, //
    1105. {0x405CCE+2,DS0(DWNUM*4),4}, //
    1106. {0x40B514+3,DS (DwName),4}, //
    1107. {0x40B51E+3,DS0(DwName),4}, //
    1108. {0x413E6A+3,DS0(DwName),4}, //
    1109. {0x413E75+3,DS0(DwName),4}, //
    1110. {0x4A1550+3,DS0(DwName),4}, //
    1111. //{(long)&DwMonster[DWNUM_0+1],DS0(133),4},
    1112. {0x447473+2,DS0(MoJumper1),4}, // ????? ?????????? ?? ??????? ?????
    1113. {0x447468+2,DS0(MONNUM-13),1}, // ????? ?????????? ?? ??????? ?????
    1114. {0x4476FC  ,DS0(0x044748E),4}, // ????? ?????????? ?? ??????? ?????
    1115. {0x44825D+2,DS0(MoJumper2),4}, // ????? ???????
    1116. {0x44824C+2,DS0(MONNUM-13),1}, // ????? ???????
    1117. {0x440914+2,DS0(MoJumper3),4}, // ????????? ?? ????? ????? ???????
    1118. {0x440909+2,DS0(MONNUM-63),1}, // ????????? ?? ????? ????? ???????
    1119. {0x440235+2,DS0(MoJumper4),4}, // ????? ??????? ????? ????? ???????
    1120. {0x44023B+3,DS0(MoJumper4po),4}, // ????? ??????? ????? ????? ???????
    1121. {0x44022E+2,DS0(MONNUM-22),1}, // ????? ??????? ????? ????? ???????
    1122. {0x43DA9D+2,DS0(MoJumper5),4}, // ????????? ??????????? ??????
    1123. {0x43DA94+1,DS0(MONNUM-2),4}, // ????????? ??????????? ??????
    1124. {0x44A4B1+2,DS0(MoJumper6),4}, // ??????????? ???????? ????? ?? ???????
    1125. {0x44A4AA+2,DS0(MONNUM-16),1}, // ??????????? ???????? ????? ?? ???????
    1126. {0x421477+2,DS0(AIMagicJumper),4}, // AI ??????? ????? ?? ?????? ?????????
    1127. {0x421470+2,DS0(MONNUM-13),1}, //
    1128. {0x4F63EB,DS0(0),1}, // ?????????? ????? ???????
    1129. //  {0x4B8130,DS0((256+21)*4),4}, // ????? ? ??????? 256 - ?????.
    1130. // ????????? ??????? ? LE
    1131. {0x49FF98+2,DS0(8),1}, // ?????????? ???? ???????
    1132. // 3.58 fix Arrow Tower + Armorer bug
    1133. {0x465944,DS0(0x4D),1}, // fmul instead of fdiv
    1134. // ???????? ???????????
    1135. {0x5664B5+3,DS (SkelTrans),4},
    1136. {0x56689D+3,DS (SkelTrans),4},
    1137. {0x566D79+3,DS (SkelTrans),4},
    1138. {0x566F3C+3,DS (SkelTrans),4},
    1139. {0x566FA4+3,DS (SkelTrans),4},
    1140. {0x566FD1+3,DS (SkelTrans),4},
    1141. // fix ? ?????? ?? ???????? ? ?????, ???? ??? >145
    1142. {0x428885+1,DS (MONNUM*12),4},
    1143. {0x4288C4+2,DS (MONNUM*12),4},
    1144. {0x4288A3+3,DS (MONNUM),4},
    1145. {0x4288E3+1,DS (MONNUM),4},
    1146. // ????? ???? ? ????? ?? ???? ??? ?? ?????? ?????? ? ??????? ??
    1147. //  {0x476435+1,DS (0),1},
    1148. // ??????????? ???????? ??????? ? ??????, ???? ??????? ???
    1149. {0x4C698F,DS (0xC03B),2},
    1150. // ??????? ??????? ???????? Combo ??????????
    1151. {0x660B6C,DS (CArtSetup),4},
    1152. //    {0x4865C6+2,DS(160),4}, // ???? AI think about art
    1153. //    {0x486664+2,DS(160),4}, // ???? AI think about art
    1154. //    {0x4875EE+2,DS(160),4}, // ???? AI think about art
    1155. {0x48E5AD+2,DS(160),4},
    1156. {0x4CF67A+2,DS(160),4},
    1157. {0x4C2277+2,DS(160),4},
    1158. {0x4DC319+2,DS(160),4},
    1159. {0x4E33DC+2,DS (32),1},
    1160. {0x4E34B1+2,DS (32),1},
    1161. {0x4E353D+2,DS (32),1},
    1162. {0x4DC3C4+2,DS (32),1},
    1163. {0x4DC418+2,DS (32),1},
    1164. {0x4DC127+2,DS(160),4},
    1165. {0x4DC49E+2,DS (32),1},
    1166. {0x4DC1DA+2,DS(160),4},
    1167. {0x4DC240+2,DS(160),4},
    1168. {0x4DC26A+2,DS(160),4},
    1169. //  {0x44C549+2,DS(ARTNUM),4},
    1170. {0x44C549+2,DS(160),4},
    1171. {0x4DDFA4+2,DS(160),4}, // only first 160 arts may be a part of combo
    1172. {0x44D1A8+2,DS(160),4}, // only first 160 arts may be a part of combo
    1173. {0x4E2A5C+2,DS(160*32),4}, // only first 160 arts may be a part of combo
    1174. {0x4E2967+2,DS(160*32),4}, // only first 160 arts may be a part of combo
    1175. // ??????????
    1176. {(long)&DwMonster[DWNUM_0+ 0],DS0(150),4},  // 80
    1177. {(long)&DwMonster[DWNUM_0+ 1],DS0(151),4},  // 81
    1178. {(long)&DwMonster[DWNUM_0+ 2],DS0(152),4},  // 82
    1179. {(long)&DwMonster[DWNUM_0+ 3],DS0(153),4},  // 83
    1180. {(long)&DwMonster[DWNUM_0+ 4],DS0(154),4},  // 84
    1181. {(long)&DwMonster[DWNUM_0+ 5],DS0(155),4},  // 85
    1182. {(long)&DwMonster[DWNUM_0+ 6],DS0(156),4},  // 86
    1183. {(long)&DwMonster[DWNUM_0+ 7],DS0(157),4},  // 87
    1184. {(long)&DwMonster[DWNUM_0+ 8],DS0(158),4},  // 88
    1185. {(long)&DwMonster[DWNUM_0+ 9],DS0(171),4},  // 89
    1186. {(long)&DwMonster[DWNUM_0+10],DS0(170),4},  // 90
    1187. {(long)&DwMonster[DWNUM_0+11],DS0(168),4},  // 91
    1188. {(long)&DwMonster[DWNUM_0+12],DS0(172),4},  // 92 nightmare
    1189. {(long)&DwMonster[DWNUM_0+13],DS0(164),4},  // 93 golems (!!! must be corrected later down)
    1190. {(long)&DwMonster[DWNUM_0+14],DS0(169),4},  // 94 ??????? ?????
    1191. {(long)&DwMonster[DWNUM_0+15],DS0(173),4},  // 95 SG
    1192. // 3.58
    1193. {(long)&DwMonster[DWNUM_0+16],DS0(192),4},  // 96 Sylvan Centour
    1194. {(long)&DwMonster[DWNUM_0+17],DS0(193),4},  // 97 Sorceress
    1195. {(long)&DwMonster[DWNUM_0+18],DS0(194),4},  // 98 Werewolf
    1196. {(long)&DwMonster[DWNUM_0+19],DS0(195),4},  // 99 Fire Horse
    1197. {(long)&DwMonster[DWNUM_0+20],DS0(196),4},  // 100 Dracolich
    1198. // ????????? ?????? ???????? ? ?????? Kingdom Overview
    1199. {0x681860,DS('Z'),1}, // "ZlagPort.def"
    1200. {0x520ECF+2,DS(DWNUM+3),1}, // Horn
    1201. {0x520EFC+3,DS(DWNUM+3),4},
    1202. {0x520F2C+2,DS(DWNUM+4),1}, // Horn Anti-Magic
    1203. {0x520F55+3,DS(DWNUM+4),4},
    1204. {0x520FF9+2,DS(DWNUM+7),1}, // Shypyard
    1205. {0x52103A+3,DS(DWNUM+7),4},
    1206. {0x520C76+2,DS(DWNUM+5),1}, // Abandoned Mine
    1207. {0x520CA7+3,DS(DWNUM+5),4},
    1208. {0x520CE9+2,DS(DWNUM+2),1}, // Lighthouse
    1209. {0x520D1A+3,DS(DWNUM+2),4},
    1210. //  {0x520ECF+2,DS(DWNUM-5),1}, // Horn
    1211. //  {0x520EFC+3,DS(DWNUM-5),4},

    1212. // 3.59
    1213. // new town support
    1214. {0x5C0359+3,DS(AllEnBuildings),4},
    1215. {0x5C0360+3,DS(AllEnBuildings)+4,4},
    1216. {0x5C3836+3,DS(AllEnBuildings),4},
    1217. {0x5C383F+3,DS(AllEnBuildings)+4,4},
    1218. {0x5D3749+3,DS(AllEnBuildings),4},
    1219. {0x5D3753+3,DS(AllEnBuildings)+4,4},
    1220. {0x5D378A+3,DS(AllEnBuildings),4},
    1221. {0x5D3793+3,DS(AllEnBuildings)+4,4},
    1222. {0x5C0E9C+3,DS(AllEnBuildings),4},
    1223. {0x5C0EA3+3,DS(AllEnBuildings)+4,4},
    1224. {0x5C0FE8+3,DS(AllEnBuildings),4},
    1225. {0x5C0FF1+3,DS(AllEnBuildings)+4,4},
    1226. {0x5C0D72+3,DS(AllEnBuildings),4},
    1227. {0x5C0D81+3,DS(AllEnBuildings)+4,4},

    1228. {0x5C11D7+3,DS(BuildDepends),4},
    1229. {0x5C11DE+3,DS(BuildDepends)+4,4},
    1230. {0x42B281+3,DS(BuildDepends),4},
    1231. {0x42B290+3,DS(BuildDepends)+4,4},
    1232. {0x5C12E5+3,DS(BuildDepends),4},
    1233. {0x5C12EC+3,DS(BuildDepends)+4,4},
    1234. {0x5C1377+3,DS(BuildDepends),4},
    1235. {0x5C137E+3,DS(BuildDepends)+4,4},
    1236. {0x5D6015+3,DS(BuildDepends),4},
    1237. {0x5D601C+3,DS(BuildDepends)+4,4},

    1238. {0x5BED7F+3,DS(BuildExclusions),4},
    1239. {0x5BED88+3,DS(BuildExclusions)+4,4},
    1240. {0x5C0F07+3,DS(BuildExclusions),4},
    1241. {0x5C0F18+3,DS(BuildExclusions)+4,4},
    1242. {0x5C0D0E+3,DS(BuildExclusions),4},
    1243. {0x5C0D15+3,DS(BuildExclusions)+4,4},
    1244. {0x5BF2E3+3,DS(BuildExclusions),4},
    1245. {0x5BF2EA+3,DS(BuildExclusions)+4,4},
    1246. {0x5BF782+3,DS(BuildExclusions),4},
    1247. {0x5BF789+3,DS(BuildExclusions)+4,4},
    1248. {0x5C03A4+3,DS(BuildExclusions),4},
    1249. {0x5C03AB+3,DS(BuildExclusions)+4,4},
    1250. {0x5C0C64+3,DS(BuildExclusions),4},
    1251. {0x5C0C6B+3,DS(BuildExclusions)+4,4},
    1252. //  {0x5C1974+2,DS(BuildExclusions)+8,4}, // check for previous field
    1253. {0x5D606B+2,DS(BuildExclusions),4},

    1254. {0x460DE2+3,DS(TownStructOnScreen),4},

    1255. {0x460DD1+2,DS(TownStructOnScreenNum),4},
    1256. {0x461038+2,DS(TownStructOnScreenNum),4},
    1257. {0x46131D+2,DS(TownStructOnScreenNum),4},
    1258. {0x4613AE+2,DS(TownStructOnScreenNum),4},
    1259. {0x4613CC+2,DS(TownStructOnScreenNum),4},
    1260. {0x46140F+2,DS(TownStructOnScreenNum),4},
    1261. {0x46142B+2,DS(TownStructOnScreenNum),4},
    1262. {0x4614C2+2,DS(TownStructOnScreenNum),4},
    1263. {0x4614DE+2,DS(TownStructOnScreenNum),4},
    1264. {0x46162D+2,DS(TownStructOnScreenNum),4},
    1265. // Lod support
    1266. {0x559395+1,DS(&LodTable[0]),4},
    1267. {0x5593A4+1,DS(&LodTable[1]),4},
    1268. {0x5593B3+1,DS(&LodTable[2]),4},
    1269. {0x5593C2+1,DS(&LodTable[3]),4},
    1270. {0x5593D1+1,DS(&LodTable[4]),4},
    1271. {0x5593E0+1,DS(&LodTable[5]),4},
    1272. {0x5593EF+1,DS(&LodTable[6]),4},
    1273. {0x5593FE+1,DS(&LodTable[7]),4},
    1274. {0x55944C+1,DS(LodTable),4},
    1275. {0x55A571+2,DS(LodTable),4},
    1276. {0x55A577+2,DS(LodTable+4),4},
    1277. {0x55A629+2,DS(LodTable),4},
    1278. {0x55A62F+2,DS(LodTable+4),4},
    1279. {0x55A726+2,DS(LodTable+4),4},
    1280. {0x55A7D8+1,DS(LodTable+4),4},
    1281. {0x55ABB8+2,DS(LodTable+4),4},
    1282. {0x55ABE1+2,DS(LodTable+4),4},
    1283. {0x55AC3D+2,DS(LodTable+4),4},
    1284. {0x55AC6A+2,DS(LodTable+4),4},
    1285. {0x55AFC6+2,DS(LodTable+4),4},
    1286. {0x55AFEF+2,DS(LodTable+4),4},
    1287. {0x55B04A+2,DS(LodTable+4),4},
    1288. {0x55B077+2,DS(LodTable+4),4},
    1289. {0x55B40D+2,DS(LodTable+4),4},
    1290. {0x55B436+2,DS(LodTable+4),4},
    1291. {0x55B492+2,DS(LodTable+4),4},
    1292. {0x55B4BF+2,DS(LodTable+4),4},
    1293. {0x55B7D0+2,DS(LodTable+4),4},
    1294. {0x55B7F9+2,DS(LodTable+4),4},
    1295. {0x55B852+2,DS(LodTable+4),4},
    1296. {0x55B879+2,DS(LodTable+4),4},
    1297. {0x55BBE3+2,DS(LodTable+4),4},
    1298. {0x55BC0C+2,DS(LodTable+4),4},
    1299. {0x55BC68+2,DS(LodTable+4),4},
    1300. {0x55BC95+2,DS(LodTable+4),4},
    1301. {0x55BEF8+2,DS(LodTable+4),4},
    1302. {0x55BF21+2,DS(LodTable+4),4},
    1303. {0x55C1C8+2,DS(LodTable+4),4},
    1304. {0x55C1F1+2,DS(LodTable+4),4},
    1305. {0x55CA54+2,DS(LodTable+4),4},
    1306. {0x55CA7D+2,DS(LodTable+4),4},
    1307. {0x55CAD7+2,DS(LodTable+4),4},
    1308. {0x55CB00+2,DS(LodTable+4),4},
    1309. {0x55D197+2,DS(LodTable+4),4},
    1310. {0x55D1C0+2,DS(LodTable+4),4},
    1311. {0x55D227+2,DS(LodTable+4),4},
    1312. {0x55D250+2,DS(LodTable+4),4},
    1313. {0x55D2A8+2,DS(LodTable+4),4},
    1314. {0x55D2C7+2,DS(LodTable+4),4},

    1315. //  {0x559575+1,DS(&LodTypes::Table[0]),4},
    1316. //  {0x5595B0+1,DS(&LodTypes::Table[1]),4},
    1317. //  {0x5595DF+1,DS(&LodTypes::Table[2]),4},
    1318. //  {0x559606+1,DS(&LodTypes::Table[3]),4},
    1319. {0x55A548+3,DS(LodTypes::Table),4},
    1320. {0x55ABA3+3,DS(LodTypes::Table),4},
    1321. {0x55AC28+3,DS(LodTypes::Table),4},
    1322. {0x55AFB1+3,DS(LodTypes::Table),4},
    1323. {0x55B035+3,DS(LodTypes::Table),4},
    1324. {0x55B3F8+3,DS(LodTypes::Table),4},
    1325. {0x55B47D+3,DS(LodTypes::Table),4},
    1326. {0x55B7BB+3,DS(LodTypes::Table),4},
    1327. {0x55B840+3,DS(LodTypes::Table),4},
    1328. {0x55BBCE+3,DS(LodTypes::Table),4},
    1329. {0x55BC53+3,DS(LodTypes::Table),4},
    1330. {0x55BEE3+3,DS(LodTypes::Table),4},
    1331. {0x55C1B3+3,DS(LodTypes::Table),4},
    1332. {0x55C43F+3,DS(LodTypes::Table),4},
    1333. {0x55CA38+3,DS(LodTypes::Table),4},
    1334. {0x55CA3F+3,DS(LodTypes::Table),4},
    1335. {0x55CABB+3,DS(LodTypes::Table),4},
    1336. {0x55CAC2+3,DS(LodTypes::Table),4},
    1337. {0x55D17B+3,DS(LodTypes::Table),4},
    1338. {0x55D212+3,DS(LodTypes::Table),4},
    1339. {0x55D296+3,DS(LodTypes::Table),4},
    1340. {0x55CA31+3,DS(&LodTypes::Table[0][0].Inds),4},
    1341. {0x55CAB4+3,DS(&LodTypes::Table[0][0].Inds),4},
    1342. {0x55D174+3,DS(&LodTypes::Table[0][0].Inds),4},
    1343. {0x55AB9C+3,DS(&LodTypes::Table[0][1]),4},
    1344. {0x55AC21+3,DS(&LodTypes::Table[0][1]),4},
    1345. {0x55AFAA+3,DS(&LodTypes::Table[0][1]),4},
    1346. {0x55B02E+3,DS(&LodTypes::Table[0][1]),4},
    1347. {0x55B3F1+3,DS(&LodTypes::Table[0][1]),4},
    1348. {0x55B476+3,DS(&LodTypes::Table[0][1]),4},
    1349. {0x55B7B4+3,DS(&LodTypes::Table[0][1]),4},
    1350. {0x55B839+3,DS(&LodTypes::Table[0][1]),4},
    1351. {0x55BBC7+3,DS(&LodTypes::Table[0][1]),4},
    1352. {0x55BC4C+3,DS(&LodTypes::Table[0][1]),4},
    1353. {0x55BEDC+3,DS(&LodTypes::Table[0][1]),4},
    1354. {0x55C1AC+3,DS(&LodTypes::Table[0][1]),4},
    1355. {0x55D20B+3,DS(&LodTypes::Table[0][1]),4},
    1356. {0x55AB95+3,DS(&LodTypes::Table[0][1].Inds),4},
    1357. {0x55AC1A+3,DS(&LodTypes::Table[0][1].Inds),4},
    1358. {0x55AFA3+3,DS(&LodTypes::Table[0][1].Inds),4},
    1359. {0x55B027+3,DS(&LodTypes::Table[0][1].Inds),4},
    1360. {0x55B3EA+3,DS(&LodTypes::Table[0][1].Inds),4},
    1361. {0x55B46F+3,DS(&LodTypes::Table[0][1].Inds),4},
    1362. {0x55B7AD+3,DS(&LodTypes::Table[0][1].Inds),4},
    1363. {0x55B832+3,DS(&LodTypes::Table[0][1].Inds),4},
    1364. {0x55BBC0+3,DS(&LodTypes::Table[0][1].Inds),4},
    1365. {0x55BC45+3,DS(&LodTypes::Table[0][1].Inds),4},
    1366. {0x55BED5+3,DS(&LodTypes::Table[0][1].Inds),4},
    1367. {0x55C1A5+3,DS(&LodTypes::Table[0][1].Inds),4},
    1368. {0x55D204+3,DS(&LodTypes::Table[0][1].Inds),4},
    1369. {0x55D28F+3,DS(&LodTypes::Table[0][1].Inds),4},
    1370. {0x55C438+3,DS(&LodTypes::Table[0][2]),4},

    1371. // Spells support
    1372. {0x59E467+3,DS(Spells),4},
    1373. {0x687FA8,DS(Spells),4},

    1374. {0,0}
    1375. };

    1376. struct __Copiers{
    1377. Byte *from;
    1378. Byte *to;
    1379. long  len;
    1380. } Copiers[]={
    1381. // FindERMn
    1382. {(Byte *)"\xE8\x1\x1\x1\x1\x5E\x33\xC0\x5B\x5D\xC2\x10\x00",(Byte *)0x4FDF8B,13},
    1383. // FindERMl
    1384. {(Byte *)"\xE8\x1\x1\x1\x1\x5E\x33\xC0\x5B\x8B\xE5\x5D\xC2\x10\x00",(Byte *)0x4FE577,15},
    1385. // EventERM
    1386. //  {(Byte *)"\xE8\x1\x1\x1\x1\x6A\xFF\xEB\x06\x90\x55\x8B\xEC\xEB\xF1",(Byte *)0x49F6F6,15},
    1387. // GlobalEvent
    1388. // Castle Service
    1389. {(Byte *)"\x89\x7D\xF0\xE8\x1\x1\x1\x1\x83\xFF\x19\x90\x90\x90\x90\x90",(Byte *)0x5D38AA,16},
    1390. {(Byte *)"\xE8\x1\x1\x1\x1\x33\xC0\x90\x3B\xDF",(Byte *)0x5D6B90,10},
    1391. // NextHeroChoosen
    1392. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x58DF33,7},
    1393. // New Speciality
    1394. {(Byte *)"\xE8\x1\x1\x1\x1\xEB\x20",(Byte *)0x4E11E0,7}, //Picture 1 Prepare
    1395. {(Byte *)"\x8D\x4D\xD8\xE8\x1\x1\x1\x1\xEB\x14",(Byte *)0x4E1F35,10}, //Picture 1,2 Show
    1396. {(Byte *)"\x6C",(Byte *)0x68C782,1}, //Original Picture 2 Disable
    1397. {(Byte *)"\xE8\x1\x1\x1\x1\xEB\x1D",(Byte *)0x4DED05,7}, //Picture 2 Prepare
    1398. {(Byte *)"\xE8\x1\x1\x1\x1\x8B\xF8\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4DDA15,18}, //Text 1,2
    1399. // FileLoader
    1400. {(Byte *)"\xE8\x1\x1\x1\x1\xC3",(Byte *)0x47A6B3,6},
    1401. // New/Load Map/Game
    1402. ////  {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4C413E,5}, // N G (???)
    1403. ////  {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4C5323,5}, // L G (???)
    1404. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90",(Byte *)0x5849C7,9}, // N G (???)
    1405. ////  {(Byte *)"\x8B\x4B\x0C\x89\x4F\x0C\x8B\x4B\x10\x89\x4F\x10\x8B\x53\x14\x89\x57\x14",(Byte *)0x58F7DB,18}, // copy (???)
    1406. ////  {(Byte *)"\x8B\x4B\x0C\x89\x4F\x0C\x8B\x4B\x10\x89\x4F\x10\x8B\x53\x14\x89\x57\x14",(Byte *)0x59083A,18}, // copy (???)
    1407. //  {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4C413E,5},
    1408. //CrBank
    1409. {(Byte *)0x67037C,(Byte *)crbankt1,sizeof(crbanks1)*BANKNUM_0},
    1410. {(Byte *)0x6702A0,(Byte *)crbankt2,sizeof(crbanks2)*BANKNUM_0},
    1411. //Monsters
    1412. {(Byte *)0x6703B8,(Byte *)MonTable,sizeof(_MonInfo_)*MONNUM_0},
    1413. // HeroSpec
    1414. {(Byte *)0x678420,(Byte *)HSpecTable,sizeof(_HeroSpec_)*HERNUM_0},
    1415. // HeroInfo
    1416. {(Byte *)0x679DD0,(Byte *)HTable,sizeof(_HeroInfo_)*(HERNUM_0+8)},
    1417. // Magic
    1418. {(Byte *)0x641E18,(Byte *)MagicAni,sizeof(_MagicAni_)*0x53},
    1419. // Dwellings
    1420. {(Byte *)0x63D570,(Byte *)DwMonster,sizeof(int)*DWNUM_0},
    1421. // ???????? ????? ??????? (AvWattak.def)
    1422. //  {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4118BF,6},
    1423. // ???????? ??????? ??????? (AvWattak.def)
    1424. //  {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4110C7,6},
    1425. // ????. ?????? ? ?????????? ????????
    1426. //  {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x43DA8E,6},
    1427. // ????? ????????
    1428. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x44571B,5},
    1429. // ????? 1
    1430. {(Byte *)"\xE8\x1\x1\x1\x1\x0A\xC0",(Byte *)0x464944,7},
    1431. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4649AA,21},
    1432. // ???????? ?? ????????
    1433. //  {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x4650C5,8},
    1434. // ???????? ?? ????-????
    1435. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x440245,6},
    1436. // ???????? ?? ????? (????????)
    1437. {(Byte *)"\xE8\x1\x1\x1\x1\x3D\xFF\xFF\xFF\xFF\x90\x90\x90\x90\x90",(Byte *)0x446BD6,15},
    1438. {(Byte *)"\x8B\xCA\x90\x90\x90\x3B\xC2\x90",(Byte *)0x446C2E,8},
    1439. // ???????? ?? ??????? (????????)
    1440. {(Byte *)"\xE8\x1\x1\x1\x1\x0A\xC0",(Byte *)0x46905A,7},
    1441. // ???????? ?? harpy (????? ?????)
    1442. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x0A\xC0",(Byte *)0x47832B,8},
    1443. // ??????? ?? ?????????? ?????? Message
    1444. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4F6C0A,6},
    1445. // ??????? ?? ?????? - ??? ?????? ????????
    1446. {(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x90",(Byte *)0x46723E,8},
    1447. // ???????? ?? ???????
    1448. {(Byte *)"\xE8\x1\x1\x1\x1\x0B\xD2\x74\x09\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x44B00D,16},
    1449. // ???????? ?? ???????
    1450. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x43D954,8},
    1451. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x4B3736,8},
    1452. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4B301C,12},
    1453. // ???????? ?? ???????
    1454. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90\x0B\xC0\x74\x29",(Byte *)0x44C049,14},
    1455. // ???????? ?? ??????
    1456. {(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x74\x07\x90\x90\x90\x90\x90",(Byte *)0x44ACF1,14},
    1457. {(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x74\x07\x90\x90\x90\x90\x90",(Byte *)0x44BA58,14},
    1458. // ???????? ?? ??????
    1459. {(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x74\x07\x90\x90\x90\x90\x90",(Byte *)0x44BA6F,14},
    1460. // ???????? ?? ?????????? ?????
    1461. {(Byte *)"\x75\x71\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4C4141,24},
    1462. // ???????? ??????? ????????
    1463. //  {(Byte *)"\xE8\x1\x1\x1\x1\xEB\x38",(Byte *)0x41ABF4,7},
    1464. // ????????? ???? ???????? ?????? ??????
    1465. //  {(Byte *)0x63E678,NewMonthMonTypes,12},
    1466. // ?????????? ??? ????? ????? ?? ????????
    1467. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x45B3E1,5},
    1468. // +1 ??????? ??? ?????
    1469. {(Byte *)"\x0B",(Byte *)0x4DAB49,1},
    1470. {(Byte *)"\xE8\x1\x1\x1\x1\x8B\xF0\x89\x75\xEC",(Byte *)0x4DAB55,10},
    1471. {(Byte *)"\x90\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4DAB65,9},
    1472. // ???????? ????? ????? ??? ??????
    1473. //  {(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x90\x90\x90\x90\x90\x90\x90\x90\x90\x0F\x85",(Byte *)0x46713A,18},
    1474. {(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x0F\x85",(Byte *)0x46711A,50},
    1475. // ??????????? ?????????? ??? ?? ???????? ?? ????? ? ????
    1476. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x50D0FA,6},
    1477. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x50D103,6},
    1478. // ??????? ??????? ??????????
    1479. {(Byte *)0x63E758,(Byte *)ArtBonus,ARTNUM_0*4},
    1480. {(Byte *)ArtBonusAdd,(Byte *)ArtBonus[ARTNUM_0],(ARTNUM-ARTNUM_0)*4},
    1481. // ???? ??? ??????????
    1482. {(Byte *)"\xE8\x1\x1\x1\x1\x8B\xF0",(Byte *)0x4DB68C,7},
    1483. // ???? ????????? ??????
    1484. {(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0",(Byte *)0x47602C,7},
    1485. // ???? ????? ???? ???????
    1486. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x44836D,6},
    1487. // ????? ?????? ????
    1488. {(Byte *)"\xE8\x1\x1\x1\x1\xEB\x38",(Byte *)0x4FBFFE,7},
    1489. // ??????? ??????? ????
    1490. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90",(Byte *)0x409389,10},
    1491. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90",(Byte *)0x409314,10},
    1492. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x5B397E,6},
    1493. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4F0568,5},
    1494. // ????????? ???? ?????
    1495. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x49389F,6},
    1496. // ??????? ??????? ??? AI ???? ?????? ???????
    1497. ////  {(Byte *)"\xE9\x08\x04\x0\x0\x90",(Byte *)0x42EF3C,6},
    1498. ////  {(Byte *)"\xEB",(Byte *)0x42F15B,1},
    1499. // NPC
    1500. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4DA9B6,5},
    1501. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x46359E,7},
    1502. //  {(Byte *)"\xE8\x1\x1\x1\x1\xE9\x2E\xFC\xFF\xFF",(Byte *)0x4DD981,10},
    1503. // Champion
    1504. {(Byte *)"\xC7\x45\xF0\x0\x0\x0\x0\xE8\x1\x1\x1\x1",(Byte *)0x443066,12},
    1505. // Death Stare
    1506. //  {(Byte *)"\x90\x90\x90\x90\x90",(Byte *)0x440BFB,5},
    1507. {(Byte *)"\xE8\x1\x1\x1\x1\x8B\xD9\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x440BF6,15},
    1508. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x440C40,5},
    1509. // ???????? ??? ????????
    1510. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x84\xC0",(Byte *)0x474589,8},
    1511. // ????? ?????? ? ?????? ????????????? ?????
    1512. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x4DD632,7},
    1513. // ???? ?????? ?? ???? ????? ?? ??????
    1514. {(Byte *)"\xE8\x1\x1\x1\x1\xEB\x1E\x90\x90\x90",(Byte *)0x47265C,10},
    1515. // ????? ????? ?? ? ??????
    1516. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x5D3867,6},
    1517. // ???? ?????? ??? ??????? ??????
    1518. {(Byte *)"\xE8\x1\x1\x1\x1\x8D\x70\xFF\x81\xFE\xD6\x0\x0\x0\x0F\x87\x11\x06\x0\x0",(Byte *)0x5B02DD,20},
    1519. // ?????????????? ?????????? ???????
    1520. {(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x74\x54",(Byte *)0x4E3879,9},
    1521. // ???? ?????? ?? ???? ?????
    1522. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4746E8,6},
    1523. // ????????? LE c ????????
    1524. {(Byte *)"\x8B\x7D\x1C\xE8\x1\x1\x1\x1",(Byte *)0x49F7BA,8},
    1525. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x33\xFF",(Byte *)0x49FDE4,8},
    1526. // ??????? ????????
    1527. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x4E2CC1,7},
    1528. // ??????? ????????
    1529. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x4E2F60,7},
    1530. // ???? ???? ? ?? ? ?????????? ???????? (???????? ??? ????? ??????????? ???????)
    1531. {(Byte *)"\x33\xFF\x90\x90\x90\x90\x90",(Byte *)0x42C8B4,7},
    1532. {(Byte *)"\x33\xF6\x90\x90\x90\x90\x90",(Byte *)0x42C77F,7},
    1533. // ????? ???????? ????????????? ????? ? ?? ????????????? ?????? ??????
    1534. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x5570C1,6},
    1535. // ????? ????? ??? ????? (??????? ??????? ? ?????? ?????)
    1536. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90",(Byte *)0x5BC9B1,9},

    1537. // ????? ????????? ?????
    1538. {(Byte *)&MagicAniAdd[0],(Byte *)&MagicAni[0x53],sizeof(MagicAniAdd)},
    1539. {(Byte *)&_MonAdd[0],(Byte *)&MonTable[MONNUM_0],sizeof(_MonAdd)},
    1540. // ????? ?????
    1541. {(Byte *)0x683A10,(Byte *)VidArr,sizeof(_VidInfo_)*VIDNUM_0},
    1542. {(Byte *)&VidArrAdd[0],(Byte *)&VidArr[VIDNUM_0],sizeof(VidArrAdd)},
    1543. // ?????
    1544. //  {(Byte *)HBiosTablePluss,(Byte *)&HBiosTable[HERNUM_0+8],sizeof(HBiosTablePluss)},
    1545. //  {(Byte *)HSpecTablePluss,(Byte *)&HSpecTable[HERNUM_0],sizeof(HSpecTablePluss)},
    1546. //  {(Byte *)HTablePluss,(Byte *)&HTable[HERNUM_0+8],sizeof(HTablePluss)},
    1547. //  {(Byte *)HTable2Pluss,(Byte *)&HTable2[HERNUM_0],sizeof(HTable2Pluss)},
    1548. // MP3 ?????
    1549. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x59AC51,5}, //
    1550. // 3.58
    1551. // Carry Over Hero Setup
    1552. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4860F9,6}, //
    1553. // Carry Over Hero New Art Setup
    1554. {(Byte *)"\xEB\x19",(Byte *)0x486672,2}, //
    1555. {(Byte *)"\xEB\x5C\x90",(Byte *)0x4865CE,3}, // ROE
    1556. {(Byte *)"\x83",(Byte *)0x4875F5,1}, // 3.59 ROE carry over new arts crash fix
    1557. // ?????? ?????
    1558. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x59A893,5}, //
    1559. // ???? ???????? ? ??????? ?? 0x5be8ae
    1560. // ???? ???? ? ??????? ????????? (SoD)
    1561. {(Byte *)"\x0F\x84\x65\x01\x00\x00",(Byte *)0x5BE88B,6}, //
    1562. //Skeleton Transformer
    1563. {(Byte *)0x64130C,(Byte *)SkelTrans,sizeof(int)*(MONNUM_0-5)},
    1564. {(Byte *)&SkelTransAdd[0],(Byte *)&SkelTrans[MONNUM_0-5],sizeof(SkelTransAdd)},
    1565. // Speed up AI thinking (0x00007D00 original)
    1566. // Now through ERM
    1567. //  {(Byte *)"\x00\x10\x00\x00",(Byte *)0x526C9E,4}, //
    1568. //  {(Byte *)"\x00\x10\x00\x00",(Byte *)0x526CEE,4}, //
    1569. // Post Instruction call 3.58
    1570. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90",(Byte *)0x4C01A2,10}, //
    1571. // ??????? ?????? ? ??????
    1572. {(Byte *)"\xE8\x1\x1\x1\x1\xE9\x69\xFF\xFF\xFF",(Byte *)0x5D520D,10}, //
    1573. // ??????? ?????? ?????? ?????? ?????
    1574. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4DDD77,20}, //
    1575. // ???? ??????? ?????????? ?????? ??? ??????? - ?????? ?????????
    1576. {(Byte *)"\x5A\xE4\x5E\x00\x5A\xE4\x5E\x00",(Byte *)0x5EE9E0,8}, //
    1577. // ???? ???????????? ????????? ??? ?????????? ? ??????? ? ArtMerchant
    1578. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x5EEBC5,6}, //
    1579. // ??????? ????? ???????? ?? ?????
    1580. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x4E86E3,7}, //
    1581. // ??????? ????? ???????? ? ?????? ???????
    1582. {(Byte *)"\x8D\x45\x08\xE8\x1\x1\x1\x1\x90",(Byte *)0x4C6BD3,9}, //
    1583. // ???????? ???? ???????? ?????
    1584. {(Byte *)"\x90\x53\x56\xE8\x1\x1\x1\x1\x8B\xF0\xEB\x11\x90",(Byte *)0x4E556F,13}, //
    1585. // ??????????? ?????? ?????? ??? ?????? ??????
    1586. {(Byte *)"\xE8\x1\x1\x1\x1\x8B\x43\x4C\x3B\xC7\x8B\x43\x34\x90",(Byte *)0x4790C3,14}, //
    1587. // ??????????? ?????? DeathBlow
    1588. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4435A3,6}, //
    1589. // ??????????? ?????? ?????? ?????? ??????????? ???????
    1590. {(Byte *)"\x8B\x4D\x08\xE8\x1\x1\x1\x1\x0B\xC0\x0F\x84\x6B\x02\x00\x00\x8B\x4D\xF0\xEB\x67\x90\x90",(Byte *)0x443195,23}, //
    1591. // SoD ????. ????????? ???????? ?????? ??? ???? ?????
    1592. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4D8F1D,6}, //
    1593. // ??????? ????? ????? ?????
    1594. //  {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x5F\x5E\x5B",(Byte *)0x4412AE,10}, //
    1595. // ???????? - ?????????? ?????? ??????
    1596. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x43DDCE,5}, //
    1597. // unicorn - ?????????? ????
    1598. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x43E800,5}, //
    1599. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x43E8AE,5}, //
    1600. // ????????????? ???? ????? Dispel
    1601. {(Byte *)"\x8B\x4D\x10\x51\x8B\x4D\x0C\x51\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x5A8454,16}, //
    1602. {(Byte *)"\x8B\x4D\x10\x51\x8B\x4D\x0C\x51\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x5A84DF,16}, //
    1603. // ???? ?? ???????? ?? ????? ??????????/?????????? ???????
    1604. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x462847,5}, //
    1605. // ?????? ?? ????? ???? ???????
    1606. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x50CEAA,6}, //
    1607. // ?????? ???? ????? ????????? (????? ??????? ??????????? !!!!)
    1608. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x5A87AD,6}, //
    1609. // ???? ??????? ??? ?????? ??? ??????? ?????????? ??? ??????????? ??????
    1610. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x619BB1,6}, //
    1611. // fix Win98 quit crash
    1612. {(Byte *)"\xE8\x1\x1\x1\x1\x85\xC9\x74\x49\x90\x90",(Byte *)0x4F84F4,11}, //
    1613. // new WoG 3.58 art - shield (retailate)
    1614. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x441AFF,6}, //
    1615. // new WoG 3.58 art - axe (+1strike)
    1616. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x441C01,6}, //
    1617. // fix No default Bio if a name set but bio not
    1618. {(Byte *)"\x33\xC0\x90\x90\x90",(Byte *)0x4DD96C,5}, //
    1619. //  {0x48E5B3,DP(0x75),1}, // Combo arts fix for arts >160
    1620. {(Byte *)"\xEB\x26\x90\x90\x90\x90\x90",(Byte *)0x48E5B5,7}, //
    1621. {(Byte *)"\xEB\xD0\x90",(Byte *)0x4DC248,3}, //
    1622. // Dracolish (Power Lich shoot)
    1623. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90",(Byte *)0x43FA1F,9}, //
    1624. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x41ED5F,5}, //
    1625. // 3.58 Combo Part fix
    1626. {(Byte *)"\xE9\x80\x0\x0\x0",(Byte *)0x4E2D43,5}, //
    1627. {(Byte *)"\xE9\x7B\x0\x0\x0",(Byte *)0x4E2EB3,5}, //
    1628. {(Byte *)"\x5F\x73\x24\x90\x90",(Byte *)0x4CF682,5}, //
    1629. {(Byte *)"\xEB\x23\x90",(Byte *)0x4DC12F,3}, //
    1630. // Swap AI stacks before battle
    1631. //  {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4ADFAD,5}, //
    1632. // Shooting Animation for spec units (type of shoot in the table 0)
    1633. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x43DAAA,5}, //
    1634. // ????? ???? ? ???? ?????? ?? ???? - ??????? (3.58)
    1635. //  {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x40624D,5}, //
    1636. // ????? ??????????? ?? ???????? ??? ???????-?????
    1637. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x5A7579,7}, //
    1638. {(Byte *)"\x90\x90\x90",(Byte *)0x5A7586,3}, //
    1639. // ????? ??????????? ?? ???????? ??? ???????-?????
    1640. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x5A8D56,7}, //
    1641. {(Byte *)"\x90\x90\x90",(Byte *)0x5A8D63,3}, //
    1642. // ?????????? ????? ???? ???????? ? ???? Kingdom Overview
    1643. {(Byte *)"\x90\x90\x90",(Byte *)0x520DA0,3}, //
    1644. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x520DB3,5}, //
    1645. // SoD ????????????? ??? ??? ????????? ViewEarth
    1646. {(Byte *)"\x90\x90",(Byte *)0x5FC087,2}, //
    1647. {(Byte *)"\x90\x90",(Byte *)0x5FC0B5,2}, //
    1648. // ?? ???????? ?????? ???, ???? ????????? ?? ????????
    1649. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x43FF7E,6}, //
    1650. // ??????? ????
    1651. //  {(Byte *)"\xE8\x1\x1\x1\x1\xC3",(Byte *)0x51BD60,6}, //
    1652. // ?????? ????? ????? ?? ??????????
    1653. {(Byte *)"\xE8\x1\x1\x1\x1\x3B\xD0",(Byte *)0x5A875B,7}, //
    1654. // 3.58f correct version "3 . 5 8"
    1655. //  {(Byte *)WOG_VERSION_WIDE,(Byte *)0x6B09EC,8}, //
    1656. // ?????? ?????? ????? ?? GR ??? ???????? ?? ????. ?????
    1657. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x486245,8}, //
    1658. // 3.58f Fix "no Commander shooting animation loaded"
    1659. {(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x43DA74,6}, //
    1660. // 3.58f Fix "wrong town info in town list MP"
    1661. {(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x5D4643,5}, //
    1662. // 3.59
    1663. // fix to not show minimap to the first human player
    1664. {(Byte *)"\x90\x90\x90\x90\x90",(Byte *)0x4C752C,5}, //
    1665. // WoG Lod files
    1666. {(Byte *)"h3wog.lod",(Byte *)0x682F08,10}, //
    1667. {(Byte *)"h3custom.lod",(Byte *)0x682EF8,13}, //

    1668. {(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4472F8,15}, //
    1669. // Spells support
    1670. {(Byte *)0x6854A0,(Byte *)Spells,sizeof(_Spell_)*SPELLNUM_0}, //


    1671. {0,0,0}
    1672. };
    1673. =============================
    复制代码
  • TA的每日心情
    开心
    2021-4-13 20:27
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]野猪

    154

    回帖

    9152

    金币

    4

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    699

    论坛元老杰出贡献

    发表于 2008-4-6 11:03:25 | 显示全部楼层
    Slava的回信说的意思我以前就猜到了,他说他的外壳(wog部分)包含大量引用单字节sod程序中的地址,为了找这些地址他花了一两年时间,而双字节sod与单字节sod有很大不同,这些地址当然都不同了,为了在双字节sod中重新找到这些地址需要花上两年以上的时间(也许这就是他们不去做双字节版的原因),但我认为通过对两种sod的比对,然后进行平移,不像他们从零做起,应该不需要那么长的时间,并且我们还有其它更好的办法吗?
    那段源码应该是C++,但我不熟,很久没有搞软件了。但坛里肯定有许多年轻人懂这个,他们可以看看读的懂不。

    该用户从未签到

    342

    回帖

    1万

    金币

    3

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    635
    发表于 2008-4-6 19:41:57 | 显示全部楼层
    jacklee那边有大名鼎鼎的游侠网汉化工作组,如果能帮忙汉化,定会成功的。我是业余人员,已有自己的工作,平时时间不多,不过如果有什么能帮得上忙,一定尽力而为。

    该用户从未签到

    1551

    回帖

    1万

    金币

    4

    精华

    4级 Famous Hero

    Rank: 4

    积分
    2102

    退役版主论坛元老

    发表于 2008-4-6 21:29:31 | 显示全部楼层
    源代码的注释为什么是问号???是不是俄国的文字我们无法识别??

    我想如果能将这些问号译成英文(中文更好),也许读起来不那么费解~~~

    至少知道这段代码指向什么!

     成长值: 29485

  • TA的每日心情
    无聊
    2020-5-27 00:09
  • 签到天数: 24 天

    连续签到: 2 天

    [LV.4]狂狼人

    5772

    回帖

    2696万

    金币

    42

    精华

    管理员

    精灵奇侠

    Rank: 12Rank: 12Rank: 12

    积分
    9245129

    社区QQ达人论坛创始人杰出贡献论坛元老

    发表于 2008-4-7 11:25:34 | 显示全部楼层
    原帖由 earthling 于 2008-4-6 11:03 发表
    Slava的回信说的意思我以前就猜到了,他说他的外壳(wog部分)包含大量引用单字节sod程序中的地址,为了找这些地址他花了一两年时间,而双字节sod与单字节sod有很大不同,这些地址当然都不同了,为了在双字节sod中重新 ...

    希望如兄所言吧。但工作量肯定是很大的,这个我也知道。不知道兄是否有比较便捷的交流方式?如果项目正式启动,可能需要随时联系。

    原帖由 arongpan 于 2008-4-6 19:41 发表
    jacklee那边有大名鼎鼎的游侠网汉化工作组,如果能帮忙汉化,定会成功的。我是业余人员,已有自己的工作,平时时间不多,不过如果有什么能帮得上忙,一定尽力而为。

    已经联系上了游戏汉化组,Jack为人古道热肠,汉化组的朋友们也都非常热心,不过光有热心是不够的。我真诚希望arongpan兄弟能够一起加入进来,大家安排好进度,分配好工作,会大大减轻游戏汉化工作量。如果有意,请PM我。

    原帖由 zzy007 于 2008-4-6 21:29 发表
    源代码的注释为什么是问号???是不是俄国的文字我们无法识别??

    我想如果能将这些问号译成英文(中文更好),也许读起来不那么费解~~~

    至少知道这段代码指向什么!

    不太清楚,我是程序盲,代码是直接从邮件中拷贝过来的,Slava是想考验我的决心和毅力,希望我知难而退。

    原帖由 archmage 于 2008-4-7 09:19 发表
    编程盲和对汉化完全没兴趣的某人飘过……

    拍飞无良麦姬
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

    捐赠
    关注我们,英3Mod一网打尽!

    WoG中文站 ( 辽B2-20210485-10 )|辽公网安备 21128202000228 号

    GMT+8, 2024-9-22 11:35 , Processed in 0.499859 second(s), 11 queries , Gzip On, File On.

    Powered by Discuz! X3.4

    Copyright © 2004-2022, Beijing Second Sight Technology Co., LTD.

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