7 for (int i = 0 ; i < CONTROL::MAX ; i++)
\r
17 void Config::populate()
\r
19 for (int i = 0 ; i < CONTROL::MAX ; i++)
\r
21 command[i] = (engine->keyState[keyboard.control[i]]);
\r
23 if (joystick.control[i] >= 0)
\r
25 command[i] = (command[i] || (engine->joystickState[joystick.control[i]]));
\r
29 if (engine->joyX < -joystick.sensitivity) command[CONTROL::LEFT] = 1;
\r
30 if (engine->joyX > joystick.sensitivity) command[CONTROL::RIGHT] = 1;
\r
31 if (engine->joyY < -joystick.sensitivity) command[CONTROL::UP] = 1;
\r
32 if (engine->joyY > joystick.sensitivity) command[CONTROL::DOWN] = 1;
\r
35 void Config::populate(int *data)
\r
37 for (int i = 0 ; i < CONTROL::MAX ; i++)
\r
39 command[i] = data[i];
\r
42 command[CONTROL::MAP] = 0;
\r
43 command[CONTROL::PAUSE] = 0;
\r
46 bool Config::isControl(CONTROL::TYPE type)
\r
48 return command[type];
\r
51 void Config::resetControl(CONTROL::TYPE type)
\r
53 engine->keyState[keyboard.control[type]] = 0;
\r
57 if (joystick.control[type] >= 0)
\r
59 engine->joystickState[joystick.control[type]] = 0;
\r
62 if (type == CONTROL::LEFT) engine->joyX = 0;
\r
63 if (type == CONTROL::RIGHT) engine->joyX = 0;
\r
64 if (type == CONTROL::UP) engine->joyY = 0;
\r
65 if (type == CONTROL::DOWN) engine->joyY = 0;
\r
68 void Config::doPause()
\r
70 if (!engine->paused)
\r
72 if (engine->keyState[keyboard.control[CONTROL::PAUSE]])
\r
74 engine->paused = true;
\r
75 engine->keyState[keyboard.control[CONTROL::PAUSE]] = 0;
\r
80 if ((engine->keyState[keyboard.control[CONTROL::PAUSE]]) || (engine->keyState[SDLK_ESCAPE]))
\r
82 engine->paused = false;
\r
83 engine->keyState[keyboard.control[CONTROL::PAUSE]] = 0;
\r
84 engine->keyState[SDLK_ESCAPE] = 0;
\r
89 bool Config::loadJoystickConfig()
\r
91 char filename[PATH_MAX];
\r
92 snprintf(filename, sizeof filename, "%sjoystick.cfg", engine->userHomeDirectory);
\r
94 debug(("Loading joystick config from %s\n", filename));
\r
96 FILE *fp = fopen(filename, "rb");
\r
103 if (fread(&joystick, sizeof(Joystick), 1, fp) != 1)
\r
114 bool Config::saveJoystickConfig()
\r
116 char filename[PATH_MAX];
\r
117 snprintf(filename, sizeof filename, "%sjoystick.cfg", engine->userHomeDirectory);
\r
119 debug(("Saving joystick config to %s\n", filename));
\r
121 FILE *fp = fopen(filename, "wb");
\r
125 debug(("WARNING: Couldn't save joystick config\n"));
\r
129 fwrite(&joystick, sizeof(Joystick), 1, fp);
\r
136 bool Config::loadKeyConfig()
\r
138 char filename[PATH_MAX];
\r
139 snprintf(filename, sizeof filename, "%skeyboard.cfg", engine->userHomeDirectory);
\r
141 debug(("Loading keyboard config from %s\n", filename));
\r
143 FILE *fp = fopen(filename, "rb");
\r
150 if (fread(&keyboard, sizeof(Keyboard), 1, fp) != 1)
\r
158 // Keyboard break fix - Feb 09
\r
159 keyboard.control[CONTROL::UP] = 0;
\r
164 bool Config::saveKeyConfig()
\r
166 char filename[PATH_MAX];
\r
167 snprintf(filename, sizeof filename, "%skeyboard.cfg", engine->userHomeDirectory);
\r
169 debug(("Saving keyboard config to %s\n", filename));
\r
171 FILE *fp = fopen(filename, "wb");
\r
178 fwrite(&keyboard, sizeof(keyboard), 1, fp);
\r
185 void Config::restoreKeyDefaults()
\r
187 keyboard.setDefaultKeys();
\r