FArchiveXML::LetWriteObject(physicsRigidBodyParameters->GetPhysicsShape(i), techniqueNode);\r
}\r
}\r
-\r
-template <class TYPE, int QUAL>\r
-xmlNode* FArchiveXML::AddPhysicsParameter(xmlNode* parentNode, const char* name, FCDParameterAnimatableT<TYPE,QUAL>& value)\r
-{\r
- xmlNode* paramNode = AddChild(parentNode, name);\r
- AddContent(paramNode, FUStringConversion::ToString((TYPE&) value));\r
- if (value.IsAnimated())\r
- {\r
- const FCDAnimated* animated = value.GetAnimated();\r
- FArchiveXML::WriteAnimatedValue(animated, paramNode, name);\r
- }\r
- return paramNode;\r
-}\r
\r
static void WritePhysicsRigidBodyParameters(FCDPhysicsRigidBodyParameters* physicsRigidBodyParameters, xmlNode* techniqueNode);\r
template <class TYPE, int QUAL>\r
- static xmlNode* AddPhysicsParameter(xmlNode* parentNode, const char* name, FCDParameterAnimatableT<TYPE,QUAL>& value);\r
+ static xmlNode* AddPhysicsParameter(xmlNode* parentNode, const char* name, FCDParameterAnimatableT<TYPE,QUAL>& value) {\r
+ xmlNode* paramNode = AddChild(parentNode, name);\r
+ AddContent(paramNode, FUStringConversion::ToString((TYPE&) value));\r
+ if (value.IsAnimated())\r
+ {\r
+ const FCDAnimated* animated = value.GetAnimated();\r
+ FArchiveXML::WriteAnimatedValue(animated, paramNode, name);\r
+ }\r
+ return paramNode;\r
+ }\r
\r
\r
//\r
jGoal = jBest;
}
-void HierarchicalPathfinder::FindReachableRegions(RegionID from, std::set<RegionID>& reachable, pass_class_t passClass)
-{
- // Flood-fill the region graph, starting at 'from',
- // collecting all the regions that are reachable via edges
-
- std::vector<RegionID> open;
- open.push_back(from);
- reachable.insert(from);
-
- while (!open.empty())
- {
- RegionID curr = open.back();
- open.pop_back();
-
- for (const RegionID& region : m_Edges[passClass][curr])
- // Add to the reachable set; if this is the first time we added
- // it then also add it to the open list
- if (reachable.insert(region).second)
- open.push_back(region);
- }
-}
-
void HierarchicalPathfinder::FindPassableRegions(std::set<RegionID>& regions, pass_class_t passClass)
{
// Construct a set of all regions of all chunks for this pass class
void FindEdges(u8 ci, u8 cj, pass_class_t passClass, EdgesMap& edges);
- void FindReachableRegions(RegionID from, std::set<RegionID>& reachable, pass_class_t passClass);
+ void FindReachableRegions(RegionID from, std::set<RegionID>& reachable, pass_class_t passClass)
+ {
+ // Flood-fill the region graph, starting at 'from',
+ // collecting all the regions that are reachable via edges
+
+ std::vector<RegionID> open;
+ open.push_back(from);
+ reachable.insert(from);
+
+ while (!open.empty())
+ {
+ RegionID curr = open.back();
+ open.pop_back();
+
+ for (const RegionID& region : m_Edges[passClass][curr])
+ // Add to the reachable set; if this is the first time we added
+ // it then also add it to the open list
+ if (reachable.insert(region).second)
+ open.push_back(region);
+ }
+ }
void FindPassableRegions(std::set<RegionID>& regions, pass_class_t passClass);