Add Package format
86
Package-format.md
Normal file
86
Package-format.md
Normal file
@ -0,0 +1,86 @@
|
||||
## Package format
|
||||
|
||||
### Overview
|
||||
- [Package format requirements](https://rainy.patafour.zip/package/create/docs/)
|
||||
- A subset of the simple BlueSteel Rainycolor format is currently supported. [Full reference (CW: vore)](https://yozora.bluesteel.737.jp.net/HarmonyPublic/SOS-Kongou/wiki/Create-Module#user-content-rainycolor-simple)
|
||||
|
||||
### Standard package
|
||||
```
|
||||
├───app
|
||||
│ └───BepInEx
|
||||
│ └───*
|
||||
├───option
|
||||
│ └───Axyz
|
||||
│ └───*
|
||||
├───icon.png
|
||||
├───README.md
|
||||
├───manifest.json
|
||||
└───(additional nonfunctional files, such as CHANGELOG.md)
|
||||
```
|
||||
|
||||
More file overrides may be supported in the future. [You can help.](https://gitea.tendokyu.moe/TeamTofuShop/segatools/issues/63)
|
||||
|
||||
Arbitrary scripts are not supported by design and that will probably never change. Notably, packages with `post_load.ps1` will always be marked as unsupported.
|
||||
|
||||
### segatools package
|
||||
|
||||
```
|
||||
├───segatools
|
||||
│ └───(mu3hook|chusanhook|mu3io|chuniio|aimeio).dll
|
||||
├───icon.png
|
||||
├───README.md
|
||||
└───manifest.json
|
||||
```
|
||||
|
||||
With a `manifest.json` looking like:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "mu3hook",
|
||||
"version_number": "0.0.20241225",
|
||||
"website_url": "https://gitea.tendokyu.moe/TeamTofuShop/segatools",
|
||||
"description": "Loader for O.N.G.E.K.I.",
|
||||
"dependencies": [],
|
||||
"installers": [{ "identifier": "segatools", "module": "mu3hook" }]
|
||||
}
|
||||
```
|
||||
|
||||
Valid `module`s are: `mu3hook`, `chusanhook`, `mu3io`, `chuniio`, `amnet`, `aimeio`. `amnet` implies `aimeio` and an `aimeio.dll`. `module` can be an array, implying multiple DLLs:
|
||||
|
||||
```json
|
||||
{
|
||||
...
|
||||
"installers": [{ "identifier": "segatools", "module": [ "aimeio", "chuniio" ] }]
|
||||
}
|
||||
```
|
||||
|
||||
### Native mod
|
||||
|
||||
```
|
||||
├───foo.dll
|
||||
├───bar.dll
|
||||
├───icon.png
|
||||
├───README.md
|
||||
└───manifest.json
|
||||
```
|
||||
|
||||
With a `manifest.json` pointing at the filename like:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "SomeNativeMod",
|
||||
"version_number": "1.0.0",
|
||||
"website_url": "https://example.com",
|
||||
"description": "Loads a DLL",
|
||||
"dependencies": [],
|
||||
"installers": [
|
||||
{
|
||||
"identifier": "native_mod",
|
||||
"dll-game": "foo.dll",
|
||||
"dll-amdaemon": "bar.dll"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
These packages are supposed to be hooked into the game, and into amdaemon. Both DLL fields are optional, therefore it's fine to only provide a DLL for the game, or only for amdaemon.
|
Reference in New Issue
Block a user