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/ build/
# Downloaded data files # 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/*.csv
!data/*.png
# Configuration # Configuration
config.json config.json

View file

@ -389,8 +389,9 @@ async function parseModels(): Promise<void> {
const texturesOffset = buffer.readUInt32LE(60); const texturesOffset = buffer.readUInt32LE(60);
const uncompressedSize = buffer.readUInt32LE(112); const uncompressedSize = buffer.readUInt32LE(112);
const compressedData = buffer.slice(116); 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) { if (data.length !== uncompressedSize) {
throw `Unexpected data size ${data.length}, expected ${uncompressedSize}`; throw `Unexpected data size ${data.length}, expected ${uncompressedSize}`;
} }

View file

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