mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-27 07:30:12 +00:00
tfv: add more animations to ending
This commit is contained in:
parent
4e3c5a92fb
commit
00d6bbd5f5
@ -8,20 +8,26 @@ Known bugs:
|
||||
Soon:
|
||||
|
||||
+ Battle Sequence
|
||||
--> Die if HP hits 0. On ground sprite
|
||||
--> Sound effects
|
||||
--> enemy uses magic
|
||||
--> Enemy more likely to spawn on appropriate territory
|
||||
--> green background on anti-damage printing
|
||||
--> pick up vortex cannon from someone
|
||||
--> Disable vortex cannon until you get it from Ken
|
||||
--> Balance the battles
|
||||
--> Do something with experience/leveling up
|
||||
|
||||
+ Ending:
|
||||
--> Boss battle w susie
|
||||
--> Puzzle. Warn if not have all parts
|
||||
--> Erase door once solve puzzle
|
||||
--> Light goes on when solve puzzle? Draw LED light going to sensor
|
||||
|
||||
+ Worldmap
|
||||
--> Make location inverse text to offset it from dialog?
|
||||
--> Make actions inverse to highlight
|
||||
--> Start with 0 money
|
||||
--> Face proper way when entering/leaving certain places (fountain?)
|
||||
--> Play with female hero
|
||||
|
||||
+ Game over screen
|
||||
--> Pause 2 seconds
|
||||
@ -30,9 +36,8 @@ Soon:
|
||||
+ Enable getting back on spaceship (with better animation)
|
||||
+ Better collision detection on Spaceship land
|
||||
+ Better collision detection/walk on+off in College Park
|
||||
+ Working conversation
|
||||
+ Riding animals
|
||||
+ End sequence
|
||||
|
||||
|
||||
+ Make transparent color grey2 rather than black
|
||||
|
||||
|
@ -17,23 +17,110 @@
|
||||
|
||||
int do_ending(void) {
|
||||
|
||||
int i;
|
||||
int i,ch;
|
||||
int saved_drawpage;
|
||||
|
||||
boss_battle();
|
||||
|
||||
/*********************************/
|
||||
/* Do the puzzle */
|
||||
/*********************************/
|
||||
grsim_unrle(puzzle_rle,0xc00);
|
||||
gr_copy_to_current(0xc00);
|
||||
|
||||
saved_drawpage=ram[DRAW_PAGE];
|
||||
|
||||
grsim_unrle(harfco_rle,0xc00);
|
||||
|
||||
ram[DRAW_PAGE]=PAGE0;
|
||||
clear_bottom();
|
||||
ram[DRAW_PAGE]=PAGE1;
|
||||
clear_bottom();
|
||||
|
||||
ram[DRAW_PAGE]=saved_drawpage;
|
||||
|
||||
ram[CH]=0;
|
||||
ram[CV]=20;
|
||||
move_and_print("TO UNLOCK THE DOOR THE LED MUST HAVE:");
|
||||
ram[CH]=0;
|
||||
ram[CV]=21;
|
||||
move_and_print("* 660 NANOMETER LIGHT");
|
||||
ram[CH]=0;
|
||||
ram[CV]=22;
|
||||
move_and_print("* 9 MILIAMPS OF CURRENT");
|
||||
|
||||
page_flip();
|
||||
|
||||
while(1) {
|
||||
ch=grsim_input();
|
||||
if (ch!=0) break;
|
||||
}
|
||||
|
||||
/*********************************/
|
||||
/* Animate the boss arrival */
|
||||
/*********************************/
|
||||
|
||||
|
||||
saved_drawpage=ram[DRAW_PAGE];
|
||||
ram[DRAW_PAGE]=PAGE0;
|
||||
clear_bottom();
|
||||
ram[DRAW_PAGE]=PAGE1;
|
||||
clear_bottom();
|
||||
ram[DRAW_PAGE]=saved_drawpage;
|
||||
|
||||
grsim_unrle(jc_office_rle,0xc00);
|
||||
|
||||
for(i=0;i<20;i++) {
|
||||
|
||||
gr_copy_to_current(0xc00);
|
||||
|
||||
grsim_put_sprite(roboknee1,2,i);
|
||||
|
||||
grsim_put_sprite(tfv_stand_left,12,24);
|
||||
|
||||
ram[CH]=0;
|
||||
ram[CV]=20;
|
||||
move_and_print("NOT SO FAST");
|
||||
|
||||
page_flip();
|
||||
usleep(100000);
|
||||
}
|
||||
|
||||
|
||||
ram[CH]=0;
|
||||
ram[CV]=21;
|
||||
move_and_print(" SINCE WE HAVE NO ELECTRICITY");
|
||||
ram[CH]=0;
|
||||
ram[CV]=22;
|
||||
move_and_print(" WE HAVE NO LIGHTS");
|
||||
|
||||
page_flip();
|
||||
|
||||
while(1) {
|
||||
ch=grsim_input();
|
||||
if (ch!=0) break;
|
||||
}
|
||||
|
||||
|
||||
/*********************************/
|
||||
/* Do the boss battle */
|
||||
/*********************************/
|
||||
|
||||
boss_battle();
|
||||
|
||||
|
||||
/*********************************/
|
||||
/* Draw the sky beam */
|
||||
/*********************************/
|
||||
|
||||
|
||||
|
||||
grsim_unrle(harfco_rle,0xc00);
|
||||
gr_copy_to_current(0xc00);
|
||||
|
||||
saved_drawpage=ram[DRAW_PAGE];
|
||||
ram[DRAW_PAGE]=PAGE0;
|
||||
clear_bottom();
|
||||
ram[DRAW_PAGE]=PAGE1;
|
||||
clear_bottom();
|
||||
ram[DRAW_PAGE]=saved_drawpage;
|
||||
|
||||
|
||||
page_flip();
|
||||
|
||||
for(i=0;i<10;i++) {
|
||||
@ -69,6 +156,13 @@ int do_ending(void) {
|
||||
|
||||
usleep(3400000);
|
||||
|
||||
/* clear keyboard buffer */
|
||||
while(grsim_input()!=0) ;
|
||||
|
||||
/*********************************/
|
||||
/* Run the credits */
|
||||
/*********************************/
|
||||
|
||||
credits();
|
||||
|
||||
return 0;
|
||||
|
@ -653,7 +653,7 @@ struct map_info_type map_info[34] = {
|
||||
.location[0] = {
|
||||
.name="Door Lock",
|
||||
.x0 = 15, .x1 = 30,
|
||||
.y0 = 28, .y1 = 36,
|
||||
.y0 = 28, .y1 = 38,
|
||||
.type = LOCATION_PUZZLE,
|
||||
},
|
||||
|
||||
|
@ -371,6 +371,23 @@ unsigned char evil_penguin[]={
|
||||
0x00,0x00,0x00,0xcc,0xc0,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
|
||||
unsigned char roboknee1[]={
|
||||
0x9,0xb,
|
||||
0x55,0x55,0xb5,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x55,0xbb,0xbb,0x0b,0x00,0x50,0xd5,0x05,0x50,
|
||||
0x05,0xb5,0x0b,0x00,0x00,0x55,0xd0,0x0d,0x55,
|
||||
0x88,0x88,0x88,0x00,0x00,0x50,0x05,0x05,0x00,
|
||||
0x88,0x88,0x88,0x08,0x0b,0x05,0x00,0x00,0x00,
|
||||
0x88,0x88,0x88,0x80,0xb0,0x00,0x00,0x00,0x00,
|
||||
0x58,0x78,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x55,0xe1,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x55,0x7e,0x4e,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xf5,0x07,0xf7,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/* Summons */
|
||||
unsigned char metrocat[]={
|
||||
|
@ -43,6 +43,10 @@ extern unsigned char procrastinon[];
|
||||
extern unsigned char ice_fish[];
|
||||
extern unsigned char evil_penguin[];
|
||||
|
||||
/* boss */
|
||||
extern unsigned char roboknee1[];
|
||||
extern unsigned char roboknee2[];
|
||||
|
||||
/* summons */
|
||||
extern unsigned char metrocat[];
|
||||
extern unsigned char vortex_cannon[];
|
||||
|
Loading…
x
Reference in New Issue
Block a user