1 /*---------------------------------------------------------------------------* 2 Project: Matrix Vector Library 3 File: mtxAssert.h 4 5 Copyright (C) Nintendo. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 *---------------------------------------------------------------------------*/ 14 15 16 #ifndef __MTXASSERT_H__ 17 #define __MTXASSERT_H__ 18 19 20 #ifdef __cplusplus 21 extern "C" { 22 #endif 23 24 25 //--------------------------------------------------------------------------------- 26 27 // GENERAL SECTION 28 29 #define MTX_IDENTITY_1 "MtxIdentity(): NULL Mtx 'm' " 30 31 #define MTX_COPY_1 "MTXCopy(): NULL MtxPtr 'src' " 32 #define MTX_COPY_2 "MTXCopy(): NULL MtxPtr 'dst' " 33 34 #define MTX_CONCAT_1 "MTXConcat(): NULL MtxPtr 'a' " 35 #define MTX_CONCAT_2 "MTXConcat(): NULL MtxPtr 'b' " 36 #define MTX_CONCAT_3 "MTXConcat(): NULL MtxPtr 'ab' " 37 38 #define MTX_TRANSPOSE_1 "MTXTranspose(): NULL MtxPtr 'src' " 39 #define MTX_TRANSPOSE_2 "MTXTranspose(): NULL MtxPtr 'xPose' " 40 41 #define MTX_INVERSE_1 "MTXInverse(): NULL MtxPtr 'src' " 42 #define MTX_INVERSE_2 "MTXInverse(): NULL MtxPtr 'inv' " 43 44 #define MTX_INVXPOSE_1 "MTXInvXpose(): NULL MtxPtr 'src' " 45 #define MTX_INVXPOSE_2 "MTXInvXpose(): NULL MtxPtr 'invX' " 46 47 48 // MATRIX_VECTOR SECTION 49 50 #define MTX_MULTVEC_1 "MTXMultVec(): NULL MtxPtr 'm' " 51 #define MTX_MULTVEC_2 "MTXMultVec(): NULL VecPtr 'src' " 52 #define MTX_MULTVEC_3 "MTXMultVec(): NULL VecPtr 'dst' " 53 54 #define MTX_MULTVECARRAY_1 "MTXMultVecArray(): NULL MtxPtr 'm' " 55 #define MTX_MULTVECARRAY_2 "MTXMultVecArray(): NULL VecPtr 'srcBase' " 56 #define MTX_MULTVECARRAY_3 "MTXMultVecArray(): NULL VecPtr 'dstBase' " 57 #define MTX_MULTVECARRAY_4 "MTXMultVecArray(): count must be greater than 1." 58 59 60 #define MTX_MULTVECSR_1 "MTXMultVecSR(): NULL MtxPtr 'm' " 61 #define MTX_MULTVECSR_2 "MTXMultVecSR(): NULL VecPtr 'src' " 62 #define MTX_MULTVECSR_3 "MTXMultVecSR(): NULL VecPtr 'dst' " 63 64 #define MTX_MULTVECARRAYSR_1 "MTXMultVecArraySR(): NULL MtxPtr 'm' " 65 #define MTX_MULTVECARRAYSR_2 "MTXMultVecArraySR(): NULL VecPtr 'srcBase' " 66 #define MTX_MULTVECARRAYSR_3 "MTXMultVecArraySR(): NULL VecPtr 'dstBase' " 67 #define MTX_MULTVECARRAYSR_4 "MTXMultVecArraySR(): count must be greater than 1." 68 69 70 // MODEL SECTION 71 72 #define MTX_ROTRAD_1 "MTXRotRad(): NULL MtxPtr 'm' " 73 74 #define MTX_ROTTRIG_1 "MTXRotTrig(): NULL MtxPtr 'm' " 75 #define MTX_ROTTRIG_2 "MTXRotTrig(): invalid 'axis' value " 76 77 #define MTX_ROTAXIS_1 "MTXRotAxisRad(): NULL MtxPtr 'm' " 78 #define MTX_ROTAXIS_2 "MTXRotAxisRad(): NULL VecPtr 'axis' " 79 80 #define MTX_TRANS_1 "MTXTrans(): NULL MtxPtr 'm' " 81 82 #define MTX_TRANSAPPLY_1 "MTXTransApply(): NULL MtxPtr 'src' " 83 #define MTX_TRANSAPPLY_2 "MTXTransApply(): NULL MtxPtr 'dst' " 84 85 #define MTX_SCALE_1 "MTXScale(): NULL MtxPtr 'm' " 86 87 #define MTX_SCALEAPPLY_1 "MTXScaleApply(): NULL MtxPtr 'src' " 88 #define MTX_SCALEAPPLY_2 "MTXScaleApply(): NULL MtxPtr 'dst' " 89 90 #define MTX_QUAT_1 "MTXQuat(): NULL MtxPtr 'm' " 91 #define MTX_QUAT_2 "MTXQuat(): NULL QuaternionPtr 'q' " 92 #define MTX_QUAT_3 "MTXQuat(): zero-value quaternion " 93 94 95 96 // VIEW SECTION 97 98 #define MTX_LOOKAT_1 "MTXLookAt(): NULL MtxPtr 'm' " 99 #define MTX_LOOKAT_2 "MTXLookAt(): NULL VecPtr 'camPos' " 100 #define MTX_LOOKAT_3 "MTXLookAt(): NULL VecPtr 'camUp' " 101 #define MTX_LOOKAT_4 "MTXLookAt(): NULL Point3dPtr 'target' " 102 103 104 105 // PROJECTION SECTION 106 107 #define MTX_FRUSTUM_1 "MTXFrustum(): NULL Mtx44Ptr 'm' " 108 #define MTX_FRUSTUM_2 "MTXFrustum(): 't' and 'b' clipping planes are equal " 109 #define MTX_FRUSTUM_3 "MTXFrustum(): 'l' and 'r' clipping planes are equal " 110 #define MTX_FRUSTUM_4 "MTXFrustum(): 'n' and 'f' clipping planes are equal " 111 112 #define MTX_PERSPECTIVE_1 "MTXPerspective(): NULL Mtx44Ptr 'm' " 113 #define MTX_PERSPECTIVE_2 "MTXPerspective(): 'fovY' out of range " 114 #define MTX_PERSPECTIVE_3 "MTXPerspective(): 'aspect' is 0 " 115 116 #define MTX_ORTHO_1 "MTXOrtho(): NULL Mtx44Ptr 'm' " 117 #define MTX_ORTHO_2 "MTXOrtho(): 't' and 'b' clipping planes are equal " 118 #define MTX_ORTHO_3 "MTXOrtho(): 'l' and 'r' clipping planes are equal " 119 #define MTX_ORTHO_4 "MTXOrtho(): 'n' and 'f' clipping planes are equal " 120 121 122 123 // STACK SECTION 124 125 #define MTX_INITSTACK_1 "MTXInitStack(): NULL MtxStackPtr 'sPtr' " 126 #define MTX_INITSTACK_2 "MTXInitStack(): 'sPtr' contains a NULL ptr to stack memory " 127 #define MTX_INITSTACK_3 "MTXInitStack(): 'numMtx' is 0 " 128 129 #define MTX_PUSH_1 "MTXPush(): NULL MtxStackPtr 'sPtr' " 130 #define MTX_PUSH_2 "MTXPush(): 'sPtr' contains a NULL ptr to stack memory " 131 #define MTX_PUSH_3 "MTXPush(): NULL MtxPtr 'm' " 132 #define MTX_PUSH_4 "MTXPush(): stack overflow " 133 134 #define MTX_PUSHFWD_1 "MTXPushFwd(): NULL MtxStackPtr 'sPtr' " 135 #define MTX_PUSHFWD_2 "MTXPushFwd(): 'sPtr' contains a NULL ptr to stack memory " 136 #define MTX_PUSHFWD_3 "MTXPushFwd(): NULL MtxPtr 'm' " 137 #define MTX_PUSHFWD_4 "MTXPushFwd(): stack overflow" 138 139 #define MTX_PUSHINV_1 "MTXPushInv(): NULL MtxStackPtr 'sPtr' " 140 #define MTX_PUSHINV_2 "MTXPushInv(): 'sPtr' contains a NULL ptr to stack memory " 141 #define MTX_PUSHINV_3 "MTXPushInv(): NULL MtxPtr 'm' " 142 #define MTX_PUSHINV_4 "MTXPushInv(): stack overflow" 143 144 #define MTX_PUSHINVXPOSE_1 "MTXPushInvXpose(): NULL MtxStackPtr 'sPtr' " 145 #define MTX_PUSHINVXPOSE_2 "MTXPushInvXpose(): 'sPtr' contains a NULL ptr to stack memory " 146 #define MTX_PUSHINVXPOSE_3 "MTXPushInvXpose(): NULL MtxPtr 'm' " 147 #define MTX_PUSHINVXPOSE_4 "MTXPushInvXpose(): stack overflow " 148 149 #define MTX_POP_1 "MTXPop(): NULL MtxStackPtr 'sPtr' " 150 #define MTX_POP_2 "MTXPop(): 'sPtr' contains a NULL ptr to stack memory " 151 152 #define MTX_GETSTACKPTR_1 "MTXGetStackPtr(): NULL MtxStackPtr 'sPtr' " 153 #define MTX_GETSTACKPTR_2 "MTXGetStackPtr(): 'sPtr' contains a NULL ptr to stack memory " 154 155 156 157 // VECTOR SECTION 158 159 #define VEC_ADD_1 "VECAdd(): NULL VecPtr 'a' " 160 #define VEC_ADD_2 "VECAdd(): NULL VecPtr 'b' " 161 #define VEC_ADD_3 "VECAdd(): NULL VecPtr 'ab' " 162 163 #define VEC_SUBTRACT_1 "VECSubtract(): NULL VecPtr 'a' " 164 #define VEC_SUBTRACT_2 "VECSubtract(): NULL VecPtr 'b' " 165 #define VEC_SUBTRACT_3 "VECSubtract(): NULL VecPtr 'a_b' " 166 167 #define VEC_SCALE_1 "VECScale(): NULL VecPtr 'src' " 168 #define VEC_SCALE_2 "VECScale(): NULL VecPtr 'dst' " 169 170 #define VEC_NORMALIZE_1 "VECNormalize(): NULL VecPtr 'src' " 171 #define VEC_NORMALIZE_2 "VECNormalize(): NULL VecPtr 'unit' " 172 #define VEC_NORMALIZE_3 "VECNormalize(): zero magnitude vector " 173 174 #define VEC_MAG_1 "VECMag(): NULL VecPtr 'v' " 175 176 177 #define VEC_REFLECT_1 "VECReflect(): NULL VecPtr 'src' " 178 #define VEC_REFLECT_2 "VECReflect(): NULL VecPtr 'normal' " 179 #define VEC_REFLECT_3 "VECReflect(): NULL VecPtr 'dst' " 180 181 #define VEC_DOTPRODUCT_1 "VECDotProduct(): NULL VecPtr 'a' " 182 #define VEC_DOTPRODUCT_2 "VECDotProduct(): NULL VecPtr 'b' " 183 184 #define VEC_CROSSPRODUCT_1 "VECCrossProduct(): NULL VecPtr 'a' " 185 #define VEC_CROSSPRODUCT_2 "VECCrossProduct(): NULL VecPtr 'b' " 186 #define VEC_CROSSPRODUCT_3 "VECCrossProduct(): NULL VecPtr 'axb' " 187 188 #define VEC_HALFANGLE_1 "VECHalfAngle(): NULL VecPtr 'a' " 189 #define VEC_HALFANGLE_2 "VECHalfAngle(): NULL VecPtr 'b' " 190 #define VEC_HALFANGLE_3 "VECHalfAngle(): NULL VecPtr 'half' " 191 192 193 // QUATERNION SECTION 194 195 #define QUAT_ADD_1 "QUATAdd(): NULL QuaternionPtr 'p' " 196 #define QUAT_ADD_2 "QUATAdd(): NULL QuaternionPtr 'q' " 197 #define QUAT_ADD_3 "QUATAdd(): NULL QuaternionPtr 'r' " 198 199 #define QUAT_SUBTRACT_1 "QUATSubtract(): NULL QuaternionPtr 'p' " 200 #define QUAT_SUBTRACT_2 "QUATSubtract(): NULL QuaternionPtr 'q' " 201 #define QUAT_SUBTRACT_3 "QUATSubtract(): NULL QuaternionPtr 'r' " 202 203 #define QUAT_MULTIPLY_1 "QUATMultiply(): NULL QuaternionPtr 'p' " 204 #define QUAT_MULTIPLY_2 "QUATMultiply(): NULL QuaternionPtr 'q' " 205 #define QUAT_MULTIPLY_3 "QUATMultiply(): NULL QuaternionPtr 'pq' " 206 207 #define QUAT_DIVIDE_1 "QUATDivide(): NULL QuaternionPtr 'p' " 208 #define QUAT_DIVIDE_2 "QUATDivide(): NULL QuaternionPtr 'q' " 209 #define QUAT_DIVIDE_3 "QUATDivide(): NULL QuaternionPtr 'r' " 210 211 #define QUAT_SCALE_1 "QUATScale(): NULL QuaternionPtr 'q' " 212 #define QUAT_SCALE_2 "QUATScale(): NULL QuaternionPtr 'r' " 213 214 #define QUAT_DOTPRODUCT_1 "QUATDotProduct(): NULL QuaternionPtr 'p' " 215 #define QUAT_DOTPRODUCT_2 "QUATDotProduct(): NULL QuaternionPtr 'q' " 216 217 #define QUAT_NORMALIZE_1 "QUATNormalize(): NULL QuaternionPtr 'src' " 218 #define QUAT_NORMALIZE_2 "QUATNormalize(): NULL QuaternionPtr 'unit' " 219 220 #define QUAT_INVERSE_1 "QUATInverse(): NULL QuaternionPtr 'src' " 221 #define QUAT_INVERSE_2 "QUATInverse(): NULL QuaternionPtr 'inv' " 222 223 #define QUAT_EXP_1 "QUATExp(): NULL QuaternionPtr 'q' " 224 #define QUAT_EXP_2 "QUATExp(): NULL QuaternionPtr 'r' " 225 #define QUAT_EXP_3 "QUATExp(): 'q' is not a pure quaternion. " 226 227 #define QUAT_LOGN_1 "QUATLogN(): NULL QuaternionPtr 'q' " 228 #define QUAT_LOGN_2 "QUATLogN(): NULL QuaternionPtr 'r' " 229 #define QUAT_LOGN_3 "QUATLogN(): 'q' is not a unit quaternion. " 230 231 #define QUAT_MAKECLOSEST_1 "QUATMakeClosest(): NULL QuaternionPtr 'q' " 232 #define QUAT_MAKECLOSEST_2 "QUATMakeClosest(): NULL QuaternionPtr 'qto' " 233 #define QUAT_MAKECLOSEST_3 "QUATMakeClosest(): NULL QuaternionPtr 'r' " 234 235 #define QUAT_ROTAXISRAD_1 "QUATRotAxisRad(): NULL QuaternionPtr 'r' " 236 #define QUAT_ROTAXISRAD_2 "QUATRotAxisRad(): NULL VecPtr 'axis' " 237 238 #define QUAT_MTX_1 "QUATMtx(): NULL QuaternionPtr 'r' " 239 #define QUAT_MTX_2 "QUATMtx(): NULL MtxPtr 'm' " 240 241 #define QUAT_LERP_1 "QUATLerp(): NULL QuaternionPtr 'p' " 242 #define QUAT_LERP_2 "QUATLerp(): NULL QuaternionPtr 'q' " 243 #define QUAT_LERP_3 "QUATLerp(): NULL QuaternionPtr 'r' " 244 245 #define QUAT_SLERP_1 "QUATSlerp(): NULL QuaternionPtr 'p' " 246 #define QUAT_SLERP_2 "QUATSlerp(): NULL QuaternionPtr 'q' " 247 #define QUAT_SLERP_3 "QUATSlerp(): NULL QuaternionPtr 'r' " 248 249 #define QUAT_SQUAD_1 "QUATSquad(): NULL QuaternionPtr 'p' " 250 #define QUAT_SQUAD_2 "QUATSquad(): NULL QuaternionPtr 'a' " 251 #define QUAT_SQUAD_3 "QUATSquad(): NULL QuaternionPtr 'b' " 252 #define QUAT_SQUAD_4 "QUATSquad(): NULL QuaternionPtr 'q' " 253 #define QUAT_SQUAD_5 "QUATSquad(): NULL QuaternionPtr 'r' " 254 255 #define QUAT_COMPA_1 "QUATCompA(): NULL QuaternionPtr 'qprev' " 256 #define QUAT_COMPA_2 "QUATCompA(): NULL QuaternionPtr 'q' " 257 #define QUAT_COMPA_3 "QUATCompA(): NULL QuaternionPtr 'qnext' " 258 #define QUAT_COMPA_4 "QUATCompA(): NULL QuaternionPtr 'a' " 259 260 261 // Texture Projection Section 262 263 #define MTX_LIGHT_FRUSTUM_1 "MTXLightFrustum(): NULL MtxPtr 'm' " 264 #define MTX_LIGHT_FRUSTUM_2 "MTXLightFrustum(): 't' and 'b' clipping planes are equal " 265 #define MTX_LIGHT_FRUSTUM_3 "MTXLightFrustum(): 'l' and 'r' clipping planes are equal " 266 #define MTX_LIGHT_FRUSTUM_4 "MTXLightFrustum(): 'n' and 'f' clipping planes are equal " 267 268 #define MTX_LIGHT_PERSPECTIVE_1 "MTXLightPerspective(): NULL MtxPtr 'm' " 269 #define MTX_LIGHT_PERSPECTIVE_2 "MTXLightPerspective(): 'fovY' out of range " 270 #define MTX_LIGHT_PERSPECTIVE_3 "MTXLightPerspective(): 'aspect' is 0 " 271 272 #define MTX_LIGHT_ORTHO_1 "MTXLightOrtho(): NULL MtxPtr 'm' " 273 #define MTX_LIGHT_ORTHO_2 "MTXLightOrtho(): 't' and 'b' clipping planes are equal " 274 #define MTX_LIGHT_ORTHO_3 "MTXLightOrtho(): 'l' and 'r' clipping planes are equal " 275 276 //--------------------------------------------------------------------------------- 277 278 #ifdef __cplusplus 279 } 280 #endif 281 282 #endif // __MTXASSERT_H__ 283 284