Skip to content

Latest commit

 

History

History
49 lines (30 loc) · 2.07 KB

README.zh-CN.md

File metadata and controls

49 lines (30 loc) · 2.07 KB

V5DLLAdapter

该程序让以DLL方式编写的旧版C/C++策略能够兼容新的Simuro5v5平台。

构建状态

下载最新的CI成功构建版本

概述

新的比赛平台改变了策略的加载方式,从平台直接加载DLL文件变为平台通过网络通信中间件与策略服务器进行通信。 本程序提供了一个图形界面,可以加载指定的策略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的相关知识请参见这里

加载DLL并启动策略服务器

TODO

使用日志功能

TODO

常见问题

TODO

作者

该项目当前由AzureFx编写和维护。保留所有权利。

Simuro5v5是西北工业大学V5++团队的项目。