A lot of the code ended up being duplicated between the four api calls, on top of that some type handling checks had to be made in both create_hook and get_orig_function. This lead to a very messy state of things, so combine all of the handling into a single function, then we can proceed with the rest of the code expecting one thing. Having a single entry point made it very easy to add support for delaying hook cleanly. Also add support for "Obj.Method" notation for backward-compatibility with old hooks. I initially tried to use string.split provided by fatshark's code, but it creates a table, and requires a lot of supporting code that is all avoided by using a simple string.sub call. |
||
---|---|---|
assets | ||
vmf | ||
.gitignore | ||
.luacheckrc | ||
.travis.yml | ||
CONTRIBUTING.MD | ||
LICENSE | ||
README.MD |
Welcome to the Vermintide Mod Framework (VMF) Repository!
The Vermintide Mod Framework is an open-source, community-run framework of modules that provides enhanced modding capabilities and support. The framework is designed to be both independent and lightweight; making no changes to gameplay on its own.
Mods created for the project may utilize:
- Mod options
- Shared function hooks
- Chat commands
- Keybinds
- Mutator support (for now available only in Vermintide 1)
- Network calls
- QHD+ UI re-scaling
- Rewritten, lightweight mod functions
- An on-event call system
The Vermintide Mod Framework originally started in Warhammer End Times: Vermintide as an unofficial modding platform. In the time since, VMF has been rewritten and redesigned with contributions from many unique members of the community; culminating in this unified project made for the arrival of official mod support.
For more information, check out the framework's wiki pages.
Building the Framework
Prerequisites:
- To start, you should be subscribed to the Steam Workshop version of VMF that you'd like to compile. (Warhammer End Times - Vermintide or Warhammer: Vermintide 2)
- You should also install Vermintide Mod Builder (VMB).
Building Steps:
- Navigate to your VMB directory. Let's assume it's unpacked into a folder named
vermintide-mod-builder
. - Create a folder inside
vermintide-mod-builder
(we'll call itvermintide-mod-framework
) and clone in the VMF repository's contents. - Open a console/Command Prompt/Powershell window inside your
vermintide-mod-builder
directory and use the following VMB command:vmb build vmf -f vermintide-mod-framework --ignore-errors -g [1|2]
, where the number after-g
indicates the target Vermintide game.
You can find more VMB mod-building information in the Vermintide Mod Builder documentation.