]> 4ch.mooo.com Git - 16.git/blobdiff - 16/WOLFSRC/wl_menu.h
got 8086 port of wolf3d to work and sod to work
[16.git] / 16 / WOLFSRC / wl_menu.h
diff --git a/16/WOLFSRC/wl_menu.h b/16/WOLFSRC/wl_menu.h
new file mode 100755 (executable)
index 0000000..dc03400
--- /dev/null
@@ -0,0 +1,234 @@
+//\r
+// WL_MENU.H\r
+//\r
+#ifdef SPEAR\r
+\r
+#define BORDCOLOR      0x99\r
+#define BORD2COLOR     0x93\r
+#define DEACTIVE       0x9b\r
+#define BKGDCOLOR      0x9d\r
+//#define STRIPE               0x9c\r
+\r
+#define MenuFadeOut()  VL_FadeOut(0,255,0,0,51,10)\r
+\r
+#else\r
+\r
+#define BORDCOLOR      0x29\r
+#define BORD2COLOR     0x23\r
+#define DEACTIVE       0x2b\r
+#define BKGDCOLOR      0x2d\r
+#define STRIPE         0x2c\r
+\r
+#define MenuFadeOut()  VL_FadeOut(0,255,43,0,0,10)\r
+\r
+#endif\r
+\r
+#define READCOLOR      0x4a\r
+#define READHCOLOR     0x47\r
+#define VIEWCOLOR      0x7f\r
+#define TEXTCOLOR      0x17\r
+#define HIGHLIGHT      0x13\r
+#define MenuFadeIn()   VL_FadeIn(0,255,&gamepal,10)\r
+\r
+\r
+#define MENUSONG       WONDERIN_MUS\r
+\r
+#ifndef SPEAR\r
+#define INTROSONG      NAZI_NOR_MUS\r
+#else\r
+#define INTROSONG      XTOWER2_MUS\r
+#endif\r
+\r
+#define SENSITIVE      60\r
+#define CENTER         SENSITIVE*2\r
+\r
+#define MENU_X 76\r
+#define MENU_Y 55\r
+#define MENU_W 178\r
+#ifndef SPEAR\r
+#define MENU_H 13*10+6\r
+#else\r
+#define MENU_H 13*9+6\r
+#endif\r
+\r
+#define SM_X   48\r
+#define SM_W   250\r
+\r
+#define SM_Y1  20\r
+#define SM_H1  4*13-7\r
+#define SM_Y2  SM_Y1+5*13\r
+#define SM_H2  4*13-7\r
+#define SM_Y3  SM_Y2+5*13\r
+#define SM_H3  3*13-7\r
+\r
+#define CTL_X  24\r
+#define CTL_Y  70\r
+#define CTL_W  284\r
+#define CTL_H  13*7-7\r
+\r
+#define LSM_X  85\r
+#define LSM_Y  55\r
+#define LSM_W  175\r
+#define LSM_H  10*13+10\r
+\r
+#define NM_X   50\r
+#define NM_Y   100\r
+#define NM_W   225\r
+#define NM_H   13*4+15\r
+\r
+#define NE_X   10\r
+#define NE_Y   23\r
+#define NE_W   320-NE_X*2\r
+#define NE_H   200-NE_Y*2\r
+\r
+#define CST_X          20\r
+#define CST_Y          48\r
+#define CST_START      60\r
+#define CST_SPC        60\r
+\r
+\r
+//\r
+// TYPEDEFS\r
+//\r
+typedef struct {\r
+               int x,y,amount,curpos,indent;\r
+               } CP_iteminfo;\r
+\r
+typedef struct {\r
+               int active;\r
+               char string[36];\r
+               void (* routine)(int temp1);\r
+               } CP_itemtype;\r
+\r
+typedef struct {\r
+               int allowed[4];\r
+               } CustomCtrls;\r
+\r
+extern CP_itemtype far MainMenu[],far NewEMenu[];\r
+extern CP_iteminfo MainItems;\r
+\r
+//\r
+// FUNCTION PROTOTYPES\r
+//\r
+void SetupControlPanel(void);\r
+void CleanupControlPanel(void);\r
+\r
+void DrawMenu(CP_iteminfo *item_i,CP_itemtype far *items);\r
+int  HandleMenu(CP_iteminfo *item_i,\r
+               CP_itemtype far *items,\r
+               void (*routine)(int w));\r
+void ClearMScreen(void);\r
+void DrawWindow(int x,int y,int w,int h,int wcolor);\r
+void DrawOutline(int x,int y,int w,int h,int color1,int color2);\r
+void WaitKeyUp(void);\r
+void ReadAnyControl(ControlInfo *ci);\r
+void TicDelay(int count);\r
+void CacheLump(int lumpstart,int lumpend);\r
+void UnCacheLump(int lumpstart,int lumpend);\r
+void StartCPMusic(int song);\r
+int  Confirm(char far *string);\r
+void Message(char far *string);\r
+void CheckPause(void);\r
+void ShootSnd(void);\r
+void CheckSecretMissions(void);\r
+void BossKey(void);\r
+\r
+void DrawGun(CP_iteminfo *item_i,CP_itemtype far *items,int x,int *y,int which,int basey,void (*routine)(int w));\r
+void DrawHalfStep(int x,int y);\r
+void EraseGun(CP_iteminfo *item_i,CP_itemtype far *items,int x,int y,int which);\r
+void SetTextColor(CP_itemtype far *items,int hlight);\r
+void DrawMenuGun(CP_iteminfo *iteminfo);\r
+void DrawStripes(int y);\r
+\r
+void DefineMouseBtns(void);\r
+void DefineJoyBtns(void);\r
+void DefineKeyBtns(void);\r
+void DefineKeyMove(void);\r
+void EnterCtrlData(int index,CustomCtrls *cust,void (*DrawRtn)(int),void (*PrintRtn)(int),int type);\r
+\r
+void DrawMainMenu(void);\r
+void DrawSoundMenu(void);\r
+void DrawLoadSaveScreen(int loadsave);\r
+void DrawNewEpisode(void);\r
+void DrawNewGame(void);\r
+void DrawChangeView(int view);\r
+void DrawMouseSens(void);\r
+void DrawCtlScreen(void);\r
+void DrawCustomScreen(void);\r
+void DrawLSAction(int which);\r
+void DrawCustMouse(int hilight);\r
+void DrawCustJoy(int hilight);\r
+void DrawCustKeybd(int hilight);\r
+void DrawCustKeys(int hilight);\r
+void PrintCustMouse(int i);\r
+void PrintCustJoy(int i);\r
+void PrintCustKeybd(int i);\r
+void PrintCustKeys(int i);\r
+\r
+void PrintLSEntry(int w,int color);\r
+void TrackWhichGame(int w);\r
+void DrawNewGameDiff(int w);\r
+void FixupCustom(int w);\r
+\r
+void CP_NewGame(void);\r
+void CP_Sound(void);\r
+int  CP_LoadGame(int quick);\r
+int  CP_SaveGame(int quick);\r
+void CP_Control(void);\r
+void CP_ChangeView(void);\r
+void CP_ExitOptions(void);\r
+void CP_Quit(void);\r
+void CP_ViewScores(void);\r
+int  CP_EndGame(void);\r
+int  CP_CheckQuick(unsigned scancode);\r
+void CustomControls(void);\r
+void MouseSensitivity(void);\r
+\r
+void CheckForEpisodes(void);\r
+\r
+//\r
+// VARIABLES\r
+//\r
+extern int SaveGamesAvail[10],StartGame,SoundStatus;\r
+extern char SaveGameNames[10][32],SaveName[13];\r
+\r
+enum {MOUSE,JOYSTICK,KEYBOARDBTNS,KEYBOARDMOVE};       // FOR INPUT TYPES\r
+\r
+#ifndef USO_FIX1\r
+extern\r
+#endif\r
+enum\r
+{\r
+       newgame,\r
+       soundmenu,\r
+       control,\r
+       loadgame,\r
+       savegame,\r
+       changeview,\r
+\r
+#ifndef GOODTIMES\r
+#ifndef SPEAR\r
+       readthis,\r
+#endif\r
+#endif\r
+\r
+       viewscores,\r
+       backtodemo,\r
+       quit\r
+} menuitems;\r
+\r
+//\r
+// WL_INTER\r
+//\r
+typedef struct {\r
+               int kill,secret,treasure;\r
+               long time;\r
+               } LRstruct;\r
+\r
+extern LRstruct LevelRatios[];\r
+\r
+void Write (int x,int y,char *string);\r
+void NonShareware(void);\r
+int GetYorN(int x,int y,int pic);\r
+\r
+\r