Skip to content

Commit 39f6722

Browse files
author
ozelot379
committed
Convert dolphin texture
1 parent 8dd04bf commit 39f6722

3 files changed

Lines changed: 84 additions & 1 deletion

File tree

‎CHANGELOG.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Changelog
22

33
## [3.4.2]
4-
-
4+
- Convert dolphin texture
55

66
## [3.4.1]
77
- "ES module"

‎src/converter/DolphinConverter.mjs‎

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
import {AbstractConverter} from "./AbstractConverter.mjs";
2+
3+
/**
4+
* Class DolphinConverter
5+
*/
6+
class DolphinConverter extends AbstractConverter {
7+
/**
8+
* @inheritDoc
9+
*/
10+
async convert() {
11+
const from = this.data;
12+
13+
if (!await this.output.exists(from)) {
14+
return [];
15+
}
16+
17+
this.log.log(`Convert dolphin`);
18+
19+
const image_from = await this.readImage(from);
20+
21+
const factor = (image_from.getWidth() / 64);
22+
23+
const image = await this.createImage((64 * factor), (64 * factor));
24+
25+
// Nose
26+
image.composite(image_from.clone().crop(0, (13 * factor), (12 * factor), (6 * factor)), 0, (13 * factor));
27+
28+
// Head
29+
image.composite(image_from.clone().crop(0, 0, (28 * factor), (13 * factor)), 0, 0);
30+
31+
// Body
32+
image.composite(image_from.clone().crop((35 * factor), 0, (16 * factor), (13 * factor)), (13 * factor), (13 * factor));
33+
image.composite(image_from.clone().crop((22 * factor), (13 * factor), (42 * factor), (7 * factor)), 0, (26 * factor));
34+
35+
// Tail 1
36+
image.composite(image_from.clone().crop((11 * factor), (19 * factor), (8 * factor), (11 * factor)), (11 * factor), (33 * factor));
37+
image.composite(image_from.clone().crop(0, (30 * factor), (30 * factor), (5 * factor)), 0, (44 * factor));
38+
39+
// Tail 2
40+
image.composite(image_from.clone().crop((19 * factor), (20 * factor), (32 * factor), (7 * factor)), 0, (49 * factor));
41+
42+
// Top
43+
image.composite(image_from.clone().crop((62 * factor), (5 * factor), factor, (4 * factor)), (33 * factor), 0);
44+
image.composite(image_from.clone().crop((56 * factor), (5 * factor), factor, (4 * factor)), (34 * factor), 0);
45+
image.composite(image_from.clone().crop((51 * factor), (5 * factor), (5 * factor), (4 * factor)).rotateSimple(-90), (29 * factor), (4 * factor));
46+
image.composite(image_from.clone().crop((56 * factor), 0, factor, (5 * factor)), (33 * factor), (4 * factor));
47+
image.composite(image_from.clone().crop((57 * factor), (5 * factor), (5 * factor), (4 * factor)).rotateSimple(90), (34 * factor), (4 * factor));
48+
image.composite(image_from.clone().crop((57 * factor), 0, factor, (5 * factor)), (38 * factor), (4 * factor));
49+
50+
// Right
51+
image.composite(image_from.clone().crop((56 * factor), (27 * factor), (8 * factor), (4 * factor)), (44 * factor), 0);
52+
image.composite(image_from.clone().crop((48 * factor), (27 * factor), (8 * factor), (4 * factor)).flip(true, false), (52 * factor), 0);
53+
image.composite(image_from.clone().crop((55 * factor), (20 * factor), factor, (7 * factor)).rotateSimple(90), (40 * factor), (4 * factor));
54+
image.composite(image_from.clone().crop((55 * factor), (20 * factor), factor, (5 * factor)).rotateSimple(90), (47 * factor), (4 * factor));
55+
image.composite(image_from.clone().crop((56 * factor), (20 * factor), factor, (7 * factor)).rotateSimple(90), (52 * factor), (4 * factor));
56+
image.composite(image_from.clone().crop((56 * factor), (20 * factor), factor, (5 * factor)).rotateSimple(90), (59 * factor), (4 * factor));
57+
58+
// Left
59+
image.composite(image_from.clone().crop((56 * factor), (27 * factor), (8 * factor), (4 * factor)).flip(true, false), (44 * factor), (6 * factor));
60+
image.composite(image_from.clone().crop((48 * factor), (27 * factor), (8 * factor), (4 * factor)), (52 * factor), (6 * factor));
61+
image.composite(image_from.clone().crop((55 * factor), (20 * factor), factor, (7 * factor)).rotateSimple(90), (40 * factor), (10 * factor));
62+
image.composite(image_from.clone().crop((55 * factor), (20 * factor), factor, (5 * factor)).rotateSimple(90), (47 * factor), (10 * factor));
63+
image.composite(image_from.clone().crop((56 * factor), (20 * factor), factor, (7 * factor)).rotateSimple(90), (52 * factor), (10 * factor));
64+
image.composite(image_from.clone().crop((56 * factor), (20 * factor), factor, (5 * factor)).rotateSimple(90), (59 * factor), (10 * factor));
65+
66+
await this.writeImage(from, image);
67+
68+
return [];
69+
}
70+
71+
/**
72+
* @inheritDoc
73+
*/
74+
static get DEFAULT_CONVERTER_DATA() {
75+
return [
76+
"textures/entity/dolphin.png"
77+
];
78+
}
79+
}
80+
81+
export {DolphinConverter};

‎src/converter/converters.mjs‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {DespriteConverter} from "./DespriteConverter.mjs";
1616
import {DespriteExperimentalConverter} from "./DespriteExperimentalConverter.mjs";
1717
import {DestroyStageConverter} from "./DestroyStageConverter.mjs";
1818
import {DialogConverter} from "./DialogConverter.mjs";
19+
import {DolphinConverter} from "./DolphinConverter.mjs";
1920
import {DrownedConverter} from "./DrownedConverter.mjs";
2021
import {EnchantedItemGlintConverter} from "./EnchantedItemGlintConverter.mjs";
2122
import {FishHookConverter} from "./FishingConverter.mjs";
@@ -57,6 +58,7 @@ const converters = [
5758
ChestFrontConverter,
5859
ChestSideConverter,
5960
DrownedConverter,
61+
DolphinConverter,
6062
FireworksConverter,
6163
FishHookConverter,
6264
FoxConverter,

0 commit comments

Comments
 (0)