summaryrefslogtreecommitdiff
path: root/apps/plugins/sdl/progs/wolf3d/wl_menu.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/sdl/progs/wolf3d/wl_menu.h')
-rw-r--r--apps/plugins/sdl/progs/wolf3d/wl_menu.h237
1 files changed, 237 insertions, 0 deletions
diff --git a/apps/plugins/sdl/progs/wolf3d/wl_menu.h b/apps/plugins/sdl/progs/wolf3d/wl_menu.h
new file mode 100644
index 0000000000..c56fd7f576
--- /dev/null
+++ b/apps/plugins/sdl/progs/wolf3d/wl_menu.h
@@ -0,0 +1,237 @@
1//
2// WL_MENU.H
3//
4#ifdef SPEAR
5
6#define BORDCOLOR 0x99
7#define BORD2COLOR 0x93
8#define DEACTIVE 0x9b
9#define BKGDCOLOR 0x9d
10//#define STRIPE 0x9c
11
12#define MenuFadeOut() VL_FadeOut(0,255,0,0,51,10)
13
14#else
15
16#define BORDCOLOR 0x29
17#define BORD2COLOR 0x23
18#define DEACTIVE 0x2b
19#define BKGDCOLOR 0x2d
20#define STRIPE 0x2c
21
22#define MenuFadeOut() VL_FadeOut(0,255,43,0,0,10)
23
24#endif
25
26#define READCOLOR 0x4a
27#define READHCOLOR 0x47
28#define VIEWCOLOR 0x7f
29#define TEXTCOLOR 0x17
30#define HIGHLIGHT 0x13
31#define MenuFadeIn() VL_FadeIn(0,255,gamepal,10)
32
33
34#define MENUSONG WONDERIN_MUS
35
36#ifndef SPEAR
37#define INTROSONG NAZI_NOR_MUS
38#else
39#define INTROSONG XTOWER2_MUS
40#endif
41
42#define SENSITIVE 60
43#define CENTERX ((int) screenWidth / 2)
44#define CENTERY ((int) screenHeight / 2)
45
46#define MENU_X 76
47#define MENU_Y 55
48#define MENU_W 178
49#ifndef SPEAR
50#ifndef GOODTIMES
51#define MENU_H 13*10+6
52#else
53#define MENU_H 13*9+6
54#endif
55#else
56#define MENU_H 13*9+6
57#endif
58
59#define SM_X 48
60#define SM_W 250
61
62#define SM_Y1 20
63#define SM_H1 4*13-7
64#define SM_Y2 SM_Y1+5*13
65#define SM_H2 4*13-7
66#define SM_Y3 SM_Y2+5*13
67#define SM_H3 3*13-7
68
69#define CTL_X 24
70#define CTL_Y 86
71#define CTL_W 284
72#define CTL_H 60
73
74#define LSM_X 85
75#define LSM_Y 55
76#define LSM_W 175
77#define LSM_H 10*13+10
78
79#define NM_X 50
80#define NM_Y 100
81#define NM_W 225
82#define NM_H 13*4+15
83
84#define NE_X 10
85#define NE_Y 23
86#define NE_W 320-NE_X*2
87#define NE_H 200-NE_Y*2
88
89#define CST_X 20
90#define CST_Y 48
91#define CST_START 60
92#define CST_SPC 60
93
94
95//
96// TYPEDEFS
97//
98typedef struct {
99 short x,y,amount,curpos,indent;
100 } CP_iteminfo;
101
102typedef struct {
103 short active;
104 char string[36];
105 int (* routine)(int temp1);
106 } CP_itemtype;
107
108typedef struct {
109 short allowed[4];
110 } CustomCtrls;
111
112extern CP_itemtype MainMenu[];
113extern CP_iteminfo MainItems;
114
115//
116// FUNCTION PROTOTYPES
117//
118
119void US_ControlPanel(ScanCode);
120
121void EnableEndGameMenuItem();
122
123void SetupControlPanel(void);
124void SetupSaveGames();
125void CleanupControlPanel(void);
126
127void DrawMenu(CP_iteminfo *item_i,CP_itemtype *items);
128int HandleMenu(CP_iteminfo *item_i,
129 CP_itemtype *items,
130 void (*routine)(int w));
131void ClearMScreen(void);
132void DrawWindow(int x,int y,int w,int h,int wcolor);
133void DrawOutline(int x,int y,int w,int h,int color1,int color2);
134void WaitKeyUp(void);
135void ReadAnyControl(ControlInfo *ci);
136void TicDelay(int count);
137void CacheLump(int lumpstart,int lumpend);
138void UnCacheLump(int lumpstart,int lumpend);
139int StartCPMusic(int song);
140int Confirm(const char *string);
141void Message(const char *string);
142void CheckPause(void);
143void ShootSnd(void);
144void CheckSecretMissions(void);
145void BossKey(void);
146
147void DrawGun(CP_iteminfo *item_i,CP_itemtype *items,int x,int *y,int which,int basey,void (*routine)(int w));
148void DrawHalfStep(int x,int y);
149void EraseGun(CP_iteminfo *item_i,CP_itemtype *items,int x,int y,int which);
150void SetTextColor(CP_itemtype *items,int hlight);
151void DrawMenuGun(CP_iteminfo *iteminfo);
152void DrawStripes(int y);
153
154void DefineMouseBtns(void);
155void DefineJoyBtns(void);
156void DefineKeyBtns(void);
157void DefineKeyMove(void);
158void EnterCtrlData(int index,CustomCtrls *cust,void (*DrawRtn)(int),void (*PrintRtn)(int),int type);
159
160void DrawMainMenu(void);
161void DrawSoundMenu(void);
162void DrawLoadSaveScreen(int loadsave);
163void DrawNewEpisode(void);
164void DrawNewGame(void);
165void DrawChangeView(int view);
166void DrawMouseSens(void);
167void DrawCtlScreen(void);
168void DrawCustomScreen(void);
169void DrawLSAction(int which);
170void DrawCustMouse(int hilight);
171void DrawCustJoy(int hilight);
172void DrawCustKeybd(int hilight);
173void DrawCustKeys(int hilight);
174void PrintCustMouse(int i);
175void PrintCustJoy(int i);
176void PrintCustKeybd(int i);
177void PrintCustKeys(int i);
178
179void PrintLSEntry(int w,int color);
180void TrackWhichGame(int w);
181void DrawNewGameDiff(int w);
182void FixupCustom(int w);
183
184int CP_NewGame(int);
185int CP_Sound(int);
186int CP_LoadGame(int quick);
187int CP_SaveGame(int quick);
188int CP_Control(int);
189int CP_ChangeView(int);
190int CP_ExitOptions(int);
191int CP_Quit(int);
192int CP_ViewScores(int);
193int CP_EndGame(int);
194int CP_CheckQuick(ScanCode scancode);
195int CustomControls(int);
196int MouseSensitivity(int);
197
198void CheckForEpisodes(void);
199
200void FreeMusic(void);
201
202
203enum {MOUSE,JOYSTICK,KEYBOARDBTNS,KEYBOARDMOVE}; // FOR INPUT TYPES
204
205enum menuitems
206{
207 newgame,
208 soundmenu,
209 control,
210 loadgame,
211 savegame,
212 changeview,
213
214#ifndef GOODTIMES
215#ifndef SPEAR
216 readthis,
217#endif
218#endif
219
220 viewscores,
221 backtodemo,
222 quit
223};
224
225//
226// WL_INTER
227//
228typedef struct {
229 int kill,secret,treasure;
230 int32_t time;
231 } LRstruct;
232
233extern LRstruct LevelRatios[];
234
235void Write (int x,int y,const char *string);
236void NonShareware(void);
237int GetYorN(int x,int y,int pic);