Allow setting default config value inside stk-code
Share the restore code with android and iOS
This commit is contained in:
parent
17305a6cd8
commit
62d8a17152
@ -197,6 +197,7 @@ public:
|
||||
void findYourDataInAnAttributeOf(const XMLNode* node);
|
||||
|
||||
irr::core::stringc toString() const;
|
||||
void setDefaultValue(int v) { m_value = m_default_value = v; }
|
||||
void revertToDefaults() { m_value = m_default_value; }
|
||||
int getDefaultValue() { return m_default_value; }
|
||||
operator int() const { return m_value; }
|
||||
@ -297,6 +298,7 @@ public:
|
||||
|
||||
irr::core::stringc toString() const;
|
||||
void revertToDefaults() { m_value = m_default_value; }
|
||||
void setDefaultValue(bool v) { m_value = m_default_value = v; }
|
||||
|
||||
operator bool() const { return m_value; }
|
||||
bool& operator=(const bool& v) { m_value = v; return m_value; }
|
||||
@ -330,6 +332,7 @@ public:
|
||||
|
||||
irr::core::stringc toString() const;
|
||||
void revertToDefaults() { m_value = m_default_value; }
|
||||
void setDefaultValue(float v) { m_value = m_default_value = v; }
|
||||
|
||||
operator float() const { return m_value; }
|
||||
float& operator=(const float& v) { m_value = v; return m_value; }
|
||||
|
@ -70,18 +70,18 @@ void override_default_params_for_mobile()
|
||||
{
|
||||
case ACONFIGURATION_SCREENSIZE_SMALL:
|
||||
case ACONFIGURATION_SCREENSIZE_NORMAL:
|
||||
UserConfigParams::m_multitouch_scale = 1.3f;
|
||||
UserConfigParams::m_multitouch_sensitivity_x = 0.1f;
|
||||
UserConfigParams::m_multitouch_scale.setDefaultValue(1.3f);
|
||||
UserConfigParams::m_multitouch_sensitivity_x.setDefaultValue(0.1f);
|
||||
UserConfigParams::m_font_size = 5.0f;
|
||||
break;
|
||||
case ACONFIGURATION_SCREENSIZE_LARGE:
|
||||
UserConfigParams::m_multitouch_scale = 1.2f;
|
||||
UserConfigParams::m_multitouch_sensitivity_x = 0.15f;
|
||||
UserConfigParams::m_multitouch_scale.setDefaultValue(1.2f);
|
||||
UserConfigParams::m_multitouch_sensitivity_x.setDefaultValue(0.15f);
|
||||
UserConfigParams::m_font_size = 5.0f;
|
||||
break;
|
||||
case ACONFIGURATION_SCREENSIZE_XLARGE:
|
||||
UserConfigParams::m_multitouch_scale = 1.1f;
|
||||
UserConfigParams::m_multitouch_sensitivity_x = 0.2f;
|
||||
UserConfigParams::m_multitouch_scale.setDefaultValue(1.1f);
|
||||
UserConfigParams::m_multitouch_sensitivity_x.setDefaultValue(0.2f);
|
||||
UserConfigParams::m_font_size = 4.0f;
|
||||
break;
|
||||
default:
|
||||
@ -112,8 +112,8 @@ void getConfigForDevice(const char* dev)
|
||||
if (device.find("iPhone") != std::string::npos)
|
||||
{
|
||||
// Normal configuration default
|
||||
UserConfigParams::m_multitouch_scale = 1.3f;
|
||||
UserConfigParams::m_multitouch_sensitivity_x = 0.1f;
|
||||
UserConfigParams::m_multitouch_scale.setDefaultValue(1.3f);
|
||||
UserConfigParams::m_multitouch_sensitivity_x.setDefaultValue(0.1f);
|
||||
UserConfigParams::m_font_size = 5.0f;
|
||||
device.erase(0, 6);
|
||||
auto versions = StringUtils::splitToUInt(device, ',');
|
||||
@ -136,16 +136,16 @@ void getConfigForDevice(const char* dev)
|
||||
)
|
||||
{
|
||||
// Those phones have small screen
|
||||
UserConfigParams::m_multitouch_scale = 1.45f;
|
||||
UserConfigParams::m_multitouch_scale.setDefaultValue(1.45f);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (device.find("iPad") != std::string::npos)
|
||||
{
|
||||
// Normal configuration default
|
||||
UserConfigParams::m_multitouch_scale = 1.1f;
|
||||
UserConfigParams::m_multitouch_sensitivity_x = 0.2f;
|
||||
UserConfigParams::m_font_size = 4.0f;
|
||||
UserConfigParams::m_multitouch_scale.setDefaultValue(1.1f);
|
||||
UserConfigParams::m_multitouch_sensitivity_x.setDefaultValue(0.2f);
|
||||
UserConfigParams::m_font_size = 3.0f;
|
||||
device.erase(0, 4);
|
||||
auto versions = StringUtils::splitToUInt(device, ',');
|
||||
if (versions.size() == 2)
|
||||
@ -161,8 +161,8 @@ void getConfigForDevice(const char* dev)
|
||||
{
|
||||
// All iPod touch has small screen
|
||||
UserConfigParams::m_font_size = 5.0f;
|
||||
UserConfigParams::m_multitouch_scale = 1.45f;
|
||||
UserConfigParams::m_multitouch_sensitivity_x = 0.1f;
|
||||
UserConfigParams::m_multitouch_scale.setDefaultValue(1.45f);
|
||||
UserConfigParams::m_multitouch_sensitivity_x.setDefaultValue(0.1f);
|
||||
device.erase(0, 4);
|
||||
auto versions = StringUtils::splitToUInt(device, ',');
|
||||
if (versions.size() == 2)
|
||||
|
@ -162,35 +162,8 @@ GUIEngine::EventPropagation MultitouchSettingsDialog::processEvent(
|
||||
UserConfigParams::m_multitouch_deadzone.revertToDefaults();
|
||||
UserConfigParams::m_multitouch_inverted.revertToDefaults();
|
||||
UserConfigParams::m_multitouch_controls.revertToDefaults();
|
||||
|
||||
#ifdef ANDROID
|
||||
int32_t screen_size = AConfiguration_getScreenSize(
|
||||
global_android_app->config);
|
||||
|
||||
switch (screen_size)
|
||||
{
|
||||
case ACONFIGURATION_SCREENSIZE_SMALL:
|
||||
case ACONFIGURATION_SCREENSIZE_NORMAL:
|
||||
UserConfigParams::m_multitouch_scale = 1.3f;
|
||||
UserConfigParams::m_multitouch_sensitivity_x = 0.1f;
|
||||
break;
|
||||
case ACONFIGURATION_SCREENSIZE_LARGE:
|
||||
UserConfigParams::m_multitouch_scale = 1.2f;
|
||||
UserConfigParams::m_multitouch_sensitivity_x = 0.15f;
|
||||
break;
|
||||
case ACONFIGURATION_SCREENSIZE_XLARGE:
|
||||
UserConfigParams::m_multitouch_scale = 1.1f;
|
||||
UserConfigParams::m_multitouch_sensitivity_x = 0.2f;
|
||||
break;
|
||||
default:
|
||||
UserConfigParams::m_multitouch_scale.revertToDefaults();
|
||||
UserConfigParams::m_multitouch_sensitivity_x.revertToDefaults();
|
||||
break;
|
||||
}
|
||||
#else
|
||||
UserConfigParams::m_multitouch_scale.revertToDefaults();
|
||||
UserConfigParams::m_multitouch_sensitivity_x.revertToDefaults();
|
||||
#endif
|
||||
|
||||
if (StateManager::get()->getGameState() != GUIEngine::INGAME_MENU)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user