void getinitials(void) { Sint4 k,i; newframe(); outtext("ENTER YOUR",100,70,3); outtext(" INITIALS",100,90,3); outtext("_ _ _",128,130,3); strcpy(scoreinit[0],"..."); killsound(); for (i=0;i<3;i++) { k=0; while (k==0) { k=getinitial(i*24+128,130); if (k==8 || k==127) { if (i>0) i--; k=0; } } if (k!=0) { gwrite(i*24+128,130,k,3); scoreinit[0][i]=k; } } for (i=0;i<20;i++) flashywait(15); setupsound(); gclear(); gpal(0); ginten(0); setretr(true); recputinit(scoreinit[0]); }
void erasebonus(void) { if (bonusvisible) { bonusvisible=FALSE; erasespr(FIRSTBONUS); } ginten(0); }
void initbonusmode(void) { int i; bonusmode=TRUE; erasebonus(); ginten(1); bonustimeleft=250-levof10()*20; startbonustimeleft=20; for (i=0;i<diggers;i++) digdat[i].msc=1; }
void drawstatics(void) { int16_t x,y; for (x=0;x<MWIDTH;x++) for (y=0;y<MHEIGHT;y++) if (curplayer==0) field[y*MWIDTH+x]=field1[y*MWIDTH+x]; else field[y*MWIDTH+x]=field2[y*MWIDTH+x]; setretr(true); gpal(0); ginten(0); drawbackg(levplan()); drawfield(); }
void getinitials(void) { Sint4 k,i; #ifdef _WINDOWS pause_windows_sound_playback(); #endif newframe(); outtext("ENTER YOUR",100,70,3); outtext(" INITIALS",100,90,3); outtext("_ _ _",128,130,3); strcpy(scoreinit[0],"..."); killsound(); for (i=0;i<3;i++) { k=0; while (k==0) { k=getinitial(i*24+128,130); if (k==8 || k==127) { if (i>0) i--; k=0; } } if (k!=0) { gwrite(i*24+128,130,k,3); scoreinit[0][i]=k; } } for (i=0;i<20;i++) #ifdef _WINDOWS flashywait(2); #else flashywait(15); #endif setupsound(); gclear(); gpal(0); ginten(0); setretr(TRUE); recputinit(scoreinit[0]); #ifdef _WINDOWS resume_windows_sound_playback(); #endif }
void endbonusmode(void) { bonusmode=FALSE; ginten(0); }
void dodigger(void) { int n; newframe(); if (gauntlet) { drawlives(); if (cgtime<ftime) timeout=TRUE; cgtime-=ftime; } for (n=curplayer;n<diggers+curplayer;n++) { if (digdat[n].expsn!=0) drawexplosion(n); else updatefire(n); if (digvisible) if (digdat[n].alive) if (digdat[n].bagtime!=0) { drawdig(n,digdat[n].mdir,digdat[n].x,digdat[n].y, digdat[n].notfiring && digdat[n].rechargetime==0); incpenalty(); digdat[n].bagtime--; } else updatedigger(n); else diggerdie(n); if (digdat[n].emocttime>0) digdat[n].emocttime--; } if (bonusmode && isalive()) { if (bonustimeleft!=0) { bonustimeleft--; if (startbonustimeleft!=0 || bonustimeleft<20) { startbonustimeleft--; if (bonustimeleft&1) { ginten(0); soundbonus(); } else { ginten(1); soundbonus(); } if (startbonustimeleft==0) { music(0); soundbonusoff(); ginten(1); } } } else { endbonusmode(); soundbonusoff(); music(1); } } if (bonusmode && !isalive()) { endbonusmode(); soundbonusoff(); music(1); } }