added patcher and redirect to homepage if user is logged in

This commit is contained in:
Polaris 2024-08-17 16:25:04 -04:00
parent a313021c9e
commit 1dc548936b
50 changed files with 3754 additions and 22 deletions

13
.gitignore vendored
View File

@ -36,4 +36,15 @@ yarn-error.log*
next-env.d.ts
.env
/public
/public/avatarAccessory
/public/avatarStatic
/public/chunithm_partners
/public/chusan_partners
/public/jacketArts
/public/mapIcons
/public/namePlates
public/systemVoiceThumbnails

View File

@ -17,6 +17,7 @@ import { getUserRatingBaseList } from "@/components/userRatingBaseList/action";
import { ChunithmHotPlays } from "@/components/userRatingBaseHotList/page";
import { getUserRatingBaseHotList } from "@/components/userRatingBaseHotList/action";
import { ChunithmTopPlays } from "@/components/userRatingBaseList/page";
import Patcher from "../../../components/patcher/page";
const getChuniTopPlays = async () => {
const topPlays = await getUserRatingBaseList();
@ -88,13 +89,14 @@ const Page = async () => {
const HotChuniPlays = await getChuniHotPlays();
return (
<div className="p-10">
<div className="p-3">
<Tabs defaultValue="scores">
<TabsList>
<TabsList className="">
<TabsTrigger value="scores">Scores</TabsTrigger>
<TabsTrigger value="customize">Customize</TabsTrigger>
<TabsTrigger value="TopPlays">Top Plays</TabsTrigger>
<TabsTrigger value="HotPlays">Hot Plays</TabsTrigger>
<TabsTrigger value="Patcher">Patcher</TabsTrigger>
</TabsList>
<TabsContent value="scores">
<ChunithmScorePlaylog />
@ -135,6 +137,9 @@ const Page = async () => {
<TabsContent value="HotPlays">
<ChunithmHotPlays chuniProfileHotPlays={HotChuniPlays} />
</TabsContent>
<TabsContent value="Patcher">
<Patcher />
</TabsContent>
</Tabs>
</div>
);

View File

@ -1,7 +1,7 @@
import React from "react";
const Dashboard = () => {
return <div>Dashboard</div>;
return <div className="pt-2 text-center">Welcome to Daphnis</div>;
};
export default Dashboard;

View File

@ -1,6 +1,14 @@
import { SignInForm } from "@/auth/components/signin/signin";
import { getAuth } from "@/auth/queries/getauth";
import { redirect } from "next/navigation";
const PublicHomePage = async () => {
const { user } = await getAuth();
if (user) {
redirect("/home");
}
const PublicHomePage = () => {
return (
<div className="flex h-screen items-center justify-center">
<SignInForm />

View File

@ -34,7 +34,7 @@ import { getCurrentMapIcon, updatePlayerMapIcon } from "./actions";
const getNamePlateTextures = (id: number | undefined) => {
if (id === undefined) return "";
const paddedId = id.toString().padStart(8, "0");
return `mapIcon/CHU_UI_MapIcon_${paddedId}.png`;
return `mapIcons/CHU_UI_MapIcon_${paddedId}.png`;
};
type mapIcons = cozynet_chuni_static_mapicon;

View File

@ -6,7 +6,6 @@ import { usePathname } from "next/navigation";
const NAV_ITEMS = [
{ href: "/home", label: "Home" },
{ href: "/chunithm", label: "Chunithm" },
// { href: "/maimai", label: "Maimai" },
];
const NavigationMenuDesktop = () => {

View File

@ -6,7 +6,6 @@ import { usePathname } from "next/navigation";
const NAV_ITEMS = [
{ href: "/home", label: "Home" },
{ href: "/chunithm", label: "Chunithm" },
// { href: "/maimai", label: "Maimai" },
];
const NavigationMenuMobile = () => {

179
components/patcher/page.tsx Normal file
View File

@ -0,0 +1,179 @@
import Head from "next/head";
import Image from "next/image";
import Link from "next/link";
const Patcher = () => {
return (
<div>
<Head>
<title>CHUNITHM Patching Tools</title>
<meta charSet="utf-8" />
<link rel="stylesheet" href="/patcher/css/style.css" />
</Head>
<div className="grid grid-cols-1 place-items-center gap-6 pt-8 md:grid-cols-4">
<Link href="/patcher/chuni.html" className="gameicon">
<Image
src="/patcher/img/chu/ni01.png"
alt="CHUNITHM"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chuniplus.html" className="gameicon">
<Image
src="/patcher/img/chu/ni02plus.png"
alt="CHUNITHM PLUS"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chuniair.html" className="gameicon">
<Image
src="/patcher/img/chu/ni03air.png"
alt="CHUNITHM AIR"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chuniairplus.html" className="gameicon">
<Image
src="/patcher/img/chu/ni04airplus.png"
alt="CHUNITHM AIR PLUS"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chunistar.html" className="gameicon">
<Image
src="/patcher/img/chu/ni05star.png"
alt="CHUNITHM STAR"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chunistarplus.html" className="gameicon">
<Image
src="/patcher/img/chu/ni06starplus.png"
alt="CHUNITHM STAR PLUS"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chuniamazon.html" className="gameicon">
<Image
src="/patcher/img/chu/ni07amazon.png"
alt="CHUNITHM AMAZON"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chuniamazonplus.html" className="gameicon">
<Image
src="/patcher/img/chu/ni08amazonplus.png"
alt="CHUNITHM AMAZON PLUS"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chunicrystal.html" className="gameicon">
<Image
src="/patcher/img/chu/ni09crystal.png"
alt="CHUNITHM CRYSTAL"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chunicrystalplus.html" className="gameicon">
<Image
src="/patcher/img/chu/ni10crystalplus.png"
alt="CHUNITHM CRYSTAL PLUS"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chuniparadise.html" className="gameicon">
<div className="image-wrapper">
<Image
src="/patcher/img/chu/ni11paradise.png"
alt="CHUNITHM PARADISE"
className="image"
width={120}
height={120}
/>
</div>
</Link>
<Link href="/patcher/ni11paradiselost.html" className="gameicon">
<div className="image-wrapper">
<Image
src="/patcher/img/chu/ni11paradiselost.png"
alt="CHUNITHM PARADISE LOST"
className="image-hover"
width={120}
height={120}
/>
</div>
</Link>
<Link href="/patcher/chusannew.html" className="gameicon">
<Image
src="/patcher/img/chu/san12.png"
alt="CHUNITHM NEW!!"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chusannewplus.html" className="gameicon">
<Image
src="/patcher/img/chu/san13newplus.png"
alt="CHUNITHM NEW PLUS!!"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chusansun.html" className="gameicon">
<Image
src="/patcher/img/chu/san14sun.png"
alt="CHUNITHM SUN"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chusansunplus.html" className="gameicon">
<Image
src="/patcher/img/chu/san15sunplus.png"
alt="CHUNITHM SUN PLUS"
width={120}
height={120}
/>
</Link>
<Link href="/patcher/chusanluminous.html" className="gameicon">
<Image
src="/patcher/img/chu/san16luminous.png"
alt="CHUNITHM LUMINOUS"
width={120}
height={120}
/>
</Link>
</div>
<center className="pt-8">
<div className="tagline">
Chuni patches sourced from various online patchers
</div>
<div className="tagline">
Chusan patches created with{" "}
<a href="https://gitea.tendokyu.moe/beerpsi/CHUNITHM-Patch-Finder">
CHUNITHM-Patch-Finder
</a>
</div>
<div className="tagline">
<em>
Original web patcher by <a href="https://github.com/mon/">mon</a>
</em>
</div>
</center>
</div>
);
};
export default Patcher;

View File

@ -38,7 +38,7 @@ export const columns: ColumnDef<chunithm>[] = [
<Skeleton className="mr-2 inline-block h-8 w-8" />
) : (
<img
src={`/JacketArt/${jacketPath}`}
src={`/jacketArts/${jacketPath}`}
alt="Jacket"
className="mr-2 inline-block h-8 w-8"
/>
@ -113,17 +113,7 @@ export const columns: ColumnDef<chunithm>[] = [
},
{
accessorKey: "FC / AJ",
header: ({ column }) => {
return (
<Button
variant="ghost"
onClick={() => column.toggleSorting(column.getIsSorted() === "asc")}
>
FC/AJ
{/* <ArrowUpDown className="ml-2 h-4 w-4" /> */}
</Button>
);
},
header: "FC / AJ",
cell: ({ row }) => (
<div className="font-medium">
{!row.original.isAllJustice && row.original.isFullCombo && (

View File

@ -36,7 +36,7 @@ export const ChunithmHotPlays: FC<ChunithmProfileHotPlays> = ({
<div className="m-4 font-bold"></div>
{jacketPath && (
<img
src={`/JacketArt/${jacketPath}`}
src={`/jacketArts/${jacketPath}`}
alt="Jacket"
style={{ width: "120px", height: "120px" }}
/>

View File

@ -41,7 +41,7 @@ export const ChunithmTopPlays: FC<chunithmTopPlays> = ({
<div className="font-bold"></div>
{jacketPath && (
<img
src={`/JacketArt/${jacketPath}`}
src={`/jacketArts/${jacketPath}`}
alt="Jacket"
className="h-28 w-28"
/>

152
public/patcher/chuni.html Normal file
View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -0,0 +1,276 @@
<!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: "Set all timers to 999",
danger: "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]}
]
},
{
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: "hex",
name: "Custom FREE PLAY text",
tooltip: "Replace the FREE PLAY text when using Infinite credits",
offset: 0x19d88c4,
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: 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]}
]
}
]),
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: "Set all timers to 999",
danger: "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]}
]
},
{
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]}
]
},
// currently broken due to how type: "number" is implemented in dllpatcher.js. left here for when a solution is found
//{
// type: "number",
// name: "Custom credit text length",
// tooltip: "Changes the length of the text displayed when Force FREE PLAY credit text is enabled",
// offset: 0x387399,
// size: 1,
// min: 0,
// max: 11,
//},
{
type: "hex",
name: "Custom FREE PLAY text",
tooltip: "Replace the FREE PLAY text when using Infinite credits",
offset: 0x19d9cd4,
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: 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]}
]
}
])
]);
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]}
]
}
])
]);
});
</script>
</head>
<body>
<h1>CHUNITHM LUMINOUS Modder</h1>
</body>
</html>

View File

@ -0,0 +1,152 @@
<!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: "Set all timers to 999",
danger: "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]}
]
},
{
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]}
]
}
])
]);
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]}
]
}
])
]);
});
</script>
</head>
<body>
<h1>CHUNITHM NEW!! Modder</h1>
</body>
</html>

View File

@ -0,0 +1,152 @@
<!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: "Set all timers to 999",
danger: "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]}
]
},
{
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]}
]
}
])
]);
new PatchContainer([
new Patcher("amdaemon.exe", "2.05.00", [
{
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]}
]
}
])
]);
});
</script>
</head>
<body>
<h1>CHUNITHM NEW PLUS!! Modder</h1>
</body>
</html>

View File

@ -0,0 +1,153 @@
<!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: "Force shared audio mode, system audio sample rate must be 48000Hz",
tooltip: "Improves compatibility, but may increase latency",
patches: [
{offset: 0xec8f7a, off: [0x01], on: [0x00]}
]
},
{
name: "Force 2 channel audio output",
tooltip: "May cause bass overload",
patches: [
{offset: 0xec9051, off: [0x75, 0x3f], on: [0x90, 0x90]}
]
},
{
name: "Disable song select timer",
patches: [
{offset: 0x9adf1b, off: [0x74], on: [0xeb]}
]
},
{
name: "Set all timers to 999",
danger: "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]}
]
},
{
name: "Unlimited maximum tracks",
tooltip: "Must check to play more than 7 tracks per credit",
patches: [
{offset: 0x6e84e7, off: [0xf0], on: [0xc0]}
]
},
{
type: "number",
name: "Maximum tracks",
offset: 0x3978c1,
size: 4,
min: 3,
max: 12
},
{
name: "No encryption",
tooltip: "Will also disable TLS",
patches: [
{offset: 0x1d55c40, off: [0xd2], on: [0x00]},
{offset: 0x1d55c44, off: [0xd2], on: [0x00]}
]
},
{
name: "No TLS",
tooltip: "Title server workaround",
patches: [
{offset: 0xeac007, 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: 0x6218f3, 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: 0x386d54, off: [0x3c, 0x01], on: [0x38, 0xc0]}
]
},
{
type: "hex",
name: "Custom FREE PLAY text",
tooltip: "Replace the FREE PLAY text when using Infinite credits",
offset: 0x1977024,
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: 0xbab8f3, off: [0x74], on: [0xeb]}
]
},
{
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: "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]}
]
}
])
]);
new PatchContainer([
new Patcher("amdaemon.exe", "2.10.00", [
{
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]}
]
}
])
]);
});
</script>
</head>
<body>
<h1>CHUNITHM SUN Modder</h1>
</body>
</html>

View File

@ -0,0 +1,152 @@
<!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: "Force shared audio mode, system audio sample rate must be 48000Hz",
tooltip: "Improves compatibility, but may increase latency",
patches: [
{offset: 0xed689a, off: [0x01], on: [0x00]}
]
},
{
name: "Force 2 channel audio output",
tooltip: "May cause bass overload",
patches: [
{offset: 0xed6971, off: [0x75, 0x3f], on: [0x90, 0x90]}
]
},
{
name: "Disable song select timer",
patches: [
{offset: 0x9b9b0b, off: [0x74], on: [0xeb]}
]
},
{
name: "Set all timers to 999",
danger: "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]}
]
},
{
name: "Unlimited maximum tracks",
tooltip: "Must check to play more than 7 tracks per credit",
patches: [
{offset: 0x6f1d87, 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: 0x1d68450, off: [0xd2], on: [0x00]},
{offset: 0x1d68454, off: [0xd2], on: [0x00]}
]
},
{
name: "No TLS",
tooltip: "Title server workaround",
patches: [
{offset: 0xeb9907, 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: 0x629263, 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: 0x386f74, off: [0x3c, 0x01], on: [0x38, 0xc0]}
]
},
{
type: "hex",
name: "Custom FREE PLAY text",
tooltip: "Replace the FREE PLAY text when using Infinite credits",
offset: 0x1987894,
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: 0xbb74f3, off: [0x74], on: [0xeb]}
]
},
{
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: "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]}
]
}
])
]);
new PatchContainer([
new Patcher("amdaemon.exe", "2.16.00", [
{
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]}
]
}
])
]);
});
</script>
</head>
<body>
<h1>CHUNITHM SUN PLUS Modder</h1>
</body>
</html>

BIN
public/patcher/css/file.eot Normal file

Binary file not shown.

View File

@ -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="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe900;" 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

BIN
public/patcher/css/file.ttf Normal file

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,405 @@
@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;
background-color: #a2a2a2;
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(.25, .8, .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;
background: #fffcf0;
}
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, .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;
}
.error {
color: red;
}
.success {
color: DarkGreen;
}
.success.hidden {
display: none;
}
.patchContainer {
background-color: white;
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;
background: grey;
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;
background: gray;
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 {
background: #ff6000 !important;
}
.danger:before {
content: '!!';
background: #ff6000;
}
body {
margin: 40px auto;
max-width: 1300px;
line-height: 1.6;
font-size: 18px;
color: #000;
padding: 0 10px;
background: #e2e1e0;
font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;
}
h1,
h2,
h3 {
line-height: 1.2;
}
h4,
h5 {
line-height: 1;
margin: 10px auto;
}
h1 {
text-align: center;
}
h1 a {
color: inherit;
text-decoration: inherit;
}
button, .fileLabel > strong {
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.25, 0.5, 0.5, 1);
position: relative;
padding: 0 16px;
height: 36px;
border: none;
border-radius: 2px;
outline: none;
font-size: 0.875rem;
font-weight: 500;
letter-spacing: 0.04em;
line-height: 2.25rem;
color: rgba(0, 0, 0, 0.73);
transition-property: box-shadow, background;
background-color: #40b31a;
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25), 0px 0px 2px rgba(0, 0, 0, 0.125);
color: white;
cursor: pointer;
}
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);
background-color: #5dbe3c;
}
.matchPercent {
font-size: 15px;
font-style: italic;
color: red;
}
.matchSuccess {
font-size: 15px;
font-style: italic;
color: green;
}
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;
speak: none;
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;
}
@media (prefers-color-scheme: dark) {
body {
background: #1d1e1f;
color: #fff;
}
.gameicon, .patchContainer {
background-color: #2e2e2e;
}
label.gameicon {
background: #303025;
}
.subsection {
background-color: #464646;
}
.success {
color: green;
}
}
@media (prefers-color-scheme: light) {
body {
background: #e2e1e0;
color: #000;
}
.gameicon, .patchContainer {
background-color: white;
}
label.gameicon {
background: #fffcf0;
}
.subsection {
background-color: #a2a2a2;
}
}
.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;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because it is too large Load Diff