Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

guInternal.h

Go to the documentation of this file.
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 __guInternal_h__
00010 #define __guInternal_h__
00011 
00012 #include "pspgu.h"
00013 
00014 typedef void (*GuCallback)(int);
00015 
00016 typedef struct
00017 {
00018         GuCallback sig;
00019         GuCallback fin;
00020         short signal_history[16];
00021         int signal_offset;
00022         int kernel_event_flag;
00023         int ge_callback_id;
00024 } GuSettings;
00025 
00026 typedef struct
00027 {
00028         unsigned int* start;
00029         unsigned int* current;
00030         int parent_context;
00031 } GuDisplayList;
00032 
00033 typedef struct
00034 {
00035         GuDisplayList list;
00036         int scissor_enable;
00037         int scissor_start[2];
00038         int scissor_end[2];
00039         int near_plane;
00040         int far_plane;
00041         int depth_offset;
00042         int unknown_state;
00043         int texture_function;
00044         int texture_proj_map_mode;
00045         int texture_map_mode;
00046         int sprite_mode[4];
00047         unsigned int clear_color;
00048         unsigned int clear_stencil;
00049         unsigned int clear_depth;
00050         int texture_mode;
00051 } GuContext;
00052 
00053 typedef struct
00054 {
00055         int pixel_size;
00056         int frame_width;
00057         void* frame_buffer;
00058         void* disp_buffer;
00059         void* depth_buffer;
00060         int depth_width;
00061         int width;
00062         int height;
00063 } GuDrawBuffer;
00064 
00065 typedef struct
00066 {
00067         unsigned char row0[4];
00068         unsigned char row1[4];
00069         unsigned char row2[4];
00070         unsigned char row3[4];
00071 } GuLightSettings;
00072 
00073 extern unsigned int gu_current_frame;
00074 extern GuContext gu_contexts[3];
00075 extern int ge_list_executed[2];
00076 extern void* ge_edram_address;
00077 extern GuSettings gu_settings;
00078 extern GuDisplayList* gu_list;
00079 extern int gu_curr_context;
00080 extern int gu_init;
00081 extern int gu_display_on;
00082 extern int gu_call_mode;
00083 extern int gu_states;
00084 extern GuDrawBuffer gu_draw_buffer;
00085 
00086 extern unsigned int* gu_object_stack[];
00087 extern int gu_object_stack_depth;
00088 
00089 extern GuLightSettings light_settings[4];
00090 
00091 void sendCommandi(int cmd, int argument);
00092 void sendCommandiStall(int cmd, int argument);
00093 void sendCommandf(int cmd, float argument);
00094 
00095 void callbackSig(int id, void* arg);
00096 void callbackFin(int id, void* arg);
00097 void resetValues();
00098 
00099 #endif

Generated on Wed Sep 28 07:52:08 2005 for pspsdk-1.0+beta by  doxygen 1.4.4