|
|
1.1 root 1: /*
2: Hatari - dlgJoystick.c
3:
4: This file is distributed under the GNU Public License, version 2 or at
5: your option any later version. Read the file gpl.txt for details.
6: */
7: char DlgJoystick_rcsid[] = "Hatari $Id: dlgJoystick.c,v 1.2 2004/04/19 08:53:48 thothy Exp $";
8:
9: #include "main.h"
10: #include "configuration.h"
11: #include "dialog.h"
12: #include "sdlgui.h"
13:
14:
15: #define DLGJOY_J1CURSOR 4
16: #define DLGJOY_J1AUTOFIRE 5
17: #define DLGJOY_J0CURSOR 8
18: #define DLGJOY_J0AUTOFIRE 9
19: #define DLGJOY_EXIT 10
20:
21:
22: /* The joysticks dialog: */
23: static SGOBJ joystickdlg[] =
24: {
25: { SGBOX, 0, 0, 0,0, 30,19, NULL },
26: { SGTEXT, 0, 0, 7,1, 15,1, "Joysticks setup" },
27: { SGBOX, 0, 0, 1,3, 28,6, NULL },
28: { SGTEXT, 0, 0, 2,4, 11,1, "Joystick 1:" },
29: { SGCHECKBOX, 0, 0, 5,6, 22,1, "Use cursor emulation" },
30: { SGCHECKBOX, 0, 0, 5,7, 17,1, "Enable autofire" },
31: { SGBOX, 0, 0, 1,10, 28,6, NULL },
32: { SGTEXT, 0, 0, 2,11, 11,1, "Joystick 0:" },
33: { SGCHECKBOX, 0, 0, 5,13, 22,1, "Use cursor emulation" },
34: { SGCHECKBOX, 0, 0, 5,14, 17,1, "Enable autofire" },
35: { SGBUTTON, 0, 0, 5,17, 20,1, "Back to main menu" },
36: { -1, 0, 0, 0,0, 0,0, NULL }
37: };
38:
39:
40: /*-----------------------------------------------------------------------*/
41: /*
42: Show and process the joystick dialog.
43: */
44: void Dialog_JoyDlg(void)
45: {
46: int but;
47:
48: SDLGui_CenterDlg(joystickdlg);
49:
50: /* Set up dialog from actual values: */
51:
52: if( DialogParams.Joysticks.Joy[1].bCursorEmulation )
53: joystickdlg[DLGJOY_J1CURSOR].state |= SG_SELECTED;
54: else
55: joystickdlg[DLGJOY_J1CURSOR].state &= ~SG_SELECTED;
56:
57: if( DialogParams.Joysticks.Joy[1].bEnableAutoFire )
58: joystickdlg[DLGJOY_J1AUTOFIRE].state |= SG_SELECTED;
59: else
60: joystickdlg[DLGJOY_J1AUTOFIRE].state &= ~SG_SELECTED;
61:
62: if( DialogParams.Joysticks.Joy[0].bCursorEmulation )
63: joystickdlg[DLGJOY_J0CURSOR].state |= SG_SELECTED;
64: else
65: joystickdlg[DLGJOY_J0CURSOR].state &= ~SG_SELECTED;
66:
67: if( DialogParams.Joysticks.Joy[0].bEnableAutoFire )
68: joystickdlg[DLGJOY_J0AUTOFIRE].state |= SG_SELECTED;
69: else
70: joystickdlg[DLGJOY_J0AUTOFIRE].state &= ~SG_SELECTED;
71:
72: do
73: {
74: but = SDLGui_DoDialog(joystickdlg);
75: }
76: while( but!=DLGJOY_EXIT && !bQuitProgram );
77:
78: /* Read values from dialog */
79: DialogParams.Joysticks.Joy[1].bCursorEmulation = (joystickdlg[DLGJOY_J1CURSOR].state & SG_SELECTED);
80: DialogParams.Joysticks.Joy[1].bEnableAutoFire = (joystickdlg[DLGJOY_J1AUTOFIRE].state & SG_SELECTED);
81: DialogParams.Joysticks.Joy[0].bCursorEmulation = (joystickdlg[DLGJOY_J0CURSOR].state & SG_SELECTED);
82: DialogParams.Joysticks.Joy[0].bEnableAutoFire = (joystickdlg[DLGJOY_J0AUTOFIRE].state & SG_SELECTED);
83: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.