Virtools-shimmer/zh

来自Ballance Wiki
跳转至: 导航搜索
virtools-shimmer
Virtools-shimmer.png
一张运行于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脚本内复制需要的。

TTScaleableProximity设置界面.png

兼容性

程序需要使用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生成C++头文件和源文件。
  • 使用在patches文件夹中找到的补丁来修补刚刚生成的代码。
  • 转到Windows机器,建立新的解决方案。必须使用32位版本的MSVC(如果使用的是Visual Studio,则为“msvc_x86”环境)。编译时不要忘记将VIRTOOLS_INCLUDE_DIRVIRTOOLS_LIBS_DIR的值设置为适当的路径。将生成的cks.dll放置在Virtools安装目录的根目录中。
  • 使用scripts/bblibpatcher.py修正Ballance用的5个Building Block DLL文件。 将修正后的DLL文件放在Virtools安装目录的BuildingBlocks文件夹中。

注释

  1. Virtools SDK外,其它的代码以MIT授权