DEADSOFTWARE

headers describes that c-files implements
[flatwaifu.git] / src / menu.c
index aca7cd43d0c407057c0d632d4ebd93ad1e788c1b..bd225a4acace832a199389b15cec09d546973d9c 100644 (file)
@@ -26,7 +26,6 @@
 #include <stdlib.h>
 #include "files.h"
 #include "memory.h"
-#include "vga.h"
 #include "error.h"
 #include "keyb.h"
 #include "sound.h"
 #include "switch.h"
 #include "menu.h"
 #include "misc.h"
+#include "render.h"
+#include "config.h"
+#include "game.h"
+#include "player.h"
+#include "sound.h"
+#include "music.h"
 
 #include <SDL.h>
 #include <sys/stat.h>
-extern SDL_Surface *screen;
 
 #define QSND_NUM 14
 
 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 byte savname[7][24],savok[7];
-void load_game(int);
-
-static byte panim[]=
-  "BBDDAACCDDAABBDDAACCDDAABBDDAACCDDAAEEEEEFEFEFEFEFEFEFEFEFEFEEEEE";
-static byte *panimp=panim;
+static byte panim[] = "BBDDAACCDDAABBDDAACCDDAABBDDAACCDDAAEEEEEFEFEFEFEFEFEFEFEFEFEEEEE";
+byte *panimp = panim;
+byte _warp;
 
-#define PCOLORN 10
-byte pcolortab[PCOLORN]={
-  0x18,0x20,0x40,0x58,0x60,0x70,0x80,0xB0,0xC0,0xD0
+byte pcolortab[PCOLORN] = {
+  0x18, 0x20, 0x40, 0x58, 0x60, 0x70, 0x80, 0xB0, 0xC0, 0xD0
 };
-int p1color=5,p2color=4;
+int p1color = 5;
+int p2color = 4;
 
-static byte ibuf[24],input=0;
+char ibuf[24];
+byte input=0;
 static int icur;
 
 enum{MENU,MSG};
@@ -114,7 +111,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,27 +141,25 @@ 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;
 
-void GMV_stop(void) {
+static void GMV_stop (void) {
   if(voc) {
     if(voc_ch) {S_stop(voc_ch);voc_ch=0;}
     free(voc);voc=NULL;
   }
 }
 
-void GMV_say(char *nm) {
+void GMV_say (char *nm) {
   int r,len;
   snd_t *p;
   byte *d;
@@ -180,7 +175,17 @@ void GMV_say(char *nm) {
   voc_ch=S_play(voc,-1,1024,255);
 }
 
-void G_code(void) {
+static void GM_set (menu_t *m) {
+  mnu=m;gm_redraw=1;
+  if(g_st==GS_GAME) {
+       //V_setrect(0,SCRW,0,SCRH);V_clr(0,SCRW,0,SCRH,0);//V_setrect(0,320,0,200);V_clr(0,320,0,200,0);
+       //if(_2pl) {V_setrect(SCRW-120,120,0,SCRH);w_o=0;Z_clrst();w_o=SCRH/2;Z_clrst();}//if(_2pl) {V_setrect(200,120,0,200);w_o=0;Z_clrst();w_o=100;Z_clrst();}
+       //else {V_setrect(SCRW-120,120,0,SCRH);w_o=0;Z_clrst();}//else {V_setrect(200,120,50,100);w_o=50;Z_clrst();}
+       //pl1.drawst=pl2.drawst=0xFF;V_setrect(0,SCRW,0,SCRH);//V_setrect(0,320,0,200);
+  }
+}
+
+void G_code (void) {
   void *s;
   s=csnd2;
   if(memcmp(cbuf+32-5,"IDDQD",5)==0) {
@@ -222,25 +227,12 @@ void G_code(void) {
   Z_sound(s,128);
 }
 
-void GM_set(menu_t *m) {
-  mnu=m;gm_redraw=1;
-  if(g_st==GS_GAME) {
-       //V_setrect(0,SCRW,0,SCRH);V_clr(0,SCRW,0,SCRH,0);//V_setrect(0,320,0,200);V_clr(0,320,0,200,0);
-       //if(_2pl) {V_setrect(SCRW-120,120,0,SCRH);w_o=0;Z_clrst();w_o=SCRH/2;Z_clrst();}//if(_2pl) {V_setrect(200,120,0,200);w_o=0;Z_clrst();w_o=100;Z_clrst();}
-       //else {V_setrect(SCRW-120,120,0,SCRH);w_o=0;Z_clrst();}//else {V_setrect(200,120,50,100);w_o=50;Z_clrst();}
-       //pl1.drawst=pl2.drawst=0xFF;V_setrect(0,SCRW,0,SCRH);//V_setrect(0,320,0,200);
-  }
-}
-
-void setgamma(int);
-
-void GM_command(int c) {
+static void GM_command (int c) {
   switch(c) {
     case CANCEL:
       GM_set(NULL);break;
     case INTERP:
-      fullscreen=!fullscreen;
-      V_toggle();
+      R_toggle_fullscreen();
       GM_set(mnu);
       break;
     case MUSIC:
@@ -331,33 +323,15 @@ 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;
   }
 }
 
-/*
-byte keychar[2][128]={{
-  0,0,'1','2','3','4','5','6','7','8','9','0','-','=',0,0,
-  'Q','W','E','R','T','Y','U','I','O','P','[',']','\r',0,'A','S',
-  'D','F','G','H','J','K','L',';','\'',0,0,'\\','Z','X','C','V',
-  'B','N','M',',','.','/',0,'*',0,' ',0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,'-',0,0,0,'+',0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-},{
-  0,0,'!','\"','#','$','%',':','&','*','(',')','_','+',0,0,
-  'x','x','x','x','x','x','x','x','x','x','x','x','\r',0,'x','x',
-  'x','x','x','x','x','x','x','x','x',0,0,0,'x','x','x','x',
-  'x','x','x','x','x','?',0,'*',0,' ',0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,'-',0,0,0,'+',0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-}};
-*/
-
 struct {
     int keysym;
     byte ch;
@@ -404,8 +378,7 @@ struct {
     {0}
 };
 
-byte get_keychar(int keysym)
-{
+static byte get_keychar (int keysym) {
     int i = 0;
     while (keychar[i].keysym) {
         if (keychar[i].keysym == keysym) return keychar[i].ch;
@@ -414,10 +387,8 @@ byte get_keychar(int keysym)
     return 0;
 }
 
-extern vgapal main_pal,std_pal;
-extern byte shot_vga;
-
-static void shot(void) {
+static void shot (void) {
+/*
   static int num=1;
   char fn[100];//...
 #ifndef WIN32
@@ -431,9 +402,10 @@ static void shot(void) {
 #endif
   SDL_SaveBMP(screen, fn);
   ++num;
+*/
 }
 
-int GM_act(void) {
+int GM_act (void) {
   byte c;
 
   if(mnu==&plcolor_mnu) {
@@ -540,7 +512,7 @@ int GM_act(void) {
   return((mnu)?1:0);
 }
 
-void G_keyf(int k, int press) {
+static void G_keyf (int k, int press) {
   int i;
 
   lastkey=k;
@@ -550,7 +522,7 @@ void G_keyf(int k, int press) {
   }
 }
 
-void GM_init(void) {
+void GM_init (void) {
 #ifndef DEMO
   int i;
   static char nm[QSND_NUM][6]={
@@ -573,69 +545,5 @@ void GM_init(void) {
   msnd4=Z_getsnd("SWTCHX");
   msnd5=Z_getsnd("SUDI");
   msnd6=Z_getsnd("TUDI");
-  msklh[0]=V_loadvgaimg("M_SKULL1");
-//  msklh[0]=load_vga("vga\\spr.vga","M_SKULL1");
-  msklh[1]=V_loadvgaimg("M_SKULL2");
-  mbarl=V_loadvgaimg("M_THERML");
-  mbarm=V_loadvgaimg("M_THERMM");
-  mbarr=V_loadvgaimg("M_THERMR");
-  mbaro=V_loadvgaimg("M_THERMO");
-  mslotl=V_loadvgaimg("M_LSLEFT");
-  mslotm=V_loadvgaimg("M_LSCNTR");
-  mslotr=V_loadvgaimg("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;i<mnu->n;++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;
-}