added patcher and redirect to homepage if user is logged in
13
.gitignore
vendored
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -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>
|
||||
);
|
||||
|
@ -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;
|
||||
|
10
app/page.tsx
@ -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 />
|
||||
|
@ -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;
|
||||
|
@ -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 = () => {
|
||||
|
@ -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
@ -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;
|
@ -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 && (
|
||||
|
@ -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" }}
|
||||
/>
|
||||
|
@ -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
@ -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>
|
102
public/patcher/chuniair.html
Normal 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>
|
102
public/patcher/chuniairplus.html
Normal 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>
|
113
public/patcher/chuniamazon.html
Normal 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>
|
113
public/patcher/chuniamazonplus.html
Normal 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>
|
98
public/patcher/chunicrystal.html
Normal 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>
|
103
public/patcher/chunicrystalplus.html
Normal 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>
|
115
public/patcher/chuniparadise.html
Normal 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>
|
||||
|
98
public/patcher/chuniplus.html
Normal 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>
|
103
public/patcher/chunistar.html
Normal 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>
|
104
public/patcher/chunistarplus.html
Normal 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>
|
276
public/patcher/chusanluminous.html
Normal 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>
|
152
public/patcher/chusannew.html
Normal 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>
|
152
public/patcher/chusannewplus.html
Normal 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>
|
153
public/patcher/chusansun.html
Normal 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>
|
152
public/patcher/chusansunplus.html
Normal 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
11
public/patcher/css/file.svg
Normal 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=" " horiz-adv-x="512" d="" />
|
||||
<glyph unicode="" 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
BIN
public/patcher/css/file.woff
Normal file
405
public/patcher/css/style.css
Normal 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;
|
||||
}
|
BIN
public/patcher/img/chu/ni01.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
public/patcher/img/chu/ni02plus.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
public/patcher/img/chu/ni03air.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
public/patcher/img/chu/ni04airplus.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
public/patcher/img/chu/ni05star.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
public/patcher/img/chu/ni06starplus.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
public/patcher/img/chu/ni07amazon.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
public/patcher/img/chu/ni08amazonplus.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
public/patcher/img/chu/ni09crystal.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
public/patcher/img/chu/ni10crystalplus.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
public/patcher/img/chu/ni11paradise.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
public/patcher/img/chu/ni11paradiselost.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
public/patcher/img/chu/san12.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
public/patcher/img/chu/san13newplus.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
public/patcher/img/chu/san14sun.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
public/patcher/img/chu/san15sunplus.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
public/patcher/img/chu/san16luminous.png
Normal file
After Width: | Height: | Size: 14 KiB |