Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDVX Import Suggested Fixes #37

Merged
merged 11 commits into from
Jul 13, 2020
  •  
  •  
  •  
113 changes: 98 additions & 15 deletions scripts/import-sdvx.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const iconv = require("iconv-lite");
const prettier = require("prettier");

const OUTFILE = "src/songs/sdvx.json";
const JACKETS_PATH = 'src/assets/jackets/sdvx';

async function main() {
const sdvxFile = process.argv[2];
Expand All @@ -27,25 +28,38 @@ async function main() {

console.log(`successfully parsed ${sdvxFile}, importing data...`);

console.log(`getting list of song jackets from ${JACKETS_PATH}`);
const availableJackets = new Set(await fs.readdir(JACKETS_PATH));

const data = {
meta: {
styles: ["single"],
difficulties: [
{ key: "novice", color: "#aaaaff" },
{ key: "novice", color: "#800080" },
{ key: "advanced", color: "#ffffaa" },
{ key: "exhaust", color: "#ffaaaa" },
{ key: "maximum", color: "#ffffff" },
{ key: "exhaust", color: "#ff0000" },
{ key: "maximum", color: "#808080" },
{ key: "infinite", color: "#ffbae7" },
{ key: "gravity", color: "#ff8c00" },
{ key: "heavenly", color: "#00ffff" },
{ key: "vivid", color: "#f52a6e" },
],
flags: [],
lvlMax: 20,
},
defaults: {
style: "single",
difficulties: ["exhaust", "infinite", "maximum"],
difficulties: [
"exhaust",
"maximum",
"infinite",
"gravity",
"heavenly",
"vivid"
],
flags: [],
lowerLvlBound: 10,
upperLvlBound: 20,
lowerLvlBound: 16,
upperLvlBound: 19,
},
i18n: {
en: {
Expand All @@ -55,13 +69,19 @@ async function main() {
advanced: "Advanced",
exhaust: "Exhaust",
maximum: "Maximum",
infinite: "Vivid",
infinite: "Infinite",
gravity: "Gravity",
heavenly: "Heavenly",
vivid: "Vivid",
$abbr: {
novice: "NOV",
advanced: "ADV",
exhaust: "EXH",
maximum: "MXM",
infinite: "VIV",
infinite: "INF",
gravity: "GRV",
heavenly: "HVN",
vivid: "VVD"
},
},
ja: {
Expand All @@ -71,17 +91,23 @@ async function main() {
advanced: "Advanced",
exhaust: "Exhaust",
maximum: "Maximum",
infinite: "Vivid",
infinite: "Infinite",
gravity: "Gravity",
heavenly: "Heavenly",
vivid: "Vivid",
$abbr: {
novice: "NOV",
advanced: "ADV",
exhaust: "EXH",
maximum: "MXM",
infinite: "VIV",
infinite: "INF",
gravity: "GRV",
heavenly: "HVN",
vivid: "VVD"
},
},
},
songs: fileData.mdb.music.map(buildSong),
songs: fileData.mdb.music.filter(filterUnplayableSongs).map(song => buildSong(song, availableJackets)),
};

console.log(`successfully imported data, writing data to ${OUTFILE}`);
Expand All @@ -91,7 +117,51 @@ async function main() {
);
}

function buildSong(song) {
function determineDiffClass(song, chartType) {
vlnguyen marked this conversation as resolved.
Show resolved Hide resolved
if (chartType !== "infinite") {
return chartType;
}
const infVersion = parseInt(song.info[0].inf_ver[0]._);
switch (infVersion) {
case 2:
return "infinite";
case 3:
return "gravity";
case 4:
return "heavenly";
case 5:
return "vivid";
}
}

const songIdsToSkip = new Set([
840, // Grace's Tutorial https://remywiki.com/GRACE-chan_no_chou~zetsu!!_GRAVITY_kouza_w
1219, // Maxima's Tutorial https://remywiki.com/Maxima_sensei_no_mankai!!_HEAVENLY_kouza
1259, // AUTOMATION PARADISE
1438, // AUTOMATION PARADISE, April Fools
]);
function filterUnplayableSongs(song) {
return !songIdsToSkip.has(parseInt(song.$.id));
}

function determineChartJacket(chartType, song, availableJackets) {
const songId = ('000' + parseInt(song.$.id)).slice(-4);
const diffClassToNumber = {
"novice": 1,
"advanced": 2,
"exhaust": 3,
"infinite": 4,
"maximimum": 5
}
// if a chart does not have difficulty-specific song jackets, then they share the "novice" jacket
let jacketName = `jk_${songId}_${diffClassToNumber[chartType]}_s.png`;
if (!availableJackets.has(jacketName)) {
return undefined;
}
return `sdvx/${jacketName}`;
vlnguyen marked this conversation as resolved.
Show resolved Hide resolved
}

function buildSong(song, availableJackets) {
const info = song.info[0];

const bpmMax = info.bpm_max[0]._.slice(0, -2);
Expand All @@ -102,6 +172,7 @@ function buildSong(song) {
}

const charts = [];
let usesSharedJacket = false;
for (const chartType of Object.keys(song.difficulty[0])) {
const chartInfo = song.difficulty[0][chartType][0];

Expand All @@ -110,18 +181,30 @@ function buildSong(song) {
continue;
}

const chartJacket = determineChartJacket(chartType, song, availableJackets);
if (!chartJacket) {
usesSharedJacket = true;
}

charts.push({
lvl,
style: "single",
diffClass: chartType,
diffClass: determineDiffClass(song, chartType),
jacket: chartJacket,
});
}


if (usesSharedJacket) {
charts.find(c => c.diffClass === "novice").jacket = undefined;
}

return {
name: info.title_name[0],
search_hint: info.ascii[0],
artist: info.artist_name[0],
jacket: "sdvx5.png",
jacket: usesSharedJacket
? `sdvx/jk_${('000' + parseInt(song.$.id)).slice(-4)}_1_s.png`
: "sdvx5.png",
bpm,
charts,
};
Expand Down
3 changes: 3 additions & 0 deletions songs.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,9 @@
},
"freeze": {
"type": "number"
},
"jacket": {
"type": "string"
}
},
"required": ["lvl", "diffClass", "style"]
Expand Down
Binary file added src/assets/jackets/sdvx/jk_0001_1_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0001_2_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0001_3_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0001_4_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0002_1_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0002_2_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0002_3_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0002_4_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0003_1_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0003_2_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0003_3_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0004_1_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0004_2_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0004_3_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0004_4_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0005_1_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0005_2_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0005_3_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0006_1_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0006_2_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0006_3_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0006_4_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0007_1_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0007_2_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0007_3_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/jackets/sdvx/jk_0007_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0008_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0008_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0008_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0009_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0009_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0009_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0010_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0010_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0010_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0010_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0011_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0011_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0011_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0012_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0012_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0012_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0013_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0013_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0013_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0014_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0014_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0014_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0014_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0015_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0015_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0015_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0016_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0016_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0016_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0017_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0017_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0017_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0018_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0018_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0018_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0019_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0019_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0019_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0019_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0021_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0021_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0021_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0022_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0022_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0022_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0023_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0023_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0023_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0023_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0024_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0024_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0024_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0025_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0025_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0025_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0025_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0026_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0026_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0026_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0026_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0027_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0027_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0027_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0028_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0028_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0028_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0029_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0029_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0029_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0030_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0030_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0030_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0030_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0031_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0031_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0031_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0032_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0032_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0032_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0033_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0033_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0033_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0034_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0034_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0034_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0036_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0036_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0036_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0036_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0037_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0037_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0037_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0039_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0039_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0039_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0039_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0040_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0040_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0040_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0041_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0041_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0041_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0042_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0042_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0042_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0043_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0043_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0043_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0044_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0044_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0044_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0045_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0045_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0045_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0047_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0047_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0047_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0047_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0048_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0048_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0048_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0048_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0049_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0050_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0051_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0052_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0053_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0054_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0054_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0054_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0054_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0055_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0055_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0055_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0056_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0056_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0056_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0057_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0058_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0059_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0059_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0059_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0059_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0060_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0060_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0060_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0060_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0061_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0061_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0061_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0062_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0062_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0062_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0062_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0063_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0063_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0063_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0063_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0064_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0064_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0064_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0065_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0065_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0065_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0065_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0066_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0066_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0066_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0066_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0067_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0067_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0067_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0068_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0068_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0068_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0068_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0069_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0069_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0069_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0069_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0070_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0070_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0070_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0070_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0071_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0071_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0071_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0071_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0072_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0072_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0072_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0072_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0073_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0073_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0073_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0073_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0074_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0074_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0074_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0075_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0075_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0075_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0076_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0077_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0078_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0079_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0080_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0081_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0082_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0083_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0084_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0085_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0085_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0085_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0086_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0087_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0088_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0089_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0090_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0091_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0092_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0092_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0092_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0093_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0093_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0093_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0094_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0094_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0094_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0095_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0095_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0095_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0096_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0096_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0096_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0097_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0097_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0097_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0098_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0098_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0098_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0099_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0099_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0099_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0100_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0100_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0100_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0101_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0101_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0101_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0101_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0102_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0102_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0102_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0103_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0103_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0103_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0103_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0104_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0105_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0106_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0107_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0108_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0109_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0109_2_s.png
Binary file added src/assets/jackets/sdvx/jk_0109_3_s.png
Binary file added src/assets/jackets/sdvx/jk_0109_4_s.png
Binary file added src/assets/jackets/sdvx/jk_0110_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0111_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0112_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0113_1_s.png
Binary file added src/assets/jackets/sdvx/jk_0114_1_s.png
Loading