Compare commits
13 Commits
cde9b3f74a
...
nctv-avata
Author | SHA1 | Date | |
---|---|---|---|
21ecdf77c6 | |||
cfe2ac0607 | |||
74566a895a | |||
587334a3e1 | |||
30cce2ec03 | |||
24f48788ab | |||
bed00aa4c5 | |||
fd16c95b8f | |||
39f6e4c637 | |||
f8c34213cb | |||
eb889711f5 | |||
8dd6ed7888 | |||
0cc38ac575 |
BIN
assets/images/avatars/nctv/hat_01.png
Normal file
BIN
assets/images/avatars/nctv/hat_01.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 350 B |
@ -58,6 +58,9 @@ const avatarPartsDef = {
|
||||
fur: 10,
|
||||
eyes: 15,
|
||||
mouth: 10
|
||||
},
|
||||
'nctv': {
|
||||
body: null,
|
||||
}
|
||||
}
|
||||
|
||||
@ -169,6 +172,23 @@ async function generateAvatars (part) {
|
||||
}
|
||||
}
|
||||
|
||||
const generateNigbotAvatar = async () => {
|
||||
console.log('Starting generating nigbot avatar');
|
||||
|
||||
const inputDir = './assets/images/avatars/nctv/';
|
||||
const outputDir = './dist/server/avatars/nctv/';
|
||||
fs.mkdirSync(outputDir, { recursive: true });
|
||||
|
||||
const buff = await sharp(path.join(inputDir, 'nigbot.png')).toBuffer();
|
||||
await sharp(buff)
|
||||
.resize(60, 60)
|
||||
.png({ palette: true })
|
||||
.toFile(path.join(outputDir, '1.png'));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
async function generateBotsAvatars () {
|
||||
{
|
||||
// Moderation bot avatar: choosing some parts, and turning it so it is facing left.
|
||||
@ -294,6 +314,21 @@ async function generateBotsAvatars () {
|
||||
})
|
||||
.toFile(path.join(botOutputDir, '1.png'))
|
||||
}
|
||||
|
||||
{
|
||||
// Nigbot avatar for users
|
||||
const inputDir = './assets/images/avatars/nctv'
|
||||
const botOutputDir = './dist/server/bot_avatars/nctv/'
|
||||
fs.mkdirSync(botOutputDir, { recursive: true })
|
||||
const buff = await sharp(path.join(inputDir, 'nigbot.png'))
|
||||
.toBuffer()
|
||||
|
||||
await sharp(buff)
|
||||
// .resize(60, 60)
|
||||
.png()
|
||||
.toFile(path.join(botOutputDir, '1.png'))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (isMainThread) {
|
||||
@ -337,6 +372,9 @@ if (isMainThread) {
|
||||
throw err
|
||||
}
|
||||
)
|
||||
} else if (part === 'nctv') {
|
||||
generateNigbotAvatar();
|
||||
parentPort.postMessage('done');
|
||||
} else {
|
||||
generateAvatars(part).then(
|
||||
() => {
|
||||
|
@ -102,7 +102,7 @@ async function getProsodyFilePaths (options: RegisterServerOptions): Promise<Pro
|
||||
}
|
||||
|
||||
let avatarSet: AvatarSet = (settings['avatar-set'] ?? 'sepia') as AvatarSet
|
||||
if (!['sepia', 'cat', 'bird', 'fenec', 'abstract', 'legacy'].includes(avatarSet)) {
|
||||
if (!['sepia', 'cat', 'bird', 'fenec', 'abstract', 'legacy', 'nctv'].includes(avatarSet)) {
|
||||
logger.error('Invalid avatar-set setting, using sepia as default')
|
||||
avatarSet = 'sepia'
|
||||
}
|
||||
|
@ -506,7 +506,7 @@ function initThemingSettings ({ registerSetting }: RegisterServerOptions): void
|
||||
private: true,
|
||||
options: [
|
||||
{ value: 'sepia', label: loc('avatar_set_option_sepia') },
|
||||
{ value: 'NCTV', label: loc('avatar_set_option_nctv') },
|
||||
{ value: 'nctv', label: loc('avatar_set_option_nctv') },
|
||||
{ value: 'cat', label: loc('avatar_set_option_cat') },
|
||||
{ value: 'bird', label: loc('avatar_set_option_bird') },
|
||||
{ value: 'fenec', label: loc('avatar_set_option_fenec') },
|
||||
|
@ -28,6 +28,7 @@ These files are used to generate multiple avatars (see the `build-avatars.js` sc
|
||||
* `assets/images/avatars/bird` contains new birds avatar set, based on the work of David Revoy (see copyright informations)
|
||||
* `assets/images/avatars/fenec` contains new fenecs avatar set, based on the work of David Revoy (see copyright informations)
|
||||
* `assets/images/avatars/abstract` contains new abstract avatar set, based on the work of David Revoy (see copyright informations)
|
||||
* `assets/images/avatars/nctv` contains NCTV avatar, based on the work of The Almighty Kek
|
||||
|
||||
### assets/styles
|
||||
|
||||
|
Reference in New Issue
Block a user