chore: initial commit
@@ -0,0 +1,9 @@
|
||||
plugins:
|
||||
- html
|
||||
env:
|
||||
browser: true
|
||||
es2021: true
|
||||
overrides: []
|
||||
parserOptions:
|
||||
ecmaVersion: latest
|
||||
rules: {}
|
||||
@@ -0,0 +1,10 @@
|
||||
# Set update schedule for GitHub Actions
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
# Check for updates to GitHub Actions every week
|
||||
interval: "weekly"
|
||||
@@ -0,0 +1,5 @@
|
||||
root: ./
|
||||
ignore_re:
|
||||
- 'An "img" element must have an "alt" attribute, except under certain conditions'
|
||||
- 'Element "div" not allowed as child of element "label" in this context'
|
||||
- 'The "center" element is obsolete. Use CSS instead' # initialdzero
|
||||
@@ -0,0 +1,20 @@
|
||||
name: Check HTML/JS is valid
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- name: Run HTML5 Validator
|
||||
uses: Cyb3r-Jak3/html5validator-action@v7.2.0
|
||||
with:
|
||||
config: ./.github/html5validator.yml
|
||||
css: true
|
||||
- name: Install modules for eslint
|
||||
run: npm i
|
||||
- name: Run ESLint
|
||||
run: npx eslint . --ext .js,.html
|
||||
@@ -0,0 +1,3 @@
|
||||
node_modules/
|
||||
package-lock.json
|
||||
/.vs
|
||||
@@ -0,0 +1,5 @@
|
||||
# Over time, some patchers have changed path due to reorganisation and cleanup.
|
||||
# This avoids link rot on mon's server by redirecting the old paths to the new ones
|
||||
|
||||
Redirect permanent "/bemanipatcher/chuninewplus.html" "/bemanipatcher/chusannewplus.html"
|
||||
Redirect permanent "/bemanipatcher/resort_anthem.html" "/bemanipatcher/resortanthem.html"
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2024-202X two-torial Team & contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,32 @@
|
||||
# [TWO-TORIAL](https://two-torial.xyz)'s Web Patcher
|
||||
|
||||
### URL: [https://patcher.two-torial.xyz/](https://patcher.two-torial.xyz/)
|
||||
|
||||
## About
|
||||
|
||||
This repo contains web patches for games incompatible with [spice2x](https://spice2x.github.io/). See our [spice2x patcher](https://github.com/two-torial/sp2xpatcher/) for those.
|
||||
We'll be keeping the **repo public** and **url alive** for as long as possible, **feel free to [contibute](#Contributing)** for the community through pull requests!
|
||||
|
||||
## Usage
|
||||
|
||||
See our guide on [web patching](https://two-torial.xyz/extras/patchweb/) and use the url provided above.
|
||||
|
||||
## Contributing
|
||||
|
||||
### A new game
|
||||
|
||||
- Add the new game html, it is easiest to copy an existing game and modify it.
|
||||
- Modify the `<title>` tag and the `<h1>` tag to the name of the new game.
|
||||
- Modify the patcher for the new DLL names/patches.
|
||||
- Keep indentation consistent. We will have to fix your PR if it contains poor formatting, which will delay the merging process.
|
||||
- Modify `index.html` to add the new game. Sorting: alphabetical by game series, then in release order per game.
|
||||
- Add a game image. 128x128px PNG files, please. Any blank space should be either white or transparent.
|
||||
- Create a pull request.
|
||||
|
||||
### Patches for an existing game
|
||||
|
||||
- Open the game's html.
|
||||
- If necessary: add a new PatchContainer.
|
||||
- If necessary: add a new Patcher.
|
||||
- Add your patches following the existing format.
|
||||
- Create a pull request.
|
||||
@@ -0,0 +1,193 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM Intl. SUN PLUS Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "1.25", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio sample rate must be 48000Hz",
|
||||
tooltip: "Improves compatibility, but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xECCA0A, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xECCAE1, off: [0x75, 0x3f], on: [0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable song select timer",
|
||||
patches: [
|
||||
{offset: 0x9BB95B, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x92A010,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x91DD22,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9C63CB,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Unlimited maximum tracks",
|
||||
tooltip: "Must check to play more than 7 tracks per credit",
|
||||
patches: [
|
||||
{offset: 0x6F640A, off: [0xf0], on: [0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Maximum tracks",
|
||||
offset: 0x397AE1,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12
|
||||
},
|
||||
{
|
||||
name: "No encryption",
|
||||
tooltip: "Will also disable TLS",
|
||||
patches: [
|
||||
{offset: 0x1D5CB68, off: [0x7D], on: [0x00]},
|
||||
{offset: 0x1D5CB6C, off: [0x7D], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0xEAFA77, off: [0x80], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play",
|
||||
patches: [
|
||||
{offset: 0x62D7A3, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 120 fps",
|
||||
tooltip: "Force the game to run in 120 Hz mode.",
|
||||
patches: [
|
||||
{ offset: 0x1CC89, off: [0x00], on: [0x01] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force FREE PLAY credit text",
|
||||
tooltip: "Replaces the credit count with FREE PLAY",
|
||||
patches: [
|
||||
{offset: 0x386FD4, off: [0x3c, 0x01], on: [0x38, 0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Custom FREE PLAY text length",
|
||||
tooltip: "Changes the length of the text displayed when Force FREE PLAY credit text is enabled",
|
||||
danger: "If this is longer than 11 characters, \"Force FREE PLAY credit text\" MUST be enabled.",
|
||||
offset: 0x386FD9,
|
||||
size: 1,
|
||||
min: 0,
|
||||
max: 27,
|
||||
},
|
||||
{
|
||||
type: "hex",
|
||||
name: "Custom FREE PLAY text",
|
||||
tooltip: "Replace the FREE PLAY text when using Infinite credits",
|
||||
offset: 0x197BF0C,
|
||||
off: [0x46, 0x52, 0x45, 0x45, 0x20, 0x50, 0x4c, 0x41, 0x59],
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
danger: "[DEPRECATED] Just disable it in the test menu",
|
||||
patches: [
|
||||
{offset: 0xBB9933, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass LED board check",
|
||||
danger: "[DEPRECATED] Forces LED board check to good and auto continues",
|
||||
patches: [
|
||||
{offset: 0x98DAAA, off: [0x01], on: [0x00]},
|
||||
{offset: 0x98DAAF, off: [0x00], on: [0x01]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Ignore some errors from amdaemon",
|
||||
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere.",
|
||||
patches: [
|
||||
{offset: 0x37CEBB, off: [0x75], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Set all timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{offset: 0x845990, off: [0x8b, 0x44, 0x24, 0x04, 0x69, 0xc0, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
]),
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("amdaemon.exe", "18b7e916", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{ offset: 0x68F4C4, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00] },
|
||||
{ offset: 0x3974D4, off: [0xFF, 0x15, 0xBE, 0x5F, 0x1A, 0x00, 0x8B], on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x2AEAB8, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4A4243, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x4A424B, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>CHUNITHM Intl. SUN PLUS Modder</h1>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,153 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM Intl. LUMINOUS Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "1.30", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio sample rate must be 48000Hz",
|
||||
tooltip: "Improves compatibility, but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xF0610A, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xF061E1, off: [0x75, 0x3f], on: [0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable song select timer",
|
||||
patches: [
|
||||
{offset: 0x9F286B, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9591F7,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x94C982,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9FDA4B,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Unlimited maximum tracks",
|
||||
tooltip: "Must check to play more than 7 tracks per credit",
|
||||
patches: [
|
||||
{offset: 0x71CCBA, off: [0xf0], on: [0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Maximum tracks",
|
||||
offset: 0x399D41,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12
|
||||
},
|
||||
{
|
||||
name: "No encryption",
|
||||
tooltip: "Will also disable TLS",
|
||||
patches: [
|
||||
{offset: 0x1DB9430, off: [0x82], on: [0x00]},
|
||||
{offset: 0x1DB9434, off: [0x82], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0xEE9177, off: [0x80], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 120 fps",
|
||||
tooltip: "Force the game to run in 120 Hz mode.",
|
||||
patches: [
|
||||
{offset: 0x1CC89, off: [0x00], on: [0x01]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play",
|
||||
patches: [
|
||||
{offset: 0x6521A3, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force FREE PLAY credit text",
|
||||
tooltip: "Replaces the credit count with FREE PLAY",
|
||||
patches: [
|
||||
{offset: 0x389284, off: [0x3c, 0x01], on: [0x38, 0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Custom FREE PLAY text length",
|
||||
tooltip: "Changes the length of the text displayed when Force FREE PLAY credit text is enabled",
|
||||
danger: "If this is longer than 11 characters, \"Force FREE PLAY credit text\" MUST be enabled.",
|
||||
offset: 0x389289,
|
||||
size: 1,
|
||||
min: 0,
|
||||
max: 27,
|
||||
},
|
||||
{
|
||||
type: "hex",
|
||||
name: "Custom FREE PLAY text",
|
||||
tooltip: "Replace the FREE PLAY text when using Infinite credits",
|
||||
offset: 0x19CE8AC,
|
||||
off: [0x46, 0x52, 0x45, 0x45, 0x20, 0x50, 0x4c, 0x41, 0x59],
|
||||
},
|
||||
]),
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("chu.acf", "chu.acf", [
|
||||
{
|
||||
name: "Force audio output as headphone",
|
||||
tooltip: "If you can’t hear audio on title screen, it is normal",
|
||||
patches: [
|
||||
{
|
||||
offset: 0xCE8,
|
||||
off: [0x01],
|
||||
on: [0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>CHUNITHM Intl. LUMINOUS Modder</h1>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,380 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>amdaemon Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
// amdaemonExe Ver.2592 Build:Nov 15 2018 15:22:03
|
||||
// Games: SDDS 2.30
|
||||
new Patcher("amdaemon.exe", "2592", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x64105C,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00]
|
||||
},
|
||||
{
|
||||
offset: 0x36B514,
|
||||
off: [0xFF, 0x15, 0xFE, 0x62, 0x19, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x286288, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fixes crashing on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x46E443, off: [0x48], on: [0x4C] },
|
||||
{ offset: 0x46E44B, off: [0x48], on: [0x49] }
|
||||
]
|
||||
},
|
||||
]),
|
||||
|
||||
// amdaemonExe Ver.2680 Build:May 10 2019 14:50:56
|
||||
// Games: SDFL 1.00
|
||||
new Patcher("amdaemon.exe", "2680", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x624E84,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00]
|
||||
},
|
||||
{
|
||||
offset: 0x35D754,
|
||||
off: [0xFF, 0x15, 0xAE, 0x50, 0x19, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x27E438, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fixes crashing on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x45F543, off: [0x48], on: [0x4C] },
|
||||
{ offset: 0x45F54B, off: [0x48], on: [0x49] }
|
||||
]
|
||||
},
|
||||
]),
|
||||
|
||||
// amdaemonExe Ver.46d47eab Build:Sep 25 2020 16:08:48
|
||||
// Common version used for Unity games because it's a lot
|
||||
// simpler to reuse an older version.
|
||||
new Patcher("amdaemon.exe", "46d47eab", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x69042C,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00]
|
||||
},
|
||||
{
|
||||
offset: 0x3A0E34,
|
||||
off: [0xFF, 0x15, 0x86, 0xD5, 0x19, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x2AB4E8, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fixes crashing on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4A4C43, off: [0x48], on: [0x4C] },
|
||||
{ offset: 0x4A4C4B, off: [0x48], on: [0x49] }
|
||||
]
|
||||
},
|
||||
]),
|
||||
|
||||
// amdaemonExe Ver.5492e950 Build:Jul 30 2021 13:15:23
|
||||
// Games: SDGT 1.30-2.31
|
||||
new Patcher("amdaemon.exe", "5492e950", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x65EACC,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00],
|
||||
},
|
||||
{
|
||||
offset: 0x37F3B4,
|
||||
off: [0xFF, 0x15, 0x0E, 0xC4, 0x19, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x29D008, off: [0x28], on: [0x08] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fixes crashing on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x483143, off: [0x48], on: [0x4C] },
|
||||
{ offset: 0x48314B, off: [0x48], on: [0x49] }
|
||||
]
|
||||
},
|
||||
]),
|
||||
|
||||
// amdaemonExe Ver.026fb4a0 Build:Aug 27 2021 19:45:52
|
||||
// Games: SDHD 2.00-2.15
|
||||
new Patcher("amdaemon.exe", "026fb4a0", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x3B6EF4,
|
||||
off: [0xFF, 0x15, 0x3E, 0x79, 0x1A, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3],
|
||||
},
|
||||
{
|
||||
offset: 0x6BC83C,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Free Play",
|
||||
tooltip: "Endless credits",
|
||||
patches: [
|
||||
{ offset: 0x2BB928, off: [0x28], on: [0x08] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4C3C43, off: [0x48], on: [0x4C] },
|
||||
{ offset: 0x4C3C4B, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
]),
|
||||
|
||||
// amdaemonExe Ver.8adb9cd0 Build:Oct 19 2021 16:01:50
|
||||
// Games: SDEJ 10.80
|
||||
new Patcher("amdaemon.exe", "8adb9cd0", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x6D3C04,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00]
|
||||
},
|
||||
{
|
||||
offset: 0x3C61F4,
|
||||
off: [0xFF, 0x15, 0x6E, 0x92, 0x1A, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x2C8888, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fixes crashing on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4D2343, off: [0x48], on: [0x4C] },
|
||||
{ offset: 0x4D234B, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
]),
|
||||
|
||||
// amdaemonExe Ver.18b7e916 Build:Oct 19 2021 21:12:01
|
||||
// Games: SDGS 1.10
|
||||
new Patcher("amdaemon.exe", "18b7e916", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x68F4C4,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00],
|
||||
},
|
||||
{
|
||||
offset: 0x3974D4,
|
||||
off: [0xFF, 0x15, 0xBE, 0x5F, 0x1A, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x2AEAB8, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fixes crashing on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4A4243, off: [0x48], on: [0x4C] },
|
||||
{ offset: 0x4A424B, off: [0x48], on: [0x49] }
|
||||
]
|
||||
},
|
||||
]),
|
||||
|
||||
// amdaemonExe Ver.12dcfb76 Build:May 18 2022 22:37:21
|
||||
// Games: SDHD 2.20
|
||||
new Patcher("amdaemon.exe", "12dcfb76", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{ offset: 0x6e28a4, off: [0x31, 0x32, 0x37, 0x2f], on: [0x30, 0x2f, 0x38, 0x00] },
|
||||
{ offset: 0x3c94c4, off: [0xff, 0x15, 0xc6, 0x2f, 0x1b, 0x00, 0x8b], on: [0x33, 0xc0, 0x48, 0x83, 0xc4, 0x28, 0xc3] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x2bbbc8, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4d5643, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x4d564b, off: [0x48], on: [0x49] }
|
||||
]
|
||||
},
|
||||
]),
|
||||
// Games: SDHD 2.22
|
||||
new Patcher("amdaemon.exe", "12dcfb76 (alternative)", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{ offset: 0x6e1ca4, off: [0x31, 0x32, 0x37, 0x2f], on: [0x30, 0x2f, 0x38, 0x00] },
|
||||
{ offset: 0x3c88c4, off: [0xff, 0x15, 0xc6, 0x2f, 0x1b, 0x00, 0x8b], on: [0x33, 0xc0, 0x48, 0x83, 0xc4, 0x28, 0xc3] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x2bafc8, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4d4a43, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x4d4a4b, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
]),
|
||||
|
||||
// amdaemonExe Ver.f29e03b4 Build:Sep 29 2022 21:52:26
|
||||
// Games: SDGS 1.30
|
||||
new Patcher("amdaemon.exe", "f29e03b4", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x6CD564,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00]
|
||||
},
|
||||
{
|
||||
offset: 0x3B5C34,
|
||||
off: [0xFF, 0x15, 0x4E, 0x58, 0x1B, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x2B43A8, off: [0x28], on: [0x08] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fixes crashing on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4C1D43, off: [0x48], on: [0x4C] },
|
||||
{ offset: 0x4C1D4B, off: [0x48], on: [0x49] }
|
||||
]
|
||||
},
|
||||
]),
|
||||
|
||||
// amdaemonExe Ver.91f83d14
|
||||
// Games: SDHD 2.40
|
||||
new Patcher("amdaemon.exe", "91f83d14", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{ offset: 0x732714, off: [0x31, 0x32, 0x37, 0x2f], on: [0x30, 0x2f, 0x38, 0x00] },
|
||||
{ offset: 0x3F6124, off: [0xff, 0x15, 0xfe, 0xb7, 0x1b, 0x00, 0x8b], on: [0x33, 0xc0, 0x48, 0x83, 0xc4, 0x28, 0xc3] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x2DD8F8, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x502243, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x50224B, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>amdaemon Modder</h1>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>THE ☆ BishiBashi DLL Modder</title>
|
||||
<link rel='stylesheet' href='css/style.css'>
|
||||
<script type='text/javascript' src='js/dllpatcher.js'></script>
|
||||
<script type='text/javascript'>
|
||||
window.addEventListener('load', function () {
|
||||
new Patcher('bishi09.exe', "", [
|
||||
{
|
||||
name: 'Allow A region exe to run with J dongle',
|
||||
patches: [
|
||||
{offset : 0x6ebd1, off: [0xb0, 0x42, 0x88, 0x44, 0x24, 0x17], on : [0x8d, 0x44, 0x24, 0x14, 0xb3, 0x42]},
|
||||
{offset : 0x6ebd8, off: [0x44, 0x24, 0x18, 0xb0, 0x41, 0x88, 0x44, 0x24, 0x19, 0x88, 0x44, 0x24, 0x1a, 0x88, 0x44, 0x24, 0x1b], on : [0x58, 0x03, 0x88, 0x58, 0x04, 0xfe, 0xcb, 0x88, 0x58, 0x06, 0x88, 0x58, 0x07, 0xc6, 0x40, 0x05, 0x4a]},
|
||||
{offset : 0x6fa3a, off: [0x12], on : [0x19]},
|
||||
]
|
||||
},
|
||||
])
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>THE ☆ BishiBashi DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,81 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>BomberGirl PC (eacloud) DLL Modder</title>
|
||||
<link rel='stylesheet' href='css/style.css'>
|
||||
<script type='text/javascript' src='js/dllpatcher.js'></script>
|
||||
<script type='text/javascript'>
|
||||
window.addEventListener('load', function () {
|
||||
new PatchContainer([
|
||||
new Patcher('GameAssembly.dll', "2021-01-05", [
|
||||
{
|
||||
// By HenTaku
|
||||
name: 'Fix Stuck When Saving',
|
||||
patches: [
|
||||
{offset: 0xEB60E8, off: [0x0F, 0x84, 0x20, 0x03, 0x00, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
{offset: 0xEB60FC, off: [0x0F, 0x84, 0x06, 0x03, 0x00, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
{offset: 0xEB6105, off: [0x0F, 0x84, 0xF7, 0x02, 0x00, 0x00, 0x8B, 0x49, 0x10, 0x89, 0x48, 0x1C, 0x49, 0x8B, 0x5D, 0x28, 0x48, 0x89, 0x5C, 0x24, 0x38, 0x48, 0x85, 0xDB, 0x0F, 0x84, 0x1C, 0x02, 0x00, 0x00], on: [0xE9, 0x1D, 0x02, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// By HenTaku
|
||||
name: 'Freeze Timer',
|
||||
patches: [{offset: 0x11CE07C, off: [0xF3, 0x0F, 0x11, 0x73, 0x2C], on: [0x90, 0x90, 0x90, 0x90, 0x90]}]
|
||||
},
|
||||
{
|
||||
// By HenTaku
|
||||
name: 'Disable Tutorial Dialog Popup',
|
||||
patches: [{offset: 0x1960118, off: [0x70, 0x62], on: [0x60, 0x61]}]
|
||||
},
|
||||
{
|
||||
name: 'Unlock Accessories',
|
||||
tooltip: 'First pages of head accessories are empty somehow.',
|
||||
patches: [{offset: 0xC7D100, off: [0x40, 0x57, 0x48, 0x83, 0xEC, 0x40], on: [0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3]}]
|
||||
},
|
||||
{
|
||||
name: 'Unlock Chat Voices',
|
||||
patches: [{offset: 0xEA0B60, off: [0x48, 0x89, 0x5C, 0x24, 0x08, 0x48], on: [0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3]}]
|
||||
},
|
||||
{
|
||||
name: 'Unlock Characters',
|
||||
tooltip: 'You still need patched resources.assets to unlock the last 5 characters',
|
||||
patches: [
|
||||
{offset: 0x4ABFA0, off: [0x0F, 0xB6, 0x41, 0x15, 0xC3, 0xCC], on: [0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3]},
|
||||
{offset: 0xFB6E2E, off: [0x74, 0x04, 0x0F, 0xB6, 0x41, 0x14], on: [0xB8, 0x01, 0x00, 0x00, 0x00, 0x90]},
|
||||
{offset: 0xFB6EFB, off: [0x80, 0x78, 0x14, 0x00, 0x74, 0x0B], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'Unlock Skills',
|
||||
patches: [
|
||||
{offset: 0x5B1AE0, off: [0x0F, 0xB6, 0x41, 0x14, 0xC3, 0xCC], on: [0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3]},
|
||||
{offset: 0xFBC360, off: [0x40, 0x57, 0x48, 0x83, 0xEC, 0x40], on: [0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// By HenTaku
|
||||
name: 'Skip Gacha',
|
||||
tooltip: 'Only work when the unlock patches above are applied',
|
||||
patches: [
|
||||
{offset: 0x124B026, off: [0x0F, 0x85, 0x89, 0x00, 0x00, 0x00], on: [0xE9, 0x8A, 0x00, 0x00, 0x00, 0x90]},
|
||||
{offset: 0x124B0C4, off: [0x75], on: [0xEB]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// By HenTaku
|
||||
name: 'Unlock Missions',
|
||||
patches: [
|
||||
{offset: 0xFB6F70, off: [0x48, 0x83, 0xEC, 0x28], on: [0xB0, 0x01, 0xC3, 0x90]},
|
||||
{offset: 0xFBBD00, off: [0x40, 0x53, 0x48, 0x83, 0xEC, 0x40], on: [0xB8, 0x02, 0x00, 0x00, 0x00, 0x90]}
|
||||
]
|
||||
}
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>BomberGirl DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,152 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
|
||||
// 1.00
|
||||
new Patcher("chuniApp.exe", "1.00.02", [
|
||||
{
|
||||
// mon
|
||||
name: "Allow 127.0.0.1 as the network server",
|
||||
patches: [
|
||||
{offset: 0x766E80, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x13B63E8, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// mon
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x78EA23, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xB512CA, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xB513A1, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Patch for Windows 7",
|
||||
tooltip: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x16D484E, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x16D4857, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lybxlpsv
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x5AEA62, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x4D5280, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lin714093880 & esterTion
|
||||
name: "Better patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x3E5E13, off: [0x01], on: [0x00]},
|
||||
]
|
||||
}
|
||||
]),
|
||||
|
||||
// 1.01
|
||||
new Patcher("chuniApp.exe", "1.01.00", [
|
||||
{
|
||||
// mon
|
||||
name: "Allow 127.0.0.1 as the network server",
|
||||
patches: [
|
||||
{offset: 0x766ED0, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x13B6288, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// mon
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x78EA73, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xB512AA, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xB51381, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lybxlpsv
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x5AEAA2, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x4D5550, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lin714093880 & esterTion
|
||||
name: "Better patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x3E61B3, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for Windows 7",
|
||||
danger: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x16D470C, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x16D4715, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
},
|
||||
]),
|
||||
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,55 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM PARADISE LOST (USA) Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chuniApp.exe", "1.51.00", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xC816BA, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xC81791, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x782C22, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x62BF30, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Free Play",
|
||||
tooltip: "Endless credits",
|
||||
patches: [
|
||||
{offset: 0xC456C5, off: [0x28], on: [0x08]},
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM PARADISE LOST (USA) Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM AIR Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
|
||||
//AIR
|
||||
new Patcher("chuniApp.exe", "1.10.00", [
|
||||
{
|
||||
// mon AIR
|
||||
name: "Allow 127.0.0.1 as the network server",
|
||||
patches: [
|
||||
{offset: 0x7EBFA0, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x14C1C5C, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// mon AIR
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x813BB3, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker AIR
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xC02FFA, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker AIR
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xC030D1, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lybxlpsv AIR
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x639AF2, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion AIR
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x531130, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lin714093880 & esterTion AIR
|
||||
name: "Better patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x410293, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for Windows 7",
|
||||
danger: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x17fd7c4, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x17fd7cd, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
}
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
|
||||
//AIR&AIRPLUS
|
||||
new Patcher("aimeReaderHost.exe", "1.10.00", [
|
||||
{
|
||||
name: "Change domain obfuscation to be compatible with segatools",
|
||||
tooltip: "(Scene Release Only) Patches 'aime.anbzvarg.wc' to 'nvzr.anbzvarg.wc' for Aime server check to work correctly.",
|
||||
patches: [
|
||||
{offset: 0xA83C4, off: [0x61, 0x69, 0x6D, 0x65, 0x2E, 0x61, 0x6E, 0x62, 0x7A, 0x76, 0x61, 0x72, 0x67, 0x2E, 0x77, 0x63], on: [0x6E, 0x76, 0x7A, 0x72, 0x2E, 0x61, 0x6E, 0x62, 0x7A, 0x76, 0x61, 0x72, 0x67, 0x2E, 0x77, 0x63]},
|
||||
]
|
||||
}
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM AIR Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,102 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM AIR PLUS Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
|
||||
//AIR PLUS
|
||||
new Patcher("chuniApp.exe", "1.15.00", [
|
||||
{
|
||||
// mon AIRPLUS
|
||||
name: "Allow 127.0.0.1 as the network server",
|
||||
patches: [
|
||||
{offset: 0x81BFD0, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x1546034, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// mon AIRPLUS
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x843C03, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker AIRPLUS
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xC5FC7A, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker AIRPLUS
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xC5FD51, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lybxlpsv AIRPLUS
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x664602, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion AIRPLUS
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x548960, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lin714093880 & esterTion AIRPLUS
|
||||
name: "Better patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x41F843, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for Windows 7",
|
||||
danger: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x1892050, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x1892059, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
}
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
|
||||
//AIR&AIRPLUS
|
||||
new Patcher("aimeReaderHost.exe", "1.15.00", [
|
||||
{
|
||||
name: "Change domain obfuscation to be compatible with segatools",
|
||||
tooltip: "(Scene Release Only) Patches 'aime.anbzvarg.wc' to 'nvzr.anbzvarg.wc' for Aime server check to work correctly.",
|
||||
patches: [
|
||||
{offset: 0xA83C4, off: [0x61, 0x69, 0x6D, 0x65, 0x2E, 0x61, 0x6E, 0x62, 0x7A, 0x76, 0x61, 0x72, 0x67, 0x2E, 0x77, 0x63], on: [0x6E, 0x76, 0x7A, 0x72, 0x2E, 0x61, 0x6E, 0x62, 0x7A, 0x76, 0x61, 0x72, 0x67, 0x2E, 0x77, 0x63]},
|
||||
]
|
||||
}
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM AIR PLUS Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,113 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM AMAZON Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chuniApp.exe", "1.30.00", [
|
||||
{
|
||||
// mon
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{offset: 0x8BC180, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x164D0E0, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// mon
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x8E3DD3, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// mon
|
||||
name: "Disable update check (faster boot)",
|
||||
patches: [
|
||||
{offset: 0x8AE690, off: [0xA1, 0x54, 0x88], on: [0x31, 0xC0, 0xC3]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xC77D1A, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xC77DF1, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lybxlpsv
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x6FFC62, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x5C30E0, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lin714093880 & esterTion
|
||||
name: "Better patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x440CD3, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Increase max credits to 254",
|
||||
patches: [
|
||||
{offset: 0xBC4B37, off: [0x8A, 0x5D, 0x14], on: [0xB3, 0xFE, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Free Play",
|
||||
tooltip: "Endless credits",
|
||||
patches: [
|
||||
{offset: 0xBC4F55, off: [0x28], on: [0x08]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// maybenotuseful
|
||||
name: "Patch for Windows 7",
|
||||
danger: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x19B0AAE, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x19B0AB7, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Dummy LED",
|
||||
danger: "[DEPRECATED] Skip LED board check",
|
||||
patches: [
|
||||
{offset: 0x244AE7, off: [0x00], on: [0x01]},
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM AMAZON Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,113 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM AMAZON PLUS Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chuniApp.exe", "1.35.00", [
|
||||
{
|
||||
// mon
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{offset: 0x8DF380, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x1693DA8, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// mon
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x906FD3, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// mon
|
||||
name: "Disable update check (faster boot)",
|
||||
patches: [
|
||||
{offset: 0x8D1890, off: [0xA1, 0x44, 0x6B], on: [0x31, 0xC0, 0xC3]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xCA9E1A, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xCA9EF1, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lybxlpsv
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x722ED2, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x5DF750, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lin714093880 & esterTion
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x44CBA3, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Increase max credits to 254",
|
||||
patches: [
|
||||
{offset: 0xBF6177, off: [0x8A, 0x5D, 0x14], on: [0xB3, 0xFE, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Free Play",
|
||||
tooltip: "Endless credits",
|
||||
patches: [
|
||||
{offset: 0xBF6595, off: [0x28], on: [0x08]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// maybenotuseful
|
||||
name: "Patch for Windows 7",
|
||||
danger: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x19ff4e8, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x19ff4f1, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Dummy LED",
|
||||
danger: "[DEPRECATED] Skip LED board check",
|
||||
patches: [
|
||||
{offset: 0x2499C7, off: [0x00], on: [0x01]},
|
||||
],
|
||||
},
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM AMAZON PLUS Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,98 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM CRYSTAL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chuniApp.exe", "1.40.00", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{offset: 0x905500, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x16CE988, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x92D153, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xCD470A, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xCD47E1, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x748FE2, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x5FC300, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Better patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x464DB3, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
// ikaros14
|
||||
name: "Increase max credits to 254",
|
||||
patches: [
|
||||
{offset: 0xC204B7, off: [0x8A, 0x5D, 0x14], on: [0xB3, 0xFE, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// ikaros14
|
||||
name: "Free Play",
|
||||
tooltip: "Endless credits",
|
||||
patches: [
|
||||
{offset: 0xC208D5, off: [0x28], on: [0x08]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Patch for Windows 7",
|
||||
danger: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x1A404E8, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x1A404F1, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// ikaros14
|
||||
name: "Dummy LED",
|
||||
danger: "[DEPRECATED] Skip LED board check",
|
||||
patches: [
|
||||
{offset: 0x2499D7, off: [0x00], on: [0x01]},
|
||||
],
|
||||
}
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM CRYSTAL Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,103 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM CRYSTAL PLUS Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chuniApp.exe", "1.45.00", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{offset: 0x997380, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x1717080, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x9BEAD3, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xCF1ABA, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xCF1B91, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x765DC2, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x613C70, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Better patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x478E03, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
// ikaros14
|
||||
name: "Increase max credits to 254",
|
||||
patches: [
|
||||
{offset: 0xC93B67, off: [0x8A, 0x5D, 0x14], on: [0xB3, 0xFE, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// ikaros14
|
||||
name: "Free Play",
|
||||
tooltip: "Endless credits",
|
||||
patches: [
|
||||
{offset: 0xC93F85, off: [0x28], on: [0x08]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "No Title Server Encryption",
|
||||
patches: [
|
||||
{offset: 0x3D4372, off: [0x39], on: [0xC3]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "No Title Server TLS",
|
||||
tooltip: "Title Server Workaround: Disables HTTPS",
|
||||
patches: [
|
||||
{offset: 0xCE5479, off: [0x81, 0xE3, 0x00, 0x00, 0x80, 0x00], on: [0x31, 0xDB, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// ikaros14
|
||||
name: "Dummy LED",
|
||||
danger: "[DEPRECATED] Skip LED board check",
|
||||
patches: [
|
||||
{offset: 0x2499D7, off: [0x00], on: [0x01]},
|
||||
],
|
||||
}
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM CRYSTAL PLUS Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,115 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM PARADISE (LOST) Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chuniApp.exe", "1.50.00", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{offset: 0x9B5BF0, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x1743510, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x9DD843, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xD1134A, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xD11421, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x784A42, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x62D790, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lin714093880 & esterTion
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x48C9B3, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
// ikaros14
|
||||
name: "Increase max credits to 254",
|
||||
patches: [
|
||||
{offset: 0xCB28D7, off: [0x8A, 0x5D, 0x14], on: [0xB3, 0xFE, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Free Play",
|
||||
tooltip: "Endless credits",
|
||||
patches: [
|
||||
{offset: 0xCB2CF5, off: [0x28], on: [0x08]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "No Encryption",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0x3E2832, off: [0x39], on: [0xC3]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround: Disables HTTPS",
|
||||
patches: [
|
||||
{offset: 0xD04D09, off: [0x81, 0xE3, 0x00, 0x00, 0x80, 0x00], on: [0x31, 0xDB, 0x90, 0x90, 0x90, 0x90]},
|
||||
]
|
||||
},
|
||||
{
|
||||
// maybenotuseful
|
||||
name: "Patch for Windows 7",
|
||||
danger: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x1bdd428, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x1bdd430, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Dummy LED",
|
||||
danger: "[DEPRECATED] Skip LED board check",
|
||||
patches: [
|
||||
{offset: 0x24A5E7, off: [0x00], on: [0x01]},
|
||||
],
|
||||
}
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM PARADISE (LOST) Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM PLUS Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chuniApp.exe", "1.06.00", [
|
||||
{
|
||||
// mon PLUS
|
||||
name: "Allow 127.0.0.1 as the network server",
|
||||
patches: [
|
||||
{offset: 0x798720, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x141EF58, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// mon PLUS
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x7C02C3, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker PLUS
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xB928FA, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker PLUS
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xB929D1, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lybxlpsv PLUS
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x5E1172, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion PLUS
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x505510, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lin714093880 & esterTion PLUS
|
||||
name: "Better patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x3F9A83, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for Windows 7",
|
||||
danger: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x1746104, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x174610d, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
}
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("aimeReaderHost.exe", "1.05.00", [
|
||||
{
|
||||
name: "Change obfuscation to be compatible with segatools",
|
||||
tooltip: "(Scene Release Only) Patches 'aime.anbzvarg.wc' to 'nvzr.anbzvarg.wc' for Aime server check to work correctly.",
|
||||
patches: [
|
||||
{offset: 0xA36A8, off: [0x61, 0x69, 0x6D, 0x65, 0x2E, 0x61, 0x6E, 0x62, 0x7A, 0x76, 0x61, 0x72, 0x67, 0x2E, 0x77, 0x63], on: [0x6E, 0x76, 0x7A, 0x72, 0x2E, 0x61, 0x6E, 0x62, 0x7A, 0x76, 0x61, 0x72, 0x67, 0x2E, 0x77, 0x63]},
|
||||
]
|
||||
}
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM PLUS Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,103 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM STAR Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
|
||||
//STAR
|
||||
new Patcher("chuniApp.exe", "1.20.00", [
|
||||
{
|
||||
// mon STAR
|
||||
name: "Allow 127.0.0.1 as the network server",
|
||||
patches: [
|
||||
{offset: 0x834630, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x1577C84, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// mon STAR
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x85C263, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker STAR
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xBDFA2A, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker STAR
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xBDFB01, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lybxlpsv STAR
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x67CA22, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion STAR
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x555FF0, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lin714093880 & esterTion STAR
|
||||
name: "Better patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x3D9D33, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for Windows 7",
|
||||
danger: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x18c9250, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x18c9259, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
}
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
|
||||
//STAR
|
||||
new Patcher("aimeReaderHost.exe", "1.20.00", [
|
||||
{
|
||||
name: "Change obfuscation to be compatible with segatools",
|
||||
tooltip: "(Scene Release Only) Patches 'aime.anbzvarg.wc' to 'nvzr.anbzvarg.wc' for Aime server check to work correctly.",
|
||||
patches: [
|
||||
{offset: 0xA83C4, off: [0x61, 0x69, 0x6D, 0x65, 0x2E, 0x61, 0x6E, 0x62, 0x7A, 0x76, 0x61, 0x72, 0x67, 0x2E, 0x77, 0x63], on: [0x6E, 0x76, 0x7A, 0x72, 0x2E, 0x61, 0x6E, 0x62, 0x7A, 0x76, 0x61, 0x72, 0x67, 0x2E, 0x77, 0x63]},
|
||||
]
|
||||
}
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM STAR Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,104 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM STAR PLUS Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
|
||||
//STAR PLUS
|
||||
new Patcher("chuniApp.exe", "1.25.00", [
|
||||
{
|
||||
// mon STARPLUS
|
||||
name: "Allow 127.0.0.1 as the network server",
|
||||
patches: [
|
||||
{offset: 0x83C8A0, off: [0x55, 0x8B, 0xEC], on: [0x31, 0xC0, 0xC3]},
|
||||
{offset: 0x1595478, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
// mon STARPLUS
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0x8644F3, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker STARPLUS
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xBF4BFA, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// somewhatlurker STARPLUS
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xBF4CD1, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lybxlpsv STARPLUS
|
||||
name: "Disable Song Select Timer",
|
||||
tooltip: "May only work when playing with card.",
|
||||
patches: [
|
||||
{offset: 0x680652, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion STARPLUS
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x5567E0, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// lin714093880 & esterTion STARPLUS
|
||||
name: "Better patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x3D8C43, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for Windows 7",
|
||||
danger: "May not be able to connect to the server",
|
||||
patches: [
|
||||
{offset: 0x18ec270, off: [0x45, 0x78], on: [0x5F, 0x41]},
|
||||
{offset: 0x18ec279, off: [0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x51, 0x75, 0x65, 0x72, 0x79], on: [0x51, 0x75, 0x65, 0x72, 0x79, 0x5F, 0x41, 0x00, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
},
|
||||
]),
|
||||
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
|
||||
//STAR PLUS
|
||||
new Patcher("aimeReaderHost.exe", "1.25.00", [
|
||||
{
|
||||
name: "Change obfuscation to be compatible with segatools",
|
||||
tooltip: "(Scene Release Only) Patches 'aime.anbzvarg.wc' to 'nvzr.anbzvarg.wc' for Aime server check to work correctly.",
|
||||
patches: [
|
||||
{offset: 0xAF43C, off: [0x61, 0x69, 0x6D, 0x65, 0x2E, 0x61, 0x6E, 0x62, 0x7A, 0x76, 0x61, 0x72, 0x67, 0x2E, 0x77, 0x63], on: [0x6E, 0x76, 0x7A, 0x72, 0x2E, 0x61, 0x6E, 0x62, 0x7A, 0x76, 0x61, 0x72, 0x67, 0x2E, 0x77, 0x63]},
|
||||
]
|
||||
}
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM STAR PLUS Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,88 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM NEW!! Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "2.00.01", [
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{offset: 0xB6B4F3, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xE78E3A, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{offset: 0xE78F11, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Song Select Timer",
|
||||
patches: [
|
||||
{offset: 0x96D4AB, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Set All Timers to 999",
|
||||
patches: [
|
||||
{offset: 0x804C60, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{offset: 0x5F9093, off: [0x01], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No Encryption",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0x1CDE628, off: [0xC8], on: [0x00]},
|
||||
{offset: 0x1CDE62C, off: [0xC8], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Unlimit Max Tracks",
|
||||
tooltip: "Play up to 7 tracks",
|
||||
type: "number",
|
||||
name: "Max Tracks",
|
||||
offset: 0x3985B1,
|
||||
size: 4,
|
||||
min: 1,
|
||||
max: 7,
|
||||
},
|
||||
{
|
||||
name: "CVT Mode",
|
||||
danger: "[DEPRECATED] Check to use 60Hz",
|
||||
patches: [
|
||||
{offset: 0x1D864, off: [0x01], on: [0x00]},
|
||||
{offset: 0x1D89B, off: [0x01], on: [0x00]},
|
||||
{offset: 0x37BE4B, off: [0x75], on: [0xEB]},
|
||||
{offset: 0x37D95E, off: [0x84, 0xC0, 0x0F, 0x94, 0xC1], on: [0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
{offset: 0xE5C217, off: [0x80], on: [0x00]},
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM NEW!! Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,62 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>中二节奏 NEW!! Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "1.00.00", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xE69B9A, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xE69C71, off: [0x75, 0x3F], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Song Select Timer",
|
||||
patches: [
|
||||
{offset: 0x96902B, off: [0x74], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Set All Timers to 999",
|
||||
danger: "May breaks some functionality",
|
||||
patches: [
|
||||
{offset: 0x800510, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "No Encryption",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0x1CC83D8, off: [0x64], on: [0x00]},
|
||||
{offset: 0x1CC83DC, off: [0x64], on: [0x00]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 120 fps",
|
||||
tooltip: "Force the game to run in 120 Hz mode.",
|
||||
patches: [
|
||||
{offset: 0x1D7E9, off: [0x00], on: [0x01]}
|
||||
]
|
||||
}
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>中二节奏 NEW!! Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,381 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM LUMINOUS Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "2.20.00", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio sample rate must be 48000Hz",
|
||||
tooltip: "Improves compatibility, but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xf0e9ca, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xf0eaa1, off: [0x75, 0x3f], on: [0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable song select timer",
|
||||
patches: [
|
||||
{offset: 0x9ef49b, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x955EB7,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x949652,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9FA65B,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Unlimited maximum tracks",
|
||||
tooltip: "Must check to play more than 7 tracks per credit",
|
||||
patches: [
|
||||
{offset: 0x7166d7, off: [0xf0], on: [0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Maximum tracks",
|
||||
offset: 0x397eb1,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12
|
||||
},
|
||||
{
|
||||
name: "No encryption",
|
||||
tooltip: "Will also disable TLS",
|
||||
patches: [
|
||||
{offset: 0x1dc27e0, off: [0xdc], on: [0x00]},
|
||||
{offset: 0x1dc27e4, off: [0xdc], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0xef1a37, off: [0x80], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play",
|
||||
patches: [
|
||||
{offset: 0x64bd33, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 1080p monitor check",
|
||||
patches: [
|
||||
{offset: 0x1ccbf, off: [0x81, 0xbc, 0x24, 0xb8, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1f, 0x81, 0xbc, 0x24, 0xbc, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 120Hz monitor check",
|
||||
patches: [
|
||||
{offset: 0x1ccb1, off: [0x85, 0xc0], on: [0xeb, 0x30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force FREE PLAY credit text",
|
||||
tooltip: "Replaces the credit count with FREE PLAY",
|
||||
patches: [
|
||||
{ offset: 0x387394, off: [0x3c, 0x01], on: [0x38, 0xc0] },
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Custom FREE PLAY text length",
|
||||
tooltip: "Changes the length of the text displayed when enabling \"Force FREE PLAY credit text\"",
|
||||
danger: "If this is longer than 11 characters, \"Force FREE PLAY credit text\" MUST be enabled.",
|
||||
offset: 0x387399,
|
||||
size: 1,
|
||||
min: 0,
|
||||
max: 27,
|
||||
},
|
||||
{
|
||||
type: "hex",
|
||||
name: "Custom FREE PLAY text",
|
||||
danger: "The text must be hex-encoded ASCII bytes and must be the same length as the \"Custom FREE PLAY text length\" configured above. If the text is shorter than 27 characters, pad the rest with null (00) bytes.",
|
||||
offset: 0x19d88c4,
|
||||
off: [
|
||||
0x46, 0x52, 0x45, 0x45, 0x20, 0x50, 0x4c, 0x41,
|
||||
0x59, 0x00, 0x00, 0x00, 0x43, 0x52, 0x45, 0x44,
|
||||
0x49, 0x54, 0x28, 0x53, 0x29, 0x20, 0x3A, 0x20,
|
||||
0x00, 0x00, 0x00,
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
danger: "[DEPRECATED] Just disable it in the test menu",
|
||||
patches: [
|
||||
{offset: 0xbed463, off: [0x74], on: [0xeb] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Bypass LED board check",
|
||||
danger: "[DEPRECATED] Forces LED board check to good and auto continues",
|
||||
patches: [
|
||||
{offset: 0x9c043a, off: [0x01], on: [0x00]},
|
||||
{offset: 0x9c043f, off: [0x00], on: [0x01]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Ignore some errors from amdaemon",
|
||||
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere.",
|
||||
patches: [
|
||||
{offset: 0x37daeb, off: [0x75], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Set all timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{offset: 0x870320, off: [0x8b, 0x44, 0x24, 0x04, 0x69, 0xc0, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
]),
|
||||
new Patcher("chusanApp.exe", "2.22.00", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio sample rate must be 48000Hz",
|
||||
tooltip: "Improves compatibility, but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xf0ed1a, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xf0edf1, off: [0x75, 0x3f], on: [0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable song select timer",
|
||||
patches: [
|
||||
{offset: 0x9ef7db, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x956167,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9498F2,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9FA9AB,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Unlimited maximum tracks",
|
||||
tooltip: "Must check to play more than 7 tracks per credit",
|
||||
patches: [
|
||||
{offset: 0x716707, off: [0xf0], on: [0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Maximum tracks",
|
||||
offset: 0x397eb1,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12
|
||||
},
|
||||
{
|
||||
name: "No encryption",
|
||||
tooltip: "Will also disable TLS",
|
||||
patches: [
|
||||
{offset: 0x1dc3de0, off: [0xdc], on: [0x00]},
|
||||
{offset: 0x1dc3de4, off: [0xdc], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0xef1d87, off: [0x80], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play",
|
||||
patches: [
|
||||
{offset: 0x64bd33, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 1080p monitor check",
|
||||
patches: [
|
||||
{offset: 0x1ccbf, off: [0x81, 0xbc, 0x24, 0xb8, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1f, 0x81, 0xbc, 0x24, 0xbc, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 120Hz monitor check",
|
||||
patches: [
|
||||
{offset: 0x1ccb1, off: [0x85, 0xc0], on: [0xeb, 0x30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force FREE PLAY credit text",
|
||||
tooltip: "Replaces the credit count with FREE PLAY",
|
||||
patches: [
|
||||
{ offset: 0x387394, off: [0x3c, 0x01], on: [0x38, 0xc0] },
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Custom FREE PLAY text length",
|
||||
tooltip: "Changes the length of the text displayed when enabling \"Force FREE PLAY credit text\"",
|
||||
danger: "If this is longer than 11 characters, \"Force FREE PLAY credit text\" MUST be enabled.",
|
||||
offset: 0x387399,
|
||||
size: 1,
|
||||
min: 0,
|
||||
max: 27,
|
||||
},
|
||||
{
|
||||
type: "hex",
|
||||
name: "Custom FREE PLAY text",
|
||||
danger: "The text must be hex-encoded ASCII bytes and must be the same length as the \"Custom FREE PLAY text length\" configured above. If the text is shorter than 27 characters, pad the rest with null (00) bytes.",
|
||||
offset: 0x19d9cd4,
|
||||
off: [
|
||||
0x46, 0x52, 0x45, 0x45, 0x20, 0x50, 0x4c, 0x41,
|
||||
0x59, 0x00, 0x00, 0x00, 0x43, 0x52, 0x45, 0x44,
|
||||
0x49, 0x54, 0x28, 0x53, 0x29, 0x20, 0x3A, 0x20,
|
||||
0x00, 0x00, 0x00,
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
danger: "[DEPRECATED] Just disable it in the test menu",
|
||||
patches: [
|
||||
{offset: 0xbed7b3, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass LED board check",
|
||||
danger: "[DEPRECATED] Forces LED board check to good and auto continues",
|
||||
patches: [
|
||||
{offset: 0x9c077a, off: [0x01], on: [0x00]},
|
||||
{offset: 0x9c077f, off: [0x00], on: [0x01]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Ignore some errors from amdaemon",
|
||||
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere.",
|
||||
patches: [
|
||||
{offset: 0x37daeb, off: [0x75], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Set all timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{offset: 0x8705b0, off: [0x8b, 0x44, 0x24, 0x04, 0x69, 0xc0, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
])
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("amdaemon.exe", "2.20.00", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{offset: 0x6e28a4, off: [0x31, 0x32, 0x37, 0x2f], on: [0x30, 0x2f, 0x38, 0x00]},
|
||||
{offset: 0x3c94c4, off: [0xff, 0x15, 0xc6, 0x2f, 0x1b, 0x00, 0x8b], on: [0x33, 0xc0, 0x48, 0x83, 0xc4, 0x28, 0xc3]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Infinite credits",
|
||||
patches: [
|
||||
{offset: 0x2bbbc8, off: [0x28], on: [0x08]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4d5643, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x4d564b, off: [0x48], on: [0x49] }
|
||||
]
|
||||
}
|
||||
]),
|
||||
new Patcher("amdaemon.exe", "2.22.00", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{offset: 0x6e1ca4, off: [0x31, 0x32, 0x37, 0x2f], on: [0x30, 0x2f, 0x38, 0x00]},
|
||||
{offset: 0x3c88c4, off: [0xff, 0x15, 0xc6, 0x2f, 0x1b, 0x00, 0x8b], on: [0x33, 0xc0, 0x48, 0x83, 0xc4, 0x28, 0xc3]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Infinite credits",
|
||||
patches: [
|
||||
{offset: 0x2bafc8, off: [0x28], on: [0x08]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4d4a43, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x4d4a4b, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>CHUNITHM LUMINOUS Modder</h1>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,205 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM LUMINOUS PLUS Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "2.26.00", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio sample rate must be 48000Hz",
|
||||
tooltip: "Improves compatibility, but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xF233DA, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xF234B1, off: [0x75, 0x3f], on: [0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable song select timer",
|
||||
patches: [
|
||||
{offset: 0xA03916, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x965B37,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9592C2,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0xA0EADB,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Unlimited maximum tracks",
|
||||
tooltip: "Must check to play more than 7 tracks per credit",
|
||||
patches: [
|
||||
{offset: 0x71E2E0, off: [0xf0], on: [0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Maximum tracks",
|
||||
offset: 0x3980C1,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12
|
||||
},
|
||||
{
|
||||
name: "No encryption",
|
||||
tooltip: "Will also disable TLS",
|
||||
patches: [
|
||||
{offset: 0x1DE29E8, off: [0xE1], on: [0x00]},
|
||||
{offset: 0x1DE29EC, off: [0xE1], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0xF06447, off: [0x80], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play",
|
||||
patches: [
|
||||
{offset: 0x6533A3, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 1080p monitor check",
|
||||
patches: [
|
||||
{offset: 0x1CCBF, off: [0x81, 0xbc, 0x24, 0xb8, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1f, 0x81, 0xbc, 0x24, 0xbc, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 120Hz monitor check",
|
||||
patches: [
|
||||
{offset: 0x1CCB1, off: [0x85, 0xc0], on: [0xeb, 0x30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force FREE PLAY credit text",
|
||||
tooltip: "Replaces the credit count with FREE PLAY",
|
||||
patches: [
|
||||
{offset: 0x3875A4, off: [0x3c, 0x01], on: [0x38, 0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Custom FREE PLAY text length",
|
||||
tooltip: "Changes the length of the text displayed when Force FREE PLAY credit text is enabled",
|
||||
danger: "If this is longer than 11 characters, \"Force FREE PLAY credit text\" MUST be enabled.",
|
||||
offset: 0x3875A9,
|
||||
size: 1,
|
||||
min: 0,
|
||||
max: 27,
|
||||
},
|
||||
{
|
||||
type: "hex",
|
||||
name: "Custom FREE PLAY text",
|
||||
tooltip: "Replace the FREE PLAY text when using Infinite credits",
|
||||
offset: 0x19F5D1C,
|
||||
off: [0x46, 0x52, 0x45, 0x45, 0x20, 0x50, 0x4c, 0x41, 0x59],
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
danger: "[DEPRECATED] Just disable it in the test menu",
|
||||
patches: [
|
||||
{offset: 0xC018E3, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass LED board check",
|
||||
danger: "[DEPRECATED] Forces LED board check to good and auto continues",
|
||||
patches: [
|
||||
{offset: 0x9D47FA, off: [0x01], on: [0x00]},
|
||||
{offset: 0x9D47FF, off: [0x00], on: [0x01]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Ignore some errors from amdaemon",
|
||||
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere.",
|
||||
patches: [
|
||||
{offset: 0x37DCFB, off: [0x75], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Set all timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{offset: 0x8791B0, off: [0x8b, 0x44, 0x24, 0x04, 0x69, 0xc0, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
]),
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("amdaemon.exe", "2.25.00", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{offset: 0x6E28A4, off: [0x31, 0x32, 0x37, 0x2F], on: [0x30, 0x2F, 0x38, 0x00]},
|
||||
{offset: 0x3C94C4, off: [0xFF, 0x15, 0xC6, 0x2F, 0x1B, 0x00, 0x8B], on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Infinite credits",
|
||||
patches: [
|
||||
{offset: 0x2BBBC8, off: [0x28], on: [0x08]}
|
||||
]
|
||||
}
|
||||
])
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("chu.acf", "chu.acf", [
|
||||
{
|
||||
name: "Force audio output as headphone",
|
||||
danger: "You need to use the in-game volume controls on the song screen to adjust the volume; otherwise, it will be very low.",
|
||||
tooltip: "If you can’t hear audio on title screen, it is normal",
|
||||
patches: [
|
||||
{
|
||||
offset: 0xCE8,
|
||||
off: [0x01],
|
||||
on: [0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>CHUNITHM LUMINOUS PLUS Modder</h1>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,187 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM NEW!! Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "2.00.01", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio sample rate must be 48000Hz",
|
||||
tooltip: "Improves compatibility, but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xe78e3a, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xe78f11, off: [0x75, 0x3f], on: [0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable song select timer",
|
||||
patches: [
|
||||
{offset: 0x96d4ab, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x8DF920,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x8D37B2,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x977D5B,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Unlimited maximum tracks",
|
||||
tooltip: "Must check to play more than 7 tracks per credit",
|
||||
patches: [
|
||||
{offset: 0x6b9d09, off: [0xf0], on: [0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Maximum tracks",
|
||||
offset: 0x3985b1,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12
|
||||
},
|
||||
{
|
||||
name: "No encryption",
|
||||
tooltip: "Will also disable TLS",
|
||||
patches: [
|
||||
{offset: 0x1cde628, off: [0xc8], on: [0x00]},
|
||||
{offset: 0x1cde62c, off: [0xc8], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0xe5c217, off: [0x80], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play",
|
||||
patches: [
|
||||
{offset: 0x5f9093, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 1080p monitor check",
|
||||
patches: [
|
||||
{offset: 0x1d81f, off: [0x81, 0xbc, 0x24, 0xb8, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1f, 0x81, 0xbc, 0x24, 0xbc, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 120Hz monitor check",
|
||||
patches: [
|
||||
{offset: 0x1d811, off: [0x85, 0xc0], on: [0xeb, 0x30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force FREE PLAY credit text",
|
||||
tooltip: "Replaces the credit count with FREE PLAY",
|
||||
patches: [
|
||||
{offset: 0x387aa4, off: [0x3c, 0x01], on: [0x38, 0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "hex",
|
||||
name: "Custom FREE PLAY text",
|
||||
tooltip: "Replace the FREE PLAY text when using Infinite credits",
|
||||
offset: 0x19029f4,
|
||||
off: [0x46, 0x52, 0x45, 0x45, 0x20, 0x50, 0x4c, 0x41, 0x59],
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
danger: "[DEPRECATED] Just disable it in the test menu",
|
||||
patches: [
|
||||
{offset: 0xb6b4f3, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass LED board check",
|
||||
danger: "[DEPRECATED] Forces LED board check to good and auto continues",
|
||||
patches: [
|
||||
{offset: 0x940e1a, off: [0x01], on: [0x00]},
|
||||
{offset: 0x940e1f, off: [0x00], on: [0x01]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Ignore some errors from amdaemon",
|
||||
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere.",
|
||||
patches: [
|
||||
{offset: 0x37e24b, off: [0x75], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Set all timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{offset: 0x804c60, off: [0x8b, 0x44, 0x24, 0x04, 0x69, 0xc0, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
])
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("amdaemon.exe", "2.00.01", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{offset: 0x6bc83c, off: [0x31, 0x32, 0x37, 0x2f], on: [0x30, 0x2f, 0x38, 0x00]},
|
||||
{offset: 0x3b6ef4, off: [0xff, 0x15, 0x3e, 0x79, 0x1a, 0x00, 0x8b], on: [0x33, 0xc0, 0x48, 0x83, 0xc4, 0x28, 0xc3]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Infinite credits",
|
||||
patches: [
|
||||
{offset: 0x2bb928, off: [0x28], on: [0x08]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4c3c43, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x4c3c4b, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>CHUNITHM NEW!! Modder</h1>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,202 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM NEW PLUS!! Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "2.05.00", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio sample rate must be 48000Hz",
|
||||
tooltip: "Improves compatibility, but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xe95d2a, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xe95e01, off: [0x75, 0x3f], on: [0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable song select timer",
|
||||
patches: [
|
||||
{offset: 0x98455b, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x8F52E0,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x8E9142,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x98EA0B,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Unlimited maximum tracks",
|
||||
tooltip: "Must check to play more than 7 tracks per credit",
|
||||
patches: [
|
||||
{offset: 0x6cbc89, off: [0xf0], on: [0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Maximum tracks",
|
||||
offset: 0x398381,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12
|
||||
},
|
||||
{
|
||||
name: "No encryption",
|
||||
tooltip: "Will also disable TLS",
|
||||
patches: [
|
||||
{offset: 0x1d10640, off: [0xcd], on: [0x00]},
|
||||
{offset: 0x1d10644, off: [0xcd], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0xe78e37, off: [0x80], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play",
|
||||
patches: [
|
||||
{offset: 0x609fb3, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 1080p monitor check",
|
||||
patches: [
|
||||
{offset: 0x1d81f, off: [0x81, 0xbc, 0x24, 0xb8, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1f, 0x81, 0xbc, 0x24, 0xbc, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 120Hz monitor check",
|
||||
patches: [
|
||||
{offset: 0x1d811, off: [0x85, 0xc0], on: [0xeb, 0x30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force FREE PLAY credit text",
|
||||
tooltip: "Replaces the credit count with FREE PLAY",
|
||||
patches: [
|
||||
{offset: 0x387824, off: [0x3c, 0x01], on: [0x38, 0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "hex",
|
||||
name: "Custom FREE PLAY text",
|
||||
tooltip: "Replace the FREE PLAY text when using Infinite credits",
|
||||
offset: 0x192fc24,
|
||||
off: [0x46, 0x52, 0x45, 0x45, 0x20, 0x50, 0x4c, 0x41, 0x59],
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
danger: "[DEPRECATED] Just disable it in the test menu",
|
||||
patches: [
|
||||
{offset: 0xb81943, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass LED board check",
|
||||
danger: "[DEPRECATED] Forces LED board check to good and auto continues",
|
||||
patches: [
|
||||
{offset: 0x95790a, off: [0x01], on: [0x00]},
|
||||
{offset: 0x95790f, off: [0x00], on: [0x01]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Ignore some errors from amdaemon",
|
||||
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere.",
|
||||
patches: [
|
||||
{offset: 0x37dfcb, off: [0x75], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Set all timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{offset: 0x819940, off: [0x8b, 0x44, 0x24, 0x04, 0x69, 0xc0, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
])
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("amdaemon.exe", "2.05.00", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x3B6EF4,
|
||||
off: [0xFF, 0x15, 0x3E, 0x79, 0x1A, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3],
|
||||
},
|
||||
{
|
||||
offset: 0x6BC83C,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Free Play",
|
||||
tooltip: "Endless credits",
|
||||
patches: [
|
||||
{ offset: 0x2BB928, off: [0x28], on: [0x08] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4c3c43, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x4c3c4b, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Replace error 6401 with no error",
|
||||
danger: "[DEPRECATED] Sets all instances of error 6401 to 0",
|
||||
patches: [
|
||||
{ offset: 0x2220F6, off: [0x01, 0x19], on: [0x00, 0x00] },
|
||||
{ offset: 0x22229E, off: [0x01, 0x19], on: [0x00, 0x00] },
|
||||
{ offset: 0x222C87, off: [0x01, 0x19], on: [0x00, 0x00] },
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM NEW PLUS!! Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,197 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM SUN Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "2.10.00", [
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{ offset: 0xBAB8F3, off: [0x74], on: [0xEB] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{ offset: 0xEC8F7A, off: [0x01], on: [0x00] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{ offset: 0xEC9051, off: [0x75, 0x3F], on: [0x90, 0x90] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Song Select Timer",
|
||||
patches: [
|
||||
{ offset: 0x9ADF1B, off: [0x74], on: [0xEB] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x91C340,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x910062,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9B896B,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{ offset: 0x6218F3, off: [0x01], on: [0x00] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No Encryption",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{ offset: 0x1D55C40, off: [0xD2], on: [0x00] },
|
||||
{ offset: 0x1D55C44, off: [0xD2], on: [0x00] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Unlimit Maximum Tracks",
|
||||
tooltip: "You must check to play more than 7 tracks.",
|
||||
patches: [
|
||||
{ offset: 0x6E84E7, off: [0xF0], on: [0xC0] },
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Max Tracks (Up to 12)",
|
||||
offset: 0x3978C1,
|
||||
size: 4,
|
||||
min: 1,
|
||||
max: 12,
|
||||
},
|
||||
{
|
||||
name: "Ignore some errors from amdaemon",
|
||||
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere.",
|
||||
patches: [
|
||||
{ offset: 0x37D4AB, off: [0x75], on: [0xEB] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "CVT Mode",
|
||||
danger: "[DEPRECATED] Check to use 60Hz",
|
||||
patches: [
|
||||
{ offset: 0x1CD04, off: [0x01], on: [0x00] },
|
||||
{ offset: 0x1CD3B, off: [0x01], on: [0x00] },
|
||||
|
||||
{ offset: 0x37B07B, off: [0x75], on: [0xEB] },
|
||||
{ offset: 0x37CBBE, off: [0x84, 0xC0, 0x0F, 0x94, 0xC1], on: [0x90, 0x90, 0x90, 0x90, 0x90] },
|
||||
{ offset: 0xEAC007, off: [0x80], on: [0x00] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable 1080p check",
|
||||
danger: "[DEPRECATED]",
|
||||
patches: [
|
||||
{ offset: 0x1CCBF, off: [0x81, 0xBC, 0x24, 0xB8, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1F, 0x81, 0xBC, 0x24, 0xBC, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Bypass LED board check",
|
||||
danger: "[DEPRECATED] Forces LED board check to good and auto continues",
|
||||
patches: [
|
||||
{ offset: 0x98004A, off: [0x01], on: [0x00] },
|
||||
{ offset: 0x98004F, off: [0x00], on: [0x01] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 120hz check",
|
||||
danger: "[DEPRECATED] Check to make the 120hz check pass always (don't use this with the CVT Mode patch)",
|
||||
patches: [
|
||||
{ offset: 0x1CCB1, off: [0x85, 0xC0], on: [0xEB, 0x30] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Set All Timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{ offset: 0x8393D0, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90] },
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("amdaemon.exe", "2.10.00", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x3B6EF4,
|
||||
off: [0xFF, 0x15, 0x3E, 0x79, 0x1A, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3],
|
||||
},
|
||||
{
|
||||
offset: 0x6BC83C,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Free Play",
|
||||
tooltip: "Endless credits",
|
||||
patches: [
|
||||
{ offset: 0x2BB928, off: [0x28], on: [0x08] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4c3c43, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x4c3c4b, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Replace error 6401 with no error",
|
||||
danger: "[DEPRECATED] Sets all instances of error 6401 to 0",
|
||||
patches: [
|
||||
{ offset: 0x2220F6, off: [0x01, 0x19], on: [0x00, 0x00] },
|
||||
{ offset: 0x22229E, off: [0x01, 0x19], on: [0x00, 0x00] },
|
||||
{ offset: 0x222C87, off: [0x01, 0x19], on: [0x00, 0x00] },
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>CHUNITHM SUN Modder</h1>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,197 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM SUN PLUS Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "2.16.00", [
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
tooltip: "Disables ~12-8am lockout. Does not disable maint lockout from 6:30-7am JST",
|
||||
patches: [
|
||||
{ offset: 0xBB74F3, off: [0x74], on: [0xEB] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force shared audio mode, system audio samplerate must be 48000",
|
||||
tooltip: "Improves compatibility but may increase latency",
|
||||
patches: [
|
||||
{ offset: 0xED689A, off: [0x01], on: [0x00] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
patches: [
|
||||
{ offset: 0xED6971, off: [0x75, 0x3F], on: [0x90, 0x90] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Song Select Timer",
|
||||
patches: [
|
||||
{ offset: 0x9B9B0B, off: [0x74], on: [0xEB] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x928000,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x91BD12,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9C456B,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play.",
|
||||
patches: [
|
||||
{ offset: 0x629263, off: [0x01], on: [0x00] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No Encryption",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{ offset: 0x1D68450, off: [0xD2], on: [0x00] },
|
||||
{ offset: 0x1D68454, off: [0xD2], on: [0x00] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Unlimit Maximum Tracks",
|
||||
tooltip: "You must check to play more than 7 tracks.",
|
||||
patches: [
|
||||
{ offset: 0x6F1D87, off: [0xF0], on: [0xC0] },
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Max Tracks",
|
||||
offset: 0x397AE1,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12,
|
||||
},
|
||||
{
|
||||
name: "Ignore some errors from amdaemon",
|
||||
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere.",
|
||||
patches: [
|
||||
{ offset: 0x37D6CB, off: [0x75], on: [0xEB] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "CVT Mode",
|
||||
danger: "[DEPRECATED] Check to use 60Hz",
|
||||
patches: [
|
||||
{ offset: 0x1CD04, off: [0x01], on: [0x00] },
|
||||
{ offset: 0x1CD3B, off: [0x01], on: [0x00] },
|
||||
|
||||
{ offset: 0x37B28B, off: [0x75], on: [0xEB] },
|
||||
{ offset: 0x37CBEE, off: [0x84, 0xC0, 0x0F, 0x94, 0xC1], on: [0x90, 0x90, 0x90, 0x90, 0x90] },
|
||||
{ offset: 0xEB9907, off: [0x80], on: [0x00] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable 1080p check",
|
||||
danger: "[DEPRECATED]",
|
||||
patches: [
|
||||
{ offset: 0x1CCBF, off: [0x81, 0xBC, 0x24, 0xB8, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1F, 0x81, 0xBC, 0x24, 0xBC, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Bypass LED board check",
|
||||
danger: "[DEPRECATED] Forces LED board check to good and auto continues",
|
||||
patches: [
|
||||
{ offset: 0x98BBAA, off: [0x01], on: [0x00] },
|
||||
{ offset: 0x98BBAF, off: [0x00], on: [0x01] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 120hz check",
|
||||
danger: "[DEPRECATED] Check to make the 120hz check pass always (don't use this with the CVT Mode patch)",
|
||||
patches: [
|
||||
{ offset: 0x1CCB1, off: [0x85, 0xC0], on: [0xEB, 0x30] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Set All Timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{ offset: 0x843800, off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00], on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90] },
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("amdaemon.exe", "2.16.00", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x3B6EF4,
|
||||
off: [0xFF, 0x15, 0x3E, 0x79, 0x1A, 0x00, 0x8B],
|
||||
on: [0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3],
|
||||
},
|
||||
{
|
||||
offset: 0x6BC83C,
|
||||
off: [0x31, 0x32, 0x37, 0x2F],
|
||||
on: [0x30, 0x2F, 0x38, 0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Free Play",
|
||||
tooltip: "Endless credits",
|
||||
patches: [
|
||||
{ offset: 0x2BB928, off: [0x28], on: [0x08] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4c3c43, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x4c3c4b, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Replace error 6401 with no error",
|
||||
danger: "[DEPRECATED] Sets all instances of error 6401 to 0",
|
||||
patches: [
|
||||
{ offset: 0x2220F6, off: [0x01, 0x19], on: [0x00, 0x00] },
|
||||
{ offset: 0x22229E, off: [0x01, 0x19], on: [0x00, 0x00] },
|
||||
{ offset: 0x222C87, off: [0x01, 0x19], on: [0x00, 0x00] },
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>CHUNITHM SUN PLUS Modder</h1>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,366 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM VERSE Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "2.30.00", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio sample rate must be 48000Hz",
|
||||
tooltip: "Improves compatibility, but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xF6E88A, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xF6E961, off: [0x75, 0x3f], on: [0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable song select timer",
|
||||
patches: [
|
||||
{offset: 0xA4495A, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9A4A97,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x998222,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0xA4FB9B,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Unlimited maximum tracks",
|
||||
tooltip: "Must check to play more than 7 tracks per credit",
|
||||
patches: [
|
||||
{offset: 0x748180, off: [0xf0], on: [0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Maximum tracks",
|
||||
offset: 0x3980C1,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12
|
||||
},
|
||||
{
|
||||
name: "No encryption",
|
||||
tooltip: "Will also disable TLS",
|
||||
patches: [
|
||||
{offset: 0x1E56BE8, off: [0xE6], on: [0x00]},
|
||||
{offset: 0x1E56BEC, off: [0xE6], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0xF518D7, off: [0x80], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play",
|
||||
patches: [
|
||||
{offset: 0x67AF83, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 1080p monitor check",
|
||||
patches: [
|
||||
{offset: 0x1CCBF, off: [0x81, 0xbc, 0x24, 0xb8, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1f, 0x81, 0xbc, 0x24, 0xbc, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 120Hz monitor check",
|
||||
patches: [
|
||||
{offset: 0x1CCB1, off: [0x85, 0xC0, 0x74, 0x3F], on: [0xEB, 0x30, 0xEB, 0x2E]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force FREE PLAY credit text",
|
||||
tooltip: "Replaces the credit count with FREE PLAY",
|
||||
patches: [
|
||||
{offset: 0x3875A4, off: [0x3c, 0x01], on: [0x38, 0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Custom FREE PLAY text length",
|
||||
tooltip: "Changes the length of the text displayed when Force FREE PLAY credit text is enabled",
|
||||
danger: "If this is longer than 11 characters, \"Force FREE PLAY credit text\" MUST be enabled.",
|
||||
offset: 0x3875A9,
|
||||
size: 1,
|
||||
min: 0,
|
||||
max: 27,
|
||||
},
|
||||
{
|
||||
type: "hex",
|
||||
name: "Custom FREE PLAY text",
|
||||
tooltip: "Replace the FREE PLAY text when using Infinite credits",
|
||||
offset: 0x1A5DFB4,
|
||||
off: [0x46, 0x52, 0x45, 0x45, 0x20, 0x50, 0x4c, 0x41, 0x59],
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
danger: "[DEPRECATED] Just disable it in the test menu",
|
||||
patches: [
|
||||
{offset: 0xC429C3, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass LED board check",
|
||||
danger: "[DEPRECATED] Forces LED board check to good and auto continues",
|
||||
patches: [
|
||||
{offset: 0xA156CA, off: [0x01], on: [0x00]},
|
||||
{offset: 0xA156CF, off: [0x00], on: [0x01]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Ignore some errors from amdaemon",
|
||||
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere.",
|
||||
patches: [
|
||||
{offset: 0x37DCFB, off: [0x75], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Set all timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{offset: 0x8B0110, off: [0x8b, 0x44, 0x24, 0x04, 0x69, 0xc0, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
]),
|
||||
// Thanks Dniel97 for the patcher and saving me the effort.
|
||||
new Patcher("chusanApp.exe", "2.31.00", [
|
||||
{
|
||||
name: "Force shared audio mode, system audio sample rate must be 48000Hz",
|
||||
tooltip: "Improves compatibility, but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xF6E7EA, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xF6E8C1, off: [0x75, 0x3f], on: [0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable song select timer",
|
||||
patches: [
|
||||
{offset: 0xA448BA, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9A49A7,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x998132,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0xA4FAFB,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Unlimited maximum tracks",
|
||||
tooltip: "Must check to play more than 7 tracks per credit",
|
||||
patches: [
|
||||
{offset: 0x748180, off: [0xf0], on: [0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Maximum tracks",
|
||||
offset: 0x3980C1,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12
|
||||
},
|
||||
{
|
||||
name: "No encryption",
|
||||
tooltip: "Will also disable TLS",
|
||||
patches: [
|
||||
{offset: 0x1E579E8, off: [0xE6], on: [0x00]},
|
||||
{offset: 0x1E579EC, off: [0xE6], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0xF51837, off: [0x80], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play",
|
||||
patches: [
|
||||
{offset: 0x67AF83, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 1080p monitor check",
|
||||
patches: [
|
||||
{offset: 0x1CCBF, off: [0x81, 0xbc, 0x24, 0xb8, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1f, 0x81, 0xbc, 0x24, 0xbc, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 120Hz monitor check",
|
||||
patches: [
|
||||
{offset: 0x1CCB1, off: [0x85, 0xc0], on: [0xeb, 0x30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force FREE PLAY credit text",
|
||||
tooltip: "Replaces the credit count with FREE PLAY",
|
||||
patches: [
|
||||
{offset: 0x3875A4, off: [0x3c, 0x01], on: [0x38, 0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Custom FREE PLAY text length",
|
||||
tooltip: "Changes the length of the text displayed when Force FREE PLAY credit text is enabled",
|
||||
danger: "If this is longer than 11 characters, \"Force FREE PLAY credit text\" MUST be enabled.",
|
||||
offset: 0x3875A9,
|
||||
size: 1,
|
||||
min: 0,
|
||||
max: 27,
|
||||
},
|
||||
{
|
||||
type: "hex",
|
||||
name: "Custom FREE PLAY text",
|
||||
tooltip: "Replace the FREE PLAY text when using Infinite credits",
|
||||
offset: 0x1A5EDB4,
|
||||
off: [0x46, 0x52, 0x45, 0x45, 0x20, 0x50, 0x4c, 0x41, 0x59],
|
||||
},
|
||||
{
|
||||
name: "Disable shop close lockout",
|
||||
danger: "[DEPRECATED] Just disable it in the test menu",
|
||||
patches: [
|
||||
{offset: 0xC42923, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass LED board check",
|
||||
danger: "[DEPRECATED] Forces LED board check to good and auto continues",
|
||||
patches: [
|
||||
{offset: 0xA155FA, off: [0x01], on: [0x00]},
|
||||
{offset: 0xA155FF, off: [0x00], on: [0x01]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Ignore some errors from amdaemon",
|
||||
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere.",
|
||||
patches: [
|
||||
{offset: 0x37DCFB, off: [0x75], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Set all timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{offset: 0x8B00F0, off: [0x8b, 0x44, 0x24, 0x04, 0x69, 0xc0, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
]),
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("amdaemon.exe", "2.30/2.31", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{ offset: 0x6e1ca4, off: [0x31, 0x32, 0x37, 0x2f], on: [0x30, 0x2f, 0x38, 0x00] },
|
||||
{ offset: 0x3c88c4, off: [0xff, 0x15, 0xc6, 0x2f, 0x1b, 0x00, 0x8b], on: [0x33, 0xc0, 0x48, 0x83, 0xc4, 0x28, 0xc3] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x2bafc8, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "OpenSSL SHA crash bug fix",
|
||||
tooltip: "Fix crashes on 10th generation and newer Intel CPUs",
|
||||
patches: [
|
||||
{ offset: 0x4d4a43, off: [0x48], on: [0x4c] },
|
||||
{ offset: 0x4d4a4b, off: [0x48], on: [0x49] },
|
||||
]
|
||||
},
|
||||
]),
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("chu.acf", "chu.acf", [
|
||||
{
|
||||
name: "Force audio output as headphone",
|
||||
danger: "You need to use the in-game volume controls on the song screen to adjust the volume; otherwise, it will be very low.",
|
||||
tooltip: "If you can’t hear audio on title screen, it is normal",
|
||||
patches: [
|
||||
{
|
||||
offset: 0xCE8,
|
||||
off: [0x01],
|
||||
on: [0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>CHUNITHM VERSE Modder</h1>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,184 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM XVERSE Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("chusanApp.exe", "2.40", [
|
||||
{
|
||||
name: "Force shared audio mode",
|
||||
tooltip: "Improves compatibility, but may increase latency",
|
||||
patches: [
|
||||
{offset: 0xE06E73, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force 2 channel audio output",
|
||||
tooltip: "May cause bass overload",
|
||||
patches: [
|
||||
{offset: 0xE06F2B, off: [0x75, 0x3f], on: [0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Disable song select timer",
|
||||
patches: [
|
||||
{offset: 0x9BE10D, off: [0x74], on: [0xeb]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Map selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9274B7,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Ticket selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x91C61A,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Course selection timer",
|
||||
tooltip: "If set to negative, the timer becomes 968 + value (e.g. 968 + -1 = 967)",
|
||||
type: "number",
|
||||
offset: 0x9C7A41,
|
||||
size: 1,
|
||||
min: -128,
|
||||
max: 127,
|
||||
},
|
||||
{
|
||||
name: "Unlimited maximum tracks",
|
||||
tooltip: "Must check to play more than 7 tracks per credit",
|
||||
patches: [
|
||||
{offset: 0x6EEE21, off: [0xf0], on: [0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Maximum tracks",
|
||||
offset: 0x3E4BA1,
|
||||
size: 4,
|
||||
min: 3,
|
||||
max: 12
|
||||
},
|
||||
{
|
||||
name: "No encryption",
|
||||
tooltip: "Will also disable TLS",
|
||||
patches: [
|
||||
{offset: 0x17A9804, off: [0xF0], on: [0x00]},
|
||||
{offset: 0x17A9808, off: [0xF0], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Patch for head-to-head play",
|
||||
tooltip: "Fix infinite sync while trying to connect to head to head play",
|
||||
patches: [
|
||||
{offset: 0x655CF2, off: [0x01], on: [0x00]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 1080p monitor check",
|
||||
patches: [
|
||||
{offset: 0x14E97C, off: [0x81, 0xBC, 0x24, 0x34, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1F, 0x81, 0xBC, 0x24, 0x38, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Bypass 120Hz monitor check",
|
||||
patches: [
|
||||
{offset: 0x14E96E, off: [0x85, 0xC0, 0x74, 0x3F], on: [0xEB, 0x30, 0xEB, 0x2E]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Force FREE PLAY credit text",
|
||||
tooltip: "Replaces the credit count with FREE PLAY",
|
||||
patches: [
|
||||
{offset: 0x3D5D54, off: [0x3c, 0x01], on: [0x38, 0xc0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
name: "Custom FREE PLAY text length",
|
||||
tooltip: "Changes the length of the text displayed when Force FREE PLAY credit text is enabled",
|
||||
danger: "If this is longer than 11 characters, \"Force FREE PLAY credit text\" MUST be enabled.",
|
||||
offset: 0x3D5D59,
|
||||
size: 1,
|
||||
min: 0,
|
||||
max: 27,
|
||||
},
|
||||
{
|
||||
type: "hex",
|
||||
name: "Custom FREE PLAY text",
|
||||
tooltip: "Replace the FREE PLAY text when using Infinite credits",
|
||||
offset: 0x14878E4,
|
||||
off: [0x46, 0x52, 0x45, 0x45, 0x20, 0x50, 0x4c, 0x41, 0x59],
|
||||
},
|
||||
{
|
||||
name: "Bypass map animation",
|
||||
tooltip: "Skip the map move forward animation after playing the song",
|
||||
patches: [
|
||||
{ offset: 0x8BA24D, off: [0x01], on: [0x00] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Set all timers to 999",
|
||||
danger: "[DEPRECATED] Breaks online matching functionality",
|
||||
patches: [
|
||||
{offset: 0x8462B0, off: [0x69, 0x44, 0x24, 0x04, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
]),
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("amdaemon.exe", "91f83d14", [
|
||||
{
|
||||
name: "Allow 127.0.0.1/localhost as the network server",
|
||||
patches: [
|
||||
{ offset: 0x732714, off: [0x31, 0x32, 0x37, 0x2f], on: [0x30, 0x2f, 0x38, 0x00] },
|
||||
{ offset: 0x3F6124, off: [0xff, 0x15, 0xfe, 0xb7, 0x1b, 0x00, 0x8b], on: [0x33, 0xc0, 0x48, 0x83, 0xc4, 0x28, 0xc3] }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Credit freeze",
|
||||
tooltip: "Prevents credits from being used. At least one credit must be available to start the game or purchase premium tickets.",
|
||||
patches: [
|
||||
{ offset: 0x2DD8F8, off: [0x28], on: [0x08] }
|
||||
]
|
||||
},
|
||||
]),
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("chu.acf", "chu.acf", [
|
||||
{
|
||||
name: "Force audio output as headphone",
|
||||
danger: "You need to use the in-game volume controls on the song screen to adjust the volume; otherwise, it will be very low.",
|
||||
tooltip: "If you can’t hear audio on title screen, it is normal",
|
||||
patches: [
|
||||
{
|
||||
offset: 0xCE8,
|
||||
off: [0x01],
|
||||
on: [0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>CHUNITHM XVERSE Modder</h1>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Generated by IcoMoon</metadata>
|
||||
<defs>
|
||||
<font id="icomoon" horiz-adv-x="1024">
|
||||
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
||||
<missing-glyph horiz-adv-x="1024" />
|
||||
<glyph unicode=" " horiz-adv-x="512" d="" />
|
||||
<glyph unicode="" glyph-name="file-binary" horiz-adv-x="768" d="M0 0v896h576l192-192v-704h-768zM704 640l-192 192h-448v-768h640v576zM320 448h-192v256h192v-256zM256 640h-64v-128h64v128zM256 192h64v-64h-192v64h64v128h-64v64h128v-192zM512 512h64v-64h-192v64h64v128h-64v64h128v-192zM576 128h-192v256h192v-256zM512 320h-64v-128h64v128z" />
|
||||
</font></defs></svg>
|
||||
|
After Width: | Height: | Size: 777 B |
@@ -0,0 +1,446 @@
|
||||
@font-face {
|
||||
font-family: "file";
|
||||
src: url("file.eot?abyff3");
|
||||
src: url("file.eot?abyff3#iefix") format("embedded-opentype"),
|
||||
url("file.ttf?abyff3") format("truetype"),
|
||||
url("file.woff?abyff3") format("woff"),
|
||||
url("file.svg?abyff3#file") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
.tagline {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.icons,
|
||||
.subsection {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, 180px);
|
||||
grid-auto-flow: dense;
|
||||
align-items: stretch;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.subsection {
|
||||
grid-column: 1 / -1;
|
||||
margin: unset;
|
||||
/* I don't understand anything */
|
||||
margin-right: -15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
.gameicon,
|
||||
.patchContainer {
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
|
||||
color: inherit;
|
||||
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.gameicon {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text-decoration: none;
|
||||
margin: 15px;
|
||||
width: 144px;
|
||||
padding: 10px;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
label.gameicon {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input.sectionToggle,
|
||||
input.sectionToggle + div {
|
||||
display: none;
|
||||
}
|
||||
|
||||
input:checked.sectionToggle + div {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.gameicon:hover,
|
||||
.dragover {
|
||||
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
|
||||
}
|
||||
|
||||
.gameicon img {
|
||||
margin-bottom: 10px;
|
||||
border-radius: 2px;
|
||||
width: 128px;
|
||||
height: 128px;
|
||||
box-shadow: 0 2px 1px rgba(0, 0, 0, 0.24), 0 0px 1px rgba(0, 0, 0, 0.48);
|
||||
align-self: center;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.gameicon > div {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.fileInput {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fileLabel {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.success {
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.success.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.patchContainer {
|
||||
padding: 20px;
|
||||
max-width: 650px;
|
||||
margin: 0 auto 2em;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.tooltip {
|
||||
visibility: hidden;
|
||||
font-size: 14px;
|
||||
margin-left: 8px;
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
position: relative;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.tooltip:hover,
|
||||
.tooltip:focus,
|
||||
.tooltip:active {
|
||||
visibility: visible;
|
||||
color: white;
|
||||
border: none;
|
||||
margin-top: 0px;
|
||||
position: absolute;
|
||||
padding: 3px 16px;
|
||||
white-space: normal;
|
||||
max-width: 300px;
|
||||
z-index: 11;
|
||||
}
|
||||
|
||||
.tooltip:before {
|
||||
visibility: visible;
|
||||
content: "?";
|
||||
font-size: 18px;
|
||||
margin-right: 8px;
|
||||
border-radius: 50%;
|
||||
padding: 2px 9px;
|
||||
margin-left: -8px;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.tooltip:hover:before,
|
||||
.tooltip:focus:before,
|
||||
.tooltip:active:before {
|
||||
color: black;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.danger:before {
|
||||
content: "!!";
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 40px auto;
|
||||
max-width: 1300px;
|
||||
line-height: 1.6;
|
||||
font-size: 18px;
|
||||
color: #000;
|
||||
padding: 0 10px;
|
||||
background: #24273a;
|
||||
font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
line-height: 1.2;
|
||||
text-align: center;
|
||||
color: inherit;
|
||||
text-decoration: inherit;
|
||||
}
|
||||
|
||||
h4,
|
||||
h5 {
|
||||
line-height: 1;
|
||||
margin: 0px auto;
|
||||
}
|
||||
|
||||
button,
|
||||
.fileLabel > strong {
|
||||
transition-duration: 0.2s;
|
||||
transition-timing-function: cubic-bezier(0.25, 0.5, 0.5, 1);
|
||||
position: relative;
|
||||
padding: 8px 16px;
|
||||
border: none;
|
||||
border-radius: 20px;
|
||||
font-size: 0.875rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.04em;
|
||||
transition-property: box-shadow, background;
|
||||
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25), 0px 0px 2px rgba(0, 0, 0, 0.125);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.fileLabel > strong {
|
||||
line-height: 3rem;
|
||||
}
|
||||
|
||||
button:disabled {
|
||||
background-color: rgba(0, 0, 0, 0.12);
|
||||
color: rgba(0, 0, 0, 0.38);
|
||||
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2),
|
||||
0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
button:hover:enabled,
|
||||
.fileLabel > strong:hover {
|
||||
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.25), 0px 0px 4px rgba(0, 0, 0, 0.125);
|
||||
}
|
||||
|
||||
.matchPercent {
|
||||
font-size: 15px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.matchSuccess {
|
||||
font-size: 15px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
li > button {
|
||||
height: 24px;
|
||||
padding: 0 7px;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
.patches {
|
||||
margin: 1em auto;
|
||||
}
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
bottom: 1px;
|
||||
}
|
||||
|
||||
input[type="radio"] {
|
||||
bottom: 2px;
|
||||
}
|
||||
|
||||
.patches label {
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.dragover > * {
|
||||
filter: blur(5px);
|
||||
}
|
||||
|
||||
.dragover::before {
|
||||
content: "";
|
||||
display: block;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
z-index: 10;
|
||||
outline: dashed 10px;
|
||||
}
|
||||
|
||||
.dragover::after {
|
||||
content: "\e900";
|
||||
font-family: "file" !important;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
/* Better Font Rendering =========== */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
display: block;
|
||||
height: auto;
|
||||
position: absolute;
|
||||
top: calc(50% - 3rem);
|
||||
left: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
z-index: 11;
|
||||
font-size: 8rem;
|
||||
}
|
||||
|
||||
.tooltip:not(:hover) {
|
||||
font-size: 0px;
|
||||
padding: 0;
|
||||
margin-left: 16px;
|
||||
}
|
||||
|
||||
.tooltip {
|
||||
visibility: hidden;
|
||||
font-size: 14px;
|
||||
margin-left: 8px;
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
position: relative;
|
||||
background: gray;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
.patchPreviewLabel {
|
||||
cursor: pointer;
|
||||
}
|
||||
.patchPreviewToggle {
|
||||
display: none;
|
||||
}
|
||||
.patchPreview {
|
||||
display: none;
|
||||
}
|
||||
input[type="checkbox"]:checked + .patchPreview {
|
||||
display: block;
|
||||
}
|
||||
input[type="checkbox"] ~ ul > li.patch-off {
|
||||
display: none;
|
||||
}
|
||||
input[type="checkbox"] ~ ul > li.patch-on {
|
||||
display: list-item;
|
||||
}
|
||||
input[type="checkbox"]:checked ~ ul > li.patch-on {
|
||||
display: none;
|
||||
}
|
||||
input[type="checkbox"]:checked ~ ul > li.patch-off {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
/* Palette: Catppuccin Macchiato */
|
||||
@media (prefers-color-scheme: dark) {
|
||||
body {
|
||||
background: #24273a;
|
||||
color: #cad3f5;
|
||||
}
|
||||
a {
|
||||
color: #c6a0f6;
|
||||
}
|
||||
.gameicon,
|
||||
.patchContainer {
|
||||
background-color: #181926;
|
||||
}
|
||||
label.gameicon {
|
||||
background: #181926;
|
||||
}
|
||||
.subsection {
|
||||
background-color: #363a4f;
|
||||
}
|
||||
.matchPercent,
|
||||
.error {
|
||||
color: #ed8796;
|
||||
}
|
||||
.matchSuccess {
|
||||
color: #a6da95;
|
||||
}
|
||||
.success {
|
||||
background-color: #a6da95;
|
||||
color: #000;
|
||||
}
|
||||
button,
|
||||
.fileLabel > strong {
|
||||
background-color: #c6a0f6;
|
||||
color: #000;
|
||||
}
|
||||
button:disabled {
|
||||
background-color: #ffffff05;
|
||||
color: #ffffff55;
|
||||
}
|
||||
.tooltip,
|
||||
.tooltip:before {
|
||||
background-color: #8087a2;
|
||||
}
|
||||
.danger,
|
||||
.danger:before {
|
||||
background-color: #f5a97f !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Palette: Catppuccin Latte */
|
||||
@media (prefers-color-scheme: light) {
|
||||
body {
|
||||
background: #eff1f5;
|
||||
color: #4c4f69;
|
||||
}
|
||||
a {
|
||||
color: #8839ef;
|
||||
}
|
||||
.gameicon,
|
||||
.patchContainer {
|
||||
background-color: #dce0e8;
|
||||
}
|
||||
label.gameicon {
|
||||
background: #dce0e8;
|
||||
}
|
||||
.subsection {
|
||||
background-color: #ccd0da;
|
||||
}
|
||||
.matchPercent,
|
||||
.error {
|
||||
color: #d20f39;
|
||||
}
|
||||
.matchSuccess {
|
||||
color: #40a02b;
|
||||
}
|
||||
.success {
|
||||
background-color: #40a02b;
|
||||
color: #fff;
|
||||
}
|
||||
button,
|
||||
.fileLabel > strong {
|
||||
background-color: #8839ef;
|
||||
color: #fff;
|
||||
}
|
||||
button:disabled {
|
||||
background-color: rgba(0, 0, 0, 0.12);
|
||||
color: rgba(0, 0, 0, 0.38);
|
||||
}
|
||||
.tooltip,
|
||||
.tooltip:before {
|
||||
background-color: #9ca0b0;
|
||||
}
|
||||
.danger,
|
||||
.danger:before {
|
||||
background-color: #fe640b;
|
||||
}
|
||||
}
|
||||
.image-wrapper {
|
||||
position: relative;
|
||||
}
|
||||
.image-hover {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 1;
|
||||
opacity: 0;
|
||||
transition: opacity 0.5s ease-out;
|
||||
}
|
||||
.image-hover:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
# What is this folder?
|
||||
|
||||
Did you spend ages getting a hex edit working? Do you want to document your
|
||||
process somewhere so you don't forget?
|
||||
|
||||
Perhaps you found a really cool way to find new timer-freeze patches for all
|
||||
games, or some audio trick that helps identify stuff. Make a .md file for your
|
||||
game or technique and put it here so the knowledge is not lost.
|
||||
@@ -0,0 +1,53 @@
|
||||
# Notes on updating offsets for Crystal Plus
|
||||
|
||||
Windows 7 patch is missing.
|
||||
|
||||
Steps to determine these values:
|
||||
|
||||
1. Take old values from crystal
|
||||
1. Use IDA's "Jump" -> "Jump to file offset..." feature to convert the file addresses to virtual memory addresses
|
||||
1. Take chunithm crystal plus executable
|
||||
1. Use virtual memory addresses from crystal, same spot is likely close to old one
|
||||
1. Use some more instructions/bytes around the offsets from crystal to find same patterns on crystal plus
|
||||
1. Check if disassembly area is identical regarding the change
|
||||
1. At the bottom left of the disassembly text view, you see something like this: `00905500 | 00D06100: sub_D06100 (Synchronized with Hex View-1)`. The first address is the raw file address, the second one is the virtual address when loaded into memory
|
||||
1. Take the first address once you found the exact same spot in chunithm crystal
|
||||
|
||||
Format below for addresses: crystal file address -> crystal virtual address -> crystal plus virtual address -> crystal plus file address
|
||||
|
||||
```
|
||||
Allow 127.0.0.1/localhost as the network server",
|
||||
0x905500 -> 00D06100 -> 00D97F80 -> 00997380
|
||||
0x16CE988 -> 01AD0388 -> 01B17E80 -> 01717080
|
||||
|
||||
"Disable shop close lockout",
|
||||
0x92D153 -> 00D2DD53 -> 00DBF6D3 -> 009BEAD3
|
||||
|
||||
"Force shared audio mode, system audio samplerate must be 48000",
|
||||
0xCD470A -> 010D530A -> 010F26BA -> 00CF1ABA
|
||||
|
||||
"Force 2 channel audio output",
|
||||
0xCD47E1 -> 010D53E1 -> 010F2791 -> 00CF1B91
|
||||
|
||||
"Patch for Windows 7",
|
||||
0x1A404E8 -> jump failed
|
||||
0x1A404F1 -> jump failed
|
||||
|
||||
"Disable Song Select Timer",
|
||||
0x748FE2 -> 00B49BE2 -> 00B669C2 -> 00765DC2
|
||||
|
||||
"Set All Timers to 999",
|
||||
0x5FC300 -> 009FCF00 -> 00A14870 -> 00613C70
|
||||
|
||||
"Better patch for head-to-head play",
|
||||
0x464DB3 -> 008659B3 -> 00879A03 -> 00478E03
|
||||
|
||||
Increase max credits to 254",
|
||||
0xC204B7 -> 010210B7 -> 01094767 -> 00C93B67
|
||||
|
||||
"Free Play",
|
||||
0xC208D5 -> 010214D5 -> 01094B85 -> 00C93F85
|
||||
|
||||
"Dummy LED",
|
||||
0x2499D7 -> 0064A5D7 -> 0064A5D7 -> 002499D7
|
||||
```
|
||||
@@ -0,0 +1,81 @@
|
||||
# What does n-0 mean?
|
||||
"n-0" is part of a common nomenclature in the arcade scene referring to
|
||||
freshness of data. "n-0" (n minus zero) is the current game release, like a
|
||||
mathematical equation. "n-1" is the previous game release. Rarely you will see
|
||||
"n+1" where the next, unreleased version of a game is leaked early.
|
||||
|
||||
A time can also be added to specify lengths instead of versions. For example,
|
||||
"n-6 months" or "n-1 year".
|
||||
|
||||
# Why no n-0 in Bemanipatcher?
|
||||
|
||||
The original policy of this repo was to accept any patch set that looked sane
|
||||
and had consistent style, to be a "global" repository for all games that had
|
||||
been released. Sometimes some private release would have hex edits appear as a
|
||||
PR, so I accepted them because I didn't want to get into the drama of "why does
|
||||
he have data but I don't".
|
||||
|
||||
In mid 2021, some groups decided they'd start leaking the latest updates for
|
||||
pretty much every game under the sun. In addition to being a hugely
|
||||
irresponsible idea (Sega is especially litigious), this produced a lot of noise
|
||||
in PRs from people hastily trying to port edits.
|
||||
|
||||
I have had several terrible PRs submitted that I have had to revert. These
|
||||
include:
|
||||
- Broken patches
|
||||
- Misattributed sources
|
||||
- Totally-fine patch sets where I immediately received a Discord DM saying "I
|
||||
didn't want that to be public, delete it please"
|
||||
- PRs opened and closed almost immediately by someone reconsidering
|
||||
- PRs opened, merged and then reverted by the original uploader
|
||||
|
||||
As such, this repo now has a new rule: No n-0, unless it is more than a year
|
||||
old.
|
||||
|
||||
# When is n-0 OK? Why is day-old n-1 OK?
|
||||
In addition to the obvious frustration I have with all these junk PRs, read on
|
||||
for some moral soapboxing as to why you should reconsider public n-0.
|
||||
|
||||
**Remember: this is my own opinion.** I like to think it's a fairly common one. You are welcome to disagree with me, but it won't change the policy.
|
||||
|
||||
Why the year rule? When a new game comes out, why is the n-1 from yesterday
|
||||
suddenly OK? There are two important aspects to my reasoning: Acting in good
|
||||
faith, and preservation.
|
||||
|
||||
You have to remember that rhythm games are an extremely niche market when
|
||||
compared to all other game formats. Arcade rhythm games are even more niche, and
|
||||
critically, comprise a different payment model (credits vs gacha/one-time-buy).
|
||||
|
||||
Compared to huge MOBAs and FPS games where the majority just pays and plays the
|
||||
game, the at-home-arcade community *is* big enough to cause financial problems
|
||||
if they all stay at home, which is why we've seen COVID hit Sega hard enough to
|
||||
start closing flagship arcades in Akihabara.
|
||||
|
||||
I have heard firsthand from arcade operators that as soon as home-data is
|
||||
released that matches or exceeds the version in their arcade, attendance drops
|
||||
sharply. After all, with no commute and no credits, playing at home on your ASC
|
||||
is usually good enough.
|
||||
|
||||
So the first point, acting in good faith. By releasing old data, you minimise
|
||||
depriving arcade operators of their income. Whether it's in Japan and the coins
|
||||
go straight to Konami, or you're in Europe and they fund your local arcade's
|
||||
next cab purchase, it's critical to actually financially support the games in
|
||||
this niche.
|
||||
|
||||
Adding the 1 year specifier is for games like Jubeat and Reflecbeat - games that
|
||||
have not seen a new release in years. I believe it's acting in good faith to
|
||||
release year old data. If there's been literally no updates in a year... That's
|
||||
on Konami for abandoning a property.
|
||||
|
||||
The second aspect is preservation. Except for buying an offline cab and hoping
|
||||
it has the right version (good luck), there is simply no way to legitimately
|
||||
play old releases of these games. This is why n-1 suddenly becomes "good" once
|
||||
the next version of the game is released. So much digital history has been lost
|
||||
due to bitrot and always-online games becoming unplayable. I like the idea of
|
||||
being able to play every game in a series ever released.
|
||||
|
||||
# Why did you write all this?
|
||||
A lot of people who share my opinion like to loudly flame newcomers thirsty for
|
||||
the latest data, chastising them for not innately knowing the correct etiquette.
|
||||
This is my attempt to explain where my opinions come from. If it's useful to
|
||||
even 1 person, it's done its job.
|
||||
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 151 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 671 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1 @@
|
||||
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
|
||||
@@ -0,0 +1,146 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Hatsune Miku: Project DIVA Arcade Future Tone Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("diva.exe", "7.10.00", [
|
||||
{
|
||||
name: "DHCP Patch",
|
||||
patches: [
|
||||
{offset: 0x392A10, off: [0x40, 0x53, 0x48, 0x83, 0xEC, 0x20], on: [0xB0, 0x01, 0xC3, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Location Server Bypass",
|
||||
patches: [
|
||||
{offset: 0x6726A2, off: [0x75, 0x1E], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Ram folder to game root folder",
|
||||
patches: [
|
||||
{offset: 0x670BB1, off: [0x0F, 0x85, 0x21, 0x03, 0x00], on: [0xE9, 0x22, 0x03, 0x00, 0x00]},
|
||||
],
|
||||
},
|
||||
]),
|
||||
new Patcher("diva.exe", "7.01.00", [
|
||||
{
|
||||
name: "DHCP Patch",
|
||||
patches: [
|
||||
{offset: 0x6750B0, off: [0x40, 0x53, 0x48, 0x83, 0xEC, 0x20], on: [0xB0, 0x01, 0xC3, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Location Server Bypass",
|
||||
patches: [
|
||||
{offset: 0x66E712, off: [0x75, 0x1E], on: [0x90, 0x90]},
|
||||
{offset: 0x6F8570, off: [0x75, 0x1E], on: [0x90, 0x90]}
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Ram folder to game root folder",
|
||||
patches: [
|
||||
{offset: 0x668379, off: [0x0F, 0x85, 0xD7], on: [0xE9, 0xD8, 0x00]},
|
||||
],
|
||||
},
|
||||
]),
|
||||
new Patcher("diva.exe", "6.00.00", [
|
||||
{
|
||||
name: "DHCP Patch",
|
||||
patches: [
|
||||
{offset: 0x253460, off: [0x40, 0x53, 0x48, 0x83, 0xEC], on: [0xC3, 0x53, 0x48, 0x83, 0xEC]},
|
||||
{offset: 0x379960, off: [0x40, 0x53, 0x48, 0x83, 0xEC, 0x20], on: [0xB0, 0x01, 0xC3, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Location Server Bypass",
|
||||
patches: [
|
||||
{offset: 0x64E282, off: [0x75, 0x1E], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Ram folder to game root folder",
|
||||
patches: [
|
||||
{offset: 0x64C791, off: [0x0F, 0x85, 0x21, 0x03, 0x00], on: [0xE9, 0x22, 0x03, 0x00, 0x00]},
|
||||
],
|
||||
},
|
||||
]),
|
||||
new Patcher("diva.exe", "5.00.02", [
|
||||
{
|
||||
name: "DHCP Patch",
|
||||
patches: [
|
||||
{offset: 0x535F60, off: [0x40, 0x53, 0x48, 0x83, 0xEC, 0x20], on: [0xB0, 0x01, 0xC3, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Location Server Bypass",
|
||||
patches: [
|
||||
{offset: 0x54C542, off: [0x75, 0x1E], on: [0x90, 0x90]},
|
||||
{offset: 0x6D9D5B, off: [0x75, 0x1E], on: [0x90, 0x90]},
|
||||
{offset: 0x7250ED, off: [0x75, 0x1E], on: [0x90, 0x90]}
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Ram folder to game root folder",
|
||||
patches: [
|
||||
{offset: 0x5459D9, off: [0x0F, 0x85, 0xD7], on: [0xE9, 0xD8, 0x00]},
|
||||
{offset: 0x54AA41, off: [0x0F, 0x85, 0x21, 0x03, 0x00], on: [0xE9, 0x22, 0x03, 0x00, 0x00]}
|
||||
],
|
||||
},
|
||||
]),
|
||||
new Patcher("diva.exe", "4.10.00", [
|
||||
{
|
||||
name: "DHCP Patch",
|
||||
patches: [
|
||||
{offset: 0x26CD00, off: [0x40, 0x53, 0x48, 0x83, 0xEC, 0x20], on: [0xB0, 0x01, 0xC3, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Location Server Bypass",
|
||||
patches: [
|
||||
{offset: 0x534D22, off: [0x75, 0x1E], on: [0x90, 0x90]},
|
||||
{offset: 0x70191D, off: [0x75, 0x1E], on: [0x90, 0x90]}
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Ram folder to game root folder",
|
||||
patches: [
|
||||
{offset: 0x52E2C9, off: [0x0F, 0x85, 0xD7], on: [0xE9, 0xD8, 0x00]},
|
||||
],
|
||||
},
|
||||
]),
|
||||
new Patcher("diva.exe", "4.00.00", [
|
||||
{
|
||||
name: "DHCP Patch",
|
||||
patches: [
|
||||
{offset: 0x25BFF0, off: [0x40, 0x53, 0x48, 0x83, 0xEC, 0x20], on: [0xB0, 0x01, 0xC3, 0x90, 0x90, 0x90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Location Server Bypass",
|
||||
patches: [
|
||||
{offset: 0x4E8E52, off: [0x75, 0x1E], on: [0x90, 0x90]},
|
||||
{offset: 0x6708CB, off: [0x75, 0x1E], on: [0x90, 0x90]}
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Ram folder to game root folder",
|
||||
patches: [
|
||||
{offset: 0x4E2409, off: [0x0F, 0x85, 0xD7], on: [0xE9, 0xD8, 0x00]},
|
||||
],
|
||||
},
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Hatsune Miku: Project DIVA Arcade Future Tone Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Groove Coaster 4EX Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("game.exe", "4.52", [
|
||||
// for in memory patching, add 0x400c00 to file offsets to get virtual addresses
|
||||
{
|
||||
name: "Unlock all songs",
|
||||
patches: [
|
||||
{offset: 0x25654b, off: [0x75, 0x22], on: [0x90, 0x90]},
|
||||
{offset: 0x256e5b, off: [0x75, 0x5e], on: [0x90, 0x90]}
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Unlock all song difficulties",
|
||||
patches: [
|
||||
// non-extra
|
||||
{offset: 0x298e0, off: [0x55, 0x8b, 0xec, 0x51, 0x89, 0x4d], on: [0xb8, 0xff, 0x00, 0x00, 0x00, 0xc3]},
|
||||
// extra
|
||||
{offset: 0x220d30, off: [0x55, 0x8b, 0xec, 0x51, 0x89, 0x4d, 0xfc, 0x8b, 0x4d, 0xfc, 0x81, 0xc1, 0xd4, 0x07, 0x00, 0x00, 0xe8, 0x5b, 0x0f, 0xdf, 0xff, 0x3b, 0x45, 0x08, 0x73, 0x04, 0x33, 0xc0, 0xeb, 0x14, 0x8b, 0x45, 0x08, 0x50, 0x8b, 0x4d, 0xfc, 0x81, 0xc1, 0xd4, 0x07, 0x00, 0x00, 0xe8, 0x60, 0xb7, 0xe1], on: [0x8b, 0x44, 0x24, 0x04, 0x8b, 0x15, 0x54, 0xa5, 0x7d, 0x00, 0x8b, 0x0d, 0x50, 0xa5, 0x7d, 0x00, 0x3b, 0x02, 0x74, 0x0d, 0x81, 0xc2, 0xb4, 0x00, 0x00, 0x00, 0x49, 0x75, 0xf3, 0x31, 0xc0, 0xeb, 0x0b, 0x31, 0xc0, 0x83, 0x7a, 0x2c, 0x00, 0x0f, 0x95, 0xc0, 0x01, 0xc0, 0xc2, 0x04, 0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Unlimited plays",
|
||||
patches: [
|
||||
{offset: 0x2356e0, off: [0x55, 0x8b, 0xec, 0x51], on: [0x33, 0xc0, 0x40, 0xc3]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Unlock all avatars, titles, navigators, skins, and sound effects",
|
||||
patches: [
|
||||
// unlock
|
||||
{offset: 0x2214e0, off: [0x55, 0x8b, 0xec, 0x83], on: [0x33, 0xc0, 0x40, 0xc3]},
|
||||
// allow selection
|
||||
{offset: 0x1bc9fc, off: [0xe8, 0x4f, 0x95, 0xe5, 0xff], on: [0xb8, 0x01, 0x00, 0x00, 0x00]},
|
||||
{offset: 0x1bb51f, off: [0xe8, 0x2c, 0xaa, 0xe5, 0xff], on: [0xb8, 0x01, 0x00, 0x00, 0x00]},
|
||||
{offset: 0x1bf2fb, off: [0xe8, 0x50, 0x6c, 0xe5, 0xff], on: [0xb8, 0x01, 0x00, 0x00, 0x00]},
|
||||
{offset: 0x1c3b48, off: [0xe8, 0x03, 0x24, 0xe5, 0xff], on: [0xb8, 0x01, 0x00, 0x00, 0x00]},
|
||||
{offset: 0x1c3f71, off: [0xe8, 0xda, 0x1f, 0xe5, 0xff], on: [0xb8, 0x01, 0x00, 0x00, 0x00]},
|
||||
{offset: 0x1c3fc7, off: [0xe8, 0x84, 0x1f, 0xe5, 0xff], on: [0xb8, 0x01, 0x00, 0x00, 0x00]},
|
||||
{offset: 0x1c1d1f, off: [0xe8, 0x2c, 0x42, 0xe5, 0xff], on: [0xb8, 0x01, 0x00, 0x00, 0x00]},
|
||||
{offset: 0x1c4c54, off: [0xe8, 0xf7, 0x12, 0xe5, 0xff], on: [0xb8, 0x01, 0x00, 0x00, 0x00]},
|
||||
{offset: 0x1c1c4f, off: [0xe8, 0xfc, 0x42, 0xe5, 0xff], on: [0xb8, 0x01, 0x00, 0x00, 0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Hide in-game tutorial prompts",
|
||||
patches: [
|
||||
{offset: 0x248659, off: [0x0f, 0x84], on: [0x90, 0xe9]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Hide scrolling \"currently offline\" message while offline",
|
||||
patches: [
|
||||
{offset: 0x332ae, off: [0xe8, 0xad, 0x0e, 0x1c, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Show folder jackets while offline",
|
||||
patches: [
|
||||
{offset: 0x1ac8c0, off: [0x74, 0x33], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Fast/slow indicator",
|
||||
type: "union",
|
||||
offset: 0x2266e0,
|
||||
patches: [
|
||||
{
|
||||
name: "Default",
|
||||
patch: [0x55, 0x8b, 0xec, 0x83, 0xec],
|
||||
},
|
||||
{
|
||||
name: "Show fast/slow near avatar",
|
||||
patch: [0x33, 0xc0, 0x40, 0xc3, 0x90],
|
||||
},
|
||||
{
|
||||
name: "Show fast/slow near judgement text",
|
||||
patch: [0x33, 0xc0, 0x40, 0x40, 0xc3],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Show fast/slow even on GREAT judgement",
|
||||
patches: [
|
||||
{offset: 0x243e7f, off: [0x74, 0x11], on: [0x90, 0x90]},
|
||||
],
|
||||
},
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Groove Coaster 4EX Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>GFDM V4 RockxRock DLL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new Patcher("game.dll", "", [
|
||||
{
|
||||
name: "Force unlock SECRET folder",
|
||||
patches: [
|
||||
{offset: 0xA468A, off: [0x74, 0x12, 0x68, 0xD4], on: [0x90, 0x90, 0x68, 0xD4]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("libshare-pj.dll", "", [
|
||||
{
|
||||
name: "Remove the game's 10.0.*.* IP check, allowing any IP address.",
|
||||
tooltip: "Without this, games will not get past server error 2-5000-0000",
|
||||
patches: [
|
||||
{offset: 0x16B9D, off: [0x01, 0x5B], on: [0x00, 0x5B]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>GFDM V4 RockxRock DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,50 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>GFDM V5 Rock to Infinity DLL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new Patcher("game.dll", "", [
|
||||
{
|
||||
name: "Force unlock SECRET folder",
|
||||
patches: [
|
||||
{offset: 0xC259A, off: [0x74, 0x12, 0x68, 0xC0], on: [0x90, 0x90, 0x68, 0xC0]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("boot.dll", "", [
|
||||
{
|
||||
name: "Set GF to 2CH audio rather than 4CH",
|
||||
tooltip: "Fixes audio volume issues, as you cannot hear any sound effects on a 2CH card by default.",
|
||||
patches: [
|
||||
{offset: 0x1BC1, off: [0x00, 0x00, 0x00, 0x00], on: [0x01, 0x00, 0x00, 0x00]},
|
||||
{offset: 0x1BC9, off: [0x01], on: [0x03]},
|
||||
{offset: 0x1BD1, off: [0x02], on: [0x03]},
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("libshare-pj.dll", "", [
|
||||
{
|
||||
name: "Remove the game's 10.0.*.* IP check, allowing any IP address.",
|
||||
tooltip: "Without this, games will not get past server error 2-5000-0000",
|
||||
patches: [
|
||||
{offset: 0x17ECA, off: [0x01, 0x5B], on: [0x00, 0x5B]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("libsystem.dll", "", [
|
||||
{
|
||||
name: "White screen freeze fix",
|
||||
patches: [{offset: 0x306C, off: [0x53, 0x53], on: [0x33, 0xC0]}]
|
||||
}
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>GFDM V5 Rock to Infinity DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,44 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>GFDM V6 BLAZING!!!! DLL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new Patcher("game.dll", "", [
|
||||
{
|
||||
name: "Force unlock SECRET folder",
|
||||
patches: [
|
||||
{offset: 0xCC8EA, off: [0x74, 0x12, 0x68, 0x04], on: [0x90, 0x90, 0x68, 0x04]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("boot.dll", "", [
|
||||
{
|
||||
name: "Set GF to 2CH audio rather than 4CH",
|
||||
tooltip: "Fixes audio volume issues, as you cannot hear any sound effects on a 2CH card by default.",
|
||||
patches: [
|
||||
{offset: 0x1B61, off: [0x00, 0x00, 0x00, 0x00], on: [0x01, 0x00, 0x00, 0x00]},
|
||||
{offset: 0x1B69, off: [0x01], on: [0x03]},
|
||||
{offset: 0x1B71, off: [0x02], on: [0x03]},
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("libshare-pj.dll", "", [
|
||||
{
|
||||
name: "Remove the game's 10.0.*.* IP check, allowing any IP address.",
|
||||
tooltip: "Without this, games will not get past server error 2-5000-0000",
|
||||
patches: [
|
||||
{offset: 0x18F3A, off: [0x01, 0x5B], on: [0x00, 0x5B]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>GFDM V6 BLAZING!!!! DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,50 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>GFDM V7 DLL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new Patcher("game.dll", "", [
|
||||
{
|
||||
name: "Force unlock SECRET folder",
|
||||
patches: [
|
||||
{offset: 0xBA187, off: [0x74, 0x04, 0xC6, 0x46], on: [0x90, 0x90, 0xC6, 0x46]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("boot.dll", "", [
|
||||
{
|
||||
name: "Set GF to 2CH audio rather than 4CH",
|
||||
tooltip: "Fixes audio volume issues, as you cannot hear any sound effects on a 2CH card by default.",
|
||||
patches: [
|
||||
{offset: 0x1A31, off: [0x00, 0x00], on: [0x01, 0x00]},
|
||||
{offset: 0x1A39, off: [0x01], on: [0x03]},
|
||||
{offset: 0x1A41, off: [0x02], on: [0x03]},
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("libshare-pj.dll", "", [
|
||||
{
|
||||
name: "Remove the game's 10.0.*.* IP check, allowing any IP address.",
|
||||
tooltip: "Without this, games will not get past server error 2-5000-0000",
|
||||
patches: [
|
||||
{offset: 0x16B99, off: [0x01, 0x5B], on: [0x00, 0x5B]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("libsystem.dll", "", [
|
||||
{
|
||||
name: "White screen freeze fix",
|
||||
patches: [{offset: 0x2DFC, off: [0x53, 0x53, 0xA3, 0xCC], on: [0x33, 0xC0, 0xA3, 0xCC]}]
|
||||
}
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>GFDM V7 DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,50 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>GFDM V8 DLL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new Patcher("game.dll", "", [
|
||||
{
|
||||
name: "Force unlock SECRET folder",
|
||||
patches: [
|
||||
{offset: 0xB98B7, off: [0x74, 0x04, 0xC6, 0x46], on: [0x90, 0x90, 0xC6, 0x46]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("boot.dll", "", [
|
||||
{
|
||||
name: "Set GF to 2CH audio rather than 4CH",
|
||||
tooltip: "Fixes audio volume issues, as you cannot hear any sound effects on a 2CH card by default.",
|
||||
patches: [
|
||||
{offset: 0x0E31, off: [0x00, 0x00], on: [0x01, 0x00]},
|
||||
{offset: 0x0E39, off: [0x01], on: [0x03]},
|
||||
{offset: 0x0E41, off: [0x02], on: [0x03]},
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("libshare-pj.dll", "", [
|
||||
{
|
||||
name: "Remove the game's 10.0.*.* IP check, allowing any IP address.",
|
||||
tooltip: "Without this, games will not get past server error 2-5000-0000",
|
||||
patches: [
|
||||
{offset: 0x160F9, off: [0x01, 0x5B], on: [0x00, 0x5B]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("libsystem.dll", "", [
|
||||
{
|
||||
name: "White screen freeze fix",
|
||||
patches: [{offset: 0x21FC, off: [0x53, 0x53, 0xA3, 0xCC], on: [0x33, 0xC0, 0xA3, 0xCC]}]
|
||||
}
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>GFDM V8 DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,34 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>GFDM XG2 DLL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new Patcher("game.dll", "", [
|
||||
{
|
||||
name: "Force unlock SECRET folder",
|
||||
patches: [
|
||||
{offset: 0x1B67B2, off: [0x5B, 0x00], on: [0x4D, 0x01]},
|
||||
{offset: 0x1B67C2, off: [0x5D, 0x00], on: [0x4D, 0x01]},
|
||||
]
|
||||
}
|
||||
]);
|
||||
new Patcher("libshare-pj.dll", "", [
|
||||
{
|
||||
name: "Remove the game's 10.0.*.* IP check, allowing any IP address.",
|
||||
tooltip: "Without this, games will not get past server error 2-5000-0000",
|
||||
patches: [
|
||||
{offset: 0x15B69, off: [0x01], on: [0x00]}
|
||||
]
|
||||
}
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>GFDM XG2 DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>GFDM XG3 DLL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new Patcher("game.dll", "", [
|
||||
{
|
||||
name: "Force unlock SECRET folder",
|
||||
patches: [
|
||||
{offset: 0x1652D2, off: [0x5B, 0x00], on: [0x4D, 0x01]},
|
||||
{offset: 0x1652E2, off: [0x5D, 0x00], on: [0x4D, 0x01]},
|
||||
]
|
||||
}
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>GFDM XG3 DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 37 KiB |
@@ -0,0 +1,173 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>TWO-TORIAL's Web Patcher</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script>
|
||||
window.addEventListener('DOMContentLoaded', function() {
|
||||
// implement radio-style behaviour for categories
|
||||
for(const input of document.querySelectorAll(".sectionToggle")) {
|
||||
input.onclick = () => {
|
||||
for(const el of document.querySelectorAll(".sectionToggle")) {
|
||||
if(el != input) el.checked = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>TWO-TORIAL's Web Patcher</h1>
|
||||
<h3>By the community, for the community!</h3>
|
||||
<div class="icons">
|
||||
<a href="bishibashi.html" class="gameicon">
|
||||
<img src="img/bishibashi.png">
|
||||
<div>THE ☆ BishiBashi</div>
|
||||
</a>
|
||||
|
||||
<a href="bombergirl.html" class="gameicon">
|
||||
<img src="img/bombergirl.png">
|
||||
<div>BomberGirl PC (eacloud)</div>
|
||||
</a>
|
||||
|
||||
<label for="check_chuni" class="gameicon">
|
||||
<img src="img/aaa_chuni.png">
|
||||
<div>CHUNITHM</div>
|
||||
</label>
|
||||
<input type="checkbox" id="check_chuni" class="sectionToggle"/>
|
||||
<div class="subsection">
|
||||
<a href="chuni.html" class="gameicon">
|
||||
<img src="img/chu/ni01.png">
|
||||
<div>CHUNITHM</div>
|
||||
</a>
|
||||
<a href="chuniplus.html" class="gameicon">
|
||||
<img src="img/chu/ni02plus.png">
|
||||
<div>CHUNITHM PLUS</div>
|
||||
</a>
|
||||
<a href="chuniair.html" class="gameicon">
|
||||
<img src="img/chu/ni03air.png">
|
||||
<div>CHUNITHM AIR</div>
|
||||
</a>
|
||||
<a href="chuniairplus.html" class="gameicon">
|
||||
<img src="img/chu/ni04airplus.png">
|
||||
<div>CHUNITHM AIR PLUS</div>
|
||||
</a>
|
||||
<a href="chunistar.html" class="gameicon">
|
||||
<img src="img/chu/ni05star.png">
|
||||
<div>CHUNITHM STAR</div>
|
||||
</a>
|
||||
<a href="chunistarplus.html" class="gameicon">
|
||||
<img src="img/chu/ni06starplus.png">
|
||||
<div>CHUNITHM STAR PLUS</div>
|
||||
</a>
|
||||
<a href="chuniamazon.html" class="gameicon">
|
||||
<img src="img/chu/ni07amazon.png">
|
||||
<div>CHUNITHM AMAZON</div>
|
||||
</a>
|
||||
<a href="chuniamazonplus.html" class="gameicon">
|
||||
<img src="img/chu/ni08amazonplus.png">
|
||||
<div>CHUNITHM AMAZON PLUS</div>
|
||||
</a>
|
||||
<a href="chunicrystal.html" class="gameicon">
|
||||
<img src="img/chu/ni09crystal.png">
|
||||
<div>CHUNITHM CRYSTAL</div>
|
||||
</a>
|
||||
<a href="chunicrystalplus.html" class="gameicon">
|
||||
<img src="img/chu/ni10crystalplus.png">
|
||||
<div>CHUNITHM CRYSTAL PLUS</div>
|
||||
</a>
|
||||
<a href="chuniparadise.html" class="gameicon">
|
||||
<div class="image-wrapper">
|
||||
<img src="img/chu/ni11paradise.png" class="image">
|
||||
<img src="img/chu/ni11paradiselost.png" class="image-hover">
|
||||
</div>
|
||||
<div>CHUNITHM PARADISE (LOST)</div>
|
||||
</a>
|
||||
<a href="chuni_hx.html" class="gameicon">
|
||||
<img src="img/chu/ni11paradiselost.png">
|
||||
<div>CHUNITHM PARADISE LOST (USA)</div>
|
||||
</a>
|
||||
<a href="chusannew.html" class="gameicon">
|
||||
<img src="img/chu/san12.png">
|
||||
<div>CHUNITHM NEW!!</div>
|
||||
</a>
|
||||
<a href="chusannewplus.html" class="gameicon">
|
||||
<img src="img/chu/san13newplus.png">
|
||||
<div>CHUNITHM NEW PLUS!!</div>
|
||||
</a>
|
||||
<a href="chusansun.html" class="gameicon">
|
||||
<img src="img/chu/san14sun.png">
|
||||
<div>CHUNITHM SUN</div>
|
||||
</a>
|
||||
<a href="chusansunplus.html" class="gameicon">
|
||||
<img src="img/chu/san15sunplus.png">
|
||||
<div>CHUNITHM SUN PLUS</div>
|
||||
</a>
|
||||
<a href="chusanluminous.html" class="gameicon">
|
||||
<img src="img/chu/san16luminous.png">
|
||||
<div>CHUNITHM LUMINOUS</div>
|
||||
</a>
|
||||
<a href="chusanluminousplus.html" class="gameicon">
|
||||
<img src="img/chu/san17luminousplus.png">
|
||||
<div>CHUNITHM LUMINOUS PLUS</div>
|
||||
</a>
|
||||
<a href="chusanverse.html" class="gameicon">
|
||||
<img src="img/chu/san18verse.png">
|
||||
<div>CHUNITHM VERSE</div>
|
||||
</a>
|
||||
<a href="chusanxverse.html" class="gameicon">
|
||||
<img src="img/chu/san19xverse.png">
|
||||
<div>CHUNITHM XVERSE</div>
|
||||
</a>
|
||||
<a href="chusan_hj.html" class="gameicon">
|
||||
<img src="img/chu/sanhj1.png">
|
||||
<div>中二节奏 NEW!!</div>
|
||||
</a>
|
||||
<a href="SDGS125.html" class="gameicon">
|
||||
<img src="img/chu/san15sunplus.png">
|
||||
<div>CHUNITHM Intl. SUN PLUS</div>
|
||||
</a>
|
||||
<a href="SDGS130.html" class="gameicon">
|
||||
<img src="img/chu/san16luminous.png">
|
||||
<div>CHUNITHM Intl. LUMINOUS</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<a href="gc4ex.html" class="gameicon">
|
||||
<img src="img/gc4ex.png">
|
||||
<div>Groove Coaster 4EX Infinity Highway</div>
|
||||
</a>
|
||||
|
||||
<a href="futuretone.html" class="gameicon">
|
||||
<img src="img/futuretone.png">
|
||||
<div>Hatsune Miku: Project DIVA Arcade Future Tone</div>
|
||||
</a>
|
||||
|
||||
<a href="initialdzero.html" class="gameicon">
|
||||
<img src="img/idz.png">
|
||||
<div>Initial D Arcade Stage Zero</div>
|
||||
</a>
|
||||
|
||||
<a href="kancolle.html" class="gameicon">
|
||||
<img src="img/kancolle.png">
|
||||
<div>Kancolle Arcade</div>
|
||||
</a>
|
||||
|
||||
<a href="taikonotatsujin.html" class="gameicon">
|
||||
<img src="img/taikonotatsujin.png">
|
||||
<div>Taiko no Tatsujin</div>
|
||||
</a>
|
||||
<a href="waccareverse.html" class="gameicon">
|
||||
<img src="img/wacca4reverse.png">
|
||||
<div>WACCA REVERSE</div>
|
||||
</a>
|
||||
<a href="amdaemon.html" class="gameicon">
|
||||
<!-- <img src="img/wacca4reverse.png"> -->
|
||||
<div>amdaemon</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="tagline"><em><a href=https://github.com/two-torial/webpatcher/>GitHub Repository</a></em></div>
|
||||
<div class="tagline"><em>Web-tool by <a href="https://github.com/mon/">mon</a></em></div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,152 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Initial D Arcade Stage Zero DLL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css" />
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("InitialD0_DX11_Nu.exe", "1.31", [
|
||||
{
|
||||
name: "Remove vertical resolution limit (allow 4K and higher)",
|
||||
tooltip:"Removes the vertical res limit of 1900 pixels. This does NOT change your resolution, just lets you set higher ones in the initiald.ini without the game ignoring it.",
|
||||
patches: [{ offset: 0x35e170, off: [0xdc, 0x05], on: [0xff, 0xff] }],
|
||||
},
|
||||
{
|
||||
name: "Fullscreen Fix 2.0 (Borderless) EXPERIMENTAL UNTESTED",
|
||||
tooltip: "This will force the game to be borderless fullscreen at all times, even in windowed mode.",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x35e205,
|
||||
off: [0x01],
|
||||
on: [0x03],
|
||||
},
|
||||
{
|
||||
offset: 0xa3a05f,
|
||||
off: [0xc8, 0x00],
|
||||
on: [0x00, 0x80],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Allow any IP-Range for in-store linking",
|
||||
tooltip: "By default, D0 will only match two cabinets if they use a specific ip range. This removes that check.But, error 8306 occurs and the connection to the local server cannot be established.",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x4b7206,
|
||||
off: [0x8b, 0xc8, 0x23, 0xcf, 0x81, 0xf9, 0x00, 0x9e, 0xa8, 0xc0, 0x75, 0x07],
|
||||
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90],
|
||||
},
|
||||
],
|
||||
},
|
||||
]),
|
||||
new Patcher("InitialD0_DX11_Nu.exe", "2.11", [
|
||||
{
|
||||
name: "Skip Wheel-check on boot",
|
||||
tooltip: "This will skip the \"don't touch the wheel\" screen, making the game boot a lot faster",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x678163,
|
||||
off: [0x80, 0xB8, 0x56, 0x33, 0x00, 0x00, 0x00, 0x74, 0x43],
|
||||
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Remove vertical resolution limit (allow 4K and higher)",
|
||||
tooltip:
|
||||
"Removes the vertical res limit of 1900 pixels. This does NOT change your resolution, just lets you set higher ones in the initiald.ini without the game ignoring it.",
|
||||
patches: [{ offset: 0x3377fa, off: [0xdc, 0x05], on: [0xff, 0xff] }],
|
||||
},
|
||||
{
|
||||
name: "Fullscreen Fix 2.0 (Borderless) EXPERIMENTAL UNTESTED",
|
||||
tooltip: "This will force the game to be borderless fullscreen at all times, even in windowed mode.",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x33788c,
|
||||
off: [0x01],
|
||||
on: [0x03],
|
||||
},
|
||||
{
|
||||
offset: 0xaf5e8f,
|
||||
off: [0xc8, 0x00],
|
||||
on: [0x00, 0x80],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Allow any IP-Range for in-store linking",
|
||||
tooltip: "By default, D0 will only match two cabinets if they use a specific ip range. This removes that check.But, error 8306 occurs and the connection to the local server cannot be established.",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x4ac1d6,
|
||||
off: [0x8b, 0xc8, 0x23, 0xcf, 0x81, 0xf9, 0x00, 0x9e, 0xa8, 0xc0, 0x75, 0x07],
|
||||
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90],
|
||||
},
|
||||
],
|
||||
},
|
||||
]),
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("ServerBoxD8_Nu_x64.exe", "1.31", [
|
||||
{
|
||||
name: "Allow any IP-Range for in-store linking",
|
||||
tooltip: "By default, D0 will only match two cabinets if they use a specific ip range. This removes that check.",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x38b5d,
|
||||
off: [0x0f, 0xb6, 0x44, 0x24, 0x30, 0x85, 0xc0, 0x75, 0x25, 0x81, 0xbc, 0x24, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9e, 0xa8, 0xc0, 0x75, 0x18],
|
||||
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90],
|
||||
},
|
||||
],
|
||||
},
|
||||
]),
|
||||
new Patcher("ServerBoxD8_Nu_x64.exe", "2.11", [
|
||||
{
|
||||
name: "Allow any IP-Range for in-store linking",
|
||||
tooltip: "By default, D0 will only match two cabinets if they use a specific ip range. This removes that check.",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x36d7d,
|
||||
off: [0x0f, 0xb6, 0x44, 0x24, 0x30, 0x85, 0xc0, 0x75, 0x25, 0x81, 0xbc, 0x24, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9e, 0xa8, 0xc0, 0x75, 0x18],
|
||||
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90],
|
||||
},
|
||||
],
|
||||
},
|
||||
]),
|
||||
]);
|
||||
new PatchContainer([
|
||||
new Patcher("amdaemon.exe", "1.31", [
|
||||
{
|
||||
name: "Remove DVD check/Fix Error 0919",
|
||||
tooltip: "Removes the need to remove/disable your DVD drive. Thanks to lan @ Discord for mentioning the hex edit.",
|
||||
patches: [{ offset: 0x22553a, off: [0x74], on: [0xeb] }],
|
||||
},
|
||||
]),
|
||||
new Patcher("amdaemon.exe", "2.11", [
|
||||
{
|
||||
name: "Remove DVD check/Fix Error 0919",
|
||||
tooltip: "Removes the need to remove/disable your DVD drive. Thanks to lan @ Discord for mentioning the hex edit.",
|
||||
patches: [{ offset: 0x242ada, off: [0x74], on: [0xeb] }],
|
||||
},
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Initial D Arcade Stage Zero DLL Modder</h1>
|
||||
<center style="color: rgb(189, 29, 29)"><b>WARNING: This is version 2 of the fullscreen patch, but it needs more testing.</b></center>
|
||||
<center>
|
||||
Pro tip: Using the fullscreen patch and using Rivatuner to lock to 60fps, then setting "FullScreen = 0" and "SYNCMODE = 0" in the InitialD.ini<br />will let you alt-tab out
|
||||
of the game, and still run at locked 60fps.
|
||||
</center>
|
||||
<center style="color: rgb(212, 66, 146)"><b>Notes about the in-store patch:</b></center>
|
||||
<center>
|
||||
The game will still require an ip in the 192.168.X.X range to boot up. However, everything past that can be freely choosen now, so using something like zerotier or a custom
|
||||
vpn It's technically possible to play in-store battles. You'll need to both have matching ip-ranges in segatools.ini though, and one of you'll have to disable dipsw1, etc.
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,74 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Kancolle Arcade Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("fc.exe", "4.00.00", [
|
||||
{
|
||||
name: "Bypass Location Server timer",
|
||||
patches: [
|
||||
{offset: 0xA48F38, off: [0xFF,0xC8], on: [0x31,0xC0]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Bypass all start-up errors",
|
||||
patches: [
|
||||
{offset: 0xB8B045, off: [0x75], on: [0xEB]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable ALL.net",
|
||||
patches: [
|
||||
{offset: 0x289261, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Card system",
|
||||
patches: [
|
||||
{offset: 0x289421, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Partition LED",
|
||||
patches: [
|
||||
{offset: 0x289441, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Deck reader",
|
||||
patches: [
|
||||
{offset: 0x289371, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Gear POP LED",
|
||||
patches: [
|
||||
{offset: 0x2893C1, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Printer",
|
||||
patches: [
|
||||
{offset: 0x289451, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Disable Touch panel",
|
||||
patches: [
|
||||
{offset: 0x289531, off: [0x01], on: [0x00]},
|
||||
],
|
||||
},
|
||||
])
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Kancolle Arcade Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||