Virtools-shimmer/zh
virtools-shimmer | |
---|---|
一张运行于Virtools 2.5的virtools-shimmer截图,图中所有Ballance使用的BB不再呈现找不到DLL的黄色 | |
基本信息 | |
作者 | chirs241097 |
适用于 | Virtools 2.5 |
依赖 |
编译需要: pharos-demangle Python 3 MSVC |
发布时间 | 2020年10月10日 |
项目地址 | GitHub页面 |
开发状态 | 开发停滞 |
授权方式 | MIT[1] |
virtools-shimmer是一款让一些服务于Ballance的Building Block可以运行在较新版本的Virtools的工具。目前,这个程序可以让Ballance的Building Block在Virtools 2.5上进行运行,这是距离Ballance使用的Virtools版本最近的,可获得的Virtools版本。
目前,该软件可以使用,使用后,将不会提示找不到Building Block对应的DLL的错误。所有的Building Block均可被正确列出。但是它仍然存在问题。此软件仅仅修复和重定向了ABI上的错误,但是其内部的虚函数调用的偏移仍然没有被修改。目前仅TT_Gravity_RT
这一个库因为体量较小,修复了一部分的虚函数调用。不修复虚函数调用的结果就是可以检测到Building Block,但是完全没有办法让加载的Building Block运作。
但幸运的是,在此软件的帮助下,一些Building Block的设置界面得以打开,可以尝试调整一些设置。因为一些设置决定了这些Building Block的出入口数量,例如TT Scaleable Proximity
,这使得可以对这些数据进行针对性调整,而不是还需要从原版Ballance脚本内复制需要的。
兼容性
程序需要使用Virtools 2.5来进行运行,尽管将代码改造成适用于Virtools 3.0和3.5版本是可行的,但目前没有进行改造。
下载
原作者考虑到版权原因,拒绝放出可以直接解压然后就可以用的安装包,因此您需要前往此项目的GitHub页面,下载项目然后自行编译获得。按照编译手册,已有除了作者以外的人编译完成并使用。
编译
所需项目
- pharos-demangle
- Python 3
- 一台Linux机器(最新版本的Debian已测试,可以编译)
- 一台装有支持CMake构建的MSVC的Windows机器
编译过程
- 转到Linux机器,先下载pharos-demangle,然后准备好make和必要的库(执行make会提示你缺什么),然后编译安装这个Python库。
- 运行
scripts/gen.py
生成填充文件的头文件和简单的实现。 - 使用在
patches
文件夹中找到的补丁来修补刚刚生成的代码。 - 转到Windows机器,建立新的解决方案。必须使用32位版本的MSVC(如果使用的是Visual Studio,则为“msvc_x86”环境)。编译时不要忘记将
VIRTOOLS_INCLUDE_DIR
和VIRTOOLS_LIBS_DIR
的值设置为适当的路径。将生成的cks.dll
放置在Virtools安装目录的根目录中。 - 使用
scripts/bblibpatcher.py
修补积木库DLL文件。 将修补的DLL文件放在Virtools安装目录的BuildingBlocks
文件夹中。
注释
- ↑ 除Virtools SDK外,其它的代码以MIT授权