Files
discord-decomp/_bundle/Module4847.js
T
2026-11-01 12:12:55 +02:00

237 lines
7.7 KiB
JavaScript

// Metro module 4847 (f4848).
import Module4807 from "./Module4807";
import { readIfd, get0thIfdOffset } from "./readTag";
import { IFD_TYPE_MPF } from "./Module4823";
import Module4819 from "./Module4819";
import { deferInit, getBase64Image } from "./Module4802";
let c2981_3;
const r14 = {
read: function read(a0, a1, a2) {
let r8, r182, value11, value12, value9;
const byteOrder = Module4807.getByteOrder(a0, a1);
const r64 = readIfd(a0, IFD_TYPE_MPF, a1, get0thIfdOffset(a0, a1, byteOrder), byteOrder, a2);
if (r64.MPEntry) {
const Images = [];
const r73 = 0 < Math.ceil(r64.MPEntry.value.length / c2981_3);
let r76 = 0;
if (r73) {
do {
Images[r76] = {};
const value = r64.MPEntry.value;
const r1 = r76 * c2981_3;
const typeSize = Module4819.getTypeSize("LONG");
const r10 = r76;
if (byteOrder === Module4807.LITTLE_ENDIAN) {
const r92 = 0 < typeSize;
let r93 = 0;
let r94 = 0;
let r95 = 0;
if (r92) {
do {
r94 = r94 + (value[r1 + r93] << 8 * r93);
r93 = r93 + 1;
r95 = r94;
} while (r93 < typeSize);
}
r8 = r95;
} else {
const r86 = 0 < typeSize;
let r2 = 0;
let r3 = 0;
r8 = 0;
if (r86) {
do {
r3 = r3 + (value[r1 + r2] << 8 * (typeSize - 1 - r2));
r2 = r2 + 1;
r8 = r3;
} while (r2 < typeSize);
}
}
const r99 = Images[r10];
const value6 = [r8 >> 31 & 1, r8 >> 30 & 1, r8 >> 29 & 1];
const r107 = [];
if (value6[0]) {
r107.push("Dependent Parent Image");
}
if (value6[1]) {
r107.push("Dependent Child Image");
}
if (value6[2]) {
r107.push("Representative Image");
}
r99.ImageFlags = {
value: value6,
description: r107.join(", ") || "None"
};
const r120 = Images[r10];
const value7 = r8 >> 24 & 7;
r120.ImageFormat = {
value: value7,
description: value7 === 0 ? "JPEG" : "Unknown"
};
const r125 = Images[r10];
const value8 = 16777215 & r8;
r125.ImageType = {
value: value8,
description: ({
196608: "Baseline MP Primary Image",
65537: "Large Thumbnail (VGA equivalent)",
65538: "Large Thumbnail (Full HD equivalent)",
131073: "Multi-Frame Image (Panorama)",
131074: "Multi-Frame Image (Disparity)",
131075: "Multi-Frame Image (Multi-Angle)",
0: "Undefined"
})[value8] || "Unknown"
};
const value2 = r64.MPEntry.value;
const r134 = r10 * c2981_3 + 4;
const typeSize2 = Module4819.getTypeSize("LONG");
if (byteOrder === Module4807.LITTLE_ENDIAN) {
const r154 = 0 < typeSize2;
let r155 = 0;
let r156 = 0;
let r157 = 0;
if (r154) {
do {
r156 = r156 + (value2[r134 + r155] << 8 * r155);
r155 = r155 + 1;
r157 = r156;
} while (r155 < typeSize2);
}
value9 = r157;
} else {
const r144 = 0 < typeSize2;
let r145 = 0;
let r146 = 0;
value9 = 0;
if (r144) {
do {
r146 = r146 + (value2[r134 + r145] << 8 * (typeSize2 - 1 - r145));
r145 = r145 + 1;
value9 = r146;
} while (r145 < typeSize2);
}
}
Images[r10].ImageSize = {
value: value9,
description: "" + value9
};
const MPEntry = r64.MPEntry;
let value10 = 0;
if (r10 !== 0) {
const value3 = MPEntry.value;
const r170 = r10 * c2981_3 + 8;
const typeSize3 = Module4819.getTypeSize("LONG");
if (byteOrder === Module4807.LITTLE_ENDIAN) {
const r189 = 0 < typeSize3;
let r190 = 0;
let r191 = 0;
let r192 = 0;
if (r189) {
do {
r191 = r191 + (value3[r170 + r190] << 8 * r190);
r190 = r190 + 1;
r192 = r191;
} while (r190 < typeSize3);
}
r182 = r192;
} else {
const r179 = 0 < typeSize3;
let r180 = 0;
let r181 = 0;
r182 = 0;
if (r179) {
do {
r181 = r181 + (value3[r170 + r180] << 8 * (typeSize3 - 1 - r180));
r180 = r180 + 1;
r182 = r181;
} while (r180 < typeSize3);
}
}
value10 = r182 + a1;
}
Images[r10].ImageOffset = {
value: value10,
description: "" + value10
};
const value4 = r64.MPEntry.value;
const r203 = r10 * c2981_3 + 12;
const typeSize4 = Module4819.getTypeSize("SHORT");
if (byteOrder === Module4807.LITTLE_ENDIAN) {
const r223 = 0 < typeSize4;
let r224 = 0;
let r225 = 0;
let r226 = 0;
if (r223) {
do {
r225 = r225 + (value4[r203 + r224] << 8 * r224);
r224 = r224 + 1;
r226 = r225;
} while (r224 < typeSize4);
}
value11 = r226;
} else {
const r213 = 0 < typeSize4;
let r214 = 0;
let r215 = 0;
value11 = 0;
if (r213) {
do {
r215 = r215 + (value4[r203 + r214] << 8 * (typeSize4 - 1 - r214));
r214 = r214 + 1;
value11 = r215;
} while (r214 < typeSize4);
}
}
Images[r10].DependentImage1EntryNumber = {
value: value11,
description: "" + value11
};
const value5 = r64.MPEntry.value;
const r238 = r10 * c2981_3 + 14;
const typeSize5 = Module4819.getTypeSize("SHORT");
if (byteOrder === Module4807.LITTLE_ENDIAN) {
const r258 = 0 < typeSize5;
let r259 = 0;
let r260 = 0;
let r261 = 0;
if (r258) {
do {
r260 = r260 + (value5[r238 + r259] << 8 * r259);
r259 = r259 + 1;
r261 = r260;
} while (r259 < typeSize5);
}
value12 = r261;
} else {
const r248 = 0 < typeSize5;
let r249 = 0;
let r250 = 0;
value12 = 0;
if (r248) {
do {
r250 = r250 + (value5[r238 + r249] << 8 * (typeSize5 - 1 - r249));
r249 = r249 + 1;
value12 = r250;
} while (r249 < typeSize5);
}
}
Images[r10].DependentImage2EntryNumber = {
value: value12,
description: "" + value12
};
Images[r10].image = a0.buffer.slice(value10, value10 + value9);
deferInit(Images[r10], "base64", function() {
return getBase64Image(this.image);
});
r76 = r10 + 1;
} while (r76 < Math.ceil(r64.MPEntry.value.length / c2981_3));
}
r64.Images = Images;
}
return r64;
}
};
c2981_3 = 16;
export default r14;