X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fbitmap.c;h=e8ad461c2a22bcaef0cda0d30db469ec0040385e;hb=968b6bcf1d7f19f8902e1ae00f2a80ab78d399cc;hp=7f9df1f0f836a65cd6454b05a4407e677ea9d755;hpb=0a20122c69db40134055fec030af5a468eb266a3;p=16.git diff --git a/src/lib/bitmap.c b/src/lib/bitmap.c index 7f9df1f0..e8ad461c 100755 --- a/src/lib/bitmap.c +++ b/src/lib/bitmap.c @@ -24,6 +24,9 @@ #include #include #include "src/lib/bitmap.h" +#include "src/lib/16_mm.h" +#include "src/lib/16_pm.h" +#include "src/lib/16_ca.h" static struct pcxHeader { byte id; @@ -91,7 +94,7 @@ static void loadPcxPalette(FILE *file, bitmap_t *result) { bitmap_t -bitmapLoadPcx(char *filename) { +bitmapLoadPcx(char *filename, global_game_variables_t *gv) { FILE *file; bitmap_t result; dword bufSize; @@ -102,7 +105,7 @@ bitmapLoadPcx(char *filename) { file = fopen(filename, "rb"); if(!file) { printf("Could not open %s for reading.\n", filename); - exit(-2); + //exit(-2); } /* load the first part of the pcx file */ @@ -111,7 +114,9 @@ bitmapLoadPcx(char *filename) { /* allocate the buffer */ //printf("%zu\n", _memmax()); bufSize = (/*(dword)*/result.width * result.height); + //CA_LoadFile(filename, (memptr *)(result.data), gv); result.data = malloc(bufSize); + // result.data = (byte far *)_fmalloc(bufSize); // result.data = (byte __huge *)halloc(bufSize, sizeof(byte)); /*printf("&bufSize=%p\n", &bufSize); @@ -121,11 +126,10 @@ bitmapLoadPcx(char *filename) { printf("Size of result.width is %zu \n", result.width); printf("Size of result.height is %zu \n", result.height); printf("Dimensions of result is %lu\n", (dword)result.width*result.height);*/ - //exit(0); if(!result.data) { fprintf(stderr, "Could not allocate memory for bitmap data."); fclose(file); - exit(-1); + //exit(-1); } /* read the buffer in */ @@ -180,7 +184,7 @@ bitmapLoadPcxTiles(char *filename, word twidth, word theight) { ts.palette = result.palette; /* allocate the pixel storage for the tiles */ - ts.data = malloc(sizeof(byte*) * ts.ntiles); + ts.data = _fmalloc(sizeof(byte*) * ts.ntiles); //ts.data[0] = malloc(sizeof(byte) * ts.ntiles * twidth * theight); for(i=1; i < ts.ntiles; i++) { ts.data[i] = ts.data[i-1] + twidth * theight;