Example #1
0
 public NNS_VECTOR4D Assign(ref SNNS_VECTOR vec)
 {
     this.x = vec.x;
     this.y = vec.y;
     this.z = vec.z;
     return(this);
 }
 // Token: 0x060019C0 RID: 6592 RVA: 0x000E8B90 File Offset: 0x000E6D90
 public static void amVectorAdd(NNS_VECTOR4D pDst, NNS_VECTOR4D pV1, ref SNNS_VECTOR pV2)
 {
     pDst.x = pV1.x + pV2.x;
     pDst.y = pV1.y + pV2.y;
     pDst.z = pV1.z + pV2.z;
     pDst.w = pV1.w;
 }
Example #3
0
    // Token: 0x06000F62 RID: 3938 RVA: 0x000881EC File Offset: 0x000863EC
    public static void amQuatMultiMatrix(ref NNS_QUATERNION pQuat, ref SNNS_VECTOR pVec)
    {
        NNS_MATRIX nns_MATRIX = AppMain.amMatrixGetCurrent();

        AppMain.nnMakeQuaternionMatrix(out AppMain.tempSNNS_MATRIX0, ref pQuat);
        AppMain.nnCopyVectorMatrixTranslation(ref AppMain.tempSNNS_MATRIX0, ref pVec);
        AppMain.nnMultiplyMatrix(nns_MATRIX, nns_MATRIX, ref AppMain.tempSNNS_MATRIX0);
    }
Example #4
0
    // Token: 0x0600052C RID: 1324 RVA: 0x0002B92C File Offset: 0x00029B2C
    private static void GmTvxExecuteDraw()
    {
        AppMain.GMS_TVX_DRAW_WORK[] array = AppMain.gm_tvx_draw_work;
        if (array == null)
        {
            return;
        }
        if (array[0].tex == null)
        {
            return;
        }
        uint num = AppMain.GmMainGetLightColor();

        AppMain._AMS_PARAM_DRAW_PRIMITIVE.bldSrc   = 770;
        AppMain._AMS_PARAM_DRAW_PRIMITIVE.bldDst   = 771;
        AppMain._AMS_PARAM_DRAW_PRIMITIVE.bldMode  = 32774;
        AppMain._AMS_PARAM_DRAW_PRIMITIVE.aTest    = 1;
        AppMain._AMS_PARAM_DRAW_PRIMITIVE.zMask    = 0;
        AppMain._AMS_PARAM_DRAW_PRIMITIVE.zTest    = 1;
        AppMain._AMS_PARAM_DRAW_PRIMITIVE.noSort   = 1;
        AppMain._AMS_PARAM_DRAW_PRIMITIVE.format3D = 4;
        uint num2 = 0U;

        while ((ulong)num2 < (ulong)((long)AppMain.GMD_TVX_DRAW_WORK_NUM))
        {
            if (array[(int)((UIntPtr)num2)].tex_id == -1)
            {
                return;
            }
            AppMain._AMS_PARAM_DRAW_PRIMITIVE.ablend  = 0;
            AppMain._AMS_PARAM_DRAW_PRIMITIVE.texlist = array[(int)((UIntPtr)num2)].tex;
            AppMain._AMS_PARAM_DRAW_PRIMITIVE.uwrap   = array[(int)((UIntPtr)num2)].u_wrap;
            AppMain._AMS_PARAM_DRAW_PRIMITIVE.vwrap   = array[(int)((UIntPtr)num2)].v_wrap;
            AppMain._AMS_PARAM_DRAW_PRIMITIVE.type    = 1;
            AppMain._AMS_PARAM_DRAW_PRIMITIVE.count   = (int)(array[(int)((UIntPtr)num2)].all_vtx_num + array[(int)((UIntPtr)num2)].stack_num * 2U - 2U);
            AppMain.NNS_PRIM3D_PCT_ARRAY nns_PRIM3D_PCT_ARRAY = AppMain.amDrawAlloc_NNS_PRIM3D_PCT(AppMain._AMS_PARAM_DRAW_PRIMITIVE.count);
            AppMain.NNS_PRIM3D_PCT[]     buffer = nns_PRIM3D_PCT_ARRAY.buffer;
            int offset = nns_PRIM3D_PCT_ARRAY.offset;
            int num3   = 0;
            AppMain._AMS_PARAM_DRAW_PRIMITIVE.vtxPCT3D = nns_PRIM3D_PCT_ARRAY;
            AppMain._AMS_PARAM_DRAW_PRIMITIVE.texId    = array[(int)((UIntPtr)num2)].tex_id;
            SNNS_MATRIX snns_MATRIX  = default(SNNS_MATRIX);
            SNNS_MATRIX snns_MATRIX2 = default(SNNS_MATRIX);
            AppMain.nnMakeUnitMatrix(ref snns_MATRIX2);
            for (uint num4 = 0U; num4 < array[(int)((UIntPtr)num2)].stack_num; num4 += 1U)
            {
                AppMain.GMS_TVX_DRAW_STACK gms_TVX_DRAW_STACK = array[(int)((UIntPtr)num2)].stack[(int)((UIntPtr)num4)];
                if ((gms_TVX_DRAW_STACK.disp_flag & AppMain.GMD_TVX_DISP_BLEND) != 0U)
                {
                    AppMain._AMS_PARAM_DRAW_PRIMITIVE.ablend = 1;
                }
                float num5 = AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.pos.x);
                float num6 = -AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.pos.y);
                float num7 = AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.pos.z);
                AppMain.nnMakeUnitMatrix(ref snns_MATRIX);
                if ((gms_TVX_DRAW_STACK.disp_flag & AppMain.GMD_TVX_DISP_ROTATE) != 0U)
                {
                    AppMain.nnRotateZMatrix(ref snns_MATRIX, ref snns_MATRIX, (int)((ushort)gms_TVX_DRAW_STACK.rotate_z));
                }
                if ((gms_TVX_DRAW_STACK.disp_flag & AppMain.GMD_TVX_DISP_SCALE) != 0U)
                {
                    AppMain.nnScaleMatrix(ref snns_MATRIX, ref snns_MATRIX, AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.scale.x), AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.scale.y), AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.scale.z));
                }
                uint num8 = num;
                if ((gms_TVX_DRAW_STACK.disp_flag & AppMain.GMD_TVX_DISP_LIGHT_DISABLE) != 0U)
                {
                    num8 = gms_TVX_DRAW_STACK.color;
                }
                SNNS_VECTOR snns_VECTOR      = default(SNNS_VECTOR);
                int         num9             = num3 + offset;
                AppMain.AOS_TVX_VERTEX[] vtx = gms_TVX_DRAW_STACK.vtx;
                int num10 = 0;
                while ((long)num10 < (long)((ulong)gms_TVX_DRAW_STACK.vtx_num))
                {
                    snns_VECTOR.x = vtx[num10].x;
                    snns_VECTOR.y = vtx[num10].y;
                    snns_VECTOR.z = vtx[num10].z;
                    int num11 = num9 + num10;
                    if (gms_TVX_DRAW_STACK.disp_flag != 0U)
                    {
                        AppMain.nnTransformVector(ref buffer[num11].Pos, ref snns_MATRIX, ref snns_VECTOR);
                    }
                    else
                    {
                        buffer[num11].Pos.Assign(snns_VECTOR.x, snns_VECTOR.y, snns_VECTOR.z);
                    }
                    AppMain.NNS_PRIM3D_PCT[] array2 = buffer;
                    int num12 = num11;
                    array2[num12].Pos.x = array2[num12].Pos.x + num5;
                    AppMain.NNS_PRIM3D_PCT[] array3 = buffer;
                    int num13 = num11;
                    array3[num13].Pos.y = array3[num13].Pos.y + num6;
                    AppMain.NNS_PRIM3D_PCT[] array4 = buffer;
                    int num14 = num11;
                    array4[num14].Pos.z = array4[num14].Pos.z + num7;
                    buffer[num11].Tex.u = vtx[num10].u + gms_TVX_DRAW_STACK.coord.u;
                    buffer[num11].Tex.v = vtx[num10].v + gms_TVX_DRAW_STACK.coord.v;
                    buffer[num11].Col   = (vtx[num10].c & num8);
                    num10++;
                }
                num3 += (int)(gms_TVX_DRAW_STACK.vtx_num + 2U);
                if (num4 != 0U)
                {
                    int num15 = num9 - 1;
                    buffer[num15] = buffer[num15 + 1];
                }
                if (num4 != array[(int)((UIntPtr)num2)].stack_num - 1U)
                {
                    int num15 = num9 + (int)(gms_TVX_DRAW_STACK.vtx_num - 1U);
                    buffer[num15 + 1] = buffer[num15];
                }
            }
            AppMain.amMatrixPush(ref snns_MATRIX2);
            AppMain.ObjDraw3DNNDrawPrimitive(AppMain._AMS_PARAM_DRAW_PRIMITIVE);
            AppMain.amMatrixPop();
            array[(int)((UIntPtr)num2)].tex         = null;
            array[(int)((UIntPtr)num2)].tex_id      = -1;
            array[(int)((UIntPtr)num2)].stack_num   = 0U;
            array[(int)((UIntPtr)num2)].all_vtx_num = 0U;
            num2 += 1U;
        }
    }
Example #5
0
 // Token: 0x0600012E RID: 302 RVA: 0x0000D762 File Offset: 0x0000B962
 public static void DispPosGet(int cam_id, out SNNS_VECTOR disp_pos)
 {
     disp_pos = new SNNS_VECTOR(obj_camera_sys.obj_camera[cam_id].disp_pos);
 }
    // Token: 0x060007AE RID: 1966 RVA: 0x00043EFC File Offset: 0x000420FC
    private void dmLogoSegaMainFunc(MTS_TASK_TCB tcb)
    {
        AppMain.DMS_LOGO_SEGA_WORK dms_LOGO_SEGA_WORK = (AppMain.DMS_LOGO_SEGA_WORK)tcb.work;
        if (AppMain.GsSystemBgmIsPlay())
        {
            dms_LOGO_SEGA_WORK.h_se.snd_ctrl_param.volume = 0f;
        }
        else
        {
            dms_LOGO_SEGA_WORK.h_se.snd_ctrl_param.volume = 1f;
        }
        if (AppMain.AoSysIsShowPlatformUI())
        {
            if (AppMain.IzFadeIsExe())
            {
                AppMain.IzFadeSetStopUpdate1Frame(null);
            }
        }
        else
        {
            if (dms_LOGO_SEGA_WORK.func != null)
            {
                dms_LOGO_SEGA_WORK.func(dms_LOGO_SEGA_WORK);
            }
            if ((dms_LOGO_SEGA_WORK.flag & 1U) != 0U)
            {
                this.dmLogoSegaPreEnd(dms_LOGO_SEGA_WORK);
                AppMain.mtTaskChangeTcbProcedure(tcb, this.gmLogoSegaPreEndWaitFunc);
                dms_LOGO_SEGA_WORK.timer = 0;
                return;
            }
        }
        float frame = 0f;

        if (!AppMain.AoSysIsShowPlatformUI() && (dms_LOGO_SEGA_WORK.flag & 2U) != 0U)
        {
            frame = 1f;
        }
        AppMain.AoActSysSetDrawTaskPrio();
        for (int i = 0; i < 8; i++)
        {
            AppMain.AoActSetTexture(AppMain.AoTexGetTexList(AppMain.dm_logo_sega_aos_tex[( int )AppMain.dm_logo_sega_tex_id_tbl[i]]));
            AppMain.AoActUpdate(dms_LOGO_SEGA_WORK.act[i], frame);
            AppMain.AoActDraw(dms_LOGO_SEGA_WORK.act[i]);
        }
        NNS_RGBA nns_RGBA = new NNS_RGBA(1f, 1f, 1f, 1f);
        NNS_RGB  nns_RGB  = new NNS_RGB(1f, 1f, 1f);

        if (!AppMain.AoSysIsShowPlatformUI())
        {
            AppMain.amTrailEFUpdate(1);
        }
        if (AppMain.g_obj.glb_camera_id != -1)
        {
            SNNS_VECTOR snns_VECTOR  = default(SNNS_VECTOR);
            SNNS_VECTOR snns_VECTOR2 = default(SNNS_VECTOR);
            SNNS_MATRIX snns_MATRIX  = default(SNNS_MATRIX);
            AppMain.nnMakeUnitMatrix(ref snns_MATRIX);
            AppMain.ObjDraw3DNNSetCameraEx(AppMain.g_obj.glb_camera_id, AppMain.g_obj.glb_camera_type, 0U);
            ObjCamera.DispPosGet(AppMain.g_obj.glb_camera_id, out snns_VECTOR);
            AppMain.amVectorSet(ref snns_VECTOR2, -snns_MATRIX.M03, -snns_MATRIX.M13, -snns_MATRIX.M23);
            AppMain.nnAddVector(ref snns_VECTOR, ref snns_VECTOR2, ref snns_VECTOR);
            AppMain.amEffectSetCameraPos(ref snns_VECTOR);
        }
        AppMain.nnSetPrimitive3DMaterial(ref nns_RGBA, ref nns_RGB, 1f);
        AppMain.NNS_TEXLIST texlist = AppMain.dm_logo_sega_aos_tex[0].texlist;
        AppMain.amTrailEFDraw(1, texlist, 0U);
    }
 // Token: 0x060019D9 RID: 6617 RVA: 0x000E927C File Offset: 0x000E747C
 public static void amVectorGetAverage(ref SNNS_VECTOR pDst, NNS_VECTOR pV1, NNS_VECTOR pV2, float p1, float p2)
 {
     pDst.x = pV1.x * p1 + pV2.x * p2;
     pDst.y = pV1.y * p1 + pV2.y * p2;
     pDst.z = pV1.z * p1 + pV2.z * p2;
 }
 // Token: 0x060019AC RID: 6572 RVA: 0x000E8756 File Offset: 0x000E6956
 public static void amVectorSet(ref SNNS_VECTOR pDst, float x, float y, float z)
 {
     pDst.x = x;
     pDst.y = y;
     pDst.z = z;
 }
Example #9
0
 // Token: 0x06001E97 RID: 7831 RVA: 0x0013ABBB File Offset: 0x00138DBB
 public void Assign(ref SNNS_VECTOR vec)
 {
     this.x = vec.x;
     this.y = vec.y;
     this.z = vec.z;
 }