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