From: John Tsiombikas Date: Wed, 26 May 2021 13:04:13 +0000 (+0300) Subject: changed the sprites to 16 colors X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=gbajam21;a=commitdiff_plain;h=ae9f843ab11e545ceccad13fc840e23d1725750e changed the sprites to 16 colors --- diff --git a/src/gamescr.c b/src/gamescr.c index 416e99c..023114b 100644 --- a/src/gamescr.c +++ b/src/gamescr.c @@ -39,7 +39,7 @@ void gamescr(void) vblperf_setcolor(0xff);//192); /* sprite setup */ - spr_setup(16, 16, spr_game_pixels, spr_game_cmap); + spr_setup(32, 16, spr_game_pixels, spr_game_cmap); wait_vblank(); spr_clear(); @@ -214,7 +214,7 @@ static void vblank(void) if(bnstate & BN_B) rot += 2; - spr_oam(oam, 0, 512 + 256, x - 64, y - 64, SPR_256COL | SPR_SZ64 | SPR_DBLSZ | + spr_oam(oam, 0, 512, x - 64, y - 64, SPR_SZ64 | SPR_DBLSZ | SPR_ROTSCL | SPR_ROTSCL_SEL(0)); mat[0] = COS(rot); diff --git a/src/sprite.c b/src/sprite.c index e4253fb..c77ae90 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -15,22 +15,20 @@ void spr_setup(int xtiles, int ytiles, unsigned char *pixels, unsigned char *cma for(j=0; j<8; j++) { *dst++ = src[j * 64]; *dst++ = src[j * 64 + 1]; - *dst++ = src[j * 64 + 2]; - *dst++ = src[j * 64 + 3]; } - src += 4; + src += 2; - if((i & 15) == 15) { + if((i & 31) == 31) { src += 7 * 64; /* skip to the next row of tiles (skip 7 rows of pixels) */ } } cptr = (uint16_t*)CRAM_OBJ_ADDR; - for(i=0; i<256; i++) { + for(i=0; i<16; i++) { unsigned char r = *cmap++ >> 3; unsigned char g = *cmap++ >> 3; unsigned char b = *cmap++ >> 3; - *cptr++ = r | (g << 5) | (b < 10); + *cptr++ = r | ((uint16_t)g << 5) | ((uint16_t)b << 10); } }