@@ -12,6 +12,42 @@ var quickSaveSlot;
12
12
var detailLevel ;
13
13
var screenblocks ;
14
14
15
+ class menuitem_t
16
+ {
17
+ status ;
18
+ name ;
19
+ routine ;
20
+ alphaKey ;
21
+ constructor ( status , name , routine , alphaKey )
22
+ {
23
+ this . status = status ;
24
+ this . name = name ;
25
+ this . routine = routine ;
26
+ this . alphaKey = alphaKey ;
27
+ }
28
+ }
29
+
30
+ class menu_t
31
+ {
32
+ numitems ;
33
+ prevMenu ;
34
+ menuitems ;
35
+ routine ;
36
+ x ;
37
+ y ;
38
+ lastOn ;
39
+ constructor ( numitems , prevMenu , menuitems , routine , x , y , lastOn )
40
+ {
41
+ this . numitems = numitems ;
42
+ this . prevMenu = prevMenu ;
43
+ this . menuitems = menuitems ;
44
+ this . routine = routine ;
45
+ this . x = x ;
46
+ this . y = y ;
47
+ this . lastOn = lastOn ;
48
+ }
49
+ }
50
+
15
51
function M_NewGame ( choice ) { } ;
16
52
function M_Episode ( choice ) { } ;
17
53
function M_ChooseSkill ( choice ) { } ;
@@ -61,23 +97,23 @@ const main_e =
61
97
62
98
var MainMenu =
63
99
[
64
- [ 1 , "M_NGAME" , M_NewGame , "n" ] ,
65
- [ 1 , "M_OPTION" , M_Options , "o" ] ,
66
- [ 1 , "M_LOADG" , M_LoadGame , "l" ] ,
67
- [ 1 , "M_SAVEG" , M_SaveGame , "s" ] ,
68
- [ 1 , "M_RDTHIS" , M_ReadThis , "r" ] ,
69
- [ 1 , "M_QUITG" , M_QuitDOOM , "q" ]
100
+ new menuitem_t ( 1 , "M_NGAME" , M_NewGame , "n" ) ,
101
+ new menuitem_t ( 1 , "M_OPTION" , M_Options , "o" ) ,
102
+ new menuitem_t ( 1 , "M_LOADG" , M_LoadGame , "l" ) ,
103
+ new menuitem_t ( 1 , "M_SAVEG" , M_SaveGame , "s" ) ,
104
+ new menuitem_t ( 1 , "M_RDTHIS" , M_ReadThis , "r" ) ,
105
+ new menuitem_t ( 1 , "M_QUITG" , M_QuitDOOM , "q" ) ,
70
106
] ;
71
107
72
- var MainDef =
73
- {
74
- numitems : main_e . length ,
75
- prevmenu : null ,
76
- mmenuitems : MainMenu ,
77
- routine : M_DrawMainMenu ,
78
- x : 97 , y : 64 ,
79
- lastOn : 0
80
- } ;
108
+ var MainDef = new menu_t
109
+ (
110
+ main_e . length ,
111
+ null ,
112
+ MainMenu ,
113
+ M_DrawMainMenu ,
114
+ 97 , 64 ,
115
+ 0
116
+ ) ;
81
117
82
118
const episodes_e =
83
119
{
@@ -89,21 +125,21 @@ const episodes_e =
89
125
90
126
var EpisodeMenu =
91
127
[
92
- [ 1 , "M_EPI1" , M_Episode , "k" ] ,
93
- [ 1 , "M_EPI2" , M_Episode , "t" ] ,
94
- [ 1 , "M_EPI3" , M_Episode , "i" ] ,
95
- [ 1 , "M_EPI4" , M_Episode , "t" ]
128
+ new menuitem_t ( 1 , "M_EPI1" , M_Episode , "k" ) ,
129
+ new menuitem_t ( 1 , "M_EPI2" , M_Episode , "t" ) ,
130
+ new menuitem_t ( 1 , "M_EPI3" , M_Episode , "i" ) ,
131
+ new menuitem_t ( 1 , "M_EPI4" , M_Episode , "t" ) ,
96
132
] ;
97
133
98
- var EpiDef =
99
- {
100
- numitems : episodes_e . length ,
101
- prevMenu : MainDef ,
102
- menuitems : EpisodeMenu ,
103
- routine : M_DrawEpisode ,
104
- x : 48 , y : 63 ,
105
- lastOn : episodes_e . ep1
106
- } ;
134
+ var EpiDef = new menu_t
135
+ (
136
+ episodes_e . length ,
137
+ MainDef ,
138
+ EpisodeMenu ,
139
+ M_DrawEpisode ,
140
+ 48 , 63 ,
141
+ episodes_e . ep1
142
+ ) ;
107
143
108
144
const newgame_e =
109
145
{
@@ -116,22 +152,22 @@ const newgame_e =
116
152
117
153
var NewGameMenu =
118
154
[
119
- [ 1 , "M_JKILL" , M_ChooseSkill , "i" ] ,
120
- [ 1 , "M_ROUGH" , M_ChooseSkill , "h" ] ,
121
- [ 1 , "M_HURT" , M_ChooseSkill , "h" ] ,
122
- [ 1 , "M_ULTRA" , M_ChooseSkill , "u" ] ,
123
- [ 1 , "M_NMARE" , M_ChooseSkill , "n" ]
155
+ new menuitem_t ( 1 , "M_JKILL" , M_ChooseSkill , "i" ) ,
156
+ new menuitem_t ( 1 , "M_ROUGH" , M_ChooseSkill , "h" ) ,
157
+ new menuitem_t ( 1 , "M_HURT" , M_ChooseSkill , "h" ) ,
158
+ new menuitem_t ( 1 , "M_ULTRA" , M_ChooseSkill , "u" ) ,
159
+ new menuitem_t ( 1 , "M_NMARE" , M_ChooseSkill , "n" ) ,
124
160
] ;
125
161
126
- var NewDef =
127
- {
128
- numitems : newgame_e . length ,
129
- prevMenu : EpiDef ,
130
- menuitems : NewGameMenu ,
131
- routine : M_DrawNewGame ,
132
- x : 48 , y : 63 ,
133
- lastOn : newgame_e . hurtme
134
- } ;
162
+ var NewDef = new menu_t
163
+ (
164
+ newgame_e . length ,
165
+ EpiDef ,
166
+ NewGameMenu ,
167
+ M_DrawNewGame ,
168
+ 48 , 63 ,
169
+ newgame_e . hurtme
170
+ ) ;
135
171
136
172
const options_e =
137
173
{
@@ -148,25 +184,25 @@ const options_e =
148
184
149
185
var OptionsMenu =
150
186
[
151
- [ 1 , "M_ENDGAM" , M_EndGame , "e" ] ,
152
- [ 1 , "M_MESSG" , M_ChangeMessages , "m" ] ,
153
- [ 1 , "M_DETAIL" , M_ChangeDetail , "g" ] ,
154
- [ 2 , "M_SCRNSZ" , M_SizeDisplay , "s" ] ,
155
- [ - 1 , "" , 0 ] ,
156
- [ 2 , "M_MSENS" , M_ChangeSensitivity , "m" ] ,
157
- [ - 1 , "" , 0 ] ,
158
- [ 1 , "M_SVOL" , M_Sound , "s" ]
187
+ new menuitem_t ( 1 , "M_ENDGAM" , M_EndGame , "e" ) ,
188
+ new menuitem_t ( 1 , "M_MESSG" , M_ChangeMessages , "m" ) ,
189
+ new menuitem_t ( 1 , "M_DETAIL" , M_ChangeDetail , "g" ) ,
190
+ new menuitem_t ( 2 , "M_SCRNSZ" , M_SizeDisplay , "s" ) ,
191
+ new menuitem_t ( - 1 , "" , 0 ) ,
192
+ new menuitem_t ( 2 , "M_MSENS" , M_ChangeSensitivity , "m" ) ,
193
+ new menuitem_t ( - 1 , "" , 0 ) ,
194
+ new menuitem_t ( 1 , "M_SVOL" , M_Sound , "s" ) ,
159
195
] ;
160
196
161
- var OptionsDef =
162
- {
163
- numitems : options_e . length ,
164
- prevMenu : MainDef ,
165
- menuitems : OptionsMenu ,
166
- routine : M_DrawOptions ,
167
- x : 60 , y : 37 ,
168
- lastOn : 0
169
- } ;
197
+ var OptionsDef = new menu_t
198
+ (
199
+ options_e . length ,
200
+ MainDef ,
201
+ OptionsMenu ,
202
+ M_DrawOptions ,
203
+ 60 , 37 ,
204
+ 0
205
+ ) ;
170
206
171
207
const read_e =
172
208
{
@@ -175,18 +211,18 @@ const read_e =
175
211
176
212
var ReadMenu1 =
177
213
[
178
- [ 1 , "" , M_FinishReadThis , 0 ]
214
+ new menuitem_t ( 1 , "" , M_FinishReadThis , 0 ) ,
179
215
] ;
180
216
181
- var ReadDef1 =
182
- {
183
- numitems : read_e . length ,
184
- prevMenu : MainDef ,
185
- menuitems : ReadMenu1 ,
186
- routine : M_DrawReadThis1 ,
187
- x : 280 , y : 185 ,
188
- lastOn : 0
189
- } ;
217
+ var ReadDef1 = new menu_t
218
+ (
219
+ read_e . length ,
220
+ MainDef ,
221
+ ReadMenu1 ,
222
+ M_DrawReadThis1 ,
223
+ 280 , 185 ,
224
+ 0
225
+ ) ;
190
226
191
227
const read_e2 =
192
228
{
@@ -195,18 +231,18 @@ const read_e2 =
195
231
196
232
var ReadMenu2 =
197
233
[
198
- [ 1 , "" , M_FinishReadThis , 0 ]
234
+ new menuitem_t ( 1 , "" , M_FinishReadThis , 0 ) ,
199
235
] ;
200
236
201
- var ReadDef2 =
202
- {
203
- numitems : read_e2 . length ,
204
- prevMenu : ReadDef1 ,
205
- menuitems : ReadMenu2 ,
206
- routine : M_DrawReadThis2 ,
207
- x : 330 , y : 175 ,
208
- lastOn : 0
209
- } ;
237
+ var ReadDef2 = new menu_t
238
+ (
239
+ read_e2 . length ,
240
+ ReadDef1 ,
241
+ ReadMenu2 ,
242
+ M_DrawReadThis2 ,
243
+ 330 , 175 ,
244
+ 0
245
+ ) ;
210
246
211
247
const sound_e =
212
248
{
@@ -218,21 +254,21 @@ const sound_e =
218
254
219
255
var SoundMenu =
220
256
[
221
- [ 2 , "M_SFXVOl" , M_SfxVol , "s" ] ,
222
- [ - 1 , "" , 0 ] ,
223
- [ 2 , "M_MUSVOl" , M_MusicVol , "m" ] ,
224
- [ - 1 , "" , 0 ]
257
+ new menuitem_t ( 2 , "M_SFXVOl" , M_SfxVol , "s" ) ,
258
+ new menuitem_t ( - 1 , "" , 0 ) ,
259
+ new menuitem_t ( 2 , "M_MUSVOl" , M_MusicVol , "m" ) ,
260
+ new menuitem_t ( - 1 , "" , 0 ) ,
225
261
] ;
226
262
227
- var SoundDef =
228
- {
229
- numitems : sound_e . length ,
230
- prevMenu : OptionsDef ,
231
- menuitems : SoundMenu ,
232
- routine : M_DrawSound ,
233
- x : 80 , y : 64 ,
234
- lastOn : 0
235
- } ;
263
+ var SoundDef = new menu_t
264
+ (
265
+ sound_e . length ,
266
+ OptionsDef ,
267
+ SoundMenu ,
268
+ M_DrawSound ,
269
+ 80 , 64 ,
270
+ 0
271
+ ) ;
236
272
237
273
const load_e =
238
274
{
@@ -246,43 +282,43 @@ const load_e =
246
282
247
283
var LoadMenu =
248
284
[
249
- [ 1 , "" , M_LoadSelect , "1" ] ,
250
- [ 1 , "" , M_LoadSelect , "2" ] ,
251
- [ 1 , "" , M_LoadSelect , "3" ] ,
252
- [ 1 , "" , M_LoadSelect , "4" ] ,
253
- [ 1 , "" , M_LoadSelect , "5" ] ,
254
- [ 1 , "" , M_LoadSelect , "6" ]
285
+ new menuitem_t ( 1 , "" , M_LoadSelect , "1" ) ,
286
+ new menuitem_t ( 1 , "" , M_LoadSelect , "2" ) ,
287
+ new menuitem_t ( 1 , "" , M_LoadSelect , "3" ) ,
288
+ new menuitem_t ( 1 , "" , M_LoadSelect , "4" ) ,
289
+ new menuitem_t ( 1 , "" , M_LoadSelect , "5" ) ,
290
+ new menuitem_t ( 1 , "" , M_LoadSelect , "6" ) ,
255
291
] ;
256
292
257
- var LoadDef =
258
- {
259
- numitems : load_e . length ,
260
- prevMenu : MainDef ,
261
- menuitems : LoadMenu ,
262
- routine : M_DrawLoad ,
263
- x : 80 , y : 54 ,
264
- lastOn : 0
265
- } ;
293
+ var LoadDef = new menu_t
294
+ (
295
+ load_e . length ,
296
+ MainDef ,
297
+ LoadMenu ,
298
+ M_DrawLoad ,
299
+ 80 , 54 ,
300
+ 0
301
+ ) ;
266
302
267
303
var SaveMenu =
268
304
[
269
- [ 1 , "" , M_SaveSelect , "1" ] ,
270
- [ 1 , "" , M_SaveSelect , "3" ] ,
271
- [ 1 , "" , M_SaveSelect , "4" ] ,
272
- [ 1 , "" , M_SaveSelect , "5" ] ,
273
- [ 1 , "" , M_SaveSelect , "2" ] ,
274
- [ 1 , "" , M_SaveSelect , "6" ]
305
+ new menuitem_t ( 1 , "" , M_SaveSelect , "1" ) ,
306
+ new menuitem_t ( 1 , "" , M_SaveSelect , "3" ) ,
307
+ new menuitem_t ( 1 , "" , M_SaveSelect , "4" ) ,
308
+ new menuitem_t ( 1 , "" , M_SaveSelect , "5" ) ,
309
+ new menuitem_t ( 1 , "" , M_SaveSelect , "2" ) ,
310
+ new menuitem_t ( 1 , "" , M_SaveSelect , "6" ) ,
275
311
] ;
276
312
277
- var SaveDef =
278
- {
279
- numitems : load_e . length ,
280
- prevMenu : MainDef ,
281
- menuitems : SaveMenu ,
282
- routine : M_DrawSave ,
283
- x : 80 , y : 54 ,
284
- lastOn : 0
285
- } ;
313
+ var SaveDef = new menu_t
314
+ (
315
+ load_e . length ,
316
+ MainDef ,
317
+ SaveMenu ,
318
+ M_DrawSave ,
319
+ 80 , 54 ,
320
+ 0
321
+ ) ;
286
322
287
323
function M_Init ( )
288
324
{
0 commit comments