This commit is contained in:
Scalingbub 2026-01-24 13:37:49 +01:00 committed by GitHub
commit d9347406cc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 14 additions and 9 deletions

6
.gitignore vendored
View file

@ -5,9 +5,11 @@ node_modules/
build/
# Downloaded data files
data/*
# Ignore all generated/cached assets under data
data/**
# Keep only the local background image and optional CSVs tracked
!data/modelviewer-background.png
!data/*.csv
!data/*.png
# Configuration
config.json

View file

@ -390,7 +390,8 @@ async function parseModels(): Promise<void> {
const texturesOffset = buffer.readUInt32LE(60);
const uncompressedSize = buffer.readUInt32LE(112);
const compressedData = buffer.slice(116);
const data = Buffer.from(pako.inflate(compressedData));
const inflated = pako.inflate(new Uint8Array(compressedData));
const data = Buffer.from(inflated);
if (data.length !== uncompressedSize) {
throw `Unexpected data size ${data.length}, expected ${uncompressedSize}`;
}

View file

@ -165,7 +165,9 @@
}
$("#cb-hide-transmogs").change(() => {
const hide = $("#cb-hide-transmogs").prop("checked");
const items = hide ? charData.characterModelItems : charData.characterModelTransmogs;
const items = hide || !Array.isArray(charData.characterModelTransmogs)
? charData.characterModelItems
: charData.characterModelTransmogs;
for (const slot of (items.map((item) => item[0]))) {
clearSlots([slot]);
}
@ -194,8 +196,8 @@
function setSlotVisible(slot, visible) {
if (visible) {
const transmogged = !$("#cb-hide-transmogs").prop("checked");
const items = transmogged ? charData.characterModelTransmogs : charData.characterModelItems;
const useTransmog = !$("#cb-hide-transmogs").prop("checked") && Array.isArray(charData.characterModelTransmogs);
const items = useTransmog ? charData.characterModelTransmogs : charData.characterModelItems;
const item = items.find(([sl, appearance]) => sl === slot);
if (item !== undefined) {
if (item[1] === -1) {
@ -410,7 +412,7 @@
type: ZamModelViewer.WOW,
contentPath: "{{ contentPath }}",
container: $model,
hd: true,
hd: false,
aspect: $model.outerWidth() / $model.outerHeight(),
charCustomization: {
race: charData.race,