- Rename original files - Allow exclusions and blacklist to be disabled completely - Add "valid locations" option - Add option to overwrite the files in the output folder ("chaining") - Add console output for how many models have been replaced, excluded, or are non valid
179 lines
3.4 KiB
JavaScript
179 lines
3.4 KiB
JavaScript
// Which mode the program should run in?
|
|
//
|
|
// 0 = Everyone is one model (singleModel)
|
|
// 1 = Everyone has a random model from a list (randomModels)
|
|
// 2 = Everyone is a completely random model
|
|
const mode = 0;
|
|
|
|
// Whether or not the files should be modified from the output directory
|
|
const overwrite = false;
|
|
|
|
// Should we try to make sure models are replaced
|
|
// with another one of the same "type"? (2nd byte)
|
|
const sameType = false;
|
|
|
|
// Singular model to replace when mode is 0
|
|
//
|
|
// Example: [0x71, 0x08] for Kiryu
|
|
// const singleModel = [0x71, 0x08];
|
|
const singleModel = [0x71, 0x08];
|
|
|
|
// List of base models to exclude from modifications
|
|
// Other models can still be replaced *with* that model
|
|
//
|
|
// Example: If Kiryu's base model is found it will never be changed
|
|
// That means Kiryu can't be set to Daigo, but Daigo can still be set to Kiryu
|
|
// Can also work as a whitelist so only the models listed here will be replaced
|
|
const exclusions = {
|
|
enabled: false,
|
|
isWhitelist: false,
|
|
models: [
|
|
[0x71, 0x08],
|
|
[0x72, 0x08],
|
|
[0x81, 0x08],
|
|
[0x75, 0x08],
|
|
[0x7d, 0x08],
|
|
[0x77, 0x08],
|
|
[0x7b, 0x08],
|
|
[0x7a, 0x08],
|
|
[0x78, 0x08],
|
|
[0x79, 0x08],
|
|
[0x73, 0x08],
|
|
[0x7f, 0x08],
|
|
[0x7e, 0x08],
|
|
[0x7c, 0x08],
|
|
[0x82, 0x08],
|
|
[0x76, 0x08],
|
|
[0x80, 0x08],
|
|
[0x83, 0x08],
|
|
],
|
|
};
|
|
|
|
// Blacklist to prevent models from appearing
|
|
// Can also act as a whitelist so *only* those models will appear
|
|
const blacklist = {
|
|
enabled: false,
|
|
isWhitelist: false,
|
|
models: [
|
|
// Dummies
|
|
[0x58, 0x08],
|
|
[0x1e, 0x0a],
|
|
|
|
// Sitting models
|
|
[0x03, 0x0b],
|
|
[0x90, 0x08],
|
|
[0xc7, 0x08],
|
|
[0x6b, 0x08],
|
|
[0xb9, 0x08],
|
|
[0x62, 0x08],
|
|
[0xa4, 0x08],
|
|
[0xa0, 0x08],
|
|
[0x82, 0x08],
|
|
[0x70, 0x05],
|
|
[0x72, 0x05],
|
|
[0x76, 0x05],
|
|
[0xb5, 0x08],
|
|
[0x8d, 0x08],
|
|
[0xc8, 0x08],
|
|
[0xb1, 0x02],
|
|
|
|
// Sitting characters
|
|
[0x12, 0x07],
|
|
[0x13, 0x07],
|
|
[0x14, 0x07],
|
|
[0x15, 0x07],
|
|
[0x16, 0x07],
|
|
[0x17, 0x07],
|
|
[0x18, 0x07],
|
|
[0x19, 0x07],
|
|
[0x1a, 0x07],
|
|
[0x1b, 0x07],
|
|
[0x1c, 0x07],
|
|
[0xec, 0x0a],
|
|
[0xed, 0x0a],
|
|
[0xee, 0x0a],
|
|
[0xef, 0x0a],
|
|
[0xf0, 0x0a],
|
|
[0xf1, 0x0a],
|
|
[0xf2, 0x0a],
|
|
[0xf3, 0x0a],
|
|
[0xf4, 0x0a],
|
|
[0xf5, 0x0a],
|
|
[0xf6, 0x0a],
|
|
[0xf7, 0x0a],
|
|
[0xf8, 0x0a],
|
|
[0xf9, 0x0a],
|
|
[0xfa, 0x0a],
|
|
[0x1d, 0x07],
|
|
[0x1e, 0x07],
|
|
[0x1f, 0x07],
|
|
[0x20, 0x07],
|
|
[0x21, 0x07],
|
|
[0x22, 0x07],
|
|
[0x23, 0x07],
|
|
[0x24, 0x07],
|
|
[0x25, 0x07],
|
|
[0x26, 0x07],
|
|
[0x27, 0x07],
|
|
[0x28, 0x07],
|
|
[0x29, 0x07],
|
|
[0x2a, 0x07],
|
|
[0x2b, 0x07],
|
|
[0x2c, 0x07],
|
|
[0x2d, 0x07],
|
|
[0x2e, 0x07],
|
|
[0x2f, 0x07],
|
|
[0x30, 0x07],
|
|
[0x31, 0x07],
|
|
[0x32, 0x07],
|
|
[0x33, 0x07],
|
|
[0x34, 0x07],
|
|
[0x35, 0x07],
|
|
[0x36, 0x07],
|
|
[0x37, 0x07],
|
|
[0x38, 0x07],
|
|
[0x39, 0x07],
|
|
[0x3a, 0x07],
|
|
],
|
|
};
|
|
|
|
// List of valid locations to replace
|
|
//
|
|
// Can also act as a blacklist so those locations will be excluded
|
|
const valid = {
|
|
enabled: false,
|
|
isWhitelist: true,
|
|
locations: [
|
|
// All Kiryu model locations
|
|
0x16194,
|
|
0x181c0,
|
|
0x18c28,
|
|
0x17c14,
|
|
0x18c24,
|
|
0x18bb8,
|
|
0x161b4,
|
|
0x161b8,
|
|
0x18bbc,
|
|
0x18bc0,
|
|
0x18310,
|
|
0x161c0,
|
|
0x161cc,
|
|
0x161c4,
|
|
0x18c20,
|
|
0x189d4,
|
|
0x18ae0,
|
|
0x18e50,
|
|
],
|
|
};
|
|
|
|
module.exports = {
|
|
mode,
|
|
overwrite,
|
|
sameType,
|
|
singleModel,
|
|
randomModels,
|
|
exclusions,
|
|
blacklist,
|
|
valid,
|
|
};
|