#include #include #include #ifndef __mem_image_h # include "mem_image.H" #endif #ifndef __game_h # include "game.H" #endif MemImage::MemImage( const char *filename ) : GifImage( filename, 0 ) { const char *ext=GetExtensionData( SUBSIZE_EXTENSION ); if (!ext||sscanf( ext, "%dx%d", &pic_width, &pic_height )!=2) { fprintf( stderr, "%s: no memory hints contained in image\n", filename ); exit(-1); } } void MemImage::SetupParams( struct parameter *par, int width, int /*height*/ ) { char bestbuffer[1024]; int size,best; int p[3], wx[3], wy[3]; int code; const char *ext; best=0; for (ext=GetExtensionData(code=SCALEINFO_START); ext; ext=GetExtensionData(++code) ) { if (sscanf(ext,"%d:",&size)==1) { if (size>=width && (best==0 || sizedim[i].dwidth = wx[i]; par->dim[i].dheight = wy[i]; par->dim[i].dsize = PicWidth()*p[i]/100; par->dim[i].wsizex = PicWidth(); par->dim[i].wsizey = PicHeight(); // printf( "%d, %d, %d, %d, %d\n", // par->dim[i].dwidth, par->dim[i].dheight, // par->dim[i].dsize, par->dim[i].wsizex, par->dim[i].wsizey ); } } void MemImage::ShowInfoMsg() { const char *ext=GetExtensionData( COMMENT_EXTENSION ); if (ext) { printf( ext ); putchar( '\n' ); } }