コード例 #1
0
ファイル: F3DEX2.cpp プロジェクト: AlexOteiza/n64ios
void F3DEX2_MoveMem( u32 w0, u32 w1 )
{
    switch (_SHIFTR( w0, 0, 8 ))
    {
        case F3DEX2_MV_VIEWPORT:
            gSPViewport( w1 );
            break;
        case G_MV_MATRIX:
            gSPForceMatrix( w1 );

            // force matrix takes two commands
            RSP.PC[RSP.PCi] += 8;
            break;
        case G_MV_LIGHT:
            u32 offset = _SHIFTR( w0, 8, 8 ) << 3;

            if (offset >= 48)
            {
                gSPLight( w1, (offset - 24) / 24);
            }
/*          else
            {
                // Do lookat stuff
            }*/
            break;
    }
}
コード例 #2
0
void F3D_MoveMem( u32 w0, u32 w1 )
{
#ifdef __TRIBUFFER_OPT
    gSPFlushTriangles();
#endif
    switch (_SHIFTR( w0, 16, 8 ))
    {
        case F3D_MV_VIEWPORT://G_MV_VIEWPORT:
            gSPViewport( w1 );
            break;
        case G_MV_MATRIX_1:
            gSPForceMatrix( w1 );
            // force matrix takes four commands
            RSP.PC[RSP.PCi] += 24;
            break;
        case G_MV_L0:
            gSPLight( w1, LIGHT_1 );
            break;
        case G_MV_L1:
            gSPLight( w1, LIGHT_2 );
            break;
        case G_MV_L2:
            gSPLight( w1, LIGHT_3 );
            break;
        case G_MV_L3:
            gSPLight( w1, LIGHT_4 );
            break;
        case G_MV_L4:
            gSPLight( w1, LIGHT_5 );
            break;
        case G_MV_L5:
            gSPLight( w1, LIGHT_6 );
            break;
        case G_MV_L6:
            gSPLight( w1, LIGHT_7 );
            break;
        case G_MV_L7:
            gSPLight( w1, LIGHT_8 );
            break;
        case G_MV_LOOKATX:
            break;
        case G_MV_LOOKATY:
            break;
    }
}
コード例 #3
0
ファイル: F3D.c プロジェクト: a1rwulf/mupen64plus-libretro
void F3D_MoveMem( u32 w0, u32 w1 )
{
   switch (_SHIFTR( w0, 16, 8 ))
   {
      case F3D_MV_VIEWPORT://G_MV_VIEWPORT:
         gSPViewport( w1 );
         break;
      case G_MV_MATRIX_1:
         gSPForceMatrix( w1 );
         // force matrix takes four commands
         __RSP.PC[__RSP.PCi] += 24;
         break;
      case G_MV_L0:
         gSPLight( w1, LIGHT_1 );
         break;
      case G_MV_L1:
         gSPLight( w1, LIGHT_2 );
         break;
      case G_MV_L2:
         gSPLight( w1, LIGHT_3 );
         break;
      case G_MV_L3:
         gSPLight( w1, LIGHT_4 );
         break;
      case G_MV_L4:
         gSPLight( w1, LIGHT_5 );
         break;
      case G_MV_L5:
         gSPLight( w1, LIGHT_6 );
         break;
      case G_MV_L6:
         gSPLight( w1, LIGHT_7 );
         break;
      case G_MV_L7:
         gSPLight( w1, LIGHT_8 );
         break;
      case G_MV_LOOKATX:
			gSPLookAt(w1, 0);
         break;
      case G_MV_LOOKATY:
			gSPLookAt(w1, 1);
         break;
   }
}