-
Notifications
You must be signed in to change notification settings - Fork 97
/
CONTROL.C
87 lines (74 loc) · 1.51 KB
/
CONTROL.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
//
// Choose which type of controller to use
//
#include "main.h"
enum {CON_MOUSE,CON_JOY,CON_KEY,CON_MAX};
item_t controlitems[]=
{
{CON_MOUSE, 26,11,28, -1,-1},
{CON_JOY, 26,12,28, -1,-1},
{CON_KEY, 26,13,28, -1,-1}
};
menu_t controlmenu=
{
&controlitems[0],
CON_MOUSE,
CON_MAX,
0x7f
};
int ChooseController (void)
{
short key;
short field;
int rval = 0;
SaveScreen();
DrawPup(&control);
// DEFAULT FIELD ========================================
if (newc.control == C_MOUSE)
field = CON_MOUSE;
else
if (newc.control == C_JOYSTICK)
field = CON_JOY;
else
field = CON_KEY;
controlmenu.startitem = field;
while(1)
{
SetupMenu(&controlmenu);
field = GetMenuInput();
key = menukey;
switch ( key )
{
case KEY_ESC:
rval = -1;
goto func_exit;
case KEY_ENTER:
case KEY_F10:
switch ( field )
{
case CON_KEY:
newc.control = C_KEY;
usemouse = 0;
usejoystick = 0;
goto func_exit;
case CON_MOUSE:
newc.control = C_MOUSE;
usemouse = 1;
usejoystick = 0;
goto func_exit;
case CON_JOY:
newc.control = C_JOYSTICK;
usemouse = 0;
usejoystick = 1;
goto func_exit;
default:
break;
}
break;
}
}
func_exit:
RestoreScreen();
DrawCurrentConfig();
return ( rval );
}