add delete function
This commit is contained in:
@@ -1,15 +0,0 @@
|
|||||||
Для того, чтобы спрайт не шёл в учёт неготовых нужно написать его название в списке ниже!
|
|
||||||
Просто название спрайта, без каких-либо дополнительных символов.
|
|
||||||
|
|
||||||
Вырезня:
|
|
||||||
spr_ch3_gameshow_round
|
|
||||||
spr_ch3_GSA01G_tvtimescreenshot
|
|
||||||
spr_mansion_traffic_2fsign
|
|
||||||
bg_dw_music_ext_original
|
|
||||||
spr_board_tile_quiz
|
|
||||||
spr_ch3_chef_specialguestText
|
|
||||||
spr_gameshow_halloffame_left
|
|
||||||
spr_gameshow_halloffame_right
|
|
||||||
spr_gameshow_screen_halloffame
|
|
||||||
spr_board_tile_quiz
|
|
||||||
spr_dw_green_room_poster_left
|
|
||||||
11
_sprites/delete.txt
Normal file
11
_sprites/delete.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
!! CAUTION !!
|
||||||
|
Deleting files listed here is IRREVERSIBLE. You won’t be able to restore a deleted file just by removing it from the list. Choose files wisely and don’t regret what you’ve done.
|
||||||
|
You can still get the files back using Git, but it will be a bit harder.
|
||||||
|
|
||||||
|
To delete a file, write its full path.
|
||||||
|
Examples:
|
||||||
|
translation/sp_spr_btrouxls - will delete sprite `sp_spr_btrouxls` in `translation`
|
||||||
|
original/chapter2/bg_dw_bakery.png - will delete sprite `bg_dw_bakery` in `chapter2` inside `original`
|
||||||
|
|
||||||
|
|
||||||
|
DELETE:
|
||||||
@@ -1,22 +1,22 @@
|
|||||||
Для того, чтобы спрайт добавился в папку sorted, нужно написать его название и главу в списке «УНИКАЛЬНЫЕ ДЛЯ РУСИФИКАТОРА»!
|
To have a sprite added to the `sorted` folder, you must write its name and chapter in the “UNIQUE FOR SORTING" list!
|
||||||
Примеры:
|
Examples:
|
||||||
chapter3/sprite1 - Добавит в папку ТРЕТЬЕЙ главы спрайт sprite1 (будь то папка с анимацией или просто спрайт)
|
chapter3/img1 – Adds sprite `img1` to the `chapter3` folder (whether it’s an animation folder or just a single sprite)
|
||||||
chapter2/sprite3 - Добавит в папку ВТОРОЙ главы спрайт sprite3 (будь то папка с анимацией или просто спрайт)
|
chapter2/anim2 – Adds sprite `anim2` to the `chapter2` folder (whether it’s an animation folder or just a single sprite)
|
||||||
|
|
||||||
Если количество кадров у анимированного спрайта отличается от оригинала, то нужно написать его название в списке «УНИКАЛЬНОЕ КОЛ-ВО КАДРОВ»!
|
If the frame count of an animated sprite differs from the original, you must write its name in the “UNIQUE FRAME COUNT” list!
|
||||||
!! ВНИМАНИЕ !!
|
!! ATTENTION !!
|
||||||
Такое нужно делать только в том случае, если у спрайта отличается ВСЯ анимация.
|
Do this only if the ENTIRE animation of the sprite is different.
|
||||||
В случае, когда у спрайта, допустим, просто переведён один кадр, а остальные нужно оставить ТАКИМИИ ЖЕ, то заносить его в список НЕ НУЖНО!
|
If, for example, just one frame is translated and the rest should remain THE SAME, you DO NOT need to add it to the list!
|
||||||
|
|
||||||
|
|
||||||
УНИКАЛЬНЫЕ ДЛЯ РУСИФИКАТОРА:
|
UNIQUE FOR SORTING:
|
||||||
chapter1/spr_blockler_и
|
chapter1/spr_blockler_и
|
||||||
chapter1/spr_blockler_с
|
chapter1/spr_blockler_с
|
||||||
chapter3/spr_funnytext_loves
|
chapter3/spr_funnytext_loves
|
||||||
chapter3/spr_funnytext_star2
|
chapter3/spr_funnytext_star2
|
||||||
|
|
||||||
|
|
||||||
УНИКАЛЬНОЕ КОЛ-ВО КАДРОВ:
|
UNIQUE FRAME COUNT:
|
||||||
IMAGE_LOGO_CENTER_SEPARATE
|
IMAGE_LOGO_CENTER_SEPARATE
|
||||||
spr_ch2_keyboard_tile_text
|
spr_ch2_keyboard_tile_text
|
||||||
spr_funnytext_dark_fountain
|
spr_funnytext_dark_fountain
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ const chapters = fs.readdirSync("../_sprites/original");
|
|||||||
|
|
||||||
const UNIQUES = fs
|
const UNIQUES = fs
|
||||||
.readFileSync("../_sprites/unique.txt", "utf-8")
|
.readFileSync("../_sprites/unique.txt", "utf-8")
|
||||||
.split("УНИКАЛЬНЫЕ ДЛЯ РУСИФИКАТОРА:")
|
.split("UNIQUE FOR SORTING:")
|
||||||
.at(-1)
|
.at(-1)
|
||||||
?.split("УНИКАЛЬНОЕ КОЛ-ВО КАДРОВ:");
|
?.split("UNIQUE FRAME COUNT:");
|
||||||
|
|
||||||
const UNIQUES_NAMES = UNIQUES != undefined ? UNIQUES[0].split("\n") : [];
|
const UNIQUES_NAMES = UNIQUES != undefined ? UNIQUES[0].split("\n") : [];
|
||||||
UNIQUES_NAMES?.shift();
|
UNIQUES_NAMES?.shift();
|
||||||
@@ -141,5 +141,3 @@ if (UNIQUES_NAMES != undefined) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// LD
|
|
||||||
|
|||||||
@@ -1,16 +1,39 @@
|
|||||||
import fs from "node:fs";
|
import fs from "node:fs";
|
||||||
import { SHARED } from "./sort";
|
|
||||||
|
|
||||||
const CHAPTERS = JSON.parse(fs.readFileSync("./data.json", "utf-8"));
|
const CHAPTERS = JSON.parse(fs.readFileSync("./data.json", "utf-8"));
|
||||||
|
|
||||||
const CUTS = fs
|
const DELETE = fs
|
||||||
.readFileSync("../_sprites/cut.txt", "utf-8")
|
.readFileSync("../_sprites/delete.txt", "utf-8")
|
||||||
.split("Вырезня:")
|
.split("DELETE:")
|
||||||
.at(-1)
|
.at(-1)
|
||||||
?.split("\n");
|
?.split("\n");
|
||||||
|
|
||||||
CUTS?.shift();
|
DELETE?.shift();
|
||||||
if (CUTS?.at(-1) == "") CUTS?.pop();
|
if (DELETE?.at(-1) == "") DELETE?.pop();
|
||||||
|
|
||||||
|
if (DELETE != undefined) {
|
||||||
|
for (const del of DELETE) {
|
||||||
|
if (fs.existsSync(`../_sprites/${del}`))
|
||||||
|
fs.rmSync(`../_sprites/${del}`, {
|
||||||
|
recursive: true,
|
||||||
|
force: true,
|
||||||
|
});
|
||||||
|
else if (fs.existsSync(`../_sprites/${del}.png`))
|
||||||
|
fs.rmSync(`../_sprites/${del}.png`, {
|
||||||
|
recursive: true,
|
||||||
|
force: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const UNIQUES = fs
|
||||||
|
.readFileSync("../_sprites/unique.txt", "utf-8")
|
||||||
|
.split("UNIQUE FOR SORTING:")
|
||||||
|
.at(-1)
|
||||||
|
?.split("UNIQUE FRAME COUNT:");
|
||||||
|
const UNIQUES_FRAMES = UNIQUES != undefined ? UNIQUES[1].split("\n") : [];
|
||||||
|
UNIQUES_FRAMES?.shift();
|
||||||
|
while (UNIQUES_FRAMES?.at(-1) == "") UNIQUES_FRAMES?.pop();
|
||||||
|
|
||||||
if (!fs.existsSync("../_sprites/unready")) fs.mkdirSync("../_sprites/unready");
|
if (!fs.existsSync("../_sprites/unready")) fs.mkdirSync("../_sprites/unready");
|
||||||
|
|
||||||
@@ -32,7 +55,7 @@ for (const sprite of TRANSLATED) {
|
|||||||
} else {
|
} else {
|
||||||
if (
|
if (
|
||||||
fs.existsSync(`../_sprites/unready/${sprite}`) &&
|
fs.existsSync(`../_sprites/unready/${sprite}`) &&
|
||||||
(SHARED.includes(sprite) ||
|
(UNIQUES_FRAMES.includes(sprite) ||
|
||||||
fs.readdirSync(`../_sprites/unready/${sprite}`).length ==
|
fs.readdirSync(`../_sprites/unready/${sprite}`).length ==
|
||||||
fs.readdirSync(`../_sprites/translation/${sprite}`).length)
|
fs.readdirSync(`../_sprites/translation/${sprite}`).length)
|
||||||
)
|
)
|
||||||
@@ -42,18 +65,3 @@ for (const sprite of TRANSLATED) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CUTS != undefined) {
|
|
||||||
for (const cut of CUTS) {
|
|
||||||
if (fs.existsSync(`../_sprites/unready/${cut}`))
|
|
||||||
fs.rmSync(`../_sprites/unready/${cut}`, {
|
|
||||||
recursive: true,
|
|
||||||
force: true,
|
|
||||||
});
|
|
||||||
else if (fs.existsSync(`../_sprites/unready/${cut}.png`))
|
|
||||||
fs.rmSync(`../_sprites/unready/${cut}.png`, {
|
|
||||||
recursive: true,
|
|
||||||
force: true,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user