Tachi score hook for maimai DX
Go to file
Adele Reed 3ed7191acf Use System.Text.Json with BepInEx (#1)
When running via BepInEx, Unity's JsonUtility produces and reads empty documents.

As a bit of a hacky fix, this builds using System.Text.Json. granted, this pulls new deps in. All of the deps listed in the csproj will need to be included in the install package for BepInEx.

Reviewed-on: #1
Co-authored-by: Adele Reed <virepri2k@gmail.com>
Co-committed-by: Adele Reed <virepri2k@gmail.com>
2024-08-06 17:26:31 +00:00
.idea/.idea.Rizu/.idea License 2024-05-22 22:32:34 +07:00
External Create external folder for dependencies 2024-05-23 16:25:12 +07:00
Resources Release 0.1.2 2024-05-23 16:18:12 +07:00
Rizu.BepInEx Use System.Text.Json with BepInEx (#1) 2024-08-06 17:26:31 +00:00
Rizu.Core Use System.Text.Json with BepInEx (#1) 2024-08-06 17:26:31 +00:00
Rizu.MonoMod Use System.Text.Json with BepInEx (#1) 2024-08-06 17:26:31 +00:00
.gitignore Create external folder for dependencies 2024-05-23 16:25:12 +07:00
LICENSE License 2024-05-22 22:32:34 +07:00
README.md Update README.md 2024-06-01 17:52:53 +00:00
Rizu.sln Use System.Text.Json with BepInEx (#1) 2024-08-06 17:26:31 +00:00

Rizu

A Tachi score hook for maimai DX.

Tested versions:

  • BUDDiES

Installation

First, get the config file and place it in the same folder as the game executable (Sinmai.exe), then follow only one of three methods:

BepInEx (fast)

[unity]
targetAssembly=BepInEx\core\BepInEx.Preloader.dll 

Warning

If you have MelonLoader installed (for YuanCon ADX HID input or other mods):

  • Grab MLLoader-UnityMono-BepInEx5-v0.5.7.zip and extract this zip into the base game folder, overwriting any conflicts. This allow BepInEx to also load MelonLoader mods.
  • Delete version.dll, which is used to load MelonLoader, from the game folder.

BepInEx

Installing BepInEx

  • Update segatools.
  • Download BepInEx v5.4.22 (>=v5.4.23 does not work on stable segatools!).
  • Extract the BepInEx folder from the archive into the base game folder, ignoring other files.
  • Edit segatools.ini, adding this entry:
[unity]
targetAssembly=BepInEx\core\BepInEx.Preloader.dll 

Installing the score hook

In the end, your game directory should look like this:

└───BepInEx
    └───plugins
        └───Rizu
            ├───Rizu.dll
            └───Rizu.Core.dll
├───Sinmai_Data
├───Rizu.cfg
├───Sinmai.exe
└───segatools.ini

Warning

If you have MelonLoader installed (for YuanCon ADX HID input or other mods):

  • Grab MLLoader-UnityMono-BepInEx5-v0.5.7.zip and extract this zip into the base game folder, overwriting any conflicts. This allow BepInEx to also load MelonLoader mods.
  • Delete version.dll, which is used to load MelonLoader, from the game folder.

Hard-patching using MonoMod

  • Download MonoMod.
  • Download Assembly-CSharp.Rizu.mm.dll from releases and place it in Sinmai_Data/Managed.
  • Run MonoMod.exe path\to\Sinmai_Data\Managed\Assembly-CSharp.dll in a command prompt.
  • Rename MONOMODDED_Assembly-CSharp.dll to Assembly-CSharp.dll, optionally backing up the original file.

Development

Copy these files from Sinmai_Data/Managed into External:

  • Assembly-CSharp.dll
  • UnityEngine.dll
  • UnityEngine.CoreModule.dll
  • UnityEngine.JSONSerializeModule.dll
  • UnityEngine.UnityWebRequestModule.dll

You will also need to download MonoMod. and extract to External.

After that, the project can be restored and built normally.