Skip to content

Commit f6746bc

Browse files
committed
Don't export empty sprites.
1 parent d274ca3 commit f6746bc

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

index.js

+17-8
Original file line numberDiff line numberDiff line change
@@ -70,25 +70,32 @@ fs.readFile(sprFile, function (err, buffer) {
7070
if (err) throw err;
7171

7272
var reader = new BufferReader(buffer),
73-
74-
info = {
75-
signature: reader.nextUInt32LE(),
76-
size: reader.nextUInt16LE(),
77-
};
73+
count = 0,
74+
info = {
75+
signature: reader.nextUInt32LE(),
76+
size: reader.nextUInt16LE(),
77+
};
7878

7979
console.log("Signature: " + info.signature);
8080
console.log(" Sprites: " + info.size);
8181

8282
bars.push(mbars.newBar(' Parsing: [:bar] :percent | ETA: :eta | Time Elapsed: :elapsed', { complete: '=', incomplete: ' ', clear: true, width: 40, total: info.size }));
83-
bars.push(mbars.newBar('Exporting: [:bar] :percent | ETA: :eta | Time Elapsed: :elapsed', { complete: '=', incomplete: ' ', clear: true, width: 40, total: info.size }));
8483

8584
for(var spriteId = 1; spriteId < info.size; spriteId++) {
8685

8786
var obj = base(spriteId);
8887
var formula = 6 + (spriteId - 1) * 4;
89-
9088
reader.seek(formula);
91-
reader.seek(reader.nextUInt32LE() + 3);
89+
90+
var address = reader.nextUInt32LE();
91+
if (address == 0) { // Address 0 always is an empty sprite.
92+
bars[0].tick();
93+
continue;
94+
}
95+
reader.seek(address);
96+
97+
// Skipping color key.
98+
reader.move(3);
9299

93100
var offset = reader.tell() + reader.nextUInt16LE();
94101

@@ -108,8 +115,10 @@ fs.readFile(sprFile, function (err, buffer) {
108115
}
109116
}
110117

118+
count++;
111119
queue.push(obj);
112120
bars[0].tick();
113121
}
114122

123+
bars.push(mbars.newBar('Exporting: [:bar] :percent | ETA: :eta | Time Elapsed: :elapsed', { complete: '=', incomplete: ' ', clear: true, width: 40, total: count }));
115124
});

0 commit comments

Comments
 (0)