期待!!!! 原帖由 earthling 于 2008-4-1 14:13 发表 http://bbs.h3wog.com/images/common/back.gif
要汉化最难的就是全面支持中文显示,wog中的sod部分能显示中文了,其它就不是问题了!
yunings,如果能拿来wog部分的源程序,我们通过分析这个程序,再比对英文版的sod和中文版的sod,我们自己应该可以把wog加到中 ...
敢问兄,如果能拿来wog的源程序,实现汉化的可能性有多大?经历过数次失败,目前的我对汉化有点怵了。如果可能性不大,我就不再向Slava索取了。 应该有比较大的可能,还看他们用什么语言,给不给注释等。到时可以发动坛里其他兄弟一起来,分工协作。我觉得这是唯一比较可行的路,靠自己比较靠得住。 原帖由 earthling 于 2008-4-1 14:13 发表 http://bbs.h3wog.com/images/common/back.gif
要汉化最难的就是全面支持中文显示,wog中的sod部分能显示中文了,其它就不是问题了!
yunings,如果能拿来wog部分的源程序,我们通过分析这个程序,再比对英文版的sod和中文版的sod,我们自己应该可以把wog加到中 ...
如果真能这样的话,我也希望在汉化工作方面贡献力量。 既然WoG小组在没有SoD源代码的情况下就把WoG搞出来了,我想,或许我们能在没有中文SoD源代码的情况下搞出中文WoG。——不过这件事情真想搞的话一定要团结。
问题是WoG小组究竟用什么方法搞出WoG的?SoD的原始程序在里面起多大的作用?如果能够搞清楚这个方法,问题就解决了,我想WoG源代码或许是有帮助的。写WoG的人显然水平不错,ERM语言搞得跟ARM汇编指令的设计理念很象。相信程序应该有可能搞懂。——事实上就算不可能的话,我们还有别的选择么? 楼上的想法很好,不过中国的那些编程高手,有时间来帮我们解决这个问题吗? 原帖由 earthling 于 2008-4-2 11:55 发表 http://bbs.h3wog.com/images/common/back.gif
应该有比较大的可能,还看他们用什么语言,给不给注释等。到时可以发动坛里其他兄弟一起来,分工协作。我觉得这是唯一比较可行的路,靠自己比较靠得住。
我已于今日上午向Slava发去索要wog源代码的请求信。请问兄,除了需要wog源代码外,是否还需要其他东西?
另外,感谢玩家们的热心,不论如何,有你们的支持,我相信wog汉化会有一个完美的结果。附上给Slava他老人家的信件原文,回复后可见。
**** Hidden Message ***** 爬过…… 支持一下
回复 29# 的帖子
呼,能要来源代码是最好不过了!这几天我尝试对其反汇编,看来没必要了。其实WOG可以用中文的SOD升级,而且升级后用死亡阴影进入去大部都还是中文,剧情之类还是中文。而用WOG进入,WOG也可正常运行。说明现在的WOG没汉化和SOD是无关的。问题还是出在WOG的主程序身上。中文的死亡阴影是调用IFC21.dll,而英文的SOD和WOG都是调用IFC20.dll.所以有源码的话,把调用IFC20.DLL的改成调用IFC21.dll.看来还是比较好汉化的。没有源码,而程序又加壳,资源又是用动态库调用的。要汉化困难是很大的。 yunings 管理大哥,看见你这么执着于汉化wog,我很感动!我是游侠网的版主,手下有一个工作组,编程高手还是有很多的。我也是很喜欢玩WOG的,再加上我原来曾经是游侠网魔法区的版主,所以我可以和上面通报下,期盼与贵论坛合作汉化这个游戏!嗯,还有,游家网也可以发动一起加入汉化,肉E我很熟悉的。我的QQ号是:4786254,期盼与你联系![ 本帖最后由 jacklee 于 2008-4-5 10:18 编辑 ] 原帖由 yunings 于 2008-4-3 10:51 发表 http://bbs.h3wog.com/images/common/back.gif
我已于今日上午向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的成果,免得我们再去重走一遍他们走过的老路。 支持!!支持!! 抱歉,诸位,这两天实在抽不开身,刚刚上论坛,看到你们的回复,非常感谢,也非常感动!逐个回复一下比较重要的跟帖吧:
原帖由 arongpan 于 2008-4-3 19:33 发表 http://bbs.h3wog.com/images/common/back.gif
呼,能要来源代码是最好不过了!这几天我尝试对其反汇编,看来没必要了。其实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 发表 http://bbs.h3wog.com/images/common/back.gif
yunings 管理大哥,看见你这么执着于汉化wog,我很感动!我是游侠网的版主,手下有一个工作组,编程高手还是有很多的。我也是很喜欢玩WOG的,再加上我原来曾经是游侠网魔法区的版主,所以我可以和上面通报下,期盼与贵论坛合作汉化这个游戏!嗯,还有,游家网也可以发动一起加入汉化,肉E我很熟悉的。我的QQ号是:4786254,期盼与你联系!
感谢 jacklee 兄弟的支持,已添加你的QQ,望早时合作。
原帖由 earthling 于 2008-4-5 16:01 发表 http://bbs.h3wog.com/images/common/back.gif
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兄弟不妨看看,是否好读: Here are the arrays:
=============================
struct __Callers{
longwhere;
longforig;
longfnew;
#ifdef DEBUG
// DEBUG ??? ???????
char *remember;
#endif
} Callers[]={
// FindERMn = 0
{0x4FDF8B,0x0,DP(FindERMn)},
// FindERMl = 1
{0x4FE577,0x0,DP(FindERMl)},
// EventERM = 2
//{0x49F6F6,0x0,DP(EventERM)},
{0x481061,0x0,DP(EventERM)},
// GlobalEvent = 3 !!! ????????
{0x4CD6AA,0x4CD3D0,DP(GlobalEvent)},
// HeroCheck = 4 !!! ????????
{0x48098B,0x49CDD0,DP(HeroCheck)},
// Save Game = 5 !!! ????????
{0x4BEB3B,0x4BDC40,DP(SaveGame)},
// Load Game = 6 !!! ???????? (??. ????? ????? ????????? ???????)
{0x4BD908,0x4BDC40,DP(LoadGame)},
// 4 Creatures = 7 !!! ????????
{0x5D432C,0x4B0770,DP(Creature2Hire)},
// Castle Service = 8 !!! ????????
{0x4B0A74,0x4B0950,DP(ServiceManager)},
// Castle Service = 9 !!! ????????
{0x5BF43F,0x4305A0,DP(CastleServiceRedraw)},
// New Game start loading = 10 !!! ????????
{0x4FDCF0,0x4FDB40,DP(NewStartLoading)},
// AI Start Building = 11 !!! ?????????
{0x5BF7E4,0x5C1120,DP(AIBuild)},
// ???????? ????. ????? = 12 !!! ?????????
// ???? ???? ??? ???? ?????? ????
{0x4E1F2A,0x5FF3A0,DP(SpecPicture)},
// ????? ????. ????? = 13 !!! ?????????
{0x4E1F4B,0x6179DE,DP(0)},
// ???????? ????????? ????. ????? = 14 !!! ?????????
{0x51DCE7,0x4EA800,DP(SpecPictureS)},
// ???????? ? ?????????? ????? ????. ????? = 15 !!! ?????????
{0x5828C6,0x575E20,DP(SpecPictureC)},
// ??????? ?? ????????? ????. ?????. ????? = 16 !!! ?????????
{0x587013,0x5813D0,DP(MapSetup)},
// ???? ??????? - ??????? ?? ???????? (?????? Ok). = 17 !!! ?????????
// ???? ???? ??? ???? ?????? ????
{0x5869D1,0x58BFB0,DP(GameChoosen)},
// ??????? ?? ????????? ?????? ??????? = 18 !!! ?????????
{0x441991,0x4408E0,DP(MonsterKickBack)},
// ???? ??????? - ??????? ?? ???????? (??????? ????). ????????? ???? = 17 !!! ?????????
{0x587623,0,DP(GameChoosen)},
// ?????? ? ??? ? ?????? ?????? ??? ????????? - ??????? ?? ????????.
{0x58DF33,0,DP(NextHeroChoosen)},
// Leave Creature
{0x415AEE,0x4F6C00,DP(LeaveCreature)},
// Castle Service
{0x5D38AD,0x0,DP(CastleService)},
{0x5D6B90,0x0,DP(CastleService2)},
// FileLoader
{0x47A6B3,0x0,DP(FileLoad)},
// Game New/Load
////{0x4C413E,0x0,(long)FileTypeN},
////{0x4C5323,0x0,(long)FileTypeL},
{0x5849C7,0x0,DP(CheckFileTypeN)},
//{0x5849C7,0x0,(long)CheckFileTypeL},
//{0x4C8101,0x0,DP(CalledDayly)},
//{0x4F0516,0x0,DP(CalledBeforeTurn1)},
{0x4F04F6,0x0,DP(CalledBeforeTurn1New)},
//{0x4C75E6,0x0,DP(CalledBeforeTurn)},
{0x4CC4AF,0x0,DP(CalledBeforeTurnNew)},
{0x4CC4F8,0x0,DP(CalledBeforeTurnNew)},
// after turn processing
{0x409CDF,0x0,DP(CalledAfterTurn)},
{0x4087A0,0x0,DP(CalledAfterTurn)},
{0x408B84,0x0,DP(CalledAfterTurn)},
{0x4CC404,0x0,DP(CalledAfterTurn)},
{0x556B36,0x0,DP(CalledAfterTurn)},
// Addition Speciality Picture
{0x4E11E0,0x0,DP(NewSpecPrepare)}, // Prepare 1
{0x4E1F38,0x0,DP(NewSpecShow)}, // Show 1,2
{0x4DED05,0x0,DP(NewSpecPrepare2)}, // Prepare 2
{0x4DDA15,0x0,DP(NewSpecDescr)}, // Text 1,2
// ???????? ????. ????? ??? ??????? ???? ????????? ? 12
{0x5AEC9F,0,DP(SpecPicture)},
// ???????? ????? ??????? (AvWattak.def)
//{0x4118BF,0x0,DP(MonMapPicOn)},
// ???????? ??????? ??????? (AvWattak.def)
//{0x4110C7,0x0,DP(MonMapPicOff)},
// ????. ?????? ??????? ??? ????????.
//{0x43DA8E,0x0,DP(InitArmore)},
// ????? ? ????? ?????? Gamer
{0x4AA766,0,DP(Enter2Object)},
// ????? ? ????? ?????? AI
{0x4ACA04,0,DP(Enter2Object)},
// ????? ?? ??????? ? ????
{0x4813CA,0x4A7630,DP(Enter2Monster)},
// ????? ?? ??????? ? ?????
{0x4A9475,0x4A73B0,DP(Enter2Monster2)},
// ?????????? ????? ?? ?????? ????? (?? ???????? ?? ??????????????)
{0x4AAD53,0x4175E0,DP(MakeTownDefender)},
// ??????????? ???????? ?? ??????
{0x5D5297,0,DP(M2MStack)},
{0x5D53B5,0,DP(M2MSmooth)},
{0x5AF90A,0,DP(M2MSmooth)},
{0x5AF841,0,DP(M2MSwap)},
{0x4C6B98,0,DP(M2MDismiss)},
// ????????? ????? ?? ???-?? ??????
{0x49F195,0,DP(Get2Battle)},{0x4A09DC,0,DP(Get2Battle)},{0x4A0BF6,0,DP(Get2Battle)},
{0x4A1763,0,DP(Get2Battle)},{0x4A25A3,0,DP(Get2Battle)},{0x4A37C2,0,DP(Get2Battle)},
{0x4A44F8,0,DP(Get2Battle)},{0x4A57D0,0,DP(Get2Battle)},{0x4A8D55,0,DP(Get2Battle)},
{0x4AAFA1,0,DP(Get2Battle)},{0x4AB028,0,DP(Get2Battle)},{0x4ABBCB,0,DP(Get2Battle)},
{0x4AC5EA,0,DP(Get2Battle)},{0x4ACC37,0,DP(Get2Battle)},
// ???????? ??????????? ??????? ?? ????? ?????
{0x473F6B,0,DP(Monster2Battle)},
// ?????????? ????? ? ???? ??? ????????? ????
{0x4761D8,0,DP(ShowMagicBookMouse)},
// ????????? ???????? ?? ???? ??? ????? ??????
{0x463BF6,0,DP(SetUpBeforeBattle)},
// ???????? ?????? ???????
{0x4430C8,0,DP(ReduceDefence)},
{0x442234,0,DP(ReduceDefence)},
{0x442387,0,DP(ReduceDefence)},
{0x4427AF,0,DP(ReduceDefence)},
{0x4438DD,0,DP(ReduceDefence)},
{0x46D805,0,DP(ReduceDefence)},
{0x5F37DE,0,DP(ReduceDefence)},
// ????????????? ???????? ?? ?????? ??????
{0x475A3D,0,DP(SetUpNewRound)},
// ????????????? ???????? ?? ?????? ?????? ??? ???? (????????)
{0x4795AE,0,DP(SetUpNewRoundOnce)},
// ????? ????????
{0x44571B,0,DP(DoNotFly)},
// ?? ????????? ?????
{0x5A6A5C,0,DP(NoMagic)},
// ????? 1
{0x464944,0,DP(Fear1)},
{0x4649AA,0,DP(Fear2)},
// ???????? ?? ????????
//{0x4650C5,0,DP(CheckForWrite)},
// ???????? ?? ????-????
{0x440245,0,DP(GDMagic)},
// ???????? ?? ????? (????????)
{0x446BD6,0,DP(IsTroll)},
// ???????? ?? ??????? (????????)
{0x46905A,0,DP(IsFireBird)},
// ???????? ?? harpy (????? ?????)
{0x47832B,0,DP(IsHarpy)},
// ????? ?????? (?????. ? ??????)
{0x4404A0,0,DP(MedusaMagic)},
// ????? ???????? (?????????)
{0x440337,0,DP(UnicornMagic)},
// ??????? ?? ?????????? ?????? Message
{0x4F6C0A,0,DP(Check4MessageEnable)},
// ??????? ?? ?????? - ??? ?????? ????????
{0x46723E,0,DP(ShooterPower)},
// ???????? ?? ???????
{0x44B00D,0,DP(IsDevil)},
// ???????? ?? ???????
{0x43D954,0,DP(IsDevil1)},
{0x4B3736,0,DP(IsDevil1)},
{0x4B301C,0,DP(IsDevil1)},
// ???????? ?? ???????
{0x44C049,0,DP(IsDevil2)},
// ???????? ?? ??????
{0x44ACF1,0,DP(IsAngel)},
{0x44BA58,0,DP(IsAngel)},
// ???????? ?? ??????
{0x44BA6F,0,DP(IsAngel1)},
// ???????? ?? ?????????? ?????
{0x4C4143,0,DP(LoadProtected)},
// ????????? ?????????
{0x40B151,0,DP(HintControl0)},
{0x40D0EF,0,DP(HintControl)},
{0x40992B,0,DP(HintWindow)},
// ?????? ????-??
{0x4C8466,0,DP(WeekOf)},
{0x4C8C1E,0,DP(MonthOf)},
{0x4C8C65,0,DP(MonthOf2)},
// ???????? ??????? ????????
//{0x41ABF4,0,DP(NoRestart)},
// ?????????? ??? ????? ????? ?? ????????
{0x45B3E1,0,DP(GameChoosen2)},
// ???????? ????? ?????
{0x43FEE3,0,DP(TowerShot)},
// introduction
{0x45E3E6,0,DP(ShowIntro)},
{0x471574,0,DP(ShowIntro)},
{0x488B4E,0,DP(ShowIntro)},
{0x4EE86A,0,DP(ShowIntro)},
{0x4EE95F,0,DP(ShowIntro)},
{0x4EEF02,0,DP(ShowIntro)},
{0x4F013D,0,DP(ShowIntro)},
{0x4F022B,0,DP(ShowIntro)},
{0x4F0823,0,DP(ShowIntro)},
{0x4F08CC,0,DP(ShowIntro)},
{0x4F097A,0,DP(ShowIntro)},
{0x4F09EA,0,DP(ShowIntro)},
{0x4F488B,0,DP(ShowIntro)},
{0x5D81AC,0,DP(ShowIntro)},
{0x5D823C,0,DP(ShowIntro)},
// ?????? ????????
{0x4EF457,0,DP(TutorialGame)},
// ??????? ????????
{0x4EF846,0,DP(GameChoosen3)},
// +1 ??????? ??? ?????
{0x4DAB55,0,DP(GainLevel)},
{0x4DABBD,0,DP(GainLevelSSkill)},
{0x4DABD3,0,DP(GainLevelSSkill)},
{0x4DAC00,0,DP(GainLevelSSkill)},
{0x4DAC16,0,DP(GainLevelSSkill)},
//{0x46713A,0,DP(ThroughWall)},
{0x46711A,0,DP(ThroughWall)},
{0x4DD82F,0,DP(MakeQuestLog)},
{0x4DB68C,0,DP(ArtifacsDescription)},
// ??????? ???? ???????
{0x462916,0,DP(NoMoreTactic)},
{0x474B8F,0,DP(NoMoreTactic1)},
{0x4758C9,0,DP(NoMoreTactic1)},
// ???? ????????? ??????
{0x47602C,0,DP(Check4Fairy)},
// ???? ????? ???? ???????
{0x44836D,0,DP(FairyPower)},
// ???????????? ?????????? ??????
{0x4C8795,0,DP(WeeklyDwellingGrow)},
// ??????? ???????
{0x4DE66D,0,DP(ERMDebug)},
// ????? ?????? ????
{0x4FBFFE,0,DP(ShowVersion)},
// ??????? ????????
{0x4E810B,0,DP(FOH_UpgradeTo)},
{0x469B66,0,DP(FOH_UpgradeTo)},
{0x47AA1F,0,DP(FOH_UpgradeTo)},
{0x4A729F,0,DP(FOH_UpgradeTo)},
{0x4AC4A1,0,DP(FOH_UpgradeTo)},
{0x4C6A13,0,DP(FOH_UpgradeTo)},
{0x4C6A69,0,DP(FOH_UpgradeTo)},
{0x4C6A9F,0,DP(FOH_UpgradeTo)},
{0x4E4EA6,0,DP(FOH_UpgradeTo)},
{0x4E64FA,0,DP(FOH_UpgradeTo)},
{0x4E86B5,0,DP(FOH_UpgradeTo)},
{0x5280E9,0,DP(FOH_UpgradeTo)},
{0x529C1B,0,DP(FOH_UpgradeTo)},
{0x4E807B,0,DP(FOH_CanBeUpgraded)},
{0x47A9E3,0,DP(FOH_CanBeUpgraded)},
{0x4AC445,0,DP(FOH_CanBeUpgraded)},
{0x4E8300,0,DP(FOH_CanBeUpgraded)},
{0x4E867A,0,DP(FOH_CanBeUpgraded)},
// ??????? ??????? ????
{0x409389,0,DP(DropGame1)},
{0x409314,0,DP(DropGame2)},
{0x5B397E,0,DP(DropGame3)},
{0x4F0568,0,DP(DropGame4)},
// ??????????? ???? ?????
{0x4627BC,0,DP(PrepareBF)},
{0x49389F,0,DP(NoCliff)},
{0x46382E,0,DP(SetBFBack)},
// ?????? ?????????? ???? ?????
{0x462C19,0,DP(AppearWithoutTacktic)},
// ????? ????? ?? ?????
{0x408955,0,DP(MouseClick)},
// ????? ????? ?? ? ??????
{0x5D3867,0,DP(MouseClickTown)},
// ???? ? ????? ? Town Hall 3.58 !?TH0 !?TH1
{0x5D3968,0,DP(EnterTownHall)},
// AI ?????? ????? ??????? ??? ???
{0x52969F,0,DP(AIthinkAboutRes)},
// MP3 ?????
{0x59AC51,0,DP(MP3Start)}, //
// AI ???? ??????
{0x42E12E,0,DP(AIMapGoal)}, //
// ??????????? ?????????? ??? ?? ???????? ?? ????? ? ????
{0x50D0FA,0,DP(ArtMove1)}, //
{0x50D103,0,DP(ArtMove2)}, //
// NPC
{0x4DA9B6,0,DP(NPC_AddExpo)}, //
{0x46359E,0,DP(PlaceNPC2)}, //
//{0x4DD981,0,DP(NPC_ShowInfo)}, //
// Creature Magic Resistance
//{0x423E35,0,DP(MagicResist)}, // *
//{0x424A56,0,DP(MagicResist)}, // ** Chain Lighting
//{0x424B62,0,DP(MagicResist)}, // Chain Lighting
//{0x424C9C,0,DP(MagicResist)}, // **?
//{0x424DD6,0,DP(MagicResist)}, // *
//{0x424EFA,0,DP(MagicResist)}, // **?
//{0x42504E,0,DP(MagicResist)}, // ?
//{0x4251B0,0,DP(MagicResist)}, // ?
//{0x4252E4,0,DP(MagicResist)}, // *
//{0x425496,0,DP(MagicResist)}, // *
// edi -> Mon ?????? ??? ????? ????? ??????!!!!!
{0x5A7C3B,0,DP(MagicResist)}, // + Any (esi=edx) ->Mon
// ??????? ??????????? ????????
{0x4405CA,0,DP(ParalizeChance)}, //
// Death Stare
//{0x440C00,0,DP(Random4DeathStare)}, //
{0x440BF6,0,DP(Random4DeathStare)}, //
{0x440C40,0,DP(DeathStarePost)}, //
// Champion
{0x44306D,0,DP(IsChampion)}, //
// ??????? ????? ????? ????????
{0x5A1C7B,0,DP(CastHeroOrCreature)}, //
// ??????? ?????
{0x47851C,0,DP(FirstAidTentHealths)}, //
// ???????? ??? ????????
{0x474589,0,DP(BalistaControl)}, //
// ????? ?????? ? ?????? ????????????? ?????
{0x4DD632,0,DP(ClickNPC)}, //
// ???? ?????? ?? ???? ????? ?? ??????
{0x47265C,0,DP(ChooseMonAttack)}, //
// ????????? ?????????? ?????? ?? ????????? ?????
{0x5F8602,0,DP(ShowSmallSymbol)}, //
// ???? ?????? ??? ??????? ??????
{0x5B02DD,0,DP(MouseClick2Hero)}, //
// ?????????????? ?????????? ???????
{0x4E3879,0,DP(AddMithrillAuto)}, //
// ???? ?????? ?? ???? ?????
{0x4746E8,0,DP(MouseClickBattle)}, //
// ????????? ??????? ? LE
{0x49F7BD,0,DP(EventPrepareMithril)}, //
{0x49FDE4,0,DP(EventMakeUpMithril)}, //
// ??????? ????????
{0x4E2CC1,0,DP(ArtifactOn)}, //
// ??????? ????????
{0x4E2F60,0,DP(ArtifactOff)}, //
// ?????? AI ?? ???????? ????? ??????????
{0x433A1A,0,DP(ArtAIAnal)}, //
{0x433A60,0,DP(ArtAIAnal)}, //
{0x433DE1,0,DP(ArtAIAnal)}, //
{0x525639,0,DP(ArtAIAnal)}, //
{0x5261AD,0,DP(ArtAIAnal)}, //
{0x52AE2A,0,DP(ArtAIAnal)}, //
// ????? ??????? ????????? ????
{0x588478,0,DP(CallWoGSetup)}, //
// ????? ??? ????????? ?? ?? ????? ??? ?????
{0x42DC72,0,DP(AIattackNPConly)}, //
// ?? ??????????? ????? ? ?????? ? ????? NPC ??? ?????
{0x5BE41C,0,DP(NPCOnlyInCastle)}, //
{0x4AADD1,0,DP(NPCOnlyInCastle2)}, //
// ???????? ???? ????? ?????? ?? ????
{0x512FD2,0,DP(Send2Defender)}, // 1005
{0x4ACB5A,0,DP(Receive4Attacker)}, //
{0x5575E3,0,DP(Receive4Attacker)}, //
// ???????? ???? ????? ????? ?? ????
{0x4AE0C3,0,DP(Send4Defender)}, // 1011
//{0x512FD2,0,DP(Send4Defender)}, // 3.58 MP fix
{0x557046,0,DP(Receive4DefenderAfter)}, //
// ???????? ???? ????? ????? ?? ???? ???? ?? ???????? ????????
{0x557514,0,DP(Receive4DefenderAfter2)}, //
// ?????????? DIFF ????? ????? ????????? WoG ???????????
{0x4CAE51,0,DP(BuildAllDiff)}, //
// ?????? ?????? ? 0 ??????????? ??? ?????
{0x6067E2,0,DP(GZOpen)}, //
{0x4D6FCC,0,DP(GZClose)}, //
{0x4D700D,0,DP(GZWrite)}, //
// ?????? ???? ?? ??????? ?? ????? - ???? ? ???
{0x40A781,0,DP(RightClickAtMonster)}, //
// ????? ???????? ????????????? ????? ? ?? ????????????? ?????? ??????
{0x5570C1,0,DP(FixHeroSecScillsShow)}, //
// ????? ????? ??? ????? (??????? ???????/????????)
{0x5F5545,0,DP(ShowExpo)}, //
// ????? ????? ??? ????? (??????? ??????? ? ?????? ?????)
{0x5BC9B1,0,DP(ShowNumberMid)}, //
// ????? ????? ??? ??????? ??????????? ?????? ? ??????
{0x4493EB,0,DP(ShowHint)}, //
{0x449FCC,0,DP(ShowHint)}, //
{0x44A0EE,0,DP(ShowHint1)}, //
// 3.58
// Carry Over Hero Setup
{0x4860F9,0,DP(CarryOverHero)}, //
// ??????? ??????????? ???? ? ????? ??????
{0x492E4F,0,DP(MouseMoveBattle)}, //
// ?????? ?????
{0x59A893,0,DP(SoundManager)}, //
// ?????? ???????? ????? ?? ????? ? ??????
{0x5D4612,0,DP(MouseOverTown)}, //
// ?????????? ????? ?? ????? ???????????
{0x409EC4,0,DP(AdvMagicManager)}, //
// ?????????? ????? ?? ????? ??????????? (?????????)
{0x41C532,0,DP(AdvMagicManagerSkill)}, //
// ?????? ???? ????? ???? Dwarf
{0x5A88F0,0,DP(MagicDwarfResistance3)}, //
//{0x5A0605,0,DP(MagicDwarfResistance)}, //
//{0x5A4D6F,0,DP(MagicDwarfResistance)}, // ??? ?????? ?? ???????
// does not work properly :-(
//{0x5A658D,0,DP(MagicDwarfResistance)}, // ??? ???? ????? ? ?????? ??????
//{0x5A4F49,0,DP(MagicDwarfResistance2)}, // ??? ??????????
// ??????????? ??????? ???????, ? ?? ????????.
{0x4A6ADD,0,DP(E2MWoMoNoBattle)}, //
// ????? ???? ????? ?? ?????
{0x408994,0,DP(MouseClick2)}, //
{0x4089AB,0,DP(MouseClick3)}, //
// Blocking Monster ability
{0x43F95B,0,DP(ApplyDamage)}, //
{0x43FA5E,0,DP(ApplyDamage)}, //
{0x43FD3D,0,DP(ApplyDamage)}, //
{0x4400DF,0,DP(ApplyDamage)}, //
{0x440858,0,DP(ApplyDamage)}, //
{0x440E70,0,DP(ApplyDamage)}, //
{0x441048,0,DP(ApplyDamage)}, //
{0x44124C,0,DP(ApplyDamage)}, //
{0x441739,0,DP(ApplyDamage)}, //
{0x44178A,0,DP(ApplyDamage)}, //
{0x46595F,0,DP(ApplyDamage)}, //
{0x469A93,0,DP(ApplyDamage)}, //
{0x5A1065,0,DP(ApplyDamage)}, // quick battle
// Post instructions call
{0x4C01A2,0x0,DP(PostInstrCall)},
// ??????? ?????? ? ??????
{0x5D520D,0x0,DP(M2MCombine)},
// Add Town garrizon in a Hero's army
{0x4B9CE0,0x0,DP(M2MHero2Town)},
// ????? ????? ? ??????? ???? ? ???????
// 5F3700 (????? 4684F0) - ?????
// 5F3EF0 (????? 4C6B56) - ??????
// 5F45B0 (??????? ?????) - ? ??????? - ?? ????
{0x4C6B56 /*5F3EF0*/,0x0,DP(ShowExpoPrep)},
{0x4684F0 /*5F3700*/,0x0,DP(ShowExpoPrepBattle)},
{0x4E8892 /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
{0x5513B3 /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
{0x551460 /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
{0x55150E /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
{0x5515B4 /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
{0x5655AE /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
{0x566916 /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
//{0x /*5F45B0*/,0x0,DP(ShowExpoPrepUnknown)},
// ??????? ???????? ???????? ?? ?????? ????? ? ??????
{0x4DDDE2,0x0,DP(SmoothPassInternalFun)},
{0x5AF90A,0x0,DP(SmoothPassInternalFun)},
{0x5D53B5,0x0,DP(SmoothPassInternalFun)},
// ??????? ?????? ?????? ?????? ?????
{0x4DDD77,0x0,DP(MoveStackInHeroArmy)}, // *
{0x4DDDC3,0x0,DP(MoveStackInHeroArmy2)}, // *
// ????? ??????? ?? ????? ?????
//{0x5F4E84,0x0,DP(ExpDetailedInfo)}, // *
{0x5F4C63,0x0,DP(ExpDetailedInfo)}, // *
//{0x5F522D,0x0,DP(ExpDetailedInfo)}, // *
// ??????? ????? ???????? ?? ?????
{0x4E86E3,0x0,DP(UpgrHill)}, // *
// ??????? ????? ???????? ? ?????? ???????
{0x4C6BD6,0x0,DP(UpgrInd)}, // *
// ???????? ???? ???????? ?????
{0x4E5572,0x0,DP(CheckSpellCostReduction)}, // *
// ??????????? ?????? ?????? ??? ?????? ??????
{0x4790C3,0x0,DP(DefenseBonus)}, // *
// ??????????? ?????? DeathBlow
{0x4435A3,0x0,DP(DeathBlow)}, // *
// ??????????? ?????? ?????? ?????? ??????????? ???????
{0x443198,0x0,DP(PersonalHate)}, // *
// ?????? ????????? ? ????????????
{0x402334,0x0,DP(CheatEnabled)}, // *
// ?????? ?????? ??? ????
{0x4F8710,0x0,DP(ParseCheatMenuCommand)}, // *
// SoD ????. ????????? ???????? ?????? ??? ???? ?????
{0x4D8F1D,0x0,DP(SetUpRandomCreatures)}, // *
// WoG Cheats
{0x4024AC,0x0,DP(CheckCheat)}, // *
{0x4024F1,0x0,DP(CheckCheat)}, // *
{0x402536,0x0,DP(CheckCheat)}, // *
{0x4025D5,0x0,DP(CheckCheat)}, // *
{0x40260B,0x0,DP(CheckCheat)}, // *
{0x402636,0x0,DP(CheckCheat)}, // *
{0x402675,0x0,DP(CheckCheat)}, // *
{0x4026A0,0x0,DP(CheckCheat)}, // *
{0x4026D1,0x0,DP(CheckCheat)}, // *
{0x40272F,0x0,DP(CheckCheat)}, // *
{0x4027AC,0x0,DP(CheckCheat)}, // *
{0x402811,0x0,DP(CheckCheat)}, // *
{0x402898,0x0,DP(CheckCheat)}, // *
{0x4028BA,0x0,DP(CheckCheat)}, // *
{0x402927,0x0,DP(CheckCheat)}, // *
{0x402953,0x0,DP(CheckCheat)}, // *
{0x471BA9,0x0,DP(CheckCheat)}, // *
{0x471BD8,0x0,DP(CheckCheat)}, // *
{0x471C09,0x0,DP(CheckCheat)}, // *
// ??????? ????? ????? ?????
//{0x4412AE,0x0,DP(CastPostAttackSpell)}, // *
// ???????? - ?????????? ?????? ??????
{0x43DDCE,0x0,DP(MinotourMoral)}, // *
// ???????? ???? ???? ????????? ?????
{0x442686,0x0,DP(ShootAnyTime)}, // *
{0x44587A,0x0,DP(ShootAnyTime)}, // *
{0x467231,0x0,DP(ShootAnyTime2)}, // *
// unicorn - ?????????? ????
{0x43E800,0x0,DP(UnicornAura)}, // *
{0x43E8AE,0x0,DP(UnicornAura2)}, // *
// ????????? ?????? ?????????????? ????? ???????????
{0x4EF3A0,0x0,DP(GoToNewGameScreen)}, // *
// ????????????? ???? ????? Dispel
{0x5A8454+8,0x0,DP(DispellResist)}, // *
{0x5A84DF+8,0x0,DP(DispellResist)}, // *
/*
{0x5A1971,0x0,DP(SpecMagicResiatance)}, // *
//...
{0x041FAA0+0x01D3,0x0,DP(SpecMagicResiatance)}, // *
{0x0436A80+0x0065,0x0,DP(SpecMagicResiatance)}, // *
{0x0437F10+0x010D,0x0,DP(SpecMagicResiatance)}, // *
{0x0438660+0x0092,0x0,DP(SpecMagicResiatance)}, // *
{0x0438A10+0x00ED,0x0,DP(SpecMagicResiatance)}, // *
{0x0438BB0+0x00DF,0x0,DP(SpecMagicResiatance)}, // *
{0x0438D50+0x014E,0x0,DP(SpecMagicResiatance)}, // *
{0x0438EC0+0x0269,0x0,DP(SpecMagicResiatance)}, // *
{0x0439330+0x01BF,0x0,DP(SpecMagicResiatance)}, // *
{0x043AFC0+0x0167,0x0,DP(SpecMagicResiatance)}, // *
{0x043B150+0x0158,0x0,DP(SpecMagicResiatance)}, // *
{0x059FBB0+0x00C3,0x0,DP(SpecMagicResiatance)}, // *
{0x059FE50+0x0088,0x0,DP(SpecMagicResiatance)}, // *
{0x059FFE0+0x0065,0x0,DP(SpecMagicResiatance)}, // *
{0x05A0140+0x04BA,0x0,DP(SpecMagicResiatance)}, // *
{0x05A0140+0x0EB6,0x0,DP(SpecMagicResiatance)}, // *
{0x05A0140+0x10B3,0x0,DP(SpecMagicResiatance)}, // *
{0x05A0140+0x1A57,0x0,DP(SpecMagicResiatance)}, // *
{0x05A0140+0x1FA4,0x0,DP(SpecMagicResiatance)}, // *
{0x05A3CD0+0x0063,0x0,DP(SpecMagicResiatance)}, // *
{0x05A3F90+0x0019,0x0,DP(SpecMagicResiatance)}, // *
{0x05A3FD0+0x0087,0x0,DP(SpecMagicResiatance)}, // *
{0x05A3FD0+0x0142,0x0,DP(SpecMagicResiatance)}, // *
{0x05A4260+0x0085,0x0,DP(SpecMagicResiatance)}, // *
{0x05A4260+0x013E,0x0,DP(SpecMagicResiatance)}, // *
{0x05A4C80+0x00E4,0x0,DP(SpecMagicResiatance)}, // *
{0x05A4ED0+0x006E,0x0,DP(SpecMagicResiatance)}, // *
{0x05A6500+0x0082,0x0,DP(SpecMagicResiatance)}, // *
{0x05A6500+0x00A9,0x0,DP(SpecMagicResiatance)}, // *
{0x05A69E0+0x0060,0x0,DP(SpecMagicResiatance)}, // *
{0x05A8950+0x001A,0x0,DP(SpecMagicResiatance)}, // *
*/
// ???? ?? ???????? ?? ????? ??????????/?????????? ???????
{0x462847,0x0,DP(HeroTacticFix)}, // *
// ???? ???????????? ???????? ?????????? ????? 127 (??????? ???????? ???????) SoD bug
{0x4C970F,0x0,DP(WrongRelictPictureFix)}, // *
// ?????? ?? ????? ???? ???????
{0x50CEAA,0x0,DP(DisableMouse)}, // *
// ?????? ???? ????? ????????? (????? ??????? ??????????? !!!!)
{0x5A87AD,0x0,DP(IsAngel3)}, // *
// ????? ???? ? ????? ?? ???? ??? ?? ?????? ?????? ? ??????? ?? - ?????
// ??????????? ???????? ??????? ? ??????, ???? ??????? ??? - ?????
// ???? ??????? ??? ?????? ??? ??????? ?????????? ??? ??????????? ??????
{0x619BB1,0x0,DP(MyStatMemCheck)}, // *
// ?????? ????? ?? ????? ????? ?????
{0x441C79,0x0,DP(ResetSpell)}, // *
// ???? ????? ????? - ?????? ????
{0x441AE5,0x0,DP(MonsterStrikeFirst)}, // *
// ???? ????? ????? - ???????? ????
{0x441B5D,0x0,DP(MonsterStrikeBack)}, // *
// ???? ????? ????? - ?????? ???? (double strike)
{0x441BFC,0x0,DP(MonsterStrikeSecond)}, // *
// fix Win98 quit crash
{0x4F84F4,0x0,DP(FixQuit98Crash)}, // *
// new WoG 3.58 art - shield (retailate)
{0x441AFF,0x0,DP(HasArt157)}, // *
// new WoG 3.58 art - axe (+1strike)
{0x441C01,0x0,DP(HasArt158)}, // *
// fix No default Bio if a name set but bio not
//{0x4DD97E,0x0,DP(FixBioBug)}, // *
// Dracolish 100% poison
//{0x440559,0x0,DP(DracolishRandom)}, // *
// Dragon Heart Art - summon dragons
{0x464FC1,0x0,DP(Check4DragonHeartArt)}, // *
// Cast Animate Dead without a Hero at level 0
//{0x5A87D5,0x0,DP(NonHeroNPCAnimDeadCast)}, // *
// Dracolish (Power Lich shoot)
{0x43FA1F,0x0,DP(DracolichShoot)}, // *
{0x41ED5F,0x0,DP(DracolichShoot)}, // *
// Swap AI stacks before battle
//{0x4ADFAD,0x0,DP(SwapAIStacks)}, // *
{0x4ADF80,0x0,DP(DisableAIStackSwitching)}, // *
{0x4ADFA8,0x0,DP(DisableAIStackSwitching)}, // *
// Shooting Animation for spec units (type of shoot in the table 0)
{0x43DAAA,0x0,DP(LoadShootingDef)}, // *
// ?????????? ???????????? ??????
{0x506130,0x0,DP(AdjustSquarePassability)}, // *
// ??????? ???? ? ???? ?????? ?? ???? - ??????? (3.58)
//{0x4AAB83,0x0,DP(Send358_1)}, // *
// ????? ???? ? ???? ?????? ?? ???? - ??????? (3.58)
//{0x40624D,0x0,DP(Receive358_1)}, // *
{0x5D4E9F,0x0,DP(SoDFix_SpaceInAlliedTown)}, // *
// ????? ??????????? ?? ???????? ??? ???????-?????
{0x5A7579,0x0,DP(FixSummonElementalNoHero)}, // *
// ????? ??????????? ?? ???????? ??? ???????-?????
{0x5A8D56,0x0,DP(FixDeathRippleNoHero)}, // *
// ?????? ?????? ??????????
{0x4E5362,0x0,DP(FixNoHero4SpellLevelCalc)}, // *
{0x4E552B,0x0,DP(FixNoHero4SpellLevelCalc)}, // *
{0x4E57EA,0x0,DP(FixNoHero4SpellLevelCalc)}, // *
{0x4E58B9,0x0,DP(FixNoHero4SpellLevelCalc)}, // *
// ?????? ?????? ?????????? 2
{0x5A86AF,0x0,DP(FixNoHero4SpellPower)}, // *
// ?????????? ????? ???? ???????? ? ???? Kingdom Overview
{0x520DB3,0x0,DP(FixWrongDwIndKingdomOverview)}, // *
// ???? ??????? ???????????? ??????????, ???? ??? ?????
{0x425C53,0x0,DP(FixNoHero4SpellDuration)}, // *
{0x43C53C,0x0,DP(FixNoHero4SpellDuration)}, // *
{0x5272AF,0x0,DP(FixNoHero4SpellDuration)}, // *
{0x5A03CC,0x0,DP(FixNoHero4SpellDuration)}, // *
{0x5A71A1,0x0,DP(FixNoHero4SpellDuration)}, // *
// ????? ???? ? ????? ?? ???? ??? ?? ?????? ?????? ? ??????? ??
{0x476445,0x0,DP(FixShowBFPopUpMonInfo)}, // *
// ??????? ????
//{0x51BD60,0x0,DP(NetworkMessageParse)}, // *
{0x5A0FF6,0x0,DP(DeathRippleResist)}, // *
// ???? ???????????? ????????? ??? ?????????? ? ??????? ? ArtMerchant
{0x5EEBC5,0x0,DP(SoDArtMenchHintFix)}, // *
// ?? ???????? ?????? ???, ???? ????????? ?? ????????
{0x43FF7E,0x0,DP(FixShootTwiceOneShot)}, // *
// ???? ????????? ????? ??? ??????? ??? ????? ? ?????
{0x5C71D5,0x0,DP(TownWrongExpoFix)}, // *
// ?????? ????? ????? ?? ??????????
{0x5A875B,0x0,DP(NoClone4CommandersFix)}, // *
// ????? ??????? ?? ???? ?? ????? ?????
{0x473E1C,0x0,DP(ReceiveNetBFCommand)}, // *
// ????? ??????? ?? ???? ?? ????? ?????.
{0x557E06,0x0,DP(ReceiveNetAMCommand)}, // *
// 3.58f ?????? ?????? ????? ?? GR ??? ???????? ?? ????. ?????
{0x486245,0x0,DP(CrossOverGodBonus)}, // *
// ??????? ????? ? ???????? ?????? ??? ?????
{0x4AAFCB,0x0,DP(M2MHero2Town2)}, // 3.58f Human autoaranging
{0x525896,0x0,DP(M2MHero2Town2)}, // 3.58f AI ???
{0x43DA74,0x0,DP(LoadShootingDef4Commanders)}, // 3.58f Fix "no Commander shooting animation loaded"
{0x5D4643,0x0,DP(FixWrongTownListInfo)}, // 3.58f Fix "wrong town info in town list MP"
// 3.59
{0x4EDCC5,0x0,DP(MPProcessTimeAndRemind)}, // show time on the screen every second
// Fix Time does not count until new player start turn
{0x419EA8,0x0,DP(MPStartTimerFix)},
// Load Game - ????????? ???????
{0x58C6E9,0x588600,DP(LoadGameSetUpPlayers)},
// show WoG creatures in animated waiting dialogs
{0x589190,0x0,DP(ChooseCrToAnimDlg)},
{0x589259,0x0,DP(ChooseCrToAnimDlg)},
{0x55543B,0x0,DP(ChooseCrToAnimDlg)},
{0x556FAF,0x0,DP(ChooseCrToAnimDlg)},
{0x557493,0x0,DP(ChooseCrToAnimDlg)},
// new town support
{0x4CE132,0x0,DP(AdjustNewTownStructures)}, // setup all town structures at EXE start
{0x4472F8,0x0,DP(CastMessage)}, // fix previous WoG version
{0x5A223D,0x0,DP(AcidBreathMessage)},
{0x44C15C,0x0,DP(AlwaysLuckyMessage)},
// Spell support
{0x4EDEAF,0x0,DP(ParseSpTraitsTxt)}, // parse SpTraits
{0,0,0}
};
struct __Accessers{
longwhere;
longwhat;
#ifdef DEBUG
// DEBUG ??? ???????
char *remember;
longsize;
#endif
longlen;
} Accessers[]={
// ????????? ?????? ????? ??? ????? ??????
///////////////////////////////////////{0x4F80FA,DS0(0xB8),1},
// ????? ??????? ?????
{0x44D5C3+2,DS0(VidArr),4},
{0x598FF8+2,DS0(VidArr),4},
{0x44D561+2,DS0(&VidArr.Po),4},
{0x598EFD+2,DS0(&VidArr.Po),4},
{0x5975EB+2,DS0(&VidArr.Atr),4},
{0x59787C+3,DS0(&VidArr.Atr),4},
{0x44D873+3,DS0(&VidArr.Atr),4},
{0x599288+3,DS0(&VidArr.Atr),4},
{0x44D828+3,DS0(&VidArr.Atr),4},
{0x44D937+3,DS0(&VidArr.Atr),4},
{0x44DBA9+3,DS0(&VidArr.Atr),4},
{0x5977E3+2,DS0(&VidArr.Atr),4},
{0x599249+3,DS0(&VidArr.Atr),4},
{0x59930B+3,DS0(&VidArr.Atr),4},
{0x44D5BD+2,DS0(&VidArr.Atr),4},
{0x598EC8+3,DS0(&VidArr.Atr),4},
// ?????????? ??? ???????? ? ?????? ??????
{0x416E01,DS0(0x000001B8),4},
{0x416E05,DS0(0x0016EB00),4},
// ????????????? ??? ??? ????????????? ???????? ??? ?? ???
{0x584A2C+3,DS0(0x00000003),4},
// ZObjcts.txt ?????? Objects.txt
{0x67FBD4,DS0(0x6A624F5A),4},
// ????? ??? Objects.txt ??? ?????????? ????. ????
{0x5366FB+1,DS0(RMObjectsFile),4},
// ZCrBank.txt ?????? CrBanks.txt
{0x6703A8,DS0(0x4272435A),4},
{0x6703AC,DS0(0x2E6B6E61),4},
// ZCrGn1.txt ?????? CrGen1.txt
{0x660278,DS0(0x4772435A),4},
// ???????? ????? Credits.bik ?? Credits.smk
//{0x683CAC,DS0(0x01000000),4},
// ???????? BIK ????? ?? ????? DLL 0x08000000 ?? 0x00800000
//{0x44D3BC+2,DS0(0x00800000),4},
// ????????? WoG ???? ?????? SoD ? ???????
{0x54A1D4+1,DS0(SOGMAPTYPE),4},
/*
// CalledDayly
{0x4C8101,DS0(0xE9),1},
{0x4C75E6,DS0(0xE9),1},
*/
// NewStartLoading
//{0x4FDCF0,DS0(0xE9),1},
// Artifact
// ????????? artraits
{0x44CB32,DS(ArtTable),4},
{0x44CD1E,DS(ArtTable),4},
{0x44CD6C,DS(ArtTable),4},
{0x660B68,DS(ArtTable),4},
{0x44CCDF,DS(&ArtTable.Disable),4},
{0x44CCFA,DS(&ArtTable.NewSpell),4},
{0x44CCA8,DS((ARTNUM+2)*4),4},
{0x44CACA,DS((ARTNUM+2)*4),4},
// ????????? artevent
{0x49DD9A,DS(&ArtPickUp[-1]),4},
{0x49F2E7,DS(ArtPickUp),4},
{0x49F51E,DS(ArtPickUp),4},
{0x49F5DA,DS(ArtPickUp),4},
{0x49DD90,DS((ARTNUM)*4),4},
// ?????? ??????????
{0x4E2D26,DP(ArtBonus),4}, //
//{0x4E2D3D,DP(&ArtBonus),4}, //
{0x4E2D3D,DP(&ArtBonus),4}, // 3.58 Combo Part fix
//{0x4E2DD7,DP(&ArtBonus),4}, //
{0x4E2DD7,DP(&ArtBonus),4}, // 3.58 Combo Part fix
{0x4E2DF1,DP(ArtBonus),4}, //
{0x4E2E95,DP(ArtBonus),4}, //
//{0x4E2EAC,DP(&ArtBonus),4}, //
{0x4E2EAC,DP(&ArtBonus),4}, // 3.58 Combo Part fix
//{0x4E2F41,DP(&ArtBonus),4}, //
{0x4E2F41,DP(&ArtBonus),4}, // 3.58 Combo Part fix
{0x4E2F7C,DP(ArtBonus),4}, //
//{0x4CF680,DP(0x75),1}, //
//{0x48E5B3,DP(0x75),1}, //
//{0x4DC12D,DP(0x75),1}, //
//{0x4DC246,DP(0x75),1}, //
//{0x67F554,(long)3,4}, // ?????? ???, ??? ?????????? AB
// CrBank
{0x47A4A8+3,DS (crbankt1),4},
{0x47A4AF+3,DS (crbankt2),4},
{0x47A4B6+3,DS0(&CrBankTable.Name),4},
{0x47A68F+1,DS0(&CrBankTable.Name),4},
{0x47A3C1+1,DS (CrBankTable),4},
{0x47A3EC+1,DS0(CrBankTable),4},
{0x67029C,DS0(CrBankTable),4},
{0x47A3BA+1,DS0(BANKNUM),1},
{0x47A3E5+1,DS0(BANKNUM),1},
// Monster
{0x50CBB5+3,DS0(MONNUM-150+5),4},
{0x47AD75+3,DS0(MONNUM-150+5),1},
{0x67FF74,DS (MonATable),4},
{0x50CC01+3,DS0(MonATable),4},
{0x47ADCE+3,DS (MonTable),4},
{0x6747B0,DS0(MonTable),4},
{0x47AE28+3,DS (MonTable2),4},
{0x47ADF5+1,DS0(MonTable2),4},
{0x47B12C+1,DS0(MonTable2),4},
{0x47AEBC+3,DS (MonTable3),4},
{0x47AE85+1,DS0(MonTable3),4},
{0x47B10C+1,DS0(MonTable3),4},
{0x47B091+3,DS (MonTable4),4},
{0x47B057+1,DS0(MonTable4),4},
{0x47B0EC+1,DS0(MonTable4),4},
{0x4A1655+2,DS0(MONNUM),4},{0x4A189B+1,(long)MONNUM,4},
{0x47ADEC+1,(long)MONNUM,4},{0x47AE7C+1,(long)MONNUM,4},{0x47B04D+1,(long)MONNUM,4},
{0x47B0E5+1,(long)MONNUM,4},{0x47B105+1,(long)MONNUM,4},{0x47B125+1,(long)MONNUM,4},
{0x40AC91+1,(long)MONNUM,4},{0x40ACF1+2,(long)MONNUM,4},{0x40C2B0+1,(long)MONNUM,4},
{0x416948+1,(long)MONNUM,4},{0x43F9B2+1,(long)MONNUM,4},{0x43FA88+1,(long)MONNUM,4},
{0x43FDA8+1,(long)MONNUM,4},{0x43FE24+2,(long)MONNUM,4},
{0x4401B5+1,(long)MONNUM,4},{0x4409D7+1,(long)MONNUM,4},{0x440A21+1,(long)MONNUM,4},
{0x440A85+1,(long)MONNUM,4},{0x440C9A+1,(long)MONNUM,4},{0x440CD5+1,(long)MONNUM,4},
{0x440D49+1,(long)MONNUM,4},{0x440D86+1,(long)MONNUM,4},{0x440F5B+1,(long)MONNUM,4},
{0x4418D0+1,(long)MONNUM,4},{0x44192E+1,(long)MONNUM,4},{0x443265+1,(long)MONNUM,4},
{0x44329A+1,(long)MONNUM,4},{0x443307+1,(long)MONNUM,4},{0x44333C+1,(long)MONNUM,4},
{0x44372A+2,(long)MONNUM,4},{0x443796+2,(long)MONNUM,4},{0x446C86+1,(long)MONNUM,4},
{0x446CF4+1,(long)MONNUM,4},{0x44730E+1,(long)MONNUM,4},{0x44BB13+2,(long)MONNUM,4},
{0x44BC64+1,(long)MONNUM,4},{0x44C060+2,(long)MONNUM,4},{0x464670+1,(long)MONNUM,4},
{0x46487A+1,(long)MONNUM,4},{0x464A91+1,(long)MONNUM,4},{0x465242+1,(long)MONNUM,4},
{0x4652E4+1,(long)MONNUM,4},{0x478593+1,(long)MONNUM,4},{0x4785CB+1,(long)MONNUM,4},
{0x4790D7+1,(long)MONNUM,4},{0x479142+1,(long)MONNUM,4},{0x47927F+1,(long)MONNUM,4},
{0x47931B+1,(long)MONNUM,4},{0x4840B2+1,(long)MONNUM,4},
{0x4863FC+2,(long)MONNUM,4},{0x491F65+1,(long)MONNUM,4},
{0x491FB5+1,(long)MONNUM,4},{0x4920A9+2,(long)MONNUM,4},{0x4921A1+2,(long)MONNUM,4},
{0x4921EC+2,(long)MONNUM,4},{0x4922B6+1,(long)MONNUM,4},{0x4922ED+1,(long)MONNUM,4},
{0x49233E+1,(long)MONNUM,4},{0x492375+1,(long)MONNUM,4},{0x492521+1,(long)MONNUM,4},
{0x4925BE+1,(long)MONNUM,4},{0x49262F+1,(long)MONNUM,4},{0x4926C9+1,(long)MONNUM,4},
{0x49275D+1,(long)MONNUM,4},{0x4927E8+1,(long)MONNUM,4},{0x492959+1,(long)MONNUM,4},
{0x492D0A+2,(long)MONNUM,4},{0x492DAD+1,(long)MONNUM,4},
// 497903
{0x49E705+2,(long)MONNUM,4},
{0x49E728+2,(long)MONNUM,4},{0x49EE73+1,(long)MONNUM,4},{0x49EFC0+1,(long)MONNUM,4},
{0x4A0435+2,(long)MONNUM,4},{0x4A04D7+2,(long)MONNUM,4},
// 4A1655
{0x4A17D9+1,(long)MONNUM,4},{0x4A1803+1,(long)MONNUM,4},{0x4A1828+1,(long)MONNUM,4},
{0x4A184D+1,(long)MONNUM,4},
// 4A189B
{0x4A19FA+2,(long)MONNUM,4},
{0x4A1A9F+2,(long)MONNUM,4},{0x4A42F1+1,(long)MONNUM,4},{0x4A6A7E+1,(long)MONNUM,4},
{0x4A6C96+2,(long)MONNUM,4},{0x4A6F57+2,(long)MONNUM,4},{0x4A6FC6+1,(long)MONNUM,4},
{0x4AB893+2,(long)MONNUM,4},{0x4ABC6C+1,(long)MONNUM,4},{0x4ABF68+1,(long)MONNUM,4},
{0x4AE27F+1,(long)MONNUM,4},{0x4AE2CC+2,(long)MONNUM,4},{0x4CC86D+1,(long)MONNUM,4},
{0x4CC8C9+1,(long)MONNUM,4},{0x4CC988+1,(long)MONNUM,4},{0x4DBA61+1,(long)MONNUM,4},
{0x4DBA9D+2,(long)MONNUM,4},{0x4DBAE0+2,(long)MONNUM,4},{0x4DBB2D+1,(long)MONNUM,4},
{0x4DBB74+1,(long)MONNUM,4},{0x4DBB96+2,(long)MONNUM,4},{0x4F1F88+1,(long)MONNUM,4},
{0x4F2010+1,(long)MONNUM,4},{0x4F20D6+1,(long)MONNUM,4},{0x4F2138+1,(long)MONNUM,4},
{0x4F479B+1,(long)MONNUM,4},{0x4F5BD0+2,(long)MONNUM,4},{0x4F5C4A+2,(long)MONNUM,4},
{0x51402E+1,(long)MONNUM,4},{0x514078+1,(long)MONNUM,4},{0x5213E4+2,(long)MONNUM,4},
{0x52141C+2,(long)MONNUM,4},{0x5217C7+1,(long)MONNUM,4},{0x521812+1,(long)MONNUM,4},
{0x521835+2,(long)MONNUM,4},{0x52191C+1,(long)MONNUM,4},{0x52195C+1,(long)MONNUM,4},
{0x5219BD+1,(long)MONNUM,4},{0x5219CD+2,(long)MONNUM,4},{0x5219F7+2,(long)MONNUM,4},
{0x52FEF7+2,(long)MONNUM,4},{0x52FF5B+2,(long)MONNUM,4},{0x52FFB9+2,(long)MONNUM,4},
{0x55036E+1,(long)MONNUM,4},{0x550825+1,(long)MONNUM,4},{0x55113E+1,(long)MONNUM,4},
{0x551D8E+2,(long)MONNUM,4},{0x5632DA+2,(long)MONNUM,4},{0x565365+1,(long)MONNUM,4},
{0x56637B+1,(long)MONNUM,4},{0x5664C8+1,(long)MONNUM,4},{0x56EBD3+1,(long)MONNUM,4},
{0x56ECD4+1,(long)MONNUM,4},{0x56F115+1,(long)MONNUM,4},{0x5706A5+1,(long)MONNUM,4},
{0x570A6E+1,(long)MONNUM,4},{0x570D4D+1,(long)MONNUM,4},{0x59F90A+2,(long)MONNUM,4},
{0x5A21ED+1,(long)MONNUM,4},{0x5A22E6+1,(long)MONNUM,4},{0x5A2CC3+1,(long)MONNUM,4},
{0x5A2DCD+2,(long)MONNUM,4},{0x5A2E27+2,(long)MONNUM,4},{0x5A753A+1,(long)MONNUM,4},
{0x5A77C0+2,(long)MONNUM,4},{0x5A77FB+2,(long)MONNUM,4},{0x5A79B2+1,(long)MONNUM,4},
{0x5A79ED+1,(long)MONNUM,4},{0x5A7D4B+2,(long)MONNUM,4},{0x5A7DBB+2,(long)MONNUM,4},
{0x5A8A08+2,(long)MONNUM,4},{0x5A8A69+2,(long)MONNUM,4},{0x5A8B52+2,(long)MONNUM,4},
{0x5A9378+1,(long)MONNUM,4},{0x5B0E09+2,(long)MONNUM,4},{0x5C08EA+2,(long)MONNUM,4},
{0x5C605C+1,(long)MONNUM,4},{0x5C656A+1,(long)MONNUM,4},{0x5C789A+1,(long)MONNUM,4},
{0x5C7946+1,(long)MONNUM,4},{0x5C79BC+1,(long)MONNUM,4},{0x5C7A1D+1,(long)MONNUM,4},
{0x5C7AB0+1,(long)MONNUM,4},{0x5C7B25+2,(long)MONNUM,4},{0x5C7B48+1,(long)MONNUM,4},
{0x5C7FD4+1,(long)MONNUM,4},{0x5C8046+1,(long)MONNUM,4},{0x5C84B0+1,(long)MONNUM,4},
{0x5C9C3A+1,(long)MONNUM,4},
{0x5D0C56+1,(long)MONNUM,4},{0x5D1059+2,(long)MONNUM,4},
{0x5DD0A4+1,(long)MONNUM,4},{0x5DD976+1,(long)MONNUM,4},{0x5DDA4A+1,(long)MONNUM,4},
{0x5EF08C+1,(long)MONNUM,4},{0x5F3939+1,(long)MONNUM,4},{0x5F40CC+1,(long)MONNUM,4},
/* ??? ??? ???????? ????????, ? ?? ???????
{0x5121EA+1,(long)MONNUM,4},{0x53A51F+1,(long)MONNUM,4},{0x53B1ED+1,(long)MONNUM,4},
{0x5601C4+2,(long)MONNUM,4},{0x5758AC+1,(long)MONNUM,4},{0x575B6C+1,(long)MONNUM,4},
//{0x5AC62E+1,(long)MONNUM,4}, // ???????? ????????? ????? ????. ?? ??????
{0x5C2565+1,(long)MONNUM,4},{0x5C3DFD+1,(long)MONNUM,4},
{0x5CA9B3+1,(long)MONNUM,4},{0x5CAA24+1,(long)MONNUM,4},{0x5CAA94+1,(long)MONNUM,4},
{0x5CABF9+1,(long)MONNUM,4},{0x5CAC6A+1,(long)MONNUM,4},{0x5CACDB+1,(long)MONNUM,4},
{0x5CAE41+1,(long)MONNUM,4},{0x5CAEB2+1,(long)MONNUM,4},{0x5CAF23+1,(long)MONNUM,4},
*/
//{0x+1,(long)MONNUM,4},{0x+1,(long)MONNUM,4},{0x+1,(long)MONNUM,4},
// Hero
// ????? ????????????? (?? ??????? ????????)
//{0x4E1F21+2,DS0(0x34),1}, // ???????? ? ??????? ? ?????
//{0x4E1F3B+2,DS0(0x34),1}, // ????? ? ?????
//HeroBios
{0x5B9A0E+2,DS0((HERNUM+7)*4),4},
{0x5B9A18+2,DS0(&HBiosTable[-1].HBios),4},
{0x5641A2+2,DS0(&HBiosTable[-1].HBios),4},
{0x4D92B7+3,DS (HBiosTable),4},
{0x4DD975+3,DS0(HBiosTable),4},
//HeroSpec
{0x4D7449+1,DS0(&HSpecTable.SpFull),4},
{0x4D745A+2,DS0(&HSpecTable.SpFull),4},
{0x679C80,DS (HSpecTable),4},
{0x4E68D7+1,DS0(HERNUM),4},
{0x4E6897+2,DS (HTable2),4},
{0x4E689F+3,DS0(HTable2),4},
{0x4E68E0+1,DS0(HTable2),4},
{0x67DCE8,DS (HTable),4},
{0x4E68A6+1,DS0(&HTable.ArmyNum),4},
{0x4E69A6+2,DS0(&HTable.ArmyNum),4},
/*
{0x40247D+1,DS0(0x5534),2},{0x40247D+3,DS0(HMTable),4},{0x40315B+1,DS0(0x553C),2},{0x40315B+3,DS0(HMTable),4},
{0x4035DF+1,DS0(0x551C),2},{0x4035DF+3,DS0(HMTable),4},{0x40625B+1,DS0(0x450C),2},{0x40625B+3,DS0(HMTable),4},
{0x406284+1,DS0(0x450C),2},{0x406284+3,DS0(HMTable),4},{0x4062A6+1,DS0(0x450C),2},{0x4062A6+3,DS0(HMTable),4},
{0x4062BB+1,DS0(0x450C),2},{0x4062BB+3,DS0(HMTable),4},{0x407B19+1,DS0(0x4534),2},{0x407B19+3,DS0(HMTable),4},
{0x407FFA+1,DS0(0x4504),2},{0x407FFA+3,DS0(HMTable),4},{0x4080EC+1,DS0(0x4D0C),2},{0x4080EC+3,DS0(HMTable),4},
{0x408BFA+1,DS0(0x453C),2},{0x408BFA+3,DS0(HMTable),4},{0x408E2B+1,DS0(0x453C),2},{0x408E2B+3,DS0(HMTable),4},
{0x408EA2+1,DS0(0x4504),2},{0x408EA2+3,DS0(HMTable),4},{0x409097+1,DS0(0x550C),2},{0x409097+3,DS0(HMTable),4},
{0x409261+1,DS0(0x4504),2},{0x409261+3,DS0(HMTable),4},{0x409A8A+1,DS0(0x4504),2},{0x409A8A+3,DS0(HMTable),4},
{0x409B7C+1,DS0(0x4504),2},{0x409B7C+3,DS0(HMTable),4},{0x40A7F4+1,DS0(0x451C),2},{0x40A7F4+3,DS0(HMTable),4},
{0x40A9C9+1,DS0(0x4504),2},{0x40A9C9+3,DS0(HMTable),4},{0x40AF7C+1,DS0(0x4D0C),2},{0x40AF7C+3,DS0(HMTable),4},
{0x40AFF5+1,DS0(0x4D0C),2},{0x40AFF5+3,DS0(HMTable),4},{0x40B126+1,DS0(0x5534),2},{0x40B126+3,DS0(HMTable),4},
{0x40BBD4+1,DS0(0x4534),2},{0x40BBD4+3,DS0(HMTable),4},{0x40DF86+1,DS0(0x4504),2},{0x40DF86+3,DS0(HMTable),4},
{0x40E0F4+1,DS0(0x553C),2},{0x40E0F4+3,DS0(HMTable),4},{0x40E4AD+1,DS0(0x4504),2},{0x40E4AD+3,DS0(HMTable),4},
{0x40E583+1,DS0(0x4514),2},{0x40E583+3,DS0(HMTable),4},{0x40E607+1,DS0(0x4D3C),2},{0x40E607+3,DS0(HMTable),4},
{0x40E9A4+1,DS0(0x5504),2},{0x40E9A4+3,DS0(HMTable),4},{0x40EC31+1,DS0(0x453C),2},{0x40EC31+3,DS0(HMTable),4},
{0x40F10B+1,DS0(0x4D0C),2},{0x40F10B+3,DS0(HMTable),4},{0x40FCA8+1,DS0(0x4D0C),2},{0x40FCA8+3,DS0(HMTable),4},
{0x40FDBA+1,DS0(0x4D34),2},{0x40FDBA+3,DS0(HMTable),4},{0x41024A+1,DS0(0x4D34),2},{0x41024A+3,DS0(HMTable),4},
{0x412CE0+1,DS0(0x4504),2},{0x412CE0+3,DS0(HMTable),4},{0x413784+1,DS0(0x4514),2},{0x413784+3,DS0(HMTable),4},
{0x414555+1,DS0(0x4534),2},{0x414555+3,DS0(HMTable),4},{0x41652D+1,DS0(0x4534),2},{0x41652D+3,DS0(HMTable),4},
{0x4165BA+1,DS0(0x551C),2},{0x4165BA+3,DS0(HMTable),4},{0x4167DF+1,DS0(0x551C),2},{0x4167DF+3,DS0(HMTable),4},
{0x4168D0+1,DS0(0x4D04),2},{0x4168D0+3,DS0(HMTable),4},{0x416FAB+1,DS0(0x551C),2},{0x416FAB+3,DS0(HMTable),4},
{0x41711D+1,DS0(0x4D34),2},{0x41711D+3,DS0(HMTable),4},{0x41763E+1,DS0(0x4D3C),2},{0x41763E+3,DS0(HMTable),4},
{0x417B74+1,DS0(0x4D3C),2},{0x417B74+3,DS0(HMTable),4},{0x418DE1+1,DS0(0x451C),2},{0x418DE1+3,DS0(HMTable),4},
{0x418E4C+1,DS0(0x4D04),2},{0x418E4C+3,DS0(HMTable),4},{0x419182+1,DS0(0x5504),2},{0x419182+3,DS0(HMTable),4},
{0x4192D4+1,DS0(0x4D04),2},{0x4192D4+3,DS0(HMTable),4},{0x41943D+1,DS0(0x4D04),2},{0x41943D+3,DS0(HMTable),4},
{0x4199F5+1,DS0(0x450C),2},{0x4199F5+3,DS0(HMTable),4},{0x41C4EE+1,DS0(0x5534),2},{0x41C4EE+3,DS0(HMTable),4},
{0x41C63C+1,DS0(0x4D34),2},{0x41C63C+3,DS0(HMTable),4},{0x41C6B2+1,DS0(0x5534),2},{0x41C6B2+3,DS0(HMTable),4},
{0x41C7A4+1,DS0(0x4D34),2},{0x41C7A4+3,DS0(HMTable),4},{0x41C862+1,DS0(0x5534),2},{0x41C862+3,DS0(HMTable),4},
{0x41C943+1,DS0(0x4534),2},{0x41C943+3,DS0(HMTable),4},{0x41CA56+1,DS0(0x451C),2},{0x41CA56+3,DS0(HMTable),4},
{0x41D034+1,DS0(0x4534),2},{0x41D034+3,DS0(HMTable),4},{0x41D259+1,DS0(0x5534),2},{0x41D259+3,DS0(HMTable),4},
{0x41D544+1,DS0(0x5534),2},{0x41D544+3,DS0(HMTable),4},{0x428175+1,DS0(0x4D34),2},{0x428175+3,DS0(HMTable),4},
{0x429807+1,DS0(0x5504),2},{0x429807+3,DS0(HMTable),4},{0x42986C+1,DS0(0x5504),2},{0x42986C+3,DS0(HMTable),4},
{0x42B13F+1,DS0(0x4504),2},{0x42B13F+3,DS0(HMTable),4},{0x42BB00+1,DS0(0x451C),2},{0x42BB00+3,DS0(HMTable),4},
{0x42DEE8+1,DS0(0x4534),2},{0x42DEE8+3,DS0(HMTable),4},{0x42EFB6+1,DS0(0x4504),2},{0x42EFB6+3,DS0(HMTable),4},
{0x42F6F7+1,DS0(0x4534),2},{0x42F6F7+3,DS0(HMTable),4},{0x43145A+1,DS0(0x4504),2},{0x43145A+3,DS0(HMTable),4},
{0x4315CA+1,DS0(0x5504),2},{0x4315CA+3,DS0(HMTable),4},{0x431633+1,DS0(0x550C),2},{0x431633+3,DS0(HMTable),4},
{0x4316EA+1,DS0(0x450C),2},{0x4316EA+3,DS0(HMTable),4},{0x4317EB+1,DS0(0x4504),2},{0x4317EB+3,DS0(HMTable),4},
{0x431EE9+1,DS0(0x4D04),2},{0x431EE9+3,DS0(HMTable),4},{0x432048+1,DS0(0x550C),2},{0x432048+3,DS0(HMTable),4},
{0x4331A3+1,DS0(0x4504),2},{0x4331A3+3,DS0(HMTable),4},{0x433B02+1,DS0(0x4D0C),2},{0x433B02+3,DS0(HMTable),4},
{0x4518D1+1,DS0(0x451C),2},{0x4518D1+3,DS0(HMTable),4},{0x453193+1,DS0(0x4D0C),2},{0x453193+3,DS0(HMTable),4},
{0x4534D6+1,DS0(0x450C),2},{0x4534D6+3,DS0(HMTable),4},{0x453552+1,DS0(0x4D04),2},{0x453552+3,DS0(HMTable),4},
{0x47F11D+1,DS0(0x4D0C),2},{0x47F11D+3,DS0(HMTable),4},{0x47F1DB+1,DS0(0x453C),2},{0x47F1DB+3,DS0(HMTable),4},
{0x47F4B9+1,DS0(0x451C),2},{0x47F4B9+3,DS0(HMTable),4},{0x47F69A+1,DS0(0x553C),2},{0x47F69A+3,DS0(HMTable),4},
{0x47FB87+1,DS0(0x4D0C),2},{0x47FB87+3,DS0(HMTable),4},{0x47FF58+1,DS0(0x4534),2},{0x47FF58+3,DS0(HMTable),4},
{0x4801BA+1,DS0(0x4D0C),2},{0x4801BA+3,DS0(HMTable),4},{0x4803CA+1,DS0(0x4D0C),2},{0x4803CA+3,DS0(HMTable),4},
{0x480644+1,DS0(0x4D0C),2},{0x480644+3,DS0(HMTable),4},{0x4806D2+1,DS0(0x4504),2},{0x4806D2+3,DS0(HMTable),4},
{0x480B0A+1,DS0(0x4D0C),2},{0x480B0A+3,DS0(HMTable),4},{0x480FFA+1,DS0(0x450C),2},{0x480FFA+3,DS0(HMTable),4},
{0x48124A+1,DS0(0x4D34),2},{0x48124A+3,DS0(HMTable),4},{0x4812E5+1,DS0(0x550C),2},{0x4812E5+3,DS0(HMTable),4},
{0x4814CC+1,DS0(0x4D04),2},{0x4814CC+3,DS0(HMTable),4},{0x4817CA+1,DS0(0x5504),2},{0x4817CA+3,DS0(HMTable),4},
{0x48181C+1,DS0(0x453C),2},{0x48181C+3,DS0(HMTable),4},{0x48190E+1,DS0(0x4D0C),2},{0x48190E+3,DS0(HMTable),4},
{0x48197E+1,DS0(0x4504),2},{0x48197E+3,DS0(HMTable),4},{0x481AAC+1,DS0(0x551C),2},{0x481AAC+3,DS0(HMTable),4},
{0x483C46+1,DS0(0x4D0C),2},{0x483C46+3,DS0(HMTable),4},{0x483C89+1,DS0(0x5504),2},{0x483C89+3,DS0(HMTable),4},
{0x483CCE+1,DS0(0x5534),2},{0x483CCE+3,DS0(HMTable),4},{0x483F8B+1,DS0(0x4504),2},{0x483F8B+3,DS0(HMTable),4},
{0x4860E8+1,DS0(0x451C),2},{0x4860E8+3,DS0(HMTable),4},{0x486BB0+1,DS0(0x5534),2},{0x486BB0+3,DS0(HMTable),4},
{0x487652+1,DS0(0x550C),2},{0x487652+3,DS0(HMTable),4},{0x4896AC+1,DS0(0x4504),2},{0x4896AC+3,DS0(HMTable),4},
{0x48971B+1,DS0(0x5504),2},{0x48971B+3,DS0(HMTable),4},{0x49A2EA+1,DS0(0x4D04),2},{0x49A2EA+3,DS0(HMTable),4},
{0x49B0DD+1,DS0(0x4D04),2},{0x49B0DD+3,DS0(HMTable),4},{0x49D446+1,DS0(0x4D04),2},{0x49D446+3,DS0(HMTable),4},
{0x49D4AC+1,DS0(0x5504),2},{0x49D4AC+3,DS0(HMTable),4},{0x49E03F+1,DS0(0x5504),2},{0x49E03F+3,DS0(HMTable),4},
{0x49E088+1,DS0(0x550C),2},{0x49E088+3,DS0(HMTable),4},{0x4A249F+1,DS0(0x4D34),2},{0x4A249F+3,DS0(HMTable),4},
{0x4A3CAC+1,DS0(0x5534),2},{0x4A3CAC+3,DS0(HMTable),4},{0x4AA735+1,DS0(0x4D3C),2},{0x4AA735+3,DS0(HMTable),4},
{0x4AAD33+1,DS0(0x4D14),2},{0x4AAD33+3,DS0(HMTable),4},{0x4AAE0C+1,DS0(0x551C),2},{0x4AAE0C+3,DS0(HMTable),4},
{0x4AAF6D+1,DS0(0x551C),2},{0x4AAF6D+3,DS0(HMTable),4},{0x4AAFFB+1,DS0(0x551C),2},{0x4AAFFB+3,DS0(HMTable),4},
{0x4B262B+1,DS0(0x4504),2},{0x4B262B+3,DS0(HMTable),4},{0x4B9CCB+1,DS0(0x453C),2},{0x4B9CCB+3,DS0(HMTable),4},
{0x4BA767+1,DS0(0x5534),2},{0x4BA767+3,DS0(HMTable),4},{0x4BA7BB+1,DS0(0x4D34),2},{0x4BA7BB+3,DS0(HMTable),4},
{0x4BA8C6+1,DS0(0x4514),2},{0x4BA8C6+3,DS0(HMTable),4},{0x4BA939+1,DS0(0x5514),2},{0x4BA939+3,DS0(HMTable),4},
{0x4BA99F+1,DS0(0x450C),2},{0x4BA99F+3,DS0(HMTable),4},{0x4BAA05+1,DS0(0x4D0C),2},{0x4BAA05+3,DS0(HMTable),4},
{0x4BC922+1,DS0(0x451C),2},{0x4BC922+3,DS0(HMTable),4},{0x4BFDA7+1,DS0(0x4504),2},{0x4BFDA7+3,DS0(HMTable),4},
{0x4BFF35+1,DS0(0x4D0C),2},{0x4BFF35+3,DS0(HMTable),4},{0x4C0044+1,DS0(0x4534),2},{0x4C0044+3,DS0(HMTable),4},
{0x4C676F+1,DS0(0x550C),2},{0x4C676F+3,DS0(HMTable),4},{0x4C709C+1,DS0(0x4D3C),2},{0x4C709C+3,DS0(HMTable),4},
{0x4C70EF+1,DS0(0x5534),2},{0x4C70EF+3,DS0(HMTable),4},{0x4C7160+1,DS0(0x4534),2},{0x4C7160+3,DS0(HMTable),4},
{0x4C76D6+1,DS0(0x550C),2},{0x4C76D6+3,DS0(HMTable),4},{0x4C7767+1,DS0(0x4D0C),2},{0x4C7767+3,DS0(HMTable),4},
{0x4C8036+1,DS0(0x4D34),2},{0x4C8036+3,DS0(HMTable),4},{0x4C809E+1,DS0(0x5534),2},{0x4C809E+3,DS0(HMTable),4},
{0x4C8178+1,DS0(0x4504),2},{0x4C8178+3,DS0(HMTable),4},{0x4C81C2+1,DS0(0x4504),2},{0x4C81C2+3,DS0(HMTable),4},
{0x4C820A+1,DS0(0x4504),2},{0x4C820A+3,DS0(HMTable),4},{0x4C8247+1,DS0(0x4504),2},{0x4C8247+3,DS0(HMTable),4},
{0x4C82A5+1,DS0(0x553C),2},{0x4C82A5+3,DS0(HMTable),4},{0x4C839F+1,DS0(0x4D04),2},{0x4C839F+3,DS0(HMTable),4},
{0x4C8830+1,DS0(0x551C),2},{0x4C8830+3,DS0(HMTable),4},{0x4C9EA5+1,DS0(0x550C),2},{0x4C9EA5+3,DS0(HMTable),4},
{0x4CAB9E+1,DS0(0x4D34),2},{0x4CAB9E+3,DS0(HMTable),4},{0x4CAC54+1,DS0(0x450C),2},{0x4CAC54+3,DS0(HMTable),4},
{0x4DE57C+1,DS0(0x4504),2},{0x4DE57C+3,DS0(HMTable),4},{0x4DE61A+1,DS0(0x550C),2},{0x4DE61A+3,DS0(HMTable),4},
{0x4E18C5+1,DS0(0x4504),2},{0x4E18C5+3,DS0(HMTable),4},{0x4E1AD7+1,DS0(0x4514),2},{0x4E1AD7+3,DS0(HMTable),4},
{0x4E7715+1,DS0(0x4D0C),2},{0x4E7715+3,DS0(HMTable),4},{0x4E7FB5+1,DS0(0x4D14),2},{0x4E7FB5+3,DS0(HMTable),4},
{0x4E86D8+1,DS0(0x550C),2},{0x4E86D8+3,DS0(HMTable),4},{0x4E87BC+1,DS0(0x4D0C),2},{0x4E87BC+3,DS0(HMTable),4},
{0x4E87D6+1,DS0(0x553C),2},{0x4E87D6+3,DS0(HMTable),4},{0x4E8ABF+1,DS0(0x4D0C),2},{0x4E8ABF+3,DS0(HMTable),4},
{0x4E8AD9+1,DS0(0x553C),2},{0x4E8AD9+3,DS0(HMTable),4},{0x4F1A4B+1,DS0(0x450C),2},{0x4F1A4B+3,DS0(HMTable),4},
{0x4F26A6+1,DS0(0x5504),2},{0x4F26A6+3,DS0(HMTable),4},{0x4F313A+1,DS0(0x5504),2},{0x4F313A+3,DS0(HMTable),4},
{0x4F318F+1,DS0(0x4D0C),2},{0x4F318F+3,DS0(HMTable),4},{0x4F4A11+1,DS0(0x4D1C),2},{0x4F4A11+3,DS0(HMTable),4},
{0x4F53B3+1,DS0(0x4D34),2},{0x4F53B3+3,DS0(HMTable),4},{0x4F540C+1,DS0(0x5534),2},{0x4F540C+3,DS0(HMTable),4},
{0x4F5481+1,DS0(0x5534),2},{0x4F5481+3,DS0(HMTable),4},{0x4FD243+1,DS0(0x4504),2},{0x4FD243+3,DS0(HMTable),4},
{0x4FD2A5+1,DS0(0x4504),2},{0x4FD2A5+3,DS0(HMTable),4},{0x4FD2F3+1,DS0(0x4504),2},{0x4FD2F3+3,DS0(HMTable),4},
{0x4FD37E+1,DS0(0x4504),2},{0x4FD37E+3,DS0(HMTable),4},{0x4FD4A1+1,DS0(0x4504),2},{0x4FD4A1+3,DS0(HMTable),4},
{0x50609B+1,DS0(0x4504),2},{0x50609B+3,DS0(HMTable),4},{0x5060EC+1,DS0(0x4D1C),2},{0x5060EC+3,DS0(HMTable),4},
{0x513AC9+1,DS0(0x4504),2},{0x513AC9+3,DS0(HMTable),4},{0x513CE7+1,DS0(0x4504),2},{0x513CE7+3,DS0(HMTable),4},
{0x51C90D+1,DS0(0x4D34),2},{0x51C90D+3,DS0(HMTable),4},{0x51CBB3+1,DS0(0x4534),2},{0x51CBB3+3,DS0(HMTable),4},
{0x51D5B6+1,DS0(0x4514),2},{0x51D5B6+3,DS0(HMTable),4},{0x51F3C0+1,DS0(0x5534),2},{0x51F3C0+3,DS0(HMTable),4},
{0x51F687+1,DS0(0x450C),2},{0x51F687+3,DS0(HMTable),4},{0x51FA10+1,DS0(0x450C),2},{0x51FA10+3,DS0(HMTable),4},
{0x51FAAD+1,DS0(0x4504),2},{0x51FAAD+3,DS0(HMTable),4},{0x51FB29+1,DS0(0x5504),2},{0x51FB29+3,DS0(HMTable),4},
{0x52137B+1,DS0(0x5534),2},{0x52137B+3,DS0(HMTable),4},{0x52163E+1,DS0(0x450C),2},{0x52163E+3,DS0(HMTable),4},
{0x521741+1,DS0(0x5534),2},{0x521741+3,DS0(HMTable),4},{0x5217A9+1,DS0(0x4534),2},{0x5217A9+3,DS0(HMTable),4},
{0x52189C+1,DS0(0x4504),2},{0x52189C+3,DS0(HMTable),4},{0x5218D4+1,DS0(0x4504),2},{0x5218D4+3,DS0(HMTable),4},
{0x52210B+1,DS0(0x550C),2},{0x52210B+3,DS0(HMTable),4},{0x5222BD+1,DS0(0x450C),2},{0x5222BD+3,DS0(HMTable),4},
{0x52297F+1,DS0(0x4D04),2},{0x52297F+3,DS0(HMTable),4},{0x522AD7+1,DS0(0x4D0C),2},{0x522AD7+3,DS0(HMTable),4},
{0x525741+1,DS0(0x5504),2},{0x525741+3,DS0(HMTable),4},{0x5257FB+1,DS0(0x4534),2},{0x5257FB+3,DS0(HMTable),4},
{0x525950+1,DS0(0x4D04),2},{0x525950+3,DS0(HMTable),4},{0x525E87+1,DS0(0x4D04),2},{0x525E87+3,DS0(HMTable),4},
{0x526526+1,DS0(0x5514),2},{0x526526+3,DS0(HMTable),4},{0x5267F5+1,DS0(0x5504),2},{0x5267F5+3,DS0(HMTable),4},
{0x526C00+1,DS0(0x4504),2},{0x526C00+3,DS0(HMTable),4},{0x526F42+1,DS0(0x4504),2},{0x526F42+3,DS0(HMTable),4},
{0x526FC0+1,DS0(0x4534),2},{0x526FC0+3,DS0(HMTable),4},{0x5270E7+1,DS0(0x4534),2},{0x5270E7+3,DS0(HMTable),4},
{0x527E84+1,DS0(0x450C),2},{0x527E84+3,DS0(HMTable),4},{0x52A1C9+1,DS0(0x4534),2},{0x52A1C9+3,DS0(HMTable),4},
{0x52A8AD+1,DS0(0x4D04),2},{0x52A8AD+3,DS0(HMTable),4},{0x52B1A4+1,DS0(0x5514),2},{0x52B1A4+3,DS0(HMTable),4},
{0x52B36F+1,DS0(0x551C),2},{0x52B36F+3,DS0(HMTable),4},{0x52B48F+1,DS0(0x4D1C),2},{0x52B48F+3,DS0(HMTable),4},
{0x52B5D7+1,DS0(0x451C),2},{0x52B5D7+3,DS0(HMTable),4},{0x557096+1,DS0(0x5504),2},{0x557096+3,DS0(HMTable),4},
{0x5683A6+1,DS0(0x4D1C),2},{0x5683A6+3,DS0(HMTable),4},{0x569DB0+1,DS0(0x4534),2},{0x569DB0+3,DS0(HMTable),4},
{0x56A896+1,DS0(0x450C),2},{0x56A896+3,DS0(HMTable),4},{0x56E478+1,DS0(0x4504),2},{0x56E478+3,DS0(HMTable),4},
{0x56E579+1,DS0(0x453C),2},{0x56E579+3,DS0(HMTable),4},{0x56E9A4+1,DS0(0x453C),2},{0x56E9A4+3,DS0(HMTable),4},
{0x5721A8+1,DS0(0x4504),2},{0x5721A8+3,DS0(HMTable),4},{0x5722A9+1,DS0(0x453C),2},{0x5722A9+3,DS0(HMTable),4},
{0x572471+1,DS0(0x4514),2},{0x572471+3,DS0(HMTable),4},{0x582654+1,DS0(0x551C),2},{0x582654+3,DS0(HMTable),4},
{0x582866+1,DS0(0x451C),2},{0x582866+3,DS0(HMTable),4},{0x5AEEFB+1,DS0(0x550C),2},{0x5AEEFB+3,DS0(HMTable),4},
{0x5AEF23+1,DS0(0x550C),2},{0x5AEF23+3,DS0(HMTable),4},{0x5BE40F+1,DS0(0x4504),2},{0x5BE40F+3,DS0(HMTable),4},
{0x5BE4A8+1,DS0(0x550C),2},{0x5BE4A8+3,DS0(HMTable),4},{0x5BE689+1,DS0(0x4504),2},{0x5BE689+3,DS0(HMTable),4},
{0x5BE7BE+1,DS0(0x4D0C),2},{0x5BE7BE+3,DS0(HMTable),4},{0x5BE7EF+1,DS0(0x550C),2},{0x5BE7EF+3,DS0(HMTable),4},
{0x5BE87B+1,DS0(0x450C),2},{0x5BE87B+3,DS0(HMTable),4},{0x5BE89B+1,DS0(0x453C),2},{0x5BE89B+3,DS0(HMTable),4},
{0x5BE9A6+1,DS0(0x4D0C),2},{0x5BE9A6+3,DS0(HMTable),4},{0x5BF5A7+1,DS0(0x4504),2},{0x5BF5A7+3,DS0(HMTable),4},
{0x5BF5EE+1,DS0(0x5504),2},{0x5BF5EE+3,DS0(HMTable),4},{0x5BFD42+1,DS0(0x5504),2},{0x5BFD42+3,DS0(HMTable),4},
{0x5BFD69+1,DS0(0x4D0C),2},{0x5BFD69+3,DS0(HMTable),4},{0x5BFE0F+1,DS0(0x450C),2},{0x5BFE0F+3,DS0(HMTable),4},
{0x5C173D+1,DS0(0x4D0C),2},{0x5C173D+3,DS0(HMTable),4},{0x5C17D2+1,DS0(0x4514),2},{0x5C17D2+3,DS0(HMTable),4},
{0x5C188B+1,DS0(0x4504),2},{0x5C188B+3,DS0(HMTable),4},{0x5C69E5+1,DS0(0x5504),2},{0x5C69E5+3,DS0(HMTable),4},
{0x5C6A12+1,DS0(0x5504),2},{0x5C6A12+3,DS0(HMTable),4},{0x5C7253+1,DS0(0x4D3C),2},{0x5C7253+3,DS0(HMTable),4},
{0x5C7291+1,DS0(0x5514),2},{0x5C7291+3,DS0(HMTable),4},{0x5C7373+1,DS0(0x553C),2},{0x5C7373+3,DS0(HMTable),4},
{0x5C76A1+1,DS0(0x4504),2},{0x5C76A1+3,DS0(HMTable),4},{0x5C76C1+1,DS0(0x4504),2},{0x5C76C1+3,DS0(HMTable),4},
{0x5C7E0A+1,DS0(0x4D04),2},{0x5C7E0A+3,DS0(HMTable),4},{0x5C7EED+1,DS0(0x4504),2},{0x5C7EED+3,DS0(HMTable),4},
{0x5C9BED+1,DS0(0x4504),2},{0x5C9BED+3,DS0(HMTable),4},{0x5CE99D+1,DS0(0x453C),2},{0x5CE99D+3,DS0(HMTable),4},
{0x5CE9C1+1,DS0(0x553C),2},{0x5CE9C1+3,DS0(HMTable),4},{0x5D1D62+1,DS0(0x4534),2},{0x5D1D62+3,DS0(HMTable),4},
{0x5D2238+1,DS0(0x550C),2},{0x5D2238+3,DS0(HMTable),4},{0x5D31E6+1,DS0(0x4504),2},{0x5D31E6+3,DS0(HMTable),4},
{0x5D3209+1,DS0(0x5504),2},{0x5D3209+3,DS0(HMTable),4},{0x5D3238+1,DS0(0x4504),2},{0x5D3238+3,DS0(HMTable),4},
{0x5D33DD+1,DS0(0x4504),2},{0x5D33DD+3,DS0(HMTable),4},{0x5D34EF+1,DS0(0x4534),2},{0x5D34EF+3,DS0(HMTable),4},
{0x5D3513+1,DS0(0x5534),2},{0x5D3513+3,DS0(HMTable),4},{0x5D4499+1,DS0(0x4D04),2},{0x5D4499+3,DS0(HMTable),4},
{0x5D4516+1,DS0(0x4504),2},{0x5D4516+3,DS0(HMTable),4},{0x5D7DA9+1,DS0(0x4D04),2},{0x5D7DA9+3,DS0(HMTable),4},
{0x5D7E84+1,DS0(0x5534),2},{0x5D7E84+3,DS0(HMTable),4},{0x5D80C3+1,DS0(0x450C),2},{0x5D80C3+3,DS0(HMTable),4},
{0x5D843F+1,DS0(0x550C),2},{0x5D843F+3,DS0(HMTable),4},{0x5D8480+1,DS0(0x5504),2},{0x5D8480+3,DS0(HMTable),4},
{0x5D84F3+1,DS0(0x4504),2},{0x5D84F3+3,DS0(HMTable),4},{0x5D853E+1,DS0(0x550C),2},{0x5D853E+3,DS0(HMTable),4},
{0x5D8773+1,DS0(0x553C),2},{0x5D8773+3,DS0(HMTable),4},{0x5D8862+1,DS0(0x4504),2},{0x5D8862+3,DS0(HMTable),4},
{0x5D89D6+1,DS0(0x4D0C),2},{0x5D89D6+3,DS0(HMTable),4},{0x5D8AAB+1,DS0(0x5504),2},{0x5D8AAB+3,DS0(HMTable),4},
{0x5DE4AB+1,DS0(0x553C),2},{0x5DE4AB+3,DS0(HMTable),4},{0x5DE50D+1,DS0(0x4504),2},{0x5DE50D+3,DS0(HMTable),4},
{0x5DEF1D+1,DS0(0x4504),2},{0x5DEF1D+3,DS0(HMTable),4},{0x5DF3DF+1,DS0(0x4534),2},{0x5DF3DF+3,DS0(HMTable),4},
{0x5DF460+1,DS0(0x550C),2},{0x5DF460+3,DS0(HMTable),4},{0x5EA231+1,DS0(0x450C),2},{0x5EA231+3,DS0(HMTable),4},
{0x5EA3AE+1,DS0(0x450C),2},{0x5EA3AE+3,DS0(HMTable),4},{0x5EA4A8+1,DS0(0x4D14),2},{0x5EA4A8+3,DS0(HMTable),4},
{0x5F1B9D+1,DS0(0x4D3C),2},{0x5F1B9D+3,DS0(HMTable),4},{0x5F1D0B+1,DS0(0x4D0C),2},{0x5F1D0B+3,DS0(HMTable),4},
{0x5F1DE1+1,DS0(0x453C),2},{0x5F1DE1+3,DS0(HMTable),4},{0x5F1F68+1,DS0(0x4504),2},{0x5F1F68+3,DS0(HMTable),4},
{0x5F7835+1,DS0(0x5504),2},{0x5F7835+3,DS0(HMTable),4},{0x5F78DA+1,DS0(0x5534),2},{0x5F78DA+3,DS0(HMTable),4},
{0x5F7CDA+1,DS0(0x5534),2},{0x5F7CDA+3,DS0(HMTable),4},
{0x40E5FB+2,DS0(0x4D04),2},{0x40E5FB+4,DS0(&HMTable.y),4},
{0x417B7B+2,DS0(0x4D0C),2},{0x417B7B+4,DS0(HMTable),4},
{0x4199ED+2,DS0(0x4514),2},{0x4199ED+4,DS0(HMTable),4},
{0x4814D3+1,DS0(0x4D04),2},{0x4814D3+3,DS0(&HMTable.RefData1),4},
{0x483C3E+2,DS0(0x4D04),2},{0x483C3E+4,DS0(&HMTable.Owner),4},
//{0x4B6638+2,DS0(0x45C3),2},{0x4B8638+4,DS0(&HMTable.Owner),4},
{0x4B8AC4+1,DS0(0x3D),1},{0x4B8AC4+2,DS0(&HMTable.Owner),4},
{0x4BB183+1,DS0(0x1D),1},{0x4BB183+2,DS0(&HMTable.Spec),4}, //BB183 Spec
{0x4BB305+1,DS0(0x05),1},{0x4BB305+2,DS0(&HMTable.Spec),4}, //BB305 Spec
{0x4BB49C+1,DS0(0x05),1},{0x4BB49C+2,DS0(&HMTable.Spec),4}, //BB49C Spec
{0x4BD0AB+1,DS0(0x3D),1},{0x4BD0AB+2,DS0(HMTable),4},
{0x4BE501+1,DS0(0x3D),1},{0x4BE501+2,DS0(HMTable),4},
{0x4BEF6E+1,DS0(0x05),1},{0x4BEF6E+2,DS0(HMTable),4},
{0x4BF5A6+2,DS0(0x05),1},{0x4BF5A6+3,DS0(&HMTable.y),4},
{0x4BF860+1,DS0(0x05),1},{0x4BF860+2,DS0(&HMTable.y),4},
{0x4BF946+2,DS0(0x4504),2},{0x4BF946+4,DS0(&HMTable.Owner),4},
{0x4BFB47+1,DS0(0x35),1},{0x4BFB47+2,DS0(HMTable),4},
{0x4C6D0F+1,DS0(0x4D04),2},{0x4C6D0F+3,DS0(&HMTable.RefData1),4},
{0x4C6D16+1,DS0(0x4D0C),2},{0x4C6D16+3,DS0(&HMTable.RefData1),4},
{0x4C7920+1,DS0(0x3D),1},{0x4C7920+2,DS0(&HMTable.Owner),4}, // ?
{0x4C7D8F+1,DS0(0x05),1},{0x4C7D8F+2,DS0(&HMTable.RefData1),4},
{0x4C7EF7+1,DS0(0x35),1},{0x4C7EF7+2,DS0(&HMTable.SpPoints),4},
{0x4C83D4,DS0(0x90C003),3},
// ?? ????! {0x4C83DA+1,DS0(0x0D),1},
{0x4C83DA+2,DS0(HMTable),4},
// ?? ????! {0x4C83E0,DS0(0xA0),1},
{0x4C83E0+1,DS0(&HMTable.PSkill),4},
// ?? ????! C8422
{0x4C8422+3,DS0(&HMTable.SpPoints),4},
{0x4C89DF+1,DS0(0x05),1},{0x4C89DF+2,DS0(&HMTable.RefData1),4},
{0x4C9408+1,DS0(0x1C),1},
{0x4C9415,DS0(0x90DB03),3},
// ?? ????! C941D
{0x4C941D+2,DS0(&HMTable.Ct),4},
// ?? ????! {0x4C94BD+1,DS0(0x0D),1},
{0x4C94BD+2,DS0(HMTable),4},
// ?? ????! {0x4C94E3+1,DS0(0x0D),1},
{0x4C94E3+2,DS0(HMTable),4},
{0x4CD8E6+2,DS0(0x4504),2},{0x4CD8E6+4,DS0(&HMTable.Owner),4},
{0x4CD9D2+2,DS0(0x4D0C),2},{0x4CD9D2+4,DS0(&HMTable.Owner),4},
{0x4CDE34+1,DS0(0x05),1},{0x4CDE34+2,DS0(HMTable),4},
{0x4CE4F9+1,DS0(0x15),1},{0x4CE4F9+2,DS0(HMTable),4},
{0x4DA466+1,DS0(0x5D04),2},{0x4DA466+3,DS0(&HMTable.RefData2),4},
{0x4F4ED8+1,DS0(0x4514),2},{0x4F4ED8+3,DS0(&HMTable.Ct),4},
{0x526FC7+1,DS0(0x4504),2},{0x526FC7+3,DS0(&HMTable.Movement),4},
{0x58D579+1,DS0(0x5504),2},{0x58D579+3,DS0(&HMTable.Name),4},
{0x58D697+1,DS0(0x4504),2},{0x58D697+3,DS0(&HMTable.Name),4},
{0x5BE681+2,DS0(0x4514),2},{0x5BE681+4,DS0(&HMTable.Owner),4},
{0x62C9C3,DS0(0xB8),1},{0x62C9C3+1,DS0(HMTable),4},
{0x62CB5F,DS0(0xB8),1},{0x62CB5F+1,DS0(HMTable),4},
*/
/*
{0x4BB1EC+2,DS0(HERNUM),4},{0x4BB252+2,DS0(HERNUM),4},{0x4BB36F+2,DS0(HERNUM),4},
{0x4BB500+2,DS0(HERNUM),4},{0x4BD1CB+3,DS0(HERNUM),4},{0x4BE51D+1,DS0(HERNUM),4},
{0x4BE597+3,DS0(HERNUM),4},{0x4BEF9A+2,DS0(HERNUM),4},{0x4BF61E+2,DS0(HERNUM),4},
{0x4BF8D8+2,DS0(HERNUM),4},{0x4BFBA1+2,DS0(HERNUM),4}, // 4C2CCF 4CAADB ????????????? ?? _THero_
{0x4C81DE+2,DS0(HERNUM),4},{0x4C8222+2,DS0(HERNUM),4},{0x4C825F+2,DS0(HERNUM),4},
{0x4C89E5+1,DS0(HERNUM),4},{0x4CDE53+3,DS0(HERNUM),4},
*/
// CastleManager
{0x5BF444,DS0(0x0C985),2}, // ??????????? ?? ????? ???????? ????
{0x5BF448,DS0(0x90C032),3}, // ??????????? ?? ????? ???????? ????
{0x5BF45A,DS0(0x0C985),2}, // ??????????? ?? ????? ???????? ????
// Magic
{0x4963E7+2,DS0(MAGICS),1},
{0x43F77B+3,DS (MagicAni),4},
{0x43FB67+3,DS0(MagicAni),4},
{0x4963F9+2,DS0(MagicAni),4},
{0x4965CD+2,DS0(MagicAni),4},
{0x5A5033+3,DS0(MagicAni),4},
{0x5A6B11+3,DS0(MagicAni),4},
{0x5A7A71+3,DS0(MagicAni),4},
{0x5A9629+3,DS0(MagicAni),4},
{0x496518+2,DS0(&MagicAni.Name),4},
{0x4689C1+3,DS0(&MagicAni.Name),4},
{0x4966CB+2,DS0(&MagicAni.Name),4},
{0x5A6D2A+3,DS0(&MagicAni.Name),4},
{0x5A7B03+3,DS0(&MagicAni.Name),4},
{0x43E500+3,DS0(&MagicAni.Type),4},
// L/N G/C (icon)
////{0x4579F5+2,0x0B,1}, // NG
////{0x45C912+2,0x0B,1}, // LG
////{0x5135C3+2,0x0B,1}, // NC
////{0x578820+2,0x0B,1}, //
{0x4C415E,DS0(0x73),1}, // ???????? (>=0x1C, ? ?? =0x1C)
{0x513791,DS0(0x73),1}, //
{0x5836DF,DS0(0x73),1}, //
{0x585BD7,DS0(0x73),1}, //
{0x58C168,DS0(0x73),1}, //
{0x502BA3,DS0(0x930F),2}, // ??? ???????? ???????? ?????????? ????????? 1 ????
// Dwellings
{0x418751+3,DS (DwMonster),4}, //
{0x4B85A0+3,DS0(DwMonster),4}, //
{0x5032D6+2,DS0(DwMonster),4}, //
{0x5032C7+1,DS0(&DwMonster),4}, //
{0x5032BB+1,DS0(DWNUM-1),4}, //
{0x521A84+3,DS0(DwMonster),4}, //
{0x521A7F+2,DS0(DWNUM),1}, //
{0x534CE7+3,DS0(DwMonster),4}, //
{0x405CD8+2,DS0(&DwName[-1]),4}, //
{0x405CCE+2,DS0(DWNUM*4),4}, //
{0x40B514+3,DS (DwName),4}, //
{0x40B51E+3,DS0(DwName),4}, //
{0x413E6A+3,DS0(DwName),4}, //
{0x413E75+3,DS0(DwName),4}, //
{0x4A1550+3,DS0(DwName),4}, //
//{(long)&DwMonster,DS0(133),4},
{0x447473+2,DS0(MoJumper1),4}, // ????? ?????????? ?? ??????? ?????
{0x447468+2,DS0(MONNUM-13),1}, // ????? ?????????? ?? ??????? ?????
{0x4476FC,DS0(0x044748E),4}, // ????? ?????????? ?? ??????? ?????
{0x44825D+2,DS0(MoJumper2),4}, // ????? ???????
{0x44824C+2,DS0(MONNUM-13),1}, // ????? ???????
{0x440914+2,DS0(MoJumper3),4}, // ????????? ?? ????? ????? ???????
{0x440909+2,DS0(MONNUM-63),1}, // ????????? ?? ????? ????? ???????
{0x440235+2,DS0(MoJumper4),4}, // ????? ??????? ????? ????? ???????
{0x44023B+3,DS0(MoJumper4po),4}, // ????? ??????? ????? ????? ???????
{0x44022E+2,DS0(MONNUM-22),1}, // ????? ??????? ????? ????? ???????
{0x43DA9D+2,DS0(MoJumper5),4}, // ????????? ??????????? ??????
{0x43DA94+1,DS0(MONNUM-2),4}, // ????????? ??????????? ??????
{0x44A4B1+2,DS0(MoJumper6),4}, // ??????????? ???????? ????? ?? ???????
{0x44A4AA+2,DS0(MONNUM-16),1}, // ??????????? ???????? ????? ?? ???????
{0x421477+2,DS0(AIMagicJumper),4}, // AI ??????? ????? ?? ?????? ?????????
{0x421470+2,DS0(MONNUM-13),1}, //
{0x4F63EB,DS0(0),1}, // ?????????? ????? ???????
//{0x4B8130,DS0((256+21)*4),4}, // ????? ? ??????? 256 - ?????.
// ????????? ??????? ? LE
{0x49FF98+2,DS0(8),1}, // ?????????? ???? ???????
// 3.58 fix Arrow Tower + Armorer bug
{0x465944,DS0(0x4D),1}, // fmul instead of fdiv
// ???????? ???????????
{0x5664B5+3,DS (SkelTrans),4},
{0x56689D+3,DS (SkelTrans),4},
{0x566D79+3,DS (SkelTrans),4},
{0x566F3C+3,DS (SkelTrans),4},
{0x566FA4+3,DS (SkelTrans),4},
{0x566FD1+3,DS (SkelTrans),4},
// fix ? ?????? ?? ???????? ? ?????, ???? ??? >145
{0x428885+1,DS (MONNUM*12),4},
{0x4288C4+2,DS (MONNUM*12),4},
{0x4288A3+3,DS (MONNUM),4},
{0x4288E3+1,DS (MONNUM),4},
// ????? ???? ? ????? ?? ???? ??? ?? ?????? ?????? ? ??????? ??
//{0x476435+1,DS (0),1},
// ??????????? ???????? ??????? ? ??????, ???? ??????? ???
{0x4C698F,DS (0xC03B),2},
// ??????? ??????? ???????? Combo ??????????
{0x660B6C,DS (CArtSetup),4},
// {0x4865C6+2,DS(160),4}, // ???? AI think about art
// {0x486664+2,DS(160),4}, // ???? AI think about art
// {0x4875EE+2,DS(160),4}, // ???? AI think about art
{0x48E5AD+2,DS(160),4},
{0x4CF67A+2,DS(160),4},
{0x4C2277+2,DS(160),4},
{0x4DC319+2,DS(160),4},
{0x4E33DC+2,DS (32),1},
{0x4E34B1+2,DS (32),1},
{0x4E353D+2,DS (32),1},
{0x4DC3C4+2,DS (32),1},
{0x4DC418+2,DS (32),1},
{0x4DC127+2,DS(160),4},
{0x4DC49E+2,DS (32),1},
{0x4DC1DA+2,DS(160),4},
{0x4DC240+2,DS(160),4},
{0x4DC26A+2,DS(160),4},
//{0x44C549+2,DS(ARTNUM),4},
{0x44C549+2,DS(160),4},
{0x4DDFA4+2,DS(160),4}, // only first 160 arts may be a part of combo
{0x44D1A8+2,DS(160),4}, // only first 160 arts may be a part of combo
{0x4E2A5C+2,DS(160*32),4}, // only first 160 arts may be a part of combo
{0x4E2967+2,DS(160*32),4}, // only first 160 arts may be a part of combo
// ??????????
{(long)&DwMonster,DS0(150),4},// 80
{(long)&DwMonster,DS0(151),4},// 81
{(long)&DwMonster,DS0(152),4},// 82
{(long)&DwMonster,DS0(153),4},// 83
{(long)&DwMonster,DS0(154),4},// 84
{(long)&DwMonster,DS0(155),4},// 85
{(long)&DwMonster,DS0(156),4},// 86
{(long)&DwMonster,DS0(157),4},// 87
{(long)&DwMonster,DS0(158),4},// 88
{(long)&DwMonster,DS0(171),4},// 89
{(long)&DwMonster,DS0(170),4},// 90
{(long)&DwMonster,DS0(168),4},// 91
{(long)&DwMonster,DS0(172),4},// 92 nightmare
{(long)&DwMonster,DS0(164),4},// 93 golems (!!! must be corrected later down)
{(long)&DwMonster,DS0(169),4},// 94 ??????? ?????
{(long)&DwMonster,DS0(173),4},// 95 SG
// 3.58
{(long)&DwMonster,DS0(192),4},// 96 Sylvan Centour
{(long)&DwMonster,DS0(193),4},// 97 Sorceress
{(long)&DwMonster,DS0(194),4},// 98 Werewolf
{(long)&DwMonster,DS0(195),4},// 99 Fire Horse
{(long)&DwMonster,DS0(196),4},// 100 Dracolich
// ????????? ?????? ???????? ? ?????? Kingdom Overview
{0x681860,DS('Z'),1}, // "ZlagPort.def"
{0x520ECF+2,DS(DWNUM+3),1}, // Horn
{0x520EFC+3,DS(DWNUM+3),4},
{0x520F2C+2,DS(DWNUM+4),1}, // Horn Anti-Magic
{0x520F55+3,DS(DWNUM+4),4},
{0x520FF9+2,DS(DWNUM+7),1}, // Shypyard
{0x52103A+3,DS(DWNUM+7),4},
{0x520C76+2,DS(DWNUM+5),1}, // Abandoned Mine
{0x520CA7+3,DS(DWNUM+5),4},
{0x520CE9+2,DS(DWNUM+2),1}, // Lighthouse
{0x520D1A+3,DS(DWNUM+2),4},
//{0x520ECF+2,DS(DWNUM-5),1}, // Horn
//{0x520EFC+3,DS(DWNUM-5),4},
// 3.59
// new town support
{0x5C0359+3,DS(AllEnBuildings),4},
{0x5C0360+3,DS(AllEnBuildings)+4,4},
{0x5C3836+3,DS(AllEnBuildings),4},
{0x5C383F+3,DS(AllEnBuildings)+4,4},
{0x5D3749+3,DS(AllEnBuildings),4},
{0x5D3753+3,DS(AllEnBuildings)+4,4},
{0x5D378A+3,DS(AllEnBuildings),4},
{0x5D3793+3,DS(AllEnBuildings)+4,4},
{0x5C0E9C+3,DS(AllEnBuildings),4},
{0x5C0EA3+3,DS(AllEnBuildings)+4,4},
{0x5C0FE8+3,DS(AllEnBuildings),4},
{0x5C0FF1+3,DS(AllEnBuildings)+4,4},
{0x5C0D72+3,DS(AllEnBuildings),4},
{0x5C0D81+3,DS(AllEnBuildings)+4,4},
{0x5C11D7+3,DS(BuildDepends),4},
{0x5C11DE+3,DS(BuildDepends)+4,4},
{0x42B281+3,DS(BuildDepends),4},
{0x42B290+3,DS(BuildDepends)+4,4},
{0x5C12E5+3,DS(BuildDepends),4},
{0x5C12EC+3,DS(BuildDepends)+4,4},
{0x5C1377+3,DS(BuildDepends),4},
{0x5C137E+3,DS(BuildDepends)+4,4},
{0x5D6015+3,DS(BuildDepends),4},
{0x5D601C+3,DS(BuildDepends)+4,4},
{0x5BED7F+3,DS(BuildExclusions),4},
{0x5BED88+3,DS(BuildExclusions)+4,4},
{0x5C0F07+3,DS(BuildExclusions),4},
{0x5C0F18+3,DS(BuildExclusions)+4,4},
{0x5C0D0E+3,DS(BuildExclusions),4},
{0x5C0D15+3,DS(BuildExclusions)+4,4},
{0x5BF2E3+3,DS(BuildExclusions),4},
{0x5BF2EA+3,DS(BuildExclusions)+4,4},
{0x5BF782+3,DS(BuildExclusions),4},
{0x5BF789+3,DS(BuildExclusions)+4,4},
{0x5C03A4+3,DS(BuildExclusions),4},
{0x5C03AB+3,DS(BuildExclusions)+4,4},
{0x5C0C64+3,DS(BuildExclusions),4},
{0x5C0C6B+3,DS(BuildExclusions)+4,4},
//{0x5C1974+2,DS(BuildExclusions)+8,4}, // check for previous field
{0x5D606B+2,DS(BuildExclusions),4},
{0x460DE2+3,DS(TownStructOnScreen),4},
{0x460DD1+2,DS(TownStructOnScreenNum),4},
{0x461038+2,DS(TownStructOnScreenNum),4},
{0x46131D+2,DS(TownStructOnScreenNum),4},
{0x4613AE+2,DS(TownStructOnScreenNum),4},
{0x4613CC+2,DS(TownStructOnScreenNum),4},
{0x46140F+2,DS(TownStructOnScreenNum),4},
{0x46142B+2,DS(TownStructOnScreenNum),4},
{0x4614C2+2,DS(TownStructOnScreenNum),4},
{0x4614DE+2,DS(TownStructOnScreenNum),4},
{0x46162D+2,DS(TownStructOnScreenNum),4},
// Lod support
{0x559395+1,DS(&LodTable),4},
{0x5593A4+1,DS(&LodTable),4},
{0x5593B3+1,DS(&LodTable),4},
{0x5593C2+1,DS(&LodTable),4},
{0x5593D1+1,DS(&LodTable),4},
{0x5593E0+1,DS(&LodTable),4},
{0x5593EF+1,DS(&LodTable),4},
{0x5593FE+1,DS(&LodTable),4},
{0x55944C+1,DS(LodTable),4},
{0x55A571+2,DS(LodTable),4},
{0x55A577+2,DS(LodTable+4),4},
{0x55A629+2,DS(LodTable),4},
{0x55A62F+2,DS(LodTable+4),4},
{0x55A726+2,DS(LodTable+4),4},
{0x55A7D8+1,DS(LodTable+4),4},
{0x55ABB8+2,DS(LodTable+4),4},
{0x55ABE1+2,DS(LodTable+4),4},
{0x55AC3D+2,DS(LodTable+4),4},
{0x55AC6A+2,DS(LodTable+4),4},
{0x55AFC6+2,DS(LodTable+4),4},
{0x55AFEF+2,DS(LodTable+4),4},
{0x55B04A+2,DS(LodTable+4),4},
{0x55B077+2,DS(LodTable+4),4},
{0x55B40D+2,DS(LodTable+4),4},
{0x55B436+2,DS(LodTable+4),4},
{0x55B492+2,DS(LodTable+4),4},
{0x55B4BF+2,DS(LodTable+4),4},
{0x55B7D0+2,DS(LodTable+4),4},
{0x55B7F9+2,DS(LodTable+4),4},
{0x55B852+2,DS(LodTable+4),4},
{0x55B879+2,DS(LodTable+4),4},
{0x55BBE3+2,DS(LodTable+4),4},
{0x55BC0C+2,DS(LodTable+4),4},
{0x55BC68+2,DS(LodTable+4),4},
{0x55BC95+2,DS(LodTable+4),4},
{0x55BEF8+2,DS(LodTable+4),4},
{0x55BF21+2,DS(LodTable+4),4},
{0x55C1C8+2,DS(LodTable+4),4},
{0x55C1F1+2,DS(LodTable+4),4},
{0x55CA54+2,DS(LodTable+4),4},
{0x55CA7D+2,DS(LodTable+4),4},
{0x55CAD7+2,DS(LodTable+4),4},
{0x55CB00+2,DS(LodTable+4),4},
{0x55D197+2,DS(LodTable+4),4},
{0x55D1C0+2,DS(LodTable+4),4},
{0x55D227+2,DS(LodTable+4),4},
{0x55D250+2,DS(LodTable+4),4},
{0x55D2A8+2,DS(LodTable+4),4},
{0x55D2C7+2,DS(LodTable+4),4},
//{0x559575+1,DS(&LodTypes::Table),4},
//{0x5595B0+1,DS(&LodTypes::Table),4},
//{0x5595DF+1,DS(&LodTypes::Table),4},
//{0x559606+1,DS(&LodTypes::Table),4},
{0x55A548+3,DS(LodTypes::Table),4},
{0x55ABA3+3,DS(LodTypes::Table),4},
{0x55AC28+3,DS(LodTypes::Table),4},
{0x55AFB1+3,DS(LodTypes::Table),4},
{0x55B035+3,DS(LodTypes::Table),4},
{0x55B3F8+3,DS(LodTypes::Table),4},
{0x55B47D+3,DS(LodTypes::Table),4},
{0x55B7BB+3,DS(LodTypes::Table),4},
{0x55B840+3,DS(LodTypes::Table),4},
{0x55BBCE+3,DS(LodTypes::Table),4},
{0x55BC53+3,DS(LodTypes::Table),4},
{0x55BEE3+3,DS(LodTypes::Table),4},
{0x55C1B3+3,DS(LodTypes::Table),4},
{0x55C43F+3,DS(LodTypes::Table),4},
{0x55CA38+3,DS(LodTypes::Table),4},
{0x55CA3F+3,DS(LodTypes::Table),4},
{0x55CABB+3,DS(LodTypes::Table),4},
{0x55CAC2+3,DS(LodTypes::Table),4},
{0x55D17B+3,DS(LodTypes::Table),4},
{0x55D212+3,DS(LodTypes::Table),4},
{0x55D296+3,DS(LodTypes::Table),4},
{0x55CA31+3,DS(&LodTypes::Table.Inds),4},
{0x55CAB4+3,DS(&LodTypes::Table.Inds),4},
{0x55D174+3,DS(&LodTypes::Table.Inds),4},
{0x55AB9C+3,DS(&LodTypes::Table),4},
{0x55AC21+3,DS(&LodTypes::Table),4},
{0x55AFAA+3,DS(&LodTypes::Table),4},
{0x55B02E+3,DS(&LodTypes::Table),4},
{0x55B3F1+3,DS(&LodTypes::Table),4},
{0x55B476+3,DS(&LodTypes::Table),4},
{0x55B7B4+3,DS(&LodTypes::Table),4},
{0x55B839+3,DS(&LodTypes::Table),4},
{0x55BBC7+3,DS(&LodTypes::Table),4},
{0x55BC4C+3,DS(&LodTypes::Table),4},
{0x55BEDC+3,DS(&LodTypes::Table),4},
{0x55C1AC+3,DS(&LodTypes::Table),4},
{0x55D20B+3,DS(&LodTypes::Table),4},
{0x55AB95+3,DS(&LodTypes::Table.Inds),4},
{0x55AC1A+3,DS(&LodTypes::Table.Inds),4},
{0x55AFA3+3,DS(&LodTypes::Table.Inds),4},
{0x55B027+3,DS(&LodTypes::Table.Inds),4},
{0x55B3EA+3,DS(&LodTypes::Table.Inds),4},
{0x55B46F+3,DS(&LodTypes::Table.Inds),4},
{0x55B7AD+3,DS(&LodTypes::Table.Inds),4},
{0x55B832+3,DS(&LodTypes::Table.Inds),4},
{0x55BBC0+3,DS(&LodTypes::Table.Inds),4},
{0x55BC45+3,DS(&LodTypes::Table.Inds),4},
{0x55BED5+3,DS(&LodTypes::Table.Inds),4},
{0x55C1A5+3,DS(&LodTypes::Table.Inds),4},
{0x55D204+3,DS(&LodTypes::Table.Inds),4},
{0x55D28F+3,DS(&LodTypes::Table.Inds),4},
{0x55C438+3,DS(&LodTypes::Table),4},
// Spells support
{0x59E467+3,DS(Spells),4},
{0x687FA8,DS(Spells),4},
{0,0}
};
struct __Copiers{
Byte *from;
Byte *to;
longlen;
} Copiers[]={
// FindERMn
{(Byte *)"\xE8\x1\x1\x1\x1\x5E\x33\xC0\x5B\x5D\xC2\x10\x00",(Byte *)0x4FDF8B,13},
// FindERMl
{(Byte *)"\xE8\x1\x1\x1\x1\x5E\x33\xC0\x5B\x8B\xE5\x5D\xC2\x10\x00",(Byte *)0x4FE577,15},
// EventERM
//{(Byte *)"\xE8\x1\x1\x1\x1\x6A\xFF\xEB\x06\x90\x55\x8B\xEC\xEB\xF1",(Byte *)0x49F6F6,15},
// GlobalEvent
// Castle Service
{(Byte *)"\x89\x7D\xF0\xE8\x1\x1\x1\x1\x83\xFF\x19\x90\x90\x90\x90\x90",(Byte *)0x5D38AA,16},
{(Byte *)"\xE8\x1\x1\x1\x1\x33\xC0\x90\x3B\xDF",(Byte *)0x5D6B90,10},
// NextHeroChoosen
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x58DF33,7},
// New Speciality
{(Byte *)"\xE8\x1\x1\x1\x1\xEB\x20",(Byte *)0x4E11E0,7}, //Picture 1 Prepare
{(Byte *)"\x8D\x4D\xD8\xE8\x1\x1\x1\x1\xEB\x14",(Byte *)0x4E1F35,10}, //Picture 1,2 Show
{(Byte *)"\x6C",(Byte *)0x68C782,1}, //Original Picture 2 Disable
{(Byte *)"\xE8\x1\x1\x1\x1\xEB\x1D",(Byte *)0x4DED05,7}, //Picture 2 Prepare
{(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
// FileLoader
{(Byte *)"\xE8\x1\x1\x1\x1\xC3",(Byte *)0x47A6B3,6},
// New/Load Map/Game
////{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4C413E,5}, // N G (???)
////{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4C5323,5}, // L G (???)
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90",(Byte *)0x5849C7,9}, // N G (???)
////{(Byte *)"\x8B\x4B\x0C\x89\x4F\x0C\x8B\x4B\x10\x89\x4F\x10\x8B\x53\x14\x89\x57\x14",(Byte *)0x58F7DB,18}, // copy (???)
////{(Byte *)"\x8B\x4B\x0C\x89\x4F\x0C\x8B\x4B\x10\x89\x4F\x10\x8B\x53\x14\x89\x57\x14",(Byte *)0x59083A,18}, // copy (???)
//{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4C413E,5},
//CrBank
{(Byte *)0x67037C,(Byte *)crbankt1,sizeof(crbanks1)*BANKNUM_0},
{(Byte *)0x6702A0,(Byte *)crbankt2,sizeof(crbanks2)*BANKNUM_0},
//Monsters
{(Byte *)0x6703B8,(Byte *)MonTable,sizeof(_MonInfo_)*MONNUM_0},
// HeroSpec
{(Byte *)0x678420,(Byte *)HSpecTable,sizeof(_HeroSpec_)*HERNUM_0},
// HeroInfo
{(Byte *)0x679DD0,(Byte *)HTable,sizeof(_HeroInfo_)*(HERNUM_0+8)},
// Magic
{(Byte *)0x641E18,(Byte *)MagicAni,sizeof(_MagicAni_)*0x53},
// Dwellings
{(Byte *)0x63D570,(Byte *)DwMonster,sizeof(int)*DWNUM_0},
// ???????? ????? ??????? (AvWattak.def)
//{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4118BF,6},
// ???????? ??????? ??????? (AvWattak.def)
//{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4110C7,6},
// ????. ?????? ? ?????????? ????????
//{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x43DA8E,6},
// ????? ????????
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x44571B,5},
// ????? 1
{(Byte *)"\xE8\x1\x1\x1\x1\x0A\xC0",(Byte *)0x464944,7},
{(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},
// ???????? ?? ????????
//{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x4650C5,8},
// ???????? ?? ????-????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x440245,6},
// ???????? ?? ????? (????????)
{(Byte *)"\xE8\x1\x1\x1\x1\x3D\xFF\xFF\xFF\xFF\x90\x90\x90\x90\x90",(Byte *)0x446BD6,15},
{(Byte *)"\x8B\xCA\x90\x90\x90\x3B\xC2\x90",(Byte *)0x446C2E,8},
// ???????? ?? ??????? (????????)
{(Byte *)"\xE8\x1\x1\x1\x1\x0A\xC0",(Byte *)0x46905A,7},
// ???????? ?? harpy (????? ?????)
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x0A\xC0",(Byte *)0x47832B,8},
// ??????? ?? ?????????? ?????? Message
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4F6C0A,6},
// ??????? ?? ?????? - ??? ?????? ????????
{(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x90",(Byte *)0x46723E,8},
// ???????? ?? ???????
{(Byte *)"\xE8\x1\x1\x1\x1\x0B\xD2\x74\x09\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x44B00D,16},
// ???????? ?? ???????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x43D954,8},
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x4B3736,8},
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4B301C,12},
// ???????? ?? ???????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90\x0B\xC0\x74\x29",(Byte *)0x44C049,14},
// ???????? ?? ??????
{(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x74\x07\x90\x90\x90\x90\x90",(Byte *)0x44ACF1,14},
{(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x74\x07\x90\x90\x90\x90\x90",(Byte *)0x44BA58,14},
// ???????? ?? ??????
{(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x74\x07\x90\x90\x90\x90\x90",(Byte *)0x44BA6F,14},
// ???????? ?? ?????????? ?????
{(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},
// ???????? ??????? ????????
//{(Byte *)"\xE8\x1\x1\x1\x1\xEB\x38",(Byte *)0x41ABF4,7},
// ????????? ???? ???????? ?????? ??????
//{(Byte *)0x63E678,NewMonthMonTypes,12},
// ?????????? ??? ????? ????? ?? ????????
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x45B3E1,5},
// +1 ??????? ??? ?????
{(Byte *)"\x0B",(Byte *)0x4DAB49,1},
{(Byte *)"\xE8\x1\x1\x1\x1\x8B\xF0\x89\x75\xEC",(Byte *)0x4DAB55,10},
{(Byte *)"\x90\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4DAB65,9},
// ???????? ????? ????? ??? ??????
//{(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x90\x90\x90\x90\x90\x90\x90\x90\x90\x0F\x85",(Byte *)0x46713A,18},
{(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},
// ??????????? ?????????? ??? ?? ???????? ?? ????? ? ????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x50D0FA,6},
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x50D103,6},
// ??????? ??????? ??????????
{(Byte *)0x63E758,(Byte *)ArtBonus,ARTNUM_0*4},
{(Byte *)ArtBonusAdd,(Byte *)ArtBonus,(ARTNUM-ARTNUM_0)*4},
// ???? ??? ??????????
{(Byte *)"\xE8\x1\x1\x1\x1\x8B\xF0",(Byte *)0x4DB68C,7},
// ???? ????????? ??????
{(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0",(Byte *)0x47602C,7},
// ???? ????? ???? ???????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x44836D,6},
// ????? ?????? ????
{(Byte *)"\xE8\x1\x1\x1\x1\xEB\x38",(Byte *)0x4FBFFE,7},
// ??????? ??????? ????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90",(Byte *)0x409389,10},
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90",(Byte *)0x409314,10},
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x5B397E,6},
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4F0568,5},
// ????????? ???? ?????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x49389F,6},
// ??????? ??????? ??? AI ???? ?????? ???????
////{(Byte *)"\xE9\x08\x04\x0\x0\x90",(Byte *)0x42EF3C,6},
////{(Byte *)"\xEB",(Byte *)0x42F15B,1},
// NPC
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4DA9B6,5},
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x46359E,7},
//{(Byte *)"\xE8\x1\x1\x1\x1\xE9\x2E\xFC\xFF\xFF",(Byte *)0x4DD981,10},
// Champion
{(Byte *)"\xC7\x45\xF0\x0\x0\x0\x0\xE8\x1\x1\x1\x1",(Byte *)0x443066,12},
// Death Stare
//{(Byte *)"\x90\x90\x90\x90\x90",(Byte *)0x440BFB,5},
{(Byte *)"\xE8\x1\x1\x1\x1\x8B\xD9\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x440BF6,15},
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x440C40,5},
// ???????? ??? ????????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x84\xC0",(Byte *)0x474589,8},
// ????? ?????? ? ?????? ????????????? ?????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x4DD632,7},
// ???? ?????? ?? ???? ????? ?? ??????
{(Byte *)"\xE8\x1\x1\x1\x1\xEB\x1E\x90\x90\x90",(Byte *)0x47265C,10},
// ????? ????? ?? ? ??????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x5D3867,6},
// ???? ?????? ??? ??????? ??????
{(Byte *)"\xE8\x1\x1\x1\x1\x8D\x70\xFF\x81\xFE\xD6\x0\x0\x0\x0F\x87\x11\x06\x0\x0",(Byte *)0x5B02DD,20},
// ?????????????? ?????????? ???????
{(Byte *)"\xE8\x1\x1\x1\x1\x0B\xC0\x74\x54",(Byte *)0x4E3879,9},
// ???? ?????? ?? ???? ?????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4746E8,6},
// ????????? LE c ????????
{(Byte *)"\x8B\x7D\x1C\xE8\x1\x1\x1\x1",(Byte *)0x49F7BA,8},
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x33\xFF",(Byte *)0x49FDE4,8},
// ??????? ????????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x4E2CC1,7},
// ??????? ????????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x4E2F60,7},
// ???? ???? ? ?? ? ?????????? ???????? (???????? ??? ????? ??????????? ???????)
{(Byte *)"\x33\xFF\x90\x90\x90\x90\x90",(Byte *)0x42C8B4,7},
{(Byte *)"\x33\xF6\x90\x90\x90\x90\x90",(Byte *)0x42C77F,7},
// ????? ???????? ????????????? ????? ? ?? ????????????? ?????? ??????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x5570C1,6},
// ????? ????? ??? ????? (??????? ??????? ? ?????? ?????)
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90",(Byte *)0x5BC9B1,9},
// ????? ????????? ?????
{(Byte *)&MagicAniAdd,(Byte *)&MagicAni,sizeof(MagicAniAdd)},
{(Byte *)&_MonAdd,(Byte *)&MonTable,sizeof(_MonAdd)},
// ????? ?????
{(Byte *)0x683A10,(Byte *)VidArr,sizeof(_VidInfo_)*VIDNUM_0},
{(Byte *)&VidArrAdd,(Byte *)&VidArr,sizeof(VidArrAdd)},
// ?????
//{(Byte *)HBiosTablePluss,(Byte *)&HBiosTable,sizeof(HBiosTablePluss)},
//{(Byte *)HSpecTablePluss,(Byte *)&HSpecTable,sizeof(HSpecTablePluss)},
//{(Byte *)HTablePluss,(Byte *)&HTable,sizeof(HTablePluss)},
//{(Byte *)HTable2Pluss,(Byte *)&HTable2,sizeof(HTable2Pluss)},
// MP3 ?????
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x59AC51,5}, //
// 3.58
// Carry Over Hero Setup
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4860F9,6}, //
// Carry Over Hero New Art Setup
{(Byte *)"\xEB\x19",(Byte *)0x486672,2}, //
{(Byte *)"\xEB\x5C\x90",(Byte *)0x4865CE,3}, // ROE
{(Byte *)"\x83",(Byte *)0x4875F5,1}, // 3.59 ROE carry over new arts crash fix
// ?????? ?????
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x59A893,5}, //
// ???? ???????? ? ??????? ?? 0x5be8ae
// ???? ???? ? ??????? ????????? (SoD)
{(Byte *)"\x0F\x84\x65\x01\x00\x00",(Byte *)0x5BE88B,6}, //
//Skeleton Transformer
{(Byte *)0x64130C,(Byte *)SkelTrans,sizeof(int)*(MONNUM_0-5)},
{(Byte *)&SkelTransAdd,(Byte *)&SkelTrans,sizeof(SkelTransAdd)},
// Speed up AI thinking (0x00007D00 original)
// Now through ERM
//{(Byte *)"\x00\x10\x00\x00",(Byte *)0x526C9E,4}, //
//{(Byte *)"\x00\x10\x00\x00",(Byte *)0x526CEE,4}, //
// Post Instruction call 3.58
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90",(Byte *)0x4C01A2,10}, //
// ??????? ?????? ? ??????
{(Byte *)"\xE8\x1\x1\x1\x1\xE9\x69\xFF\xFF\xFF",(Byte *)0x5D520D,10}, //
// ??????? ?????? ?????? ?????? ?????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4DDD77,20}, //
// ???? ??????? ?????????? ?????? ??? ??????? - ?????? ?????????
{(Byte *)"\x5A\xE4\x5E\x00\x5A\xE4\x5E\x00",(Byte *)0x5EE9E0,8}, //
// ???? ???????????? ????????? ??? ?????????? ? ??????? ? ArtMerchant
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x5EEBC5,6}, //
// ??????? ????? ???????? ?? ?????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x4E86E3,7}, //
// ??????? ????? ???????? ? ?????? ???????
{(Byte *)"\x8D\x45\x08\xE8\x1\x1\x1\x1\x90",(Byte *)0x4C6BD3,9}, //
// ???????? ???? ???????? ?????
{(Byte *)"\x90\x53\x56\xE8\x1\x1\x1\x1\x8B\xF0\xEB\x11\x90",(Byte *)0x4E556F,13}, //
// ??????????? ?????? ?????? ??? ?????? ??????
{(Byte *)"\xE8\x1\x1\x1\x1\x8B\x43\x4C\x3B\xC7\x8B\x43\x34\x90",(Byte *)0x4790C3,14}, //
// ??????????? ?????? DeathBlow
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4435A3,6}, //
// ??????????? ?????? ?????? ?????? ??????????? ???????
{(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}, //
// SoD ????. ????????? ???????? ?????? ??? ???? ?????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x4D8F1D,6}, //
// ??????? ????? ????? ?????
//{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x5F\x5E\x5B",(Byte *)0x4412AE,10}, //
// ???????? - ?????????? ?????? ??????
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x43DDCE,5}, //
// unicorn - ?????????? ????
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x43E800,5}, //
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x43E8AE,5}, //
// ????????????? ???? ????? Dispel
{(Byte *)"\x8B\x4D\x10\x51\x8B\x4D\x0C\x51\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x5A8454,16}, //
{(Byte *)"\x8B\x4D\x10\x51\x8B\x4D\x0C\x51\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x5A84DF,16}, //
// ???? ?? ???????? ?? ????? ??????????/?????????? ???????
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x462847,5}, //
// ?????? ?? ????? ???? ???????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x50CEAA,6}, //
// ?????? ???? ????? ????????? (????? ??????? ??????????? !!!!)
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x5A87AD,6}, //
// ???? ??????? ??? ?????? ??? ??????? ?????????? ??? ??????????? ??????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x619BB1,6}, //
// fix Win98 quit crash
{(Byte *)"\xE8\x1\x1\x1\x1\x85\xC9\x74\x49\x90\x90",(Byte *)0x4F84F4,11}, //
// new WoG 3.58 art - shield (retailate)
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x441AFF,6}, //
// new WoG 3.58 art - axe (+1strike)
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x441C01,6}, //
// fix No default Bio if a name set but bio not
{(Byte *)"\x33\xC0\x90\x90\x90",(Byte *)0x4DD96C,5}, //
//{0x48E5B3,DP(0x75),1}, // Combo arts fix for arts >160
{(Byte *)"\xEB\x26\x90\x90\x90\x90\x90",(Byte *)0x48E5B5,7}, //
{(Byte *)"\xEB\xD0\x90",(Byte *)0x4DC248,3}, //
// Dracolish (Power Lich shoot)
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90",(Byte *)0x43FA1F,9}, //
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x41ED5F,5}, //
// 3.58 Combo Part fix
{(Byte *)"\xE9\x80\x0\x0\x0",(Byte *)0x4E2D43,5}, //
{(Byte *)"\xE9\x7B\x0\x0\x0",(Byte *)0x4E2EB3,5}, //
{(Byte *)"\x5F\x73\x24\x90\x90",(Byte *)0x4CF682,5}, //
{(Byte *)"\xEB\x23\x90",(Byte *)0x4DC12F,3}, //
// Swap AI stacks before battle
//{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x4ADFAD,5}, //
// Shooting Animation for spec units (type of shoot in the table 0)
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x43DAAA,5}, //
// ????? ???? ? ???? ?????? ?? ???? - ??????? (3.58)
//{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x40624D,5}, //
// ????? ??????????? ?? ???????? ??? ???????-?????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x5A7579,7}, //
{(Byte *)"\x90\x90\x90",(Byte *)0x5A7586,3}, //
// ????? ??????????? ?? ???????? ??? ???????-?????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90",(Byte *)0x5A8D56,7}, //
{(Byte *)"\x90\x90\x90",(Byte *)0x5A8D63,3}, //
// ?????????? ????? ???? ???????? ? ???? Kingdom Overview
{(Byte *)"\x90\x90\x90",(Byte *)0x520DA0,3}, //
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x520DB3,5}, //
// SoD ????????????? ??? ??? ????????? ViewEarth
{(Byte *)"\x90\x90",(Byte *)0x5FC087,2}, //
{(Byte *)"\x90\x90",(Byte *)0x5FC0B5,2}, //
// ?? ???????? ?????? ???, ???? ????????? ?? ????????
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x43FF7E,6}, //
// ??????? ????
//{(Byte *)"\xE8\x1\x1\x1\x1\xC3",(Byte *)0x51BD60,6}, //
// ?????? ????? ????? ?? ??????????
{(Byte *)"\xE8\x1\x1\x1\x1\x3B\xD0",(Byte *)0x5A875B,7}, //
// 3.58f correct version "3 . 5 8"
//{(Byte *)WOG_VERSION_WIDE,(Byte *)0x6B09EC,8}, //
// ?????? ?????? ????? ?? GR ??? ???????? ?? ????. ?????
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90",(Byte *)0x486245,8}, //
// 3.58f Fix "no Commander shooting animation loaded"
{(Byte *)"\xE8\x1\x1\x1\x1\x90",(Byte *)0x43DA74,6}, //
// 3.58f Fix "wrong town info in town list MP"
{(Byte *)"\xE8\x1\x1\x1\x1",(Byte *)0x5D4643,5}, //
// 3.59
// fix to not show minimap to the first human player
{(Byte *)"\x90\x90\x90\x90\x90",(Byte *)0x4C752C,5}, //
// WoG Lod files
{(Byte *)"h3wog.lod",(Byte *)0x682F08,10}, //
{(Byte *)"h3custom.lod",(Byte *)0x682EF8,13}, //
{(Byte *)"\xE8\x1\x1\x1\x1\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90",(Byte *)0x4472F8,15}, //
// Spells support
{(Byte *)0x6854A0,(Byte *)Spells,sizeof(_Spell_)*SPELLNUM_0}, //
{0,0,0}
};
============================= Slava的回信说的意思我以前就猜到了,他说他的外壳(wog部分)包含大量引用单字节sod程序中的地址,为了找这些地址他花了一两年时间,而双字节sod与单字节sod有很大不同,这些地址当然都不同了,为了在双字节sod中重新找到这些地址需要花上两年以上的时间(也许这就是他们不去做双字节版的原因),但我认为通过对两种sod的比对,然后进行平移,不像他们从零做起,应该不需要那么长的时间,并且我们还有其它更好的办法吗?
那段源码应该是C++,但我不熟,很久没有搞软件了。但坛里肯定有许多年轻人懂这个,他们可以看看读的懂不。 jacklee那边有大名鼎鼎的游侠网汉化工作组,如果能帮忙汉化,定会成功的。我是业余人员,已有自己的工作,平时时间不多,不过如果有什么能帮得上忙,一定尽力而为。 源代码的注释为什么是问号???是不是俄国的文字我们无法识别??;om;
我想如果能将这些问号译成英文(中文更好),也许读起来不那么费解~~~;exp;
至少知道这段代码指向什么! 原帖由 earthling 于 2008-4-6 11:03 发表 http://bbs.h3wog.com/images/common/back.gif
Slava的回信说的意思我以前就猜到了,他说他的外壳(wog部分)包含大量引用单字节sod程序中的地址,为了找这些地址他花了一两年时间,而双字节sod与单字节sod有很大不同,这些地址当然都不同了,为了在双字节sod中重新 ...
希望如兄所言吧。但工作量肯定是很大的,这个我也知道。不知道兄是否有比较便捷的交流方式?如果项目正式启动,可能需要随时联系。
原帖由 arongpan 于 2008-4-6 19:41 发表 http://bbs.h3wog.com/images/common/back.gif
jacklee那边有大名鼎鼎的游侠网汉化工作组,如果能帮忙汉化,定会成功的。我是业余人员,已有自己的工作,平时时间不多,不过如果有什么能帮得上忙,一定尽力而为。
已经联系上了游戏汉化组,Jack为人古道热肠,汉化组的朋友们也都非常热心,不过光有热心是不够的。我真诚希望arongpan兄弟能够一起加入进来,大家安排好进度,分配好工作,会大大减轻游戏汉化工作量。如果有意,请PM我。
原帖由 zzy007 于 2008-4-6 21:29 发表 http://bbs.h3wog.com/images/common/back.gif
源代码的注释为什么是问号???是不是俄国的文字我们无法识别??;om;
我想如果能将这些问号译成英文(中文更好),也许读起来不那么费解~~~;exp;
至少知道这段代码指向什么!
不太清楚,我是程序盲,代码是直接从邮件中拷贝过来的,Slava是想考验我的决心和毅力,希望我知难而退。
原帖由 archmage 于 2008-4-7 09:19 发表 http://bbs.h3wog.com/images/common/back.gif
编程盲和对汉化完全没兴趣的某人飘过……
拍飞无良麦姬;pf;