| 405 | } |
| 406 | |
| 407 | void __GXInitGX(void) |
| 408 | { |
| 409 | GXRenderModeObj* rmode; |
| 410 | GXTexObj tex_obj; |
| 411 | float identity_mtx[3][4]; |
| 412 | GXColor clear = { 64, 64, 64, 255 }; |
| 413 | GXColor black = { 0, 0, 0, 0 }; |
| 414 | GXColor white = { 255, 255, 255, 255 }; |
| 415 | u32 i; |
| 416 | |
| 417 | switch (VIGetTvFormat()) |
| 418 | { |
| 419 | case VI_NTSC: |
| 420 | rmode = &GXNtsc480IntDf; |
| 421 | break; |
| 422 | case VI_PAL: |
| 423 | rmode = &GXPal528IntDf; |
| 424 | break; |
| 425 | case VI_EURGB60: |
| 426 | rmode = &GXEurgb60Hz480IntDf; |
| 427 | break; |
| 428 | case VI_MPAL: |
| 429 | rmode = &GXMpal480IntDf; |
| 430 | break; |
| 431 | default: |
| 432 | //ASSERTMSGLINE(1342, 0, "GXInit: invalid TV format"); |
| 433 | rmode = &GXNtsc480IntDf; |
| 434 | break; |
| 435 | } |
| 436 | |
| 437 | GXSetCopyClear(clear, 0xFFFFFF); |
| 438 | GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C); |
| 439 | GXSetTexCoordGen(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX1, 0x3C); |
| 440 | GXSetTexCoordGen(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX2, 0x3C); |
| 441 | GXSetTexCoordGen(GX_TEXCOORD3, GX_TG_MTX2x4, GX_TG_TEX3, 0x3C); |
| 442 | GXSetTexCoordGen(GX_TEXCOORD4, GX_TG_MTX2x4, GX_TG_TEX4, 0x3C); |
| 443 | GXSetTexCoordGen(GX_TEXCOORD5, GX_TG_MTX2x4, GX_TG_TEX5, 0x3C); |
| 444 | GXSetTexCoordGen(GX_TEXCOORD6, GX_TG_MTX2x4, GX_TG_TEX6, 0x3C); |
| 445 | GXSetTexCoordGen(GX_TEXCOORD7, GX_TG_MTX2x4, GX_TG_TEX7, 0x3C); |
| 446 | GXSetNumTexGens(1); |
| 447 | GXClearVtxDesc(); |
| 448 | GXInvalidateVtxCache(); |
| 449 | |
| 450 | for (i = GX_VA_POS; i <= GX_LIGHT_ARRAY; i++) |
| 451 | { |
| 452 | GXSetArray(i, __GXData, 0); |
| 453 | } |
| 454 | |
| 455 | for (i = GX_VTXFMT0; i < GX_MAX_VTXFMT; i++) |
| 456 | { |
| 457 | GXSetVtxAttrFmtv(i, GXDefaultVATList); |
| 458 | } |
| 459 | |
| 460 | GXSetLineWidth(6, GX_TO_ZERO); |
| 461 | GXSetPointSize(6, GX_TO_ZERO); |
| 462 | GXEnableTexOffsets(GX_TEXCOORD0, 0, 0); |
| 463 | GXEnableTexOffsets(GX_TEXCOORD1, 0, 0); |
| 464 | GXEnableTexOffsets(GX_TEXCOORD2, 0, 0); |
no test coverage detected