本文整理汇总了C++中CInifile::r_string方法的典型用法代码示例。如果您正苦于以下问题:C++ CInifile::r_string方法的具体用法?C++ CInifile::r_string怎么用?C++ CInifile::r_string使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CInifile
的用法示例。
在下文中一共展示了CInifile::r_string方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void SThunderboltDesc::load (CInifile& pIni, shared_str const& sect)
{
create_top_gradient (pIni, sect);
create_center_gradient (pIni, sect);
name = sect;
color_anim = LALib.FindItem (pIni.r_string ( sect,"color_anim" ));
VERIFY (color_anim);
color_anim->fFPS = (float)color_anim->iFrameCount;
// models
LPCSTR m_name;
m_name = pIni.r_string(sect,"lightning_model");
m_pRender->CreateModel (m_name);
/*
IReader* F = 0;
F = FS.r_open("$game_meshes$",m_name); R_ASSERT2(F,"Empty 'lightning_model'.");
l_model = ::Render->model_CreateDM(F);
FS.r_close (F);
*/
// sound
m_name = pIni.r_string(sect,"sound");
if (m_name&&m_name[0]) snd.create(m_name,st_Effect,sg_Undefined);
}
示例2: ParseDefinitions
void SCarLight::ParseDefinitions(LPCSTR section)
{
light_render = ::Render->light_create();
light_render->set_type (IRender_Light::SPOT);
light_render->set_shadow(true);
glow_render = ::Render->glow_create();
// lanim = 0;
// time2hide = 0;
// set bone id
IKinematics* pKinematics=smart_cast<IKinematics*>(m_holder->PCar()->Visual());
CInifile* ini = pKinematics->LL_UserData();
Fcolor clr;
clr.set (ini->r_fcolor(section,"color"));
//clr.mul_rgb (torch->spot_brightness);
//fBrightness = torch->spot_brightness;
light_render->set_range (ini->r_float(section,"range"));
light_render->set_color (clr);
light_render->set_cone (deg2rad(ini->r_float(section,"cone_angle")));
light_render->set_texture(ini->r_string(section,"spot_texture"));
glow_render->set_texture(ini->r_string(section,"glow_texture"));
glow_render->set_color (clr);
glow_render->set_radius (ini->r_float(section,"glow_radius"));
bone_id = pKinematics->LL_BoneID(ini->r_string(section,"bone"));
glow_render ->set_active(false);
light_render->set_active(false);
pKinematics->LL_SetBoneVisible(bone_id,FALSE,TRUE);
//lanim = LALib.FindItem(ini->r_string(section,"animator"));
}
示例3: SFlare
void SThunderboltDesc::create_center_gradient (CInifile& pIni, shared_str const& sect)
{
m_GradientCenter = new SFlare();
m_GradientCenter->shader = pIni.r_string ( sect,"gradient_center_shader" );
m_GradientCenter->texture = pIni.r_string ( sect,"gradient_center_texture" );
m_GradientCenter->fRadius = pIni.r_fvector2 (sect,"gradient_center_radius" );
m_GradientCenter->fOpacity = pIni.r_float ( sect,"gradient_center_opacity" );
m_GradientCenter->m_pFlare->CreateShader (*m_GradientCenter->shader,*m_GradientCenter->texture);
}
示例4:
void time::load (CInifile& config)
{
// Ivector3 tm ={0,0,0};
// sscanf (m_identifier.c_str(),"%d:%d:%d",&tm.x,&tm.y,&tm.z);
// R_ASSERT3 ((tm.x>=0)&&(tm.x<24)&&(tm.y>=0)&&(tm.y<60)&&(tm.z>=0)&&(tm.z<60),"Incorrect weather time",m_identifier.c_str());
// exec_time = tm.x*3600.f+tm.y*60.f+tm.z;
// exec_time_loaded = exec_time;
m_ambient = config.r_string(m_identifier, "ambient");
// ambient = config.r_fvector3(m_identifier, "ambient_color");
// clouds_texture_name = config.r_string(m_identifier, "clouds_texture");
// far_plane = config.r_float(m_identifier, "far_plane");
// fog_distance = config.r_float(m_identifier, "fog_distance");
// fog_density = config.r_float(m_identifier, "fog_density");
// fog_color = config.r_fvector3(m_identifier, "fog_color");
// rain_color = config.r_fvector3(m_identifier, "rain_color");
// rain_density = config.r_float(m_identifier, "rain_density");
// sky_color = config.r_fvector3(m_identifier, "sky_color");
// sky_rotation = config.r_float(m_identifier, "sky_rotation");
// sky_texture_name = config.r_string(m_identifier, "sky_texture");
// string_path st_env;
// strconcat (sizeof(st_env), st_env, sky_texture_name.c_str(), "#small");
// sky_texture_env_name = st_env;
// sun_color = config.r_fvector3(m_identifier, "sun_color");
// m_fSunShaftsIntensity = config.r_float(m_identifier, "sun_shafts_intensity");
m_sun = config.r_string(m_identifier, "sun");
m_thunderbolt_collection = config.r_string(m_identifier, "thunderbolt_collection");
// bolt_duration = config.r_float(m_identifier, "bolt_duration");
// bolt_period = config.r_float(m_identifier, "bolt_period");
// m_fWaterIntensity = config.r_float(m_identifier, "water_intensity");
// wind_direction = config.r_float(m_identifier, "wind_direction");
// wind_velocity = config.r_float(m_identifier, "wind_velocity");
// hemi_color = config.r_fvector4(m_identifier, "hemi_color");
// Fvector2 coords = config.r_fvector2(m_identifier, "sun_dir");
// sun_dir.setHP (deg2rad(coords.y), deg2rad(coords.x));
// clouds_color = config.r_fvector4(m_identifier, "clouds_color");
// LPCSTR clouds = config.r_string(m_identifier, "clouds_color");
// VERIFY (_GetItemCount(clouds) == 5);
// string256 temp;
// ((Fvector&)clouds_color).mul(.5f*(float)atof(_GetItem(clouds,4,temp)));
// on_device_create ();
inherited::load (m_manager, config);
}
示例5: attach_Actor
bool CCar::attach_Actor(CGameObject* actor)
{
if(Owner()||CPHDestroyable::Destroyed()) return false;
CHolderCustom::attach_Actor(actor);
IKinematics* K = smart_cast<IKinematics*>(Visual());
CInifile* ini = K->LL_UserData();
int id;
if(ini->line_exist("car_definition","driver_place"))
id=K->LL_BoneID(ini->r_string("car_definition","driver_place"));
else
{
Owner()->setVisible(0);
id=K->LL_GetBoneRoot();
}
CBoneInstance& instance=K->LL_GetBoneInstance (u16(id));
m_sits_transforms.push_back(instance.mTransform);
OnCameraChange(ectFirst);
PPhysicsShell()->Enable();
PPhysicsShell()->add_ObjectContactCallback(ActorObstacleCallback);
// VisualUpdate();
processing_activate();
ReleaseHandBreak();
// CurrentGameUI()->UIMainIngameWnd->CarPanel().Show(true);
// CurrentGameUI()->UIMainIngameWnd->CarPanel().SetCarHealth(fEntityHealth/100.f);
//CurrentGameUI()->UIMainIngameWnd.ShowBattery(true);
//CBoneData& bone_data=K->LL_GetData(id);
//Fmatrix driver_pos_tranform;
//driver_pos_tranform.setHPB(bone_data.bind_hpb.x,bone_data.bind_hpb.y,bone_data.bind_hpb.z);
//driver_pos_tranform.c.set(bone_data.bind_translate);
//m_sits_transforms.push_back(driver_pos_tranform);
//H_SetParent(actor);
return true;
}
示例6: ebLoadFromClick
void __fastcall TfrmBonePart::ebLoadFromClick(TObject *Sender)
{
//.
xr_string temp_fn;
if (EFS.GetOpenName ( _import_, temp_fn, false, NULL, 0))
{
ebClearClick (Sender);
CInifile ini (temp_fn.c_str(), TRUE, TRUE, FALSE);
string64 buff;
for(int i=0; i<4; ++i)
{
sprintf (buff,"part_%d",i);
LPCSTR part_name = ini.r_string(buff, "partition_name");
E[i]->Text = part_name;
CInifile::Sect& S = ini.r_section(buff);
CInifile::SectCIt it = S.Data.begin();
CInifile::SectCIt e = S.Data.end();
for (; it!=e; ++it)
{
if( 0!= stricmp(it->first.c_str(), "partition_name") )
{
FHelper.AppendObject(T[i], it->first.c_str(), false, true);
}
}
}
}
}
示例7:
//-----------------------------------------------------------------------------
// Environment ambient
//-----------------------------------------------------------------------------
void CEnvAmbient::SSndChannel::load(CInifile& config, LPCSTR sect)
{
m_load_section = sect;
m_sound_dist.x = config.r_float(m_load_section, "min_distance");
m_sound_dist.y = config.r_float(m_load_section, "max_distance");
m_sound_period.x = config.r_s32(m_load_section, "period0");
m_sound_period.y = config.r_s32(m_load_section, "period1");
m_sound_period.z = config.r_s32(m_load_section, "period2");
m_sound_period.w = config.r_s32(m_load_section, "period3");
// m_sound_period = config.r_ivector4(sect,"sound_period");
R_ASSERT(m_sound_period.x <= m_sound_period.y && m_sound_period.z <= m_sound_period.w);
// m_sound_period.mul (1000);// now in ms
// m_sound_dist = config.r_fvector2(sect,"sound_dist");
R_ASSERT2(m_sound_dist.y > m_sound_dist.x, sect);
LPCSTR snds = config.r_string(sect, "sounds");
u32 cnt = _GetItemCount(snds);
string_path tmp;
R_ASSERT3(cnt, "sounds empty", sect);
m_sounds.resize(cnt);
for (u32 k = 0; k < cnt; ++k)
{
_GetItem(snds, k, tmp);
m_sounds[k].create(tmp, st_Effect, sg_SourceType);
}
}
示例8: net_Spawn
BOOL CWeaponStatMgun::net_Spawn(CSE_Abstract* DC)
{
if(!inheritedPH::net_Spawn (DC)) return FALSE;
IKinematics* K = smart_cast<IKinematics*>(Visual());
CInifile* pUserData = K->LL_UserData();
R_ASSERT2 (pUserData,"Empty WeaponStatMgun user data!");
m_rotate_x_bone = K->LL_BoneID (pUserData->r_string("mounted_weapon_definition","rotate_x_bone"));
m_rotate_y_bone = K->LL_BoneID (pUserData->r_string("mounted_weapon_definition","rotate_y_bone"));
m_fire_bone = K->LL_BoneID (pUserData->r_string("mounted_weapon_definition","fire_bone"));
m_camera_bone = K->LL_BoneID (pUserData->r_string("mounted_weapon_definition","camera_bone"));
U16Vec fixed_bones;
fixed_bones.push_back (K->LL_GetBoneRoot());
PPhysicsShell() = P_build_Shell(this,false,fixed_bones);
CBoneData& bdX = K->LL_GetData(m_rotate_x_bone); VERIFY(bdX.IK_data.type==jtJoint);
m_lim_x_rot.set (bdX.IK_data.limits[0].limit.x,bdX.IK_data.limits[0].limit.y);
CBoneData& bdY = K->LL_GetData(m_rotate_y_bone); VERIFY(bdY.IK_data.type==jtJoint);
m_lim_y_rot.set (bdY.IK_data.limits[1].limit.x,bdY.IK_data.limits[1].limit.y);
xr_vector<Fmatrix> matrices;
K->LL_GetBindTransform (matrices);
m_i_bind_x_xform.invert (matrices[m_rotate_x_bone]);
m_i_bind_y_xform.invert (matrices[m_rotate_y_bone]);
m_bind_x_rot = matrices[m_rotate_x_bone].k.getP();
m_bind_y_rot = matrices[m_rotate_y_bone].k.getH();
m_bind_x.set (matrices[m_rotate_x_bone].c);
m_bind_y.set (matrices[m_rotate_y_bone].c);
m_cur_x_rot = m_bind_x_rot;
m_cur_y_rot = m_bind_y_rot;
m_destEnemyDir.setHP (m_bind_y_rot,m_bind_x_rot);
XFORM().transform_dir (m_destEnemyDir);
inheritedShooting::Light_Create();
processing_activate ();
setVisible (TRUE);
setEnabled (TRUE);
return TRUE;
}
示例9: ReadLTX
void st_LevelOptions::ReadLTX(CInifile& ini)
{
LPCSTR section = "level_options";
u32 vers_op = ini.r_u32(section, "version");
if( vers_op < 0x00000008 )
{
ELog.DlgMsg( mtError, "Skipping bad version of level options." );
return;
}
m_FNLevelPath = ini.r_string (section, "level_path");
m_LevelPrefix = ini.r_string (section, "level_prefix");
m_BOPText = ini.r_string_wb (section, "bop");
if(vers_op > 0x0000000B)
m_map_version = ini.r_string (section, "map_version");
m_BuildParams.LoadLTX(ini);
m_LightHemiQuality = ini.r_u8(section, "light_hemi_quality" );
m_LightSunQuality = ini.r_u8(section, "light_sun_quality" );
m_mapUsage.SetDefaults ();
if(vers_op > 0x0000000A)
{
m_mapUsage.LoadLTX (ini,section,false);
}else
{
m_mapUsage.m_GameType.set (eGameIDDeathmatch , ini.r_s32(section, "usage_deathmatch"));
m_mapUsage.m_GameType.set (eGameIDTeamDeathmatch, ini.r_s32(section, "usage_teamdeathmatch"));
m_mapUsage.m_GameType.set (eGameIDArtefactHunt, ini.r_s32(section, "usage_artefacthunt"));
if(vers_op > 0x00000008)
{
m_mapUsage.m_GameType.set (eGameIDCaptureTheArtefact, ini.r_s32(section, "usage_captretheartefact"));
m_mapUsage.m_GameType.set (eGameIDTeamDominationZone, ini.r_s32(section, "usage_team_domination_zone"));
if(vers_op==0x00000009)
m_mapUsage.m_GameType.set(eGameIDDominationZone, ini.r_s32(section, "domination_zone"));
else
m_mapUsage.m_GameType.set(eGameIDDominationZone, ini.r_s32(section, "usage_domination_zone"));
}
}
}
示例10:
CCarWeapon::CCarWeapon(CPhysicsShellHolder* obj)
{
m_bActive = false;
m_bAutoFire = false;
m_object = obj;
m_Ammo = xr_new<CCartridge>();
CKinematics* K = smart_cast<CKinematics*>(m_object->Visual());
CInifile* pUserData = K->LL_UserData();
m_rotate_x_bone = K->LL_BoneID (pUserData->r_string("mounted_weapon_definition","rotate_x_bone"));
m_rotate_y_bone = K->LL_BoneID (pUserData->r_string("mounted_weapon_definition","rotate_y_bone"));
m_fire_bone = K->LL_BoneID (pUserData->r_string("mounted_weapon_definition","fire_bone"));
m_min_gun_speed = pUserData->r_float("mounted_weapon_definition","min_gun_speed");
m_max_gun_speed = pUserData->r_float("mounted_weapon_definition","max_gun_speed");
CBoneData& bdX = K->LL_GetData(m_rotate_x_bone); //VERIFY(bdX.IK_data.type==jtJoint);
m_lim_x_rot.set (bdX.IK_data.limits[0].limit.x,bdX.IK_data.limits[0].limit.y);
CBoneData& bdY = K->LL_GetData(m_rotate_y_bone); //VERIFY(bdY.IK_data.type==jtJoint);
m_lim_y_rot.set (bdY.IK_data.limits[1].limit.x,bdY.IK_data.limits[1].limit.y);
xr_vector<Fmatrix> matrices;
K->LL_GetBindTransform (matrices);
m_i_bind_x_xform.invert (matrices[m_rotate_x_bone]);
m_i_bind_y_xform.invert (matrices[m_rotate_y_bone]);
m_bind_x_rot = matrices[m_rotate_x_bone].k.getP();
m_bind_y_rot = matrices[m_rotate_y_bone].k.getH();
m_bind_x.set (matrices[m_rotate_x_bone].c);
m_bind_y.set (matrices[m_rotate_y_bone].c);
m_cur_x_rot = m_bind_x_rot;
m_cur_y_rot = m_bind_y_rot;
m_destEnemyDir.setHP (m_bind_y_rot,m_bind_x_rot);
m_object->XFORM().transform_dir (m_destEnemyDir);
inheritedShooting::Light_Create ();
Load (pUserData->r_string("mounted_weapon_definition","wpn_section"));
SetBoneCallbacks ();
m_object->processing_activate ();
m_weapon_h = matrices[m_rotate_y_bone].c.y;
m_fire_norm.set (0,1,0);
m_fire_dir.set (0,0,1);
m_fire_pos.set (0,0,0);
}
示例11: LoadLTX
//------------------------------------------------------------------------------
bool CGroupObject::LoadLTX(CInifile& ini, LPCSTR sect_name)
{
u32 version = ini.r_u32(sect_name, "version");
if (version<0x0011)
{
ELog.DlgMsg( mtError, "CGroupObject: unsupported file version. Object can't load.");
return false;
}
CCustomObject::LoadLTX(ini, sect_name);
Flags32 tmp_flags;tmp_flags.zero();
if(version<0x0012)
tmp_flags.assign(ini.r_u32(sect_name, "flags") );
// objects
if(/*IsOpened()*/ tmp_flags.test((1<<0)))
{ //old opened group save format
ELog.DlgMsg( mtError, "old opened group save format");
return false;
/*
u32 cnt = ini.r_u32 (sect_name, "objects_in_group_count");
shared_str tmp;
string128 buff;
for (u32 k=0; k<cnt; ++k)
{
m_ObjectsInGroup.resize (m_ObjectsInGroup.size()+1);
sprintf (buff,"objects_in_group_%d",k);
m_ObjectsInGroup.back().ObjectName = ini.r_string(sect_name, buff);
}
*/
}else
{
Scene->ReadObjectsLTX (ini, sect_name, "ingroup", AppendObjectLoadCB, 0);
}
VERIFY(m_ObjectsInGroup.size());
SetRefName(ini.r_string (sect_name, "ref_name")) ;
if (!m_ReferenceName_.size())
ELog.Msg (mtError,"ERROR: group '%s' - has empty reference. Corrupted file?", Name);
if(version<0x0012)
{
for (ObjectsInGroup::iterator it=m_ObjectsInGroup.begin(); it!=m_ObjectsInGroup.end(); ++it)
if(it->pObject)
{
it->pObject->m_CO_Flags.set(flObjectInGroup, TRUE);
it->pObject->m_CO_Flags.set(flObjectInGroupUnique, TRUE);
}
}
return true;
}
示例12: load
void CEnvAmbient::load(
CInifile& ambients_config,
CInifile& sound_channels_config,
CInifile& effects_config,
const shared_str& sect
)
{
m_ambients_config_filename = ambients_config.fname();
m_load_section = sect;
string_path tmp;
// sounds
LPCSTR channels = ambients_config.r_string(sect, "sound_channels");
u32 cnt = _GetItemCount(channels);
// R_ASSERT3 (cnt,"sound_channels empty", sect.c_str());
m_sound_channels.resize(cnt);
for (u32 i = 0; i < cnt; ++i)
m_sound_channels[i] = create_sound_channel(sound_channels_config, _GetItem(channels, i, tmp));
// effects
m_effect_period.set(
iFloor(
ambients_config.r_float(sect, "min_effect_period")*1000.f
),
iFloor(
ambients_config.r_float(sect, "max_effect_period")*1000.f
)
);
LPCSTR effs = ambients_config.r_string(sect, "effects");
cnt = _GetItemCount(effs);
// R_ASSERT3 (cnt,"effects empty", sect.c_str());
m_effects.resize(cnt);
for (u32 k = 0; k < cnt; ++k)
m_effects[k] = create_effect(effects_config, _GetItem(effs, k, tmp));
R_ASSERT(!m_sound_channels.empty() || !m_effects.empty());
}
示例13: LoadMapInfo
void CMapListHelper::LoadMapInfo(LPCSTR map_cfg_fn, const xr_string& map_name, LPCSTR map_ver)
{
CInifile ini (map_cfg_fn);
shared_str _map_name = map_name.substr(0,map_name.find('\\')).c_str();
shared_str _map_ver = map_ver;
if(ini.section_exist("map_usage"))
{
if(ini.line_exist("map_usage","ver") && !map_ver)
_map_ver = ini.r_string("map_usage", "ver");
CInifile::Sect S = ini.r_section("map_usage");
CInifile::SectCIt si = S.Data.begin();
CInifile::SectCIt si_e = S.Data.end();
for( ;si!=si_e; ++si)
{
const shared_str& game_type = (*si).first;
if(game_type=="ver") continue;
SGameTypeMaps* M = GetMapListInt(game_type);
if(!M)
{
Msg ("--unknown game type-%s",game_type.c_str());
m_storage.resize (m_storage.size()+1);
SGameTypeMaps& Itm = m_storage.back();
Itm.m_game_type_name = game_type;
Itm.m_game_type_id = ParseStringToGameType(game_type.c_str());
M = &m_storage.back();
}
SGameTypeMaps::SMapItm Itm;
Itm.map_name = _map_name;
Itm.map_ver = _map_ver;
if(M->m_map_names.end()!=std::find(M->m_map_names.begin(),M->m_map_names.end(),Itm))
{
Msg("! duplicate map found [%s] [%s]", _map_name.c_str(), _map_ver.c_str());
}else
{
#ifndef MASTER_GOLD
Msg("added map [%s] [%s]", _map_name.c_str(), _map_ver.c_str());
#endif // #ifndef MASTER_GOLD
M->m_map_names.push_back (Itm);
}
}
}
}
示例14:
void CUICustomMap::Init (shared_str name, CInifile& gameLtx, LPCSTR sh_name)
{
m_name = name;
LPCSTR tex;
Fvector4 tmp;
if( gameLtx.line_exist(m_name,"texture") ){
tex = gameLtx.r_string(m_name,"texture");
tmp = gameLtx.r_fvector4(m_name,"bound_rect");
}else{
tex = "ui\\ui_nomap2";
tmp.set(-10000.0f,-10000.0f,10000.0f,10000.0f);
}
m_BoundRect.set (tmp.x, tmp.y, tmp.z, tmp.w);
CUIStatic::InitEx (tex, sh_name, 0, 0, m_BoundRect.width(), m_BoundRect.height() );
SetStretchTexture (true);
ClipperOn ();
}
示例15: LoadLTX
//----------------------------------------------------
bool ESoundSource::LoadLTX(CInifile& ini, LPCSTR sect_name)
{
u32 version = ini.r_u32(sect_name, "version");
if(version!=SOUND_SOURCE_VERSION)
{
ELog.Msg( mtError, "ESoundSource: Unsupported version.");
return false;
}
inherited::LoadLTX (ini, sect_name);
m_Type = ini.r_u32 (sect_name, "snd_type");
m_WAVName = ini.r_string (sect_name, "snd_name");
m_Flags.assign (ini.r_u32 (sect_name, "flags"));
m_Params.position = ini.r_fvector3 (sect_name, "snd_position");
m_Params.volume = ini.r_float (sect_name, "volume");
m_Params.freq = ini.r_float (sect_name, "freq");
m_Params.min_distance=ini.r_float (sect_name, "min_dist");
m_Params.max_distance= ini.r_float (sect_name, "max_dist");
m_Params.max_ai_distance=ini.r_float (sect_name, "max_ai_dist");
m_RandomPause = ini.r_fvector2 (sect_name, "random_pause");
m_ActiveTime = ini.r_fvector2 (sect_name, "active_time");
m_PlayTime = ini.r_fvector2 (sect_name, "play_time");
ResetSource ();
switch (m_Type)
{
case stStaticSource:
if (m_Flags.is(flPlaying)) Play();
//. if (m_Flags.is(flSimulating)) Simulate();
break;
default: THROW;
}
return true;
}