ELF名称: Master.elf 作者: BingK(binghelingxi), Email: bingkx@gmail.com 版本: 2.1.6 感谢: 所有参与CfgEdit制作的人,CfgEdit给了我很多应用参考实例 很大程度上方便了我制作这个ELF. 作用: 和JAVA版本的Master一样,实现了对MasterPatch的配置, 并在一定程度上发挥了ELF的优势. 其它相关: 1.和JAVA版本的一点不同,配置情景模式时请在补丁列表打开 选项菜单,选择"情景模式"项目配置. 2.我查看过JAVA版本的Master的源码,由于对JAVA一窍不通,所以对其中的一些 数据处理不了解或者如果你有什么好提议,请联系我. 3.源代码中的各个文件作用: getConfig.c,解析config.txt,并将结果填入到对应的数据结构中,并 提供一些处理数据的函数. lang.h,定义了语言包 main.c,建立CSM,GUI,完成整个程序的控制. master.h,定义了各个类型的数据结构. optionMenu.c,建立了选项菜单,并提供了选项菜单的各个功能. ptcFileWork.c,处理*.ptc文件,完成开始的读取数据初始化及退出ELF 时的保存数据到*.ptc文件. visual.c,提供了一些设置的视觉上的效果,包括颜色设置,选择文件及 文件夹,它来自CfgEdit,我在这个基础上做了一些适应于Master的修改 usedstr.c,用它来定义了一些字符串,可能是IAR的BUG,如果一个字符串被 重复使用(在反汇编代码中要写入了两个位置),就会出现如下错误: Diagnostic: Unknown relocation directive (70) 这个文件就是让这些字符串只会被写在一个地方,其它程序都来调用它, 以避开错误. 4.源码中WINTEL_DEBUG项为使用WINDOWS的编译器调试的条件编译项. 5.该ELF在打开和关闭时都会运行RunScaner函数一次,因此如果没有安装 过MasterPatch就不要尝试了. 更新日志: v2.1.6 2008.09.26 修改滑块显示方式,使用=- 修正循环代码,加了一些限制 v2.1.5 2008.08.05 * 修正读取unicode型字符串数据的最大长度 * 修正指定大小的ptc文件保存问题 v2.1.4 2008.07.26 + 使用getProfileName函数获取情景模式名称 v2.1.3 2008.07.19 * 修正关闭情景模式开关的补丁的选项菜单 v2.1.2 2008.07.14 * 修正清除配置后重新载入配置时两个参数未初始化 * 修正TYPE_STRING和TYPE_UNICODE保存长度问题 v2.1.1 2008.07.12 * TYPE_BYTE最大值大于127则按照unsigned byte处理 v2.1.0 2008.07.11 * TYPE_BYTE无上限则按照unsigned byte处理,最大值255 * 英文版使用ws_2str替换gb2ws v2.0.9 2008.07.07 * 继续修正负数输入问题 * 修正补丁信息unicode格式字符串显示(by DaiKangaroo) v2.0.8 2008.07.07 + 主菜单增加一个不刷新MP退出项 * 修正,允许在TYPE_BTYE和TYPE_INT中输入负数 * 修正子菜单检测 v2.0.3 2008.06.29 * 修正unicode字符串保存问题 * 给英文版本使用ECT_NORMAL_TEXT * 修正hex格式只有一个字符问题 v2.0.1 2008.06.25 * 修正查找指定字符函数gotoStringEndByChr v2.0 2008.06.25 + const型数据支持 + uncode格式的名称支持 + 主菜单界面红键退出(SGOLD) * cbox类型数据修正 * color类型数据修正 v1.9 2008.06.24 + byte型数组支持 + int型数组支持 * "offset"修正 * CheckBox修正 * 菜单中的菜单修正 * 清除了一些在直接显示中的小于0xA的意外字符 v1.8 2008.06.08 +"offset"支持 +清除名称中的'`',换行等字符 +坐标调控中的关闭支持(光标在坐标调节项时,使用左/右方向键开启/关闭) *修正以"p "为补丁开始标志识别 *对info标志进行验证 v1.7 2008.06.07 +备份/恢复配置功能 +无配置项的补丁直接打开则是情景模式开关菜单 v1.6.3 2008.06.07 .将cfg_buf扩大到48KB *修正submenuCopy时对于直接显示文字(TYPE_DRSTR)的处理 v1.6.2 2008.06.07 *主要是做一些细节上的修正: 带'`'选择项名称修正 对" value="," range="支持等等这样的详细写法支持 更加精确的HEX类型数据计算和显示,并修正默认长度为1 对于子菜单或模板第一项就是直接显示字符(TYPE_DRSTR)支持 修正模板(template)判断错误 修正模板,子菜单内存释放错误 修正第一项或最后一项是直接显示字符(TYPE_SRSTR)不能循环 如果找不到初始化选择项,则使用第一个选择项 v1.6 2008.06.06 +增加对"pf=n"的支持,即关闭情景模式控制 *修正NEWSGOLD/SGOLD死机问题 v1.5.1 2008.06.05 +增加一种数据类型TYPE_POSB,处理起来和TYPE_POS一样,只在保存的时候只保存一个字节,标志字符串"xy" +实时申请/释放config.txt的缓存 +设置颜色时不再关闭ED_GUI,直接打开GUI v1.5 2008.06.05 +毫秒(timeinms)支持,暂作unsigned int处理 +模板(template)支持 v1.3 2008.06.04 +多层菜单支持 +原Master中的滑块支持,不过在ELF我暂时没法将它处理成滑块,只好用一个ComboBox(选择项)替代 +加了一个NEWSGOLD_LG3的编译项,可能可以解决中文/俄文机型之间的字体定义不同问题 v1.1 2008.06.03 +点"完成"退出补丁配置时,如果补丁处于关状态,自动开启补丁 +加入英文语言包 *修正一些字符处理问题 v1.0 2008.06.03 实现了基本的MasterPatch配置