本文整理汇总了C++中aurora::GFF3Struct类的典型用法代码示例。如果您正苦于以下问题:C++ GFF3Struct类的具体用法?C++ GFF3Struct怎么用?C++ GFF3Struct使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了GFF3Struct类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: loadProperties
void Area::loadProperties(const Aurora::GFF3Struct &props) {
setMusicDayTrack (props.getUint("MusicDay" , Aurora::kStrRefInvalid));
setMusicNightTrack (props.getUint("MusicNight" , Aurora::kStrRefInvalid));
setMusicBattleTrack(props.getUint("MusicBattle", Aurora::kStrRefInvalid));
}
开发者ID:farmboy0,项目名称:xoreos,代码行数:5,代码来源:area.cpp
示例2: loadProperties
void Placeable::loadProperties(const Aurora::GFF3Struct &gff) {
// Tag
_tag = gff.getString("Tag", _tag);
// Name and description
gff.getLocString("LocName" , _name);
gff.getLocString("LocPopupText", _description);
// Conversation
_conversation = gff.getString("Conversation", _conversation);
// Static and usable
_static = !gff.getBool("Active" , !_static);
_usable = gff.getBool("Useable", _usable);
// Appearance
_appearanceID = gff.getUint("Appearance", _appearanceID);
// Position
if (gff.hasField("XPosition")) {
const float position[3] = {
(float) gff.getDouble("XPosition"),
(float) gff.getDouble("YPosition"),
(float) gff.getDouble("ZPosition")
};
setPosition(position[0], position[1], position[2]);
}
// Orientation
if (gff.hasField("XOrientation")) {
const float orientation[4] = {
(float) gff.getDouble("XOrientation"),
(float) gff.getDouble("YOrientation"),
(float) gff.getDouble("ZOrientation"),
(float) Common::rad2deg(acos(gff.getDouble("WOrientation")) * 2.0)
};
setOrientation(orientation[0], orientation[1], orientation[2], orientation[3]);
}
// Variables and script
readVarTable(gff);
readScript(gff);
enableEvents(true);
}
开发者ID:clone2727,项目名称:xoreos,代码行数:46,代码来源:placeable.cpp
示例3: readScript
void ScriptContainer::readScript(const Aurora::GFF3Struct &gff) {
clearScript();
for (size_t i = 0; i < ARRAYSIZE(kScriptNames); i++)
_script = gff.getString(kScriptNames[i], _script);
}
开发者ID:vincele,项目名称:xoreos,代码行数:6,代码来源:container.cpp
示例4: load
void Waypoint::load(const Aurora::GFF3Struct &waypoint) {
// Tag
_tag = waypoint.getString("Tag");
// Group
_group = waypoint.getSint("Group", -1);
// Map Note
_hasMapNote = waypoint.getBool("HasMapNote");
_enabledMapNote = waypoint.getBool("MapNoteEnabled");
waypoint.getLocString("MapNote", _mapNote);
// Type
_type = (uint32) ((int32) waypoint.getSint("MapNoteType", -1));
// Position
const float position[3] = {
(float) waypoint.getDouble("XPosition"),
(float) waypoint.getDouble("YPosition"),
(float) waypoint.getDouble("ZPosition")
};
setPosition(position[0], position[1], position[2]);
// Orientation
const float orientation[4] = {
(float) waypoint.getDouble("XOrientation"),
(float) waypoint.getDouble("YOrientation"),
(float) waypoint.getDouble("ZOrientation"),
(float) Common::rad2deg(acos(waypoint.getDouble("WOrientation")) * 2.0)
};
setOrientation(orientation[0], orientation[1], orientation[2], orientation[3]);
const Aurora::GDAFile &gda = getMGDA(kWorksheetWaypoints);
// Icon
_icon = gda.getString(_type, "Icon");
// Variables
readVarTable(waypoint);
}
开发者ID:Siltala,项目名称:xoreos,代码行数:43,代码来源:waypoint.cpp
示例5: readVarTable
void Object::readVarTable(const Aurora::GFF3Struct &gff) {
if (gff.hasField("VarTable"))
readVarTable(gff.getList("VarTable"));
}
开发者ID:ImperatorPrime,项目名称:xoreos,代码行数:4,代码来源:object.cpp
示例6: loadProperties
void Creature::loadProperties(const Aurora::GFF3Struct &gff) {
// Tag
_tag = gff.getString("Tag", _tag);
// Name
_firstName = gff.getString("FirstName", _firstName);
_lastName = gff.getString("LastName" , _lastName);
_name = _firstName + " " + _lastName;
_name.trim();
// Description
_description = gff.getString("Description", _description);
// Conversation
_conversation = gff.getString("Conversation", _conversation);
// Sound Set
_soundSet = gff.getUint("SoundSetFile", Aurora::kFieldIDInvalid);
// Gender
_gender = gff.getUint("Gender", _gender);
// Race
_race = gff.getUint("Race", _race);
// Subrace
_subRace = gff.getUint("Subrace", _subRace);
// PC and DM
_isPC = gff.getBool("IsPC", _isPC);
_isDM = gff.getBool("IsDM", _isDM);
// Age
_age = gff.getUint("Age", _age);
// Experience
_xp = gff.getUint("Experience", _xp);
// Abilities
_abilities[kAbilityStrength] = gff.getUint("Str", _abilities[kAbilityStrength]);
_abilities[kAbilityDexterity] = gff.getUint("Dex", _abilities[kAbilityDexterity]);
_abilities[kAbilityConstitution] = gff.getUint("Con", _abilities[kAbilityConstitution]);
_abilities[kAbilityIntelligence] = gff.getUint("Int", _abilities[kAbilityIntelligence]);
_abilities[kAbilityWisdom] = gff.getUint("Wis", _abilities[kAbilityWisdom]);
_abilities[kAbilityCharisma] = gff.getUint("Cha", _abilities[kAbilityCharisma]);
// Classes
loadClasses(gff, _classes, _hitDice);
// Skills
if (gff.hasField("SkillList")) {
_skills.clear();
const Aurora::GFF3List &skills = gff.getList("SkillList");
for (Aurora::GFF3List::const_iterator s = skills.begin(); s != skills.end(); ++s) {
const Aurora::GFF3Struct &skill = **s;
_skills.push_back(skill.getSint("Rank"));
}
}
// Feats
if (gff.hasField("FeatList")) {
_feats.clear();
const Aurora::GFF3List &feats = gff.getList("FeatList");
for (Aurora::GFF3List::const_iterator f = feats.begin(); f != feats.end(); ++f) {
const Aurora::GFF3Struct &feat = **f;
_feats.push_back(feat.getUint("Feat"));
}
}
// Deity
_deity = gff.getString("Deity", _deity);
// Health
if (gff.hasField("HitPoints")) {
_baseHP = gff.getSint("HitPoints");
_bonusHP = gff.getSint("MaxHitPoints", _baseHP) - _baseHP;
_currentHP = gff.getSint("CurrentHitPoints", _baseHP);
}
// Alignment
_goodEvil = gff.getUint("GoodEvil", _goodEvil);
_lawChaos = gff.getUint("LawfulChaotic", _lawChaos);
// Appearance
_appearanceID = gff.getUint("Appearance_Type", _appearanceID);
_appearanceHead = gff.getUint("Appearance_Head" , _appearanceHead);
_appearanceMHair = gff.getUint("Appearance_Hair" , _appearanceMHair);
//.........这里部分代码省略.........
开发者ID:clone2727,项目名称:xoreos,代码行数:101,代码来源:creature.cpp
示例7: load
void Situated::load(const Aurora::GFF3Struct &instance, const Aurora::GFF3Struct *blueprint) {
// General properties
if (blueprint)
loadProperties(*blueprint); // Blueprint
loadProperties(instance); // Instance
// Specialized object properties
if (blueprint)
loadObject(*blueprint); // Blueprint
loadObject(instance); // Instance
// Appearance
if (_appearanceID == Aurora::kFieldIDInvalid)
throw Common::Exception("Situated object without an appearance");
loadAppearance();
loadSounds();
// Position
float posX = instance.getDouble("X");
float posY = instance.getDouble("Y");
float posZ = instance.getDouble("Z");
if (instance.hasField("Position")) {
const Aurora::GFF3Struct &pos = instance.getStruct("Position");
posX = pos.getDouble("x");
posY = pos.getDouble("y");
posZ = pos.getDouble("z");
}
setPosition(posX, posY, posZ);
// Orientation
float bearing = instance.getDouble("Bearing");
float rotX = 0.0f;
float rotY = Common::rad2deg(bearing);
float rotZ = 0.0f;
if (instance.hasField("Orientation")) {
const Aurora::GFF3Struct &o = instance.getStruct("Orientation");
float oX = o.getDouble("x");
float oY = o.getDouble("y");
float oZ = o.getDouble("z");
float oW = o.getDouble("w");
// Convert quaternions to roll/pitch/yaw
rotY = 180.0f - Common::rad2deg(atan2(2 * (oX*oY + oZ*oW), 1 - 2 * (oY*oY + oZ*oZ)));
rotX = 180.0f - Common::rad2deg(asin(2 * (oX*oZ - oW*oY)));
rotZ = Common::rad2deg(atan2(2 * (oX*oW + oY*oZ), 1 - 2 * (oZ*oZ + oW*oW)));
}
setOrientation(rotX, rotY, rotZ);
}
开发者ID:strand,项目名称:xoreos,代码行数:64,代码来源:situated.cpp
示例8: loadProperties
void Situated::loadProperties(const Aurora::GFF3Struct &gff) {
// Unique ID and tag
_uniqueID = gff.getString("UniqueID", _uniqueID);
_tag = gff.getString("Tag", _tag);
// Name
if (gff.hasField("LocName")) {
try {
gff.getLocString("LocName", _name);
} catch (...) {
}
}
// Description
if (gff.hasField("Description")) {
try {
gff.getLocString("Description", _description);
} catch (...) {
}
}
refreshLocalized();
// Appearance
_modelName = gff.getString("ModelName", _modelName);
// Sounds
_soundAppType = gff.getUint("SoundAppType", _soundAppType);
// Conversation
_conversation = gff.getString("Conversation", _conversation);
// Static
_static = gff.getBool("Static", _static);
// Usable
_usable = gff.getBool("Useable", _usable);
// Locked
_locked = gff.getBool("Locked", _locked);
}
开发者ID:Glyth,项目名称:xoreos,代码行数:41,代码来源:situated.cpp
示例9: catch
void GFF3Dumper::dumpField(const Aurora::GFF3Struct &strct, const Common::UString &field) {
Aurora::GFF3Struct::FieldType type = strct.getType(field);
Common::UString typeName;
if (((size_t) type) < ARRAYSIZE(kGFF3FieldTypeNames))
typeName = kGFF3FieldTypeNames[(int)type];
else
typeName = "filetype" + Common::composeString((uint64) type);
Common::UString label = field;
// Structs already open their own tag
if (type != Aurora::GFF3Struct::kFieldTypeStruct) {
_xml->openTag(typeName);
_xml->addProperty("label", label);
}
switch (type) {
case Aurora::GFF3Struct::kFieldTypeChar:
_xml->setContents(Common::composeString(strct.getUint(field)));
break;
case Aurora::GFF3Struct::kFieldTypeByte:
case Aurora::GFF3Struct::kFieldTypeUint16:
case Aurora::GFF3Struct::kFieldTypeUint32:
case Aurora::GFF3Struct::kFieldTypeUint64:
_xml->setContents(Common::composeString(strct.getUint(field)));
break;
case Aurora::GFF3Struct::kFieldTypeSint16:
case Aurora::GFF3Struct::kFieldTypeSint32:
case Aurora::GFF3Struct::kFieldTypeSint64:
_xml->setContents(Common::composeString(strct.getSint(field)));
break;
case Aurora::GFF3Struct::kFieldTypeFloat:
case Aurora::GFF3Struct::kFieldTypeDouble:
_xml->setContents(Common::UString::format("%.6f", strct.getDouble(field)));
break;
case Aurora::GFF3Struct::kFieldTypeStrRef:
_xml->setContents(strct.getString(field));
break;
case Aurora::GFF3Struct::kFieldTypeExoString:
case Aurora::GFF3Struct::kFieldTypeResRef:
try {
_xml->setContents(strct.getString(field));
} catch (...) {
_xml->addProperty("base64", "true");
Common::SeekableReadStream *data = strct.getData(field);
_xml->setContents(*data);
delete data;
}
break;
case Aurora::GFF3Struct::kFieldTypeLocString:
{
Aurora::LocString locString;
strct.getLocString(field, locString);
_xml->addProperty("strref", Common::composeString(locString.getID()));
dumpLocString(locString);
}
break;
case Aurora::GFF3Struct::kFieldTypeVoid:
_xml->setContents(*strct.getData(field));
break;
case Aurora::GFF3Struct::kFieldTypeStruct:
dumpStruct(strct.getStruct(field), label);
break;
case Aurora::GFF3Struct::kFieldTypeList:
dumpList(strct.getList(field));
break;
case Aurora::GFF3Struct::kFieldTypeOrientation:
{
double a = 0.0, b = 0.0, c = 0.0, d = 0.0;
strct.getOrientation(field, a, b, c, d);
_xml->breakLine();
_xml->openTag("double");
_xml->setContents(Common::UString::format("%.6f", a));
_xml->closeTag();
_xml->breakLine();
_xml->openTag("double");
_xml->setContents(Common::UString::format("%.6f", b));
_xml->closeTag();
_xml->breakLine();
_xml->openTag("double");
_xml->setContents(Common::UString::format("%.6f", c));
//.........这里部分代码省略.........
开发者ID:idkwim,项目名称:xoreos-tools,代码行数:101,代码来源:gff3dumper.cpp
示例10: loadProperties
void Creature::loadProperties(const Aurora::GFF3Struct &gff) {
// Tag
_tag = gff.getString("Tag", _tag);
// Name
_firstName = gff.getString("FirstName", _firstName);
_lastName = gff.getString("LastName" , _lastName);
_name = _firstName + " " + _lastName;
_name.trim();
// Description
_description = gff.getString("Description", _description);
// Conversation
_conversation = gff.getString("Conversation", _conversation);
// Sound Set
_soundSet = gff.getUint("SoundSetFile", Aurora::kFieldIDInvalid);
// Portrait
loadPortrait(gff, _portrait);
// Gender
_gender = (Gender) gff.getUint("Gender", (uint64) _gender);
// Race
_race = gff.getUint("Race", _race);
// Subrace
_subRace = gff.getString("Subrace", _subRace);
// PC and DM
_isPC = gff.getBool("IsPC", _isPC);
_isDM = gff.getBool("IsDM", _isDM);
// Age
_age = gff.getUint("Age", _age);
// Experience
_xp = gff.getUint("Experience", _xp);
// Abilities
_abilities[kAbilityStrength] = gff.getUint("Str", _abilities[kAbilityStrength]);
_abilities[kAbilityDexterity] = gff.getUint("Dex", _abilities[kAbilityDexterity]);
_abilities[kAbilityConstitution] = gff.getUint("Con", _abilities[kAbilityConstitution]);
_abilities[kAbilityIntelligence] = gff.getUint("Int", _abilities[kAbilityIntelligence]);
_abilities[kAbilityWisdom] = gff.getUint("Wis", _abilities[kAbilityWisdom]);
_abilities[kAbilityCharisma] = gff.getUint("Cha", _abilities[kAbilityCharisma]);
// Classes
loadClasses(gff, _classes, _hitDice);
// Skills
if (gff.hasField("SkillList")) {
_skills.clear();
const Aurora::GFF3List &skills = gff.getList("SkillList");
for (Aurora::GFF3List::const_iterator s = skills.begin(); s != skills.end(); ++s) {
const Aurora::GFF3Struct &skill = **s;
_skills.push_back(skill.getSint("Rank"));
}
}
// Feats
if (gff.hasField("FeatList")) {
_feats.clear();
const Aurora::GFF3List &feats = gff.getList("FeatList");
for (Aurora::GFF3List::const_iterator f = feats.begin(); f != feats.end(); ++f) {
const Aurora::GFF3Struct &feat = **f;
_feats.push_back(feat.getUint("Feat"));
}
}
// Deity
_deity = gff.getString("Deity", _deity);
// Health
if (gff.hasField("HitPoints")) {
_baseHP = gff.getSint("HitPoints");
_bonusHP = gff.getSint("MaxHitPoints", _baseHP) - _baseHP;
_currentHP = gff.getSint("CurrentHitPoints", _baseHP);
}
// Alignment
_goodEvil = gff.getUint("GoodEvil", _goodEvil);
_lawChaos = gff.getUint("LawfulChaotic", _lawChaos);
// Appearance
//.........这里部分代码省略.........
开发者ID:clone2727,项目名称:xoreos,代码行数:101,代码来源:creature.cpp
示例11: readTint
bool readTint(const Aurora::GFF3Struct &gff, const Common::UString &strct, float t[3][4]) {
if (!gff.hasField(strct))
return false;
return readTint(gff.getStruct(strct), t);
}
开发者ID:Glyth,项目名称:xoreos,代码行数:6,代码来源:util.cpp
注:本文中的aurora::GFF3Struct类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论