X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fmenu.c;h=7d5f374ddff2e0c791c5c5327973ee9f6c997795;hb=d070670f189ec66ed2ac6b45834a192c004bc92f;hp=ff6932df60e4741b38dab3450fb49940762fe20c;hpb=40ae9f64e508768e12a2f58b49919a99db160c08;p=flatwaifu.git diff --git a/src/menu.c b/src/menu.c index ff6932d..7d5f374 100644 --- a/src/menu.c +++ b/src/menu.c @@ -26,7 +26,6 @@ #include #include "files.h" #include "memory.h" -#include "vga.h" #include "error.h" #include "keyb.h" #include "sound.h" @@ -35,6 +34,7 @@ #include "switch.h" #include "menu.h" #include "misc.h" +#include "render.h" #include #include @@ -47,22 +47,22 @@ enum{HIT100,ARMOR,JUMP,WPNS,IMMORTAL,SPEED,OPEN,EXIT}; extern int PL_JUMP,PL_RUN; extern byte _warp,cheat,p_fly; -extern byte g_music[8]; +extern char g_music[8]; extern byte savname[7][24],savok[7]; void load_game(int); static byte panim[]= "BBDDAACCDDAABBDDAACCDDAABBDDAACCDDAAEEEEEFEFEFEFEFEFEFEFEFEFEEEEE"; -static byte *panimp=panim; +byte *panimp=panim; -#define PCOLORN 10 byte pcolortab[PCOLORN]={ 0x18,0x20,0x40,0x58,0x60,0x70,0x80,0xB0,0xC0,0xD0 }; int p1color=5,p2color=4; -static byte ibuf[24],input=0; +char ibuf[24]; +byte input=0; static int icur; enum{MENU,MSG}; @@ -114,7 +114,7 @@ static byte main_typ[]={ SAVE,SAVE,SAVE,SAVE,SAVE,SAVE,SAVE }; -static menu_t main_mnu={ +menu_t main_mnu={ MENU,5,0,80,"MENU",main_txt,main_typ },opt_mnu={ MENU,5,0,75,"OPTIONS",opt_txt,opt_typ @@ -144,19 +144,19 @@ static menu_t main_mnu={ static menu_t *qmsg[3]={&quit1_msg,&quit2_msg,&quit3_msg}; -static menu_t *mnu=NULL; +menu_t *mnu=NULL; +byte gm_redraw=0; -static byte gm_redraw=0; -static int gm_tm=0; short lastkey=0; static void *csnd1,*csnd2,*msnd1,*msnd2,*msnd3,*msnd4,*msnd5,*msnd6; static int movsndt=0; -static vgaimg *msklh[2],*mbarl,*mbarm,*mbarr,*mbaro,*mslotl,*mslotm,*mslotr; static byte cbuf[32]; static snd_t *voc=NULL; static int voc_ch=0; +extern byte shot_vga; // config.c + void GMV_stop(void) { if(voc) { if(voc_ch) {S_stop(voc_ch);voc_ch=0;} @@ -239,8 +239,7 @@ void GM_command(int c) { case CANCEL: GM_set(NULL);break; case INTERP: - fullscreen=!fullscreen; - V_toggle(); + R_toggle_fullscreen(); GM_set(mnu); break; case MUSIC: @@ -331,8 +330,12 @@ void GM_command(int c) { S_volumemusic(mus_vol-8);break; case MVOLP: S_volumemusic(mus_vol+8);break; - case GAMMAM: setgamma(gammaa-1);break; - case GAMMAP: setgamma(gammaa+1);break; + case GAMMAM: + R_setgamma(R_getgamma() - 1); + break; + case GAMMAP: + R_setgamma(R_getgamma() + 1); + break; } } @@ -414,9 +417,6 @@ byte get_keychar(int keysym) return 0; } -extern vgapal main_pal,std_pal; -extern byte shot_vga; - static void shot(void) { static int num=1; char fn[100];//... @@ -573,69 +573,5 @@ void GM_init(void) { msnd4=Z_getsnd("SWTCHX"); msnd5=Z_getsnd("SUDI"); msnd6=Z_getsnd("TUDI"); - msklh[0]=M_lock(F_getresid("M_SKULL1")); -// msklh[0]=load_vga("vga\\spr.vga","M_SKULL1"); - msklh[1]=M_lock(F_getresid("M_SKULL2")); - mbarl=M_lock(F_getresid("M_THERML")); - mbarm=M_lock(F_getresid("M_THERMM")); - mbarr=M_lock(F_getresid("M_THERMR")); - mbaro=M_lock(F_getresid("M_THERMO")); - mslotl=M_lock(F_getresid("M_LSLEFT")); - mslotm=M_lock(F_getresid("M_LSCNTR")); - mslotr=M_lock(F_getresid("M_LSRGHT")); K_setkeyproc(G_keyf); } - -int GM_draw(void) { - int i,j,k,y; - - ++gm_tm; - V_setrect(0,SCRW,0,SCRH);//V_setrect(0,320,0,200); - if(!mnu && !gm_redraw) return 0; - gm_redraw=0; - if(!mnu) return 1; - if(mnu->type==MENU) { - y=(200-mnu->n*16-20)/2; - Z_gotoxy(mnu->x,y-10);Z_printbf(mnu->ttl); - for(i=0;in;++i) { - if(mnu->t[i]==LOAD || mnu->t[i]==SAVE) { - V_spr(mnu->x,j=y+i*16+29,mslotl); - for(k=8;k<184;k+=8) - V_spr(mnu->x+k,j,mslotm); - V_spr(mnu->x+184,j,mslotr); - Z_gotoxy(mnu->x+4,j-8); - if(input && i==save_mnu.cur) Z_printsf("%s_",ibuf); - else Z_printsf("%s",savname[i]); - }else{ - Z_gotoxy(mnu->x+((mnu->t[i]>=SVOLM)?((mnu->t[i]>=PL1CM)?50:152):0),y+i*16+20); - Z_printbf(mnu->m[i]); - } - if(mnu->t[i]==MUSIC) { - Z_printbf(" '%.8s'",g_music); - }else if(mnu->t[i]==INTERP) { - Z_printbf("%s",fullscreen?"ON":"OFF"); - }else if(mnu->t[i]>=PL1CM) { - V_manspr(mnu->x+((mnu->t[i]==PL1CM)?15:35),y+i*16+20+14, - PL_getspr(*panimp,0), - pcolortab[(mnu->t[i]==PL1CM)?p1color:p2color] - ); - }else if(mnu->t[i]>=SVOLM) { - V_spr(mnu->x,j=y+i*16+20,mbarl); - for(k=8;k<144;k+=8) - V_spr(mnu->x+k,j,mbarm); - V_spr(mnu->x+144,j,mbarr); - switch(mnu->t[i]) { - case SVOLM: k=snd_vol;break; - case MVOLM: k=mus_vol;break; - case GAMMAM: k=gammaa<<5;break; - } - V_spr(mnu->x+8+k,j,mbaro); - } - } - V_spr(mnu->x-25,y+mnu->cur*16+20-8,msklh[(gm_tm/6)&1]); - }else{ - Z_gotoxy((320-strlen(mnu->ttl)*7)/2,90);Z_printsf(mnu->ttl); - Z_gotoxy(136,100);Z_printsf("(Y/N)"); - } - return 1; -}