Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
8557 maxcodehac 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
#ifdef JAPAN
71
#define CTL_Y   70
72
#else
73
#define CTL_Y   86
74
#endif
75
#define CTL_W   284
76
#define CTL_H   60
77
 
78
#define LSM_X   85
79
#define LSM_Y   55
80
#define LSM_W   175
81
#define LSM_H   10*13+10
82
 
83
#define NM_X    50
84
#define NM_Y    100
85
#define NM_W    225
86
#define NM_H    13*4+15
87
 
88
#define NE_X    10
89
#define NE_Y    23
90
#define NE_W    320-NE_X*2
91
#define NE_H    200-NE_Y*2
92
 
93
#define CST_X           20
94
#define CST_Y           48
95
#define CST_START       60
96
#define CST_SPC 60
97
 
98
 
99
//
100
// TYPEDEFS
101
//
102
typedef struct {
103
                short x,y,amount,curpos,indent;
104
                } CP_iteminfo;
105
 
106
typedef struct {
107
                short active;
108
                char string[36];
109
                int (* routine)(int temp1);
110
                } CP_itemtype;
111
 
112
typedef struct {
113
                short allowed[4];
114
                } CustomCtrls;
115
 
116
extern CP_itemtype MainMenu[];
117
extern CP_iteminfo MainItems;
118
 
119
//
120
// FUNCTION PROTOTYPES
121
//
122
 
123
void US_ControlPanel(ScanCode);
124
 
125
void EnableEndGameMenuItem();
126
 
127
void SetupControlPanel(void);
128
void SetupSaveGames();
129
void CleanupControlPanel(void);
130
 
131
void DrawMenu(CP_iteminfo *item_i,CP_itemtype *items);
132
int  HandleMenu(CP_iteminfo *item_i,
133
                CP_itemtype *items,
134
                void (*routine)(int w));
135
void ClearMScreen(void);
136
void DrawWindow(int x,int y,int w,int h,int wcolor);
137
void DrawOutline(int x,int y,int w,int h,int color1,int color2);
138
void WaitKeyUp(void);
139
void ReadAnyControl(ControlInfo *ci);
140
void TicDelay(int count);
141
void CacheLump(int lumpstart,int lumpend);
142
void UnCacheLump(int lumpstart,int lumpend);
143
int StartCPMusic(int song);
144
int  Confirm(const char *string);
145
void Message(const char *string);
146
void CheckPause(void);
147
void ShootSnd(void);
148
void CheckSecretMissions(void);
149
void BossKey(void);
150
 
151
void DrawGun(CP_iteminfo *item_i,CP_itemtype *items,int x,int *y,int which,int basey,void (*routine)(int w));
152
void DrawHalfStep(int x,int y);
153
void EraseGun(CP_iteminfo *item_i,CP_itemtype *items,int x,int y,int which);
154
void SetTextColor(CP_itemtype *items,int hlight);
155
void DrawMenuGun(CP_iteminfo *iteminfo);
156
void DrawStripes(int y);
157
 
158
void DefineMouseBtns(void);
159
void DefineJoyBtns(void);
160
void DefineKeyBtns(void);
161
void DefineKeyMove(void);
162
void EnterCtrlData(int index,CustomCtrls *cust,void (*DrawRtn)(int),void (*PrintRtn)(int),int type);
163
 
164
void DrawMainMenu(void);
165
void DrawSoundMenu(void);
166
void DrawLoadSaveScreen(int loadsave);
167
void DrawNewEpisode(void);
168
void DrawNewGame(void);
169
void DrawChangeView(int view);
170
void DrawMouseSens(void);
171
void DrawCtlScreen(void);
172
void DrawCustomScreen(void);
173
void DrawLSAction(int which);
174
void DrawCustMouse(int hilight);
175
void DrawCustJoy(int hilight);
176
void DrawCustKeybd(int hilight);
177
void DrawCustKeys(int hilight);
178
void PrintCustMouse(int i);
179
void PrintCustJoy(int i);
180
void PrintCustKeybd(int i);
181
void PrintCustKeys(int i);
182
 
183
void PrintLSEntry(int w,int color);
184
void TrackWhichGame(int w);
185
void DrawNewGameDiff(int w);
186
void FixupCustom(int w);
187
 
188
int CP_NewGame(int);
189
int CP_Sound(int);
190
int  CP_LoadGame(int quick);
191
int  CP_SaveGame(int quick);
192
int CP_Control(int);
193
int CP_ChangeView(int);
194
int CP_ExitOptions(int);
195
int CP_Quit(int);
196
int CP_ViewScores(int);
197
int  CP_EndGame(int);
198
int  CP_CheckQuick(ScanCode scancode);
199
int CustomControls(int);
200
int MouseSensitivity(int);
201
 
202
void CheckForEpisodes(void);
203
 
204
void FreeMusic(void);
205
 
206
 
207
enum {MOUSE,JOYSTICK,KEYBOARDBTNS,KEYBOARDMOVE};        // FOR INPUT TYPES
208
 
209
enum menuitems
210
{
211
        newgame,
212
        soundmenu,
213
        control,
214
        loadgame,
215
        savegame,
216
        changeview,
217
 
218
#ifndef GOODTIMES
219
#ifndef SPEAR
220
        readthis,
221
#endif
222
#endif
223
 
224
        viewscores,
225
        backtodemo,
226
        quit
227
};
228
 
229
//
230
// WL_INTER
231
//
232
typedef struct {
233
                int kill,secret,treasure;
234
                int32_t time;
235
                } LRstruct;
236
 
237
extern LRstruct LevelRatios[];
238
 
239
void Write (int x,int y,const char *string);
240
void NonShareware(void);
241
int GetYorN(int x,int y,int pic);