Added button to restore default controls.
This commit is contained in:
parent
6dda5c3df1
commit
7c100f0c37
|
@ -103,9 +103,19 @@
|
||||||
"group" : "controls",
|
"group" : "controls",
|
||||||
"type" : "WT_BUTTON",
|
"type" : "WT_BUTTON",
|
||||||
"text" : "OK",
|
"text" : "OK",
|
||||||
"x" : -1,
|
"x" : 500,
|
||||||
"y" : 650,
|
"y" : 650,
|
||||||
"w" : 100,
|
"w" : 200,
|
||||||
|
"h": 34
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "restore",
|
||||||
|
"group" : "controls",
|
||||||
|
"type" : "WT_BUTTON",
|
||||||
|
"text" : "Restore Defaults",
|
||||||
|
"x" : 780,
|
||||||
|
"y" : 650,
|
||||||
|
"w" : 200,
|
||||||
"h": 34
|
"h": 34
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -20,6 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
|
|
||||||
|
static void restoreDefaults(void);
|
||||||
|
|
||||||
static const char *controlName[CONTROL_MAX];
|
static const char *controlName[CONTROL_MAX];
|
||||||
static Widget *controlWidget[CONTROL_MAX];
|
static Widget *controlWidget[CONTROL_MAX];
|
||||||
|
|
||||||
|
@ -70,6 +72,8 @@ void initControlsDisplay(void)
|
||||||
sprintf(controlWidget[i]->options[1], "Btn %d", app.mouseControls[i]);
|
sprintf(controlWidget[i]->options[1], "Btn %d", app.mouseControls[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getWidget("restore", "controls")->action = restoreDefaults;
|
||||||
}
|
}
|
||||||
|
|
||||||
int isControl(int type)
|
int isControl(int type)
|
||||||
|
@ -185,3 +189,43 @@ void drawControls(void)
|
||||||
|
|
||||||
drawWidgets("controls");
|
drawWidgets("controls");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void restoreDefaults(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
cJSON *root, *controlsJSON, *node;
|
||||||
|
char *text;
|
||||||
|
|
||||||
|
text = readFile("data/app/"CONFIG_FILENAME);
|
||||||
|
|
||||||
|
root = cJSON_Parse(text);
|
||||||
|
|
||||||
|
controlsJSON = cJSON_GetObjectItem(root, "controls");
|
||||||
|
if (controlsJSON)
|
||||||
|
{
|
||||||
|
node = cJSON_GetObjectItem(controlsJSON, "keys")->child;
|
||||||
|
while (node)
|
||||||
|
{
|
||||||
|
i = lookup(node->string);
|
||||||
|
|
||||||
|
app.keyControls[i] = node->valueint;
|
||||||
|
|
||||||
|
node = node->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
node = cJSON_GetObjectItem(controlsJSON, "mouse")->child;
|
||||||
|
while (node)
|
||||||
|
{
|
||||||
|
i = lookup(node->string);
|
||||||
|
|
||||||
|
app.mouseControls[i] = node->valueint;
|
||||||
|
|
||||||
|
node = node->next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cJSON_Delete(root);
|
||||||
|
free(text);
|
||||||
|
|
||||||
|
initControlsDisplay();
|
||||||
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../common.h"
|
#include "../common.h"
|
||||||
|
#include "../json/cJSON.h"
|
||||||
|
|
||||||
extern void drawText(int x, int y, int size, int align, SDL_Color c, const char *format, ...);
|
extern void drawText(int x, int y, int size, int align, SDL_Color c, const char *format, ...);
|
||||||
extern char *getTranslatedString(char *string);
|
extern char *getTranslatedString(char *string);
|
||||||
|
@ -27,6 +28,7 @@ extern void drawWidgets(char *groupName);
|
||||||
extern char *getLookupName(char *prefix, long num);
|
extern char *getLookupName(char *prefix, long num);
|
||||||
extern long lookup(char *name);
|
extern long lookup(char *name);
|
||||||
extern void limitTextWidth(int width);
|
extern void limitTextWidth(int width);
|
||||||
|
extern char *readFile(char *filename);
|
||||||
|
|
||||||
extern App app;
|
extern App app;
|
||||||
extern Colors colors;
|
extern Colors colors;
|
||||||
|
|
Loading…
Reference in New Issue