diff --git a/gr-sim/gr-sim.c b/gr-sim/gr-sim.c index 17f7dddd..e72d664f 100644 --- a/gr-sim/gr-sim.c +++ b/gr-sim/gr-sim.c @@ -775,7 +775,7 @@ int basic_vlin(int y1, int y2, int at) { -int grsim_put_sprite(unsigned char *sprite_data, int xpos, int ypos) { +int grsim_put_sprite(int page,unsigned char *sprite_data, int xpos, int ypos) { unsigned char i; unsigned char *ptr; @@ -791,6 +791,7 @@ int grsim_put_sprite(unsigned char *sprite_data, int xpos, int ypos) { while(1) { address=gr_addr_lookup[ypos/2]; + address+=(page*4)<<8; address+=xpos; for(i=0;i=20) grsim_put_sprite(0,snowy_tree,10,20); + if (map_x==4) if (tfv_y>=15) grsim_put_sprite(0,pine_tree,25,15); + if (map_x==8) if (tfv_y>=22) grsim_put_sprite(0,palm_tree,10,20); + if (map_x==12) if (tfv_y>=27) grsim_put_sprite(0,palm_tree,20,25); + if (direction==-1) { - if (odd) grsim_put_sprite(tfv_walk_left,tfv_x,tfv_y); - else grsim_put_sprite(tfv_stand_left,tfv_x,tfv_y); + if (odd) grsim_put_sprite(0,tfv_walk_left,tfv_x,tfv_y); + else grsim_put_sprite(0,tfv_stand_left,tfv_x,tfv_y); } if (direction==1) { - if (odd) grsim_put_sprite(tfv_walk_right,tfv_x,tfv_y); - else grsim_put_sprite(tfv_stand_right,tfv_x,tfv_y); + if (odd) grsim_put_sprite(0,tfv_walk_right,tfv_x,tfv_y); + else grsim_put_sprite(0,tfv_stand_right,tfv_x,tfv_y); } + + if (map_x==1) if (tfv_y<20) grsim_put_sprite(0,snowy_tree,10,20); + if (map_x==4) if (tfv_y<15) grsim_put_sprite(0,pine_tree,25,15); + if (map_x==8) if (tfv_y<22) grsim_put_sprite(0,palm_tree,10,20); + if (map_x==12) if (tfv_y<27) grsim_put_sprite(0,palm_tree,20,25); + grsim_update(); usleep(10000); diff --git a/gr-sim/tfv_sprites.h b/gr-sim/tfv_sprites.h index e94e607c..42e458a6 100644 --- a/gr-sim/tfv_sprites.h +++ b/gr-sim/tfv_sprites.h @@ -107,7 +107,7 @@ static unsigned char killer_crab[]={ /* Palm Tree */ -static unsigned palm_tree[]={ +static unsigned char palm_tree[]={ 0x08,0x07, 0x00,0x00,0x00,0x00,0x00,0x40,0x04,0x40, 0x00,0x40,0x04,0x44,0x84,0x40,0x00,0x00, @@ -119,7 +119,7 @@ static unsigned palm_tree[]={ }; /* Pine Tree */ -static unsigned pine_tree[]={ +static unsigned char pine_tree[]={ 0x07,0x06, 0x00,0x00,0x00,0x44,0x00,0x00,0x00, 0x00,0x00,0x00,0x44,0x00,0x00,0x00, @@ -130,7 +130,7 @@ static unsigned pine_tree[]={ }; /* Snowy Tree */ -static unsigned snowy_tree[]={ +static unsigned char snowy_tree[]={ 0x07,0x06, 0x00,0x00,0x00,0x77,0x00,0x00,0x00, 0x00,0x00,0x00,0x77,0x00,0x00,0x00, @@ -141,13 +141,13 @@ static unsigned snowy_tree[]={ }; /* Mountain */ -static unsigned mountain[]={ +static unsigned char mountain[]={ 0x0d,0x07, - 0x00,0x00,0x00,0x00,0x00,0x70,0x77,0x50,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x87,0x77,0x77,0x85,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x90,0x88,0x88,0x48,0x58,0x88,0x80,0x00,0x00,0x00, - 0x00,0x00,0x80,0x98,0x88,0x88,0x88,0x48,0x88,0x58,0x80,0x00,0x00, - 0x00,0x80,0x89,0x88,0x88,0x89,0x88,0x88,0x88,0x88,0x85,0x88,0x00, - 0x80,0x89,0x98,0x88,0x98,0x00,0x84,0x88,0x88,0x88,0x85,0x88,0x58, + 0x00,0x00,0x00,0x00,0x00,0x70,0xf7,0x70,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x77,0xff,0xff,0x77,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x90,0x8D,0x88,0x48,0x58,0x85,0x50,0x00,0x00,0x00, + 0x00,0x00,0xD0,0x9D,0x88,0x88,0x88,0x48,0x88,0x55,0x50,0x00,0x00, + 0x00,0xD0,0x89,0x88,0x88,0x89,0x88,0x88,0x88,0x88,0x85,0x75,0x00, + 0xD0,0x89,0x98,0x88,0x98,0x88,0x84,0x88,0x88,0x88,0x85,0x88,0x55, 0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x88,0x88,0x88,0x08,0x00,0x00, }; diff --git a/tfv/landing.png b/tfv/landing.png index 47053492..a1201d36 100644 Binary files a/tfv/landing.png and b/tfv/landing.png differ diff --git a/tfv/sprites.png b/tfv/sprites.png index 887a3fb3..c00b9208 100644 Binary files a/tfv/sprites.png and b/tfv/sprites.png differ