summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chapter23/src/main/java/com/seaofnodes/simple/Parser.java1
-rw-r--r--chapter23/src/test/java/com/seaofnodes/simple/progs/large.smp5344
2 files changed, 5345 insertions, 0 deletions
diff --git a/chapter23/src/main/java/com/seaofnodes/simple/Parser.java b/chapter23/src/main/java/com/seaofnodes/simple/Parser.java
index 384c5f34..1db873e0 100644
--- a/chapter23/src/main/java/com/seaofnodes/simple/Parser.java
+++ b/chapter23/src/main/java/com/seaofnodes/simple/Parser.java
@@ -742,6 +742,7 @@ public class Parser {
: parseAsgn();
// TOP means val and val is always final
xfinal = (t==Type.TOP) ||
+ expr instanceof ExternNode ||
// BOTTOM is var and var is always not-final
(t!=Type.BOTTOM &&
// no Bang AND
diff --git a/chapter23/src/test/java/com/seaofnodes/simple/progs/large.smp b/chapter23/src/test/java/com/seaofnodes/simple/progs/large.smp
new file mode 100644
index 00000000..7f151f60
--- /dev/null
+++ b/chapter23/src/test/java/com/seaofnodes/simple/progs/large.smp
@@ -0,0 +1,5344 @@
+
+struct stbi_io_callbacks {
+ { i64 u8[] int -> int } read = "C"; // fill 'data' with 'size' bytes. return number of bytes actually read
+ { i64 int -> int } skip = "C"; // skip the next 'n' bytes, or 'unget' the last -n bytes if negative
+ { i64 -> int } eof = "C"; // returns nonzero if we are at end of file/data
+};
+
+struct stbi__context {
+ u32 img_x, img_y;
+ int img_n, img_out_n;
+
+ stbi_io_callbacks io;
+ u8[]io_user_data;
+
+ int read_from_callbacks;
+ int buflen;
+ u8[] buffer_start;
+ int callback_already_read;
+
+ u8[] img_buffer;
+ int img_buffer_end;
+ u8[] img_buffer_original;
+ int img_buffer_original_end;
+};
+
+{ stbi__context -> u8 } stbi__get8 = "C";
+
+val sample = { stbi__context s, int pal_len ->
+ var palette = new u8[1024];
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+ for (int i=0; i < pal_len; ++i) {
+ palette[i*4+3] = 0;
+
+ palette[i*4+0] = stbi__get8(s);
+ palette[i*4+1] = stbi__get8(s);
+ palette[i*4+2] = stbi__get8(s);
+ palette[i*4+3] = 255;
+ for (int j=0; j < pal_len; ++j) {
+ palette[j*4+3] = 0;
+
+ palette[j*4+0] = stbi__get8(s);
+ palette[j*4+1] = stbi__get8(s);
+ palette[j*4+2] = stbi__get8(s);
+ palette[j*4+3] = 255;
+ }
+ }
+
+ return palette;
+};