9static qword_t *__prim_start = NULL;
17 PACK_GIFTAG(q,GS_SET_PRIM(prim->type,prim->shading,prim->mapping,prim->fogging,
18 prim->blending,prim->antialiasing,prim->mapping_type,
40 vertex_qwords = q - __prim_start - 1;
43 vertex_loops = (vertex_qwords * 2) / nreg;
46 __prim_start->dw[0] = GIF_SET_TAG(vertex_loops,1,0,0,
GIF_FLG_REGLIST,nreg);
49 __prim_start->dw[1] = reglist;
67 if (vertices[i].w != 0)
70 q = 1 / vertices[i].w;
75 output[i].r = (int)(colours[i].r * 128.0f);
76 output[i].g = (int)(colours[i].g * 128.0f);
77 output[i].b = (int)(colours[i].b * 128.0f);
99 if (vertices[i].w != 0)
102 q = 1 / vertices[i].w;
107 output[i].r = (int)(colours[i].r * 128.0f);
108 output[i].g = (int)(colours[i].g * 128.0f);
109 output[i].b = (int)(colours[i].b * 128.0f);
110 output[i].a = (int)(colours[i].a * 128.0f);
127 for (i=0;i<
count;i++)
131 if (vertices[i].w != 0)
133 q = 1 / vertices[i].w;
137 output[i].s = coords[i].s * q;
138 output[i].t = coords[i].t * q;
160 max_z = 1 << (z - 1);
163 for (i=0;i<
count;i++)
167 output[i].x = (short)((vertices[i].x + 1.0f) * center_x);
168 output[i].y = (short)((vertices[i].y + 1.0f) * -center_y);
169 output[i].z = (
unsigned int)((vertices[i].z + 1.0f) * max_z);
int draw_convert_st(texel_t *output, int count, vertex_f_t *vertices, texel_f_t *coords)
int draw_convert_rgbq(color_t *output, int count, vertex_f_t *vertices, color_f_t *colours, unsigned char alpha)
qword_t * draw_prim_end(qword_t *q, int nreg, u64 reglist)
int draw_convert_xyz(xyz_t *output, float x, float y, int z, int count, vertex_f_t *vertices)
qword_t * draw_prim_start(qword_t *q, int context, prim_t *prim, color_t *color)
int draw_convert_rgbaq(color_t *output, int count, vertex_f_t *vertices, color_f_t *colours)
u32 count
start sector of fragmented bd/file