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

148 lines
4.9 KiB
JavaScript

// Metro module 4842 (f4843).
import _slicedToArray from "./_slicedToArray";
import { strRepeat, parseFloatRadix, padStart, getPascalStringFromDataView } from "./Module4802";
import Module4819 from "./Module4819";
let c2976_4;
const parseBezierKnot = function parseBezierKnot(a0, a1) {
const r15 = [];
let r4 = 0;
while (true) {
const r25 = a1 + r4;
const longAt = Module4819.getLongAt(a0, r25);
const r0 = longAt >>> 31;
const r10 = r4;
const r2 = r0 === 0 ? 1 : -1;
const r37 = (2130706432 & longAt) >>> 24;
const r34 = longAt & parseInt(strRepeat("1", 24), 2);
const r55 = r2 * parseFloatRadix(r37.toString(2) + "." + padStart(r34.toString(2), 24, "0"), 2);
const longAt2 = Module4819.getLongAt(a0, r25 + 4);
const r61 = longAt2 >>> 31 === 0 ? 1 : -1;
const r63 = (2130706432 & longAt2) >>> 24;
const r70 = longAt2 & parseInt(strRepeat("1", 24), 2);
r15.push([r61 * parseFloatRadix(r63.toString(2) + "." + padStart(r70.toString(2), 24, "0"), 2), r55]);
r4 = r10 + 8;
if (!(r4 < 24)) {
return r15;
}
}
};
const r15 = {
CLOSED_SUBPATH_LENGTH: 0,
CLOSED_SUBPATH_BEZIER_LINKED: 1,
CLOSED_SUBPATH_BEZIER_UNLINKED: 2,
OPEN_SUBPATH_LENGTH: 3,
OPEN_SUBPATH_BEZIER_LINKED: 4,
OPEN_SUBPATH_BEZIER_UNLINKED: 5,
FILL_RULE: 6,
CLIPBOARD: 7,
INITIAL_FILL_RULE: 8
};
const r18 = {
2000: {
name: "PathInformation",
description: function pathResource(a0) {
const types = {};
const paths = [];
const byteLength = a0.byteLength;
let r0 = 0;
if (0 < byteLength) {
do {
const shortAt = Module4819.getShortAt(a0, r0);
const r19 = c2976_4[shortAt];
const r1 = r0;
if (r19) {
if (!types[shortAt]) {
types[shortAt] = c2976_4[shortAt].description;
}
paths.push({
type: shortAt,
path: c2976_4[shortAt].path(a0, r1 + 2)
});
}
r0 = r1 + 26;
} while (r0 < a0.byteLength);
}
return JSON.stringify({
types,
paths
});
}
},
2999: {
name: "ClippingPathName",
description: (a0) => _slicedToArray(getPascalStringFromDataView(a0, 0), 2)[1]
}
};
const r21 = {};
r21[r15.CLOSED_SUBPATH_LENGTH] = {
description: "Closed subpath length",
path: (a0, a1) => [Module4819.getShortAt(a0, a1)]
};
r21[r15.CLOSED_SUBPATH_BEZIER_LINKED] = {
description: "Closed subpath Bezier knot, linked",
path: parseBezierKnot
};
r21[r15.CLOSED_SUBPATH_BEZIER_UNLINKED] = {
description: "Closed subpath Bezier knot, unlinked",
path: parseBezierKnot
};
r21[r15.OPEN_SUBPATH_LENGTH] = {
description: "Open subpath length",
path: (a0, a1) => [Module4819.getShortAt(a0, a1)]
};
r21[r15.OPEN_SUBPATH_BEZIER_LINKED] = {
description: "Open subpath Bezier knot, linked",
path: parseBezierKnot
};
r21[r15.OPEN_SUBPATH_BEZIER_UNLINKED] = {
description: "Open subpath Bezier knot, unlinked",
path: parseBezierKnot
};
r21[r15.FILL_RULE] = {
description: "Path fill rule",
path: () => []
};
r21[r15.INITIAL_FILL_RULE] = {
description: "Initial fill rule",
path: (a0, a1) => [Module4819.getShortAt(a0, a1)]
};
r21[r15.CLIPBOARD] = {
description: "Clipboard",
path: function parseClipboard(a0, a1) {
const longAt = Module4819.getLongAt(a0, a1);
const r1 = longAt >>> 31;
let r4 = -1;
const r0 = r1 === 0 ? 1 : -1;
const r2 = (2130706432 & longAt) >>> 24;
const r35 = longAt & parseInt(strRepeat("1", 24), 2);
const r49 = [r0 * parseFloatRadix(r2.toString(2) + "." + padStart(r35.toString(2), 24, "0"), 2), , , ,];
const longAt2 = Module4819.getLongAt(a0, a1 + 4);
const r57 = longAt2 >>> 31 === 0 ? 1 : -1;
const r59 = (2130706432 & longAt2) >>> 24;
const r25 = longAt2 & parseInt(strRepeat("1", 24), 2);
r49[1] = r57 * parseFloatRadix(r59.toString(2) + "." + padStart(r25.toString(2), 24, "0"), 2);
const longAt3 = Module4819.getLongAt(a0, a1 + 8);
const r87 = longAt3 >>> 31 === 0 ? 1 : -1;
const r89 = (2130706432 & longAt3) >>> 24;
const r96 = longAt3 & parseInt(strRepeat("1", 24), 2);
r49[2] = r87 * parseFloatRadix(r89.toString(2) + "." + padStart(r96.toString(2), 24, "0"), 2);
const longAt4 = Module4819.getLongAt(a0, a1 + 12);
const r119 = longAt4 >>> 31 === 0 ? 1 : -1;
const r121 = (2130706432 & longAt4) >>> 24;
const r128 = longAt4 & parseInt(strRepeat("1", 24), 2);
r49[3] = r119 * parseFloatRadix(r121.toString(2) + "." + padStart(r128.toString(2), 24, "0"), 2);
const r144 = [r49, ,];
const longAt5 = Module4819.getLongAt(a0, a1 + 16);
if (longAt5 >>> 31 === 0) {
r4 = 1;
}
const r153 = (2130706432 & longAt5) >>> 24;
const r160 = longAt5 & parseInt(strRepeat("1", 24), 2);
r144[1] = r4 * parseFloatRadix(r153.toString(2) + "." + padStart(r160.toString(2), 24, "0"), 2);
return r144;
}
};
c2976_4 = r21;
export default r18;
export { r15 as PathRecordTypes };