static void Load() { screen = NewBitmap(WIDTH, HEIGHT, DEPTH); bitmap = LoadILBM("data/sprites4.ilbm"); cp = NewCopList(100); CopInit(cp); CopSetupGfxSimple(cp, MODE_LORES, DEPTH, X(0), Y(0), WIDTH, HEIGHT); CopSetupBitplanes(cp, NULL, screen, DEPTH); CopLoadPal(cp, bitmap->palette, 16); CopSetupSprites(cp, sprptr); CopEnd(cp); sprite[0] = NewSpriteFromBitmap(19, bitmap, 0, 0); sprite[1] = NewSpriteFromBitmap(24, bitmap, 0, 19); sprite[2] = NewSpriteFromBitmap(42, bitmap, 0, 43); UpdateSprite(sprite[0], X(0), Y(113)); UpdateSprite(sprite[1], X(0), Y(110)); UpdateSprite(sprite[2], X(0), Y(101)); }
static void MakeCopperList(CopListT **ptr, WORD n) { CopListT *cp = NewCopList(100 + HEIGHT * 5 + (31 * HEIGHT / 3)); WORD *pixels = texture->pixels; WORD i, j, k; CopInit(cp); CopSetupGfxSimple(cp, MODE_LORES, DEPTH, X(STARTX), Y(0), WIDTH, HEIGHT); CopSetupBitplanes(cp, bplptr[n], twister, DEPTH); CopSetupSprites(cp, sprptr[n]); CopMove16(cp, dmacon, DMAF_SETCLR|DMAF_RASTER); CopMove16(cp, diwstrt, 0x2c81); CopMove16(cp, diwstop, 0x2bc1); CopSetColor(cp, 0, &gradient->colors[0]); for (i = 0, k = 0; i < HEIGHT; i++) { CopWait(cp, Y(i), 0); bplmod[n][i] = CopMove16(cp, bpl1mod, -32); CopMove16(cp, bpl2mod, -32); CopMove16(cp, bpldat[0], 0); CopSetColor(cp, 0, &gradient->colors[i]); if ((i % 3) == 0) { colors[n][k++] = CopSetRGB(cp, 1, *pixels++); for (j = 2; j < 32; j++) CopSetRGB(cp, j, *pixels++); } } CopEnd(cp); CopInsSet32(sprptr[n][4], left[0]->data); CopInsSet32(sprptr[n][5], left[1]->data); CopInsSet32(sprptr[n][6], right[0]->data); CopInsSet32(sprptr[n][7], right[1]->data); *ptr = cp; }