This works perfectly!
BUT, if I change the window size to 64 or to 128 for example, and the image doesn't render correctly, and there are blank bars breaking the image up.
I'm really happy to have something drawing on the screen, but I can't see where I'm going wrong - please help?
compiled with
Code: Select all
zcc +z88 -clib=ansi putsprite.c
Code: Select all
#ifdef __Z88_APPLICATION
#pragma -expandz88
#endif
#include <stdio.h>
#include <games.h>
//#include <ctype.h>
#include <graphics.h>
struct window mine; /* Window structure */
char panther[] =
{ 64,64,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x55, 0x75, 0x57, 0xF5, 0x55,
0xAA, 0xAA, 0xAE, 0xAA, 0xFE, 0xAF, 0x1E, 0xAA,
0x55, 0x55, 0x5F, 0x55, 0xFF, 0xDC, 0x07, 0x55,
0xAA, 0xAA, 0xBF, 0xAA, 0xFF, 0xF8, 0x03, 0xAA,
0x55, 0x55, 0x7F, 0x55, 0x8F, 0xD8, 0x01, 0xD5,
0xAA, 0xAA, 0xFE, 0xAB, 0x03, 0xB0, 0x60, 0xAA,
0x55, 0x55, 0xFD, 0xD5, 0x01, 0x50, 0x90, 0xD5,
0xAB, 0xFB, 0xF0, 0x6A, 0x00, 0xB8, 0x90, 0xAA,
0x5F, 0x3D, 0xE0, 0x36, 0x00, 0xDC, 0x91, 0xD5,
0xBC, 0x1A, 0xC0, 0x1A, 0x00, 0x78, 0xA3, 0xAA,
0x70, 0x0D, 0x40, 0x1E, 0x00, 0x70, 0x47, 0x55,
0xE0, 0x0A, 0xC0, 0x0A, 0x18, 0x40, 0x1E, 0xAA,
0x61, 0x8D, 0xC0, 0x0A, 0x3C, 0x40, 0x35, 0x55,
0xE2, 0x4B, 0xC3, 0x09, 0x2C, 0x40, 0x1A, 0xAA,
0x62, 0x2F, 0x47, 0x89, 0x3C, 0x80, 0x0D, 0x55,
0xF1, 0x2C, 0x46, 0xC8, 0x98, 0x80, 0x06, 0xAA,
0x78, 0xC0, 0x47, 0xD0, 0x41, 0x00, 0x07, 0x55,
0xBC, 0x00, 0x23, 0x96, 0x3E, 0x40, 0x43, 0xAA,
0x5F, 0x80, 0x10, 0x29, 0x80, 0x31, 0x83, 0x55,
0xAA, 0x80, 0x0C, 0xD0, 0x60, 0x0E, 0x06, 0xAA,
0x55, 0x80, 0x03, 0x20, 0x10, 0x04, 0x07, 0x55,
0xAB, 0x80, 0x00, 0x43, 0xFC, 0x04, 0x0E, 0xAA,
0x57, 0x00, 0x20, 0xBF, 0xFF, 0x88, 0x1D, 0x55,
0xAB, 0x00, 0x41, 0xFF, 0xFC, 0xF8, 0x3A, 0xAA,
0x57, 0x21, 0x81, 0xFF, 0xFC, 0x0F, 0x75, 0x55,
0xAB, 0x9F, 0x07, 0xFF, 0xF8, 0x03, 0xEA, 0xAA,
0x57, 0x81, 0x98, 0xFF, 0xF8, 0x01, 0xD5, 0x55,
0xAB, 0xC0, 0xF0, 0x7F, 0xF0, 0x01, 0xAA, 0xAA,
0x55, 0xF0, 0xE0, 0x3F, 0xE0, 0x0E, 0xD5, 0x55,
0xAA, 0xBD, 0xC0, 0x0F, 0xC0, 0x01, 0x7F, 0xEA,
0x55, 0x5F, 0x80, 0x03, 0x80, 0x01, 0xD5, 0x7F,
0xAA, 0xAF, 0x00, 0x01, 0x80, 0x0E, 0xAA, 0xAB,
0x55, 0x56, 0x00, 0x01, 0x80, 0x03, 0x75, 0x55,
0xAA, 0xAB, 0x60, 0x03, 0xE0, 0x1F, 0xAE, 0xAA,
0x55, 0x56, 0x88, 0x07, 0x3F, 0x3F, 0x55, 0xD5,
0xAA, 0xAF, 0xF0, 0x1E, 0x19, 0xFA, 0xAA, 0xBA,
0x55, 0x75, 0xE0, 0xFC, 0x30, 0x75, 0x55, 0x57,
0xAA, 0xEB, 0xF3, 0xC7, 0xE0, 0x6A, 0xAA, 0xAB,
0x57, 0x57, 0x7F, 0x80, 0x00, 0x75, 0x55, 0x55,
0xAE, 0xAE, 0xAF, 0x80, 0x00, 0x6A, 0xAA, 0xAA,
0x5D, 0x5D, 0x55, 0xC0, 0x00, 0xD5, 0x55, 0x55,
0xAA, 0xBA, 0xAA, 0xE0, 0x00, 0xEA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x60, 0x01, 0xD5, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xF0, 0x03, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x78, 0x07, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAF, 0x1E, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x57, 0xFD, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAB, 0xEA, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA
};
int main()
{
mine.graph = 1;
mine.width = 128;
mine.number = '4';
/* Open map with on window #4 */
window(&mine);
clg();
putsprite(spr_or,1,0,panther);
/* Close the graphics window */
closegfx(&mine);
}