Board logo

标题: 《三国志英杰传》修订增强版 [打印本页]

作者: 神雕小侠    时间: 2024-6-25 23:03     标题: 《三国志英杰传》修订增强版

小弟自1996年开始玩英杰传,算来已近三十载。从最初的一路逃跑到后来狂练99,始终对英杰传留有执念。也越来越对原版游戏的很多设定不满意,我是个完美主义者,本想有生之年一定要练出自己满意的2X99,现在觉得倒不如自己修改出一个满意的练级专用版本再玩。从冒出这个念头到现在也有五六年的时间,思路逐渐捋顺,于是2024年开始动手修改游戏。有道是“独乐乐不如众乐乐”,因此决定给大家分享一下,不知道有没有兄弟感兴趣,希望大家多提宝贵意见、多测出bug,另外在制作过程中遇到问题也要向众位前辈多多请教。

刚刚做好了第一章第一节的界桥之战一共5关,并且对序章荥阳之战做了一些修订,现已上传。

感谢龙吟大神!感谢阿尔法孝直版主的支持!感谢likelove漫漫苦短等多位兄弟的指导,我会继续坚持下去!

游戏说明:
1.在Windows系统下运行需要搭配DOSBox,然后执行reko.exe开始游戏;
2.Main-ALL文件夹中的main.exe是全补丁,Main-CTL文件夹中的main.exe可控制敌军,Main-ORG文件夹中的main.exe为原版,默认为原版;
3.ZIKU-BIG5中的是繁体字库,ZIKU-SIM中为简体字库,默认为简体;
4.GB文件夹中是工具GB4。

注:因为附件容量限制,将游戏拆分成五个压缩包,下载之后合并解压即可。

[ 本帖最后由 神雕小侠 于 2025-3-23 01:02 编辑 ]

附件: 英杰传修订增强版.part1.rar (2025-3-23 01:00, 896 K) / 该附件被下载次数 54
http://xycq.org.cn/forum/attachment.php?aid=151075

附件: 英杰传修订增强版.part2.rar (2025-3-23 01:00, 896 K) / 该附件被下载次数 50
http://xycq.org.cn/forum/attachment.php?aid=151076

附件: 英杰传修订增强版.part3.rar (2025-3-23 01:00, 896 K) / 该附件被下载次数 51
http://xycq.org.cn/forum/attachment.php?aid=151077

附件: 英杰传修订增强版.part4.rar (2025-3-23 01:00, 896 K) / 该附件被下载次数 50
http://xycq.org.cn/forum/attachment.php?aid=151078

附件: 英杰传修订增强版.part5.rar (2025-3-23 01:00, 488.95 K) / 该附件被下载次数 49
http://xycq.org.cn/forum/attachment.php?aid=151079
作者: 神雕小侠    时间: 2024-6-25 23:03     标题: 修订说明

1.专为极限练级而制作该版本,通过增加敌军数量、提高敌军等级、增加配备宝物等方式,进一步加强游戏难度;
2.针对原版只能靠卖武器来进行极限练级的情况做了改进,适当增加了指南书的数量;
3.摒弃了原版游戏只能放弃某些关卡才能获得宝物的不合理设定;
4.去掉炸弹等道具,增加修改了多个武器和兵书,并对参数做了修订(详见附录);
5.参照《三国演义》原著(以下简称“原著”)适当增删部分关卡,对原版的某些关卡做了一定改进和取舍;
6.去掉了原版游戏中的虚构人物,按《三国演义》、《三国志》和《评书三国》增加了一些文臣武将,同时对我方人员作了精简;
7.对部分武将的能力进行了修订,力争更加合理;
8.增加了灭东吴的关卡,使最终大结局真正做到一统天下;
9.对游戏中的文本和对白也做了大量修改,以求尽量贴近原著,字库可自行选用简体或繁体,默认为简体。

[ 本帖最后由 神雕小侠 于 2025-3-23 00:46 编辑 ]

图片附件: 临江仙.png (2024-6-26 01:09, 87.7 K) / 该附件被下载次数 49
http://xycq.org.cn/forum/attachment.php?aid=150575


作者: 神雕小侠    时间: 2024-6-25 23:04     标题: 序章 讨伐董卓

01 汜水关之战(30回合)

【自动出场】刘备、关羽、张飞
【 敌 军 】华雄(主将5级轻骑兵)、李肃(3级弓兵)、赵岑(3级短兵)、胡轸(3级短兵)、1级短兵×3
【敌军备注】华雄携带七宝刀、吴子兵法。
【胜利条件】歼灭华雄
【 单 挑 】刘备VS胡轸(斩杀,升级)、关羽VS华雄(斩杀,升级)
【 粮 仓 】豆
【 宝物库 】100金
【 缴 获 】100金
【 说 明 】本关给华雄增加了宝物,删除了毫无意义的友军,难度略微提升。原著中胡轸被黄盖所杀,这里改为刘备将其斩杀,弥补了原版游戏中刘备没有单挑的遗憾,同时也为下一关吕布方天画戟攻击力的提升做好准备,否则刘备将难以承受吕布一击。



02 虎牢关之战(30回合)

【自动出场】刘备、关羽、张飞
【 友 军 】公孙瓒(4级轻骑兵)
【 敌 军 】吕布(主将6级轻骑兵)、张辽(5级短兵)、侯成(4级轻骑兵)、宋宪(4级弓兵)、魏续(4级短兵)、2级弓兵×2
【敌军备注】吕布携带宝物增加吴子兵法,张辽携带青釭剑、吴子兵法,下同。
【胜利条件】吕布败退
【 事 件 】第18回合,吕布出击
【 单 挑 】吕布VS公孙瓒(击退)、张飞VS吕布(击退,升级)
【 粮 仓 】豆
【 宝物库 】焦热书
【 缴 获 】100金
【 说 明 】小幅提升敌军等级,吕布、张辽均增加宝物,同时将方天画戟的攻击加成提升至24%。修改单挑为三对一,力争还原三英战吕布的原貌。



03 荥阳之战(40回合)

【自动出场】刘备、关羽、张飞
【胜利条件】一、董卓败退;二、曹操到达城门。
【 友 军 】曹操(9级轻骑兵)、夏侯惇(7级轻骑兵)、夏侯渊(7级轻骑兵)、曹仁(7级短兵)、曹洪(7级短兵)、乐进(6级轻骑兵)、李典(6级短兵)
【友军备注】曹操及6员曹将均携带青釭剑、吴子兵法,曹操无玉玺,下同。
【 敌 军 】董卓(主将11级轻骑兵)、李儒(7级军乐队)、贾诩(6级运输队)、吕布(7级轻骑兵)、李傕(7级轻骑兵)、郭汜(7级轻骑兵)、张济(7级短兵)、樊稠(7级短兵)、张辽(6级短兵)、高顺(6级猛兽师)、臧霸(6级轻骑兵)、侯成(5级轻骑兵)、宋宪(5级弓兵)、魏续(5级短兵)、郝萌(5级武术家)、曹性(5级弓兵)、张绣(6级轻骑兵)、胡车儿(5级山贼)、刁麟翔(5级武术家)
【敌方援军】[第3回合]徐荣(7级轻骑兵)、李肃(5级弓兵)、赵岑(5级短兵)
【敌军备注】董卓、李儒、李傕、郭汜、徐荣携带七宝刀、吴子兵法,贾诩、高顺、臧霸携带青釭剑、吴子兵法,下同。
【全体经验】50点(曹操到达城门)
【 单 挑 】吕布VS夏侯惇(击退)、关羽VS徐荣(斩杀,升级)、张飞VS张绣(战平,升级)
【 收 降 】刘备VS赵岑(倒戈,升级)
【 宝物库 】七宝刀、弓术指南书、浓雾书、500金
【 粮 仓 】豆
【 缴 获 】100金(歼灭董卓)
【 说 明 】原著中曹操独自率军追击董卓在荥阳战败,刘备并未参加此战,这里增设此关,虚构一场刘备曹操联手追击董卓的战斗;按照《三国志》记载增强了高顺和徐荣的能力并携带宝物,七宝刀则参考了原著第四回“谋董贼孟德献刀”中司徒王允的同名宝刀增设。在正史中徐荣并非被夏侯惇所杀,我们这里索性把斩将的功劳让给关羽;另外参照《评书三国》增加了宛城侯张绣和副将胡车儿、刁麟翔,并安排张绣与张飞单挑,同时也为长坂坡赵云的单挑埋下伏笔;参照原著中赵岑献了汜水关的描述,这里设定为收降他,可令其挡住城门以协助赚取50点经验。


[ 本帖最后由 神雕小侠 于 2025-4-17 21:16 编辑 ]

图片附件: 03荥阳.png (2025-3-22 23:14, 132.63 K) / 该附件被下载次数 18
http://xycq.org.cn/forum/attachment.php?aid=151073


作者: 神雕小侠    时间: 2024-6-25 23:04     标题: 第一章 一、界桥之战

【武将加入】简雍(5级弓兵)


04A 信都之战(30回合)

【必须出场】刘备
【选择出场】3人
【 友 军 】夏侯博(6级武术家)
【 敌 军 】淳于琼(主将10级轻骑兵)、淳于安(8级轻骑兵)、淳于普(8级轻骑兵)、淳于导(8级短兵)、淳于吉(8级弓兵)、6级短兵×2、6级山贼×2、6级军乐队
【敌军备注】淳于琼携带青釭剑、吴子兵法,下同。
【胜利条件】一、淳于琼败退;二、刘备到达城门。
【 事 件 】第3/14回合,淳于琼出击
【 单 挑 】张飞VS淳于琼(击退,升级)
【全体经验】50点(刘备到达城门)
【 宝物库 】100金,酒
【 缴 获 】200金
【武将加入】过关后夏侯博加入
【 说 明 】在《评书三国》中淳于琼共有兄弟五人并多次与刘备军交手,因此增设四将。另外藩宫为原游戏的虚构人物,在此改为《三国志》中有记载的夏侯博,另两个虚构人物韩英、郭适直接去掉。



04B 广川之战(30回合)

【必须出场】刘备
【选择出场】3人
【 敌 军 】蒋奇(主将10级轻骑兵)、马延(8级武术家)、张顗(8级武术家)、6级短兵、6级弓兵、6级轻骑兵×2、6级山贼×2
【敌军备注】蒋奇携带青釭剑、吴子兵法,下同。
【胜利条件】蒋奇败退
【 单 挑 】关羽VS蒋奇(击退,升级)
【 宝物库 】100金,豆
【 缴 获 】200金
【补充备注】过关后无人加入
【 说 明 】原版游戏中此关的主将是谋士逢纪并且与关羽单挑,这一设定广受诟病,这里把主将改为蒋奇并增加两员副将。



05A 巨鹿之战(30回合)

【必须出场】刘备
【选择出场】4人
【我方援军】[第3回合,由刘备指挥毛仁(6级弓兵)、苟章(6级贼兵)
【 友 军 】公孙范(9级弓兵)
【 敌 军 】[通过信都]张郃(主将13级轻骑兵)、高览(12级轻骑兵)、审配(11级短兵)、逢纪(11级短兵)、蒋奇(11级轻骑兵)、马延(10级武术家)、张顗(10级武术家)、8级短兵、8级弓兵×2、8级运输队
【 敌 军 】[通过广川]张郃(主将13级轻骑兵)、高览(12级轻骑兵)、审配(11级短兵)、逢纪(11级短兵)、淳于琼(11级轻骑兵)、淳于安(10级轻骑兵)、淳于普(10级轻骑兵)、淳于导(10级短兵)、淳于吉(10级弓兵)、8级短兵、8级弓兵、8级武术家、8级运输队
【敌军备注】张郃、高览、审配、逢纪携带青釭剑、吴子兵法,下同。
【敌方援军】[第3回合]8级山贼×3
【胜利条件】一、张郃败退;二、刘备到达西面鹿砦。
【 事 件 】刘备到达A区,敌军全军追击刘备
【 单 挑 】张飞VS高览(击退,升级)
【全体经验】50点(刘备到达西面鹿砦)
【 粮 仓 】麦
【 缴 获 】200金(张郃败退)
【武将加入】毛仁、苟章
【 说 明 】将高览改为骑兵并且携带武器和兵书,使河北“四庭柱”保持一致;耿武、关纯在原著中被颜良、文丑所杀,因此这里改为《评书三国》中刘备手下的两员小将毛仁、苟章;友军改为《三国志》所载的公孙瓒从弟公孙范,去掉虚构的羽则。另外根据上一关选择的不同调整了敌军阵容,使得难度提高的同时剧情也更趋合理。另外张郃字“儁乂”,但不论在GB2312码还是BIG5码中都没有“儁”字,因此这里只得用“俊乂”,算是个小小的遗憾吧,如果哪位兄弟有更好的解决办法还请多多指教!



05B 清河之战(30回合)

【必须出场】刘备
【选择出场】4人
【 友 军 】公孙越(9级步兵)
【 敌 军 】韩猛(主将13级轻骑兵)、8级短兵×3、8级军乐队、8级轻骑兵、8级弓兵×2
【敌军备注】韩猛携带涯角枪、吴子兵法,下同。
【敌方援军】(第7回合)吕旷(10级山贼)、吕翔(10级山贼)
【胜利条件】韩猛败退
【 单 挑 】韩猛VS公孙越(斩杀)、关羽VS韩猛(战平,升级)
【 粮 仓 】酒
【 宝物库 】100金
【 缴 获 】200金
【 说 明 】在《评书三国》中河北“一正梁”是老枪王韩荣,谐音关系暂且把原著中的韩猛当做“一正梁”并为其配备涯角枪;按原著将麴义和严纲的单挑改在界桥之战;原著中公孙越被袁绍派人乱箭射死,这里改为被韩猛所杀。



06 界桥之战(40回合)

【必须出场】刘备
【选择出场】4人
【 友 军 】公孙瓒(10级轻骑兵)、赵云(11级轻骑兵)、严纲(9级轻骑兵)、公孙范(#5A级弓兵)
【 敌 军 】[通过巨鹿]袁绍(主将17级长兵)、颜良(13级轻骑兵)、文丑(13级轻骑兵)、韩猛(13级轻骑兵)、麴义(13级轻骑兵)、田丰(12级弓兵)、陈琳(12级运输队)、郭图(12级短兵)、沮授(12级弓兵)、辛评(11级短兵)、辛毗(11级短兵)、焦触(11级弓兵)、张南(11级弓兵)、吕旷(11级山贼)、吕翔(11级山贼)、陈震(11级军乐队)、许攸(11级军乐队)、高平(11级短兵)、高槐(11级短兵)
【 敌 军 】[通过清河]袁绍(主将17级长兵)、颜良(13级轻骑兵)、文丑(13级轻骑兵)、张郃(13级轻骑兵)、高览(13级轻骑兵)、麴义(13级轻骑兵)、田丰(12级弓兵)、陈琳(12级运输队)、郭图(12级短兵)、沮授(12级弓兵)、审配(12级短兵)、逢纪(12级短兵)、蒋奇(12级轻骑兵)、辛评(11级短兵)、辛毗(11级短兵)、焦触(11级弓兵)、张南(11级弓兵)、马延(11级武术家)、张顗(11级武术家)、陈震(11级军乐队)、许攸(11级军乐队)、淳于琼(12级轻骑兵)、淳于安(11级轻骑兵)、淳于普(11级轻骑兵)、淳于导(11级短兵)、淳于吉(11级弓兵)、高平(11级短兵)、高槐(11级短兵)
【敌军备注】袁绍、颜良、文丑、麴义、田丰、陈琳、郭图、沮授、辛评、辛毗携带青釭剑、吴子兵法,下同。
【胜利条件】一、袁绍败退;二、刘备夺取粮仓。
【 事 件 】我军或友军到达A区(B区事件没有发生),敌军前军后部出击,中军前移;刘备到达B区,敌军中军追击刘备。
【 单 挑 】麴义VS严纲(斩杀)、赵云VS麴义(斩杀,不升级)、赵云VS文丑(战平,不升级)、张飞VS韩猛(战平,升级)
【全体经验】50点(刘备夺取粮仓)
【 宝物库 】火龙书(左下)、长枪(中下)、麦(中上)、连弩(右上)
【 缴 获 】200金
【 说 明 】去掉了陈蒋和周比两个虚构人物,改为公孙范和严纲;增加了袁绍手下多位文臣武将并排出了没有杂兵的豪华阵容,大幅提高了清河路线之后此关的难度;按原著将麴义的单挑改在界桥之战;增加张飞与韩猛的单挑并再次为长坂坡赵云的单挑埋下伏笔。


[ 本帖最后由 神雕小侠 于 2025-4-17 21:08 编辑 ]

图片附件: 06界桥(清河路线).png (2025-3-23 00:14, 204.09 K) / 该附件被下载次数 25
http://xycq.org.cn/forum/attachment.php?aid=151074


作者: 神雕小侠    时间: 2024-6-25 23:05     标题: 第一章 二、支援徐州



[ 本帖最后由 神雕小侠 于 2024-6-25 23:24 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:05     标题: 第一章 三、饿虎入室



[ 本帖最后由 神雕小侠 于 2024-6-25 23:24 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:06     标题: 第一章 四、剿灭双雄



[ 本帖最后由 神雕小侠 于 2024-6-25 23:25 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:06     标题: 第一章 五、徐州鏖战



[ 本帖最后由 神雕小侠 于 2024-6-25 23:28 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:07     标题: 第二章 一、官渡之战



[ 本帖最后由 神雕小侠 于 2024-6-25 23:29 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:07     标题: 第二章 二、隐伏新野



[ 本帖最后由 神雕小侠 于 2024-6-25 23:29 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:08     标题: 第二章 三、孔明下山



[ 本帖最后由 神雕小侠 于 2024-6-25 23:30 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:08     标题: 第二章 四、曹操南征



[ 本帖最后由 神雕小侠 于 2024-6-25 23:30 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:08     标题: 第三章 一、平定荆南



[ 本帖最后由 神雕小侠 于 2024-6-25 23:30 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:09     标题: 第三章 二、荆州纷争



[ 本帖最后由 神雕小侠 于 2024-6-25 23:30 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:09     标题: 第三章 三、益州攻略



[ 本帖最后由 神雕小侠 于 2024-6-25 23:30 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:09     标题: 第三章 四、夺取汉中



[ 本帖最后由 神雕小侠 于 2024-6-25 23:31 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:10     标题: 第三章 五、蜀汉建国



[ 本帖最后由 神雕小侠 于 2024-6-25 23:31 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:10     标题: 第四章 一、复夺荆州



[ 本帖最后由 神雕小侠 于 2024-6-25 23:31 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:10     标题: 第四章 二、问鼎中原



[ 本帖最后由 神雕小侠 于 2024-6-25 23:31 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:11     标题: 第四章 三、平灭江东



[ 本帖最后由 神雕小侠 于 2024-6-25 23:32 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:11     标题: 第四章 四、蜀魏决战



[ 本帖最后由 神雕小侠 于 2024-6-25 23:32 编辑 ]
作者: 神雕小侠    时间: 2024-6-25 23:25     标题: 修订附录

一、兵器修正

丈八蛇矛——张飞自带,+10%攻击
青龙偃月刀——关羽自带,+12%攻击
七宝刀(雌雄双剑)——荥阳之战左上宝物库,+14%攻击
方天画戟——下邳之战右上宝物库,+24%攻击
三尖刀——张飞单挑纪灵后得到,+10%攻击
龙胆亮银枪(炸弹)——兖州之战宝物库,+16%攻击
青釭剑——长阪坡Ⅰ之战,赵云单挑夏侯恩得到,+20%攻击
涯角枪(七星剑)——长阪坡Ⅱ之战,赵云单挑韩猛得到,+26%攻击
虎头湛金枪(茶)——马超自带,+18%攻击
古锭刀(英雄之剑)——合淝之战宝物库,+22%攻击
青龙剑(霸王之剑)——建业之战宝物库,+28%攻击
倚天剑——许昌Ⅱ之战右上方宝物库,+30%攻击



二、兵书修正

吴子兵法——华容之战宝物库,+20%防御
尉缭子(伤药)——陈仓之战,城外左宝物库,+10%防御
司马法(中药)——陈仓之战,城内宝物库,+10%防御
三略——许昌Ⅰ之战宝物库,+15%防御
六韬——合淝之战宝物库,+15%防御
孙子兵法——建业之战宝物库,+25%防御
孟德新书——许昌Ⅱ之战,左上方宝物库,+30%防御


[ 本帖最后由 神雕小侠 于 2025-3-25 21:39 编辑 ]
作者: 时间轴空转    时间: 2024-6-26 09:30

好期待,老哥快放链接
作者: ささきこじろう    时间: 2024-6-26 12:16

东吴又被灭了,不知道有没有异民族、山贼、武术家、猛兽军团的道具书。
作者: 草原月亮    时间: 2024-6-26 18:24

神雕兄好雅兴,赞一个!期待大作问世。
作者: 神雕小侠    时间: 2024-6-26 23:48



QUOTE:
原帖由 时间轴空转 于 2024-6-26 09:30 发表
好期待,老哥快放链接

还在做最后的除虫修改,周末可以放上来
作者: dido_dd    时间: 2024-6-27 08:44

期待啊!练级狂人的福音
作者: 阿尔法孝直    时间: 2024-6-27 15:50

感觉敌军等级还不够高,建议参照SFC的敌军等级

顺便问一下,我军有没有陈到?

[ 本帖最后由 阿尔法孝直 于 2024-6-27 16:04 编辑 ]
作者: 神雕小侠    时间: 2024-6-27 17:51     标题: 回复 #28 阿尔法孝直 的帖子

有陈到的,我的等级安排是最后一关敌人普遍在99级就行了,超过的话数据溢出很别扭,不知道SFC的等级是啥情况

[ 本帖最后由 神雕小侠 于 2024-6-27 19:14 编辑 ]
作者: 神雕小侠    时间: 2024-6-27 19:15



QUOTE:
原帖由 ささきこじろう 于 2024-6-26 12:16 发表
东吴又被灭了,不知道有没有异民族、山贼、武术家、猛兽军团的道具书。

这个倒不是不能考虑,关键是转职道具的修改我暂时查不到相关的资料
作者: likelove    时间: 2024-6-27 21:47

转换代码在这附近,都是硬编码
找空地,改硬编码是有可能的

[Copy to clipboard]
CODE:
seg002:A373 C6 46 F8 0F                    mov     [bp+var_8], 0Fh ; 这几个变量存的是部队兵种代码
seg002:A377 C6 46 F9 12                    mov     [bp+var_7], 12h
seg002:A37B C6 46 FA 0C                    mov     [bp+var_6], 0Ch
seg002:A37F C6 46 FB 03                    mov     [bp+var_5], 3
seg002:A383 C6 46 FC 06                    mov     [bp+var_4], 6
seg002:A387 C6 46 FD 00                    mov     [bp+var_3], 0
seg002:A38B 80 7E 08 10                    cmp     [bp+_arg_ArtorItem], 10h
seg002:A38F 72 07                          jb      short loc_272B8
seg002:A391 8A 46 08                       mov     al, [bp+_arg_ArtorItem]
seg002:A394 2C 0D                          sub     al, 0Dh         ; 转换的,减一下代码


作者: 神雕小侠    时间: 2024-6-27 22:41



QUOTE:
原帖由 likelove 于 2024-6-27 21:47 发表
转换代码在这附近,都是硬编码
找空地,改硬编码是有可能的


seg002:A373 C6 46 F8 0F                    mov     , 0Fh ; 这几个变量存的是部队兵种代码
seg002:A377 C6 46 F9 12                    mov     , 12h
s ...

谢谢指点,上学的时候接触过一点点汇编语言,早就忘光了

其实我目前最迫切想知道道具屋的设置如何修改,我在荥阳之战前面安排了一个道具屋,但是购买物品是空的
作者: likelove    时间: 2024-6-27 23:13

这附近是取章节,到对应的数据区去取道具

[Copy to clipboard]
CODE:
seg003:268E 03 F0                          add     si, ax
seg003:2690 C1 E6 03                       shl     si, 3
seg003:2693 81 C6 44 44                    add     si, offset tb_34C14_ItemofSections
seg003:2697 89 36 E0 D3                    mov     word_3DBB0, si
seg003:269B C6 06 56 43 00                 mov     byte_34B26, 0
seg003:26A0
seg003:26A0                loc_2F5A0:                              ; CODE XREF: s_BuySellthings+37j
seg003:26A0 80 3C FF                       cmp     byte ptr [si], 0FFh
seg003:26A3 74 0C                          jz      short loc_2F5B1
seg003:26A5 46                             inc     si
seg003:26A6 FE 06 56 43                    inc     byte_34B26
seg003:26AA
seg003:26AA                loc_2F5AA:
seg003:26AA 80 3E 56 43 08                 cmp     byte_34B26, 8
seg003:26AF 72 EF                          jb      short loc_2F5A0


作者: 神雕小侠    时间: 2024-6-27 23:46     标题: 回复 #33 likelove 的帖子

感谢,看来我真的有必要去重新学习一下汇编语言了
作者: 神雕小侠    时间: 2024-6-29 23:57     标题: 序章初步更新完成

请大家不吝赐教,谢谢!
作者: 神雕小侠    时间: 2024-6-30 12:00



QUOTE:
原帖由 草原月亮 于 2024-6-26 18:24 发表
神雕兄好雅兴,赞一个!期待大作问世。

感谢月亮兄支持,多提宝贵意见
作者: heyou    时间: 2024-6-30 18:21     标题: 回复 #33 likelove 的帖子

借帖问一下
请问哪边可以修改地形的恢复兵力、士气能力,比如要让宝物库也能恢复兵力、士气?
请问哪边可以修改兵种的反击、被反击,比如要增加异民族的反击能力、取消近卫队的被反击属性
谢谢
作者: likelove    时间: 2024-7-1 21:59

宝物库恢复不太好改,代码空间太少了

反击改这里
为0的表示被攻击时可反击
为0, 2, 5表示攻击0时可能被反击, 改为其他就不会被反击

[Copy to clipboard]
CODE:
dseg:322E FF             tb_AttackBack   db 0FFh        ; 文件偏移3a3fe      
dseg:322E                                                      
dseg:322E                                                        ; 为0是反击兵种
dseg:322E                                                        ; 贼兵 武术家
dseg:322F FF                             db 0FFh
dseg:3230 FF                             db 0FFh
dseg:3231 01                             db    1
dseg:3232 01                             db    1
dseg:3233 01                             db    1
dseg:3234 02                             db    2    骑
dseg:3235 02                             db    2
dseg:3236 02                             db    2    近卫
dseg:3237 00                             db    0    贼
dseg:3238 00                             db    0
dseg:3239 00                             db    0
dseg:323A FF                             db 0FFh
dseg:323B 05                             db    5   猛兽
dseg:323C 00                             db    0   武术
dseg:323D 06                             db    6   
dseg:323E 02                             db    2   异民
dseg:323F FF                             db 0FFh
dseg:3240 FF                             db 0FFh



QUOTE:
原帖由 heyou 于 2024-6-30 18:21 发表
借帖问一下
请问哪边可以修改地形的恢复兵力、士气能力,比如要让宝物库也能恢复兵力、士气?
请问哪边可以修改兵种的反击、被反击,比如要增加异民族的反击能力、取消近卫队的被反击属性
谢谢 ...

[ 本帖最后由 likelove 于 2024-7-7 18:30 编辑 ]
作者: heyou    时间: 2024-7-4 00:08     标题: 回复 #38 likelove 的帖子

还以为地形的兵力恢复、士气恢复是类似
http://www.xycq.org.cn/forum/vie ... p;page=3#pid2508753
20种地形的防御效果那样,某位址开始依序列示每个地形有没有支援该功能

但有反击和被反击已经大感谢,谢谢你帮忙。
作者: 阿尔法孝直    时间: 2024-7-6 22:29     标题: 回复 #29 神雕小侠 的帖子

https://www.bilibili.com/video/BV1eY411k7uQ
这个是我在B站打的SFC的攻略,可以参考一下
作者: 神雕小侠    时间: 2024-7-7 16:22



QUOTE:
原帖由 阿尔法孝直 于 2024-7-6 22:29 发表
https://www.bilibili.com/video/BV1eY411k7uQ
这个是我在B站打的SFC的攻略,可以参考一下

看了前两关,但根本看不出敌军的等级是多少呀
作者: 阿尔法孝直    时间: 2024-7-7 18:39



QUOTE:
原帖由 神雕小侠 于 2024-7-7 16:22 发表


看了前两关,但根本看不出敌军的等级是多少呀

可能要自己打一遍看看。
我原先有一本手写的笔记,记录了SFC英杰传ROM文件的重要信息,
包括武将资料(相当于bakdata.r3),剧本文件(相当于snrxx.r3)的偏移位置,但是那个笔记丢了。改天我再分析一下。
作者: 神雕小侠    时间: 2024-7-7 20:02



QUOTE:
原帖由 阿尔法孝直 于 2024-7-7 18:39 发表


可能要自己打一遍看看。
我原先有一本手写的笔记,记录了SFC英杰传ROM文件的重要信息,
包括武将资料(相当于bakdata.r3),剧本文件(相当于snrxx.r3)的偏移位置,但是那个笔记丢了。改天我再分析一下。 ...

感谢感谢,我看视频意外发现了游戏的一个错误,第二关的“宋宪”被搞错成了“宋谦”,宋谦是孙权手下的将领,错误太低级了

[ 本帖最后由 神雕小侠 于 2024-7-7 20:12 编辑 ]
作者: 0dragon    时间: 2024-7-8 08:26

也不怪,日文版本就是宋慊
作者: 神雕小侠    时间: 2024-7-8 22:30



QUOTE:
原帖由 0dragon 于 2024-7-8 08:26 发表
也不怪,日文版本就是宋慊

嗯嗯,毕竟是日本人,对三国研究的再多也只能是流于表面,难以掌握精髓
作者: 神雕小侠    时间: 2024-8-20 21:39

经分析,荥阳之战前在洛阳营帐的道具屋中道具为空的问题已解决,main.exe中地址0003b610c到0003b6203之间有8个“FF”,替换成相应的道具代码即可,在下面的版本中将修复此bug
作者: czx1110    时间: 2024-9-9 17:00

win10好像玩不了
作者: 神雕小侠    时间: 2024-9-14 22:47

跟原版英杰传一样,在win10下玩需要搭配dosbox,我这里就没赘述,如果有需要我可以详细介绍dosbox的用法

QUOTE:
原帖由 czx1110 于 2024-9-9 17:00 发表
win10好像玩不了


作者: okokwori    时间: 2024-9-30 15:38

灌水刷权限
作者: heyou    时间: 2024-10-21 11:16

催更!

然后借帖问一下
  1. 经验值获得
    对于单体补给系策略,如果补给方是军乐队或运粮队,则获得经验值=12,否则获得经验值=8。
    =>请问要怎么修改军乐队或运粮队为别的兵种
  2. 如果防御方是军乐队、运输队或妖术师
    策略攻击杀伤=策略攻击杀伤A÷2
    =>请问要怎么修改军乐队、运输队或妖术师为别的兵种

作者: 怀恋    时间: 2024-11-17 14:40

好期待,老哥快放链接
作者: zh1300329    时间: 2024-11-21 13:56

支持
作者: 漫漫苦短    时间: 2025-1-1 19:09



QUOTE:
原帖由 heyou 于 2024-10-21 11:16 发表
经验值获得
对于单体补给系策略,如果补给方是军乐队或运粮队,则获得经验值=12,否则获得经验值=8。
=>请问要怎么修改军乐队或运粮队为别的兵种
如果防御方是军乐队、运输队或妖术师
策略攻击杀伤=策略攻击杀伤A÷2
=>请问要怎么修改军乐队、运输队或妖术师为别的兵种

可以直接改main.exe,需要改对应位置的兵种的代码,顺便也可以改改这部分汇编代码的逻辑。
作者: asky    时间: 2025-1-17 00:54

还在做吗?
作者: 神雕小侠    时间: 2025-2-4 22:11     标题: 回复 #54 asky 的帖子

还在做的,第一章第一节已经初步完成了,但是有几个小bug尚未解决,还需要查下资料仔细研究
作者: iorien    时间: 2025-2-5 13:39

win11不能玩好像
作者: 神雕小侠    时间: 2025-2-11 16:53

我没怎么用过Win11,只要dosbox能正常运行的话就可以玩

QUOTE:
原帖由 iorien 于 2025-2-5 13:39 发表
win11不能玩好像


作者: 神雕小侠    时间: 2025-2-11 20:19     标题: 问题汇总咨询,还请大家不吝赐教

1. 我为大BOSS曹操配备了玉玺+倚天剑+孟德新书3个最强道具,同时为了更贴合实际,增设一个了初期的曹操小号,仅携带青釭剑和吴子兵法,但现在问题来了,游戏中曹操的形象是独有的(如图),那么如何让曹操的小号也跟大号拥有一样的形象呢?

2. 我使用的是龙吟大神的剧本编辑器,发现了一个小bug,就是总会自动把“张郃”的改为“张合”(如图),武将的名字我可以用其他编辑器修正过来,但是剧情文本的错误应该如何修改?

3. 因为我对情节、人物和道具都做了修改,因此游戏中的NPC的对话也要做相应改动,请问应如何操作?

还请各位不吝赐教,谢谢!

[ 本帖最后由 神雕小侠 于 2025-2-11 20:50 编辑 ]

图片附件: 曹操.png (2025-2-11 20:19, 80.79 K) / 该附件被下载次数 10
http://xycq.org.cn/forum/attachment.php?aid=151021



图片附件: 张合.png (2025-2-11 20:50, 10.64 K) / 该附件被下载次数 9
http://xycq.org.cn/forum/attachment.php?aid=151022



图片附件: 张郃.png (2025-2-11 20:50, 9.19 K) / 该附件被下载次数 10
http://xycq.org.cn/forum/attachment.php?aid=151023



图片附件: NPC.png (2025-2-11 20:19, 86.49 K) / 该附件被下载次数 12
http://xycq.org.cn/forum/attachment.php?aid=151024


作者: likelove    时间: 2025-2-11 23:50

ippan0是对话消息索引文件,ippan0m是对话消息内容文件。改对话的话同时要动这两个文件。

用到这个call来调用

[Copy to clipboard]
CODE:
seg001:A38A                s_GetReadfileName proc far              ; CODE XREF: s_SaveMSAVEX+DDP
seg001:A38A                                                        ; s_SaveMSAVEX+12EP ...
seg001:A38A
seg001:A38A                var_2           = byte ptr -2
seg001:A38A
seg001:A38A 55                             push    bp
seg001:A38B 8B EC                          mov     bp, sp

这个call里面计算并显示对话:

[Copy to clipboard]
CODE:
seg001:BA34                s_18994_ShowNPCMsg proc far             ; CODE XREF: sub_1F4EE+190P
seg001:BA34
seg001:BA34                var_24          = word ptr -24h
seg001:BA34                filename        = word ptr -22h
seg001:BA34                handle          = word ptr -0Eh
seg001:BA34                var_8           = word ptr -8
seg001:BA34                seg             = word ptr -4
seg001:BA34                var_2           = word ptr -2
seg001:BA34
seg001:BA34 C8 22 00 00                    enter   22h, 0
seg001:BA38 53                             push    bx
seg001:BA39 57                             push    di
seg001:BA3A 56                             push    si
seg001:BA3B 53                             push    bx
seg001:BA3C 9A C2 4A F6 0C                 call    sub_11A22

ps:增加上对话消息的内容:

索引文件ippan0按章分为4段,各章信息的偏移分别为

[Copy to clipboard]
CODE:
dseg:2C0E 00 00          word_333DE      dw 0                    ; DATA XREF: s_ReadSaveMsgFileX+31r
dseg:2C12 BD 03                          dw 3BDh
dseg:2C16 CE 06                          dw 6CEh
dseg:2C1A E5 0A                          dw 0AE5h

每章信息分三部分:
第一部分是3字节的章节头
第二部分是每章的城市数信息,每城市占一word
各章城市数

[Copy to clipboard]
CODE:
dseg:0DB0 16             byte_31580      db 16h                  ; DATA XREF: s_13C6C_GetAvalibleCitysInSection+9r
dseg:0DB1 10                             db  10h
dseg:0DB2 1A                             db  1Ah
dseg:0DB3 0E                             db  0Eh

第三部分是根据人物代码来索引的对话偏移,每人物占一word。
假设张三的代码是0401(均为16进制),把高位的4去掉,剩下1,这个就作为索引值,也就是查找第三部分的第2个word(因为下标是从0开始计算),假设找到的是020fh,这就作为在消息文件中对应章的偏移处文本


消息文件ippan0m较简单,就是文本,每个对话消息以00结束。但是按章查找内容的,消息文件的分章偏移

[Copy to clipboard]
CODE:
dseg:21E0 00 00          word_329B0      dw 0                    ; DATA XREF: s_18994_ShowNPCMsg+96r
dseg:21E4 10 1F                          dw 1F10h
dseg:21E8 F3 36                          dw 36F3h
dseg:21EC 79 51                          dw 5179h

比如前面张三是第四章中的,就从5179h开始,加上前面查找到的020fh,得到对应的消息。

消息文件可以直接改内容,0a表示显示时的手动换行,不超过原文本长度,并且要以00结尾。
如果需加长消息,将影响后续消息的偏移值,那还需要同步调整索引文件,以及改写exe文件中偏移值(因为我们改大了,分章偏移要增加)


除了上述用于索引路人对话消息的内容外,索引文件还用于设定场景路人信息,在s_1EDFC函数中。
以第一章为例,其偏移为0,前几行数据如下(均为16进制):

[Copy to clipboard]
CODE:
16 F10100000000000000005D03000000
0000004B02AF028102DB0200000D0300
00000097031702000000000000E10000
0022004A006C00B400D9000D015001A1
01D1010D0231026902

第1字节16为本章城市数,与byte_31580处一致
其后跟的每城市数据的偏移值,为0的表示没有数据,即

[Copy to clipboard]
CODE:
F101 0000 0000 0000 0000 5D03 0000
0000 0000 4B02 AF02 8102 DB02 0000
0D03 0000 0000 9703 1702 0000 0000
0000

后面跟的数据E100会被跳过(e1貌似是本城市场景总人数或者说对话数),接下来 0000 2200 4A00。。。就是前面所说的对话消息偏移值

以第0个城市为例,其值为01F1,将其加上章节头的1字节占位,得到1F2,再加上本章的偏移0,仍为1f2,此处存放的路人信息。查看该处的数值:

[Copy to clipboard]
CODE:
037D0500000100020003000400080605
0006000700080009000A0006040B000C
000D000E00 12 057D060F001000110012

拆解一下:
一字节03表示有三个场景,含城内。
其后为场景信息,先看第一处场景
7D 05 0000 0100 0200 0300 0400
7D表示城内,05表示有5人,后面跟的人物代码

下一场景:
08 06 0500 0600 0700 0800 0900 0A00
08表示某建筑,06表示6人,后面是人物代码

下一场景同样:
06 04 0B00 0C00 0D00 0E00

如果将其中的人物代码改了,则场景内人物形象将调换。

此城市场景结束。后面跟的1字节数据,此处是12,作用不明。

[ 本帖最后由 likelove 于 2025-2-12 21:48 编辑 ]
作者: 翡翠衾寒    时间: 2025-2-12 14:18     标题: 回复 #58 神雕小侠 的帖子

加油加油!!

十二年前我尝试用龙吟大大的编辑器改了一点点剧本,没想到今天突然想上论坛来看一眼,竟然有志同道合的人

想请教下LZ用的是龙吟在2012年3月发布的那个编辑器嘛?后来龙吟有发布更新的编辑器嘛?

三个问题确实都难以回答(问题3还包括如何修改武将撤退时的台词……但隐约有印象的是这些台词似乎不在剧本文件里,而编辑器只能改剧本文件……)
作者: 漫漫苦短    时间: 2025-2-12 19:39     标题: 回复 #58 神雕小侠 的帖子

2.3.剧情部分把张合改成张郃用UE编辑器改SNRxM.R3就行,搜BIG5码B1 69 A6 58(张合),改为B1 69 AD A8(张郃)。非剧情对话在IPPAN0M.R3,搜C3 BF AE 63(藩宮)就能找到这句话。这两个文件应该都是没用LS11压缩的,如果是压缩的我就没办法了。

1.这个图在HEXZCHR.R3里,目前只有人物代码只有0000(劉備)0004(呂布)和0008(曹操)有特殊形象,其他都是按照兵种来的,我想到的解决方法:曹操小号骑赤兔(曹奉先,让呂布骑狗去)!

[Copy to clipboard]
CODE:
seg002:7455 56                             push    si
seg002:7456 9A 6C 93 F2 2C                 call    sub_3628C            ;获取部队兵种代码
seg002:745B 88 46 FF                       mov     [bp+var_1], al       ;兵种代码保存在var_1
...
seg002:7467 6A 02                          push    2
seg002:7469 56                             push    si
seg002:746A 9A BC 40 F2 2C                 call    sub_30FDC            ;混乱返回1
seg002:746F 0B C0                          or      ax, ax               ;判断部队是否混乱
seg002:7471 75 3A                          jnz     short loc_343CD
seg002:7473 39 04                          cmp     [si], ax             ;判断是不是0000劉備
seg002:7475 75 0A                          jnz     short loc_343A1
seg002:7477 56                             push    si
seg002:7478 9A 6C 93 F2 2C                 call    sub_3628C            ;又取了一次兵种代码,不是保存在var_1了吗?
seg002:747D 04 26                          add     al, 26h              ;劉備使用26(短兵)27(长兵)28(战车)
seg002:747F EB 3B                          jmp     short loc_343DC
seg002:7481                loc_343A1:                              ; CODE XREF: sub_3436C+29↑j
seg002:7481 83 3C 04                       cmp     word ptr [si], 4     ;判断是不是0004呂布
seg002:7484 75 06                          jnz     short loc_343AC
seg002:7486 C6 46 FB 2D                    mov     [bp+var_5], 2Dh      ;呂布使用2D
seg002:748A EB 33                          jmp     short loc_343DF
seg002:748C                loc_343AC:                              ; CODE XREF: sub_3436C+38↑j
seg002:748C 83 3C 08                       cmp     word ptr [si], 8     ;判断是不是0008曹操
seg002:748F 75 06                          jnz     short loc_343B7
seg002:7491 C6 46 FB 2E                    mov     [bp+var_5], 2Eh      ;曹操使用2E
seg002:7495 EB 28                          jmp     short loc_343DF
seg002:7497                loc_343B7:                              ; CODE XREF: sub_3436C+43↑j
seg002:7497 56                             push    si
seg002:7498 9A F6 40 F2 2C                 call    sub_31016
seg002:749D 3D 01 00                       cmp     ax, 1
seg002:74A0 1A C0                          sbb     al, al
seg002:74A2 F6 D8                          neg     al
seg002:74A4 8A 4E FF                       mov     cl, [bp+var_1]
seg002:74A7 02 C9                          add     cl, cl
seg002:74A9 02 C1                          add     al, cl
seg002:74AB EB 0F                          jmp     short loc_343DC      ;普通部队使用0-25
seg002:74AD                loc_343CD:                              ; CODE XREF: sub_3436C+25↑j
seg002:74AD 56                             push    si
seg002:74AE 9A F6 40 F2 2C                 call    sub_31016
seg002:74B3 3D 01 00                       cmp     ax, 1
seg002:74B6 1A C0                          sbb     al, al
seg002:74B8 24 01                          and     al, 1
seg002:74BA 04 2B                          add     al, 2Bh              ;混乱部队使用2B, 2C
seg002:74BC                loc_343DC:                              ; CODE XREF: sub_3436C+33↑j sub_3436C+5F↑j
seg002:74BC 88 46 FB                       mov     [bp+var_5], al
seg002:74BF 68 1C 09                       push    offset aBHexzchrR3   ; "B:HEXZCHR.R3"
seg002:74C2 8D 86 72 FE                    lea     ax, [bp+var_18E]
seg002:74C6 50                             push    ax
seg002:74C7 9A D6 1F F6 1C                 call    sub_1EF36            ;打开HEXZCHR.R3文件

另外把刘备兵种变非步兵系程序会出错(强行变不是用道具)应该不是形象的问题,我用likelove的dosbox内存修改工具把seg002:747E改成了29h,可以正常显示放火(29)放水(2A)和混乱,并且可以正常移动,因为那就是一张贴图。
作者: 神雕小侠    时间: 2025-2-12 21:07     标题: 回复 #59 likelove 的帖子

非常感谢兄台的解答,我大概能看懂,不过工作量还是蛮大的,看来还是能有个编辑器更好呀
作者: 神雕小侠    时间: 2025-2-12 21:10



QUOTE:
原帖由 翡翠衾寒 于 2025-2-12 14:18 发表
加油加油!!

十二年前我尝试用龙吟大大的编辑器改了一点点剧本,没想到今天突然想上论坛来看一眼,竟然有志同道合的人

想请教下LZ用的是龙吟在2012年3月发布的那个编辑器嘛?后来龙吟有发布更新的编辑器嘛?

三个问题确实都 ...

是的我就是用的这个版本的编辑器,测试出来有一些bug,不过结合UltraEdit也可以解决大多数的问题,至于编辑器后来有没有更新就不清楚了
作者: likelove    时间: 2025-2-12 22:07

解压的部分R3文件

附件: r3unpack.zip (2025-2-12 22:07, 533.84 K) / 该附件被下载次数 33
http://xycq.org.cn/forum/attachment.php?aid=151025
作者: 神雕小侠    时间: 2025-2-12 23:24



QUOTE:
原帖由 漫漫苦短 于 2025-2-12 19:39 发表
2.3.剧情部分把张合改成张郃用UE编辑器改SNRxM.R3就行,搜BIG5码B1 69 A6 58(张合),改为B1 69 AD A8(张郃)。非剧情对话在IPPAN0M.R3,搜C3 BF AE 63(藩宮)就能找到这句话。这两个文件应该都是没用LS11压缩的,如果是压缩的 ...

感谢兄台指点,经过测试已经修正张郃的bug;

对于特殊形象的问题我是这样考虑的,原版游戏中吕布的关卡并不太多,也不太难,因此我打算参照原著增加有吕布的关卡数量和难度,他的特殊形象还是有保留价值;

对于曹操小号的问题,我曾经设想只用曹操的大号,一开始仅装备青釭剑和吴子兵法,后期通过相关指令再给他配备上玉玺、倚天剑和孟德新书,但未能成功,貌似游戏中获得道具的指令都仅限于刘备本人,张飞的三尖刀和赵云的青釭剑也只能通过单挑得到,好像再无其他途径了,不知道有没有更好的办法解决

用小号只能显示普通的骑兵形象,这个问题倒也不是不能接受,主要是我太追求完美(chui mao qiu ci)了
作者: 翡翠衾寒    时间: 2025-2-13 01:32

IPPAN0M.R3应该是没有编辑器的,如果直接修改对话是不是可能会产生偏移问题?
作者: 神雕小侠    时间: 2025-2-13 20:20



QUOTE:
原帖由 翡翠衾寒 于 2025-2-13 01:32 发表
IPPAN0M.R3应该是没有编辑器的,如果直接修改对话是不是可能会产生偏移问题?

昨晚用UltraEdit测试了一下,直接修改big5码就可以解决的,偏移倒不是啥问题,只要修改之后的字数不增加就没有影响

[ 本帖最后由 神雕小侠 于 2025-2-13 21:11 编辑 ]
作者: 神雕小侠    时间: 2025-2-13 21:19

借热度继续请问:

我想修改道具屋的对白,还有我方武将撤退时的“遗言”(如图),但文字好像并不保存在IPPAN0M里面,请问应该如何修改?

[ 本帖最后由 神雕小侠 于 2025-2-13 21:20 编辑 ]

图片附件: 商人.png (2025-2-13 21:19, 88.53 K) / 该附件被下载次数 16
http://xycq.org.cn/forum/attachment.php?aid=151026



图片附件: 撤退.png (2025-2-13 21:19, 98.74 K) / 该附件被下载次数 14
http://xycq.org.cn/forum/attachment.php?aid=151027


作者: likelove    时间: 2025-2-14 22:15

道具屋的对话要改exe

我方战场撤退对话在hexgrp中,由sub_23B4E调用。

“全軍,撤退!
兄長,我對不起您…….
大哥,對不起,沒想到會被……”
作者: 神雕小侠    时间: 2025-2-15 23:40



QUOTE:
原帖由 likelove 于 2025-2-14 22:15 发表
道具屋的对话要改exe

我方战场撤退对话在hexgrp中,由sub_23B4E调用。

“全軍,撤退!
兄長,我對不起您…….
大哥,對不起,沒想到會被……”

感谢,道具屋的对话我已经在exe中找到并成功修改,但撤退对话在hexgrp中一个都没有查到
作者: likelove    时间: 2025-2-20 23:56



QUOTE:
原帖由 神雕小侠 于 2025-2-15 23:40 发表



感谢,道具屋的对话我已经在exe中找到并成功修改,但撤退对话在hexgrp中一个都没有查到

上面有解压版R3文件
作者: 漫漫苦短    时间: 2025-2-22 20:20     标题: 回复 #71 likelove 的帖子

可以修改解压版R3文件,但是还要再压缩回去才能适配main.exe,不然main.exe读取不了修改后的数据,我现在没有找到这种LS11解压缩工具,设计与修改中的都是其他游戏的,而且也不知道在main.exe或那些com文件中有没有压缩成LS11文件的代码,你是用什么工具进行修改的
作者: likelove    时间: 2025-2-22 23:32

ls的解压本坛有工具,但压缩的没有。github上也能搜到解压的代码

又看了一下主程序代码和他人的文档,可以使用解压后的文件,需要对r3文件作拼接和修改。

读取资源、解压缩在这里

[Copy to clipboard]
CODE:
seg001:2080                ; 从文件读资源
seg001:2080                ; Attributes: bp-based frame
seg001:2080
seg001:2080                ; int __stdcall __far s_ReadFileByIndex(int handle, int buff, int seg, int index)
seg001:2080                s_ReadFileByIndex proc far              ; CODE XREF: sub_10F74+30P
seg001:2080                                                        ; sub_111D8+44P ...

ls文件由10字节(以下均为16进制)文件头,100字节压缩字典,压缩节表C * N,分节的压缩数据构成

压缩节表在110这个位置,每个节由C字节构成,最后以2字节00收尾

每节表的信息:

[Copy to clipboard]
CODE:
seg001:20B8 8D 86 F8 FB                    lea     ax, [bp+var_408] ; 之前猜测有误,这个是压缩的节表
seg001:20B8                                                        ; 每节信息是数组变量,长度C,存读出来的数据
seg001:20B8                                                        ; 前4个为压缩后长度,如0000 20e4表示压缩后长度20e4
seg001:20B8                                                        ; 中4个为压缩前长度,如0000 3900,表示压缩前长度3900
seg001:20B8                                                        ; 后4个为资源偏移,如0000 0138表示从文件0138处解压
seg001:20BC 16                             push    ss              ; seg
seg001:20BD 50                             push    ax              ; buff
seg001:20BE 6A 0C                          push    0Ch             ; bytestoRead
seg001:20C0 FF 76 06                       push    [bp+handle]     ; handle
seg001:20C3 9A D4 4F F6 0C                 call    s_ReadFile_1

主程序是写死的,默认就是ls文件,所以解压后的他不认

[Copy to clipboard]
CODE:
seg001:219A 8B 46 FC                       mov     ax, [bp+var_4_beforpacked]
seg001:219D 8B 56 FE                       mov     dx, [bp+var_2]
seg001:21A0 39 46 F8                       cmp     [bp+var_8_afterpacked], ax
seg001:21A3 75 16                          jnz     short l_F11B_need_unpack
seg001:21A5 39 56 FA                       cmp     [bp+var_6], dx
seg001:21A8 75 11                          jnz     short l_F11B_need_unpack
seg001:21AA FF 76 0A                       push    [bp+seg]        ; seg
seg001:21AD FF 76 08                       push    [bp+buff]       ; buff
seg001:21B0 50                             push    ax              ; bytestoRead
seg001:21B1 FF 76 06                       push    [bp+handle]     ; handle
seg001:21B4 9A D4 4F F6 0C                 call    s_ReadFile_1
seg001:21B9 EB 0F                          jmp     short loc_F12A
seg001:21BB                ; ---------------------------------------------------------------------------
seg001:21BB
seg001:21BB                l_F11B_need_unpack:                     ; CODE XREF: s_ReadFileByIndex+123j
seg001:21BB                                                        ; s_ReadFileByIndex+128j
seg001:21BB FF 76 0A                       push    [bp+seg]
seg001:21BE FF 76 08                       push    [bp+buff]
seg001:21C1 50                             push    ax              ; length
seg001:21C2 FF 76 06                       push    [bp+handle]
seg001:21C5 9A 08 20 F6 0C                 call    s_EF68_unpack?

21A0处有比较,看节表中压缩后、压缩前数据是否相等,不等则去解压,相等则直接读。

既然是写死的,只能拼接文件了
R3文件解压缩后,原始R3文件节表之后的数据全部删除(最后一项0000之后),然后把解压后的数据拼过来。这时要改几个数据,把每一项节表的压缩后数据都改为压缩前,使21A0处比较相等,再把偏移改成解压后的
比如hexgrp原始节表

[Copy to clipboard]
CODE:
before                after                off

20e4                3900                0138
02a5                032f                221c
027d                04d2                24c1

改成

[Copy to clipboard]
CODE:
before                after                off

3900                3900                0138
032f                032f                3a38
04d2                04d2                3d67

附上修改后的hexgrp,测试是可用的。

附件: HEXGRP.unpacked.zip (2025-2-22 23:32, 7.98 K) / 该附件被下载次数 34
http://xycq.org.cn/forum/attachment.php?aid=151057
作者: likelove    时间: 2025-2-23 00:01

end1grp等不能解压的原因也找到了,节表的数据存储方式变了

main读取节表信息是比较古老的,高位的word放在前,低位word放在后,是大端模式,所以可以看到逐字节拼出来

可能是end1grp等换了程序员,是正常的小端,低地址在前。
作者: likelove    时间: 2025-2-27 22:07

部分解压过的R3文件可用了。可直接替换原始文件。

附件: unpacked.r3.zip (2025-2-27 22:07, 407.71 K) / 该附件被下载次数 18
http://xycq.org.cn/forum/attachment.php?aid=151058
作者: 神雕小侠    时间: 2025-3-21 23:42



QUOTE:
原帖由 likelove 于 2025-2-27 22:07 发表
部分解压过的R3文件可用了。可直接替换原始文件。

感谢兄弟提供的文件,经过测试效果不错!
作者: 神雕小侠    时间: 2025-3-23 01:29     标题: 第一章界桥之战更新完成

对敌我双方阵容做了一些修订,每个城市里的NPC对话也做了大量修改,感谢大家支持!
作者: 神雕小侠    时间: 2025-3-24 12:06

这里还有一个小小的遗憾,张郃字“儁乂”,但不论在GB2312码还是BIG5码中都没有“儁”字,因此这里只得用“俊乂”,如果哪位兄弟有更好的解决办法还请多多指教!
作者: 翡翠衾寒    时间: 2025-4-1 14:13

请问楼主 荥阳之战是怎么用现有的这些编辑工具增加进去的?

这是一张用其他地图改出来的战场图,还是一张全新的图?
作者: 神雕小侠    时间: 2025-4-1 17:21     标题: 回复 #79 翡翠衾寒 的帖子

我用的是龙吟的编辑器,地图是修改的,暂时尚未找到新增地图的办法
作者: 翡翠衾寒    时间: 2025-4-3 00:01     标题: 回复 #80 神雕小侠 的帖子

那可以理解为这就会“占据”一个地图位置嘛(也就是说某个原本的战场不会出现了)?
作者: 神雕小侠    时间: 2025-4-3 13:19     标题: 回复 #81 翡翠衾寒 的帖子

对的,原版游戏有几个战场意义不大,我的规划里就把它删掉了
作者: 翡翠衾寒    时间: 2025-4-7 14:37     标题: 回复 #82 神雕小侠 的帖子

同感,我觉得第一章很多的分支选择稍微有点啰嗦
作者: 翡翠衾寒    时间: 2025-4-7 15:01     标题: 回复 #46 神雕小侠 的帖子

这是怎么确定的啊

同样也在想怎么修改道具屋售卖列表的问题
作者: 神雕小侠    时间: 2025-4-8 20:17



QUOTE:
原帖由 翡翠衾寒 于 2025-4-7 15:01 发表
这是怎么确定的啊

同样也在想怎么修改道具屋售卖列表的问题

也是前辈做出来了修改器,可以修改原版游戏中各地点的宝物,我就在main.exe中搜索每一关的宝物地址,一点一点摸索出来的,先附上第一章的宝物地址表吧,中间有空白的几个地点不是没查到,是懒得写了,都是按照顺序排下来的。按照这个表格可以把原本没有道具屋的地点也添加出售的道具,只要再加上道具屋这个人物就行。

[ 本帖最后由 神雕小侠 于 2025-4-8 20:20 编辑 ]

图片附件: 第一章宝物地址.png (2025-4-8 20:17, 17.55 K) / 该附件被下载次数 2
http://xycq.org.cn/forum/attachment.php?aid=151102


作者: 神雕小侠    时间: 2025-4-8 20:26



QUOTE:
原帖由 翡翠衾寒 于 2025-4-7 14:37 发表
同感,我觉得第一章很多的分支选择稍微有点啰嗦

确实如此,后面有几个分支也是如此,不过我想增加几张地图,目前还不得要领,兄台有什么好办法么?




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