谢
@魔兽世界寂寞帝 的积极反馈和
@afl001 的热心参与确认一个旧引擎自身的bug,详见165楼中楼。
今天实在是无聊就跟进去看了一下,发现原来是通常写程序都蛮容易犯的一个错,原因就是在没有装备道具的时候重设了"LV"为空字串,在有装备的时候又没有重写,而且武将信息对话框是一直不会销毁的,所以一旦掩藏了就再也无法恢复了。
新引擎没这个问题,应该是被修复过了,由于看汇编实在是太费劲,就没再去对比了。我这里是图方便只改一处,勾住SetDlgItemInt简单重置一下:
const UINT aTextBoxID[]={1392, 1395};
const UINT aLableID[]={1418, 1420};
for(int i=0; i<sizeof(aTextBoxID)/sizeof(UINT); i++)
{
if(nIDDlgItem==aTextBoxID[i])
{
::SetDlgItemText(hDlg, aLableID[i], "Lv");
break;
}
}
return ::SetDlgItemInt(hDlg, nIDDlgItem, uValue, bSigned);
如果不这样做的话,我所能想到的就是武器和衣服两处分开修改各自汇编了。不过这就不是我所喜欢的方式了,那些繁琐事还是让电脑去做吧,毕竟不争这点效率。只是不知道还有没有更简单只改一处就可以的方法。
上面只是一个可有可无的修复了,写出来想让感兴趣的朋友可以参加讨论,提供更佳的方法或指出我这种方法是否有漏洞(至于效率就不用说了...)。
这次主要的改动是增加头像可导出功能,因为之前旧引擎和6.0没有tou.dll所以显示不了头像。现在使用导入功能以后就可以显示了。操作如下图:
导出后就可以显示头像了:
当前版本 v1.43
1. 在首个出场武将(通常是主角)附近使用新交换道具界面时,可使用仓库按钮。
2. 修复偶尔在战场配置时候点右键会弹出结束回合对话框的情况。
3. 在旧引擎的交换按钮上绘制图标。
4. 修复旧引擎在查看没有装备的武将以后'LV'会永远消失的原bug。
5. 添加右键点击【武将情报】窗口里的【武将名字】可导出全部头像功能。
注1. 导出文件为FaceEx.Dll,只需导出一次即可在新交换道具里使用。
注2. 导出过程中不能进行其他操作,必须保证游戏为当前窗口。
注3. 建议输入正确的头像图片总数,如不清楚的话可先使用mod制作工具确认后再操作。
注4. 假如发现有头像显示不正确的情况,也可以导出后自行修改FaceEx.Dll里的ID,因为是补丁专用的,所以不会影响原游戏设定。