Compare commits

..

3 Commits

Author SHA1 Message Date
sp2xdev 706a54df6e Update README.md 2023-03-12 01:47:38 -08:00
sp2xdev 83a76757d6 Update README.md 2023-03-12 01:11:24 -08:00
sp2xdev d8cdf58222 Update README.md 2023-03-12 01:01:23 -08:00
27 changed files with 3 additions and 1837 deletions
-3
View File
@@ -1,3 +0,0 @@
.vscode/*
docs/_site
docs/Gemfile.lock
-8
View File
@@ -1,8 +0,0 @@
{
"files.associations": {
"chrono": "cpp",
"future": "cpp",
"system_error": "cpp",
"xlocale": "cpp"
}
}
+3 -1
View File
@@ -1 +1,3 @@
# spice2x.github.io spice2x is a fork of SpiceTools, focused on addressing bugs, usability, and quality-of-life improvements
Please visit the homepage: **[https://spice2x.github.io/](https://spice2x.github.io/)**
View File
-3
View File
@@ -1,3 +0,0 @@
source 'https://rubygems.org'
gem 'github-pages'
gem 'webrick'
-22
View File
@@ -1,22 +0,0 @@
The MIT License (MIT)
Copyright (c) 2015 Eduardo Rubio
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-21
View File
@@ -1,21 +0,0 @@
# Documentation
Compass is a Jekyll theme designed with something very specific in mind: to be a simple and elegant personal landing page that can be easily deployed to [GitHub Pages](https://pages.github.com/).
## How to use Compass
1. Start by [installing Bundler](http://bundler.io) `gem install bundler`
2. [Fork the Compass repository](https://github.com/excentris/compass/fork)
3. Clone the repository you just forked: `git clone https://github.com/YOUR-USER/compass`
4. Then run `bundle install` to get [Jekyll](http://jekyllrb.com) and all the dependencies.
5. Edit `_config.yml` as needed.
6. Run the Jekyll server with `bundle exec jekyll serve`
7. Go to `http://localhost:4000`
## Deploy your site to GitHub Pages
If you want to use Compass as your personal landing page you can deploy your site to GitHub Pages as a [User Page](https://help.github.com/articles/user-organization-and-project-pages/#user--organization-pages). To do so, when you are done modifying your clone, you should rename your repository to `username.github.io` where username is your username. When GitHub builds the page it will be made available at `https://username.github.io`.
If you are planning on using a custom domain to direct to your site, modify the CNAME file as described [here](https://help.github.com/articles/adding-a-cname-file-to-your-repository/).
Check the [GitHub Pages Basics](https://help.github.com/categories/github-pages-basics/) for more information.
-33
View File
@@ -1,33 +0,0 @@
# general configuration
url: https://spice2x.github.io/spice2x
baseurl: ''
# compass configuration
compass:
# an avatar or logo (optional)
# logo: "/images/compass.png"
# author will appear under the avatar (optional)
author: "spice2x"
title: "spice2x"
# tagline will appear under the title (optional)
tagline: "continuation of SpiceTools project"
description: "spice2x is an updated version of SpiceTools with support for new games & new features"
# if include_content is true, the contents of the content.html include will be
# added right above the generated item list, if present
include_content: true
# if include_analytics is true, the content of the analytics.html include will
# be added at the end of the <head> section. You can add your Google Analytics
# Tracking Code to that file.
include_analytics: false
# Twitter @username (as defined by the Twitter Card specs)
# twitter: ""
# exclude
exclude: ["CNAME", "Gemfile", "Gemfile.lock", "LICENSE", "README.md"]
# Dependencies
markdown: kramdown
highlighter: rouge
# Permalinks
permalink: pretty
-2
View File
@@ -1,2 +0,0 @@
<!-- Here you can add your Google Analytics Tracking code. If you do so, do not
forget to set the include_analytics attribute to true on the _config.yml file -->
-124
View File
@@ -1,124 +0,0 @@
<h2>about spice2x</h2>
<p>spice2x is a continuation of SpiceTools project.</p>
<p>spice2x binaries are meant to be drop-in replacements for existing installs (spice.exe, spice64.exe, spicecfg.exe).
For a list of features, check out <a href="https://github.com/spice2x/spice2x.github.io/wiki/spice2x-features">this page</a>.
</p>
<!-- <h2>notice - December 31, 2025</h2>
<p style="font-size: x-large">
<ul>
<li>
If you got SDVX EG Final (2025120900), read <a href="https://github.com/spice2x/spice2x.github.io/issues/489"> this link </a>to resolve known issues.
</li>
</ul>
</p> -->
<h2>downloads</h2>
<p style="font-weight: bold";>
<a class="download-link" href="https://github.com/spice2x/spice2x.github.io/releases/latest">
latest stable release<span id="octo_latest_release"></span>
</a>
</p>
<p>
<a class="download-link" href="https://github.com/spice2x/spice2x.github.io/releases">
all releases, including pre-release
<span id="octo_latest_prerelease"></span>
</a>
</p>
<p><a class="download-link" href="https://nightly.link/spice2x/spice2x.github.io/workflows/ci/main">nightly builds (untested)</a></p>
<script type="module">
import { Octokit } from "https://esm.sh/octokit";
const octokit = new Octokit();
const owner = "spice2x";
const repo = "spice2x.github.io";
const sumDownloads = (assets) =>
(assets || []).reduce((total, asset) => total + (asset.download_count || 0), 0);
const latest = await octokit.request(
"GET /repos/{owner}/{repo}/releases/latest",
{ owner, repo });
if (latest && latest.data && latest.data.name) {
const downloads = sumDownloads(latest.data.assets).toLocaleString();
document.getElementById("octo_latest_release").textContent =
" (" + latest.data.name + ", " + downloads + " downloads)";
}
const releases = await octokit.request(
"GET /repos/{owner}/{repo}/releases",
{ owner, repo, per_page: 1, page: 1 });
if (releases && releases.data && releases.data.length >= 1 && releases.data[0].name && releases.data[0].prerelease) {
document.getElementById("octo_latest_prerelease").textContent = " (" + releases.data[0].name + ")";
}
</script>
<h2>documentation</h2>
<ul>
<li>
<a href="https://github.com/spice2x/spice2x.github.io/wiki/Known-issues">FAQ / Known issues</a>
</li>
<li>
<a href="https://github.com/spice2x/spice2x.github.io/wiki/PC-optimization">PC optimization guide</a>
</li>
<li>
<a href="https://github.com/spice2x/spice2x.github.io/wiki/Audio-modes-demystified">Audio modes demystified (ASIO, WASAPI, DirectSound...)</a>
</li>
<li>
<a href="https://github.com/spice2x/spice2x.github.io/wiki/Patching-DLLs-(hex-edits)">Patches / hex edits</a>
</li>
<li>
<a href="https://github.com/spice2x/spice2x.github.io/wiki/Asus-Xonar-AE">Info for Asus Xonar AE owners</a>
</li>
</ul>
For more documentation, please visit the <a href="https://github.com/spice2x/spice2x.github.io/wiki">wiki home</a>.
<h2>suggested addons</h2>
Check out these cool tools that can be used with spice:
<ul>
<li><a href="https://github.com/spice2x/spicecompanion_archive/releases">SpiceCompanion </a> -
control spice from your phone / tablet / another PC. Archive only, not actively maintained by anyone.
</li>
<li>
<a href="https://github.com/mon/ifs_layeredfs">ifs_layeredfs</a> - for game asset modding
</li>
<li>
<a href="https://github.com/ainlorn/SpiceDoorstop">SpiceDoorstop</a> - modding Unity-based games
</li>
<li>
<a href="https://github.com/kinetic-flow/spicehue">spicehue</a> - control Philips Hue lights over spice API
</li>
<li>
<a href="https://github.com/4yn/slidershim">slidershim</a> - use your phone / tablet as keyboard input
</li>
<li>
<a href="https://github.com/OffbeatDX/nvencoder-amf">nvencoder-amf</a> - IIDX play record for AMD GPU
</li>
</ul>
<h2>disclaimers</h2>
<p>spice2x team does not provide any tools to circumvent software copy protection, nor distribute any copyright-protected game data.</p>
<p>
<strong>If you want to run spice2x on a real arcade cabinet, do note that the developers take no responsibility for any damage done to your hardware, nor provide any support.</strong>
</p>
<h2>issues, questions, bugs, feature requests</h2>
Please use the github repo below.
<hr />
<ul class="fa-ul main-list">
<li class="main-list-item">
<span class="fa fa-github fa-lg main-list-item-icon"></span>
<a href="https://github.com/spice2x/spice2x.github.io">project home on GitHub</a>
</li>
</ul>
-51
View File
@@ -1,51 +0,0 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% if site.compass.author %}{{ site.compass.author }} - {% endif %}{{ site.compass.tagline | strip_html }}</title>
<link rel="apple-touch-icon" href="{{ site.baseurl }}{{ site.compass.logo }}"/>
<link rel="shortcut icon" sizes="16x16 24x24 32x32 48x48 64x64" href="{{ site.url }}{{ site.baseurl }}/favicon.ico" />
<link rel="stylesheet" href="{{ site.baseurl }}/assets/normalize.css">
<link rel="stylesheet" href="{{ site.baseurl }}/assets/main.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
<link href='https://fonts.googleapis.com/css?family=Vollkorn' rel='stylesheet' type='text/css'>
<link rel="canonical" href="{{ site.url }}{{ site.baseurl }}{{ page.url }}">
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
<meta name="author" content="{{ site.compass.author }}">
<meta name="description" content="{{ site.compass.description }}"/>
<meta http-equiv='content-language' content='en-us'>
<!-- Open Graph tags -->
<meta property="og:type" content="website"/>
<meta property="og:title" content="{{ site.compass.title }}"/>
<meta property="og:url" content="{{ site.url }}{{ site.baseurl }}{{ page.url }}"/>
<meta property="og:image" content="{{ site.url }}{{ site.baseurl }}{{ site.compass.logo }}"/>
<meta property="og:description" content="{{ site.compass.description }}"/>
<meta property="og:site_name" content="{{ site.compass.title }}">
<!-- Twitter Card tags -->
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="{{ site.compass.title }}">
{% if site.twitter.site %}
<meta name="twitter:site" content="{{ site.twitter.site }}">
{% endif %}
{% if site.twitter.creator %}
<meta name="twitter:creator" content="{{ site.twitter.creator }}">
{% endif %}
<meta name="twitter:url" content="{{ site.url }}{{ site.baseurl }}{{ page.url }}">
<meta name="twitter:description" content="{{ site.compass.description }}">
<meta name="twitter:image:src" content="{{ site.url }}{{ site.baseurl }}{{ site.compass.logo }}">
{% if site.compass.include_analytics %}
{% include analytics.html %}
{% endif %}
<meta name="theme-color" content="#F1EED9">
<meta name="google-site-verification" content="Pn7aB3jOynaV1QUDSO0KaX2j_qOpU898NCA97QiseME" />
</head>
-9
View File
@@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
{% include head.html %}
<body>
{{ content }}
</body>
</html>
-19
View File
@@ -1,19 +0,0 @@
---
layout: base
nav_exclude: true
sitemap: false
---
<div class="wrapper">
<header>
archived spice2x downloads
</header>
<main>
<div class="content">
<p>
These are old archived files. For latest version, visit <a href="https://spice2x.github.io/">https://spice2x.github.io/</a>
<ul class="downloads">
</ul>
</div>
</main>
</div>
-165
View File
@@ -1,165 +0,0 @@
---
---
$text-color: #46433A;
$anchor-text-color: #CE534D;
$background-color: #F1EED9;
body {
font-family: 'Vollkorn', serif;
color: $text-color;
background-color: $background-color;
}
header,
main {
padding: 0 20px;
}
/*** wrapper div for both header and main ***/
.wrapper {
margin-top: 4%;
}
/*** anchor tags ***/
a:link,
a:visited,
a:hover,
a:active {
color: $anchor-text-color;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/*** main content list ***/
.main-list-item {
font-weight: bold;
font-size: 1.2em;
margin: 0.8em 0;
}
/* override the left margin added by font awesome for the main content list,
since it must be aligned with the content */
.fa-ul.main-list {
margin-left: 0;
}
/* list icons */
.main-list-item-icon {
width: 36px;
color: $text-color;
}
/*** logo ***/
.logo-container {
text-align: center;
}
.logo {
width: 96px;
height: 96px;
display: inline-block;
background-size: cover;
border-radius: 50%;
-moz-border-radius: 50%;
border: 2px solid $background-color;
box-shadow: 0 0 0 3px $text-color;
}
pre {
font-size: 0.75em;
}
.download-link {
font-family: monospace;
font-size: 1.2em;
}
/*** author ***/
.author-container h1 {
font-size: 2.4em;
margin-top: 0;
margin-bottom: 0;
text-align: center;
}
/*** tagline ***/
.tagline-container p {
font-size: 1.3em;
text-align: center;
margin-bottom: 2em;
}
/******/
hr {
border: 0;
height: 1px;
background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), $text-color, rgba(0,0,0,0));
background-image: -moz-linear-gradient(left, rgba(0,0,0,0), $text-color, rgba(0,0,0,0));
background-image: -ms-linear-gradient(left, rgba(0,0,0,0), $text-color, rgba(0,0,0,0));
background-image: -o-linear-gradient(left, rgba(0,0,0,0), $text-color, rgba(0,0,0,0));
}
/*** footer ***/
footer {
position: fixed;
bottom: 0;
right: 0;
height: 20px;
}
.poweredby {
font-family: "Arial Narrow", Arial;
font-size: 0.6em;
line-height: 0.6em;
padding: 0 5px;
}
/*** media queries ***/
/* X-Small devices (phones, 480px and up) */
@media (min-width: 480px) {
/* wrapper stays 480px wide past 480px wide and is kept centered */
.wrapper {
width: 480px;
margin: 4% auto 0 auto;
}
main {
margin-bottom: 80px;
}
}
/* All other devices (768px and up) */
@media (min-width: 768px) {
/* past 768px the layout is changed and the wrapper has a fixed width of 680px
to accomodate both the header column and the content column */
.wrapper {
width: 680px;
}
/* the header column stays left and has a dynamic width with all contents
aligned right */
header {
float: left;
width: 20%;
text-align: right;
}
.author-container h1,
.logo-container,
.tagline-container p {
text-align: right;
}
main {
width: 70%;
margin-left: 30%;
margin-bottom: 100px;
padding: 0;
}
}
-427
View File
@@ -1,427 +0,0 @@
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-family: sans-serif; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/**
* Remove default margin.
*/
body {
margin: 0;
}
/* HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined for any HTML5 element in IE 8/9.
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox.
* Correct `block` display not defined for `main` in IE 11.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
display: block;
}
/**
* 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
*/
audio,
canvas,
progress,
video {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address `[hidden]` styling not present in IE 8/9/10.
* Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
*/
[hidden],
template {
display: none;
}
/* Links
========================================================================== */
/**
* Remove the gray background color from active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* Text-level semantics
========================================================================== */
/**
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
*/
b,
strong {
font-weight: bold;
}
/**
* Address styling not present in Safari and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari, and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9/10.
*/
img {
border: 0;
}
/**
* Correct overflow not hidden in IE 9/10/11.
*/
svg:not(:root) {
overflow: hidden;
}
/* Grouping content
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari.
*/
figure {
margin: 1em 40px;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
/**
* Contain overflow in all browsers.
*/
pre {
overflow: auto;
}
/**
* Address odd `em`-unit font size rendering in all browsers.
*/
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
/* Forms
========================================================================== */
/**
* Known limitation: by default, Chrome and Safari on OS X allow very limited
* styling of `select`, unless a `border` property is set.
*/
/**
* 1. Correct color not being inherited.
* Known issue: affects color of disabled elements.
* 2. Correct font properties not being inherited.
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
*/
button,
input,
optgroup,
select,
textarea {
color: inherit; /* 1 */
font: inherit; /* 2 */
margin: 0; /* 3 */
}
/**
* Address `overflow` set to `hidden` in IE 8/9/10/11.
*/
button {
overflow: visible;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
* Correct `select` style inheritance in Firefox.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
input {
line-height: normal;
}
/**
* It's recommended that you don't attempt to style these elements.
* Firefox's implementation doesn't respect box-sizing, padding, or width.
*
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
* `font-size` values of the `input`, it causes the cursor style of the
* decrement button to change from `default` to `text`.
*/
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome
* (include `-moz` to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
* Safari (but not Chrome) clips the cancel button when the search input has
* padding (and `textfield` appearance).
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9/10/11.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
/**
* Remove default vertical scrollbar in IE 8/9/10/11.
*/
textarea {
overflow: auto;
}
/**
* Don't inherit the `font-weight` (applied by a rule above).
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
*/
optgroup {
font-weight: bold;
}
/* Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 727 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

-27
View File
@@ -1,27 +0,0 @@
---
layout: base
---
<div class="wrapper">
<header>
{% if site.compass.logo %}
<div class="logo-container">
<a class="logo" href="{{ page.baseurl }}" style="background-image: url('{{ site.baseurl }}{{ site.compass.logo }}')"></a>
</div>
{% endif %}
{% if site.compass.author %}
<div class="author-container"><h1>{{ site.compass.author }}</h1></div>
{% endif %}
{% if site.compass.tagline %}
<div class="tagline-container"><p>{{ site.compass.tagline }}</p></div>
{% endif %}
</header>
<main>
{% if site.compass.include_content %}
<div class="content">
{% include content.html %}
</div>
{% endif %}
</main>
</div>
-35
View File
@@ -1,35 +0,0 @@
[
{
"gameCode": "M32",
"dateCode": 2022102400,
"name": "Skip Tutorial",
"description": "",
"type": "memory",
"preset": true,
"patches": [
{
"dllName": "game.dll",
"dataDisabled": "0F87",
"dataEnabled": "90E9",
"dataOffset": 946042
}
]
},
{
"gameCode": "M32",
"dateCode": 2022102400,
"name": "Infinite Stage",
"description": "Play forever",
"caution": "Scores will not save",
"type": "memory",
"preset": true,
"patches": [
{
"dllName": "game.dll",
"dataDisabled": "0F85",
"dataEnabled": "90E9",
"dataOffset": 1143921
}
]
}
]
-573
View File
@@ -1,573 +0,0 @@
[
{
"gameCode": "KFC",
"version": "2025-12-09",
"lastUpdated": "2025-12-31 21:00:00",
"source": "https://spice2x.github.io/patches/"
},
{
"name": "Game FPS Target",
"description": "Forces the game to run at a specific FPS target.",
"gameCode": "KFC",
"type": "union",
"patches": [
{
"name": "60 FPS (Default)",
"patch": {
"offset": 9832382,
"dllName": "soundvoltex.dll",
"data": "4E"
}
},
{
"name": "120 FPS",
"patch": {
"offset": 9832382,
"dllName": "soundvoltex.dll",
"data": "5E"
}
}
]
},
{
"name": "Note FPS Target",
"description": "Forces the game's notes to run at a specific FPS target.",
"gameCode": "KFC",
"type": "union",
"patches": [
{
"name": "60 FPS (Default)",
"patch": {
"offset": 3531896,
"dllName": "soundvoltex.dll",
"data": "660F6EF0F30FE6F6F20F5935202C6000"
}
},
{
"name": "120 FPS",
"patch": {
"offset": 3531896,
"dllName": "soundvoltex.dll",
"data": "B878000000F20F2AF0F24890F2489090"
}
}
]
},
{
"name": "Shared mode WASAPI",
"description": "Allows for non-exclusive WASAPI audio.",
"caution": "Requires 48000Hz sample rate. Will slightly increase audio latency. Try combining this with the Low Latency Shared Audio option from spice2x.",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 6546524,
"dllName": "soundvoltex.dll",
"dataDisabled": "02",
"dataEnabled": "01"
}
]
},
{
"name": "Hide premium guide banner",
"description": "blpass_ef (rainbow outline on health gauge) is shown instead of pt_sousa_usr.",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 3758525,
"dllName": "soundvoltex.dll",
"dataDisabled": "774B5600",
"dataEnabled": "674B5600"
}
]
},
{
"name": "Hide all bottom text",
"description": "Hides all text typically found in the bottom corners of the screen such as \"PASELI\" or \"FREE PLAY\".",
"caution": "",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 8912520,
"dllName": "soundvoltex.dll",
"dataDisabled": "4652454520504C4159",
"dataEnabled": "000000000000000000"
},
{
"offset": 8912504,
"dllName": "soundvoltex.dll",
"dataDisabled": "4556454E54204D4F4445",
"dataEnabled": "00000000000000000000"
},
{
"offset": 8912488,
"dllName": "soundvoltex.dll",
"dataDisabled": "54454E4B4149434849204D4F4445",
"dataEnabled": "0000000000000000000000000000"
},
{
"offset": 8912608,
"dllName": "soundvoltex.dll",
"dataDisabled": "504153454C493A202573202B202573",
"dataEnabled": "000000000000000000000000000000"
},
{
"offset": 8912552,
"dllName": "soundvoltex.dll",
"dataDisabled": "4352454449543A202564202020434F494E3A202564202F202564",
"dataEnabled": "0000000000000000000000000000000000000000000000000000"
},
{
"offset": 8912536,
"dllName": "soundvoltex.dll",
"dataDisabled": "4352454449543A20256400",
"dataEnabled": "0000000000000000000000"
},
{
"offset": 8912456,
"dllName": "soundvoltex.dll",
"dataDisabled": "504153454C493A204E4F5420415641494C41424C45",
"dataEnabled": "000000000000000000000000000000000000000000"
},
{
"offset": 8912432,
"dllName": "soundvoltex.dll",
"dataDisabled": "504153454C493A204E4F204143434F554E54",
"dataEnabled": "000000000000000000000000000000000000"
},
{
"offset": 8912623,
"dllName": "soundvoltex.dll",
"dataDisabled": "00504153454C493A20257300",
"dataEnabled": "000000000000000000000000"
},
{
"offset": 8912584,
"dllName": "soundvoltex.dll",
"dataDisabled": "455854524120504153454C493A202573",
"dataEnabled": "00000000000000000000000000000000"
},
{
"offset": 8912479,
"dllName": "soundvoltex.dll",
"dataDisabled": "0025302A6400",
"dataEnabled": "000000000000"
},
{
"offset": 8912240,
"dllName": "soundvoltex.dll",
"dataDisabled": "8347815B83578393834F928682C582B728257381602989F08F9C82B782E982C982CD8365835883678381836A8385815B82C993FC82E8814183658393834C815B82F02030302C2030302C2030302C20362C20302082CC8F8782C5899F82B582C482AD82BE82B382A281420A8347815B83578393834F82F08DC48A4A82B782E98FEA8D8782CD8365835883678356815B839382C530302C2030302C2030302C20362C20312082CC8F8782C5899F82B582C482AD82BE82B382A28142",
"dataEnabled": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"name": "Standard/Menu Timer Freeze",
"description": "Freezes all non-premium area timers.",
"caution": "",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 1872965,
"dllName": "soundvoltex.dll",
"dataDisabled": "84",
"dataEnabled": "85"
}
]
},
{
"name": "Premium Free Timer Freeze",
"description": "Freezes all premium area timers.",
"caution": "",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 4693346,
"dllName": "soundvoltex.dll",
"dataDisabled": "0F85",
"dataEnabled": "90E9"
},
{
"offset": 4392195,
"dllName": "soundvoltex.dll",
"dataDisabled": "0F84",
"dataEnabled": "90E9"
},
{
"offset": 3299322,
"dllName": "soundvoltex.dll",
"dataDisabled": "75",
"dataEnabled": "EB"
}
]
},
{
"name": "Premium Time Length",
"description": "Time at which the Premium timer starts. If you have it frozen, that'll be the time shown at all times",
"gameCode": "KFC",
"type": "union",
"patches": [
{
"name": "00:00",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "AAB9650000000000"
}
},
{
"name": "00:01",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "00CA9A3B00000000"
}
},
{
"name": "04:20",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "002835893C000000"
}
},
{
"name": "07:27",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "00B6461368000000"
}
},
{
"name": "13:37",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "00AAFE38BE000000"
}
},
{
"name": "57:30",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "0044064423030000"
}
},
{
"name": "69:00",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "00B83AEBC3030000"
}
},
{
"name": "10 Minutes (Default)",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "0070C9B28B000000"
}
},
{
"name": "15 Minutes",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "00282E8CD1000000"
}
},
{
"name": "20 Minutes",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "00E0926517010000"
}
},
{
"name": "30 Minutes",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "00505C18A3010000"
}
},
{
"name": "45 Minutes",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "00788AA474020000"
}
},
{
"name": "60 Minutes",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "00A0B83046030000"
}
},
{
"name": "90 Minutes",
"patch": {
"offset": 4529554,
"dllName": "soundvoltex.dll",
"data": "00F01449E9040000"
}
}
]
},
{
"name": "Uncensor All Jackets",
"description": "Uncensors all song jackets no matter the region by breaking the path to jacket masks.",
"caution": "",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 9325432,
"dllName": "soundvoltex.dll",
"dataDisabled": "61",
"dataEnabled": "75"
}
]
},
{
"name": "Fake Region",
"description": "Forces the game to run as a specific region without altering language, which allows for region-specific content locking. Use Japan for everything to be unlocked.",
"gameCode": "KFC",
"type": "union",
"patches": [
{
"name": "Default",
"patch": {
"offset": 2540975,
"dllName": "soundvoltex.dll",
"data": "E82C5F300085C00F85FA000000"
}
},
{
"name": "Japan (J)",
"patch": {
"offset": 2540975,
"dllName": "soundvoltex.dll",
"data": "B8000000008905065786009090"
}
},
{
"name": "Korea (K)",
"patch": {
"offset": 2540975,
"dllName": "soundvoltex.dll",
"data": "B8010000008905065786009090"
}
},
{
"name": "Asia (A)",
"patch": {
"offset": 2540975,
"dllName": "soundvoltex.dll",
"data": "B8020000008905065786009090"
}
},
{
"name": "Indonesia (Y)",
"patch": {
"offset": 2540975,
"dllName": "soundvoltex.dll",
"data": "B8030000008905065786009090"
}
},
{
"name": "America (U)",
"patch": {
"offset": 2540975,
"dllName": "soundvoltex.dll",
"data": "B8040000008905065786009090"
}
}
]
},
{
"name": "Force English Sort Options",
"description": "Forces the game to use english sort options within the FX-R menu in song select.",
"caution": "",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 155852,
"dllName": "soundvoltex.dll",
"dataDisabled": "8B15F6702201",
"dataEnabled": "BA0100000090"
},
{
"offset": 155881,
"dllName": "soundvoltex.dll",
"dataDisabled": "8B15D9702201",
"dataEnabled": "BA0100000090"
},
{
"offset": 155910,
"dllName": "soundvoltex.dll",
"dataDisabled": "8B15BC702201",
"dataEnabled": "BA0100000090"
},
{
"offset": 155939,
"dllName": "soundvoltex.dll",
"dataDisabled": "8B159F702201",
"dataEnabled": "BA0100000090"
},
{
"offset": 155968,
"dllName": "soundvoltex.dll",
"dataDisabled": "8B1582702201",
"dataEnabled": "BA0100000090"
},
{
"offset": 156003,
"dllName": "soundvoltex.dll",
"dataDisabled": "8B155F702201",
"dataEnabled": "BA0100000090"
},
{
"offset": 156038,
"dllName": "soundvoltex.dll",
"dataDisabled": "8B153C702201",
"dataEnabled": "BA0100000090"
},
{
"offset": 9720876,
"dllName": "soundvoltex.dll",
"dataDisabled": "B930B330A23087730698",
"dataEnabled": "530063006F0072006500"
}
]
},
{
"name": "ASIO 2 Channels Mode",
"description": "Use 2 channels instead of 8. Useful for some audio cards.",
"caution": "ONLY for ASIO audio users.",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 6107030,
"dllName": "soundvoltex.dll",
"dataDisabled": "BA2B000000",
"dataEnabled": "BA2A000000"
}
]
},
{
"name": "Disable power change",
"description": "Prevents the game from changing power settings.",
"caution": "Typically not required with spice2x.",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 3534334,
"dllName": "soundvoltex.dll",
"dataDisabled": "75",
"dataEnabled": "EB"
}
]
},
{
"name": "Disable monitor change",
"description": "Prevents the game from changing monitor settings.",
"caution": "Typically not required with spice2x.",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 3534486,
"dllName": "soundvoltex.dll",
"dataDisabled": "75",
"dataEnabled": "EB"
}
]
},
{
"name": "Disable Subscreen in Valkyrie mode",
"description": "Forcefully disables the subscreen.",
"caution": "ONLY for Valkyrie (G spec). Consider using spice2x's \"-sdvxnosub\" option instead.",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 5528734,
"dllName": "soundvoltex.dll",
"dataDisabled": "83BDB800000002410F93C64488742451",
"dataEnabled": "41B60044887424519090909090909090"
}
]
},
{
"name": "Valkyrie Mode 60Hz",
"description": "Allows the game to run at 60Hz.",
"caution": "ONLY for Valkyrie (G Spec). Might require \"Force BIO2 (KFC) IO in Valkyrie mode\" to work.",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 3534525,
"dllName": "soundvoltex.dll",
"dataDisabled": "74",
"dataEnabled": "75"
},
{
"offset": 5530331,
"dllName": "soundvoltex.dll",
"dataDisabled": "74",
"dataEnabled": "75"
},
{
"offset": 5532672,
"dllName": "soundvoltex.dll",
"dataDisabled": "74",
"dataEnabled": "75"
}
]
},
{
"name": "Force BIO2 (KFC) IO in Valkyrie mode",
"description": "Forces the game to use BIO2 IO in Valkyrie mode.",
"caution": "Can be useful for arcade cabinets. If you don't know why you need this, ignore it.",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 5851557,
"dllName": "soundvoltex.dll",
"dataDisabled": "8705",
"dataEnabled": "A70C"
}
]
},
{
"name": "Force Enable Headphones",
"description": "Assumes headphones are always connected, allowing for volume control. Useful for cabinets.",
"caution": "",
"gameCode": "KFC",
"type": "memory",
"patches": [
{
"offset": 6021766,
"dllName": "soundvoltex.dll",
"dataDisabled": "0F10060F114760",
"dataEnabled": "C7476001000000"
}
]
}
]
-49
View File
@@ -1,49 +0,0 @@
[
{
"info": "example patch for spice2x documentation",
"extraInfo": "this object is completely optional and you can put whatever you want in it, it will be printed in the logs, but it will not be parsed in the code",
"downloadedFrom": "https://spice2x.github.io/patches/",
"lastUpdated": "2024-07-03T08:52:37.645Z",
"dateCode": "2023090500 (LDJ-003)"
},
{
"name": "Standard/Menu Timer Freeze",
"description": "Freezes menu timer. va=180B28FA5",
"gameCode": "LDJ",
"type": "memory",
"patches": [
{
"offset": 11699109,
"dllName": "bm2dx.dll",
"dataDisabled": "0F84",
"dataEnabled": "90E9"
}
]
},
{
"name" : "Monitor Adjust Offset",
"description": "Changes base timing offset value. va=0x181274D38",
"gameCode": "LDJ",
"type" : "number",
"patch": {
"dllName": "bm2dx.dll",
"offset" : 19347768,
"size": 4,
"min" : -1000,
"max" : 1000
}
},
{
"name" : "Full Screen Monitor Check FPS Target",
"description": "Changes full screen refresh rate. va=180AC9445",
"gameCode": "LDJ",
"type" : "number",
"patch": {
"dllName": "bm2dx.dll",
"offset" : 11307084,
"size": 2,
"min" : 60,
"max" : 1200
}
}
]
-188
View File
@@ -1,188 +0,0 @@
[
{
"gameCode": "LDJ",
"version": "2025-08-25 (010)",
"source": "https://spice2x.github.io/"
},
{
"type": "group",
"gameCode": "LDJ",
"id": "timer-freeze",
"name": "Timer Freeze Patches",
"description": "Freezes various timers in the game."
},
{
"name": "Standard/Menu Timer Freeze",
"description": "Freezes all non-premium area timers.",
"caution": "",
"gameCode": "LDJ",
"type": "memory",
"group": "timer-freeze",
"patches": [
{
"offset": 9962743,
"dllName": "bm2dx.dll",
"dataDisabled": "0F84",
"dataEnabled": "90E9"
}
]
},
{
"name": "Premium Free Timer Freeze",
"description": "Freezes all premium area timers.",
"caution": "",
"gameCode": "LDJ",
"type": "memory",
"group": "timer-freeze",
"patches": [
{
"offset": 9111965,
"dllName": "bm2dx.dll",
"dataDisabled": "7E",
"dataEnabled": "EB"
}
]
},
{
"name": "Video Purchase Timer Freeze",
"description": "Freezes the subscreen countdown on the transition from result to music select.",
"caution": "Only useful with a TDJ (010) dll.",
"gameCode": "LDJ",
"type": "memory",
"group": "timer-freeze",
"patches": [
{
"offset": 10340157,
"dllName": "bm2dx.dll",
"dataDisabled": "FFC8",
"dataEnabled": "9090"
}
]
},
{
"type": "group",
"gameCode": "LDJ",
"id": "quick-retry",
"name": "Quick Retry Patches",
"description": "Makes retrying songs quicker."
},
{
"name": "Skip Decide Screen",
"description": "Skips the splash animation that appears upon starting a song.",
"caution": "",
"gameCode": "LDJ",
"type": "memory",
"group": "quick-retry",
"patches": [
{
"offset": 6230736,
"dllName": "bm2dx.dll",
"dataDisabled": "488BC455",
"dataEnabled": "488BC1C3"
}
]
},
{
"name": "Quick Retry",
"description": "Makes retrying a song quicker.",
"caution": "",
"gameCode": "LDJ",
"type": "memory",
"group": "quick-retry",
"patches": [
{
"offset": 8901984,
"dllName": "bm2dx.dll",
"dataDisabled": "40534883EC20",
"dataEnabled": "B001C3909090"
}
]
},
{
"name": "Quicker Quick Retry",
"description": "Makes retrying a song even quicker. Shortens the duration of the 'Stage Failed' animation.",
"caution": "To be used along with \"Quick Retry\".",
"gameCode": "LDJ",
"type": "memory",
"group": "quick-retry",
"patches": [
{
"offset": 9623152,
"dllName": "bm2dx.dll",
"dataDisabled": "7C79",
"dataEnabled": "9090"
}
]
},
{
"type": "group",
"gameCode": "LDJ",
"id": "ldj-fps",
"name": "LDJ Custom FPS Patches",
"description": "Custom FPS for LDJ mode.",
"caution": "Only if you know what you're doing."
},
{
"name": "Force LDJ Custom Timing/Adapter FPS",
"description": "Forces Custom Timing/Adapter FPS in LDJ.",
"caution": "Enable this if \"Custom LDJ Timing/Adapter FPS\" is not default. May cause desync. Consider \"Force TDJ/LDJ Mode\" patches instead.",
"gameCode": "LDJ",
"type": "memory",
"group": "ldj-fps",
"patches": [
{
"offset": 8568291,
"dllName": "bm2dx.dll",
"dataDisabled": "75",
"dataEnabled": "EB"
},
{
"offset": 10906103,
"dllName": "bm2dx.dll",
"dataDisabled": "7403",
"dataEnabled": "9090"
}
]
},
{
"name": "Choose LDJ Custom Timing/Adapter FPS",
"description": "Sets the Timing/Adapter FPS in LDJ.",
"caution": "Requires \"Force Custom Timing/Adapter in LDJ\" to be enabled. May cause desync. Consider \"Force TDJ/LDJ Mode\" patches instead.",
"gameCode": "LDJ",
"type": "union",
"group": "ldj-fps",
"patches": [
{
"name": "60 FPS (Default)",
"patch": {
"offset": 10905569,
"dllName": "bm2dx.dll",
"data": "C745DB3C000000C745FF01000000488B45D748894503C745D701000000C745DB3C000000"
}
},
{
"name": "120 FPS",
"patch": {
"offset": 10905569,
"dllName": "bm2dx.dll",
"data": "C745DB78000000C745FF01000000488B45D748894503C745D701000000C745DB78000000"
}
}
]
},
{
"name": "Debug Mode",
"description": "While in game, press F1 to enable menu. (Disables Profile/Score saving)",
"caution": "Ignore if you're not sure know what this does.",
"gameCode": "LDJ",
"type": "memory",
"patches": [
{
"offset": 9803904,
"dllName": "bm2dx.dll",
"dataDisabled": "32C0",
"dataEnabled": "B001"
}
]
}
]
-72
View File
@@ -1,72 +0,0 @@
[
{
"info": "example patch for spice2x documentation",
"extraInfo": "this object is completely optional and you can put whatever you want in it, it will be printed in the logs, but it will not be parsed in the code",
"downloadedFrom": "https://spice2x.github.io/patches/",
"lastUpdated": "2024-07-03T08:52:37.645Z",
"dateCode": "2022102400"
},
{
"gameCode": "M32",
"name": "Skip Tutorial",
"description": "",
"type": "memory",
"preset": true,
"patches": [
{
"dllName": "game.dll",
"dataDisabled": "0F87",
"dataEnabled": "90E9",
"dataOffset": 946042
}
]
},
{
"gameCode": "M32",
"name": "Infinite Stage",
"description": "Play forever",
"caution": "Scores will not save",
"type": "memory",
"preset": true,
"patches": [
{
"dllName": "game.dll",
"dataDisabled": "0F85",
"dataEnabled": "90E9",
"dataOffset": 1143921
}
]
},
{
"name": "Change PLEASE WAIT A MOMENT message",
"description": "Just a dumb example",
"gameCode": "M32",
"type": "union",
"patches": [
{
"name": "MOMENT (Default)",
"patch": {
"dllName": "game.dll",
"data": "4D4F4D454E54",
"offset": 1609086
}
},
{
"name": "MOMENO",
"patch": {
"dllName": "game.dll",
"data": "4D4F4D454E4F",
"offset": 1609086
}
},
{
"name": "SECOND",
"patch": {
"dllName": "game.dll",
"data": "5345434F4E44",
"offset": 1609086
}
}
]
}
]
-5
View File
@@ -1,5 +0,0 @@
Use this URL to import patches into spice2x: <pre>https://spice2x.github.io/patches/</pre>
This is temporary & very few games are supported (namely, EG final).
There is NO intention turning this into a full blown database of patches.