mirror of
https://github.com/asterisk727/webpatcher.git
synced 2026-09-22 22:58:07 +03:00
367 lines
17 KiB
HTML
367 lines
17 KiB
HTML
<!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>
|