feat: patches for chusan 2.41

This commit is contained in:
asterisk727
2026-01-02 11:59:36 +09:00
parent b8e1df4961
commit d49591de66
+129
View File
@@ -137,6 +137,135 @@
{offset: 0x8462B0, off: [0x69, 0x44, 0x24, 0x04, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90]}
]
},
]),
new Patcher("chusanApp.exe", "2.41", [
{
name: "Force shared audio mode",
tooltip: "Improves compatibility, but may increase latency",
patches: [
{offset: 0xE073A3, off: [0x01], on: [0x00]}
]
},
{
name: "Force 2 channel audio output",
tooltip: "May cause bass overload",
patches: [
{offset: 0xE0745B, off: [0x75, 0x3f], on: [0x90, 0x90]}
]
},
{
name: "Disable song select timer",
patches: [
{offset: 0x9BE63D, 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: 0x9279E7,
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: 0x91CB4A,
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: 0x9C7F71,
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: 0x17AA604, off: [0xF0], on: [0x00]},
{offset: 0x17AA608, 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: 0x14E98C, 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: 0x14E97E, 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: 0x14888E4,
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: 0x8BA77D, off: [0x01], on: [0x00] },
],
},
{
name: "Set all timers to 999",
danger: "[DEPRECATED] Breaks online matching functionality",
patches: [
{offset: 0x8467E0, off: [0x69, 0x44, 0x24, 0x04, 0xe8, 0x03, 0x00, 0x00], on: [0xb8, 0x58, 0x3e, 0x0f, 0x00, 0x90, 0x90, 0x90]}
]
},
]),
]);
new PatchContainer([