| 320 | } |
| 321 | |
| 322 | void CPEDef::Save2(CInifile& ini) |
| 323 | { |
| 324 | ini.w_u16("_effect", "version", PED_VERSION); |
| 325 | ini.w_u32("_effect", "max_particles", m_MaxParticles); |
| 326 | ini.w_u32("_effect", "flags", m_Flags.get()); |
| 327 | |
| 328 | if (m_Flags.is(dfSprite)) |
| 329 | { |
| 330 | ini.w_string("sprite", "shader", m_ShaderName.c_str()); |
| 331 | ini.w_string("sprite", "texture", m_TextureName.c_str()); |
| 332 | } |
| 333 | |
| 334 | if (m_Flags.is(dfFramed)) |
| 335 | { |
| 336 | ini.w_fvector2("frame", "tex_size", m_Frame.m_fTexSize); |
| 337 | ini.w_fvector2("frame", "reserved", m_Frame.reserved); |
| 338 | ini.w_s32("frame", "dim_x", m_Frame.m_iFrameDimX); |
| 339 | ini.w_s32("frame", "frame_count", m_Frame.m_iFrameCount); |
| 340 | ini.w_float("frame", "speed", m_Frame.m_fSpeed); |
| 341 | } |
| 342 | |
| 343 | if (m_Flags.is(dfTimeLimit)) |
| 344 | { |
| 345 | ini.w_float("timelimit", "value", m_fTimeLimit); |
| 346 | } |
| 347 | |
| 348 | if (m_Flags.is(dfCollision)) |
| 349 | { |
| 350 | ini.w_float("collision", "one_minus_friction", m_fCollideOneMinusFriction); |
| 351 | ini.w_float("collision", "collide_resilence", m_fCollideResilience); |
| 352 | ini.w_float("collision", "collide_sqr_cutoff", m_fCollideSqrCutoff); |
| 353 | } |
| 354 | |
| 355 | if (m_Flags.is(dfVelocityScale)) |
| 356 | { |
| 357 | ini.w_fvector3("velocity_scale", "value", m_VelocityScale); |
| 358 | } |
| 359 | |
| 360 | if (m_Flags.is(dfAlignToPath)) |
| 361 | { |
| 362 | ini.w_fvector3("align_to_path", "default_rotation", m_APDefaultRotation); |
| 363 | } |
| 364 | |
| 365 | ini.w_u32("_effect", "action_count", m_EActionList.size()); |
| 366 | u32 action_id = 0; |
| 367 | for (EPAVecIt it = m_EActionList.begin(); it != m_EActionList.end(); ++it, ++action_id) |
| 368 | { |
| 369 | string256 sect; |
| 370 | xr_sprintf(sect, sizeof(sect), "action_%04d", action_id); |
| 371 | ini.w_u32(sect, "action_type", (*it)->type); |
| 372 | (*it)->Save2(ini, sect); |
| 373 | } |
| 374 | |
| 375 | } |
| 376 | |
| 377 | void CPEDef::Save(IWriter& F) |
| 378 | { |
nothing calls this directly
no test coverage detected