MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / InitDisplay

Method InitDisplay

src/SB/Core/gc/iFMV.cpp:307–345  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

305}
306
307void iFMV::InitDisplay(GXRenderModeObj* InRenderMode)
308{
309 GXColor clr = { 0 };
310 Mtx44 mtx;
311 Mtx idt;
312 mRenderMode = InRenderMode;
313 void** xfb = &mXFBs[1];
314 RwGameCubeGetXFBs(&mXFBs[0], &mXFBs[1]);
315 mCurrentFrameBuffer = *xfb;
316
317 InitGX();
318 InitVI();
319
320 GXSetCopyClear(clr, GX_MAX_Z24);
321 C_MTXOrtho(mtx, 0.0f, mRenderMode->efbHeight, 0.0f, mRenderMode->fbWidth, 0.0f, -100.0f);
322 GXSetProjection(mtx, GX_ORTHOGRAPHIC);
323 PSMTXIdentity(idt);
324 GXLoadPosMtxImm(idt, 0);
325 GXSetCurrentMtx(0);
326
327 GXSetZMode(GX_TRUE, GX_ALWAYS, GX_TRUE);
328 GXSetBlendMode(GX_BM_BLEND, GX_BL_ONE, GX_BL_ONE, GX_LO_CLEAR);
329
330 GXClearVtxDesc();
331 GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
332 GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT);
333 GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
334 GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_NRM_NBT, GX_S16, 0);
335 GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_NRM_NBT, GX_RGBA8, 0);
336 GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_NRM_NBT, GX_RGBA6, 0);
337
338 GXSetNumTexGens(1);
339 GXSetNumChans(1);
340 GXSetNumTevStages(1);
341 GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3c);
342 GXSetTevOp(GX_TEVSTAGE0, GX_MODULATE);
343 GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
344 mFirstFrame = 1;
345}
346
347void iFMV::InitGX()
348{

Callers

nothing calls this directly

Calls 15

GXSetCopyClearFunction · 0.85
C_MTXOrthoFunction · 0.85
GXSetProjectionFunction · 0.85
PSMTXIdentityFunction · 0.85
GXLoadPosMtxImmFunction · 0.85
GXSetCurrentMtxFunction · 0.85
GXSetZModeFunction · 0.85
GXSetBlendModeFunction · 0.85
GXClearVtxDescFunction · 0.85
GXSetVtxDescFunction · 0.85
GXSetVtxAttrFmtFunction · 0.85
GXSetNumTexGensFunction · 0.85

Tested by

no test coverage detected