12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- //
- // 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 );
- }
-
|