X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fgame.c;h=8afa769917fde9acf224589baffc5c8a001aa407;hb=3f381738bd1f53bace45c8bf9ffc6d772ff90aab;hp=b4baecad05ed7cdeb92d617ac469fa8b15ae8ce3;hpb=cab072d239d772d1c3445612d2599da36b087b25;p=retrocrawl diff --git a/src/game.c b/src/game.c index b4baeca..8afa769 100644 --- a/src/game.c +++ b/src/game.c @@ -1,90 +1,110 @@ +#include #include #include "game.h" -#include "data_test.h" #include "gfx.h" +#include "copper.h" +#include "data.h" +#include "sprite.h" -#define TILE_W 32 -#define TILE_H 16 +#include "hwregs.h" /* XXX */ + +#define TILE_W 64 +#define TILE_H 32 void draw_tile(int tid, int x, int y, int light); -void convert_tile_data(unsigned char *dest, const char *src); -static unsigned char test_tiles[2][TILE_W * TILE_H / 8 * NBPL]; +static uint16_t *sprdata[NUM_HWSPRITES]; +static uint16_t *sprdata2[NUM_HWSPRITES]; + +/* hardcoded test sprite */ +static struct sprite test_sprite; +static struct sprite test_sprite2; int game_init(void) { int i; - for(i=0; i<2; i++) { - convert_tile_data(test_tiles[i], test_tiles_cpix[i][0]); - } - return 0; -} + printf("hello world\n"); -void game_draw(void) -{ - draw_tile(0, 32, 16, 0); -} + REG_COLOR0 = 0x221; + REG_COLOR1 = 0x222; + REG_COLOR2 = 0x332; + REG_COLOR3 = 0x433; + REG_COLOR4 = 0x543; + REG_COLOR5 = 0x554; + REG_COLOR6 = 0x654; + REG_COLOR7 = 0x765; + for(i=0; i<16; i++) { + REG_COLOR_PTR[i + 16] = sprpal[i]; + } -void draw_tile(int tid, int x, int y, int light) -{ - int i; - - unsigned char *dest = bplptr[0] + (y * SCANSZ * NBPL) + x / 8; - unsigned char *src = test_tiles[tid]; - - for(i=0; i>= 1; + begin_sprites(); + draw_sprite(&test_sprite, 160, 80); + draw_sprite(&test_sprite2, 160, 160); + end_sprites(); +} - if((j & 7) == 7) { - bptr[k]++; - } - } - } - for(j=0; j