该程序让以DLL方式编写的旧版C/C++策略能够兼容新的Simuro5v5平台。
新的比赛平台改变了策略的加载方式,从平台直接加载DLL文件变为平台通过网络通信中间件与策略服务器进行通信。 本程序提供了一个图形界面,可以加载指定的策略DLL,并作为策略服务器接受平台的调用。
由于比赛规则和接口有所变更,既有的策略DLL需要实现新的接口并重新编译,才能被本程序加载并正常工作。在这里可以获取新的DLL示例工程。
此外,本程序提供了一个简易的日志查看器。策略DLL或其他程序可以通过跨进程通信方式向本程序写入调试日志。
新DLL需要导出下列函数:
void OnEvent(EventType type, void* argument);
void GetTeamInfo(TeamInfo* teamInfo);
void GetInstruction(Field* field);
void GetPlacement(Field* field);
本程序默认运行于32位CLR环境下。原则上32位程序只能加载32位DLL,64位程序只能加载64位DLL。因此,DLL必须使用与本程序相同的字长编译。
当DLL编译为32位代码时,所有导出函数必须使用__cdecl
调用约定。Windows的64位环境中调用约定是统一的,因此设置__cdecl
或__stdcall
等没有效果。
关于Windows下DLL的相关知识请参见这里。
TODO
TODO
TODO
该项目当前由AzureFx编写和维护。保留所有权利。
Simuro5v5是西北工业大学V5++团队的项目。