/****************************************************************************** libx42pp - skinned vertex animation library (C++ API) Copyright (C) 2007 HermitWorks Entertainment Corporation This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA. ******************************************************************************/ #ifndef INC_LOCAL_H #define INC_LOCAL_H #include "include/x42pp.h" #include #include #include using namespace x42::math; using namespace x42::geom; namespace x42 { inline intptr_t align( intptr_t s, intptr_t a ) { return s + ((a - (s % a)) % a); } template< typename T > inline T* align( T *p, intptr_t a ) { return (T*)align( (intptr_t)p, a ); } #define demand( cond, code, msg ) { if( !(cond) ) fail( code, msg ); } #ifdef assert #undef assert #endif #ifdef DEBUG #define assert( cond, msg ) demand( cond, ErrCode::Internal, msg ) #else #define assert( cond, msg ) #endif }; #endif