本文整理汇总了C++中ConfigFile::GetStringDup方法的典型用法代码示例。如果您正苦于以下问题:C++ ConfigFile::GetStringDup方法的具体用法?C++ ConfigFile::GetStringDup怎么用?C++ ConfigFile::GetStringDup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConfigFile
的用法示例。
在下文中一共展示了ConfigFile::GetStringDup方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: S9xLoadConfigFiles
void S9xLoadConfigFiles (char **argv, int argc)
{
static ConfigFile conf; // static because some of its functions return pointers
conf.Clear();
bool skip = false;
for (int i = 0; i < argc; i++)
{
if (!strcasecmp(argv[i], "-nostdconf"))
{
skip = true;
break;
}
}
if (!skip)
{
#ifdef SYS_CONFIG_FILE
try_load_config_file(SYS_CONFIG_FILE, conf);
S9xParsePortConfig(conf, 0);
#endif
std::string fname;
fname = S9xGetDirectory(DEFAULT_DIR);
fname += SLASH_STR S9X_CONF_FILE_NAME;
try_load_config_file(fname.c_str(), conf);
}
else
fprintf(stderr, "Skipping standard config files.\n");
for (int i = 0; i < argc - 1; i++)
if (!strcasecmp(argv[i], "-conf"))
try_load_config_file(argv[++i], conf);
// Parse config file here
// ROM
Settings.ForceInterleaved2 = conf.GetBool("ROM::Interleaved2", false);
Settings.ForceInterleaveGD24 = conf.GetBool("ROM::InterleaveGD24", false);
Settings.ApplyCheats = conf.GetBool("ROM::Cheat", false);
Settings.NoPatch = !conf.GetBool("ROM::Patch", true);
Settings.ForceLoROM = conf.GetBool("ROM::LoROM", false);
Settings.ForceHiROM = conf.GetBool("ROM::HiROM", false);
if (Settings.ForceLoROM)
Settings.ForceHiROM = false;
Settings.ForcePAL = conf.GetBool("ROM::PAL", false);
Settings.ForceNTSC = conf.GetBool("ROM::NTSC", false);
if (Settings.ForcePAL)
Settings.ForceNTSC = false;
if (conf.Exists("ROM::Header"))
{
Settings.ForceHeader = conf.GetBool("ROM::Header", false);
Settings.ForceNoHeader = !Settings.ForceHeader;
}
if (conf.Exists("ROM::Interleaved"))
{
Settings.ForceInterleaved = conf.GetBool("ROM::Interleaved", false);
Settings.ForceNotInterleaved = !Settings.ForceInterleaved;
}
rom_filename = conf.GetStringDup("ROM::Filename", NULL);
// Sound
Settings.SoundSync = conf.GetBool("Sound::Sync", true);
Settings.SixteenBitSound = conf.GetBool("Sound::16BitSound", true);
Settings.Stereo = conf.GetBool("Sound::Stereo", true);
Settings.ReverseStereo = conf.GetBool("Sound::ReverseStereo", false);
Settings.SoundPlaybackRate = conf.GetUInt("Sound::Rate", 32000);
Settings.SoundInputRate = conf.GetUInt("Sound::InputRate", 32000);
Settings.Mute = conf.GetBool("Sound::Mute", false);
// Display
Settings.SupportHiRes = conf.GetBool("Display::HiRes", true);
Settings.Transparency = conf.GetBool("Display::Transparency", true);
Settings.DisableGraphicWindows = !conf.GetBool("Display::GraphicWindows", true);
Settings.DisplayFrameRate = conf.GetBool("Display::DisplayFrameRate", false);
Settings.DisplayWatchedAddresses = conf.GetBool("Display::DisplayWatchedAddresses", false);
Settings.DisplayPressedKeys = conf.GetBool("Display::DisplayInput", false);
Settings.DisplayMovieFrame = conf.GetBool("Display::DisplayFrameCount", false);
Settings.AutoDisplayMessages = conf.GetBool("Display::MessagesInImage", true);
Settings.InitialInfoStringTimeout = conf.GetInt ("Display::MessageDisplayTime", 120);
// Settings
Settings.BSXBootup = conf.GetBool("Settings::BSXBootup", false);
Settings.TurboMode = conf.GetBool("Settings::TurboMode", false);
Settings.TurboSkipFrames = conf.GetUInt("Settings::TurboFrameSkip", 15);
Settings.MovieTruncate = conf.GetBool("Settings::MovieTruncateAtEnd", false);
Settings.MovieNotifyIgnored = conf.GetBool("Settings::MovieNotifyIgnored", false);
Settings.WrongMovieStateProtection = conf.GetBool("Settings::WrongMovieStateProtection", true);
Settings.StretchScreenshots = conf.GetInt ("Settings::StretchScreenshots", 1);
Settings.SnapshotScreenshots = conf.GetBool("Settings::SnapshotScreenshots", true);
//.........这里部分代码省略.........
示例2: LoadShader
bool CCGShader::LoadShader(const char *path)
{
ConfigFile conf;
int shaderCount;
char keyName[100];
shaderPasses.clear();
lookupTextures.clear();
if(strlen(path)<4 || strcasecmp(&path[strlen(path)-4],".cgp")) {
shaderPass pass;
pass.scaleParams.scaleTypeX = CG_SCALE_NONE;
pass.scaleParams.scaleTypeY = CG_SCALE_NONE;
pass.linearFilter = false;
pass.filterSet = false;
strcpy(pass.cgShaderFile,path);
shaderPasses.push_back(pass);
return true;
} else {
conf.LoadFile(path);
}
shaderCount = conf.GetInt("::shaders",0);
if(shaderCount<1)
return false;
for(int i=0;i<shaderCount;i++) {
shaderPass pass;
sprintf(keyName,"::filter_linear%u",i);
pass.linearFilter = conf.GetBool(keyName);
pass.filterSet = conf.Exists(keyName);
sprintf(keyName,"::scale_type%u",i);
const char *scaleType = conf.GetString(keyName,"");
if(!strcasecmp(scaleType,"")) {
sprintf(keyName,"::scale_type_x%u",i);
const char *scaleTypeX = conf.GetString(keyName,"");
if(*scaleTypeX=='\0' && (i!=(shaderCount-1)))
scaleTypeX = "source";
pass.scaleParams.scaleTypeX = scaleStringToEnum(scaleTypeX);
sprintf(keyName,"::scale_type_y%u",i);
const char *scaleTypeY = conf.GetString(keyName,"");
if(*scaleTypeY=='\0' && (i!=(shaderCount-1)))
scaleTypeY = "source";
pass.scaleParams.scaleTypeY = scaleStringToEnum(scaleTypeY);
} else {
cgScaleType sType = scaleStringToEnum(scaleType);
pass.scaleParams.scaleTypeX = sType;
pass.scaleParams.scaleTypeY = sType;
}
sprintf(keyName,"::scale%u",i);
const char *scaleFloat = conf.GetString(keyName,"");
int scaleInt = conf.GetInt(keyName,0);
if(!strcasecmp(scaleFloat,"")) {
sprintf(keyName,"::scalex%u",i);
const char *scaleFloatX = conf.GetString(keyName,"1.0");
pass.scaleParams.scaleX = atof(scaleFloatX);
pass.scaleParams.absX = conf.GetInt(keyName,1);
sprintf(keyName,"::scaley%u",i);
const char *scaleFloatY = conf.GetString(keyName,"1.0");
pass.scaleParams.scaleY = atof(scaleFloatY);
pass.scaleParams.absY = conf.GetInt(keyName,1);
} else {
float floatval = atof(scaleFloat);
pass.scaleParams.scaleX = floatval;
pass.scaleParams.absX = scaleInt;
pass.scaleParams.scaleY = floatval;
pass.scaleParams.absY = scaleInt;
}
sprintf(keyName,"::shader%u",i);
strcpy(pass.cgShaderFile,conf.GetString(keyName,""));
shaderPasses.push_back(pass);
}
char *shaderIds = conf.GetStringDup("::textures","");
char *id = strtok(shaderIds,";");
while(id!=NULL) {
lookupTexture tex;
sprintf(keyName,"::%s",id);
strcpy(tex.id,id);
strcpy(tex.texturePath,conf.GetString(keyName,""));
sprintf(keyName,"::%s_linear",id);
tex.linearfilter = conf.GetBool(keyName,true);
lookupTextures.push_back(tex);
id = strtok(NULL,";");
}
free(shaderIds);
return true;
}