segatools/mu3hook/config.h
beerpsi 4041844ea9 mai2/mu3/cm: Integrate UnityDoorstop with segatools (#11)
[UnityDoorstop](https://github.com/NeighTools/UnityDoorstop) is a tool to execute managed code (.NET DLLs) before Unity does, useful for modding frameworks such as BepInEx.

This PR integrates parts of its code into segatools, so loading BepInEx is as simple as adding 2 lines to `segatools.ini`:
```ini
[unity]
targetAssembly=BepInEx\core\BepInEx.Preloader.dll
```

This PR also factors out the Unity path redirection hooks to its own module.

Reviewed-on: Dniel97/segatools#11
Co-authored-by: beerpsi <beerpsi@duck.com>
Co-committed-by: beerpsi <beerpsi@duck.com>
2024-04-15 19:30:28 +00:00

37 lines
736 B
C

#pragma once
#include <stddef.h>
#include "board/config.h"
// #include "board/led15093.h"
#include "gfxhook/gfx.h"
#include "hooklib/dvd.h"
#include "mu3hook/mu3-dll.h"
#include "platform/config.h"
#include "unityhook/config.h"
struct mu3_hook_config {
struct platform_config platform;
struct aime_config aime;
struct dvd_config dvd;
struct io4_config io4;
struct gfx_config gfx;
// struct led15093_config led15093;
struct vfd_config vfd;
struct mu3_dll_config dll;
struct unity_config unity;
};
void mu3_dll_config_load(
struct mu3_dll_config *cfg,
const wchar_t *filename);
void mu3_hook_config_load(
struct mu3_hook_config *cfg,
const wchar_t *filename);