找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8244|回复: 31

【平台扩展】万物互通(EC)的跟进更新

[复制链接]
发表于 2024-10-21 08:39:04 | 显示全部楼层 |阅读模式
本帖最后由 笨030504 于 2025-11-25 21:05 编辑

这个其实也算是“锤子的废物插件”。。。好吧,不能说废物了。
毕竟还有水菌、茶酱、麻酱、天启、头猫、EnderSeven等人的共同努力,才使得EC这个整合包打磨成一个功能不错,兼容性稳定的体系。

需要下载体验的,制作mod移步最新的用户包;
想要扩展平台,二次开发的移步最新的开发包。
里面目前预置了Ares/Phobos/WIC/IH等组件,并建立了模块之间的协作体系。
目前已经配套了WIC和IH组件的SDK,以便二次开发以及为modder自定义dll。
欢迎更多人制作与此整合包配合的平台和mod,来更加地扩大支持的功能,进而建立起充分的生态。

经过很久的超·低速滚动,这个整合包的新功能还是相当丰富的:


新的功能:

在R4 251125A当中默认打开长度扩展,因为WIC的版本回滚(


WIC可能回滚的功能:

1、范围分配经验值
2、Y键适配新经验系统
3、BUFF时间延迟优化
4、单次一个弹头给有限数量的单位上BUFF
5、BUFF重复挂载方式(合并、替代、刷新等等)
6、武器选择系统的语句变化
7、经验系统的变化

由于与WIC的一些钩子冲突,R4 251111A当中的IHCore默认关闭了长度扩展。
如果需要打开长度扩展,可以新建IHCore.dll.json并放入IHCore.dll同目录,内容如下:
{
  "Setting":{
    "
ResolveWICConflict
": false
  }
}


ResolveWICConflict:设置为false会把INI长度扩展、INI读最后一行、中文NOSTR等杂七杂八功能解除限制,默认true
(因为和WIC010撞钩子而在三个月之前限制了一些)


新CSF系统:
详见说明书。
直接读取INI里的字符串,不依赖CSF
一节 有点问题:补充
(2)在UIName等CSF支持以下的逻辑:
        (1)使用“EXTS:”前缀来调用额外的CSF。
        目标CSF应放置于游戏根目录或打包到MIX中。
        调用时,按照“EXTS:文件名:CSF条目”的格式。
        文件名不区分大小写,不包括.csf的拓展名。
        CSF条目为原本会填的内容,区分大小写。
        示例:
        如果UIName要调用test.csf里的Name:WHAT条目,
        可以这样写:UIName=EXTS:TEST:Name:WHAT,
(3)使用“(:xxx)”来调用中文的nostr。
        xxx处直接写中文。注意,括号是英文括号,冒号是中文冒号。
        如需要换行,可以直接插入\n
        示例:
        UIName=(:核弹\n发射井)

自定义文件流:
详见说明书。
自定义Mix载入逻辑:
详见说明书。
格式化文本的支持:

略,自己看说明书,里面有示例文件

定制版Phobos的功能:
略,自己看说明书


兼容性更新:
各个模块的兼容性有所提高的同时,也尽可能减少了与Kratos等的冲突。
同时,保证了对“LLF格式文本——可编辑CSF”的兼容性。(https://bbs.ra2diy.com/forum.php?mod=viewthread&tid=24441

更新日志:


R4 #251111A:
修复了诸如INI长度扩展不与Ares兼容的问题
版本信息:
SyringeIH:0.3b6
IHCore:0.5.1_251008C (较新版本暂不采用)
IHLibList:0.2.1(较新版本暂不采用)
Ares:3.0p1
SIWinterIsComing:0.1.0 #196 (暂时回退)
Phobos:Phobos-b48+4_5
这个版本的WIC从 正式0.1.0a 回退到 0.1.0#196 以解决一些兼容性问题。
至少在把WIC010搞成一个足够理想的LTS之后,尽可能的解决兼容性问题。
之后会考虑发行EC的R5版本。

另外,由于IHCore大于251008C的版本稳定性均有所欠缺,故暂不考虑加入。
在调试控制台、跨进程组件和检视组件完成整合之后,再提高稳定性发布一个稳定的0.5版本。
(另外这个版本下INI长度扩展等是完全工作且和Ares #include和继承兼容的)

这个发行版希望能得到充分的测试,并以此作为一个足够通行的版本。


R4_250629A:
INI长度扩展暂时和新wic010和ares #include不太兼容,故关掉
不再提及有关组件的版本。

R4 251111A:
至少在把WIC010搞成一个足够理想的LTS之后,尽可能的解决兼容性问题。
之后会考虑发行EC的R5版本。

另外,由于IHCore大于251008C的版本稳定性均有所欠缺,故暂不考虑加入。
在调试控制台、跨进程组件和检视组件完成整合之后,再提高稳定性发布一个稳定的0.5版本。


IHCore较新版本的已知问题:
左上角的文本会在自动换行时切断文本变量;
ECInitLibrary、NamedPointer的线程不安全问题;
指定了额外读取的路径之后不能识别其中的.mmx/.yrm/.yro等地图;
由于钩子碰撞,仍然不能和WIC的新INI格式兼容;
退出程序时会有较大延迟的问题;
多人游戏输入文本时对格式的处理异常;

R4 251125A:
WIC从#196的基础上分支出LTS#196,作为一个冻结特性但是尽量修复bug的版本。
删掉了说明书的抛体示例(已经过时力)
因为WIC的版本退回去了,和Ares兼容性也修好了,所以IHCore的INI长度就默认打开了。
如果需要的话自行编辑IHCore.dll.json改变设置。
WIC的说明书也换成了#196。
IHCore的版本上个发行版的EC就该升级到251011A的来着(旧版本还是太拖累关游戏的速度了)
对了,以后开发包这玩意就再也不见了,调试符号和DLL放在一起,源代码统一看挂在github上面的开源仓库。

R4 #250629A:

主版本:R4
构建:250629A
组件版本:
SyringeIH:0.3b2
IHCore:0.4_250629A
IHLibList:0.2.1
Ares:3.0p1
SIWinterIsComing:0.1.0a
Phobos:Phobos-b47+6_4


补丁#241230B:
——重新组织了开发包,这回只会包含一份SDK,原来在ExampleDll里面还有一份一模一样的


补丁#241230A:
—— 更新了IHCore的版本到0.4_241230A。
—— 更新了Phobos的版本到b45_3_5。
—— 更新了SIWinterIsComing的版本到0.10_241230。
—— 更新了EC SDK。


补丁#241023A:
—— 修正了IH组件的CHM说明书(感谢EnderSeven)。
—— 修复了找不到IHLibList.dll的bug。


补丁#241020A:
—— 现在锤酱是属鸽子的。
—— 添加了对“LLF格式文本——可编辑CSF”的兼容性。(https://bbs.ra2diy.com/forum.php?mod=viewthread&tid=24441
—— 更新了IHCore的版本到0.4_241020A。
—— 更新了Phobos的版本到b44_3_10。
—— 更新了SIWinterIsComing的版本到0.10 #186。
—— 修复了一些Phobos IHCore 等的小bug

补丁#240920A:
—— 现在INI会读取最后一行的内容。
—— 更新了IHCore的版本到0.4_240920A。
—— 更新了IHLibList的版本到0.2。
—— 更新了Phobos的版本到b43_3_10。
—— 更新了SIWinterIsComing的版本到0.10 #185。



现存问题:
(1)IH组件的初始化有点小慢,在搭配dta的时候会造成启动游戏的延迟。
(2)拆分出的子INI当中的长度扩展会出现问题,可能失效,rulesmd.ini等母INI当中长度扩展能正常工作
(3)kratos的飞行器区域警戒巡航功能似乎会被包里面的phobos顶掉。(注:EC整合包不包括Kratos)


用户包Q&A:
Q1:安装EC后如何启动游戏?
A1:启动游戏双击Syringe.exe启动,无需bat,或安装后通过DTA启动
Q2:安装到什么地方?
A2:游戏根目录(gamemd所在的目录)
Q3:组件能否单独使用?
A3:目前版本,IH组件,WIC,Phobos,Ares都可以单独使用,注意单独使用时取走所有文件(如IH组件目前有2个dll和一个inj)
Q4:出现错误/bug而退出了怎么办?
A4:请先试图自己调试。SyringeIH在Syringe.log当中提供了丰富人性化的调试信息。如果调试不明白,加QQ群发出来反馈。
        如果你要反馈,请附上EC的版本号,以及syringe.log debug.log,其他文件如果需要也可以上传。

Q5:能不能配合steam版红警使用?
A5:可以,但请在SyringeIH的设置(Syringe.json)的 "EnableHandshakeCheck": true,一行当中true改为false
Q6:如何支持reshade?
A6:只需要把reshade的文件(除了syringe.exe)全部覆盖到装好EC的游戏目录即可让reshade工作。

Q7:装了EC之后能不能装Kratos?
A7:可以的,Kratos和EC基本上没有兼容性问题(感谢Flactine测试)。如果确实出现了不兼容的情况,烦请反馈到QQ群。


有关二次开发的Q&A:
Q1:如何二次开发一个新的项目?
A1:可以抄开发包里面的EC_ExampleDll项目,或仿着自己写一个。
Q2:如何在已有的项目基础上二次开发?
A2:把SDK文件夹放入包含目录,按照IHLoader的说明配置DllMain,即可接入SDK,进行二次开发。
Q3:如何检查你加入的DLL是否配置好?
A3:配置好之后,打开日志,启动游戏,之后查询debug.log,检查IHCore : 开头的log条目。
        下面是一个提示注册和依赖都正常的情况:(摘自一次测试的debug.log)
        IHCore : Initialize Libs
        IHCore : Loading Library "EC_ExampleDll"
        IHCore : Loading Library "SIWinterIsComing"
        IHCore : Add Dependency: EC_ExampleDll Requires SIWinterIsComing (Forced Sequence)
        IHCore :  Call in the dependency order :"SIWinterIsComing"
        IHCore :  Call in the dependency order :"EC_ExampleDll"
Q4:通过DEFINE_HOOK和DEFINE_HOOKEX定义的钩子不能被Syringe识别到怎么办
A4:(1)如果宏定义当中不包括section相关内容,写INJ文件(例如IHCore),或宏定义设置SYR_VER为2
        (2)如果宏定义当中包括了section相关内容还是不行(玄学方法from天启酱)以VS为例:(不知道为啥可以这样)
        项目属性->C/C++->优化->启用内部函数,选择是
        项目属性->C/C++->常规->多处理器编译,选择否
Q5:PDB文件是做什么的?
A5:PDB可以用来在IDA逆向查错时恢复符号,便于理解代码。


Q6:如何让你的插件依赖于另一个插件时正常工作?
A6:在依赖列表里面添加一个InitDependency对象,其4个参数分别为:
        依赖的包的名字,请求的包的当前版本,请求的包的所需最低版本,是否要求载入顺序(即被依赖的是否需要先加载)
        参数2、3可以填DoNotCheckVersion来跳过版本检查。例如,下面为EC_ExampleDll当中对WIC的依赖。
InitDependency MyDependency[1] =
{
        {"SIWinterIsComing",DoNotCheckVersion,WIC_LIBRARY_VERSION,true}
};







主版本:R4
构建:251125A
组件版本:
SyringeIH:0.3b6
IHCore:0.5.1_251011A (较新版本暂不采用)
IHLibList:0.2.1(较新版本暂不采用)
Ares:3.0p1
SIWinterIsComing:LTS#196_0
Phobos:b48+4_5


制作者名单:(排名不分先后)


主要作者:钢铁之锤,Sidoupiar,航味麻酱,绯红热茶,头猫
Ares - Ares平台制作组
Phobos - Phobos平台制作组,
        特别感谢来自 航味麻酱,绯红热茶,Netsunegi, NobleFish,FlyStar,Coronia等人的附加内容
WIC - Sidoupiar,航味麻酱,钢铁之锤
IH - 钢铁之锤
Syringe - 钢铁之锤,头猫
EC SDK - 钢铁之锤,Sidoupiar


图标制作:齐拉诺佐夫(新/旧图标作者)
许可协议:钢铁之锤,Sidoupiar,绯红热茶
说明书:
Phobos的CHM说明书 - BunkerGeneral,九千天华,王科学(FONFAL_SC)
Phobos的附加内容说明 - 绯红热茶,航味麻酱
WIC的CHM说明书 - LivingLie
WIC在线说明书 - Sidoupiar,航味麻酱
IH的CHM说明书 - EnderSeven
开发包说明书 -  钢铁之锤
实例参考  - 绯红热茶,巧克力威化脆脆鲨,维铭pro
Ares使用说明 -  Ares平台制作组


测试团队:Sovietianqi,GDI,FlyStar, 长乐未央,澣骦零星 ,Forever ‖ 圣洁 ,Flactine,九千天华,EnderSeven,白羽鸽,孤剑弹啸,巧克力威化脆脆鲨,GreatSword☢高 ,wenrui,水朝夕,BunkerGeneral,
Nyto-21369, YMoex


特别鸣谢:Ares平台制作组,Phobos平台制作组,万物互通QQ群,凛冬将至QQ群的众多伟大群友



(话说名单越来越长了)




下载链接: https://pan.baidu.com/s/19eKSnvXt_9tF89QHGztMLA?pwd=hz38
提取码: hz38
以后所有期的下载链接都一样。
本期的文件为:
                插件:
                          万物互通_R4_251125A.zip
                          reshade 2023.3.7z



开发包不再提供,所有所需的源代码改为Github仓库发行:
Everything-Compatible/IHCore   Github仓库
Everything-Compatible/EC-SDK   Github仓库
IronHammer-Std/SyringeIH_0.2  Github仓库
调试符号随对应DLL发布。
关于SyringeIH的更新详见SyringeIH 版本更新&发布帖







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2024-10-29 08:48:18 | 显示全部楼层
默默的点赞,辛苦了各位
回复

使用道具 举报

发表于 2024-10-29 16:35:52 | 显示全部楼层
加油
回复

使用道具 举报

发表于 2024-10-29 21:37:13 | 显示全部楼层
赞美🔨
回复 1 0

使用道具 举报

发表于 2024-11-4 19:06:50 | 显示全部楼层
好哎!今天试试超武侧边栏(喜),话说最后的鸣谢列表怎么写
回复 1 0

使用道具 举报

 楼主| 发表于 2024-11-5 19:07:21 | 显示全部楼层
libraclone 发表于 2024-11-4 19:06
好哎!今天试试超武侧边栏(喜),话说最后的鸣谢列表怎么写

简单一点的话,写万物互通团队就好了(
如果您不厌其烦的话可以把团队那段抄一遍(
回复

使用道具 举报

发表于 2024-11-5 19:58:58 | 显示全部楼层
笨030504 发表于 2024-11-5 19:07
简单一点的话,写万物互通团队就好了(
如果您不厌其烦的话可以把团队那段抄一遍( ...

行,目前还没研究明白怎么搞
回复

使用道具 举报

发表于 2024-11-5 20:29:54 | 显示全部楼层
起动不了

Initialized Ares version: 21.352.1218
Ares requires a CPU with SSE support. Available.
Set Process Affinity: 1 (1)
Optimizing list of CD drives for NoCD mode.
回复

使用道具 举报

发表于 2024-11-5 20:39:16 | 显示全部楼层
  "DefaultExecutableName": "gamemd.exe", //启动的程序
  "DefaultCommandLine": "-cd -speedcontrol -NOLOGO", //启动参数

-NOLOGO这个参数的事,可以了
回复

使用道具 举报

 楼主| 发表于 2024-11-5 21:37:44 | 显示全部楼层
xindun110 发表于 2024-11-5 20:39
"DefaultExecutableName": "gamemd.exe", //启动的程序
  "DefaultCommandLine": "-cd -speedcontrol -NO ...

默认的启动参数没有NOLOGO吧,你清楚为什么NOLOGO会出问题吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛 |网站地图

GMT+8, 2026-4-17 06:10 , Processed in 0.289651 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表