https://github.com/blueamulet/edfmodloader
Rudimentary ModLoader for Earth Defence Force 4.1, 5, and 6
https://github.com/blueamulet/edfmodloader
earth-defence-force game-modding modding modloader mods
Last synced: 3 months ago
JSON representation
Rudimentary ModLoader for Earth Defence Force 4.1, 5, and 6
- Host: GitHub
- URL: https://github.com/blueamulet/edfmodloader
- Owner: BlueAmulet
- License: mit
- Created: 2020-09-16T20:58:25.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-05T20:45:20.000Z (10 months ago)
- Last Synced: 2024-08-06T02:06:34.593Z (10 months ago)
- Topics: earth-defence-force, game-modding, modding, modloader, mods
- Language: C++
- Homepage:
- Size: 69.3 KB
- Stars: 41
- Watchers: 1
- Forks: 8
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EDFModLoader
A very basic rudimentary modloader for Earth Defense Force 4.1, 5, and 6.
Supports automatic Root.cpk redirection and DLL plugin loading.
Writes internal game logging to game.logThis repository contains submodules! Please use `--recurse-submodules` when cloning.
## Installation
Get the latest package from [Releases](https://github.com/BlueAmulet/EDFModLoader/releases) and unpack it in the same folder as EDF5.exehttps://github.com/BlueAmulet/EDFModLoader/releases
## Plugins
### Patcher
[Patcher](https://github.com/BlueAmulet/EDFModLoader/blob/master/Patcher/README.md) is a plugin to perform runtime memory patches.
It loads .txt files containing patch data from `Mods\Patches`, see [Patcher documentation](https://github.com/BlueAmulet/EDFModLoader/blob/master/Patcher/README.md) for more information.
Patches by [Souzooka](https://github.com/Souzooka) are included by default.
Additional patches can be found in the `ExtraPatches` folder, they should be moved to `Mods\Patches` to be used.### Making your own
The Plugin API is in `PluginAPI.h` and is currently unfinished and subject to change.
Plugins should export a function of type `bool __fastcall EML5_Load(PluginInfo*)`
Return true to remain loaded in memory, and false to unload in case of error or desired behavior.
If your plugin remains in memory, fill out the PluginInfo struct:
```
pluginInfo->infoVersion = PluginInfo::MaxInfoVer;
pluginInfo->name = "Plugin Name";
pluginInfo->version = PLUG_VER(Major, Minor, Patch, Build);
```## Building
You will need [Visual Studio 2022](https://visualstudio.microsoft.com/vs/community/) and [vcpkg](https://github.com/microsoft/vcpkg)To setup vcpkg and required libraries:
```
git clone https://github.com/microsoft/vcpkg
cd vcpkg
bootstrap-vcpkg.bat
vcpkg install minhook:x64-windows-static-md plog:x64-windows-static-md lightningscanner:x64-windows-static-md
```EARTH DEFENSE FORCE is the registered trademark of SANDLOT and D3 PUBLISHER INC. This project is not affiliated with or endorsed by SANDLOT or D3 PUBLISHER INC in any way.