/*\r
* Implimentation of the planar buffer files.\r
*/\r
+#include <stdio.h>\r
#include <stdlib.h>\r
+#include <malloc.h>\r
+\r
#include "src/lib/planar.h"\r
\r
/* creates a planar buffer from the bitmap data.\r
be destroyed with the planar_buf_free function when no longer\r
needed.\r
*/\r
-planar_buf_t *\r
+planar_buf_t huge *\r
planar_buf_from_bitmap(bitmap_t *b) {\r
planar_buf_t *p;\r
int plane, bi, pi, x, y;\r
+ word q;\r
\r
/* allocate the buffer */\r
p = planar_buf_alloc(b->width, b->height);\r
plane=0;\r
for(x=0; x < b->width; x++) {\r
/* copy to each plane */\r
- if(!(b->data[bi])) b->data[bi] = 1;\r
p->plane[plane++][pi]=b->data[bi++];\r
\r
/* handle the completion of 4 planes. */\r
if(plane) pi++;\r
}\r
\r
+ p->palette = modexNewPal();\r
+ for(;q<PALSIZE;q++)\r
+ {\r
+ p->palette[q]=b->palette[q];\r
+ }\r
+\r
return p;\r
}\r
\r
\r
/* allocates a planar buffer with specified dimensions */\r
-planar_buf_t *\r
+planar_buf_t huge *\r
planar_buf_alloc(word width, word height) {\r
planar_buf_t *p;\r
int i;\r
\r
/* allocate the planes */\r
for(i=0; i<4; i++) {\r
- p->plane[i] = malloc(p->height * p->pwidth);\r
+ p->plane[i] = malloc(p->height * p->pwidth);\r
}\r
\r
return p;\r