mirror of
https://github.com/two-torial/webpatcher.git
synced 2024-11-15 03:17:36 +01:00
408 lines
20 KiB
HTML
408 lines
20 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>IIDX BISTROVER DLL Modder</title>
|
|
<link rel="stylesheet" href="css/style.css" />
|
|
<!-- don't hate -->
|
|
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
|
|
<script type="text/javascript" src="js/FileSaver.min.js"></script>
|
|
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
|
<script type="text/javascript">
|
|
window.addEventListener("load", function () {
|
|
new PatchContainer([
|
|
//LDJ-2021042600
|
|
new Patcher("bm2dx.dll", "2021-04-26", [
|
|
{
|
|
name: "SSE4.2 Fix",
|
|
patches: [
|
|
{ offset: 0x20A454, off: [0xF3, 0x45, 0x0F], on: [0x90, 0x90, 0x90] },
|
|
],
|
|
},
|
|
{
|
|
name: "Skip Camera Error",
|
|
patches: [{ offset: 0x6B231B, off: [0x84], on: [0x81] }],
|
|
},
|
|
{
|
|
name: "Force 120hz timing and adapter mode in LDJ (Experimental)",
|
|
patches: [
|
|
{ offset: 0x3C6063, off: [0x75], on: [0xeb] },
|
|
{ offset: 0x771A5E, off: [0x3c], on: [0x78] },
|
|
{ offset: 0x771C49, off: [0x74, 0x03], on: [0x90, 0x90] },
|
|
],
|
|
},
|
|
{
|
|
name: "Shim Lightning Mode IO (for spicetools)",
|
|
patches: [
|
|
{
|
|
offset: 0x715FBE,
|
|
off: [0x0f, 0x84, 0x8d, 0x00, 0x00, 0x00],
|
|
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90],
|
|
},
|
|
{ offset: 0x78BFE4, off: [0x0f, 0x84], on: [0x90, 0xe9] },
|
|
{ offset: 0x78C750, off: [0x9c, 0xe4], on: [0x3c, 0xdd] },
|
|
],
|
|
},
|
|
{
|
|
name: "Bypass lightning monitor error",
|
|
patches: [
|
|
{ offset: 0x6A4D91, off: [0x0f, 0x85], on: [0x90, 0xe9] },
|
|
],
|
|
},
|
|
{
|
|
name: "Force LDJ software video decoder for all boot modes",
|
|
patches: [
|
|
{
|
|
offset: 0x715FB7,
|
|
off: [0x83, 0x78, 0x08, 0x02],
|
|
on: [0x83, 0x78, 0x08, 0x05],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "Unscramble touch screen keypad in TDJ",
|
|
patches: [
|
|
{
|
|
offset: 0x7488F5,
|
|
off: [0x4d, 0x03, 0xc8, 0x49, 0xf7, 0xf1],
|
|
on: [0xba, 0x0c, 0x00, 0x00, 0x00, 0x90],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "1P Premium Free",
|
|
patches: [
|
|
{
|
|
offset: 0x65BD64,
|
|
off: [0x75],
|
|
on: [0xEB],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "2P Premium Free",
|
|
patches: [
|
|
{
|
|
offset: 0x65BF15,
|
|
off: [0x74, 0x55],
|
|
on: [0x90, 0x90],
|
|
},
|
|
{ offset: 0x65BF2B, off: [0x74, 0x3F], on: [0x90, 0x90] },
|
|
|
|
],
|
|
},
|
|
{
|
|
name: "Premium Free Timer Freeze",
|
|
tooltip:
|
|
"Freezes the timer in PREMIUM FREE mode, allowing unlimited play until exit",
|
|
patches: [{ offset: 0x42E5DD, off: [0x7e], on: [0xeb] }],
|
|
},
|
|
{
|
|
name: "Unlock All Songs",
|
|
patches: [
|
|
{ offset: 0x429D49, off: [0x75, 0x24], on: [0x90, 0x90] },
|
|
],
|
|
},
|
|
{
|
|
name: "Unlock All 12s",
|
|
patches: [
|
|
{
|
|
offset: 0x429AF0,
|
|
off: [0x83, 0xff, 0x03, 0x74, 0x05, 0x83, 0xff, 0x08],
|
|
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "Skip Decide Screen",
|
|
patches: [
|
|
{
|
|
offset: 0x348980,
|
|
off: [0xe8, 0x6b, 0x00, 0x00, 0x00],
|
|
on: [0x90, 0x90, 0x90, 0x90, 0x90],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "CS-style song start delay",
|
|
tooltip : "Holding Start will pause the song at the beginning until you release it",
|
|
patches: [
|
|
{
|
|
offset: 0x68D453,
|
|
off: [0x7d, 0x4d],
|
|
on: [0x90, 0x90],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "Cursor Lock",
|
|
patches: [
|
|
{ offset: 0x662ECF, off: [0x74, 0x1f], on: [0x90, 0x90] },
|
|
],
|
|
},
|
|
{
|
|
name: "Quick Retry",
|
|
patches: [
|
|
{ offset: 0x40E36F, off: [0x32, 0xC0], on: [0xB0, 0x01] },
|
|
],
|
|
},
|
|
{
|
|
name: "Standard/Menu Timer Freeze",
|
|
patches: [{ offset: 0x6D6B77, off: [0x74], on: [0xeb] }],
|
|
},
|
|
{
|
|
name: "WASAPI Shared Mode (with 44100Hz)",
|
|
patches: [{ offset: 0x20A541, off: [0x01], on: [0x00] }],
|
|
},
|
|
{
|
|
name: "Always show FAST/SLOW total",
|
|
patches: [
|
|
{ offset: 0x678863, off: [0x74], on: [0x75] },
|
|
{ offset: 0x678A80, off: [0x74], on: [0x75] },
|
|
],
|
|
},
|
|
{
|
|
name: "Hide all bottom text",
|
|
patches: [
|
|
{ offset: 0x32EA01, off: [0x7F, 0x12, 0x44, 0x8B, 0xCB, 0x4C, 0x8D, 0x05, 0xBB, 0x06, 0x63, 0x00], on: [0x90, 0xE9, 0x22, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //EXTRA PASELI: %d
|
|
{ offset: 0x32EDBD, off: [0xE8, 0xAE, 0xAF, 0x00, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90] }, //INSERT COIN[S]
|
|
{ offset: 0x32EC0B, off: [0xFF, 0x15, 0xCF, 0xA7, 0x62, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //PASELI: ******
|
|
{ offset: 0x32ECA9, off: [0xFF, 0x15, 0x31, 0xA7, 0x62, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //PASELI: NO ACCOUNT
|
|
{ offset: 0x32EB24, off: [0x48, 0x8D, 0x05, 0x3D, 0x12, 0x77, 0x04], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //PASELI: NOT AVAILABLE
|
|
{ offset: 0x32E926, off: [0xFF, 0x15, 0xB4, 0xAA, 0x62, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //CREDIT: %d
|
|
],
|
|
},
|
|
{
|
|
name: "FREE PLAY text to LED ticker",
|
|
tooltip: "Song Title/Ticker information will display instead of FREEPLAY",
|
|
patches: [
|
|
{ offset: 0x32EABF, off: [0xAD, 0x05, 0x63, 0x00], on: [0x49, 0x56, 0x00, 0x05] },
|
|
],
|
|
},
|
|
]),
|
|
new Patcher("bm2dx.dll", "2021-09-15", [
|
|
{
|
|
name: "Bypass lightning monitor error",
|
|
patches: [
|
|
{ offset: 0x7464A1, off: [0x0f, 0x85], on: [0x90, 0xe9] },
|
|
],
|
|
},
|
|
{
|
|
name: "Shim Lightning Mode IO (for spicetools)",
|
|
patches: [
|
|
{ offset: 0x86EFD4, off: [0x0F, 0x84], on: [0x90, 0xE9] },
|
|
{ offset: 0x86F740, off: [0x9C, 0xE4], on: [0x3C, 0xDD] },
|
|
],
|
|
},
|
|
{
|
|
name: "Lightning Mode camera crash fix (for spicetools)",
|
|
patches: [
|
|
{
|
|
offset: 0x7BBF2E,
|
|
off: [0x0F, 0x84, 0x8D, 0x00, 0x00, 0x00],
|
|
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "Force LDJ software video decoder for all boot modes",
|
|
patches: [
|
|
{
|
|
offset: 0x7BBF27,
|
|
off: [0x83, 0x78, 0x08, 0x02],
|
|
on: [0x83, 0x78, 0x08, 0x05],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "Force 120hz timing and adapter mode in LDJ (Experimental)",
|
|
patches: [
|
|
{ offset: 0x45F163, off: [0x75], on: [0xeb] },
|
|
{ offset: 0x854A2E, off: [0x3c], on: [0x78] },
|
|
{ offset: 0x854C19, off: [0x74, 0x03], on: [0x90, 0x90] },
|
|
],
|
|
},
|
|
{
|
|
name: "WASAPI Shared Mode (with 44100Hz)",
|
|
patches: [{ offset: 0x28C9A1, off: [0x01], on: [0x00] }],
|
|
},
|
|
{
|
|
name: "Unscramble touch screen keypad in TDJ",
|
|
patches: [
|
|
{
|
|
offset: 0x7FB125,
|
|
off: [0x4d, 0x03, 0xc8, 0x49, 0xf7, 0xf1],
|
|
on: [0xba, 0x0c, 0x00, 0x00, 0x00, 0x90],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "Skip CAMERA DEVICE ERROR prompt",
|
|
tooltip: "Prevents the CAMERA DEVICE ERROR message from popping up on boot",
|
|
patches: [
|
|
{ offset: 0x75378B, off: [0x84], on: [0x81] },
|
|
],
|
|
},
|
|
{
|
|
name: "1P Premium Free",
|
|
tooltip: "Forcibly enables Premium Free option for 1P",
|
|
patches: [
|
|
{ offset: 0x6FAD09, off: [0x75], on: [0xEB] },
|
|
],
|
|
},
|
|
{
|
|
name: "2P Premium Free",
|
|
tooltip: "Forcibly enables Premium Free option for 2P",
|
|
patches: [
|
|
{ offset: 0x6FAF0A, off: [0x74, 0x6C], on: [0x90, 0x90] },
|
|
{ offset: 0x6FAF20, off: [0x74, 0x56], on: [0x90, 0x90] },
|
|
],
|
|
},
|
|
{
|
|
name: "2P force ARENA",
|
|
tooltip: "Allows selecting Arena option on 2P side",
|
|
patches: [
|
|
{ offset: 0x6FAF35, off: [0x75, 0x41], on: [0x90, 0x90] },
|
|
],
|
|
},
|
|
{
|
|
name: "Force BPL BATTLE",
|
|
tooltip: "Forcibly enables BPL BATTLE option",
|
|
patches: [
|
|
{ offset: 0x6FAF5A, off: [0x74, 0x1C], on: [0x90, 0x90] },
|
|
],
|
|
},
|
|
{
|
|
name: "Skip Decide Screen",
|
|
patches: [
|
|
{
|
|
offset: 0x3CD7C0,
|
|
off: [0xe8, 0x6b, 0x00, 0x00, 0x00],
|
|
on: [0x90, 0x90, 0x90, 0x90, 0x90],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "CS-style song start delay",
|
|
tooltip : "Holding Start will pause the song at the beginning until you release it",
|
|
patches: [
|
|
{
|
|
offset: 0x72DF33,
|
|
off: [0x7d, 0x4d],
|
|
on: [0x90, 0x90],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "Cursor Lock",
|
|
patches: [
|
|
{ offset: 0x7026EF, off: [0x74, 0x1f], on: [0x90, 0x90] },
|
|
],
|
|
},
|
|
{
|
|
name: "Quick Retry",
|
|
patches: [
|
|
{ offset: 0x4A859F, off: [0x32, 0xC0], on: [0xB0, 0x01] },
|
|
],
|
|
},
|
|
{
|
|
name: "Always show FAST/SLOW total",
|
|
patches: [
|
|
{ offset: 0x7186C3, off: [0x74], on: [0x75] },
|
|
{ offset: 0x7188E0, off: [0x74], on: [0x75] },
|
|
],
|
|
},
|
|
{
|
|
name: "Force max V-Discs",
|
|
tooltip : "Allows for infinite Leggendaria plays in Premium Free",
|
|
patches: [
|
|
{
|
|
offset: 0x4B20F9,
|
|
off: [0x44, 0x89, 0x4C, 0x81, 0x08, 0xC3, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08],
|
|
on: [0xC7, 0x44, 0x81, 0x08, 0x10, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: "Hide time limit display on results screen",
|
|
patches: [
|
|
{ offset: 0x73576F, off: [0x84, 0xC0], on: [0x90, 0x90] },
|
|
],
|
|
},
|
|
{
|
|
name: "Premium Free Timer Freeze",
|
|
tooltip:
|
|
"Freezes the timer in PREMIUM FREE mode, allowing unlimited play until exit",
|
|
patches: [{ offset: 0x4CBBF3, off: [0x74], on: [0xEB] }],
|
|
},
|
|
{
|
|
name: "Unlock All Songs",
|
|
patches: [
|
|
{ offset: 0x4C647A, off: [0x32, 0xC0], on: [0xB0, 0x01] },
|
|
],
|
|
},
|
|
{
|
|
name: "Standard/Menu Timer Freeze",
|
|
patches: [{ offset: 0x77A5B7, off: [0x74], on: [0xEB] }],
|
|
},
|
|
{
|
|
name: "Hide bottom text",
|
|
tooltip: "Hides the CREDIT, INSERT COINS, NO ACCOUNT, NOT AVAILABLE, and EXTRA PASELI messages",
|
|
patches: [
|
|
{ offset: 0x3B2591, off: [0x7F, 0x12, 0x44, 0x8B, 0xCB, 0x4C, 0x8D, 0x05, 0xEB, 0xB1, 0x6C, 0x00], on: [0x90, 0xE9, 0x22, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //EXTRA PASELI: %d
|
|
{ offset: 0x3B294D, off: [0xE8, 0x5E, 0xB1, 0x00, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90] }, //INSERT COIN[S]
|
|
{ offset: 0x3B2839, off: [0xFF, 0x15, 0xA9, 0x3B, 0x6C, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //PASELI: NO ACCOUNT
|
|
{ offset: 0x3B26B4, off: [0x48, 0x8D, 0x05, 0xFD, 0x1A, 0x90, 0x04], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //PASELI: NOT AVAILABLE
|
|
{ offset: 0x3B24B6, off: [0xFF, 0x15, 0x2C, 0x3F, 0x6C, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //CREDIT: %d
|
|
],
|
|
},
|
|
{
|
|
name: "Also hide \"PASELI: ******\" message",
|
|
tooltip: "Disable if using PASELI display to LED ticker patch",
|
|
patches: [
|
|
{ offset: 0x3B279B, off: [0xFF, 0x15, 0x47, 0x3C, 0x6C, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //PASELI: ******
|
|
],
|
|
},
|
|
{
|
|
name: "Redirect LED ticker to FREE PLAY",
|
|
tooltip: "Displays LED ticker messages on bottom right when FREE PLAY is enabled",
|
|
patches: [
|
|
{ offset: 0x3B264F, off: [0xDD, 0xB0, 0x6C, 0x00], on: [0x99, 0x83, 0x19, 0x05] }, //PASELI: ******
|
|
],
|
|
},
|
|
{
|
|
name: "Redirect LED ticker to PASELI display",
|
|
tooltip: "Displays LED ticker messages on bottom left when PASELI messages are present",
|
|
patches: [
|
|
{ offset: 0x3B2768, off: [0x4C, 0xB0, 0x6C, 0x00], on: [0x80, 0x82, 0x19, 0x05] }, //PASELI: %d
|
|
{ offset: 0x3B278D, off: [0x47, 0xB0, 0x6C, 0x00], on: [0x5B, 0x82, 0x19, 0x05] }, //PASELI: ******
|
|
],
|
|
},
|
|
{
|
|
name: "Disable News Sound",
|
|
tooltip: "Disables the sound played when news banners appear.",
|
|
patches: [
|
|
{
|
|
offset: 0xAEA508,
|
|
off: [0x73, 0x79, 0x73, 0x73, 0x64, 0x5F, 0x6E, 0x65, 0x77, 0x73, 0x5F, 0x63, 0x75, 0x74, 0x69, 0x6E, 0x5F, 0x73, 0x65], // syssd_news_cutin_se
|
|
on: [0x73, 0x79, 0x73, 0x73, 0x64, 0x5F, 0x64, 0x75, 0x6D, 0x6D, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] // syssd_dummy
|
|
},
|
|
]
|
|
},
|
|
{
|
|
name: "Increase game volume",
|
|
tooltip: "Ignore the in-game volume settings and use the maximum possible volume level. Especially helpful for TDJ which tends to be very quiet.",
|
|
patches: [
|
|
{ offset: 0x8731D5, off: [0xFF, 0x90, 0x98, 0x00, 0x00, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] },
|
|
],
|
|
},
|
|
]),
|
|
]);
|
|
});
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<h1>IIDX BISTROVER DLL Modder</h1>
|
|
</body>
|
|
</html>
|