bool Cmd_GetStringIniSetting_Execute(COMMAND_ARGS)
{
	char settingName[kMaxMessageLength] = { 0 };
	*result = -1;

	if (ExtractArgs(EXTRACT_ARGS, &settingName))
	{
		Setting* setting;
		if (GetIniSetting(settingName, &setting))
		{
			char val[kMaxMessageLength] = { 0 };
			if (const char * pVal = setting->Get())
			{
				strcpy_s(val, kMaxMessageLength, pVal);
				AssignToStringVar(PASS_COMMAND_ARGS, val);
				if (IsConsoleMode())
					Console_Print("GetStringIniSetting >> %s", val);
			}
		}
		else if (IsConsoleMode())
			Console_Print("GetStringIniSetting >> SETTING NOT FOUND");
	}

	return true;
}
bool Cmd_GetStringGameSetting_Execute(COMMAND_ARGS)
{
	char settingName[0x100] = { 0 };
	const char* settingString = "";

	if (ExtractArgs(EXTRACT_ARGS, &settingName))
	{
		Setting* setting = NULL;
		GameSettingCollection* gmsts = GameSettingCollection::GetSingleton();
		if (gmsts && gmsts->GetGameSetting(settingName, &setting) && setting && setting->GetType() == Setting::kSetting_String)
			setting->Get(settingString);
	}

	AssignToStringVar(PASS_COMMAND_ARGS, settingString);

	return true;
}
bool GetNumericIniSetting(char * settingName, double * result)
{
	bool bResult = false;
	*result = -1;

	if (strlen(settingName))
	{
		Setting* setting;
		if (GetIniSetting(settingName, &setting))
		{
			double val;
			if (setting->Get(val))
			{
				*result = val;
				bResult = true;
			}
		};
	}

	return bResult;
}
bool GetNumericGameSetting(char * settingName, double * result)
{
	bool bResult = false;
	*result = -1;

	if (strlen(settingName))
	{
		Setting* setting;
		GameSettingCollection* gmsts = GameSettingCollection::GetSingleton();
		if (gmsts && gmsts->GetGameSetting(settingName, &setting))
		{
			double val;
			if (setting->Get(val))
			{
				*result = val;
				bResult = true;
			}
		};
	}

	return bResult;
}