Esempio n. 1
0
 // Token: 0x0600029B RID: 667 RVA: 0x00015F4C File Offset: 0x0001414C
 public static void gmEneEffectMainFuncHarogen(OBS_OBJECT_WORK obj_work)
 {
     if (obj_work.parent_obj != null)
     {
         AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK = (AppMain.GMS_ENE_HARO_WORK)obj_work.parent_obj;
         NNS_MATRIX nns_MATRIX = AppMain.GmEneUtilGetNodeMatrix(gms_ENE_HARO_WORK.node_work, 2);
         if (nns_MATRIX != null)
         {
             float num  = nns_MATRIX.M03 - AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.pos.x);
             float num2 = nns_MATRIX.M13 + AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.pos.y);
             float num3 = nns_MATRIX.M23 - AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.pos.z);
             num  += AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.spd.x);
             num2 -= AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.spd.y);
             num3 += AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.spd.z);
             obj_work.parent_ofst.x = AppMain.FX_F32_TO_FX32(num);
             obj_work.parent_ofst.y = -AppMain.FX_F32_TO_FX32(num2 - 10f);
             obj_work.parent_ofst.z = AppMain.FX_F32_TO_FX32(num3);
         }
     }
     else
     {
         obj_work.flag |= 4U;
     }
     if ((obj_work.disp_flag & 8U) != 0U)
     {
         obj_work.flag |= 4U;
     }
 }
Esempio n. 2
0
    // Token: 0x06000707 RID: 1799 RVA: 0x0003E9C4 File Offset: 0x0003CBC4
    private static void GmBoss4UtilRotateVecFx32(ref AppMain.VecFx32 f, int angle)
    {
        NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc();

        nns_MATRIX.M00 = 1f;
        nns_MATRIX.M10 = 0f;
        nns_MATRIX.M20 = 0f;
        nns_MATRIX.M30 = 0f;
        nns_MATRIX.M01 = 0f;
        nns_MATRIX.M11 = 1f;
        nns_MATRIX.M21 = 0f;
        nns_MATRIX.M31 = 0f;
        nns_MATRIX.M02 = 0f;
        nns_MATRIX.M12 = 0f;
        nns_MATRIX.M22 = 1f;
        nns_MATRIX.M32 = 0f;
        nns_MATRIX.M03 = 0f;
        nns_MATRIX.M13 = 0f;
        nns_MATRIX.M23 = 0f;
        nns_MATRIX.M33 = 1f;
        AppMain.nnMakeRotateZMatrix(nns_MATRIX, angle);
        AppMain.nnTranslateMatrix(nns_MATRIX, nns_MATRIX, AppMain.FX_FX32_TO_F32(f.x), AppMain.FX_FX32_TO_F32(f.y), AppMain.FX_FX32_TO_F32(f.z));
        f.x = AppMain.FX_F32_TO_FX32(nns_MATRIX.M03);
        f.y = AppMain.FX_F32_TO_FX32(nns_MATRIX.M13);
        f.z = AppMain.FX_F32_TO_FX32(nns_MATRIX.M23);
        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX);
    }
Esempio n. 3
0
    // Token: 0x06001A3A RID: 6714 RVA: 0x000EAE04 File Offset: 0x000E9004
    private void amMotionDraw(uint state, AMS_MOTION motion, NNS_TEXLIST texlist, uint drawflag,
                              NNS_MATERIALCALLBACK_FUNC func)
    {
        int node_num = motion.node_num;
        AMS_PARAM_DRAW_MOTION_TRS ams_PARAM_DRAW_MOTION_TRS = amDrawAlloc_AMS_PARAM_DRAW_MOTION_TRS();
        NNS_MATRIX nns_MATRIX = ams_PARAM_DRAW_MOTION_TRS.mtx = amDrawAlloc_NNS_MATRIX();

        nnCopyMatrix(nns_MATRIX, amMatrixGetCurrent());
        ams_PARAM_DRAW_MOTION_TRS._object       = motion._object;
        ams_PARAM_DRAW_MOTION_TRS.mtx           = nns_MATRIX;
        ams_PARAM_DRAW_MOTION_TRS.sub_obj_type  = 0U;
        ams_PARAM_DRAW_MOTION_TRS.flag          = drawflag;
        ams_PARAM_DRAW_MOTION_TRS.texlist       = texlist;
        ams_PARAM_DRAW_MOTION_TRS.trslist       = new NNS_TRS[node_num];
        ams_PARAM_DRAW_MOTION_TRS.material_func = func;
        for (int i = 0; i < node_num; i++)
        {
            ams_PARAM_DRAW_MOTION_TRS.trslist[i] = amDrawAlloc_NNS_TRS();
            ams_PARAM_DRAW_MOTION_TRS.trslist[i].Assign(motion.data[i]);
        }

        int motion_id = motion.mbuf[0].motion_id;

        ams_PARAM_DRAW_MOTION_TRS.motion = motion.mtnfile[motion_id >> 16].motion[motion_id & 65535];
        ams_PARAM_DRAW_MOTION_TRS.frame  = motion.mbuf[0].frame;
        amDrawRegistCommand(state, -11, ams_PARAM_DRAW_MOTION_TRS);
    }
Esempio n. 4
0
    // Token: 0x06000954 RID: 2388 RVA: 0x000541B8 File Offset: 0x000523B8
    private static void gmEneKamaHandWaitMain(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK  = (AppMain.GMS_ENE_KAMA_WORK)obj_work;
        AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK2 = (AppMain.GMS_ENE_KAMA_WORK)obj_work.parent_obj;
        NNS_MATRIX nns_MATRIX = AppMain.gmEneKamaHandWaitMain_msm;

        if (obj_work.parent_obj == null)
        {
            obj_work.spd.x      = 0;
            obj_work.spd_fall   = AppMain.FX_F32_TO_FX32(0.2f);
            obj_work.move_flag |= 128U;
            return;
        }
        NNS_MATRIX nns_MATRIX2;

        if (gms_ENE_KAMA_WORK.hand == 1)
        {
            nns_MATRIX2 = AppMain.GmEneUtilGetNodeMatrix(gms_ENE_KAMA_WORK2.node_work, 9);
        }
        else
        {
            nns_MATRIX2 = AppMain.GmEneUtilGetNodeMatrix(gms_ENE_KAMA_WORK2.node_work, 6);
        }
        if (nns_MATRIX2.M03 == 0f && nns_MATRIX2.M13 == 0f)
        {
            return;
        }
        AppMain.nnMakeScaleMatrix(nns_MATRIX, 1f, 1f, 1f);
        AppMain.nnMultiplyMatrix(nns_MATRIX, nns_MATRIX2, nns_MATRIX);
        AppMain.GmEneUtilSetMatrixNN(obj_work, nns_MATRIX);
        if (gms_ENE_KAMA_WORK2.attack != 0)
        {
            obj_work.ppFunc = AppMain.gmEneKamaHandAttackInit;
        }
    }
    // Token: 0x06000A71 RID: 2673 RVA: 0x0005C8E8 File Offset: 0x0005AAE8
    public static void amMatrixCalcPoint(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc)
    {
        NNS_MATRIX mtx = AppMain.amMatrixGetCurrent();

        AppMain.nnTransformVector(pDst, mtx, pSrc);
        pDst.w = pSrc.w;
    }
Esempio n. 6
0
    // Token: 0x0600198D RID: 6541 RVA: 0x000E7910 File Offset: 0x000E5B10
    private static uint nnCalcClipBoxNode(AppMain.NNS_NODE node, NNS_MATRIX mtx)
    {
        float boundingBoxX = node.BoundingBoxX;
        float boundingBoxY = node.BoundingBoxY;
        float boundingBoxZ = node.BoundingBoxZ;

        return(AppMain.nnCalcClipBox(node.Center, boundingBoxX, boundingBoxY, boundingBoxZ, mtx));
    }
Esempio n. 7
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);
    }
Esempio n. 8
0
    // Token: 0x0600118B RID: 4491 RVA: 0x00099C14 File Offset: 0x00097E14
    private static void gmWaterSurfaceUserFuncMatrixPush(object param)
    {
        AppMain.amMatrixPush();
        NNS_MATRIX mtx        = AppMain.amMatrixGetCurrent();
        NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc();

        AppMain.nnMultiplyMatrix(nns_MATRIX, AppMain.amDrawGetWorldViewMatrix(), mtx);
        AppMain.nnSetPrimitive3DMatrix(nns_MATRIX);
    }
    // Token: 0x06000975 RID: 2421 RVA: 0x0005555C File Offset: 0x0005375C
    public static void gmBoss5EggGetBodyNodePos(AppMain.GMS_BOSS5_EGG_WORK egg_work, out AppMain.VecFx32 pos_out)
    {
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(egg_work);

        AppMain.GMS_BOSS5_BODY_WORK gms_BOSS5_BODY_WORK = (AppMain.GMS_BOSS5_BODY_WORK)obs_OBJECT_WORK.parent_obj;
        NNS_MATRIX nns_MATRIX = AppMain.GmBsCmnGetSNMMtx(gms_BOSS5_BODY_WORK.snm_work, gms_BOSS5_BODY_WORK.body_snm_reg_id);

        pos_out = new AppMain.VecFx32(AppMain.FX_F32_TO_FX32(nns_MATRIX.M03), -AppMain.FX_F32_TO_FX32(nns_MATRIX.M13), AppMain.FX_F32_TO_FX32(nns_MATRIX.M23));
    }
Esempio n. 10
0
        // Token: 0x060022F7 RID: 8951 RVA: 0x00147A7C File Offset: 0x00145C7C
        public NNS_MATRIX pop()
        {
            this.invert = null;
            int        num    = this.stack.Count - 1;
            NNS_MATRIX result = this.stack[num];

            this.stack.RemoveAt(num);
            return(result);
        }
Esempio n. 11
0
 // Token: 0x060022F9 RID: 8953 RVA: 0x00147AE6 File Offset: 0x00145CE6
 public void set(NNS_MATRIX mtx)
 {
     if (this.stack.Count > 0)
     {
         this.stack[this.stack.Count - 1] = mtx;
         return;
     }
     this.push(mtx);
 }
Esempio n. 12
0
 // Token: 0x06001991 RID: 6545 RVA: 0x000E81C1 File Offset: 0x000E63C1
 private static uint nnCalcClipUniformScale(NNS_VECTOR center, float radius, NNS_MATRIX mtx, float factor)
 {
     if (radius == 0f)
     {
         return(0U);
     }
     radius *= factor;
     return(AppMain.nnCalcClipCore(center, radius, mtx));
 }
Esempio n. 13
0
 // Token: 0x06001990 RID: 6544 RVA: 0x000E81A3 File Offset: 0x000E63A3
 private static uint nnCalcClip(NNS_VECTOR center, float radius, NNS_MATRIX mtx)
 {
     if (radius == 0f)
     {
         return(0U);
     }
     radius *= AppMain.nnEstimateMatrixScaling(mtx);
     return(AppMain.nnCalcClipCore(center, radius, mtx));
 }
Esempio n. 14
0
    // Token: 0x06000E12 RID: 3602 RVA: 0x0007BFD4 File Offset: 0x0007A1D4
    public static void GmEneUtilSetMatrixNN(OBS_OBJECT_WORK obj_work, NNS_MATRIX w_mtx)
    {
        NNS_MATRIX user_obj_mtx_r = obj_work.obj_3d.user_obj_mtx_r;

        obj_work.pos.x      = AppMain.FX_F32_TO_FX32(w_mtx.M03);
        obj_work.pos.y      = -AppMain.FX_F32_TO_FX32(w_mtx.M13);
        obj_work.pos.z      = AppMain.FX_F32_TO_FX32(w_mtx.M23);
        obj_work.disp_flag |= 16777216U;
        AkMath.NormalizeMtx(user_obj_mtx_r, w_mtx);
    }
Esempio n. 15
0
    // Token: 0x060003F9 RID: 1017 RVA: 0x00020608 File Offset: 0x0001E808
    private static void gmEneHariMotionCallback(AppMain.AMS_MOTION motion, AppMain.NNS_OBJECT _object, object param)
    {
        NNS_MATRIX nns_MATRIX  = AppMain.gmEneHariMotionCallback_node_mtx;
        NNS_MATRIX nns_MATRIX2 = AppMain.gmEneHariMotionCallback_base_mtx;

        AppMain.GMS_ENE_HARI_WORK gms_ENE_HARI_WORK = (AppMain.GMS_ENE_HARI_WORK)((OBS_OBJECT_WORK)param);
        AppMain.nnMakeUnitMatrix(nns_MATRIX2);
        AppMain.nnMultiplyMatrix(nns_MATRIX2, nns_MATRIX2, AppMain.amMatrixGetCurrent());
        AppMain.nnCalcNodeMatrixTRSList(nns_MATRIX, _object, 7, motion.data, nns_MATRIX2);
        gms_ENE_HARI_WORK.jet_mtx.Assign(nns_MATRIX);
    }
Esempio n. 16
0
        // Token: 0x060022FB RID: 8955 RVA: 0x00147B24 File Offset: 0x00145D24
        public NNS_MATRIX getInvert()
        {
            if (this.invert == null)
            {
                NNS_MATRIX src = this.get();
                this.invert = GlobalPool <NNS_MATRIX> .Alloc();

                AppMain.nnInvertMatrix(this.invert, src);
            }
            return(this.invert);
        }
Esempio n. 17
0
    // Token: 0x060005E3 RID: 1507 RVA: 0x00034600 File Offset: 0x00032800
    private static void gmBoss4EggMain(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj;
        AppMain.GMS_BOSS4_EGG_WORK  gms_BOSS4_EGG_WORK  = (AppMain.GMS_BOSS4_EGG_WORK)obj_work;
        OBS_OBJECT_WORK             obs_OBJECT_WORK     = (OBS_OBJECT_WORK)gms_BOSS4_BODY_WORK;
        NNS_MATRIX nns_MATRIX  = AppMain.GmBoss4UtilGetNodeMatrix(gms_BOSS4_BODY_WORK.node_work, 2);
        NNS_MATRIX nns_MATRIX2 = AppMain.GmBoss4UtilGetNodeMatrix(gms_BOSS4_BODY_WORK.node_work, 2);
        NNS_MATRIX nns_MATRIX3 = GlobalPool <NNS_MATRIX> .Alloc();

        AppMain.nnCopyMatrix(nns_MATRIX3, nns_MATRIX);
        nns_MATRIX3.M03 = nns_MATRIX.M03 - nns_MATRIX2.M03 + ( float )obs_OBJECT_WORK.pos.x / 4096f;
        AppMain.GmBoss4UtilSetMatrixNN(obj_work, nns_MATRIX3);
        AppMain.GmBoss4UtilUpdateTurnGently(gms_BOSS4_EGG_WORK.dir_work);
        AppMain.GmBoss4UtilUpdateDirection(gms_BOSS4_EGG_WORK.dir_work, obj_work);
        if (gms_BOSS4_EGG_WORK.proc_update != null)
        {
            gms_BOSS4_EGG_WORK.proc_update(gms_BOSS4_EGG_WORK);
        }
        if ((gms_BOSS4_BODY_WORK.flag[0] & 8388608U) != 0U)
        {
            gms_BOSS4_BODY_WORK.flag[0] &= 4286578687U;
            AppMain.gmBoss4EggProcEscapeInit(gms_BOSS4_EGG_WORK);
        }
        if ((gms_BOSS4_BODY_WORK.flag[0] & 2097152U) != 0U)
        {
            gms_BOSS4_BODY_WORK.flag[0] &= 4292870143U;
            AppMain.gmBoss4EggProcThrowInit(gms_BOSS4_EGG_WORK);
        }
        if ((gms_BOSS4_BODY_WORK.flag[0] & 4194304U) != 0U)
        {
            gms_BOSS4_BODY_WORK.flag[0] &= 4290772991U;
            AppMain.gmBoss4EggProcThrowLeftInit(gms_BOSS4_EGG_WORK);
        }
        if ((gms_BOSS4_BODY_WORK.flag[0] & 536870912U) != 0U)
        {
            gms_BOSS4_BODY_WORK.flag[0] &= 3758096383U;
            AppMain.gmBoss4EggProcDamageInit(gms_BOSS4_EGG_WORK);
        }
        if ((gms_BOSS4_BODY_WORK.flag[0] & 16777216U) != 0U)
        {
            gms_BOSS4_BODY_WORK.flag[0] &= 4278190079U;
            AppMain.gmBoss4SetPartTextureBurnt(obj_work);
        }
        if ((AppMain.GMM_BS_OBJ(gms_BOSS4_BODY_WORK).disp_flag & 16U) != 0U)
        {
            obj_work.disp_flag |= 16U;
        }
        else
        {
            obj_work.disp_flag &= 4294967279U;
        }
        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX3);
    }
Esempio n. 18
0
    // Token: 0x060006EC RID: 1772 RVA: 0x0003DD8C File Offset: 0x0003BF8C
    private static void GmBoss4UtilSetMatrixNN(OBS_OBJECT_WORK obj_work, NNS_MATRIX w_mtx)
    {
        AppMain.MTM_ASSERT(obj_work);
        AppMain.MTM_ASSERT(obj_work.obj_3d);
        NNS_MATRIX user_obj_mtx_r = obj_work.obj_3d.user_obj_mtx_r;

        obj_work.pos.x      = AppMain.FX_F32_TO_FX32(w_mtx.M03);
        obj_work.pos.y      = -AppMain.FX_F32_TO_FX32(w_mtx.M13);
        obj_work.pos.z      = AppMain.FX_F32_TO_FX32(w_mtx.M23);
        obj_work.disp_flag |= 16777216U;
        AkMath.NormalizeMtx(user_obj_mtx_r, w_mtx);
    }
Esempio n. 19
0
    // Token: 0x06000791 RID: 1937 RVA: 0x00043198 File Offset: 0x00041398
    public static void gmEneTStarAttackInit(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_T_STAR_WORK gms_ENE_T_STAR_WORK = (AppMain.GMS_ENE_T_STAR_WORK)obj_work;
        NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc();

        NNS_MATRIX nns_MATRIX2 = GlobalPool <NNS_MATRIX> .Alloc();

        AppMain.nnMakeUnitMatrix(nns_MATRIX);
        AppMain.nnMakeUnitMatrix(nns_MATRIX2);
        AppMain.nnMakeRotateZMatrix(nns_MATRIX2, AkMath.DEGtoA32(72));
        NNS_VECTOR nns_VECTOR = GlobalPool <NNS_VECTOR> .Alloc();

        for (int i = 0; i < 5; i++)
        {
            OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GmEventMgrLocalEventBirth(308, obj_work.pos.x, obj_work.pos.y, 0, 0, 0, 0, 0, 0);
            obs_OBJECT_WORK.parent_obj = obj_work;
            obs_OBJECT_WORK.dir.y      = 49152;
            obs_OBJECT_WORK.dir.z      = ( ushort )AkMath.DEGtoA16(-72 * i);
            nns_VECTOR.x          = nns_MATRIX.M01;
            nns_VECTOR.y          = nns_MATRIX.M11;
            nns_VECTOR.z          = 0f;
            obs_OBJECT_WORK.spd.x = AppMain.FX_F32_TO_FX32(nns_VECTOR.x * 4f);
            obs_OBJECT_WORK.spd.y = -AppMain.FX_F32_TO_FX32(nns_VECTOR.y * 4f);
            OBS_OBJECT_WORK obs_OBJECT_WORK2 = obs_OBJECT_WORK;
            obs_OBJECT_WORK2.pos.x = obs_OBJECT_WORK2.pos.x + AppMain.FX_F32_TO_FX32(nns_VECTOR.x * 10f);
            OBS_OBJECT_WORK obs_OBJECT_WORK3 = obs_OBJECT_WORK;
            obs_OBJECT_WORK3.pos.y = obs_OBJECT_WORK3.pos.y + -AppMain.FX_F32_TO_FX32(nns_VECTOR.y * 10f);
            AppMain.nnMultiplyMatrix(nns_MATRIX, nns_MATRIX, nns_MATRIX2);
            AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
            gms_ENEMY_3D_WORK.ene_com.enemy_flag |= 32768U;
            AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = AppMain.GmEfctEneEsCreate(obs_OBJECT_WORK, 10);
            gms_EFFECT_3DES_WORK.efct_com.obj_work.dir.z = ( ushort )AkMath.DEGtoA16(-72 * i);
        }
        GlobalPool <NNS_VECTOR> .Release(nns_VECTOR);

        obj_work.disp_flag       |= 32U;
        obj_work.disp_flag       |= 4U;
        obj_work.ppFunc           = AppMain.gmEneTStarAttackMain;
        obj_work.move_flag       &= 4294967291U;
        obj_work.spd.x            = 0;
        obj_work.spd.y            = 0;
        gms_ENE_T_STAR_WORK.timer = 300;
        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK2 = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        gms_ENEMY_3D_WORK2.ene_com.rect_work[1].flag &= 4294967291U;
        gms_ENEMY_3D_WORK2.ene_com.rect_work[0].flag &= 4294967291U;
        gms_ENEMY_3D_WORK2.ene_com.rect_work[2].flag &= 4294967291U;
        GmSound.PlaySE("Boss2_03");
        gms_ENEMY_3D_WORK2.ene_com.enemy_flag |= 65536U;
        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX);

        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX2);
    }
Esempio n. 20
0
    // Token: 0x0600067E RID: 1662 RVA: 0x0003A698 File Offset: 0x00038898
    public static void gmGmkTruckLightEfctDispFunc(OBS_OBJECT_WORK obj_work)
    {
        NNS_MATRIX nns_MATRIX = (NNS_MATRIX)obj_work.user_work_OBJECT;

        if (obj_work.parent_obj == null)
        {
            return;
        }
        obj_work.pos.x = AppMain.FXM_FLOAT_TO_FX32(nns_MATRIX.M03);
        obj_work.pos.y = AppMain.FXM_FLOAT_TO_FX32(-nns_MATRIX.M13);
        obj_work.pos.z = AppMain.FXM_FLOAT_TO_FX32(nns_MATRIX.M23);
        AppMain.ObjDrawActionSummary(obj_work);
    }
Esempio n. 21
0
    // Token: 0x06000534 RID: 1332 RVA: 0x0002BEF0 File Offset: 0x0002A0F0
    private static void gmGmkTarzanRopeMotionCallback(AppMain.AMS_MOTION motion, AppMain.NNS_OBJECT obj, object val)
    {
        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)((OBS_OBJECT_WORK)val);
        if (gms_ENEMY_3D_WORK.ene_com.target_obj == null)
        {
            return;
        }
        NNS_MATRIX nns_MATRIX = new NNS_MATRIX();

        AppMain.nnMakeUnitMatrix(nns_MATRIX);
        AppMain.nnMultiplyMatrix(nns_MATRIX, nns_MATRIX, AppMain.amMatrixGetCurrent());
        AppMain.nnCalcNodeMatrixTRSList(AppMain.g_gm_gmk_tarzan_rope_active_matrix, obj, 13, motion.data, nns_MATRIX);
    }
Esempio n. 22
0
    // Token: 0x060006EE RID: 1774 RVA: 0x0003DE2C File Offset: 0x0003C02C
    private static void GmBoss4UtilSetMatrixES(OBS_OBJECT_WORK obj_work, NNS_MATRIX w_mtx)
    {
        NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc();

        AppMain.MTM_ASSERT(obj_work);
        AppMain.MTM_ASSERT(obj_work.obj_3des);
        obj_work.pos.x          = AppMain.FX_F32_TO_FX32(w_mtx.M03);
        obj_work.pos.y          = -AppMain.FX_F32_TO_FX32(w_mtx.M13);
        obj_work.pos.z          = AppMain.FX_F32_TO_FX32(w_mtx.M23);
        obj_work.obj_3des.flag |= 32U;
        AkMath.NormalizeMtx(nns_MATRIX, w_mtx);
        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX);
    }
Esempio n. 23
0
    // Token: 0x06000956 RID: 2390 RVA: 0x000543C0 File Offset: 0x000525C0
    private static void gmEneKamaHandAttackMain(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK = (AppMain.GMS_ENE_KAMA_WORK)obj_work;
        gms_ENE_KAMA_WORK.rot_z += gms_ENE_KAMA_WORK.rot_z_add;
        NNS_MATRIX nns_MATRIX  = AppMain.gmEneKamaHandAttackMain_rmat;
        NNS_MATRIX nns_MATRIX2 = AppMain.gmEneKamaHandAttackMain_tmat;
        NNS_MATRIX nns_MATRIX3 = AppMain.gmEneKamaHandAttackMain_mat;

        AppMain.nnMakeRotateZMatrix(nns_MATRIX, gms_ENE_KAMA_WORK.rot_z);
        if ((obj_work.disp_flag & 2U) != 0U)
        {
            AppMain.nnMakeTranslateMatrix(nns_MATRIX2, 10f, 10f, 0f);
        }
        else
        {
            AppMain.nnMakeTranslateMatrix(nns_MATRIX2, 10f, -10f, 0f);
        }
        AppMain.nnMultiplyMatrix(nns_MATRIX3, nns_MATRIX, nns_MATRIX2);
        obj_work.ofst.x = AppMain.FX_F32_TO_FX32(nns_MATRIX3.M03);
        obj_work.ofst.y = AppMain.FX_F32_TO_FX32(nns_MATRIX3.M13);
        obj_work.dir.z  = ( ushort )gms_ENE_KAMA_WORK.rot_z;
        if (gms_ENE_KAMA_WORK.timer > 0)
        {
            AppMain.VecFx32 vecFx = AppMain.gmEneKamaGetPlayerVectorFx(obj_work);
            int             num   = (int)((float)obj_work.spd.x / 1.75f);
            int             num2  = (int)((float)obj_work.spd.y / 1.75f);
            int             num3  = AppMain.FX_Mul(vecFx.x, num2) - AppMain.FX_Mul(vecFx.y, num);
            if (num3 < 0)
            {
                num  = AppMain.FX_Mul(AppMain.FX_Cos(( int )(( short )AkMath.DEGtoA32(1f))), num) - AppMain.FX_Mul(AppMain.FX_Sin(( int )(( short )AkMath.DEGtoA32(1f))), num2);
                num2 = AppMain.FX_Mul(AppMain.FX_Sin(( int )(( short )AkMath.DEGtoA32(1f))), num) + AppMain.FX_Mul(AppMain.FX_Cos(( int )(( short )AkMath.DEGtoA32(1f))), num2);
            }
            else
            {
                num  = AppMain.FX_Mul(AppMain.FX_Cos(( int )(( short )AkMath.DEGtoA32(-1f))), num) - AppMain.FX_Mul(AppMain.FX_Sin(( int )(( short )AkMath.DEGtoA32(-1f))), num2);
                num2 = AppMain.FX_Mul(AppMain.FX_Sin(( int )(( short )AkMath.DEGtoA32(-1f))), num) + AppMain.FX_Mul(AppMain.FX_Cos(( int )(( short )AkMath.DEGtoA32(-1f))), num2);
            }
            obj_work.spd.x = ( int )(( float )num * 1.75f);
            obj_work.spd.y = ( int )(( float )num2 * 1.75f);
            gms_ENE_KAMA_WORK.timer--;
            return;
        }
        obj_work.spd.x      = 0;
        obj_work.spd_fall   = AppMain.FX_F32_TO_FX32(0.2f);
        obj_work.move_flag |= 128U;
        AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK2 = (AppMain.GMS_ENE_KAMA_WORK)obj_work.parent_obj;
        if (gms_ENE_KAMA_WORK2 != null)
        {
            gms_ENE_KAMA_WORK2.ata_futa = 1;
        }
    }
Esempio n. 24
0
    // Token: 0x06000E7B RID: 3707 RVA: 0x000816D4 File Offset: 0x0007F8D4
    public static void gmBoss5TurretMain(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_BOSS5_TURRET_WORK gms_BOSS5_TURRET_WORK = (AppMain.GMS_BOSS5_TURRET_WORK)obj_work;
        AppMain.GMS_BOSS5_BODY_WORK   gms_BOSS5_BODY_WORK   = (AppMain.GMS_BOSS5_BODY_WORK)obj_work.parent_obj;
        NNS_MATRIX nns_MATRIX = AppMain.gmBoss5TurretMain_trt_ofst;

        if (gms_BOSS5_TURRET_WORK.proc_update != null)
        {
            gms_BOSS5_TURRET_WORK.proc_update(gms_BOSS5_TURRET_WORK);
        }
        AppMain.nnMakeTranslateMatrix(nns_MATRIX, 0f, gms_BOSS5_TURRET_WORK.trt_slide_length, 0f);
        AppMain.GmBsCmnUpdateObject3DNNStuckWithNodeRelative(obj_work, gms_BOSS5_BODY_WORK.snm_work, gms_BOSS5_BODY_WORK.pole_snm_reg_id, 0, obj_work.parent_obj.pos, gms_BOSS5_BODY_WORK.pivot_prev_pos, nns_MATRIX);
        AppMain.gmBoss5TurretUpdateDispRot(gms_BOSS5_TURRET_WORK);
    }
Esempio n. 25
0
    // Token: 0x06000E6A RID: 3690 RVA: 0x00080FB4 File Offset: 0x0007F1B4
    public static void gmBoss5TurretGetDispRotatedOfstPos(AppMain.GMS_BOSS5_TURRET_WORK trt_work, ref AppMain.VecFx32 src_ofst_pos, out AppMain.VecFx32 dest_ofst_pos)
    {
        NNS_VECTOR nns_VECTOR = GlobalPool <NNS_VECTOR> .Alloc();

        NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc();

        AppMain.amVectorSet(nns_VECTOR, AppMain.FX_FX32_TO_F32(src_ofst_pos.x), AppMain.FX_FX32_TO_F32(-src_ofst_pos.y), AppMain.FX_FX32_TO_F32(src_ofst_pos.z));
        AppMain.nnMakeQuaternionMatrix(nns_MATRIX, ref trt_work.disp_quat);
        AppMain.nnTransformVector(nns_VECTOR, nns_MATRIX, nns_VECTOR);
        dest_ofst_pos = new AppMain.VecFx32(AppMain.FX_F32_TO_FX32(nns_VECTOR.x), AppMain.FX_F32_TO_FX32(-nns_VECTOR.y), AppMain.FX_F32_TO_FX32(nns_VECTOR.z));
        GlobalPool <NNS_VECTOR> .Release(nns_VECTOR);

        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX);
    }
Esempio n. 26
0
        // Token: 0x060022F2 RID: 8946 RVA: 0x001479CC File Offset: 0x00145BCC
        public NNS_MATRIX Alloc()
        {
            NNS_MATRIX result;

            if (this.cache_.Count > 0)
            {
                int num = this.cache_.Count - 1;
                result = this.cache_[num];
                this.cache_.RemoveAt(num);
            }
            else
            {
                result = new NNS_MATRIX();
            }
            return(result);
        }
Esempio n. 27
0
    // Token: 0x06000677 RID: 1655 RVA: 0x00039E28 File Offset: 0x00038028
    public static void gmGmkTruckMotionCallback(AppMain.AMS_MOTION motion, AppMain.NNS_OBJECT _object, object param)
    {
        NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc();

        NNS_MATRIX nns_MATRIX2 = GlobalPool <NNS_MATRIX> .Alloc();

        AppMain.GMS_GMK_TRUCK_WORK gms_GMK_TRUCK_WORK = (AppMain.GMS_GMK_TRUCK_WORK)param;
        AppMain.nnMakeUnitMatrix(nns_MATRIX2);
        AppMain.nnMultiplyMatrix(nns_MATRIX2, nns_MATRIX2, AppMain.amMatrixGetCurrent());
        AppMain.nnCalcNodeMatrixTRSList(nns_MATRIX, _object, AppMain.GMD_GMK_TRUCK_NODE_ID_TIRE_POS_F, motion.data, nns_MATRIX2);
        gms_GMK_TRUCK_WORK.tire_pos_f.Assign(nns_MATRIX);
        AppMain.nnCalcNodeMatrixTRSList(nns_MATRIX, _object, AppMain.GMD_GMK_TRUCK_NODE_ID_TIRE_POS_B, motion.data, nns_MATRIX2);
        gms_GMK_TRUCK_WORK.tire_pos_b.Assign(nns_MATRIX);
        AppMain.nnCalcNodeMatrixTRSList(nns_MATRIX, _object, AppMain.GMD_GMK_TRUCK_NODE_ID_LIGHT_POS, motion.data, nns_MATRIX2);
        gms_GMK_TRUCK_WORK.light_pos.Assign(nns_MATRIX);
    }
Esempio n. 28
0
    // Token: 0x06000DFD RID: 3581 RVA: 0x0007B3B8 File Offset: 0x000795B8
    private static void gmEneUnidesNeedleWaitMain(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_UNIDES_WORK gms_ENE_UNIDES_WORK  = (AppMain.GMS_ENE_UNIDES_WORK)obj_work;
        AppMain.GMS_ENE_UNIDES_WORK gms_ENE_UNIDES_WORK2 = (AppMain.GMS_ENE_UNIDES_WORK)obj_work.parent_obj;
        NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc();

        NNS_MATRIX nns_MATRIX2 = GlobalPool <NNS_MATRIX> .Alloc();

        NNS_MATRIX nns_MATRIX3 = GlobalPool <NNS_MATRIX> .Alloc();

        int   num   = gms_ENE_UNIDES_WORK2.rot_y;
        int   rot_x = gms_ENE_UNIDES_WORK2.rot_x;
        int   rot_z = gms_ENE_UNIDES_WORK2.rot_z;
        float len   = gms_ENE_UNIDES_WORK2.len;

        num += AkMath.DEGtoA32(360) / 4 * gms_ENE_UNIDES_WORK.num;
        num %= AkMath.DEGtoA32(360);
        AppMain.nnMakeRotateXMatrix(nns_MATRIX, rot_x);
        AppMain.nnRotateZMatrix(nns_MATRIX, nns_MATRIX, rot_z);
        AppMain.nnRotateYMatrix(nns_MATRIX, nns_MATRIX, num);
        AppMain.nnMakeTranslateMatrix(nns_MATRIX2, len, 0f, 0f);
        AppMain.nnMultiplyMatrix(nns_MATRIX3, nns_MATRIX, nns_MATRIX2);
        SNNS_VECTOR snns_VECTOR;

        AppMain.nnCopyMatrixTranslationVector(out snns_VECTOR, nns_MATRIX3);
        obj_work.pos.x = AppMain.FX_F32_TO_FX32(snns_VECTOR.x) + gms_ENE_UNIDES_WORK2.ene_3d_work.ene_com.obj_work.pos.x;
        obj_work.pos.y = AppMain.FX_F32_TO_FX32(snns_VECTOR.y) + gms_ENE_UNIDES_WORK2.ene_3d_work.ene_com.obj_work.pos.y;
        obj_work.pos.z = 655360;
        if (gms_ENE_UNIDES_WORK2.attack != 0 && ( double )snns_VECTOR.y >= ( double )len * 0.98 && gms_ENE_UNIDES_WORK2.stop == 0)
        {
            if (gms_ENE_UNIDES_WORK2.attack_first != 0)
            {
                obj_work.ppFunc = AppMain.gmEneUnidesNeedleAttackInit;
            }
            else
            {
                gms_ENE_UNIDES_WORK2.zoom_now     = 1;
                gms_ENE_UNIDES_WORK2.attack_first = 1;
                gms_ENE_UNIDES_WORK2.stop         = 1;
            }
        }
        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX);

        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX2);

        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX3);
    }
Esempio n. 29
0
    // Token: 0x06000681 RID: 1665 RVA: 0x0003A978 File Offset: 0x00038B78
    public static void gmGmkTruckSparkEfctDispFunc(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_TRUCK_WORK gms_GMK_TRUCK_WORK = (AppMain.GMS_GMK_TRUCK_WORK)obj_work.parent_obj;
        NNS_MATRIX nns_MATRIX = (NNS_MATRIX)obj_work.user_work_OBJECT;
        NNS_VECTOR nns_VECTOR = GlobalPool <NNS_VECTOR> .Alloc();

        if (obj_work.parent_obj == null)
        {
            GlobalPool <NNS_VECTOR> .Release(nns_VECTOR);

            return;
        }
        OBS_OBJECT_WORK obs_OBJECT_WORK = (OBS_OBJECT_WORK)gms_GMK_TRUCK_WORK.target_player;

        if (obs_OBJECT_WORK == null)
        {
            obs_OBJECT_WORK = ( OBS_OBJECT_WORK )gms_GMK_TRUCK_WORK;
        }
        AppMain.VecFx32 pos;
        pos.x = AppMain.FXM_FLOAT_TO_FX32(nns_MATRIX.M03);
        pos.y = AppMain.FXM_FLOAT_TO_FX32(-nns_MATRIX.M13);
        pos.z = AppMain.FXM_FLOAT_TO_FX32(nns_MATRIX.M23);
        ushort dir_z;
        ushort ang;

        if (obs_OBJECT_WORK.spd_m >= 0)
        {
            obj_work.disp_flag &= 4294967294U;
            dir_z = ( ushort )(8192 - obj_work.parent_obj.dir.z);
            ang   = ( ushort )(-obj_work.parent_obj.dir.z - 2048);
        }
        else
        {
            obj_work.disp_flag |= 1U;
            dir_z = ( ushort )(8192 + obj_work.parent_obj.dir.z);
            ang   = ( ushort )(obj_work.parent_obj.dir.z + 2048);
        }
        obj_work.pos = pos;
        nns_VECTOR.x = AppMain.nnSin(( int )ang) * AppMain.GMD_GMK_TRUCK_EFCT_SPRAK_OFST_DIST;
        nns_VECTOR.y = AppMain.nnCos(( int )ang) * AppMain.GMD_GMK_TRUCK_EFCT_SPRAK_OFST_DIST;
        nns_VECTOR.z = 0f;
        AppMain.GmComEfctSetDispOffsetF((AppMain.GMS_EFFECT_3DES_WORK)obj_work, nns_VECTOR.x, nns_VECTOR.y, nns_VECTOR.z);
        AppMain.GmComEfctSetDispRotation((AppMain.GMS_EFFECT_3DES_WORK)obj_work, 0, 0, dir_z);
        AppMain.ObjDrawActionSummary(obj_work);
        GlobalPool <NNS_VECTOR> .Release(nns_VECTOR);
    }
Esempio n. 30
0
 // Token: 0x06000F5F RID: 3935 RVA: 0x0008812C File Offset: 0x0008632C
 public static void amQuatToMatrix(NNS_MATRIX pMtx, ref NNS_QUATERNION pQuat, NNS_VECTOR4D pVec)
 {
     if (pMtx == null)
     {
         NNS_MATRIX dst = AppMain.amMatrixGetCurrent();
         AppMain.nnMakeQuaternionMatrix(out AppMain.tempSNNS_MATRIX0, ref pQuat);
         if (pVec != null)
         {
             AppMain.nnCopyVectorMatrixTranslation(ref AppMain.tempSNNS_MATRIX0, pVec);
         }
         AppMain.nnCopyMatrix(dst, ref AppMain.tempSNNS_MATRIX0);
         return;
     }
     AppMain.nnMakeQuaternionMatrix(pMtx, ref pQuat);
     if (pVec != null)
     {
         AppMain.nnCopyVectorMatrixTranslation(ref AppMain.tempSNNS_MATRIX0, pVec);
     }
 }