Compare commits

..

3 Commits

2 changed files with 113 additions and 51 deletions

158
README.md
View File

@ -1,50 +1,108 @@
## sinmai-mods
Mods for maimai DX. Patch with MonoMod except specified
otherwise.
## Mod list
### DisableEncryption
Disables title server encryption.
### DisableReboot
Disables automatic reboots.
### FixLocaleIssues
Attempt to fix charts not loading on regions where the system's
decimal separator is not the dot (`.`).
### ImproveLoadTimes
Speed up game reboots by caching game data. Cache data is stored
in `data_cache.bin` and can be safely deleted if issues arise.
### Singleplayer
Show only the left monitor at the center of the screen.
### TouchPanel
Set touch panel sensitivity for individual regions, or introduce
delay on the touch panel. It is configured by adding a section
to `mai2.ini`:
```ini
[TouchPanel]
; Introduce delay to touch inputs to make it line up with
; button inputs
DelayMs=0
; Customize the activation threshold for specific touch
; sensors. The touch sensor values can be found by going
; into input test in the game test menu.
SensitivityA1=90
SensitivityA2=90
...
```
### UnlockFrameRate
**BepInEx mod.**
Change the target FPS. Also comes with an FPS counter. The
configuration file for changing the FPS is at
`BepInEx/config/io.github.beerpsi.sinmai.framerate.cfg` and is
already documented.
## sinmai-mods
Mods for maimai DX. Patch with MonoMod except specified
otherwise.
## Mod list
### DisableEncryption
Disables title server encryption.
### DisableReboot
Disables automatic reboots.
### FixLocaleIssues
Attempt to fix charts not loading on regions where the system's
decimal separator is not the dot (`.`).
### ImproveLoadTimes
Speed up game reboots by caching game data. Cache data is stored
in `data_cache.bin` and can be safely deleted if issues arise.
### LooseDBTables
Load game tables from `.json` files in `Sinmai_Data/StreamingAssets/DB`.
Useful for string edits (e.g. translation).
Tables are automatically generated if the `DB` folder does not
exist.
### MoreChartFormats
Load charts written in various formats:
- [simai](https://w.atwiki.jp/simai)
- srt/szt/sct/sdt (maimai classic chart format)
To use, edit Music.xml to point the chart file path to your chart
file:
```xml
<Notes>
<file>
<path>{filename}.sdt</path>
</file>
<!-- snip -->
</Notes>
```
The chart loader depends on the file extension:
- simai chart files must end with .simai
- srt chart files must end with .srt
- szt/sct/sdt files can use .szt/.sct/.sdt interchangeably.
<details>
<summary>Simai caveats</summary>
- **`maidata.txt` is not supported. If you have one, paste the
content of each`inote_x` into their own `.simai` file.**
- Both `?` and `!` will create a slide without a star note, but
both of them will make the slide fade in (`!` makes the slide
suddenly appear in standard simai).
- `$` cannot be used to create a tapless slide (maiPad PLUS
syntax).
- `$$` is ignored, as star notes only spin when there's an
associated slide.
- `[BPM#a:b]` is not supported for specifying hold time.
- `` ` `` (fake EACH) makes taps 1/384 measures apart.
</details>
<details>
<summary>SXT caveats</summary>
- Encrypted chart files (`.srb`/`.szb`/`.scb`/`.sdb`) are not
supported. Decrypt them before loading into the game.
- Since this chart format does not contain timing data, the
song's BPM is retrieved by loading the `Music.xml` associated
with the chart, **and it is assumed that the chart and
`Music.xml` is in the same folder**. The SXT loader will not
work if the chart file is somehow in a different folder
from `Music.xml`.
</details>
### Singleplayer
Show only the left monitor at the center of the screen.
### TouchPanel
Set touch panel sensitivity for individual regions, or introduce
delay on the touch panel. It is configured by adding an optional
section to `mai2.ini`:
```ini
[TouchPanel]
; Introduce delay to touch inputs to make it line up with
; button inputs
DelayMs=0
; Customize the activation threshold for specific touch
; sensors (optional). The touch sensor values can be found by
; going into input test in the game test menu.
SensitivityA1=90
SensitivityA2=90
...
```
### UnlockFrameRate
**BepInEx mod.**
Change the target FPS. Also comes with an FPS counter. The
configuration file for changing the FPS is at
`BepInEx/config/io.github.beerpsi.sinmai.framerate.cfg` and is
already documented.

View File

@ -43,7 +43,11 @@ class patch_NewTouchPanel : NewTouchPanel
private extern void orig_Recv();
private void Recv()
{
Thread.Sleep(_touchPanelDelayMsec);
if (_touchPanelDelayMsec > 0)
{
Thread.Sleep(_touchPanelDelayMsec);
}
orig_Recv();
}