本文整理汇总了C++中FArchive::GetStopper方法的典型用法代码示例。如果您正苦于以下问题:C++ FArchive::GetStopper方法的具体用法?C++ FArchive::GetStopper怎么用?C++ FArchive::GetStopper使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FArchive
的用法示例。
在下文中一共展示了FArchive::GetStopper方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Serialize
//.........这里部分代码省略.........
Ar << CollapseWedge << f1C8;
}
#if TRIBES3
if ((Ar.Game == GAME_Tribes3 || Ar.Game == GAME_Swat4) && t3_hdrSV >= 3)
{
#if 0
// it looks like format of following data was chenged sinse
// data was prepared, and game executeble does not load these
// LazyArrays (otherwise error should occur) -- so we are
// simply skipping these arrays
TLazyArray<FT3Unk1> unk1;
TLazyArray<FMeshWedge> unk2;
TLazyArray<word> unk3;
Ar << unk1 << unk2 << unk3;
#else
SkipLazyArray(Ar);
SkipLazyArray(Ar);
SkipLazyArray(Ar);
#endif
// nothing interesting below ...
goto skip_remaining;
}
#endif // TRIBES3
#if BATTLE_TERR
if (Ar.Game == GAME_BattleTerr) goto skip_remaining;
#endif
#if UC2
if (Ar.Engine() == GAME_UE2X) goto skip_remaining;
#endif
#if LINEAGE2
if (Ar.Game == GAME_Lineage2)
{
int unk1, unk3, unk4;
TArray<float> unk2;
if (Ar.ArVer >= 118 && Ar.ArLicenseeVer >= 3)
Ar << unk1;
if (Ar.ArVer >= 123 && Ar.ArLicenseeVer >= 0x12)
Ar << unk2;
if (Ar.ArVer >= 120)
Ar << unk3; // AuthKey ?
if (Ar.ArLicenseeVer >= 0x23)
Ar << unk4;
ConvertMesh();
return;
}
#endif // LINEAGE2
if (Ar.ArVer >= 120)
{
Ar << AuthKey;
}
#if LOCO
if (Ar.Game == GAME_Loco) goto skip_remaining; // Loco codepath is similar to UT2004, but sometimes has different version switches
#endif
#if UT2
if (Ar.Game == GAME_UT2)
{
// UT2004 has branched version of UE2, which is slightly different
// in comparison with generic UE2, which is used in all other UE2 games.
if (Ar.ArVer >= 122)
Ar << KarmaProps << BoundingSpheres << BoundingBoxes << f32C;
if (Ar.ArVer >= 127)
Ar << CollisionMesh;
ConvertMesh();
return;
}
#endif // UT2
// generic UE2 code
if (Ar.ArVer >= 124)
Ar << KarmaProps << BoundingSpheres << BoundingBoxes;
if (Ar.ArVer >= 125)
Ar << f32C;
#if XIII
if (Ar.Game == GAME_XIII) goto skip_remaining;
#endif
#if RAGNAROK2
if (Ar.Game == GAME_Ragnarok2 && Ar.ArVer >= 131)
{
float unk1, unk2;
Ar << unk1 << unk2;
}
#endif // RAGNAROK2
if (Ar.ArLicenseeVer && (Ar.Tell() != Ar.GetStopper()))
{
appPrintf("Serializing SkeletalMesh'%s' of unknown game: %d unreal bytes\n", Name, Ar.GetStopper() - Ar.Tell());
skip_remaining:
DROP_REMAINING_DATA(Ar);
}
ConvertMesh();
unguard;
}