/*
* 2ooM: The Master of Orion II Reverse Engineering Project
* Library for working with LBX image files.
- * Copyright © 2006-2011 Nick Bowler
+ * Copyright © 2006-2011, 2013 Nick Bowler
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
FILE *f;
f = fopen(file, "rb");
- if (!f)
+ if (!f) {
+ lbx_error_raise(-errno);
return NULL;
+ }
if (fseek(f, 0, SEEK_CUR) == 0)
return lbx_img_open(f, &lbx_default_fops, file_close);
p = malloc(sizeof *p);
if (!p) {
+ lbx_error_raise(LBX_ENOMEM);
fclose(f);
return NULL;
}
}
palette[i] = (struct lbx_colour) {
- .red = entry[1] << 2,
- .green = entry[2] << 2,
- .blue = entry[3] << 2,
+ .red = entry[1] & 0x3f,
+ .green = entry[2] & 0x3f,
+ .blue = entry[3] & 0x3f,
.active = 1,
};
}
}
palette[img->palstart + i] = (struct lbx_colour){
- .red = entry[1] << 2,
- .green = entry[2] << 2,
- .blue = entry[3] << 2,
+ .red = entry[1],
+ .green = entry[2],
+ .blue = entry[3],
.active = 1,
};
}
struct lbx_image_priv *img = (struct lbx_image_priv *)pub;
*info = (struct lbx_imginfo) {
- .width = pub->width,
- .height = pub->height,
- .nframes = pub->frames,
- .chunk = pub->chunk,
.palettesz = (img->flags & FLAG_PALETTE) ? img->palcount : 0,
};