diff --git a/gr-sim/backgrounds.h b/gr-sim/backgrounds.h index 9b09979e..d55114f7 100644 --- a/gr-sim/backgrounds.h +++ b/gr-sim/backgrounds.h @@ -26,23 +26,43 @@ static unsigned char title_rle[]= 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, -}; +0x23,0x66,0x01,0x46,0x01,0x06, +0x05,0x66,0x01,0x56,0x0E,0x66,0x01,0xE6,0x04,0x66,0x01,0x77,0x01,0xFF,0x01,0xF6,0x08,0x66,0x01,0x46,0x03,0x44, +0x04,0x66,0x01,0x56,0x01,0x55,0x01,0x56,0x01,0xE6,0x0B,0x66,0x01,0x6E,0x01,0x66,0x01,0x6E,0x02,0x66,0x01,0x67,0x04,0x6F,0x07,0x66,0x01,0x4F,0x01,0x47,0x01,0x4F,0x01,0x44,0x03,0x66, +0x01,0x6E,0x06,0x66,0x06,0xA6,0x02,0x56,0x04,0xA6,0x01,0x56,0x01,0xA6,0x01,0x56,0x03,0xA6,0x01,0x56,0x02,0xA6,0x01,0x56,0x02,0xA6,0x01,0x56,0x02,0x66,0x01,0x64,0x03,0x44,0x01,0x46, +0x08,0x66,0x01,0xAA,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x03,0x66,0x01,0xE6,0x03,0xE4,0x01,0xE6, +0x07,0x66,0x01,0xAA,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55, +0x0F,0x66,0x01,0xAA,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55, +0x0A,0x66,0x01,0xE6,0x04,0x66,0x01,0xAA,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55, +0x09,0x66,0x01,0x6E,0x01,0x66,0x01,0x6E,0x03,0x66,0x01,0xAA,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55, +0x0C,0x66,0x01,0xE6,0x02,0x66,0x01,0xAA,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55, +0x0B,0x66,0x01,0x6E,0x01,0x66,0x01,0x6E,0x01,0x66,0x01,0xAA,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55, +0x0F,0x66,0x01,0xAA,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x02,0x66,0x01,0x55,0x01,0x56,0x02,0x66,0x01,0x55, +0x08,0x66,0x01,0xAA,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55,0x02,0x66,0x01,0x55,0x01,0x66,0x01,0x65,0x01,0x56,0x01,0x55, +0x08,0x66,0x01,0xAA,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x02,0x66,0x01,0x65,0x03,0x66,0x01,0x65, +0x02,0x66,0x01,0x6E,0x01,0xE6,0x01,0x6E,0x03,0x66,0x01,0xAA,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x05,0x66,0x01,0x55,0x03,0x66,0x01,0x16,0x01,0x91,0x01,0x16, +0x04,0x66,0x01,0xEE,0x04,0x66,0x01,0xAA,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55,0x05,0x56,0x01,0x55,0x03,0x66,0x01,0x69,0x01,0x99,0x01,0x69, +0x03,0x66,0x01,0x05,0x01,0x55,0x01,0x66,0x01,0x55,0x01,0x65,0x1C,0x66,0x01,0x86,0x01,0x96,0x01,0x99,0x01,0x96,0x01,0x86, +0x02,0x66,0x04,0x65,0x1F,0x66,0x01,0x99, +0x1B,0x66,0x01,0xE6,0x01,0x6E,0x01,0xE6,0x09,0x66,0x01,0x69, +0x2B,0x66, +0xff,0xff,}; + +static unsigned char landing_rle[]= +{ 0x28,0x28, +0x03,0x66,0x01,0x56, +0x27,0x66,0x01,0x55,0x01,0xF5, +0x26,0x66,0x01,0x55,0x01,0xFF,0x01,0xF5, +0x25,0x66,0x01,0x55,0x02,0xFF,0x01,0xF5, +0x24,0x66,0x01,0x55,0x03,0xFF,0x01,0xF5,0x20,0x66, +0x01,0x46,0x01,0x24,0x01,0x44,0x01,0x55,0x0F,0xF5,0x04,0x22, +0x12,0x44,0x01,0x62,0x01,0x22,0x01,0x55,0x01,0xFF,0x03,0x11,0x01,0x44,0x03,0x22,0x01,0x44,0x03,0x22,0x03,0xFF,0x05,0x22, +0x11,0x44,0x01,0x22,0x01,0x26,0x01,0x55,0x02,0xFF,0x01,0x11,0x03,0x44,0x01,0x22,0x03,0x44,0x01,0x22,0x04,0xFF,0x06,0x22, +0x10,0x44,0x02,0x26,0x01,0x55,0x02,0xFF,0x01,0xF1,0x03,0xF4,0x01,0xF2,0x03,0xF4,0x01,0xF2,0x01,0xFF,0x02,0x8F,0x01,0xFF,0x07,0x22, +0x0F,0x44,0x01,0x62,0x01,0x26,0x01,0x55,0x0A,0x5F,0x02,0xFF,0x02,0x88,0x01,0xFF,0x08,0x22, +0x0E,0x44,0x01,0x22,0x01,0x42,0x01,0x55,0x09,0xFF,0x01,0x55,0x02,0xFF,0x02,0x88,0x0A,0xFF, +0x0F,0x44,0x03,0x45,0x01,0x85,0x09,0x45,0x02,0x85,0x04,0x45,0x01,0x85,0x05,0x45, +0x11,0x44,0x01,0x48,0x09,0x44,0x04,0x85,0x04,0x44,0x01,0x48, +0x1E,0x44,0x06,0x85, +0x104,0x44, +0xff,0xff,}; diff --git a/gr-sim/gr-sim.c b/gr-sim/gr-sim.c index 8555782d..ea8c6756 100644 --- a/gr-sim/gr-sim.c +++ b/gr-sim/gr-sim.c @@ -467,7 +467,7 @@ int basic_hlin(int x1, int x2, int at) { int i; - for(i=x1;i FIGHT/LIMIT 21 +KILLER CRAB | DEATER 128/255 128 | ZAP 22 + | | REST 23 + | | RUN AWAY 24 + +Sound effects? + +List hits + +****** ** **** **** ** ** ****** **** ****** ****** ****** +** ** **** ** ** ** ** ** ** ** ** ** ** ** +** ** ** **** **** ****** **** ****** ** ****** ****** +** ** ** ** ** ** ** ** ** ** ** ** ** +****** ****** ****** **** ** **** ****** ** ****** ** + +*/ + +static int hp=50,max_hp=100; +static int enemy_hp=20; +static int limit=2; + +static void print_byte(unsigned char value) { + char temp[4]; + sprintf(temp,"%3d",value); + temp[3]=0; + basic_print(temp); +} + + +static int do_battle(void) { + + int i,ch; + + int enemy_x=2; + int tfv_x=34; + + home(); + gr(); + + basic_htab(1); + basic_vtab(22); + basic_normal(); + basic_print("KILLER CRAB"); + + basic_htab(27); + basic_vtab(21); + basic_print("HP"); + + basic_htab(34); + basic_vtab(21); + basic_print("LIMIT"); + + basic_htab(15); + basic_vtab(22); + basic_print("DEATER"); + + basic_htab(24); + basic_vtab(22); + print_byte(hp); + basic_print("/"); + print_byte(max_hp); + + basic_htab(34); + basic_vtab(22); + basic_inverse(); + for(i=0;i8) yy-=2; odd=!odd; } - if ((ch=='m') || (ch==APPLE_DOWN)) { + if ((ch=='s') || (ch==APPLE_DOWN)) { if (yy<27) yy+=2; odd=!odd; } - if ((ch=='j') || (ch==APPLE_LEFT)) { + if ((ch=='a') || (ch==APPLE_LEFT)) { if (direction>0) { direction=-1; odd=0; @@ -417,7 +615,7 @@ static int world_map(void) { if (xx<0) xx=0; } } - if ((ch=='k') || (ch==APPLE_RIGHT)) { + if ((ch=='d') || (ch==APPLE_RIGHT)) { if (direction<0) { direction=1; odd=0; @@ -429,6 +627,19 @@ static int world_map(void) { } } + if (ch=='h') print_help(); + if (ch=='b') do_battle(); + if (ch=='i') print_info(); + if (ch=='m') { + show_map(); + refresh=1; + } + + if (refresh) { + grsim_unrle(landing_rle,0x800); + refresh=0; + } + gr_copy(0x800,0x400); if (direction==-1) { @@ -447,38 +658,6 @@ static int world_map(void) { return 0; } -/* Do Battle */ - -/* Battle. -Forest? Grassland? Artic? Ocean? - - - - - | ----------------------------------------| - | HP LIMIT | -> FIGHT/LIMIT -GRUMPO | DEATER 128/255 128 | ZAP - | | REST - | | RUN AWAY - -Sound effects? - -List hits - -****** ** **** **** ** ** ****** **** ****** ****** ****** -** ** **** ** ** ** ** ** ** ** ** ** ** ** -** ** ** **** **** ****** **** ****** ** ****** ****** -** ** ** ** ** ** ** ** ** ** ** ** ** -****** ****** ****** **** ** **** ****** ** ****** ** - -*/ - -static int do_battle(void) { - - return 0; -} - int main(int argc, char **argv) { @@ -502,8 +681,8 @@ int main(int argc, char **argv) { /* World Map */ world_map(); - /* Do Battle */ - do_battle(); + /* Game Over, Man */ + game_over(); return 0; } diff --git a/gr-sim/tfv_sprites.h b/gr-sim/tfv_sprites.h index 5cd2c4f7..3f9b08e2 100644 --- a/gr-sim/tfv_sprites.h +++ b/gr-sim/tfv_sprites.h @@ -38,6 +38,13 @@ static unsigned char tfv_walk_left[]={ 0x00,0x82,0x00,0x82, }; +static unsigned char tfv_led_sword[]={ + 0x5,0x3, + 0x10,0x00,0x10,0x00,0x00, + 0x10,0x01,0x10,0x10,0x10, + 0x00,0x00,0x11,0x01,0x10, +}; + #if 0 static unsigned char test_sprite[]={ 0x8,0x4, @@ -69,3 +76,15 @@ static unsigned char ship_left[]={ 0x15,0x00,0x07,0x77,0x00, }; + +/* Enemies */ +static unsigned char killer_crab[]={ + 0x9,0x6, + 0x99,0x00,0x99,0x00,0x00,0x00,0x99,0x00,0x99, + 0x06,0x60,0x06,0x00,0x00,0x00,0x06,0x60,0x06, + 0x00,0x06,0x40,0x49,0x44,0x49,0x40,0x06,0x00, + 0x06,0x04,0x44,0x44,0x44,0x44,0x44,0x04,0x06, + 0x00,0x60,0x04,0x64,0x04,0x64,0x04,0x60,0x00, + 0x44,0x00,0x40,0x04,0x00,0x04,0x40,0x00,0x44, +}; + diff --git a/tfv/belair.png b/tfv/belair.png new file mode 100644 index 00000000..055279f2 Binary files /dev/null and b/tfv/belair.png differ diff --git a/tfv/landing.png b/tfv/landing.png index c72386fc..47053492 100644 Binary files a/tfv/landing.png and b/tfv/landing.png differ diff --git a/tfv/map.png b/tfv/map.png new file mode 100644 index 00000000..9e3a3cb7 Binary files /dev/null and b/tfv/map.png differ diff --git a/tfv/sprites.png b/tfv/sprites.png index 5f53313b..e9c66fb1 100644 Binary files a/tfv/sprites.png and b/tfv/sprites.png differ diff --git a/tfv/tfv.game_data b/tfv/tfv.game_data index 416cadce..c3d72cd7 100644 --- a/tfv/tfv.game_data +++ b/tfv/tfv.game_data @@ -1,27 +1,34 @@ ITEMS -WIRE // bird CUPCAKE // cafeteria lady -1K RESISTOR // brown black red, Elaine -4.7K RESISTOR // yellow purple red, Tater -9V BATTERY // Cindy -1.5V BATTERY // Oscar CARROT // capabara SMARTPASS // metro worker ELF RUNES // mree -LINUX CD // john -RED LED // -ARMY KNIFE // Steve LIZBETH STAR // Lizbeth KARTE SPIEL // Frau GLAMDRING // Gus VEGEMITE // Nicole -CLASS RING // + +BLUE LED // bird +RED LED // +1K RESISTOR // brown black red, Elaine +4.7K RESISTOR // yellow purple red, Tater +9V BATTERY // Cindy +1.5V BATTERY // Oscar +LINUX CD // john +ARMY KNIFE // Steve + + + // CLASS RING // COLLEGE PARK TALBOT HALL LIZ+WILL + LET'S DISCUSS COOL THINGS IN THE LOUNGE + --> YES! + --> SORRY, NEED TO DO ENGINEERING HOMEWORK + PETE YOUR JOURNEY MAY TAKE YOU TO DARKEST BEL AIR PLOT! @@ -35,6 +42,9 @@ TALBOT HALL DINING HALL OSCAR + BEWARE THE KILLER CRABS + THEY WANT TO MEET YOU + THEY WANT TO EAT YOU NICOLE CINDY ELAINE @@ -49,6 +59,7 @@ METRO STATION WOULD YOU LIKE TO BUY A SMARTPASS SORRY ALL TRAINS CANCELLED: SMARTTRIP TINY CAPABARA + GRONK GIANT GUINEA PIG SQUEAK LARGE BIRD @@ -79,6 +90,9 @@ JC JENNI MR. APPLEBY KATHY + LOW D-HIGH LESS HIGH D-LOW + DRAW A LINE AND DOWN BELOW + DENOMINATOR SQUARED MUST GO LIZBETH BLUME VINCE CON PATILLAS @@ -90,12 +104,14 @@ JC FRAU HOMEROOM TRAPANI + WEAVE! MAN THAT PARTY WAS SOMETHING ELSE WARWICK MARIOKART PARTY AT MY HOUSE WARGO - SWOON - AMAZING SWIMMER MUSCLES + WARWICK! AMAZING SWIMMER MUSCLES + *SWOON* + MEAN LADY MATH OFFICE (ACADEMIC TEAM) @@ -105,8 +121,13 @@ JC ON ANY GIVEN DAY BRIGHID RACHAEL YRBK + AP BIO LAB PARTNERS + MUST STICK TOGETHER MREE I'M NOT EVIL + NO ESTA AQUI MAIN OFFICE AGENT N + ACTING PRINCIPAL ROBOKNEE + SINCE WE HAVE NO ELECTRICITY WE HAVE NO LIGHTS