diff --git a/src/file/ase_format.cpp b/src/file/ase_format.cpp index a62a72738..10fd8e833 100644 --- a/src/file/ase_format.cpp +++ b/src/file/ase_format.cpp @@ -560,8 +560,8 @@ static void ase_file_write_close_chunk(FILE *f) static Palette *ase_file_read_color_chunk(FILE *f, Sprite *sprite, int frame) { int i, c, r, g, b, packets, skip, size; - Palette* pal = new Palette(frame, 256); - sprite->getPalette(frame)->copyColorsTo(pal); + Palette* pal = new Palette(*sprite->getPalette(frame)); + pal->setFrame(frame); packets = fgetw(f); // Number of packets skip = 0; @@ -588,13 +588,13 @@ static Palette *ase_file_read_color_chunk(FILE *f, Sprite *sprite, int frame) static Palette *ase_file_read_color2_chunk(FILE *f, Sprite *sprite, int frame) { int i, c, r, g, b, packets, skip, size; - Palette* pal = new Palette(frame, 256); - sprite->getPalette(frame)->copyColorsTo(pal); + Palette* pal = new Palette(*sprite->getPalette(frame)); + pal->setFrame(frame); - packets = fgetw(f); /* number of packets */ + packets = fgetw(f); // Number of packets skip = 0; - /* read all packets */ + // Read all packets for (i=0; isize() == 256 ? 0: pal->size(), f); // number of colors + for (c=0; csize(); c++) { color = pal->getEntry(c); fputc(_rgba_getr(color), f);