diff --git a/gr-sim/tfv/TODO b/gr-sim/tfv/TODO index 2841b4f5..5e84ad51 100644 --- a/gr-sim/tfv/TODO +++ b/gr-sim/tfv/TODO @@ -9,6 +9,7 @@ Soon: --> Sound effects --> enemy uses magic --> green background on anti-damage printing +--> pick up vortex cannon from someone + Enable getting back on spaceship (with better animation) + Better collision detection on Spaceship land diff --git a/gr-sim/tfv/tfv_backgrounds.c b/gr-sim/tfv/tfv_backgrounds.c index 50aa98ba..abc72aa6 100644 --- a/gr-sim/tfv/tfv_backgrounds.c +++ b/gr-sim/tfv/tfv_backgrounds.c @@ -708,31 +708,58 @@ unsigned char homeroom_rle[]={ 0x77,0xA4,0x88,0xA0,0x1F,0x00,0x08,0xA3,0x88,0x77,0xA3,0x88,0xA1, }; unsigned char ap_calculus_rle[]={ 0x28, /* ysize=40 */ - 0xA0,0x19,0x00,0x44,0x44,0xF4,0xF4,0xA3,0x44,0xF4,0xA7,0x44,0xA0,0x19,0x00, - 0x44,0x44,0xFF,0xA4,0x44,0xF4,0x4F,0xA3,0x44,0xF4, - 0x44,0x44,0xA4,0x00,0xA5,0x80,0xA0,0x10,0x00,0x44,0x44,0xFF,0x44, - 0xF4,0x44,0xF4,0x4F,0x4F,0x44,0xF4,0xF4,0xFF, - 0x44,0xF4,0xA4,0x00,0x08,0xA0,0x14,0x00,0x44,0x44,0xFF, - 0x44,0xF4,0x4F,0xF4,0xA3,0x44,0xFF,0xF4, - 0xFF,0x44,0xF4,0xA0,0x19,0x00,0x44,0x4F,0x4F,0xAC,0x44, - 0xA0,0x14,0x00,0xB8,0x88,0x00,0x00,0x0A,0xAF,0x07,0xA0,0x13,0x00, - 0x0B,0xBB,0x88,0xA4,0x00,0xB8,0x88,0xAE,0x00, - 0x88,0xB8,0xA0,0x10,0x00,0x2B,0xA4,0x00,0x0B,0xBB, - 0x88,0xAE,0x00,0x88,0xBB,0x0B,0xA6,0x00,0xA3,0xF0, - 0xA5,0x00,0x44,0x22,0xA5,0x00,0xFF,0x08,0x80, - 0xAD,0x00,0x88,0xF0,0xA7,0x00,0x70,0x10,0xA5,0x70, - 0x11,0x74,0x72,0xA3,0x70,0x11,0x7F,0x7F,0xA6,0x70, - 0xA9,0x00,0x77,0x7F,0xB0,0xA4,0x00,0x70,0x77,0x77, - 0x71,0xA5,0x77,0x71,0xA5,0x77,0x71,0xA6,0x77,0x57, - 0x55,0xA9,0x00,0x4F,0x4F,0xA4,0x00,0xA0,0x16,0x57,0x55,0x05, - 0x55,0xA8,0x00,0x04,0xB4,0x04,0x04,0xA3,0x00,0x55, - 0x05,0x05,0x55,0x05,0xB5,0xA4,0x05,0xD5,0xA5,0x05, - 0xB5,0xA4,0x05,0x55,0x00,0x00,0x55,0xA9,0x00,0x8F, - 0x80,0xA4,0x00,0x55,0x00,0x00,0x55,0x00,0x08,0x08, - 0x00,0x00,0x08,0x08,0xA4,0x00,0x08,0x08,0xA4,0x00,0x55,0x00,0x00, - 0x55,0xAF,0x00,0x55,0x00,0x00,0x55,0xA0,0x11,0x00,0x55, - 0x00,0x00,0x55,0xAF,0x00,0x55,0xA0,0x14,0x00,0x55,0xA0,0x12,0x00, - 0x05,0xA0,0x14,0x00,0x05,0xA0,0x82,0x00,0xA1, }; + 0x00,0x00,0x77,0x55,0xA3,0xFF,0x77,0x55,0xA8,0x00, + 0x02,0x22,0x02,0x00,0x22,0x02,0x00, + 0x20,0x02,0x20,0x00,0x22,0x20,0x00, + 0x20,0x22,0xA8,0x00,0x44,0x77,0xFF,0x0F, + 0xF0,0xFF,0xD7,0x55,0x00,0x00,0xA6,0x88,0x00, + 0x22,0x00,0x00,0x22,0x02,0x00,0x22,0x02, + 0x22,0x00,0x22,0x00,0x02,0x00,0x22, + 0xA7,0x00,0x44,0x44,0x77,0xFF,0xFF,0x0F,0xFF,0xDD, + 0x55,0x00,0x00,0x88,0xA4,0x77,0x88,0x00,0x02, + 0x00,0x00,0x02,0x02,0x00,0x02,0x00,0x02,0x00, + 0x02,0xA3,0x00,0x02,0xA7,0x00,0x44,0x44,0x77,0xFF, + 0xF0,0xFF,0xFF,0xDD,0xD5,0x00,0x00,0x88,0xA4,0x77, + 0x88,0xA3,0x10,0x00,0x00,0x10,0x00,0x44,0x44,0xF4,0xF4, + 0xA3,0x44,0xF4,0xAA,0x44,0x77,0x88,0xFF,0xDF,0xDF, + 0xDD,0xDD,0x00,0x00,0x88,0xA4,0x77,0x88,0x00,0x11, + 0x00,0x00,0x01,0x11,0x00,0x44,0x44,0xFF,0xA4,0x44, + 0xF4,0x4F,0xA3,0x44,0xF4,0xA5,0x44,0x77,0x88, + 0xDF,0xA4,0xDD,0xD0,0x00,0x88,0xA4,0x77,0x88, + 0x10,0x11,0x10,0x00,0x10,0x11,0x10, + 0x44,0x44,0xFF,0x44,0xF4,0x44,0xF4,0x4F,0x4F, + 0x44,0xF4,0xF4,0xFF,0x44,0xF4,0xA3,0x44,0x77, + 0x88,0x7D,0xA5,0xDD,0x00,0xA4,0x88,0x68,0x88, + 0xA7,0x00,0x44,0x44,0xFF,0x44,0xF4,0x4F,0xF4, + 0xA3,0x44,0xFF,0xF4,0xFF,0x44,0xF4,0x4F, + 0x44,0x44,0x77,0x88,0x47,0x44,0x0D,0x0D,0xA3,0xDD, + 0x28,0xA3,0x88,0x86,0x88,0xA7,0x00,0x44,0x4F,0x4F, + 0xAF,0x44,0x47,0xFB,0x44,0xA3,0x00,0x55,0x00, + 0x0D,0x82,0x72,0xA4,0x88,0xA3,0x00,0x80,0x80,0x00, + 0x0A,0xA4,0x07,0x87,0x87,0xA5,0x07,0xD7,0xD7,0xA3,0x07,0x44,0x44, + 0xB4,0xBF,0xA4,0x00,0x55,0x00,0x00,0x88,0x77, + 0xA4,0x88,0x00,0x00,0xB0,0xBB,0x88,0xA5,0x00,0xB0, + 0xBB,0x88,0xA4,0x00,0xB0,0xBB,0xDD,0xA3,0x00, + 0x44,0x44,0x5B,0xBB,0xB0,0xA3,0x00,0x55,0x00, + 0x20,0x28,0x27,0xA4,0x88,0xA3,0x00,0x1B,0x08, + 0xA6,0x00,0xDB,0x88,0xA5,0x00,0xFB,0xDD,0xA3,0x00, + 0x44,0x44,0xB5,0x0B,0xA4,0x00,0x5A,0x05,0xA3,0x42, + 0xA4,0x08,0x75,0x7B,0x71,0x11,0x95,0xA3,0x05, + 0x75,0x7B,0x7D,0xDD,0x98,0x05,0x05,0x75, + 0x7B,0x7F,0xFF,0xDD,0xA3,0x05,0x44,0xF0, + 0xFF,0xA4,0x00,0x5A,0x00,0x00,0x55,0x00,0x55, + 0xA7,0x00,0x11,0x99,0xA6,0x00,0xDD,0x99,0xA5,0x00, + 0xFF,0x99,0xA4,0x00,0xBF,0xFF,0xF0,0x00,0x00, + 0x5A,0xA3,0x00,0x55,0x00,0x55,0xA5,0x00,0xA3,0x44, + 0x99,0xA4,0x00,0xA3,0x88,0x99,0xA3,0x00,0xA3,0x88,0x99, + 0xA5,0x00,0x9F,0x9F,0x00,0x5A,0xA4,0x00,0x05,0x00, + 0x05,0xA5,0x00,0x44,0x79,0x09,0x79,0xA4,0x00, + 0xBB,0x79,0x09,0x79,0xA3,0x00,0xBB,0x79, + 0x09,0x79,0xA5,0x00,0x99,0x09,0x55,0xAC,0x00, + 0x80,0x84,0x77,0x00,0x77,0xA3,0x00,0x80, + 0x8F,0x77,0x00,0x77,0x00,0x00,0x80,0x8F, + 0x77,0x00,0x77,0xA5,0x00,0x99,0x55,0xA0,0x26,0x00, + 0x89,0x80,0xA0,0x25,0x00,0x5A,0xA0,0x26,0x00,0x5A,0xA0,0x27,0x00,0xA1, }; unsigned char patriot_room_rle[]={ 0x28, /* ysize=40 */ 0xA0,0x30,0x88,0xDD,0x8D,0xD8,0x88,0xD8,0x8D, diff --git a/gr-sim/tfv/tfv_defines.h b/gr-sim/tfv/tfv_defines.h index beee7b7c..64026c10 100644 --- a/gr-sim/tfv/tfv_defines.h +++ b/gr-sim/tfv/tfv_defines.h @@ -73,6 +73,7 @@ struct location_type { #define SCATTER_PALM 0x04 #define SCATTER_CACTUS 0x08 #define SCATTER_SPOOL 0x10 +#define SCATTER_JEN_LIZ 0x20 #define ENTRY_NORMAL 0x00 #define ENTRY_EXPLICIT 0x01 diff --git a/gr-sim/tfv/tfv_dialog.h b/gr-sim/tfv/tfv_dialog.h index e5782e85..db9cf3bf 100644 --- a/gr-sim/tfv/tfv_dialog.h +++ b/gr-sim/tfv/tfv_dialog.h @@ -49,6 +49,14 @@ #define DIALOG_STEVE2 33 #define DIALOG_GRABOWSKI 34 +#define DIALOG_LIZBETH 35 +#define DIALOG_BLUME 36 + +#define DIALOG_APPLEBY 37 +#define DIALOG_PADRINO 38 +#define DIALOG_JENNI 39 +#define DIALOG_KATHY 40 + struct dialog_words { char *words; int next; @@ -187,26 +195,44 @@ struct dialog_type dialog[100]={ .statement[0].words="557-0868 Utopia BBS is really great!", .statement[0].next=0, }, -#if 0 - AP CALCULUS, TEAM I-1 - PADRINO - I MET SOMEONE AT THE DOG SHOW - SHE WAS HOLDING MY LEFT ARM - JENNI - NEED TO GO TO ART ROOM - JEN JENNY JENNO AND JENN WAITING - MR. APPLEBY ROAR - KATHY - LOW D-HIGH LESS HIGH D-LOW - DRAW A LINE AND DOWN BELOW - DENOMINATOR SQUARED MUST GO - LIZBETH - BLUME - VINCE CON PATILLAS -#endif + // AP-CALCULUS + [DIALOG_APPLEBY]= { + .statement[0].words="ROAR!", + .statement[0].next=0, + }, + [DIALOG_PADRINO]= { + .statement[0].words="I MET SOMEONE AT THE DOG SHOW", + .statement[0].next=0, + .statement[1].words="SHE WAS HOLDING MY LEFT ARM", + .statement[1].next=0, + }, + [DIALOG_JENNI]= { + .statement[0].words="Need to go to art room", + .statement[0].next=0, + .statement[1].words="Jen, Jenny, Jenno and Jenn waiting", + .statement[1].next=0, + + }, + [DIALOG_KATHY]= { + .statement[0].words="LOW D-HIGH LESS HIGH D-LOW", + .statement[0].next=0, + .statement[1].words="DRAW A LINE AND DOWN BELOW", + .statement[1].next=0, + .statement[2].words="DENOMINATOR SQUARED MUST GO", + .statement[2].next=0, + }, + // HALLWAY + [DIALOG_LIZBETH]={ + .statement[0].words="...", + .statement[0].next=0, + }, + [DIALOG_BLUME]={ + .statement[0].words="Deater con patillas", + .statement[0].next=0, + }, //DEUTSCH [DIALOG_NIRE]= { - .statement[0].words="Vince, what are you doing!", + .statement[0].words="What are you doing?", .statement[0].next=0, // Sue you? }, diff --git a/gr-sim/tfv/tfv_mapinfo.h b/gr-sim/tfv/tfv_mapinfo.h index 1426c356..4ee97f67 100644 --- a/gr-sim/tfv/tfv_mapinfo.h +++ b/gr-sim/tfv/tfv_mapinfo.h @@ -563,10 +563,11 @@ struct map_info_type map_info[34] = { .e_exit=NOEXIT, .w_exit=JOHN_CARROLL, .miny=4, - .scatter=SCATTER_NONE, + .scatter=SCATTER_JEN_LIZ, + .scatter_x=8, .scatter_y=18, .scatter_cutoff=22, .entry_type=ENTRY_CENTER, .entry_x=0, .entry_y=0, .background_image=jc_hallway_rle, - .num_locations=3, + .num_locations=5, .location[0] = { .name="Video Homeroom", .x0 = 2, .x1 = 9, @@ -588,6 +589,20 @@ struct map_info_type map_info[34] = { .destination=DEUTSCH, .type=LOCATION_PLACE, }, + .location[3] = { + .name="Blume", + .x0 = 4, .x1 = 10, + .y0 = 23, .y1 = 35, + .destination=DIALOG_BLUME, + .type=LOCATION_CONVERSATION, + }, + .location[4] = { + .name="Lizbeth", + .x0 = 12, .x1 = 16, + .y0 = 23, .y1 = 35, + .destination=DIALOG_LIZBETH, + .type=LOCATION_CONVERSATION, + }, }, [JC_DOWNSTAIRS]={ // 25: JC_DOWNSTAIRS .name="JC Downstairs", @@ -748,6 +763,35 @@ struct map_info_type map_info[34] = { .scatter=SCATTER_NONE, .entry_type=ENTRY_CENTER, .entry_x=0, .entry_y=0, .background_image=ap_calculus_rle, + .num_locations=4, + .location[0] = { + .name="Appleby", + .x0 = 0, .x1 = 6, + .y0 = 30, .y1 = 36, + .destination=DIALOG_APPLEBY, + .type=LOCATION_CONVERSATION, + }, + .location[1] = { + .name="Padrino", + .x0 = 15, .x1 = 22, + .y0 = 30, .y1 = 36, + .destination=DIALOG_PADRINO, + .type=LOCATION_CONVERSATION, + }, + .location[2] = { + .name="Jenni", + .x0 = 31, .x1 = 37, + .y0 = 31, .y1 = 36, + .destination=DIALOG_JENNI, + .type=LOCATION_CONVERSATION, + }, + .location[3] = { + .name="Kathy", + .x0 = 24, .x1 = 29, + .y0 = 30, .y1 = 36, + .destination=DIALOG_KATHY, + .type=LOCATION_CONVERSATION, + }, }, [MATH_OFFICE]={ // 31: MATH_OFFICE .name="Math Office", diff --git a/gr-sim/tfv/tfv_sprites.c b/gr-sim/tfv/tfv_sprites.c index 5e36d27f..ff8fbd8f 100644 --- a/gr-sim/tfv/tfv_sprites.c +++ b/gr-sim/tfv/tfv_sprites.c @@ -327,9 +327,9 @@ unsigned char metrocat[]={ -/***********************/ -/* Background Features */ -/***********************/ +/****************************************/ +/* Background Features / Ground Scatter */ +/****************************************/ /* Palm Tree */ @@ -410,6 +410,17 @@ unsigned char spool[]={ 0xd0,0xdd,0x88,0x88,0x88,0x88,0x88,0x88,0xdd,0xd0, 0x00,0x00,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x00,0x00, }; +/* Jen and Lizbeth */ +unsigned char jen_liz[]={ + 0x08,0x07, + 0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00, + 0x88,0xb8,0x00,0x00,0xb0,0xbb,0x88,0x08, + 0x88,0xbb,0x0b,0x00,0x00,0xfb,0x88,0x08, + 0x08,0xdd,0xd0,0xb0,0x00,0xff,0x08,0x08, + 0x00,0x8d,0x00,0x00,0x00,0x8b,0x00,0x00, + 0x08,0xb8,0x08,0x00,0x08,0xb8,0x08,0x00, + 0x00,0x8f,0x80,0x00,0x80,0x8f,0x00,0x00, +}; diff --git a/gr-sim/tfv/tfv_sprites.h b/gr-sim/tfv/tfv_sprites.h index 40e76381..fb4b5ca1 100644 --- a/gr-sim/tfv/tfv_sprites.h +++ b/gr-sim/tfv/tfv_sprites.h @@ -46,6 +46,7 @@ extern unsigned char cactus[]; extern unsigned char mountain[]; extern unsigned char lightning[]; extern unsigned char spool[]; +extern unsigned char jen_liz[]; extern unsigned char numbers[10][11]; diff --git a/gr-sim/tfv/tfv_worldmap.c b/gr-sim/tfv/tfv_worldmap.c index d86d7b7b..06604a17 100644 --- a/gr-sim/tfv/tfv_worldmap.c +++ b/gr-sim/tfv/tfv_worldmap.c @@ -383,6 +383,12 @@ done_entry: map_info[map_location].scatter_y); } + if (map_info[map_location].scatter&SCATTER_JEN_LIZ) { + grsim_put_sprite(jen_liz, + map_info[map_location].scatter_x, + map_info[map_location].scatter_y); + } + } #if 0 @@ -463,6 +469,12 @@ done_entry: map_info[map_location].scatter_y); } + if (map_info[map_location].scatter&SCATTER_JEN_LIZ) { + grsim_put_sprite(jen_liz, + map_info[map_location].scatter_x, + map_info[map_location].scatter_y); + } + } diff --git a/tfv/art/ap_calculus.png b/tfv/art/ap_calculus.png index 2c6f48c6..c381b73f 100644 Binary files a/tfv/art/ap_calculus.png and b/tfv/art/ap_calculus.png differ diff --git a/tfv/art/sprites.png b/tfv/art/sprites.png index eb2830d8..3a1fbd22 100644 Binary files a/tfv/art/sprites.png and b/tfv/art/sprites.png differ