Update to latest simapi, allow sim strings in configs
This commit is contained in:
parent
d97118e19b
commit
f2ba345cab
|
|
@ -8,6 +8,7 @@
|
||||||
#include "usbhapticdevice.h"
|
#include "usbhapticdevice.h"
|
||||||
#include "../../helper/confighelper.h"
|
#include "../../helper/confighelper.h"
|
||||||
#include "../../simulatorapi/simapi/simapi/simdata.h"
|
#include "../../simulatorapi/simapi/simapi/simdata.h"
|
||||||
|
#include "../../simulatorapi/simapi/simapi/simmapper.h"
|
||||||
#include "../../slog/slog.h"
|
#include "../../slog/slog.h"
|
||||||
|
|
||||||
#define kmhtoms 0.277778
|
#define kmhtoms 0.277778
|
||||||
|
|
@ -63,23 +64,33 @@ int loadtyreconfig(SimData* simdata, char* configfile)
|
||||||
if(config_car != NULL)
|
if(config_car != NULL)
|
||||||
{
|
{
|
||||||
const char* car;
|
const char* car;
|
||||||
int sim;
|
const char* simstr;
|
||||||
|
int sim = 0;
|
||||||
double tyre0;
|
double tyre0;
|
||||||
double tyre1;
|
double tyre1;
|
||||||
double tyre2;
|
double tyre2;
|
||||||
double tyre3;
|
double tyre3;
|
||||||
config_setting_lookup_string(config_car, "car", &car);
|
config_setting_lookup_string(config_car, "car", &car);
|
||||||
config_setting_lookup_int(config_car, "sim", &sim);
|
|
||||||
config_setting_lookup_float(config_car, "tyre0", &tyre0);
|
config_setting_lookup_float(config_car, "tyre0", &tyre0);
|
||||||
config_setting_lookup_float(config_car, "tyre1", &tyre1);
|
config_setting_lookup_float(config_car, "tyre1", &tyre1);
|
||||||
config_setting_lookup_float(config_car, "tyre2", &tyre2);
|
config_setting_lookup_float(config_car, "tyre2", &tyre2);
|
||||||
config_setting_lookup_float(config_car, "tyre3", &tyre3);
|
config_setting_lookup_float(config_car, "tyre3", &tyre3);
|
||||||
|
int found = config_setting_lookup_string(config_car, "sim", &simstr);
|
||||||
|
if(found == 0)
|
||||||
|
{
|
||||||
|
int found = config_setting_lookup_int(config_car, "sim", &sim);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sim = simapi_strtogame(simstr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(simdata->car != NULL && car != NULL)
|
if(simdata->car != NULL && car != NULL)
|
||||||
{
|
{
|
||||||
if(simdata->car[0] != '\0' && car[0] != '\0')
|
if(simdata->car[0] != '\0' && car[0] != '\0')
|
||||||
{
|
{
|
||||||
if (strcicmp(car, simdata->car) == 0 && sim == simdata->sim)
|
if (strcicmp(car, simdata->car) == 0 && sim == simdata->simexe)
|
||||||
{
|
{
|
||||||
slogt("found saved car %s with tyre diameters %f %f %f %f", car, tyre0, tyre1, tyre2, tyre3);
|
slogt("found saved car %s with tyre diameters %f %f %f %f", car, tyre0, tyre1, tyre2, tyre3);
|
||||||
simdata->tyrediameter[0] = tyre0;
|
simdata->tyrediameter[0] = tyre0;
|
||||||
|
|
@ -131,7 +142,7 @@ int savetyreconfig(SimData* simdata, char* configfile)
|
||||||
setting = config_setting_add(carobject, "car", CONFIG_TYPE_STRING);
|
setting = config_setting_add(carobject, "car", CONFIG_TYPE_STRING);
|
||||||
config_setting_set_string(setting, simdata->car);
|
config_setting_set_string(setting, simdata->car);
|
||||||
setting = config_setting_add(carobject, "sim", CONFIG_TYPE_INT);
|
setting = config_setting_add(carobject, "sim", CONFIG_TYPE_INT);
|
||||||
config_setting_set_int(setting, simdata->sim);
|
config_setting_set_string(setting, simapi_gametostr(simdata->simexe));
|
||||||
setting = config_setting_add(carobject, "tyre0", CONFIG_TYPE_FLOAT);
|
setting = config_setting_add(carobject, "tyre0", CONFIG_TYPE_FLOAT);
|
||||||
config_setting_set_float(setting, simdata->tyrediameter[0]);
|
config_setting_set_float(setting, simdata->tyrediameter[0]);
|
||||||
setting = config_setting_add(carobject, "tyre1", CONFIG_TYPE_FLOAT);
|
setting = config_setting_add(carobject, "tyre1", CONFIG_TYPE_FLOAT);
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,12 @@
|
||||||
|
|
||||||
#include "confighelper.h"
|
#include "confighelper.h"
|
||||||
|
|
||||||
|
|
||||||
#include "../slog/slog.h"
|
#include "../slog/slog.h"
|
||||||
#include "parameters.h"
|
#include "parameters.h"
|
||||||
|
|
||||||
|
#include "../simulatorapi/simapi/simapi/simmapper.h"
|
||||||
|
|
||||||
#include <pulse/pulseaudio.h>
|
#include <pulse/pulseaudio.h>
|
||||||
|
|
||||||
int strcicmp(char const *a, char const *b)
|
int strcicmp(char const *a, char const *b)
|
||||||
|
|
@ -25,34 +28,6 @@ int strcicmp(char const *a, char const *b)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int strtogame(const char* game, MonocoqueSettings* ms)
|
|
||||||
{
|
|
||||||
slogd("Checking for %s in list of supported simulators.", game);
|
|
||||||
if (strcicmp(game, "ac") == 0)
|
|
||||||
{
|
|
||||||
slogd("Setting simulator to Assetto Corsa");
|
|
||||||
ms->sim_name = SIMULATOR_ASSETTO_CORSA;
|
|
||||||
}
|
|
||||||
else if (strcicmp(game, "rf2") == 0)
|
|
||||||
{
|
|
||||||
slogd("Setting simulator to RFactor 2");
|
|
||||||
ms->sim_name = SIMULATOR_RFACTOR2;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
if (strcicmp(game, "test") == 0)
|
|
||||||
{
|
|
||||||
slogd("Setting simulator to Test Data");
|
|
||||||
ms->sim_name = SIMULATOR_SIMAPI_TEST;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
slogi("%s does not appear to be a supported simulator.", game);
|
|
||||||
return MONOCOQUE_ERROR_INVALID_SIM;
|
|
||||||
}
|
|
||||||
return MONOCOQUE_ERROR_NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
int strtoeffecttype(const char* effect, DeviceSettings* ds)
|
int strtoeffecttype(const char* effect, DeviceSettings* ds)
|
||||||
{
|
{
|
||||||
ds->is_valid = false;
|
ds->is_valid = false;
|
||||||
|
|
@ -226,6 +201,22 @@ int strtodev(const char* device_type, const char* device_subtype, DeviceSettings
|
||||||
return MONOCOQUE_ERROR_NONE;
|
return MONOCOQUE_ERROR_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int getsimfromconfig(config_setting_t* c)
|
||||||
|
{
|
||||||
|
int sim = 0;
|
||||||
|
const char* simstr = NULL;
|
||||||
|
int found = config_setting_lookup_string(c, "sim", &simstr);
|
||||||
|
if(found == 0)
|
||||||
|
{
|
||||||
|
int found = config_setting_lookup_int(c, "sim", &sim);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sim = simapi_strtogame(simstr);
|
||||||
|
}
|
||||||
|
return sim;
|
||||||
|
}
|
||||||
|
|
||||||
int getNumberOfConfigs(const char* config_file_str)
|
int getNumberOfConfigs(const char* config_file_str)
|
||||||
{
|
{
|
||||||
config_t cfg;
|
config_t cfg;
|
||||||
|
|
@ -273,7 +264,7 @@ int getconfigtouse2(const char* config_file_str, char* car, int sim)
|
||||||
int found = 0;
|
int found = 0;
|
||||||
int csim = 0;
|
int csim = 0;
|
||||||
slogt("sim is %i", sim);
|
slogt("sim is %i", sim);
|
||||||
config_setting_lookup_int(config_config, "sim", &csim);
|
csim = getsimfromconfig(config_config);
|
||||||
if (csim != sim)
|
if (csim != sim)
|
||||||
{
|
{
|
||||||
slogt("rejected config %i", j);
|
slogt("rejected config %i", j);
|
||||||
|
|
@ -330,7 +321,7 @@ int getconfigtouse1(const char* config_file_str, char* car, int sim)
|
||||||
int found = 0;
|
int found = 0;
|
||||||
int csim = 0;
|
int csim = 0;
|
||||||
slogt("sim is %i", sim);
|
slogt("sim is %i", sim);
|
||||||
config_setting_lookup_int(config_config, "sim", &csim);
|
csim = getsimfromconfig(config_config);
|
||||||
if (csim != sim)
|
if (csim != sim)
|
||||||
{
|
{
|
||||||
slogt("rejected config %i", j);
|
slogt("rejected config %i", j);
|
||||||
|
|
@ -398,7 +389,7 @@ int getconfigtouse(const char* config_file_str, char* car, int sim)
|
||||||
int found = 0;
|
int found = 0;
|
||||||
int csim = 0;
|
int csim = 0;
|
||||||
slogt("sim is %i", sim);
|
slogt("sim is %i", sim);
|
||||||
config_setting_lookup_int(config_config, "sim", &csim);
|
csim = getsimfromconfig(config_config);
|
||||||
if (csim != sim && csim != 0)
|
if (csim != sim && csim != 0)
|
||||||
{
|
{
|
||||||
slogt("rejected config %i", j);
|
slogt("rejected config %i", j);
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 6b6532795f97304bed8aa9d51ef6163865109b6a
|
Subproject commit 7dd3b3b0cbdf69ac0fcd06452aa4fc543f0d5a5b
|
||||||
Loading…
Reference in New Issue