PSPSDK 1.0+beta2
Loading...
Searching...
No Matches
guInternal.h
Go to the documentation of this file.
1/*
2 * PSP Software Development Kit - https://github.com/pspdev
3 * -----------------------------------------------------------------------
4 * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
5 *
6 * Copyright (c) 2005 Jesper Svennevid
7 */
8
9#ifndef __guInternal_h__
10#define __guInternal_h__
11
12#include "pspgu.h"
13
14typedef void (*GuCallback)(int);
15
28
29typedef struct
30{
31 unsigned int* start;
32 unsigned int* current;
35
36typedef struct
37{
40 int scissor_start[2];
41 int scissor_end[2];
49 int sprite_mode[4];
50 unsigned int clear_color;
51 unsigned int clear_stencil;
52 unsigned int clear_depth;
54} GuContext;
55
56typedef struct
57{
64 int width;
65 int height;
67
68typedef struct
69{
70 /* row 0 */
71
72 unsigned char enable; // Light enable
73 unsigned char type; // Light type
74 unsigned char xpos; // X position
75 unsigned char ypos; // Y position
76
77 /* row 1 */
78
79 unsigned char zpos; // Z position
80 unsigned char xdir; // X direction
81 unsigned char ydir; // Y direction
82 unsigned char zdir; // Z direction
83
84 /* row 2 */
85
86 unsigned char ambient; // Ambient color
87 unsigned char diffuse; // Diffuse color
88 unsigned char specular; // Specular color
89 unsigned char constant; // Constant attenuation
90
91 /* row 3 */
92
93 unsigned char linear; // Linear attenuation
94 unsigned char quadratic;// Quadratic attenuation
95 unsigned char exponent; // Light exponent
96 unsigned char cutoff; // Light cutoff
98
99extern unsigned int gu_current_frame;
100extern GuContext gu_contexts[3];
101extern int ge_list_executed[2];
102extern void* ge_edram_address;
104extern GuDisplayList* gu_list;
105extern int gu_curr_context;
106extern int gu_init;
107extern int gu_display_on;
108extern int gu_call_mode;
109extern int gu_states;
111
112extern unsigned int* gu_object_stack[];
113extern int gu_object_stack_depth;
114
116
117void callbackSig(int id, void* arg);
118void callbackFin(int id, void* arg);
119void resetValues();
120
121static __inline__ void sendCommandi(int cmd, int argument)
122{
123 *(gu_list->current++) = (cmd << 24) | (argument & 0xffffff);
124}
125
126static __inline__ void sendCommandf(int cmd, float argument)
127{
128 union
129 {
130 float f;
131 unsigned int i;
132 } t;
133 t.f = argument;
134
135 sendCommandi(cmd,t.i >> 8);
136}
137
138static __inline__ void sendCommandiStall(int cmd, int argument)
139{
140 sendCommandi(cmd,argument);
141
144}
145
146#endif
int gu_init
Definition guInternal.c:18
int gu_display_on
Definition guInternal.c:19
void callbackFin(int id, void *arg)
Definition callbackFin.c:11
void callbackSig(int id, void *arg)
Definition callbackSig.c:13
unsigned int gu_current_frame
Definition guInternal.c:11
int gu_curr_context
Definition guInternal.c:17
GuDrawBuffer gu_draw_buffer
Definition guInternal.c:22
GuLightSettings light_settings[4]
Definition guInternal.c:26
int gu_states
Definition guInternal.c:21
GuDisplayList * gu_list
Definition guInternal.c:16
unsigned int * gu_object_stack[]
Definition guInternal.c:23
GuSettings gu_settings
Definition guInternal.c:15
GuContext gu_contexts[3]
Definition guInternal.c:12
int gu_object_stack_depth
Definition guInternal.c:24
int gu_call_mode
Definition guInternal.c:20
void resetValues()
Definition resetValues.c:11
void(* GuCallback)(int)
Definition guInternal.h:14
int ge_list_executed[2]
Definition guInternal.c:13
void * ge_edram_address
Definition guInternal.c:14
int sceGeListUpdateStallAddr(int qid, void *stall)
Update the stall address for the specified queue.
void(* GuSwapBuffersCallback)(void **display, void **render)
Definition pspgu.h:304
float x
Definition psptypes.h:0
int i[4]
Definition psptypes.h:4
float f[4]
Definition psptypes.h:3
Definition guInternal.h:37
int fragment_2x
Definition guInternal.h:45
GuDisplayList list
Definition guInternal.h:38
unsigned int clear_color
Definition guInternal.h:50
int near_plane
Definition guInternal.h:42
unsigned int clear_depth
Definition guInternal.h:52
int texture_proj_map_mode
Definition guInternal.h:47
int texture_mode
Definition guInternal.h:53
int scissor_enable
Definition guInternal.h:39
int texture_map_mode
Definition guInternal.h:48
unsigned int clear_stencil
Definition guInternal.h:51
int texture_function
Definition guInternal.h:46
int far_plane
Definition guInternal.h:43
int depth_offset
Definition guInternal.h:44
Definition guInternal.h:30
unsigned int * start
Definition guInternal.h:31
unsigned int * current
Definition guInternal.h:32
int parent_context
Definition guInternal.h:33
Definition guInternal.h:57
int width
Definition guInternal.h:64
int depth_width
Definition guInternal.h:63
int height
Definition guInternal.h:65
void * frame_buffer
Definition guInternal.h:60
void * depth_buffer
Definition guInternal.h:62
int pixel_size
Definition guInternal.h:58
void * disp_buffer
Definition guInternal.h:61
int frame_width
Definition guInternal.h:59
Definition guInternal.h:69
unsigned char ydir
Definition guInternal.h:81
unsigned char zpos
Definition guInternal.h:79
unsigned char quadratic
Definition guInternal.h:94
unsigned char ambient
Definition guInternal.h:86
unsigned char xpos
Definition guInternal.h:74
unsigned char specular
Definition guInternal.h:88
unsigned char linear
Definition guInternal.h:93
unsigned char exponent
Definition guInternal.h:95
unsigned char enable
Definition guInternal.h:72
unsigned char type
Definition guInternal.h:73
unsigned char cutoff
Definition guInternal.h:96
unsigned char zdir
Definition guInternal.h:82
unsigned char diffuse
Definition guInternal.h:87
unsigned char constant
Definition guInternal.h:89
unsigned char ypos
Definition guInternal.h:75
unsigned char xdir
Definition guInternal.h:80
Definition guInternal.h:17
int kernel_event_flag
Definition guInternal.h:22
int ge_callback_id
Definition guInternal.h:23
int swapBuffersBehaviour
Definition guInternal.h:26
GuCallback sig
Definition guInternal.h:18
int signal_offset
Definition guInternal.h:21
GuSwapBuffersCallback swapBuffersCallback
Definition guInternal.h:25
GuCallback fin
Definition guInternal.h:19