void ESceneAIMapTool::SaveLTX(CInifile& ini) { inherited::SaveLTX (ini); ini.w_u32 ("main", "version", AIMAP_VERSION); ini.w_u32 ("main", "flags", m_Flags.get()); ini.w_fvector3 ("main", "bbox_min", m_AIBBox.min); ini.w_fvector3 ("main", "bbox_max", m_AIBBox.max); ini.w_float ("params", "patch_size", m_Params.fPatchSize); ini.w_float ("params", "test_height", m_Params.fTestHeight); ini.w_float ("params", "can_up", m_Params.fCanUP); ini.w_float ("params", "can_down", m_Params.fCanDOWN); EnumerateNodes (); ini.w_u32 ("main", "nodes_count", m_Nodes.size()); u32 i = 0; string128 buff; for (AINodeIt it=m_Nodes.begin(); it!=m_Nodes.end(); ++it, ++i) { sprintf (buff,"n_%d", i); (*it)->SaveLTX (ini, buff, this); } ini.w_float ("main", "vis_radius", m_VisRadius); ini.w_u32 ("main", "brush_size", m_BrushSize); ini.w_float ("main", "smooth_height", m_SmoothHeight); for (ObjectIt o_it=m_SnapObjects.begin(); o_it!=m_SnapObjects.end(); ++o_it) ini.w_string ("snap_objects", (*o_it)->Name, NULL); }
void SAINode::SaveLTX(CInifile& ini, LPCSTR sect_name, ESceneAIMapTool* tools) { R_ASSERT2 (0, "dont use it !!!"); u32 id; u16 pl; NodePosition np; id = n1?(u32)n1->idx:InvalidNode; ini.w_u32 (sect_name,"n1", id); id = n2?(u32)n2->idx:InvalidNode; ini.w_u32 (sect_name,"n2", id); id = n3?(u32)n3->idx:InvalidNode; ini.w_u32 (sect_name,"n3", id); id = n4?(u32)n4->idx:InvalidNode; ini.w_u32 (sect_name,"n4", id); pl = pvCompress (Plane.n); ini.w_u16 (sect_name, "plane", pl); tools->PackPosition(np,Pos,tools->m_AIBBox,tools->m_Params); string256 buff; s16 x; u16 y; s16 z; sprintf (buff,"%i,%u,%i",np.x,np.y,np.z); ini.w_string (sect_name, "np", buff); ini.w_u8 (sect_name, "flag", flags.get()); }
void CEditShape::SaveLTX(CInifile& ini, LPCSTR sect_name) { inherited::SaveLTX (ini, sect_name); ini.w_u32 (sect_name, "version", SHAPE_CURRENT_VERSION); ini.w_u32 (sect_name, "shapes_count", shapes.size()); ini.w_u8 (sect_name, "shape_type", m_shape_type); string128 buff; for(u32 i=0; i<shapes.size(); ++i) { sprintf (buff,"shape_type_%d", i); ini.w_u8 (sect_name, buff, shapes[i].type); if(shapes[i].type==CShapeData::cfSphere) { sprintf (buff,"shape_center_%d", i); ini.w_fvector3 (sect_name, buff, shapes[i].data.sphere.P); sprintf (buff,"shape_radius_%d", i); ini.w_float (sect_name, buff, shapes[i].data.sphere.R); }else { R_ASSERT (shapes[i].type==CShapeData::cfBox); sprintf (buff,"shape_matrix_i_%d", i); ini.w_fvector3 (sect_name, buff, shapes[i].data.box.i); sprintf (buff,"shape_matrix_j_%d", i); ini.w_fvector3 (sect_name, buff, shapes[i].data.box.j); sprintf (buff,"shape_matrix_k_%d", i); ini.w_fvector3 (sect_name, buff, shapes[i].data.box.k); sprintf (buff,"shape_matrix_c_%d", i); ini.w_fvector3 (sect_name, buff, shapes[i].data.box.c); } } }
void ESceneSpawnTool::SaveLTX(CInifile& ini, int id) { inherited::SaveLTX (ini, id); ini.w_u32 ("main", "version", SPAWN_TOOLS_VERSION); ini.w_u32 ("main", "flags", m_Flags.get()); }
void ESceneSectorTool::SaveLTX(CInifile& ini) { inherited::SaveLTX (ini); ini.w_u32 ("main", "version", SECTOR_TOOLS_VERSION); ini.w_u32 ("main", "flags", m_Flags.get()); }
void CPEDef::Save2(CInifile& ini) { ini.w_u16 ("_effect", "version", PED_VERSION); //. ini.w_string ("_effect", "name", m_Name.c_str()); ini.w_u32 ("_effect", "max_particles", m_MaxParticles); //.!! F.w (m_Actions.pointer(),m_Actions.size()); ini.w_u32 ("_effect", "flags", m_Flags.get()); if (m_Flags.is(dfSprite)) { ini.w_string ("sprite", "shader", m_ShaderName.c_str()); ini.w_string ("sprite", "texture", m_TextureName.c_str()); } if (m_Flags.is(dfFramed)) { ini.w_fvector2 ("frame", "tex_size", m_Frame.m_fTexSize); ini.w_fvector2 ("frame", "reserved", m_Frame.reserved); ini.w_s32 ("frame", "dim_x", m_Frame.m_iFrameDimX); ini.w_s32 ("frame", "frame_count", m_Frame.m_iFrameCount); ini.w_float ("frame", "speed", m_Frame.m_fSpeed); } if (m_Flags.is(dfTimeLimit)) { ini.w_float ("timelimit", "value", m_fTimeLimit); } if (m_Flags.is(dfCollision)) { ini.w_float ("collision", "one_minus_friction", m_fCollideOneMinusFriction); ini.w_float ("collision", "collide_resilence", m_fCollideResilience); ini.w_float ("collision", "collide_sqr_cutoff", m_fCollideSqrCutoff); } if (m_Flags.is(dfVelocityScale)) { ini.w_fvector3 ("velocity_scale", "value", m_VelocityScale); } if (m_Flags.is(dfAlignToPath)) { ini.w_fvector3 ("align_to_path", "default_rotation", m_APDefaultRotation); } #ifdef _EDITOR ini.w_u32 ("_effect", "action_count", m_EActionList.size()); u32 action_id = 0; for (EPAVecIt it=m_EActionList.begin(); it!=m_EActionList.end(); ++it,++action_id) { string256 sect; xr_sprintf (sect, sizeof(sect), "action_%04d", action_id); ini.w_u32 (sect, "action_type", (*it)->type); (*it)->Save2 (ini, sect); } #endif }
void PDomain::Save2(CInifile& ini, const shared_str& sect) { ini.w_u32 (sect.c_str(), "type", type); ini.w_fvector3 (sect.c_str(), "v0", v[0]); ini.w_fvector3 (sect.c_str(), "v1", v[1]); ini.w_fvector3 (sect.c_str(), "v2", v[2]); }
void WeaponUsageStatistic::WriteLtx(CInifile& ini) { LPCSTR sect = "wpn_usage"; ini.w_u32(sect, "dwTotalPlayersAliveTime_0_sec",m_dwTotalPlayersAliveTime[0]/1000); ini.w_u32(sect, "dwTotalPlayersAliveTime_1_sec",m_dwTotalPlayersAliveTime[1]/1000); ini.w_u32(sect, "dwTotalPlayersAliveTime_2_sec",m_dwTotalPlayersAliveTime[2]/1000); ini.w_u32(sect, "dwTotalPlayersMoneyRound_0",m_dwTotalPlayersMoneyRound[0]); ini.w_u32(sect, "dwTotalPlayersMoneyRound_1",m_dwTotalPlayersMoneyRound[1]); ini.w_u32(sect, "dwTotalPlayersMoneyRound_2",m_dwTotalPlayersMoneyRound[2]); ini.w_u32(sect, "dwTotalNumRespawns_0",m_dwTotalNumRespawns[0]); ini.w_u32(sect, "dwTotalNumRespawns_1",m_dwTotalNumRespawns[1]); ini.w_u32(sect, "dwTotalNumRespawns_2",m_dwTotalNumRespawns[2]); u32 NumPlayers = aPlayersStatistic.size(); ini.w_u32(sect, "NumPlayers",NumPlayers); for (u32 i=0; i<NumPlayers; i++) { Player_Statistic& PS = aPlayersStatistic[i]; string512 save_sect; sprintf_s (save_sect,"%s_player_%d",sect,i); PS.WriteLtx (ini,save_sect); } }
void ESoundEnvironment::SaveLTX(CInifile& ini, LPCSTR sect_name) { inherited::SaveLTX (ini, sect_name); ini.w_u32 (sect_name, "version", SOUND_ENV_VERSION); ini.w_string (sect_name, "env_inner", m_EnvInner.c_str()); ini.w_string (sect_name, "env_outer", m_EnvOuter.c_str()); }
void game_sv_TeamDeathmatch::WriteGameState(CInifile& ini, LPCSTR sect, bool bRoundResult) { inherited::WriteGameState(ini, sect, bRoundResult); for(u32 i=0; i<teams.size(); ++i ) { string16 buf_name; sprintf_s (buf_name,"team_%d_score",i); ini.w_u32 (sect,buf_name, GetTeamScore(i)); } }
void EScene::SaveObjectsLTX(ObjectList& lst, LPCSTR sect_name_parent, LPCSTR sect_name_prefix, CInifile& ini) { u32 i = 0; string256 buff; for(ObjectIt _F = lst.begin(); _F!=lst.end(); ++_F, ++i) { sprintf (buff,"%s_%s_%d",sect_name_parent,sect_name_prefix,i); SaveObjectLTX (*_F,buff,ini); } sprintf (buff,"%s_count",sect_name_prefix); ini.w_u32 (sect_name_parent, buff, lst.size()); }
//------------------------------------------------------------------------------------------------ // Level Options //------------------------------------------------------------------------------------------------ void st_LevelOptions::SaveLTX( CInifile& ini ) { LPCSTR section = "level_options"; ini.w_u32 (section, "version", CURRENT_LEVELOP_VERSION); ini.w_string (section, "level_path", m_FNLevelPath.c_str()); ini.w_string (section, "level_prefix", m_LevelPrefix.c_str()); xr_string s = "\""; s += m_BOPText.c_str(); s += "\""; ini.w_string (section, "bop", s.c_str()); ini.w_string (section, "map_version", m_map_version.c_str()); ini.w_u32 (section, "version_bp", CURRENT_LEVELOP_BP_VERSION); m_BuildParams.SaveLTX (ini); ini.w_u8 (section, "light_hemi_quality", m_LightHemiQuality ); ini.w_u8 (section, "light_sun_quality", m_LightSunQuality ); m_mapUsage.SaveLTX(ini,section); }
void Weapon_Statistic::WriteLtx(CInifile& ini, LPCSTR sect) { ini.w_string(sect,"wpn_name",WName.c_str()); ini.w_string(sect,"wpn_inv_name",InvName.c_str()); ini.w_u32(sect,"wpn_dwNumBought",NumBought); ini.w_u32(sect,"wpn_dwRoundsFired",m_dwRoundsFired); ini.w_u32(sect,"wpn_dwBulletsFired",m_dwBulletsFired); ini.w_u32(sect,"wpn_dwHitsScored",m_dwHitsScored); ini.w_u32(sect,"wpn_dwKillsScored",m_dwKillsScored); ini.w_u16(sect,"wpn_dwExplosionKills", m_explosion_kills); ini.w_u16(sect,"wpn_dwBleedKills", m_bleed_kills); //---------------------------------------------- u32 NumHits = 0; u32 i = 0; for (i=0; i<m_Hits.size(); i++) { HitData& Hit = m_Hits[i]; if (Hit.Completed && Hit.count) NumHits++; }; ini.w_u32(sect,"NumHits",NumHits); u32 hits_size = m_Hits.size(); i = 0; u32 hit_number = 0; u8 hit_index = 0; while (i < hits_size) { HitData& Hit = m_Hits[i]; if (!Hit.Completed) { ++i; hit_index = 0; continue; } string512 save_prefix; xr_sprintf (save_prefix,"hit_%d_", hit_number); Hit.WriteLtx (ini, sect, save_prefix); ++hit_index; if (hit_index >= Hit.count) { hit_index = 0; ++i; } ++hit_number; }; };
void ESoundSource::SaveLTX(CInifile& ini, LPCSTR sect_name) { inherited::SaveLTX (ini, sect_name); ini.w_u32 (sect_name, "version", SOUND_SOURCE_VERSION); ini.w_u32 (sect_name, "snd_type", m_Type); ini.w_string (sect_name, "snd_name", m_WAVName.c_str()); ini.w_u32 (sect_name, "flags", m_Flags.get()); ini.w_fvector3 (sect_name, "snd_position", m_Params.position); ini.w_float (sect_name, "volume", m_Params.volume); ini.w_float (sect_name, "freq", m_Params.freq); ini.w_float (sect_name, "min_dist", m_Params.min_distance); ini.w_float (sect_name, "max_dist", m_Params.max_distance); ini.w_float (sect_name, "max_ai_dist", m_Params.max_ai_distance); ini.w_fvector2 (sect_name, "random_pause", m_RandomPause); ini.w_fvector2 (sect_name, "active_time", m_ActiveTime); ini.w_fvector2 (sect_name, "play_time", m_PlayTime); }
void Player_Statistic::WriteLtx(CInifile& ini, LPCSTR sect) { ini.w_string(sect, "name", PName.c_str()); ini.w_string(sect, "player_unique_digest", PDigest.c_str()); ini.w_u32(sect, "player_profile_id", PID); ini.w_u32(sect,"TotalShots",m_dwTotalShots); ini.w_u32(sect,"dwTotalAliveTime_0_sec",m_dwTotalAliveTime[0]/1000); ini.w_u32(sect,"dwTotalAliveTime_1_sec",m_dwTotalAliveTime[1]/1000); ini.w_u32(sect,"dwTotalAliveTime_2_sec",m_dwTotalAliveTime[2]/1000); ini.w_u32(sect,"dwTotalMoneyRound_0",m_dwTotalMoneyRound[0]); ini.w_u32(sect,"dwTotalMoneyRound_1",m_dwTotalMoneyRound[1]); ini.w_u32(sect,"dwTotalMoneyRound_2",m_dwTotalMoneyRound[2]); ini.w_u32(sect,"dwNumRespawned_0",m_dwNumRespawned[0]); ini.w_u32(sect,"dwNumRespawned_1",m_dwNumRespawned[1]); ini.w_u32(sect,"dwNumRespawned_2",m_dwNumRespawned[2]); ini.w_u8(sect,"m_dwArtefacts_0",m_dwArtefacts[0]); ini.w_u8(sect,"m_dwArtefacts_1",m_dwArtefacts[1]); ini.w_u8(sect,"m_dwArtefacts_2",m_dwArtefacts[2]); ini.w_u8(sect,"dwCurrentTeam",m_dwCurrentTeam); u32 NumWeapons = aWeaponStats.size(); ini.w_u32(sect,"NumWeapons",NumWeapons); for (u32 i=0; i<aWeaponStats.size(); i++) { string512 save_sect; xr_sprintf (save_sect,"%s_wpn_%d",sect,i); Weapon_Statistic& WS = aWeaponStats[i]; WS.WriteLtx (ini, save_sect); } }
void CGroupObject::SaveLTX(CInifile& ini, LPCSTR sect_name) { CCustomObject::SaveLTX(ini, sect_name); ini.w_u32 (sect_name, "version", GROUPOBJ_CURRENT_VERSION); ObjectList grp_lst; GetObjects (grp_lst); ObjectList::iterator it; for(it=grp_lst.begin(); it!=grp_lst.end(); ++it) (*it)->m_CO_Flags.set(CCustomObject::flObjectInGroup, FALSE); Scene->SaveObjectsLTX(grp_lst, sect_name, "ingroup", ini); for(it=grp_lst.begin(); it!=grp_lst.end(); ++it) (*it)->m_CO_Flags.set(CCustomObject::flObjectInGroup, TRUE); ini.w_string (sect_name, "ref_name", m_ReferenceName_.c_str()); }
void __fastcall TfrmImageLib::ebSyncTypesClick(TObject *Sender) { if (ELog.DlgMsg(mtConfirmation,TMsgDlgButtons()<<mbYes<<mbNo,"Are you sure to sync types?")==mrNo) return; if (!modif_map.empty()){ int res = ELog.DlgMsg(mtConfirmation,TMsgDlgButtons()<<mbYes<<mbNo<<mbCancel,"Save modified properties?"); switch (res){ case mrYes: UpdateLib(); break; case mrNo: break; case mrCancel: return; } } string_path nm; FS.update_path (nm,_game_textures_,"textures.ltx"); CInifile* ini = xr_new<CInifile>(nm, FALSE, FALSE, TRUE); LockForm (); FS_FileSetIt it = texture_map.begin(); FS_FileSetIt _E = texture_map.end(); SPBItem* pb = UI->ProgressStart(texture_map.size(),"Syncronising types"); bool bRes=true; for (;it!=_E; it++){ ETextureThumbnail* m_Thm = xr_new<ETextureThumbnail>(it->name.c_str()); pb->Inc (it->name.c_str()); AnsiString base_name= ChangeFileExt(it->name.c_str(),""); ini->w_u32 ("types", base_name.c_str(),m_Thm->_Format().type); xr_delete (m_Thm); if (UI->NeedAbort()){ bRes=false; break; } } UI->ProgressEnd(pb); UnlockForm(); if (!bRes) ini->bSaveAtEnd = false; xr_delete(ini); }
void WeaponUsageStatistic::WriteLtx(CInifile& ini) { LPCSTR sect = "wpn_usage"; ini.w_u32(sect, "dwTotalPlayersAliveTime_0_sec",m_dwTotalPlayersAliveTime[0]/1000); ini.w_u32(sect, "dwTotalPlayersAliveTime_1_sec",m_dwTotalPlayersAliveTime[1]/1000); ini.w_u32(sect, "dwTotalPlayersAliveTime_2_sec",m_dwTotalPlayersAliveTime[2]/1000); ini.w_u32(sect, "dwTotalPlayersMoneyRound_0",m_dwTotalPlayersMoneyRound[0]); ini.w_u32(sect, "dwTotalPlayersMoneyRound_1",m_dwTotalPlayersMoneyRound[1]); ini.w_u32(sect, "dwTotalPlayersMoneyRound_2",m_dwTotalPlayersMoneyRound[2]); ini.w_u32(sect, "dwTotalNumRespawns_0",m_dwTotalNumRespawns[0]); ini.w_u32(sect, "dwTotalNumRespawns_1",m_dwTotalNumRespawns[1]); ini.w_u32(sect, "dwTotalNumRespawns_2",m_dwTotalNumRespawns[2]); u32 NumPlayers = aPlayersStatistic.size(); u32 validPlayersCount = 0; for (u32 i = 0; i < NumPlayers; ++i) { if (aPlayersStatistic[i].PDigest.size()) { ++validPlayersCount; } } ini.w_u32(sect, "NumPlayers", validPlayersCount); u32 playerIndex = 0; for (u32 i=0; i<NumPlayers; i++) { Player_Statistic& PS = aPlayersStatistic[i]; string512 save_sect; if (PS.PDigest.size()) { xr_sprintf (save_sect,"%s_player_%d",sect,playerIndex); PS.WriteLtx (ini,save_sect); ++playerIndex; } } }
void Weapon_Statistic::WriteLtx(CInifile& ini, LPCSTR sect) { ini.w_string(sect,"wpn_name",WName.c_str()); ini.w_string(sect,"wpn_inv_name",InvName.c_str()); ini.w_u32(sect,"wpn_dwNumBought",NumBought); ini.w_u32(sect,"wpn_dwRoundsFired",m_dwRoundsFired); ini.w_u32(sect,"wpn_dwBulletsFired",m_dwBulletsFired); ini.w_u32(sect,"wpn_dwHitsScored",m_dwHitsScored); ini.w_u32(sect,"wpn_dwKillsScored",m_dwKillsScored); //---------------------------------------------- u32 NumHits = 0; for (u32 i=0; i<m_Hits.size(); i++) { HitData& Hit = m_Hits[i]; if (Hit.Completed) NumHits++; }; ini.w_u32(sect,"NumHits",NumHits); for (i=0; i<m_Hits.size(); ++i) { HitData& Hit = m_Hits[i]; if (!Hit.Completed) continue; string512 save_prefix; sprintf_s (save_prefix,"hit_%d_", i); Hit.WriteLtx (ini, sect, save_prefix); }; };
void EScene::SaveObjectLTX(CCustomObject* O, LPCSTR sect_name, CInifile& ini) { ini.w_u32 (sect_name,"clsid",O->ClassID); O->SaveLTX (ini, sect_name); }
void ESceneToolBase::SaveLTX(CInifile& ini, int id) { ini.w_string ("modif", "name", m_ModifName.c_str()); ini.w_u32 ("modif", "time", m_ModifTime); }
void ESceneWayTool::SaveLTX(CInifile& ini, int id) { inherited::SaveLTX (ini, id); ini.w_u32 ("main", "version",WAY_TOOLS_VERSION); }