// Ryzom - MMORPG Framework // Copyright (C) 2010 Winch Gate Property Limited // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . #include "stdpch.h" #include "custom_matrix.h" // ********************************************************* bool CCustomMatrix::set(bool newOn, const NLMISC::CMatrix &newMat) { if (newOn) { if (On) { float srcMatUnpacked[16]; float destMatUnpacked[16]; Matrix.get(srcMatUnpacked); newMat.get(destMatUnpacked); if (std::equal(srcMatUnpacked, srcMatUnpacked + 16, destMatUnpacked)) return false; } On = newOn; Matrix = newMat; return true; } Matrix = newMat; if (newOn != On) { On = newOn; return true; } return false; }