曹操传吧 关注:90,603贴子:1,337,022

【整理】曹操传优化补丁功能一览

取消只看楼主收藏回复

应吧主@无敌神鸟人 的建议,把所修改的全部功能整理起来发一个贴里。
说实话最初我也万万没想到会作那么多改动,要怪就怪这个游戏实在太老了,有些东西当年玩的时候可以忍受,过了十几年后再去接触就会觉得很不耐烦了。
通过修改以后,至少现在的效果我个人是可以接受的,感觉也没什么太大的令人特别难受的地方需要改了。差不多也就该收手了,否则由于前期没规划好,看着项目一天天变大自己都有点头疼。何况都好有几年不用VC了,这次编程的怀旧体验之旅也是时候告一段落了。
好了,就在此处做个了结吧。所修改的全部功能如下:
新功能配置界面
图片来自:我就是伯伯的百度相册
快捷键可自定义
图片来自:我就是伯伯的百度相册
新存档界面,支持1000个,自动存档从第一千个开始每一回合存一个。
图片来自:我就是伯伯的百度相册
新道具界面,可同时换三样道具只要是兵种匹配的话,空档道具栏亦可。
图片来自:我就是伯伯的百度相册
豪曹14暴击双击的显示,默认Shift开启/关闭,可自定义快捷键
图片来自:我就是伯伯的百度相册
另外一个Ctrl加速的功能就不截图了。还有就是现在mp3播放是直接DLL里实现不再依赖外部mp3serv.dat程序,这个大家知道一下有这改动就行了,以后万一出问题的话可以去相关代码处修改或者还原外部调用。
至于所支持的曹操传mod方面,由于实在太多,只能说我测试过的几个都是基本支持的,运行大概不会有什么大的问题。简单测试过的有:原版(吧里置顶下载那个),宋江传,豪曹11和14,姜维传还有岳飞传6.0. 其中姜维传不支持自动存档,不想再做特殊处理了。如果有朋友试过其他的mod不支持的话,我也只能说抱歉和很遗憾了。或者下面都有给出源码,有能力的朋友不妨参照一下做相应的修改。


IP属地:广西1楼2014-10-18 21:02回复
    @裤袜大落大尉 吧友请随意。只是不知杀毒软件会不会误报,别到头来把你给坑了。。。
    还有就是里面应该有不少功能你的mod是用不到的,比如豪曹相关,再比如mp3播放也可以用原来的。如果熟悉VC的话,建议你新建个DLL项目,仅把自己需要的功能添加进去,然后再用LordPE把你的DLL导入exe输入函数表。


    IP属地:广西24楼2014-10-24 08:05
    收起回复
      2026-02-20 09:07:09
      广告
      不感兴趣
      开通SVIP免广告
      感谢@魔兽世界寂寞帝 在旧引擎下测试和提供了详尽的反馈,本来今天是没计划更新的,可是感觉旧引擎下问题还是比较严重,想想还是及时更新一下吧。
      v1.12
      1. 添加是否跳过动画的选项。
      2. 快捷键触发【查找下一武将】命令时鼠标坐标自动调整。
      3. 修复武将信息里装备数值显示错误。
      4. 修复旧引擎点击武将会弹出错误。
      5. 添加是否优先显示宝物特效的选项。
      链接地址还是32楼那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。


      IP属地:广西66楼2015-02-09 17:57
      收起回复
        为感谢喜欢旧引擎的@魔兽世界寂寞帝 之前在旧引擎下做了仔细的测试,今天改写了双击暴击率的实现,现在一般的旧引擎也能支持显示了。还有对速度控制做了点修正。
        详细修改项如下:
        v1.13
        1. 旧引擎也支持显示双暴率提示。
        2. 遗弃自定义的算法,直接调用exe内部函数来获取双暴率。
        3. 使用策略时不显示双暴率。
        4. 取消文官假定,即双暴率全部人物可显示。
        5. 优化加速功能,尝试解决速度不正常问题。
        6. Ctrl加速模式下不Sleep,真正全速运行。
        最后还是那句话:链接地址还是【32楼】那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。


        IP属地:广西71楼2015-02-11 18:02
        收起回复
          十分感谢@无敌神鸟人 边玩还能边给出具体明确的bug反馈。
          由于mod版本实在太多,一些修改也只能是尽可能的支持更多版本,不大可能全部支持。不过基本上所有功能都提供了开启/关闭的选项,对于显示效果不理想的mod,都可以选择关闭。
          具体新修改项如下:
          v1.14
          1. 修复战场反选中人物时会显示上回伤害值。
          注:部分新引擎(5.6+?)未修复,如有觉得碍眼可使用下一项关闭该功能。
          2. 添加【在攻击范围外也显示伤害值】选项。
          3. 修复在战前准备时点击出兵等四个按钮后,窗口失去焦点导致无法使用快捷键。
          4. 完善跳过单挑功能。(仅支持部分引擎)
          5. 简化双暴率显示。
          最后还是那句话:链接地址还是【32楼】那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。


          IP属地:广西76楼2015-02-14 17:29
          收起回复
            根据@魔兽世界寂寞帝 在楼上反馈的现象,下午到win7试了下,果然几乎100%崩溃。这里要再次感谢@魔兽世界寂寞帝 耐心的测试和敏锐的判断力。
            检查代码后,发现是由v1.14【1. 修复战场反选中人物时会显示上回伤害值。】所带来的问题。重新做了个修复,当前最新版本为v1.17。v1.14后的具体修改项如下:
            2015-2-22
            1. 修复旧引擎在Win7+下开启游戏读档直接结束回合极大可能会崩溃的问题。
            2015-2-18
            1. 删除部分遗弃的ECheatCode。
            2. 优化【画面静止】和减速刷屏。
            3. 修复一些新引擎(5.6+?)战场反选中人物时会显示上回伤害值。
            4. 【仓管不语】支持更多新引擎的mod。
            5. 【暴击不语】支持更多新引擎的mod。
            6. Debug版中隐含【超级幸运】和【幸运三秒】功能。
            19:13 2015-2-14
            1. 修复点击出兵等四个按钮偶尔会失灵的现象。


            IP属地:广西83楼2015-02-22 17:15
            收起回复
              刚刚@赛特122 反馈了一个蛮有意思的bug(详见上一楼)。所幸反馈中十分明确地指出v1.12是没问题的,得以快速找到问题所在并修复。顺便把速度的可设置范围也扩大了,记得过年前好像有过一位吧友发帖说原版都嫌快的,现在把速度调成一百应该可以好好享受慢动作了吧。还有内置mp3播放功能也去掉了,还原成使用原来的mp3serv.dat,毕竟这个改动纯属个人喜好,既然有反馈有时候会无声,就还是去掉算了。
              具体改动如下:
              2015-3-1
              1. 修复6.0下血条显示颜色变动的问题。
              2. 扩大速度控制数值范围为0~100。
              3. 调整通常版本为调用原mp3播放器,安卓版为内置播放(此前版本正好相反)。
              最后还是那句话:链接地址还是【32楼】那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。


              IP属地:广西87楼2015-03-01 19:48
              回复
                今天下午看到@上下五千wyw 在一个帖子里@我提到威风曹操传V2不能使用此补丁的问题。虽说原则上是不会专门针对某个mod再做改动的,但对不能使用的原因还是有点感兴趣,就下载了该mod测了一下。结果发现原来问题出在AutoDll身上,只要用回原游戏提供的AutoDll就可以照常使用补丁了。
                尽管问题是不需要修改代码就可以简单解决,可是始终觉得最初对AutoDll的处理有些过于草率。最后决定换一种方式来实现,这样还带来一个好处就是以后不再需要在补丁压缩包里额外提供修改过的AutoDll文件。从而达到尽可能地减少补丁所需文件的目的。前天重新编译zlib源码来去掉zlib1.dll文件也是出于这个考虑。
                在测试的时候发现威风曹操传V2不能使用新的自动存档功能,之前在测姜维传的时候也碰到过,当时觉得是特例所以就没去弄。现今既然发现了两个都不能用那么说明大概还是有一定的普遍性的,因此也顺便将新自动存档的地方修改了一下。
                当前最新版本为v1.21。v1.18后的主要修改项如下:
                2015-3-14
                1. 去掉补丁里AutoDll的文件,改为动态修改禁用其钩子的方式。
                2. 修改新自动存档里判断汇编函数位置的方法,以支持更多的mod。
                2015-3-13
                1. 在原读档存档界面添加切换到新界面的按钮。
                2. 修复ExaGear里无法自动换行显示兵种描述。
                3. 修复ExaGear里确认对话框Y/N按钮显示乱码。
                2015-3-12
                1. 内部编译zlib源码,不再调用外部zlib1.dll。
                2. 添加BBVER自用版本编译开关。
                这里再简单说一下彻底删除补丁恢复原版程序的方法:只要把游戏目录Koeicda.dll文件删掉,再将Koeicda_org.dll文件重命名为Koeicda.dll即可。
                最后还是那句话:链接地址还是【32楼】那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。


                IP属地:广西98楼2015-03-14 20:05
                收起回复
                  2026-02-20 09:01:09
                  广告
                  不感兴趣
                  开通SVIP免广告
                  首先要感谢@活着传说@afl001 的建议和反馈,两位所提出的那些内容基本上都改了。
                  当前最新版本为v1.22,这次的更新有点多:
                  2015-3-16
                  1. 把刷屏周期和速度控制分离出来,并提高内置速度控制的精准度。
                  注:如需调整刷屏周期可修改配置文件中RedrawPeriod参数,默认为400毫秒。
                  由于此功能可自行调节画面刷新速度,故将原【画面静止】功能去掉。
                  2. 修改速度默认值为30,以前版本为4,同时将SpinButton步长改为5。
                  3. 当双暴率超过100时候,直接显示相应数值,不再限制最大值为100。
                  4. 添加【回合自动命令】选项,即当前无可行动武将时自动结束回合不再弹出提示。
                  注:勾选此功能后,在空白区域点击右键的话也将不再弹出提示立即结束回合。
                  5. 当按钮为灰色时禁用读写存档快捷键。
                  6. 添加【敌军形象静止】选项,分不清地图上我军敌军的时候建议使用此功能,默认快捷键为M。
                  最后还是那句话:链接地址还是【32楼】那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。


                  IP属地:广西102楼2015-03-16 17:56
                  收起回复

                    回楼上@afl001 :如果熟悉UE也可以自己改一下补丁里的Koeicda.dll,如图那个位置把01改成00就行了。


                    IP属地:广西通过百度相册上传112楼2015-03-17 22:44
                    收起回复
                      这里要再次感谢@活着传说@afl001 又提出了宝贵的建议和积极地讨论,根据两位在上面几楼提出的问题做了一些更新。
                      当前最新版本为v1.23:
                      2015-3-18
                      1. 添加鼠标中键加速,和滚轮微调当前速度功能。
                      2. 将我方行动速度跟敌方行动速度分离出来,可分别设置。
                      3. 添加【回合结束不询】选项,即回合结束时候不再弹出询问对话框。
                      4. 画面左上角添加按键提示信息。
                      5. 兼容自行修改过降CPU使用率的mod。
                      6. 点击小地图直接切换地图,而不用拖动那个方框(主要是在ExaGear上会实用些)。
                      上一个版本更新说明有个地方要做一个更正:
                      X_X_X“4. 添加【回合自动命令】选项,即当前无可行动武将时自动结束回合不再弹出提示。
                      注:勾选此功能后,在空白区域点击右键的话也将不再弹出提示立即结束回合。”X_X_X
                      这里的注意事项描述有误,因为只是最初的想法和改动说明。在改完之后觉得此功能不太完善又重新做了一个修改,其实当时发布的版本在勾选【回合自动命令】后,即使点击右键也是不会直接结束回合的。只是后来复制发布说明时候忘记把这个删掉了。
                      最后还是那句话:链接地址还是【32楼】那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。特地到前面查看了一下,32楼刚刚好就在此帖首页的最后一楼,找起来应该还是比较方便的。


                      IP属地:广西113楼2015-03-18 20:28
                      收起回复
                        首先要感谢@卡_密_萨_玛 在114楼反馈了一个十分诡异的迅雷无法共存bug,同时也想批评一下他,既然早就发现了,就应该早点说出来嘛。虽然提出的问题肯定不可能都一一解决,但是发帖出来给其他吧友了解一下补丁有这样那样的缺陷也好。就像楼上@奇怪_太奇怪了_ 那样,提出了一个道具交换在姜维传无法使用的问题,尽管不能解决,可是如果其他再遇到同样疑问的看到此回复也会知道怎么一回事,不用再发帖询问了。
                        再说一下那个诡异的迅雷无法共存bug,这是在v1.05版开始就引入的了,因为安卓版的需要,所以添加了系统导入新字体的功能。因为标准系统行为在导入字体后要广播给全部当前正在运行的程序,而不知何故迅雷在接收到这个消息后就会把系统卡住,而使得运行程序无法继续进行。现在修改为只针对安卓版才为系统添加新字体。
                        还有就是要感谢@相思如雪漫天下 找到一个姜维传运行乱码的问题。
                        当前最新版本为v1.24:
                        2015-3-19
                        1. 修复当迅雷运行时,无法启动程序的问题。
                        2. 为安卓版添加双击鼠标切换地图功能。
                        3. 非安卓版不改变弹出命令文字,以解决繁体mod可能出现乱码问题。
                        最后还是那句话:链接地址还是【32楼】那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。特地到前面查看了一下,32楼刚刚好就在此帖首页的最后一楼,找起来应该还是比较方便的。


                        IP属地:广西121楼2015-03-19 21:07
                        收起回复
                          首先要向@晚生不才在下我 道个歉,他在118楼里提出了一个很好的在敌方回合可读档的建议,我当时没去测试仅凭印象就说这个功能比较麻烦。今天重新试了一下,发现原来记错了,在敌方回合强行操作会出问题的是存档功能,而不是读档功能。以前我是测试的时候发现存档会有问题,而且SL也本是一对,就把这两个按钮及快捷键一起禁用掉了。没有测试确认就臆断回复实在是不应该,因此有必要对@晚生不才在下我 说声抱歉,以后回复应该更谨慎些才是,不能太过于相信记忆。
                          还有也对@活着传说 在122楼提供的关于鼠标中键和滚轮的反馈做出了些改动。再次感谢各位的使用和反馈。
                          当前最新版本为v1.25:
                          2015-3-22
                          1. 扩展鼠标中键和滚轮为可自定义快捷键,即可根据个人情况在【快捷键配置】对话框更改按键行为。
                          2. 更改【微调当前速度】快捷键为'-'和'='。
                          3. 更改【敌军形象静止】默认快捷键为'P'。
                          4. 敌军行动回合可读档。
                          最后还是那句话:链接地址还是【32楼】那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。特地到前面查看了一下,32楼刚刚好就在此帖首页的最后一楼,找起来应该还是比较方便的。


                          IP属地:广西125楼2015-03-22 11:15
                          收起回复
                            感谢@胖老板 在127楼提出了一个在地图上显示buff的建议,使得我想起以前玩的时候确实很烦每次都要点一下才能看到的操作。然后结合楼上几位提出关于显示血量的建议,干脆就把两个功能做在一起吧。
                            现在显示效果如图,【按住】ALT键可强制显示:

                            看到了上面截图,或许喜欢血条的朋友要失望了。因为个人实在是看不惯那种血条,所以采用了数字显示的方式。当然我也知道,既然有像我这样不喜欢血条的人,肯定也同样会有不喜欢数字的人。这种都属于个人喜好问题,没必要强求,不喜好此显示的朋友可以在设置项那里【大地图提示(ALT)】将此功能关闭。
                            还有请大家不用再要求更改血条显示了,这种本来就是写来玩的东西,我自身就不喜欢的功能,是没理由强迫自己去弄的。而且每个版本的源码都在共享文件夹里,有能力的朋友不妨自己改,加几句代码应该就可以了。
                            当前最新版本为v1.26:
                            2015-3-23
                            1. 敌方回合使读取按钮变灰色。
                            注:此时读档快捷键'L'仍可使用,不过有一定出错可能,请慎用。
                            2. 添加武将buff/debuff大地图显示。
                            3. 添加武将HP数值大地图显示,强制显示快捷键【按住ALT】。
                            最后还是那句话:链接地址还是【32楼】那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。特地到前面查看了一下,32楼刚刚好就在此帖首页的最后一楼,找起来应该还是比较方便的。


                            IP属地:广西通过百度相册上传130楼2015-03-23 20:44
                            收起回复
                              2026-02-20 08:55:09
                              广告
                              不感兴趣
                              开通SVIP免广告
                              前几天实现了安卓ExaGear2.9.2下使用mss32.dll播放音乐后,突然想起一个早就想做可一直没去弄的功能,就是游戏音量大小控制。
                              虽然我一般是不开背景音乐的,但是音效总还是要开的。由于XP又没有控制单个进程音量的选项,因此有时候要把系统声音调高同时运行曹操传的话,音效就会显得特别大声甚至刺耳。
                              之前一直没弄是因为实现起来比较麻烦,不过在添加了mss32.dll来实现音乐播放以后,回头再弄这个就变得简单多了。
                              本来是想放新配置界面里的,后来感觉现在那一块选项已经太多了,还是放旧环境设定里面吧,也算配套功能设置。

                              当前最新版本为v1.28:
                              2015-3-28
                              1. 使用mss32.dll作为新mp3播放方式,从而实现内部音量大小控制。
                              2. 增加使用【旧音乐接口Dll】的编译版本,如遇到不支持新mp3播放方式的情况,请使用此版本的补丁文件。
                              3. 增加移动力状态大地图提示。
                              4. 更改大地图提示字体默认大小为15,如有需要,可自行修改配置文件中MapFontSize值。
                              5. 敌方回合不显示大地图提示。
                              最后还是那句话:链接地址还是【32楼】那个,由于重复发链接地址有可能会被系统自动删除,还是不发了,就麻烦大家到32楼找一下吧。特地到前面查看了一下,32楼刚刚好就在此帖首页的最后一楼,找起来应该还是比较方便的。


                              IP属地:广西通过百度相册上传133楼2015-03-28 20:24
                              收起回复