diff --git a/resident.html b/resident.html
index a50a09a..9812109 100644
--- a/resident.html
+++ b/resident.html
@@ -381,6 +381,282 @@
patches: [{ offset: 0xA76633, off: [0x7C, 0x21], on: [0x90, 0x90] }],
},
]),
+ new Patcher("bm2dx.dll", "2023-09-05-LDJ-012", [
+ {
+ name: "Standard/Menu Timer Freeze",
+ patches: [{ offset: 0x5ACA77, off: [0x0F, 0x84], on: [0x90, 0xE9] }],
+ },
+ {
+ name: "Premium Free Timer Freeze",
+ patches: [{ offset: 0x4F7333, off: [0x74], on: [0xEB] }],
+ },
+ {
+ name: "Hide Background Color Banners on Song List",
+ patches: [
+ { offset: 0x8BF6F5, off: [0x5F], on: [0x00] },
+ { offset: 0x8BF705, off: [0x5F], on: [0x00] },
+ ]
+ },
+ {
+ name: "Cursor Lock",
+ patches: [{ offset: 0x53AEA1, off: [0x74, 0x1F], on: [0x90, 0x90] }],
+ },
+ {
+ name: "Unlock All Songs and Charts",
+ patches: [{ offset: 0x4F11EA, off: [0x32, 0xC0], on: [0xB0, 0x01] }],
+ },
+ {
+ name: "CS-style Song Start Delay",
+ tooltip: "Holding Start will pause the song at the beginning until you release it",
+ patches: [{ offset: 0x55BB67, off: [0x7D, 0x36], on: [0x90, 0x90] }],
+ },
+ {
+ name: "Show Lightning Model Folder in LDJ",
+ tooltip: "This folder is normally exclusive to TDJ mode",
+ patches: [{ offset: 0x4C5A56, off: [0x75, 0x0A], on: [0x90, 0x90] }],
+ },
+ {
+ name: "Lightning Mode Camera Crash Fix (for spicetools) / Force LDJ Software Video Decoder for All Boot Modes",
+ patches: [{ offset: 0x5EAEF1, off: [0x0F, 0x85, 0x86, 0x00, 0x00, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }],
+ },
+ {
+ name: "Force Custom Timing and Adapter Mode in LDJ (Experimental)",
+ tooltip: "Enable this if the patch below is not default",
+ patches: [
+ { offset: 0x47D291, off: [0x74, 0x2E], on: [0x90, 0x90] },
+ { offset: 0x47D29C, off: [0x74, 0x23], on: [0x90, 0x90] },
+ { offset: 0x6BABE2, off: [0x74, 0x14], on: [0x90, 0x90] },
+ { offset: 0x6BABED, off: [0x74, 0x09], on: [0x90, 0x90] },
+ ]
+ },
+ {
+ type : "union",
+ name : "Choose Custom LDJ Timing/Adapter FPS",
+ offset : 0x6BA9DB,
+ patches : [
+ {
+ name : "60 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0x3C, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x03, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0x3C, 0x00, 0x00, 0x00],
+ },
+ {
+ name : "120 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0x78, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x03, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0x78, 0x00, 0x00, 0x00],
+ },
+ {
+ name : "144 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0x90, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x03, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0x90, 0x00, 0x00, 0x00],
+ },
+ {
+ name : "165 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0xA5, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x03, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0xA5, 0x00, 0x00, 0x00],
+ },
+ {
+ name : "240 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x03, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0xF0, 0x00, 0x00, 0x00],
+ },
+ {
+ name : "360 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0x68, 0x01, 0x00, 0x00, 0xC7, 0x45, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x03, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0x68, 0x01, 0x00, 0x00],
+ },
+ ]
+ },
+ {
+ type : "union",
+ name : "Choose Custom TDJ Timing/Adapter FPS",
+ offset : 0x6BAA15,
+ patches : [
+ {
+ name : "60 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0x3C, 0x00, 0x00, 0x00, 0xC7, 0x45, 0x17, 0x03, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x1B, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0x3C, 0x00, 0x00, 0x00],
+ },
+ {
+ name : "120 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0x78, 0x00, 0x00, 0x00, 0xC7, 0x45, 0x17, 0x03, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x1B, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0x78, 0x00, 0x00, 0x00],
+ },
+ {
+ name : "144 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0x90, 0x00, 0x00, 0x00, 0xC7, 0x45, 0x17, 0x03, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x1B, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0x90, 0x00, 0x00, 0x00],
+ },
+ {
+ name : "165 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0xA5, 0x00, 0x00, 0x00, 0xC7, 0x45, 0x17, 0x03, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x1B, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0xA5, 0x00, 0x00, 0x00],
+ },
+ {
+ name : "240 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0xC7, 0x45, 0x17, 0x03, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x1B, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0xF0, 0x00, 0x00, 0x00],
+ },
+ {
+ name : "360 FPS",
+ patch : [0xC7, 0x45, 0xDB, 0x68, 0x01, 0x00, 0x00, 0xC7, 0x45, 0x17, 0x03, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xD7, 0x48, 0x89, 0x45, 0x1B, 0xC7, 0x45, 0xD7, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xDB, 0x68, 0x01, 0x00, 0x00],
+ },
+ ]
+ },
+ {
+ type : "union",
+ name : "Choose Fullscreen Monitor Check FPS Target",
+ offset : 0x57F20D,
+ patches : [
+ {
+ name : "60 FPS",
+ patch : [0x3C, 0x00],
+ },
+ {
+ name : "120 FPS",
+ patch : [0x78, 0x00],
+ },
+ {
+ name : "144 FPS",
+ patch : [0x90, 0x00],
+ },
+ {
+ name : "165 FPS",
+ patch : [0xA5, 0x00],
+ },
+ {
+ name : "240 FPS",
+ patch : [0xF0, 0x00],
+ },
+ {
+ name : "360 FPS",
+ patch : [0x68, 0x01],
+ },
+ ]
+ },
+ {
+ name: "Skip Monitor Check",
+ patches: [{ offset: 0x5789E3, off: [0x8C], on: [0x8D] }],
+ },
+ {
+ type : "union",
+ name : "Choose Skip Monitor Check FPS",
+ offset : 0x58BF00,
+ patches : [
+ {
+ name : "Default",
+ patch : [0x44, 0x8B, 0x91, 0x48, 0x0B, 0x00, 0x00, 0x44, 0x8B, 0xCA, 0x4C, 0x8B, 0xD9, 0x41, 0x81, 0xC2, 0x67, 0x01, 0x00, 0x00],
+ },
+ {
+ name : "60.0000 FPS",
+ patch : [0x48, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x40, 0x66, 0x48, 0x0F, 0x6E, 0xC0, 0xF2, 0x0F, 0x58, 0xC8, 0xC3],
+ },
+ {
+ name : "120.0000 FPS",
+ patch : [0x48, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x40, 0x66, 0x48, 0x0F, 0x6E, 0xC0, 0xF2, 0x0F, 0x58, 0xC8, 0xC3],
+ },
+ {
+ name : "144.0000 FPS",
+ patch : [0x48, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x40, 0x66, 0x48, 0x0F, 0x6E, 0xC0, 0xF2, 0x0F, 0x58, 0xC8, 0xC3],
+ },
+ {
+ name : "165.0000 FPS",
+ patch : [0x48, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x64, 0x40, 0x66, 0x48, 0x0F, 0x6E, 0xC0, 0xF2, 0x0F, 0x58, 0xC8, 0xC3],
+ },
+ {
+ name : "240.0000 FPS",
+ patch : [0x48, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x40, 0x66, 0x48, 0x0F, 0x6E, 0xC0, 0xF2, 0x0F, 0x58, 0xC8, 0xC3],
+ },
+ {
+ name : "360.0000 FPS",
+ patch : [0x48, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x76, 0x40, 0x66, 0x48, 0x0F, 0x6E, 0xC0, 0xF2, 0x0F, 0x58, 0xC8, 0xC3],
+ },
+ ]
+ },
+ {
+ name: "Enable BPL Battle",
+ patches: [{ offset: 0x537236, off: [0x74, 0x1C], on: [0x90, 0x90] }],
+ },
+ {
+ name: "WASAPI Shared Mode (with 44100Hz)",
+ patches: [{ offset: 0x2AEFC9, off: [0x0F, 0x84], on: [0x90, 0xE9] }],
+ },
+ {
+ name: "Hide All Bottom Text",
+ tooltip: "Except for FREE PLAY",
+ patches: [{ offset: 0x8B46D0, off: [0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x3A, 0x20, 0x25, 0x64, 0x20, 0x43, 0x4F, 0x49, 0x4E, 0x3A, 0x20, 0x25, 0x64, 0x20, 0x2F, 0x20, 0x25, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x3A, 0x20, 0x25, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x41, 0x53, 0x45, 0x4C, 0x49, 0x3A, 0x20, 0x4E, 0x4F, 0x54, 0x20, 0x41, 0x56, 0x41, 0x49, 0x4C, 0x41, 0x42, 0x4C, 0x45, 0x00, 0x00, 0x00, 0x45, 0x58, 0x54, 0x52, 0x41, 0x20, 0x50, 0x41, 0x53, 0x45, 0x4C, 0x49, 0x3A, 0x20, 0x25, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x58, 0x54, 0x52, 0x41, 0x20, 0x50, 0x41, 0x53, 0x45, 0x4C, 0x49, 0x3A, 0x20, 0x25, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x41, 0x53, 0x45, 0x4C, 0x49, 0x3A, 0x20, 0x25, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x41, 0x53, 0x45, 0x4C, 0x49, 0x3A, 0x20, 0x25, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x41, 0x53, 0x45, 0x4C, 0x49, 0x3A, 0x20, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x00, 0x00, 0x20, 0x2B, 0x20, 0x25, 0x64, 0x00, 0x00, 0x00, 0x20, 0x2B, 0x20, 0x25, 0x73, 0x00, 0x00, 0x00, 0x50, 0x41, 0x53, 0x45, 0x4C, 0x49, 0x3A, 0x20, 0x4E, 0x4F, 0x20, 0x41, 0x43, 0x43, 0x4F, 0x55, 0x4E, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x4E, 0x53, 0x45, 0x52, 0x54, 0x20, 0x43, 0x4F, 0x49, 0x4E, 0x5B, 0x53, 0x5D, 0x00, 0x00, 0x50, 0x41, 0x53, 0x45, 0x4C, 0x49, 0x3A, 0x20, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x20, 0x2B, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x3A, 0x20, 0x39, 0x39, 0x20, 0x43, 0x4F, 0x49, 0x4E, 0x3A, 0x20, 0x39, 0x39, 0x20, 0x2F, 0x20, 0x31, 0x30], on: [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] }],
+ },
+ {
+ type : "union",
+ name : "Reroute FREE PLAY Text",
+ offset : 0x37D29F,
+ patches : [
+ {
+ name : "Default",
+ patch : [0x1D, 0x7E, 0x53, 0x00],
+ },
+ {
+ name : "Song Title/Ticker information",
+ patch : [0x69, 0x0B, 0x57, 0x06],
+ },
+ {
+ name : "Hide",
+ patch : [0x91, 0x2D, 0x61, 0x00],
+ },
+ ]
+ },
+ {
+ name: "Reroute PASELI: ****** Text To Song Title/Ticker Information",
+ patches: [{ offset: 0x37D3DD, off: [0x87, 0x7D, 0x53, 0x00], on: [0x2B, 0x0A, 0x57, 0x06] }],
+ },
+ {
+ name: "Debug Mode",
+ tooltip: "While in game, press F1 to enable menu. (Disables Profile/Score saving)",
+ patches: [{ offset: 0x584D00, off: [0x32, 0xC0], on: [0xB0, 0x01] }],
+ },
+ {
+ name: "Increase 'All Factory Settings' Buffer",
+ tooltip: "Enable this if the option below is not default",
+ patches: [
+ { offset: 0x5b264E, off: [0x58, 0x01, 0x00, 0x00], on: [0x22, 0x61, 0x14, 0x00] },
+ { offset: 0x85814A, off: [0x58, 0x01, 0x00, 0x00], on: [0x22, 0x61, 0x14, 0x00] },
+ ]
+ },
+ {
+ type : "union",
+ name : "Reroute 'All Factory Settings' Test Menu",
+ offset : 0x5B2665,
+ patches : [
+ {
+ name : "Default",
+ patch : [0x37, 0x82, 0x01, 0x00],
+ },
+ {
+ name : "AfpViewerScene",
+ patch : [0x17, 0xFE, 0xED, 0xFF],
+ },
+ {
+ name : "QproViewerScene",
+ patch : [0x67, 0x95, 0xEE, 0xFF],
+ },
+ {
+ name : "SoundViewerScene",
+ patch : [0x17, 0x0D, 0xEF, 0xFF],
+ },
+ {
+ name : "CustomizeViewerScene",
+ patch : [0xA7, 0x23, 0xEE, 0xFF],
+ },
+ {
+ name : "SoundRankingViewerScene",
+ patch : [0xD7, 0xC6, 0xEE, 0xFF],
+ },
+ ]
+ },
+ {
+ name: "Omnimix",
+ patches: [
+ { offset: 0x595A10, off: [0x74, 0x73], on: [0xEB, 0x30] },
+ { offset: 0x595A45, off: [0x41], on: [0x58] },
+ { offset: 0x5980DF, off: [0x74], on: [0xEB] },
+ { offset: 0x5980F6, off: [0x7F, 0x19], on: [0x90, 0x90] },
+ { offset: 0x8DA677, off: [0x61], on: [0x6F] },
+ { offset: 0x989E03, off: [0x64, 0x61, 0x74, 0x61], on: [0x6F, 0x6D, 0x6E, 0x69] },
+ // { offset: 0x8D5672, off: [0x79, 0x6F, 0x6D, 0x69], on: [0x6F, 0x6D, 0x6E, 0x69] },
+ // { offset: 0x8D569B, off: [0x79, 0x6F, 0x6D, 0x69], on: [0x6F, 0x6D, 0x6E, 0x69] },
+ // { offset: 0x9A0EB1, off: [0x6C, 0x69, 0x73, 0x74], on: [0x6F, 0x6D, 0x6E, 0x69] },
+ { offset: 0x4C462D, off: [0xE8, 0xCE, 0xCA, 0x02, 0x00], on: [0xB8, 0x01, 0x00, 0x00, 0x00] },
+ ]
+ },
+ ]),
]);
});