mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-10 08:54:51 +00:00
tfv: start work on worldmap sprites
This commit is contained in:
parent
f229f7d573
commit
b2ac412bea
@ -31,7 +31,7 @@ text.o: text.c
|
|||||||
tfv: tfv.o gr-sim.o
|
tfv: tfv.o gr-sim.o
|
||||||
$(CC) $(LFLAGS) $(SDL_LIBS) -o tfv tfv.o gr-sim.o
|
$(CC) $(LFLAGS) $(SDL_LIBS) -o tfv tfv.o gr-sim.o
|
||||||
|
|
||||||
tfv.o: tfv.c
|
tfv.o: tfv.c backgrounds.h vince_sprites.h
|
||||||
$(CC) $(CFLAGS) -c tfv.c
|
$(CC) $(CFLAGS) -c tfv.c
|
||||||
|
|
||||||
|
|
||||||
|
48
gr-sim/backgrounds.h
Normal file
48
gr-sim/backgrounds.h
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
static unsigned char title_rle[]=
|
||||||
|
{ 0x28,0x28,
|
||||||
|
0x01,0x00,0x19,0x20,
|
||||||
|
0x0F,0x00,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x62,0x01,0x66,0x01,0x62,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x62,0x01,0x22,0x01,0x62,0x01,0x26,0x01,0x62,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x55,0x01,0x00,0x03,0x11,0x01,0x44,0x03,0x22,0x01,0x44,0x03,0x22,
|
||||||
|
0x02,0x00,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x01,0x62,0x01,0x66,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x62,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x55,0x01,0x00,0x01,0x01,0x01,0x11,0x01,0x41,0x01,0x44,0x01,0x42,0x01,0x22,0x01,0x42,0x01,0x44,0x01,0x42,0x01,0x22,0x01,0x02,
|
||||||
|
0x02,0x00,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x66,0x01,0x62,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x62,0x01,0x26,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x55,0x02,0x00,0x01,0x11,0x03,0x44,0x01,0x22,0x03,0x44,0x01,0x22,
|
||||||
|
0x03,0x00,0x01,0x02,0x18,0x52,0x01,0x55,
|
||||||
|
0x0E,0x00,0x1E,0x60,
|
||||||
|
0x0A,0x00,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x26,0x02,0x62,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x55,
|
||||||
|
0x09,0x00,0x01,0x66,0x01,0x22,0x01,0x26,0x02,0x66,0x01,0x22,0x01,0x26,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x62,0x01,0x26,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x22,0x01,0x26,0x01,0x22,0x01,0x66,0x01,0x22,0x02,0x26,0x01,0x66,0x01,0x62,0x01,0x26,0x01,0x62,0x01,0x66,0x01,0x55,
|
||||||
|
0x09,0x00,0x01,0x66,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x62,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x02,0x26,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x55,
|
||||||
|
0x09,0x00,0x01,0x06,0x1D,0x56,0x01,0x55,0x03,0x00,0x01,0x10,
|
||||||
|
0x24,0x00,0x01,0x10,0x01,0x00,0x01,0x10,0x01,0x11,0x01,0x01,
|
||||||
|
0x05,0x00,0x08,0xCC,0x01,0x40,0x09,0x00,0x01,0xD0,0x01,0x0D,0x01,0x00,0x01,0xD0,0x01,0x0D,0x01,0x00,0x01,0xD0,0x05,0x00,0x01,0x11,
|
||||||
|
0x0A,0x00,0x01,0x04,0x04,0x54,0x02,0xCC,0x01,0x44,0x01,0x55,0x06,0x00,0x01,0xD0,0x01,0xDD,0x02,0xD0,0x01,0xDD,0x02,0xD0,0x01,0xDD,0x01,0xD0,0x03,0x00,0x02,0x01,0x01,0x11,0x02,0x01,
|
||||||
|
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x06,0x00,0x01,0xDD,0x07,0xBB,0x01,0xDD,0x04,0x00,0x01,0x10,0x01,0x11,0x01,0x10,
|
||||||
|
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x07,0x00,0x01,0xDD,0x01,0xBB,0x01,0xBF,0x01,0xB0,0x01,0xBB,0x01,0xBF,0x01,0xB0,0x01,0xBB,0x01,0xDD,0x03,0x00,0x01,0x10,0x03,0x11,0x01,0x10,
|
||||||
|
0x0A,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x08,0x00,0x01,0xDD,0x01,0xDB,0x01,0xBB,0x01,0x3B,0x01,0x33,0x02,0xBB,0x01,0xDB,0x01,0xDD,0x03,0x00,0x02,0x01,0x01,0x11,0x02,0x01,
|
||||||
|
0x0A,0x00,0x02,0xCC,0x01,0x44,0x01,0x55,0x09,0x00,0x02,0xDD,0x05,0xBB,0x02,0xDD,0x05,0x00,0x01,0x11,
|
||||||
|
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x55,0x09,0x00,0x01,0x0D,0x01,0x00,0x01,0xBB,0x03,0xB1,0x01,0xBB,0x01,0x00,0x01,0x0D,0x04,0x00,0x02,0xBB,
|
||||||
|
0x0C,0x00,0x01,0x0C,0x01,0x4C,0x01,0x44,0x01,0x55,0x0C,0x00,0x02,0xBB,0x06,0x00,0x01,0x20,0x01,0x22,0x01,0x2B,0x01,0x0B,
|
||||||
|
0x0E,0x00, 0x02,0x05, 0x09,0x00, 0x01,0x20, 0x06,0x22, 0x03,0x20,
|
||||||
|
0x02,0x22, 0x01,0x02, 0x09,0x00,
|
||||||
|
0xff,0xff
|
||||||
|
};
|
||||||
|
|
||||||
|
static unsigned char worldmap_rle[]=
|
||||||
|
{ 0x28,0x28,
|
||||||
|
0x55,0x66,0x03,0xF6,0x17,0x66,0x02,0xF6,0x02,0xFF,0x01,0xF6,
|
||||||
|
0x07,0x66,0x03,0xFF,0x01,0x5F,0x02,0xFF,0x01,0xF6,0x13,0x66,0x01,0xF6,0x07,0xFF,
|
||||||
|
0x07,0x66,0x01,0x65,0x04,0x5F,0x01,0x6F,0x13,0x66,0x01,0x65,0x01,0x55,0x01,0x5F,0x02,0xFF,0x02,0x65,
|
||||||
|
0x1C,0x66,0x01,0xF6,0x01,0xFF,0x01,0x56,
|
||||||
|
0x24,0x66,0x01,0x8F,0x02,0xFF,0x01,0x85,0x04,0x66,0x05,0xD6,
|
||||||
|
0x11,0x66,0x01,0xD6,0x06,0xE6,0x02,0x46,0x01,0x96,0x02,0x88,0x01,0x48,0x01,0x58,0x01,0x88,0x01,0x86,0x02,0x66,0x05,0xD9,
|
||||||
|
0x05,0x66,0x07,0x46,0x04,0x44,0x01,0xD4,0x01,0xED,0x05,0xEE,0x02,0x44,0x01,0x84,0x01,0x98,0x03,0x88,0x01,0x48,0x01,0x88,0x01,0xA8,0x01,0x84,0x01,0x44,0x01,0x49,0x03,0xF9,0x01,0x49,0x04,0x46,
|
||||||
|
0x0B,0x44,0x01,0xD4,0x01,0xED,0x04,0xEE,0x01,0x4E,0x02,0x44,0x01,0x84,0x01,0x89,0x02,0x88,0x01,0x89,0x04,0x88,0x01,0x85,0x01,0x88,0x01,0x44,0x01,0x4F,0x01,0x40,0x01,0x4F,0x01,0x88,
|
||||||
|
0x0E,0x44,0x01,0xDD,0x01,0xED,0x05,0xEE,0x01,0x88,0x01,0x44,0x01,0x84,0x01,0x89,0x01,0x98,0x01,0x88,0x01,0x98,0x01,0x88,0x01,0x84,0x03,0x88,0x01,0x85,0x01,0x88,0x01,0xA8,0x02,0x44,0x01,0x94,0x01,0x88,0x01,0x58,0x01,0x84,
|
||||||
|
0x0B,0x44,0x01,0xDD,0x08,0xEE,0x01,0x88,0x02,0x84,0x04,0xE8,0x01,0x48,0x08,0x88,0x01,0x98,0x03,0x88,
|
||||||
|
0x0A,0x44,0x01,0xDD,0x11,0xEE,0x01,0xE4,0x04,0x44,0x02,0x48,0x01,0x89,0x03,0x88,0x01,0x85,0x01,0x88,
|
||||||
|
0x09,0x44,0x01,0xDD,0x12,0xEE,0x07,0x44,0x02,0x48,0x01,0x88,0x01,0x85,0x02,0x48,
|
||||||
|
0x09,0x44,0x01,0xDD,0x0C,0xEE,0x02,0xDE,0x02,0x4D,0x0C,0x44,0x02,0xC4,
|
||||||
|
0x0A,0x44,0x02,0x4E,0x08,0xEE,0x01,0xDE,0x02,0x4D,0x0C,0x44,0x01,0xC4,0x02,0xCC,0x01,0xC4,0x01,0xCC,
|
||||||
|
0x21,0x44,0x01,0xC4,0x02,0xCC,0x01,0xC4,0x03,0xCC,
|
||||||
|
0x1F,0x44,0x01,0xC4,0x01,0xCC,0x01,0xC4,0x01,0xCC,0x01,0x4C,0x02,0xCC,0x01,0x4C,0x01,0xCC,
|
||||||
|
0x1E,0x44,0x02,0xCC,0x01,0x4C,0x04,0xCC,0x01,0xC4,0x02,0xCC,
|
||||||
|
0x1D,0x44,0x01,0xCC,0x01,0x4C,0x02,0xCC,0x01,0xC4,0x01,0x4C,0x01,0xCC,0x01,0xC4,0x02,0xCC,0x01,0xC4,
|
||||||
|
0xff,0xff,
|
||||||
|
};
|
@ -812,6 +812,26 @@ int grsim_put_sprite(unsigned char *sprite_data, int xpos, int ypos) {
|
|||||||
|
|
||||||
int gr_copy(short source, short dest) {
|
int gr_copy(short source, short dest) {
|
||||||
|
|
||||||
|
short dest_addr,source_addr;
|
||||||
|
int i,j,l;
|
||||||
|
|
||||||
|
for(i=0;i<8;i++) {
|
||||||
|
source_addr=gr_addr_lookup[i]+0x400;
|
||||||
|
dest_addr=gr_addr_lookup[i];
|
||||||
|
|
||||||
|
if (i<4) l=120;
|
||||||
|
else l=80;
|
||||||
|
|
||||||
|
for(j=0;j<l;j++) {
|
||||||
|
ram[dest_addr+j]=ram[source_addr+j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int gr_copy48(short source, short dest) {
|
||||||
|
|
||||||
short dest_addr,source_addr;
|
short dest_addr,source_addr;
|
||||||
int i,j;
|
int i,j;
|
||||||
|
|
||||||
|
115
gr-sim/tfv.c
115
gr-sim/tfv.c
@ -4,64 +4,8 @@
|
|||||||
|
|
||||||
#include "gr-sim.h"
|
#include "gr-sim.h"
|
||||||
|
|
||||||
static unsigned char title_rle[]=
|
#include "vince_sprites.h"
|
||||||
{ 0x28,0x28,
|
#include "backgrounds.h"
|
||||||
0x01,0x00,0x19,0x20,
|
|
||||||
0x0F,0x00,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x62,0x01,0x66,0x01,0x62,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x62,0x01,0x22,0x01,0x62,0x01,0x26,0x01,0x62,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x55,0x01,0x00,0x03,0x11,0x01,0x44,0x03,0x22,0x01,0x44,0x03,0x22,
|
|
||||||
0x02,0x00,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x01,0x62,0x01,0x66,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x62,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x55,0x01,0x00,0x01,0x01,0x01,0x11,0x01,0x41,0x01,0x44,0x01,0x42,0x01,0x22,0x01,0x42,0x01,0x44,0x01,0x42,0x01,0x22,0x01,0x02,
|
|
||||||
0x02,0x00,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x66,0x01,0x62,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x62,0x01,0x26,0x02,0x22,0x01,0x66,0x02,0x22,0x01,0x55,0x02,0x00,0x01,0x11,0x03,0x44,0x01,0x22,0x03,0x44,0x01,0x22,
|
|
||||||
0x03,0x00,0x01,0x02,0x18,0x52,0x01,0x55,
|
|
||||||
0x0E,0x00,0x1E,0x60,
|
|
||||||
0x0A,0x00,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x22,0x01,0x66,0x03,0x22,0x01,0x66,0x01,0x26,0x01,0x22,0x01,0x26,0x01,0x66,0x01,0x26,0x02,0x62,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x55,
|
|
||||||
0x09,0x00,0x01,0x66,0x01,0x22,0x01,0x26,0x02,0x66,0x01,0x22,0x01,0x26,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x62,0x01,0x26,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x22,0x01,0x26,0x01,0x22,0x01,0x66,0x01,0x22,0x02,0x26,0x01,0x66,0x01,0x62,0x01,0x26,0x01,0x62,0x01,0x66,0x01,0x55,
|
|
||||||
0x09,0x00,0x01,0x66,0x01,0x22,0x03,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x01,0x62,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x22,0x01,0x66,0x01,0x22,0x01,0x66,0x02,0x26,0x01,0x22,0x02,0x66,0x01,0x22,0x02,0x66,0x01,0x55,
|
|
||||||
0x09,0x00,0x01,0x06,0x1D,0x56,0x01,0x55,0x03,0x00,0x01,0x10,
|
|
||||||
0x24,0x00,0x01,0x10,0x01,0x00,0x01,0x10,0x01,0x11,0x01,0x01,
|
|
||||||
0x05,0x00,0x08,0xCC,0x01,0x40,0x09,0x00,0x01,0xD0,0x01,0x0D,0x01,0x00,0x01,0xD0,0x01,0x0D,0x01,0x00,0x01,0xD0,0x05,0x00,0x01,0x11,
|
|
||||||
0x0A,0x00,0x01,0x04,0x04,0x54,0x02,0xCC,0x01,0x44,0x01,0x55,0x06,0x00,0x01,0xD0,0x01,0xDD,0x02,0xD0,0x01,0xDD,0x02,0xD0,0x01,0xDD,0x01,0xD0,0x03,0x00,0x02,0x01,0x01,0x11,0x02,0x01,
|
|
||||||
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x06,0x00,0x01,0xDD,0x07,0xBB,0x01,0xDD,0x04,0x00,0x01,0x10,0x01,0x11,0x01,0x10,
|
|
||||||
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x07,0x00,0x01,0xDD,0x01,0xBB,0x01,0xBF,0x01,0xB0,0x01,0xBB,0x01,0xBF,0x01,0xB0,0x01,0xBB,0x01,0xDD,0x03,0x00,0x01,0x10,0x03,0x11,0x01,0x10,
|
|
||||||
0x0A,0x00,0x02,0xCC,0x01,0x44,0x01,0x54,0x01,0x55,0x08,0x00,0x01,0xDD,0x01,0xDB,0x01,0xBB,0x01,0x3B,0x01,0x33,0x02,0xBB,0x01,0xDB,0x01,0xDD,0x03,0x00,0x02,0x01,0x01,0x11,0x02,0x01,
|
|
||||||
0x0A,0x00,0x02,0xCC,0x01,0x44,0x01,0x55,0x09,0x00,0x02,0xDD,0x05,0xBB,0x02,0xDD,0x05,0x00,0x01,0x11,
|
|
||||||
0x0C,0x00,0x02,0xCC,0x01,0x44,0x01,0x55,0x09,0x00,0x01,0x0D,0x01,0x00,0x01,0xBB,0x03,0xB1,0x01,0xBB,0x01,0x00,0x01,0x0D,0x04,0x00,0x02,0xBB,
|
|
||||||
0x0C,0x00,0x01,0x0C,0x01,0x4C,0x01,0x44,0x01,0x55,0x0C,0x00,0x02,0xBB,0x06,0x00,0x01,0x20,0x01,0x22,0x01,0x2B,0x01,0x0B,
|
|
||||||
0x0E,0x00, 0x02,0x05, 0x09,0x00, 0x01,0x20, 0x06,0x22, 0x03,0x20,
|
|
||||||
0x02,0x22, 0x01,0x02, 0x09,0x00,
|
|
||||||
0xff,0xff
|
|
||||||
// " 55 2222222222222"
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
static unsigned char test_sprite[]={
|
|
||||||
0x8,0x4,
|
|
||||||
0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,
|
|
||||||
0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,
|
|
||||||
0xff,0x1f,0x4f,0x2f,0xff,0x22,0x20,0x00,
|
|
||||||
0x5f,0x5f,0x5f,0x5f,0xff,0xf2,0xf2,0xf2,
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static unsigned char ship_forward[]={
|
|
||||||
0x5,0x3,
|
|
||||||
0x00,0x00,0x77,0x00,0x00,
|
|
||||||
0x50,0x55,0x77,0x55,0x50,
|
|
||||||
0x01,0x00,0x07,0x00,0x01,
|
|
||||||
};
|
|
||||||
|
|
||||||
static unsigned char ship_right[]={
|
|
||||||
0x5,0x3,
|
|
||||||
0x50,0x00,0x70,0x77,0x00,
|
|
||||||
0x01,0x55,0x77,0x55,0x50,
|
|
||||||
0x00,0x77,0x07,0x00,0x15,
|
|
||||||
};
|
|
||||||
|
|
||||||
static unsigned char ship_left[]={
|
|
||||||
0x5,0x3,
|
|
||||||
0x00,0x77,0x70,0x00,0x50,
|
|
||||||
0x50,0x55,0x77,0x55,0x01,
|
|
||||||
0x15,0x00,0x07,0x77,0x00,
|
|
||||||
};
|
|
||||||
|
|
||||||
#define COLOR1 0x00
|
#define COLOR1 0x00
|
||||||
#define COLOR2 0x01
|
#define COLOR2 0x01
|
||||||
@ -147,6 +91,7 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
int name_x=0;
|
int name_x=0;
|
||||||
int cursor_x=0,cursor_y=0;
|
int cursor_x=0,cursor_y=0;
|
||||||
|
int direction;
|
||||||
|
|
||||||
grsim_init();
|
grsim_init();
|
||||||
|
|
||||||
@ -350,7 +295,7 @@ int main(int argc, char **argv) {
|
|||||||
xx=17; yy=30;
|
xx=17; yy=30;
|
||||||
color_equals(0);
|
color_equals(0);
|
||||||
|
|
||||||
int direction=0;
|
direction=0;
|
||||||
|
|
||||||
color_equals(6);
|
color_equals(6);
|
||||||
|
|
||||||
@ -389,6 +334,58 @@ int main(int argc, char **argv) {
|
|||||||
usleep(10000);
|
usleep(10000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/************************************************/
|
||||||
|
/* Landed */
|
||||||
|
/************************************************/
|
||||||
|
|
||||||
|
// TODO:
|
||||||
|
// 4x4 grid of island?
|
||||||
|
// proceduraly generated?
|
||||||
|
// can only walk if feet on green/yellow
|
||||||
|
// should features be sprites?
|
||||||
|
|
||||||
|
// rotate when attacked
|
||||||
|
|
||||||
|
gr();
|
||||||
|
xx=17; yy=30;
|
||||||
|
color_equals(0);
|
||||||
|
|
||||||
|
direction=1;
|
||||||
|
|
||||||
|
grsim_unrle(worldmap_rle,0x800);
|
||||||
|
gr_copy(0x800,0x400);
|
||||||
|
|
||||||
|
while(1) {
|
||||||
|
ch=grsim_input();
|
||||||
|
|
||||||
|
if ((ch=='q') || (ch==27)) break;
|
||||||
|
if ((ch=='i') || (ch==APPLE_UP)) if (yy>10) yy-=2;
|
||||||
|
if ((ch=='m') || (ch==APPLE_DOWN)) if (yy<39) yy+=2;
|
||||||
|
if ((ch=='j') || (ch==APPLE_LEFT)) {
|
||||||
|
if (direction>0) direction=-1;
|
||||||
|
else {
|
||||||
|
xx--;
|
||||||
|
if (xx<0) xx=0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((ch=='k') || (ch==APPLE_RIGHT)) {
|
||||||
|
if (direction<0) direction=1;
|
||||||
|
else {
|
||||||
|
xx++;
|
||||||
|
if (xx>35) xx=35;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gr_copy(0x800,0x400);
|
||||||
|
|
||||||
|
if (direction==-1) grsim_put_sprite(vince_left,xx,yy);
|
||||||
|
if (direction==1) grsim_put_sprite(vince_right,xx,yy);
|
||||||
|
|
||||||
|
grsim_update();
|
||||||
|
|
||||||
|
usleep(10000);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
51
gr-sim/vince_sprites.h
Normal file
51
gr-sim/vince_sprites.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
static unsigned char vince_right[]={
|
||||||
|
0x4,0x6,
|
||||||
|
0x00,0xDD,0xBD,0x00,
|
||||||
|
0x00,0xDD,0xDB,0x0B,
|
||||||
|
0x00,0x22,0x00,0x00,
|
||||||
|
0x00,0x22,0x02,0x0B,
|
||||||
|
0x00,0x22,0x00,0x00,
|
||||||
|
0x00,0x82,0x80,0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
static unsigned char vince_left[]={
|
||||||
|
0x4,0x6,
|
||||||
|
0x00,0xBD,0xDD,0x00,
|
||||||
|
0x0B,0xDB,0xDD,0x00,
|
||||||
|
0x00,0x00,0x22,0x00,
|
||||||
|
0x0B,0x02,0x22,0x00,
|
||||||
|
0x00,0x00,0x22,0x00,
|
||||||
|
0x00,0x80,0x82,0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
static unsigned char test_sprite[]={
|
||||||
|
0x8,0x4,
|
||||||
|
0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0xff,0x1f,0x4f,0x2f,0xff,0x22,0x20,0x00,
|
||||||
|
0x5f,0x5f,0x5f,0x5f,0xff,0xf2,0xf2,0xf2,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static unsigned char ship_forward[]={
|
||||||
|
0x5,0x3,
|
||||||
|
0x00,0x00,0x77,0x00,0x00,
|
||||||
|
0x50,0x55,0x77,0x55,0x50,
|
||||||
|
0x01,0x00,0x07,0x00,0x01,
|
||||||
|
};
|
||||||
|
|
||||||
|
static unsigned char ship_right[]={
|
||||||
|
0x5,0x3,
|
||||||
|
0x50,0x00,0x70,0x77,0x00,
|
||||||
|
0x01,0x55,0x77,0x55,0x50,
|
||||||
|
0x00,0x77,0x07,0x00,0x15,
|
||||||
|
};
|
||||||
|
|
||||||
|
static unsigned char ship_left[]={
|
||||||
|
0x5,0x3,
|
||||||
|
0x00,0x77,0x70,0x00,0x50,
|
||||||
|
0x50,0x55,0x77,0x55,0x01,
|
||||||
|
0x15,0x00,0x07,0x77,0x00,
|
||||||
|
};
|
||||||
|
|
@ -19,6 +19,7 @@ int main(int argc, char **argv) {
|
|||||||
unsigned char *image;
|
unsigned char *image;
|
||||||
int xsize,ysize,last=-1,next;
|
int xsize,ysize,last=-1,next;
|
||||||
FILE *outfile;
|
FILE *outfile;
|
||||||
|
int size=0;
|
||||||
|
|
||||||
if (argc<3) {
|
if (argc<3) {
|
||||||
fprintf(stderr,"Usage:\t%s INFILE OUTFILE\n\n",argv[0]);
|
fprintf(stderr,"Usage:\t%s INFILE OUTFILE\n\n",argv[0]);
|
||||||
@ -41,6 +42,8 @@ int main(int argc, char **argv) {
|
|||||||
x=0;
|
x=0;
|
||||||
enough=0;
|
enough=0;
|
||||||
fprintf(outfile,"{ 0x%X,0x%x,\n",xsize,ysize);
|
fprintf(outfile,"{ 0x%X,0x%x,\n",xsize,ysize);
|
||||||
|
size+=2;
|
||||||
|
|
||||||
last=image[x] | (image[x+xsize]<<4);
|
last=image[x] | (image[x+xsize]<<4);
|
||||||
run++;
|
run++;
|
||||||
x++;
|
x++;
|
||||||
@ -49,14 +52,14 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
if (next!=last) {
|
if (next!=last) {
|
||||||
fprintf(outfile,"0x%02X,0x%02X,",run,last);
|
fprintf(outfile,"0x%02X,0x%02X,",run,last);
|
||||||
|
size+=2;
|
||||||
run=0;
|
run=0;
|
||||||
last=next;
|
last=next;
|
||||||
}
|
}
|
||||||
|
|
||||||
run++;
|
|
||||||
|
|
||||||
|
|
||||||
x++;
|
x++;
|
||||||
|
|
||||||
|
|
||||||
enough++;
|
enough++;
|
||||||
if (enough>=xsize) {
|
if (enough>=xsize) {
|
||||||
enough=0;
|
enough=0;
|
||||||
@ -65,15 +68,26 @@ int main(int argc, char **argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (x>xsize*ysize) {
|
if (x>=xsize*ysize) {
|
||||||
/* print tailing value */
|
/* print tailing value */
|
||||||
fprintf(outfile,"0x%02X,0x%02X,",run,last);
|
if (run!=0) {
|
||||||
|
fprintf(outfile,"0x%02X,0x%02X,",run,last);
|
||||||
|
size+=2;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
run++;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
fprintf(outfile,"0xff,0xff,");
|
||||||
|
size+=2;
|
||||||
fprintf(outfile,"};\n");
|
fprintf(outfile,"};\n");
|
||||||
|
|
||||||
fclose(outfile);
|
fclose(outfile);
|
||||||
|
|
||||||
|
printf("Size %d bytes\n",size);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2,20 +2,20 @@ GIMP Palette
|
|||||||
Name: Apple II Lowres
|
Name: Apple II Lowres
|
||||||
Columns: 0
|
Columns: 0
|
||||||
#
|
#
|
||||||
0 0 0 Untitled
|
0 0 0 Black.0
|
||||||
227 30 96 Untitled
|
227 30 96 Red.1
|
||||||
96 78 189 Untitled
|
96 78 189 DarkBlue.2
|
||||||
255 68 253 Untitled
|
255 68 253 Purple.3
|
||||||
0 163 96 Untitled
|
0 163 96 DarkGreen.4
|
||||||
156 156 156 Untitled
|
156 156 156 Grey.5
|
||||||
20 207 253 Untitled
|
20 207 253 MediumBlue.6
|
||||||
208 195 255 Untitled
|
208 195 255 LightBlue.7
|
||||||
96 114 3 Untitled
|
96 114 3 Brown.8
|
||||||
255 106 60 Untitled
|
255 106 60 Orange.9
|
||||||
157 157 157 Untitled
|
157 157 157 Gray.A
|
||||||
255 160 208 Untitled
|
255 160 208 Pink.B
|
||||||
20 245 60 Untitled
|
20 245 60 LightGreen.C
|
||||||
208 221 141 Untitled
|
208 221 141 Yellow.D
|
||||||
114 255 208 Untitled
|
114 255 208 Aqua.E
|
||||||
255 255 255 Untitled
|
255 255 255 White.F
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user