mirror of
https://github.com/two-torial/webpatcher.git
synced 2024-11-30 18:24:32 +01:00
Implement new n-0 policy for my sanity
This commit is contained in:
parent
fc6ccd56f6
commit
5443cc09c0
@ -10,6 +10,7 @@ These days, I do not create the patches. Everything is community submitted.
|
||||
If you would like new hex edits, make them yourself and make a pull request!
|
||||
|
||||
## Patch rules
|
||||
- *New*: No n-0 newer than 1 year ago. [Why?](docs/why_no_n_minus_zero.md)
|
||||
- Rhythm games only. Bombergirl is the one exception, it's Konami anyway.
|
||||
- No autoplay patches
|
||||
- It is far too easy to accidentally get people banned from their networks
|
||||
@ -34,8 +35,3 @@ multiple commits, I will squash and merge.
|
||||
|
||||
Please do not worry about submitting "bad" PRs. If there is something wrong, I
|
||||
will tell you how to fix it or I will fix it myself before merging.
|
||||
|
||||
Submitting a PR for an n-0 game is frowned upon in the general community and
|
||||
might make you disliked. The BemaniPatcher repository does not judge, and **I
|
||||
will merge n-0 patches**, but please be mindful that your submission may have
|
||||
unintended consequences for you.
|
||||
|
190
bistrover.html
190
bistrover.html
@ -1,190 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>IIDX BISTROVER DLL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css" />
|
||||
<!-- don't hate -->
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
|
||||
<script type="text/javascript" src="js/FileSaver.min.js"></script>
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
//LDJ-2021042600
|
||||
new Patcher("bm2dx.dll", "2021-04-26", [
|
||||
{
|
||||
name: "SSE4.2 Fix",
|
||||
patches: [
|
||||
{ offset: 0x20A454, off: [0xF3, 0x45, 0x0F], on: [0x90, 0x90, 0x90] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Skip Camera Error",
|
||||
patches: [{ offset: 0x6B231B, off: [0x84], on: [0x81] }],
|
||||
},
|
||||
{
|
||||
name: "Force 120hz timing and adapter mode in LDJ (Experimental)",
|
||||
patches: [
|
||||
{ offset: 0x3C6063, off: [0x75], on: [0xeb] },
|
||||
{ offset: 0x771A5E, off: [0x3c], on: [0x78] },
|
||||
{ offset: 0x771C49, off: [0x74, 0x03], on: [0x90, 0x90] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Shim Lightning Mode IO (for spicetools)",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x715FBE,
|
||||
off: [0x0f, 0x84, 0x8d, 0x00, 0x00, 0x00],
|
||||
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90],
|
||||
},
|
||||
{ offset: 0x78BFE4, off: [0x0f, 0x84], on: [0x90, 0xe9] },
|
||||
{ offset: 0x78C750, off: [0x9c, 0xe4], on: [0x3c, 0xdd] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Bypass lightning monitor error",
|
||||
patches: [
|
||||
{ offset: 0x6A4D91, off: [0x0f, 0x85], on: [0x90, 0xe9] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Force LDJ software video decoder for all boot modes",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x715FB7,
|
||||
off: [0x83, 0x78, 0x08, 0x02],
|
||||
on: [0x83, 0x78, 0x08, 0x05],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Unscramble touch screen keypad in TDJ",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x7488F5,
|
||||
off: [0x4d, 0x03, 0xc8, 0x49, 0xf7, 0xf1],
|
||||
on: [0xba, 0x0c, 0x00, 0x00, 0x00, 0x90],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "1P Premium Free",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x65BD64,
|
||||
off: [0x75],
|
||||
on: [0xEB],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "2P Premium Free",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x65BF15,
|
||||
off: [0x74, 0x55],
|
||||
on: [0x90, 0x90],
|
||||
},
|
||||
{ offset: 0x65BF2B, off: [0x74, 0x3F], on: [0x90, 0x90] },
|
||||
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Premium Free Timer Freeze",
|
||||
tooltip:
|
||||
"Freezes the timer in PREMIUM FREE mode, allowing unlimited play until exit",
|
||||
patches: [{ offset: 0x42E5DD, off: [0x7e], on: [0xeb] }],
|
||||
},
|
||||
{
|
||||
name: "Unlock All Songs",
|
||||
patches: [
|
||||
{ offset: 0x429D49, off: [0x75, 0x24], on: [0x90, 0x90] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Unlock All 12s",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x429AF0,
|
||||
off: [0x83, 0xff, 0x03, 0x74, 0x05, 0x83, 0xff, 0x08],
|
||||
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Skip Decide Screen",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x348980,
|
||||
off: [0xe8, 0x6b, 0x00, 0x00, 0x00],
|
||||
on: [0x90, 0x90, 0x90, 0x90, 0x90],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "CS-style song start delay",
|
||||
tooltip : "Holding Start will pause the song at the beginning until you release it",
|
||||
patches: [
|
||||
{
|
||||
offset: 0x68D453,
|
||||
off: [0x7d, 0x4d],
|
||||
on: [0x90, 0x90],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Cursor Lock",
|
||||
patches: [
|
||||
{ offset: 0x662ECF, off: [0x74, 0x1f], on: [0x90, 0x90] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Quick Retry",
|
||||
patches: [
|
||||
{ offset: 0x40E36F, off: [0x32, 0xC0], on: [0xB0, 0x01] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Standard/Menu Timer Freeze",
|
||||
patches: [{ offset: 0x6D6B77, off: [0x74], on: [0xeb] }],
|
||||
},
|
||||
{
|
||||
name: "WASAPI Shared Mode (with 44100Hz)",
|
||||
patches: [{ offset: 0x20A541, off: [0x01], on: [0x00] }],
|
||||
},
|
||||
{
|
||||
name: "Always show FAST/SLOW total",
|
||||
patches: [
|
||||
{ offset: 0x678863, off: [0x74], on: [0x75] },
|
||||
{ offset: 0x678A80, off: [0x74], on: [0x75] },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Hide all bottom text",
|
||||
patches: [
|
||||
{ offset: 0x32EA01, off: [0x7F, 0x12, 0x44, 0x8B, 0xCB, 0x4C, 0x8D, 0x05, 0xBB, 0x06, 0x63, 0x00], on: [0x90, 0xE9, 0x22, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //EXTRA PASELI: %d
|
||||
{ offset: 0x32EDBD, off: [0xE8, 0xAE, 0xAF, 0x00, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90] }, //INSERT COIN[S]
|
||||
{ offset: 0x32EC0B, off: [0xFF, 0x15, 0xCF, 0xA7, 0x62, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //PASELI: ******
|
||||
{ offset: 0x32ECA9, off: [0xFF, 0x15, 0x31, 0xA7, 0x62, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //PASELI: NO ACCOUNT
|
||||
{ offset: 0x32EB24, off: [0x48, 0x8D, 0x05, 0x3D, 0x12, 0x77, 0x04], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //PASELI: NOT AVAILABLE
|
||||
{ offset: 0x32E926, off: [0xFF, 0x15, 0xB4, 0xAA, 0x62, 0x00], on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90] }, //CREDIT: %d
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "FREE PLAY text to LED ticker",
|
||||
tooltip: "Song Title/Ticker information will display instead of FREEPLAY",
|
||||
patches: [
|
||||
{ offset: 0x32EABF, off: [0xAD, 0x05, 0x63, 0x00], on: [0x49, 0x56, 0x00, 0x05] },
|
||||
],
|
||||
},
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>IIDX BISTROVER DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
@ -1,122 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CHUNITHM PARADISE Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<!-- don't hate -->
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
|
||||
<script type="text/javascript" src="js/FileSaver.min.js"></script>
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new Patcher("chuniApp.exe", "", [
|
||||
{
|
||||
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]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "Auto Play",
|
||||
patches: [
|
||||
{offset: 0x747369, off: [0x00], on: [0x01]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// maybenotuseful
|
||||
name: "Patch for Windows 7",
|
||||
tooltip: "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]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// 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]},
|
||||
],
|
||||
},
|
||||
{
|
||||
// esterTion
|
||||
name: "Dummy LED",
|
||||
tooltip: "Skip LED board check",
|
||||
patches: [
|
||||
{offset: 0x24A5E7, off: [0x00], on: [0x01]},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "No Encryption",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0x3E2832, off: [0x39], on: [0xC3]},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "No TLS",
|
||||
tooltip: "Title server workaround",
|
||||
patches: [
|
||||
{offset: 0xD04D09, off: [0x81, 0xE3, 0x00, 0x00, 0x80, 0x00], on: [0x31, 0xDB, 0x90, 0x90, 0x90, 0x90]},
|
||||
]
|
||||
}
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CHUNITHM PARADISE Modder</h1>
|
||||
</body>
|
||||
</html>
|
||||
|
81
docs/why_no_n_minus_zero.md
Normal file
81
docs/why_no_n_minus_zero.md
Normal file
@ -0,0 +1,81 @@
|
||||
# What does n-0 mean?
|
||||
"n-0" is part of a common nomenclature in the arcade scene referring to
|
||||
freshness of data. "n-0" (n minus zero) is the current game release, like a
|
||||
mathematical equation. "n-1" is the previous game release. Rarely you will see
|
||||
"n+1" where the next, unreleased version of a game is leaked early.
|
||||
|
||||
A time can also be added to specify lengths instead of versions. For example,
|
||||
"n-6 months" or "n-1 year".
|
||||
|
||||
# Why no n-0 in Bemanipatcher?
|
||||
|
||||
The original policy of this repo was to accept any patch set that looked sane
|
||||
and had consistent style, to be a "global" repository for all games that had
|
||||
been released. Sometimes some private release would have hex edits appear as a
|
||||
PR, so I accepted them because I didn't want to get into the drama of "why does
|
||||
he have data but I don't".
|
||||
|
||||
In mid 2021, some groups decided they'd start leaking the latest updates for
|
||||
pretty much every game under the sun. In addition to being a hugely
|
||||
irresponsible idea (Sega is especially litigious), this produced a lot of noise
|
||||
in PRs from people hastily trying to port edits.
|
||||
|
||||
I have had several terrible PRs submitted that I have had to revert. These
|
||||
include:
|
||||
- Broken patches
|
||||
- Misattributed sources
|
||||
- Totally-fine patch sets where I immediately received a Discord DM saying "I
|
||||
didn't want that to be public, delete it please"
|
||||
- PRs opened and closed almost immediately by someone reconsidering
|
||||
- PRs opened, merged and then reverted by the original uploader
|
||||
|
||||
As such, this repo now has a new rule: No n-0, unless it is more than a year
|
||||
old.
|
||||
|
||||
# When is n-0 OK? Why is day-old n-1 OK?
|
||||
In addition to the obvious frustration I have with all these junk PRs, read on
|
||||
for some moral soapboxing as to why you should reconsider public n-0.
|
||||
|
||||
**Remember: this is my own opinion.** I like to think it's a fairly common one. You are welcome to disagree with me, but it won't change the policy.
|
||||
|
||||
Why the year rule? When a new game comes out, why is the n-0 from yesterday
|
||||
suddenly OK? There are two important aspects to my reasoning: Acting in good
|
||||
faith, and preservation.
|
||||
|
||||
You have to remember that rhythm games are an extremely niche market when
|
||||
compared to all other game formats. Arcade rhythm games are even more niche, and
|
||||
critically, comprise a different payment model (credits vs gacha/one-time-buy).
|
||||
|
||||
Compared to huge MOBAs and FPS games where the majority just pays and plays the
|
||||
game, the at-home-arcade community *is* big enough to cause financial problems
|
||||
if they all stay at home, which is why we've seen COVID hit Sega hard enough to
|
||||
start closing flagship arcades in Akihabara.
|
||||
|
||||
I have heard firsthand from arcade operators that as soon as home-data is
|
||||
released that matches or exceeds the version in their arcade, attendance drops
|
||||
sharply. After all, with no commute and no credits, playing at home on your ASC
|
||||
is usually good enough.
|
||||
|
||||
So the first point, acting in good faith. By releasing old data, you minimise
|
||||
depriving arcade operators of their income. Whether it's in Japan and the coins
|
||||
go straight to Konami, or you're in Europe and they fund your local arcade's
|
||||
next cab purchase, it's critical to actually financially support the games in
|
||||
this niche.
|
||||
|
||||
Adding the 1 year specifier is for games like Jubeat and Reflecbeat - games that
|
||||
have not seen a new release in years. I believe it's acting in good faith to
|
||||
release year old data. If there's been literally no updates in a year... That's
|
||||
on Konami for abandoning a property.
|
||||
|
||||
The second aspect is preservation. Except for buying an offline cab and hoping
|
||||
it has the right version (good luck), there is simply no way to legitimately
|
||||
play old releases of these games. This is why n-1 suddenly becomes "good" once
|
||||
the next version of the game is released. So much digital history has been lost
|
||||
due to bitrot and always-online games becoming unplayable. I like the idea of
|
||||
being able to play every game in a series ever released.
|
||||
|
||||
# Why did you write all this?
|
||||
A lot of people who share my opinion like to loudly flame newcomers thirsty for
|
||||
the latest data, chastising them for not innately knowing the correct etiquette.
|
||||
This is my attempt to explain where my opinions come from. If it's useful to
|
||||
even 1 person, it's done its job.
|
Binary file not shown.
Before Width: | Height: | Size: 40 KiB |
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
BIN
img/sdvx6.png
BIN
img/sdvx6.png
Binary file not shown.
Before Width: | Height: | Size: 40 KiB |
18
index.html
18
index.html
@ -62,12 +62,6 @@
|
||||
<div>CHUNITHM CRYSTAL</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="chuniparadise.html" class="gameicon">
|
||||
<div>
|
||||
<img src="img/chuniparadise.png">
|
||||
<div>CHUNITHM PARADISE</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="tricoro.html" class="gameicon">
|
||||
<div>
|
||||
<img src="img/tricoro.png">
|
||||
@ -116,12 +110,6 @@
|
||||
<div>beatmania IIDX 27 HEROIC VERSE</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="bistrover.html" class="gameicon">
|
||||
<div>
|
||||
<img src="img/bistrover.png">
|
||||
<div>beatmania IIDX 28 BISTROVER</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="ddr2014.html" class="gameicon">
|
||||
<div>
|
||||
<img src="img/ddr2014.png">
|
||||
@ -308,12 +296,6 @@
|
||||
<div>SDVX V VIVID WAVE</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="sdvx6.html" class="gameicon">
|
||||
<div>
|
||||
<img src="img/sdvx6.png">
|
||||
<div>SDVX VI EXCEED GEAR</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<pre class="tagline">Patches are community created. <a href="https://github.com/mon/BemaniPatcher/">Submit your own via Pull Request!</a></pre>
|
||||
<pre class="tagline"><em>Converted to a web-tool by <a href="https://github.com/mon/">mon</a></em></pre>
|
||||
|
@ -11,16 +11,6 @@
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function() {
|
||||
new PatchContainer([
|
||||
new Patcher("jubeat.dll", "2020-09-16", [
|
||||
{
|
||||
name: "SELECT MUSIC Timer Lock",
|
||||
patches: [{ offset: 0xa0632, off: [0x75], on: [0xeb] }],
|
||||
},
|
||||
{
|
||||
name: "Skip CATEGORY SELECT",
|
||||
patches: [{ offset: 0xb95f7, off: [0x04], on: [0x07] }],
|
||||
},
|
||||
]),
|
||||
new Patcher("jubeat.dll", "2020-07-27", [
|
||||
{
|
||||
name: "Disable Turorial",
|
||||
|
173
sdvx6.html
173
sdvx6.html
@ -1,173 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>SDVX VI DLL Modder</title>
|
||||
<link rel="stylesheet" href="css/style.css" />
|
||||
<!-- don't hate -->
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
|
||||
<script type="text/javascript" src="js/FileSaver.min.js"></script>
|
||||
<script type="text/javascript" src="js/dllpatcher.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function () {
|
||||
new PatchContainer([
|
||||
new Patcher("soundvoltex.dll", "2021-04-28", [
|
||||
{
|
||||
name: "Disable power change", //patch by Xyen
|
||||
tooltip: "Prevents power mode change on startup",
|
||||
patches: [{ offset: 0x1ec553, off: [0x75], on: [0xeb] }],
|
||||
},
|
||||
{
|
||||
name: "Disable monitor change", //patch by Xyen
|
||||
tooltip: "Prevents monitor setting changes on startup",
|
||||
patches: [{ offset: 0x1ec5eb, off: [0x75], on: [0xeb] }],
|
||||
},
|
||||
{
|
||||
name: "Shared mode WASAPI",
|
||||
tooltip:
|
||||
"Only replaces the first audio device init attempt. Set output to 44100Hz 16bit if it doesn't work.",
|
||||
patches: [{ offset: 0x42b089, off: [0x04], on: [0x00] }],
|
||||
},
|
||||
{
|
||||
name: "Timer freeze", // ikaros14
|
||||
patches: [{ offset: 0x71166, off: [0x84], on: [0x85] }],
|
||||
},
|
||||
{
|
||||
name: "Allow non E004 cards",
|
||||
tooltip: "Allows cards that do not have E004 card IDs (such as mifare cards) to work.",
|
||||
patches: [
|
||||
{ offset: 0xA4B, off: [0x75, 0x12], on: [0x90, 0x90] },
|
||||
{ offset: 0xA53, off: [0x74], on: [0xEB] }
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "union",
|
||||
name: "Premium Time Length",
|
||||
offset: 0x297996,
|
||||
patches: [
|
||||
{
|
||||
name: "Default (10 Minutes)",
|
||||
patch: [0x00, 0x70, 0xc9, 0xb2, 0x8b, 0x00, 0x00, 0x00],
|
||||
},
|
||||
{
|
||||
name: "20 Minutes",
|
||||
patch: [0x00, 0xe0, 0x92, 0x65, 0x17, 0x01, 0x00, 0x00],
|
||||
},
|
||||
{
|
||||
name: "30 Minutes",
|
||||
patch: [0x00, 0x50, 0x5c, 0x18, 0xa3, 0x01, 0x00, 0x00],
|
||||
},
|
||||
{
|
||||
name: "1 Hour",
|
||||
patch: [0x00, 0xa0, 0xb8, 0x30, 0x46, 0x03, 0x00, 0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
]),
|
||||
new Patcher("soundvoltex.dll", "2021-05-18", [
|
||||
{
|
||||
name: "Disable power change", //patch by Xyen
|
||||
tooltip: "Prevents power mode change on startup",
|
||||
patches: [{ offset: 0x1ecd13, off: [0x75], on: [0xeb] }],
|
||||
},
|
||||
{
|
||||
name: "Disable monitor change", //patch by Xyen
|
||||
tooltip: "Prevents monitor setting changes on startup",
|
||||
patches: [{ offset: 0x1ecdab, off: [0x75], on: [0xeb] }],
|
||||
},
|
||||
{
|
||||
name: "Force BIO2 (KFC) IO in Valkyrie mode",
|
||||
tooltip: "Will only work with <spec __type=\"str\">F</spec> changed to either G or H, in ea3-config.xml.",
|
||||
patches: [{ offset: 0x3f1bd5, off: [0x87, 0x05], on: [0x47, 0x0c] }],
|
||||
},
|
||||
{
|
||||
name: "120Hz Support",
|
||||
patches: [{ offset: 0x6fc0be, off: [0x4e], on: [0x5e] }],
|
||||
},
|
||||
{
|
||||
name: "Shared mode WASAPI",
|
||||
tooltip:
|
||||
"Only replaces the first audio device init attempt. Set output to 44100Hz 16bit if it doesn't work.",
|
||||
patches: [{ offset: 0x42d009, off: [0x04], on: [0x00] }],
|
||||
},
|
||||
{
|
||||
name: "Timer freeze", // ikaros14
|
||||
patches: [{ offset: 0x713d6, off: [0x84], on: [0x85] }],
|
||||
},
|
||||
{
|
||||
type: "union",
|
||||
name: "Premium Time Length",
|
||||
offset: 0x298d16,
|
||||
patches: [
|
||||
{
|
||||
name: "Default (10 Minutes)",
|
||||
patch: [0x00, 0x70, 0xc9, 0xb2, 0x8b, 0x00, 0x00, 0x00],
|
||||
},
|
||||
{
|
||||
name: "20 Minutes",
|
||||
patch: [0x00, 0xe0, 0x92, 0x65, 0x17, 0x01, 0x00, 0x00],
|
||||
},
|
||||
{
|
||||
name: "30 Minutes",
|
||||
patch: [0x00, 0x50, 0x5c, 0x18, 0xa3, 0x01, 0x00, 0x00],
|
||||
},
|
||||
{
|
||||
name: "1 Hour",
|
||||
patch: [0x00, 0xa0, 0xb8, 0x30, 0x46, 0x03, 0x00, 0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
]),
|
||||
new Patcher("soundvoltex.dll", "2021-06-16", [
|
||||
{
|
||||
name: "Disable power change", //patch by Xyen
|
||||
tooltip: "Prevents power mode change on startup",
|
||||
patches: [{ offset: 0x1ECEC3, off: [0x75], on: [0xeb] }],
|
||||
},
|
||||
{
|
||||
name: "Disable monitor change", //patch by Xyen
|
||||
tooltip: "Prevents monitor setting changes on startup",
|
||||
patches: [{ offset: 0x1ECF5B, off: [0x75], on: [0xeb] }],
|
||||
},
|
||||
{
|
||||
name: "Shared mode WASAPI",
|
||||
tooltip:
|
||||
"Only replaces the first audio device init attempt. Set output to 44100Hz 16bit if it doesn't work.",
|
||||
patches: [{ offset: 0x42EC39, off: [0x04], on: [0x00] }],
|
||||
},
|
||||
{
|
||||
name: "Timer freeze", // ikaros14
|
||||
patches: [{ offset: 0x71406, off: [0x84], on: [0x85] }],
|
||||
},
|
||||
{
|
||||
type: "union",
|
||||
name: "Premium Time Length",
|
||||
offset: 0x29A116,
|
||||
patches: [
|
||||
{
|
||||
name: "Default (10 Minutes)",
|
||||
patch: [0x00, 0x70, 0xc9, 0xb2, 0x8b, 0x00, 0x00, 0x00],
|
||||
},
|
||||
{
|
||||
name: "20 Minutes",
|
||||
patch: [0x00, 0xe0, 0x92, 0x65, 0x17, 0x01, 0x00, 0x00],
|
||||
},
|
||||
{
|
||||
name: "30 Minutes",
|
||||
patch: [0x00, 0x50, 0x5c, 0x18, 0xa3, 0x01, 0x00, 0x00],
|
||||
},
|
||||
{
|
||||
name: "1 Hour",
|
||||
patch: [0x00, 0xa0, 0xb8, 0x30, 0x46, 0x03, 0x00, 0x00],
|
||||
},
|
||||
],
|
||||
},
|
||||
]),
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>SDVX VI DLL Modder</h1>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user