Board logo

标题: 能够自动记录英杰传打法步骤的DOSBox [打印本页]

作者: 阿尔法孝直    时间: 2026-1-12 23:29     标题: 能够自动记录英杰传打法步骤的DOSBox

说明:本程序基于DOSBox 0.74源代码二次开发:
https://github.com/toteph42/DosBox
(这也不是官方上传的,官方上传的不知道跑哪儿去了

[attach]151729[/attach]
用法:附件包含这个英杰传特供版的DOSBox和GB4。

解压缩后,按照这个图示结构放置这两个目录。
[attach]151727[/attach]

放好后,点开DOSBox子目录下的DOSBox.exe执行。程序会自动开始运行英杰传。
此时会注意到,程序会多出一个控制台窗口。
进入战斗画面后,玩家操控我军行动,或者敌军行动时,控制台窗口都会自动记录已经进行的操作。
[attach]151728[/attach]


终于不用手打攻略了


各位有什么建议,或者发现BUG,欢迎回复提出。后面如果程序有更新,楼主也会说明。
本程序只支持DOS原版(或带DEBUG)的英杰传,不保证支持带各种补丁的版本。

[ 本帖最后由 阿尔法孝直 于 2026-1-13 22:44 编辑 ]

图片附件: [主程序解压后这么放] 目录结构截图.png (2026-1-12 23:29, 44 K) / 该附件被下载次数 51
http://xycq.org.cn/forum/attachment.php?aid=151727



图片附件: [程序截图] 程序截图.png (2026-1-13 01:41, 179.76 K) / 该附件被下载次数 52
http://xycq.org.cn/forum/attachment.php?aid=151728



附件: [这是主程序v1.0] 英杰传特供版DOSBOX 1.0和GB4.rar (2026-1-13 22:44, 1.08 M) / 该附件被下载次数 42
http://xycq.org.cn/forum/attachment.php?aid=151729
作者: 阿尔法孝直    时间: 2026-1-12 23:42

版本更新记录:
v1.0 能够显示的信息包括:
1、出场顺序及携带道具
2、当前回合数及天气
3、我军的物理攻击(包括反击)、使用策略、使用道具(暂不支持交出道具、丢掉道具)
4、敌军的物理攻击(包括反击)、使用策略
5、经验值变化
6、每个部队行动占用的随机数个数(友军、敌军行动时,随机数个数显示的是计算行动价值和实际动作占用的随机数个数总和)
7、每个回合开始时,占用的随机数个数(包括计算天气、自动恢复我军兵力和士气值阶段、自动恢复我军混乱阶段占用的随机数个数总和)
8、敌军回合开始时,占用的随机数个数(包括自动恢复敌军兵力和士气值阶段、自动恢复敌军混乱阶段占用的随机数个数总和)
9、整个回合占用的随机数个数总和(从开始计算天气到最后一个敌军行动完毕)
10、重置随机种子
作者: 漫漫苦短    时间: 2026-1-13 21:43     标题: 回复 #1 阿尔法孝直 的帖子

可以使用,而且可以把原来在其他地方打的GB4存档在这个程序中读出来,显示的操作以及战场情况还是比较详细的,目前应该还需要研发一下如何更好显示文字内容,最好加一个可以导出的功能。

以下为原回复:

QUOTE:
感谢孝直前辈的软件,想赶紧来尝鲜,可是下载下来使用不了,先是弹出“找不到MSVCR100D.dll”,好不容易用regsvr32安装上又弹出“应用程序无法正常启动”,来问一下是怎么回事?
[attach]151739[/attach][attach]151740[/attach]
查了一下, MSVCR100D.dll是Microsoft Visual C++ 2010运行时库的调试版本,主要用于C++程序在Debug模式下运行时提供标准C运行时函数支持。我平时用的是Visual Studio 2022,还是没法运行,你看看能不能用这个IDE编译一下程序,要生成Release版本的。

[ 本帖最后由 漫漫苦短 于 2026-1-14 07:45 编辑 ]

图片附件: [找不到MSVCR100D.dll] 找不到MSVCR100D.png (2026-1-13 21:44, 18.47 K) / 该附件被下载次数 31
http://xycq.org.cn/forum/attachment.php?aid=151739



图片附件: [应用程序无法正常启动] 应用程序无法正常启动.png (2026-1-13 21:44, 14.76 K) / 该附件被下载次数 19
http://xycq.org.cn/forum/attachment.php?aid=151740


作者: 阿尔法孝直    时间: 2026-1-13 22:45     标题: 回复 #3 漫漫苦短 的帖子

好的,我用Visual Studio 2010 生成Release版了,已经替换1楼的附件了,试试看是否可以用。

(PS:2022我是没法装了,硬盘空间不够)

===================================

关于导出功能,我的想法是直接在命令行进入DOSBox的目录,然后输入DOSBox >导出文件.txt 就行了,或者直接把控制台窗口全选复制粘贴也行。
关于文字格式的问题,我暂时没有想好如何更好的显示文字内容,不知道您有没有更好的建议?

[ 本帖最后由 阿尔法孝直 于 2026-1-15 08:44 编辑 ]
作者: 0dragon    时间: 2026-1-20 19:27

awesome!!!
作者: danelchen    时间: 2026-2-23 16:09     标题: R3解析小得

孝直NB,我这些天解析R3文件也发现一些经验。

比如:

QUOTE:
按照页面的参数调整,offset=0,map width=46。这是一种窗口条幅动画的形式,按照Tile的编号,现在应该只除了一张图。文件中应该还有其他的图。


Worked for 2m 27s
你判断对了,原因已经定位并修正:

HEXBMAP.R3 不是单段,而是 9 个子条目(同一 LS11 字典下的多压缩段)。
之前页面只解了第一段,所以你看到 offset=0,width=46 只是一张条幅图。

我已更新生成逻辑与页面,支持按条目组织与全量展示:

build_hexbmap_hexbchp_probe.py
index.html
HEXBMAP_HEXBCHP_ANALYSIS.md
当前解析结果:

条目数:9
前 5 条:dlen=230(推荐 46x5)
后 4 条:dlen=528(推荐 48x11)
页面新增:
entry 选择器(可切换单条目渲染)
全条目列表(每条一行自动渲染,230 用 46 宽、528 用 48 宽)
这就能看到你说的“文件里还有其他图”。
如果你要,我下一步可以把这 9 条按用途再分组(窗口底纹/边框/动画帧/遮罩)并给出命名。


1 file changed
Undo
tools/build_hexbmap_hexbchp_probe.py
HEXBMAP.R3 不是单段,而是 9 个子条目(同一 LS11 字典下的多压缩段)。
这个线索是不是也可应用到HEXZCHP的ls11解码上,因为该文件的解析少了很多Tile资源。


Worked for 28s
是的,这个线索很可能可以直接应用到 HEXZCHP.R3,而且我刚做了同口径扫描,结果是阳性。

实测结果(HEXZCHP.R3):

文件是 LS11,主头条目是你现在用的那段:clen=7741, dlen=10240(= 80 * 128,即 80 tiles)。
在 0x110 后按 12 字节条目继续扫,发现还能稳定解出另外两段:
#1: clen=14114, dlen=22272(= 174 * 128)
#2: clen=16996, dlen=22400(= 175 * 128)
结论:

HEXZCHP.R3 很可能和 HEXBMAP 一样,不是“只有一段”,而是多子条目结构。
你现在“少很多 Tile”的现象,和“只取了条目 #0(80 tiles)”高度一致。
如果你同意,我下一步就把 HEXZCHP 解析脚本改成“多条目模式”(entry 选择 + 合并池渲染 + 与 HEXZMAP 索引覆盖率统计)。


同理,MMAP.R3中是否也有这种情况?

如果这个是默认已知的。我就悄悄的飘过,因为我之前没有了解到。




欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/) Powered by Discuz! 5.0.0