00001 /* 00002 * PSP Software Development Kit - http://www.pspdev.org 00003 * ----------------------------------------------------------------------- 00004 * Licensed under the BSD license, see LICENSE in PSPSDK root for details. 00005 * 00006 * Copyright (c) 2005 Jesper Svennevid 00007 */ 00008 00009 #ifndef __gumInternal_h__ 00010 #define __gumInternal_h__ 00011 00012 #include <alloca.h> 00013 00014 #include "pspgum.h" 00015 #include "../gu/pspgu.h" 00016 00017 #define GUM_EPSILON 0.00001f 00018 00019 //#define GUM_USE_VFPU 00020 00021 // these macros are because GCC cannot handle aligned matrices declared on the stack 00022 #define GUM_ALIGNED_MATRIX() (ScePspFMatrix4*)((((unsigned int)alloca(sizeof(ScePspFMatrix4)+64)) + 63) & ~63) 00023 #define GUM_ALIGNED_VECTOR() (ScePspFVector4*)((((unsigned int)alloca(sizeof(ScePspFVector4)+64)) + 63) & ~63) 00024 00025 extern int gum_current_mode; 00026 extern int gum_matrix_update[4]; 00027 extern int gum_current_matrix_update; 00028 extern ScePspFMatrix4* gum_current_matrix; 00029 extern ScePspFMatrix4* gum_stack_depth[4]; 00030 extern ScePspFMatrix4 gum_matrix_stack[4][32]; 00031 00032 extern struct pspvfpu_context *gum_vfpucontext; 00033 00034 #endif