35 *(CVECTOR *)&poly->r0 = colors[0];
36 *(CVECTOR *)&poly->r1 = colors[1];
37 *(CVECTOR *)&poly->r2 = colors[2];
38 *(CVECTOR *)&poly->r3 = colors[3];
41 setSemiTrans(poly, 1);
54 mode = (DR_TPAGE *)poly;
56 mode->code[0] = 0xE1000245;
58 poly = (POLY_G4 *)(mode + 1);
FIGHTSTG.PRO: the battle.
GfxState GFX
GFX: the graphics state and its methods.
void FIGHTSTG_drawBlendedQuad(s32 layerId, s32 depth, DVECTOR *xy, CVECTOR *colors)
A Gouraud-shaded quad on a layer, blended.
void FIGHTSTG_drawShadedQuad(s32 layerId, s32 depth, DVECTOR *xy, CVECTOR *colors, s32 semi)
A Gouraud-shaded quad on a layer, blended when semi is set; the match depends on setSemiTrans inside ...
void FIGHTSTG_drawQuad(s32 layerId, s32 depth, DVECTOR *xy, CVECTOR *colors)
A Gouraud-shaded quad on a layer.
void FIGHTSTG_projectPoint(Layer *layer, SVECTOR *pos, ShortVec3 *out)
Projects pos to the screen: its x and y, and its depth in the layer's ordering table.
The GTE instructions that C can't say, as the SDK's inline_c.h has them but with the real encodings i...
#define gte_rtps()
V0 through RT and TR, then the perspective (SXY2, SZ3)
#define gte_stszotz(r0)
SZ3 / 4 into a word, the depth in the ordering table.
#define gte_SetTransMatrix(r0)
a MATRIX's translation into the GTE (TR)
#define gte_stsxy(r0)
SXY2 into a word.
#define gte_SetRotMatrix(r0)
a MATRIX's rotation into the GTE (RT)
#define gte_ldv0_unaligned(r0)
an SVECTOR that may not be word aligned into V0
MATRIX IDENTITY_MATRIX
the root bone's parent (src/engine/data/matrices.c)
struct Layer *(* getLayer)(s32 id)
void(* setPrim)(void *next)
A drawing layer (GFX.funcs.createLayer): a DRAWENV with a pair of ordering tables,...
u_long *(* getOtEntry)(struct Layer *, s32 depth)
A position or rotation, without the SVECTOR pad.