squad createSquad(aiTeam _t) { squad r; r.m_team = _t; r.m_regroupDist = randNum(1000.0f, 2000.0f); r.m_size = 0; r.m_strength = 0.0f; r.m_confidence = 0.0f; r.m_max_size = rand() % 20 + 40; r.m_squadGoal = GOAL_CONGREGATE; if(_t == TEAM_PLAYER) r.m_targetPos = vec3(); else r.m_targetPos = tovec3( randVec2(2000.0f, 100000.0f) ); r.m_pAveragePos = r.m_targetPos; r.m_averagePos = vec3(); r.m_averageVel = vec3(); return r; }
} else { Ogre::Vector3* v3 = (Ogre::Vector3*)lua_cast(L,n,"Vector3"); if( v3 ) return *v3; } return Ogre::Vector3(); } VEC3_METHOD(normalise) pnumber(self->normalise()); METHOD_END(1) VEC3_METHOD(crossProduct) Ogre::Vector3 result = self->crossProduct(tovec3(2)); lua_bindComplete(L,"mat.Vector3",new Ogre::Vector3(result)); METHOD_END(1) VEC3_METHOD(length) pnumber(self->length()); METHOD_END(1) VEC3_METHOD(distance) pnumber(self->distance(tovec3(2))); METHOD_END(1) VEC3_METHOD(dotProduct) pnumber(self->dotProduct(tovec3(2))); METHOD_END(1)